@nifrajs/a2a 3.5.0 → 4.0.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/README.md +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -15
- package/dist/index.js.map +1 -1
- package/package.json +6 -3
- package/src/index.ts +35 -18
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@ Agent input is `message.metadata.input` when present, otherwise the first `text`
|
|
|
46
46
|
|
|
47
47
|
## Human-in-the-loop resume
|
|
48
48
|
|
|
49
|
-
A suspended task's status message carries the pending continuation in `metadata`. Send it back to continue the same task - the runtime keeps state token-only, so a suspended tool's input must be replayed in `continuation.input
|
|
49
|
+
A suspended task's status message carries the pending continuation in `metadata`. Send it back to continue the same task - the runtime keeps state token-only, so a suspended tool's input must be replayed in `continuation.input`. The turn keeps a digest of that input: a continuation naming another tool, effect, kind or input is refused, and an `approval` answers only an `approval` suspension:
|
|
50
50
|
|
|
51
51
|
```jsonc
|
|
52
52
|
{
|
|
@@ -69,6 +69,8 @@ A suspended task's status message carries the pending continuation in `metadata`
|
|
|
69
69
|
|
|
70
70
|
Cross-request registries (cancellation, subscription fan-out, push notifications) are deliberately out of scope for the stateless seam; those spec methods answer `UnsupportedOperationError` (-32004).
|
|
71
71
|
|
|
72
|
+
A reply larger than `maxOutputBytes` answers the request with a JSON-RPC internal error (-32603, `output_limit`), the same error a stream sends when it runs out of budget. A request whose ports or store fail answers with -32603 `internal_error`, keeping the request's `id`.
|
|
73
|
+
|
|
72
74
|
The seam performs no authentication or authorization - wrap it with your app's route guards and scope every port in `ports(c)` to the caller.
|
|
73
75
|
|
|
74
76
|
## Docs
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -79,7 +79,14 @@ export function mountA2A(app, options) {
|
|
|
79
79
|
const runOptions = options.maxTurns === undefined ? {} : { maxTurns: options.maxTurns };
|
|
80
80
|
const card = agentCard(options.agent, options.card);
|
|
81
81
|
app.get(cardPath, () => jsonResponse(200, card));
|
|
82
|
-
app.post(path, (c) => readBodyFramed(c.req, maxBytes, proto, (parsed) =>
|
|
82
|
+
app.post(path, (c) => readBodyFramed(c.req, maxBytes, proto, (parsed) => {
|
|
83
|
+
// A reply the mount cannot complete still answers the request it belongs to.
|
|
84
|
+
const record = asRecord(parsed);
|
|
85
|
+
const id = (record === undefined ? undefined : asRpcId(record.id)) ?? null;
|
|
86
|
+
return dispatch(c, parsed, options, runOptions, maxOutputBytes)
|
|
87
|
+
.then((response) => boundJsonResponse(response, maxOutputBytes, id))
|
|
88
|
+
.catch(() => rpcErrorResponse(id, A2A_ERROR_CODES.internalError, "internal_error"));
|
|
89
|
+
}, (rejection) => render(rejection), () => rpcErrorResponse(null, A2A_ERROR_CODES.parseError, "parse_error")).catch(() => rpcErrorResponse(null, A2A_ERROR_CODES.internalError, "internal_error")));
|
|
83
90
|
}
|
|
84
91
|
async function dispatch(c, parsed, options, runOptions, maxOutputBytes) {
|
|
85
92
|
const request = asRecord(parsed);
|
|
@@ -361,10 +368,10 @@ function rpcError(id, code, message) {
|
|
|
361
368
|
return { jsonrpc: "2.0", id, error: { code, message } };
|
|
362
369
|
}
|
|
363
370
|
function rpcResultResponse(id, result) {
|
|
364
|
-
return jsonResponse(200, rpcResult(id, result));
|
|
371
|
+
return jsonResponse(200, rpcResult(id, result), id);
|
|
365
372
|
}
|
|
366
373
|
function rpcErrorResponse(id, code, message) {
|
|
367
|
-
return jsonResponse(200, rpcError(id, code, message));
|
|
374
|
+
return jsonResponse(200, rpcError(id, code, message), id);
|
|
368
375
|
}
|
|
369
376
|
function asRpcId(value) {
|
|
370
377
|
if (typeof value === "string" &&
|
|
@@ -389,33 +396,41 @@ function asRecord(value) {
|
|
|
389
396
|
return undefined;
|
|
390
397
|
return value;
|
|
391
398
|
}
|
|
392
|
-
|
|
399
|
+
/** With `rpcId`, the body is a JSON-RPC reply, and one that cannot be sent becomes an error for it. */
|
|
400
|
+
function jsonResponse(status, body, rpcId) {
|
|
393
401
|
let serialized;
|
|
402
|
+
let failure;
|
|
394
403
|
try {
|
|
395
|
-
|
|
396
|
-
if (
|
|
397
|
-
|
|
398
|
-
serialized = candidate;
|
|
404
|
+
serialized = JSON.stringify(body);
|
|
405
|
+
if (serialized === undefined)
|
|
406
|
+
failure = "response_serialization_failed";
|
|
399
407
|
}
|
|
400
408
|
catch {
|
|
401
|
-
|
|
402
|
-
status = 500;
|
|
409
|
+
failure = "response_serialization_failed";
|
|
403
410
|
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
411
|
+
// The hard ceiling only: the mount's configured `maxOutputBytes` is applied by `boundJsonResponse`.
|
|
412
|
+
if (serialized !== undefined &&
|
|
413
|
+
new TextEncoder().encode(serialized).byteLength > MAX_OUTPUT_BYTES)
|
|
414
|
+
failure = rpcId === undefined ? "response_too_large" : "output_limit";
|
|
415
|
+
if (failure !== undefined) {
|
|
416
|
+
if (rpcId === undefined) {
|
|
417
|
+
serialized = JSON.stringify({ error: failure });
|
|
418
|
+
status = 500;
|
|
419
|
+
}
|
|
420
|
+
else
|
|
421
|
+
serialized = JSON.stringify(rpcError(rpcId, A2A_ERROR_CODES.internalError, failure));
|
|
407
422
|
}
|
|
408
423
|
return new Response(serialized, {
|
|
409
424
|
status,
|
|
410
425
|
headers: { "content-type": "application/json; charset=utf-8" },
|
|
411
426
|
});
|
|
412
427
|
}
|
|
413
|
-
async function boundJsonResponse(response, maxOutputBytes) {
|
|
428
|
+
async function boundJsonResponse(response, maxOutputBytes, rpcId) {
|
|
414
429
|
if (!response.headers.get("content-type")?.startsWith("application/json"))
|
|
415
430
|
return response;
|
|
416
431
|
const bytes = await response.arrayBuffer();
|
|
417
432
|
if (bytes.byteLength > maxOutputBytes)
|
|
418
|
-
return
|
|
433
|
+
return rpcErrorResponse(rpcId, A2A_ERROR_CODES.internalError, "output_limit");
|
|
419
434
|
return new Response(bytes, { status: response.status, headers: response.headers });
|
|
420
435
|
}
|
|
421
436
|
function assertOutputLimit(value) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nifrajs/a2a",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Mount a nifra agent as an Agent2Agent (A2A) protocol server - the agent card on GET, the A2A 1.0 JSON-RPC binding on POST with SendMessage, streaming SendStreamingMessage over SSE, and GetTask projected from the runner's turn state. A protocol bridge over @nifrajs/agent; the model, state store, and approval transport stay injected per request.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
"interop"
|
|
15
15
|
],
|
|
16
16
|
"type": "module",
|
|
17
|
+
"nifra": {
|
|
18
|
+
"environment": "library"
|
|
19
|
+
},
|
|
17
20
|
"main": "./dist/index.js",
|
|
18
21
|
"module": "./dist/index.js",
|
|
19
22
|
"types": "./dist/index.d.ts",
|
|
@@ -33,8 +36,8 @@
|
|
|
33
36
|
"build": "tsc -p tsconfig.build.json && bun run ../../scripts/fix-dts.ts dist"
|
|
34
37
|
},
|
|
35
38
|
"peerDependencies": {
|
|
36
|
-
"@nifrajs/agent": "^
|
|
37
|
-
"@nifrajs/core": "^
|
|
39
|
+
"@nifrajs/agent": "^4.0.0",
|
|
40
|
+
"@nifrajs/core": "^4.0.0"
|
|
38
41
|
},
|
|
39
42
|
"peerDependenciesMeta": {
|
|
40
43
|
"@nifrajs/core": {
|
package/src/index.ts
CHANGED
|
@@ -189,10 +189,14 @@ export function mountA2A<
|
|
|
189
189
|
c.req,
|
|
190
190
|
maxBytes,
|
|
191
191
|
proto,
|
|
192
|
-
(parsed) =>
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
)
|
|
192
|
+
(parsed) => {
|
|
193
|
+
// A reply the mount cannot complete still answers the request it belongs to.
|
|
194
|
+
const record = asRecord(parsed)
|
|
195
|
+
const id = (record === undefined ? undefined : asRpcId(record.id)) ?? null
|
|
196
|
+
return dispatch(c, parsed, options, runOptions, maxOutputBytes)
|
|
197
|
+
.then((response) => boundJsonResponse(response, maxOutputBytes, id))
|
|
198
|
+
.catch(() => rpcErrorResponse(id, A2A_ERROR_CODES.internalError, "internal_error"))
|
|
199
|
+
},
|
|
196
200
|
(rejection) => render(rejection),
|
|
197
201
|
() => rpcErrorResponse(null, A2A_ERROR_CODES.parseError, "parse_error"),
|
|
198
202
|
).catch(() => rpcErrorResponse(null, A2A_ERROR_CODES.internalError, "internal_error")),
|
|
@@ -536,11 +540,11 @@ function rpcError(id: RpcId | null, code: number, message: string): Record<strin
|
|
|
536
540
|
}
|
|
537
541
|
|
|
538
542
|
function rpcResultResponse(id: RpcId, result: unknown): Response {
|
|
539
|
-
return jsonResponse(200, rpcResult(id, result))
|
|
543
|
+
return jsonResponse(200, rpcResult(id, result), id)
|
|
540
544
|
}
|
|
541
545
|
|
|
542
546
|
function rpcErrorResponse(id: RpcId | null, code: number, message: string): Response {
|
|
543
|
-
return jsonResponse(200, rpcError(id, code, message))
|
|
547
|
+
return jsonResponse(200, rpcError(id, code, message), id)
|
|
544
548
|
}
|
|
545
549
|
|
|
546
550
|
function asRpcId(value: unknown): RpcId | undefined {
|
|
@@ -568,19 +572,27 @@ function asRecord(value: unknown): Record<string, unknown> | undefined {
|
|
|
568
572
|
return value as Record<string, unknown>
|
|
569
573
|
}
|
|
570
574
|
|
|
571
|
-
|
|
572
|
-
|
|
575
|
+
/** With `rpcId`, the body is a JSON-RPC reply, and one that cannot be sent becomes an error for it. */
|
|
576
|
+
function jsonResponse(status: number, body: unknown, rpcId?: RpcId | null): Response {
|
|
577
|
+
let serialized: string | undefined
|
|
578
|
+
let failure: string | undefined
|
|
573
579
|
try {
|
|
574
|
-
|
|
575
|
-
if (
|
|
576
|
-
serialized = candidate
|
|
580
|
+
serialized = JSON.stringify(body)
|
|
581
|
+
if (serialized === undefined) failure = "response_serialization_failed"
|
|
577
582
|
} catch {
|
|
578
|
-
|
|
579
|
-
status = 500
|
|
583
|
+
failure = "response_serialization_failed"
|
|
580
584
|
}
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
585
|
+
// The hard ceiling only: the mount's configured `maxOutputBytes` is applied by `boundJsonResponse`.
|
|
586
|
+
if (
|
|
587
|
+
serialized !== undefined &&
|
|
588
|
+
new TextEncoder().encode(serialized).byteLength > MAX_OUTPUT_BYTES
|
|
589
|
+
)
|
|
590
|
+
failure = rpcId === undefined ? "response_too_large" : "output_limit"
|
|
591
|
+
if (failure !== undefined) {
|
|
592
|
+
if (rpcId === undefined) {
|
|
593
|
+
serialized = JSON.stringify({ error: failure })
|
|
594
|
+
status = 500
|
|
595
|
+
} else serialized = JSON.stringify(rpcError(rpcId, A2A_ERROR_CODES.internalError, failure))
|
|
584
596
|
}
|
|
585
597
|
return new Response(serialized, {
|
|
586
598
|
status,
|
|
@@ -588,10 +600,15 @@ function jsonResponse(status: number, body: unknown): Response {
|
|
|
588
600
|
})
|
|
589
601
|
}
|
|
590
602
|
|
|
591
|
-
async function boundJsonResponse(
|
|
603
|
+
async function boundJsonResponse(
|
|
604
|
+
response: Response,
|
|
605
|
+
maxOutputBytes: number,
|
|
606
|
+
rpcId: RpcId | null,
|
|
607
|
+
): Promise<Response> {
|
|
592
608
|
if (!response.headers.get("content-type")?.startsWith("application/json")) return response
|
|
593
609
|
const bytes = await response.arrayBuffer()
|
|
594
|
-
if (bytes.byteLength > maxOutputBytes)
|
|
610
|
+
if (bytes.byteLength > maxOutputBytes)
|
|
611
|
+
return rpcErrorResponse(rpcId, A2A_ERROR_CODES.internalError, "output_limit")
|
|
595
612
|
return new Response(bytes, { status: response.status, headers: response.headers })
|
|
596
613
|
}
|
|
597
614
|
|