agentfootprint 11.1.0 → 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 (99) 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/adapters/observability/cloudwatch.js +101 -110
  7. package/dist/adapters/observability/cloudwatch.js.map +1 -1
  8. package/dist/adapters/observability/file.js +48 -71
  9. package/dist/adapters/observability/file.js.map +1 -1
  10. package/dist/adapters/observability/outbox.js +217 -0
  11. package/dist/adapters/observability/outbox.js.map +1 -0
  12. package/dist/adapters/observability/xray.js +56 -70
  13. package/dist/adapters/observability/xray.js.map +1 -1
  14. package/dist/core/RunnerBase.js +20 -1
  15. package/dist/core/RunnerBase.js.map +1 -1
  16. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -2
  17. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +35 -4
  18. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  19. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +38 -12
  20. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +47 -21
  21. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  22. package/dist/esm/adapters/observability/cloudwatch.d.ts +6 -2
  23. package/dist/esm/adapters/observability/cloudwatch.js +101 -110
  24. package/dist/esm/adapters/observability/cloudwatch.js.map +1 -1
  25. package/dist/esm/adapters/observability/file.d.ts +8 -4
  26. package/dist/esm/adapters/observability/file.js +48 -71
  27. package/dist/esm/adapters/observability/file.js.map +1 -1
  28. package/dist/esm/adapters/observability/outbox.d.ts +104 -0
  29. package/dist/esm/adapters/observability/outbox.js +213 -0
  30. package/dist/esm/adapters/observability/outbox.js.map +1 -0
  31. package/dist/esm/adapters/observability/xray.js +56 -70
  32. package/dist/esm/adapters/observability/xray.js.map +1 -1
  33. package/dist/esm/core/RunnerBase.d.ts +18 -0
  34. package/dist/esm/core/RunnerBase.js +20 -1
  35. package/dist/esm/core/RunnerBase.js.map +1 -1
  36. package/dist/esm/core/runner.d.ts +1 -0
  37. package/dist/esm/lib/longTimeout.d.ts +34 -0
  38. package/dist/esm/lib/longTimeout.js +56 -0
  39. package/dist/esm/lib/longTimeout.js.map +1 -0
  40. package/dist/esm/lib/sleep.d.ts +2 -0
  41. package/dist/esm/lib/sleep.js +2 -0
  42. package/dist/esm/lib/sleep.js.map +1 -1
  43. package/dist/esm/mcp/backoff.d.ts +81 -0
  44. package/dist/esm/mcp/backoff.js +158 -0
  45. package/dist/esm/mcp/backoff.js.map +1 -0
  46. package/dist/esm/mcp/mcpClient.js +3 -1
  47. package/dist/esm/mcp/mcpClient.js.map +1 -1
  48. package/dist/esm/mcp/throttleRetry.d.ts +198 -28
  49. package/dist/esm/mcp/throttleRetry.js +428 -83
  50. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  51. package/dist/esm/mcp/types.d.ts +16 -7
  52. package/dist/esm/strategies/attach.js +3 -0
  53. package/dist/esm/strategies/attach.js.map +1 -1
  54. package/dist/esm/strategies/flushDeadline.d.ts +47 -0
  55. package/dist/esm/strategies/flushDeadline.js +96 -0
  56. package/dist/esm/strategies/flushDeadline.js.map +1 -0
  57. package/dist/lib/longTimeout.js +60 -0
  58. package/dist/lib/longTimeout.js.map +1 -0
  59. package/dist/lib/sleep.js +2 -0
  60. package/dist/lib/sleep.js.map +1 -1
  61. package/dist/mcp/backoff.js +163 -0
  62. package/dist/mcp/backoff.js.map +1 -0
  63. package/dist/mcp/mcpClient.js +3 -1
  64. package/dist/mcp/mcpClient.js.map +1 -1
  65. package/dist/mcp/throttleRetry.js +432 -85
  66. package/dist/mcp/throttleRetry.js.map +1 -1
  67. package/dist/strategies/attach.js +3 -0
  68. package/dist/strategies/attach.js.map +1 -1
  69. package/dist/strategies/flushDeadline.js +102 -0
  70. package/dist/strategies/flushDeadline.js.map +1 -0
  71. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -2
  72. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
  73. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +38 -12
  74. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  75. package/dist/types/adapters/observability/cloudwatch.d.ts +6 -2
  76. package/dist/types/adapters/observability/cloudwatch.d.ts.map +1 -1
  77. package/dist/types/adapters/observability/file.d.ts +8 -4
  78. package/dist/types/adapters/observability/file.d.ts.map +1 -1
  79. package/dist/types/adapters/observability/outbox.d.ts +105 -0
  80. package/dist/types/adapters/observability/outbox.d.ts.map +1 -0
  81. package/dist/types/adapters/observability/xray.d.ts.map +1 -1
  82. package/dist/types/core/RunnerBase.d.ts +18 -0
  83. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  84. package/dist/types/core/runner.d.ts +1 -0
  85. package/dist/types/core/runner.d.ts.map +1 -1
  86. package/dist/types/lib/longTimeout.d.ts +35 -0
  87. package/dist/types/lib/longTimeout.d.ts.map +1 -0
  88. package/dist/types/lib/sleep.d.ts +2 -0
  89. package/dist/types/lib/sleep.d.ts.map +1 -1
  90. package/dist/types/mcp/backoff.d.ts +82 -0
  91. package/dist/types/mcp/backoff.d.ts.map +1 -0
  92. package/dist/types/mcp/throttleRetry.d.ts +198 -28
  93. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  94. package/dist/types/mcp/types.d.ts +16 -7
  95. package/dist/types/mcp/types.d.ts.map +1 -1
  96. package/dist/types/strategies/attach.d.ts.map +1 -1
  97. package/dist/types/strategies/flushDeadline.d.ts +48 -0
  98. package/dist/types/strategies/flushDeadline.d.ts.map +1 -0
  99. package/package.json +2 -2
@@ -19,6 +19,7 @@
19
19
  import { FlowChartExecutor, flowChart } from 'footprintjs';
20
20
  import { withWireErrors } from '../lib/wireJson.js';
21
21
  import { ASYNC_DISPOSE, releaseStrategy, retainStrategy, stopStrategyIfUnused, } from './lifecycle.js';
22
+ import { rememberStrategyOf } from './flushDeadline.js';
22
23
  import { selectStatus, renderStatusLine, defaultStatusTemplates, } from '../recorders/observability/status/statusTemplates.js';
23
24
  /**
24
25
  * Build the handle `enable.*` returns: the `Unsubscribe` it always was, plus
@@ -72,6 +73,8 @@ function makeStrategyHandle(args) {
72
73
  stopStrategyIfUnused(args.strategy);
73
74
  },
74
75
  });
76
+ // So a shutdown whose deadline this handle's flush misses can name the sink.
77
+ rememberStrategyOf(handle, args.strategy);
75
78
  // The computed `ASYNC_DISPOSE` key gives TypeScript a symbol INDEX
76
79
  // signature rather than the one well-known member `AsyncDisposable` names,
77
80
  // so the cast goes through `unknown`. At runtime the key IS
@@ -1 +1 @@
1
- {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/strategies/attach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/strategies/attach.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * strategies/flushDeadline — flush a handle, stop waiting at a deadline, and
3
+ * name the strategy that did not finish.
4
+ *
5
+ * A sink's `flush()` waits for its own in-flight delivery. One that never
6
+ * settles — a hung network mount under `appendFile`, a network call with no
7
+ * timeout — would hold a shutdown forever, and a slow one for as long as it is
8
+ * slow. The deadline belongs to the caller that must finish,
9
+ * `RunnerBase · shutdown`, never to the sink: nothing can cancel an in-flight
10
+ * write, and pretending otherwise would be worse than saying we stopped
11
+ * waiting (the `withinBound` law in hosting/standingAgent.ts).
12
+ *
13
+ * A missed deadline is REPORTED, through the stuck strategy's own `_onError`
14
+ * (the console when it has none), and names it — the same rule as every
15
+ * delivery failure: telemetry that fails invisibly is indistinguishable from
16
+ * telemetry that works. A deadline cannot tell a slow delivery from a stuck
17
+ * one, so the report says both.
18
+ */
19
+ import type { BaseStrategy, StrategyHandle } from './types.js';
20
+ /** How long `shutdown()` waits for each handle's flush unless told otherwise:
21
+ * 30 s, the same number footprintjs's `drainObservers` uses as its default. */
22
+ export declare const DEFAULT_SHUTDOWN_TIMEOUT_MS = 30000;
23
+ /** Remember the strategy behind a handle. Called once, where the handle is
24
+ * built (`strategies/attach.ts · makeStrategyHandle`). */
25
+ export declare function rememberStrategyOf(handle: object, strategy: BaseStrategy): void;
26
+ /** The deadline a `shutdown({ timeoutMs })` asked for. Throws a `TypeError`
27
+ * when it is not a positive number of milliseconds — called from the async
28
+ * `shutdown()`, so its caller sees a REJECTED promise, never a sync throw.
29
+ *
30
+ * The refusal names the field and the shape it takes, NEVER the value: a
31
+ * value of the wrong type can be anything a caller had at hand, and an error
32
+ * message is copied into logs, reports and traces. */
33
+ export declare function shutdownTimeoutOf(timeoutMs: number | undefined): number;
34
+ /**
35
+ * Flush one handle, but wait no longer than `timeoutMs`. On a missed deadline
36
+ * the strategy is reported by name and this resolves `'stuck'`; its flush
37
+ * keeps running — it is not, and cannot be, cancelled.
38
+ *
39
+ * The deadline is armed by `lib/longTimeout.ts · setLongTimeout`: `Infinity`
40
+ * arms no timer at all, and a finite deadline of ANY length fires when asked —
41
+ * past the ~24.8 days one host timer holds, it is waited in chained chunks,
42
+ * never dropped and never fired after 1 ms. Whatever is armed is cleared as
43
+ * soon as the flush settles, so a healthy shutdown leaves no timer behind.
44
+ * It is NOT unref'd: it is bounded, and it is what lets the code after
45
+ * `await agent.shutdown()` run when the stuck write holds nothing else open.
46
+ */
47
+ export declare function flushWithinDeadline(handle: StrategyHandle, timeoutMs: number): Promise<'flushed' | 'stuck'>;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * strategies/flushDeadline — flush a handle, stop waiting at a deadline, and
3
+ * name the strategy that did not finish.
4
+ *
5
+ * A sink's `flush()` waits for its own in-flight delivery. One that never
6
+ * settles — a hung network mount under `appendFile`, a network call with no
7
+ * timeout — would hold a shutdown forever, and a slow one for as long as it is
8
+ * slow. The deadline belongs to the caller that must finish,
9
+ * `RunnerBase · shutdown`, never to the sink: nothing can cancel an in-flight
10
+ * write, and pretending otherwise would be worse than saying we stopped
11
+ * waiting (the `withinBound` law in hosting/standingAgent.ts).
12
+ *
13
+ * A missed deadline is REPORTED, through the stuck strategy's own `_onError`
14
+ * (the console when it has none), and names it — the same rule as every
15
+ * delivery failure: telemetry that fails invisibly is indistinguishable from
16
+ * telemetry that works. A deadline cannot tell a slow delivery from a stuck
17
+ * one, so the report says both.
18
+ */
19
+ import { setLongTimeout } from '../lib/longTimeout.js';
20
+ /** How long `shutdown()` waits for each handle's flush unless told otherwise:
21
+ * 30 s, the same number footprintjs's `drainObservers` uses as its default. */
22
+ export const DEFAULT_SHUTDOWN_TIMEOUT_MS = 30_000;
23
+ /** Which strategy a handle flushes — so a missed deadline can name it. Weak,
24
+ * so a released handle is not retained. */
25
+ const STRATEGY_OF_HANDLE = new WeakMap();
26
+ /** Remember the strategy behind a handle. Called once, where the handle is
27
+ * built (`strategies/attach.ts · makeStrategyHandle`). */
28
+ export function rememberStrategyOf(handle, strategy) {
29
+ STRATEGY_OF_HANDLE.set(handle, strategy);
30
+ }
31
+ /** The deadline a `shutdown({ timeoutMs })` asked for. Throws a `TypeError`
32
+ * when it is not a positive number of milliseconds — called from the async
33
+ * `shutdown()`, so its caller sees a REJECTED promise, never a sync throw.
34
+ *
35
+ * The refusal names the field and the shape it takes, NEVER the value: a
36
+ * value of the wrong type can be anything a caller had at hand, and an error
37
+ * message is copied into logs, reports and traces. */
38
+ export function shutdownTimeoutOf(timeoutMs) {
39
+ if (timeoutMs === undefined)
40
+ return DEFAULT_SHUTDOWN_TIMEOUT_MS;
41
+ // `> 0` is false for NaN, so NaN is refused here too.
42
+ if (typeof timeoutMs === 'number' && timeoutMs > 0)
43
+ return timeoutMs;
44
+ throw new TypeError('shutdown({ timeoutMs }) must be a positive number of milliseconds, ' +
45
+ 'or Infinity to wait for every flush without a deadline.');
46
+ }
47
+ /**
48
+ * Flush one handle, but wait no longer than `timeoutMs`. On a missed deadline
49
+ * the strategy is reported by name and this resolves `'stuck'`; its flush
50
+ * keeps running — it is not, and cannot be, cancelled.
51
+ *
52
+ * The deadline is armed by `lib/longTimeout.ts · setLongTimeout`: `Infinity`
53
+ * arms no timer at all, and a finite deadline of ANY length fires when asked —
54
+ * past the ~24.8 days one host timer holds, it is waited in chained chunks,
55
+ * never dropped and never fired after 1 ms. Whatever is armed is cleared as
56
+ * soon as the flush settles, so a healthy shutdown leaves no timer behind.
57
+ * It is NOT unref'd: it is bounded, and it is what lets the code after
58
+ * `await agent.shutdown()` run when the stuck write holds nothing else open.
59
+ */
60
+ export async function flushWithinDeadline(handle, timeoutMs) {
61
+ const flushing = handle.flush().then(() => 'flushed');
62
+ let cancelDeadline = () => undefined;
63
+ const deadline = new Promise((resolve) => {
64
+ cancelDeadline = setLongTimeout(() => resolve('stuck'), timeoutMs);
65
+ });
66
+ try {
67
+ const outcome = await Promise.race([flushing, deadline]);
68
+ if (outcome === 'stuck')
69
+ reportStillFlushing(handle, timeoutMs);
70
+ return outcome;
71
+ }
72
+ finally {
73
+ cancelDeadline();
74
+ }
75
+ }
76
+ function reportStillFlushing(handle, timeoutMs) {
77
+ const strategy = STRATEGY_OF_HANDLE.get(handle);
78
+ if (strategy === undefined)
79
+ return;
80
+ const error = new Error(`[${strategy.name}] flush did not finish within ${timeoutMs} ms of shutdown: a ` +
81
+ `delivery it started is still in flight — still delivering, or stuck. ` +
82
+ `Shutdown went on without it; what this sink still holds may not be delivered.`);
83
+ try {
84
+ if (strategy._onError) {
85
+ strategy._onError(error);
86
+ return;
87
+ }
88
+ }
89
+ catch {
90
+ // The sink's own error hook threw. Shutdown never inherits a sink's
91
+ // exception; the console below still says it.
92
+ }
93
+ // eslint-disable-next-line no-console
94
+ console.error(error.message);
95
+ }
96
+ //# sourceMappingURL=flushDeadline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flushDeadline.js","sourceRoot":"","sources":["../../../src/strategies/flushDeadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD;gFACgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD;4CAC4C;AAC5C,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAwB,CAAC;AAE/D;2DAC2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,QAAsB;IACvE,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;uDAMuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,SAA6B;IAC7D,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,2BAA2B,CAAC;IAChE,sDAAsD;IACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,IAAI,SAAS,CACjB,qEAAqE;QACnE,yDAAyD,CAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAsB,EACtB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAkB,CAAC,CAAC;IAC/D,IAAI,cAAc,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QAChD,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,OAAO;YAAE,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,cAAc,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsB,EAAE,SAAiB;IACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,IAAI,QAAQ,CAAC,IAAI,iCAAiC,SAAS,qBAAqB;QAC9E,uEAAuE;QACvE,+EAA+E,CAClF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,8CAA8C;IAChD,CAAC;IACD,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /**
3
+ * longTimeout — arm a host timer for a limit of any length.
4
+ *
5
+ * A host timer holds at most 2^31 − 1 ms (about 24.8 days). Node turns a longer
6
+ * delay — `Infinity` included — into 1 ms, with a `TimeoutOverflowWarning`, so
7
+ * a raw `setTimeout(fn, limit)` gives up at once exactly when the caller asked
8
+ * to wait longest. The law, by the limit:
9
+ *
10
+ * - `Infinity` — no limit: NO timer is armed and `fn` never runs, so nothing
11
+ * keeps the process alive on its account.
12
+ * - a finite delay past 2^31 − 1 ms — waited in chained chunks of at most
13
+ * 2^31 − 1 ms, so it never fires early and never after 1 ms.
14
+ * - anything else that is not a number > 0 (`0`, a negative, `NaN`) — already
15
+ * due: `fn` runs on the next timer turn, as `setTimeout(fn, 0)` does.
16
+ *
17
+ * `{ unref: true }` unrefs every chunk, for a timer that only bounds a wait.
18
+ * The returned function cancels whichever chunk is armed; it is a no-op when
19
+ * nothing was armed.
20
+ *
21
+ * A COPY, ON PURPOSE: footprintjs has the same helper (`setLongTimeout`,
22
+ * footprintjs#136) but keeps it private — it is not part of footprintjs's
23
+ * public exports. agentfootprint keeps this copy, with the same signature and
24
+ * the same law, until footprintjs exports a supported long-timer helper.
25
+ *
26
+ * A leaf: imports nothing.
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.setLongTimeout = void 0;
30
+ /** The longest delay a host timer honours; Node fires a longer one after 1 ms. */
31
+ const MAX_TIMER_MS = 2_147_483_647;
32
+ /** `setTimeout` for a limit of any length, by the law above. Returns its
33
+ * cancel. */
34
+ function setLongTimeout(fn, ms, options) {
35
+ if (ms === Infinity)
36
+ return () => undefined;
37
+ const unref = options?.unref === true;
38
+ let timer;
39
+ let cancelled = false;
40
+ const arm = (left) => {
41
+ timer = setTimeout(() => {
42
+ if (cancelled)
43
+ return;
44
+ if (left > MAX_TIMER_MS)
45
+ arm(left - MAX_TIMER_MS);
46
+ else
47
+ fn();
48
+ }, Math.min(left, MAX_TIMER_MS));
49
+ if (unref)
50
+ timer.unref?.();
51
+ };
52
+ arm(ms > 0 ? ms : 0);
53
+ return () => {
54
+ cancelled = true;
55
+ if (timer !== undefined)
56
+ clearTimeout(timer);
57
+ };
58
+ }
59
+ exports.setLongTimeout = setLongTimeout;
60
+ //# sourceMappingURL=longTimeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longTimeout.js","sourceRoot":"","sources":["../../src/lib/longTimeout.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAEH,kFAAkF;AAClF,MAAM,YAAY,GAAG,aAAa,CAAC;AAQnC;cACc;AACd,SAAgB,cAAc,CAC5B,EAAc,EACd,EAAU,EACV,OAA4B;IAE5B,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,IAAI,KAAgD,CAAC;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE;QACjC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,IAAI,IAAI,GAAG,YAAY;gBAAE,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;;gBAC7C,EAAE,EAAE,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK;YAAG,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IACzD,CAAC,CAAC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAtBD,wCAsBC"}
package/dist/lib/sleep.js CHANGED
@@ -9,6 +9,8 @@
9
9
  * `retryingFetch`, `typesafe`), the device-flow poll, the mock
10
10
  * provider's thinking time and the sign-in door's minimum answer
11
11
  * time. Every one promised "at least `ms`", and none kept it.
12
+ * (`retryingFetch` has since moved onto footprintjs's `attempt()`
13
+ * runner, which waits on its own timer.)
12
14
  * Emits: N/A.
13
15
  *
14
16
  * ── WHY A BARE `setTimeout` IS NOT A MINIMUM ─────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/lib/sleep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;AAsBH,mFAAmF;AACnF,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEjC,MAAM,QAAQ,GAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AAEjF,yFAAyF;AACzF,MAAM,cAAc,GAAe;IACjC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5C,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAuC,CAAC;CAC9E,CAAC;AAEF,kGAAkG;AAClG,SAAgB,SAAS,CAAC,KAAiB;IACzC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAC/B,IAAI,KAAc,CAAC;YACnB,IAAI,OAAO,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC;YACpC,MAAM,KAAK,GAAG,GAAS,EAAE;gBACvB,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACb,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,MAAM,CAAC;gBACvB,MAAM,OAAO,GAAG,GAAS,EAAE;oBACzB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,CAAC,CAAC;gBACF,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAhCD,8BAgCC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,4EAA4E;AAC/D,QAAA,KAAK,GAAU,SAAS,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/lib/sleep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;;;AAsBH,mFAAmF;AACnF,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEjC,MAAM,QAAQ,GAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AAEjF,yFAAyF;AACzF,MAAM,cAAc,GAAe;IACjC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5C,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAuC,CAAC;CAC9E,CAAC;AAEF,kGAAkG;AAClG,SAAgB,SAAS,CAAC,KAAiB;IACzC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAC/B,IAAI,KAAc,CAAC;YACnB,IAAI,OAAO,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC;YACpC,MAAM,KAAK,GAAG,GAAS,EAAE;gBACvB,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACb,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,MAAM,CAAC;gBACvB,MAAM,OAAO,GAAG,GAAS,EAAE;oBACzB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,CAAC,CAAC;gBACF,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAhCD,8BAgCC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,4EAA4E;AAC/D,QAAA,KAAK,GAAU,SAAS,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ /**
3
+ * backoff — builders of a `RetryPolicy.backoffMs` function: an exponential
4
+ * schedule, and a wait the server stated winning over it.
5
+ *
6
+ * STAND-IN, TO BE DELETED. footprintjs is adding these two helpers to its
7
+ * attempt runner (`attempt/backoff.ts`): `exponentialBackoff({ baseDelayMs,
8
+ * multiplier, jitter, maxDelayMs, random })` and
9
+ * `statedWaitFirst(readStatedWaitMs, inner)`, with these names, signatures and
10
+ * laws. Once a footprintjs release
11
+ * ships them, import them in `throttleRetry.ts` and delete this file; nothing
12
+ * else changes.
13
+ *
14
+ * Pattern: Two pure builders. Each returns `(attempt, error?) => ms`.
15
+ * Role: The wait `throttleRetry.ts` plans for each retry.
16
+ * Emits: N/A.
17
+ *
18
+ * ── THE LAW ──────────────────────────────────────────────────────────────
19
+ * `exponentialBackoff`: after failed attempt `n` (1-based) the ceiling is
20
+ *
21
+ * c = min(maxDelayMs, baseDelayMs × multiplier^(n − 1))
22
+ * (saturating at MAX_SAFE_INTEGER)
23
+ *
24
+ * and, for `r = random()` in [0, 1]:
25
+ *
26
+ * 'none' c `random` is never called
27
+ * 'equal' min(c, c/2 + r × c/2) never below half the ceiling
28
+ * 'full' r × c anywhere from 0 up to it
29
+ *
30
+ * Waits are exact milliseconds — nothing is rounded. `random` defaults to
31
+ * `Math.random`, taken when the function is BUILT; a fixed source makes a test
32
+ * exact. A `random()` answering outside [0, 1] throws when asked.
33
+ *
34
+ * `statedWaitFirst`: when `readStatedWaitMs(error)` answers a finite number
35
+ * ≥ 0, that is the wait; otherwise `inner` decides. A reader that throws or
36
+ * answers anything else states nothing, so a malformed `Retry-After` falls back
37
+ * to the schedule rather than to a wrong wait.
38
+ *
39
+ * `maxDelayMs` caps the CEILING, before the draw, so capped waits keep their
40
+ * jitter: at the cap, equal jitter still spreads between c/2 and c. Capped
41
+ * after the draw instead, every wait past twice the cap would BE the cap, and
42
+ * clients refused together would retry in lockstep. A stated wait is never
43
+ * capped: `statedWaitFirst` hands it back whole.
44
+ */
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.statedWaitFirst = exports.exponentialBackoff = void 0;
47
+ const JITTERS = ['none', 'equal', 'full'];
48
+ /** Where a ceiling saturates: a wait is never `Infinity` and never `NaN`. */
49
+ const MAX_WAIT_MS = Number.MAX_SAFE_INTEGER;
50
+ /**
51
+ * An exponential schedule: the wait after failed attempt `n` is drawn under
52
+ * `baseDelayMs × multiplier^(n − 1)` by the declared jitter.
53
+ *
54
+ * @throws when built: a `TypeError` for an option of the wrong type, a
55
+ * `RangeError` for one out of range — each naming the option.
56
+ */
57
+ function exponentialBackoff(spec) {
58
+ const { baseDelayMs, multiplier, jitter, maxDelayMs, random } = readSpec(spec);
59
+ return (attempt) => {
60
+ // The cap bounds the ceiling, so the draw below still spreads under it.
61
+ const ceiling = Math.min(maxDelayMs, ceilingOf(baseDelayMs, multiplier, stepOf(attempt)));
62
+ if (jitter === 'none')
63
+ return ceiling;
64
+ const r = draw(random);
65
+ // Never above the ceiling: halving a subnormal ceiling can round up.
66
+ return jitter === 'equal' ? Math.min(ceiling, ceiling / 2 + (r * ceiling) / 2) : r * ceiling;
67
+ };
68
+ }
69
+ exports.exponentialBackoff = exponentialBackoff;
70
+ /**
71
+ * A wait the outside system stated wins; otherwise `inner` — a backoff
72
+ * function, or a fixed number of milliseconds — decides.
73
+ *
74
+ * @throws when built: a `TypeError` for a reader that is not a function, or an
75
+ * `inner` that is neither a function nor a finite number ≥ 0.
76
+ */
77
+ function statedWaitFirst(readStatedWaitMs, inner) {
78
+ if (typeof readStatedWaitMs !== 'function') {
79
+ throw new TypeError(`statedWaitFirst: readStatedWaitMs must be a function (got ${shown(readStatedWaitMs)})`);
80
+ }
81
+ if (typeof inner !== 'function') {
82
+ checkNumber('statedWaitFirst: inner', inner, 0, 'a backoff function or a finite number >= 0');
83
+ }
84
+ return (attempt, error) => {
85
+ const stated = statedWaitOf(readStatedWaitMs, error);
86
+ if (stated !== undefined)
87
+ return stated;
88
+ return typeof inner === 'function' ? inner(attempt, error) : inner;
89
+ };
90
+ }
91
+ exports.statedWaitFirst = statedWaitFirst;
92
+ /** Each field read once, then checked: what is checked is exactly what the function keeps. */
93
+ function readSpec(spec) {
94
+ if (spec === null || typeof spec !== 'object') {
95
+ throw new TypeError(`exponentialBackoff: the spec must be an object ({ baseDelayMs, multiplier?, jitter?, maxDelayMs?, random? }) (got ${shown(spec)})`);
96
+ }
97
+ const { baseDelayMs, multiplier = 2, jitter = 'none', maxDelayMs = Infinity, random = Math.random, } = spec;
98
+ checkNumber('exponentialBackoff: baseDelayMs', baseDelayMs, 0, 'a finite number >= 0');
99
+ checkNumber('exponentialBackoff: multiplier', multiplier, 1, 'a finite number >= 1');
100
+ if (typeof maxDelayMs !== 'number') {
101
+ throw new TypeError(`exponentialBackoff: maxDelayMs must be a number >= 0 (got ${shown(maxDelayMs)})`);
102
+ }
103
+ if (!(maxDelayMs >= 0)) {
104
+ throw new RangeError(`exponentialBackoff: maxDelayMs must be a number >= 0 (got ${shown(maxDelayMs)})`);
105
+ }
106
+ if (!JITTERS.includes(jitter)) {
107
+ throw new RangeError(`exponentialBackoff: jitter must be 'none', 'equal' or 'full' (got ${shown(jitter)})`);
108
+ }
109
+ if (typeof random !== 'function') {
110
+ throw new TypeError(`exponentialBackoff: random must be a function answering in [0, 1] (got ${shown(random)})`);
111
+ }
112
+ return { baseDelayMs, multiplier, jitter, maxDelayMs, random };
113
+ }
114
+ /** A finite number ≥ `min`, or the error naming `field`: a `TypeError` for a non-number, else a `RangeError`. */
115
+ function checkNumber(field, value, min, rule) {
116
+ if (typeof value !== 'number')
117
+ throw new TypeError(`${field} must be ${rule} (got ${shown(value)})`);
118
+ if (!Number.isFinite(value) || value < min) {
119
+ throw new RangeError(`${field} must be ${rule} (got ${shown(value)})`);
120
+ }
121
+ }
122
+ /** The attempt as a schedule step: its whole part, at least 1 (anything not a finite number reads as 1). */
123
+ function stepOf(attempt) {
124
+ return typeof attempt === 'number' && Number.isFinite(attempt) && attempt >= 1
125
+ ? Math.floor(attempt)
126
+ : 1;
127
+ }
128
+ /** `baseDelayMs × multiplier^(step − 1)`, saturating at {@link MAX_WAIT_MS}. */
129
+ function ceilingOf(baseDelayMs, multiplier, step) {
130
+ if (baseDelayMs === 0)
131
+ return 0;
132
+ const ceiling = baseDelayMs * multiplier ** (step - 1);
133
+ return ceiling < MAX_WAIT_MS ? ceiling : MAX_WAIT_MS;
134
+ }
135
+ /** One draw from the random source, which must answer a number in [0, 1]. */
136
+ function draw(random) {
137
+ const r = random();
138
+ if (typeof r !== 'number' || !(r >= 0 && r <= 1)) {
139
+ throw new RangeError(`exponentialBackoff: random() must answer a number in [0, 1] (got ${shown(r)})`);
140
+ }
141
+ return r;
142
+ }
143
+ /** The wait `error` states, read once — none when the reader throws or answers anything but a finite number ≥ 0. */
144
+ function statedWaitOf(read, error) {
145
+ let value;
146
+ try {
147
+ value = read(error);
148
+ }
149
+ catch {
150
+ return undefined;
151
+ }
152
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
153
+ }
154
+ /** A value as an error message may show it: a number or a short string as itself, anything else by its type. */
155
+ function shown(value) {
156
+ if (typeof value === 'number')
157
+ return String(value);
158
+ if (typeof value === 'string') {
159
+ return JSON.stringify(value.length > 32 ? `${value.slice(0, 32)}…` : value);
160
+ }
161
+ return value === null ? 'null' : typeof value;
162
+ }
163
+ //# sourceMappingURL=backoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../src/mcp/backoff.ts"],"names":[],"mappings":"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"}
@@ -238,7 +238,9 @@ async function buildTransport(t, retryOnThrottle, sdk) {
238
238
  // the wait is simply never the one reused. `retryingFetch` returns its input
239
239
  // untouched when retry is off — including `undefined`, so a plain `http`
240
240
  // transport with no custom fetch still passes none and behaves exactly as it
241
- // did before 8.11.0.
241
+ // did before 8.11.0. A transport fetch that already runs a retry series of
242
+ // its own (AgentCore Runtime's) is never wrapped: `retryingFetch` joins the
243
+ // 429 rule to that series, so one call is one series.
242
244
  if (t.transport === 'gateway') {
243
245
  // The consumer's own `fetch` (9.32.0) goes UNDERNEATH the vending, not
244
246
  // beside it: `createVendingFetch` resolves the credential, applies it to
@@ -1 +1 @@
1
- {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"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"}