agentfootprint 7.6.1 → 7.8.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.
- package/CLAUDE.md +2 -1
- package/dist/adapters/llm/AnthropicProvider.js +15 -7
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +5 -4
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +14 -7
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +13 -10
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +8 -6
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/core/Agent.js +10 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/LLMCall.js +10 -1
- package/dist/core/LLMCall.js.map +1 -1
- package/dist/core/RunnerBase.js +42 -12
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +7 -3
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildAgentMessageApiChart.js +18 -1
- package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/core/agent/buildMessageApiChart.js +4 -1
- package/dist/core/agent/buildMessageApiChart.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +18 -2
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core-flow/Parallel.js +9 -1
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +36 -3
- package/dist/esm/adapters/llm/AnthropicProvider.js +15 -7
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/BedrockProvider.js +5 -4
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +16 -3
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +14 -7
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +13 -10
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/OpenAIProvider.js +8 -6
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +95 -2
- package/dist/esm/core/Agent.js +10 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/LLMCall.js +10 -1
- package/dist/esm/core/LLMCall.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +22 -1
- package/dist/esm/core/RunnerBase.js +42 -12
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +7 -3
- package/dist/esm/core/agent/buildAgentChart.js +7 -3
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.js +18 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/buildMessageApiChart.js +4 -1
- package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.js +18 -2
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/runner.d.ts +40 -5
- package/dist/esm/core-flow/Parallel.js +9 -1
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/types.d.ts +9 -0
- package/dist/esm/lib/context-bisect/types.js.map +1 -1
- package/dist/esm/lib/recorded-chat/recordedChat.js +10 -1
- package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -1
- package/dist/esm/lib/recorded-chat/types.d.ts +10 -0
- package/dist/esm/observe.d.ts +3 -1
- package/dist/esm/observe.js +13 -1
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/providers.d.ts +1 -1
- package/dist/esm/recorders/core/EmitBridge.d.ts +9 -3
- package/dist/esm/recorders/core/EmitBridge.js +4 -3
- package/dist/esm/recorders/core/EmitBridge.js.map +1 -1
- package/dist/esm/recorders/core/ResilienceRecorder.d.ts +32 -0
- package/dist/esm/recorders/core/ResilienceRecorder.js +41 -0
- package/dist/esm/recorders/core/ResilienceRecorder.js.map +1 -0
- package/dist/esm/recorders/core/resilienceHooks.d.ts +34 -0
- package/dist/esm/recorders/core/resilienceHooks.js +74 -0
- package/dist/esm/recorders/core/resilienceHooks.js.map +1 -0
- package/dist/esm/recorders/core/typedEmit.d.ts +1 -2
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +176 -12
- package/dist/esm/recorders/observability/BoundaryRecorder.js +119 -8
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +13 -2
- package/dist/esm/recorders/observability/FlowchartRecorder.js +14 -3
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/localObservability.d.ts +66 -6
- package/dist/esm/recorders/observability/localObservability.js +27 -7
- package/dist/esm/recorders/observability/localObservability.js.map +1 -1
- package/dist/esm/recorders/observability/recordRun.d.ts +143 -0
- package/dist/esm/recorders/observability/recordRun.js +133 -0
- package/dist/esm/recorders/observability/recordRun.js.map +1 -0
- package/dist/esm/recorders/observability/trace.d.ts +65 -13
- package/dist/esm/recorders/observability/trace.js +36 -9
- package/dist/esm/recorders/observability/trace.js.map +1 -1
- package/dist/esm/reliability/buildReliabilityGateChart.d.ts +23 -9
- package/dist/esm/reliability/buildReliabilityGateChart.js +37 -10
- package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/esm/resilience/withCircuitBreaker.d.ts +15 -5
- package/dist/esm/resilience/withCircuitBreaker.js +14 -7
- package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/esm/resilience/withFallback.d.ts +7 -1
- package/dist/esm/resilience/withFallback.js +30 -11
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/resilience/withRetry.d.ts +10 -5
- package/dist/esm/resilience/withRetry.js +53 -3
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/esm/tool-providers/index.js +2 -2
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/types.js.map +1 -1
- package/dist/lib/recorded-chat/recordedChat.js +10 -1
- package/dist/lib/recorded-chat/recordedChat.js.map +1 -1
- package/dist/observe.js +16 -2
- package/dist/observe.js.map +1 -1
- package/dist/recorders/core/EmitBridge.js +4 -3
- package/dist/recorders/core/EmitBridge.js.map +1 -1
- package/dist/recorders/core/ResilienceRecorder.js +45 -0
- package/dist/recorders/core/ResilienceRecorder.js.map +1 -0
- package/dist/recorders/core/resilienceHooks.js +78 -0
- package/dist/recorders/core/resilienceHooks.js.map +1 -0
- package/dist/recorders/observability/BoundaryRecorder.js +119 -8
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/recorders/observability/FlowchartRecorder.js +14 -3
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/recorders/observability/localObservability.js +27 -7
- package/dist/recorders/observability/localObservability.js.map +1 -1
- package/dist/recorders/observability/recordRun.js +137 -0
- package/dist/recorders/observability/recordRun.js.map +1 -0
- package/dist/recorders/observability/trace.js +36 -9
- package/dist/recorders/observability/trace.js.map +1 -1
- package/dist/reliability/buildReliabilityGateChart.js +37 -10
- package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/resilience/withCircuitBreaker.js +14 -7
- package/dist/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/resilience/withFallback.js +30 -11
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/resilience/withRetry.js +53 -3
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/tool-providers/index.js +2 -2
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +36 -3
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +3 -3
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +16 -3
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -3
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +95 -2
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/LLMCall.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +22 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +7 -3
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/runner.d.ts +40 -5
- package/dist/types/core/runner.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/types.d.ts +9 -0
- package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/types.d.ts +10 -0
- package/dist/types/lib/recorded-chat/types.d.ts.map +1 -1
- package/dist/types/observe.d.ts +3 -1
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/providers.d.ts +1 -1
- package/dist/types/providers.d.ts.map +1 -1
- package/dist/types/recorders/core/EmitBridge.d.ts +9 -3
- package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -1
- package/dist/types/recorders/core/ResilienceRecorder.d.ts +33 -0
- package/dist/types/recorders/core/ResilienceRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/resilienceHooks.d.ts +35 -0
- package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -0
- package/dist/types/recorders/core/typedEmit.d.ts +1 -2
- package/dist/types/recorders/core/typedEmit.d.ts.map +1 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +176 -12
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +13 -2
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/localObservability.d.ts +66 -6
- package/dist/types/recorders/observability/localObservability.d.ts.map +1 -1
- package/dist/types/recorders/observability/recordRun.d.ts +144 -0
- package/dist/types/recorders/observability/recordRun.d.ts.map +1 -0
- package/dist/types/recorders/observability/trace.d.ts +65 -13
- package/dist/types/recorders/observability/trace.d.ts.map +1 -1
- package/dist/types/reliability/buildReliabilityGateChart.d.ts +23 -9
- package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
- package/dist/types/resilience/withCircuitBreaker.d.ts +15 -5
- package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
- package/dist/types/resilience/withFallback.d.ts +7 -1
- package/dist/types/resilience/withFallback.d.ts.map +1 -1
- package/dist/types/resilience/withRetry.d.ts +10 -5
- package/dist/types/resilience/withRetry.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -53,11 +53,35 @@
|
|
|
53
53
|
* design follows the React Fiber + OpenTelemetry pattern:
|
|
54
54
|
* **producers self-describe; consumers dispatch on type**.
|
|
55
55
|
*
|
|
56
|
+
* WIRING — THREE PARTS, ALL AT RECORD TIME
|
|
57
|
+
* ────────────────────────────────────────
|
|
58
|
+
* This recorder hears half a run per connection, and the half it misses
|
|
59
|
+
* cannot be reconstructed afterwards. All three go on BEFORE `run()`:
|
|
60
|
+
*
|
|
61
|
+
* 1. `runner.attach(boundary)` — the footprintjs control-flow channel:
|
|
62
|
+
* run / subflow entry and exit, forks, decisions, loops. Without it
|
|
63
|
+
* there are no boundaries at all.
|
|
64
|
+
* 2. `boundary.subscribe(runner)` — the agentfootprint typed stream:
|
|
65
|
+
* `llm.*`, `tool.*`, `context.injected`. Without it the boundaries
|
|
66
|
+
* have no content: no model calls, no tool calls, no injections.
|
|
67
|
+
* 3. `{ getCommitCount }` — where each boundary sits on the commit
|
|
68
|
+
* axis. Without it every event is stamped `commitIdxBefore: 0` and
|
|
69
|
+
* the step strip cannot be rebuilt from the recording later. This
|
|
70
|
+
* one fails SILENTLY — the events all look fine.
|
|
71
|
+
*
|
|
72
|
+
* There is no after-the-fact fix for any of the three: a completed run
|
|
73
|
+
* leaves a snapshot and a commit log, and neither says where a boundary
|
|
74
|
+
* opened relative to the commits. `recordRun(runner)` does all three and
|
|
75
|
+
* hands back `{ snapshot, events, structure }` — reach for it first, and
|
|
76
|
+
* wire by hand only when you need a shape it doesn't produce.
|
|
77
|
+
*
|
|
56
78
|
* @example
|
|
57
79
|
* ```typescript
|
|
58
80
|
* import { boundaryRecorder, EventDispatcher } from 'agentfootprint';
|
|
59
81
|
*
|
|
60
|
-
* const boundary = boundaryRecorder(
|
|
82
|
+
* const boundary = boundaryRecorder({
|
|
83
|
+
* getCommitCount: () => executor.getCommitCount(), // the commit axis
|
|
84
|
+
* });
|
|
61
85
|
* const dispatcher = new EventDispatcher();
|
|
62
86
|
* executor.attachCombinedRecorder(boundary); // wires FlowRecorder side
|
|
63
87
|
* boundary.subscribe(dispatcher); // wires typed-event side
|
|
@@ -88,7 +112,8 @@ interface FlowRunFailedEvent {
|
|
|
88
112
|
};
|
|
89
113
|
readonly traversalContext?: TraversalContext;
|
|
90
114
|
}
|
|
91
|
-
import type {
|
|
115
|
+
import type { AgentfootprintEvent } from '../../events/registry.js';
|
|
116
|
+
import type { Unsubscribe } from '../../events/dispatcher.js';
|
|
92
117
|
import type { ContextSlot } from '../../events/types.js';
|
|
93
118
|
/** Fields every domain event carries. */
|
|
94
119
|
interface DomainEventBase {
|
|
@@ -269,6 +294,45 @@ export interface DomainContextInjectedEvent extends DomainEventBase {
|
|
|
269
294
|
}
|
|
270
295
|
/** Discriminated union covering every observable moment in a run. */
|
|
271
296
|
export type DomainEvent = DomainRunEvent | DomainSubflowEvent | DomainCompositionEvent | DomainForkBranchEvent | DomainDecisionBranchEvent | DomainLoopIterationEvent | DomainLLMStartEvent | DomainLLMEndEvent | DomainToolStartEvent | DomainToolEndEvent | DomainContextInjectedEvent;
|
|
297
|
+
/**
|
|
298
|
+
* The `DomainEvent` fields that carry captured run CONTENT — what the
|
|
299
|
+
* agent read, produced, and handed across a boundary — as opposed to
|
|
300
|
+
* run STRUCTURE (where a boundary was, when, of what kind). These are
|
|
301
|
+
* the fields `snapshot: 'lean'` drops.
|
|
302
|
+
*
|
|
303
|
+
* They are also exactly the fields `buildStepGraphFromEvents` turns
|
|
304
|
+
* into StepNode content (`entryPayload` / `exitPayload` /
|
|
305
|
+
* `contentSummary` / `assistantText` / `toolArgs` / `toolResult`) —
|
|
306
|
+
* which is why dropping them is opt-in rather than the default.
|
|
307
|
+
*
|
|
308
|
+
* When you add a field to a `Domain*Event`, decide:
|
|
309
|
+
* - Does it hold data the agent handled (unbounded, redaction-
|
|
310
|
+
* relevant)? → add it HERE
|
|
311
|
+
* - Does it say where/when/what-kind the boundary was? → leave it out
|
|
312
|
+
*
|
|
313
|
+
* Forgetting to add one means a lean snapshot still ships that content
|
|
314
|
+
* — silently, since nothing else references the field.
|
|
315
|
+
*
|
|
316
|
+
* Two free-text fields deliberately stay OUT of this set: `rationale`
|
|
317
|
+
* on `decision.branch` and `reason` on `context.injected`. They are
|
|
318
|
+
* short capture-time annotations saying WHY a boundary happened, and a
|
|
319
|
+
* lean bundle loses most of its explanatory value without them — but a
|
|
320
|
+
* decider that interpolates run values into its rationale does put that
|
|
321
|
+
* text in a lean artifact. Lean means "no captured payloads", not "no
|
|
322
|
+
* free text at all"; say so wherever lean is offered as a redaction
|
|
323
|
+
* story.
|
|
324
|
+
*/
|
|
325
|
+
declare const CONTENT_FIELDS: readonly ["payload", "args", "result", "content", "contentSummary"];
|
|
326
|
+
type ContentField = (typeof CONTENT_FIELDS)[number];
|
|
327
|
+
/**
|
|
328
|
+
* A `DomainEvent` with its content fields removed — the shape
|
|
329
|
+
* `toSnapshot()` emits under `snapshot: 'lean'`.
|
|
330
|
+
*
|
|
331
|
+
* Distributive by construction (`T extends unknown ? … : never`) so the
|
|
332
|
+
* union survives the `Omit` and `type` still narrows for consumers.
|
|
333
|
+
*/
|
|
334
|
+
type StripContent<T> = T extends unknown ? Omit<T, ContentField> : never;
|
|
335
|
+
export type LeanDomainEvent = StripContent<DomainEvent>;
|
|
272
336
|
/**
|
|
273
337
|
* Per-boundary rollup returned by
|
|
274
338
|
* `BoundaryRecorder.aggregateForBoundary` and
|
|
@@ -314,18 +378,82 @@ export interface BoundaryAggregate {
|
|
|
314
378
|
/** `endedAtMs - startedAtMs`. Undefined while in flight. */
|
|
315
379
|
readonly durationMs?: number;
|
|
316
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* Anything that can hand out every typed event as it fires — the one
|
|
383
|
+
* capability `BoundaryRecorder.subscribe()` needs.
|
|
384
|
+
*
|
|
385
|
+
* A `Runner` satisfies this (`runner.on('*', …)`) and so does the
|
|
386
|
+
* internal `EventDispatcher`, which is the point: wiring the recorder's
|
|
387
|
+
* typed half never requires reaching past the public runner for a
|
|
388
|
+
* dispatcher it doesn't hand out.
|
|
389
|
+
*/
|
|
390
|
+
export interface TypedEventSource {
|
|
391
|
+
on(type: '*', listener: (event: AgentfootprintEvent) => void): Unsubscribe;
|
|
392
|
+
}
|
|
317
393
|
export interface BoundaryRecorderOptions {
|
|
318
394
|
readonly id?: string;
|
|
319
395
|
/**
|
|
320
|
-
* Live commit-count accessor —
|
|
321
|
-
*
|
|
396
|
+
* Live commit-count accessor — `() => runner.getCommitCount()` on an
|
|
397
|
+
* agentfootprint runner, or `() => executor.getCommitCount()` on a raw
|
|
398
|
+
* footprintjs executor (5.1+). When provided:
|
|
322
399
|
* - Every DomainEvent gains `commitIdxBefore` / `commitIdxAfter`.
|
|
323
400
|
* - `recorder.boundaryIndex` is populated with open/close ranges
|
|
324
401
|
* keyed on each subflow's entry event.
|
|
325
|
-
*
|
|
326
|
-
*
|
|
402
|
+
*
|
|
403
|
+
* **Omitting it produces a recording whose step strip cannot be
|
|
404
|
+
* rebuilt.** Every event is stamped `commitIdxBefore: 0`, so every
|
|
405
|
+
* boundary claims to have opened at the same instant; `boundaryIndex`
|
|
406
|
+
* is deliberately left EMPTY rather than filled with zero-width
|
|
407
|
+
* `[0, 0]` ranges that would read as real. Offline, a consumer
|
|
408
|
+
* replaying this bundle sees no positions to place, so the strip stays
|
|
409
|
+
* quiet — the honest outcome, and an unrecoverable one: the commit log
|
|
410
|
+
* records what each stage WROTE, never when a boundary was crossed
|
|
411
|
+
* relative to it, so nothing downstream can derive the axis after the
|
|
412
|
+
* fact. There is no error and the events otherwise look complete,
|
|
413
|
+
* which is exactly why this is called out here.
|
|
414
|
+
*
|
|
415
|
+
* Sample it live — a closure over the runner, not a captured number.
|
|
416
|
+
* The count is meaningless before the run starts and must be read at
|
|
417
|
+
* the moment each boundary fires. Phase 5 Layer 2.
|
|
327
418
|
*/
|
|
328
419
|
readonly getCommitCount?: () => number;
|
|
420
|
+
/**
|
|
421
|
+
* How much of each event `toSnapshot()` carries into
|
|
422
|
+
* `runtimeSnapshot.recorders`.
|
|
423
|
+
*
|
|
424
|
+
* - `'full'` (default) — every field, content included. Required by
|
|
425
|
+
* `buildStepGraphFromEvents()`: an offline `<Replay>` restores its
|
|
426
|
+
* entry/exit payloads, assistant text, tool args and tool results
|
|
427
|
+
* from this bundle and nowhere else.
|
|
428
|
+
* - `'lean'` — boundary STRUCTURE only. Drops the five content
|
|
429
|
+
* fields (`payload`, `args`, `result`, `content`,
|
|
430
|
+
* `contentSummary`); keeps every field that says WHERE, WHEN and
|
|
431
|
+
* OF WHAT KIND each boundary was, so the commit-range index
|
|
432
|
+
* rebuilds range for range offline. Sized on one demo turn (4
|
|
433
|
+
* ReAct iterations, 4 LLM calls, 3 tool calls, run end to end on
|
|
434
|
+
* a mock provider): the bundle this method returned was 69.7 KB
|
|
435
|
+
* raw / 4.6 KB gzipped, its lean projection 21.7 KB / 1.9 KB —
|
|
436
|
+
* content was 69% of the raw bytes, and a consumer rebuilding
|
|
437
|
+
* only the index reads none of it. Same run measured twice; that
|
|
438
|
+
* turn's content was the entry/exit payloads, since only the
|
|
439
|
+
* boundary side of this recorder was attached — a run that also
|
|
440
|
+
* `subscribe()`s the typed-event side carries tool args, tool
|
|
441
|
+
* results and assistant text in there too. (The replay fixture
|
|
442
|
+
* the suite measures reports a much larger full bundle — it
|
|
443
|
+
* stands in for each subflow's missing entry seed with that
|
|
444
|
+
* subflow's final state, so it serializes the state twice per
|
|
445
|
+
* boundary. Don't quote it.)
|
|
446
|
+
*
|
|
447
|
+
* Same reasoning as `BoundaryRangeLabel`: a stored artifact shouldn't
|
|
448
|
+
* become a second, redaction-bypassing copy of everything the agent
|
|
449
|
+
* read and wrote. Consumers that DO want content join back on
|
|
450
|
+
* `runtimeStageId` against the run's own snapshot.
|
|
451
|
+
*
|
|
452
|
+
* `'full'` stays the default because this bundle has carried content
|
|
453
|
+
* since it shipped (v2.x, 2026-04-27) and offline consumers depend on
|
|
454
|
+
* that silently — a lean default would quietly empty their replays.
|
|
455
|
+
*/
|
|
456
|
+
readonly snapshot?: 'full' | 'lean';
|
|
329
457
|
}
|
|
330
458
|
/**
|
|
331
459
|
* Stripped projection used as the LABEL for the commit-range index.
|
|
@@ -390,6 +518,10 @@ export declare class BoundaryRecorder implements CombinedRecorder {
|
|
|
390
518
|
* zero-width [0,0] ranges would mislead consumers querying the
|
|
391
519
|
* index. Multi-panel review flagged this footgun. */
|
|
392
520
|
private readonly hasCommitTracking;
|
|
521
|
+
/** Snapshot verbosity — see `BoundaryRecorderOptions.snapshot`. Only
|
|
522
|
+
* `toSnapshot()` reads it; the live event stream from `getEvents()`
|
|
523
|
+
* is always full, so in-process consumers are never affected. */
|
|
524
|
+
private readonly snapshotMode;
|
|
393
525
|
/**
|
|
394
526
|
* Tracks whether the most recent `llm.end` had toolCalls. Used to
|
|
395
527
|
* classify the NEXT `llm.start` as `'tool→llm'` (vs `'user→llm'` if
|
|
@@ -458,14 +590,21 @@ export declare class BoundaryRecorder implements CombinedRecorder {
|
|
|
458
590
|
onDecision(event: FlowDecisionEvent): void;
|
|
459
591
|
onLoop(event: FlowLoopEvent): void;
|
|
460
592
|
/**
|
|
461
|
-
* Subscribe to the
|
|
462
|
-
*
|
|
593
|
+
* Subscribe to the run's typed events and emit a domain event for each
|
|
594
|
+
* `llm.*` / `tool.*` / `context.injected` one. This is the recorder's
|
|
595
|
+
* SECOND half — `runner.attach(...)` supplies the boundaries, this
|
|
596
|
+
* supplies what happened inside them. Wire both, before the run.
|
|
597
|
+
*
|
|
598
|
+
* Takes anything that offers a wildcard subscription, which a public
|
|
599
|
+
* `Runner` does as readily as the internal `EventDispatcher` — so a
|
|
600
|
+
* consumer never has to reach past `runner.on` for a dispatcher it
|
|
601
|
+
* isn't given.
|
|
463
602
|
*
|
|
464
603
|
* Returns an unsubscribe function; safe to call multiple times (each
|
|
465
604
|
* call adds a new subscription). Most consumers call this once at
|
|
466
605
|
* recorder construction and dispose with the returned function.
|
|
467
606
|
*/
|
|
468
|
-
subscribe(
|
|
607
|
+
subscribe(source: TypedEventSource): Unsubscribe;
|
|
469
608
|
private ingestTypedEvent;
|
|
470
609
|
/** All events in capture order (the canonical projection). */
|
|
471
610
|
getEvents(): DomainEvent[];
|
|
@@ -535,12 +674,37 @@ export declare class BoundaryRecorder implements CombinedRecorder {
|
|
|
535
674
|
*/
|
|
536
675
|
aggregateAllBoundaries(): readonly BoundaryAggregate[];
|
|
537
676
|
/** Snapshot bundle — included in `executor.getSnapshot()` if the
|
|
538
|
-
* executor implements the snapshot extension protocol.
|
|
677
|
+
* executor implements the snapshot extension protocol.
|
|
678
|
+
*
|
|
679
|
+
* Under `snapshot: 'lean'` the bundle carries structure only, and
|
|
680
|
+
* `meta.mode` says so. That field is the whole point: an offline
|
|
681
|
+
* consumer holding a lean bundle can then SAY "this recording carries
|
|
682
|
+
* structure only" instead of drawing empty detail panels, because
|
|
683
|
+
* `buildStepGraphFromEvents()` restores step content from this bundle
|
|
684
|
+
* and nowhere else. `description` still carries the same fact in
|
|
685
|
+
* prose for a human reading the JSON — but prose is not something
|
|
686
|
+
* code branches on, and the readers that had to string-match it
|
|
687
|
+
* didn't.
|
|
688
|
+
*
|
|
689
|
+
* `meta` reaches `getSnapshot().recorders[i].meta` on footprintjs
|
|
690
|
+
* 9.12+, which copies it through; older engines rebuild the row
|
|
691
|
+
* without it and the field is dropped in transit. It is always on the
|
|
692
|
+
* value THIS method returns, so a producer holding the recorder
|
|
693
|
+
* (`recordRun`) can read it either way.
|
|
694
|
+
*
|
|
695
|
+
* `data` is annotated rather than inferred: a lean event is a
|
|
696
|
+
* structural SUPERtype of a full one, so inference collapses the
|
|
697
|
+
* union to `LeanDomainEvent[]` and full-mode callers silently lose
|
|
698
|
+
* `payload` / `content` / … from the type. Narrow on the mode you
|
|
699
|
+
* configured. */
|
|
539
700
|
toSnapshot(): {
|
|
540
701
|
name: string;
|
|
541
702
|
description: string;
|
|
542
|
-
preferredOperation:
|
|
543
|
-
data: DomainEvent[];
|
|
703
|
+
preferredOperation: 'translate';
|
|
704
|
+
data: DomainEvent[] | LeanDomainEvent[];
|
|
705
|
+
meta: {
|
|
706
|
+
readonly mode: 'full' | 'lean';
|
|
707
|
+
};
|
|
544
708
|
};
|
|
545
709
|
}
|
|
546
710
|
export {};
|
|
@@ -53,11 +53,35 @@
|
|
|
53
53
|
* design follows the React Fiber + OpenTelemetry pattern:
|
|
54
54
|
* **producers self-describe; consumers dispatch on type**.
|
|
55
55
|
*
|
|
56
|
+
* WIRING — THREE PARTS, ALL AT RECORD TIME
|
|
57
|
+
* ────────────────────────────────────────
|
|
58
|
+
* This recorder hears half a run per connection, and the half it misses
|
|
59
|
+
* cannot be reconstructed afterwards. All three go on BEFORE `run()`:
|
|
60
|
+
*
|
|
61
|
+
* 1. `runner.attach(boundary)` — the footprintjs control-flow channel:
|
|
62
|
+
* run / subflow entry and exit, forks, decisions, loops. Without it
|
|
63
|
+
* there are no boundaries at all.
|
|
64
|
+
* 2. `boundary.subscribe(runner)` — the agentfootprint typed stream:
|
|
65
|
+
* `llm.*`, `tool.*`, `context.injected`. Without it the boundaries
|
|
66
|
+
* have no content: no model calls, no tool calls, no injections.
|
|
67
|
+
* 3. `{ getCommitCount }` — where each boundary sits on the commit
|
|
68
|
+
* axis. Without it every event is stamped `commitIdxBefore: 0` and
|
|
69
|
+
* the step strip cannot be rebuilt from the recording later. This
|
|
70
|
+
* one fails SILENTLY — the events all look fine.
|
|
71
|
+
*
|
|
72
|
+
* There is no after-the-fact fix for any of the three: a completed run
|
|
73
|
+
* leaves a snapshot and a commit log, and neither says where a boundary
|
|
74
|
+
* opened relative to the commits. `recordRun(runner)` does all three and
|
|
75
|
+
* hands back `{ snapshot, events, structure }` — reach for it first, and
|
|
76
|
+
* wire by hand only when you need a shape it doesn't produce.
|
|
77
|
+
*
|
|
56
78
|
* @example
|
|
57
79
|
* ```typescript
|
|
58
80
|
* import { boundaryRecorder, EventDispatcher } from 'agentfootprint';
|
|
59
81
|
*
|
|
60
|
-
* const boundary = boundaryRecorder(
|
|
82
|
+
* const boundary = boundaryRecorder({
|
|
83
|
+
* getCommitCount: () => executor.getCommitCount(), // the commit axis
|
|
84
|
+
* });
|
|
61
85
|
* const dispatcher = new EventDispatcher();
|
|
62
86
|
* executor.attachCombinedRecorder(boundary); // wires FlowRecorder side
|
|
63
87
|
* boundary.subscribe(dispatcher); // wires typed-event side
|
|
@@ -79,6 +103,37 @@
|
|
|
79
103
|
import { ROOT_RUNTIME_STAGE_ID, ROOT_SUBFLOW_ID, SequenceStore, CommitRangeIndex, } from 'footprintjs/trace';
|
|
80
104
|
import { SUBFLOW_IDS, STAGE_IDS, slotFromSubflowId } from '../../conventions.js';
|
|
81
105
|
import { createRunIdObserver } from './observeRunId.js';
|
|
106
|
+
// ─── Lean projection ─────────────────────────────────────────────────
|
|
107
|
+
/**
|
|
108
|
+
* The `DomainEvent` fields that carry captured run CONTENT — what the
|
|
109
|
+
* agent read, produced, and handed across a boundary — as opposed to
|
|
110
|
+
* run STRUCTURE (where a boundary was, when, of what kind). These are
|
|
111
|
+
* the fields `snapshot: 'lean'` drops.
|
|
112
|
+
*
|
|
113
|
+
* They are also exactly the fields `buildStepGraphFromEvents` turns
|
|
114
|
+
* into StepNode content (`entryPayload` / `exitPayload` /
|
|
115
|
+
* `contentSummary` / `assistantText` / `toolArgs` / `toolResult`) —
|
|
116
|
+
* which is why dropping them is opt-in rather than the default.
|
|
117
|
+
*
|
|
118
|
+
* When you add a field to a `Domain*Event`, decide:
|
|
119
|
+
* - Does it hold data the agent handled (unbounded, redaction-
|
|
120
|
+
* relevant)? → add it HERE
|
|
121
|
+
* - Does it say where/when/what-kind the boundary was? → leave it out
|
|
122
|
+
*
|
|
123
|
+
* Forgetting to add one means a lean snapshot still ships that content
|
|
124
|
+
* — silently, since nothing else references the field.
|
|
125
|
+
*
|
|
126
|
+
* Two free-text fields deliberately stay OUT of this set: `rationale`
|
|
127
|
+
* on `decision.branch` and `reason` on `context.injected`. They are
|
|
128
|
+
* short capture-time annotations saying WHY a boundary happened, and a
|
|
129
|
+
* lean bundle loses most of its explanatory value without them — but a
|
|
130
|
+
* decider that interpolates run values into its rationale does put that
|
|
131
|
+
* text in a lean artifact. Lean means "no captured payloads", not "no
|
|
132
|
+
* free text at all"; say so wherever lean is offered as a redaction
|
|
133
|
+
* story.
|
|
134
|
+
*/
|
|
135
|
+
const CONTENT_FIELDS = ['payload', 'args', 'result', 'content', 'contentSummary'];
|
|
136
|
+
const CONTENT_FIELD_SET = new Set(CONTENT_FIELDS);
|
|
82
137
|
/** Closed set of routing/wrapper subflow IDs that are pure plumbing.
|
|
83
138
|
* Slot subflows (`sf-system-prompt` / `sf-messages` / `sf-tools`) are
|
|
84
139
|
* NOT in this set — they're real context-engineering moments.
|
|
@@ -218,6 +273,10 @@ export class BoundaryRecorder {
|
|
|
218
273
|
* zero-width [0,0] ranges would mislead consumers querying the
|
|
219
274
|
* index. Multi-panel review flagged this footgun. */
|
|
220
275
|
hasCommitTracking;
|
|
276
|
+
/** Snapshot verbosity — see `BoundaryRecorderOptions.snapshot`. Only
|
|
277
|
+
* `toSnapshot()` reads it; the live event stream from `getEvents()`
|
|
278
|
+
* is always full, so in-process consumers are never affected. */
|
|
279
|
+
snapshotMode;
|
|
221
280
|
/**
|
|
222
281
|
* Tracks whether the most recent `llm.end` had toolCalls. Used to
|
|
223
282
|
* classify the NEXT `llm.start` as `'tool→llm'` (vs `'user→llm'` if
|
|
@@ -261,6 +320,7 @@ export class BoundaryRecorder {
|
|
|
261
320
|
});
|
|
262
321
|
constructor(options = {}) {
|
|
263
322
|
this.id = options.id ?? `boundary-${++_counter}`;
|
|
323
|
+
this.snapshotMode = options.snapshot ?? 'full';
|
|
264
324
|
this.hasCommitTracking = options.getCommitCount !== undefined;
|
|
265
325
|
const raw = options.getCommitCount;
|
|
266
326
|
this.getCommitCount = raw === undefined ? () => 0 : () => sanitizeCommitCount(raw());
|
|
@@ -449,15 +509,22 @@ export class BoundaryRecorder {
|
|
|
449
509
|
}
|
|
450
510
|
// ── Typed-event subscription (agentfootprint dispatcher side) ───────
|
|
451
511
|
/**
|
|
452
|
-
* Subscribe to the
|
|
453
|
-
*
|
|
512
|
+
* Subscribe to the run's typed events and emit a domain event for each
|
|
513
|
+
* `llm.*` / `tool.*` / `context.injected` one. This is the recorder's
|
|
514
|
+
* SECOND half — `runner.attach(...)` supplies the boundaries, this
|
|
515
|
+
* supplies what happened inside them. Wire both, before the run.
|
|
516
|
+
*
|
|
517
|
+
* Takes anything that offers a wildcard subscription, which a public
|
|
518
|
+
* `Runner` does as readily as the internal `EventDispatcher` — so a
|
|
519
|
+
* consumer never has to reach past `runner.on` for a dispatcher it
|
|
520
|
+
* isn't given.
|
|
454
521
|
*
|
|
455
522
|
* Returns an unsubscribe function; safe to call multiple times (each
|
|
456
523
|
* call adds a new subscription). Most consumers call this once at
|
|
457
524
|
* recorder construction and dispose with the returned function.
|
|
458
525
|
*/
|
|
459
|
-
subscribe(
|
|
460
|
-
return
|
|
526
|
+
subscribe(source) {
|
|
527
|
+
return source.on('*', (event) => this.ingestTypedEvent(event));
|
|
461
528
|
}
|
|
462
529
|
ingestTypedEvent(event) {
|
|
463
530
|
// NOTE: deliberately does NOT call observeRunId(event.meta.runId).
|
|
@@ -801,17 +868,61 @@ export class BoundaryRecorder {
|
|
|
801
868
|
return out;
|
|
802
869
|
}
|
|
803
870
|
/** Snapshot bundle — included in `executor.getSnapshot()` if the
|
|
804
|
-
* executor implements the snapshot extension protocol.
|
|
871
|
+
* executor implements the snapshot extension protocol.
|
|
872
|
+
*
|
|
873
|
+
* Under `snapshot: 'lean'` the bundle carries structure only, and
|
|
874
|
+
* `meta.mode` says so. That field is the whole point: an offline
|
|
875
|
+
* consumer holding a lean bundle can then SAY "this recording carries
|
|
876
|
+
* structure only" instead of drawing empty detail panels, because
|
|
877
|
+
* `buildStepGraphFromEvents()` restores step content from this bundle
|
|
878
|
+
* and nowhere else. `description` still carries the same fact in
|
|
879
|
+
* prose for a human reading the JSON — but prose is not something
|
|
880
|
+
* code branches on, and the readers that had to string-match it
|
|
881
|
+
* didn't.
|
|
882
|
+
*
|
|
883
|
+
* `meta` reaches `getSnapshot().recorders[i].meta` on footprintjs
|
|
884
|
+
* 9.12+, which copies it through; older engines rebuild the row
|
|
885
|
+
* without it and the field is dropped in transit. It is always on the
|
|
886
|
+
* value THIS method returns, so a producer holding the recorder
|
|
887
|
+
* (`recordRun`) can read it either way.
|
|
888
|
+
*
|
|
889
|
+
* `data` is annotated rather than inferred: a lean event is a
|
|
890
|
+
* structural SUPERtype of a full one, so inference collapses the
|
|
891
|
+
* union to `LeanDomainEvent[]` and full-mode callers silently lose
|
|
892
|
+
* `payload` / `content` / … from the type. Narrow on the mode you
|
|
893
|
+
* configured. */
|
|
805
894
|
toSnapshot() {
|
|
895
|
+
const lean = this.snapshotMode === 'lean';
|
|
806
896
|
return {
|
|
807
897
|
name: 'BoundaryEvents',
|
|
808
|
-
description:
|
|
898
|
+
description: lean
|
|
899
|
+
? 'Unified domain event log, lean — run/subflow boundaries + LLM/tool/context events, without captured content'
|
|
900
|
+
: 'Unified domain event log — run/subflow boundaries + LLM/tool/context events',
|
|
809
901
|
preferredOperation: 'translate',
|
|
810
|
-
data: this.getEvents(),
|
|
902
|
+
data: lean ? this.getEvents().map(stripContent) : this.getEvents(),
|
|
903
|
+
meta: { mode: this.snapshotMode },
|
|
811
904
|
};
|
|
812
905
|
}
|
|
813
906
|
}
|
|
814
907
|
// ── Internal helpers ─────────────────────────────────────────────────
|
|
908
|
+
/**
|
|
909
|
+
* Copy an event without its `CONTENT_FIELDS`. Allow-list by omission
|
|
910
|
+
* rather than a per-type rewrite so a newly added STRUCTURAL field
|
|
911
|
+
* reaches lean consumers without a second edit here — the asymmetry is
|
|
912
|
+
* deliberate, and the one direction it gets wrong (a new content field
|
|
913
|
+
* silently surviving) is pinned by a test on `CONTENT_FIELDS`.
|
|
914
|
+
*
|
|
915
|
+
* Builds a new object; the stored event is never mutated, so a lean
|
|
916
|
+
* `toSnapshot()` leaves the live stream from `getEvents()` untouched.
|
|
917
|
+
*/
|
|
918
|
+
function stripContent(event) {
|
|
919
|
+
const lean = {};
|
|
920
|
+
for (const [key, value] of Object.entries(event)) {
|
|
921
|
+
if (!CONTENT_FIELD_SET.has(key))
|
|
922
|
+
lean[key] = value;
|
|
923
|
+
}
|
|
924
|
+
return lean;
|
|
925
|
+
}
|
|
815
926
|
function buildRunEvent(type, payload, commitIdxBefore) {
|
|
816
927
|
return {
|
|
817
928
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundaryRecorder.js","sourceRoot":"","sources":["../../../../src/recorders/observability/BoundaryRecorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BoundaryRecorder.js","sourceRoot":"","sources":["../../../../src/recorders/observability/BoundaryRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,7 +181,9 @@ export interface FlowchartHandle {
|
|
|
181
181
|
/**
|
|
182
182
|
* Attach a live FlowchartRecorder to a runner.
|
|
183
183
|
*
|
|
184
|
-
* 1. Creates a `BoundaryRecorder` (the unified domain event log)
|
|
184
|
+
* 1. Creates a `BoundaryRecorder` (the unified domain event log) with
|
|
185
|
+
* commit tracking, so every boundary records WHERE on the commit
|
|
186
|
+
* axis it happened.
|
|
185
187
|
* 2. Attaches it to the executor's FlowRecorder channel via
|
|
186
188
|
* `runnerAttach` — captures run / subflow / fork / decision / loop.
|
|
187
189
|
* 3. Subscribes it to the dispatcher — captures llm.* / tool.* /
|
|
@@ -189,9 +191,18 @@ export interface FlowchartHandle {
|
|
|
189
191
|
* 4. Wires `onUpdate` so the consumer sees a fresh derived StepGraph
|
|
190
192
|
* on every event.
|
|
191
193
|
*
|
|
194
|
+
* @param getCommitCount where each boundary sits on the run's commit
|
|
195
|
+
* axis — the runner's `getCommitCount()`, sampled live. Optional only
|
|
196
|
+
* because a caller may have no runner to sample; omitting it stamps
|
|
197
|
+
* every boundary `commitIdxBefore: 0`, which reads as "all boundaries
|
|
198
|
+
* opened at once" and leaves an offline step strip with nothing to
|
|
199
|
+
* place. Nothing downstream can repair it — the commit log records
|
|
200
|
+
* what stages wrote, never when a boundary was crossed — so the
|
|
201
|
+
* runner always passes it.
|
|
202
|
+
*
|
|
192
203
|
* @internal Called from `RunnerBase.enable.flowchart`.
|
|
193
204
|
*/
|
|
194
|
-
export declare function attachFlowchart(runnerAttach: (recorder: CombinedRecorder) => () => void, dispatcher: EventDispatcher, options?: FlowchartOptions): FlowchartHandle;
|
|
205
|
+
export declare function attachFlowchart(runnerAttach: (recorder: CombinedRecorder) => () => void, dispatcher: EventDispatcher, options?: FlowchartOptions, getCommitCount?: () => number): FlowchartHandle;
|
|
195
206
|
/**
|
|
196
207
|
* Project a `BoundaryRecorder`'s event stream into a `StepGraph`.
|
|
197
208
|
*
|
|
@@ -44,7 +44,9 @@ import { boundaryRecorder, } from './BoundaryRecorder.js';
|
|
|
44
44
|
/**
|
|
45
45
|
* Attach a live FlowchartRecorder to a runner.
|
|
46
46
|
*
|
|
47
|
-
* 1. Creates a `BoundaryRecorder` (the unified domain event log)
|
|
47
|
+
* 1. Creates a `BoundaryRecorder` (the unified domain event log) with
|
|
48
|
+
* commit tracking, so every boundary records WHERE on the commit
|
|
49
|
+
* axis it happened.
|
|
48
50
|
* 2. Attaches it to the executor's FlowRecorder channel via
|
|
49
51
|
* `runnerAttach` — captures run / subflow / fork / decision / loop.
|
|
50
52
|
* 3. Subscribes it to the dispatcher — captures llm.* / tool.* /
|
|
@@ -52,10 +54,19 @@ import { boundaryRecorder, } from './BoundaryRecorder.js';
|
|
|
52
54
|
* 4. Wires `onUpdate` so the consumer sees a fresh derived StepGraph
|
|
53
55
|
* on every event.
|
|
54
56
|
*
|
|
57
|
+
* @param getCommitCount where each boundary sits on the run's commit
|
|
58
|
+
* axis — the runner's `getCommitCount()`, sampled live. Optional only
|
|
59
|
+
* because a caller may have no runner to sample; omitting it stamps
|
|
60
|
+
* every boundary `commitIdxBefore: 0`, which reads as "all boundaries
|
|
61
|
+
* opened at once" and leaves an offline step strip with nothing to
|
|
62
|
+
* place. Nothing downstream can repair it — the commit log records
|
|
63
|
+
* what stages wrote, never when a boundary was crossed — so the
|
|
64
|
+
* runner always passes it.
|
|
65
|
+
*
|
|
55
66
|
* @internal Called from `RunnerBase.enable.flowchart`.
|
|
56
67
|
*/
|
|
57
|
-
export function attachFlowchart(runnerAttach, dispatcher, options = {}) {
|
|
58
|
-
const boundary = boundaryRecorder();
|
|
68
|
+
export function attachFlowchart(runnerAttach, dispatcher, options = {}, getCommitCount) {
|
|
69
|
+
const boundary = boundaryRecorder(getCommitCount ? { getCommitCount } : {});
|
|
59
70
|
const onUpdate = options.onUpdate;
|
|
60
71
|
// Wrap the recorder to also re-emit StepGraph after each FlowRecorder
|
|
61
72
|
// event. Without this, consumers see updates only on dispatcher events
|