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
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
message | object | yes | ||
message.role | enum |
| ||
message.parts | array of object | yes |
| |
message.parts[].type | enum | yes |
| |
message.parts[].text | string |
| ||
skillId | string |
| ||
taskId | string |
|
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 }] }