ActorA2ATaskRequest actor.a2a-task-request@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
actor
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/actor/a2a-task-request.v1.json

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).

Fields

FieldTypeRequiredDescriptionConstraints
messageobjectyes
message.roleenum
  • one of "user"
message.partsarray of objectyes
  • minItems 1
  • maxItems 20
message.parts[].typeenumyes
  • one of "text"
message.parts[].textstring
  • maxLength 8000
skillIdstring
  • maxLength 64
taskIdstring
  • maxLength 64

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: one
{
  "message": {
    "role": "user",
    "parts": [
      {
        "type": "text",
        "text": "What is the weather in Paris?"
      }
    ]
  },
  "skillId": "answer"
}
Rejected: bad-part
{
  "message": {
    "role": "user",
    "parts": [
      {
        "type": "image",
        "text": "x"
      }
    ]
  }
}
Rejected: no-message
{
  "skillId": "answer"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('actor.a2a-task-request@1', value);   // { valid, errors: [{ path, message }] }