agentfootprint 11.1.1 → 11.2.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 (73) hide show
  1. package/CAPABILITIES.md +1 -0
  2. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +35 -4
  3. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  4. package/dist/adapters/mcp/agentcoreRuntime/transport.js +48 -22
  5. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  6. package/dist/core/RunnerBase.js +20 -1
  7. package/dist/core/RunnerBase.js.map +1 -1
  8. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -2
  9. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +35 -4
  10. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  11. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +38 -12
  12. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +47 -21
  13. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  14. package/dist/esm/core/RunnerBase.d.ts +18 -0
  15. package/dist/esm/core/RunnerBase.js +20 -1
  16. package/dist/esm/core/RunnerBase.js.map +1 -1
  17. package/dist/esm/core/runner.d.ts +1 -0
  18. package/dist/esm/lib/longTimeout.d.ts +34 -0
  19. package/dist/esm/lib/longTimeout.js +56 -0
  20. package/dist/esm/lib/longTimeout.js.map +1 -0
  21. package/dist/esm/lib/sleep.d.ts +2 -0
  22. package/dist/esm/lib/sleep.js +2 -0
  23. package/dist/esm/lib/sleep.js.map +1 -1
  24. package/dist/esm/mcp/backoff.d.ts +81 -0
  25. package/dist/esm/mcp/backoff.js +158 -0
  26. package/dist/esm/mcp/backoff.js.map +1 -0
  27. package/dist/esm/mcp/mcpClient.js +3 -1
  28. package/dist/esm/mcp/mcpClient.js.map +1 -1
  29. package/dist/esm/mcp/throttleRetry.d.ts +198 -28
  30. package/dist/esm/mcp/throttleRetry.js +428 -83
  31. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  32. package/dist/esm/mcp/types.d.ts +16 -7
  33. package/dist/esm/strategies/attach.js +3 -0
  34. package/dist/esm/strategies/attach.js.map +1 -1
  35. package/dist/esm/strategies/flushDeadline.d.ts +47 -0
  36. package/dist/esm/strategies/flushDeadline.js +96 -0
  37. package/dist/esm/strategies/flushDeadline.js.map +1 -0
  38. package/dist/lib/longTimeout.js +60 -0
  39. package/dist/lib/longTimeout.js.map +1 -0
  40. package/dist/lib/sleep.js +2 -0
  41. package/dist/lib/sleep.js.map +1 -1
  42. package/dist/mcp/backoff.js +163 -0
  43. package/dist/mcp/backoff.js.map +1 -0
  44. package/dist/mcp/mcpClient.js +3 -1
  45. package/dist/mcp/mcpClient.js.map +1 -1
  46. package/dist/mcp/throttleRetry.js +432 -85
  47. package/dist/mcp/throttleRetry.js.map +1 -1
  48. package/dist/strategies/attach.js +3 -0
  49. package/dist/strategies/attach.js.map +1 -1
  50. package/dist/strategies/flushDeadline.js +102 -0
  51. package/dist/strategies/flushDeadline.js.map +1 -0
  52. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -2
  53. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
  54. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +38 -12
  55. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  56. package/dist/types/core/RunnerBase.d.ts +18 -0
  57. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  58. package/dist/types/core/runner.d.ts +1 -0
  59. package/dist/types/core/runner.d.ts.map +1 -1
  60. package/dist/types/lib/longTimeout.d.ts +35 -0
  61. package/dist/types/lib/longTimeout.d.ts.map +1 -0
  62. package/dist/types/lib/sleep.d.ts +2 -0
  63. package/dist/types/lib/sleep.d.ts.map +1 -1
  64. package/dist/types/mcp/backoff.d.ts +82 -0
  65. package/dist/types/mcp/backoff.d.ts.map +1 -0
  66. package/dist/types/mcp/throttleRetry.d.ts +198 -28
  67. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  68. package/dist/types/mcp/types.d.ts +16 -7
  69. package/dist/types/mcp/types.d.ts.map +1 -1
  70. package/dist/types/strategies/attach.d.ts.map +1 -1
  71. package/dist/types/strategies/flushDeadline.d.ts +48 -0
  72. package/dist/types/strategies/flushDeadline.d.ts.map +1 -0
  73. package/package.json +2 -2
package/CAPABILITIES.md CHANGED
@@ -20,6 +20,7 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
20
20
 
21
21
  | If you are about to build… | It is | Where | Since |
22
22
  |---|---|---|---|
23
+ | tuning how an MCP call waits before asking again — the first wait, how it grows, jitter, a cap on the scheduled wait, a deadline for the whole call — and keeping a 429 retry and AgentCore Runtime's session-busy retry from multiplying requests: each call is ONE footprintjs `attempt()` series, the 429 rule JOINS a transport's own series instead of wrapping it (one attempt count, one waiting total, one deadline), a `Retry-After` is waited whole (never cut by the cap), and `onRetry` reports the refusal's `kind` but never arguments or answers | `retryOnThrottle` / `agentCoreRuntimeMcpTransport({ retry })` / `retryingFetch(fetch, options)`: `baseDelayMs`, `multiplier`, `jitter` (none, equal or full), `maxDelayMs`, `maxElapsedMs` beside `maxAttempts`, `maxWaitMs`, `onRetry` (`agentfootprint/providers`); AgentCore default 500 ms doubling, 5 attempts = 3.75–7.5 s of waiting | `src/mcp/throttleRetry.ts` | 11.2.0 |
23
24
  | refusing invalid memory list and search request sizes uniformly before backend reads or empty-result shortcuts, while keeping optional defaults, adapter upper caps and list continuation intact | `ListOptions` + `SearchOptions` | `src/memory/store/types.ts` | 10.8.1 |
24
25
  | reading AgentCore memory with a large portable page request while obeying AWS's 100-event wire bound and keeping every continuation cursor; validating its configured page size before SDK construction; bundled hosts supplying the SDK as a public typed option, with extraction writes refused when an older serializer cannot carry them | `AgentCoreStore` + `AgentCoreStoreOptions.sdk` + `BedrockAgentCoreSdkModule` + `ListResult.cursor` (`agentfootprint/memory`) | `src/adapters/memory/agentcore.ts` | 10.8.1 |
25
26
  | giving a tool the credential that arrived WITH the incoming request (an encrypted per-request token, a session key) — sealed per run so no copy, log or state carries it, read only by the run that carried it (its composition members included, at any depth; a resume serves the resume's request), failing closed by name when absent; strategies for bearer, API-key header and decrypt-then-read; through a host, the app seals each request's credential from its headers (`sealRequest`) and the host hands it to that request's run only — a handle returned twice refused, a sealer's throw refused in fixed words | `requestContext` + `requestCredentials` + `asBearer` / `asApiKey` / `decodedWith` + `RequestCredentialError` (`agentfootprint/security`), `run(input, { request })`; `sealRequest` + `RequestSealer` on `standingAgent` / `streamHandler` (`agentfootprint/hosting`) | `src/identity/requestCredentials.ts` | 10.5.0 |
@@ -21,7 +21,7 @@
21
21
  * ── Why asking again is safe ─────────────────────────────────────────────────
22
22
  * The refusal is the PLATFORM's, about the session, made before the request
23
23
  * reached the MCP server: nothing ran. That is the license a 429 holds, and the
24
- * only one `retryingFetchWhen` accepts (see `mcp/throttleRetry.ts` ·
24
+ * only one the retry series accepts (see `mcp/throttleRetry.ts` ·
25
25
  * `RetryDecision`).
26
26
  *
27
27
  * ── What it must NOT match ───────────────────────────────────────────────────
@@ -43,6 +43,7 @@
43
43
  */
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.isSessionBusyReply = exports.sessionBusy = exports.SESSION_BUSY_CODE = void 0;
46
+ const abort_js_1 = require("../../../lib/abort.js");
46
47
  const errorType_js_1 = require("./errorType.js");
47
48
  /** The JSON-RPC error code the contract gives `RetryableConflictException`. */
48
49
  exports.SESSION_BUSY_CODE = -32005;
@@ -62,8 +63,12 @@ const SESSION_BUSY_MESSAGE = /session operation in progress/i;
62
63
  * Reads a CLONE of the body, so the response is delivered intact either way.
63
64
  * Answers `{}` (wait the loop's own backoff, then send the same request again)
64
65
  * or `undefined` (deliver it).
66
+ *
67
+ * `signal` is the request's: when it fires mid-read (the call's deadline, the
68
+ * caller's cancellation), the clone's read is cancelled and released, and this
69
+ * rejects with the abort — a stalled body never leaves a reader behind.
65
70
  */
66
- async function sessionBusy(response) {
71
+ async function sessionBusy(response, signal) {
67
72
  if (response.status === 409) {
68
73
  return (0, errorType_js_1.awsErrorType)(response.headers) === SESSION_BUSY_TYPE ? {} : undefined;
69
74
  }
@@ -73,9 +78,12 @@ async function sessionBusy(response) {
73
78
  return undefined;
74
79
  let text;
75
80
  try {
76
- text = await response.clone().text();
81
+ text = await cloneText(response, signal);
77
82
  }
78
- catch {
83
+ catch (error) {
84
+ // A stopped request is the caller's word, never "not busy": pass it on.
85
+ if (signal?.aborted)
86
+ throw error;
79
87
  return undefined;
80
88
  }
81
89
  // A cheap gate before parsing: a large tool result does not contain the
@@ -107,6 +115,29 @@ function isSessionBusyReply(body) {
107
115
  return (code === exports.SESSION_BUSY_CODE && typeof message === 'string' && SESSION_BUSY_MESSAGE.test(message));
108
116
  }
109
117
  exports.isSessionBusyReply = isSessionBusyReply;
118
+ /**
119
+ * The text of a clone of `response`'s body, read under `signal`: an abort
120
+ * cancels the clone's reader and releases it (`lib/abort.ts` · `bodyChunks`).
121
+ * Decoded as `Response.text()` decodes: UTF-8, a leading BOM dropped.
122
+ */
123
+ async function cloneText(response, signal) {
124
+ const body = response.clone().body;
125
+ if (body === null)
126
+ return '';
127
+ const chunks = [];
128
+ let length = 0;
129
+ for await (const chunk of (0, abort_js_1.bodyChunks)(body, signal)) {
130
+ chunks.push(chunk);
131
+ length += chunk.byteLength;
132
+ }
133
+ const bytes = new Uint8Array(length);
134
+ let at = 0;
135
+ for (const chunk of chunks) {
136
+ bytes.set(chunk, at);
137
+ at += chunk.byteLength;
138
+ }
139
+ return new TextDecoder().decode(bytes);
140
+ }
110
141
  /** `application/json`, with or without parameters, in any case. */
111
142
  function isJson(contentType) {
112
143
  if (contentType === null)
@@ -1 +1 @@
1
- {"version":3,"file":"sessionBusy.js","sourceRoot":"","sources":["../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;;;AAGH,iDAA8C;AAE9C,+EAA+E;AAClE,QAAA,iBAAiB,GAAG,CAAC,KAAK,CAAC;AAExC,wEAAwE;AACxE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D;;;;;;;;GAQG;AACI,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAA,2BAAY,EAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wEAAwE;IACxE,kDAAkD;IAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAiB,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAtBD,kCAsBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,KAAK,GAAI,IAAqC,CAAC,KAAK,CAAC;IAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAgE,CAAC;IAC3F,OAAO,CACL,IAAI,KAAK,yBAAiB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAChG,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,mEAAmE;AACnE,SAAS,MAAM,CAAC,WAA0B;IACxC,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,OAAO,OAAO,KAAK,kBAAkB,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"sessionBusy.js","sourceRoot":"","sources":["../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@
31
31
  * a handle the transport issues)
32
32
  * retry (`sessionBusy.ts`) the session-busy refusal, retried with bounded
33
33
  * backoff by the SAME loop `mcpClient` uses for a
34
- * 429 (`mcp/throttleRetry.ts` · `retryingFetchWhen`)
34
+ * 429 (`mcp/throttleRetry.ts` · `retryingFetchFor`,
35
+ * one footprintjs `attempt()` series per request)
35
36
  * auth (`invoke.ts`) 'sigv4' through the AWS SDK's InvokeAgentRuntime,
36
37
  * or a bearer token over the documented HTTPS
37
38
  * endpoint — the SDK has no bearer scheme, and the
@@ -42,7 +43,12 @@
42
43
  * signed (or vended) afresh, the ordering `mcp/throttleRetry.ts` requires.
43
44
  * What the MCP client reads of a failure is rewritten from the library's own
44
45
  * fixed sentences and safe ids (`safeAnswer.ts`), never the service's text.
45
- * `mcpClient`'s own 429 retry still wraps the whole thing.
46
+ *
47
+ * `mcpClient`'s own 429 retry does not wrap this fetch: the fetch is joinable
48
+ * (`joinableRetry`), so the 429 rule joins the transport's series INSIDE the
49
+ * session and the rewrite. One request is one series — one attempt count, one
50
+ * waiting total, one deadline — so the two retries can never multiply requests,
51
+ * and every attempt, a 429's included, lands in the same runtime session.
46
52
  *
47
53
  * ── What it does NOT do ──────────────────────────────────────────────────────
48
54
  * Deploy or manage a runtime (a control-plane job), or host one (that is
@@ -52,15 +58,31 @@
52
58
  * Pattern: Facade over three Strategies. Role: outer ring, vendor adapter.
53
59
  */
54
60
  Object.defineProperty(exports, "__esModule", { value: true });
55
- exports.agentCoreRuntimeUrl = exports.agentCoreRuntimeMcpTransport = void 0;
61
+ exports.agentCoreRuntimeUrl = exports.agentCoreRuntimeMcpTransport = exports.SESSION_BUSY_RETRY_DEFAULTS = void 0;
56
62
  const gatewayTransport_js_1 = require("../../../mcp/gatewayTransport.js");
57
63
  const throttleRetry_js_1 = require("../../../mcp/throttleRetry.js");
58
64
  const invoke_js_1 = require("./invoke.js");
59
65
  const safeAnswer_js_1 = require("./safeAnswer.js");
60
66
  const session_js_1 = require("./session.js");
61
67
  const sessionBusy_js_1 = require("./sessionBusy.js");
62
- /** The session-busy retry's own ceilings, when the caller set none. */
63
- const DEFAULT_RETRY = { maxAttempts: 5, maxWaitMs: 10_000 };
68
+ /**
69
+ * The session-busy retry's defaults, chosen by their MINIMUM total wait.
70
+ * AgentCore can take about 2.5 s, and up to about 3.4 s, to bring a runtime
71
+ * session up. 500 ms doubling with equal jitter over 5 attempts waits
72
+ * 250 + 500 + 1000 + 2000 = 3750 ms at the shortest draw and
73
+ * 500 + 1000 + 2000 + 4000 = 7500 ms at the longest: the slowest start is
74
+ * covered on every draw, and the longest stays inside the 10 s ceiling on
75
+ * waiting, so the ceiling never cuts the schedule short.
76
+ */
77
+ exports.SESSION_BUSY_RETRY_DEFAULTS = Object.freeze({
78
+ maxAttempts: 5,
79
+ maxWaitMs: 10_000,
80
+ maxElapsedMs: Infinity,
81
+ baseDelayMs: 500,
82
+ multiplier: 2,
83
+ jitter: 'equal',
84
+ maxDelayMs: Infinity,
85
+ });
64
86
  /** What a bearer token is vended for, unless the caller names another service. */
65
87
  const DEFAULT_BEARER_SERVICE = 'runtime';
66
88
  /** A region is a DNS label run, nothing more — it is spliced into a hostname. */
@@ -77,12 +99,27 @@ const REGION_SHAPE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
77
99
  function agentCoreRuntimeMcpTransport(options) {
78
100
  const url = agentCoreRuntimeUrl(options);
79
101
  const send = authStrategy(options, url);
80
- const retried = (0, throttleRetry_js_1.retryingFetchWhen)(send, retryConfig(options.retry), sessionBusy_js_1.sessionBusy) ?? send;
102
+ const busy = (0, throttleRetry_js_1.retryRule)('session-busy', sessionBusy_js_1.sessionBusy, options.retry, exports.SESSION_BUSY_RETRY_DEFAULTS, 'agentCoreRuntimeMcpTransport: `retry`');
81
103
  const session = (0, session_js_1.sessionStrategy)(options.session ?? 'per-call');
82
- // The session is applied ONCE per request the MCP client makes, outside the
83
- // retry: every attempt of one request goes to the same runtime session (a
84
- // busy refusal is about THAT session coming up), and only the final answer
85
- // binds anything.
104
+ return {
105
+ transport: 'http',
106
+ url,
107
+ fetch: sessionedFetch(session, send, busy === undefined ? [] : [busy]),
108
+ };
109
+ }
110
+ exports.agentCoreRuntimeMcpTransport = agentCoreRuntimeMcpTransport;
111
+ /**
112
+ * The transport's fetch: the session around ONE retry series around the auth.
113
+ *
114
+ * The session is applied ONCE per request the MCP client makes, outside the
115
+ * series: every attempt of one request goes to the same runtime session (a busy
116
+ * refusal is about THAT session coming up), and only the final answer binds
117
+ * anything. Joinable: a rule `retryingFetch` offers (`mcpClient`'s 429 retry) is
118
+ * rebuilt into this same series, inside the session and the rewrite — never
119
+ * wrapped around them as a second loop.
120
+ */
121
+ function sessionedFetch(session, send, rules) {
122
+ const retried = (0, throttleRetry_js_1.retryingFetchFor)(send, rules);
86
123
  const sessioned = async (input, init) => {
87
124
  const headers = new Headers(init?.headers);
88
125
  const step = session.request(headers, (init?.method ?? 'GET').toUpperCase());
@@ -93,9 +130,8 @@ function agentCoreRuntimeMcpTransport(options) {
93
130
  // ONE rule for both auth paths, after the retry has read the original.
94
131
  return step.settle(await (0, safeAnswer_js_1.safeAnswer)(response));
95
132
  };
96
- return { transport: 'http', url, fetch: sessioned };
133
+ return (0, throttleRetry_js_1.joinableRetry)(sessioned, (rule) => sessionedFetch(session, send, [...rules, rule]));
97
134
  }
98
- exports.agentCoreRuntimeMcpTransport = agentCoreRuntimeMcpTransport;
99
135
  /**
100
136
  * The HTTPS endpoint of a runtime's MCP server:
101
137
  * `https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{url-encoded ARN}/invocations`,
@@ -195,16 +231,6 @@ function injectedSdk(options) {
195
231
  }
196
232
  return sdk ?? legacy;
197
233
  }
198
- // ── The retry strategy's configuration ────────────────────────────────
199
- function retryConfig(retry) {
200
- if (retry === false)
201
- return false;
202
- const given = typeof retry === 'object' && retry !== null ? retry : {};
203
- // An explicitly `undefined` field means "not set" — it must fall back to this
204
- // transport's default, not erase it (and land on the loop's own default).
205
- const set = Object.fromEntries(Object.entries(given).filter(([, v]) => v !== undefined));
206
- return { ...DEFAULT_RETRY, ...set };
207
- }
208
234
  /**
209
235
  * A refused value, described by SHAPE — never echoed. A mistyped `auth` can be
210
236
  * the token itself (`auth: process.env.RUNTIME_TOKEN`), and an error message is
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/mcp/agentcoreRuntime/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/mcp/agentcoreRuntime/transport.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ const inputRequest_js_1 = require("../tools/inputRequest.js");
28
28
  const eventMeta_js_1 = require("../bridge/eventMeta.js");
29
29
  const attach_js_1 = require("../strategies/attach.js");
30
30
  const lifecycle_js_1 = require("../strategies/lifecycle.js");
31
+ const flushDeadline_js_1 = require("../strategies/flushDeadline.js");
31
32
  const FlowchartRecorder_js_1 = require("../recorders/observability/FlowchartRecorder.js");
32
33
  const localObservability_js_1 = require("../recorders/observability/localObservability.js");
33
34
  /** The reason a pause request names when its pause carries none — typed, so a
@@ -741,9 +742,26 @@ class RunnerBase {
741
742
  * 3. a strategy is stopped only once nothing is still subscribed to it,
742
743
  * and at most once ever (see `strategies/lifecycle.ts`).
743
744
  *
745
+ * Each flush waits under ONE deadline, `timeoutMs`. A sink still flushing at
746
+ * the deadline — still delivering, or stuck on a hung disk, mount or network
747
+ * call — cannot hold the shutdown: it is reported by name through that
748
+ * sink's own `onError` (the console when it has none), and the shutdown goes
749
+ * on. Its write is not cancelled; nothing can cancel it.
750
+ *
751
+ * A call made while a shutdown is in flight joins it: its own `timeoutMs`
752
+ * is still checked, but the first call's deadline governs, as its `stop`
753
+ * does.
754
+ *
744
755
  * @param options.stop - Default `true`. Pass `false` to drain WITHOUT
745
756
  * releasing — what a host does when it is shutting down but does not own
746
757
  * the agent it was handed (`standingAgent`'s default `shutdown: 'flush'`).
758
+ * @param options.timeoutMs - How long to wait for each sink's flush, in ms.
759
+ * Default 30 000 (the same number footprintjs's `drainObservers` uses).
760
+ * `Infinity` waits without a deadline — how `shutdown()` behaved before
761
+ * this option existed — and arms no timer. A finite value of any size is
762
+ * honoured, even past the ~24.8 days one host timer can hold. A value that
763
+ * is not a positive number makes the returned promise reject with a
764
+ * `TypeError`; nothing throws synchronously.
747
765
  *
748
766
  * @example Graceful exit for a script
749
767
  * const telemetry = agent.enable.observability({ strategy: cloudwatch });
@@ -751,6 +769,7 @@ class RunnerBase {
751
769
  * await agent.shutdown();
752
770
  */
753
771
  async shutdown(options = {}) {
772
+ const timeoutMs = (0, flushDeadline_js_1.shutdownTimeoutOf)(options.timeoutMs);
754
773
  if (this.shutdownInFlight)
755
774
  return this.shutdownInFlight;
756
775
  const shouldStop = options.stop ?? true;
@@ -758,7 +777,7 @@ class RunnerBase {
758
777
  this.shutdownInFlight = (async () => {
759
778
  // Flush everything before stopping anything — a strategy two handles
760
779
  // share must not be stopped while the other still has data to ship.
761
- await Promise.allSettled(handles.map((handle) => handle.flush()));
780
+ await Promise.allSettled(handles.map((handle) => (0, flushDeadline_js_1.flushWithinDeadline)(handle, timeoutMs)));
762
781
  // TOOL SESSIONS CLOSE ON EITHER SETTING (9.7.0) — including
763
782
  // `{ stop: false }`, and this is a deliberate asymmetry worth reading.
764
783
  //
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../src/core/RunnerBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../src/core/RunnerBase.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  * ── Why asking again is safe ─────────────────────────────────────────────────
21
21
  * The refusal is the PLATFORM's, about the session, made before the request
22
22
  * reached the MCP server: nothing ran. That is the license a 429 holds, and the
23
- * only one `retryingFetchWhen` accepts (see `mcp/throttleRetry.ts` ·
23
+ * only one the retry series accepts (see `mcp/throttleRetry.ts` ·
24
24
  * `RetryDecision`).
25
25
  *
26
26
  * ── What it must NOT match ───────────────────────────────────────────────────
@@ -51,8 +51,12 @@ export declare const SESSION_BUSY_CODE = -32005;
51
51
  * Reads a CLONE of the body, so the response is delivered intact either way.
52
52
  * Answers `{}` (wait the loop's own backoff, then send the same request again)
53
53
  * or `undefined` (deliver it).
54
+ *
55
+ * `signal` is the request's: when it fires mid-read (the call's deadline, the
56
+ * caller's cancellation), the clone's read is cancelled and released, and this
57
+ * rejects with the abort — a stalled body never leaves a reader behind.
54
58
  */
55
- export declare function sessionBusy(response: Response): Promise<RetryVerdict | undefined>;
59
+ export declare function sessionBusy(response: Response, signal?: AbortSignal): Promise<RetryVerdict | undefined>;
56
60
  /**
57
61
  * The match itself, over a parsed body: ONE JSON-RPC reply whose error carries
58
62
  * the contract's code and message. A batch is never retried whole — some of
@@ -20,7 +20,7 @@
20
20
  * ── Why asking again is safe ─────────────────────────────────────────────────
21
21
  * The refusal is the PLATFORM's, about the session, made before the request
22
22
  * reached the MCP server: nothing ran. That is the license a 429 holds, and the
23
- * only one `retryingFetchWhen` accepts (see `mcp/throttleRetry.ts` ·
23
+ * only one the retry series accepts (see `mcp/throttleRetry.ts` ·
24
24
  * `RetryDecision`).
25
25
  *
26
26
  * ── What it must NOT match ───────────────────────────────────────────────────
@@ -40,6 +40,7 @@
40
40
  *
41
41
  * Pattern: Strategy (a `RetryDecision`). Role: outer ring, vendor fact.
42
42
  */
43
+ import { bodyChunks } from '../../../lib/abort.js';
43
44
  import { awsErrorType } from './errorType.js';
44
45
  /** The JSON-RPC error code the contract gives `RetryableConflictException`. */
45
46
  export const SESSION_BUSY_CODE = -32005;
@@ -59,8 +60,12 @@ const SESSION_BUSY_MESSAGE = /session operation in progress/i;
59
60
  * Reads a CLONE of the body, so the response is delivered intact either way.
60
61
  * Answers `{}` (wait the loop's own backoff, then send the same request again)
61
62
  * or `undefined` (deliver it).
63
+ *
64
+ * `signal` is the request's: when it fires mid-read (the call's deadline, the
65
+ * caller's cancellation), the clone's read is cancelled and released, and this
66
+ * rejects with the abort — a stalled body never leaves a reader behind.
62
67
  */
63
- export async function sessionBusy(response) {
68
+ export async function sessionBusy(response, signal) {
64
69
  if (response.status === 409) {
65
70
  return awsErrorType(response.headers) === SESSION_BUSY_TYPE ? {} : undefined;
66
71
  }
@@ -70,9 +75,12 @@ export async function sessionBusy(response) {
70
75
  return undefined;
71
76
  let text;
72
77
  try {
73
- text = await response.clone().text();
78
+ text = await cloneText(response, signal);
74
79
  }
75
- catch {
80
+ catch (error) {
81
+ // A stopped request is the caller's word, never "not busy": pass it on.
82
+ if (signal?.aborted)
83
+ throw error;
76
84
  return undefined;
77
85
  }
78
86
  // A cheap gate before parsing: a large tool result does not contain the
@@ -102,6 +110,29 @@ export function isSessionBusyReply(body) {
102
110
  const { code, message } = error;
103
111
  return (code === SESSION_BUSY_CODE && typeof message === 'string' && SESSION_BUSY_MESSAGE.test(message));
104
112
  }
113
+ /**
114
+ * The text of a clone of `response`'s body, read under `signal`: an abort
115
+ * cancels the clone's reader and releases it (`lib/abort.ts` · `bodyChunks`).
116
+ * Decoded as `Response.text()` decodes: UTF-8, a leading BOM dropped.
117
+ */
118
+ async function cloneText(response, signal) {
119
+ const body = response.clone().body;
120
+ if (body === null)
121
+ return '';
122
+ const chunks = [];
123
+ let length = 0;
124
+ for await (const chunk of bodyChunks(body, signal)) {
125
+ chunks.push(chunk);
126
+ length += chunk.byteLength;
127
+ }
128
+ const bytes = new Uint8Array(length);
129
+ let at = 0;
130
+ for (const chunk of chunks) {
131
+ bytes.set(chunk, at);
132
+ at += chunk.byteLength;
133
+ }
134
+ return new TextDecoder().decode(bytes);
135
+ }
105
136
  /** `application/json`, with or without parameters, in any case. */
106
137
  function isJson(contentType) {
107
138
  if (contentType === null)
@@ -1 +1 @@
1
- {"version":3,"file":"sessionBusy.js","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC;AAExC,wEAAwE;AACxE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wEAAwE;IACxE,kDAAkD;IAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,KAAK,GAAI,IAAqC,CAAC,KAAK,CAAC;IAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAgE,CAAC;IAC3F,OAAO,CACL,IAAI,KAAK,iBAAiB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,MAAM,CAAC,WAA0B;IACxC,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,OAAO,OAAO,KAAK,kBAAkB,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"sessionBusy.js","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,8 @@
30
30
  * a handle the transport issues)
31
31
  * retry (`sessionBusy.ts`) the session-busy refusal, retried with bounded
32
32
  * backoff by the SAME loop `mcpClient` uses for a
33
- * 429 (`mcp/throttleRetry.ts` · `retryingFetchWhen`)
33
+ * 429 (`mcp/throttleRetry.ts` · `retryingFetchFor`,
34
+ * one footprintjs `attempt()` series per request)
34
35
  * auth (`invoke.ts`) 'sigv4' through the AWS SDK's InvokeAgentRuntime,
35
36
  * or a bearer token over the documented HTTPS
36
37
  * endpoint — the SDK has no bearer scheme, and the
@@ -41,7 +42,12 @@
41
42
  * signed (or vended) afresh, the ordering `mcp/throttleRetry.ts` requires.
42
43
  * What the MCP client reads of a failure is rewritten from the library's own
43
44
  * fixed sentences and safe ids (`safeAnswer.ts`), never the service's text.
44
- * `mcpClient`'s own 429 retry still wraps the whole thing.
45
+ *
46
+ * `mcpClient`'s own 429 retry does not wrap this fetch: the fetch is joinable
47
+ * (`joinableRetry`), so the 429 rule joins the transport's series INSIDE the
48
+ * session and the rewrite. One request is one series — one attempt count, one
49
+ * waiting total, one deadline — so the two retries can never multiply requests,
50
+ * and every attempt, a 429's included, lands in the same runtime session.
45
51
  *
46
52
  * ── What it does NOT do ──────────────────────────────────────────────────────
47
53
  * Deploy or manage a runtime (a control-plane job), or host one (that is
@@ -51,7 +57,7 @@
51
57
  * Pattern: Facade over three Strategies. Role: outer ring, vendor adapter.
52
58
  */
53
59
  import { type FetchLike } from '../../../mcp/gatewayTransport.js';
54
- import { type ThrottleRetryOptions } from '../../../mcp/throttleRetry.js';
60
+ import { type RetryDefaults, type ThrottleRetryOptions } from '../../../mcp/throttleRetry.js';
55
61
  import type { McpHttpTransport } from '../../../mcp/types.js';
56
62
  import type { CredentialProvider } from '../../../identity/types.js';
57
63
  import { type AgentCoreRuntimeSdkClient, type BedrockAgentCoreRuntimeSdkModule } from './invoke.js';
@@ -92,8 +98,9 @@ export interface AgentCoreRuntimeBearerAuth {
92
98
  */
93
99
  export type AgentCoreRuntimeAuth = 'sigv4' | AgentCoreRuntimeBearerAuth;
94
100
  /**
95
- * The session-busy retry: the same ceilings and the same `onRetry` report as
96
- * `mcpClient`'s `retryOnThrottle`, applied to AgentCore's own refusal.
101
+ * The session-busy retry: the same options and the same `onRetry` report as
102
+ * `mcpClient`'s `retryOnThrottle`, applied to AgentCore's own refusal — with
103
+ * this transport's defaults (see {@link AgentCoreRuntimeMcpTransportOptions.retry}).
97
104
  */
98
105
  export type AgentCoreRuntimeRetryOptions = ThrottleRetryOptions;
99
106
  /** Options for {@link agentCoreRuntimeMcpTransport}. */
@@ -126,14 +133,23 @@ export interface AgentCoreRuntimeMcpTransportOptions {
126
133
  /**
127
134
  * Retry AgentCore's "session operation in progress" refusal — the MCP
128
135
  * contract's HTTP 200 with JSON-RPC -32005, or the API's 409
129
- * `RetryableConflictException`. On by default: up to 5 attempts, never more
130
- * than 10 s of waiting in total, jittered exponential backoff. `false` lets
131
- * the refusal through on the first attempt.
136
+ * `RetryableConflictException`. `false` lets the refusal through on the
137
+ * first attempt.
138
+ *
139
+ * On by default, set by its MINIMUM total wait: AgentCore can take about
140
+ * 2.5 s, and up to about 3.4 s, to bring a runtime session up, and refuses
141
+ * every request until it has. Up to 5 attempts, waiting 500 ms doubling with
142
+ * equal jitter — 250–500 ms, 500–1000 ms, 1–2 s, 2–4 s — is 3.75 s of waiting
143
+ * at the shortest draw and 7.5 s at the longest, inside the 10 s ceiling on
144
+ * waiting (`maxWaitMs`). No deadline (`maxElapsedMs`) and no cap on the
145
+ * scheduled wait (`maxDelayMs`) unless you set them.
132
146
  *
133
- * Nothing else is retried here: a 429 goes to `mcpClient`'s own throttle
134
- * retry, and a 5xx, a dropped connection or any other JSON-RPC error
135
- * (throttling's -32003 included) is delivered as it is — it may be the
136
- * record of work that ran.
147
+ * These are the call's overall limits. Under `mcpClient`, its 429 retry
148
+ * joins this retry's series rather than wrapping it, so a call makes at most
149
+ * `maxAttempts` requests whichever refusals it meets, and `retryOnThrottle`'s
150
+ * own values limit only the 429 retries inside that. A 5xx, a dropped
151
+ * connection or any other JSON-RPC error (throttling's -32003 included) is
152
+ * delivered as it is — it may be the record of work that ran.
137
153
  */
138
154
  readonly retry?: boolean | AgentCoreRuntimeRetryOptions;
139
155
  /**
@@ -170,6 +186,16 @@ export interface AgentCoreRuntimeMcpTransportOptions {
170
186
  */
171
187
  readonly _sdk?: BedrockAgentCoreRuntimeSdkModule;
172
188
  }
189
+ /**
190
+ * The session-busy retry's defaults, chosen by their MINIMUM total wait.
191
+ * AgentCore can take about 2.5 s, and up to about 3.4 s, to bring a runtime
192
+ * session up. 500 ms doubling with equal jitter over 5 attempts waits
193
+ * 250 + 500 + 1000 + 2000 = 3750 ms at the shortest draw and
194
+ * 500 + 1000 + 2000 + 4000 = 7500 ms at the longest: the slowest start is
195
+ * covered on every draw, and the longest stays inside the 10 s ceiling on
196
+ * waiting, so the ceiling never cuts the schedule short.
197
+ */
198
+ export declare const SESSION_BUSY_RETRY_DEFAULTS: RetryDefaults;
173
199
  /**
174
200
  * An MCP transport for a server hosted on AgentCore Runtime.
175
201
  *