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

Viewing files at commit 132dee380109Commit detailsView latest

schemas/v0.1/interaction_event.schema.json 123 lines · 3.0 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
    "eventId": {
10
      "type": "string",
11
      "format": "uuid",
12
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
13
    },
14
    "interactionId": {
15
      "type": "string",
16
      "format": "uuid",
17
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
18
    },
19
    "eventType": {
20
      "type": "string",
21
      "enum": [
22
        "claim",
23
        "evidence",
24
        "constraint",
25
        "commitment",
26
        "proposal",
27
        "objection",
28
        "policy_warning",
29
        "policy_violation",
30
        "private_suggestion",
31
        "shared_intervention",
32
        "delegation",
33
        "task_result",
34
        "resolution",
35
        "receipt",
36
        "feedback",
37
        "dispute"
38
      ]
39
    },
40
    "agentId": {
41
      "type": "string"
42
    },
43
    "agentVersion": {
44
      "type": "string"
45
    },
46
    "timestamp": {
47
      "type": "string",
48
      "format": "date-time",
49
      "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))$"
50
    },
51
    "visibility": {
52
      "type": "string",
53
      "enum": [
54
        "local_only",
55
        "private_requester",
56
        "private_responder",
57
        "shared_participants",
58
        "network_aggregate"
59
      ]
60
    },
61
    "provenance": {
62
      "type": "string",
63
      "enum": [
64
        "self_declared",
65
        "operator_attested",
66
        "cryptographically_verified",
67
        "domain_verified",
68
        "third_party_verified",
69
        "observed",
70
        "disputed"
71
      ]
72
    },
73
    "payloadHash": {
74
      "type": "string"
75
    },
76
    "payload": {
77
      "type": "object",
78
      "propertyNames": {
79
        "type": "string"
80
      },
81
      "additionalProperties": {}
82
    },
83
    "evidenceRefs": {
84
      "type": "array",
85
      "items": {
86
        "type": "string"
87
      }
88
    },
89
    "signature": {
90
      "type": "object",
91
      "properties": {
92
        "algorithm": {
93
          "type": "string",
94
          "const": "Ed25519"
95
        },
96
        "keyId": {
97
          "type": "string",
98
          "minLength": 1
99
        },
100
        "value": {
101
          "type": "string",
102
          "minLength": 1
103
        }
104
      },
105
      "required": ["algorithm", "keyId", "value"],
106
      "additionalProperties": false
107
    }
108
  },
109
  "required": [
110
    "protocolVersion",
111
    "eventId",
112
    "interactionId",
113
    "eventType",
114
    "agentId",
115
    "agentVersion",
116
    "timestamp",
117
    "visibility",
118
    "provenance",
119
    "payloadHash",
120
    "payload"
121
  ],
122
  "additionalProperties": false
123
}