openvibers/openvibe.examples STATUS.json
STATUS.json
| 1 | { |
| 2 | "repository": "OpenVibers/OpenVibe.Examples", |
| 3 | "stage": "alpha", |
| 4 | "code": true, |
| 5 | "wave": "W20", |
| 6 | "version": "0.3.0", |
| 7 | "contracts": "openvibe-contracts v0.419.0 (mod-manifest example)", |
| 8 | "sdk": "openvibe-sdk v0.161.0", |
| 9 | "shared": "openvibe-shared v4.238.0", |
| 10 | "deployed": false, |
| 11 | "deployment": "none: a repository with CI, not a runtime and not a published package", |
| 12 | "features": [ |
| 13 | "eighteen copyable examples: browser app, Node server app, Media uploader, event subscriber, webhook consumer, tool job, OAuth app, chat bot, mod manifest, AI chat (the official openai client on ai.openvibe.services/v1, plain, streamed and the project's own provider), go live (a Live API token sets up a WHIP slot; FFmpeg 8+ publishes; the session is named and ended), Zone over S3 (the official AWS SDK v3: put, get, paged list, presigned share link, delete), Space deploys from CI (an app token, live or preview, rollback, a GitHub Actions workflow), what people wear (Inventory's public catalog and equipped reads, no token), game scores (a sandbox- title on OpenVibe.Play: a round counted once, an unlock, the public board), Vibes Pay (a tiny sticker shop: a charge with openvibe-sdk/vibes, vibes-pay.js, and a signed webhook that marks the order paid)", |
| 14 | "smoke tests against openvibe-sdk/testing's mock platform, offline", |
| 15 | "create-openvibe-app scaffolder", |
| 16 | "npm run e2e against the real platform (on demand)", |
| 17 | "developer path check: account → project → app → Media, Events and AI → release → rotated and revoked credentials (mock in CI, production daily from OpenVibe.Host)", |
| 18 | "tools-job-proof: the scheduled Tools job proof (submit, stream resume with Last-Event-ID, Media result, Events trail)", |
| 19 | "public-surface check: no loopback keys, internal routes or secret values" |
| 20 | ], |
| 21 | "ci": "every example's smoke test runs on Node 22.22.1 against openvibe-sdk/testing's mock platform (developer-app rules for Events, Media and Tools as in production) plus a local Chat WebSocket mock; none reaches the network; a second job runs the developer path check (scripts/developer-path.js) against the same mock platform", |
| 22 | "e2e": "npm run e2e runs media-uploader, event-subscriber (pull) and tool-job against the real platform with a sandbox app's OV_CLIENT_ID/OV_CLIENT_SECRET/OV_PROJECT_ID; on demand only, not in CI or npm test; not run against production as part of this release", |
| 23 | "platform": "sandbox developer path (projects, sandbox grants, app tokens for openvibe.media/events/tools, Media project tenant, Events app.<project_key>.* events, Tools jobs, CORS-open discovery) verified in production on 2026-09-23 by the platform's W20 exit check (a curl script against the public endpoints); that check is now committed as npm run developer-path (SDK and examples, plus credential rotation, revocation and archive), which runs in CI against the mock platform and on demand against production (credentials from env only; refuses in CI against production); not yet run against production", |
| 24 | "not_working": [ |
| 25 | "no refresh tokens for apps (an app token lasts 5 minutes), and an app learns only the person's usr_ id: profile lookups (identity.subject.resolve) are first-party", |
| 26 | "/oauth/token is not CORS-open: browser apps exchange codes server-side", |
| 27 | "chat.message.send is first-party: the chat bot uses a Live hbt_ token", |
| 28 | "production apps and their allowances need staff (an admin manages a production app)", |
| 29 | "mod publishing is first-party (games.mod.manage)" |
| 30 | ], |
| 31 | "plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026), §15.1, §18.9; roadmap Wave 20, §30, ADR-014", |
| 32 | "updated": "2026-11-13" |
| 33 | } |
| 34 |