agentfootprint 11.0.0 → 11.1.1

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 (152) hide show
  1. package/CAPABILITIES.md +2 -0
  2. package/dist/adapters/observability/cloudwatch.js +101 -110
  3. package/dist/adapters/observability/cloudwatch.js.map +1 -1
  4. package/dist/adapters/observability/file.js +48 -71
  5. package/dist/adapters/observability/file.js.map +1 -1
  6. package/dist/adapters/observability/outbox.js +217 -0
  7. package/dist/adapters/observability/outbox.js.map +1 -0
  8. package/dist/adapters/observability/xray.js +56 -70
  9. package/dist/adapters/observability/xray.js.map +1 -1
  10. package/dist/debug.js +5 -3
  11. package/dist/debug.js.map +1 -1
  12. package/dist/esm/adapters/observability/cloudwatch.d.ts +6 -2
  13. package/dist/esm/adapters/observability/cloudwatch.js +101 -110
  14. package/dist/esm/adapters/observability/cloudwatch.js.map +1 -1
  15. package/dist/esm/adapters/observability/file.d.ts +8 -4
  16. package/dist/esm/adapters/observability/file.js +48 -71
  17. package/dist/esm/adapters/observability/file.js.map +1 -1
  18. package/dist/esm/adapters/observability/outbox.d.ts +104 -0
  19. package/dist/esm/adapters/observability/outbox.js +213 -0
  20. package/dist/esm/adapters/observability/outbox.js.map +1 -0
  21. package/dist/esm/adapters/observability/xray.js +56 -70
  22. package/dist/esm/adapters/observability/xray.js.map +1 -1
  23. package/dist/esm/debug.d.ts +1 -1
  24. package/dist/esm/debug.js +1 -1
  25. package/dist/esm/debug.js.map +1 -1
  26. package/dist/esm/lib/boundedJson.d.ts +1 -1
  27. package/dist/esm/lib/boundedJson.js +4 -2
  28. package/dist/esm/lib/boundedJson.js.map +1 -1
  29. package/dist/esm/trace-toolpack/causeCapture.d.ts +5 -2
  30. package/dist/esm/trace-toolpack/causeCapture.js +32 -18
  31. package/dist/esm/trace-toolpack/causeCapture.js.map +1 -1
  32. package/dist/esm/trace-toolpack/causeContext.d.ts +14 -0
  33. package/dist/esm/trace-toolpack/causeContext.js +14 -0
  34. package/dist/esm/trace-toolpack/causeContext.js.map +1 -0
  35. package/dist/esm/trace-toolpack/causeProjection.d.ts +17 -0
  36. package/dist/esm/trace-toolpack/causeProjection.js +72 -0
  37. package/dist/esm/trace-toolpack/causeProjection.js.map +1 -0
  38. package/dist/esm/trace-toolpack/causeReader.d.ts +2 -3
  39. package/dist/esm/trace-toolpack/causeReader.js +21 -13
  40. package/dist/esm/trace-toolpack/causeReader.js.map +1 -1
  41. package/dist/esm/trace-toolpack/causeResponse.d.ts +5 -2
  42. package/dist/esm/trace-toolpack/causeResponse.js +26 -9
  43. package/dist/esm/trace-toolpack/causeResponse.js.map +1 -1
  44. package/dist/esm/trace-toolpack/causeSnapshot.d.ts +2 -8
  45. package/dist/esm/trace-toolpack/causeSnapshot.js +3 -63
  46. package/dist/esm/trace-toolpack/causeSnapshot.js.map +1 -1
  47. package/dist/esm/trace-toolpack/causeTools.d.ts +8 -1
  48. package/dist/esm/trace-toolpack/causeTools.js +33 -10
  49. package/dist/esm/trace-toolpack/causeTools.js.map +1 -1
  50. package/dist/esm/trace-toolpack/index.d.ts +3 -0
  51. package/dist/esm/trace-toolpack/index.js +2 -0
  52. package/dist/esm/trace-toolpack/index.js.map +1 -1
  53. package/dist/esm/trace-toolpack/storedCause.d.ts +8 -0
  54. package/dist/esm/trace-toolpack/storedCause.js +58 -0
  55. package/dist/esm/trace-toolpack/storedCause.js.map +1 -0
  56. package/dist/esm/trace-toolpack/storedCauseBinding.d.ts +16 -0
  57. package/dist/esm/trace-toolpack/storedCauseBinding.js +50 -0
  58. package/dist/esm/trace-toolpack/storedCauseBinding.js.map +1 -0
  59. package/dist/esm/trace-toolpack/storedCauseOptions.d.ts +5 -0
  60. package/dist/esm/trace-toolpack/storedCauseOptions.js +53 -0
  61. package/dist/esm/trace-toolpack/storedCauseOptions.js.map +1 -0
  62. package/dist/esm/trace-toolpack/storedCauseProjection.d.ts +3 -0
  63. package/dist/esm/trace-toolpack/storedCauseProjection.js +117 -0
  64. package/dist/esm/trace-toolpack/storedCauseProjection.js.map +1 -0
  65. package/dist/esm/trace-toolpack/storedCauseReader.d.ts +3 -0
  66. package/dist/esm/trace-toolpack/storedCauseReader.js +9 -0
  67. package/dist/esm/trace-toolpack/storedCauseReader.js.map +1 -0
  68. package/dist/esm/trace-toolpack/storedCauseSources.d.ts +8 -0
  69. package/dist/esm/trace-toolpack/storedCauseSources.js +28 -0
  70. package/dist/esm/trace-toolpack/storedCauseSources.js.map +1 -0
  71. package/dist/esm/trace-toolpack/storedCauseTypes.d.ts +48 -0
  72. package/dist/esm/trace-toolpack/storedCauseTypes.js +2 -0
  73. package/dist/esm/trace-toolpack/storedCauseTypes.js.map +1 -0
  74. package/dist/esm/trace-toolpack/traceToolpack.js +18 -0
  75. package/dist/esm/trace-toolpack/traceToolpack.js.map +1 -1
  76. package/dist/lib/boundedJson.js +4 -2
  77. package/dist/lib/boundedJson.js.map +1 -1
  78. package/dist/trace-toolpack/causeCapture.js +35 -20
  79. package/dist/trace-toolpack/causeCapture.js.map +1 -1
  80. package/dist/trace-toolpack/causeContext.js +18 -0
  81. package/dist/trace-toolpack/causeContext.js.map +1 -0
  82. package/dist/trace-toolpack/causeProjection.js +76 -0
  83. package/dist/trace-toolpack/causeProjection.js.map +1 -0
  84. package/dist/trace-toolpack/causeReader.js +21 -13
  85. package/dist/trace-toolpack/causeReader.js.map +1 -1
  86. package/dist/trace-toolpack/causeResponse.js +26 -9
  87. package/dist/trace-toolpack/causeResponse.js.map +1 -1
  88. package/dist/trace-toolpack/causeSnapshot.js +3 -63
  89. package/dist/trace-toolpack/causeSnapshot.js.map +1 -1
  90. package/dist/trace-toolpack/causeTools.js +36 -12
  91. package/dist/trace-toolpack/causeTools.js.map +1 -1
  92. package/dist/trace-toolpack/index.js +5 -1
  93. package/dist/trace-toolpack/index.js.map +1 -1
  94. package/dist/trace-toolpack/storedCause.js +85 -0
  95. package/dist/trace-toolpack/storedCause.js.map +1 -0
  96. package/dist/trace-toolpack/storedCauseBinding.js +55 -0
  97. package/dist/trace-toolpack/storedCauseBinding.js.map +1 -0
  98. package/dist/trace-toolpack/storedCauseOptions.js +58 -0
  99. package/dist/trace-toolpack/storedCauseOptions.js.map +1 -0
  100. package/dist/trace-toolpack/storedCauseProjection.js +121 -0
  101. package/dist/trace-toolpack/storedCauseProjection.js.map +1 -0
  102. package/dist/trace-toolpack/storedCauseReader.js +35 -0
  103. package/dist/trace-toolpack/storedCauseReader.js.map +1 -0
  104. package/dist/trace-toolpack/storedCauseSources.js +32 -0
  105. package/dist/trace-toolpack/storedCauseSources.js.map +1 -0
  106. package/dist/trace-toolpack/storedCauseTypes.js +3 -0
  107. package/dist/trace-toolpack/storedCauseTypes.js.map +1 -0
  108. package/dist/trace-toolpack/traceToolpack.js +18 -0
  109. package/dist/trace-toolpack/traceToolpack.js.map +1 -1
  110. package/dist/types/adapters/observability/cloudwatch.d.ts +6 -2
  111. package/dist/types/adapters/observability/cloudwatch.d.ts.map +1 -1
  112. package/dist/types/adapters/observability/file.d.ts +8 -4
  113. package/dist/types/adapters/observability/file.d.ts.map +1 -1
  114. package/dist/types/adapters/observability/outbox.d.ts +105 -0
  115. package/dist/types/adapters/observability/outbox.d.ts.map +1 -0
  116. package/dist/types/adapters/observability/xray.d.ts.map +1 -1
  117. package/dist/types/debug.d.ts +1 -1
  118. package/dist/types/debug.d.ts.map +1 -1
  119. package/dist/types/lib/boundedJson.d.ts +1 -1
  120. package/dist/types/lib/boundedJson.d.ts.map +1 -1
  121. package/dist/types/trace-toolpack/causeCapture.d.ts +5 -2
  122. package/dist/types/trace-toolpack/causeCapture.d.ts.map +1 -1
  123. package/dist/types/trace-toolpack/causeContext.d.ts +15 -0
  124. package/dist/types/trace-toolpack/causeContext.d.ts.map +1 -0
  125. package/dist/types/trace-toolpack/causeProjection.d.ts +18 -0
  126. package/dist/types/trace-toolpack/causeProjection.d.ts.map +1 -0
  127. package/dist/types/trace-toolpack/causeReader.d.ts +2 -3
  128. package/dist/types/trace-toolpack/causeReader.d.ts.map +1 -1
  129. package/dist/types/trace-toolpack/causeResponse.d.ts +5 -2
  130. package/dist/types/trace-toolpack/causeResponse.d.ts.map +1 -1
  131. package/dist/types/trace-toolpack/causeSnapshot.d.ts +2 -8
  132. package/dist/types/trace-toolpack/causeSnapshot.d.ts.map +1 -1
  133. package/dist/types/trace-toolpack/causeTools.d.ts +8 -1
  134. package/dist/types/trace-toolpack/causeTools.d.ts.map +1 -1
  135. package/dist/types/trace-toolpack/index.d.ts +3 -0
  136. package/dist/types/trace-toolpack/index.d.ts.map +1 -1
  137. package/dist/types/trace-toolpack/storedCause.d.ts +9 -0
  138. package/dist/types/trace-toolpack/storedCause.d.ts.map +1 -0
  139. package/dist/types/trace-toolpack/storedCauseBinding.d.ts +17 -0
  140. package/dist/types/trace-toolpack/storedCauseBinding.d.ts.map +1 -0
  141. package/dist/types/trace-toolpack/storedCauseOptions.d.ts +6 -0
  142. package/dist/types/trace-toolpack/storedCauseOptions.d.ts.map +1 -0
  143. package/dist/types/trace-toolpack/storedCauseProjection.d.ts +4 -0
  144. package/dist/types/trace-toolpack/storedCauseProjection.d.ts.map +1 -0
  145. package/dist/types/trace-toolpack/storedCauseReader.d.ts +4 -0
  146. package/dist/types/trace-toolpack/storedCauseReader.d.ts.map +1 -0
  147. package/dist/types/trace-toolpack/storedCauseSources.d.ts +9 -0
  148. package/dist/types/trace-toolpack/storedCauseSources.d.ts.map +1 -0
  149. package/dist/types/trace-toolpack/storedCauseTypes.d.ts +49 -0
  150. package/dist/types/trace-toolpack/storedCauseTypes.d.ts.map +1 -0
  151. package/dist/types/trace-toolpack/traceToolpack.d.ts.map +1 -1
  152. package/package.json +3 -3
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ /**
3
+ * outbox — the one owner of buffered, timed, serialized delivery for the
4
+ * batching sinks in this folder: `file`, `cloudwatch` (and `agentcore`, which
5
+ * is built on it) and `xray`.
6
+ *
7
+ * A sink accepts items on its hot path (sync, no I/O) and hands them here. The
8
+ * outbox decides WHEN a batch leaves and makes sure only one leaves at a time:
9
+ *
10
+ * - **One queue, every trigger.** The size trigger, the timer and `drain()`
11
+ * (the sink's `flush()`, and so every shutdown) all queue a delivery on
12
+ * the same promise chain. Nothing calls `deliver` any other way.
13
+ * - **One delivery in flight.** A delivery starts only after the previous
14
+ * one settled. A large `fs.promises.appendFile` is several `write()`s; two
15
+ * of them interleaved tear NDJSON lines (reported in #223, where the timer
16
+ * bypassed the chain). Whatever a sink does around its write — the file
17
+ * sink's rotation — runs inside its delivery, so it can never be skipped
18
+ * or reordered either. This keeps ONE sink's deliveries from interleaving;
19
+ * it does not make a delivery atomic (a disk that fails partway through an
20
+ * append can still leave part of it behind).
21
+ * - **Oldest first, within the receiver's limits.** A delivery takes the
22
+ * oldest waiting items, so items leave in the order they were accepted.
23
+ * When a receiving service limits one request (`maxItemsPerDelivery`,
24
+ * `maxBytesPerDelivery` — CloudWatch's PutLogEvents), a delivery takes
25
+ * only the oldest items that fit, and the rest go in the next delivery,
26
+ * right after. That matters BECAUSE of the queue: a slow delivery lets a
27
+ * backlog build behind it, which one request may not be allowed to carry.
28
+ * Each part settles on its own — shipped, or dropped and reported.
29
+ * - **`drain()` is bounded.** It resolves once every item accepted BEFORE
30
+ * the call has settled (delivered, or dropped and reported), one the timer
31
+ * already had in flight included — then makes one sweep of what arrived
32
+ * while it waited. It never chases a producer that keeps emitting: under
33
+ * steady traffic it ends after about two deliveries.
34
+ * - **A failed batch is dropped and reported once**, then the next batch
35
+ * goes. It is never requeued, so a full disk or an outage cannot grow the
36
+ * outbox. The queue never rejects: a failure report that itself throws is
37
+ * said on the console instead of becoming an unhandled rejection.
38
+ *
39
+ * What it does NOT do: bound a delivery that never settles. A hung disk holds
40
+ * the queue, and `drain()` with it; nothing can cancel an in-flight write.
41
+ *
42
+ * Role: leaf helper for `adapters/observability/*`. Composed as a field,
43
+ * never inherited.
44
+ */
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.createOutbox = void 0;
47
+ const deliveryErrors_js_1 = require("./deliveryErrors.js");
48
+ /** Build the outbox one sink owns. A per-delivery cap that could take
49
+ * nothing is refused: such a delivery could never finish a drain. */
50
+ function createOutbox(opts) {
51
+ if (opts.maxItemsPerDelivery !== undefined) {
52
+ requireDeliveryCap(opts.name, opts.maxItemsPerDelivery);
53
+ }
54
+ const waiting = [];
55
+ let waitingBytes = 0;
56
+ // Running counts. Deliveries take the oldest items, one delivery at a time,
57
+ // so once `settled` reaches n the first n accepted items are done.
58
+ let accepted = 0; // handed to `add`
59
+ let taken = 0; // taken by a delivery (in flight or settled)
60
+ let settled = 0; // delivered, or dropped and reported
61
+ // The ONE queue. Every delivery is chained here; `deliverNext` never
62
+ // rejects, so the chain never does either.
63
+ let queue = Promise.resolve();
64
+ // A delivery is queued and has not started yet. It will take everything
65
+ // waiting when it starts, so another trigger meanwhile has nothing to add —
66
+ // and the chain cannot grow while a delivery hangs.
67
+ let deliveryQueued = false;
68
+ let timer;
69
+ let stopped = false;
70
+ const consoleFallback = (0, deliveryErrors_js_1.rateLimitedConsoleSink)(opts.name);
71
+ function add(item, bytes = 0) {
72
+ waiting.push({ item, bytes });
73
+ waitingBytes += bytes;
74
+ accepted++;
75
+ if (atSizeTrigger())
76
+ queueDelivery();
77
+ else
78
+ armTimer();
79
+ }
80
+ function atSizeTrigger() {
81
+ if (waiting.length >= opts.maxItems)
82
+ return true;
83
+ return opts.maxBytes !== undefined && waitingBytes >= opts.maxBytes;
84
+ }
85
+ function armTimer() {
86
+ if (timer !== undefined || stopped || opts.flushIntervalMs <= 0)
87
+ return;
88
+ timer = setTimeout(onTimer, opts.flushIntervalMs);
89
+ // `unref` exists on Node's Timeout and not on a browser's number, so it
90
+ // is feature-detected.
91
+ if (!opts.timerHoldsProcess)
92
+ timer.unref?.();
93
+ }
94
+ function onTimer() {
95
+ timer = undefined;
96
+ queueDelivery();
97
+ }
98
+ function queueDelivery() {
99
+ if (deliveryQueued)
100
+ return;
101
+ deliveryQueued = true;
102
+ queue = queue.then(deliverNext);
103
+ }
104
+ async function deliverNext() {
105
+ deliveryQueued = false;
106
+ const { batch, leftBehind } = takeOldest();
107
+ if (batch.length === 0)
108
+ return;
109
+ try {
110
+ await opts.deliver(batch);
111
+ }
112
+ catch (cause) {
113
+ reportDropped(batch, cause);
114
+ }
115
+ // Settled exactly once, whatever happened to the deliveries around it.
116
+ settled += batch.length;
117
+ // Items a per-delivery limit left behind were already due when this
118
+ // delivery started — deliver them now rather than on the next timer.
119
+ if (leftBehind)
120
+ queueDelivery();
121
+ }
122
+ /** Take the oldest waiting items one delivery may carry. `leftBehind` says
123
+ * a per-delivery limit stopped the take with items still waiting. */
124
+ function takeOldest() {
125
+ const entries = waiting.splice(0, countForOneDelivery());
126
+ for (const entry of entries)
127
+ waitingBytes -= entry.bytes;
128
+ if (waiting.length === 0)
129
+ waitingBytes = 0;
130
+ taken += entries.length;
131
+ return { batch: entries.map((entry) => entry.item), leftBehind: waiting.length > 0 };
132
+ }
133
+ /** How many of the oldest waiting items fit one delivery: at least one,
134
+ * then as many as the item and byte limits allow, in order. */
135
+ function countForOneDelivery() {
136
+ const most = Math.min(waiting.length, opts.maxItemsPerDelivery ?? waiting.length);
137
+ const byteLimit = opts.maxBytesPerDelivery;
138
+ if (byteLimit === undefined)
139
+ return most;
140
+ const overhead = opts.overheadBytesPerItem ?? 0;
141
+ let count = 0;
142
+ let bytes = 0;
143
+ while (count < most) {
144
+ const entry = waiting[count];
145
+ if (entry === undefined)
146
+ break;
147
+ const cost = entry.bytes + overhead;
148
+ if (count > 0 && bytes + cost > byteLimit)
149
+ break;
150
+ bytes += cost;
151
+ count++;
152
+ }
153
+ return count;
154
+ }
155
+ function reportDropped(batch, cause) {
156
+ let error;
157
+ try {
158
+ error = opts.dropped(batch, cause);
159
+ }
160
+ catch {
161
+ error = new Error(`${batch.length} item(s) dropped: ${messageOf(cause)}`);
162
+ }
163
+ try {
164
+ opts.report(error);
165
+ }
166
+ catch (hookError) {
167
+ // The consumer's own `onError` threw. Say both things on the console
168
+ // rather than letting the queue reject (an unhandled rejection, which
169
+ // ends a Node process by default).
170
+ consoleFallback(new Error(`${error.message} — and the onError hook threw: ${messageOf(hookError)}`));
171
+ }
172
+ }
173
+ async function drain() {
174
+ // Everything accepted before this call, in flight or waiting…
175
+ await settleThrough(accepted);
176
+ // …then ONE sweep of what arrived while it waited, so a `stop()` right
177
+ // after `flush()` strands nothing that was already here. The target is
178
+ // fixed when the sweep starts, so steady traffic cannot keep it going.
179
+ await settleThrough(accepted);
180
+ }
181
+ /** Wait until the first `target` accepted items have settled. */
182
+ async function settleThrough(target) {
183
+ while (settled < target) {
184
+ const before = settled;
185
+ // Some of them still wait: make sure a delivery will take them.
186
+ if (taken < target)
187
+ queueDelivery();
188
+ await queue;
189
+ // A pass that settled nothing would repeat forever. With the cap
190
+ // refused above it cannot happen; if it ever does, end — never spin.
191
+ if (settled === before)
192
+ return;
193
+ }
194
+ }
195
+ function stop() {
196
+ stopped = true;
197
+ if (timer !== undefined) {
198
+ clearTimeout(timer);
199
+ timer = undefined;
200
+ }
201
+ }
202
+ return { add, drain, stop };
203
+ }
204
+ exports.createOutbox = createOutbox;
205
+ /** The sink-to-outbox contract: a cap is a whole number above zero. Sinks
206
+ * map and refuse their own options first (X-Ray: `segmentsPerPut`), so this
207
+ * guards the contract rather than a caller's input. */
208
+ function requireDeliveryCap(name, cap) {
209
+ if (Number.isInteger(cap) && cap > 0)
210
+ return;
211
+ throw new TypeError(`[${name}Observability] the outbox was given a per-delivery cap of ${String(cap)}; ` +
212
+ `a delivery that may take no items could never finish a drain.`);
213
+ }
214
+ function messageOf(err) {
215
+ return err instanceof Error ? err.message : String(err);
216
+ }
217
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../../src/adapters/observability/outbox.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ exports.xrayObservability = void 0;
73
73
  const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
74
74
  const wireJson_js_1 = require("../../lib/wireJson.js");
75
75
  const deliveryErrors_js_1 = require("./deliveryErrors.js");
76
+ const outbox_js_1 = require("./outbox.js");
76
77
  // ─── Strategy factory ────────────────────────────────────────────────
77
78
  function xrayObservability(opts) {
78
79
  if (!opts.serviceName) {
@@ -86,11 +87,8 @@ function xrayObservability(opts) {
86
87
  // multiple in-flight turns; we key the active stack by the run
87
88
  // anchor (`meta.runId` — see anchorRunId).
88
89
  const activeTurns = new Map();
89
- // Outbound segment buffer (flat list of closed segments ready for
90
- // PutTraceSegments). Drained by flush() / size-trigger / time-trigger.
91
- const outbox = [];
92
- let lastFlushPromise = Promise.resolve();
93
- let timer;
90
+ // Set by `stop()`: no more events accepted. NOT a guard on delivery (8.11.1):
91
+ // segments already closed and queued are still owed to X-Ray.
94
92
  let stopped = false;
95
93
  // The fallback when the consumer wires nothing. Rate-limited; a
96
94
  // consumer-supplied sink is not.
@@ -103,44 +101,32 @@ function xrayObservability(opts) {
103
101
  client = createXRayClient(opts.region, opts._sdk);
104
102
  return client;
105
103
  }
106
- function scheduleTimedFlush() {
107
- if (timer || flushIntervalMs <= 0 || stopped)
108
- return;
109
- timer = setTimeout(() => {
110
- timer = undefined;
111
- void doFlush();
112
- }, flushIntervalMs);
113
- }
114
- async function doFlush() {
115
- // `stopped` is deliberately NOT a guard here (8.11.1). `stop()` stops this
116
- // strategy ACCEPTING events and cancels its timer; segments already closed
117
- // and queued are still owed to X-Ray. Guarding here made `flush()` after
118
- // `stop()` loop forever waiting for a drain that could no longer happen —
119
- // an infinite microtask spin that starved the event loop of the process
120
- // trying to shut down.
121
- if (outbox.length === 0)
122
- return;
123
- const batch = outbox.splice(0, maxBatchSegments);
124
- try {
125
- await ensureClient().putTraceSegments({
126
- TraceSegmentDocuments: batch.map((s) => (0, wireJson_js_1.toWireJson)(s)),
127
- });
128
- }
129
- catch (err) {
130
- // Routed through the strategy's CURRENT `_onError` (not a hook captured
131
- // at construction), so a consumer who assigns it — or passes `onError`
132
- // — actually receives delivery failures. Before 8.11.0 the hook was
133
- // installed lazily inside `_onError` itself and was `undefined` here,
134
- // so every failed put was silent.
135
- strategy._onError?.(new Error(`${batch.length} segment(s) dropped shipping to X-Ray: ` +
136
- (err instanceof Error ? err.message : String(err))));
137
- }
138
- // If outbox grew during the put (size > maxBatchSegments emits
139
- // arrived), chain another flush.
140
- if (outbox.length > 0 && !stopped) {
141
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
142
- }
104
+ /** Ship one batch of closed segments. Throws when it could not — the
105
+ * outbox drops the batch and reports it once. */
106
+ async function shipSegments(batch) {
107
+ await ensureClient().putTraceSegments({
108
+ TraceSegmentDocuments: batch.map((s) => (0, wireJson_js_1.toWireJson)(s)),
109
+ });
143
110
  }
111
+ // Closed segments ready for PutTraceSegments, and the one queue every put
112
+ // goes through — size trigger, timer, `flush()`, shutdown (outbox.ts;
113
+ // #223). A put takes at most `maxBatchSegments` (its whole part); what the
114
+ // cap leaves behind ships right after it.
115
+ const outbox = (0, outbox_js_1.createOutbox)({
116
+ name: 'xray',
117
+ // The trigger compares the value as given, as before the outbox.
118
+ maxItems: maxBatchSegments,
119
+ maxItemsPerDelivery: segmentsPerPut(maxBatchSegments),
120
+ flushIntervalMs,
121
+ timerHoldsProcess: true,
122
+ deliver: shipSegments,
123
+ dropped: (batch, cause) => new Error(`${batch.length} segment(s) dropped shipping to X-Ray: ` +
124
+ (cause instanceof Error ? cause.message : String(cause))),
125
+ // Routed through the strategy's CURRENT `_onError` (not a hook captured
126
+ // at construction), so a consumer who assigns it — or passes `onError`
127
+ // — actually receives delivery failures (8.11.0).
128
+ report: (err) => strategy._onError?.(err),
129
+ });
144
130
  function pushSegment(turnState, name) {
145
131
  const parent = turnState.stack[turnState.stack.length - 1];
146
132
  const seg = {
@@ -199,15 +185,10 @@ function xrayObservability(opts) {
199
185
  seg.metadata = { default: { ...(seg.metadata?.default ?? {}), ...extra.metadata } };
200
186
  if (turnState.sampled) {
201
187
  turnState.closed.push(seg);
202
- // Once the root closes, the whole turn graduates to outbox.
188
+ // Once the root closes, the whole turn graduates to the outbox.
203
189
  if (turnState.stack.length === 0) {
204
- outbox.push(...turnState.closed);
205
- if (outbox.length >= maxBatchSegments) {
206
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
207
- }
208
- else {
209
- scheduleTimedFlush();
210
- }
190
+ for (const closed of turnState.closed)
191
+ outbox.add(closed);
211
192
  }
212
193
  }
213
194
  }
@@ -415,22 +396,11 @@ function xrayObservability(opts) {
415
396
  while (t.stack.length > 0)
416
397
  closeSegment(t, undefined);
417
398
  }
418
- // BOUNDED BY CONSTRUCTION — every pass must shrink the outbox (a put
419
- // takes up to `maxBatchSegments` at a time, so several passes are
420
- // normal); a pass that shrinks nothing ends the drain instead of trying
421
- // again. The previous `while (outbox.length > 0)` trusted `doFlush()` to
422
- // make progress, which it stopped doing after `stop()` — an infinite
423
- // microtask spin that starved the event loop during shutdown.
424
- for (;;) {
425
- const pending = outbox.length;
426
- // Chain, never replace: segments ship in the order they closed.
427
- lastFlushPromise = lastFlushPromise.then(doFlush, doFlush);
428
- await lastFlushPromise;
429
- if (outbox.length === 0)
430
- return;
431
- if (outbox.length >= pending)
432
- return;
433
- }
399
+ // Segments ship in the order they closed, one put at a time, behind the
400
+ // put in flight — one the timer started included. Resolves once every
401
+ // segment closed before this call is shipped (or dropped and reported),
402
+ // after one more sweep; a put that never settles holds it.
403
+ await outbox.drain();
434
404
  },
435
405
  /** Stop the flush timer and stop accepting events. **The framework does
436
406
  * not call this for you** — an un-stopped strategy keeps a `setTimeout`
@@ -441,10 +411,7 @@ function xrayObservability(opts) {
441
411
  * (8.11.1). */
442
412
  stop() {
443
413
  stopped = true;
444
- if (timer) {
445
- clearTimeout(timer);
446
- timer = undefined;
447
- }
414
+ outbox.stop();
448
415
  },
449
416
  /**
450
417
  * Where errors go. Two callers: the dispatch layer (when `exportEvent`
@@ -460,6 +427,25 @@ function xrayObservability(opts) {
460
427
  return strategy;
461
428
  }
462
429
  exports.xrayObservability = xrayObservability;
430
+ // ─── Batch size ──────────────────────────────────────────────────────
431
+ /**
432
+ * How many segments one put takes — exactly what `outbox.splice(0,
433
+ * maxBatchSegments)` took before the shared queue: the whole part of the
434
+ * value, and every segment for `Infinity` (returned as no cap).
435
+ *
436
+ * A value whose whole part is below 1 — `0`, a fraction under 1, a negative
437
+ * number, `NaN` — took NO segments, so every put was empty and the queue
438
+ * never emptied: puts in a loop, forever. That never worked, so it is refused
439
+ * here, by the option's name; every value that did work keeps its meaning.
440
+ */
441
+ function segmentsPerPut(maxBatchSegments) {
442
+ const whole = Math.trunc(maxBatchSegments);
443
+ if (whole === Infinity)
444
+ return undefined;
445
+ if (whole >= 1)
446
+ return whole;
447
+ 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.`);
448
+ }
463
449
  // ─── ID + time helpers ───────────────────────────────────────────────
464
450
  /**
465
451
  * 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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"}
package/dist/debug.js CHANGED
@@ -23,9 +23,9 @@
23
23
  * symbols, one door. Import from the door.
24
24
  */
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.assignCostVerdicts = exports.assembleTrajectory = exports.applyAblations = exports.ablationForSuspect = exports.traceDebugAgent = exports.SelfExplainBinding = exports.SELF_EXPLAIN_MAX_EVENTS = exports.buildSelfExplainToolProvider = exports.buildSelfExplainSkill = exports.mergeInnerRuns = exports.innerRunsOf = exports.innerRunStore = exports.INNER_RUN_RECORDS = exports.DEFAULT_INNER_RUN_LIMIT = exports.openRecording = exports.traceToolpack = exports.TRACE_TOOL_NAMES = exports.TOOLPACK_HARD_CAPS = exports.NO_COMPLETED_RUN_MESSAGE = exports.lazyTraceToolpack = exports.callTraceTool = exports.structuralProximity = exports.snippetUnits = exports.semanticAlignmentStrategy = exports.scoreMargin = exports.scoreLexicalInfluence = exports.scoreInfluence = exports.scoreContrastiveInfluence = exports.ratioStrategy = exports.rankingConfidence = exports.persistence = exports.pairwiseSimilarity = exports.marginStrategy = exports.listInfluenceStrategies = exports.lexicalOverlapStrategy = exports.explainChoice = exports.attributeChoice = exports.finalAnswerSimilarity = exports.embeddingCache = exports.EmbeddingCache = exports.DEFAULT_SHORTLIST_BAND = exports.DEFAULT_PERSISTENCE_THRESHOLD = exports.DEFAULT_MARGIN_THRESHOLD = exports.DEFAULT_INFLUENCE_WEIGHTS = exports.DEFAULT_CLEAR_WINNER_RATIO = exports.DEFAULT_CLEAR_WINNER_MARGIN = exports.contentHash = exports.compositeScore = exports.averageRelevancy = exports.adaptWeights = void 0;
27
- exports.confusabilityText = exports.coerceCatalog = exports.catalogFromTools = exports.analyzeToolCatalog = exports.variableToBacktrackTrace = exports.toBacktrackTrace = exports.sliceToBacktrackTrace = exports.verdictForArm = exports.validateStrategyArms = exports.scoreArmRuns = exports.RUN_CONFIGURED_EVENT = exports.nullBandFrom = exports.matchArm = exports.manifestFromEvents = exports.declaredFacetCount = exports.compareStrategyArms = exports.collectArmRuns = exports.checkArmApplied = exports.checkArmApplication = exports.armLabel = exports.armFacetsFromManifest = exports.armConfigKey = exports.applyArm = exports.verdictFor = exports.suspectLabel = exports.stepOutputText = exports.runRestorationProbe = exports.runAblationProbe = exports.rerunWithoutSources = exports.removableSources = exports.probeFlipped = exports.localizeContextBug = exports.llmEdgeWeigher = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.findDroppedContext = exports.defaultSuspectClassifier = exports.defaultOutcomeComparator = exports.CONTEXT_BISECT_DEFAULTS = exports.findLoopHeads = exports.classifySuspect = exports.DEFAULT_RECENCY_DECAY = exports.traceVariable = exports.joinVariableSlice = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.shortlistEarlyCulprits = exports.bucketByAnchors = exports.bisectCulprits = void 0;
28
- exports.recordedChat = exports.runCheckSemanticsCli = exports.formatSemanticsReport = exports.coerceSemanticsCatalog = exports.checkSemantics = exports.saysWhatNotWhenRule = exports.runToolLintCli = exports.optionalParamRule = exports.MOCK_EMBEDDER_CALIBRATION = exports.formatToolCatalogReport = exports.enumInProseRule = exports.differentiationHint = exports.descriptionRule = exports.defaultStructuralRules = exports.DEFAULT_WHEN_CUES = exports.DEFAULT_WATCH_BAND = exports.DEFAULT_OMISSION_CUES = exports.DEFAULT_CONFUSABILITY_THRESHOLD = void 0;
26
+ exports.applyAblations = exports.ablationForSuspect = exports.traceDebugAgent = exports.SelfExplainBinding = exports.SELF_EXPLAIN_MAX_EVENTS = exports.buildSelfExplainToolProvider = exports.buildSelfExplainSkill = exports.mergeInnerRuns = exports.innerRunsOf = exports.innerRunStore = exports.INNER_RUN_RECORDS = exports.DEFAULT_INNER_RUN_LIMIT = exports.openRecording = exports.readStoredCauseArtifacts = exports.traceCauseTools = exports.traceToolpack = exports.TRACE_TOOL_NAMES = exports.TOOLPACK_HARD_CAPS = exports.NO_COMPLETED_RUN_MESSAGE = exports.lazyTraceToolpack = exports.callTraceTool = exports.structuralProximity = exports.snippetUnits = exports.semanticAlignmentStrategy = exports.scoreMargin = exports.scoreLexicalInfluence = exports.scoreInfluence = exports.scoreContrastiveInfluence = exports.ratioStrategy = exports.rankingConfidence = exports.persistence = exports.pairwiseSimilarity = exports.marginStrategy = exports.listInfluenceStrategies = exports.lexicalOverlapStrategy = exports.explainChoice = exports.attributeChoice = exports.finalAnswerSimilarity = exports.embeddingCache = exports.EmbeddingCache = exports.DEFAULT_SHORTLIST_BAND = exports.DEFAULT_PERSISTENCE_THRESHOLD = exports.DEFAULT_MARGIN_THRESHOLD = exports.DEFAULT_INFLUENCE_WEIGHTS = exports.DEFAULT_CLEAR_WINNER_RATIO = exports.DEFAULT_CLEAR_WINNER_MARGIN = exports.contentHash = exports.compositeScore = exports.averageRelevancy = exports.adaptWeights = void 0;
27
+ exports.catalogFromTools = exports.analyzeToolCatalog = exports.variableToBacktrackTrace = exports.toBacktrackTrace = exports.sliceToBacktrackTrace = exports.verdictForArm = exports.validateStrategyArms = exports.scoreArmRuns = exports.RUN_CONFIGURED_EVENT = exports.nullBandFrom = exports.matchArm = exports.manifestFromEvents = exports.declaredFacetCount = exports.compareStrategyArms = exports.collectArmRuns = exports.checkArmApplied = exports.checkArmApplication = exports.armLabel = exports.armFacetsFromManifest = exports.armConfigKey = exports.applyArm = exports.verdictFor = exports.suspectLabel = exports.stepOutputText = exports.runRestorationProbe = exports.runAblationProbe = exports.rerunWithoutSources = exports.removableSources = exports.probeFlipped = exports.localizeContextBug = exports.llmEdgeWeigher = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.findDroppedContext = exports.defaultSuspectClassifier = exports.defaultOutcomeComparator = exports.CONTEXT_BISECT_DEFAULTS = exports.findLoopHeads = exports.classifySuspect = exports.DEFAULT_RECENCY_DECAY = exports.traceVariable = exports.joinVariableSlice = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.shortlistEarlyCulprits = exports.bucketByAnchors = exports.bisectCulprits = exports.assignCostVerdicts = exports.assembleTrajectory = void 0;
28
+ exports.recordedChat = exports.runCheckSemanticsCli = exports.formatSemanticsReport = exports.coerceSemanticsCatalog = exports.checkSemantics = exports.saysWhatNotWhenRule = exports.runToolLintCli = exports.optionalParamRule = exports.MOCK_EMBEDDER_CALIBRATION = exports.formatToolCatalogReport = exports.enumInProseRule = exports.differentiationHint = exports.descriptionRule = exports.defaultStructuralRules = exports.DEFAULT_WHEN_CUES = exports.DEFAULT_WATCH_BAND = exports.DEFAULT_OMISSION_CUES = exports.DEFAULT_CONFUSABILITY_THRESHOLD = exports.confusabilityText = exports.coerceCatalog = void 0;
29
29
  // influence-core — the ONE embedding-based scoring engine (RFC-002/003
30
30
  // block D6). Not a recorder: pure, embedder-injected scoring functions
31
31
  // + the shared bounded embedding cache. Honest claim: every score is an
@@ -71,6 +71,8 @@ Object.defineProperty(exports, "NO_COMPLETED_RUN_MESSAGE", { enumerable: true, g
71
71
  Object.defineProperty(exports, "TOOLPACK_HARD_CAPS", { enumerable: true, get: function () { return index_js_2.TOOLPACK_HARD_CAPS; } });
72
72
  Object.defineProperty(exports, "TRACE_TOOL_NAMES", { enumerable: true, get: function () { return index_js_2.TRACE_TOOL_NAMES; } });
73
73
  Object.defineProperty(exports, "traceToolpack", { enumerable: true, get: function () { return index_js_2.traceToolpack; } });
74
+ Object.defineProperty(exports, "traceCauseTools", { enumerable: true, get: function () { return index_js_2.traceCauseTools; } });
75
+ Object.defineProperty(exports, "readStoredCauseArtifacts", { enumerable: true, get: function () { return index_js_2.readStoredCauseArtifacts; } });
74
76
  // `openRecording` — a saved run (`recordRun(...).toRecording()`, live or
75
77
  // parsed back from JSON) reopened as toolpack artifacts. The one adapter
76
78
  // between the recording shape the viewers read and the artifact bag the
package/dist/debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;;AAEH,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,4BAA4B;AAC5B,sDA8DmC;AA7DjC,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,uHAAA,2BAA2B,OAAA;AAC3B,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,yHAAA,6BAA6B,OAAA;AAC7B,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA;AACvB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,qHAAA,yBAAyB,OAAA;AACzB,wGAAA,YAAY,OAAA;AACZ,+GAAA,mBAAmB,OAAA;AAkCrB,uEAAuE;AACvE,2EAA2E;AAC3E,mEAAmE;AACnE,sDAmBmC;AAlBjC,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,oHAAA,wBAAwB,OAAA;AAY1B,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,0EAA0E;AAC1E,sDAAkF;AAAzE,yGAAA,aAAa,OAAA;AACtB,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,uEAAuE;AACvE,sDAYmC;AAXjC,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AAQhB,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,kEAAkE;AAClE,sDAWmC;AAVjC,iHAAA,qBAAqB,OAAA;AACrB,wHAAA,4BAA4B,OAAA;AAC5B,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AAOjB,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,+DAA+D;AAC/D,oEAAoE;AACpE,mEAAmE;AACnE,sDAmGmC;AAlGjC,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,mHAAA,uBAAuB,OAAA;AACvB,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AAqEZ,qEAAqE;AACrE,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,sDAgCmC;AA/BjC,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AACZ,iHAAA,qBAAqB,OAAA;AACrB,oGAAA,QAAQ,OAAA;AACR,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AACZ,gHAAA,oBAAoB,OAAA;AACpB,wGAAA,YAAY,OAAA;AACZ,gHAAA,oBAAoB,OAAA;AACpB,yGAAA,aAAa,OAAA;AAiBf,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,sDAYmC;AAXjC,iHAAA,qBAAqB,OAAA;AACrB,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AAU1B,wEAAwE;AACxE,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,gEAAgE;AAChE,uEAAuE;AACvE,iDAgC8B;AA/B5B,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,2HAAA,+BAA+B,OAAA;AAC/B,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,kHAAA,sBAAsB,OAAA;AACtB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AAgBrB,6EAA6E;AAC7E,0EAA0E;AAC1E,uEAAuE;AACvE,sEAAsE;AACtE,wEAAwE;AACxE,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,kDAa8B;AAZ5B,2GAAA,cAAc,OAAA;AACd,mHAAA,sBAAsB,OAAA;AACtB,kHAAA,qBAAqB,OAAA;AACrB,iHAAA,oBAAoB,OAAA;AAUtB,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,yCAAyC;AACzC,sDAakC;AAZhC,yGAAA,YAAY,OAAA"}
@@ -59,11 +59,15 @@ export interface CloudwatchObservabilityOptions {
59
59
  * {@link CloudwatchObservabilityOptions.logGroupName}). Defaults to
60
60
  * `agentfootprint`. */
61
61
  readonly logStreamName?: string;
62
- /** Max events buffered before forced flush. Default 100. */
62
+ /** Max events buffered before forced flush. Default 100. A trigger, not a
63
+ * request size: however many events are waiting when a put starts, one
64
+ * put never carries more than CloudWatch accepts (10,000 events,
65
+ * 1,048,576 bytes) — the rest go in the next put, right after. */
63
66
  readonly maxBatchEvents?: number;
64
67
  /** Max payload bytes (UTF-8) buffered before forced flush. Default
65
68
  * 10240 (10 KB). CloudWatch hard caps at 1 MB / batch but we keep
66
- * the default low so latency stays bounded. */
69
+ * the default low so latency stays bounded. A trigger too: a backlog
70
+ * larger than one request is split into requests CloudWatch accepts. */
67
71
  readonly maxBatchBytes?: number;
68
72
  /** Forced-flush interval when traffic is sparse. Default 1000ms.
69
73
  * `0` disables time-based flush — only size triggers fire. */