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
@@ -0,0 +1,34 @@
1
+ /**
2
+ * longTimeout — arm a host timer for a limit of any length.
3
+ *
4
+ * A host timer holds at most 2^31 − 1 ms (about 24.8 days). Node turns a longer
5
+ * delay — `Infinity` included — into 1 ms, with a `TimeoutOverflowWarning`, so
6
+ * a raw `setTimeout(fn, limit)` gives up at once exactly when the caller asked
7
+ * to wait longest. The law, by the limit:
8
+ *
9
+ * - `Infinity` — no limit: NO timer is armed and `fn` never runs, so nothing
10
+ * keeps the process alive on its account.
11
+ * - a finite delay past 2^31 − 1 ms — waited in chained chunks of at most
12
+ * 2^31 − 1 ms, so it never fires early and never after 1 ms.
13
+ * - anything else that is not a number > 0 (`0`, a negative, `NaN`) — already
14
+ * due: `fn` runs on the next timer turn, as `setTimeout(fn, 0)` does.
15
+ *
16
+ * `{ unref: true }` unrefs every chunk, for a timer that only bounds a wait.
17
+ * The returned function cancels whichever chunk is armed; it is a no-op when
18
+ * nothing was armed.
19
+ *
20
+ * A COPY, ON PURPOSE: footprintjs has the same helper (`setLongTimeout`,
21
+ * footprintjs#136) but keeps it private — it is not part of footprintjs's
22
+ * public exports. agentfootprint keeps this copy, with the same signature and
23
+ * the same law, until footprintjs exports a supported long-timer helper.
24
+ *
25
+ * A leaf: imports nothing.
26
+ */
27
+ /** How a long timer is armed. */
28
+ export interface LongTimeoutOptions {
29
+ /** Unref every host timer it arms (where the host has `unref`). */
30
+ readonly unref?: boolean;
31
+ }
32
+ /** `setTimeout` for a limit of any length, by the law above. Returns its
33
+ * cancel. */
34
+ export declare function setLongTimeout(fn: () => void, ms: number, options?: LongTimeoutOptions): () => void;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * longTimeout — arm a host timer for a limit of any length.
3
+ *
4
+ * A host timer holds at most 2^31 − 1 ms (about 24.8 days). Node turns a longer
5
+ * delay — `Infinity` included — into 1 ms, with a `TimeoutOverflowWarning`, so
6
+ * a raw `setTimeout(fn, limit)` gives up at once exactly when the caller asked
7
+ * to wait longest. The law, by the limit:
8
+ *
9
+ * - `Infinity` — no limit: NO timer is armed and `fn` never runs, so nothing
10
+ * keeps the process alive on its account.
11
+ * - a finite delay past 2^31 − 1 ms — waited in chained chunks of at most
12
+ * 2^31 − 1 ms, so it never fires early and never after 1 ms.
13
+ * - anything else that is not a number > 0 (`0`, a negative, `NaN`) — already
14
+ * due: `fn` runs on the next timer turn, as `setTimeout(fn, 0)` does.
15
+ *
16
+ * `{ unref: true }` unrefs every chunk, for a timer that only bounds a wait.
17
+ * The returned function cancels whichever chunk is armed; it is a no-op when
18
+ * nothing was armed.
19
+ *
20
+ * A COPY, ON PURPOSE: footprintjs has the same helper (`setLongTimeout`,
21
+ * footprintjs#136) but keeps it private — it is not part of footprintjs's
22
+ * public exports. agentfootprint keeps this copy, with the same signature and
23
+ * the same law, until footprintjs exports a supported long-timer helper.
24
+ *
25
+ * A leaf: imports nothing.
26
+ */
27
+ /** The longest delay a host timer honours; Node fires a longer one after 1 ms. */
28
+ const MAX_TIMER_MS = 2_147_483_647;
29
+ /** `setTimeout` for a limit of any length, by the law above. Returns its
30
+ * cancel. */
31
+ export function setLongTimeout(fn, ms, options) {
32
+ if (ms === Infinity)
33
+ return () => undefined;
34
+ const unref = options?.unref === true;
35
+ let timer;
36
+ let cancelled = false;
37
+ const arm = (left) => {
38
+ timer = setTimeout(() => {
39
+ if (cancelled)
40
+ return;
41
+ if (left > MAX_TIMER_MS)
42
+ arm(left - MAX_TIMER_MS);
43
+ else
44
+ fn();
45
+ }, Math.min(left, MAX_TIMER_MS));
46
+ if (unref)
47
+ timer.unref?.();
48
+ };
49
+ arm(ms > 0 ? ms : 0);
50
+ return () => {
51
+ cancelled = true;
52
+ if (timer !== undefined)
53
+ clearTimeout(timer);
54
+ };
55
+ }
56
+ //# 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,MAAM,UAAU,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"}
@@ -8,6 +8,8 @@
8
8
  * `retryingFetch`, `typesafe`), the device-flow poll, the mock
9
9
  * provider's thinking time and the sign-in door's minimum answer
10
10
  * time. Every one promised "at least `ms`", and none kept it.
11
+ * (`retryingFetch` has since moved onto footprintjs's `attempt()`
12
+ * runner, which waits on its own timer.)
11
13
  * Emits: N/A.
12
14
  *
13
15
  * ── WHY A BARE `setTimeout` IS NOT A MINIMUM ─────────────────────────────
@@ -8,6 +8,8 @@
8
8
  * `retryingFetch`, `typesafe`), the device-flow poll, the mock
9
9
  * provider's thinking time and the sign-in door's minimum answer
10
10
  * time. Every one promised "at least `ms`", and none kept it.
11
+ * (`retryingFetch` has since moved onto footprintjs's `attempt()`
12
+ * runner, which waits on its own timer.)
11
13
  * Emits: N/A.
12
14
  *
13
15
  * ── 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,MAAM,UAAU,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;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;AAC5E,MAAM,CAAC,MAAM,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,MAAM,UAAU,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;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;AAC5E,MAAM,CAAC,MAAM,KAAK,GAAU,SAAS,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * backoff — builders of a `RetryPolicy.backoffMs` function: an exponential
3
+ * schedule, and a wait the server stated winning over it.
4
+ *
5
+ * STAND-IN, TO BE DELETED. footprintjs is adding these two helpers to its
6
+ * attempt runner (`attempt/backoff.ts`): `exponentialBackoff({ baseDelayMs,
7
+ * multiplier, jitter, maxDelayMs, random })` and
8
+ * `statedWaitFirst(readStatedWaitMs, inner)`, with these names, signatures and
9
+ * laws. Once a footprintjs release
10
+ * ships them, import them in `throttleRetry.ts` and delete this file; nothing
11
+ * else changes.
12
+ *
13
+ * Pattern: Two pure builders. Each returns `(attempt, error?) => ms`.
14
+ * Role: The wait `throttleRetry.ts` plans for each retry.
15
+ * Emits: N/A.
16
+ *
17
+ * ── THE LAW ──────────────────────────────────────────────────────────────
18
+ * `exponentialBackoff`: after failed attempt `n` (1-based) the ceiling is
19
+ *
20
+ * c = min(maxDelayMs, baseDelayMs × multiplier^(n − 1))
21
+ * (saturating at MAX_SAFE_INTEGER)
22
+ *
23
+ * and, for `r = random()` in [0, 1]:
24
+ *
25
+ * 'none' c `random` is never called
26
+ * 'equal' min(c, c/2 + r × c/2) never below half the ceiling
27
+ * 'full' r × c anywhere from 0 up to it
28
+ *
29
+ * Waits are exact milliseconds — nothing is rounded. `random` defaults to
30
+ * `Math.random`, taken when the function is BUILT; a fixed source makes a test
31
+ * exact. A `random()` answering outside [0, 1] throws when asked.
32
+ *
33
+ * `statedWaitFirst`: when `readStatedWaitMs(error)` answers a finite number
34
+ * ≥ 0, that is the wait; otherwise `inner` decides. A reader that throws or
35
+ * answers anything else states nothing, so a malformed `Retry-After` falls back
36
+ * to the schedule rather than to a wrong wait.
37
+ *
38
+ * `maxDelayMs` caps the CEILING, before the draw, so capped waits keep their
39
+ * jitter: at the cap, equal jitter still spreads between c/2 and c. Capped
40
+ * after the draw instead, every wait past twice the cap would BE the cap, and
41
+ * clients refused together would retry in lockstep. A stated wait is never
42
+ * capped: `statedWaitFirst` hands it back whole.
43
+ */
44
+ /** How much of an exponential wait is random: none of it, half of it, or all of it. */
45
+ export type BackoffJitter = 'none' | 'equal' | 'full';
46
+ /** The schedule {@link exponentialBackoff} builds a backoff function from. */
47
+ export interface BackoffSpec {
48
+ /** The ceiling of the first wait (after attempt 1), in milliseconds — a finite number ≥ 0. */
49
+ readonly baseDelayMs: number;
50
+ /** How much each ceiling grows over the one before — a finite number ≥ 1. Default `2`. */
51
+ readonly multiplier?: number;
52
+ /** How much of each wait is random. Default `'none'`: the wait IS the ceiling. */
53
+ readonly jitter?: BackoffJitter;
54
+ /**
55
+ * The cap on every ceiling, in milliseconds — a number ≥ 0, applied BEFORE
56
+ * the draw, so capped waits keep their jitter. Default: none.
57
+ */
58
+ readonly maxDelayMs?: number;
59
+ /** The jitter's random source, answering in [0, 1]. Default `Math.random`, taken when built. */
60
+ readonly random?: () => number;
61
+ }
62
+ /** A `RetryPolicy.backoffMs` function: the wait in milliseconds after failed attempt `attempt` (1-based). */
63
+ export type BackoffFunction = (attempt: number, error?: unknown) => number;
64
+ /** Reads the wait an error states (a parsed `Retry-After`), in milliseconds, or `undefined` when it states none. */
65
+ export type StatedWaitReader = (error: unknown) => number | undefined;
66
+ /**
67
+ * An exponential schedule: the wait after failed attempt `n` is drawn under
68
+ * `baseDelayMs × multiplier^(n − 1)` by the declared jitter.
69
+ *
70
+ * @throws when built: a `TypeError` for an option of the wrong type, a
71
+ * `RangeError` for one out of range — each naming the option.
72
+ */
73
+ export declare function exponentialBackoff(spec: BackoffSpec): BackoffFunction;
74
+ /**
75
+ * A wait the outside system stated wins; otherwise `inner` — a backoff
76
+ * function, or a fixed number of milliseconds — decides.
77
+ *
78
+ * @throws when built: a `TypeError` for a reader that is not a function, or an
79
+ * `inner` that is neither a function nor a finite number ≥ 0.
80
+ */
81
+ export declare function statedWaitFirst(readStatedWaitMs: StatedWaitReader, inner: BackoffFunction | number): BackoffFunction;
@@ -0,0 +1,158 @@
1
+ /**
2
+ * backoff — builders of a `RetryPolicy.backoffMs` function: an exponential
3
+ * schedule, and a wait the server stated winning over it.
4
+ *
5
+ * STAND-IN, TO BE DELETED. footprintjs is adding these two helpers to its
6
+ * attempt runner (`attempt/backoff.ts`): `exponentialBackoff({ baseDelayMs,
7
+ * multiplier, jitter, maxDelayMs, random })` and
8
+ * `statedWaitFirst(readStatedWaitMs, inner)`, with these names, signatures and
9
+ * laws. Once a footprintjs release
10
+ * ships them, import them in `throttleRetry.ts` and delete this file; nothing
11
+ * else changes.
12
+ *
13
+ * Pattern: Two pure builders. Each returns `(attempt, error?) => ms`.
14
+ * Role: The wait `throttleRetry.ts` plans for each retry.
15
+ * Emits: N/A.
16
+ *
17
+ * ── THE LAW ──────────────────────────────────────────────────────────────
18
+ * `exponentialBackoff`: after failed attempt `n` (1-based) the ceiling is
19
+ *
20
+ * c = min(maxDelayMs, baseDelayMs × multiplier^(n − 1))
21
+ * (saturating at MAX_SAFE_INTEGER)
22
+ *
23
+ * and, for `r = random()` in [0, 1]:
24
+ *
25
+ * 'none' c `random` is never called
26
+ * 'equal' min(c, c/2 + r × c/2) never below half the ceiling
27
+ * 'full' r × c anywhere from 0 up to it
28
+ *
29
+ * Waits are exact milliseconds — nothing is rounded. `random` defaults to
30
+ * `Math.random`, taken when the function is BUILT; a fixed source makes a test
31
+ * exact. A `random()` answering outside [0, 1] throws when asked.
32
+ *
33
+ * `statedWaitFirst`: when `readStatedWaitMs(error)` answers a finite number
34
+ * ≥ 0, that is the wait; otherwise `inner` decides. A reader that throws or
35
+ * answers anything else states nothing, so a malformed `Retry-After` falls back
36
+ * to the schedule rather than to a wrong wait.
37
+ *
38
+ * `maxDelayMs` caps the CEILING, before the draw, so capped waits keep their
39
+ * jitter: at the cap, equal jitter still spreads between c/2 and c. Capped
40
+ * after the draw instead, every wait past twice the cap would BE the cap, and
41
+ * clients refused together would retry in lockstep. A stated wait is never
42
+ * capped: `statedWaitFirst` hands it back whole.
43
+ */
44
+ const JITTERS = ['none', 'equal', 'full'];
45
+ /** Where a ceiling saturates: a wait is never `Infinity` and never `NaN`. */
46
+ const MAX_WAIT_MS = Number.MAX_SAFE_INTEGER;
47
+ /**
48
+ * An exponential schedule: the wait after failed attempt `n` is drawn under
49
+ * `baseDelayMs × multiplier^(n − 1)` by the declared jitter.
50
+ *
51
+ * @throws when built: a `TypeError` for an option of the wrong type, a
52
+ * `RangeError` for one out of range — each naming the option.
53
+ */
54
+ export function exponentialBackoff(spec) {
55
+ const { baseDelayMs, multiplier, jitter, maxDelayMs, random } = readSpec(spec);
56
+ return (attempt) => {
57
+ // The cap bounds the ceiling, so the draw below still spreads under it.
58
+ const ceiling = Math.min(maxDelayMs, ceilingOf(baseDelayMs, multiplier, stepOf(attempt)));
59
+ if (jitter === 'none')
60
+ return ceiling;
61
+ const r = draw(random);
62
+ // Never above the ceiling: halving a subnormal ceiling can round up.
63
+ return jitter === 'equal' ? Math.min(ceiling, ceiling / 2 + (r * ceiling) / 2) : r * ceiling;
64
+ };
65
+ }
66
+ /**
67
+ * A wait the outside system stated wins; otherwise `inner` — a backoff
68
+ * function, or a fixed number of milliseconds — decides.
69
+ *
70
+ * @throws when built: a `TypeError` for a reader that is not a function, or an
71
+ * `inner` that is neither a function nor a finite number ≥ 0.
72
+ */
73
+ export function statedWaitFirst(readStatedWaitMs, inner) {
74
+ if (typeof readStatedWaitMs !== 'function') {
75
+ throw new TypeError(`statedWaitFirst: readStatedWaitMs must be a function (got ${shown(readStatedWaitMs)})`);
76
+ }
77
+ if (typeof inner !== 'function') {
78
+ checkNumber('statedWaitFirst: inner', inner, 0, 'a backoff function or a finite number >= 0');
79
+ }
80
+ return (attempt, error) => {
81
+ const stated = statedWaitOf(readStatedWaitMs, error);
82
+ if (stated !== undefined)
83
+ return stated;
84
+ return typeof inner === 'function' ? inner(attempt, error) : inner;
85
+ };
86
+ }
87
+ /** Each field read once, then checked: what is checked is exactly what the function keeps. */
88
+ function readSpec(spec) {
89
+ if (spec === null || typeof spec !== 'object') {
90
+ throw new TypeError(`exponentialBackoff: the spec must be an object ({ baseDelayMs, multiplier?, jitter?, maxDelayMs?, random? }) (got ${shown(spec)})`);
91
+ }
92
+ const { baseDelayMs, multiplier = 2, jitter = 'none', maxDelayMs = Infinity, random = Math.random, } = spec;
93
+ checkNumber('exponentialBackoff: baseDelayMs', baseDelayMs, 0, 'a finite number >= 0');
94
+ checkNumber('exponentialBackoff: multiplier', multiplier, 1, 'a finite number >= 1');
95
+ if (typeof maxDelayMs !== 'number') {
96
+ throw new TypeError(`exponentialBackoff: maxDelayMs must be a number >= 0 (got ${shown(maxDelayMs)})`);
97
+ }
98
+ if (!(maxDelayMs >= 0)) {
99
+ throw new RangeError(`exponentialBackoff: maxDelayMs must be a number >= 0 (got ${shown(maxDelayMs)})`);
100
+ }
101
+ if (!JITTERS.includes(jitter)) {
102
+ throw new RangeError(`exponentialBackoff: jitter must be 'none', 'equal' or 'full' (got ${shown(jitter)})`);
103
+ }
104
+ if (typeof random !== 'function') {
105
+ throw new TypeError(`exponentialBackoff: random must be a function answering in [0, 1] (got ${shown(random)})`);
106
+ }
107
+ return { baseDelayMs, multiplier, jitter, maxDelayMs, random };
108
+ }
109
+ /** A finite number ≥ `min`, or the error naming `field`: a `TypeError` for a non-number, else a `RangeError`. */
110
+ function checkNumber(field, value, min, rule) {
111
+ if (typeof value !== 'number')
112
+ throw new TypeError(`${field} must be ${rule} (got ${shown(value)})`);
113
+ if (!Number.isFinite(value) || value < min) {
114
+ throw new RangeError(`${field} must be ${rule} (got ${shown(value)})`);
115
+ }
116
+ }
117
+ /** The attempt as a schedule step: its whole part, at least 1 (anything not a finite number reads as 1). */
118
+ function stepOf(attempt) {
119
+ return typeof attempt === 'number' && Number.isFinite(attempt) && attempt >= 1
120
+ ? Math.floor(attempt)
121
+ : 1;
122
+ }
123
+ /** `baseDelayMs × multiplier^(step − 1)`, saturating at {@link MAX_WAIT_MS}. */
124
+ function ceilingOf(baseDelayMs, multiplier, step) {
125
+ if (baseDelayMs === 0)
126
+ return 0;
127
+ const ceiling = baseDelayMs * multiplier ** (step - 1);
128
+ return ceiling < MAX_WAIT_MS ? ceiling : MAX_WAIT_MS;
129
+ }
130
+ /** One draw from the random source, which must answer a number in [0, 1]. */
131
+ function draw(random) {
132
+ const r = random();
133
+ if (typeof r !== 'number' || !(r >= 0 && r <= 1)) {
134
+ throw new RangeError(`exponentialBackoff: random() must answer a number in [0, 1] (got ${shown(r)})`);
135
+ }
136
+ return r;
137
+ }
138
+ /** The wait `error` states, read once — none when the reader throws or answers anything but a finite number ≥ 0. */
139
+ function statedWaitOf(read, error) {
140
+ let value;
141
+ try {
142
+ value = read(error);
143
+ }
144
+ catch {
145
+ return undefined;
146
+ }
147
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
148
+ }
149
+ /** A value as an error message may show it: a number or a short string as itself, anything else by its type. */
150
+ function shown(value) {
151
+ if (typeof value === 'number')
152
+ return String(value);
153
+ if (typeof value === 'string') {
154
+ return JSON.stringify(value.length > 32 ? `${value.slice(0, 32)}…` : value);
155
+ }
156
+ return value === null ? 'null' : typeof value;
157
+ }
158
+ //# 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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"}
@@ -234,7 +234,9 @@ async function buildTransport(t, retryOnThrottle, sdk) {
234
234
  // the wait is simply never the one reused. `retryingFetch` returns its input
235
235
  // untouched when retry is off — including `undefined`, so a plain `http`
236
236
  // transport with no custom fetch still passes none and behaves exactly as it
237
- // did before 8.11.0.
237
+ // did before 8.11.0. A transport fetch that already runs a retry series of
238
+ // its own (AgentCore Runtime's) is never wrapped: `retryingFetch` joins the
239
+ // 429 rule to that series, so one call is one series.
238
240
  if (t.transport === 'gateway') {
239
241
  // The consumer's own `fetch` (9.32.0) goes UNDERNEATH the vending, not
240
242
  // 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAaH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qEAAqE;AACrE,uEAAuE;AACvE,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAA6C;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,0EAA0E;IAC1E,0DAA0D;IAC1D,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9C,kEAAkE;IAClE,kDAAkD;IAClD,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,UAAU,GAAG,CAAC,EAAU,EAAQ,EAAE;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,KAAK,EAAE,+DAA+D,CACxF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAA8B,EAAE;QACtD,sEAAsE;QACtE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAChE,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,KAAK;YACT,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO;YACX,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC3B,IAA6C;IAE7C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAyB,CAAC;IACjD,OAAO,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,aAAa,CAC1B,SAAuB,EACvB,UAA8C,EAC9C,MAAoB,EACpB,eAAiC,EACjC,GAAY;IAEZ,IAAI,GAAG,KAAK,SAAS;QAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAkB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAErD,MAAM,MAAM,GAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,mBAAmB,EAAE;QAC7E,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,IAAI,MAAM;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;;QACvD,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAW,EAAE,SAAoC;IAClE,MAAM,MAAM,GACV,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,GAA0D,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CACzF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,OAAO,GAAiC;QAC5C,MAAM,EAAE,sEAAsE;QAC9E,6BAA6B,EAC3B,iDAAiD;YACjD,uDAAuD;KAC1D,CAAC;IACF,MAAM,IAAI,SAAS,CACjB,6BAA6B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAC1F,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,kBAAkB,IAAI;QAC7E,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnD,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5C,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,YAAY,GAChB,sFAAsF;IACtF,kEAAkE;IAClE,2EAA2E,CAAC;AAE9E,iFAAiF;AACjF,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,OAAO,WAAW,CAAgB,2CAA2C,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;YAClB,YAAY,EACV,iDAAiD;gBACjD,qDAAqD;gBACrD,YAAY;YACd,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,2CAA2C;YACtD,OAAO,EACL,wEAAwE;gBACxE,oCAAoC;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,CAAe,EACf,eAAiC,EACjC,GAAY;IAEZ,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC5B,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,QAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAkB,2CAA2C,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;gBAClB,YAAY,EACV,wEAAwE;oBACxE,0EAA0E;gBAC5E,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,2CAA2C;gBACtD,OAAO,EACL,oEAAoE;oBACpE,wEAAwE;aAC3E,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,oBAAoB,CAAC;YACvC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,OAAO,GAAmB,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,sDAAsD;IACtD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,0EAA0E;QAC1E,oBAAoB;QACpB,OAAO,IAAI,OAAO,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;YACjF,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;QACjF,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QAChE,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,cAAc,CAAC,SAA6B;IACnD,IAAI,CAAC;QACH,OAAO,WAAW,CAAiB,oDAAoD,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,GAAG,EAAE;YAClB,YAAY,EACV,aAAa,SAAS,kEAAkE;gBACxF,4EAA4E;gBAC5E,YAAY;YACd,MAAM,EAAE,aAAa,SAAS,GAAG;YACjC,SAAS,EAAE,oDAAoD;YAC/D,OAAO,EACL,wEAAwE;gBACxE,oCAAoC;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,WAAW,CAClB,UAAkB,EAClB,UAAyB,EACzB,GAAkB,EAClB,MAAoB,EACpB,UAA2C;IAE3C,MAAM,IAAI,GAAS;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE;YACvD,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,oDAAoD;QACpD,MAAM,EAAE,UAAU;QAClB,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,kEAAkE;QAClE,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,4DAA4D;YAC5D,+DAA+D;YAC/D,6BAA6B;YAC7B,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAE,IAAgC;gBACnC,CAAC,CAAC,EAAE,CAAC;YACT,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;YACpE,oEAAoE;YACpE,6DAA6D;YAC7D,4EAA4E;YAC5E,iFAAiF;YACjF,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAChE,CAAC;YACF,MAAM,MAAM,GAAG,MAAM;gBACnB,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;gBAC1D,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}