openvibers/openvibe.examples Commits

Examples: the scripts' hints and the mod-manifest README point at openvibe.services (where projects, apps and releases live now) (#5)

OP OpenVibers committed 8 Oct 2026 · 2a89d7292e · 5 files, +6 −6

Claude-Session: https://claude.ai/code/session_01K8AYn3FF3HE7CPfM262qdh

Co-authored-by: Claude Opus 5.5 <[email protected]>

Changes

ddiff --git a/examples/media-uploader/upload.js b/examples/media-uploader/upload.js
iindex 1f57399..9e9a18a 100644
---- a/examples/media-uploader/upload.js
++++ b/examples/media-uploader/upload.js
@@@ -114,7 +114,7 @@ function explain(err) {
case 'config.missing': return err.message;
case 'invalid_client': return 'Network refused the client id or secret. Check OV_CLIENT_ID / OV_CLIENT_SECRET (rotate the secret in your project if it was lost).';
case 'invalid_target': return 'Network does not issue tokens for openvibe.media to this app (its environment is not enabled for that audience).';
-- case 'invalid_scope': return 'The app holds no approved grant for this operation (media.object.upload to upload or delete, media.object.read to read). Request it on your app (openvibe.codes, or the projects API).';
++ case 'invalid_scope': return 'The app holds no approved grant for this operation (media.object.upload to upload or delete, media.object.read to read). Request it on your app (openvibe.services, or the projects API).';
case 'capability.namespace_denied': return 'Your token is not valid for this project. OV_PROJECT_ID must be the project your app belongs to (or leave it empty).';
case 'token.sandbox_refused': return 'Media refused a sandbox token on this route. Sandbox apps can use their own project tenant only (/api/v1/<project id>/files).';
default: return isOpenVibeError(err) ? `${err.code}${err.detail ? `: ${err.detail}` : ''}${err.requestId ? ` (request ${err.requestId})` : ''}` : String(err && err.message);
ddiff --git a/examples/mod-manifest/README.md b/examples/mod-manifest/README.md
iindex 4e4f8fc..7ab0f5d 100644
---- a/examples/mod-manifest/README.md
++++ b/examples/mod-manifest/README.md
@@@ -47,6 +47,6 @@ Validation is offline and works today: `node validate.js mod.json`. The `--regis
Publishing a mod is not public yet: registering a mod and managing installs (`games.mod.manage`)
is a `first-party` capability and install grants (`mods.grant.manage`) are `planned`. The
--developer portal, [OpenVibe.Codes](https://openvibe.codes), is where manifests and releases are
++developer platform, [OpenVibe.Services](https://openvibe.services), is where manifests and releases are
meant to be managed, but a mod still cannot reach Games through it. Mod ids are assigned by that
flow; `--new-id` only gives a draft a well-formed id.
ddiff --git a/scripts/create-openvibe-app.js b/scripts/create-openvibe-app.js
iindex 200b648..33a5883 100755
---- a/scripts/create-openvibe-app.js
++++ b/scripts/create-openvibe-app.js
@@@ -108,7 +108,7 @@ async function main() {
if (!template) template = process.stdin.isTTY && process.stdout.isTTY ? await ask() : 'web';
const { target, name } = create(opts.dir, template);
const rel = path.relative(process.cwd(), target) || '.';
-- console.log(`\nCreated ${name} in ${rel} from the ${template} template.\n\nNext:\n cd ${rel}\n npm install\n cp .env.example .env # then fill in your app's values (never commit .env)\n npm test # the template's smoke test, no network needed\n npm start\n\nCreate a project and an app at https://openvibe.codes, and read https://openvibe.codes/docs.`);
++ console.log(`\nCreated ${name} in ${rel} from the ${template} template.\n\nNext:\n cd ${rel}\n npm install\n cp .env.example .env # then fill in your app's values (never commit .env)\n npm test # the template's smoke test, no network needed\n npm start\n\nCreate a project and an app at https://openvibe.services, and read https://openvibe.services/docs.`);
}
if (require.main === module) main().catch((err) => { console.error(err.message); process.exit(1); });
ddiff --git a/scripts/e2e.js b/scripts/e2e.js
iindex 8ec5152..59fe083 100644
---- a/scripts/e2e.js
++++ b/scripts/e2e.js
@@@ -8,7 +8,7 @@
*
* The app must be a CONFIDENTIAL app of that project with the sandbox grants media.object.upload,
* media.object.read, events.app.publish, events.app.read, tools.job.create and tools.job.read
-- * (scripts/new-sandbox-app.js or https://openvibe.codes create one). Optional: OV_NETWORK_URL,
++ * (scripts/new-sandbox-app.js or https://openvibe.services create one). Optional: OV_NETWORK_URL,
* OV_TOOLS_JOBS_URL.
*
* 1. media-uploader upload a small text file into the project's Media tenant, read its
ddiff --git a/scripts/new-sandbox-app.js b/scripts/new-sandbox-app.js
iindex 57e6641..59fac2d 100644
---- a/scripts/new-sandbox-app.js
++++ b/scripts/new-sandbox-app.js
@@@ -2,7 +2,7 @@
'use strict';
/**
* Create a project and a sandbox app for the examples with openvibe-sdk/projects, the same
-- * /api/v1/projects API https://openvibe.codes uses. Nothing here needs staff: a new project is
++ * /api/v1/projects API https://openvibe.services uses. Nothing here needs staff: a new project is
* sandbox, and the project owner's grant requests inside the sandbox allowance are approved at once.
*
* npm run new-app # new project + confidential sandbox app -> ./.env
@@@ -86,7 +86,7 @@ async function main(argv = process.argv.slice(2)) {
return 0;
}
const secret = (created.credential || app.credential || {}).client_secret || created.client_secret;
-- if (!secret) throw new Error('Network returned no client secret; rotate one on the app (openvibe.codes)');
++ if (!secret) throw new Error('Network returned no client secret; rotate one on the app (openvibe.services)');
fs.writeFileSync(envFile, `OV_CLIENT_ID=${appId}\nOV_CLIENT_SECRET=${secret}\nOV_PROJECT_ID=${projectId}\n`, { mode: 0o600 });
console.log(`\nwrote ${envFile} (OV_CLIENT_ID, OV_CLIENT_SECRET, OV_PROJECT_ID; mode 0600). Next: npm run e2e`);
return 0;