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

Viewing files at commit 32cfcb5542e9Commit detailsView latest

schemas/v0.1/live_session_activation.schema.json 138 lines · 4.1 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "type": {
6
      "type": "string",
7
      "const": "openclasp.session.activation"
8
    },
9
    "version": {
10
      "type": "string",
11
      "const": "1"
12
    },
13
    "activationId": {
14
      "type": "string",
15
      "format": "uuid",
16
      "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)$"
17
    },
18
    "interactionId": {
19
      "type": "string",
20
      "format": "uuid",
21
      "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)$"
22
    },
23
    "agentId": {
24
      "type": "string",
25
      "minLength": 1
26
    },
27
    "sessionId": {
28
      "type": "string",
29
      "format": "uuid",
30
      "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)$"
31
    },
32
    "role": {
33
      "type": "string",
34
      "enum": ["initiator", "responder"]
35
    },
36
    "peer": {
37
      "type": "object",
38
      "properties": {
39
        "agentId": {
40
          "type": "string",
41
          "minLength": 1
42
        },
43
        "sessionId": {
44
          "type": "string",
45
          "format": "uuid",
46
          "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)$"
47
        },
48
        "endpoint": {
49
          "type": "string",
50
          "format": "uri"
51
        },
52
        "bearerToken": {
53
          "type": "string",
54
          "minLength": 1
55
        },
56
        "verificationKey": {
57
          "type": "string",
58
          "minLength": 1
59
        }
60
      },
61
      "required": ["agentId", "sessionId", "endpoint", "bearerToken", "verificationKey"],
62
      "additionalProperties": false
63
    },
64
    "reporting": {
65
      "type": "object",
66
      "properties": {
67
        "endpoint": {
68
          "type": "string",
69
          "format": "uri"
70
        },
71
        "bearerToken": {
72
          "type": "string",
73
          "minLength": 1
74
        }
75
      },
76
      "required": ["endpoint", "bearerToken"],
77
      "additionalProperties": false
78
    },
79
    "privateInsights": {
80
      "type": "array",
81
      "items": {
82
        "type": "object",
83
        "properties": {
84
          "code": {
85
            "type": "string",
86
            "minLength": 1
87
          },
88
          "severity": {
89
            "type": "string",
90
            "enum": ["info", "caution", "high"]
91
          },
92
          "message": {
93
            "type": "string",
94
            "minLength": 1
95
          },
96
          "evidenceReferences": {
97
            "default": [],
98
            "type": "array",
99
            "items": {
100
              "type": "string"
101
            }
102
          }
103
        },
104
        "required": ["code", "severity", "message", "evidenceReferences"],
105
        "additionalProperties": false
106
      }
107
    },
108
    "contractHash": {
109
      "type": "string",
110
      "minLength": 1
111
    },
112
    "activatedAt": {
113
      "type": "string",
114
      "format": "date-time",
115
      "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))$"
116
    },
117
    "expiresAt": {
118
      "type": "string",
119
      "format": "date-time",
120
      "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))$"
121
    }
122
  },
123
  "required": [
124
    "type",
125
    "version",
126
    "activationId",
127
    "interactionId",
128
    "agentId",
129
    "sessionId",
130
    "role",
131
    "peer",
132
    "reporting",
133
    "contractHash",
134
    "activatedAt",
135
    "expiresAt"
136
  ],
137
  "additionalProperties": false
138
}