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,213 @@
1
+ /**
2
+ * outbox — the one owner of buffered, timed, serialized delivery for the
3
+ * batching sinks in this folder: `file`, `cloudwatch` (and `agentcore`, which
4
+ * is built on it) and `xray`.
5
+ *
6
+ * A sink accepts items on its hot path (sync, no I/O) and hands them here. The
7
+ * outbox decides WHEN a batch leaves and makes sure only one leaves at a time:
8
+ *
9
+ * - **One queue, every trigger.** The size trigger, the timer and `drain()`
10
+ * (the sink's `flush()`, and so every shutdown) all queue a delivery on
11
+ * the same promise chain. Nothing calls `deliver` any other way.
12
+ * - **One delivery in flight.** A delivery starts only after the previous
13
+ * one settled. A large `fs.promises.appendFile` is several `write()`s; two
14
+ * of them interleaved tear NDJSON lines (reported in #223, where the timer
15
+ * bypassed the chain). Whatever a sink does around its write — the file
16
+ * sink's rotation — runs inside its delivery, so it can never be skipped
17
+ * or reordered either. This keeps ONE sink's deliveries from interleaving;
18
+ * it does not make a delivery atomic (a disk that fails partway through an
19
+ * append can still leave part of it behind).
20
+ * - **Oldest first, within the receiver's limits.** A delivery takes the
21
+ * oldest waiting items, so items leave in the order they were accepted.
22
+ * When a receiving service limits one request (`maxItemsPerDelivery`,
23
+ * `maxBytesPerDelivery` — CloudWatch's PutLogEvents), a delivery takes
24
+ * only the oldest items that fit, and the rest go in the next delivery,
25
+ * right after. That matters BECAUSE of the queue: a slow delivery lets a
26
+ * backlog build behind it, which one request may not be allowed to carry.
27
+ * Each part settles on its own — shipped, or dropped and reported.
28
+ * - **`drain()` is bounded.** It resolves once every item accepted BEFORE
29
+ * the call has settled (delivered, or dropped and reported), one the timer
30
+ * already had in flight included — then makes one sweep of what arrived
31
+ * while it waited. It never chases a producer that keeps emitting: under
32
+ * steady traffic it ends after about two deliveries.
33
+ * - **A failed batch is dropped and reported once**, then the next batch
34
+ * goes. It is never requeued, so a full disk or an outage cannot grow the
35
+ * outbox. The queue never rejects: a failure report that itself throws is
36
+ * said on the console instead of becoming an unhandled rejection.
37
+ *
38
+ * What it does NOT do: bound a delivery that never settles. A hung disk holds
39
+ * the queue, and `drain()` with it; nothing can cancel an in-flight write.
40
+ *
41
+ * Role: leaf helper for `adapters/observability/*`. Composed as a field,
42
+ * never inherited.
43
+ */
44
+ import { rateLimitedConsoleSink } from './deliveryErrors.js';
45
+ /** Build the outbox one sink owns. A per-delivery cap that could take
46
+ * nothing is refused: such a delivery could never finish a drain. */
47
+ export function createOutbox(opts) {
48
+ if (opts.maxItemsPerDelivery !== undefined) {
49
+ requireDeliveryCap(opts.name, opts.maxItemsPerDelivery);
50
+ }
51
+ const waiting = [];
52
+ let waitingBytes = 0;
53
+ // Running counts. Deliveries take the oldest items, one delivery at a time,
54
+ // so once `settled` reaches n the first n accepted items are done.
55
+ let accepted = 0; // handed to `add`
56
+ let taken = 0; // taken by a delivery (in flight or settled)
57
+ let settled = 0; // delivered, or dropped and reported
58
+ // The ONE queue. Every delivery is chained here; `deliverNext` never
59
+ // rejects, so the chain never does either.
60
+ let queue = Promise.resolve();
61
+ // A delivery is queued and has not started yet. It will take everything
62
+ // waiting when it starts, so another trigger meanwhile has nothing to add —
63
+ // and the chain cannot grow while a delivery hangs.
64
+ let deliveryQueued = false;
65
+ let timer;
66
+ let stopped = false;
67
+ const consoleFallback = rateLimitedConsoleSink(opts.name);
68
+ function add(item, bytes = 0) {
69
+ waiting.push({ item, bytes });
70
+ waitingBytes += bytes;
71
+ accepted++;
72
+ if (atSizeTrigger())
73
+ queueDelivery();
74
+ else
75
+ armTimer();
76
+ }
77
+ function atSizeTrigger() {
78
+ if (waiting.length >= opts.maxItems)
79
+ return true;
80
+ return opts.maxBytes !== undefined && waitingBytes >= opts.maxBytes;
81
+ }
82
+ function armTimer() {
83
+ if (timer !== undefined || stopped || opts.flushIntervalMs <= 0)
84
+ return;
85
+ timer = setTimeout(onTimer, opts.flushIntervalMs);
86
+ // `unref` exists on Node's Timeout and not on a browser's number, so it
87
+ // is feature-detected.
88
+ if (!opts.timerHoldsProcess)
89
+ timer.unref?.();
90
+ }
91
+ function onTimer() {
92
+ timer = undefined;
93
+ queueDelivery();
94
+ }
95
+ function queueDelivery() {
96
+ if (deliveryQueued)
97
+ return;
98
+ deliveryQueued = true;
99
+ queue = queue.then(deliverNext);
100
+ }
101
+ async function deliverNext() {
102
+ deliveryQueued = false;
103
+ const { batch, leftBehind } = takeOldest();
104
+ if (batch.length === 0)
105
+ return;
106
+ try {
107
+ await opts.deliver(batch);
108
+ }
109
+ catch (cause) {
110
+ reportDropped(batch, cause);
111
+ }
112
+ // Settled exactly once, whatever happened to the deliveries around it.
113
+ settled += batch.length;
114
+ // Items a per-delivery limit left behind were already due when this
115
+ // delivery started — deliver them now rather than on the next timer.
116
+ if (leftBehind)
117
+ queueDelivery();
118
+ }
119
+ /** Take the oldest waiting items one delivery may carry. `leftBehind` says
120
+ * a per-delivery limit stopped the take with items still waiting. */
121
+ function takeOldest() {
122
+ const entries = waiting.splice(0, countForOneDelivery());
123
+ for (const entry of entries)
124
+ waitingBytes -= entry.bytes;
125
+ if (waiting.length === 0)
126
+ waitingBytes = 0;
127
+ taken += entries.length;
128
+ return { batch: entries.map((entry) => entry.item), leftBehind: waiting.length > 0 };
129
+ }
130
+ /** How many of the oldest waiting items fit one delivery: at least one,
131
+ * then as many as the item and byte limits allow, in order. */
132
+ function countForOneDelivery() {
133
+ const most = Math.min(waiting.length, opts.maxItemsPerDelivery ?? waiting.length);
134
+ const byteLimit = opts.maxBytesPerDelivery;
135
+ if (byteLimit === undefined)
136
+ return most;
137
+ const overhead = opts.overheadBytesPerItem ?? 0;
138
+ let count = 0;
139
+ let bytes = 0;
140
+ while (count < most) {
141
+ const entry = waiting[count];
142
+ if (entry === undefined)
143
+ break;
144
+ const cost = entry.bytes + overhead;
145
+ if (count > 0 && bytes + cost > byteLimit)
146
+ break;
147
+ bytes += cost;
148
+ count++;
149
+ }
150
+ return count;
151
+ }
152
+ function reportDropped(batch, cause) {
153
+ let error;
154
+ try {
155
+ error = opts.dropped(batch, cause);
156
+ }
157
+ catch {
158
+ error = new Error(`${batch.length} item(s) dropped: ${messageOf(cause)}`);
159
+ }
160
+ try {
161
+ opts.report(error);
162
+ }
163
+ catch (hookError) {
164
+ // The consumer's own `onError` threw. Say both things on the console
165
+ // rather than letting the queue reject (an unhandled rejection, which
166
+ // ends a Node process by default).
167
+ consoleFallback(new Error(`${error.message} — and the onError hook threw: ${messageOf(hookError)}`));
168
+ }
169
+ }
170
+ async function drain() {
171
+ // Everything accepted before this call, in flight or waiting…
172
+ await settleThrough(accepted);
173
+ // …then ONE sweep of what arrived while it waited, so a `stop()` right
174
+ // after `flush()` strands nothing that was already here. The target is
175
+ // fixed when the sweep starts, so steady traffic cannot keep it going.
176
+ await settleThrough(accepted);
177
+ }
178
+ /** Wait until the first `target` accepted items have settled. */
179
+ async function settleThrough(target) {
180
+ while (settled < target) {
181
+ const before = settled;
182
+ // Some of them still wait: make sure a delivery will take them.
183
+ if (taken < target)
184
+ queueDelivery();
185
+ await queue;
186
+ // A pass that settled nothing would repeat forever. With the cap
187
+ // refused above it cannot happen; if it ever does, end — never spin.
188
+ if (settled === before)
189
+ return;
190
+ }
191
+ }
192
+ function stop() {
193
+ stopped = true;
194
+ if (timer !== undefined) {
195
+ clearTimeout(timer);
196
+ timer = undefined;
197
+ }
198
+ }
199
+ return { add, drain, stop };
200
+ }
201
+ /** The sink-to-outbox contract: a cap is a whole number above zero. Sinks
202
+ * map and refuse their own options first (X-Ray: `segmentsPerPut`), so this
203
+ * guards the contract rather than a caller's input. */
204
+ function requireDeliveryCap(name, cap) {
205
+ if (Number.isInteger(cap) && cap > 0)
206
+ return;
207
+ throw new TypeError(`[${name}Observability] the outbox was given a per-delivery cap of ${String(cap)}; ` +
208
+ `a delivery that may take no items could never finish a drain.`);
209
+ }
210
+ function messageOf(err) {
211
+ return err instanceof Error ? err.message : String(err);
212
+ }
213
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../../../src/adapters/observability/outbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAmE7D;sEACsE;AACtE,MAAM,UAAU,YAAY,CAAI,IAAsB;IACpD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC3C,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,kBAAkB;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAC5D,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,qCAAqC;IACtD,qEAAqE;IACrE,2CAA2C;IAC3C,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7C,wEAAwE;IACxE,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAgD,CAAC;IACrD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1D,SAAS,GAAG,CAAC,IAAO,EAAE,KAAK,GAAG,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,YAAY,IAAI,KAAK,CAAC;QACtB,QAAQ,EAAE,CAAC;QACX,IAAI,aAAa,EAAE;YAAE,aAAa,EAAE,CAAC;;YAChC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,SAAS,aAAa;QACpB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC;YAAE,OAAO;QACxE,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,wEAAwE;QACxE,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAG,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3E,CAAC;IAED,SAAS,OAAO;QACd,KAAK,GAAG,SAAS,CAAC;QAClB,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,SAAS,aAAa;QACpB,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,uEAAuE;QACvE,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;QACxB,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,UAAU;YAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAED;0EACsE;IACtE,SAAS,UAAU;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,YAAY,GAAG,CAAC,CAAC;QAC3C,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IACvF,CAAC;IAED;oEACgE;IAChE,SAAS,mBAAmB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,SAAS;gBAAE,MAAM;YACjD,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,aAAa,CAAC,KAAmB,EAAE,KAAc;QACxD,IAAI,KAAY,CAAC;QACjB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,qBAAqB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,qEAAqE;YACrE,sEAAsE;YACtE,mCAAmC;YACnC,eAAe,CACb,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,kCAAkC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,8DAA8D;QAC9D,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,iEAAiE;IACjE,KAAK,UAAU,aAAa,CAAC,MAAc;QACzC,OAAO,OAAO,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC;YACvB,gEAAgE;YAChE,IAAI,KAAK,GAAG,MAAM;gBAAE,aAAa,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;YACZ,iEAAiE;YACjE,qEAAqE;YACrE,IAAI,OAAO,KAAK,MAAM;gBAAE,OAAO;QACjC,CAAC;IACH,CAAC;IAED,SAAS,IAAI;QACX,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;wDAEwD;AACxD,SAAS,kBAAkB,CAAC,IAAY,EAAE,GAAW;IACnD,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO;IAC7C,MAAM,IAAI,SAAS,CACjB,IAAI,IAAI,6DAA6D,MAAM,CAAC,GAAG,CAAC,IAAI;QAClF,+DAA+D,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
@@ -70,6 +70,7 @@
70
70
  import { lazyRequire } from '../../lib/lazyRequire.js';
71
71
  import { toWireJson } from '../../lib/wireJson.js';
72
72
  import { rateLimitedConsoleSink } from './deliveryErrors.js';
73
+ import { createOutbox } from './outbox.js';
73
74
  // ─── Strategy factory ────────────────────────────────────────────────
74
75
  export function xrayObservability(opts) {
75
76
  if (!opts.serviceName) {
@@ -83,11 +84,8 @@ export function xrayObservability(opts) {
83
84
  // multiple in-flight turns; we key the active stack by the run
84
85
  // anchor (`meta.runId` — see anchorRunId).
85
86
  const activeTurns = new Map();
86
- // Outbound segment buffer (flat list of closed segments ready for
87
- // PutTraceSegments). Drained by flush() / size-trigger / time-trigger.
88
- const outbox = [];
89
- let lastFlushPromise = Promise.resolve();
90
- let timer;
87
+ // Set by `stop()`: no more events accepted. NOT a guard on delivery (8.11.1):
88
+ // segments already closed and queued are still owed to X-Ray.
91
89
  let stopped = false;
92
90
  // The fallback when the consumer wires nothing. Rate-limited; a
93
91
  // consumer-supplied sink is not.
@@ -100,44 +98,32 @@ export function xrayObservability(opts) {
100
98
  client = createXRayClient(opts.region, opts._sdk);
101
99
  return client;
102
100
  }
103
- function scheduleTimedFlush() {
104
- if (timer || flushIntervalMs <= 0 || stopped)
105
- return;
106
- timer = setTimeout(() => {
107
- timer = undefined;
108
- void doFlush();
109
- }, flushIntervalMs);
110
- }
111
- async function doFlush() {
112
- // `stopped` is deliberately NOT a guard here (8.11.1). `stop()` stops this
113
- // strategy ACCEPTING events and cancels its timer; segments already closed
114
- // and queued are still owed to X-Ray. Guarding here made `flush()` after
115
- // `stop()` loop forever waiting for a drain that could no longer happen —
116
- // an infinite microtask spin that starved the event loop of the process
117
- // trying to shut down.
118
- if (outbox.length === 0)
119
- return;
120
- const batch = outbox.splice(0, maxBatchSegments);
121
- try {
122
- await ensureClient().putTraceSegments({
123
- TraceSegmentDocuments: batch.map((s) => toWireJson(s)),
124
- });
125
- }
126
- catch (err) {
127
- // Routed through the strategy's CURRENT `_onError` (not a hook captured
128
- // at construction), so a consumer who assigns it — or passes `onError`
129
- // — actually receives delivery failures. Before 8.11.0 the hook was
130
- // installed lazily inside `_onError` itself and was `undefined` here,
131
- // so every failed put was silent.
132
- strategy._onError?.(new Error(`${batch.length} segment(s) dropped shipping to X-Ray: ` +
133
- (err instanceof Error ? err.message : String(err))));
134
- }
135
- // If outbox grew during the put (size > maxBatchSegments emits
136
- // arrived), chain another flush.
137
- if (outbox.length > 0 && !stopped) {
138
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
139
- }
101
+ /** Ship one batch of closed segments. Throws when it could not — the
102
+ * outbox drops the batch and reports it once. */
103
+ async function shipSegments(batch) {
104
+ await ensureClient().putTraceSegments({
105
+ TraceSegmentDocuments: batch.map((s) => toWireJson(s)),
106
+ });
140
107
  }
108
+ // Closed segments ready for PutTraceSegments, and the one queue every put
109
+ // goes through — size trigger, timer, `flush()`, shutdown (outbox.ts;
110
+ // #223). A put takes at most `maxBatchSegments` (its whole part); what the
111
+ // cap leaves behind ships right after it.
112
+ const outbox = createOutbox({
113
+ name: 'xray',
114
+ // The trigger compares the value as given, as before the outbox.
115
+ maxItems: maxBatchSegments,
116
+ maxItemsPerDelivery: segmentsPerPut(maxBatchSegments),
117
+ flushIntervalMs,
118
+ timerHoldsProcess: true,
119
+ deliver: shipSegments,
120
+ dropped: (batch, cause) => new Error(`${batch.length} segment(s) dropped shipping to X-Ray: ` +
121
+ (cause instanceof Error ? cause.message : String(cause))),
122
+ // Routed through the strategy's CURRENT `_onError` (not a hook captured
123
+ // at construction), so a consumer who assigns it — or passes `onError`
124
+ // — actually receives delivery failures (8.11.0).
125
+ report: (err) => strategy._onError?.(err),
126
+ });
141
127
  function pushSegment(turnState, name) {
142
128
  const parent = turnState.stack[turnState.stack.length - 1];
143
129
  const seg = {
@@ -196,15 +182,10 @@ export function xrayObservability(opts) {
196
182
  seg.metadata = { default: { ...(seg.metadata?.default ?? {}), ...extra.metadata } };
197
183
  if (turnState.sampled) {
198
184
  turnState.closed.push(seg);
199
- // Once the root closes, the whole turn graduates to outbox.
185
+ // Once the root closes, the whole turn graduates to the outbox.
200
186
  if (turnState.stack.length === 0) {
201
- outbox.push(...turnState.closed);
202
- if (outbox.length >= maxBatchSegments) {
203
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
204
- }
205
- else {
206
- scheduleTimedFlush();
207
- }
187
+ for (const closed of turnState.closed)
188
+ outbox.add(closed);
208
189
  }
209
190
  }
210
191
  }
@@ -412,22 +393,11 @@ export function xrayObservability(opts) {
412
393
  while (t.stack.length > 0)
413
394
  closeSegment(t, undefined);
414
395
  }
415
- // BOUNDED BY CONSTRUCTION — every pass must shrink the outbox (a put
416
- // takes up to `maxBatchSegments` at a time, so several passes are
417
- // normal); a pass that shrinks nothing ends the drain instead of trying
418
- // again. The previous `while (outbox.length > 0)` trusted `doFlush()` to
419
- // make progress, which it stopped doing after `stop()` — an infinite
420
- // microtask spin that starved the event loop during shutdown.
421
- for (;;) {
422
- const pending = outbox.length;
423
- // Chain, never replace: segments ship in the order they closed.
424
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
425
- await lastFlushPromise;
426
- if (outbox.length === 0)
427
- return;
428
- if (outbox.length >= pending)
429
- return;
430
- }
396
+ // Segments ship in the order they closed, one put at a time, behind the
397
+ // put in flight — one the timer started included. Resolves once every
398
+ // segment closed before this call is shipped (or dropped and reported),
399
+ // after one more sweep; a put that never settles holds it.
400
+ await outbox.drain();
431
401
  },
432
402
  /** Stop the flush timer and stop accepting events. **The framework does
433
403
  * not call this for you** — an un-stopped strategy keeps a `setTimeout`
@@ -438,10 +408,7 @@ export function xrayObservability(opts) {
438
408
  * (8.11.1). */
439
409
  stop() {
440
410
  stopped = true;
441
- if (timer) {
442
- clearTimeout(timer);
443
- timer = undefined;
444
- }
411
+ outbox.stop();
445
412
  },
446
413
  /**
447
414
  * Where errors go. Two callers: the dispatch layer (when `exportEvent`
@@ -456,6 +423,25 @@ export function xrayObservability(opts) {
456
423
  };
457
424
  return strategy;
458
425
  }
426
+ // ─── Batch size ──────────────────────────────────────────────────────
427
+ /**
428
+ * How many segments one put takes — exactly what `outbox.splice(0,
429
+ * maxBatchSegments)` took before the shared queue: the whole part of the
430
+ * value, and every segment for `Infinity` (returned as no cap).
431
+ *
432
+ * A value whose whole part is below 1 — `0`, a fraction under 1, a negative
433
+ * number, `NaN` — took NO segments, so every put was empty and the queue
434
+ * never emptied: puts in a loop, forever. That never worked, so it is refused
435
+ * here, by the option's name; every value that did work keeps its meaning.
436
+ */
437
+ function segmentsPerPut(maxBatchSegments) {
438
+ const whole = Math.trunc(maxBatchSegments);
439
+ if (whole === Infinity)
440
+ return undefined;
441
+ if (whole >= 1)
442
+ return whole;
443
+ throw new TypeError(`[xrayObservability] \`maxBatchSegments\` must be at least 1 (got ${String(maxBatchSegments)}): ` + `it is how many segments one put takes, and a put of none never empties the queue.`);
444
+ }
459
445
  // ─── ID + time helpers ───────────────────────────────────────────────
460
446
  /**
461
447
  * Generate an X-Ray trace ID. Format:
@@ -1 +1 @@
1
- {"version":3,"file":"xray.js","sourceRoot":"","sources":["../../../../src/adapters/observability/xray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xray.js","sourceRoot":"","sources":["../../../../src/adapters/observability/xray.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":"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"}
@@ -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.