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
@@ -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,13 +57,29 @@
51
57
  * Pattern: Facade over three Strategies. Role: outer ring, vendor adapter.
52
58
  */
53
59
  import { createVendingFetch, gatewayTransport, } from '../../../mcp/gatewayTransport.js';
54
- import { retryingFetchWhen, } from '../../../mcp/throttleRetry.js';
60
+ import { joinableRetry, retryingFetchFor, retryRule, } from '../../../mcp/throttleRetry.js';
55
61
  import { invokeFetch, invokeSdk, } from './invoke.js';
56
62
  import { safeAnswer } from './safeAnswer.js';
57
63
  import { sessionStrategy } from './session.js';
58
64
  import { sessionBusy } from './sessionBusy.js';
59
- /** The session-busy retry's own ceilings, when the caller set none. */
60
- const DEFAULT_RETRY = { maxAttempts: 5, maxWaitMs: 10_000 };
65
+ /**
66
+ * The session-busy retry's defaults, chosen by their MINIMUM total wait.
67
+ * AgentCore can take about 2.5 s, and up to about 3.4 s, to bring a runtime
68
+ * session up. 500 ms doubling with equal jitter over 5 attempts waits
69
+ * 250 + 500 + 1000 + 2000 = 3750 ms at the shortest draw and
70
+ * 500 + 1000 + 2000 + 4000 = 7500 ms at the longest: the slowest start is
71
+ * covered on every draw, and the longest stays inside the 10 s ceiling on
72
+ * waiting, so the ceiling never cuts the schedule short.
73
+ */
74
+ export const SESSION_BUSY_RETRY_DEFAULTS = Object.freeze({
75
+ maxAttempts: 5,
76
+ maxWaitMs: 10_000,
77
+ maxElapsedMs: Infinity,
78
+ baseDelayMs: 500,
79
+ multiplier: 2,
80
+ jitter: 'equal',
81
+ maxDelayMs: Infinity,
82
+ });
61
83
  /** What a bearer token is vended for, unless the caller names another service. */
62
84
  const DEFAULT_BEARER_SERVICE = 'runtime';
63
85
  /** A region is a DNS label run, nothing more — it is spliced into a hostname. */
@@ -74,12 +96,26 @@ const REGION_SHAPE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
74
96
  export function agentCoreRuntimeMcpTransport(options) {
75
97
  const url = agentCoreRuntimeUrl(options);
76
98
  const send = authStrategy(options, url);
77
- const retried = retryingFetchWhen(send, retryConfig(options.retry), sessionBusy) ?? send;
99
+ const busy = retryRule('session-busy', sessionBusy, options.retry, SESSION_BUSY_RETRY_DEFAULTS, 'agentCoreRuntimeMcpTransport: `retry`');
78
100
  const session = sessionStrategy(options.session ?? 'per-call');
79
- // The session is applied ONCE per request the MCP client makes, outside the
80
- // retry: every attempt of one request goes to the same runtime session (a
81
- // busy refusal is about THAT session coming up), and only the final answer
82
- // binds anything.
101
+ return {
102
+ transport: 'http',
103
+ url,
104
+ fetch: sessionedFetch(session, send, busy === undefined ? [] : [busy]),
105
+ };
106
+ }
107
+ /**
108
+ * The transport's fetch: the session around ONE retry series around the auth.
109
+ *
110
+ * The session is applied ONCE per request the MCP client makes, outside the
111
+ * series: every attempt of one request goes to the same runtime session (a busy
112
+ * refusal is about THAT session coming up), and only the final answer binds
113
+ * anything. Joinable: a rule `retryingFetch` offers (`mcpClient`'s 429 retry) is
114
+ * rebuilt into this same series, inside the session and the rewrite — never
115
+ * wrapped around them as a second loop.
116
+ */
117
+ function sessionedFetch(session, send, rules) {
118
+ const retried = retryingFetchFor(send, rules);
83
119
  const sessioned = async (input, init) => {
84
120
  const headers = new Headers(init?.headers);
85
121
  const step = session.request(headers, (init?.method ?? 'GET').toUpperCase());
@@ -90,7 +126,7 @@ export function agentCoreRuntimeMcpTransport(options) {
90
126
  // ONE rule for both auth paths, after the retry has read the original.
91
127
  return step.settle(await safeAnswer(response));
92
128
  };
93
- return { transport: 'http', url, fetch: sessioned };
129
+ return joinableRetry(sessioned, (rule) => sessionedFetch(session, send, [...rules, rule]));
94
130
  }
95
131
  /**
96
132
  * The HTTPS endpoint of a runtime's MCP server:
@@ -190,16 +226,6 @@ function injectedSdk(options) {
190
226
  }
191
227
  return sdk ?? legacy;
192
228
  }
193
- // ── The retry strategy's configuration ────────────────────────────────
194
- function retryConfig(retry) {
195
- if (retry === false)
196
- return false;
197
- const given = typeof retry === 'object' && retry !== null ? retry : {};
198
- // An explicitly `undefined` field means "not set" — it must fall back to this
199
- // transport's default, not erase it (and land on the loop's own default).
200
- const set = Object.fromEntries(Object.entries(given).filter(([, v]) => v !== undefined));
201
- return { ...DEFAULT_RETRY, ...set };
202
- }
203
229
  /**
204
230
  * A refused value, described by SHAPE — never echoed. A mistyped `auth` can be
205
231
  * 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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"}
@@ -414,9 +414,26 @@ export declare abstract class RunnerBase<TIn = unknown, TOut = unknown> implemen
414
414
  * 3. a strategy is stopped only once nothing is still subscribed to it,
415
415
  * and at most once ever (see `strategies/lifecycle.ts`).
416
416
  *
417
+ * Each flush waits under ONE deadline, `timeoutMs`. A sink still flushing at
418
+ * the deadline — still delivering, or stuck on a hung disk, mount or network
419
+ * call — cannot hold the shutdown: it is reported by name through that
420
+ * sink's own `onError` (the console when it has none), and the shutdown goes
421
+ * on. Its write is not cancelled; nothing can cancel it.
422
+ *
423
+ * A call made while a shutdown is in flight joins it: its own `timeoutMs`
424
+ * is still checked, but the first call's deadline governs, as its `stop`
425
+ * does.
426
+ *
417
427
  * @param options.stop - Default `true`. Pass `false` to drain WITHOUT
418
428
  * releasing — what a host does when it is shutting down but does not own
419
429
  * the agent it was handed (`standingAgent`'s default `shutdown: 'flush'`).
430
+ * @param options.timeoutMs - How long to wait for each sink's flush, in ms.
431
+ * Default 30 000 (the same number footprintjs's `drainObservers` uses).
432
+ * `Infinity` waits without a deadline — how `shutdown()` behaved before
433
+ * this option existed — and arms no timer. A finite value of any size is
434
+ * honoured, even past the ~24.8 days one host timer can hold. A value that
435
+ * is not a positive number makes the returned promise reject with a
436
+ * `TypeError`; nothing throws synchronously.
420
437
  *
421
438
  * @example Graceful exit for a script
422
439
  * const telemetry = agent.enable.observability({ strategy: cloudwatch });
@@ -425,6 +442,7 @@ export declare abstract class RunnerBase<TIn = unknown, TOut = unknown> implemen
425
442
  */
426
443
  shutdown(options?: {
427
444
  readonly stop?: boolean;
445
+ readonly timeoutMs?: number;
428
446
  }): Promise<void>;
429
447
  /**
430
448
  * The teardown tier for tools that hold sessions, built on FIRST
@@ -25,6 +25,7 @@ import { readAwaitingInput } from '../tools/inputRequest.js';
25
25
  import { CONSUMER_SCOPE_RUN_ID, parseSubflowPath } from '../bridge/eventMeta.js';
26
26
  import { attachObservabilityStrategy, attachCostStrategy, attachLiveStatusStrategy, } from '../strategies/attach.js';
27
27
  import { ASYNC_DISPOSE } from '../strategies/lifecycle.js';
28
+ import { flushWithinDeadline, shutdownTimeoutOf } from '../strategies/flushDeadline.js';
28
29
  import { attachFlowchart, } from '../recorders/observability/FlowchartRecorder.js';
29
30
  import { attachLocalObservability, } from '../recorders/observability/localObservability.js';
30
31
  /** The reason a pause request names when its pause carries none — typed, so a
@@ -734,9 +735,26 @@ export class RunnerBase {
734
735
  * 3. a strategy is stopped only once nothing is still subscribed to it,
735
736
  * and at most once ever (see `strategies/lifecycle.ts`).
736
737
  *
738
+ * Each flush waits under ONE deadline, `timeoutMs`. A sink still flushing at
739
+ * the deadline — still delivering, or stuck on a hung disk, mount or network
740
+ * call — cannot hold the shutdown: it is reported by name through that
741
+ * sink's own `onError` (the console when it has none), and the shutdown goes
742
+ * on. Its write is not cancelled; nothing can cancel it.
743
+ *
744
+ * A call made while a shutdown is in flight joins it: its own `timeoutMs`
745
+ * is still checked, but the first call's deadline governs, as its `stop`
746
+ * does.
747
+ *
737
748
  * @param options.stop - Default `true`. Pass `false` to drain WITHOUT
738
749
  * releasing — what a host does when it is shutting down but does not own
739
750
  * the agent it was handed (`standingAgent`'s default `shutdown: 'flush'`).
751
+ * @param options.timeoutMs - How long to wait for each sink's flush, in ms.
752
+ * Default 30 000 (the same number footprintjs's `drainObservers` uses).
753
+ * `Infinity` waits without a deadline — how `shutdown()` behaved before
754
+ * this option existed — and arms no timer. A finite value of any size is
755
+ * honoured, even past the ~24.8 days one host timer can hold. A value that
756
+ * is not a positive number makes the returned promise reject with a
757
+ * `TypeError`; nothing throws synchronously.
740
758
  *
741
759
  * @example Graceful exit for a script
742
760
  * const telemetry = agent.enable.observability({ strategy: cloudwatch });
@@ -744,6 +762,7 @@ export class RunnerBase {
744
762
  * await agent.shutdown();
745
763
  */
746
764
  async shutdown(options = {}) {
765
+ const timeoutMs = shutdownTimeoutOf(options.timeoutMs);
747
766
  if (this.shutdownInFlight)
748
767
  return this.shutdownInFlight;
749
768
  const shouldStop = options.stop ?? true;
@@ -751,7 +770,7 @@ export class RunnerBase {
751
770
  this.shutdownInFlight = (async () => {
752
771
  // Flush everything before stopping anything — a strategy two handles
753
772
  // share must not be stopped while the other still has data to ship.
754
- await Promise.allSettled(handles.map((handle) => handle.flush()));
773
+ await Promise.allSettled(handles.map((handle) => flushWithinDeadline(handle, timeoutMs)));
755
774
  // TOOL SESSIONS CLOSE ON EITHER SETTING (9.7.0) — including
756
775
  // `{ stop: false }`, and this is a deliberate asymmetry worth reading.
757
776
  //
@@ -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":"AAAA;;;;;;;;GAQG;AAUH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAA0B,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,GAGlB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgB7D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,eAAe,GAGhB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,wBAAwB,GAGzB,MAAM,kDAAkD,CAAC;AAK1D;gFACgF;AAChF,MAAM,oBAAoB,GAAqB,uBAAuB,CAAC;AAEvE;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,UAA+B;IACpD,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,MAAM,GAAY,UAAU,CAAC,WAAW,CAAC;IAC/C,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,WAAW,CAAuB,OAAsB;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC;IACpC,MAAM,WAAW,GACf,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5C,+EAA+E;QAC/E,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC5F,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,WAAW,CACT,UAAU,EACV,SAAS,EACT,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,6BAA6B,SAAS,IAAI,CAAC,CAC5D;QACH,CAAC,CAAC,aAAa,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAClD,KAAK,UAAU,CAAC;IAChB,OAAO;QACL,OAAO,EAAE;YACP,GAAG,IAAI;YACP,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;SAC7C;QACN,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC;AASD,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAsB,EACtB,KAA4C;IAE5C,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,cAAc,CAAuB,OAAsB;IAClE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/C,KAAK,QAAQ,CAAC;IACd,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAgB,UAAU;IACX,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,iBAAiB,GAAuB,EAAE,CAAC;IAE9D;;;;;OAKG;IACO,YAAY,CAAgC;IAEtD;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,KAAK,CAAwB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,eAAe;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,SAAS;gBACZ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACxD,KAAK,SAAS;gBACZ,kEAAkE;gBAClE,qEAAqE;gBACrE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH;QACE,wEAAwE;QACxE,qEAAqE;QACrE,oEAAoE;QACpE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,eAAsF,CAAC;QAC3F,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACtC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACnD,IAAI,eAAe,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;gBACjD,eAAe,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO,eAAe,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,IAAI,EAAE;YACvB,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;YAChE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE;YACvE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACO,gBAAgB,CACxB,UAAuC,EACvC,aAA+B;QAE/B,MAAM,MAAM,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACvF,sEAAsE;QACtE,kDAAkD;QAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,kEAAkE;IAElE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,uJAAuJ,CAChL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;;;;;OAUG;IACK,YAAY,CAA0C;IAE9D;;;;;;;;;;;;;OAaG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAsB,CAAC;QAClD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,8DAA8D;QAC9D,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,6DAA6D;QAC7D,kEAAkE;QAClE,mEAAmE;QACnE,+CAA+C;QAC/C,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAY,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC;QAC9B,OAAO,KAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACO,kBAAkB;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAc,QAAmD;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAM,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACO,oBAAoB;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,SAAS,CAAC,OAAwB;QAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,wFAAwF,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC;QACvB,0EAA0E;QAC1E,mEAAmE;QACnE,sEAAsE;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,OAA+B,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,EAAE,WAAW,KAAK,WAAW;gBAAE,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/E,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAoBD,mEAAmE;IAEnE;;;;;;;;OAQG;IACO,WAAW,CACnB,QAA2B,EAC3B,MAAe;QAEf,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,SAAS,GACb,UAAU,CAAC,SAAS,KAAK,SAAS;YAChC,CAAC,CAAC,UAAU,CAAC,SAAS;YACtB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM;gBACrE,CAAC,CAAE,MAAkC,CAAC,SAAS;gBAC/C,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1E,6EAA6E;QAC7E,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,OAAO,GACX,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAE,SAA0C,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,SAAqC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,aAAa,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,UAAU;YACV,SAAS;YACT,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CACtB,UAA+B,EAC/B,SAAkB,EAClB,UAAoC;QAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,cAAc,GAClB,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,IAAI,SAAS;YAC1E,CAAC,CAAC,MAAM,CAAE,SAAiC,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,oBAAoB,CAAC;QAC3B,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;gBACtB,uEAAuE;gBACvE,sEAAsE;gBACtE,qEAAqE;gBACrE,uEAAuE;gBACvE,4DAA4D;gBAC5D,eAAe,EACb,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;oBACjD,CAAC,CAAC,wBAAwB,CAAC,SAA8C,CAAC;oBAC1E,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;aAC1B;YACD,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,cAAc,EAAE,GAAG,UAAU,CAAC,aAAa,SAAS;gBACpD,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC;aACvC;SACO,CAAC;QACX,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAuC,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;OAUG;IACO,eAAe,CACvB,UAA+B,EAC/B,KAAc,EACd,UAA4B;QAE5B,0EAA0E;QAC1E,4EAA4E;QAC5E,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,0EAA0E;QAC1E,sEAAsE;QACtE,mEAAmE;QACnE,6EAA6E;QAC7E,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,UAAU,CACxB,YAAY,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAC3E,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC1D,sEAAsE;QACtE,iEAAiE;QACjE,0EAA0E;QAC1E,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE;gBACP,iEAAiE;gBACjE,sEAAsE;gBACtE,iEAAiE;gBACjE,oDAAoD;gBACpD,mEAAmE;gBACnE,oEAAoE;gBACpE,WAAW,EAAE,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC;oBACnD,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;wBAC7C,CAAC,CAAE,KAA2C;wBAC9C,CAAC,CAAC,EAAE,KAAK,EAAE;gBACb,gBAAgB;gBAChB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;aAC/D;YACD,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,cAAc,EAAE,GAAG,UAAU,CAAC,aAAa,UAAU;gBACrD,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC;aACvC;SACF,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAUD,EAAE,CACA,IAAY,EACZ,QAA8C,EAC9C,OAAuB;QAEvB,sEAAsE;QACtE,kEAAkE;QAClE,qEAAqE;QACrE,OACE,IAAI,CAAC,UAAU,CAAC,EAKjB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAID,GAAG,CAAC,IAAY,EAAE,QAA8C;QAE5D,IAAI,CAAC,UAAU,CAAC,GAIjB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpB,CAAC;IAYD,IAAI,CACF,IAAY,EACZ,QAA8C,EAC9C,OAAqC;QAErC,OACE,IAAI,CAAC,UAAU,CAAC,IAKjB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,kBAAkB;QAChB,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAqD;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,kEAAkE;IAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,QAA0B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IAED,iEAAiE;IAEjE;;;;;OAKG;IACc,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjE;;+DAE2D;IACnD,gBAAgB,CAA4B;IAEpD;;;OAGG;IACK,mBAAmB,CAAC,MAAsB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,GAAS,EAAE;YACT,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,EACD;YACE,KAAK,EAAE,GAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;YAC1C,IAAI,EAAE,GAAS,EAAE;gBACf,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,CAAC,aAAa,CAAC,EAAE,KAAK,IAAmB,EAAE;gBACzC,iEAAiE;gBACjE,iEAAiE;gBACjE,4DAA4D;gBAC5D,+BAA+B;gBAC/B,MAAM,OAAO,GAAI,MAAuE,CACtF,aAAa,CACd,CAAC;gBACF,MAAM,OAAO,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;SACF,CACF,CAAC;QACF,uEAAuE;QACvE,sEAAsE;QACtE,OAAO,OAAoC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,CAAC,QAAQ,CACZ,UAAoE,EAAE;QAEtE,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;YAClC,qEAAqE;YACrE,oEAAoE;YACpE,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1F,4DAA4D;YAC5D,uEAAuE;YACvE,EAAE;YACF,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,2EAA2E;YAC3E,kEAAkE;YAClE,EAAE;YACF,uEAAuE;YACvE,gEAAgE;YAChE,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,kEAAkE;IAElE;;;;;;;;;OASG;IACO,eAAe,CAA8B;IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAM4D,EAAE;QAE9D,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC;YAC1F,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;IAC9F,CAAC;IAEQ,MAAM,GAAoB;QACjC,SAAS,EAAE,CAAC,IAAuB,EAAmB,EAAE;QACtD,8DAA8D;QAC9D,gEAAgE;QAChE,6DAA6D;QAC7D,mEAAmE;QACnE,wDAAwD;QACxD,kEAAkE;QAClE,gEAAgE;QAChE,gEAAgE;QAChE,eAAe,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAC5B;QACH,kBAAkB,EAAE,CAAC,IAAgC,EAA4B,EAAE,CACjF,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAC/E,YAAY,EAAE,GAAG,EAAE;gBACjB,mEAAmE;gBACnE,0EAA0E;gBAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAsC,CAAC;gBAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC;YACjC,CAAC;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;YACzC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YAC3C,gBAAgB,EAAE,GAAG,EAAE;gBACrB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAClD,gFAAgF;gBAChF,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC;YACzE,CAAC;SACF,CAAC;QACJ,uCAAuC;QACvC,6CAA6C;QAC7C,wEAAwE;QACxE,wEAAwE;QACxE,4DAA4D;QAC5D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnF,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAChG,CAAC;IAEF,kEAAkE;IAElE;;;;;;;OAOG;IACH,IAAI,CAAC,IAAY,EAAE,OAAgC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAA+B,CAAC;YAAE,OAAO;QAC9E,MAAM,IAAI,GAAc,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI;YACV,OAAO;YACP,IAAI;SACyD,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CACZ,IAAY,EACZ,OAAgC,EAChC,WAAoE;QAEpE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAA+B,CAAC;YAAE,OAAO;QAC9E,MAAM,IAAI,GAAc;YACtB,GAAG,IAAI,CAAC,WAAW,EAAE;YACrB,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;YACpE,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,IAAI;YACV,OAAO;YACP,IAAI;SACyD,CAAC,CAAC;IACnE,CAAC;IAED,kEAAkE;IAElE;;;OAGG;IACO,WAAW;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,iBAAiB;YACjC,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YACvC,KAAK,EAAE,qBAAqB;SAC7B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,eAAe;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACO,aAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
@@ -247,6 +247,7 @@ export interface Runner<TIn = unknown, TOut = unknown> {
247
247
  */
248
248
  shutdown?(options?: {
249
249
  readonly stop?: boolean;
250
+ readonly timeoutMs?: number;
250
251
  }): Promise<void>;
251
252
  /**
252
253
  * Emit a consumer-defined custom event through the same dispatcher.
@@ -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;