apcore-a2a 0.5.0 → 0.7.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.
Files changed (57) hide show
  1. package/README.md +72 -1
  2. package/dist/adapters/card-visibility.d.ts +148 -0
  3. package/dist/adapters/card-visibility.d.ts.map +1 -0
  4. package/dist/adapters/card-visibility.js +237 -0
  5. package/dist/adapters/card-visibility.js.map +1 -0
  6. package/dist/adapters/errors.d.ts +39 -4
  7. package/dist/adapters/errors.d.ts.map +1 -1
  8. package/dist/adapters/errors.js +89 -7
  9. package/dist/adapters/errors.js.map +1 -1
  10. package/dist/adapters/skill-mapper.d.ts +27 -0
  11. package/dist/adapters/skill-mapper.d.ts.map +1 -1
  12. package/dist/adapters/skill-mapper.js +61 -0
  13. package/dist/adapters/skill-mapper.js.map +1 -1
  14. package/dist/cli.d.ts +63 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +279 -38
  17. package/dist/cli.js.map +1 -1
  18. package/dist/client/client.d.ts.map +1 -1
  19. package/dist/client/client.js +16 -1
  20. package/dist/client/client.js.map +1 -1
  21. package/dist/client/exceptions.d.ts +31 -0
  22. package/dist/client/exceptions.d.ts.map +1 -1
  23. package/dist/client/exceptions.js +40 -0
  24. package/dist/client/exceptions.js.map +1 -1
  25. package/dist/client/index.d.ts +1 -1
  26. package/dist/client/index.d.ts.map +1 -1
  27. package/dist/client/index.js +1 -1
  28. package/dist/client/index.js.map +1 -1
  29. package/dist/config.d.ts +38 -0
  30. package/dist/config.d.ts.map +1 -0
  31. package/dist/config.js +71 -0
  32. package/dist/config.js.map +1 -0
  33. package/dist/index.d.ts +4 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +5 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/openapi-backend.d.ts +203 -0
  38. package/dist/openapi-backend.d.ts.map +1 -0
  39. package/dist/openapi-backend.js +453 -0
  40. package/dist/openapi-backend.js.map +1 -0
  41. package/dist/serve.d.ts +12 -0
  42. package/dist/serve.d.ts.map +1 -1
  43. package/dist/serve.js +1 -0
  44. package/dist/serve.js.map +1 -1
  45. package/dist/server/context.d.ts +12 -1
  46. package/dist/server/context.d.ts.map +1 -1
  47. package/dist/server/context.js +14 -0
  48. package/dist/server/context.js.map +1 -1
  49. package/dist/server/executor.d.ts +8 -0
  50. package/dist/server/executor.d.ts.map +1 -1
  51. package/dist/server/executor.js +41 -9
  52. package/dist/server/executor.js.map +1 -1
  53. package/dist/server/factory.d.ts +12 -0
  54. package/dist/server/factory.d.ts.map +1 -1
  55. package/dist/server/factory.js +133 -25
  56. package/dist/server/factory.js.map +1 -1
  57. package/package.json +4 -3
package/dist/cli.js CHANGED
@@ -9,9 +9,27 @@ apcore-a2a - A2A Protocol Server for apcore modules
9
9
 
10
10
  Usage:
11
11
  apcore-a2a serve --extensions-dir <path> [options]
12
+ apcore-a2a serve --from-openapi <url|path> [options]
12
13
 
13
- Required:
14
+ Required (at least one backend source):
14
15
  --extensions-dir <path> Path to apcore extensions directory
16
+ --from-openapi <url|path> OpenAPI 3.0/3.1 document to serve as A2A Skills.
17
+ Combine with --extensions-dir only when
18
+ --openapi-prefix is also given
19
+
20
+ An apcore-a2a.openapi.spec in your apcore config counts as a backend source
21
+ too, so neither flag is required when the config file names one.
22
+
23
+ OpenAPI backend options (each overrides the matching apcore-a2a.openapi key;
24
+ keys with no flag -- timeout, headers, acknowledge_unapproved_writes -- are
25
+ configured there):
26
+ --openapi-base-url <url> Base URL for proxied calls (default: servers[0].url)
27
+ --openapi-prefix <string> Prefix for every derived module ID
28
+ --openapi-include <regex> Scanner include filter
29
+ --openapi-exclude <regex> Scanner exclude filter
30
+ --openapi-header <K:V> Header for the SPEC FETCH only, repeatable.
31
+ Never forwarded to proxied calls
32
+ --openapi-no-deprecated Skip operations marked deprecated: true
15
33
 
16
34
  Options:
17
35
  --host <address> Bind host (default: 127.0.0.1)
@@ -34,10 +52,32 @@ Options:
34
52
  --help Show this help
35
53
  `);
36
54
  }
55
+ /**
56
+ * Exit `1` — a configuration or runtime error.
57
+ *
58
+ * The command line was well-formed; the environment it named was not. A
59
+ * supervisor may retry these, because the world can become ready.
60
+ */
37
61
  function fail(message, exitCode = 1) {
38
62
  console.error(`Error: ${message}`);
39
63
  process.exit(exitCode);
40
64
  }
65
+ /**
66
+ * Exit `2` — a usage error. The command line itself is wrong.
67
+ *
68
+ * Distinguished from {@link fail} because retrying an exit-2 command unchanged
69
+ * will always fail, while an exit-1 command may succeed once the directory,
70
+ * config or network it named is fixed. That is a difference a supervisor or CI
71
+ * job can act on, and this SDK previously collapsed both onto `1` — losing a
72
+ * distinction Python's argparse and Rust's clap each provide for free.
73
+ *
74
+ * `2` rather than some other number because it is what argparse, clap and GNU
75
+ * getopt all use for a usage fault, so the three bindings agree with each other
76
+ * and with the tools around them.
77
+ */
78
+ export function failUsage(message) {
79
+ return fail(message, 2);
80
+ }
41
81
  export function resolveAuthKey(authKey) {
42
82
  if (authKey) {
43
83
  try {
@@ -52,37 +92,113 @@ export function resolveAuthKey(authKey) {
52
92
  }
53
93
  return process.env.APCORE_JWT_SECRET;
54
94
  }
95
+ /**
96
+ * Parse `serve`'s argv.
97
+ *
98
+ * Split out of {@link main} so the flag surface is reachable without starting a
99
+ * server: the `--openapi-no-deprecated` contract is half in this table (no
100
+ * `default`) and half in {@link mergeOpenapiSettings} (the presence check), and
101
+ * either half alone silently reverses a config `include_deprecated: false`.
102
+ */
103
+ export function parseCliArgs(args) {
104
+ const config = {
105
+ options: {
106
+ "extensions-dir": { type: "string" },
107
+ "from-openapi": { type: "string" },
108
+ "openapi-base-url": { type: "string" },
109
+ "openapi-prefix": { type: "string" },
110
+ "openapi-include": { type: "string" },
111
+ "openapi-exclude": { type: "string" },
112
+ "openapi-header": { type: "string", multiple: true },
113
+ // Deliberately NO `default: false`. `mergeOpenapiSettings` has to tell
114
+ // "not passed" from "passed", because a `false` default would make an
115
+ // absent flag overwrite a config `include_deprecated: false` with `true`
116
+ // — an unpassed flag silently reversing a setting the operator wrote.
117
+ // Same reason the Python binding uses `default=None`.
118
+ "openapi-no-deprecated": { type: "boolean" },
119
+ host: { type: "string", default: "127.0.0.1" },
120
+ port: { type: "string", default: "8000" },
121
+ name: { type: "string" },
122
+ description: { type: "string" },
123
+ "version-str": { type: "string" },
124
+ url: { type: "string" },
125
+ "auth-type": { type: "string" },
126
+ "auth-key": { type: "string" },
127
+ "auth-issuer": { type: "string" },
128
+ "auth-audience": { type: "string" },
129
+ "push-notifications": { type: "boolean", default: false },
130
+ explorer: { type: "boolean", default: false },
131
+ "cors-origins": { type: "string" },
132
+ "execution-timeout": { type: "string", default: "300" },
133
+ "log-level": { type: "string", default: "info" },
134
+ metrics: { type: "boolean", default: false },
135
+ version: { type: "boolean", default: false },
136
+ help: { type: "boolean", default: false },
137
+ },
138
+ allowPositionals: true,
139
+ strict: false,
140
+ };
141
+ // `args: undefined` is NOT the same as omitting it — node's own default
142
+ // (`process.argv` minus the execPath and script) knows about `node --` and
143
+ // single-executable builds, and re-deriving it here would drop that.
144
+ const parsed = args === undefined ? parseArgs(config) : parseArgs({ ...config, args });
145
+ rejectUnknownArguments(parsed, Object.keys(config.options));
146
+ return parsed;
147
+ }
148
+ /**
149
+ * Refuse an argument the flag table does not define.
150
+ *
151
+ * `strict: false` is kept deliberately — it is what lets this CLI tolerate
152
+ * `--metrics=x` for a boolean and a repeat of a non-`multiple` option, both of
153
+ * which `strict: true` would turn into throws — but node's tolerance extends to
154
+ * *unknown* flags too, and there it is not tolerance, it is silence.
155
+ *
156
+ * Measured before this check existed, with a one-letter typo:
157
+ *
158
+ * ```
159
+ * apcore-a2a serve --extensions-dir ./ext --openapi-exclde 'secret.*'
160
+ * values: { "openapi-exclde": true, ... } ← the flag became a boolean
161
+ * positionals: [ "serve", "secret.*" ] ← its value became a positional
162
+ * ```
163
+ *
164
+ * The exclusion silently did not apply, and every operation it was meant to hold
165
+ * back was scanned, registered, and published to the **public** Agent Card — a
166
+ * route served without authentication and built to be crawled. The server
167
+ * started and reported success.
168
+ *
169
+ * Python's argparse (`unrecognized arguments`) and Rust's clap (`unexpected
170
+ * argument ... found`) both refuse this and exit 2; TypeScript was the only
171
+ * binding that did not, so the tolerant behaviour was never portable — the same
172
+ * argv already failed on the other two.
173
+ *
174
+ * Note argparse additionally accepts unambiguous *abbreviations*, so
175
+ * `--openapi-exclud` is a legal spelling there. That is an argparse feature, not
176
+ * a parity requirement: clap does not do it either, and this check is only about
177
+ * spellings no binding recognises.
178
+ */
179
+ function rejectUnknownArguments(parsed, known) {
180
+ const unknown = Object.keys(parsed.values).filter((key) => !known.includes(key));
181
+ if (unknown.length > 0) {
182
+ failUsage(`unrecognized argument${unknown.length > 1 ? "s" : ""}: ` +
183
+ `${unknown.map((k) => `--${k}`).join(", ")}. Run with --help for the flag list`);
184
+ }
185
+ // A stray positional is the same mistake seen from the other side: the value
186
+ // of a misspelled flag lands here, so reporting only the flag would leave the
187
+ // operator wondering where their argument went.
188
+ const strays = parsed.positionals.slice(1);
189
+ if (strays.length > 0) {
190
+ failUsage(`unexpected argument${strays.length > 1 ? "s" : ""}: ${strays.join(", ")}. ` +
191
+ "Run with --help for the flag list");
192
+ }
193
+ }
55
194
  export async function main() {
56
195
  let parsed;
57
196
  try {
58
- parsed = parseArgs({
59
- options: {
60
- "extensions-dir": { type: "string" },
61
- host: { type: "string", default: "127.0.0.1" },
62
- port: { type: "string", default: "8000" },
63
- name: { type: "string" },
64
- description: { type: "string" },
65
- "version-str": { type: "string" },
66
- url: { type: "string" },
67
- "auth-type": { type: "string" },
68
- "auth-key": { type: "string" },
69
- "auth-issuer": { type: "string" },
70
- "auth-audience": { type: "string" },
71
- "push-notifications": { type: "boolean", default: false },
72
- explorer: { type: "boolean", default: false },
73
- "cors-origins": { type: "string" },
74
- "execution-timeout": { type: "string", default: "300" },
75
- "log-level": { type: "string", default: "info" },
76
- metrics: { type: "boolean", default: false },
77
- version: { type: "boolean", default: false },
78
- help: { type: "boolean", default: false },
79
- },
80
- allowPositionals: true,
81
- strict: false,
82
- });
197
+ parsed = parseCliArgs();
83
198
  }
84
199
  catch (e) {
85
- fail(String(e));
200
+ // A parseArgs throw is an unknown flag or a missing value: a usage fault.
201
+ failUsage(String(e));
86
202
  }
87
203
  const { values, positionals } = parsed;
88
204
  if (values.help) {
@@ -101,24 +217,149 @@ export async function main() {
101
217
  }
102
218
  await runServe(values);
103
219
  }
220
+ /**
221
+ * Parse repeated `--openapi-header "Key: Value"` flags into a header map.
222
+ *
223
+ * These authenticate the **spec fetch only**. They are deliberately not reused
224
+ * for proxied calls: a document is often public while the API behind it is not,
225
+ * and broadcasting a spec-read key on every skill invocation would be a
226
+ * privilege escalation the operator never wrote down.
227
+ */
228
+ export function parseOpenapiHeaders(raw) {
229
+ if (!raw || raw.length === 0)
230
+ return undefined;
231
+ const headers = {};
232
+ for (const entry of raw) {
233
+ const separator = entry.indexOf(":");
234
+ // The separator index alone is not the test. `separator <= 0` rejects ":v"
235
+ // but ACCEPTS " :v" — the colon is at index 1 — and the `.trim()` below then
236
+ // yields an EMPTY header name. Python checks `not key.strip()` and Rust
237
+ // `key.trim().is_empty()`; both reject, so the key is trimmed first and
238
+ // judged afterwards.
239
+ const key = separator > 0 ? entry.slice(0, separator).trim() : "";
240
+ if (!key) {
241
+ // Never echo the value back: the whole point of the flag is that it may
242
+ // carry a credential.
243
+ failUsage(`--openapi-header must be "Key: Value" (got an entry with no ':' or no key)`);
244
+ }
245
+ headers[key] = entry.slice(separator + 1).trim();
246
+ }
247
+ return headers;
248
+ }
249
+ /**
250
+ * Resolve the OpenAPI backend settings: CLI flags over the Config Bus.
251
+ *
252
+ * Implements the precedence the feature spec states — **an explicit CLI flag
253
+ * beats the `apcore-a2a.openapi` Config Bus section, which beats the default** —
254
+ * and implements it PER KEY, not per source. Choosing the whole source by
255
+ * whoever named `spec` would make a `--openapi-prefix` alongside a
256
+ * config-declared `spec` a silent no-op: the same shape as the apcore-mcp
257
+ * `--openapi-header` defect this project filed upstream (apcore-mcp-rust#8).
258
+ *
259
+ * The returned mapping is in the Config Bus's own snake_case, so it can be
260
+ * handed straight to `buildOpenapiBackendFromConfig` — which is also what makes
261
+ * `timeout`, `include`, `exclude` and `acknowledge_unapproved_writes` reachable
262
+ * from a running server: none of them has a CLI flag, and before this the
263
+ * section had no reader anywhere in `src/`.
264
+ *
265
+ * Returns `null` when neither route yields a `spec`, which is the ordinary "no
266
+ * OpenAPI configured" outcome rather than an error. A section that is not a
267
+ * mapping is returned UNCHANGED — see below.
268
+ */
269
+ export async function mergeOpenapiSettings(values) {
270
+ // Imported lazily so `--help` and `--version` never pay for loading apcore's
271
+ // Config, mirroring the Python binding's function-local import.
272
+ const { getA2aSetting } = await import("./config.js");
273
+ const section = getA2aSetting("openapi");
274
+ // A section that is not a mapping is passed through untouched, so that
275
+ // `buildOpenapiBackendFromConfig` reports it by name ("apcore-a2a.openapi
276
+ // must be a mapping."). Discarding it instead would turn the typo
277
+ // `openapi: ./spec.json` — a mapping's one key written as the whole value —
278
+ // into "a backend source is required", which sends the operator hunting for a
279
+ // missing flag rather than at the line they wrote. Follows the Rust binding,
280
+ // which diverged from the Python reference here for this reason.
281
+ if (section !== undefined && (typeof section !== "object" || Array.isArray(section))) {
282
+ return section;
283
+ }
284
+ const merged = {
285
+ ...(section ?? {}),
286
+ };
287
+ // Only a flag the operator actually passed is overlaid. Every OpenAPI flag is
288
+ // `undefined` when absent precisely so that "absent" stays distinguishable
289
+ // from "explicitly set to a falsy value".
290
+ const overlay = {
291
+ spec: values["from-openapi"],
292
+ base_url: values["openapi-base-url"],
293
+ prefix: values["openapi-prefix"],
294
+ include: values["openapi-include"],
295
+ exclude: values["openapi-exclude"],
296
+ headers: parseOpenapiHeaders(values["openapi-header"]),
297
+ };
298
+ if (values["openapi-no-deprecated"] !== undefined) {
299
+ overlay.include_deprecated = !values["openapi-no-deprecated"];
300
+ }
301
+ for (const [key, value] of Object.entries(overlay)) {
302
+ if (value !== undefined && value !== null)
303
+ merged[key] = value;
304
+ }
305
+ return merged.spec ? merged : null;
306
+ }
307
+ /** The `spec` of merged settings, when they are a mapping that names one. */
308
+ function specOf(openapi) {
309
+ if (typeof openapi !== "object" || openapi === null)
310
+ return undefined;
311
+ const spec = openapi.spec;
312
+ return typeof spec === "string" ? spec : undefined;
313
+ }
104
314
  async function runServe(values) {
105
315
  const extensionsDir = values["extensions-dir"];
106
- if (!extensionsDir) {
107
- fail("--extensions-dir is required");
316
+ // A backend source may also come from the Config Bus, so the usage check has
317
+ // to consult it — otherwise a valid `apcore-a2a.openapi.spec` in the config
318
+ // file would be rejected for naming no flag.
319
+ const openapi = await mergeOpenapiSettings(values);
320
+ if (!extensionsDir && !openapi) {
321
+ failUsage("one of --extensions-dir or --from-openapi is required " +
322
+ "(or an apcore-a2a.openapi.spec in your apcore config)");
323
+ }
324
+ const { Registry } = await import("apcore-js");
325
+ let registry;
326
+ if (extensionsDir) {
327
+ const resolved = resolve(extensionsDir);
328
+ if (!existsSync(resolved)) {
329
+ fail(`Extensions directory not found: ${resolved}`);
330
+ }
331
+ if (!statSync(resolved).isDirectory()) {
332
+ fail(`Not a directory: ${resolved}`);
333
+ }
334
+ registry = new Registry({ extensionsDir: resolved });
108
335
  }
109
- const resolved = resolve(extensionsDir);
110
- if (!existsSync(resolved)) {
111
- fail(`Extensions directory not found: ${resolved}`);
336
+ else {
337
+ registry = new Registry();
112
338
  }
113
- if (!statSync(resolved).isDirectory()) {
114
- fail(`Not a directory: ${resolved}`);
339
+ if (openapi) {
340
+ const { buildOpenapiBackendFromConfig } = await import("./openapi-backend.js");
341
+ try {
342
+ // The merged mapping, not the raw flags: this is the one route that reads
343
+ // `timeout` and `acknowledge_unapproved_writes`, applies the documented
344
+ // defaults, and resolves a relative `spec` against `Config.projectRoot`
345
+ // rather than the process CWD (FR-OAS-004 AC 5).
346
+ registry =
347
+ (await buildOpenapiBackendFromConfig(openapi, {
348
+ registry,
349
+ // `prefix` is mandatory in a mixed deployment: the scanner
350
+ // deduplicates within one scan only and knows nothing about the
351
+ // project modules already in the registry.
352
+ hasOtherBackendSource: !!extensionsDir,
353
+ })) ?? registry;
354
+ }
355
+ catch (e) {
356
+ // The resolved spec location may appear here; the fetch headers never do.
357
+ fail(`OpenAPI backend: ${e instanceof Error ? e.message : String(e)}`);
358
+ }
115
359
  }
116
- // Load registry
117
- const { Registry } = await import("apcore-js");
118
- const registry = new Registry({ extensionsDir: resolved });
119
360
  const modules = registry.list();
120
361
  if (modules.length === 0) {
121
- fail(`No modules discovered in ${resolved}`);
362
+ fail(`No modules discovered in ${specOf(openapi) ?? extensionsDir}`);
122
363
  }
123
364
  console.log(`Discovered ${modules.length} module(s): ${modules.join(", ")}`);
124
365
  // Build auth
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
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"}
@@ -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":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EAEpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,0EAA0E;AAC1E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC,CAAC;AAEH;;;;;GAKG;AACH;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,KAA8B;IACxD,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3C,iBAAiB,CAAC,KAAK,CAAC,KAA4C,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA8B;IAC1D,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAiC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,YAA2D,CAAC;IACvF,MAAM,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;IAC1C,OAAO,KAAK,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,cAAc,GAAoC;IACtD,CAAC,CAAC,KAAK,CAAC,EAAE,iBAAiB;IAC3B,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAqE;IAC1F,CAAC,CAAC,KAAK,CAAC,EAAE,iBAAiB;IAC3B,CAAC,CAAC,KAAK,CAAC,EAAE,mBAAmB;IAC7B,CAAC,CAAC,KAAK,CAAC,EAAE,oBAAoB;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,qBAAqB,GAAsD;IAC/E,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;IAC3C,CAAC,kDAAkD,EAAE,sBAAsB,CAAC;CAC7E,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAA0C;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC;IAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,iBAAiB;QAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;IACpE,IAAI,UAAU,KAAK,sBAAsB;QAAE,MAAM,IAAI,sBAAsB,EAAE,CAAC;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,QAAQ,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,GAAG,CAAS;IACZ,OAAO,CAAyB;IAChC,OAAO,CAAS;IAChB,WAAW,CAAmB;IAEtC,YAAY,GAAW,EAAE,IAA4D;QACnF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACtD,IAAI,IAAI,EAAE,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE;YAChD,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,GAAG;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;SAC/D,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,2BAA2B,GAAG,iCAAiC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,0FAA0F;IAC1F,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAgC,EAChC,IAAiE;QAEjE,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACpF,IAAI,IAAI,EAAE,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,IAGf;QACC,iEAAiE;QACjE,mEAAmE;QACnE,wEAAwE;QACxE,uCAAuC;QACvC,MAAM,MAAM,GAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACxE,IAAI,IAAI,EAAE,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAClB,OAAgC,EAChC,IAAiE;QAEjE,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACpF,IAAI,IAAI,EAAE,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,MAAM,EAAE;YACZ,MAAM,EAAE,gBAAgB;YACxB,MAAM;SACP,CAAC;QAEF,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC/B,0DAA0D;oBAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,mEAAmE;wBACnE,4DAA4D;wBAC5D,+BAA+B;wBAC/B,IAAI,KAA8B,CAAC;wBACnC,IAAI,CAAC;4BACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAA4B,CAAC;wBAC3E,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC1B,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;wBAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,KAAK,CAAC;wBACZ,IAAI,QAAQ;4BAAE,OAAO;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK;QACH,sDAAsD;IACxD,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,WAAW,CACvB,MAAc,EACd,MAA+B,EAC/B,UAAmB;QAEnB,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,MAAM,EAAE;YACZ,MAAM;YACN,MAAM;SACP,CAAC;QACF,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE;YAChD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAEjB,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,kBAAkB,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;QAChE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,iBAAiB,CAAC,IAAI,CAAC,KAA4C,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,MAAiC,CAAC;IAChD,CAAC;CACF"}
@@ -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"}
@@ -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"}
@@ -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
@@ -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"}