openvibers/openvibe.contracts Commits

frame.menu-card@1: an optional image per item (0.320.0) (#329)

OP OpenVibers committed 6 days ago · a30f8dfaca · 56 files, +662 −94

Each item may carry a small picture: https src on the site's own origin or an openvibe.* host, optional 16-1920 w/h and an optional 120-char alt. Additive; valid and invalid fixtures cover it, and the generated types include it.

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 79d7f02b..af4b0cfc 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -1,5 +1,11 @@
# Changelog
++## 0.320.0 — 2026-11-07
++
++- `frame.menu-card@1` items gain an optional `image`: `src` (https on the publishing site's own origin or an `openvibe.*` host, at most 400 characters), optional `w` and `h` (whole pixels, 16–1920) and an optional `alt` of at most 120 characters. Network keeps an image whose `src` passes the same host rule as the item's `url`, drops one from anywhere else, and passes it through in `GET /api/frame` so the Frame menu and Network's `/my` can draw a thumbnail.
++- Additive: every item without an image stays valid, so an older publisher file keeps passing and an older reader ignores the field.
++- Valid fixtures cover an item with a full image and one with only `src`; invalid fixtures cover `http`, a width under 16, an `alt` over 120, a missing `src` and an unknown image field.
++
## 0.319.0 — 2026-11-07
- The merged public site: OpenVibe.AI is no longer a site of its own. Its service manifest keeps the API, the run receipt and the operator console but drops the `site` block, so Network's Frame lists Exchange instead of AI. `manifests/products/ai.openvibe.services.json` is `kind: moved`, points at Exchange and keeps the API address, and Exchange's own site block now carries the merged tagline ("Every AI model, one account") and what it does.
ddiff --git a/contracts/frame/menu-card.v1.json b/contracts/frame/menu-card.v1.json
iindex 0e51eb51..309656d3 100644
---- a/contracts/frame/menu-card.v1.json
++++ b/contracts/frame/menu-card.v1.json
@@@ -2,7 +2,7 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://openvibe.network/contracts/frame/menu-card.v1.json",
"title": "FrameMenuCard",
-- "description": "frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.",
++ "description": "frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. An item may also carry a small picture (image) of the same shape: https on the site's own origin or an openvibe.* host, with an optional 16–1920 pixel width and height and a short alt text. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.",
"type": "object",
"required": ["id", "site", "title", "kind", "items", "updated_at", "ttl_s"],
"additionalProperties": false,
@@@ -53,6 +53,38 @@
"maxLength": 400,
"pattern": "^https://",
"description": "Where the entry opens: https on the publishing site's own origin or an openvibe.* host."
++ },
++ "image": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": ["src"],
++ "description": "A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.",
++ "properties": {
++ "src": {
++ "type": "string",
++ "format": "uri",
++ "maxLength": 400,
++ "pattern": "^https://",
++ "description": "The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host."
++ },
++ "w": {
++ "type": "integer",
++ "minimum": 16,
++ "maximum": 1920,
++ "description": "The picture's natural width in pixels, when the site knows it."
++ },
++ "h": {
++ "type": "integer",
++ "minimum": 16,
++ "maximum": 1920,
++ "description": "The picture's natural height in pixels, when the site knows it."
++ },
++ "alt": {
++ "type": "string",
++ "maxLength": 120,
++ "description": "A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it."
++ }
++ }
}
}
}
ddiff --git a/fixtures/frame.menu-card/invalid/http-image.json b/fixtures/frame.menu-card/invalid/http-image.json
nnew file mode 100644
iindex 00000000..3629775c
---- /dev/null
++++ b/fixtures/frame.menu-card/invalid/http-image.json
@@@ -0,0 +1,11 @@
++{
++ "id": "trending",
++ "site": "media-hub",
++ "title": "Trending",
++ "kind": "rows",
++ "items": [
++ { "title": "A walk", "url": "https://openvibe.video/v/1", "image": { "src": "http://openvibe.media/t/1.jpg", "w": 640, "h": 360 } }
++ ],
++ "updated_at": "2026-11-07T08:00:00Z",
++ "ttl_s": 300
++}
ddiff --git a/fixtures/frame.menu-card/invalid/image-alt-too-long.json b/fixtures/frame.menu-card/invalid/image-alt-too-long.json
nnew file mode 100644
iindex 00000000..11a0a397
---- /dev/null
++++ b/fixtures/frame.menu-card/invalid/image-alt-too-long.json
@@@ -0,0 +1,11 @@
++{
++ "id": "live-now",
++ "site": "live",
++ "title": "Live now",
++ "kind": "rail",
++ "items": [
++ { "title": "Nova", "url": "https://openvibe.live/@nova", "image": { "src": "https://openvibe.live/t/nova.jpg", "alt": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } }
++ ],
++ "updated_at": "2026-11-07T08:00:00Z",
++ "ttl_s": 30
++}
ddiff --git a/fixtures/frame.menu-card/invalid/image-no-src.json b/fixtures/frame.menu-card/invalid/image-no-src.json
nnew file mode 100644
iindex 00000000..a3b8f9b3
---- /dev/null
++++ b/fixtures/frame.menu-card/invalid/image-no-src.json
@@@ -0,0 +1,11 @@
++{
++ "id": "live-now",
++ "site": "live",
++ "title": "Live now",
++ "kind": "rail",
++ "items": [
++ { "title": "Nova", "url": "https://openvibe.live/@nova", "image": { "w": 640, "h": 360 } }
++ ],
++ "updated_at": "2026-11-07T08:00:00Z",
++ "ttl_s": 30
++}
ddiff --git a/fixtures/frame.menu-card/invalid/image-unknown-field.json b/fixtures/frame.menu-card/invalid/image-unknown-field.json
nnew file mode 100644
iindex 00000000..5a2d96d3
---- /dev/null
++++ b/fixtures/frame.menu-card/invalid/image-unknown-field.json
@@@ -0,0 +1,11 @@
++{
++ "id": "live-now",
++ "site": "live",
++ "title": "Live now",
++ "kind": "rail",
++ "items": [
++ { "title": "Nova", "url": "https://openvibe.live/@nova", "image": { "src": "https://openvibe.live/t/nova.jpg", "credit": "Nova" } }
++ ],
++ "updated_at": "2026-11-07T08:00:00Z",
++ "ttl_s": 30
++}
ddiff --git a/fixtures/frame.menu-card/invalid/image-width-too-small.json b/fixtures/frame.menu-card/invalid/image-width-too-small.json
nnew file mode 100644
iindex 00000000..08741165
---- /dev/null
++++ b/fixtures/frame.menu-card/invalid/image-width-too-small.json
@@@ -0,0 +1,11 @@
++{
++ "id": "live-now",
++ "site": "live",
++ "title": "Live now",
++ "kind": "rail",
++ "items": [
++ { "title": "Nova", "url": "https://openvibe.live/@nova", "image": { "src": "https://openvibe.live/t/nova.jpg", "w": 8, "h": 360 } }
++ ],
++ "updated_at": "2026-11-07T08:00:00Z",
++ "ttl_s": 30
++}
ddiff --git a/fixtures/frame.menu-card/valid/live-now.json b/fixtures/frame.menu-card/valid/live-now.json
iindex 9a06e819..1440f349 100644
---- a/fixtures/frame.menu-card/valid/live-now.json
++++ b/fixtures/frame.menu-card/valid/live-now.json
@@@ -4,7 +4,7 @@
"title": "Live now",
"kind": "rail",
"items": [
-- { "title": "Nova", "meta": "12 watching", "url": "https://openvibe.live/@nova" },
++ { "title": "Nova", "meta": "12 watching", "url": "https://openvibe.live/@nova", "image": { "src": "https://openvibe.live/t/nova.jpg?w=640", "w": 640, "h": 360, "alt": "Nova at the desk" } },
{ "title": "Kitchen radio", "meta": "3 watching", "url": "https://openvibe.live/@kitchen" }
],
"more": { "label": "See all", "url": "https://openvibe.live/live" },
ddiff --git a/fixtures/frame.menu-card/valid/new-worlds.json b/fixtures/frame.menu-card/valid/new-worlds.json
iindex 4510fb1d..df3e9f68 100644
---- a/fixtures/frame.menu-card/valid/new-worlds.json
++++ b/fixtures/frame.menu-card/valid/new-worlds.json
@@@ -4,7 +4,7 @@
"title": "New worlds",
"kind": "rows",
"items": [
-- { "title": "Harbour Town", "meta": "Built by 4 people", "url": "https://openvibe.games/w/harbour-town" },
++ { "title": "Harbour Town", "meta": "Built by 4 people", "url": "https://openvibe.games/w/harbour-town", "image": { "src": "https://openvibe.games/worlds/harbour-town/cover.jpg", "w": 1200, "h": 675 } },
{ "title": "Night Market", "meta": "18 visitors this week", "url": "https://openvibe.games/w/night-market" }
],
"updated_at": "2026-11-07T07:58:00Z",
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex 43a94859..a2de92ba 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -107692,7 +107692,7 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://openvibe.network/contracts/frame/menu-card.v1.json",
"title": "FrameMenuCard",
-- "description": "frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.",
++ "description": "frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. An item may also carry a small picture (image) of the same shape: https on the site's own origin or an openvibe.* host, with an optional 16–1920 pixel width and height and a short alt text. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.",
"type": "object",
"required": [
"id",
@@@ -107758,6 +107758,40 @@
"maxLength": 400,
"pattern": "^https://",
"description": "Where the entry opens: https on the publishing site's own origin or an openvibe.* host."
++ },
++ "image": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "src"
++ ],
++ "description": "A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.",
++ "properties": {
++ "src": {
++ "type": "string",
++ "format": "uri",
++ "maxLength": 400,
++ "pattern": "^https://",
++ "description": "The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host."
++ },
++ "w": {
++ "type": "integer",
++ "minimum": 16,
++ "maximum": 1920,
++ "description": "The picture's natural width in pixels, when the site knows it."
++ },
++ "h": {
++ "type": "integer",
++ "minimum": 16,
++ "maximum": 1920,
++ "description": "The picture's natural height in pixels, when the site knows it."
++ },
++ "alt": {
++ "type": "string",
++ "maxLength": 120,
++ "description": "A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it."
++ }
++ }
}
}
}
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex 8e73287c..ff60d2b0 100644
---- a/generated/openapi/actor.json
++++ b/generated/openapi/actor.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Actor API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex cf1d4b20..b2a70003 100644
---- a/generated/openapi/ai.json
++++ b/generated/openapi/ai.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.AI API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/bench.json b/generated/openapi/bench.json
iindex 9c49a7cd..f835b6ef 100644
---- a/generated/openapi/bench.json
++++ b/generated/openapi/bench.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bench API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex dd815d8f..e9c55875 100644
---- a/generated/openapi/billing.json
++++ b/generated/openapi/billing.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Billing API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex 555f127e..7126c110 100644
---- a/generated/openapi/blog.json
++++ b/generated/openapi/blog.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Blog API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/bot.json b/generated/openapi/bot.json
iindex 83498c89..2843f89e 100644
---- a/generated/openapi/bot.json
++++ b/generated/openapi/bot.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bot API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex b70ff636..5ad5dd9a 100644
---- a/generated/openapi/chat.json
++++ b/generated/openapi/chat.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Chat API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex 838c6169..74c69de7 100644
---- a/generated/openapi/codes.json
++++ b/generated/openapi/codes.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Codes API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex 3708323e..797f6983 100644
---- a/generated/openapi/community.json
++++ b/generated/openapi/community.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Community API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/connect.json b/generated/openapi/connect.json
iindex 8cb61852..39172fb9 100644
---- a/generated/openapi/connect.json
++++ b/generated/openapi/connect.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe Connect API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex ab1920aa..bf7e7b25 100644
---- a/generated/openapi/coupons.json
++++ b/generated/openapi/coupons.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Coupons API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex b0d013e2..6d2c363c 100644
---- a/generated/openapi/deals.json
++++ b/generated/openapi/deals.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Deals API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/design.json b/generated/openapi/design.json
iindex a14f9962..8c882494 100644
---- a/generated/openapi/design.json
++++ b/generated/openapi/design.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Design API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/domains.json b/generated/openapi/domains.json
iindex 8c8da8e6..2c9f6a2a 100644
---- a/generated/openapi/domains.json
++++ b/generated/openapi/domains.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Domains API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex d796f0eb..c7db99bf 100644
---- a/generated/openapi/events.json
++++ b/generated/openapi/events.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Events API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/food.json b/generated/openapi/food.json
iindex 3e11e238..b723f543 100644
---- a/generated/openapi/food.json
++++ b/generated/openapi/food.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Food API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex 6d2cc8d0..684f1377 100644
---- a/generated/openapi/games.json
++++ b/generated/openapi/games.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Games API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex 08ac42df..68cdd1c1 100644
---- a/generated/openapi/host.json
++++ b/generated/openapi/host.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Host API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex 9b956de3..c586805e 100644
---- a/generated/openapi/inventory.json
++++ b/generated/openapi/inventory.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Inventory API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex bf7c382a..6bf0e226 100644
---- a/generated/openapi/live.json
++++ b/generated/openapi/live.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Live API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media-hub.json b/generated/openapi/media-hub.json
iindex bca8512d..653505a4 100644
---- a/generated/openapi/media-hub.json
++++ b/generated/openapi/media-hub.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.MediaHub API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex 50bd573d..283176e3 100644
---- a/generated/openapi/media.json
++++ b/generated/openapi/media.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Media API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex 7c085168..32073139 100644
---- a/generated/openapi/network.json
++++ b/generated/openapi/network.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Network API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex cca1307e..f0747d04 100644
---- a/generated/openapi/news.json
++++ b/generated/openapi/news.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.News API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex 8f53f1f8..77e9283d 100644
---- a/generated/openapi/openre.json
++++ b/generated/openapi/openre.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenRestream API",
-- "version": "0.319.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/play.json b/generated/openapi/play.json
iindex 242eedea..f8b9157b 100644
---- a/generated/openapi/play.json
++++ b/generated/openapi/play.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Play API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/quest.json b/generated/openapi/quest.json
iindex d3971f4e..0ae34c89 100644
---- a/generated/openapi/quest.json
++++ b/generated/openapi/quest.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Quest API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/report.json b/generated/openapi/report.json
iindex 88c776cd..fae44f20 100644
---- a/generated/openapi/report.json
++++ b/generated/openapi/report.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Report API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex ec3f4e92..74276d15 100644
---- a/generated/openapi/reviews.json
++++ b/generated/openapi/reviews.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Reviews API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/run.json b/generated/openapi/run.json
iindex 623306de..2e10abc2 100644
---- a/generated/openapi/run.json
++++ b/generated/openapi/run.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Run API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex 0f68d86e..c669c6e7 100644
---- a/generated/openapi/search.json
++++ b/generated/openapi/search.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Search API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/services.json b/generated/openapi/services.json
iindex d909287d..152140fe 100644
---- a/generated/openapi/services.json
++++ b/generated/openapi/services.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Services API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex 1ced37b1..685a7da1 100644
---- a/generated/openapi/sources.json
++++ b/generated/openapi/sources.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Sources API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/space.json b/generated/openapi/space.json
iindex ca808c8a..5100316f 100644
---- a/generated/openapi/space.json
++++ b/generated/openapi/space.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Space API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex d47ad71d..3a0bf2b2 100644
---- a/generated/openapi/tips.json
++++ b/generated/openapi/tips.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tips API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/today.json b/generated/openapi/today.json
iindex aa12e946..21f34296 100644
---- a/generated/openapi/today.json
++++ b/generated/openapi/today.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Today API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 662d362f..783e6e27 100644
---- a/generated/openapi/tools.json
++++ b/generated/openapi/tools.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tools API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex a03d0ff4..47c93aeb 100644
---- a/generated/openapi/trade.json
++++ b/generated/openapi/trade.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Trade API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex 7ead4af4..2ab03f1c 100644
---- a/generated/openapi/vip.json
++++ b/generated/openapi/vip.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.VIP API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vision.json b/generated/openapi/vision.json
iindex ce8fc662..dc205668 100644
---- a/generated/openapi/vision.json
++++ b/generated/openapi/vision.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Vision API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/watch.json b/generated/openapi/watch.json
iindex 62944712..a36f949f 100644
---- a/generated/openapi/watch.json
++++ b/generated/openapi/watch.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Watch API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex 8781eeb1..a8728142 100644
---- a/generated/openapi/wiki.json
++++ b/generated/openapi/wiki.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Wiki API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/work.json b/generated/openapi/work.json
iindex 4a91d468..8658dd81 100644
---- a/generated/openapi/work.json
++++ b/generated/openapi/work.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Work API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/zone.json b/generated/openapi/zone.json
iindex 1c325b15..284e618c 100644
---- a/generated/openapi/zone.json
++++ b/generated/openapi/zone.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Zone API",
-- "version": "0.319.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.319.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.320.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.320.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex 32b2d281..b9fc4dde 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -298333,7 +298333,7 @@ export interface AgentTimelineListResult {
/** [email protected] (owner: network) */
/**
-- * frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.
++ * frame.menu-card@1: one card a site publishes for the network's Frame menu. Each open site serves an array of at most three cards at /.well-known/openvibe-menu.json (frame.menu-cards@1); Network fetches that public file every five minutes, validates every card here, strips markup from the text and ranks the cards in GET /api/frame. A card is one kind of menu block: a rail (the live rail), rows (a ranked list) or chips (a short row of words). Every item links to https on the site's own origin or an openvibe.* host; Network refuses another origin. An item may also carry a small picture (image) of the same shape: https on the site's own origin or an openvibe.* host, with an optional 16–1920 pixel width and height and a short alt text. The text is plain words: markup is stripped, unknown fields are dropped and a file that fails this schema leaves the site's last good card in place for 30 minutes.
*/
export interface FrameMenuCard {
/**
@@@ -298373,6 +298373,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
]
| [
@@@ -298389,6 +298410,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298403,6 +298445,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
]
| [
@@@ -298419,6 +298482,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298433,6 +298517,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298447,6 +298552,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
]
| [
@@@ -298463,6 +298589,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298477,6 +298624,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298491,6 +298659,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298505,6 +298694,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
]
| [
@@@ -298521,6 +298731,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298535,6 +298766,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298549,6 +298801,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298563,6 +298836,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298577,6 +298871,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
]
| [
@@@ -298593,6 +298908,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298607,6 +298943,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298621,6 +298978,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298635,6 +299013,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298649,6 +299048,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
},
{
/**
@@@ -298663,6 +299083,27 @@ export interface FrameMenuCard {
* Where the entry opens: https on the publishing site's own origin or an openvibe.* host.
*/
url: string;
++ /**
++ * A small picture of the entry: a video's thumbnail, a world's cover or a stream's preview. Optional; a site with no real picture leaves it out rather than sending a placeholder.
++ */
++ image?: {
++ /**
++ * The picture's address: https on the publishing site's own origin or an openvibe.* host. Network drops an image from another host.
++ */
++ src: string;
++ /**
++ * The picture's natural width in pixels, when the site knows it.
++ */
++ w?: number;
++ /**
++ * The picture's natural height in pixels, when the site knows it.
++ */
++ h?: number;
++ /**
++ * A short description of the picture for anyone who cannot see it. May be empty when the entry's title already says it.
++ */
++ alt?: string;
++ };
}
];
more?: {
ddiff --git a/package.json b/package.json
iindex b8873618..ff2807f8 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.319.0",
++ "version": "0.320.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"types": "generated/typescript/index.d.ts",