@groundnuty/macf-channel-server 0.2.28 → 0.2.33

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,437 @@
1
+ /**
2
+ * A2A v1.0 protocol types for inbound JSON-RPC `message/send` handling.
3
+ *
4
+ * Hand-rolled Zod schemas per A2A v1.0 spec sections:
5
+ * - § 4.1.1 Task
6
+ * - § 4.1.2 TaskStatus
7
+ * - § 4.1.3 TaskState (8-state enum, SCREAMING_SNAKE_CASE)
8
+ * - § 4.1.4 Message
9
+ * - § 4.1.5 Part (OneOf semantics: text | file | data; v1.0 dropped the `kind` discriminator per Appendix A.2.1)
10
+ * - § 9 JSON-RPC Protocol Binding (method `"message/send"`)
11
+ *
12
+ * **SDK choice**: continuing hand-rolled (per Phase 1 #370 + #385 decision).
13
+ * `@a2a-js/sdk` is still v0.3.13 (A2A v0.3 target); v1.0 not released.
14
+ * Re-evaluate at Phase 3 (outbound A2A) when the bidirectional surface
15
+ * pushes the build-vs-buy delta further.
16
+ *
17
+ * **Verified against spec text**: 2026-05-19 via a2a-protocol.org WebFetch.
18
+ * Section references in JSDoc above each schema preserve the citation
19
+ * trail for future re-verification.
20
+ *
21
+ * **macf#390 Phase 2a scope**: full 8-state TaskState enum + Message
22
+ * schema + Part text-variant; happy-path SUBMITTED → WORKING → COMPLETED.
23
+ * INPUT_REQUIRED / AUTH_REQUIRED transitions + file/data Part variants
24
+ * declared in types but exercised in Phase 2b.
25
+ */
26
+ import { z } from 'zod';
27
+ export declare const TaskStateSchema: z.ZodEnum<{
28
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
29
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
30
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
31
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
32
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
33
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
34
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
35
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
36
+ }>;
37
+ export type TaskState = z.infer<typeof TaskStateSchema>;
38
+ /** Terminal states — no further transitions allowed once entered. */
39
+ export declare const TERMINAL_TASK_STATES: ReadonlySet<TaskState>;
40
+ /** Interrupted states — task pauses awaiting client follow-up via `Message.taskId`. */
41
+ export declare const INTERRUPTED_TASK_STATES: ReadonlySet<TaskState>;
42
+ export declare const RoleSchema: z.ZodEnum<{
43
+ ROLE_USER: "ROLE_USER";
44
+ ROLE_AGENT: "ROLE_AGENT";
45
+ }>;
46
+ export type Role = z.infer<typeof RoleSchema>;
47
+ export declare const PartSchema: z.ZodUnion<readonly [z.ZodObject<{
48
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
+ filename: z.ZodOptional<z.ZodString>;
50
+ mediaType: z.ZodOptional<z.ZodString>;
51
+ text: z.ZodString;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
54
+ filename: z.ZodOptional<z.ZodString>;
55
+ mediaType: z.ZodOptional<z.ZodString>;
56
+ raw: z.ZodString;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
+ filename: z.ZodOptional<z.ZodString>;
60
+ mediaType: z.ZodOptional<z.ZodString>;
61
+ url: z.ZodString;
62
+ }, z.core.$strip>, z.ZodObject<{
63
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
64
+ filename: z.ZodOptional<z.ZodString>;
65
+ mediaType: z.ZodOptional<z.ZodString>;
66
+ data: z.ZodUnknown;
67
+ }, z.core.$strip>]>;
68
+ export type Part = z.infer<typeof PartSchema>;
69
+ export declare const MessageSchema: z.ZodObject<{
70
+ messageId: z.ZodString;
71
+ role: z.ZodEnum<{
72
+ ROLE_USER: "ROLE_USER";
73
+ ROLE_AGENT: "ROLE_AGENT";
74
+ }>;
75
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
76
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
77
+ filename: z.ZodOptional<z.ZodString>;
78
+ mediaType: z.ZodOptional<z.ZodString>;
79
+ text: z.ZodString;
80
+ }, z.core.$strip>, z.ZodObject<{
81
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
82
+ filename: z.ZodOptional<z.ZodString>;
83
+ mediaType: z.ZodOptional<z.ZodString>;
84
+ raw: z.ZodString;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
+ filename: z.ZodOptional<z.ZodString>;
88
+ mediaType: z.ZodOptional<z.ZodString>;
89
+ url: z.ZodString;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
92
+ filename: z.ZodOptional<z.ZodString>;
93
+ mediaType: z.ZodOptional<z.ZodString>;
94
+ data: z.ZodUnknown;
95
+ }, z.core.$strip>]>>;
96
+ contextId: z.ZodOptional<z.ZodString>;
97
+ taskId: z.ZodOptional<z.ZodString>;
98
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
99
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ }, z.core.$strip>;
102
+ export type Message = z.infer<typeof MessageSchema>;
103
+ export declare const TaskStatusSchema: z.ZodObject<{
104
+ state: z.ZodEnum<{
105
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
106
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
107
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
108
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
109
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
110
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
111
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
112
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
113
+ }>;
114
+ message: z.ZodOptional<z.ZodObject<{
115
+ messageId: z.ZodString;
116
+ role: z.ZodEnum<{
117
+ ROLE_USER: "ROLE_USER";
118
+ ROLE_AGENT: "ROLE_AGENT";
119
+ }>;
120
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
121
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
122
+ filename: z.ZodOptional<z.ZodString>;
123
+ mediaType: z.ZodOptional<z.ZodString>;
124
+ text: z.ZodString;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
127
+ filename: z.ZodOptional<z.ZodString>;
128
+ mediaType: z.ZodOptional<z.ZodString>;
129
+ raw: z.ZodString;
130
+ }, z.core.$strip>, z.ZodObject<{
131
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
132
+ filename: z.ZodOptional<z.ZodString>;
133
+ mediaType: z.ZodOptional<z.ZodString>;
134
+ url: z.ZodString;
135
+ }, z.core.$strip>, z.ZodObject<{
136
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
137
+ filename: z.ZodOptional<z.ZodString>;
138
+ mediaType: z.ZodOptional<z.ZodString>;
139
+ data: z.ZodUnknown;
140
+ }, z.core.$strip>]>>;
141
+ contextId: z.ZodOptional<z.ZodString>;
142
+ taskId: z.ZodOptional<z.ZodString>;
143
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
144
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
145
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
146
+ }, z.core.$strip>>;
147
+ timestamp: z.ZodOptional<z.ZodString>;
148
+ }, z.core.$strip>;
149
+ export type TaskStatus = z.infer<typeof TaskStatusSchema>;
150
+ export declare const TaskSchema: z.ZodObject<{
151
+ id: z.ZodString;
152
+ status: z.ZodObject<{
153
+ state: z.ZodEnum<{
154
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
155
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
156
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
157
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
158
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
159
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
160
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
161
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
162
+ }>;
163
+ message: z.ZodOptional<z.ZodObject<{
164
+ messageId: z.ZodString;
165
+ role: z.ZodEnum<{
166
+ ROLE_USER: "ROLE_USER";
167
+ ROLE_AGENT: "ROLE_AGENT";
168
+ }>;
169
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
170
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
171
+ filename: z.ZodOptional<z.ZodString>;
172
+ mediaType: z.ZodOptional<z.ZodString>;
173
+ text: z.ZodString;
174
+ }, z.core.$strip>, z.ZodObject<{
175
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
176
+ filename: z.ZodOptional<z.ZodString>;
177
+ mediaType: z.ZodOptional<z.ZodString>;
178
+ raw: z.ZodString;
179
+ }, z.core.$strip>, z.ZodObject<{
180
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
181
+ filename: z.ZodOptional<z.ZodString>;
182
+ mediaType: z.ZodOptional<z.ZodString>;
183
+ url: z.ZodString;
184
+ }, z.core.$strip>, z.ZodObject<{
185
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
186
+ filename: z.ZodOptional<z.ZodString>;
187
+ mediaType: z.ZodOptional<z.ZodString>;
188
+ data: z.ZodUnknown;
189
+ }, z.core.$strip>]>>;
190
+ contextId: z.ZodOptional<z.ZodString>;
191
+ taskId: z.ZodOptional<z.ZodString>;
192
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
193
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
195
+ }, z.core.$strip>>;
196
+ timestamp: z.ZodOptional<z.ZodString>;
197
+ }, z.core.$strip>;
198
+ contextId: z.ZodOptional<z.ZodString>;
199
+ history: z.ZodOptional<z.ZodArray<z.ZodObject<{
200
+ messageId: z.ZodString;
201
+ role: z.ZodEnum<{
202
+ ROLE_USER: "ROLE_USER";
203
+ ROLE_AGENT: "ROLE_AGENT";
204
+ }>;
205
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
206
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
207
+ filename: z.ZodOptional<z.ZodString>;
208
+ mediaType: z.ZodOptional<z.ZodString>;
209
+ text: z.ZodString;
210
+ }, z.core.$strip>, z.ZodObject<{
211
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
212
+ filename: z.ZodOptional<z.ZodString>;
213
+ mediaType: z.ZodOptional<z.ZodString>;
214
+ raw: z.ZodString;
215
+ }, z.core.$strip>, z.ZodObject<{
216
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
217
+ filename: z.ZodOptional<z.ZodString>;
218
+ mediaType: z.ZodOptional<z.ZodString>;
219
+ url: z.ZodString;
220
+ }, z.core.$strip>, z.ZodObject<{
221
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
222
+ filename: z.ZodOptional<z.ZodString>;
223
+ mediaType: z.ZodOptional<z.ZodString>;
224
+ data: z.ZodUnknown;
225
+ }, z.core.$strip>]>>;
226
+ contextId: z.ZodOptional<z.ZodString>;
227
+ taskId: z.ZodOptional<z.ZodString>;
228
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
229
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
230
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
231
+ }, z.core.$strip>>>;
232
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
233
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
234
+ }, z.core.$strip>;
235
+ export type Task = z.infer<typeof TaskSchema>;
236
+ /** JSON-RPC 2.0 request envelope. `id` is required for `message/send` (not a notification). */
237
+ export declare const JsonRpcRequestSchema: z.ZodObject<{
238
+ jsonrpc: z.ZodLiteral<"2.0">;
239
+ method: z.ZodString;
240
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
241
+ params: z.ZodOptional<z.ZodUnknown>;
242
+ }, z.core.$strip>;
243
+ export type JsonRpcRequest = z.infer<typeof JsonRpcRequestSchema>;
244
+ /** Params for `message/send` — wraps a Message. */
245
+ export declare const MessageSendParamsSchema: z.ZodObject<{
246
+ message: z.ZodObject<{
247
+ messageId: z.ZodString;
248
+ role: z.ZodEnum<{
249
+ ROLE_USER: "ROLE_USER";
250
+ ROLE_AGENT: "ROLE_AGENT";
251
+ }>;
252
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
253
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
254
+ filename: z.ZodOptional<z.ZodString>;
255
+ mediaType: z.ZodOptional<z.ZodString>;
256
+ text: z.ZodString;
257
+ }, z.core.$strip>, z.ZodObject<{
258
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
259
+ filename: z.ZodOptional<z.ZodString>;
260
+ mediaType: z.ZodOptional<z.ZodString>;
261
+ raw: z.ZodString;
262
+ }, z.core.$strip>, z.ZodObject<{
263
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
264
+ filename: z.ZodOptional<z.ZodString>;
265
+ mediaType: z.ZodOptional<z.ZodString>;
266
+ url: z.ZodString;
267
+ }, z.core.$strip>, z.ZodObject<{
268
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
269
+ filename: z.ZodOptional<z.ZodString>;
270
+ mediaType: z.ZodOptional<z.ZodString>;
271
+ data: z.ZodUnknown;
272
+ }, z.core.$strip>]>>;
273
+ contextId: z.ZodOptional<z.ZodString>;
274
+ taskId: z.ZodOptional<z.ZodString>;
275
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
276
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
277
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
278
+ }, z.core.$strip>;
279
+ configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
280
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
281
+ }, z.core.$strip>;
282
+ export type MessageSendParams = z.infer<typeof MessageSendParamsSchema>;
283
+ /** Params for `tasks/get` + `tasks/cancel`. Accepts `{ id }` or proto-canonical `{ name: "tasks/{id}" }`. */
284
+ export declare const TaskIdParamsSchema: z.ZodObject<{
285
+ id: z.ZodOptional<z.ZodString>;
286
+ name: z.ZodOptional<z.ZodString>;
287
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
288
+ }, z.core.$strip>;
289
+ export type TaskIdParams = z.infer<typeof TaskIdParamsSchema>;
290
+ /**
291
+ * Resolve a TaskIdParams to the bare task id. `id` takes precedence
292
+ * over `name`; if only `name` is present, strip the `tasks/` resource
293
+ * prefix per the proto canonical mapping. Returns `undefined` if
294
+ * neither was present (the refine should have rejected, but defensive).
295
+ */
296
+ export declare function resolveTaskId(params: TaskIdParams): string | undefined;
297
+ /**
298
+ * JSON-RPC 2.0 success response envelope. `result` for `message/send`
299
+ * is either a Task or a Message per spec § 9.4.1 — Phase 2a always
300
+ * returns a Task (synchronous happy-path COMPLETED).
301
+ */
302
+ export declare const JsonRpcSuccessResponseSchema: z.ZodObject<{
303
+ jsonrpc: z.ZodLiteral<"2.0">;
304
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
305
+ result: z.ZodObject<{
306
+ id: z.ZodString;
307
+ status: z.ZodObject<{
308
+ state: z.ZodEnum<{
309
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
310
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
311
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
312
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
313
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
314
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
315
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
316
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
317
+ }>;
318
+ message: z.ZodOptional<z.ZodObject<{
319
+ messageId: z.ZodString;
320
+ role: z.ZodEnum<{
321
+ ROLE_USER: "ROLE_USER";
322
+ ROLE_AGENT: "ROLE_AGENT";
323
+ }>;
324
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
325
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
326
+ filename: z.ZodOptional<z.ZodString>;
327
+ mediaType: z.ZodOptional<z.ZodString>;
328
+ text: z.ZodString;
329
+ }, z.core.$strip>, z.ZodObject<{
330
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
331
+ filename: z.ZodOptional<z.ZodString>;
332
+ mediaType: z.ZodOptional<z.ZodString>;
333
+ raw: z.ZodString;
334
+ }, z.core.$strip>, z.ZodObject<{
335
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
336
+ filename: z.ZodOptional<z.ZodString>;
337
+ mediaType: z.ZodOptional<z.ZodString>;
338
+ url: z.ZodString;
339
+ }, z.core.$strip>, z.ZodObject<{
340
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
341
+ filename: z.ZodOptional<z.ZodString>;
342
+ mediaType: z.ZodOptional<z.ZodString>;
343
+ data: z.ZodUnknown;
344
+ }, z.core.$strip>]>>;
345
+ contextId: z.ZodOptional<z.ZodString>;
346
+ taskId: z.ZodOptional<z.ZodString>;
347
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
348
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
350
+ }, z.core.$strip>>;
351
+ timestamp: z.ZodOptional<z.ZodString>;
352
+ }, z.core.$strip>;
353
+ contextId: z.ZodOptional<z.ZodString>;
354
+ history: z.ZodOptional<z.ZodArray<z.ZodObject<{
355
+ messageId: z.ZodString;
356
+ role: z.ZodEnum<{
357
+ ROLE_USER: "ROLE_USER";
358
+ ROLE_AGENT: "ROLE_AGENT";
359
+ }>;
360
+ parts: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
361
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
362
+ filename: z.ZodOptional<z.ZodString>;
363
+ mediaType: z.ZodOptional<z.ZodString>;
364
+ text: z.ZodString;
365
+ }, z.core.$strip>, z.ZodObject<{
366
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
367
+ filename: z.ZodOptional<z.ZodString>;
368
+ mediaType: z.ZodOptional<z.ZodString>;
369
+ raw: z.ZodString;
370
+ }, z.core.$strip>, z.ZodObject<{
371
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
372
+ filename: z.ZodOptional<z.ZodString>;
373
+ mediaType: z.ZodOptional<z.ZodString>;
374
+ url: z.ZodString;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
377
+ filename: z.ZodOptional<z.ZodString>;
378
+ mediaType: z.ZodOptional<z.ZodString>;
379
+ data: z.ZodUnknown;
380
+ }, z.core.$strip>]>>;
381
+ contextId: z.ZodOptional<z.ZodString>;
382
+ taskId: z.ZodOptional<z.ZodString>;
383
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
384
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
385
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
386
+ }, z.core.$strip>>>;
387
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
388
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
389
+ }, z.core.$strip>;
390
+ }, z.core.$strip>;
391
+ export type JsonRpcSuccessResponse = z.infer<typeof JsonRpcSuccessResponseSchema>;
392
+ /**
393
+ * JSON-RPC 2.0 error envelope. Per A2A v1.0 spec § 9 (and v1.0 change
394
+ * notes), errors use the `google.rpc.Status` representation with
395
+ * `ErrorInfo` extensions: `reason` in UPPER_SNAKE_CASE + domain
396
+ * `"a2a-protocol.org"`.
397
+ *
398
+ * Standard JSON-RPC `code`/`message` + `data.reason`/`data.domain` for
399
+ * the A2A-specific reason classification.
400
+ */
401
+ export declare const JsonRpcErrorResponseSchema: z.ZodObject<{
402
+ jsonrpc: z.ZodLiteral<"2.0">;
403
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
404
+ error: z.ZodObject<{
405
+ code: z.ZodNumber;
406
+ message: z.ZodString;
407
+ data: z.ZodOptional<z.ZodObject<{
408
+ reason: z.ZodOptional<z.ZodString>;
409
+ domain: z.ZodOptional<z.ZodString>;
410
+ }, z.core.$loose>>;
411
+ }, z.core.$strip>;
412
+ }, z.core.$strip>;
413
+ export type JsonRpcErrorResponse = z.infer<typeof JsonRpcErrorResponseSchema>;
414
+ /** JSON-RPC 2.0 standard error codes. */
415
+ export declare const JSONRPC_PARSE_ERROR = -32700;
416
+ export declare const JSONRPC_INVALID_REQUEST = -32600;
417
+ export declare const JSONRPC_METHOD_NOT_FOUND = -32601;
418
+ export declare const JSONRPC_INVALID_PARAMS = -32602;
419
+ export declare const JSONRPC_INTERNAL_ERROR = -32603;
420
+ /** A2A-specific reason codes (UPPER_SNAKE_CASE per v1.0 § 9 ErrorInfo). */
421
+ export declare const A2A_ERROR_DOMAIN = "a2a-protocol.org";
422
+ export declare const A2A_REASON_INVALID_MESSAGE = "INVALID_MESSAGE";
423
+ export declare const A2A_REASON_TASK_NOT_FOUND = "TASK_NOT_FOUND";
424
+ export declare const A2A_REASON_METHOD_NOT_SUPPORTED = "METHOD_NOT_SUPPORTED";
425
+ /** Resume attempted against a terminal task (COMPLETED/FAILED/CANCELED/REJECTED) — macf#392 Phase 2b. */
426
+ export declare const A2A_REASON_TASK_TERMINAL_STATE = "TASK_TERMINAL_STATE";
427
+ /** Resume attempted with non-resumable from-state (only INPUT_REQUIRED + AUTH_REQUIRED accept resume) — macf#392 Phase 2b. */
428
+ export declare const A2A_REASON_TASK_NOT_RESUMABLE = "TASK_NOT_RESUMABLE";
429
+ /** Canonical JSON-RPC method string for the inbound message exchange (spec § 9 examples). */
430
+ export declare const A2A_METHOD_MESSAGE_SEND = "message/send";
431
+ /** Canonical JSON-RPC method string for task lookup (macf#398 Phase 2d). */
432
+ export declare const A2A_METHOD_TASKS_GET = "tasks/get";
433
+ /** Canonical JSON-RPC method string for task cancellation (macf#398 Phase 2d). */
434
+ export declare const A2A_METHOD_TASKS_CANCEL = "tasks/cancel";
435
+ /** Canonical AgentCard.url path for this server's A2A endpoint. */
436
+ export declare const A2A_ENDPOINT_PATH = "/a2a/v1";
437
+ //# sourceMappingURL=a2a-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-types.d.ts","sourceRoot":"","sources":["../src/a2a-types.ts"],"names":[],"mappings":"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"}