@groundnuty/macf-channel-server 0.2.27 → 0.2.32
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.
- package/dist/a2a-client.d.ts +85 -0
- package/dist/a2a-client.d.ts.map +1 -0
- package/dist/a2a-client.js +381 -0
- package/dist/a2a-client.js.map +1 -0
- package/dist/a2a-task.d.ts +135 -0
- package/dist/a2a-task.d.ts.map +1 -0
- package/dist/a2a-task.js +297 -0
- package/dist/a2a-task.js.map +1 -0
- package/dist/a2a-types.d.ts +437 -0
- package/dist/a2a-types.d.ts.map +1 -0
- package/dist/a2a-types.js +286 -0
- package/dist/a2a-types.js.map +1 -0
- package/dist/agent-card.d.ts +93 -26
- package/dist/agent-card.d.ts.map +1 -1
- package/dist/agent-card.js +122 -29
- package/dist/agent-card.js.map +1 -1
- package/dist/https.d.ts +12 -0
- package/dist/https.d.ts.map +1 -1
- package/dist/https.js +389 -3
- package/dist/https.js.map +1 -1
- package/dist/notify-peer.d.ts +8 -0
- package/dist/notify-peer.d.ts.map +1 -1
- package/dist/notify-peer.js +141 -1
- package/dist/notify-peer.js.map +1 -1
- package/dist/server.js +24 -3
- package/dist/server.js.map +1 -1
- package/dist/tracing.d.ts +4 -0
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +10 -0
- package/dist/tracing.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,286 @@
|
|
|
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
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// TaskState — § 4.1.3 (SCREAMING_SNAKE_CASE per v1.0 enum convention)
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
export const TaskStateSchema = z.enum([
|
|
31
|
+
'TASK_STATE_SUBMITTED',
|
|
32
|
+
'TASK_STATE_WORKING',
|
|
33
|
+
'TASK_STATE_INPUT_REQUIRED',
|
|
34
|
+
'TASK_STATE_AUTH_REQUIRED',
|
|
35
|
+
'TASK_STATE_COMPLETED',
|
|
36
|
+
'TASK_STATE_FAILED',
|
|
37
|
+
'TASK_STATE_CANCELED',
|
|
38
|
+
'TASK_STATE_REJECTED',
|
|
39
|
+
]);
|
|
40
|
+
/** Terminal states — no further transitions allowed once entered. */
|
|
41
|
+
export const TERMINAL_TASK_STATES = new Set([
|
|
42
|
+
'TASK_STATE_COMPLETED',
|
|
43
|
+
'TASK_STATE_FAILED',
|
|
44
|
+
'TASK_STATE_CANCELED',
|
|
45
|
+
'TASK_STATE_REJECTED',
|
|
46
|
+
]);
|
|
47
|
+
/** Interrupted states — task pauses awaiting client follow-up via `Message.taskId`. */
|
|
48
|
+
export const INTERRUPTED_TASK_STATES = new Set([
|
|
49
|
+
'TASK_STATE_INPUT_REQUIRED',
|
|
50
|
+
'TASK_STATE_AUTH_REQUIRED',
|
|
51
|
+
]);
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Role — § 4.1.4 (SCREAMING_SNAKE_CASE per v1.0)
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
export const RoleSchema = z.enum(['ROLE_USER', 'ROLE_AGENT']);
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Part — § 4.1.5 + canonical proto (spec/a2a.proto)
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
//
|
|
60
|
+
// Per the canonical proto (single authoritative source per spec § 1.4 —
|
|
61
|
+
// "spec/a2a.proto is the single authoritative normative definition"):
|
|
62
|
+
//
|
|
63
|
+
// message Part {
|
|
64
|
+
// oneof content {
|
|
65
|
+
// string text = 1;
|
|
66
|
+
// bytes raw = 2;
|
|
67
|
+
// string url = 3;
|
|
68
|
+
// google.protobuf.Value data = 4;
|
|
69
|
+
// }
|
|
70
|
+
// google.protobuf.Struct metadata = 5;
|
|
71
|
+
// string filename = 6;
|
|
72
|
+
// string media_type = 7;
|
|
73
|
+
// }
|
|
74
|
+
//
|
|
75
|
+
// Four `oneof content` variants (text / raw / url / data) — exactly one
|
|
76
|
+
// present. Optional top-level `metadata` + `filename` + `mediaType`
|
|
77
|
+
// (NOT inside a nested FilePart wrapper; v1.0 flattened the v0.3 shape).
|
|
78
|
+
//
|
|
79
|
+
// JSON wire-form names per protobuf-to-JSON canonical mapping:
|
|
80
|
+
// - `media_type` (proto snake_case) → `mediaType` (JSON camelCase)
|
|
81
|
+
// - `filename` → `filename` (single word, no transform)
|
|
82
|
+
// - `raw` is `bytes` in the proto → base64-encoded string on JSON wire
|
|
83
|
+
// - `data` is `google.protobuf.Value` → arbitrary JSON value
|
|
84
|
+
//
|
|
85
|
+
// Encoded as `z.union` of 4 separate variants (matching the proto's
|
|
86
|
+
// oneof discipline) rather than a single object with refine — clearer
|
|
87
|
+
// type discrimination for downstream consumers.
|
|
88
|
+
//
|
|
89
|
+
// Phase 2a only exercises the text variant; declaring the full proto
|
|
90
|
+
// shape so Phase 2b / Phase 3 don't need to refactor.
|
|
91
|
+
/** Shared optional fields present on all Part variants per proto §§ 5–7. */
|
|
92
|
+
const PartCommonFields = {
|
|
93
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
94
|
+
filename: z.string().optional(),
|
|
95
|
+
mediaType: z.string().optional(),
|
|
96
|
+
};
|
|
97
|
+
const TextPartSchema = z.object({
|
|
98
|
+
text: z.string(),
|
|
99
|
+
...PartCommonFields,
|
|
100
|
+
});
|
|
101
|
+
const RawPartSchema = z.object({
|
|
102
|
+
raw: z.string(), // base64-encoded bytes per proto3 JSON mapping
|
|
103
|
+
...PartCommonFields,
|
|
104
|
+
});
|
|
105
|
+
const UrlPartSchema = z.object({
|
|
106
|
+
url: z.string(),
|
|
107
|
+
...PartCommonFields,
|
|
108
|
+
});
|
|
109
|
+
// `data: z.unknown()` would accept undefined (Zod treats z.unknown as
|
|
110
|
+
// also-undefined), making empty objects pass DataPartSchema spuriously.
|
|
111
|
+
// The refine pins the key-presence requirement so the union correctly
|
|
112
|
+
// rejects `{}` + `{ filename: '...' }`-only inputs.
|
|
113
|
+
const DataPartSchema = z
|
|
114
|
+
.object({
|
|
115
|
+
data: z.unknown(),
|
|
116
|
+
...PartCommonFields,
|
|
117
|
+
})
|
|
118
|
+
.refine((obj) => Object.prototype.hasOwnProperty.call(obj, 'data'), {
|
|
119
|
+
message: 'Part: `data` property must be present (oneof discriminator)',
|
|
120
|
+
});
|
|
121
|
+
export const PartSchema = z.union([
|
|
122
|
+
TextPartSchema,
|
|
123
|
+
RawPartSchema,
|
|
124
|
+
UrlPartSchema,
|
|
125
|
+
DataPartSchema,
|
|
126
|
+
]);
|
|
127
|
+
// ---------------------------------------------------------------------------
|
|
128
|
+
// Message — § 4.1.4
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
export const MessageSchema = z.object({
|
|
131
|
+
messageId: z.string().min(1),
|
|
132
|
+
role: RoleSchema,
|
|
133
|
+
parts: z.array(PartSchema).min(1),
|
|
134
|
+
contextId: z.string().optional(),
|
|
135
|
+
/**
|
|
136
|
+
* `taskId` — canonical A2A v1.0 resume reference. When set, the receiver
|
|
137
|
+
* dispatches to the existing task (used for INPUT_REQUIRED / AUTH_REQUIRED
|
|
138
|
+
* resume flows in Phase 2b). Phase 2a creates fresh tasks; the field
|
|
139
|
+
* lands in the schema but isn't exercised yet.
|
|
140
|
+
*/
|
|
141
|
+
taskId: z.string().optional(),
|
|
142
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
143
|
+
extensions: z.array(z.string()).optional(),
|
|
144
|
+
referenceTaskIds: z.array(z.string()).optional(),
|
|
145
|
+
});
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// TaskStatus — § 4.1.2
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
export const TaskStatusSchema = z.object({
|
|
150
|
+
state: TaskStateSchema,
|
|
151
|
+
/** Optional human-readable message accompanying the state. */
|
|
152
|
+
message: MessageSchema.optional(),
|
|
153
|
+
/** RFC 3339 / ISO 8601 timestamp of the last state change. */
|
|
154
|
+
timestamp: z.string().optional(),
|
|
155
|
+
});
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
// Task — § 4.1.1
|
|
158
|
+
// ---------------------------------------------------------------------------
|
|
159
|
+
export const TaskSchema = z.object({
|
|
160
|
+
id: z.string().min(1),
|
|
161
|
+
status: TaskStatusSchema,
|
|
162
|
+
contextId: z.string().optional(),
|
|
163
|
+
/** History of all messages exchanged on this task. */
|
|
164
|
+
history: z.array(MessageSchema).optional(),
|
|
165
|
+
/** Artifacts produced by the agent (responses, files, etc.). */
|
|
166
|
+
artifacts: z.array(z.unknown()).optional(),
|
|
167
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
168
|
+
});
|
|
169
|
+
// ---------------------------------------------------------------------------
|
|
170
|
+
// JSON-RPC 2.0 envelope — § 9 (`method: "message/send"`)
|
|
171
|
+
// ---------------------------------------------------------------------------
|
|
172
|
+
/** JSON-RPC 2.0 request envelope. `id` is required for `message/send` (not a notification). */
|
|
173
|
+
export const JsonRpcRequestSchema = z.object({
|
|
174
|
+
jsonrpc: z.literal('2.0'),
|
|
175
|
+
method: z.string().min(1),
|
|
176
|
+
id: z.union([z.string(), z.number()]),
|
|
177
|
+
params: z.unknown().optional(),
|
|
178
|
+
});
|
|
179
|
+
/** Params for `message/send` — wraps a Message. */
|
|
180
|
+
export const MessageSendParamsSchema = z.object({
|
|
181
|
+
message: MessageSchema,
|
|
182
|
+
/** Optional `configuration` / `metadata` keys per spec § 9.4.1 (not exercised in Phase 2a). */
|
|
183
|
+
configuration: z.record(z.string(), z.unknown()).optional(),
|
|
184
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
185
|
+
});
|
|
186
|
+
// ---------------------------------------------------------------------------
|
|
187
|
+
// tasks/get + tasks/cancel params — § 9 + canonical proto (macf#398 Phase 2d)
|
|
188
|
+
// ---------------------------------------------------------------------------
|
|
189
|
+
//
|
|
190
|
+
// Per canonical proto (a2a.proto):
|
|
191
|
+
// message GetTaskRequest { string name = 1; ... }
|
|
192
|
+
// message CancelTaskRequest { string name = 1; ... }
|
|
193
|
+
//
|
|
194
|
+
// `name` is the resource path "tasks/{id}". The JSON-RPC binding in
|
|
195
|
+
// practice accepts EITHER the bare `id` form (canonical in most A2A
|
|
196
|
+
// client SDKs surveyed) OR the proto-canonical `name` form. We accept
|
|
197
|
+
// both by branching on which key is present; the route handler reduces
|
|
198
|
+
// to the bare taskId for TaskStore lookup.
|
|
199
|
+
//
|
|
200
|
+
// Why accept both: the Python a2a-sdk v1.0.3 client surface emits
|
|
201
|
+
// `params: { id }` for tasks/get; the protobuf-canonical wire form
|
|
202
|
+
// emits `params: { name: "tasks/{id}" }`. Rejecting either would break
|
|
203
|
+
// a real client.
|
|
204
|
+
/** Params for `tasks/get` + `tasks/cancel`. Accepts `{ id }` or proto-canonical `{ name: "tasks/{id}" }`. */
|
|
205
|
+
export const TaskIdParamsSchema = z
|
|
206
|
+
.object({
|
|
207
|
+
id: z.string().min(1).optional(),
|
|
208
|
+
name: z.string().min(1).optional(),
|
|
209
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
210
|
+
})
|
|
211
|
+
.refine((obj) => (obj.id !== undefined) || (obj.name !== undefined), { message: 'Params: one of `id` or `name` must be present' });
|
|
212
|
+
/**
|
|
213
|
+
* Resolve a TaskIdParams to the bare task id. `id` takes precedence
|
|
214
|
+
* over `name`; if only `name` is present, strip the `tasks/` resource
|
|
215
|
+
* prefix per the proto canonical mapping. Returns `undefined` if
|
|
216
|
+
* neither was present (the refine should have rejected, but defensive).
|
|
217
|
+
*/
|
|
218
|
+
export function resolveTaskId(params) {
|
|
219
|
+
if (params.id !== undefined && params.id.length > 0)
|
|
220
|
+
return params.id;
|
|
221
|
+
if (params.name !== undefined && params.name.length > 0) {
|
|
222
|
+
return params.name.startsWith('tasks/') ? params.name.slice('tasks/'.length) : params.name;
|
|
223
|
+
}
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* JSON-RPC 2.0 success response envelope. `result` for `message/send`
|
|
228
|
+
* is either a Task or a Message per spec § 9.4.1 — Phase 2a always
|
|
229
|
+
* returns a Task (synchronous happy-path COMPLETED).
|
|
230
|
+
*/
|
|
231
|
+
export const JsonRpcSuccessResponseSchema = z.object({
|
|
232
|
+
jsonrpc: z.literal('2.0'),
|
|
233
|
+
id: z.union([z.string(), z.number(), z.null()]),
|
|
234
|
+
result: TaskSchema,
|
|
235
|
+
});
|
|
236
|
+
/**
|
|
237
|
+
* JSON-RPC 2.0 error envelope. Per A2A v1.0 spec § 9 (and v1.0 change
|
|
238
|
+
* notes), errors use the `google.rpc.Status` representation with
|
|
239
|
+
* `ErrorInfo` extensions: `reason` in UPPER_SNAKE_CASE + domain
|
|
240
|
+
* `"a2a-protocol.org"`.
|
|
241
|
+
*
|
|
242
|
+
* Standard JSON-RPC `code`/`message` + `data.reason`/`data.domain` for
|
|
243
|
+
* the A2A-specific reason classification.
|
|
244
|
+
*/
|
|
245
|
+
export const JsonRpcErrorResponseSchema = z.object({
|
|
246
|
+
jsonrpc: z.literal('2.0'),
|
|
247
|
+
id: z.union([z.string(), z.number(), z.null()]),
|
|
248
|
+
error: z.object({
|
|
249
|
+
code: z.number(),
|
|
250
|
+
message: z.string(),
|
|
251
|
+
data: z
|
|
252
|
+
.object({
|
|
253
|
+
reason: z.string().optional(),
|
|
254
|
+
domain: z.string().optional(),
|
|
255
|
+
})
|
|
256
|
+
.passthrough()
|
|
257
|
+
.optional(),
|
|
258
|
+
}),
|
|
259
|
+
});
|
|
260
|
+
// ---------------------------------------------------------------------------
|
|
261
|
+
// JSON-RPC error code constants (spec § 9 + JSON-RPC 2.0 §5.1)
|
|
262
|
+
// ---------------------------------------------------------------------------
|
|
263
|
+
/** JSON-RPC 2.0 standard error codes. */
|
|
264
|
+
export const JSONRPC_PARSE_ERROR = -32700;
|
|
265
|
+
export const JSONRPC_INVALID_REQUEST = -32600;
|
|
266
|
+
export const JSONRPC_METHOD_NOT_FOUND = -32601;
|
|
267
|
+
export const JSONRPC_INVALID_PARAMS = -32602;
|
|
268
|
+
export const JSONRPC_INTERNAL_ERROR = -32603;
|
|
269
|
+
/** A2A-specific reason codes (UPPER_SNAKE_CASE per v1.0 § 9 ErrorInfo). */
|
|
270
|
+
export const A2A_ERROR_DOMAIN = 'a2a-protocol.org';
|
|
271
|
+
export const A2A_REASON_INVALID_MESSAGE = 'INVALID_MESSAGE';
|
|
272
|
+
export const A2A_REASON_TASK_NOT_FOUND = 'TASK_NOT_FOUND';
|
|
273
|
+
export const A2A_REASON_METHOD_NOT_SUPPORTED = 'METHOD_NOT_SUPPORTED';
|
|
274
|
+
/** Resume attempted against a terminal task (COMPLETED/FAILED/CANCELED/REJECTED) — macf#392 Phase 2b. */
|
|
275
|
+
export const A2A_REASON_TASK_TERMINAL_STATE = 'TASK_TERMINAL_STATE';
|
|
276
|
+
/** Resume attempted with non-resumable from-state (only INPUT_REQUIRED + AUTH_REQUIRED accept resume) — macf#392 Phase 2b. */
|
|
277
|
+
export const A2A_REASON_TASK_NOT_RESUMABLE = 'TASK_NOT_RESUMABLE';
|
|
278
|
+
/** Canonical JSON-RPC method string for the inbound message exchange (spec § 9 examples). */
|
|
279
|
+
export const A2A_METHOD_MESSAGE_SEND = 'message/send';
|
|
280
|
+
/** Canonical JSON-RPC method string for task lookup (macf#398 Phase 2d). */
|
|
281
|
+
export const A2A_METHOD_TASKS_GET = 'tasks/get';
|
|
282
|
+
/** Canonical JSON-RPC method string for task cancellation (macf#398 Phase 2d). */
|
|
283
|
+
export const A2A_METHOD_TASKS_CANCEL = 'tasks/cancel';
|
|
284
|
+
/** Canonical AgentCard.url path for this server's A2A endpoint. */
|
|
285
|
+
export const A2A_ENDPOINT_PATH = '/a2a/v1';
|
|
286
|
+
//# sourceMappingURL=a2a-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a-types.js","sourceRoot":"","sources":["../src/a2a-types.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-card.d.ts
CHANGED
|
@@ -35,21 +35,48 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import { z } from 'zod';
|
|
37
37
|
/**
|
|
38
|
-
* AgentSkill — per
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* AgentSkill — per canonical proto (`a2aproject/A2A:specification/a2a.proto`
|
|
39
|
+
* `message AgentSkill`). Required per proto: id, name, description, tags.
|
|
40
|
+
* Optional: examples, input_modes, output_modes, security_requirements.
|
|
41
|
+
*
|
|
42
|
+
* JSON wire form uses canonical lowerCamelCase mapping from proto
|
|
43
|
+
* snake_case (`input_modes` → `inputModes`, etc.) per proto3 JSON spec.
|
|
44
|
+
*
|
|
45
|
+
* **macf#393 Phase 2c**: `description` + `tags` upgraded from optional
|
|
46
|
+
* (Phase 1's lenient shape) to required per proto. Strict-validating
|
|
47
|
+
* external A2A clients (Bedrock AgentCore, Microsoft Agent Framework,
|
|
48
|
+
* etc.) reject AgentCards with skill entries missing required fields.
|
|
41
49
|
*/
|
|
42
50
|
export declare const AgentSkillSchema: z.ZodObject<{
|
|
43
51
|
id: z.ZodString;
|
|
44
52
|
name: z.ZodString;
|
|
45
|
-
description: z.
|
|
46
|
-
tags: z.
|
|
53
|
+
description: z.ZodString;
|
|
54
|
+
tags: z.ZodArray<z.ZodString>;
|
|
47
55
|
examples: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
48
56
|
inputModes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
49
57
|
outputModes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
50
58
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
51
59
|
}, z.core.$strip>;
|
|
52
60
|
export type AgentSkill = z.infer<typeof AgentSkillSchema>;
|
|
61
|
+
/**
|
|
62
|
+
* AgentInterface — per canonical proto `message AgentInterface`.
|
|
63
|
+
* Per AgentCard `supported_interfaces` (proto field 3, REQUIRED): the
|
|
64
|
+
* endpoint URL + protocol binding the agent serves. v1.0 moves the
|
|
65
|
+
* endpoint URL OUT of AgentCard top-level into the (repeated)
|
|
66
|
+
* AgentInterface entries.
|
|
67
|
+
*
|
|
68
|
+
* Required per proto: url, protocol_binding, protocol_version.
|
|
69
|
+
* Optional: tenant.
|
|
70
|
+
*
|
|
71
|
+
* JSON wire form: `protocolBinding` (lowerCamelCase) + `protocolVersion`.
|
|
72
|
+
*/
|
|
73
|
+
export declare const AgentInterfaceSchema: z.ZodObject<{
|
|
74
|
+
url: z.ZodString;
|
|
75
|
+
protocolBinding: z.ZodString;
|
|
76
|
+
tenant: z.ZodOptional<z.ZodString>;
|
|
77
|
+
protocolVersion: z.ZodString;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
export type AgentInterface = z.infer<typeof AgentInterfaceSchema>;
|
|
53
80
|
/**
|
|
54
81
|
* MutualTlsSecurityScheme — per spec § 4.5.6. Type discriminator
|
|
55
82
|
* `mutualTls`. No additional fields required at the scheme level;
|
|
@@ -84,42 +111,67 @@ export declare const AgentCapabilitiesSchema: z.ZodObject<{
|
|
|
84
111
|
}, z.core.$catchall<z.ZodUnknown>>;
|
|
85
112
|
export type AgentCapabilities = z.infer<typeof AgentCapabilitiesSchema>;
|
|
86
113
|
/**
|
|
87
|
-
* AgentCard — per
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
114
|
+
* AgentCard — per canonical proto `message AgentCard` (verified verbatim
|
|
115
|
+
* from `a2aproject/A2A:specification/a2a.proto` 2026-05-19).
|
|
116
|
+
*
|
|
117
|
+
* Required per proto: name, description, supported_interfaces,
|
|
118
|
+
* version, capabilities, default_input_modes, default_output_modes, skills.
|
|
119
|
+
* Optional: provider, documentation_url, security_schemes,
|
|
120
|
+
* security_requirements, signatures, icon_url.
|
|
121
|
+
*
|
|
122
|
+
* JSON wire form uses canonical lowerCamelCase mapping from proto
|
|
123
|
+
* snake_case (`supported_interfaces` → `supportedInterfaces`, etc.).
|
|
124
|
+
*
|
|
125
|
+
* **macf#393 Phase 2c** — schema realignment to canonical proto:
|
|
126
|
+
* - REMOVED top-level `id` (no such field in proto)
|
|
127
|
+
* - REMOVED top-level `url` (moves to `supportedInterfaces[0].url`)
|
|
128
|
+
* - ADDED `description` as required (was optional in Phase 1)
|
|
129
|
+
* - ADDED `supportedInterfaces` as required (endpoint URL lives here per v1.0)
|
|
130
|
+
* - ADDED `defaultInputModes` + `defaultOutputModes` as required
|
|
131
|
+
* - `skills` upgraded from optional to required (proto says REQUIRED)
|
|
132
|
+
*
|
|
133
|
+
* The schema change is structurally breaking for any consumer that parsed
|
|
134
|
+
* Phase 1's AgentCard shape; pre-flight grep on 2026-05-19 confirmed zero
|
|
135
|
+
* external consumers (Phase 1 shipped ~24h prior). Migration documented
|
|
136
|
+
* in DR-022 Amendment M.
|
|
91
137
|
*/
|
|
92
138
|
export declare const AgentCardSchema: z.ZodObject<{
|
|
93
|
-
id: z.ZodString;
|
|
94
139
|
name: z.ZodString;
|
|
95
|
-
|
|
140
|
+
description: z.ZodString;
|
|
141
|
+
supportedInterfaces: z.ZodArray<z.ZodObject<{
|
|
142
|
+
url: z.ZodString;
|
|
143
|
+
protocolBinding: z.ZodString;
|
|
144
|
+
tenant: z.ZodOptional<z.ZodString>;
|
|
145
|
+
protocolVersion: z.ZodString;
|
|
146
|
+
}, z.core.$strip>>;
|
|
96
147
|
version: z.ZodString;
|
|
97
|
-
provider: z.ZodObject<{
|
|
148
|
+
provider: z.ZodOptional<z.ZodObject<{
|
|
98
149
|
organization: z.ZodString;
|
|
99
150
|
url: z.ZodOptional<z.ZodString>;
|
|
100
|
-
}, z.core.$strip
|
|
151
|
+
}, z.core.$strip>>;
|
|
101
152
|
capabilities: z.ZodObject<{
|
|
102
153
|
streaming: z.ZodOptional<z.ZodBoolean>;
|
|
103
154
|
pushNotifications: z.ZodOptional<z.ZodBoolean>;
|
|
104
155
|
}, z.core.$catchall<z.ZodUnknown>>;
|
|
105
|
-
securitySchemes: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
156
|
+
securitySchemes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
106
157
|
type: z.ZodLiteral<"mutualTls">;
|
|
107
158
|
description: z.ZodOptional<z.ZodString>;
|
|
108
|
-
}, z.core.$strip
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
159
|
+
}, z.core.$strip>>>;
|
|
160
|
+
defaultInputModes: z.ZodArray<z.ZodString>;
|
|
161
|
+
defaultOutputModes: z.ZodArray<z.ZodString>;
|
|
162
|
+
skills: z.ZodArray<z.ZodObject<{
|
|
113
163
|
id: z.ZodString;
|
|
114
164
|
name: z.ZodString;
|
|
115
|
-
description: z.
|
|
116
|
-
tags: z.
|
|
165
|
+
description: z.ZodString;
|
|
166
|
+
tags: z.ZodArray<z.ZodString>;
|
|
117
167
|
examples: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
118
168
|
inputModes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
119
169
|
outputModes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
120
170
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
121
|
-
}, z.core.$strip
|
|
171
|
+
}, z.core.$strip>>;
|
|
122
172
|
security: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
|
|
173
|
+
documentationUrl: z.ZodOptional<z.ZodString>;
|
|
174
|
+
iconUrl: z.ZodOptional<z.ZodString>;
|
|
123
175
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
124
176
|
}, z.core.$strip>;
|
|
125
177
|
export type AgentCard = z.infer<typeof AgentCardSchema>;
|
|
@@ -149,10 +201,25 @@ export interface AgentCardInputs {
|
|
|
149
201
|
* clients SHOULD NOT depend on it. A source-level test in
|
|
150
202
|
* `test/agent-card.test.ts` pins this invariant.
|
|
151
203
|
*
|
|
152
|
-
* Skills in Phase
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
204
|
+
* Skills in Phase 2a (macf#390): MACF domain capabilities — what the
|
|
205
|
+
* agent can DO, not what JSON-RPC methods it serves. Per spec § 4.4.5,
|
|
206
|
+
* skills describe agent-specific actions on top of the A2A protocol
|
|
207
|
+
* methods. Initial mapping (Phase 2a):
|
|
208
|
+
*
|
|
209
|
+
* - `macf.notify_peer` — Cross-Agent Notification (the canonical MACF
|
|
210
|
+
* coordination primitive; #267)
|
|
211
|
+
* - `macf.checkpoint_to_memory` — Persist Context to Memory (the PreCompact
|
|
212
|
+
* checkpoint MCP tool; #271 DR-023 §UC-3)
|
|
213
|
+
*
|
|
214
|
+
* Phase 3+ will add role-specific skills if the MACF MCP-tool surface
|
|
215
|
+
* grows. `/macf/sign` is intentionally absent — live cryptographic
|
|
216
|
+
* attestation stays MACF-only per DR-010 Path 2 + #371; a source-level
|
|
217
|
+
* test pins this invariant.
|
|
218
|
+
*
|
|
219
|
+
* `url` field: Phase 2a points AgentCard.url to the JSON-RPC endpoint
|
|
220
|
+
* (`<inputs.url>/a2a/v1`). A2A clients discover via
|
|
221
|
+
* `/.well-known/agent-card.json` then POST `message/send` to the
|
|
222
|
+
* advertised url.
|
|
156
223
|
*/
|
|
157
224
|
export declare function buildAgentCard(inputs: AgentCardInputs): AgentCard;
|
|
158
225
|
//# sourceMappingURL=agent-card.d.ts.map
|
package/dist/agent-card.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../src/agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../src/agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;iBAS3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAQ/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;kCAGZ,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAMxD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CA0DjE"}
|