apcore-a2a 0.4.3 → 0.5.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/dist/adapters/agent-card.d.ts.map +1 -1
- package/dist/adapters/agent-card.js +15 -0
- package/dist/adapters/agent-card.js.map +1 -1
- package/dist/adapters/errors.d.ts +47 -0
- package/dist/adapters/errors.d.ts.map +1 -1
- package/dist/adapters/errors.js +80 -5
- package/dist/adapters/errors.js.map +1 -1
- package/dist/client/client.d.ts +15 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +121 -13
- package/dist/client/client.js.map +1 -1
- package/dist/server/context.d.ts +57 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +66 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/executor.d.ts.map +1 -1
- package/dist/server/executor.js +46 -1
- package/dist/server/executor.js.map +1 -1
- package/dist/server/factory.d.ts +12 -0
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +16 -7
- package/dist/server/factory.js.map +1 -1
- package/package.json +8 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CACxD;AAqBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAA0B;gBAEhC,WAAW,EAAE,WAAW;IAIpC,KAAK,CACH,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,iBAAiB,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GACA,SAAS;
|
|
1
|
+
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CACxD;AAqBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAA0B;gBAEhC,WAAW,EAAE,WAAW;IAIpC,KAAK,CACH,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,iBAAiB,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GACA,SAAS;IAwDZ,gBAAgB,CACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,iBAAiB,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GACA,SAAS;IAKZ,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAI7C,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,WAAW;CAapB"}
|
|
@@ -39,6 +39,21 @@ export class AgentCardBuilder {
|
|
|
39
39
|
tenant: "",
|
|
40
40
|
protocolVersion: "1.0",
|
|
41
41
|
},
|
|
42
|
+
// A2A 0.3 mirror of the same binding. Not decoration: a2a-js runs
|
|
43
|
+
// `validateVersion(requestedVersion, card, "JSONRPC")` before dispatch
|
|
44
|
+
// on both the v1.0 and the v0.3 compat path, and a request with no
|
|
45
|
+
// `A2A-Version` header is a 0.3 request per spec section 3.6.2 -- so
|
|
46
|
+
// without this entry every header-less request is refused -32009,
|
|
47
|
+
// including everything this package's own Explorer and A2AClient send.
|
|
48
|
+
// apcore-a2a-python needs no equivalent because a2a-python's
|
|
49
|
+
// `enable_v0_3_compat` does not consult the card; this entry is what
|
|
50
|
+
// buys apcore-a2a-typescript the same 0.3 acceptance.
|
|
51
|
+
{
|
|
52
|
+
url: opts.url,
|
|
53
|
+
protocolBinding: "JSONRPC",
|
|
54
|
+
tenant: "",
|
|
55
|
+
protocolVersion: "0.3",
|
|
56
|
+
},
|
|
42
57
|
],
|
|
43
58
|
provider: undefined,
|
|
44
59
|
skills,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../src/adapters/agent-card.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../src/adapters/agent-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,51 @@ export declare class ErrorMapper {
|
|
|
9
9
|
private handleApcoreError;
|
|
10
10
|
private sanitizeMessage;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Whether a `SCHEMA_VALIDATION_ERROR` is about something the *server* produced
|
|
14
|
+
* rather than something the caller sent.
|
|
15
|
+
*
|
|
16
|
+
* Reporting an output-validation failure as `-32602 Invalid params` tells the
|
|
17
|
+
* caller to fix a request that was correct, and the default `aiGuidance` apcore
|
|
18
|
+
* attaches to `SchemaValidationError` says "Input validation failed" and points
|
|
19
|
+
* at a `details.errors` field an A2A caller never receives. Those are
|
|
20
|
+
* server-side defects and belong behind the fixed internal string.
|
|
21
|
+
*
|
|
22
|
+
* The direction label apcore puts at the front of the message is the only signal
|
|
23
|
+
* that exists, so this matches that prefix. Anything unrecognized keeps the
|
|
24
|
+
* caller-facing detail -- including a module that raises the code itself with
|
|
25
|
+
* its own wording, whose message srs FR-ERR-002 requires the caller to see.
|
|
26
|
+
* Failing to recognize a server-side error therefore preserves the previous
|
|
27
|
+
* behaviour; it never masks a caller-fixable one by mistake.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isServerSideSchemaError(message: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether {@link ErrorMapper.toJsonRpcError} forwards this error's own message
|
|
32
|
+
* to the caller (sanitized), or replaces it with a fixed per-class string.
|
|
33
|
+
*
|
|
34
|
+
* This is the partition that decides whether a message may be *widened* -- with
|
|
35
|
+
* `aiGuidance`, or anything else. It is deliberately not `userFixable`, which is
|
|
36
|
+
* a different partition: six apcore codes carry `userFixable === true` while
|
|
37
|
+
* falling into `handleApcoreError`'s catch-all (`VERSION_CONSTRAINT_INVALID`,
|
|
38
|
+
* `BINDING_SCHEMA_INFERENCE_FAILED`, `BINDING_SCHEMA_MODE_CONFLICT`,
|
|
39
|
+
* `BINDING_STRICT_SCHEMA_INCOMPATIBLE`, `DEPENDENCY_NOT_FOUND`,
|
|
40
|
+
* `DEPENDENCY_VERSION_MISMATCH`), and appending guidance to those would extend
|
|
41
|
+
* the fixed "Internal server error" string with internal detail that
|
|
42
|
+
* {@link sanitizeMessage} does not strip (module ids, versions, env-var names,
|
|
43
|
+
* hostnames). `userFixable` is also settable per-error by the module author,
|
|
44
|
+
* which would let any module widen any fixed per-class string at will,
|
|
45
|
+
* including the `ACL_DENIED` mask.
|
|
46
|
+
*
|
|
47
|
+
* `errorMapper message policy matches toJsonRpcError` locks this to the
|
|
48
|
+
* branching in `ErrorMapper.handleApcoreError` across every apcore error code,
|
|
49
|
+
* so the two cannot drift.
|
|
50
|
+
*/
|
|
51
|
+
export declare function carriesCallerDetail(error: unknown): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Strip file paths, traceback lines and excess whitespace from text bound for a
|
|
54
|
+
* caller, then truncate to 500 characters. Module-level so the task-status
|
|
55
|
+
* surface (`server/executor.ts`) applies exactly the same redaction as the
|
|
56
|
+
* JSON-RPC surface.
|
|
57
|
+
*/
|
|
58
|
+
export declare function sanitizeMessage(message: string): string;
|
|
12
59
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/adapters/errors.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKnE,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY;IAqB5C,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/adapters/errors.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKnE,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY;IAqB5C,OAAO,CAAC,iBAAiB;IA4DzB,OAAO,CAAC,eAAe;CAGxB;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAS3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
package/dist/adapters/errors.js
CHANGED
|
@@ -31,6 +31,11 @@ export class ErrorMapper {
|
|
|
31
31
|
return { code: CODE_METHOD_NOT_FOUND, message };
|
|
32
32
|
}
|
|
33
33
|
if (errorCode === ErrorCodes.SCHEMA_VALIDATION_ERROR) {
|
|
34
|
+
// apcore raises the one code for output validation too, which the caller
|
|
35
|
+
// can do nothing about -- see isServerSideSchemaError.
|
|
36
|
+
if (isServerSideSchemaError(error.message)) {
|
|
37
|
+
return { code: CODE_INTERNAL_ERROR, message: "Internal server error" };
|
|
38
|
+
}
|
|
34
39
|
const message = this.sanitizeMessage(error.message);
|
|
35
40
|
return { code: CODE_INVALID_PARAMS, message };
|
|
36
41
|
}
|
|
@@ -66,11 +71,81 @@ export class ErrorMapper {
|
|
|
66
71
|
return { code: CODE_INTERNAL_ERROR, message: "Internal server error" };
|
|
67
72
|
}
|
|
68
73
|
sanitizeMessage(message) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
return sanitizeMessage(message);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Direction labels apcore puts at the front of a SCHEMA_VALIDATION_ERROR
|
|
79
|
+
* message. apcore-js raises the code for input and output validation
|
|
80
|
+
* (`builtin-steps.js`: ``validateSchema(schema, data, 'Input' | 'Output')``,
|
|
81
|
+
* whose message is `` `${direction} validation failed` ``). Config validation is
|
|
82
|
+
* not in this set: apcore-js raises `ConfigError` / `CONFIG_INVALID` for it,
|
|
83
|
+
* which `handleApcoreError` already sends to the fixed internal string through
|
|
84
|
+
* its catch-all.
|
|
85
|
+
*/
|
|
86
|
+
const SERVER_SIDE_SCHEMA_PREFIXES = ["Output validation failed"];
|
|
87
|
+
/**
|
|
88
|
+
* Whether a `SCHEMA_VALIDATION_ERROR` is about something the *server* produced
|
|
89
|
+
* rather than something the caller sent.
|
|
90
|
+
*
|
|
91
|
+
* Reporting an output-validation failure as `-32602 Invalid params` tells the
|
|
92
|
+
* caller to fix a request that was correct, and the default `aiGuidance` apcore
|
|
93
|
+
* attaches to `SchemaValidationError` says "Input validation failed" and points
|
|
94
|
+
* at a `details.errors` field an A2A caller never receives. Those are
|
|
95
|
+
* server-side defects and belong behind the fixed internal string.
|
|
96
|
+
*
|
|
97
|
+
* The direction label apcore puts at the front of the message is the only signal
|
|
98
|
+
* that exists, so this matches that prefix. Anything unrecognized keeps the
|
|
99
|
+
* caller-facing detail -- including a module that raises the code itself with
|
|
100
|
+
* its own wording, whose message srs FR-ERR-002 requires the caller to see.
|
|
101
|
+
* Failing to recognize a server-side error therefore preserves the previous
|
|
102
|
+
* behaviour; it never masks a caller-fixable one by mistake.
|
|
103
|
+
*/
|
|
104
|
+
export function isServerSideSchemaError(message) {
|
|
105
|
+
return SERVER_SIDE_SCHEMA_PREFIXES.some((prefix) => message.startsWith(prefix));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Whether {@link ErrorMapper.toJsonRpcError} forwards this error's own message
|
|
109
|
+
* to the caller (sanitized), or replaces it with a fixed per-class string.
|
|
110
|
+
*
|
|
111
|
+
* This is the partition that decides whether a message may be *widened* -- with
|
|
112
|
+
* `aiGuidance`, or anything else. It is deliberately not `userFixable`, which is
|
|
113
|
+
* a different partition: six apcore codes carry `userFixable === true` while
|
|
114
|
+
* falling into `handleApcoreError`'s catch-all (`VERSION_CONSTRAINT_INVALID`,
|
|
115
|
+
* `BINDING_SCHEMA_INFERENCE_FAILED`, `BINDING_SCHEMA_MODE_CONFLICT`,
|
|
116
|
+
* `BINDING_STRICT_SCHEMA_INCOMPATIBLE`, `DEPENDENCY_NOT_FOUND`,
|
|
117
|
+
* `DEPENDENCY_VERSION_MISMATCH`), and appending guidance to those would extend
|
|
118
|
+
* the fixed "Internal server error" string with internal detail that
|
|
119
|
+
* {@link sanitizeMessage} does not strip (module ids, versions, env-var names,
|
|
120
|
+
* hostnames). `userFixable` is also settable per-error by the module author,
|
|
121
|
+
* which would let any module widen any fixed per-class string at will,
|
|
122
|
+
* including the `ACL_DENIED` mask.
|
|
123
|
+
*
|
|
124
|
+
* `errorMapper message policy matches toJsonRpcError` locks this to the
|
|
125
|
+
* branching in `ErrorMapper.handleApcoreError` across every apcore error code,
|
|
126
|
+
* so the two cannot drift.
|
|
127
|
+
*/
|
|
128
|
+
export function carriesCallerDetail(error) {
|
|
129
|
+
const code = error?.code;
|
|
130
|
+
if (code === ErrorCodes.MODULE_NOT_FOUND || code === ErrorCodes.GENERAL_INVALID_INPUT) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
if (code === ErrorCodes.SCHEMA_VALIDATION_ERROR) {
|
|
134
|
+
return !isServerSideSchemaError(String(error.message ?? ""));
|
|
74
135
|
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Strip file paths, traceback lines and excess whitespace from text bound for a
|
|
140
|
+
* caller, then truncate to 500 characters. Module-level so the task-status
|
|
141
|
+
* surface (`server/executor.ts`) applies exactly the same redaction as the
|
|
142
|
+
* JSON-RPC surface.
|
|
143
|
+
*/
|
|
144
|
+
export function sanitizeMessage(message) {
|
|
145
|
+
// Strip file paths (Unix absolute paths and ~ paths)
|
|
146
|
+
let sanitized = message.replace(/~?\/\S*/g, "");
|
|
147
|
+
// Strip traceback lines (matching Python's behavior)
|
|
148
|
+
sanitized = sanitized.replace(/^.*(?:Traceback|File "|line \d+).*$/gm, "");
|
|
149
|
+
return sanitized.replace(/\s+/g, " ").trim().slice(0, 500);
|
|
75
150
|
}
|
|
76
151
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adapters/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adapters/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ export declare class A2AClient {
|
|
|
18
18
|
}): Promise<Record<string, unknown>>;
|
|
19
19
|
getTask(taskId: string): Promise<Record<string, unknown>>;
|
|
20
20
|
cancelTask(taskId: string): Promise<Record<string, unknown>>;
|
|
21
|
+
/**
|
|
22
|
+
* List tasks via `ListTasks`.
|
|
23
|
+
*
|
|
24
|
+
* A2A 1.0 names this method `ListTasks`; 0.3 had no task-listing method at
|
|
25
|
+
* all. The `tasks/list` spelling used here until 0.5.0 was neither, so it
|
|
26
|
+
* reached only this project's own Rust server.
|
|
27
|
+
*/
|
|
21
28
|
listTasks(opts?: {
|
|
22
29
|
contextId?: string;
|
|
23
30
|
limit?: number;
|
|
@@ -27,6 +34,14 @@ export declare class A2AClient {
|
|
|
27
34
|
contextId?: string;
|
|
28
35
|
}): AsyncGenerator<Record<string, unknown>>;
|
|
29
36
|
close(): void;
|
|
37
|
+
/**
|
|
38
|
+
* POST a JSON-RPC request, optionally declaring the A2A protocol version.
|
|
39
|
+
*
|
|
40
|
+
* Both upstream SDKs treat a request with no `A2A-Version` header as v0.3
|
|
41
|
+
* (spec section 3.6.2) and refuse 1.0 method names in that mode with
|
|
42
|
+
* `-32009`, so methods that exist only in 1.0 must declare `"1.0"`. Methods
|
|
43
|
+
* 0.3 also has stay unversioned, so a 0.3 server keeps working.
|
|
44
|
+
*/
|
|
30
45
|
private jsonrpcCall;
|
|
31
46
|
}
|
|
32
47
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAyGA,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAmB;gBAE1B,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAYrF,OAAO,CAAC,WAAW;IAWb,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlD,0FAA0F;IAC1F,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEhD;IAEK,WAAW,CACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAChE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM7B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIzD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlE;;;;;;OAMG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAU7B,aAAa,CAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAChE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiE1C,KAAK,IAAI,IAAI;IAIb;;;;;;;OAOG;YACW,WAAW;CAqC1B"}
|
package/dist/client/client.js
CHANGED
|
@@ -1,10 +1,79 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from "uuid";
|
|
2
2
|
import { AgentCardFetcher } from "./card-fetcher.js";
|
|
3
3
|
import { A2AConnectionError, A2AServerError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
4
|
+
/** Terminal A2A 1.0 task states; streaming stops when one is observed. */
|
|
5
|
+
const TERMINAL_STATES = new Set([
|
|
6
|
+
"TASK_STATE_COMPLETED",
|
|
7
|
+
"TASK_STATE_FAILED",
|
|
8
|
+
"TASK_STATE_CANCELED",
|
|
9
|
+
"TASK_STATE_REJECTED",
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* Return the event carried by a JSON-RPC SSE frame.
|
|
13
|
+
*
|
|
14
|
+
* Every `data:` line is a full JSON-RPC response whose `result` is the event.
|
|
15
|
+
* Frames that are not enveloped pass through unchanged.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Throw if `frame` is a JSON-RPC error frame rather than an event.
|
|
19
|
+
*
|
|
20
|
+
* A mid-stream failure arrives as its own frame — upstream tags it
|
|
21
|
+
* `event: error` and puts a JSON-RPC error response in `data:`. Envelope
|
|
22
|
+
* unwrapping only looks for `result`, so without this the frame was yielded as
|
|
23
|
+
* though it were an event and the failure was lost, while the non-streaming
|
|
24
|
+
* path threw for a byte-identical payload. Routes through the same
|
|
25
|
+
* `raiseJsonRpcError`, so a caller gets `TaskNotFoundError` /
|
|
26
|
+
* `TaskNotCancelableError` on both paths.
|
|
27
|
+
*/
|
|
28
|
+
function raiseIfStreamError(frame) {
|
|
29
|
+
if ("jsonrpc" in frame && "error" in frame) {
|
|
30
|
+
raiseJsonRpcError(frame.error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function unwrapStreamEnvelope(frame) {
|
|
34
|
+
if ("jsonrpc" in frame && "result" in frame) {
|
|
35
|
+
const result = frame.result;
|
|
36
|
+
if (result && typeof result === "object")
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
return frame;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether `event` is a terminal `statusUpdate`.
|
|
43
|
+
*
|
|
44
|
+
* A2A 1.0 removed the `final` flag 0.3 used to mark the last event, so the
|
|
45
|
+
* terminal state itself is the signal.
|
|
46
|
+
*/
|
|
47
|
+
function isTerminalEvent(event) {
|
|
48
|
+
const statusUpdate = event.statusUpdate;
|
|
49
|
+
const state = statusUpdate?.status?.state;
|
|
50
|
+
return state !== undefined && TERMINAL_STATES.has(state);
|
|
51
|
+
}
|
|
4
52
|
const JSONRPC_ERRORS = {
|
|
5
53
|
[-32001]: TaskNotFoundError,
|
|
6
54
|
[-32002]: TaskNotCancelableError,
|
|
7
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Message patterns that recover a typed error from a miscoded `-32603`.
|
|
58
|
+
*
|
|
59
|
+
* `@a2a-js/sdk` 1.0.1 bundles `toJsonRpcError` and the `A2AError` class
|
|
60
|
+
* separately into `dist/server/index.js` and `dist/server/express/index.js`, so
|
|
61
|
+
* an error thrown by `DefaultRequestHandler` fails both `instanceof` guards in
|
|
62
|
+
* the express copy and arrives as `-32603` — with its message intact. Every
|
|
63
|
+
* semantic A2A error on that path is affected (`-32001` through `-32006`);
|
|
64
|
+
* these two are the ones this client maps to a type, so without this a caller's
|
|
65
|
+
* `catch (e) { if (e instanceof TaskNotFoundError) ... }` silently stopped
|
|
66
|
+
* matching. The message is all that is left to recover the type from.
|
|
67
|
+
*
|
|
68
|
+
* Deliberately *not* mirrored on the server side: rewriting the wire code would
|
|
69
|
+
* mean intercepting responses and prefix-matching six message shapes, and would
|
|
70
|
+
* hide the upstream bug rather than work around it. A third-party client still
|
|
71
|
+
* sees `-32603`; only this one recovers.
|
|
72
|
+
*/
|
|
73
|
+
const SDK_BUNDLING_FALLBACK = [
|
|
74
|
+
[/^Task not found(:|$)/, TaskNotFoundError],
|
|
75
|
+
[/^(Task not cancelable:|Task cannot be canceled$)/, TaskNotCancelableError],
|
|
76
|
+
];
|
|
8
77
|
function raiseJsonRpcError(error) {
|
|
9
78
|
const code = error.code ?? -32603;
|
|
10
79
|
const message = error.message ?? "Server error";
|
|
@@ -13,6 +82,16 @@ function raiseJsonRpcError(error) {
|
|
|
13
82
|
throw new TaskNotFoundError();
|
|
14
83
|
if (ErrorClass === TaskNotCancelableError)
|
|
15
84
|
throw new TaskNotCancelableError();
|
|
85
|
+
// Gated on -32603 so a server reporting the spec codes correctly — including
|
|
86
|
+
// this package's own ErrorMapper, and any SDK build with the bundling fixed —
|
|
87
|
+
// never reaches here. Once upstream is fixed the lookups above take over and
|
|
88
|
+
// this loop becomes unreachable.
|
|
89
|
+
if (code === -32603) {
|
|
90
|
+
for (const [pattern, Fallback] of SDK_BUNDLING_FALLBACK) {
|
|
91
|
+
if (pattern.test(message))
|
|
92
|
+
throw new Fallback();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
16
95
|
throw new A2AServerError(message, code);
|
|
17
96
|
}
|
|
18
97
|
export class A2AClient {
|
|
@@ -62,11 +141,22 @@ export class A2AClient {
|
|
|
62
141
|
async cancelTask(taskId) {
|
|
63
142
|
return this.jsonrpcCall("tasks/cancel", { id: taskId });
|
|
64
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* List tasks via `ListTasks`.
|
|
146
|
+
*
|
|
147
|
+
* A2A 1.0 names this method `ListTasks`; 0.3 had no task-listing method at
|
|
148
|
+
* all. The `tasks/list` spelling used here until 0.5.0 was neither, so it
|
|
149
|
+
* reached only this project's own Rust server.
|
|
150
|
+
*/
|
|
65
151
|
async listTasks(opts) {
|
|
66
|
-
|
|
152
|
+
// `limit` stays the friendly option name but goes on the wire as
|
|
153
|
+
// `pageSize`, which is what `ListTasksRequest` declares (alongside
|
|
154
|
+
// `pageToken`, `status`, `historyLength`, …). Sending `limit` earned an
|
|
155
|
+
// -32602 from both SDK-backed servers.
|
|
156
|
+
const params = { pageSize: opts?.limit ?? 50 };
|
|
67
157
|
if (opts?.contextId)
|
|
68
158
|
params.contextId = opts.contextId;
|
|
69
|
-
return this.jsonrpcCall("
|
|
159
|
+
return this.jsonrpcCall("ListTasks", params, "1.0");
|
|
70
160
|
}
|
|
71
161
|
async *streamMessage(message, opts) {
|
|
72
162
|
const params = { message, metadata: opts?.metadata ?? {} };
|
|
@@ -103,20 +193,27 @@ export class A2AClient {
|
|
|
103
193
|
break;
|
|
104
194
|
buffer += decoder.decode(value, { stream: true });
|
|
105
195
|
const lines = buffer.split("\n");
|
|
106
|
-
buffer = lines.pop();
|
|
107
|
-
for (const
|
|
108
|
-
|
|
196
|
+
buffer = lines.pop() ?? "";
|
|
197
|
+
for (const rawLine of lines) {
|
|
198
|
+
const line = rawLine.trimEnd();
|
|
199
|
+
// Skip keepalive comments (": ...") and blank separators.
|
|
200
|
+
if (line.startsWith("data:")) {
|
|
201
|
+
// The try covers parsing only: a malformed frame is skipped, but a
|
|
202
|
+
// JSON-RPC error frame must propagate to the caller, not be
|
|
203
|
+
// swallowed by the same catch.
|
|
204
|
+
let frame;
|
|
109
205
|
try {
|
|
110
|
-
|
|
111
|
-
yield data;
|
|
112
|
-
const final = data.final ||
|
|
113
|
-
data.result?.final;
|
|
114
|
-
if (final)
|
|
115
|
-
return;
|
|
206
|
+
frame = JSON.parse(line.slice(5).trimStart());
|
|
116
207
|
}
|
|
117
208
|
catch {
|
|
118
209
|
continue;
|
|
119
210
|
}
|
|
211
|
+
raiseIfStreamError(frame);
|
|
212
|
+
const event = unwrapStreamEnvelope(frame);
|
|
213
|
+
const terminal = isTerminalEvent(event);
|
|
214
|
+
yield event;
|
|
215
|
+
if (terminal)
|
|
216
|
+
return;
|
|
120
217
|
}
|
|
121
218
|
}
|
|
122
219
|
}
|
|
@@ -128,18 +225,29 @@ export class A2AClient {
|
|
|
128
225
|
close() {
|
|
129
226
|
// No persistent connection to close with native fetch
|
|
130
227
|
}
|
|
131
|
-
|
|
228
|
+
/**
|
|
229
|
+
* POST a JSON-RPC request, optionally declaring the A2A protocol version.
|
|
230
|
+
*
|
|
231
|
+
* Both upstream SDKs treat a request with no `A2A-Version` header as v0.3
|
|
232
|
+
* (spec section 3.6.2) and refuse 1.0 method names in that mode with
|
|
233
|
+
* `-32009`, so methods that exist only in 1.0 must declare `"1.0"`. Methods
|
|
234
|
+
* 0.3 also has stay unversioned, so a 0.3 server keeps working.
|
|
235
|
+
*/
|
|
236
|
+
async jsonrpcCall(method, params, a2aVersion) {
|
|
132
237
|
const body = {
|
|
133
238
|
jsonrpc: "2.0",
|
|
134
239
|
id: uuidv4(),
|
|
135
240
|
method,
|
|
136
241
|
params,
|
|
137
242
|
};
|
|
243
|
+
const headers = a2aVersion
|
|
244
|
+
? { ...this.headers, "A2A-Version": a2aVersion }
|
|
245
|
+
: this.headers;
|
|
138
246
|
let response;
|
|
139
247
|
try {
|
|
140
248
|
response = await fetch(`${this.url}/`, {
|
|
141
249
|
method: "POST",
|
|
142
|
-
headers
|
|
250
|
+
headers,
|
|
143
251
|
body: JSON.stringify(body),
|
|
144
252
|
signal: AbortSignal.timeout(this.timeout),
|
|
145
253
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Request } from "express";
|
|
2
|
+
import { ServerCallContext } from "@a2a-js/sdk/server";
|
|
3
|
+
import type { User } from "@a2a-js/sdk/server";
|
|
4
|
+
import type { Identity } from "apcore-js";
|
|
5
|
+
/**
|
|
6
|
+
* Adapts an apcore `Identity` to a2a-js's `User` interface.
|
|
7
|
+
*
|
|
8
|
+
* `userName` is the identity id, which is what a2a-js's `resolveUserScope` uses
|
|
9
|
+
* as the owner key -- the same principal the executor puts on the apcore
|
|
10
|
+
* `Context`, so governance and task scoping name the same caller.
|
|
11
|
+
*/
|
|
12
|
+
export declare class IdentityUser implements User {
|
|
13
|
+
private readonly identity;
|
|
14
|
+
constructor(identity: Identity);
|
|
15
|
+
get isAuthenticated(): boolean;
|
|
16
|
+
get userName(): string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* `UserBuilder` that carries the authenticated principal into the
|
|
20
|
+
* `ServerCallContext`.
|
|
21
|
+
*
|
|
22
|
+
* a2a-js scopes every task-addressed operation by an *owner* resolved from that
|
|
23
|
+
* context: `InMemoryTaskStore` and `InMemoryPushNotificationStore` both bucket
|
|
24
|
+
* by `ownerResolver(context)`, whose default `resolveUserScope` returns
|
|
25
|
+
* `context.user?.userName`, and `DefaultRequestHandler` loads the task from
|
|
26
|
+
* that context-scoped store before `getTask`, `cancelTask`, `listTasks` and all
|
|
27
|
+
* four push-notification-config methods.
|
|
28
|
+
*
|
|
29
|
+
* That machinery was inert here because the handlers were mounted with
|
|
30
|
+
* `UserBuilder.noAuthentication`: every request built a context with
|
|
31
|
+
* `UnauthenticatedUser`, so every caller shared one owner bucket. `ListTasks`
|
|
32
|
+
* returned every caller's tasks including their full stdout, any principal
|
|
33
|
+
* could read or cancel another's task by id, and any principal could point
|
|
34
|
+
* another's terminal `statusUpdate` at a webhook of its choosing or delete the
|
|
35
|
+
* owner's push config. Only the unguessability of a UUIDv4 task id stood in the
|
|
36
|
+
* way.
|
|
37
|
+
*
|
|
38
|
+
* Callers with no `Identity` fall back to `UnauthenticatedUser` -- a single
|
|
39
|
+
* shared owner bucket. That covers both "no authenticator configured" and "an
|
|
40
|
+
* authenticator configured with `requireAuth: false` that did not authenticate
|
|
41
|
+
* this request". Single-tenant deployments are therefore unaffected; a
|
|
42
|
+
* permissive-mode deployment gets scoping only between authenticated callers.
|
|
43
|
+
*
|
|
44
|
+
* The identity is read from the `AsyncLocalStorage` that `createAuthMiddleware`
|
|
45
|
+
* enters before `next()`, so it is in scope for every downstream handler. The
|
|
46
|
+
* `req` argument is unused for that reason.
|
|
47
|
+
*/
|
|
48
|
+
export declare function identityUserBuilder(_req: Request): Promise<User>;
|
|
49
|
+
/**
|
|
50
|
+
* A `ServerCallContext` for the shared unauthenticated owner bucket.
|
|
51
|
+
*
|
|
52
|
+
* Used by in-process call sites that have no HTTP request to build from (the
|
|
53
|
+
* `/health` store probe). Explicit so those sites cannot accidentally read an
|
|
54
|
+
* authenticated principal's tasks.
|
|
55
|
+
*/
|
|
56
|
+
export declare function anonymousContext(): ServerCallContext;
|
|
57
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,IAAI;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ServerCallContext, UnauthenticatedUser } from "@a2a-js/sdk/server";
|
|
2
|
+
import { getAuthIdentity } from "../auth/storage.js";
|
|
3
|
+
/**
|
|
4
|
+
* Adapts an apcore `Identity` to a2a-js's `User` interface.
|
|
5
|
+
*
|
|
6
|
+
* `userName` is the identity id, which is what a2a-js's `resolveUserScope` uses
|
|
7
|
+
* as the owner key -- the same principal the executor puts on the apcore
|
|
8
|
+
* `Context`, so governance and task scoping name the same caller.
|
|
9
|
+
*/
|
|
10
|
+
export class IdentityUser {
|
|
11
|
+
identity;
|
|
12
|
+
constructor(identity) {
|
|
13
|
+
this.identity = identity;
|
|
14
|
+
}
|
|
15
|
+
get isAuthenticated() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
get userName() {
|
|
19
|
+
return this.identity.id;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* `UserBuilder` that carries the authenticated principal into the
|
|
24
|
+
* `ServerCallContext`.
|
|
25
|
+
*
|
|
26
|
+
* a2a-js scopes every task-addressed operation by an *owner* resolved from that
|
|
27
|
+
* context: `InMemoryTaskStore` and `InMemoryPushNotificationStore` both bucket
|
|
28
|
+
* by `ownerResolver(context)`, whose default `resolveUserScope` returns
|
|
29
|
+
* `context.user?.userName`, and `DefaultRequestHandler` loads the task from
|
|
30
|
+
* that context-scoped store before `getTask`, `cancelTask`, `listTasks` and all
|
|
31
|
+
* four push-notification-config methods.
|
|
32
|
+
*
|
|
33
|
+
* That machinery was inert here because the handlers were mounted with
|
|
34
|
+
* `UserBuilder.noAuthentication`: every request built a context with
|
|
35
|
+
* `UnauthenticatedUser`, so every caller shared one owner bucket. `ListTasks`
|
|
36
|
+
* returned every caller's tasks including their full stdout, any principal
|
|
37
|
+
* could read or cancel another's task by id, and any principal could point
|
|
38
|
+
* another's terminal `statusUpdate` at a webhook of its choosing or delete the
|
|
39
|
+
* owner's push config. Only the unguessability of a UUIDv4 task id stood in the
|
|
40
|
+
* way.
|
|
41
|
+
*
|
|
42
|
+
* Callers with no `Identity` fall back to `UnauthenticatedUser` -- a single
|
|
43
|
+
* shared owner bucket. That covers both "no authenticator configured" and "an
|
|
44
|
+
* authenticator configured with `requireAuth: false` that did not authenticate
|
|
45
|
+
* this request". Single-tenant deployments are therefore unaffected; a
|
|
46
|
+
* permissive-mode deployment gets scoping only between authenticated callers.
|
|
47
|
+
*
|
|
48
|
+
* The identity is read from the `AsyncLocalStorage` that `createAuthMiddleware`
|
|
49
|
+
* enters before `next()`, so it is in scope for every downstream handler. The
|
|
50
|
+
* `req` argument is unused for that reason.
|
|
51
|
+
*/
|
|
52
|
+
export function identityUserBuilder(_req) {
|
|
53
|
+
const identity = getAuthIdentity();
|
|
54
|
+
return Promise.resolve(identity ? new IdentityUser(identity) : new UnauthenticatedUser());
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A `ServerCallContext` for the shared unauthenticated owner bucket.
|
|
58
|
+
*
|
|
59
|
+
* Used by in-process call sites that have no HTTP request to build from (the
|
|
60
|
+
* `/health` store probe). Explicit so those sites cannot accidentally read an
|
|
61
|
+
* authenticated principal's tasks.
|
|
62
|
+
*/
|
|
63
|
+
export function anonymousContext() {
|
|
64
|
+
return new ServerCallContext({ user: new UnauthenticatedUser() });
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/server/executor.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/server/executor.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAsE1D,MAAM,WAAW,0BAA0B;IACzC,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,CAAC;IACF,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAG5B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAC,CAA+C;IAErE,OAAO,CAAC,YAAY,CAAyC;gBAEjD,IAAI,EAAE,0BAA0B;IAQ5C,OAAO,CAAC,MAAM;IAUR,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoKlF;;;OAGG;YACW,gBAAgB;IA+ExB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,eAAe;CAexB"}
|
package/dist/server/executor.js
CHANGED
|
@@ -2,6 +2,51 @@ import { v4 as uuidv4 } from "uuid";
|
|
|
2
2
|
import { Artifact, Part, Role, TaskState } from "@a2a-js/sdk";
|
|
3
3
|
import { AgentEvent, } from "@a2a-js/sdk/server";
|
|
4
4
|
import { getAuthIdentity } from "../auth/storage.js";
|
|
5
|
+
import { ErrorMapper, carriesCallerDetail, sanitizeMessage } from "../adapters/errors.js";
|
|
6
|
+
/**
|
|
7
|
+
* This package's single error-redaction policy. Stateless, so one instance is
|
|
8
|
+
* shared rather than threading another constructor argument through
|
|
9
|
+
* {@link ApCoreAgentExecutorOptions}.
|
|
10
|
+
*/
|
|
11
|
+
const errorMapper = new ErrorMapper();
|
|
12
|
+
/**
|
|
13
|
+
* Caller-facing text for a FAILED task status.
|
|
14
|
+
*
|
|
15
|
+
* Delegates to {@link ErrorMapper} so the task-status surface classifies exactly
|
|
16
|
+
* like the JSON-RPC surface instead of collapsing every code to one string:
|
|
17
|
+
*
|
|
18
|
+
* - internal / unrecognized errors keep the fixed `"Internal server error"`
|
|
19
|
+
* (srs FR-ERR-004 / FR-ERR-008, locked by the shared `error_mapping.json` and
|
|
20
|
+
* `streaming_events.json` fixtures);
|
|
21
|
+
* - `ACL_DENIED` stays masked as `"Task not found"` (srs FR-ERR-003);
|
|
22
|
+
* - caller-fixable classes (schema validation, invalid input, unknown module)
|
|
23
|
+
* carry their sanitized detail, which srs FR-ERR-002 requires precisely so a
|
|
24
|
+
* caller "can correct their input without guessing".
|
|
25
|
+
*
|
|
26
|
+
* For those detail-carrying classes the error's `aiGuidance` is appended when
|
|
27
|
+
* apcore supplied one: it exists to tell an agent what to do next, and an A2A
|
|
28
|
+
* caller sees only this status message. It is withheld for every other class,
|
|
29
|
+
* where the message is a fixed per-class string that must stay fixed.
|
|
30
|
+
*
|
|
31
|
+
* The gate is {@link carriesCallerDetail} -- the same partition `ErrorMapper`
|
|
32
|
+
* itself branches on. Gating on `error.userFixable` instead would be a different
|
|
33
|
+
* partition: six apcore codes are `userFixable === true` yet fall into the
|
|
34
|
+
* mapper's catch-all, so e.g. a `DEPENDENCY_NOT_FOUND` failure would send the
|
|
35
|
+
* caller `"Internal server error (module 'x' requires 'y' >= 2.1; ...)"` -- the
|
|
36
|
+
* deliberately-opaque string extended with dependency-graph detail that
|
|
37
|
+
* {@link sanitizeMessage} does not strip (it removes only paths and
|
|
38
|
+
* traceback-shaped lines, not module ids, versions, env-var names or
|
|
39
|
+
* hostnames). `userFixable` is settable per-error by the module author, so any
|
|
40
|
+
* module could widen the fixed string further.
|
|
41
|
+
*/
|
|
42
|
+
function failureText(error) {
|
|
43
|
+
const message = errorMapper.toJsonRpcError(error).message;
|
|
44
|
+
const guidance = error?.aiGuidance;
|
|
45
|
+
if (carriesCallerDetail(error) && typeof guidance === "string" && guidance.trim() !== "") {
|
|
46
|
+
return `${message} (${sanitizeMessage(guidance)})`;
|
|
47
|
+
}
|
|
48
|
+
return message;
|
|
49
|
+
}
|
|
5
50
|
function utcNow() {
|
|
6
51
|
return new Date().toISOString();
|
|
7
52
|
}
|
|
@@ -193,7 +238,7 @@ export class ApCoreAgentExecutor {
|
|
|
193
238
|
}
|
|
194
239
|
console.error(`Execution failed for task ${context.taskId} skill ${skillId}:`, e);
|
|
195
240
|
this.notify("working", "failed");
|
|
196
|
-
this.publishFailed(context, eventBus,
|
|
241
|
+
this.publishFailed(context, eventBus, failureText(e));
|
|
197
242
|
return;
|
|
198
243
|
}
|
|
199
244
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/server/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,UAAU,GAIX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,SAAS,EAAE,MAAM,EAAE;QACnB,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,UAAU,CAAC,KAAgB,EAAE,OAAiB;IACrD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjD,CAAC;AAgBD,MAAM,OAAO,mBAAmB;IACtB,QAAQ,CAAyC;IACjD,aAAa,CAAgB;IAC7B,QAAQ,CAAY;IAC5B,6EAA6E;IAC7E,oEAAoE;IAC5D,kBAAkB,CAAS;IAC3B,aAAa,CAAgD;IACrE,wCAAwC;IAChC,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE7D,YAAY,IAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,QAAgB,EAAE,QAAgB;QAC/C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAA2B;QAChE,oEAAoE;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,OAAO,CAAC,MAAM;YAClB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAClD,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;QAEF,uCAAuC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAA6B,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,8CAA8C,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,KAAe,CAAC;YACpB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,kCAAkC;gBAClC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAW,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;QACvD,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,MAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;QACnC,IAAI,SAAS,GAAY,SAAS,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAChF,mDAAmD;YACnD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,uEAAuE;YACvE,oEAAoE;YACpE,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,uCAAuC;YACvC,MAAM,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7E,qFAAqF;YACrF,SAAS,GAAG,QAAQ;gBAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;gBAC7C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAiC,CAAC,MAAM,CAAC;QAChE,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU;YAC9B,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,wBAAwB;gBACtD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,iCAAiC,CAAC,CAAC;QAEpF,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAExE,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,iEAAiE;gBACjE,mEAAmE;gBACnE,uEAAuE;gBACvE,2DAA2D;gBAC3D,uEAAuE;gBACvE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,IAAI,MAA+B,CAAC;gBACpC,MAAM,IAAI,GAAG,SAAS;oBACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC/C,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAE1D,kCAAkC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAE1E,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,cAAc,CAAC;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS;oBACT,QAAQ;oBACR,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,SAAS;iBACpB,CAAC,CACH,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAI,CAAuB,CAAC,IAAI,CAAC;YAC3C,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9B,kEAAkE;gBAClE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBACzC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,MAAM,UAAU,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;gBAAS,CAAC;YACT,iEAAiE;YACjE,gCAAgC;YAChC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAAuB,EACvB,QAA2B,EAC3B,QAAgB,EAChB,MAA+B,EAC/B,SAAkB;QAElB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,QAAQ,GACZ,IAAI,CAAC,QAGN,CAAC,MAAM,CAAC;QACT,MAAM,GAAG,GAAG,SAAS;YACnB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnD,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,SAAS,CAAC;YACR,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,IAAI,YAAY,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,IAA6C,CAAC;YAClD,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;oBAC9B,qDAAqD;oBACrD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YACD,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,qDAAqD;YACrD,MAAM,aAAa,GAAa,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC;YAE5D,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,cAAc,CAAC;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS;gBACT,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,UAAU,GAAG,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,SAAS;aACpB,CAAC,CACH,CAAC;YAEF,UAAU,EAAE,CAAC;QACf,CAAC;QAED,4CAA4C;QAC5C,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,cAAc,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACtD,MAAM,EAAE,UAAU,GAAG,CAAC;YACtB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAA2B;QAC1D,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,YAAY,CAAC;YACtB,MAAM;YACN,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;YACpF,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAEO,gBAAgB,CAAC,OAAuB,EAAE,QAA2B;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAClD,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAEO,aAAa,CACnB,OAAuB,EACvB,QAA2B,EAC3B,OAAe;QAEf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACrE,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,OAAuB,EACvB,QAA2B,EAC3B,OAAe;QAEf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,yBAAyB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7E,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,OAAuB,EACvB,QAA2B,EAC3B,OAAe;QAEf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,QAAQ,CAAC,OAAO,CACd,UAAU,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACvE,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,KAAK;IAC9B;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU;IACrD,IAAI,KAAoC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
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
|
@@ -8,6 +8,18 @@ export interface A2AServerCreateOptions {
|
|
|
8
8
|
description: string;
|
|
9
9
|
version: string;
|
|
10
10
|
url: string;
|
|
11
|
+
/**
|
|
12
|
+
* Custom task store. Participates in *enforcement*, not just storage: every
|
|
13
|
+
* task-addressed method is scoped to the authenticated principal by the
|
|
14
|
+
* store's own owner resolution, driven by the `ServerCallContext` this
|
|
15
|
+
* factory builds from the authenticated `Identity`.
|
|
16
|
+
*
|
|
17
|
+
* **A store that ignores its `ServerCallContext` argument disables task
|
|
18
|
+
* scoping entirely** -- every caller sees every caller's tasks. a2a-js's
|
|
19
|
+
* `InMemoryTaskStore` scopes by `ownerResolver`; a third-party store must do
|
|
20
|
+
* the same. Upstream states the requirement as a SHOULD on the `TaskStore`
|
|
21
|
+
* contract, so it cannot be enforced here.
|
|
22
|
+
*/
|
|
11
23
|
taskStore?: TaskStore;
|
|
12
24
|
auth?: Authenticator;
|
|
13
25
|
executionTimeout?: number;
|
|
@@ -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,EAAqB,MAAM,aAAa,CAAC;AAChE,OAAO,
|
|
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,EAIL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAO5E,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;;;;;;;;;;;OAWG;IACH,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;IAwOzC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CAM5D"}
|
package/dist/server/factory.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import express from "express";
|
|
2
|
-
import { DefaultRequestHandler, DefaultExecutionEventBusManager, InMemoryTaskStore,
|
|
3
|
-
import { jsonRpcHandler, agentCardHandler,
|
|
2
|
+
import { DefaultRequestHandler, DefaultExecutionEventBusManager, InMemoryTaskStore, } from "@a2a-js/sdk/server";
|
|
3
|
+
import { jsonRpcHandler, agentCardHandler, restHandler } from "@a2a-js/sdk/server/express";
|
|
4
4
|
import { Config, ErrorFormatterRegistry, ObsLoggingMiddleware, ErrorHistoryMiddleware, ErrorHistory, registerSysModules, } from "apcore-js";
|
|
5
5
|
import { SkillMapper } from "../adapters/skill-mapper.js";
|
|
6
6
|
import { SchemaConverter } from "../adapters/schema.js";
|
|
@@ -9,6 +9,7 @@ import { PartConverter } from "../adapters/parts.js";
|
|
|
9
9
|
import { ErrorMapper } from "../adapters/errors.js";
|
|
10
10
|
import { ApCoreAgentExecutor } from "./executor.js";
|
|
11
11
|
import { createAuthMiddleware } from "../auth/middleware.js";
|
|
12
|
+
import { anonymousContext, identityUserBuilder } from "./context.js";
|
|
12
13
|
import { createExplorerRouter } from "../explorer/handler.js";
|
|
13
14
|
// Register apcore-a2a config namespace (stable in apcore-js >= 0.22.0)
|
|
14
15
|
Config.registerNamespace({
|
|
@@ -195,15 +196,21 @@ export class A2AServerFactory {
|
|
|
195
196
|
app.use("/.well-known/agent-card.json", agentCardHandler({ agentCardProvider: requestHandler }));
|
|
196
197
|
// A2A 0.3 alias (kept for backward compatibility)
|
|
197
198
|
app.use("/.well-known/agent.json", agentCardHandler({ agentCardProvider: requestHandler }));
|
|
198
|
-
// JSON-RPC endpoint
|
|
199
|
+
// JSON-RPC endpoint.
|
|
200
|
+
// userBuilder: bind the authenticated principal to the ServerCallContext so
|
|
201
|
+
// a2a-js's owner-scoped stores scope every task-addressed method to its
|
|
202
|
+
// owner. With UserBuilder.noAuthentication every caller shared the
|
|
203
|
+
// UnauthenticatedUser bucket and ListTasks returned every caller's tasks.
|
|
199
204
|
app.post("/", jsonRpcHandler({
|
|
200
205
|
requestHandler,
|
|
201
|
-
userBuilder:
|
|
206
|
+
userBuilder: identityUserBuilder,
|
|
207
|
+
legacyCompat: { enabled: true },
|
|
202
208
|
}));
|
|
203
209
|
// REST transport endpoints (A2A HTTP+JSON/REST protocol)
|
|
204
210
|
app.use(restHandler({
|
|
205
211
|
requestHandler,
|
|
206
|
-
userBuilder:
|
|
212
|
+
userBuilder: identityUserBuilder,
|
|
213
|
+
legacyCompat: { enabled: true },
|
|
207
214
|
}));
|
|
208
215
|
// Explorer UI
|
|
209
216
|
if (opts.explorer) {
|
|
@@ -220,8 +227,10 @@ export class A2AServerFactory {
|
|
|
220
227
|
}
|
|
221
228
|
try {
|
|
222
229
|
// a2a-js 1.0 TaskStore.load requires a ServerCallContext (tenant /
|
|
223
|
-
// owner scoping)
|
|
224
|
-
|
|
230
|
+
// owner scoping). Explicitly the anonymous owner bucket: the probe must
|
|
231
|
+
// not read a principal's tasks, and the id it asks for exists in no
|
|
232
|
+
// bucket anyway.
|
|
233
|
+
await taskStore.load("__health_probe__", anonymousContext());
|
|
225
234
|
}
|
|
226
235
|
catch {
|
|
227
236
|
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,
|
|
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.5.0",
|
|
4
4
|
"description": "Automatic A2A Protocol Adapter for apcore Module Registry",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"prepublishOnly": "npm run build"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@a2a-js/sdk": ">=1.0.
|
|
35
|
-
"apcore-js": ">=0.
|
|
36
|
-
"apcore-toolkit": "
|
|
34
|
+
"@a2a-js/sdk": ">=1.0.1",
|
|
35
|
+
"apcore-js": ">=0.27.0",
|
|
36
|
+
"apcore-toolkit": ">=0.10.0",
|
|
37
37
|
"express": "^5.1.0",
|
|
38
38
|
"jsonwebtoken": "^9.0.3",
|
|
39
39
|
"uuid": "^13.0.0"
|
|
@@ -45,8 +45,11 @@
|
|
|
45
45
|
"@types/node": "^20.0.0",
|
|
46
46
|
"@types/supertest": "^7.2.0",
|
|
47
47
|
"@types/uuid": "^10.0.0",
|
|
48
|
+
"@typescript-eslint/eslint-plugin": "^8.59.0",
|
|
49
|
+
"@typescript-eslint/parser": "^8.59.0",
|
|
48
50
|
"@vitest/coverage-v8": "^3.0.0",
|
|
49
51
|
"apdev-js": "^0.2.0",
|
|
52
|
+
"eslint": "^10.2.1",
|
|
50
53
|
"supertest": "^7.2.2",
|
|
51
54
|
"typescript": "^5.5.0",
|
|
52
55
|
"vitest": "^3.0.0"
|
|
@@ -81,4 +84,4 @@
|
|
|
81
84
|
"jwt",
|
|
82
85
|
"express"
|
|
83
86
|
]
|
|
84
|
-
}
|
|
87
|
+
}
|