openvibers/openvibe.sdk Commits

openvibe-contracts v0.399.0 (was v0.385.0) (#203)

OP OpenVibers committed 2 days ago · 4c69527a08 · 5 files, +81 −8

* openvibe-contracts v0.399.0 (was v0.385.0)

Opened by scripts/pin-bump.js in OpenVibers/OpenVibe.Shared after the v0.399.0 release.

* Copy the service-manifest strip type from Contracts v0.399.0

Changes

ddiff --git a/README.md b/README.md
iindex 8b4f67c..51760d5 100644
---- a/README.md
++++ b/README.md
@@@ -664,7 +664,7 @@ Nothing at runtime. `openvibe-contracts` and `@electric-sql/pglite` are devDepen
Part of the [OpenVibe network](https://openvibe.network). Built in the open by [OpenVibers](https://github.com/OpenVibers).
<!-- versions:start -->
--- openvibe-contracts: v0.384.0
++- openvibe-contracts: v0.399.0
<!-- versions:end -->
### Network-wide sharing (Node)
ddiff --git a/STATUS.json b/STATUS.json
iindex fb133bf..13b1106 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -4,10 +4,10 @@
"code": true,
"wave": "W2",
"version": "0.146.0",
-- "plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026), \u00a73.2; roadmap \u00a730",
++ "plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026), §3.2; roadmap §30",
"deployed": false,
"deployment": "none: a package released as git tags; services and apps pin a tag",
-- "contracts": "openvibe-contracts v0.385.0",
++ "contracts": "openvibe-contracts v0.399.0",
"features": [
"menu (openvibe-sdk/menu): menuCard() builds one validated frame.menu-card@1 (plain text, the contract caps, https links on the site own origin or an openvibe.* host, an optional item picture) and menuRoute() is the Express/node:http GET /.well-known/openvibe-menu.json handler (public cache, CORS *, [] and one log line when the cards cannot be built)",
"cam (openvibe-sdk/cam): defineOvCamera({ src }) injects the <ov-camera> element from openvibe.cam once and resolves to its class, with typed attributes, events and methods (start/stop/capture/flip); browser-only, upload=\"off\" by default",
ddiff --git a/package-lock.json b/package-lock.json
iindex f5028ff..2dd3275 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -14,7 +14,7 @@
"devDependencies": {
"@electric-sql/pglite": "^0.5.8",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.385.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.399.0",
"pg": "^8.23.0"
},
"engines": {
@@@ -198,9 +198,9 @@
"license": "MIT"
},
"node_modules/openvibe-contracts": {
-- "version": "0.385.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.385.0",
-- "integrity": "sha512-3wf2bLck5fcOblMYOcIutxRCYeJRqEOqf1bEReCUkJ/AvzVS7/Uq2Cpp9zmSjNkajTd8b3DKQ7WRSaMppQ92yg==",
++ "version": "0.399.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.399.0",
++ "integrity": "sha512-7QqSrMH2BT6ZOJu+xxusjEPICaVKGrr+3ij3tg0leE3sy4jfPwvWVTwaXZSCPM1feoP7heUDnSO4/9QBmjguJw==",
"dev": true,
"license": "AGPL-3.0-only",
"dependencies": {
ddiff --git a/package.json b/package.json
iindex 17436b2..8db7392 100644
---- a/package.json
++++ b/package.json
@@@ -634,7 +634,7 @@
"devDependencies": {
"@electric-sql/pglite": "^0.5.8",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.385.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.399.0",
"pg": "^8.23.0"
},
"peerDependencies": {
ddiff --git a/types/contracts.d.ts b/types/contracts.d.ts
iindex f7c45ad..9a1d2b4 100644
---- a/types/contracts.d.ts
++++ b/types/contracts.d.ts
@@@ -1972,6 +1972,79 @@ export interface ServiceManifest {
* The room's launcher group in OpenVibe.Shared rooms.js and OpenVibe.Network frame/sites.js; optional so older manifests retain their meaning.
*/
neighbourhood?: "streams" | "games" | "answers" | "make" | "shop" | "people" | "build";
++ /**
++ * This site's own items on the network's footer strip, read with the rest of it at openvibe.network GET /api/frame/online?site=<id>: a label, an icon from the shared glyph set, an https link on an OpenVibe domain (any openvibe.* host), and either a count the site reports or a fixed line. Network checks every field again before it reaches a page.
++ *
++ * @maxItems 3
++ */
++ strip?:
++ | []
++ | [
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ }
++ ]
++ | [
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ },
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ }
++ ]
++ | [
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ },
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ },
++ (
++ | {
++ [k: string]: unknown | undefined;
++ }
++ | {
++ [k: string]: unknown | undefined;
++ }
++ ) & {
++ [k: string]: unknown | undefined;
++ }
++ ];
};
capabilities: string[];
eventsProduced: string[];