@a2a-exposed/encryption 0.0.0-stage → 0.8.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,188 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "v": {
5
+ "const": 1
6
+ },
7
+ "suite": {
8
+ "const": "HPKE-X25519-SHA256-ChaCha20Poly1305"
9
+ },
10
+ "header": {
11
+ "type": "object",
12
+ "properties": {
13
+ "from": {
14
+ "type": "object",
15
+ "properties": {
16
+ "cardUrl": {
17
+ "type": "string"
18
+ },
19
+ "identityKey": {
20
+ "type": "string",
21
+ "pattern": "^[A-Za-z0-9_-]{43}$"
22
+ },
23
+ "keyId": {
24
+ "type": "string",
25
+ "pattern": "^[A-Za-z0-9_-]{43}$"
26
+ }
27
+ },
28
+ "required": [
29
+ "cardUrl",
30
+ "identityKey",
31
+ "keyId"
32
+ ],
33
+ "additionalProperties": false
34
+ },
35
+ "to": {
36
+ "type": "object",
37
+ "properties": {
38
+ "cardUrl": {
39
+ "type": "string"
40
+ },
41
+ "identityKey": {
42
+ "type": "string",
43
+ "pattern": "^[A-Za-z0-9_-]{43}$"
44
+ },
45
+ "keyId": {
46
+ "type": "string",
47
+ "pattern": "^[A-Za-z0-9_-]{43}$"
48
+ }
49
+ },
50
+ "required": [
51
+ "cardUrl",
52
+ "identityKey",
53
+ "keyId"
54
+ ],
55
+ "additionalProperties": false
56
+ },
57
+ "contextId": {
58
+ "type": "string",
59
+ "pattern": "^[!-~]{1,200}$"
60
+ },
61
+ "messageId": {
62
+ "type": "string",
63
+ "pattern": "^[!-~]{1,200}$"
64
+ },
65
+ "taskId": {
66
+ "anyOf": [
67
+ {
68
+ "type": "null"
69
+ },
70
+ {
71
+ "type": "string",
72
+ "pattern": "^[!-~]{1,200}$"
73
+ }
74
+ ]
75
+ },
76
+ "role": {
77
+ "enum": [
78
+ "user",
79
+ "agent"
80
+ ]
81
+ },
82
+ "state": {
83
+ "anyOf": [
84
+ {
85
+ "type": "null"
86
+ },
87
+ {
88
+ "enum": [
89
+ "submitted",
90
+ "working",
91
+ "input-required",
92
+ "completed",
93
+ "failed",
94
+ "canceled",
95
+ "rejected",
96
+ "auth-required"
97
+ ]
98
+ }
99
+ ]
100
+ },
101
+ "kind": {
102
+ "enum": [
103
+ "message",
104
+ "status",
105
+ "artifact"
106
+ ]
107
+ },
108
+ "sentAt": {
109
+ "type": "string",
110
+ "pattern": "^(?:[0-9]{4}|[+-][0-9]{6})-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
111
+ },
112
+ "commitment": {
113
+ "type": "string",
114
+ "pattern": "^[A-Za-z0-9_-]{43}$"
115
+ }
116
+ },
117
+ "required": [
118
+ "from",
119
+ "to",
120
+ "contextId",
121
+ "messageId",
122
+ "taskId",
123
+ "role",
124
+ "state",
125
+ "kind",
126
+ "sentAt",
127
+ "commitment"
128
+ ],
129
+ "additionalProperties": false
130
+ },
131
+ "recipient": {
132
+ "type": "object",
133
+ "properties": {
134
+ "enc": {
135
+ "type": "string",
136
+ "pattern": "^[A-Za-z0-9_-]{43}$"
137
+ },
138
+ "ct": {
139
+ "type": "string",
140
+ "minLength": 22,
141
+ "maxLength": 409622,
142
+ "pattern": "^[A-Za-z0-9_-]+$"
143
+ }
144
+ },
145
+ "required": [
146
+ "enc",
147
+ "ct"
148
+ ],
149
+ "additionalProperties": false
150
+ },
151
+ "sender": {
152
+ "type": "object",
153
+ "properties": {
154
+ "enc": {
155
+ "type": "string",
156
+ "pattern": "^[A-Za-z0-9_-]{43}$"
157
+ },
158
+ "ct": {
159
+ "type": "string",
160
+ "minLength": 22,
161
+ "maxLength": 409622,
162
+ "pattern": "^[A-Za-z0-9_-]+$"
163
+ }
164
+ },
165
+ "required": [
166
+ "enc",
167
+ "ct"
168
+ ],
169
+ "additionalProperties": false
170
+ },
171
+ "signature": {
172
+ "type": "string",
173
+ "pattern": "^[A-Za-z0-9_-]{86}$"
174
+ }
175
+ },
176
+ "required": [
177
+ "v",
178
+ "suite",
179
+ "header",
180
+ "recipient",
181
+ "sender",
182
+ "signature"
183
+ ],
184
+ "additionalProperties": false,
185
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
186
+ "$id": "https://a2a.exposed/ext/sealed/v1/envelope.schema.json",
187
+ "description": "Primitive envelope schema. Signature, canonical bytes, timestamp freshness and exact caller binding require runtime verification. Reserved artifact kind cannot be delivered by the content profile."
188
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://a2a.exposed/ext/sealed/v1/message-carrier.schema.json",
4
+ "description": "Exact message carriers for supported 0.3 and 1.0 sealed paths. Runtime additionally compares every binding to the signed header. Assignment receipts are a separate pending schema/gate.",
5
+ "oneOf": [
6
+ {
7
+ "type": "object",
8
+ "properties": {
9
+ "kind": {
10
+ "const": "message"
11
+ },
12
+ "messageId": {
13
+ "type": "string",
14
+ "pattern": "^[!-~]{1,200}$"
15
+ },
16
+ "contextId": {
17
+ "type": "string",
18
+ "pattern": "^[!-~]{1,200}$"
19
+ },
20
+ "taskId": {
21
+ "type": "string",
22
+ "pattern": "^[!-~]{1,200}$"
23
+ },
24
+ "role": {
25
+ "enum": [
26
+ "user",
27
+ "agent"
28
+ ]
29
+ },
30
+ "parts": {
31
+ "type": "array",
32
+ "minItems": 1,
33
+ "maxItems": 1,
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "kind": {
38
+ "const": "data"
39
+ },
40
+ "data": {
41
+ "$ref": "https://a2a.exposed/ext/sealed/v1/envelope.schema.json",
42
+ "properties": {
43
+ "header": {
44
+ "properties": {
45
+ "kind": {
46
+ "enum": [
47
+ "message",
48
+ "status"
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "metadata": {
56
+ "type": "object",
57
+ "properties": {
58
+ "https://a2a.exposed/ext/sealed/v1": {
59
+ "type": "object",
60
+ "properties": {
61
+ "v": {
62
+ "const": 1
63
+ }
64
+ },
65
+ "required": [
66
+ "v"
67
+ ],
68
+ "additionalProperties": false
69
+ }
70
+ },
71
+ "required": [
72
+ "https://a2a.exposed/ext/sealed/v1"
73
+ ],
74
+ "additionalProperties": false
75
+ }
76
+ },
77
+ "required": [
78
+ "kind",
79
+ "data",
80
+ "metadata"
81
+ ],
82
+ "additionalProperties": false
83
+ }
84
+ },
85
+ "extensions": {
86
+ "type": "array",
87
+ "minItems": 1,
88
+ "maxItems": 1,
89
+ "items": {
90
+ "const": "https://a2a.exposed/ext/sealed/v1"
91
+ }
92
+ }
93
+ },
94
+ "required": [
95
+ "kind",
96
+ "messageId",
97
+ "contextId",
98
+ "role",
99
+ "parts",
100
+ "extensions"
101
+ ],
102
+ "additionalProperties": false
103
+ },
104
+ {
105
+ "type": "object",
106
+ "properties": {
107
+ "messageId": {
108
+ "type": "string",
109
+ "pattern": "^[!-~]{1,200}$"
110
+ },
111
+ "contextId": {
112
+ "type": "string",
113
+ "pattern": "^[!-~]{1,200}$"
114
+ },
115
+ "taskId": {
116
+ "type": "string",
117
+ "pattern": "^[!-~]{1,200}$"
118
+ },
119
+ "role": {
120
+ "enum": [
121
+ "ROLE_USER",
122
+ "ROLE_AGENT"
123
+ ]
124
+ },
125
+ "parts": {
126
+ "type": "array",
127
+ "minItems": 1,
128
+ "maxItems": 1,
129
+ "items": {
130
+ "type": "object",
131
+ "properties": {
132
+ "data": {
133
+ "$ref": "https://a2a.exposed/ext/sealed/v1/envelope.schema.json",
134
+ "properties": {
135
+ "header": {
136
+ "properties": {
137
+ "kind": {
138
+ "enum": [
139
+ "message",
140
+ "status"
141
+ ]
142
+ }
143
+ }
144
+ }
145
+ }
146
+ },
147
+ "metadata": {
148
+ "type": "object",
149
+ "properties": {
150
+ "https://a2a.exposed/ext/sealed/v1": {
151
+ "type": "object",
152
+ "properties": {
153
+ "v": {
154
+ "const": 1
155
+ }
156
+ },
157
+ "required": [
158
+ "v"
159
+ ],
160
+ "additionalProperties": false
161
+ }
162
+ },
163
+ "required": [
164
+ "https://a2a.exposed/ext/sealed/v1"
165
+ ],
166
+ "additionalProperties": false
167
+ }
168
+ },
169
+ "required": [
170
+ "data",
171
+ "metadata"
172
+ ],
173
+ "additionalProperties": false
174
+ }
175
+ },
176
+ "extensions": {
177
+ "type": "array",
178
+ "minItems": 1,
179
+ "maxItems": 1,
180
+ "items": {
181
+ "const": "https://a2a.exposed/ext/sealed/v1"
182
+ }
183
+ }
184
+ },
185
+ "required": [
186
+ "messageId",
187
+ "contextId",
188
+ "role",
189
+ "parts",
190
+ "extensions"
191
+ ],
192
+ "additionalProperties": false
193
+ }
194
+ ]
195
+ }
@@ -0,0 +1,197 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://a2a.exposed/ext/sealed/v1/receipt-carrier.schema.json",
4
+ "description": "Receipt-only immutable null-response control carrier; no user-supplied text. Runtime compares exact receipt and outer bindings.",
5
+ "oneOf": [
6
+ {
7
+ "type": "object",
8
+ "properties": {
9
+ "kind": {
10
+ "const": "message"
11
+ },
12
+ "messageId": {
13
+ "type": "string",
14
+ "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
15
+ },
16
+ "contextId": {
17
+ "type": "string",
18
+ "pattern": "^[!-~]{1,200}$"
19
+ },
20
+ "taskId": {
21
+ "type": "string",
22
+ "pattern": "^[!-~]{1,200}$"
23
+ },
24
+ "role": {
25
+ "const": "agent"
26
+ },
27
+ "parts": {
28
+ "type": "array",
29
+ "minItems": 1,
30
+ "maxItems": 1,
31
+ "items": {
32
+ "type": "object",
33
+ "properties": {
34
+ "kind": {
35
+ "const": "text"
36
+ },
37
+ "text": {
38
+ "const": "[encrypted request accepted]"
39
+ }
40
+ },
41
+ "required": [
42
+ "kind",
43
+ "text"
44
+ ],
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "extensions": {
49
+ "type": "array",
50
+ "minItems": 1,
51
+ "maxItems": 1,
52
+ "items": {
53
+ "const": "https://a2a.exposed/ext/sealed/v1"
54
+ }
55
+ },
56
+ "metadata": {
57
+ "type": "object",
58
+ "properties": {
59
+ "https://a2a.exposed/ext/sealed/v1": {
60
+ "type": "object",
61
+ "properties": {
62
+ "v": {
63
+ "const": 1
64
+ },
65
+ "assignment": {
66
+ "allOf": [
67
+ {
68
+ "$ref": "https://a2a.exposed/ext/sealed/v1/assignment.schema.json"
69
+ },
70
+ {
71
+ "properties": {
72
+ "responseDigest": {
73
+ "type": "null"
74
+ }
75
+ }
76
+ }
77
+ ]
78
+ }
79
+ },
80
+ "required": [
81
+ "v",
82
+ "assignment"
83
+ ],
84
+ "additionalProperties": false
85
+ }
86
+ },
87
+ "required": [
88
+ "https://a2a.exposed/ext/sealed/v1"
89
+ ],
90
+ "additionalProperties": false
91
+ }
92
+ },
93
+ "required": [
94
+ "kind",
95
+ "messageId",
96
+ "contextId",
97
+ "taskId",
98
+ "role",
99
+ "parts",
100
+ "extensions",
101
+ "metadata"
102
+ ],
103
+ "additionalProperties": false
104
+ },
105
+ {
106
+ "type": "object",
107
+ "properties": {
108
+ "messageId": {
109
+ "type": "string",
110
+ "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
111
+ },
112
+ "contextId": {
113
+ "type": "string",
114
+ "pattern": "^[!-~]{1,200}$"
115
+ },
116
+ "taskId": {
117
+ "type": "string",
118
+ "pattern": "^[!-~]{1,200}$"
119
+ },
120
+ "role": {
121
+ "const": "ROLE_AGENT"
122
+ },
123
+ "parts": {
124
+ "type": "array",
125
+ "minItems": 1,
126
+ "maxItems": 1,
127
+ "items": {
128
+ "type": "object",
129
+ "properties": {
130
+ "text": {
131
+ "const": "[encrypted request accepted]"
132
+ }
133
+ },
134
+ "required": [
135
+ "text"
136
+ ],
137
+ "additionalProperties": false
138
+ }
139
+ },
140
+ "extensions": {
141
+ "type": "array",
142
+ "minItems": 1,
143
+ "maxItems": 1,
144
+ "items": {
145
+ "const": "https://a2a.exposed/ext/sealed/v1"
146
+ }
147
+ },
148
+ "metadata": {
149
+ "type": "object",
150
+ "properties": {
151
+ "https://a2a.exposed/ext/sealed/v1": {
152
+ "type": "object",
153
+ "properties": {
154
+ "v": {
155
+ "const": 1
156
+ },
157
+ "assignment": {
158
+ "allOf": [
159
+ {
160
+ "$ref": "https://a2a.exposed/ext/sealed/v1/assignment.schema.json"
161
+ },
162
+ {
163
+ "properties": {
164
+ "responseDigest": {
165
+ "type": "null"
166
+ }
167
+ }
168
+ }
169
+ ]
170
+ }
171
+ },
172
+ "required": [
173
+ "v",
174
+ "assignment"
175
+ ],
176
+ "additionalProperties": false
177
+ }
178
+ },
179
+ "required": [
180
+ "https://a2a.exposed/ext/sealed/v1"
181
+ ],
182
+ "additionalProperties": false
183
+ }
184
+ },
185
+ "required": [
186
+ "messageId",
187
+ "contextId",
188
+ "taskId",
189
+ "role",
190
+ "parts",
191
+ "extensions",
192
+ "metadata"
193
+ ],
194
+ "additionalProperties": false
195
+ }
196
+ ]
197
+ }