aura-protocol
Version:
Core TypeScript definitions and JSON Schema for the AURA protocol - making websites machine-readable for AI agents
170 lines • 4.17 kB
JSON
{
"description": "Capability - Self-executing contract with concrete action\nNow includes versioning and HttpAction definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"title": "id"
},
"v": {
"type": "number",
"title": "v"
},
"description": {
"type": "string",
"title": "description"
},
"parameters": {
"description": "JSONSchema - A simplified JSON Schema definition\nRepresents the structure for capability parameters",
"$ref": "#/definitions/JSONSchema",
"title": "parameters"
},
"action": {
"$ref": "#/definitions/HttpAction",
"title": "action"
}
},
"required": [
"action",
"description",
"id",
"v"
],
"definitions": {
"JSONSchema": {
"description": "JSONSchema - A simplified JSON Schema definition\nRepresents the structure for capability parameters",
"title": "JSONSchema",
"type": "object",
"properties": {
"type": {
"type": "string",
"title": "type"
},
"properties": {
"$ref": "#/definitions/Record<string,JSONSchema>",
"title": "properties"
},
"required": {
"type": "array",
"items": {
"type": "string"
},
"title": "required"
},
"items": {
"description": "JSONSchema - A simplified JSON Schema definition\nRepresents the structure for capability parameters",
"$ref": "#/definitions/JSONSchema",
"title": "items"
},
"format": {
"type": "string",
"title": "format"
},
"minimum": {
"type": "number",
"title": "minimum"
},
"maximum": {
"type": "number",
"title": "maximum"
},
"minLength": {
"type": "number",
"title": "minLength"
},
"maxLength": {
"type": "number",
"title": "maxLength"
},
"pattern": {
"type": "string",
"title": "pattern"
},
"enum": {
"type": "array",
"items": {},
"title": "enum"
},
"default": {
"title": "default"
},
"description": {
"type": "string",
"title": "description"
},
"title": {
"type": "string",
"title": "title"
},
"additionalProperties": {
"anyOf": [
{
"$ref": "#/definitions/JSONSchema"
},
{
"type": "boolean"
}
],
"title": "additionalProperties"
}
}
},
"Record<string,JSONSchema>": {
"title": "Record<string,JSONSchema>",
"type": "object"
},
"HttpAction": {
"description": "HttpAction - Defines how to execute a capability via HTTP\nIncludes security, encoding, and parameter mapping",
"title": "HttpAction",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "HTTP",
"title": "type"
},
"method": {
"enum": [
"DELETE",
"GET",
"POST",
"PUT"
],
"type": "string",
"title": "method"
},
"urlTemplate": {
"type": "string",
"title": "urlTemplate"
},
"cors": {
"type": "boolean",
"title": "cors"
},
"encoding": {
"enum": [
"json",
"query"
],
"type": "string",
"title": "encoding"
},
"parameterMapping": {
"$ref": "#/definitions/Record<string,string>",
"title": "parameterMapping"
}
},
"required": [
"method",
"parameterMapping",
"type",
"urlTemplate"
]
},
"Record<string,string>": {
"title": "Record<string,string>",
"type": "object"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}