apcore-a2a 0.2.2 → 0.4.0
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/LICENSE +190 -0
- package/README.md +20 -15
- package/dist/adapters/agent-card.d.ts.map +1 -1
- package/dist/adapters/agent-card.js +44 -5
- package/dist/adapters/agent-card.js.map +1 -1
- package/dist/adapters/errors.d.ts +3 -1
- package/dist/adapters/errors.d.ts.map +1 -1
- package/dist/adapters/errors.js +39 -11
- package/dist/adapters/errors.js.map +1 -1
- package/dist/adapters/parts.d.ts +2 -1
- package/dist/adapters/parts.d.ts.map +1 -1
- package/dist/adapters/parts.js +16 -12
- package/dist/adapters/parts.js.map +1 -1
- package/dist/adapters/schema.d.ts +0 -2
- package/dist/adapters/schema.d.ts.map +1 -1
- package/dist/adapters/schema.js +8 -40
- package/dist/adapters/schema.js.map +1 -1
- package/dist/adapters/skill-mapper.d.ts +4 -0
- package/dist/adapters/skill-mapper.d.ts.map +1 -1
- package/dist/adapters/skill-mapper.js +29 -4
- package/dist/adapters/skill-mapper.js.map +1 -1
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/jwt.js +27 -6
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +1 -0
- package/dist/auth/middleware.js.map +1 -1
- package/dist/cli.js +5 -5
- package/dist/cli.js.map +1 -1
- package/dist/client/client.d.ts +2 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +4 -0
- package/dist/client/client.js.map +1 -1
- package/dist/explorer/index.html +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/serve.d.ts +2 -0
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +25 -2
- package/dist/serve.js.map +1 -1
- package/dist/server/executor.d.ts +10 -2
- package/dist/server/executor.d.ts.map +1 -1
- package/dist/server/executor.js +203 -70
- package/dist/server/executor.js.map +1 -1
- package/dist/server/factory.d.ts +3 -1
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +92 -8
- package/dist/server/factory.js.map +1 -1
- package/package.json +4 -3
package/dist/server/executor.js
CHANGED
|
@@ -1,27 +1,41 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from "uuid";
|
|
2
|
+
import { Artifact, Part, Role, TaskState } from "@a2a-js/sdk";
|
|
3
|
+
import { AgentEvent, } from "@a2a-js/sdk/server";
|
|
2
4
|
import { getAuthIdentity } from "../auth/storage.js";
|
|
3
5
|
function utcNow() {
|
|
4
6
|
return new Date().toISOString();
|
|
5
7
|
}
|
|
6
8
|
function textMessage(text) {
|
|
7
9
|
return {
|
|
8
|
-
kind: "message",
|
|
9
10
|
messageId: uuidv4(),
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
contextId: "",
|
|
12
|
+
taskId: "",
|
|
13
|
+
role: Role.ROLE_AGENT,
|
|
14
|
+
parts: [Part.fromJSON({ text })],
|
|
15
|
+
metadata: undefined,
|
|
16
|
+
extensions: [],
|
|
17
|
+
referenceTaskIds: [],
|
|
12
18
|
};
|
|
13
19
|
}
|
|
20
|
+
/** Build a TaskStatus with the current timestamp (a2a-js 1.0 protobuf shape). */
|
|
21
|
+
function makeStatus(state, message) {
|
|
22
|
+
return { state, message, timestamp: utcNow() };
|
|
23
|
+
}
|
|
14
24
|
export class ApCoreAgentExecutor {
|
|
15
25
|
executor;
|
|
16
26
|
partConverter;
|
|
17
27
|
registry;
|
|
18
|
-
executionTimeout;
|
|
28
|
+
// Public executionTimeout is in seconds (matches the Python binding); stored
|
|
29
|
+
// here in milliseconds for setTimeout / global_deadline arithmetic.
|
|
30
|
+
executionTimeoutMs;
|
|
19
31
|
onStateChange;
|
|
32
|
+
// P0-B: CancelToken map keyed by taskId
|
|
33
|
+
cancelTokens = new Map();
|
|
20
34
|
constructor(opts) {
|
|
21
35
|
this.executor = opts.executor;
|
|
22
36
|
this.partConverter = opts.partConverter;
|
|
23
37
|
this.registry = opts.registry;
|
|
24
|
-
this.
|
|
38
|
+
this.executionTimeoutMs = (opts.executionTimeout ?? 300) * 1000;
|
|
25
39
|
this.onStateChange = opts.onStateChange;
|
|
26
40
|
}
|
|
27
41
|
notify(oldState, newState) {
|
|
@@ -37,13 +51,14 @@ export class ApCoreAgentExecutor {
|
|
|
37
51
|
async execute(context, eventBus) {
|
|
38
52
|
// 1. Initialize task in the event bus so ResultManager can track it
|
|
39
53
|
const contextId = context.contextId || context.taskId;
|
|
40
|
-
eventBus.publish({
|
|
41
|
-
kind: "task",
|
|
54
|
+
eventBus.publish(AgentEvent.task({
|
|
42
55
|
id: context.taskId,
|
|
43
56
|
contextId,
|
|
44
|
-
status:
|
|
57
|
+
status: makeStatus(TaskState.TASK_STATE_SUBMITTED),
|
|
58
|
+
artifacts: [],
|
|
45
59
|
history: [],
|
|
46
|
-
|
|
60
|
+
metadata: undefined,
|
|
61
|
+
}));
|
|
47
62
|
// 2. Get skillId from message metadata
|
|
48
63
|
const metadata = context.userMessage?.metadata ?? {};
|
|
49
64
|
const skillId = metadata.skillId;
|
|
@@ -52,18 +67,25 @@ export class ApCoreAgentExecutor {
|
|
|
52
67
|
this.publishFailed(context, eventBus, "Missing required parameter: metadata.skillId");
|
|
53
68
|
return;
|
|
54
69
|
}
|
|
55
|
-
// 3. Validate skill exists in registry
|
|
70
|
+
// 3. Validate skill exists in registry. Spec: "Validate skill_id is a known
|
|
71
|
+
// module -> error -32601 if not". Fail CLOSED: if the registry lookup throws
|
|
72
|
+
// or the skill is not found, publish a failed task (matches Python/Rust).
|
|
56
73
|
if (this.registry) {
|
|
74
|
+
let known;
|
|
57
75
|
try {
|
|
58
|
-
|
|
59
|
-
if (!known.includes(skillId)) {
|
|
60
|
-
this.notify("submitted", "failed");
|
|
61
|
-
this.publishFailed(context, eventBus, `Skill not found: ${skillId}`);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
76
|
+
known = this.registry.list();
|
|
64
77
|
}
|
|
65
78
|
catch {
|
|
66
|
-
// Registry
|
|
79
|
+
// Registry unavailable: cannot confirm the skill, so fail closed rather
|
|
80
|
+
// than proceeding optimistically.
|
|
81
|
+
this.notify("submitted", "failed");
|
|
82
|
+
this.publishFailed(context, eventBus, `Skill not found: ${skillId}`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!known.includes(skillId)) {
|
|
86
|
+
this.notify("submitted", "failed");
|
|
87
|
+
this.publishFailed(context, eventBus, `Skill not found: ${skillId}`);
|
|
88
|
+
return;
|
|
67
89
|
}
|
|
68
90
|
}
|
|
69
91
|
// 4. Parse Parts -> apcore input
|
|
@@ -86,25 +108,65 @@ export class ApCoreAgentExecutor {
|
|
|
86
108
|
this.publishFailed(context, eventBus, String(e));
|
|
87
109
|
return;
|
|
88
110
|
}
|
|
89
|
-
// 5. Build apcore context with identity
|
|
111
|
+
// 5. Build apcore context with identity and CancelToken (P0-B)
|
|
90
112
|
const identity = getAuthIdentity();
|
|
91
113
|
let apcoreCtx = undefined;
|
|
92
114
|
try {
|
|
93
|
-
const { Context } = await import("apcore-js");
|
|
94
|
-
|
|
115
|
+
const { Context, CancelToken, CTX_GLOBAL_DEADLINE } = await import("apcore-js");
|
|
116
|
+
// P0-B: create a CancelToken per task and store it
|
|
117
|
+
const token = new CancelToken();
|
|
118
|
+
this.cancelTokens.set(context.taskId, token);
|
|
119
|
+
// Map the A2A executionTimeout onto apcore's global_deadline so apcore
|
|
120
|
+
// can stop cooperatively between streaming chunks / pipeline steps.
|
|
121
|
+
// NOTE: apcore-js enforces the deadline from data[CTX_GLOBAL_DEADLINE]
|
|
122
|
+
// (ms-since-epoch), NOT the Context.create globalDeadline param — so we
|
|
123
|
+
// seed it via data. Pre-seeding also wins over BuiltinContextCreation,
|
|
124
|
+
// which only sets the key when absent.
|
|
125
|
+
const data = { [CTX_GLOBAL_DEADLINE]: Date.now() + this.executionTimeoutMs };
|
|
126
|
+
// Context.create(identity, traceParent, cancelToken, data, services, globalDeadline)
|
|
127
|
+
apcoreCtx = identity
|
|
128
|
+
? Context.create(identity, null, token, data)
|
|
129
|
+
: Context.create(null, null, token, data);
|
|
95
130
|
}
|
|
96
131
|
catch {
|
|
97
|
-
// apcore-js Context not available in this environment
|
|
132
|
+
// apcore-js Context/CancelToken not available in this environment
|
|
98
133
|
}
|
|
99
|
-
// 6.
|
|
134
|
+
// 6. Check if executor supports streaming (P0-A)
|
|
135
|
+
const streamFn = this.executor.stream;
|
|
136
|
+
const canStream = typeof streamFn === "function" &&
|
|
137
|
+
(streamFn.constructor?.name === "AsyncGeneratorFunction" ||
|
|
138
|
+
Object.prototype.toString.call(streamFn) === "[object AsyncGeneratorFunction]");
|
|
139
|
+
// 7. Execute with timeout
|
|
100
140
|
this.notify("submitted", "working");
|
|
101
|
-
|
|
141
|
+
const inputObj = typeof inputs === "string" ? { text: inputs } : inputs;
|
|
102
142
|
try {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
143
|
+
if (canStream) {
|
|
144
|
+
// P0-A: Streaming path. The timeout is enforced cooperatively by
|
|
145
|
+
// apcore's global_deadline (seeded above) between chunks/steps and
|
|
146
|
+
// surfaces as MODULE_TIMEOUT, so we do NOT wrap the stream in a second
|
|
147
|
+
// withTimeout (matches the Python binding, which relies on
|
|
148
|
+
// global_deadline rather than asyncio.wait_for on the streaming path).
|
|
149
|
+
await this.executeStreaming(context, eventBus, skillId, inputObj, apcoreCtx);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// Non-streaming path (callAsync)
|
|
153
|
+
let output;
|
|
154
|
+
const coro = apcoreCtx
|
|
155
|
+
? this.executor.callAsync(skillId, inputObj, apcoreCtx)
|
|
156
|
+
: this.executor.callAsync(skillId, inputObj);
|
|
157
|
+
output = await withTimeout(coro, this.executionTimeoutMs);
|
|
158
|
+
// 8. Publish artifact + completed
|
|
159
|
+
const artifact = this.partConverter.outputToParts(output, context.taskId);
|
|
160
|
+
eventBus.publish(AgentEvent.artifactUpdate({
|
|
161
|
+
taskId: context.taskId,
|
|
162
|
+
contextId,
|
|
163
|
+
artifact,
|
|
164
|
+
append: false,
|
|
165
|
+
lastChunk: true,
|
|
166
|
+
metadata: undefined,
|
|
167
|
+
}));
|
|
168
|
+
this.publishCompleted(context, eventBus);
|
|
169
|
+
}
|
|
108
170
|
}
|
|
109
171
|
catch (e) {
|
|
110
172
|
if (e instanceof TimeoutError) {
|
|
@@ -113,6 +175,17 @@ export class ApCoreAgentExecutor {
|
|
|
113
175
|
return;
|
|
114
176
|
}
|
|
115
177
|
const code = e.code;
|
|
178
|
+
if (code === "MODULE_TIMEOUT") {
|
|
179
|
+
// apcore enforced global_deadline (streaming or cooperative step)
|
|
180
|
+
this.notify("working", "failed");
|
|
181
|
+
this.publishFailed(context, eventBus, "Execution timed out");
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (code === "EXECUTION_CANCELLED") {
|
|
185
|
+
this.notify("working", "canceled");
|
|
186
|
+
this.publishCanceled(context, eventBus, "Execution cancelled");
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
116
189
|
if (code === "APPROVAL_PENDING") {
|
|
117
190
|
this.notify("working", "input-required");
|
|
118
191
|
this.publishInputRequired(context, eventBus, String(e));
|
|
@@ -123,66 +196,126 @@ export class ApCoreAgentExecutor {
|
|
|
123
196
|
this.publishFailed(context, eventBus, "Internal server error");
|
|
124
197
|
return;
|
|
125
198
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
199
|
+
finally {
|
|
200
|
+
// Clean up the cancel token on every exit path (matches Python's
|
|
201
|
+
// finally / Rust's Drop guard).
|
|
202
|
+
this.cancelTokens.delete(context.taskId);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* P0-A: Streaming execution path. Iterates executor.stream() and emits
|
|
207
|
+
* TaskArtifactUpdateEvent for each chunk, then publishes completed.
|
|
208
|
+
*/
|
|
209
|
+
async executeStreaming(context, eventBus, moduleId, inputs, apcoreCtx) {
|
|
210
|
+
const contextId = context.contextId || context.taskId;
|
|
211
|
+
const artifactId = `art-${context.taskId}`;
|
|
212
|
+
let chunkIndex = 0;
|
|
213
|
+
const streamFn = this.executor.stream;
|
|
214
|
+
const gen = apcoreCtx
|
|
215
|
+
? streamFn.call(this.executor, moduleId, inputs, apcoreCtx)
|
|
216
|
+
: streamFn.call(this.executor, moduleId, inputs);
|
|
217
|
+
// A-D-13: bound the entire streaming loop by a host-side wall-clock budget.
|
|
218
|
+
// apcore's cooperative global_deadline only stops well-behaved modules
|
|
219
|
+
// between chunks; this Promise.race guarantees the loop terminates even if
|
|
220
|
+
// the generator stalls (matches Rust's stream_channel tokio timeout). The
|
|
221
|
+
// deadline spans the whole stream, not just a single chunk.
|
|
222
|
+
const deadline = Date.now() + this.executionTimeoutMs;
|
|
223
|
+
const iterator = gen[Symbol.asyncIterator]();
|
|
224
|
+
for (;;) {
|
|
225
|
+
const remaining = deadline - Date.now();
|
|
226
|
+
if (remaining <= 0) {
|
|
227
|
+
await iterator.return?.(undefined);
|
|
228
|
+
throw new TimeoutError();
|
|
229
|
+
}
|
|
230
|
+
let next;
|
|
231
|
+
try {
|
|
232
|
+
next = await withTimeout(iterator.next(), remaining);
|
|
233
|
+
}
|
|
234
|
+
catch (e) {
|
|
235
|
+
if (e instanceof TimeoutError) {
|
|
236
|
+
// Signal the underlying generator to stop iterating.
|
|
237
|
+
await iterator.return?.(undefined);
|
|
238
|
+
}
|
|
239
|
+
throw e;
|
|
240
|
+
}
|
|
241
|
+
if (next.done)
|
|
242
|
+
break;
|
|
243
|
+
const chunk = next.value;
|
|
244
|
+
const artifact = this.partConverter.outputToParts(chunk, context.taskId);
|
|
245
|
+
// Override artifactId to be consistent across chunks
|
|
246
|
+
const chunkArtifact = { ...artifact, artifactId };
|
|
247
|
+
eventBus.publish(AgentEvent.artifactUpdate({
|
|
248
|
+
taskId: context.taskId,
|
|
249
|
+
contextId,
|
|
250
|
+
artifact: chunkArtifact,
|
|
251
|
+
append: chunkIndex > 0,
|
|
252
|
+
lastChunk: false,
|
|
253
|
+
metadata: undefined,
|
|
254
|
+
}));
|
|
255
|
+
chunkIndex++;
|
|
256
|
+
}
|
|
257
|
+
// Signal end of stream with lastChunk: true
|
|
258
|
+
eventBus.publish(AgentEvent.artifactUpdate({
|
|
130
259
|
taskId: context.taskId,
|
|
131
260
|
contextId,
|
|
132
|
-
artifact,
|
|
133
|
-
append:
|
|
261
|
+
artifact: Artifact.fromJSON({ artifactId, parts: [] }),
|
|
262
|
+
append: chunkIndex > 0,
|
|
134
263
|
lastChunk: true,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
taskId: context.taskId,
|
|
139
|
-
contextId,
|
|
140
|
-
status: { state: "completed", timestamp: utcNow() },
|
|
141
|
-
final: true,
|
|
142
|
-
});
|
|
143
|
-
this.notify("working", "completed");
|
|
264
|
+
metadata: undefined,
|
|
265
|
+
}));
|
|
266
|
+
this.publishCompleted(context, eventBus);
|
|
144
267
|
}
|
|
145
268
|
async cancelTask(taskId, eventBus) {
|
|
146
|
-
|
|
147
|
-
|
|
269
|
+
// P0-B: Cancel the running execution via CancelToken
|
|
270
|
+
const token = this.cancelTokens.get(taskId);
|
|
271
|
+
if (token) {
|
|
272
|
+
token.cancel();
|
|
273
|
+
this.cancelTokens.delete(taskId);
|
|
274
|
+
}
|
|
275
|
+
eventBus.publish(AgentEvent.statusUpdate({
|
|
148
276
|
taskId,
|
|
149
277
|
contextId: taskId,
|
|
150
|
-
status:
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
message: textMessage("Canceled by client"),
|
|
154
|
-
},
|
|
155
|
-
final: true,
|
|
156
|
-
});
|
|
278
|
+
status: makeStatus(TaskState.TASK_STATE_CANCELED, textMessage("Canceled by client")),
|
|
279
|
+
metadata: undefined,
|
|
280
|
+
}));
|
|
157
281
|
this.notify("working", "canceled");
|
|
158
282
|
}
|
|
283
|
+
publishCompleted(context, eventBus) {
|
|
284
|
+
const contextId = context.contextId || context.taskId;
|
|
285
|
+
eventBus.publish(AgentEvent.statusUpdate({
|
|
286
|
+
taskId: context.taskId,
|
|
287
|
+
contextId,
|
|
288
|
+
status: makeStatus(TaskState.TASK_STATE_COMPLETED),
|
|
289
|
+
metadata: undefined,
|
|
290
|
+
}));
|
|
291
|
+
this.notify("working", "completed");
|
|
292
|
+
}
|
|
159
293
|
publishFailed(context, eventBus, message) {
|
|
160
294
|
const contextId = context.contextId || context.taskId;
|
|
161
|
-
eventBus.publish({
|
|
162
|
-
kind: "status-update",
|
|
295
|
+
eventBus.publish(AgentEvent.statusUpdate({
|
|
163
296
|
taskId: context.taskId,
|
|
164
297
|
contextId,
|
|
165
|
-
status:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
message: textMessage(message),
|
|
169
|
-
},
|
|
170
|
-
final: true,
|
|
171
|
-
});
|
|
298
|
+
status: makeStatus(TaskState.TASK_STATE_FAILED, textMessage(message)),
|
|
299
|
+
metadata: undefined,
|
|
300
|
+
}));
|
|
172
301
|
}
|
|
173
302
|
publishInputRequired(context, eventBus, message) {
|
|
174
303
|
const contextId = context.contextId || context.taskId;
|
|
175
|
-
eventBus.publish({
|
|
176
|
-
|
|
304
|
+
eventBus.publish(AgentEvent.statusUpdate({
|
|
305
|
+
taskId: context.taskId,
|
|
306
|
+
contextId,
|
|
307
|
+
status: makeStatus(TaskState.TASK_STATE_INPUT_REQUIRED, textMessage(message)),
|
|
308
|
+
metadata: undefined,
|
|
309
|
+
}));
|
|
310
|
+
}
|
|
311
|
+
publishCanceled(context, eventBus, message) {
|
|
312
|
+
const contextId = context.contextId || context.taskId;
|
|
313
|
+
eventBus.publish(AgentEvent.statusUpdate({
|
|
177
314
|
taskId: context.taskId,
|
|
178
315
|
contextId,
|
|
179
|
-
status:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
message: textMessage(message),
|
|
183
|
-
},
|
|
184
|
-
final: false,
|
|
185
|
-
});
|
|
316
|
+
status: makeStatus(TaskState.TASK_STATE_CANCELED, textMessage(message)),
|
|
317
|
+
metadata: undefined,
|
|
318
|
+
}));
|
|
186
319
|
}
|
|
187
320
|
}
|
|
188
321
|
class TimeoutError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/server/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/server/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/server/factory.d.ts
CHANGED
|
@@ -12,13 +12,15 @@ export interface A2AServerCreateOptions {
|
|
|
12
12
|
auth?: Authenticator;
|
|
13
13
|
executionTimeout?: number;
|
|
14
14
|
corsOrigins?: string[];
|
|
15
|
+
pushNotifications?: boolean;
|
|
15
16
|
explorer?: boolean;
|
|
16
17
|
explorerPrefix?: string;
|
|
17
18
|
metrics?: boolean;
|
|
19
|
+
sysModules?: boolean;
|
|
18
20
|
}
|
|
19
21
|
export declare class A2AServerFactory {
|
|
20
|
-
private skillMapper;
|
|
21
22
|
private schemaConverter;
|
|
23
|
+
private skillMapper;
|
|
22
24
|
private agentCardBuilder;
|
|
23
25
|
private partConverter;
|
|
24
26
|
private registry?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAChE,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAmB5B,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0DtD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,MAAM,CACJ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE;QACR,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACrC,EACD,IAAI,EAAE,sBAAsB,GAC3B;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAgOzC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CAM5D"}
|
package/dist/server/factory.js
CHANGED
|
@@ -1,14 +1,42 @@
|
|
|
1
1
|
import express from "express";
|
|
2
|
-
import { DefaultRequestHandler, DefaultExecutionEventBusManager, InMemoryTaskStore, } from "@a2a-js/sdk/server";
|
|
3
|
-
import { jsonRpcHandler, agentCardHandler, UserBuilder, } from "@a2a-js/sdk/server/express";
|
|
2
|
+
import { DefaultRequestHandler, DefaultExecutionEventBusManager, InMemoryTaskStore, ServerCallContext, } from "@a2a-js/sdk/server";
|
|
3
|
+
import { jsonRpcHandler, agentCardHandler, UserBuilder, restHandler, } from "@a2a-js/sdk/server/express";
|
|
4
|
+
import { Config, ErrorFormatterRegistry, ObsLoggingMiddleware, ErrorHistoryMiddleware, ErrorHistory, registerSysModules, } from "apcore-js";
|
|
4
5
|
import { SkillMapper } from "../adapters/skill-mapper.js";
|
|
5
6
|
import { SchemaConverter } from "../adapters/schema.js";
|
|
6
7
|
import { AgentCardBuilder } from "../adapters/agent-card.js";
|
|
7
8
|
import { PartConverter } from "../adapters/parts.js";
|
|
9
|
+
import { ErrorMapper } from "../adapters/errors.js";
|
|
8
10
|
import { ApCoreAgentExecutor } from "./executor.js";
|
|
9
11
|
import { createAuthMiddleware } from "../auth/middleware.js";
|
|
10
12
|
import { createExplorerRouter } from "../explorer/handler.js";
|
|
13
|
+
// Register apcore-a2a config namespace (stable in apcore-js >= 0.22.0)
|
|
14
|
+
Config.registerNamespace({
|
|
15
|
+
name: "apcore-a2a",
|
|
16
|
+
envPrefix: "APCORE_A2A",
|
|
17
|
+
defaults: {
|
|
18
|
+
execution_timeout: 300,
|
|
19
|
+
cors_origins: [],
|
|
20
|
+
explorer: false,
|
|
21
|
+
metrics: false,
|
|
22
|
+
push_notifications: false,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
// Register error formatter for the a2a adapter (stable top-level export in apcore-js >= 0.22.0)
|
|
26
|
+
try {
|
|
27
|
+
ErrorFormatterRegistry.register("a2a", new ErrorMapper());
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Already registered; skip
|
|
31
|
+
}
|
|
11
32
|
const ACTIVE_STATES = new Set(["submitted", "working", "input-required"]);
|
|
33
|
+
/**
|
|
34
|
+
* In-process counters for the A2A `/metrics` endpoint. These count A2A
|
|
35
|
+
* task-state transitions (submitted/working/completed/...) on the wire
|
|
36
|
+
* protocol, a distinct concern from apcore's per-module observability metrics
|
|
37
|
+
* (latency, error rates) collected via ObsLoggingMiddleware /
|
|
38
|
+
* ErrorHistoryMiddleware. The two are intentionally separate.
|
|
39
|
+
*/
|
|
12
40
|
class MetricsState {
|
|
13
41
|
activeTasks = 0;
|
|
14
42
|
completedTasks = 0;
|
|
@@ -38,20 +66,64 @@ class MetricsState {
|
|
|
38
66
|
}
|
|
39
67
|
}
|
|
40
68
|
export class A2AServerFactory {
|
|
41
|
-
skillMapper = new SkillMapper();
|
|
42
69
|
schemaConverter = new SchemaConverter();
|
|
70
|
+
skillMapper = new SkillMapper(this.schemaConverter);
|
|
43
71
|
agentCardBuilder = new AgentCardBuilder(this.skillMapper);
|
|
44
72
|
partConverter = new PartConverter(this.schemaConverter);
|
|
45
73
|
registry;
|
|
46
74
|
create(registry, executor, opts) {
|
|
47
75
|
this.registry = registry;
|
|
76
|
+
// Wire apcore system modules + observability middleware onto the executor
|
|
77
|
+
// when it supports `.use()` (mirrors the Python binding). Duck-typed since
|
|
78
|
+
// the create() executor type only requires callAsync.
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
80
|
+
const supportsUse = typeof executor.use === "function";
|
|
81
|
+
// P1-B: register sys.* modules BEFORE building the AgentCard so they appear
|
|
82
|
+
// as skills. Requires sysModules=true and an executor exposing .use().
|
|
83
|
+
if (opts.sysModules && supportsUse) {
|
|
84
|
+
try {
|
|
85
|
+
const registryCfg = (registry.config ??
|
|
86
|
+
{});
|
|
87
|
+
const apcoreCfg = (registryCfg.apcore ?? {});
|
|
88
|
+
const sysCfg = (apcoreCfg.sys_modules ?? {});
|
|
89
|
+
const sysData = {
|
|
90
|
+
...registryCfg,
|
|
91
|
+
apcore: { ...apcoreCfg, sys_modules: { ...sysCfg, enabled: true } },
|
|
92
|
+
};
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
|
+
registerSysModules(registry, executor, new Config(sysData));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Continue without sys modules if registration fails.
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// P1-A: structured per-call logging (always; low overhead). Error-history
|
|
101
|
+
// tracking only when metrics is on and sys modules are not (which may
|
|
102
|
+
// already install error tracking), matching the Python binding.
|
|
103
|
+
if (supportsUse) {
|
|
104
|
+
try {
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
106
|
+
executor.use(new ObsLoggingMiddleware());
|
|
107
|
+
if (opts.metrics && !opts.sysModules) {
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
109
|
+
executor.use(new ErrorHistoryMiddleware(new ErrorHistory()));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Observability middleware is best-effort.
|
|
114
|
+
}
|
|
115
|
+
}
|
|
48
116
|
// Build security schemes
|
|
49
117
|
const securitySchemes = opts.auth ? opts.auth.securitySchemes() : undefined;
|
|
50
|
-
// Build capabilities
|
|
118
|
+
// Build capabilities (a2a-js 1.0 AgentCapabilities shape)
|
|
51
119
|
const capabilities = {
|
|
52
120
|
streaming: true,
|
|
53
|
-
pushNotifications: false,
|
|
54
|
-
|
|
121
|
+
pushNotifications: opts.pushNotifications ?? false,
|
|
122
|
+
extensions: [],
|
|
123
|
+
// Offered whenever an authenticator is configured (Python/Rust parity:
|
|
124
|
+
// extended_agent_card = auth is not None), independent of whether the
|
|
125
|
+
// authenticator returns any security schemes.
|
|
126
|
+
extendedAgentCard: opts.auth != null,
|
|
55
127
|
};
|
|
56
128
|
// Build AgentCard
|
|
57
129
|
const agentCard = this.agentCardBuilder.build(registry, {
|
|
@@ -117,12 +189,22 @@ export class A2AServerFactory {
|
|
|
117
189
|
});
|
|
118
190
|
}
|
|
119
191
|
// Agent card endpoint
|
|
120
|
-
|
|
192
|
+
// agentCardHandler() returns a router that responds at its mount root ("/"),
|
|
193
|
+
// so it must be mounted with app.use(path, ...) rather than app.get(path, ...).
|
|
194
|
+
// A2A 1.0 primary endpoint
|
|
195
|
+
app.use("/.well-known/agent-card.json", agentCardHandler({ agentCardProvider: requestHandler }));
|
|
196
|
+
// A2A 0.3 alias (kept for backward compatibility)
|
|
197
|
+
app.use("/.well-known/agent.json", agentCardHandler({ agentCardProvider: requestHandler }));
|
|
121
198
|
// JSON-RPC endpoint
|
|
122
199
|
app.post("/", jsonRpcHandler({
|
|
123
200
|
requestHandler,
|
|
124
201
|
userBuilder: UserBuilder.noAuthentication,
|
|
125
202
|
}));
|
|
203
|
+
// REST transport endpoints (A2A HTTP+JSON/REST protocol)
|
|
204
|
+
app.use(restHandler({
|
|
205
|
+
requestHandler,
|
|
206
|
+
userBuilder: UserBuilder.noAuthentication,
|
|
207
|
+
}));
|
|
126
208
|
// Explorer UI
|
|
127
209
|
if (opts.explorer) {
|
|
128
210
|
app.use(explorerPrefix, createExplorerRouter(agentCard, { registry }));
|
|
@@ -137,7 +219,9 @@ export class A2AServerFactory {
|
|
|
137
219
|
// ignore
|
|
138
220
|
}
|
|
139
221
|
try {
|
|
140
|
-
|
|
222
|
+
// a2a-js 1.0 TaskStore.load requires a ServerCallContext (tenant /
|
|
223
|
+
// owner scoping); a default context is sufficient for a reachability probe.
|
|
224
|
+
await taskStore.load("__health_probe__", new ServerCallContext());
|
|
141
225
|
}
|
|
142
226
|
catch {
|
|
143
227
|
res.status(503).json({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE1E,MAAM,YAAY;IAChB,WAAW,GAAG,CAAC,CAAC;IAChB,cAAc,GAAG,CAAC,CAAC;IACnB,WAAW,GAAG,CAAC,CAAC;IAChB,aAAa,GAAG,CAAC,CAAC;IAClB,kBAAkB,GAAG,CAAC,CAAC;IACvB,aAAa,GAAG,CAAC,CAAC;IACV,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEtC,aAAa;QACX,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QAClD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,SAAS,IAAI,SAAS;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3C,IAAI,SAAS,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,KAAK,WAAW;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;aAC/C,IAAI,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aAC9C,IAAI,QAAQ,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aAClD,IAAI,QAAQ,KAAK,gBAAgB;YAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACpE,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apcore-a2a",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Automatic A2A Protocol Adapter for apcore Module Registry",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,8 +31,9 @@
|
|
|
31
31
|
"prepublishOnly": "npm run build"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@a2a-js/sdk": "
|
|
35
|
-
"apcore-js": "
|
|
34
|
+
"@a2a-js/sdk": ">=1.0.0-alpha.0",
|
|
35
|
+
"apcore-js": ">=0.22.0",
|
|
36
|
+
"apcore-toolkit": ">=0.8.0",
|
|
36
37
|
"express": "^5.1.0",
|
|
37
38
|
"jsonwebtoken": "^9.0.3",
|
|
38
39
|
"uuid": "^13.0.0"
|