openvibers/openvibe.contracts Commits

0.248.0: actor.agent-list-result@2 — tiers and models (#256)

OP OpenVibers committed 14 days ago · 3f7e651590 · 51 files, +719 −94

GET /api/v1/agents now answers the model each tier resolved to (fast, smart, best, check, vision)
and the models the server's keys reach. agent-list-result@1 stays unchanged and is deprecated with
@2 as its replacement; the actor.agent.read capability's output schema is @2.

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 66389bcd..3247667a 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,13 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
the notes were in the tag and commit messages (`git tag -n1`).
++## 0.248.0 — 2026-10-30
++
++- **`actor.agent-list-result@2`** (OpenVibe.Actor v2): `GET /api/v1/agents` now lists the model each tier resolves
++ to (`tiers`: fast, smart, best, check, vision, with its provider, model, family and availability) and the models the
++ server's keys reach (`models`). Every field of `@1` keeps its name, type and meaning; `@1` is deprecated with `@2`
++ as its replacement. The `actor.agent.read` capability's output schema is `@2`.
++
## 0.247.0 — 2026-10-30
- Add `bench.run@2`, allowing a null run or task score while human judges have not scored verified outputs. `bench.run@1` stays unchanged.
ddiff --git a/compatibility/deprecations.json b/compatibility/deprecations.json
iindex 6e076f9a..a636e4cc 100644
---- a/compatibility/deprecations.json
++++ b/compatibility/deprecations.json
@@@ -210,6 +210,13 @@
"since": "0.150.0",
"removeAfter": "1.0.0",
"reason": "the static hosting engine moved from OpenVibe.Host to OpenVibe.Space (2026-10-12, plan T20)"
++ },
++ {
++ "id": "actor.agent-list-result@1",
++ "replacement": "actor.agent-list-result@2",
++ "since": "0.248.0",
++ "removeAfter": "1.0.0",
++ "reason": "Actor v2 resolves model tiers at boot; the agent list adds tiers and models while keeping every v1 field (2026-10-30)"
}
]
}
ddiff --git a/contracts/actor/agent-list-result.v2.json b/contracts/actor/agent-list-result.v2.json
nnew file mode 100644
iindex 00000000..486a173b
---- /dev/null
++++ b/contracts/actor/agent-list-result.v2.json
@@@ -0,0 +1,209 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/actor/agent-list-result.v2.json",
++ "title": "ActorAgentListResult",
++ "description": "actor.agent-list-result@2: GET /api/v1/agents (capability actor.agent.read). Every field of agent-list-result@1 keeps its meaning and shape (AGENTS: the systems Actor can run a task on, with trust, capabilities, rate card and availability). v2 adds what Actor's one agent loop resolves its model tiers to: TIERS is the model behind each tier (fast: classifying and small steps; smart: the loop; best: hard tasks and best mode; check: the verifier of another family; vision: reading images and screens), and MODELS lists the models the server's keys reach. A tier always names its provider and model, so a caller never has to guess which backend a task will run on.",
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "agents"
++ ],
++ "properties": {
++ "agents": {
++ "type": "array",
++ "maxItems": 64,
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "id",
++ "name",
++ "kind",
++ "provider",
++ "trust",
++ "can",
++ "rate_card",
++ "available"
++ ],
++ "properties": {
++ "id": {
++ "type": "string",
++ "pattern": "^[a-z][a-z0-9-]{1,63}$"
++ },
++ "name": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 80
++ },
++ "kind": {
++ "type": "string",
++ "enum": [
++ "openvibe-runtime",
++ "agent-platform",
++ "open-model",
++ "codes",
++ "node",
++ "run"
++ ]
++ },
++ "provider": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 80
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "trust": {
++ "type": "string",
++ "enum": [
++ "first-party",
++ "user-owned",
++ "partner",
++ "community",
++ "external"
++ ]
++ },
++ "can": {
++ "type": "array",
++ "items": {
++ "type": "string",
++ "pattern": "^(task|tool):[a-z0-9_-]+$"
++ }
++ },
++ "rate_card": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "input_usd_per_mtok",
++ "output_usd_per_mtok",
++ "source",
++ "verified_at"
++ ],
++ "properties": {
++ "input_usd_per_mtok": {
++ "type": "number",
++ "minimum": 0
++ },
++ "output_usd_per_mtok": {
++ "type": "number",
++ "minimum": 0
++ },
++ "per_call_usd": {
++ "type": "number",
++ "minimum": 0,
++ "description": "A fixed charge per tool call the platform bills (for example a web search)."
++ },
++ "source": {
++ "type": "string",
++ "format": "uri"
++ },
++ "verified_at": {
++ "type": "string",
++ "format": "date"
++ }
++ }
++ },
++ "typical_latency_ms": {
++ "type": "integer",
++ "minimum": 0
++ },
++ "available": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ }
++ }
++ }
++ },
++ "tiers": {
++ "type": "object",
++ "description": "The model each tier resolves to on this server.",
++ "additionalProperties": false,
++ "required": [
++ "fast",
++ "smart",
++ "best",
++ "check",
++ "vision"
++ ],
++ "properties": {
++ "fast": { "$ref": "#/$defs/tier" },
++ "smart": { "$ref": "#/$defs/tier" },
++ "best": { "$ref": "#/$defs/tier" },
++ "check": { "$ref": "#/$defs/tier" },
++ "vision": { "$ref": "#/$defs/tier" }
++ }
++ },
++ "models": {
++ "type": "array",
++ "maxItems": 200,
++ "description": "The models the server's configured keys reach, as listed by the providers.",
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ }
++ }
++ }
++ }
++ },
++ "$defs": {
++ "tier": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family",
++ "available"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "enum": [
++ "openai",
++ "deepseek",
++ "local",
++ "runtime",
++ "compatible"
++ ]
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "available": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ }
++ }
++ }
++ }
++}
ddiff --git a/contracts/catalog.json b/contracts/catalog.json
iindex edee4c41..c0822b86 100644
---- a/contracts/catalog.json
++++ b/contracts/catalog.json
@@@ -6782,6 +6782,16 @@
"status": "active",
"adr": "ADR-044"
},
++ {
++ "id": "actor.agent-list-result",
++ "version": "2.0.0",
++ "owner": "actor",
++ "schema": "actor/agent-list-result.v2.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-044"
++ },
{
"id": "food.pantry-request",
"version": "1.0.0",
ddiff --git a/fixtures/actor.agent-list-result/invalid/bad-tier-provider.json b/fixtures/actor.agent-list-result/invalid/bad-tier-provider.json
nnew file mode 100644
iindex 00000000..b86c91d5
---- /dev/null
++++ b/fixtures/actor.agent-list-result/invalid/bad-tier-provider.json
@@@ -0,0 +1,28 @@
++{
++ "agents": [
++ {
++ "id": "openvibe-runtime",
++ "name": "OpenVibe runtime",
++ "kind": "openvibe-runtime",
++ "provider": "OpenVibe",
++ "trust": "external",
++ "can": [
++ "task:answer"
++ ],
++ "rate_card": {
++ "input_usd_per_mtok": 0.25,
++ "output_usd_per_mtok": 2,
++ "source": "https://developers.openai.com/api/docs/pricing",
++ "verified_at": "2026-10-30"
++ },
++ "available": true
++ }
++ ],
++ "tiers": {
++ "fast": { "provider": "mystery", "model": "x", "family": "x", "available": true },
++ "smart": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true },
++ "best": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true },
++ "check": { "provider": "deepseek", "model": "deepseek-reasoner", "family": "deepseek", "available": true },
++ "vision": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true }
++ }
++}
ddiff --git a/fixtures/actor.agent-list-result/valid/with-tiers.json b/fixtures/actor.agent-list-result/valid/with-tiers.json
nnew file mode 100644
iindex 00000000..7bae6fcd
---- /dev/null
++++ b/fixtures/actor.agent-list-result/valid/with-tiers.json
@@@ -0,0 +1,42 @@
++{
++ "agents": [
++ {
++ "id": "openvibe-runtime",
++ "name": "OpenVibe runtime",
++ "kind": "openvibe-runtime",
++ "provider": "OpenVibe",
++ "model": "gpt-5.1",
++ "trust": "external",
++ "can": [
++ "task:answer",
++ "task:research",
++ "task:web",
++ "task:lookup",
++ "task:robot",
++ "task:computer",
++ "tool:search_openvibe",
++ "tool:search_web",
++ "tool:run_tool"
++ ],
++ "rate_card": {
++ "input_usd_per_mtok": 0.25,
++ "output_usd_per_mtok": 2,
++ "source": "https://developers.openai.com/api/docs/pricing",
++ "verified_at": "2026-10-30"
++ },
++ "typical_latency_ms": 25000,
++ "available": true
++ }
++ ],
++ "tiers": {
++ "fast": { "provider": "deepseek", "model": "deepseek-flash", "family": "deepseek", "available": true },
++ "smart": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true },
++ "best": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true },
++ "check": { "provider": "deepseek", "model": "deepseek-reasoner", "family": "deepseek", "available": true },
++ "vision": { "provider": "openai", "model": "gpt-5.1", "family": "openai", "available": true }
++ },
++ "models": [
++ { "provider": "openai", "model": "gpt-5.1", "family": "openai" },
++ { "provider": "deepseek", "model": "deepseek-flash", "family": "deepseek" }
++ ]
++}
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex 382295fa..46c14c79 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -79044,7 +79044,7 @@
}
}
},
-- "actor.agent-list-result": {
++ "actor.agent-list-result@1": {
"version": "1.0.0",
"owner": "actor",
"status": "active",
@@@ -79172,6 +79172,230 @@
}
}
},
++ "actor.agent-list-result@2": {
++ "version": "2.0.0",
++ "owner": "actor",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/actor/agent-list-result.v2.json",
++ "title": "ActorAgentListResult",
++ "description": "actor.agent-list-result@2: GET /api/v1/agents (capability actor.agent.read). Every field of agent-list-result@1 keeps its meaning and shape (AGENTS: the systems Actor can run a task on, with trust, capabilities, rate card and availability). v2 adds what Actor's one agent loop resolves its model tiers to: TIERS is the model behind each tier (fast: classifying and small steps; smart: the loop; best: hard tasks and best mode; check: the verifier of another family; vision: reading images and screens), and MODELS lists the models the server's keys reach. A tier always names its provider and model, so a caller never has to guess which backend a task will run on.",
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "agents"
++ ],
++ "properties": {
++ "agents": {
++ "type": "array",
++ "maxItems": 64,
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "id",
++ "name",
++ "kind",
++ "provider",
++ "trust",
++ "can",
++ "rate_card",
++ "available"
++ ],
++ "properties": {
++ "id": {
++ "type": "string",
++ "pattern": "^[a-z][a-z0-9-]{1,63}$"
++ },
++ "name": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 80
++ },
++ "kind": {
++ "type": "string",
++ "enum": [
++ "openvibe-runtime",
++ "agent-platform",
++ "open-model",
++ "codes",
++ "node",
++ "run"
++ ]
++ },
++ "provider": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 80
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "trust": {
++ "type": "string",
++ "enum": [
++ "first-party",
++ "user-owned",
++ "partner",
++ "community",
++ "external"
++ ]
++ },
++ "can": {
++ "type": "array",
++ "items": {
++ "type": "string",
++ "pattern": "^(task|tool):[a-z0-9_-]+$"
++ }
++ },
++ "rate_card": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "input_usd_per_mtok",
++ "output_usd_per_mtok",
++ "source",
++ "verified_at"
++ ],
++ "properties": {
++ "input_usd_per_mtok": {
++ "type": "number",
++ "minimum": 0
++ },
++ "output_usd_per_mtok": {
++ "type": "number",
++ "minimum": 0
++ },
++ "per_call_usd": {
++ "type": "number",
++ "minimum": 0,
++ "description": "A fixed charge per tool call the platform bills (for example a web search)."
++ },
++ "source": {
++ "type": "string",
++ "format": "uri"
++ },
++ "verified_at": {
++ "type": "string",
++ "format": "date"
++ }
++ }
++ },
++ "typical_latency_ms": {
++ "type": "integer",
++ "minimum": 0
++ },
++ "available": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ }
++ }
++ }
++ },
++ "tiers": {
++ "type": "object",
++ "description": "The model each tier resolves to on this server.",
++ "additionalProperties": false,
++ "required": [
++ "fast",
++ "smart",
++ "best",
++ "check",
++ "vision"
++ ],
++ "properties": {
++ "fast": {
++ "$ref": "#/$defs/tier"
++ },
++ "smart": {
++ "$ref": "#/$defs/tier"
++ },
++ "best": {
++ "$ref": "#/$defs/tier"
++ },
++ "check": {
++ "$ref": "#/$defs/tier"
++ },
++ "vision": {
++ "$ref": "#/$defs/tier"
++ }
++ }
++ },
++ "models": {
++ "type": "array",
++ "maxItems": 200,
++ "description": "The models the server's configured keys reach, as listed by the providers.",
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ }
++ }
++ }
++ }
++ },
++ "$defs": {
++ "tier": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family",
++ "available"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "enum": [
++ "openai",
++ "deepseek",
++ "local",
++ "runtime",
++ "compatible"
++ ]
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "available": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ }
++ }
++ }
++ }
++ }
++ },
"food.pantry-request": {
"version": "1.0.0",
"owner": "food",
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex 572ee588..52c56e9a 100644
---- a/generated/openapi/actor.json
++++ b/generated/openapi/actor.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Actor API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for 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"
@@@ -65,8 +65,8 @@
"/api/v1/agents": {
"get": {
"operationId": "get_api_v1_agents",
-- "summary": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@1), and which one a task would go ",
-- "description": "**actor.agent.read** (public): The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@1), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
++ "summary": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@2, whose model tiers and models sa",
++ "description": "**actor.agent.read** (public): The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@2, whose model tiers and models say which model each tier resolved to), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
"tags": [
"actor.agent"
],
@@@ -90,7 +90,7 @@
"content": {
"application/json": {
"schema": {
-- "$ref": "#/components/schemas/actor.agent-list-result.v1"
++ "$ref": "#/components/schemas/actor.agent-list-result.v2"
}
}
}
@@@ -1202,8 +1202,8 @@
"/api/v1/route": {
"post": {
"operationId": "post_api_v1_route",
-- "summary": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@1), and which one a task would go ",
-- "description": "**actor.agent.read** (public): The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@1), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
++ "summary": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@2, whose model tiers and models sa",
++ "description": "**actor.agent.read** (public): The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@2, whose model tiers and models say which model each tier resolved to), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
"tags": [
"actor.agent"
],
@@@ -1227,7 +1227,7 @@
"content": {
"application/json": {
"schema": {
-- "$ref": "#/components/schemas/actor.agent-list-result.v1"
++ "$ref": "#/components/schemas/actor.agent-list-result.v2"
}
}
}
@@@ -1526,9 +1526,9 @@
},
"components": {
"schemas": {
-- "actor.agent-list-result.v1": {
++ "actor.agent-list-result.v2": {
"title": "ActorAgentListResult",
-- "description": "actor.agent-list-result@1: GET /api/v1/agents (capability actor.agent.read): every agent system Actor can route a task to. KIND is the backend class (ADR-044): openvibe-runtime (OpenVibe's own agent, acting through OpenVibe services), agent-platform (another platform's agent, called through its API), open-model (an open model on OpenVibe's own hardware), codes (coding work through OpenVibe.Codes), node and run (a person's machine or OpenVibe.Run). TRUST is ADR-046's class; private mode takes only first-party ones. CAN are the task classes and tools it takes (task:<class>, tool:<name>). RATE_CARD is the published price, revised by review and never written by a model (SOURCE says where it comes from, VERIFIED_AT when a person last checked it). AVAILABLE says whether it can take a task now and REASON why not.",
++ "description": "actor.agent-list-result@2: GET /api/v1/agents (capability actor.agent.read). Every field of agent-list-result@1 keeps its meaning and shape (AGENTS: the systems Actor can run a task on, with trust, capabilities, rate card and availability). v2 adds what Actor's one agent loop resolves its model tiers to: TIERS is the model behind each tier (fast: classifying and small steps; smart: the loop; best: hard tasks and best mode; check: the verifier of another family; vision: reading images and screens), and MODELS lists the models the server's keys reach. A tier always names its provider and model, so a caller never has to guess which backend a task will run on.",
"type": "object",
"additionalProperties": false,
"required": [
@@@ -1644,6 +1644,102 @@
}
}
}
++ },
++ "tiers": {
++ "type": "object",
++ "description": "The model each tier resolves to on this server.",
++ "additionalProperties": false,
++ "required": [
++ "fast",
++ "smart",
++ "best",
++ "check",
++ "vision"
++ ],
++ "properties": {
++ "fast": {
++ "$ref": "#/components/schemas/actor.agent-list-result.v2/$defs/tier"
++ },
++ "smart": {
++ "$ref": "#/components/schemas/actor.agent-list-result.v2/$defs/tier"
++ },
++ "best": {
++ "$ref": "#/components/schemas/actor.agent-list-result.v2/$defs/tier"
++ },
++ "check": {
++ "$ref": "#/components/schemas/actor.agent-list-result.v2/$defs/tier"
++ },
++ "vision": {
++ "$ref": "#/components/schemas/actor.agent-list-result.v2/$defs/tier"
++ }
++ }
++ },
++ "models": {
++ "type": "array",
++ "maxItems": 200,
++ "description": "The models the server's configured keys reach, as listed by the providers.",
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ }
++ }
++ }
++ }
++ },
++ "$defs": {
++ "tier": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "provider",
++ "model",
++ "family",
++ "available"
++ ],
++ "properties": {
++ "provider": {
++ "type": "string",
++ "enum": [
++ "openai",
++ "deepseek",
++ "local",
++ "runtime",
++ "compatible"
++ ]
++ },
++ "model": {
++ "type": "string",
++ "maxLength": 120
++ },
++ "family": {
++ "type": "string",
++ "maxLength": 32
++ },
++ "available": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ }
++ }
}
}
},
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex 7bc269e2..757c1abb 100644
---- a/generated/openapi/ai.json
++++ b/generated/openapi/ai.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.AI API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/bench.json b/generated/openapi/bench.json
iindex 1baee48c..5d3a0917 100644
---- a/generated/openapi/bench.json
++++ b/generated/openapi/bench.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bench API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex 4d7d9c49..26869dbd 100644
---- a/generated/openapi/billing.json
++++ b/generated/openapi/billing.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Billing API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex dc935c05..c6423d45 100644
---- a/generated/openapi/blog.json
++++ b/generated/openapi/blog.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Blog API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/bot.json b/generated/openapi/bot.json
iindex 3b814386..09f5c079 100644
---- a/generated/openapi/bot.json
++++ b/generated/openapi/bot.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bot API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex 7b243756..745186b6 100644
---- a/generated/openapi/chat.json
++++ b/generated/openapi/chat.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Chat API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex db1a0655..ed1cb0ab 100644
---- a/generated/openapi/codes.json
++++ b/generated/openapi/codes.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Codes API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex 27d7b11a..e0126aa5 100644
---- a/generated/openapi/community.json
++++ b/generated/openapi/community.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Community API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex 5a5eb116..b266b89b 100644
---- a/generated/openapi/coupons.json
++++ b/generated/openapi/coupons.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Coupons API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex 5865881c..86c3298b 100644
---- a/generated/openapi/deals.json
++++ b/generated/openapi/deals.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Deals API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/domains.json b/generated/openapi/domains.json
iindex 15476eae..04ecb180 100644
---- a/generated/openapi/domains.json
++++ b/generated/openapi/domains.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Domains API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex c7056940..8582ce13 100644
---- a/generated/openapi/events.json
++++ b/generated/openapi/events.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Events API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/food.json b/generated/openapi/food.json
iindex c4af6329..5d30ddab 100644
---- a/generated/openapi/food.json
++++ b/generated/openapi/food.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Food API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex 8cdd36a6..dbf50284 100644
---- a/generated/openapi/games.json
++++ b/generated/openapi/games.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Games API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex fb1c04b8..3db7b8bf 100644
---- a/generated/openapi/host.json
++++ b/generated/openapi/host.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Host API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex f553a10e..a0bdf785 100644
---- a/generated/openapi/inventory.json
++++ b/generated/openapi/inventory.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Inventory API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex 3e61fab0..73a83491 100644
---- a/generated/openapi/live.json
++++ b/generated/openapi/live.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Live API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media-hub.json b/generated/openapi/media-hub.json
iindex 03351297..c44420b5 100644
---- a/generated/openapi/media-hub.json
++++ b/generated/openapi/media-hub.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.MediaHub API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex 2a2cec35..2ddb7454 100644
---- a/generated/openapi/media.json
++++ b/generated/openapi/media.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Media API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex b7e76236..74ca718b 100644
---- a/generated/openapi/network.json
++++ b/generated/openapi/network.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Network API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex c024b6cd..e5e866a5 100644
---- a/generated/openapi/news.json
++++ b/generated/openapi/news.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.News API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex e5fa362e..f53090e8 100644
---- a/generated/openapi/openre.json
++++ b/generated/openapi/openre.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenRestream API",
-- "version": "0.247.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/play.json b/generated/openapi/play.json
iindex 7e04006d..3c6e22d1 100644
---- a/generated/openapi/play.json
++++ b/generated/openapi/play.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Play API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/quest.json b/generated/openapi/quest.json
iindex b44c85e7..de26e82f 100644
---- a/generated/openapi/quest.json
++++ b/generated/openapi/quest.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Quest API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex 87757b19..4ec656fc 100644
---- a/generated/openapi/reviews.json
++++ b/generated/openapi/reviews.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Reviews API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/run.json b/generated/openapi/run.json
iindex 1fa799fa..4781e8cc 100644
---- a/generated/openapi/run.json
++++ b/generated/openapi/run.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Run API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex 2b69dbc7..ad365a6b 100644
---- a/generated/openapi/search.json
++++ b/generated/openapi/search.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Search API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/services.json b/generated/openapi/services.json
iindex 6497b248..42d63b64 100644
---- a/generated/openapi/services.json
++++ b/generated/openapi/services.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Services API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex 9e6cc24a..10827126 100644
---- a/generated/openapi/sources.json
++++ b/generated/openapi/sources.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Sources API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/space.json b/generated/openapi/space.json
iindex 54f4949f..9837078c 100644
---- a/generated/openapi/space.json
++++ b/generated/openapi/space.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Space API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex ff9c88d2..69ae9418 100644
---- a/generated/openapi/tips.json
++++ b/generated/openapi/tips.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tips API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 93a78c8f..568939bf 100644
---- a/generated/openapi/tools.json
++++ b/generated/openapi/tools.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tools API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex 10efd1c9..22bad6f2 100644
---- a/generated/openapi/trade.json
++++ b/generated/openapi/trade.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Trade API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex 6f6b0e5d..96fb77b8 100644
---- a/generated/openapi/vip.json
++++ b/generated/openapi/vip.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.VIP API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vision.json b/generated/openapi/vision.json
iindex 2fbf4456..a055a2a0 100644
---- a/generated/openapi/vision.json
++++ b/generated/openapi/vision.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Vision API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/watch.json b/generated/openapi/watch.json
iindex a170bab7..535a4543 100644
---- a/generated/openapi/watch.json
++++ b/generated/openapi/watch.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Watch API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex ce8b2926..55166b4b 100644
---- a/generated/openapi/wiki.json
++++ b/generated/openapi/wiki.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Wiki API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/work.json b/generated/openapi/work.json
iindex 63301bea..fcb4a057 100644
---- a/generated/openapi/work.json
++++ b/generated/openapi/work.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Work API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/zone.json b/generated/openapi/zone.json
iindex 77fca4f3..3f5187ad 100644
---- a/generated/openapi/zone.json
++++ b/generated/openapi/zone.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Zone API",
-- "version": "0.247.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.247.0): each operation lists the capabilities it performs; a token for 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.248.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.248.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex 812393e6..6c0b6c56 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -207164,6 +207164,8 @@ export interface ActorAgentListResult {
}[];
}
++/** [email protected] (owner: actor) */
++
/** [email protected] (owner: food) */
/**
* food.pantry-request@1: PUT /api/v1/pantry on OpenVibe.Food replaces the pantry with exactly these food slugs.
ddiff --git a/manifests/capabilities/actor.agent.read.json b/manifests/capabilities/actor.agent.read.json
iindex 42dfe6b8..d3ded7f3 100644
---- a/manifests/capabilities/actor.agent.read.json
++++ b/manifests/capabilities/actor.agent.read.json
@@@ -4,9 +4,9 @@
"owner": "actor",
"status": "active",
"visibility": "public",
-- "description": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@1), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
++ "description": "The agent systems Actor routes to, with what each can do, its trust class, its rate card and whether it is available now (GET /api/v1/agents, actor.agent-list-result@2, whose model tiers and models say which model each tier resolved to), and which one a task would go to in a mode, with the reason for every candidate (POST /api/v1/route { task, mode }, a platform.placement-result@1; nothing runs). Public; no token needed.",
"inputSchema": "common.no-body@1",
-- "outputSchema": "actor.agent-list-result@1",
++ "outputSchema": "actor.agent-list-result@2",
"permissions": [
"actor:agents:read"
],
ddiff --git a/package-lock.json b/package-lock.json
iindex 922bfd72..e16f3cc5 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-contracts",
-- "version": "0.239.0",
++ "version": "0.248.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-contracts",
-- "version": "0.239.0",
++ "version": "0.248.0",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex e8a6b28e..3d7f636d 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.247.0",
++ "version": "0.248.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",