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

Viewing files at commit f1f8fc237d6aCommit detailsView latest

schemas/v0.1/live_session_activation.schema.json 109 lines · 3.4 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
    "contractHash": {
80
      "type": "string",
81
      "minLength": 1
82
    },
83
    "activatedAt": {
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
    "expiresAt": {
89
      "type": "string",
90
      "format": "date-time",
91
      "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))$"
92
    }
93
  },
94
  "required": [
95
    "type",
96
    "version",
97
    "activationId",
98
    "interactionId",
99
    "agentId",
100
    "sessionId",
101
    "role",
102
    "peer",
103
    "reporting",
104
    "contractHash",
105
    "activatedAt",
106
    "expiresAt"
107
  ],
108
  "additionalProperties": false
109
}