agentfootprint 7.7.0 → 7.9.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 +5 -4
- 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 +5 -4
- 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/embedders/index.js +74 -26
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/AnthropicProvider.js +5 -4
- 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 +3 -3
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +5 -4
- 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/embedders/index.d.ts +96 -1
- package/dist/esm/embedders/index.js +74 -26
- package/dist/esm/embedders/index.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 +3 -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 +3 -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/embedders/index.d.ts +96 -1
- package/dist/types/embedders/index.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 +4 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* resilienceHooks — turns a resilience decorator's `ResilienceReport`
|
|
3
|
+
* into an already-declared typed event, emitted from inside the run.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Adapter (GoF) — one translation function, fact → event.
|
|
6
|
+
* Role: The seam between `src/resilience/` (which knows nothing about
|
|
7
|
+
* runs, scopes or events) and the in-run LLM call sites (which
|
|
8
|
+
* hold a live scope). The decorator REPORTS; this maps the
|
|
9
|
+
* report to `typedEmit`, so correlation ids come from
|
|
10
|
+
* footprintjs's traversal rather than being synthesized.
|
|
11
|
+
* Emits: agentfootprint.fallback.triggered
|
|
12
|
+
* agentfootprint.error.retried
|
|
13
|
+
* agentfootprint.error.recovered
|
|
14
|
+
*
|
|
15
|
+
* Why here and not in the decorators: a decorator is constructed by the
|
|
16
|
+
* consumer BEFORE any run exists, so it can never reach a scope. Passing
|
|
17
|
+
* the hooks object per call is what lets the report cross that boundary.
|
|
18
|
+
*
|
|
19
|
+
* Every declared payload field is filled from a report field of the same
|
|
20
|
+
* name — nothing is synthesized. `FallbackTriggeredPayload.kind` is the
|
|
21
|
+
* literal `'provider'`; its `'tool'`/`'skill'` arms stay unused.
|
|
22
|
+
*/
|
|
23
|
+
import { typedEmit } from './typedEmit.js';
|
|
24
|
+
/**
|
|
25
|
+
* Build the per-call hooks object for one stage. Hoist it once per stage
|
|
26
|
+
* rather than per attempt — it is stateless and safe to reuse across
|
|
27
|
+
* reliability-loop iterations.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* const providerHooks = resilienceHooks(scope);
|
|
31
|
+
* const response = await provider.complete(request, providerHooks);
|
|
32
|
+
*/
|
|
33
|
+
export function resilienceHooks(scope) {
|
|
34
|
+
return {
|
|
35
|
+
onResilience(report) {
|
|
36
|
+
// The library owns THIS sink, and it is the only one that runs
|
|
37
|
+
// in-run — so guard it once here. Telemetry must never break an
|
|
38
|
+
// LLM call (footprintjs's "recorder errors never abort traversal"
|
|
39
|
+
// invariant). A CONSUMER-supplied onResilience is deliberately
|
|
40
|
+
// unguarded, matching onRetry/onFallback/onStateChange.
|
|
41
|
+
try {
|
|
42
|
+
switch (report.kind) {
|
|
43
|
+
case 'fell-back':
|
|
44
|
+
typedEmit(scope, 'agentfootprint.fallback.triggered', {
|
|
45
|
+
kind: 'provider',
|
|
46
|
+
primary: report.primary,
|
|
47
|
+
fallback: report.fallback,
|
|
48
|
+
reason: report.reason,
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
case 'retried':
|
|
52
|
+
typedEmit(scope, 'agentfootprint.error.retried', {
|
|
53
|
+
attempt: report.attempt,
|
|
54
|
+
maxAttempts: report.maxAttempts,
|
|
55
|
+
lastError: report.lastError,
|
|
56
|
+
backoffMs: report.backoffMs,
|
|
57
|
+
reason: report.reason,
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
60
|
+
case 'recovered':
|
|
61
|
+
typedEmit(scope, 'agentfootprint.error.recovered', {
|
|
62
|
+
attempt: report.attempt,
|
|
63
|
+
totalDurationMs: report.totalDurationMs,
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Swallowed by design — see the comment above.
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=resilienceHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilienceHooks.js","sourceRoot":"","sources":["../../../../src/recorders/core/resilienceHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,YAAY,CAAC,MAAM;YACjB,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,+DAA+D;YAC/D,wDAAwD;YACxD,IAAI,CAAC;gBACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,WAAW;wBACd,SAAS,CAAC,KAAK,EAAE,mCAAmC,EAAE;4BACpD,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,SAAS;wBACZ,SAAS,CAAC,KAAK,EAAE,8BAA8B,EAAE;4BAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,WAAW;wBACd,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;4BACjD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,eAAe,EAAE,MAAM,CAAC,eAAe;yBACxC,CAAC,CAAC;wBACH,OAAO;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -14,7 +14,7 @@ import type { AgentfootprintEventMap, AgentfootprintEventType } from '../../even
|
|
|
14
14
|
* footprintjs's `TypedScope<T>`, whose `$emit(name, payload?: unknown)` is
|
|
15
15
|
* wider than this.
|
|
16
16
|
*/
|
|
17
|
-
interface EmitableScope {
|
|
17
|
+
export interface EmitableScope {
|
|
18
18
|
$emit(name: string, payload?: unknown): void;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -31,4 +31,3 @@ interface EmitableScope {
|
|
|
31
31
|
* });
|
|
32
32
|
*/
|
|
33
33
|
export declare function typedEmit<K extends AgentfootprintEventType>(scope: EmitableScope, type: K, payload: AgentfootprintEventMap[K]['payload']): void;
|
|
34
|
-
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
|
|
@@ -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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"}
|