openvibers/openvibe.contracts Commits

0.249.0: actor.task-event@2 — files and charts on a tool result (#257)

OP OpenVibers committed 14 days ago · d2d699d050 · 51 files, +578 −89

Actor v2 stage V2-4 makes files and charts (make_file, make_chart) and
stores them on OpenVibe.Media, private to the task's requester. The live
stream now says when a tool made one: a tool_result event carries
artifacts, each { kind, name, mime, url, size }. Every v1 field keeps its
name, type and meaning, so v1-shaped events still validate as v1; v1 is
deprecated with v2 as its replacement.

The url is Actor's stable link, never an expiring signed Media URL, so
the task page and a shared session can show a file later. actor.task.read
implements that link as GET /api/v1/tasks/:id/artifacts/:mediaId, which
answers a redirect to a fresh signed Media URL for the requester.

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 3247667a..e906505c 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,16 @@ 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.249.0 — 2026-10-30
++
++- **`actor.task-event@2`** (OpenVibe.Actor v2, stage V2-4): a `tool_result` event on a task's live stream now carries
++ `artifacts`: the files and charts that tool made, each `{ kind, name, mime, url, size }`, stored on OpenVibe.Media
++ private to the task's requester. `url` is Actor's stable link, which signs a fresh Media URL for the requester when
++ opened, never an expiring one. Every field of `@1` keeps its name, type and meaning; `@1` is deprecated with `@2` as
++ its replacement.
++- **`actor.task.read`** now implements `GET /api/v1/tasks/:id/artifacts/:mediaId`, a redirect to that fresh signed
++ Media URL (the same 404 for another person, an unknown id, or a file the task never made).
++
## 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
ddiff --git a/compatibility/deprecations.json b/compatibility/deprecations.json
iindex a636e4cc..d697cc42 100644
---- a/compatibility/deprecations.json
++++ b/compatibility/deprecations.json
@@@ -217,6 +217,13 @@
"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)"
++ },
++ {
++ "id": "actor.task-event@1",
++ "replacement": "actor.task-event@2",
++ "since": "0.249.0",
++ "removeAfter": "1.0.0",
++ "reason": "Actor's files and charts ride on the tool result that made them; v2 adds artifacts to that event while keeping every v1 field (Actor v2 stage V2-4, 2026-10-30)"
}
]
}
ddiff --git a/contracts/actor/task-event.v2.json b/contracts/actor/task-event.v2.json
nnew file mode 100644
iindex 00000000..80dce634
---- /dev/null
++++ b/contracts/actor/task-event.v2.json
@@@ -0,0 +1,173 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/actor/task-event.v2.json",
++ "title": "ActorTaskEvent",
++ "description": "actor.task-event@2: one event on a task's live stream (GET /api/v1/tasks/:id/events, text/event-stream; the SSE id is SEQ, so a reader resumes with Last-Event-ID). Every field of actor.task-event@1 keeps its meaning and shape: KIND is run.job-stream-event@1's three, as platform.task@1 progress names them: state (the task moved to STATE), output (one step of the agent's work: AGENT says what it is doing in TEXT, calls TOOL with a short INPUT summary, or a tool answered), end (the task ended in STATE; nothing follows). v2 adds ARTIFACTS to a tool_result: the files and charts that tool made, stored on OpenVibe.Media, private to the task's requester, each with a stable Actor link the task page and a shared session can open. Events are best-effort; the task record (GET /api/v1/tasks/:id) and its result (which carries every artifact of the run) are the source of truth.",
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "task_id",
++ "seq",
++ "kind",
++ "at"
++ ],
++ "properties": {
++ "task_id": {
++ "type": "string",
++ "pattern": "^tsk_[0-9A-HJKMNP-TV-Z]{26}$"
++ },
++ "seq": {
++ "type": "integer",
++ "minimum": 1
++ },
++ "kind": {
++ "type": "string",
++ "enum": [
++ "state",
++ "output",
++ "end"
++ ]
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ },
++ "state": {
++ "type": "string",
++ "enum": [
++ "queued",
++ "running",
++ "verifying",
++ "succeeded",
++ "failed",
++ "cancelled"
++ ]
++ },
++ "agent": {
++ "type": "string",
++ "pattern": "^[a-z][a-z0-9-]{1,63}$"
++ },
++ "step": {
++ "type": "string",
++ "enum": [
++ "plan",
++ "text",
++ "tool_call",
++ "tool_result",
++ "check",
++ "handoff"
++ ]
++ },
++ "text": {
++ "type": "string",
++ "maxLength": 8000
++ },
++ "tool": {
++ "type": "string",
++ "maxLength": 128
++ },
++ "input": {
++ "type": "string",
++ "maxLength": 2000
++ },
++ "is_error": {
++ "type": "boolean"
++ },
++ "artifacts": {
++ "type": "array",
++ "maxItems": 20,
++ "description": "The files and charts this tool made, in the order it made them. They belong to the task's requester on OpenVibe.Media; URL is Actor's stable link (GET /api/v1/tasks/:id/artifacts/:mediaId), which signs a fresh Media URL for the requester when it is opened, never an expiring signed URL. A public-chat task has no requester and makes none.",
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "kind",
++ "name",
++ "mime",
++ "url",
++ "size"
++ ],
++ "properties": {
++ "kind": {
++ "type": "string",
++ "enum": [
++ "file",
++ "chart"
++ ]
++ },
++ "name": {
++ "type": "string",
++ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
++ },
++ "mime": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 128
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "size": {
++ "type": "integer",
++ "minimum": 0
++ }
++ }
++ }
++ }
++ },
++ "allOf": [
++ {
++ "if": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ }
++ }
++ },
++ "then": {
++ "required": [
++ "step"
++ ]
++ }
++ },
++ {
++ "if": {
++ "properties": {
++ "kind": {
++ "enum": [
++ "state",
++ "end"
++ ]
++ }
++ }
++ },
++ "then": {
++ "required": [
++ "state"
++ ]
++ }
++ },
++ {
++ "if": {
++ "required": [
++ "artifacts"
++ ]
++ },
++ "then": {
++ "required": [
++ "kind",
++ "step"
++ ],
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "tool_result"
++ }
++ }
++ }
++ }
++ ]
++}
ddiff --git a/contracts/catalog.json b/contracts/catalog.json
iindex c0822b86..95f04466 100644
---- a/contracts/catalog.json
++++ b/contracts/catalog.json
@@@ -6752,6 +6752,16 @@
"status": "active",
"adr": "ADR-044"
},
++ {
++ "id": "actor.task-event",
++ "version": "2.0.0",
++ "owner": "actor",
++ "schema": "actor/task-event.v2.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-044"
++ },
{
"id": "actor.task-list-result",
"version": "1.0.0",
ddiff --git a/fixtures/actor.task-event/invalid/artifacts-on-text.json b/fixtures/actor.task-event/invalid/artifacts-on-text.json
nnew file mode 100644
iindex 00000000..f2c0d2ae
---- /dev/null
++++ b/fixtures/actor.task-event/invalid/artifacts-on-text.json
@@@ -0,0 +1,18 @@
++{
++ "task_id": "tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
++ "seq": 5,
++ "kind": "output",
++ "at": "2026-10-30T12:00:00.000Z",
++ "agent": "openvibe-runtime",
++ "step": "text",
++ "text": "Here is your chart.",
++ "artifacts": [
++ {
++ "kind": "chart",
++ "name": "revenue.svg",
++ "mime": "image/svg+xml",
++ "url": "https://openvibe.actor/api/v1/tasks/tsk_01JAB2C3D4E5F6G7H8J9K0MNPS/artifacts/med_01JAB2C3D4E5F6G7H8J9K0MNP",
++ "size": 1840
++ }
++ ]
++}
ddiff --git a/fixtures/actor.task-event/valid/tool-result-with-artifacts.json b/fixtures/actor.task-event/valid/tool-result-with-artifacts.json
nnew file mode 100644
iindex 00000000..6fd7eac4
---- /dev/null
++++ b/fixtures/actor.task-event/valid/tool-result-with-artifacts.json
@@@ -0,0 +1,26 @@
++{
++ "task_id": "tsk_01JAB2C3D4E5F6G7H8J9K0MNPS",
++ "seq": 5,
++ "kind": "output",
++ "at": "2026-10-30T12:00:00.000Z",
++ "agent": "openvibe-runtime",
++ "step": "tool_result",
++ "tool": "make_chart",
++ "text": "Drew a bar chart and attached it as revenue.svg.",
++ "artifacts": [
++ {
++ "kind": "chart",
++ "name": "revenue.svg",
++ "mime": "image/svg+xml",
++ "url": "https://openvibe.actor/api/v1/tasks/tsk_01JAB2C3D4E5F6G7H8J9K0MNPS/artifacts/med_01JAB2C3D4E5F6G7H8J9K0MNP",
++ "size": 1840
++ },
++ {
++ "kind": "file",
++ "name": "revenue.csv",
++ "mime": "text/csv",
++ "url": "https://openvibe.actor/api/v1/tasks/tsk_01JAB2C3D4E5F6G7H8J9K0MNPS/artifacts/med_01JAB2C3D4E5F6G7H8J9K0MNPR",
++ "size": 34
++ }
++ ]
++}
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex 46c14c79..753f77fc 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -78854,7 +78854,7 @@
}
}
},
-- "actor.task-event": {
++ "actor.task-event@1": {
"version": "1.0.0",
"owner": "actor",
"status": "active",
@@@ -78969,6 +78969,184 @@
]
}
},
++ "actor.task-event@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/task-event.v2.json",
++ "title": "ActorTaskEvent",
++ "description": "actor.task-event@2: one event on a task's live stream (GET /api/v1/tasks/:id/events, text/event-stream; the SSE id is SEQ, so a reader resumes with Last-Event-ID). Every field of actor.task-event@1 keeps its meaning and shape: KIND is run.job-stream-event@1's three, as platform.task@1 progress names them: state (the task moved to STATE), output (one step of the agent's work: AGENT says what it is doing in TEXT, calls TOOL with a short INPUT summary, or a tool answered), end (the task ended in STATE; nothing follows). v2 adds ARTIFACTS to a tool_result: the files and charts that tool made, stored on OpenVibe.Media, private to the task's requester, each with a stable Actor link the task page and a shared session can open. Events are best-effort; the task record (GET /api/v1/tasks/:id) and its result (which carries every artifact of the run) are the source of truth.",
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "task_id",
++ "seq",
++ "kind",
++ "at"
++ ],
++ "properties": {
++ "task_id": {
++ "type": "string",
++ "pattern": "^tsk_[0-9A-HJKMNP-TV-Z]{26}$"
++ },
++ "seq": {
++ "type": "integer",
++ "minimum": 1
++ },
++ "kind": {
++ "type": "string",
++ "enum": [
++ "state",
++ "output",
++ "end"
++ ]
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ },
++ "state": {
++ "type": "string",
++ "enum": [
++ "queued",
++ "running",
++ "verifying",
++ "succeeded",
++ "failed",
++ "cancelled"
++ ]
++ },
++ "agent": {
++ "type": "string",
++ "pattern": "^[a-z][a-z0-9-]{1,63}$"
++ },
++ "step": {
++ "type": "string",
++ "enum": [
++ "plan",
++ "text",
++ "tool_call",
++ "tool_result",
++ "check",
++ "handoff"
++ ]
++ },
++ "text": {
++ "type": "string",
++ "maxLength": 8000
++ },
++ "tool": {
++ "type": "string",
++ "maxLength": 128
++ },
++ "input": {
++ "type": "string",
++ "maxLength": 2000
++ },
++ "is_error": {
++ "type": "boolean"
++ },
++ "artifacts": {
++ "type": "array",
++ "maxItems": 20,
++ "description": "The files and charts this tool made, in the order it made them. They belong to the task's requester on OpenVibe.Media; URL is Actor's stable link (GET /api/v1/tasks/:id/artifacts/:mediaId), which signs a fresh Media URL for the requester when it is opened, never an expiring signed URL. A public-chat task has no requester and makes none.",
++ "items": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "kind",
++ "name",
++ "mime",
++ "url",
++ "size"
++ ],
++ "properties": {
++ "kind": {
++ "type": "string",
++ "enum": [
++ "file",
++ "chart"
++ ]
++ },
++ "name": {
++ "type": "string",
++ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
++ },
++ "mime": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 128
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "size": {
++ "type": "integer",
++ "minimum": 0
++ }
++ }
++ }
++ }
++ },
++ "allOf": [
++ {
++ "if": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ }
++ }
++ },
++ "then": {
++ "required": [
++ "step"
++ ]
++ }
++ },
++ {
++ "if": {
++ "properties": {
++ "kind": {
++ "enum": [
++ "state",
++ "end"
++ ]
++ }
++ }
++ },
++ "then": {
++ "required": [
++ "state"
++ ]
++ }
++ },
++ {
++ "if": {
++ "required": [
++ "artifacts"
++ ]
++ },
++ "then": {
++ "required": [
++ "kind",
++ "step"
++ ],
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "tool_result"
++ }
++ }
++ }
++ }
++ ]
++ }
++ },
"actor.task-list-result": {
"version": "1.0.0",
"owner": "actor",
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex 52c56e9a..2e8f53b9 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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"
@@@ -1348,8 +1348,8 @@
"/api/v1/tasks/{id}": {
"get": {
"operationId": "get_api_v1_tasks_id",
-- "summary": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@1 (sta",
-- "description": "**actor.task.read** (public): Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@1 (state changes, the agent's steps, the end), resumable with Last-Event-ID. Only the task's requester (or its project's tokens) can read it.",
++ "summary": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (sta",
++ "description": "**actor.task.read** (public): Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (state changes, the agent's steps, the files and charts a tool made, the end), resumable with Last-Event-ID. A file or chart the task made is opened with GET /api/v1/tasks/:id/artifacts/:mediaId, which answers a redirect to a fresh signed OpenVibe.Media URL: the object is private to the task's requester. Only the task's requester (or its project's tokens) can read it.",
"tags": [
"actor.task"
],
@@@ -1401,6 +1401,70 @@
}
}
},
++ "/api/v1/tasks/{id}/artifacts/{mediaId}": {
++ "get": {
++ "operationId": "get_api_v1_tasks_id_artifacts_mediaId",
++ "summary": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (sta",
++ "description": "**actor.task.read** (public): Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (state changes, the agent's steps, the files and charts a tool made, the end), resumable with Last-Event-ID. A file or chart the task made is opened with GET /api/v1/tasks/:id/artifacts/:mediaId, which answers a redirect to a fresh signed OpenVibe.Media URL: the object is private to the task's requester. Only the task's requester (or its project's tokens) can read it.",
++ "tags": [
++ "actor.task"
++ ],
++ "x-openvibe-capabilities": [
++ "actor.task.read"
++ ],
++ "x-openvibe-visibility": [
++ "public"
++ ],
++ "x-openvibe-quota-class": "actor-read",
++ "security": [
++ {
++ "openvibeToken": [
++ "actor.task.read"
++ ]
++ }
++ ],
++ "parameters": [
++ {
++ "name": "id",
++ "in": "path",
++ "required": true,
++ "schema": {
++ "type": "string"
++ }
++ },
++ {
++ "name": "mediaId",
++ "in": "path",
++ "required": true,
++ "schema": {
++ "type": "string"
++ }
++ }
++ ],
++ "responses": {
++ "2XX": {
++ "description": "Success",
++ "content": {
++ "application/json": {
++ "schema": {
++ "$ref": "#/components/schemas/platform.task.v1"
++ }
++ }
++ }
++ },
++ "default": {
++ "description": "An error (RFC 9457 problem details)",
++ "content": {
++ "application/problem+json": {
++ "schema": {
++ "$ref": "#/components/schemas/errors.problem.v1"
++ }
++ }
++ }
++ }
++ }
++ }
++ },
"/api/v1/tasks/{id}/cancel": {
"post": {
"operationId": "post_api_v1_tasks_id_cancel",
@@@ -1470,8 +1534,8 @@
"/api/v1/tasks/{id}/events": {
"get": {
"operationId": "get_api_v1_tasks_id_events",
-- "summary": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@1 (sta",
-- "description": "**actor.task.read** (public): Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@1 (state changes, the agent's steps, the end), resumable with Last-Event-ID. Only the task's requester (or its project's tokens) can read it.",
++ "summary": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (sta",
++ "description": "**actor.task.read** (public): Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (state changes, the agent's steps, the files and charts a tool made, the end), resumable with Last-Event-ID. A file or chart the task made is opened with GET /api/v1/tasks/:id/artifacts/:mediaId, which answers a redirect to a fresh signed OpenVibe.Media URL: the object is private to the task's requester. Only the task's requester (or its project's tokens) can read it.",
"tags": [
"actor.task"
],
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex 757c1abb..3674c42f 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 5d3a0917..d8bcfff7 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 26869dbd..fc495424 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 c6423d45..1d2872ed 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 09f5c079..6543b9ef 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 745186b6..6c2c55a9 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 ed1cb0ab..d3df926f 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 e0126aa5..87823ed7 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 b266b89b..b033abcb 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 86c3298b..4f88fc07 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 04ecb180..b8311cae 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 8582ce13..79d11351 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 5d30ddab..fce83b58 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 dbf50284..3af8e162 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 3db7b8bf..e7c2d320 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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/index.json b/generated/openapi/index.json
iindex 9008f748..f4ae5ad8 100644
---- a/generated/openapi/index.json
++++ b/generated/openapi/index.json
@@@ -5,7 +5,7 @@
"service": "actor",
"name": "OpenVibe.Actor",
"origin": "https://openvibe.actor",
-- "operations": 26,
++ "operations": 27,
"capabilities": 10
},
{
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex a0bdf785..ec9e3f11 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 73a83491..5717f72d 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 c44420b5..40f8533a 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 2ddb7454..dc052669 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 74ca718b..0586744e 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 e5e866a5..2d198aa6 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 f53090e8..5a2a9bc5 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 3c6e22d1..a7432369 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 de26e82f..14224a88 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 4ec656fc..f6b46f96 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 4781e8cc..132cc492 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 ad365a6b..5bee23f3 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 42d63b64..dc36c2b3 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 10827126..60b2cc5a 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 9837078c..cb2c693e 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 69ae9418..de710c4c 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 568939bf..408c92bc 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 22bad6f2..57e99316 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 96fb77b8..9cc2f907 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 a055a2a0..1d17d760 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 535a4543..6d0c965a 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 55166b4b..47715ce1 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 fcb4a057..e77240b5 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 3f5187ad..c314d050 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.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.",
++ "version": "0.249.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.249.0): each operation lists the capabilities it performs; a token for 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 6c0b6c56..2756f5c3 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -207109,6 +207109,8 @@ export type ActorTaskEvent = {
is_error?: boolean;
};
++/** [email protected] (owner: actor) */
++
/** [email protected] (owner: actor) */
/**
* actor.task-list-result@1: GET /api/v1/tasks (capability actor.task.list): the caller's latest tasks, newest first, and NEXT, the `before` cursor for the following page (null on the last page).
ddiff --git a/manifests/capabilities/actor.task.read.json b/manifests/capabilities/actor.task.read.json
iindex 2c117fde..cfc457f8 100644
---- a/manifests/capabilities/actor.task.read.json
++++ b/manifests/capabilities/actor.task.read.json
@@@ -4,7 +4,7 @@
"owner": "actor",
"status": "active",
"visibility": "public",
-- "description": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@1 (state changes, the agent's steps, the end), resumable with Last-Event-ID. Only the task's requester (or its project's tokens) can read it.",
++ "description": "Read one of your tasks (platform.task@1: state, result, cost, explanation) with GET /api/v1/tasks/:id, and watch it live with GET /api/v1/tasks/:id/events: text/event-stream of actor.task-event@2 (state changes, the agent's steps, the files and charts a tool made, the end), resumable with Last-Event-ID. A file or chart the task made is opened with GET /api/v1/tasks/:id/artifacts/:mediaId, which answers a redirect to a fresh signed OpenVibe.Media URL: the object is private to the task's requester. Only the task's requester (or its project's tokens) can read it.",
"inputSchema": "common.no-body@1",
"outputSchema": "platform.task@1",
"permissions": [
@@@ -18,6 +18,7 @@
"events": [],
"implementedBy": [
"GET /api/v1/tasks/:id",
-- "GET /api/v1/tasks/:id/events"
++ "GET /api/v1/tasks/:id/events",
++ "GET /api/v1/tasks/:id/artifacts/:mediaId"
]
}
ddiff --git a/package.json b/package.json
iindex 3d7f636d..ae1c6dde 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.248.0",
++ "version": "0.249.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",