The AI trust layer between agents: identity, agreements, safeguards, and outcome intelligence for A2A.

Viewing files at commit 18afdc33bab8Commit detailsView latest

schemas/v0.1/public_agent_card.schema.json 108 lines · 2.6 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "protocolVersion": {
6
      "type": "string",
7
      "const": "0.1"
8
    },
9
    "agentId": {
10
      "type": "string",
11
      "minLength": 1
12
    },
13
    "name": {
14
      "type": "string",
15
      "minLength": 1
16
    },
17
    "description": {
18
      "type": "string"
19
    },
20
    "framework": {
21
      "type": "string",
22
      "minLength": 1
23
    },
24
    "agentVersion": {
25
      "type": "string",
26
      "minLength": 1
27
    },
28
    "capabilities": {
29
      "type": "array",
30
      "items": {
31
        "type": "string"
32
      }
33
    },
34
    "limitations": {
35
      "type": "array",
36
      "items": {
37
        "type": "string"
38
      }
39
    },
40
    "assurance": {
41
      "type": "string",
42
      "enum": ["oauth_authenticated", "cryptographically_verified"]
43
    },
44
    "transports": {
45
      "type": "array",
46
      "items": {
47
        "type": "object",
48
        "properties": {
49
          "protocol": {
50
            "type": "string",
51
            "const": "A2A/1.0"
52
          },
53
          "protocolBinding": {
54
            "default": "JSONRPC",
55
            "type": "string",
56
            "minLength": 1
57
          },
58
          "endpoint": {
59
            "type": "string",
60
            "format": "uri"
61
          }
62
        },
63
        "required": ["protocol", "protocolBinding", "endpoint"],
64
        "additionalProperties": false
65
      }
66
    },
67
    "cardUrl": {
68
      "type": "string",
69
      "format": "uri"
70
    },
71
    "a2aAgentCardUrl": {
72
      "type": "string",
73
      "format": "uri"
74
    },
75
    "extensionUri": {
76
      "type": "string",
77
      "format": "uri"
78
    },
79
    "publishedAt": {
80
      "type": "string",
81
      "format": "date-time",
82
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
83
    },
84
    "updatedAt": {
85
      "type": "string",
86
      "format": "date-time",
87
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
88
    }
89
  },
90
  "required": [
91
    "protocolVersion",
92
    "agentId",
93
    "name",
94
    "description",
95
    "framework",
96
    "agentVersion",
97
    "capabilities",
98
    "limitations",
99
    "assurance",
100
    "transports",
101
    "cardUrl",
102
    "a2aAgentCardUrl",
103
    "extensionUri",
104
    "publishedAt",
105
    "updatedAt"
106
  ],
107
  "additionalProperties": false
108
}