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

Viewing files at commit 3f140fdd2001Commit detailsView latest

schemas/v0.1/agent_identity.schema.json 117 lines · 2.4 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
    "publicKey": {
14
      "type": "string",
15
      "minLength": 1
16
    },
17
    "keyId": {
18
      "type": "string",
19
      "minLength": 1
20
    },
21
    "operatorRef": {
22
      "type": "string",
23
      "minLength": 1
24
    },
25
    "assurance": {
26
      "type": "string",
27
      "enum": [
28
        "pseudonymous",
29
        "domain_associated",
30
        "organization_associated"
31
      ]
32
    },
33
    "agentVersion": {
34
      "type": "string",
35
      "minLength": 1
36
    },
37
    "capabilities": {
38
      "type": "array",
39
      "items": {
40
        "type": "string"
41
      }
42
    },
43
    "supportedProtocols": {
44
      "type": "array",
45
      "items": {
46
        "type": "string"
47
      }
48
    },
49
    "parentAgentId": {
50
      "type": "string"
51
    },
52
    "rootControllerId": {
53
      "type": "string",
54
      "minLength": 1
55
    },
56
    "revoked": {
57
      "default": false,
58
      "type": "boolean"
59
    },
60
    "provenance": {
61
      "type": "string",
62
      "enum": [
63
        "self_declared",
64
        "operator_attested",
65
        "cryptographically_verified",
66
        "domain_verified",
67
        "third_party_verified",
68
        "observed",
69
        "disputed"
70
      ]
71
    },
72
    "createdAt": {
73
      "type": "string",
74
      "format": "date-time",
75
      "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))$"
76
    },
77
    "signature": {
78
      "type": "object",
79
      "properties": {
80
        "algorithm": {
81
          "type": "string",
82
          "const": "Ed25519"
83
        },
84
        "keyId": {
85
          "type": "string",
86
          "minLength": 1
87
        },
88
        "value": {
89
          "type": "string",
90
          "minLength": 1
91
        }
92
      },
93
      "required": [
94
        "algorithm",
95
        "keyId",
96
        "value"
97
      ],
98
      "additionalProperties": false
99
    }
100
  },
101
  "required": [
102
    "protocolVersion",
103
    "agentId",
104
    "publicKey",
105
    "keyId",
106
    "operatorRef",
107
    "assurance",
108
    "agentVersion",
109
    "capabilities",
110
    "supportedProtocols",
111
    "rootControllerId",
112
    "revoked",
113
    "provenance",
114
    "createdAt"
115
  ],
116
  "additionalProperties": false
117
}