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.
Files changed (205) hide show
  1. package/CLAUDE.md +2 -1
  2. package/dist/adapters/llm/AnthropicProvider.js +15 -7
  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 +14 -7
  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/esm/adapters/llm/AnthropicProvider.d.ts +36 -3
  29. package/dist/esm/adapters/llm/AnthropicProvider.js +15 -7
  30. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  31. package/dist/esm/adapters/llm/BedrockProvider.d.ts +3 -3
  32. package/dist/esm/adapters/llm/BedrockProvider.js +5 -4
  33. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  34. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +16 -3
  35. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +14 -7
  36. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  37. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
  38. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +13 -10
  39. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  40. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +3 -3
  41. package/dist/esm/adapters/llm/OpenAIProvider.js +8 -6
  42. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  43. package/dist/esm/adapters/types.d.ts +95 -2
  44. package/dist/esm/core/Agent.js +10 -0
  45. package/dist/esm/core/Agent.js.map +1 -1
  46. package/dist/esm/core/LLMCall.js +10 -1
  47. package/dist/esm/core/LLMCall.js.map +1 -1
  48. package/dist/esm/core/RunnerBase.d.ts +22 -1
  49. package/dist/esm/core/RunnerBase.js +42 -12
  50. package/dist/esm/core/RunnerBase.js.map +1 -1
  51. package/dist/esm/core/agent/buildAgentChart.d.ts +7 -3
  52. package/dist/esm/core/agent/buildAgentChart.js +7 -3
  53. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  54. package/dist/esm/core/agent/buildAgentMessageApiChart.js +18 -1
  55. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  56. package/dist/esm/core/agent/buildMessageApiChart.js +4 -1
  57. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  58. package/dist/esm/core/agent/stages/callLLM.js +18 -2
  59. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  60. package/dist/esm/core/runner.d.ts +40 -5
  61. package/dist/esm/core-flow/Parallel.js +9 -1
  62. package/dist/esm/core-flow/Parallel.js.map +1 -1
  63. package/dist/esm/index.js +9 -9
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/lib/context-bisect/types.d.ts +9 -0
  66. package/dist/esm/lib/context-bisect/types.js.map +1 -1
  67. package/dist/esm/lib/recorded-chat/recordedChat.js +10 -1
  68. package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -1
  69. package/dist/esm/lib/recorded-chat/types.d.ts +10 -0
  70. package/dist/esm/observe.d.ts +3 -1
  71. package/dist/esm/observe.js +13 -1
  72. package/dist/esm/observe.js.map +1 -1
  73. package/dist/esm/providers.d.ts +1 -1
  74. package/dist/esm/recorders/core/EmitBridge.d.ts +9 -3
  75. package/dist/esm/recorders/core/EmitBridge.js +4 -3
  76. package/dist/esm/recorders/core/EmitBridge.js.map +1 -1
  77. package/dist/esm/recorders/core/ResilienceRecorder.d.ts +32 -0
  78. package/dist/esm/recorders/core/ResilienceRecorder.js +41 -0
  79. package/dist/esm/recorders/core/ResilienceRecorder.js.map +1 -0
  80. package/dist/esm/recorders/core/resilienceHooks.d.ts +34 -0
  81. package/dist/esm/recorders/core/resilienceHooks.js +74 -0
  82. package/dist/esm/recorders/core/resilienceHooks.js.map +1 -0
  83. package/dist/esm/recorders/core/typedEmit.d.ts +1 -2
  84. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +176 -12
  85. package/dist/esm/recorders/observability/BoundaryRecorder.js +119 -8
  86. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  87. package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +13 -2
  88. package/dist/esm/recorders/observability/FlowchartRecorder.js +14 -3
  89. package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
  90. package/dist/esm/recorders/observability/localObservability.d.ts +66 -6
  91. package/dist/esm/recorders/observability/localObservability.js +27 -7
  92. package/dist/esm/recorders/observability/localObservability.js.map +1 -1
  93. package/dist/esm/recorders/observability/recordRun.d.ts +143 -0
  94. package/dist/esm/recorders/observability/recordRun.js +133 -0
  95. package/dist/esm/recorders/observability/recordRun.js.map +1 -0
  96. package/dist/esm/recorders/observability/trace.d.ts +65 -13
  97. package/dist/esm/recorders/observability/trace.js +36 -9
  98. package/dist/esm/recorders/observability/trace.js.map +1 -1
  99. package/dist/esm/reliability/buildReliabilityGateChart.d.ts +23 -9
  100. package/dist/esm/reliability/buildReliabilityGateChart.js +37 -10
  101. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  102. package/dist/esm/resilience/withCircuitBreaker.d.ts +15 -5
  103. package/dist/esm/resilience/withCircuitBreaker.js +14 -7
  104. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  105. package/dist/esm/resilience/withFallback.d.ts +7 -1
  106. package/dist/esm/resilience/withFallback.js +30 -11
  107. package/dist/esm/resilience/withFallback.js.map +1 -1
  108. package/dist/esm/resilience/withRetry.d.ts +10 -5
  109. package/dist/esm/resilience/withRetry.js +53 -3
  110. package/dist/esm/resilience/withRetry.js.map +1 -1
  111. package/dist/esm/tool-providers/index.js +2 -2
  112. package/dist/esm/tool-providers/index.js.map +1 -1
  113. package/dist/index.js +9 -9
  114. package/dist/index.js.map +1 -1
  115. package/dist/lib/context-bisect/types.js.map +1 -1
  116. package/dist/lib/recorded-chat/recordedChat.js +10 -1
  117. package/dist/lib/recorded-chat/recordedChat.js.map +1 -1
  118. package/dist/observe.js +16 -2
  119. package/dist/observe.js.map +1 -1
  120. package/dist/recorders/core/EmitBridge.js +4 -3
  121. package/dist/recorders/core/EmitBridge.js.map +1 -1
  122. package/dist/recorders/core/ResilienceRecorder.js +45 -0
  123. package/dist/recorders/core/ResilienceRecorder.js.map +1 -0
  124. package/dist/recorders/core/resilienceHooks.js +78 -0
  125. package/dist/recorders/core/resilienceHooks.js.map +1 -0
  126. package/dist/recorders/observability/BoundaryRecorder.js +119 -8
  127. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  128. package/dist/recorders/observability/FlowchartRecorder.js +14 -3
  129. package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
  130. package/dist/recorders/observability/localObservability.js +27 -7
  131. package/dist/recorders/observability/localObservability.js.map +1 -1
  132. package/dist/recorders/observability/recordRun.js +137 -0
  133. package/dist/recorders/observability/recordRun.js.map +1 -0
  134. package/dist/recorders/observability/trace.js +36 -9
  135. package/dist/recorders/observability/trace.js.map +1 -1
  136. package/dist/reliability/buildReliabilityGateChart.js +37 -10
  137. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  138. package/dist/resilience/withCircuitBreaker.js +14 -7
  139. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  140. package/dist/resilience/withFallback.js +30 -11
  141. package/dist/resilience/withFallback.js.map +1 -1
  142. package/dist/resilience/withRetry.js +53 -3
  143. package/dist/resilience/withRetry.js.map +1 -1
  144. package/dist/tool-providers/index.js +2 -2
  145. package/dist/tool-providers/index.js.map +1 -1
  146. package/dist/types/adapters/llm/AnthropicProvider.d.ts +36 -3
  147. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  148. package/dist/types/adapters/llm/BedrockProvider.d.ts +3 -3
  149. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  150. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +16 -3
  151. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  152. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
  153. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  154. package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -3
  155. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  156. package/dist/types/adapters/types.d.ts +95 -2
  157. package/dist/types/adapters/types.d.ts.map +1 -1
  158. package/dist/types/core/Agent.d.ts.map +1 -1
  159. package/dist/types/core/LLMCall.d.ts.map +1 -1
  160. package/dist/types/core/RunnerBase.d.ts +22 -1
  161. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  162. package/dist/types/core/agent/buildAgentChart.d.ts +7 -3
  163. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  164. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  165. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  166. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  167. package/dist/types/core/runner.d.ts +40 -5
  168. package/dist/types/core/runner.d.ts.map +1 -1
  169. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  170. package/dist/types/lib/context-bisect/types.d.ts +9 -0
  171. package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
  172. package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -1
  173. package/dist/types/lib/recorded-chat/types.d.ts +10 -0
  174. package/dist/types/lib/recorded-chat/types.d.ts.map +1 -1
  175. package/dist/types/observe.d.ts +3 -1
  176. package/dist/types/observe.d.ts.map +1 -1
  177. package/dist/types/providers.d.ts +1 -1
  178. package/dist/types/providers.d.ts.map +1 -1
  179. package/dist/types/recorders/core/EmitBridge.d.ts +9 -3
  180. package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -1
  181. package/dist/types/recorders/core/ResilienceRecorder.d.ts +33 -0
  182. package/dist/types/recorders/core/ResilienceRecorder.d.ts.map +1 -0
  183. package/dist/types/recorders/core/resilienceHooks.d.ts +35 -0
  184. package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -0
  185. package/dist/types/recorders/core/typedEmit.d.ts +1 -2
  186. package/dist/types/recorders/core/typedEmit.d.ts.map +1 -1
  187. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +176 -12
  188. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  189. package/dist/types/recorders/observability/FlowchartRecorder.d.ts +13 -2
  190. package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
  191. package/dist/types/recorders/observability/localObservability.d.ts +66 -6
  192. package/dist/types/recorders/observability/localObservability.d.ts.map +1 -1
  193. package/dist/types/recorders/observability/recordRun.d.ts +144 -0
  194. package/dist/types/recorders/observability/recordRun.d.ts.map +1 -0
  195. package/dist/types/recorders/observability/trace.d.ts +65 -13
  196. package/dist/types/recorders/observability/trace.d.ts.map +1 -1
  197. package/dist/types/reliability/buildReliabilityGateChart.d.ts +23 -9
  198. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  199. package/dist/types/resilience/withCircuitBreaker.d.ts +15 -5
  200. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  201. package/dist/types/resilience/withFallback.d.ts +7 -1
  202. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  203. package/dist/types/resilience/withRetry.d.ts +10 -5
  204. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  205. package/package.json +1 -1
@@ -37,7 +37,7 @@ export { staticTools } from './staticTools.js';
37
37
  export { gatedTools } from './gatedTools.js';
38
38
  export { skillScopedTools } from './skillScopedTools.js';
39
39
  // Re-export tool sources from the MCP module so consumers find them in
40
- // one place. The top-level barrel still exports `mcpClient` for v2.2
41
- // back-compat.
40
+ // one place. This subpath is the ONLY place `mcpClient` is public — the
41
+ // top-level barrel does not re-export it.
42
42
  export { mcpClient, mockMcpClient } from '../lib/mcp/index.js';
43
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,uEAAuE;AACvE,qEAAqE;AACrE,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,uEAAuE;AACvE,wEAAwE;AACxE,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -203,15 +203,15 @@ __exportStar(require("./patterns/index.js"), exports);
203
203
  var index_js_1 = require("./lib/rag/index.js");
204
204
  Object.defineProperty(exports, "defineRAG", { enumerable: true, get: function () { return index_js_1.defineRAG; } });
205
205
  Object.defineProperty(exports, "indexDocuments", { enumerable: true, get: function () { return index_js_1.indexDocuments; } });
206
- // MCP — Model Context Protocol client. Connect to MCP servers and
207
- // expose their tools as agentfootprint Tool[] for `agent.tools(...)`.
208
- // `@modelcontextprotocol/sdk` is a lazy-required peer-dep (no runtime
209
- // cost when MCP isn't used).
210
- // Tool dispatch primitives (v2.5+). New `agentfootprint/tool-providers`
211
- // subpath bundles tool sources (mcpClient / mockMcpClient) with tool
212
- // dispatch primitives (staticTools / gatedTools) so consumers find
213
- // "everything tool-related" in one place. Top-level barrel re-exports
214
- // the dispatch primitives too — `mcpClient` already re-exports above.
206
+ // MCP + tool dispatch. Tool sources — `mcpClient` / `mockMcpClient`,
207
+ // which connect to a Model Context Protocol server and expose its tools
208
+ // as agentfootprint `Tool[]` for `agent.tools(...)` — and the dispatch
209
+ // primitives `staticTools` / `gatedTools` / `skillScopedTools` live
210
+ // ONLY under `agentfootprint/tool-providers`: one subpath for
211
+ // everything tool-related, so the main barrel stays focused on the core
212
+ // agent API. NONE of them are re-exported here.
213
+ // `@modelcontextprotocol/sdk` stays a lazy-required peer-dep, so an app
214
+ // that never touches MCP pays nothing for the subpath existing.
215
215
  // Cross-cutting authorization (v2.5+). `agentfootprint/security` is the
216
216
  // dedicated subpath; the root barrel also re-exports `PermissionPolicy`
217
217
  // so existing v2.4 consumers find it at the top level.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;AAiaH,wEAAwE;AAE3D,QAAA,uBAAuB,GAAG;IACrC,uDAAuD;IACvD,QAAQ,EAAE,EAAE;IACZ,sDAAsD;IACtD,QAAQ,EAAE,EAAE;IACZ,0CAA0C;IAC1C,WAAW,EAAE,EAAE;IACf,4DAA4D;IAC5D,YAAY,EAAE,IAAI;IAClB,yEAAyE;IACzE,OAAO,EAAE,CAAC;IACV,mEAAmE;IACnE,aAAa,EAAE,GAAG;IAClB,mDAAmD;IACnD,SAAS,EAAE,EAAE;IACb,8DAA8D;IAC9D,WAAW,EAAE,CAAC;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;AA0aH,wEAAwE;AAE3D,QAAA,uBAAuB,GAAG;IACrC,uDAAuD;IACvD,QAAQ,EAAE,EAAE;IACZ,sDAAsD;IACtD,QAAQ,EAAE,EAAE;IACZ,0CAA0C;IAC1C,WAAW,EAAE,EAAE;IACf,4DAA4D;IAC5D,YAAY,EAAE,IAAI;IAClB,yEAAyE;IACzE,OAAO,EAAE,CAAC;IACV,mEAAmE;IACnE,aAAa,EAAE,GAAG;IAClB,mDAAmD;IACnD,SAAS,EAAE,EAAE;IACb,8DAA8D;IAC9D,WAAW,EAAE,CAAC;CACN,CAAC"}
@@ -138,7 +138,16 @@ class RecordedChatSession {
138
138
  reply: out,
139
139
  message,
140
140
  transcriptBefore,
141
- artifacts: Object.freeze({ snapshot, events: Object.freeze(events) }),
141
+ artifacts: Object.freeze({
142
+ snapshot,
143
+ events: Object.freeze(events),
144
+ // The third piece of a recording: the chart. Captured from the
145
+ // per-turn agent HERE, because that agent is discarded on the next
146
+ // line and its spec goes with it — and nothing can reproduce the
147
+ // chart from a finished run. With it, a stored turn both localizes
148
+ // AND draws.
149
+ structure: agent.getSpec().buildTimeStructure,
150
+ }),
142
151
  lastLlmCallId,
143
152
  identity: options?.identity,
144
153
  });
@@ -1 +1 @@
1
- {"version":3,"file":"recordedChat.js","sourceRoot":"","sources":["../../../src/lib/recorded-chat/recordedChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordedChat.js","sourceRoot":"","sources":["../../../src/lib/recorded-chat/recordedChat.ts"],"names":[],"mappings":"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"}
package/dist/observe.js CHANGED
@@ -46,7 +46,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
46
46
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.ledgerGated = exports.ledgerEntryScorer = exports.ledgerToolGate = exports.contextLedger = exports.formatRouteHop = exports.routeRecorder = exports.toolChoiceRecorder = exports.buildChoiceContext = exports.typedEmit = exports.agentThinkingTrace = exports.toolLineageRecorder = exports.attachStatus = exports.LoggingDomains = exports.attachLogging = exports.skillRecorder = exports.permissionRecorder = exports.memoryRecorder = exports.evalRecorder = exports.contextEvaluatedRecorder = exports.toolsRecorder = exports.costRecorder = exports.LiveAgentTurnTracker = exports.LiveToolTracker = exports.LiveLLMTracker = exports.LiveStateRecorder = exports.liveStateRecorder = exports.attachLocalObservability = exports.traceToStepGraph = exports.redactContent = exports.serializeTrace = exports.buildStepGraphFromEvents = exports.buildStepGraph = exports.attachFlowchart = exports.runStepRecorder = exports.RunStepRecorder = exports.buildRunSteps = exports.BoundaryRecorder = exports.boundaryRecorder = exports.agentRecorder = exports.compositionRecorder = exports.streamRecorder = exports.ContextRecorder = void 0;
49
+ exports.ledgerGated = exports.ledgerEntryScorer = exports.ledgerToolGate = exports.contextLedger = exports.formatRouteHop = exports.routeRecorder = exports.toolChoiceRecorder = exports.buildChoiceContext = exports.typedEmit = exports.agentThinkingTrace = exports.toolLineageRecorder = exports.attachStatus = exports.LoggingDomains = exports.attachLogging = exports.resilienceRecorder = exports.skillRecorder = exports.permissionRecorder = exports.memoryRecorder = exports.evalRecorder = exports.contextEvaluatedRecorder = exports.toolsRecorder = exports.costRecorder = exports.LiveAgentTurnTracker = exports.LiveToolTracker = exports.LiveLLMTracker = exports.LiveStateRecorder = exports.liveStateRecorder = exports.attachLocalObservability = exports.traceToStepGraph = exports.redactContent = exports.serializeTrace = exports.recordRun = exports.buildStepGraphFromEvents = exports.buildStepGraph = exports.attachFlowchart = exports.runStepRecorder = exports.RunStepRecorder = exports.buildRunSteps = exports.BoundaryRecorder = exports.boundaryRecorder = exports.agentRecorder = exports.compositionRecorder = exports.streamRecorder = exports.ContextRecorder = void 0;
50
50
  // Tier 1 — context + stream
51
51
  var ContextRecorder_js_1 = require("./recorders/core/ContextRecorder.js");
52
52
  Object.defineProperty(exports, "ContextRecorder", { enumerable: true, get: function () { return ContextRecorder_js_1.ContextRecorder; } });
@@ -68,6 +68,12 @@ var FlowchartRecorder_js_1 = require("./recorders/observability/FlowchartRecorde
68
68
  Object.defineProperty(exports, "attachFlowchart", { enumerable: true, get: function () { return FlowchartRecorder_js_1.attachFlowchart; } });
69
69
  Object.defineProperty(exports, "buildStepGraph", { enumerable: true, get: function () { return FlowchartRecorder_js_1.buildStepGraph; } });
70
70
  Object.defineProperty(exports, "buildStepGraphFromEvents", { enumerable: true, get: function () { return FlowchartRecorder_js_1.buildStepGraphFromEvents; } });
71
+ // recordRun — save a run so a viewer can show it later. THE producer for
72
+ // `{ snapshot, events, structure }`: the timeline, the state, and the chart,
73
+ // which is the shape the UIs consume (lens's `observeRecording`) and the one
74
+ // every integration used to assemble by hand, each missing a different piece.
75
+ var recordRun_js_1 = require("./recorders/observability/recordRun.js");
76
+ Object.defineProperty(exports, "recordRun", { enumerable: true, get: function () { return recordRun_js_1.recordRun; } });
71
77
  // Offline replay: freeze a live run model into a UI-free, JSON-lossless Trace
72
78
  // (redaction applied at the serialize boundary). agentfootprint-lens's <Replay>
73
79
  // rehydrates it. See docs/design/local-observability-and-pii.md.
@@ -75,7 +81,9 @@ var trace_js_1 = require("./recorders/observability/trace.js");
75
81
  Object.defineProperty(exports, "serializeTrace", { enumerable: true, get: function () { return trace_js_1.serializeTrace; } });
76
82
  Object.defineProperty(exports, "redactContent", { enumerable: true, get: function () { return trace_js_1.redactContent; } });
77
83
  Object.defineProperty(exports, "traceToStepGraph", { enumerable: true, get: function () { return trace_js_1.traceToStepGraph; } });
78
- // localObservability — Tier-3 retain: live <Lens> + offline getTrace()/onComplete.
84
+ // localObservability — Tier-3 retain: live onLive(graph) + offline
85
+ // getTrace()/onRecorded. NOT a Lens recorder — to render a run in Lens, use
86
+ // `recordRun` above and lens's `observeRecording`.
79
87
  var localObservability_js_1 = require("./recorders/observability/localObservability.js");
80
88
  Object.defineProperty(exports, "attachLocalObservability", { enumerable: true, get: function () { return localObservability_js_1.attachLocalObservability; } });
81
89
  var LiveStateRecorder_js_1 = require("./recorders/observability/LiveStateRecorder.js");
@@ -99,6 +107,12 @@ var PermissionRecorder_js_1 = require("./recorders/core/PermissionRecorder.js");
99
107
  Object.defineProperty(exports, "permissionRecorder", { enumerable: true, get: function () { return PermissionRecorder_js_1.permissionRecorder; } });
100
108
  var SkillRecorder_js_1 = require("./recorders/core/SkillRecorder.js");
101
109
  Object.defineProperty(exports, "skillRecorder", { enumerable: true, get: function () { return SkillRecorder_js_1.skillRecorder; } });
110
+ // Provider-decorator telemetry (fallback.triggered / error.retried /
111
+ // error.recovered). Attached automatically by Agent / LLMCall / Parallel;
112
+ // exported so consumers running the public message-api charts on a bare
113
+ // FlowChartExecutor can wire the bridge themselves.
114
+ var ResilienceRecorder_js_1 = require("./recorders/core/ResilienceRecorder.js");
115
+ Object.defineProperty(exports, "resilienceRecorder", { enumerable: true, get: function () { return ResilienceRecorder_js_1.resilienceRecorder; } });
102
116
  var LoggingRecorder_js_1 = require("./recorders/observability/LoggingRecorder.js");
103
117
  Object.defineProperty(exports, "attachLogging", { enumerable: true, get: function () { return LoggingRecorder_js_1.attachLogging; } });
104
118
  Object.defineProperty(exports, "LoggingDomains", { enumerable: true, get: function () { return LoggingRecorder_js_1.LoggingDomains; } });
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AAEH,4BAA4B;AAC5B,0EAAmG;AAA1F,qHAAA,eAAe,OAAA;AACxB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AAEvB,+BAA+B;AAC/B,kFAGiD;AAF/C,6HAAA,mBAAmB,OAAA;AAGrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,qFAkBuD;AAjBrD,uHAAA,gBAAgB,OAAA;AAChB,uHAAA,gBAAgB,OAAA;AAiBlB,mFAWsD;AAVpD,mHAAA,aAAa,OAAA;AACb,qHAAA,eAAe,OAAA;AACf,qHAAA,eAAe,OAAA;AASjB,uFAWwD;AAVtD,uHAAA,eAAe,OAAA;AACf,sHAAA,cAAc,OAAA;AACd,gIAAA,wBAAwB,OAAA;AAU1B,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,+DAQ4C;AAP1C,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAOlB,mFAAmF;AACnF,yFAIyD;AAHvD,iIAAA,wBAAwB,OAAA;AAK1B,uFAUwD;AATtD,yHAAA,iBAAiB,OAAA;AACjB,yHAAA,iBAAiB,OAAA;AACjB,sHAAA,cAAc,OAAA;AACd,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AAOtB,6BAA6B;AAC7B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,4FAGsD;AAFpD,uIAAA,wBAAwB,OAAA;AAG1B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AACvB,gFAGgD;AAF9C,2HAAA,kBAAkB,OAAA;AAGpB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,mFAMsD;AALpD,mHAAA,aAAa,OAAA;AACb,oHAAA,cAAc,OAAA;AAKhB,iFAIqD;AAHnD,iHAAA,YAAY,OAAA;AAId,4EAA4E;AAC5E,gFAAgF;AAChF,2FAO0D;AANxD,6HAAA,mBAAmB,OAAA;AAOrB,gFAAgF;AAChF,gFAAgF;AAChF,yGASiE;AAR/D,mIAAA,kBAAkB,OAAA;AAUpB,uDAAuD;AACvD,8DAA0D;AAAjD,yGAAA,SAAS,OAAA;AAElB,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,6CAA2B;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,yFASyD;AARvD,2HAAA,kBAAkB,OAAA;AAClB,2HAAA,kBAAkB,OAAA;AASpB,+EASoD;AARlD,iHAAA,aAAa,OAAA;AACb,kHAAA,cAAc,OAAA;AAShB,sEAAsE;AACtE,4EAA4E;AAC5E,+CAA+C;AAC/C,0DAKuC;AAJrC,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AAEH,4BAA4B;AAC5B,0EAAmG;AAA1F,qHAAA,eAAe,OAAA;AACxB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AAEvB,+BAA+B;AAC/B,kFAGiD;AAF/C,6HAAA,mBAAmB,OAAA;AAGrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,qFAoBuD;AAnBrD,uHAAA,gBAAgB,OAAA;AAChB,uHAAA,gBAAgB,OAAA;AAmBlB,mFAWsD;AAVpD,mHAAA,aAAa,OAAA;AACb,qHAAA,eAAe,OAAA;AACf,qHAAA,eAAe,OAAA;AASjB,uFAWwD;AAVtD,uHAAA,eAAe,OAAA;AACf,sHAAA,cAAc,OAAA;AACd,gIAAA,wBAAwB,OAAA;AAU1B,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAKgD;AAJ9C,yGAAA,SAAS,OAAA;AAMX,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,+DAQ4C;AAP1C,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAOlB,mEAAmE;AACnE,4EAA4E;AAC5E,mDAAmD;AACnD,yFAIyD;AAHvD,iIAAA,wBAAwB,OAAA;AAK1B,uFAUwD;AATtD,yHAAA,iBAAiB,OAAA;AACjB,yHAAA,iBAAiB,OAAA;AACjB,sHAAA,cAAc,OAAA;AACd,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AAOtB,6BAA6B;AAC7B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,4FAGsD;AAFpD,uIAAA,wBAAwB,OAAA;AAG1B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AACvB,gFAGgD;AAF9C,2HAAA,kBAAkB,OAAA;AAGpB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,oDAAoD;AACpD,gFAGgD;AAF9C,2HAAA,kBAAkB,OAAA;AAGpB,mFAMsD;AALpD,mHAAA,aAAa,OAAA;AACb,oHAAA,cAAc,OAAA;AAKhB,iFAIqD;AAHnD,iHAAA,YAAY,OAAA;AAId,4EAA4E;AAC5E,gFAAgF;AAChF,2FAO0D;AANxD,6HAAA,mBAAmB,OAAA;AAOrB,gFAAgF;AAChF,gFAAgF;AAChF,yGASiE;AAR/D,mIAAA,kBAAkB,OAAA;AAUpB,uDAAuD;AACvD,8DAA0D;AAAjD,yGAAA,SAAS,OAAA;AAElB,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,6CAA2B;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,yFASyD;AARvD,2HAAA,kBAAkB,OAAA;AAClB,2HAAA,kBAAkB,OAAA;AASpB,+EASoD;AARlD,iHAAA,aAAa,OAAA;AACb,kHAAA,cAAc,OAAA;AAShB,sEAAsE;AACtE,4EAA4E;AAC5E,+CAA+C;AAC/C,0DAKuC;AAJrC,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,uGAAA,WAAW,OAAA"}
@@ -16,18 +16,19 @@ const eventMeta_js_1 = require("../../bridge/eventMeta.js");
16
16
  class EmitBridge {
17
17
  id;
18
18
  dispatcher;
19
- prefix;
19
+ prefixes;
20
20
  getRunContext;
21
21
  constructor(options) {
22
22
  this.dispatcher = options.dispatcher;
23
23
  this.id = options.id;
24
- this.prefix = options.prefix;
24
+ this.prefixes = typeof options.prefix === 'string' ? [options.prefix] : options.prefix;
25
25
  this.getRunContext = options.getRunContext;
26
26
  }
27
27
  onEmit(event) {
28
28
  if (typeof event.name !== 'string')
29
29
  return;
30
- if (!event.name.startsWith(this.prefix))
30
+ const name = event.name;
31
+ if (!this.prefixes.some((p) => name.startsWith(p)))
31
32
  return;
32
33
  const type = event.name;
33
34
  if (!this.dispatcher.hasListenersFor(type))
@@ -1 +1 @@
1
- {"version":3,"file":"EmitBridge.js","sourceRoot":"","sources":["../../../src/recorders/core/EmitBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4DAA4E;AAW5E,MAAa,UAAU;IACZ,EAAE,CAAS;IACH,UAAU,CAAkB;IAC5B,MAAM,CAAS;IACf,aAAa,CAAmB;IAEjD,YAAY,OAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO;QAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAqE,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAA,6BAAc,EACzB,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EACxE,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI;YACJ,OAAO;YACP,IAAI;SAC8C,CAAC,CAAC;IACxD,CAAC;CACF;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"EmitBridge.js","sourceRoot":"","sources":["../../../src/recorders/core/EmitBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4DAA4E;AAiB5E,MAAa,UAAU;IACZ,EAAE,CAAS;IACH,UAAU,CAAkB;IAC5B,QAAQ,CAAoB;IAC5B,aAAa,CAAmB;IAEjD,YAAY,OAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO;QAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAqE,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAA,6BAAc,EACzB,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EACxE,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI;YACJ,OAAO;YACP,IAAI;SAC8C,CAAC,CAAC;IACxD,CAAC;CACF;AAhCD,gCAgCC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * ResilienceRecorder — forwards the provider-decorator telemetry family
4
+ * to the dispatcher.
5
+ *
6
+ * Pattern: Factory (GoF) returning an EmitBridge instance.
7
+ * Role: Bridges the three events the resilience decorators source
8
+ * (`fallback.triggered` / `error.retried` / `error.recovered`,
9
+ * emitted in-run by `resilienceHooks` via `typedEmit`) to the
10
+ * EventDispatcher so typed consumer listeners
11
+ * (`agent.on('agentfootprint.error.retried', …)`) fire. Without
12
+ * this bridge those emits hit the footprintjs emit channel but
13
+ * never reach the dispatcher.
14
+ * Emits: agentfootprint.fallback.triggered
15
+ * agentfootprint.error.retried
16
+ * agentfootprint.error.recovered
17
+ *
18
+ * Matched on EXACT full event names rather than the broader
19
+ * `agentfootprint.error.` prefix. `error.fatal` is dispatched directly by
20
+ * ErrorBridge (from footprintjs's `onRunFailed`, never via `$emit`), so a
21
+ * broad prefix would be harmless today — the exact names close the
22
+ * double-dispatch trap outright if that ever changes.
23
+ *
24
+ * NOTE: this is the DECORATOR family (fixed `maxAttempts` + exponential
25
+ * backoff). The rules-based reliability loop's dynamic decisions ride the
26
+ * `reliability.*` family and its own bridge — the two legitimately
27
+ * interleave in one stage but stay distinct. See docs/MENTAL_MODEL.md §14.
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.resilienceRecorder = void 0;
31
+ const EmitBridge_js_1 = require("./EmitBridge.js");
32
+ function resilienceRecorder(options) {
33
+ return new EmitBridge_js_1.EmitBridge({
34
+ id: options.id ?? 'agentfootprint.resilience-recorder',
35
+ prefix: [
36
+ 'agentfootprint.fallback.triggered',
37
+ 'agentfootprint.error.retried',
38
+ 'agentfootprint.error.recovered',
39
+ ],
40
+ dispatcher: options.dispatcher,
41
+ getRunContext: options.getRunContext,
42
+ });
43
+ }
44
+ exports.resilienceRecorder = resilienceRecorder;
45
+ //# sourceMappingURL=ResilienceRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResilienceRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/ResilienceRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,mDAAqE;AAMrE,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,OAAO,IAAI,0BAAU,CAAC;QACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,oCAAoC;QACtD,MAAM,EAAE;YACN,mCAAmC;YACnC,8BAA8B;YAC9B,gCAAgC;SACjC;QACD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAXD,gDAWC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * resilienceHooks — turns a resilience decorator's `ResilienceReport`
4
+ * into an already-declared typed event, emitted from inside the run.
5
+ *
6
+ * Pattern: Adapter (GoF) — one translation function, fact → event.
7
+ * Role: The seam between `src/resilience/` (which knows nothing about
8
+ * runs, scopes or events) and the in-run LLM call sites (which
9
+ * hold a live scope). The decorator REPORTS; this maps the
10
+ * report to `typedEmit`, so correlation ids come from
11
+ * footprintjs's traversal rather than being synthesized.
12
+ * Emits: agentfootprint.fallback.triggered
13
+ * agentfootprint.error.retried
14
+ * agentfootprint.error.recovered
15
+ *
16
+ * Why here and not in the decorators: a decorator is constructed by the
17
+ * consumer BEFORE any run exists, so it can never reach a scope. Passing
18
+ * the hooks object per call is what lets the report cross that boundary.
19
+ *
20
+ * Every declared payload field is filled from a report field of the same
21
+ * name — nothing is synthesized. `FallbackTriggeredPayload.kind` is the
22
+ * literal `'provider'`; its `'tool'`/`'skill'` arms stay unused.
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.resilienceHooks = void 0;
26
+ const typedEmit_js_1 = require("./typedEmit.js");
27
+ /**
28
+ * Build the per-call hooks object for one stage. Hoist it once per stage
29
+ * rather than per attempt — it is stateless and safe to reuse across
30
+ * reliability-loop iterations.
31
+ *
32
+ * @example
33
+ * const providerHooks = resilienceHooks(scope);
34
+ * const response = await provider.complete(request, providerHooks);
35
+ */
36
+ function resilienceHooks(scope) {
37
+ return {
38
+ onResilience(report) {
39
+ // The library owns THIS sink, and it is the only one that runs
40
+ // in-run — so guard it once here. Telemetry must never break an
41
+ // LLM call (footprintjs's "recorder errors never abort traversal"
42
+ // invariant). A CONSUMER-supplied onResilience is deliberately
43
+ // unguarded, matching onRetry/onFallback/onStateChange.
44
+ try {
45
+ switch (report.kind) {
46
+ case 'fell-back':
47
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.fallback.triggered', {
48
+ kind: 'provider',
49
+ primary: report.primary,
50
+ fallback: report.fallback,
51
+ reason: report.reason,
52
+ });
53
+ return;
54
+ case 'retried':
55
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.error.retried', {
56
+ attempt: report.attempt,
57
+ maxAttempts: report.maxAttempts,
58
+ lastError: report.lastError,
59
+ backoffMs: report.backoffMs,
60
+ reason: report.reason,
61
+ });
62
+ return;
63
+ case 'recovered':
64
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.error.recovered', {
65
+ attempt: report.attempt,
66
+ totalDurationMs: report.totalDurationMs,
67
+ });
68
+ return;
69
+ }
70
+ }
71
+ catch {
72
+ // Swallowed by design — see the comment above.
73
+ }
74
+ },
75
+ };
76
+ }
77
+ exports.resilienceHooks = resilienceHooks;
78
+ //# 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,iDAA+D;AAE/D;;;;;;;;GAQG;AACH,SAAgB,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,IAAA,wBAAS,EAAC,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,IAAA,wBAAS,EAAC,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,IAAA,wBAAS,EAAC,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;AAvCD,0CAuCC"}
@@ -54,11 +54,35 @@
54
54
  * design follows the React Fiber + OpenTelemetry pattern:
55
55
  * **producers self-describe; consumers dispatch on type**.
56
56
  *
57
+ * WIRING — THREE PARTS, ALL AT RECORD TIME
58
+ * ────────────────────────────────────────
59
+ * This recorder hears half a run per connection, and the half it misses
60
+ * cannot be reconstructed afterwards. All three go on BEFORE `run()`:
61
+ *
62
+ * 1. `runner.attach(boundary)` — the footprintjs control-flow channel:
63
+ * run / subflow entry and exit, forks, decisions, loops. Without it
64
+ * there are no boundaries at all.
65
+ * 2. `boundary.subscribe(runner)` — the agentfootprint typed stream:
66
+ * `llm.*`, `tool.*`, `context.injected`. Without it the boundaries
67
+ * have no content: no model calls, no tool calls, no injections.
68
+ * 3. `{ getCommitCount }` — where each boundary sits on the commit
69
+ * axis. Without it every event is stamped `commitIdxBefore: 0` and
70
+ * the step strip cannot be rebuilt from the recording later. This
71
+ * one fails SILENTLY — the events all look fine.
72
+ *
73
+ * There is no after-the-fact fix for any of the three: a completed run
74
+ * leaves a snapshot and a commit log, and neither says where a boundary
75
+ * opened relative to the commits. `recordRun(runner)` does all three and
76
+ * hands back `{ snapshot, events, structure }` — reach for it first, and
77
+ * wire by hand only when you need a shape it doesn't produce.
78
+ *
57
79
  * @example
58
80
  * ```typescript
59
81
  * import { boundaryRecorder, EventDispatcher } from 'agentfootprint';
60
82
  *
61
- * const boundary = boundaryRecorder();
83
+ * const boundary = boundaryRecorder({
84
+ * getCommitCount: () => executor.getCommitCount(), // the commit axis
85
+ * });
62
86
  * const dispatcher = new EventDispatcher();
63
87
  * executor.attachCombinedRecorder(boundary); // wires FlowRecorder side
64
88
  * boundary.subscribe(dispatcher); // wires typed-event side
@@ -82,6 +106,37 @@ exports.BoundaryRecorder = exports.boundaryRecorder = void 0;
82
106
  const trace_1 = require("footprintjs/trace");
83
107
  const conventions_js_1 = require("../../conventions.js");
84
108
  const observeRunId_js_1 = require("./observeRunId.js");
109
+ // ─── Lean projection ─────────────────────────────────────────────────
110
+ /**
111
+ * The `DomainEvent` fields that carry captured run CONTENT — what the
112
+ * agent read, produced, and handed across a boundary — as opposed to
113
+ * run STRUCTURE (where a boundary was, when, of what kind). These are
114
+ * the fields `snapshot: 'lean'` drops.
115
+ *
116
+ * They are also exactly the fields `buildStepGraphFromEvents` turns
117
+ * into StepNode content (`entryPayload` / `exitPayload` /
118
+ * `contentSummary` / `assistantText` / `toolArgs` / `toolResult`) —
119
+ * which is why dropping them is opt-in rather than the default.
120
+ *
121
+ * When you add a field to a `Domain*Event`, decide:
122
+ * - Does it hold data the agent handled (unbounded, redaction-
123
+ * relevant)? → add it HERE
124
+ * - Does it say where/when/what-kind the boundary was? → leave it out
125
+ *
126
+ * Forgetting to add one means a lean snapshot still ships that content
127
+ * — silently, since nothing else references the field.
128
+ *
129
+ * Two free-text fields deliberately stay OUT of this set: `rationale`
130
+ * on `decision.branch` and `reason` on `context.injected`. They are
131
+ * short capture-time annotations saying WHY a boundary happened, and a
132
+ * lean bundle loses most of its explanatory value without them — but a
133
+ * decider that interpolates run values into its rationale does put that
134
+ * text in a lean artifact. Lean means "no captured payloads", not "no
135
+ * free text at all"; say so wherever lean is offered as a redaction
136
+ * story.
137
+ */
138
+ const CONTENT_FIELDS = ['payload', 'args', 'result', 'content', 'contentSummary'];
139
+ const CONTENT_FIELD_SET = new Set(CONTENT_FIELDS);
85
140
  /** Closed set of routing/wrapper subflow IDs that are pure plumbing.
86
141
  * Slot subflows (`sf-system-prompt` / `sf-messages` / `sf-tools`) are
87
142
  * NOT in this set — they're real context-engineering moments.
@@ -222,6 +277,10 @@ class BoundaryRecorder {
222
277
  * zero-width [0,0] ranges would mislead consumers querying the
223
278
  * index. Multi-panel review flagged this footgun. */
224
279
  hasCommitTracking;
280
+ /** Snapshot verbosity — see `BoundaryRecorderOptions.snapshot`. Only
281
+ * `toSnapshot()` reads it; the live event stream from `getEvents()`
282
+ * is always full, so in-process consumers are never affected. */
283
+ snapshotMode;
225
284
  /**
226
285
  * Tracks whether the most recent `llm.end` had toolCalls. Used to
227
286
  * classify the NEXT `llm.start` as `'tool→llm'` (vs `'user→llm'` if
@@ -265,6 +324,7 @@ class BoundaryRecorder {
265
324
  });
266
325
  constructor(options = {}) {
267
326
  this.id = options.id ?? `boundary-${++_counter}`;
327
+ this.snapshotMode = options.snapshot ?? 'full';
268
328
  this.hasCommitTracking = options.getCommitCount !== undefined;
269
329
  const raw = options.getCommitCount;
270
330
  this.getCommitCount = raw === undefined ? () => 0 : () => sanitizeCommitCount(raw());
@@ -453,15 +513,22 @@ class BoundaryRecorder {
453
513
  }
454
514
  // ── Typed-event subscription (agentfootprint dispatcher side) ───────
455
515
  /**
456
- * Subscribe to the runner's typed-event dispatcher and emit a domain
457
- * event for each `llm.*` / `tool.*` / `context.injected` event.
516
+ * Subscribe to the run's typed events and emit a domain event for each
517
+ * `llm.*` / `tool.*` / `context.injected` one. This is the recorder's
518
+ * SECOND half — `runner.attach(...)` supplies the boundaries, this
519
+ * supplies what happened inside them. Wire both, before the run.
520
+ *
521
+ * Takes anything that offers a wildcard subscription, which a public
522
+ * `Runner` does as readily as the internal `EventDispatcher` — so a
523
+ * consumer never has to reach past `runner.on` for a dispatcher it
524
+ * isn't given.
458
525
  *
459
526
  * Returns an unsubscribe function; safe to call multiple times (each
460
527
  * call adds a new subscription). Most consumers call this once at
461
528
  * recorder construction and dispose with the returned function.
462
529
  */
463
- subscribe(dispatcher) {
464
- return dispatcher.on('*', (event) => this.ingestTypedEvent(event));
530
+ subscribe(source) {
531
+ return source.on('*', (event) => this.ingestTypedEvent(event));
465
532
  }
466
533
  ingestTypedEvent(event) {
467
534
  // NOTE: deliberately does NOT call observeRunId(event.meta.runId).
@@ -805,18 +872,62 @@ class BoundaryRecorder {
805
872
  return out;
806
873
  }
807
874
  /** Snapshot bundle — included in `executor.getSnapshot()` if the
808
- * executor implements the snapshot extension protocol. */
875
+ * executor implements the snapshot extension protocol.
876
+ *
877
+ * Under `snapshot: 'lean'` the bundle carries structure only, and
878
+ * `meta.mode` says so. That field is the whole point: an offline
879
+ * consumer holding a lean bundle can then SAY "this recording carries
880
+ * structure only" instead of drawing empty detail panels, because
881
+ * `buildStepGraphFromEvents()` restores step content from this bundle
882
+ * and nowhere else. `description` still carries the same fact in
883
+ * prose for a human reading the JSON — but prose is not something
884
+ * code branches on, and the readers that had to string-match it
885
+ * didn't.
886
+ *
887
+ * `meta` reaches `getSnapshot().recorders[i].meta` on footprintjs
888
+ * 9.12+, which copies it through; older engines rebuild the row
889
+ * without it and the field is dropped in transit. It is always on the
890
+ * value THIS method returns, so a producer holding the recorder
891
+ * (`recordRun`) can read it either way.
892
+ *
893
+ * `data` is annotated rather than inferred: a lean event is a
894
+ * structural SUPERtype of a full one, so inference collapses the
895
+ * union to `LeanDomainEvent[]` and full-mode callers silently lose
896
+ * `payload` / `content` / … from the type. Narrow on the mode you
897
+ * configured. */
809
898
  toSnapshot() {
899
+ const lean = this.snapshotMode === 'lean';
810
900
  return {
811
901
  name: 'BoundaryEvents',
812
- description: 'Unified domain event log — run/subflow boundaries + LLM/tool/context events',
902
+ description: lean
903
+ ? 'Unified domain event log, lean — run/subflow boundaries + LLM/tool/context events, without captured content'
904
+ : 'Unified domain event log — run/subflow boundaries + LLM/tool/context events',
813
905
  preferredOperation: 'translate',
814
- data: this.getEvents(),
906
+ data: lean ? this.getEvents().map(stripContent) : this.getEvents(),
907
+ meta: { mode: this.snapshotMode },
815
908
  };
816
909
  }
817
910
  }
818
911
  exports.BoundaryRecorder = BoundaryRecorder;
819
912
  // ── Internal helpers ─────────────────────────────────────────────────
913
+ /**
914
+ * Copy an event without its `CONTENT_FIELDS`. Allow-list by omission
915
+ * rather than a per-type rewrite so a newly added STRUCTURAL field
916
+ * reaches lean consumers without a second edit here — the asymmetry is
917
+ * deliberate, and the one direction it gets wrong (a new content field
918
+ * silently surviving) is pinned by a test on `CONTENT_FIELDS`.
919
+ *
920
+ * Builds a new object; the stored event is never mutated, so a lean
921
+ * `toSnapshot()` leaves the live stream from `getEvents()` untouched.
922
+ */
923
+ function stripContent(event) {
924
+ const lean = {};
925
+ for (const [key, value] of Object.entries(event)) {
926
+ if (!CONTENT_FIELD_SET.has(key))
927
+ lean[key] = value;
928
+ }
929
+ return lean;
930
+ }
820
931
  function buildRunEvent(type, payload, commitIdxBefore) {
821
932
  return {
822
933
  type,