Commands extension v1
URI: https://madarauchiha-314.github.io/tiny-harness/a2a/ext/commands/v1
A message whose only part is the text /<name> <arguments>, where <name> is a registered command, runs that command on the harness instead of reaching the model. The reply arrives as the message of a re-emitted status update whose metadata is {"command": "<name>"}, plus "task_ref": "<id>" when the command created a sub-task. The task's state does not change. A /<name> that is not registered is an ordinary message.
The agent card lists the registered commands in this extension's params, so a client can offer them as completions without another request:
json
{
"uri": "https://madarauchiha-314.github.io/tiny-harness/a2a/ext/commands/v1",
"required": false,
"params": {
"commands": [
{ "name": "model", "description": "Show or choose this task's model", "argument_hint": "[<model>]" }
]
}
}Schema
json
{
"$defs": {
"CommandSpec": {
"additionalProperties": false,
"description": "What clients see on the card (R6.7). ``name`` must match ``[a-z][a-z0-9-]*``; the\nregistry enforces it.",
"properties": {
"argument_hint": {
"default": "",
"title": "Argument Hint",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"name",
"description"
],
"title": "CommandSpec",
"type": "object"
}
},
"$id": "https://madarauchiha-314.github.io/tiny-harness/a2a/ext/commands/v1/schema.json",
"additionalProperties": false,
"description": "The commands extension's card ``params``: every registered command, in registration\norder, for clients to offer as ``/`` completions (R6.7).",
"properties": {
"commands": {
"default": [],
"items": {
"$ref": "#/$defs/CommandSpec"
},
"title": "Commands",
"type": "array"
}
},
"title": "CommandsExtensionParams",
"type": "object"
}