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.
Files changed (212) hide show
  1. package/CLAUDE.md +2 -1
  2. package/dist/adapters/llm/AnthropicProvider.js +5 -4
  3. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  4. package/dist/adapters/llm/BedrockProvider.js +5 -4
  5. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  6. package/dist/adapters/llm/BrowserAnthropicProvider.js +5 -4
  7. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  8. package/dist/adapters/llm/BrowserOpenAIProvider.js +13 -10
  9. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  10. package/dist/adapters/llm/OpenAIProvider.js +8 -6
  11. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  12. package/dist/core/Agent.js +10 -0
  13. package/dist/core/Agent.js.map +1 -1
  14. package/dist/core/LLMCall.js +10 -1
  15. package/dist/core/LLMCall.js.map +1 -1
  16. package/dist/core/RunnerBase.js +42 -12
  17. package/dist/core/RunnerBase.js.map +1 -1
  18. package/dist/core/agent/buildAgentChart.js +7 -3
  19. package/dist/core/agent/buildAgentChart.js.map +1 -1
  20. package/dist/core/agent/buildAgentMessageApiChart.js +18 -1
  21. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  22. package/dist/core/agent/buildMessageApiChart.js +4 -1
  23. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  24. package/dist/core/agent/stages/callLLM.js +18 -2
  25. package/dist/core/agent/stages/callLLM.js.map +1 -1
  26. package/dist/core-flow/Parallel.js +9 -1
  27. package/dist/core-flow/Parallel.js.map +1 -1
  28. package/dist/embedders/index.js +74 -26
  29. package/dist/embedders/index.js.map +1 -1
  30. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +3 -3
  31. package/dist/esm/adapters/llm/AnthropicProvider.js +5 -4
  32. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  33. package/dist/esm/adapters/llm/BedrockProvider.d.ts +3 -3
  34. package/dist/esm/adapters/llm/BedrockProvider.js +5 -4
  35. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  36. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +3 -3
  37. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +5 -4
  38. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  39. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
  40. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +13 -10
  41. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  42. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +3 -3
  43. package/dist/esm/adapters/llm/OpenAIProvider.js +8 -6
  44. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  45. package/dist/esm/adapters/types.d.ts +95 -2
  46. package/dist/esm/core/Agent.js +10 -0
  47. package/dist/esm/core/Agent.js.map +1 -1
  48. package/dist/esm/core/LLMCall.js +10 -1
  49. package/dist/esm/core/LLMCall.js.map +1 -1
  50. package/dist/esm/core/RunnerBase.d.ts +22 -1
  51. package/dist/esm/core/RunnerBase.js +42 -12
  52. package/dist/esm/core/RunnerBase.js.map +1 -1
  53. package/dist/esm/core/agent/buildAgentChart.d.ts +7 -3
  54. package/dist/esm/core/agent/buildAgentChart.js +7 -3
  55. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  56. package/dist/esm/core/agent/buildAgentMessageApiChart.js +18 -1
  57. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  58. package/dist/esm/core/agent/buildMessageApiChart.js +4 -1
  59. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  60. package/dist/esm/core/agent/stages/callLLM.js +18 -2
  61. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  62. package/dist/esm/core/runner.d.ts +40 -5
  63. package/dist/esm/core-flow/Parallel.js +9 -1
  64. package/dist/esm/core-flow/Parallel.js.map +1 -1
  65. package/dist/esm/embedders/index.d.ts +96 -1
  66. package/dist/esm/embedders/index.js +74 -26
  67. package/dist/esm/embedders/index.js.map +1 -1
  68. package/dist/esm/index.js +9 -9
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/lib/context-bisect/types.d.ts +9 -0
  71. package/dist/esm/lib/context-bisect/types.js.map +1 -1
  72. package/dist/esm/lib/recorded-chat/recordedChat.js +10 -1
  73. package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -1
  74. package/dist/esm/lib/recorded-chat/types.d.ts +10 -0
  75. package/dist/esm/observe.d.ts +3 -1
  76. package/dist/esm/observe.js +13 -1
  77. package/dist/esm/observe.js.map +1 -1
  78. package/dist/esm/providers.d.ts +1 -1
  79. package/dist/esm/recorders/core/EmitBridge.d.ts +9 -3
  80. package/dist/esm/recorders/core/EmitBridge.js +4 -3
  81. package/dist/esm/recorders/core/EmitBridge.js.map +1 -1
  82. package/dist/esm/recorders/core/ResilienceRecorder.d.ts +32 -0
  83. package/dist/esm/recorders/core/ResilienceRecorder.js +41 -0
  84. package/dist/esm/recorders/core/ResilienceRecorder.js.map +1 -0
  85. package/dist/esm/recorders/core/resilienceHooks.d.ts +34 -0
  86. package/dist/esm/recorders/core/resilienceHooks.js +74 -0
  87. package/dist/esm/recorders/core/resilienceHooks.js.map +1 -0
  88. package/dist/esm/recorders/core/typedEmit.d.ts +1 -2
  89. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +176 -12
  90. package/dist/esm/recorders/observability/BoundaryRecorder.js +119 -8
  91. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  92. package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +13 -2
  93. package/dist/esm/recorders/observability/FlowchartRecorder.js +14 -3
  94. package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
  95. package/dist/esm/recorders/observability/localObservability.d.ts +66 -6
  96. package/dist/esm/recorders/observability/localObservability.js +27 -7
  97. package/dist/esm/recorders/observability/localObservability.js.map +1 -1
  98. package/dist/esm/recorders/observability/recordRun.d.ts +143 -0
  99. package/dist/esm/recorders/observability/recordRun.js +133 -0
  100. package/dist/esm/recorders/observability/recordRun.js.map +1 -0
  101. package/dist/esm/recorders/observability/trace.d.ts +65 -13
  102. package/dist/esm/recorders/observability/trace.js +36 -9
  103. package/dist/esm/recorders/observability/trace.js.map +1 -1
  104. package/dist/esm/reliability/buildReliabilityGateChart.d.ts +23 -9
  105. package/dist/esm/reliability/buildReliabilityGateChart.js +37 -10
  106. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  107. package/dist/esm/resilience/withCircuitBreaker.d.ts +15 -5
  108. package/dist/esm/resilience/withCircuitBreaker.js +14 -7
  109. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  110. package/dist/esm/resilience/withFallback.d.ts +7 -1
  111. package/dist/esm/resilience/withFallback.js +30 -11
  112. package/dist/esm/resilience/withFallback.js.map +1 -1
  113. package/dist/esm/resilience/withRetry.d.ts +10 -5
  114. package/dist/esm/resilience/withRetry.js +53 -3
  115. package/dist/esm/resilience/withRetry.js.map +1 -1
  116. package/dist/esm/tool-providers/index.js +2 -2
  117. package/dist/esm/tool-providers/index.js.map +1 -1
  118. package/dist/index.js +9 -9
  119. package/dist/index.js.map +1 -1
  120. package/dist/lib/context-bisect/types.js.map +1 -1
  121. package/dist/lib/recorded-chat/recordedChat.js +10 -1
  122. package/dist/lib/recorded-chat/recordedChat.js.map +1 -1
  123. package/dist/observe.js +16 -2
  124. package/dist/observe.js.map +1 -1
  125. package/dist/recorders/core/EmitBridge.js +4 -3
  126. package/dist/recorders/core/EmitBridge.js.map +1 -1
  127. package/dist/recorders/core/ResilienceRecorder.js +45 -0
  128. package/dist/recorders/core/ResilienceRecorder.js.map +1 -0
  129. package/dist/recorders/core/resilienceHooks.js +78 -0
  130. package/dist/recorders/core/resilienceHooks.js.map +1 -0
  131. package/dist/recorders/observability/BoundaryRecorder.js +119 -8
  132. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  133. package/dist/recorders/observability/FlowchartRecorder.js +14 -3
  134. package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
  135. package/dist/recorders/observability/localObservability.js +27 -7
  136. package/dist/recorders/observability/localObservability.js.map +1 -1
  137. package/dist/recorders/observability/recordRun.js +137 -0
  138. package/dist/recorders/observability/recordRun.js.map +1 -0
  139. package/dist/recorders/observability/trace.js +36 -9
  140. package/dist/recorders/observability/trace.js.map +1 -1
  141. package/dist/reliability/buildReliabilityGateChart.js +37 -10
  142. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  143. package/dist/resilience/withCircuitBreaker.js +14 -7
  144. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  145. package/dist/resilience/withFallback.js +30 -11
  146. package/dist/resilience/withFallback.js.map +1 -1
  147. package/dist/resilience/withRetry.js +53 -3
  148. package/dist/resilience/withRetry.js.map +1 -1
  149. package/dist/tool-providers/index.js +2 -2
  150. package/dist/tool-providers/index.js.map +1 -1
  151. package/dist/types/adapters/llm/AnthropicProvider.d.ts +3 -3
  152. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  153. package/dist/types/adapters/llm/BedrockProvider.d.ts +3 -3
  154. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  155. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +3 -3
  156. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  157. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
  158. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  159. package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -3
  160. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  161. package/dist/types/adapters/types.d.ts +95 -2
  162. package/dist/types/adapters/types.d.ts.map +1 -1
  163. package/dist/types/core/Agent.d.ts.map +1 -1
  164. package/dist/types/core/LLMCall.d.ts.map +1 -1
  165. package/dist/types/core/RunnerBase.d.ts +22 -1
  166. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  167. package/dist/types/core/agent/buildAgentChart.d.ts +7 -3
  168. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  169. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  170. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  171. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  172. package/dist/types/core/runner.d.ts +40 -5
  173. package/dist/types/core/runner.d.ts.map +1 -1
  174. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  175. package/dist/types/embedders/index.d.ts +96 -1
  176. package/dist/types/embedders/index.d.ts.map +1 -1
  177. package/dist/types/lib/context-bisect/types.d.ts +9 -0
  178. package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
  179. package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -1
  180. package/dist/types/lib/recorded-chat/types.d.ts +10 -0
  181. package/dist/types/lib/recorded-chat/types.d.ts.map +1 -1
  182. package/dist/types/observe.d.ts +3 -1
  183. package/dist/types/observe.d.ts.map +1 -1
  184. package/dist/types/providers.d.ts +1 -1
  185. package/dist/types/providers.d.ts.map +1 -1
  186. package/dist/types/recorders/core/EmitBridge.d.ts +9 -3
  187. package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -1
  188. package/dist/types/recorders/core/ResilienceRecorder.d.ts +33 -0
  189. package/dist/types/recorders/core/ResilienceRecorder.d.ts.map +1 -0
  190. package/dist/types/recorders/core/resilienceHooks.d.ts +35 -0
  191. package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -0
  192. package/dist/types/recorders/core/typedEmit.d.ts +1 -2
  193. package/dist/types/recorders/core/typedEmit.d.ts.map +1 -1
  194. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +176 -12
  195. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  196. package/dist/types/recorders/observability/FlowchartRecorder.d.ts +13 -2
  197. package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
  198. package/dist/types/recorders/observability/localObservability.d.ts +66 -6
  199. package/dist/types/recorders/observability/localObservability.d.ts.map +1 -1
  200. package/dist/types/recorders/observability/recordRun.d.ts +144 -0
  201. package/dist/types/recorders/observability/recordRun.d.ts.map +1 -0
  202. package/dist/types/recorders/observability/trace.d.ts +65 -13
  203. package/dist/types/recorders/observability/trace.d.ts.map +1 -1
  204. package/dist/types/reliability/buildReliabilityGateChart.d.ts +23 -9
  205. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  206. package/dist/types/resilience/withCircuitBreaker.d.ts +15 -5
  207. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  208. package/dist/types/resilience/withFallback.d.ts +7 -1
  209. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  210. package/dist/types/resilience/withRetry.d.ts +10 -5
  211. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  212. 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 { EventDispatcher, Unsubscribe } from '../../events/dispatcher.js';
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 — typically `() => executor.getCommitCount()`
321
- * from footprintjs 5.1+. Inject from your runner. When provided:
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
- * When omitted (legacy / pre-5.1 footprintjs): both fields are 0 on
326
- * every event; `boundaryIndex` exists but is empty. Phase 5 Layer 2.
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 runner's typed-event dispatcher and emit a domain
462
- * event for each `llm.*` / `tool.*` / `context.injected` event.
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(dispatcher: EventDispatcher): Unsubscribe;
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: "translate";
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 runner's typed-event dispatcher and emit a domain
453
- * event for each `llm.*` / `tool.*` / `context.injected` event.
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(dispatcher) {
460
- return dispatcher.on('*', (event) => this.ingestTypedEvent(event));
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: 'Unified domain event log — run/subflow boundaries + LLM/tool/context events',
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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"}