apcore-a2a 0.5.0 → 0.6.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 +1 -1
- package/dist/adapters/card-visibility.d.ts +148 -0
- package/dist/adapters/card-visibility.d.ts.map +1 -0
- package/dist/adapters/card-visibility.js +237 -0
- package/dist/adapters/card-visibility.js.map +1 -0
- package/dist/adapters/errors.d.ts +39 -4
- package/dist/adapters/errors.d.ts.map +1 -1
- package/dist/adapters/errors.js +89 -7
- package/dist/adapters/errors.js.map +1 -1
- package/dist/adapters/skill-mapper.d.ts +27 -0
- package/dist/adapters/skill-mapper.d.ts.map +1 -1
- package/dist/adapters/skill-mapper.js +61 -0
- package/dist/adapters/skill-mapper.js.map +1 -1
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +16 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/exceptions.d.ts +31 -0
- package/dist/client/exceptions.d.ts.map +1 -1
- package/dist/client/exceptions.js +40 -0
- package/dist/client/exceptions.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/serve.d.ts +12 -0
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +1 -0
- package/dist/serve.js.map +1 -1
- package/dist/server/context.d.ts +12 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +14 -0
- package/dist/server/context.js.map +1 -1
- package/dist/server/executor.d.ts +8 -0
- package/dist/server/executor.d.ts.map +1 -1
- package/dist/server/executor.js +41 -9
- 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 +123 -13
- package/dist/server/factory.js.map +1 -1
- package/package.json +4 -3
|
@@ -15,6 +15,33 @@ export interface ModuleDescriptor {
|
|
|
15
15
|
annotations?: Record<string, unknown>;
|
|
16
16
|
metadata?: Record<string, unknown>;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Append apcore's behavioral annotations to a skill's tags (srs FR-SKL-004).
|
|
20
|
+
*
|
|
21
|
+
* A2A 1.0 `AgentSkill` is `{id, name, description, tags, examples, inputModes,
|
|
22
|
+
* outputModes, securityRequirements}` — no `extensions`, no `metadata` — so
|
|
23
|
+
* `tags` is the only carrier that exists. The `apcore:` prefix keeps these out
|
|
24
|
+
* of the module's own flat tag namespace, where a user tag named `destructive`
|
|
25
|
+
* would otherwise be indistinguishable from the annotation.
|
|
26
|
+
*
|
|
27
|
+
* Without this the Agent Card carried enough for a caller to *construct* a call
|
|
28
|
+
* and not enough to judge whether making it is safe. It is also what makes retry
|
|
29
|
+
* semantics usable: `retryable` is a property of the error, but whether a retry
|
|
30
|
+
* is safe is a property of the operation, and a timeout is retryable for a read
|
|
31
|
+
* and dangerous for a non-idempotent mutation.
|
|
32
|
+
*
|
|
33
|
+
* Only truthy flags are emitted, matching how the apcore MCP binding maps the
|
|
34
|
+
* same annotations onto optional `readOnlyHint` / `destructiveHint` /
|
|
35
|
+
* `idempotentHint`. Absence means "not asserted", never "asserted false".
|
|
36
|
+
*/
|
|
37
|
+
export declare function appendAnnotationTags(tags: string[], descriptor: ModuleDescriptor): void;
|
|
38
|
+
/**
|
|
39
|
+
* Whether a module is gated behind human approval.
|
|
40
|
+
*
|
|
41
|
+
* Used by the Agent Card builder to withhold the skill from the public card
|
|
42
|
+
* (srs FR-AGC-003) and restore it on the extended one (srs FR-AGC-004).
|
|
43
|
+
*/
|
|
44
|
+
export declare function requiresApproval(descriptor: ModuleDescriptor | null | undefined): boolean;
|
|
18
45
|
export declare class SkillMapper {
|
|
19
46
|
private schemaConverter;
|
|
20
47
|
constructor(schemaConverter?: SchemaConverter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-mapper.d.ts","sourceRoot":"","sources":["../../src/adapters/skill-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,WAAW;IAGV,OAAO,CAAC,eAAe;gBAAf,eAAe,GAAE,eAAuC;IAE5E,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"skill-mapper.d.ts","sourceRoot":"","sources":["../../src/adapters/skill-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAwBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAQvF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIzF;AAED,qBAAa,WAAW;IAGV,OAAO,CAAC,eAAe;gBAAf,eAAe,GAAE,eAAuC;IAE5E,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA4C3E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO1C,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kBAAkB;IAM1B,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAQtD"}
|
|
@@ -1,4 +1,64 @@
|
|
|
1
1
|
import { SchemaConverter } from "./schema.js";
|
|
2
|
+
/**
|
|
3
|
+
* The four behavioral annotations promoted onto the A2A wire, with the tag each
|
|
4
|
+
* becomes. Order is fixed so the card is byte-identical across the three
|
|
5
|
+
* bindings (srs FR-SKL-004 criterion 8).
|
|
6
|
+
*/
|
|
7
|
+
const ANNOTATION_TAGS = [
|
|
8
|
+
["readonly", "apcore:readonly"],
|
|
9
|
+
["destructive", "apcore:destructive"],
|
|
10
|
+
["idempotent", "apcore:idempotent"],
|
|
11
|
+
["requires_approval", "apcore:requires-approval"],
|
|
12
|
+
];
|
|
13
|
+
/** camelCase aliases, since a descriptor may arrive from either convention. */
|
|
14
|
+
const ANNOTATION_ALIASES = {
|
|
15
|
+
requires_approval: "requiresApproval",
|
|
16
|
+
};
|
|
17
|
+
function annotationFlag(annotations, field) {
|
|
18
|
+
const alias = ANNOTATION_ALIASES[field];
|
|
19
|
+
return Boolean(annotations[field] ?? (alias !== undefined ? annotations[alias] : undefined));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Append apcore's behavioral annotations to a skill's tags (srs FR-SKL-004).
|
|
23
|
+
*
|
|
24
|
+
* A2A 1.0 `AgentSkill` is `{id, name, description, tags, examples, inputModes,
|
|
25
|
+
* outputModes, securityRequirements}` — no `extensions`, no `metadata` — so
|
|
26
|
+
* `tags` is the only carrier that exists. The `apcore:` prefix keeps these out
|
|
27
|
+
* of the module's own flat tag namespace, where a user tag named `destructive`
|
|
28
|
+
* would otherwise be indistinguishable from the annotation.
|
|
29
|
+
*
|
|
30
|
+
* Without this the Agent Card carried enough for a caller to *construct* a call
|
|
31
|
+
* and not enough to judge whether making it is safe. It is also what makes retry
|
|
32
|
+
* semantics usable: `retryable` is a property of the error, but whether a retry
|
|
33
|
+
* is safe is a property of the operation, and a timeout is retryable for a read
|
|
34
|
+
* and dangerous for a non-idempotent mutation.
|
|
35
|
+
*
|
|
36
|
+
* Only truthy flags are emitted, matching how the apcore MCP binding maps the
|
|
37
|
+
* same annotations onto optional `readOnlyHint` / `destructiveHint` /
|
|
38
|
+
* `idempotentHint`. Absence means "not asserted", never "asserted false".
|
|
39
|
+
*/
|
|
40
|
+
export function appendAnnotationTags(tags, descriptor) {
|
|
41
|
+
const annotations = descriptor.annotations;
|
|
42
|
+
if (!annotations)
|
|
43
|
+
return;
|
|
44
|
+
for (const [field, tag] of ANNOTATION_TAGS) {
|
|
45
|
+
if (annotationFlag(annotations, field) && !tags.includes(tag)) {
|
|
46
|
+
tags.push(tag);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Whether a module is gated behind human approval.
|
|
52
|
+
*
|
|
53
|
+
* Used by the Agent Card builder to withhold the skill from the public card
|
|
54
|
+
* (srs FR-AGC-003) and restore it on the extended one (srs FR-AGC-004).
|
|
55
|
+
*/
|
|
56
|
+
export function requiresApproval(descriptor) {
|
|
57
|
+
const annotations = descriptor?.annotations;
|
|
58
|
+
if (!annotations)
|
|
59
|
+
return false;
|
|
60
|
+
return annotationFlag(annotations, "requires_approval");
|
|
61
|
+
}
|
|
2
62
|
export class SkillMapper {
|
|
3
63
|
schemaConverter;
|
|
4
64
|
// Share root-type detection with SchemaConverter so the "string root" rule
|
|
@@ -29,6 +89,7 @@ export class SkillMapper {
|
|
|
29
89
|
const resolvedTags = display.tags?.length
|
|
30
90
|
? [...display.tags]
|
|
31
91
|
: [...(descriptor.tags ?? [])];
|
|
92
|
+
appendAnnotationTags(resolvedTags, descriptor);
|
|
32
93
|
return {
|
|
33
94
|
id,
|
|
34
95
|
name: skillName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-mapper.js","sourceRoot":"","sources":["../../src/adapters/skill-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAgB/D,MAAM,OAAO,WAAW;IAGF;IAFpB,2EAA2E;IAC3E,8BAA8B;IAC9B,YAAoB,kBAAmC,IAAI,eAAe,EAAE;QAAxD,oBAAe,GAAf,eAAe,CAAyC;IAAG,CAAC;IAEhF,OAAO,CAAC,UAA4B,EAAE,QAAiB;QACrD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC;QACnE,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAErB,yCAAyC;QACzC,MAAM,OAAO,GAAI,UAAU,CAAC,QAAQ,EAAE,OAAmC,IAAI,EAAE,CAAC;QAChF,MAAM,UAAU,GAAI,OAAO,CAAC,GAA+B,IAAI,EAAE,CAAC;QAElE,MAAM,SAAS,GACZ,UAAU,CAAC,KAAgB;YAC3B,OAAO,CAAC,KAAgB;YACzB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,gBAAgB,GACjB,UAAU,CAAC,WAAsB;YACjC,OAAO,CAAC,WAAsB;YAC/B,WAAW,CAAC;QAEd,MAAM,QAAQ,GAAI,UAAU,CAAC,QAAmB,IAAK,OAAO,CAAC,QAAmB,CAAC;QACjF,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,GAAG,GAAG,gBAAgB,iBAAiB,QAAQ,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,YAAY,GACf,OAAO,CAAC,IAAiB,EAAE,MAAM;YAChC,CAAC,CAAC,CAAC,GAAI,OAAO,CAAC,IAAiB,CAAC;YACjC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-mapper.js","sourceRoot":"","sources":["../../src/adapters/skill-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AA4HA,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,6 +1,6 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from "uuid";
|
|
2
2
|
import { AgentCardFetcher } from "./card-fetcher.js";
|
|
3
|
-
import { A2AConnectionError, A2AServerError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
3
|
+
import { A2AConnectionError, A2AServerError, AccessDeniedError, ApprovalDeniedError, ApprovalTimeoutError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
4
4
|
/** Terminal A2A 1.0 task states; streaming stops when one is observed. */
|
|
5
5
|
const TERMINAL_STATES = new Set([
|
|
6
6
|
"TASK_STATE_COMPLETED",
|
|
@@ -53,6 +53,18 @@ const JSONRPC_ERRORS = {
|
|
|
53
53
|
[-32001]: TaskNotFoundError,
|
|
54
54
|
[-32002]: TaskNotCancelableError,
|
|
55
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Governance refusal codes (srs FR-ERR-003 / FR-ERR-009 / FR-ERR-010).
|
|
58
|
+
*
|
|
59
|
+
* Kept separate from {@link JSONRPC_ERRORS} because these classes take the
|
|
60
|
+
* server's message: with `discloseRefusalReason` enabled it carries the actual
|
|
61
|
+
* reason, which is the whole value of the opt-in.
|
|
62
|
+
*/
|
|
63
|
+
const GOVERNANCE_ERRORS = {
|
|
64
|
+
[-32040]: AccessDeniedError,
|
|
65
|
+
[-32041]: ApprovalDeniedError,
|
|
66
|
+
[-32042]: ApprovalTimeoutError,
|
|
67
|
+
};
|
|
56
68
|
/**
|
|
57
69
|
* Message patterns that recover a typed error from a miscoded `-32603`.
|
|
58
70
|
*
|
|
@@ -77,6 +89,9 @@ const SDK_BUNDLING_FALLBACK = [
|
|
|
77
89
|
function raiseJsonRpcError(error) {
|
|
78
90
|
const code = error.code ?? -32603;
|
|
79
91
|
const message = error.message ?? "Server error";
|
|
92
|
+
const Governance = GOVERNANCE_ERRORS[code];
|
|
93
|
+
if (Governance !== undefined)
|
|
94
|
+
throw new Governance(message);
|
|
80
95
|
const ErrorClass = JSONRPC_ERRORS[code];
|
|
81
96
|
if (ErrorClass === TaskNotFoundError)
|
|
82
97
|
throw new TaskNotFoundError();
|
|
@@ -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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"}
|
|
@@ -13,6 +13,37 @@ export declare class TaskNotCancelableError extends A2AClientError {
|
|
|
13
13
|
state?: string;
|
|
14
14
|
constructor(state?: string);
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Base class for the three governance refusals (srs FR-ERR-003 / 009 / 010).
|
|
18
|
+
*
|
|
19
|
+
* Distinguishing these from {@link A2AServerError} is the point of the typed
|
|
20
|
+
* classes: a refusal is not a transient failure, and an agent that backs off and
|
|
21
|
+
* retries one will be refused identically for as long as it keeps trying. Before
|
|
22
|
+
* the server side of this change, an ACL denial arrived as
|
|
23
|
+
* {@link TaskNotFoundError} and an approval denial as {@link A2AServerError} —
|
|
24
|
+
* both naming a different failure than the one that happened.
|
|
25
|
+
*/
|
|
26
|
+
export declare class GovernanceRefusedError extends A2AClientError {
|
|
27
|
+
code: number;
|
|
28
|
+
constructor(message: string, code: number);
|
|
29
|
+
}
|
|
30
|
+
/** JSON-RPC -32040: the ACL refused this caller. Terminal. */
|
|
31
|
+
export declare class AccessDeniedError extends GovernanceRefusedError {
|
|
32
|
+
constructor(message?: string);
|
|
33
|
+
}
|
|
34
|
+
/** JSON-RPC -32041: a human explicitly refused this call. Terminal. */
|
|
35
|
+
export declare class ApprovalDeniedError extends GovernanceRefusedError {
|
|
36
|
+
constructor(message?: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* JSON-RPC -32042: the approval expired unanswered.
|
|
40
|
+
*
|
|
41
|
+
* Unlike the other two refusals, a fresh submission may legitimately be
|
|
42
|
+
* approved — nobody refused, nobody answered.
|
|
43
|
+
*/
|
|
44
|
+
export declare class ApprovalTimeoutError extends GovernanceRefusedError {
|
|
45
|
+
constructor(message?: string);
|
|
46
|
+
}
|
|
16
47
|
export declare class A2AServerError extends A2AClientError {
|
|
17
48
|
code: number;
|
|
18
49
|
constructor(message: string, code?: number);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/client/exceptions.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,kBAAmB,SAAQ,cAAc;CAAG;AAEzD,qBAAa,iBAAkB,SAAQ,cAAc;CAAG;AAExD,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;gBACJ,MAAM,CAAC,EAAE,MAAM;CAI5B;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;gBACH,KAAK,CAAC,EAAE,MAAM;CAI3B;AAED,qBAAa,cAAe,SAAQ,cAAc;IAChD,IAAI,EAAE,MAAM,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAe;CAInD"}
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/client/exceptions.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,kBAAmB,SAAQ,cAAc;CAAG;AAEzD,qBAAa,iBAAkB,SAAQ,cAAc;CAAG;AAExD,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;gBACJ,MAAM,CAAC,EAAE,MAAM;CAI5B;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;gBACH,KAAK,CAAC,EAAE,MAAM;CAI3B;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,IAAI,EAAE,MAAM,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAI1C;AAED,8DAA8D;AAC9D,qBAAa,iBAAkB,SAAQ,sBAAsB;gBAC/C,OAAO,SAAkB;CAGtC;AAED,uEAAuE;AACvE,qBAAa,mBAAoB,SAAQ,sBAAsB;gBACjD,OAAO,SAAoB;CAGxC;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;gBAClD,OAAO,SAAuB;CAG3C;AAED,qBAAa,cAAe,SAAQ,cAAc;IAChD,IAAI,EAAE,MAAM,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAe;CAInD"}
|
|
@@ -22,6 +22,46 @@ export class TaskNotCancelableError extends A2AClientError {
|
|
|
22
22
|
this.state = state;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Base class for the three governance refusals (srs FR-ERR-003 / 009 / 010).
|
|
27
|
+
*
|
|
28
|
+
* Distinguishing these from {@link A2AServerError} is the point of the typed
|
|
29
|
+
* classes: a refusal is not a transient failure, and an agent that backs off and
|
|
30
|
+
* retries one will be refused identically for as long as it keeps trying. Before
|
|
31
|
+
* the server side of this change, an ACL denial arrived as
|
|
32
|
+
* {@link TaskNotFoundError} and an approval denial as {@link A2AServerError} —
|
|
33
|
+
* both naming a different failure than the one that happened.
|
|
34
|
+
*/
|
|
35
|
+
export class GovernanceRefusedError extends A2AClientError {
|
|
36
|
+
code;
|
|
37
|
+
constructor(message, code) {
|
|
38
|
+
super(message);
|
|
39
|
+
this.code = code;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** JSON-RPC -32040: the ACL refused this caller. Terminal. */
|
|
43
|
+
export class AccessDeniedError extends GovernanceRefusedError {
|
|
44
|
+
constructor(message = "Access denied") {
|
|
45
|
+
super(message, -32040);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** JSON-RPC -32041: a human explicitly refused this call. Terminal. */
|
|
49
|
+
export class ApprovalDeniedError extends GovernanceRefusedError {
|
|
50
|
+
constructor(message = "Approval denied") {
|
|
51
|
+
super(message, -32041);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* JSON-RPC -32042: the approval expired unanswered.
|
|
56
|
+
*
|
|
57
|
+
* Unlike the other two refusals, a fresh submission may legitimately be
|
|
58
|
+
* approved — nobody refused, nobody answered.
|
|
59
|
+
*/
|
|
60
|
+
export class ApprovalTimeoutError extends GovernanceRefusedError {
|
|
61
|
+
constructor(message = "Approval timed out") {
|
|
62
|
+
super(message, -32042);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
25
65
|
export class A2AServerError extends A2AClientError {
|
|
26
66
|
code;
|
|
27
67
|
constructor(message, code = -32603) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/client/exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;CAAG;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;CAAG;AAExD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAU;IAChB,YAAY,MAAe;QACzB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,KAAK,CAAU;IACf,YAAY,KAAc;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD,IAAI,CAAS;IACb,YAAY,OAAe,EAAE,OAAe,CAAC,KAAK;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/client/exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;CAAG;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;CAAG;AAExD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAU;IAChB,YAAY,MAAe;QACzB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,KAAK,CAAU;IACf,YAAY,KAAc;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,IAAI,CAAS;IACb,YAAY,OAAe,EAAE,IAAY;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,OAAO,iBAAkB,SAAQ,sBAAsB;IAC3D,YAAY,OAAO,GAAG,eAAe;QACnC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,OAAO,mBAAoB,SAAQ,sBAAsB;IAC7D,YAAY,OAAO,GAAG,iBAAiB;QACrC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,sBAAsB;IAC9D,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD,IAAI,CAAS;IACb,YAAY,OAAe,EAAE,OAAe,CAAC,KAAK;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { A2AClient } from "./client.js";
|
|
2
2
|
export { AgentCardFetcher } from "./card-fetcher.js";
|
|
3
|
-
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
3
|
+
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, AccessDeniedError, ApprovalDeniedError, ApprovalTimeoutError, GovernanceRefusedError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { A2AClient } from "./client.js";
|
|
2
2
|
export { AgentCardFetcher } from "./card-fetcher.js";
|
|
3
|
-
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
3
|
+
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, AccessDeniedError, ApprovalDeniedError, ApprovalTimeoutError, GovernanceRefusedError, TaskNotCancelableError, TaskNotFoundError, } from "./exceptions.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.6.0";
|
|
2
2
|
export { serve, asyncServe } from "./serve.js";
|
|
3
3
|
export { A2AClient } from "./client/index.js";
|
|
4
|
+
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, AccessDeniedError, ApprovalDeniedError, ApprovalTimeoutError, GovernanceRefusedError, TaskNotCancelableError, TaskNotFoundError, } from "./client/index.js";
|
|
4
5
|
export type { Authenticator, ClaimMapping } from "./auth/index.js";
|
|
5
6
|
export { JWTAuthenticator } from "./auth/index.js";
|
|
6
7
|
export { createAuthMiddleware } from "./auth/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export const VERSION = "0.
|
|
1
|
+
export const VERSION = "0.6.0";
|
|
2
2
|
// Public API: serve
|
|
3
3
|
export { serve, asyncServe } from "./serve.js";
|
|
4
4
|
// Client
|
|
5
5
|
export { A2AClient } from "./client/index.js";
|
|
6
|
+
export { A2AClientError, A2AConnectionError, A2ADiscoveryError, A2AServerError, AccessDeniedError, ApprovalDeniedError, ApprovalTimeoutError, GovernanceRefusedError, TaskNotCancelableError, TaskNotFoundError, } from "./client/index.js";
|
|
6
7
|
export { JWTAuthenticator } from "./auth/index.js";
|
|
7
8
|
export { createAuthMiddleware } from "./auth/index.js";
|
|
8
9
|
export { authIdentityStore, getAuthIdentity } from "./auth/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/serve.d.ts
CHANGED
|
@@ -16,6 +16,18 @@ export interface AsyncServeOptions {
|
|
|
16
16
|
executionTimeout?: number;
|
|
17
17
|
metrics?: boolean;
|
|
18
18
|
sysModules?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Forward apcore's own reason for a governance refusal (ACL denial, approval
|
|
21
|
+
* denial, approval timeout) instead of the fixed per-class string
|
|
22
|
+
* (srs FR-ERR-011). Off by default.
|
|
23
|
+
*
|
|
24
|
+
* The *class* of refusal is conveyed either way — each has its own JSON-RPC
|
|
25
|
+
* code and a `rejected` task state; this decides only whether the *detail*
|
|
26
|
+
* travels with it. A server whose callers are its own agents wants it on: that
|
|
27
|
+
* is what the apcore MCP binding reports today. A server facing untrusted
|
|
28
|
+
* callers keeps the default.
|
|
29
|
+
*/
|
|
30
|
+
discloseRefusalReason?: boolean;
|
|
19
31
|
}
|
|
20
32
|
export interface ServeOptions extends AsyncServeOptions {
|
|
21
33
|
host?: string;
|
package/dist/serve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA2BpD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA2BpD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,kBAAmB,SAAQ,QAAQ;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,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;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,GACX;IAAE,QAAQ,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CA0B1D;AA0BD,wBAAsB,UAAU,CAC9B,kBAAkB,EAAE,OAAO,EAC3B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,OAAO,CAAC,CA6DlB;AAED,wBAAgB,KAAK,CACnB,kBAAkB,EAAE,OAAO,EAC3B,IAAI,GAAE,YAAiB,GACtB,IAAI,CAwCN"}
|
package/dist/serve.js
CHANGED
|
@@ -108,6 +108,7 @@ export async function asyncServe(registryOrExecutor, opts = {}) {
|
|
|
108
108
|
executionTimeout: resolveExecutionTimeout(opts.executionTimeout),
|
|
109
109
|
metrics: opts.metrics,
|
|
110
110
|
sysModules: opts.sysModules,
|
|
111
|
+
discloseRefusalReason: opts.discloseRefusalReason,
|
|
111
112
|
});
|
|
112
113
|
return app;
|
|
113
114
|
}
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,yBAAyB,GAAG,GAAG,CAAC,CAAC,qDAAqD;AAE5F;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAAiB;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAChE,GAAG,aAAa,oBAAoB,CACrC,CAAC;IACF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IACrD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC;AACnE,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/server/context.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { Identity } from "apcore-js";
|
|
|
10
10
|
* `Context`, so governance and task scoping name the same caller.
|
|
11
11
|
*/
|
|
12
12
|
export declare class IdentityUser implements User {
|
|
13
|
-
|
|
13
|
+
readonly identity: Identity;
|
|
14
14
|
constructor(identity: Identity);
|
|
15
15
|
get isAuthenticated(): boolean;
|
|
16
16
|
get userName(): string;
|
|
@@ -54,4 +54,15 @@ export declare function identityUserBuilder(_req: Request): Promise<User>;
|
|
|
54
54
|
* authenticated principal's tasks.
|
|
55
55
|
*/
|
|
56
56
|
export declare function anonymousContext(): ServerCallContext;
|
|
57
|
+
/**
|
|
58
|
+
* The apcore `Identity` behind a `ServerCallContext`, if authenticated.
|
|
59
|
+
*
|
|
60
|
+
* The extended Agent Card filters skills against the caller's own identity
|
|
61
|
+
* (srs FR-AGC-004), and an ACL rule's `conditions` block reads `identityType`
|
|
62
|
+
* and `roles` — none of which survive the reduction to `userName`.
|
|
63
|
+
*
|
|
64
|
+
* Returns `null` for `UnauthenticatedUser`, which is the value the card filter
|
|
65
|
+
* treats as the anonymous principal.
|
|
66
|
+
*/
|
|
67
|
+
export declare function identityOf(context: ServerCallContext): Identity | null;
|
|
57
68
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +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,
|
|
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,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAEvC,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;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAGtE"}
|
package/dist/server/context.js
CHANGED
|
@@ -63,4 +63,18 @@ export function identityUserBuilder(_req) {
|
|
|
63
63
|
export function anonymousContext() {
|
|
64
64
|
return new ServerCallContext({ user: new UnauthenticatedUser() });
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* The apcore `Identity` behind a `ServerCallContext`, if authenticated.
|
|
68
|
+
*
|
|
69
|
+
* The extended Agent Card filters skills against the caller's own identity
|
|
70
|
+
* (srs FR-AGC-004), and an ACL rule's `conditions` block reads `identityType`
|
|
71
|
+
* and `roles` — none of which survive the reduction to `userName`.
|
|
72
|
+
*
|
|
73
|
+
* Returns `null` for `UnauthenticatedUser`, which is the value the card filter
|
|
74
|
+
* treats as the anonymous principal.
|
|
75
|
+
*/
|
|
76
|
+
export function identityOf(context) {
|
|
77
|
+
const user = context.user;
|
|
78
|
+
return user?.identity ?? null;
|
|
79
|
+
}
|
|
66
80
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +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;
|
|
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;IACF;IAArB,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAE3C,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;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAA2C,CAAC;IACjE,OAAO,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;AAChC,CAAC"}
|
|
@@ -9,6 +9,11 @@ export interface ApCoreAgentExecutorOptions {
|
|
|
9
9
|
registry?: Registry;
|
|
10
10
|
executionTimeout?: number;
|
|
11
11
|
onStateChange?: (oldState: string, newState: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Forward apcore's own reason for a governance refusal instead of the fixed
|
|
14
|
+
* per-class string (srs FR-ERR-011). Off by default.
|
|
15
|
+
*/
|
|
16
|
+
discloseRefusalReason?: boolean;
|
|
12
17
|
}
|
|
13
18
|
export declare class ApCoreAgentExecutor implements AgentExecutor {
|
|
14
19
|
private executor;
|
|
@@ -17,6 +22,7 @@ export declare class ApCoreAgentExecutor implements AgentExecutor {
|
|
|
17
22
|
private executionTimeoutMs;
|
|
18
23
|
private onStateChange?;
|
|
19
24
|
private cancelTokens;
|
|
25
|
+
private errorMapper;
|
|
20
26
|
constructor(opts: ApCoreAgentExecutorOptions);
|
|
21
27
|
private notify;
|
|
22
28
|
execute(context: RequestContext, eventBus: ExecutionEventBus): Promise<void>;
|
|
@@ -28,6 +34,8 @@ export declare class ApCoreAgentExecutor implements AgentExecutor {
|
|
|
28
34
|
cancelTask(taskId: string, eventBus: ExecutionEventBus): Promise<void>;
|
|
29
35
|
private publishCompleted;
|
|
30
36
|
private publishFailed;
|
|
37
|
+
/** Emit REJECTED status for a governance refusal (srs FR-ERR-012). */
|
|
38
|
+
private publishRejected;
|
|
31
39
|
private publishInputRequired;
|
|
32
40
|
private publishCanceled;
|
|
33
41
|
}
|
|
@@ -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;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AA4E1D,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;IAC7D;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;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;IAC7D,OAAO,CAAC,WAAW,CAAc;gBAErB,IAAI,EAAE,0BAA0B;IAW5C,OAAO,CAAC,MAAM;IAUR,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkLlF;;;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,sEAAsE;IACtE,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,eAAe;CAexB"}
|