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

Viewing files at commit ce192002f08aCommit detailsView latest

schemas/v0.1/source_record_envelope.schema.json 140 lines · 3.4 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "eventId": {
6
      "type": "string",
7
      "format": "uuid",
8
      "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)$"
9
    },
10
    "operatorId": {
11
      "type": "string",
12
      "minLength": 1
13
    },
14
    "kind": {
15
      "type": "string",
16
      "pattern": "^[a-z][a-z0-9_]*$"
17
    },
18
    "recordId": {
19
      "type": "string",
20
      "minLength": 1
21
    },
22
    "schemaName": {
23
      "type": "string",
24
      "minLength": 1
25
    },
26
    "schemaVersion": {
27
      "type": "string",
28
      "minLength": 1
29
    },
30
    "payload": {
31
      "$ref": "#/$defs/__schema0"
32
    },
33
    "payloadDigest": {
34
      "type": "string",
35
      "pattern": "^[a-zA-Z0-9_-]{43}$"
36
    },
37
    "entityRefs": {
38
      "default": {},
39
      "type": "object",
40
      "propertyNames": {
41
        "type": "string"
42
      },
43
      "additionalProperties": {
44
        "type": "string",
45
        "minLength": 1
46
      }
47
    },
48
    "provenance": {
49
      "type": "string",
50
      "enum": [
51
        "self_declared",
52
        "operator_attested",
53
        "cryptographically_verified",
54
        "domain_verified",
55
        "third_party_verified",
56
        "observed",
57
        "disputed"
58
      ]
59
    },
60
    "visibility": {
61
      "type": "string",
62
      "enum": [
63
        "local_only",
64
        "private_requester",
65
        "private_responder",
66
        "shared_participants",
67
        "network_aggregate"
68
      ]
69
    },
70
    "retentionClass": {
71
      "type": "string",
72
      "enum": ["account", "audit", "operational", "temporary"]
73
    },
74
    "learningScope": {
75
      "type": "string",
76
      "enum": ["not_evaluated", "excluded", "local_only", "network_aggregate"]
77
    },
78
    "reportedAt": {
79
      "type": "string",
80
      "format": "date-time",
81
      "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))$"
82
    },
83
    "ingestedAt": {
84
      "type": "string",
85
      "format": "date-time",
86
      "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))$"
87
    }
88
  },
89
  "required": [
90
    "eventId",
91
    "operatorId",
92
    "kind",
93
    "recordId",
94
    "schemaName",
95
    "schemaVersion",
96
    "payload",
97
    "payloadDigest",
98
    "entityRefs",
99
    "provenance",
100
    "visibility",
101
    "retentionClass",
102
    "learningScope",
103
    "reportedAt",
104
    "ingestedAt"
105
  ],
106
  "additionalProperties": false,
107
  "$defs": {
108
    "__schema0": {
109
      "anyOf": [
110
        {
111
          "type": "string"
112
        },
113
        {
114
          "type": "number"
115
        },
116
        {
117
          "type": "boolean"
118
        },
119
        {
120
          "type": "null"
121
        },
122
        {
123
          "type": "array",
124
          "items": {
125
            "$ref": "#/$defs/__schema0"
126
          }
127
        },
128
        {
129
          "type": "object",
130
          "propertyNames": {
131
            "type": "string"
132
          },
133
          "additionalProperties": {
134
            "$ref": "#/$defs/__schema0"
135
          }
136
        }
137
      ]
138
    }
139
  }
140
}