openvibers/openvibe.examples Commits

openvibe-sdk v0.6.0 in every example; the tool-job example submits through the openvibe.tools gateway jobs facade (it hard-coded the img satellite)

OP OpenVibers committed 24 Sept 2026 · 0bbe579f68 · 16 files, +29 −29


Changes

ddiff --git a/README.md b/README.md
iindex 48d8c4c..a1ce788 100644
---- a/README.md
++++ b/README.md
@@@ -78,7 +78,7 @@ npm run e2e # reads ./.env: OV_CLIENT_ID, OV_CLIENT_SECRET, OV_PROJECT_
It uploads a small file to your Media tenant, reads it back and deletes it; publishes
`app.<project_key>.e2e.ran` and pulls your topic until it finds it; converts a 1x1 PNG to WebP on
--`img.openvibe.tools`, following the job's events. It prints each step (never the secret, a token
++`openvibe.tools` (the gateway's jobs facade), following the job's events. It prints each step (never the secret, a token
or a URL signature) and exits `1` if a step failed, `2` if a variable is missing.
**4. Run the examples.** Each reads `.env` in its own folder (`cp .env.example .env`), or point it
ddiff --git a/examples/browser-app/package.json b/examples/browser-app/package.json
iindex 5ae7bdd..12b2bdf 100644
---- a/examples/browser-app/package.json
++++ b/examples/browser-app/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/event-subscriber/package.json b/examples/event-subscriber/package.json
iindex e2c848e..4c51219 100644
---- a/examples/event-subscriber/package.json
++++ b/examples/event-subscriber/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/media-uploader/package.json b/examples/media-uploader/package.json
iindex d4e5f37..2077813 100644
---- a/examples/media-uploader/package.json
++++ b/examples/media-uploader/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/mod-manifest/package.json b/examples/mod-manifest/package.json
iindex aa011b9..ac4c0f5 100644
---- a/examples/mod-manifest/package.json
++++ b/examples/mod-manifest/package.json
@@@ -13,7 +13,7 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0",
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.28.0"
}
}
ddiff --git a/examples/node-server-app/package.json b/examples/node-server-app/package.json
iindex c16023f..b630e6d 100644
---- a/examples/node-server-app/package.json
++++ b/examples/node-server-app/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/oauth-app/package.json b/examples/oauth-app/package.json
iindex 002dc9f..bf13949 100644
---- a/examples/oauth-app/package.json
++++ b/examples/oauth-app/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/tool-job/README.md b/examples/tool-job/README.md
iindex 0deb0d1..bb5655b 100644
---- a/examples/tool-job/README.md
++++ b/examples/tool-job/README.md
@@@ -42,7 +42,7 @@ npm test
```
Network and Tools are `openvibe-sdk/testing`'s mock platform with `jobs` enabled, answering at
--`https://img.openvibe.tools` like the real satellite (an `img.process` handler plays queued →
++`https://openvibe.tools` like the real gateway (an `img.process` handler plays queued →
running → progress → succeeded; `acceptSandbox: ['openvibe.tools']` because Tools accepts sandbox
app tokens on jobs); `dropJobStreams()` cuts the event stream after the first event.
@@@ -53,7 +53,7 @@ app tokens on jobs); `dropJobStreams()` cuts the event stream after the first ev
2. `cp .env.example .env`, fill in `OV_CLIENT_ID` and `OV_CLIENT_SECRET`.
3. `node --env-file=.env run-job.js ./photo.png`
--`img.process` runs on `https://img.openvibe.tools` (`input.tool` is one of its tools, for example
++`img.process` runs on the img satellite behind `https://openvibe.tools` (`input.tool` is one of its tools, for example
`convert` with `format`); audio and docs jobs run on their own satellites (set
`OV_TOOLS_JOBS_URL`, `OV_JOB_TYPE`, `OV_JOB_INPUT`). Tools accepts sandbox app tokens on
`/api/v1/jobs`: a sandbox project may have 2 active jobs of at most 30 minutes, and its results are
ddiff --git a/examples/tool-job/package.json b/examples/tool-job/package.json
iindex 90a3c05..fc7523b 100644
---- a/examples/tool-job/package.json
++++ b/examples/tool-job/package.json
@@@ -13,6 +13,6 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/examples/tool-job/run-job.js b/examples/tool-job/run-job.js
iindex 0fca950..1ac4e90 100644
---- a/examples/tool-job/run-job.js
++++ b/examples/tool-job/run-job.js
@@@ -35,7 +35,7 @@ function loadConfig(env = process.env) {
network: env.OV_NETWORK_URL || 'https://openvibe.network',
clientId: env.OV_CLIENT_ID,
clientSecret: env.OV_CLIENT_SECRET,
-- toolsUrl: env.OV_TOOLS_JOBS_URL || 'https://img.openvibe.tools',
++ toolsUrl: env.OV_TOOLS_JOBS_URL || 'https://openvibe.tools', // the gateway's /api/v1/jobs facade routes img.process to the img satellite
type: env.OV_JOB_TYPE || 'img.process',
input,
outDir: env.OV_OUT_DIR || path.join(process.cwd(), 'out'),
ddiff --git a/examples/tool-job/test/smoke.test.js b/examples/tool-job/test/smoke.test.js
iindex 041488b..e7122fa 100644
---- a/examples/tool-job/test/smoke.test.js
++++ b/examples/tool-job/test/smoke.test.js
@@@ -58,7 +58,7 @@ const TOOLS = ['tools.job.create', 'tools.job.read'];
assert.equal(fs.readFileSync(files[0], 'utf8'), 'converted:not really a png, the mock does not care');
assert.equal(fs.existsSync(env.OV_JOB_STATE), false, 'state cleared once done');
assert.equal(submits(), 1);
-- assert.ok(platform.stats.requests.some((r) => r.url === 'https://img.openvibe.tools/api/v1/jobs'), 'img.process went to the img satellite (the default)');
++ assert.ok(platform.stats.requests.some((r) => r.url === 'https://openvibe.tools/api/v1/jobs'), 'img.process went to the Tools gateway (its /api/v1/jobs facade, the default)');
const submitCall = platform.stats.requests.find((r) => r.method === 'POST' && r.url.endsWith('/api/v1/jobs'));
assert.match(submitCall.headers['idempotency-key'], /^ex-[0-9a-f]{40}$/);
ddiff --git a/examples/webhook-consumer/package.json b/examples/webhook-consumer/package.json
iindex 6069f23..18f2250 100644
---- a/examples/webhook-consumer/package.json
++++ b/examples/webhook-consumer/package.json
@@@ -13,7 +13,7 @@
"node": ">=22"
},
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0",
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0",
"better-sqlite3": "^11.10.0"
}
}
ddiff --git a/package-lock.json b/package-lock.json
iindex 756c5d0..60dcb83 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -12,7 +12,7 @@
"examples/*"
],
"devDependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -23,7 +23,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -45,7 +45,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -56,7 +56,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -68,7 +68,7 @@
"license": "MIT",
"dependencies": {
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.28.0",
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -79,7 +79,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -90,7 +90,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -101,7 +101,7 @@
"version": "0.2.0",
"license": "MIT",
"dependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -113,7 +113,7 @@
"license": "MIT",
"dependencies": {
"better-sqlite3": "^11.10.0",
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
},
"engines": {
"node": ">=22"
@@@ -469,9 +469,9 @@
"link": true
},
"node_modules/openvibe-sdk": {
-- "version": "0.4.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0",
-- "integrity": "sha512-Hyz55YOMIs0xwCQ1NXsN0sUYhlbKXAX3uWY2fPCdEEL18FXUYVhK8wlG/5JMMypFHnjDiSd9VHzBNG12hWsmkQ==",
++ "version": "0.6.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0",
++ "integrity": "sha512-v6PFh8Xf/bE1XDbuSkbVXVC5cN+q9fkwQi/qc9kmiGPr9Zze47ydS+qS0i3RXUmQF2v0/BdCzAMcowsdzf1ezQ==",
"license": "MIT",
"engines": {
"node": ">=20"
ddiff --git a/package.json b/package.json
iindex d1df02f..0ef6b8d 100644
---- a/package.json
++++ b/package.json
@@@ -19,6 +19,6 @@
"node": ">=22"
},
"devDependencies": {
-- "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0"
++ "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0"
}
}
ddiff --git a/scripts/e2e.js b/scripts/e2e.js
iindex 2841053..8ec5152 100644
---- a/scripts/e2e.js
++++ b/scripts/e2e.js
@@@ -15,7 +15,7 @@
* metadata back, delete it
* 2. event-subscriber publish app.<project_key>.e2e.ran, then pull the project's topic from just
* before it with a durable cursor and find it
-- * 3. tool-job convert a 1x1 PNG to WebP on img.openvibe.tools, following the job's events
++ * 3. tool-job convert a 1x1 PNG to WebP through the openvibe.tools jobs facade, following the job's events
*
* It refuses to start without the three variables, prints what each step did, and never prints a
* secret: the client secret and anything shaped like a token are masked in all output, and signed
ddiff --git a/test/structure.test.js b/test/structure.test.js
iindex 37f70b4..ec1afcb 100644
---- a/test/structure.test.js
++++ b/test/structure.test.js
@@@ -12,7 +12,7 @@ const path = require('node:path');
const ROOT = path.join(__dirname, '..');
const EXPECTED = ['browser-app', 'chat-bot', 'event-subscriber', 'media-uploader', 'mod-manifest', 'node-server-app', 'oauth-app', 'tool-job', 'webhook-consumer'];
--const SDK = 'https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.4.0';
++const SDK = 'https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.6.0';
const dirs = fs.readdirSync(path.join(ROOT, 'examples')).filter((d) => fs.statSync(path.join(ROOT, 'examples', d)).isDirectory()).sort();
assert.deepEqual(dirs, EXPECTED, 'the nine charter examples');
@@@ -38,7 +38,7 @@ for (const name of EXPECTED) {
assert.equal(pkg.scripts.test, 'node test/smoke.test.js', `${name}: npm test runs the smoke test`);
for (const [dep, spec] of Object.entries({ ...pkg.dependencies, ...pkg.devDependencies })) {
assert.ok(!/^(file|link):/.test(spec), `${name}: ${dep} is not a local link`);
-- if (dep === 'openvibe-sdk') assert.equal(spec, SDK, `${name}: openvibe-sdk pinned to v0.4.0`);
++ if (dep === 'openvibe-sdk') assert.equal(spec, SDK, `${name}: openvibe-sdk pinned to v0.6.0`);
}
const readme = fs.readFileSync(path.join(dir, 'README.md'), 'utf8');