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

Viewing files at commit cd4450c423f7Commit detailsView latest

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