openvibers/openvibe.contracts Commits
Define design.component@1 for platform-neutral interface definitions (#382)
Changes
@@@ -1,5 +1,9 @@# Changelog++## 0.370.0 — 2026-11-09++++- design.component@1: one platform-neutral definition per shared interface (the public registry on openvibe.design)++## 0.369.0 — 2026-11-09- OpenVibe Git: git.repo@1, git.commit@1, git.tree@1 and git.insights@1@@@ -43,6 +47,7 @@## 0.359.0 — 2026-11-09- Media multipart uploads in contracts and OpenAPI++- Define `design.component@1` for web, Android and iOS component anatomy, props, states, tokens, behavior, accessibility and examples.## 0.358.0 — 2026-11-09@@@ -10758,6 +10758,15 @@"visibility": "public","compatibility": "backward","status": "active"++ },++ {++ "id": "design.component",++ "version": "1.0.0",++ "owner": "design",++ "schema": "design/component.v1.json",++ "visibility": "public",++ "compatibility": "backward",++ "status": "active"}]}nnew file mode 100644@@@ -0,0 +1,48 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/design/component.v1.json",++ "title": "DesignComponent",++ "description": "design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.",++ "type": "object",++ "additionalProperties": false,++ "required": ["schema", "name", "title", "summary", "anatomy", "props", "states", "tokens", "behaviors", "accessibility", "platforms", "examples"],++ "properties": {++ "schema": { "const": "design.component@1" },++ "name": { "type": "string", "pattern": "^[a-z][a-z0-9-]{0,63}$" },++ "title": { "type": "string", "minLength": 1, "maxLength": 120 },++ "summary": { "type": "string", "minLength": 1, "maxLength": 500 },++ "anatomy": {++ "type": "array", "minItems": 1, "maxItems": 32,++ "items": { "type": "object", "additionalProperties": false, "required": ["part", "role"], "properties": {++ "part": { "type": "string", "minLength": 1, "maxLength": 80 },++ "role": { "type": "string", "minLength": 1, "maxLength": 300 }++ } }++ },++ "props": { "type": "object", "maxProperties": 60, "propertyNames": { "pattern": "^[a-z][a-zA-Z0-9]*$" }, "additionalProperties": { "type": "string", "minLength": 1, "maxLength": 100 } },++ "states": { "type": "array", "minItems": 1, "maxItems": 30, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 80 } },++ "tokens": { "type": "array", "minItems": 1, "maxItems": 50, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 100 } },++ "behaviors": { "type": "object", "additionalProperties": false, "required": ["keyboardAware", "outsideTapCloses", "scrollLock", "reducedMotion"], "properties": {++ "keyboardAware": { "type": "boolean" }, "outsideTapCloses": { "type": "boolean" }, "scrollLock": { "type": "boolean" },++ "reducedMotion": { "type": "string", "minLength": 1, "maxLength": 300 }++ } },++ "accessibility": { "type": "object", "additionalProperties": false, "required": ["name", "target", "focus"], "properties": {++ "name": { "type": "string", "minLength": 1, "maxLength": 300 },++ "target": { "type": "string", "minLength": 1, "maxLength": 300 },++ "focus": { "type": "string", "minLength": 1, "maxLength": 300 }++ } },++ "platforms": { "type": "object", "additionalProperties": false, "required": ["web", "android", "ios"], "properties": {++ "web": { "type": "object", "additionalProperties": false, "required": ["module", "markup", "demo"], "properties": {++ "module": { "type": "string", "minLength": 1 }, "markup": { "type": "string", "minLength": 1 }, "demo": { "type": "string", "pattern": "^/components/[a-z0-9-]+$" }++ } },++ "android": { "type": "object", "additionalProperties": false, "required": ["toolkit", "material3", "specification"], "properties": {++ "toolkit": { "const": "Jetpack Compose" }, "material3": { "type": "string", "minLength": 1 }, "specification": { "type": "string", "minLength": 1 }++ } },++ "ios": { "type": "object", "additionalProperties": false, "required": ["toolkit", "specification"], "properties": {++ "toolkit": { "const": "SwiftUI" }, "specification": { "type": "string", "minLength": 1 }++ } }++ } },++ "examples": { "type": "array", "minItems": 1, "maxItems": 20, "items": { "type": "object", "additionalProperties": false, "required": ["title", "props"], "properties": {++ "title": { "type": "string", "minLength": 1 }, "props": { "type": "object" }++ } } }++ }++}nnew file mode 100644@@@ -0,0 +1,66 @@++{++ "schema": "design.component@1",++ "name": "sheet",++ "title": "Sheet",++ "summary": "A modal task surface: one heading, one close action and scrollable content.",++ "anatomy": [++ {++ "part": "handle",++ "role": "touch affordance"++ },++ {++ "part": "header",++ "role": "title and close"++ },++ {++ "part": "body",++ "role": "task controls"++ }++ ],++ "props": {++ "title": "string",++ "open": "boolean",++ "body": "content"++ },++ "states": [++ "closed",++ "opening",++ "open",++ "closing"++ ],++ "tokens": [++ "color.bg.card",++ "color.line.strong",++ "radius.lg"++ ],++ "behaviors": {++ "keyboardAware": true,++ "outsideTapCloses": true,++ "scrollLock": true,++ "reducedMotion": "Remove movement; keep the state change."++ },++ "accessibility": {++ "name": "Sheet",++ "target": "At least 44 × 44 dp or pt for every touch action",++ "focus": "Trap focus while open; Escape closes and returns focus"++ },++ "platforms": {++ "web": {++ "module": "openvibe-shared/kit",++ "markup": "kit.sheet({ id, title, body })",++ "demo": "/components/sheet"++ },++ "ios": {++ "toolkit": "SwiftUI",++ "specification": "Use .sheet with a NavigationStack and a toolbar close button."++ }++ },++ "examples": [++ {++ "title": "Default",++ "props": {++ "title": "Add a site"++ }++ }++ ]++}nnew file mode 100644@@@ -0,0 +1,67 @@++{++ "schema": "design.component@1",++ "name": "sheet",++ "title": "Sheet",++ "summary": "A modal task surface: one heading, one close action and scrollable content.",++ "anatomy": [++ {++ "part": "handle",++ "role": "touch affordance"++ },++ {++ "part": "header",++ "role": "title and close"++ },++ {++ "part": "body",++ "role": "task controls"++ }++ ],++ "props": {++ "title": "string",++ "open": "boolean",++ "body": "content"++ },++ "states": [++ "closed",++ "opening",++ "open",++ "closing"++ ],++ "tokens": [++ "color.bg.card",++ "color.line.strong",++ "radius.lg"++ ],++ "behaviors": {++ "keyboardAware": true,++ "outsideTapCloses": true,++ "scrollLock": true,++ "reducedMotion": "Remove movement; keep the state change."++ },++ "accessibility": {++ "name": "Sheet",++ "target": "At least 44 × 44 dp or pt for every touch action",++ "focus": "Trap focus while open; Escape closes and returns focus"++ },++ "platforms": {++ "web": {++ "module": "openvibe-shared/kit",++ "markup": "kit.sheet({ id, title, body })",++ "demo": "/components/sheet"++ },++ "android": {++ "toolkit": "Jetpack Compose",++ "material3": "SurfaceContainerHigh",++ "specification": "Use ModalBottomSheet with a heading, close control and sheet state."++ }++ },++ "examples": [++ {++ "title": "Default",++ "props": {++ "title": "Add a site"++ }++ }++ ]++}nnew file mode 100644@@@ -0,0 +1,71 @@++{++ "schema": "design.component@1",++ "name": "sheet",++ "title": "Sheet",++ "summary": "A modal task surface: one heading, one close action and scrollable content.",++ "anatomy": [++ {++ "part": "handle",++ "role": "touch affordance"++ },++ {++ "part": "header",++ "role": "title and close"++ },++ {++ "part": "body",++ "role": "task controls"++ }++ ],++ "props": {++ "title": "string",++ "open": "boolean",++ "body": "content"++ },++ "states": [++ "closed",++ "opening",++ "open",++ "closing"++ ],++ "tokens": [++ "color.bg.card",++ "color.line.strong",++ "radius.lg"++ ],++ "behaviors": {++ "keyboardAware": true,++ "outsideTapCloses": true,++ "scrollLock": true,++ "reducedMotion": "Remove movement; keep the state change."++ },++ "accessibility": {++ "name": "Sheet",++ "target": "At least 44 × 44 dp or pt for every touch action",++ "focus": "Trap focus while open; Escape closes and returns focus"++ },++ "platforms": {++ "web": {++ "module": "openvibe-shared/kit",++ "markup": "kit.sheet({ id, title, body })",++ "demo": "/components/sheet"++ },++ "android": {++ "toolkit": "Jetpack Compose",++ "material3": "SurfaceContainerHigh",++ "specification": "Use ModalBottomSheet with a heading, close control and sheet state."++ },++ "ios": {++ "toolkit": "SwiftUI",++ "specification": "Use .sheet with a NavigationStack and a toolbar close button."++ }++ },++ "examples": [++ {++ "title": "Default",++ "props": {++ "title": "Add a site"++ }++ }++ ]++}@@@ -118439,6 +118439,258 @@}}}++ },++ "design.component": {++ "version": "1.0.0",++ "owner": "design",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/design/component.v1.json",++ "title": "DesignComponent",++ "description": "design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "schema",++ "name",++ "title",++ "summary",++ "anatomy",++ "props",++ "states",++ "tokens",++ "behaviors",++ "accessibility",++ "platforms",++ "examples"++ ],++ "properties": {++ "schema": {++ "const": "design.component@1"++ },++ "name": {++ "type": "string",++ "pattern": "^[a-z][a-z0-9-]{0,63}$"++ },++ "title": {++ "type": "string",++ "minLength": 1,++ "maxLength": 120++ },++ "summary": {++ "type": "string",++ "minLength": 1,++ "maxLength": 500++ },++ "anatomy": {++ "type": "array",++ "minItems": 1,++ "maxItems": 32,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "part",++ "role"++ ],++ "properties": {++ "part": {++ "type": "string",++ "minLength": 1,++ "maxLength": 80++ },++ "role": {++ "type": "string",++ "minLength": 1,++ "maxLength": 300++ }++ }++ }++ },++ "props": {++ "type": "object",++ "maxProperties": 60,++ "propertyNames": {++ "pattern": "^[a-z][a-zA-Z0-9]*$"++ },++ "additionalProperties": {++ "type": "string",++ "minLength": 1,++ "maxLength": 100++ }++ },++ "states": {++ "type": "array",++ "minItems": 1,++ "maxItems": 30,++ "uniqueItems": true,++ "items": {++ "type": "string",++ "minLength": 1,++ "maxLength": 80++ }++ },++ "tokens": {++ "type": "array",++ "minItems": 1,++ "maxItems": 50,++ "uniqueItems": true,++ "items": {++ "type": "string",++ "minLength": 1,++ "maxLength": 100++ }++ },++ "behaviors": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "keyboardAware",++ "outsideTapCloses",++ "scrollLock",++ "reducedMotion"++ ],++ "properties": {++ "keyboardAware": {++ "type": "boolean"++ },++ "outsideTapCloses": {++ "type": "boolean"++ },++ "scrollLock": {++ "type": "boolean"++ },++ "reducedMotion": {++ "type": "string",++ "minLength": 1,++ "maxLength": 300++ }++ }++ },++ "accessibility": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "name",++ "target",++ "focus"++ ],++ "properties": {++ "name": {++ "type": "string",++ "minLength": 1,++ "maxLength": 300++ },++ "target": {++ "type": "string",++ "minLength": 1,++ "maxLength": 300++ },++ "focus": {++ "type": "string",++ "minLength": 1,++ "maxLength": 300++ }++ }++ },++ "platforms": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "web",++ "android",++ "ios"++ ],++ "properties": {++ "web": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "module",++ "markup",++ "demo"++ ],++ "properties": {++ "module": {++ "type": "string",++ "minLength": 1++ },++ "markup": {++ "type": "string",++ "minLength": 1++ },++ "demo": {++ "type": "string",++ "pattern": "^/components/[a-z0-9-]+$"++ }++ }++ },++ "android": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "toolkit",++ "material3",++ "specification"++ ],++ "properties": {++ "toolkit": {++ "const": "Jetpack Compose"++ },++ "material3": {++ "type": "string",++ "minLength": 1++ },++ "specification": {++ "type": "string",++ "minLength": 1++ }++ }++ },++ "ios": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "toolkit",++ "specification"++ ],++ "properties": {++ "toolkit": {++ "const": "SwiftUI"++ },++ "specification": {++ "type": "string",++ "minLength": 1++ }++ }++ }++ }++ },++ "examples": {++ "type": "array",++ "minItems": 1,++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "title",++ "props"++ ],++ "properties": {++ "title": {++ "type": "string",++ "minLength": 1++ },++ "props": {++ "type": "object"++ }++ }++ }++ }++ }++ }}}}@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.AI API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bench API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Billing API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Blog API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bot API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Chat API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Codes API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Community API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe Connect API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Coupons API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Deals API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Design API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Domains API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Events API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Exchange API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Food API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Games API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Host API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Inventory API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Live API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Mail API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.MediaHub API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Media API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Network API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.News API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenRestream API",-- "version": "0.369.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Play API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Quest API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Report API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Reviews API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Run API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Search API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Services API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Sources API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Space API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tips API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Today API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tools API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Trade API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.VIP API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Vision API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Watch API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Wiki API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Work API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Zone API",-- "version": "0.369.0",-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.370.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"@@@ -322375,3 +322375,953 @@ export interface GitInsights {stars: number;}[];}++++/** [email protected] (owner: design) */++/**++ * design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.++ */++export interface DesignComponent {++ schema: "design.component@1";++ name: string;++ title: string;++ summary: string;++ /**++ * @minItems 1++ * @maxItems 32++ */++ anatomy: [++ {++ part: string;++ role: string;++ },++ ...{++ part: string;++ role: string;++ }[]++ ];++ props: {++ [k: string]: string | undefined;++ };++ /**++ * @minItems 1++ * @maxItems 30++ */++ states: [string, ...string[]];++ /**++ * @minItems 1++ * @maxItems 50++ */++ tokens: [string, ...string[]];++ behaviors: {++ keyboardAware: boolean;++ outsideTapCloses: boolean;++ scrollLock: boolean;++ reducedMotion: string;++ };++ accessibility: {++ name: string;++ target: string;++ focus: string;++ };++ platforms: {++ web: {++ module: string;++ markup: string;++ demo: string;++ };++ android: {++ toolkit: "Jetpack Compose";++ material3: string;++ specification: string;++ };++ ios: {++ toolkit: "SwiftUI";++ specification: string;++ };++ };++ /**++ * @minItems 1++ * @maxItems 20++ */++ examples:++ | [++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ]++ | [++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ },++ {++ title: string;++ props: {};++ }++ ];++}@@@ -1,12 +1,12 @@{"name": "openvibe-contracts",-- "version": "0.369.0",++ "version": "0.370.0","lockfileVersion": 3,"requires": true,"packages": {"": {"name": "openvibe-contracts",-- "version": "0.369.0",++ "version": "0.370.0","license": "AGPL-3.0-only","dependencies": {"ajv": "^8.17.1",@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.369.0",++ "version": "0.370.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",
@@ -1,5 +1,9 @@
@@ -1,5 +1,9 @@
# Changelog
# Changelog
+## 0.370.0 — 2026-11-09
+
+- design.component@1: one platform-neutral definition per shared interface (the public registry on openvibe.design)
+
## 0.369.0 — 2026-11-09
## 0.369.0 — 2026-11-09
- OpenVibe Git: git.repo@1, git.commit@1, git.tree@1 and git.insights@1
- OpenVibe Git: git.repo@1, git.commit@1, git.tree@1 and git.insights@1
@@ -43,6 +47,7 @@
@@ -43,6 +47,7 @@
## 0.359.0 — 2026-11-09
## 0.359.0 — 2026-11-09
- Media multipart uploads in contracts and OpenAPI
- Media multipart uploads in contracts and OpenAPI
+- Define `design.component@1` for web, Android and iOS component anatomy, props, states, tokens, behavior, accessibility and examples.
## 0.358.0 — 2026-11-09
## 0.358.0 — 2026-11-09
@@ -10758,6 +10758,15 @@
@@ -10758,6 +10758,15 @@
"visibility": "public",
"visibility": "public",
"compatibility": "backward",
"compatibility": "backward",
"status": "active"
"status": "active"
+ },
+ {
+ "id": "design.component",
+ "version": "1.0.0",
+ "owner": "design",
+ "schema": "design/component.v1.json",
+ "visibility": "public",
+ "compatibility": "backward",
+ "status": "active"
}
}
]
]
}
}
new file mode 100644
new file mode 100644
@@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/design/component.v1.json",
+ "title": "DesignComponent",
+ "description": "design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["schema", "name", "title", "summary", "anatomy", "props", "states", "tokens", "behaviors", "accessibility", "platforms", "examples"],
+ "properties": {
+ "schema": { "const": "design.component@1" },
+ "name": { "type": "string", "pattern": "^[a-z][a-z0-9-]{0,63}$" },
+ "title": { "type": "string", "minLength": 1, "maxLength": 120 },
+ "summary": { "type": "string", "minLength": 1, "maxLength": 500 },
+ "anatomy": {
+ "type": "array", "minItems": 1, "maxItems": 32,
+ "items": { "type": "object", "additionalProperties": false, "required": ["part", "role"], "properties": {
+ "part": { "type": "string", "minLength": 1, "maxLength": 80 },
+ "role": { "type": "string", "minLength": 1, "maxLength": 300 }
+ } }
+ },
+ "props": { "type": "object", "maxProperties": 60, "propertyNames": { "pattern": "^[a-z][a-zA-Z0-9]*$" }, "additionalProperties": { "type": "string", "minLength": 1, "maxLength": 100 } },
+ "states": { "type": "array", "minItems": 1, "maxItems": 30, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 80 } },
+ "tokens": { "type": "array", "minItems": 1, "maxItems": 50, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 100 } },
+ "behaviors": { "type": "object", "additionalProperties": false, "required": ["keyboardAware", "outsideTapCloses", "scrollLock", "reducedMotion"], "properties": {
+ "keyboardAware": { "type": "boolean" }, "outsideTapCloses": { "type": "boolean" }, "scrollLock": { "type": "boolean" },
+ "reducedMotion": { "type": "string", "minLength": 1, "maxLength": 300 }
+ } },
+ "accessibility": { "type": "object", "additionalProperties": false, "required": ["name", "target", "focus"], "properties": {
+ "name": { "type": "string", "minLength": 1, "maxLength": 300 },
+ "target": { "type": "string", "minLength": 1, "maxLength": 300 },
+ "focus": { "type": "string", "minLength": 1, "maxLength": 300 }
+ } },
+ "platforms": { "type": "object", "additionalProperties": false, "required": ["web", "android", "ios"], "properties": {
+ "web": { "type": "object", "additionalProperties": false, "required": ["module", "markup", "demo"], "properties": {
+ "module": { "type": "string", "minLength": 1 }, "markup": { "type": "string", "minLength": 1 }, "demo": { "type": "string", "pattern": "^/components/[a-z0-9-]+$" }
+ } },
+ "android": { "type": "object", "additionalProperties": false, "required": ["toolkit", "material3", "specification"], "properties": {
+ "toolkit": { "const": "Jetpack Compose" }, "material3": { "type": "string", "minLength": 1 }, "specification": { "type": "string", "minLength": 1 }
+ } },
+ "ios": { "type": "object", "additionalProperties": false, "required": ["toolkit", "specification"], "properties": {
+ "toolkit": { "const": "SwiftUI" }, "specification": { "type": "string", "minLength": 1 }
+ } }
+ } },
+ "examples": { "type": "array", "minItems": 1, "maxItems": 20, "items": { "type": "object", "additionalProperties": false, "required": ["title", "props"], "properties": {
+ "title": { "type": "string", "minLength": 1 }, "props": { "type": "object" }
+ } } }
+ }
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
+{
+ "schema": "design.component@1",
+ "name": "sheet",
+ "title": "Sheet",
+ "summary": "A modal task surface: one heading, one close action and scrollable content.",
+ "anatomy": [
+ {
+ "part": "handle",
+ "role": "touch affordance"
+ },
+ {
+ "part": "header",
+ "role": "title and close"
+ },
+ {
+ "part": "body",
+ "role": "task controls"
+ }
+ ],
+ "props": {
+ "title": "string",
+ "open": "boolean",
+ "body": "content"
+ },
+ "states": [
+ "closed",
+ "opening",
+ "open",
+ "closing"
+ ],
+ "tokens": [
+ "color.bg.card",
+ "color.line.strong",
+ "radius.lg"
+ ],
+ "behaviors": {
+ "keyboardAware": true,
+ "outsideTapCloses": true,
+ "scrollLock": true,
+ "reducedMotion": "Remove movement; keep the state change."
+ },
+ "accessibility": {
+ "name": "Sheet",
+ "target": "At least 44 × 44 dp or pt for every touch action",
+ "focus": "Trap focus while open; Escape closes and returns focus"
+ },
+ "platforms": {
+ "web": {
+ "module": "openvibe-shared/kit",
+ "markup": "kit.sheet({ id, title, body })",
+ "demo": "/components/sheet"
+ },
+ "ios": {
+ "toolkit": "SwiftUI",
+ "specification": "Use .sheet with a NavigationStack and a toolbar close button."
+ }
+ },
+ "examples": [
+ {
+ "title": "Default",
+ "props": {
+ "title": "Add a site"
+ }
+ }
+ ]
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
+{
+ "schema": "design.component@1",
+ "name": "sheet",
+ "title": "Sheet",
+ "summary": "A modal task surface: one heading, one close action and scrollable content.",
+ "anatomy": [
+ {
+ "part": "handle",
+ "role": "touch affordance"
+ },
+ {
+ "part": "header",
+ "role": "title and close"
+ },
+ {
+ "part": "body",
+ "role": "task controls"
+ }
+ ],
+ "props": {
+ "title": "string",
+ "open": "boolean",
+ "body": "content"
+ },
+ "states": [
+ "closed",
+ "opening",
+ "open",
+ "closing"
+ ],
+ "tokens": [
+ "color.bg.card",
+ "color.line.strong",
+ "radius.lg"
+ ],
+ "behaviors": {
+ "keyboardAware": true,
+ "outsideTapCloses": true,
+ "scrollLock": true,
+ "reducedMotion": "Remove movement; keep the state change."
+ },
+ "accessibility": {
+ "name": "Sheet",
+ "target": "At least 44 × 44 dp or pt for every touch action",
+ "focus": "Trap focus while open; Escape closes and returns focus"
+ },
+ "platforms": {
+ "web": {
+ "module": "openvibe-shared/kit",
+ "markup": "kit.sheet({ id, title, body })",
+ "demo": "/components/sheet"
+ },
+ "android": {
+ "toolkit": "Jetpack Compose",
+ "material3": "SurfaceContainerHigh",
+ "specification": "Use ModalBottomSheet with a heading, close control and sheet state."
+ }
+ },
+ "examples": [
+ {
+ "title": "Default",
+ "props": {
+ "title": "Add a site"
+ }
+ }
+ ]
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
+{
+ "schema": "design.component@1",
+ "name": "sheet",
+ "title": "Sheet",
+ "summary": "A modal task surface: one heading, one close action and scrollable content.",
+ "anatomy": [
+ {
+ "part": "handle",
+ "role": "touch affordance"
+ },
+ {
+ "part": "header",
+ "role": "title and close"
+ },
+ {
+ "part": "body",
+ "role": "task controls"
+ }
+ ],
+ "props": {
+ "title": "string",
+ "open": "boolean",
+ "body": "content"
+ },
+ "states": [
+ "closed",
+ "opening",
+ "open",
+ "closing"
+ ],
+ "tokens": [
+ "color.bg.card",
+ "color.line.strong",
+ "radius.lg"
+ ],
+ "behaviors": {
+ "keyboardAware": true,
+ "outsideTapCloses": true,
+ "scrollLock": true,
+ "reducedMotion": "Remove movement; keep the state change."
+ },
+ "accessibility": {
+ "name": "Sheet",
+ "target": "At least 44 × 44 dp or pt for every touch action",
+ "focus": "Trap focus while open; Escape closes and returns focus"
+ },
+ "platforms": {
+ "web": {
+ "module": "openvibe-shared/kit",
+ "markup": "kit.sheet({ id, title, body })",
+ "demo": "/components/sheet"
+ },
+ "android": {
+ "toolkit": "Jetpack Compose",
+ "material3": "SurfaceContainerHigh",
+ "specification": "Use ModalBottomSheet with a heading, close control and sheet state."
+ },
+ "ios": {
+ "toolkit": "SwiftUI",
+ "specification": "Use .sheet with a NavigationStack and a toolbar close button."
+ }
+ },
+ "examples": [
+ {
+ "title": "Default",
+ "props": {
+ "title": "Add a site"
+ }
+ }
+ ]
+}
@@ -118439,6 +118439,258 @@
@@ -118439,6 +118439,258 @@
}
}
}
}
}
}
+ },
+ "design.component": {
+ "version": "1.0.0",
+ "owner": "design",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/design/component.v1.json",
+ "title": "DesignComponent",
+ "description": "design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "schema",
+ "name",
+ "title",
+ "summary",
+ "anatomy",
+ "props",
+ "states",
+ "tokens",
+ "behaviors",
+ "accessibility",
+ "platforms",
+ "examples"
+ ],
+ "properties": {
+ "schema": {
+ "const": "design.component@1"
+ },
+ "name": {
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9-]{0,63}$"
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 120
+ },
+ "summary": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 500
+ },
+ "anatomy": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 32,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "part",
+ "role"
+ ],
+ "properties": {
+ "part": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80
+ },
+ "role": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ }
+ }
+ },
+ "props": {
+ "type": "object",
+ "maxProperties": 60,
+ "propertyNames": {
+ "pattern": "^[a-z][a-zA-Z0-9]*$"
+ },
+ "additionalProperties": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "states": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 30,
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80
+ }
+ },
+ "tokens": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 50,
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "behaviors": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "keyboardAware",
+ "outsideTapCloses",
+ "scrollLock",
+ "reducedMotion"
+ ],
+ "properties": {
+ "keyboardAware": {
+ "type": "boolean"
+ },
+ "outsideTapCloses": {
+ "type": "boolean"
+ },
+ "scrollLock": {
+ "type": "boolean"
+ },
+ "reducedMotion": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ }
+ },
+ "accessibility": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "target",
+ "focus"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "target": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "focus": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ }
+ },
+ "platforms": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "web",
+ "android",
+ "ios"
+ ],
+ "properties": {
+ "web": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "module",
+ "markup",
+ "demo"
+ ],
+ "properties": {
+ "module": {
+ "type": "string",
+ "minLength": 1
+ },
+ "markup": {
+ "type": "string",
+ "minLength": 1
+ },
+ "demo": {
+ "type": "string",
+ "pattern": "^/components/[a-z0-9-]+$"
+ }
+ }
+ },
+ "android": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "toolkit",
+ "material3",
+ "specification"
+ ],
+ "properties": {
+ "toolkit": {
+ "const": "Jetpack Compose"
+ },
+ "material3": {
+ "type": "string",
+ "minLength": 1
+ },
+ "specification": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ },
+ "ios": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "toolkit",
+ "specification"
+ ],
+ "properties": {
+ "toolkit": {
+ "const": "SwiftUI"
+ },
+ "specification": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ }
+ }
+ },
+ "examples": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "props"
+ ],
+ "properties": {
+ "title": {
+ "type": "string",
+ "minLength": 1
+ },
+ "props": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
}
}
}
}
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Actor API",
"title": "OpenVibe.Actor API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.AI API",
"title": "OpenVibe.AI API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bench API",
"title": "OpenVibe.Bench API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Billing API",
"title": "OpenVibe.Billing API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Blog API",
"title": "OpenVibe.Blog API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bot API",
"title": "OpenVibe.Bot API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Chat API",
"title": "OpenVibe.Chat API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Codes API",
"title": "OpenVibe.Codes API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Community API",
"title": "OpenVibe.Community API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe Connect API",
"title": "OpenVibe Connect API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Coupons API",
"title": "OpenVibe.Coupons API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Deals API",
"title": "OpenVibe.Deals API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Design API",
"title": "OpenVibe.Design API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Domains API",
"title": "OpenVibe.Domains API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Events API",
"title": "OpenVibe.Events API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Exchange API",
"title": "OpenVibe.Exchange API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Food API",
"title": "OpenVibe.Food API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Games API",
"title": "OpenVibe.Games API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Host API",
"title": "OpenVibe.Host API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Inventory API",
"title": "OpenVibe.Inventory API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Live API",
"title": "OpenVibe.Live API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Mail API",
"title": "OpenVibe.Mail API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.MediaHub API",
"title": "OpenVibe.MediaHub API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Media API",
"title": "OpenVibe.Media API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Network API",
"title": "OpenVibe.Network API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.News API",
"title": "OpenVibe.News API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenRestream API",
"title": "OpenRestream API",
- "version": "0.369.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Play API",
"title": "OpenVibe.Play API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Quest API",
"title": "OpenVibe.Quest API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Report API",
"title": "OpenVibe.Report API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Reviews API",
"title": "OpenVibe.Reviews API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Run API",
"title": "OpenVibe.Run API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Search API",
"title": "OpenVibe.Search API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Services API",
"title": "OpenVibe.Services API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Sources API",
"title": "OpenVibe.Sources API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Space API",
"title": "OpenVibe.Space API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tips API",
"title": "OpenVibe.Tips API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Today API",
"title": "OpenVibe.Today API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tools API",
"title": "OpenVibe.Tools API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Trade API",
"title": "OpenVibe.Trade API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.VIP API",
"title": "OpenVibe.VIP API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Vision API",
"title": "OpenVibe.Vision API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Watch API",
"title": "OpenVibe.Watch API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Wiki API",
"title": "OpenVibe.Wiki API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Work API",
"title": "OpenVibe.Work API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Zone API",
"title": "OpenVibe.Zone API",
- "version": "0.369.0",
- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.369.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.370.0",
+ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.370.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -322375,3 +322375,953 @@ export interface GitInsights {
@@ -322375,3 +322375,953 @@ export interface GitInsights {
stars: number;
stars: number;
}[];
}[];
}
}
+
+/** [email protected] (owner: design) */
+/**
+ * design.component@1: a platform-neutral OpenVibe interface definition served by openvibe.design/api/v1/components.
+ */
+export interface DesignComponent {
+ schema: "design.component@1";
+ name: string;
+ title: string;
+ summary: string;
+ /**
+ * @minItems 1
+ * @maxItems 32
+ */
+ anatomy: [
+ {
+ part: string;
+ role: string;
+ },
+ ...{
+ part: string;
+ role: string;
+ }[]
+ ];
+ props: {
+ [k: string]: string | undefined;
+ };
+ /**
+ * @minItems 1
+ * @maxItems 30
+ */
+ states: [string, ...string[]];
+ /**
+ * @minItems 1
+ * @maxItems 50
+ */
+ tokens: [string, ...string[]];
+ behaviors: {
+ keyboardAware: boolean;
+ outsideTapCloses: boolean;
+ scrollLock: boolean;
+ reducedMotion: string;
+ };
+ accessibility: {
+ name: string;
+ target: string;
+ focus: string;
+ };
+ platforms: {
+ web: {
+ module: string;
+ markup: string;
+ demo: string;
+ };
+ android: {
+ toolkit: "Jetpack Compose";
+ material3: string;
+ specification: string;
+ };
+ ios: {
+ toolkit: "SwiftUI";
+ specification: string;
+ };
+ };
+ /**
+ * @minItems 1
+ * @maxItems 20
+ */
+ examples:
+ | [
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ]
+ | [
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ },
+ {
+ title: string;
+ props: {};
+ }
+ ];
+}
@@ -1,12 +1,12 @@
@@ -1,12 +1,12 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.369.0",
+ "version": "0.370.0",
"lockfileVersion": 3,
"lockfileVersion": 3,
"requires": true,
"requires": true,
"packages": {
"packages": {
"": {
"": {
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.369.0",
+ "version": "0.370.0",
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.369.0",
+ "version": "0.370.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"main": "index.js",
"types": "generated/typescript/index.d.ts",
"types": "generated/typescript/index.d.ts",