openvibers/openvibe.contracts Commits
0.253.0: A2A for OpenVibe.Actor (actor.a2a.task) (#261)
Changes
@@@ -1,5 +1,14 @@# Changelog++## 0.253.0 — 2026-10-30++++- **A2A for OpenVibe.Actor** (Actor v2 stage V2-11). New capability `actor.a2a.task` (owner `actor`, active,++ first-party, sensitive): a Network service token with it may hand Actor one agent-to-agent task++ (`POST /a2a/v1/tasks`, the A2A message shape: text parts, an optional skill). The task runs under the person's++ allowance, budget and allow-list, exactly like a task they started; anonymous callers get 401 and a token++ without the capability 403. The agent card is `/.well-known/agent.json`.++- **Two additive v1 contracts** (new files, no existing schema changed): `actor.a2a-task-request@1` and++ `actor.a2a-task-result@1`.## 0.252.0 — 2026-10-30- **Memory M2 capabilities and contracts** (OpenVibe.AI; plan `OpenVibe_Memory_Plan_2026-10-30.md`, specnnew file mode 100644@@@ -0,0 +1,60 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/actor/a2a-task-request.v1.json",++ "title": "ActorA2ATaskRequest",++ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "message"++ ],++ "properties": {++ "message": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "parts"++ ],++ "properties": {++ "role": {++ "type": "string",++ "enum": [++ "user"++ ]++ },++ "parts": {++ "type": "array",++ "minItems": 1,++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "type"++ ],++ "properties": {++ "type": {++ "type": "string",++ "enum": [++ "text"++ ]++ },++ "text": {++ "type": "string",++ "maxLength": 8000++ }++ }++ }++ }++ }++ },++ "skillId": {++ "type": "string",++ "maxLength": 64++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ }++ }++}nnew file mode 100644@@@ -0,0 +1,39 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/actor/a2a-task-result.v1.json",++ "title": "ActorA2ATaskResult",++ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "id",++ "state"++ ],++ "properties": {++ "id": {++ "type": "string",++ "maxLength": 64++ },++ "state": {++ "type": "string",++ "enum": [++ "submitted",++ "working",++ "completed",++ "failed"++ ]++ },++ "answer": {++ "type": "string",++ "maxLength": 20000++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ },++ "error": {++ "type": "string",++ "maxLength": 500++ }++ }++}@@@ -6742,6 +6742,24 @@"compatibility": "backward","status": "active"},++ {++ "id": "actor.a2a-task-request",++ "version": "1.0.0",++ "owner": "actor",++ "schema": "actor/a2a-task-request.v1.json",++ "visibility": "first-party",++ "compatibility": "backward",++ "status": "active"++ },++ {++ "id": "actor.a2a-task-result",++ "version": "1.0.0",++ "owner": "actor",++ "schema": "actor/a2a-task-result.v1.json",++ "visibility": "first-party",++ "compatibility": "backward",++ "status": "active"++ },{"id": "actor.task-event","version": "1.0.0",nnew file mode 100644@@@ -0,0 +1,11 @@++{++ "message": {++ "role": "user",++ "parts": [++ {++ "type": "image",++ "text": "x"++ }++ ]++ }++}nnew file mode 100644@@@ -0,0 +1,3 @@++{++ "skillId": "answer"++}nnew file mode 100644@@@ -0,0 +1,12 @@++{++ "message": {++ "role": "user",++ "parts": [++ {++ "type": "text",++ "text": "What is the weather in Paris?"++ }++ ]++ },++ "skillId": "answer"++}nnew file mode 100644@@@ -0,0 +1,4 @@++{++ "id": "a2a_1",++ "state": "maybe"++}nnew file mode 100644@@@ -0,0 +1,6 @@++{++ "id": "a2a_1",++ "state": "completed",++ "answer": "Sunny, 21 °C.",++ "taskId": "tsk_1"++}@@@ -78913,6 +78913,115 @@}}},++ "actor.a2a-task-request": {++ "version": "1.0.0",++ "owner": "actor",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/actor/a2a-task-request.v1.json",++ "title": "ActorA2ATaskRequest",++ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "message"++ ],++ "properties": {++ "message": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "parts"++ ],++ "properties": {++ "role": {++ "type": "string",++ "enum": [++ "user"++ ]++ },++ "parts": {++ "type": "array",++ "minItems": 1,++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "type"++ ],++ "properties": {++ "type": {++ "type": "string",++ "enum": [++ "text"++ ]++ },++ "text": {++ "type": "string",++ "maxLength": 8000++ }++ }++ }++ }++ }++ },++ "skillId": {++ "type": "string",++ "maxLength": 64++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ }++ }++ }++ },++ "actor.a2a-task-result": {++ "version": "1.0.0",++ "owner": "actor",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/actor/a2a-task-result.v1.json",++ "title": "ActorA2ATaskResult",++ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "id",++ "state"++ ],++ "properties": {++ "id": {++ "type": "string",++ "maxLength": 64++ },++ "state": {++ "type": "string",++ "enum": [++ "submitted",++ "working",++ "completed",++ "failed"++ ]++ },++ "answer": {++ "type": "string",++ "maxLength": 20000++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ },++ "error": {++ "type": "string",++ "maxLength": 500++ }++ }++ }++ },"actor.task-event@1": {"version": "1.0.0","owner": "actor",@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for 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"@@@ -16,6 +16,183 @@}],"paths": {++ "/a2a/v1/tasks": {++ "post": {++ "operationId": "post_a2a_v1_tasks",++ "summary": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill.",++ "description": "**actor.a2a.task** (first-party): Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",++ "tags": [++ "actor.a2a"++ ],++ "x-openvibe-capabilities": [++ "actor.a2a.task"++ ],++ "x-openvibe-visibility": [++ "first-party"++ ],++ "x-openvibe-quota-class": "actor-task",++ "security": [++ {++ "openvibeToken": [++ "actor.a2a.task"++ ]++ }++ ],++ "requestBody": {++ "required": false,++ "content": {++ "application/json": {++ "schema": {++ "$ref": "#/components/schemas/actor.a2a-task-request.v1"++ }++ }++ }++ },++ "responses": {++ "2XX": {++ "description": "Success",++ "content": {++ "application/json": {++ "schema": {++ "$ref": "#/components/schemas/actor.a2a-task-result.v1"++ }++ }++ }++ },++ "default": {++ "description": "An error (RFC 9457 problem details)",++ "content": {++ "application/problem+json": {++ "schema": {++ "$ref": "#/components/schemas/errors.problem.v1"++ }++ }++ }++ }++ }++ }++ },++ "/a2a/v1/tasks/{id}": {++ "get": {++ "operationId": "get_a2a_v1_tasks_id",++ "summary": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill.",++ "description": "**actor.a2a.task** (first-party): Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",++ "tags": [++ "actor.a2a"++ ],++ "x-openvibe-capabilities": [++ "actor.a2a.task"++ ],++ "x-openvibe-visibility": [++ "first-party"++ ],++ "x-openvibe-quota-class": "actor-task",++ "security": [++ {++ "openvibeToken": [++ "actor.a2a.task"++ ]++ }++ ],++ "x-openvibe-input": {++ "$ref": "#/components/schemas/actor.a2a-task-request.v1"++ },++ "parameters": [++ {++ "name": "id",++ "in": "path",++ "required": true,++ "schema": {++ "type": "string"++ }++ },++ {++ "name": "message",++ "in": "query",++ "required": true,++ "schema": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "parts"++ ],++ "properties": {++ "role": {++ "type": "string",++ "enum": [++ "user"++ ]++ },++ "parts": {++ "type": "array",++ "minItems": 1,++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "type"++ ],++ "properties": {++ "type": {++ "type": "string",++ "enum": [++ "text"++ ]++ },++ "text": {++ "type": "string",++ "maxLength": 8000++ }++ }++ }++ }++ }++ }++ },++ {++ "name": "skillId",++ "in": "query",++ "required": false,++ "schema": {++ "type": "string",++ "maxLength": 64++ }++ },++ {++ "name": "taskId",++ "in": "query",++ "required": false,++ "schema": {++ "type": "string",++ "maxLength": 64++ }++ }++ ],++ "responses": {++ "2XX": {++ "description": "Success",++ "content": {++ "application/json": {++ "schema": {++ "$ref": "#/components/schemas/actor.a2a-task-result.v1"++ }++ }++ }++ },++ "default": {++ "description": "An error (RFC 9457 problem details)",++ "content": {++ "application/problem+json": {++ "schema": {++ "$ref": "#/components/schemas/errors.problem.v1"++ }++ }++ }++ }++ }++ }++ },"/api/v1/actions": {"get": {"operationId": "get_api_v1_actions",@@@ -1590,6 +1767,101 @@},"components": {"schemas": {++ "actor.a2a-task-request.v1": {++ "title": "ActorA2ATaskRequest",++ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "message"++ ],++ "properties": {++ "message": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "parts"++ ],++ "properties": {++ "role": {++ "type": "string",++ "enum": [++ "user"++ ]++ },++ "parts": {++ "type": "array",++ "minItems": 1,++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": true,++ "required": [++ "type"++ ],++ "properties": {++ "type": {++ "type": "string",++ "enum": [++ "text"++ ]++ },++ "text": {++ "type": "string",++ "maxLength": 8000++ }++ }++ }++ }++ }++ },++ "skillId": {++ "type": "string",++ "maxLength": 64++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ }++ }++ },++ "actor.a2a-task-result.v1": {++ "title": "ActorA2ATaskResult",++ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "id",++ "state"++ ],++ "properties": {++ "id": {++ "type": "string",++ "maxLength": 64++ },++ "state": {++ "type": "string",++ "enum": [++ "submitted",++ "working",++ "completed",++ "failed"++ ]++ },++ "answer": {++ "type": "string",++ "maxLength": 20000++ },++ "taskId": {++ "type": "string",++ "maxLength": 64++ },++ "error": {++ "type": "string",++ "maxLength": 500++ }++ }++ },"actor.agent-list-result.v2": {"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.",@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.AI API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bench API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Billing API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Blog API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bot API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Chat API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Codes API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Community API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Coupons API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Deals API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Domains API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Events API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Food API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Games API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Host API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for 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"@@@ -5,8 +5,8 @@"service": "actor","name": "OpenVibe.Actor","origin": "https://openvibe.actor",-- "operations": 27,-- "capabilities": 10++ "operations": 29,++ "capabilities": 11},{"service": "ai",@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Inventory API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Live API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.MediaHub API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Media API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Network API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.News API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenRestream API",-- "version": "0.252.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Play API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Quest API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Reviews API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Run API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Search API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Services API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Sources API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Space API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tips API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tools API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Trade API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.VIP API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Vision API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Watch API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Wiki API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Work API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Zone API",-- "version": "0.252.0",-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for 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"@@@ -256092,6 +256092,1126 @@ export interface ActorAgentRunRequest {input?: string;}++/** [email protected] (owner: actor) */++/**++ * actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).++ */++export interface ActorA2ATaskRequest {++ message: {++ role?: "user";++ /**++ * @minItems 1++ * @maxItems 20++ */++ parts:++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ]++ | [++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ },++ {++ type: "text";++ text?: string;++ [k: string]: unknown | undefined;++ }++ ];++ [k: string]: unknown | undefined;++ };++ skillId?: string;++ taskId?: string;++}++++/** [email protected] (owner: actor) */++/**++ * actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.++ */++export interface ActorA2ATaskResult {++ id: string;++ state: "submitted" | "working" | "completed" | "failed";++ answer?: string;++ taskId?: string;++ error?: string;++}++/** [email protected] (owner: actor) *//*** actor.task-event@1: 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). 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, or calls TOOL with a short INPUT summary, or a tool answered), end (the task ended in STATE; nothing follows). Events are best-effort; the task record (GET /api/v1/tasks/:id) is the source of truth.nnew file mode 100644@@@ -0,0 +1,23 @@++{++ "id": "actor.a2a.task",++ "version": "1.0",++ "owner": "actor",++ "status": "active",++ "visibility": "first-party",++ "sensitive": true,++ "description": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",++ "inputSchema": "actor.a2a-task-request@1",++ "outputSchema": "actor.a2a-task-result@1",++ "permissions": [++ "actor:tasks:create"++ ],++ "resourceConstraints": [++ "owner"++ ],++ "quotaClass": "actor-task",++ "events": [],++ "implementedBy": [++ "POST /a2a/v1/tasks",++ "GET /a2a/v1/tasks/:id"++ ]++}@@@ -25,7 +25,8 @@"actor.agent.manage","actor.agent.run","actor.actions.read",-- "actor.approval.decide"++ "actor.approval.decide",++ "actor.a2a.task"],"eventsProduced": [],"eventsConsumed": [@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.252.0",++ "version": "0.253.0","description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.","main": "index.js","types": "generated/typescript/index.d.ts",
@@ -1,5 +1,14 @@
@@ -1,5 +1,14 @@
# Changelog
# Changelog
+## 0.253.0 — 2026-10-30
+
+- **A2A for OpenVibe.Actor** (Actor v2 stage V2-11). New capability `actor.a2a.task` (owner `actor`, active,
+ first-party, sensitive): a Network service token with it may hand Actor one agent-to-agent task
+ (`POST /a2a/v1/tasks`, the A2A message shape: text parts, an optional skill). The task runs under the person's
+ allowance, budget and allow-list, exactly like a task they started; anonymous callers get 401 and a token
+ without the capability 403. The agent card is `/.well-known/agent.json`.
+- **Two additive v1 contracts** (new files, no existing schema changed): `actor.a2a-task-request@1` and
+ `actor.a2a-task-result@1`.
## 0.252.0 — 2026-10-30
## 0.252.0 — 2026-10-30
- **Memory M2 capabilities and contracts** (OpenVibe.AI; plan `OpenVibe_Memory_Plan_2026-10-30.md`, spec
- **Memory M2 capabilities and contracts** (OpenVibe.AI; plan `OpenVibe_Memory_Plan_2026-10-30.md`, spec
new file mode 100644
new file mode 100644
@@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/actor/a2a-task-request.v1.json",
+ "title": "ActorA2ATaskRequest",
+ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "parts"
+ ],
+ "properties": {
+ "role": {
+ "type": "string",
+ "enum": [
+ "user"
+ ]
+ },
+ "parts": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "text"
+ ]
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 8000
+ }
+ }
+ }
+ }
+ }
+ },
+ "skillId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ }
+ }
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/actor/a2a-task-result.v1.json",
+ "title": "ActorA2ATaskResult",
+ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "state"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "submitted",
+ "working",
+ "completed",
+ "failed"
+ ]
+ },
+ "answer": {
+ "type": "string",
+ "maxLength": 20000
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "error": {
+ "type": "string",
+ "maxLength": 500
+ }
+ }
+}
@@ -6742,6 +6742,24 @@
@@ -6742,6 +6742,24 @@
"compatibility": "backward",
"compatibility": "backward",
"status": "active"
"status": "active"
},
},
+ {
+ "id": "actor.a2a-task-request",
+ "version": "1.0.0",
+ "owner": "actor",
+ "schema": "actor/a2a-task-request.v1.json",
+ "visibility": "first-party",
+ "compatibility": "backward",
+ "status": "active"
+ },
+ {
+ "id": "actor.a2a-task-result",
+ "version": "1.0.0",
+ "owner": "actor",
+ "schema": "actor/a2a-task-result.v1.json",
+ "visibility": "first-party",
+ "compatibility": "backward",
+ "status": "active"
+ },
{
{
"id": "actor.task-event",
"id": "actor.task-event",
"version": "1.0.0",
"version": "1.0.0",
new file mode 100644
new file mode 100644
@@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
+{
+ "message": {
+ "role": "user",
+ "parts": [
+ {
+ "type": "image",
+ "text": "x"
+ }
+ ]
+ }
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
+{
+ "skillId": "answer"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
+{
+ "message": {
+ "role": "user",
+ "parts": [
+ {
+ "type": "text",
+ "text": "What is the weather in Paris?"
+ }
+ ]
+ },
+ "skillId": "answer"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
+{
+ "id": "a2a_1",
+ "state": "maybe"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
+{
+ "id": "a2a_1",
+ "state": "completed",
+ "answer": "Sunny, 21 °C.",
+ "taskId": "tsk_1"
+}
@@ -78913,6 +78913,115 @@
@@ -78913,6 +78913,115 @@
}
}
}
}
},
},
+ "actor.a2a-task-request": {
+ "version": "1.0.0",
+ "owner": "actor",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/actor/a2a-task-request.v1.json",
+ "title": "ActorA2ATaskRequest",
+ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "parts"
+ ],
+ "properties": {
+ "role": {
+ "type": "string",
+ "enum": [
+ "user"
+ ]
+ },
+ "parts": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "text"
+ ]
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 8000
+ }
+ }
+ }
+ }
+ }
+ },
+ "skillId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ }
+ }
+ }
+ },
+ "actor.a2a-task-result": {
+ "version": "1.0.0",
+ "owner": "actor",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/actor/a2a-task-result.v1.json",
+ "title": "ActorA2ATaskResult",
+ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "state"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "submitted",
+ "working",
+ "completed",
+ "failed"
+ ]
+ },
+ "answer": {
+ "type": "string",
+ "maxLength": 20000
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "error": {
+ "type": "string",
+ "maxLength": 500
+ }
+ }
+ }
+ },
"actor.task-event@1": {
"actor.task-event@1": {
"version": "1.0.0",
"version": "1.0.0",
"owner": "actor",
"owner": "actor",
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Actor API",
"title": "OpenVibe.Actor API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -16,6 +16,183 @@
@@ -16,6 +16,183 @@
}
}
],
],
"paths": {
"paths": {
+ "/a2a/v1/tasks": {
+ "post": {
+ "operationId": "post_a2a_v1_tasks",
+ "summary": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill.",
+ "description": "**actor.a2a.task** (first-party): Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",
+ "tags": [
+ "actor.a2a"
+ ],
+ "x-openvibe-capabilities": [
+ "actor.a2a.task"
+ ],
+ "x-openvibe-visibility": [
+ "first-party"
+ ],
+ "x-openvibe-quota-class": "actor-task",
+ "security": [
+ {
+ "openvibeToken": [
+ "actor.a2a.task"
+ ]
+ }
+ ],
+ "requestBody": {
+ "required": false,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/actor.a2a-task-request.v1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "2XX": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/actor.a2a-task-result.v1"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "An error (RFC 9457 problem details)",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/errors.problem.v1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a2a/v1/tasks/{id}": {
+ "get": {
+ "operationId": "get_a2a_v1_tasks_id",
+ "summary": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill.",
+ "description": "**actor.a2a.task** (first-party): Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",
+ "tags": [
+ "actor.a2a"
+ ],
+ "x-openvibe-capabilities": [
+ "actor.a2a.task"
+ ],
+ "x-openvibe-visibility": [
+ "first-party"
+ ],
+ "x-openvibe-quota-class": "actor-task",
+ "security": [
+ {
+ "openvibeToken": [
+ "actor.a2a.task"
+ ]
+ }
+ ],
+ "x-openvibe-input": {
+ "$ref": "#/components/schemas/actor.a2a-task-request.v1"
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "message",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "parts"
+ ],
+ "properties": {
+ "role": {
+ "type": "string",
+ "enum": [
+ "user"
+ ]
+ },
+ "parts": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "text"
+ ]
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 8000
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "skillId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "maxLength": 64
+ }
+ },
+ {
+ "name": "taskId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "maxLength": 64
+ }
+ }
+ ],
+ "responses": {
+ "2XX": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/actor.a2a-task-result.v1"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "An error (RFC 9457 problem details)",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/errors.problem.v1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/api/v1/actions": {
"/api/v1/actions": {
"get": {
"get": {
"operationId": "get_api_v1_actions",
"operationId": "get_api_v1_actions",
@@ -1590,6 +1767,101 @@
@@ -1590,6 +1767,101 @@
},
},
"components": {
"components": {
"schemas": {
"schemas": {
+ "actor.a2a-task-request.v1": {
+ "title": "ActorA2ATaskRequest",
+ "description": "actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "parts"
+ ],
+ "properties": {
+ "role": {
+ "type": "string",
+ "enum": [
+ "user"
+ ]
+ },
+ "parts": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "text"
+ ]
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 8000
+ }
+ }
+ }
+ }
+ }
+ },
+ "skillId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ }
+ }
+ },
+ "actor.a2a-task-result.v1": {
+ "title": "ActorA2ATaskResult",
+ "description": "actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "state"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "submitted",
+ "working",
+ "completed",
+ "failed"
+ ]
+ },
+ "answer": {
+ "type": "string",
+ "maxLength": 20000
+ },
+ "taskId": {
+ "type": "string",
+ "maxLength": 64
+ },
+ "error": {
+ "type": "string",
+ "maxLength": 500
+ }
+ }
+ },
"actor.agent-list-result.v2": {
"actor.agent-list-result.v2": {
"title": "ActorAgentListResult",
"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.",
"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.",
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.AI API",
"title": "OpenVibe.AI API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bench API",
"title": "OpenVibe.Bench API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Billing API",
"title": "OpenVibe.Billing API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Blog API",
"title": "OpenVibe.Blog API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bot API",
"title": "OpenVibe.Bot API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Chat API",
"title": "OpenVibe.Chat API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Codes API",
"title": "OpenVibe.Codes API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Community API",
"title": "OpenVibe.Community API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Coupons API",
"title": "OpenVibe.Coupons API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Deals API",
"title": "OpenVibe.Deals API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Domains API",
"title": "OpenVibe.Domains API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Events API",
"title": "OpenVibe.Events API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Food API",
"title": "OpenVibe.Food API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Games API",
"title": "OpenVibe.Games API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Host API",
"title": "OpenVibe.Host API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -5,8 +5,8 @@
@@ -5,8 +5,8 @@
"service": "actor",
"service": "actor",
"name": "OpenVibe.Actor",
"name": "OpenVibe.Actor",
"origin": "https://openvibe.actor",
"origin": "https://openvibe.actor",
- "operations": 27,
- "capabilities": 10
+ "operations": 29,
+ "capabilities": 11
},
},
{
{
"service": "ai",
"service": "ai",
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Inventory API",
"title": "OpenVibe.Inventory API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Live API",
"title": "OpenVibe.Live API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.MediaHub API",
"title": "OpenVibe.MediaHub API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Media API",
"title": "OpenVibe.Media API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Network API",
"title": "OpenVibe.Network API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.News API",
"title": "OpenVibe.News API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenRestream API",
"title": "OpenRestream API",
- "version": "0.252.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Play API",
"title": "OpenVibe.Play API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Quest API",
"title": "OpenVibe.Quest API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Reviews API",
"title": "OpenVibe.Reviews API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Run API",
"title": "OpenVibe.Run API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Search API",
"title": "OpenVibe.Search API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Services API",
"title": "OpenVibe.Services API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Sources API",
"title": "OpenVibe.Sources API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Space API",
"title": "OpenVibe.Space API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tips API",
"title": "OpenVibe.Tips API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tools API",
"title": "OpenVibe.Tools API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Trade API",
"title": "OpenVibe.Trade API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.VIP API",
"title": "OpenVibe.VIP API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Vision API",
"title": "OpenVibe.Vision API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Watch API",
"title": "OpenVibe.Watch API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Wiki API",
"title": "OpenVibe.Wiki API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Work API",
"title": "OpenVibe.Work API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Zone API",
"title": "OpenVibe.Zone API",
- "version": "0.252.0",
- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.252.0): each operation lists the capabilities it performs; a token for 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.253.0",
+ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.253.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -256092,6 +256092,1126 @@ export interface ActorAgentRunRequest {
@@ -256092,6 +256092,1126 @@ export interface ActorAgentRunRequest {
input?: string;
input?: string;
}
}
+/** [email protected] (owner: actor) */
+/**
+ * actor.a2a-task-request@1: POST /a2a/v1/tasks gives OpenVibe.Actor one A2A task (the Agent2Agent shape: a message with text parts, an optional skill and an optional id to continue). The caller is a Network service token with the capability actor.a2a.task acting for a person (X-OV-Subject); the task runs under that person's allowance and allow-list, exactly like a task they started. Answered 201 with the A2A task (actor.a2a-task-result@1).
+ */
+export interface ActorA2ATaskRequest {
+ message: {
+ role?: "user";
+ /**
+ * @minItems 1
+ * @maxItems 20
+ */
+ parts:
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ]
+ | [
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ },
+ {
+ type: "text";
+ text?: string;
+ [k: string]: unknown | undefined;
+ }
+ ];
+ [k: string]: unknown | undefined;
+ };
+ skillId?: string;
+ taskId?: string;
+}
+
+/** [email protected] (owner: actor) */
+/**
+ * actor.a2a-task-result@1: the A2A task OpenVibe.Actor accepted or answered: its id, its state (submitted, working, completed, failed), the text answer when it has one and the id of the Actor task behind it. Never a credential.
+ */
+export interface ActorA2ATaskResult {
+ id: string;
+ state: "submitted" | "working" | "completed" | "failed";
+ answer?: string;
+ taskId?: string;
+ error?: string;
+}
+
/** [email protected] (owner: actor) */
/** [email protected] (owner: actor) */
/**
/**
* actor.task-event@1: 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). 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, or calls TOOL with a short INPUT summary, or a tool answered), end (the task ended in STATE; nothing follows). Events are best-effort; the task record (GET /api/v1/tasks/:id) is the source of truth.
* actor.task-event@1: 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). 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, or calls TOOL with a short INPUT summary, or a tool answered), end (the task ended in STATE; nothing follows). Events are best-effort; the task record (GET /api/v1/tasks/:id) is the source of truth.
new file mode 100644
new file mode 100644
@@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
+{
+ "id": "actor.a2a.task",
+ "version": "1.0",
+ "owner": "actor",
+ "status": "active",
+ "visibility": "first-party",
+ "sensitive": true,
+ "description": "Give OpenVibe.Actor one A2A (agent-to-agent) task: POST /a2a/v1/tasks with a message (text parts) and an optional skill. The caller is a Network service token with this capability acting for a person (X-OV-Subject); the task runs under that person's allowance, budget and allow-list, exactly like a task they started, and answers with the A2A task (actor.a2a-task-result@1). The agent card is /.well-known/agent.json. Anonymous callers are refused (401) and a token without this capability is refused (403).",
+ "inputSchema": "actor.a2a-task-request@1",
+ "outputSchema": "actor.a2a-task-result@1",
+ "permissions": [
+ "actor:tasks:create"
+ ],
+ "resourceConstraints": [
+ "owner"
+ ],
+ "quotaClass": "actor-task",
+ "events": [],
+ "implementedBy": [
+ "POST /a2a/v1/tasks",
+ "GET /a2a/v1/tasks/:id"
+ ]
+}
@@ -25,7 +25,8 @@
@@ -25,7 +25,8 @@
"actor.agent.manage",
"actor.agent.manage",
"actor.agent.run",
"actor.agent.run",
"actor.actions.read",
"actor.actions.read",
- "actor.approval.decide"
+ "actor.approval.decide",
+ "actor.a2a.task"
],
],
"eventsProduced": [],
"eventsProduced": [],
"eventsConsumed": [
"eventsConsumed": [
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.252.0",
+ "version": "0.253.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"main": "index.js",
"types": "generated/typescript/index.d.ts",
"types": "generated/typescript/index.d.ts",