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
@@ -1,3 +1,32 @@
1
+ /**
2
+ * Native output size of every OpenAI embedding model, so `.dimensions` reports
3
+ * the truth instead of one hard-coded guess.
4
+ *
5
+ * Sources: OpenAI embeddings guide — text-embedding-3-small "By default, the
6
+ * length of the embedding vector is 1536", text-embedding-3-large "3072"
7
+ * (https://developers.openai.com/api/docs/guides/embeddings); Microsoft Learn's
8
+ * Azure OpenAI model table, "Output Dimensions" column, for ada-002 = 1,536
9
+ * (https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/models).
10
+ */
11
+ const NATIVE_DIMENSIONS = {
12
+ 'text-embedding-3-small': 1536,
13
+ 'text-embedding-3-large': 3072,
14
+ 'text-embedding-ada-002': 1536,
15
+ };
16
+ /**
17
+ * OpenAI's hosted embeddings endpoint.
18
+ *
19
+ * `.dimensions` is the length callers WILL get back, never an assumption:
20
+ * an explicit `{ dimensions }` is sent to the API and reported; otherwise the
21
+ * model's documented native size is reported. A model outside
22
+ * {@link NATIVE_DIMENSIONS} (a gateway, a self-hosted model behind `baseURL`,
23
+ * an Azure deployment name, a future OpenAI model) has no size this library can
24
+ * know, so it is a construction-time error rather than a guess that a vector
25
+ * store would silently trust.
26
+ *
27
+ * @throws if there is no API key, or if `model` is unknown and `dimensions`
28
+ * was not supplied.
29
+ */
1
30
  export function openaiEmbedder(options = {}) {
2
31
  const apiKey = options.apiKey ??
3
32
  (typeof process !== 'undefined' ? process.env?.['OPENAI_API_KEY'] : undefined);
@@ -5,13 +34,22 @@ export function openaiEmbedder(options = {}) {
5
34
  throw new Error('openaiEmbedder: no API key — set OPENAI_API_KEY or pass { apiKey }.');
6
35
  }
7
36
  const model = options.model ?? 'text-embedding-3-small';
8
- const dimensions = options.dimensions ?? 1536;
37
+ // Only an EXPLICIT request is sent. Defaulting it and sending that would
38
+ // break ada-002 (which rejects the parameter) for callers who asked for
39
+ // nothing — the request body stays byte-identical unless you opt in.
40
+ const requested = options.dimensions;
41
+ const dimensions = requested ?? NATIVE_DIMENSIONS[model];
42
+ if (dimensions === undefined) {
43
+ throw new Error(`openaiEmbedder: unknown model '${model}' — its vector length is not something this ` +
44
+ `library can know, and reporting a wrong .dimensions silently corrupts a vector store. ` +
45
+ `Pass { dimensions } with the length that model returns.`);
46
+ }
9
47
  const url = `${options.baseURL ?? 'https://api.openai.com/v1'}/embeddings`;
10
48
  async function call(input, signal) {
11
49
  const res = await fetch(url, {
12
50
  method: 'POST',
13
51
  headers: { 'content-type': 'application/json', authorization: `Bearer ${apiKey}` },
14
- body: JSON.stringify({ model, input }),
52
+ body: JSON.stringify(requested === undefined ? { model, input } : { model, input, dimensions: requested }),
15
53
  ...(signal ? { signal } : {}),
16
54
  });
17
55
  if (!res.ok)
@@ -34,17 +72,22 @@ export function localEmbedder(options = {}) {
34
72
  const dimensions = options.dimensions ?? 384;
35
73
  const dtype = options.dtype ?? 'q8';
36
74
  let pipe;
75
+ const build = (m) => {
76
+ if (options.cacheDir && m.env && typeof m.env === 'object') {
77
+ m.env['cacheDir'] = options.cacheDir;
78
+ }
79
+ return m.pipeline('feature-extraction', model, { dtype });
80
+ };
37
81
  const getPipe = () => {
82
+ const injected = options.backend;
83
+ if (injected)
84
+ return (pipe ??= build(injected));
38
85
  // Variable specifier so the compiler/bundler does NOT resolve the module at
39
86
  // build time — @huggingface/transformers stays an optional peer dep, loaded
40
- // only when localEmbedder is actually used.
87
+ // only when localEmbedder is actually used. A bundler cannot see through
88
+ // this; bundled apps pass { backend } instead.
41
89
  const spec = '@huggingface/transformers';
42
- return (pipe ??= import(spec).then((mod) => {
43
- const m = mod;
44
- if (options.cacheDir)
45
- m.env['cacheDir'] = options.cacheDir;
46
- return m.pipeline('feature-extraction', model, { dtype });
47
- }));
90
+ return (pipe ??= import(spec).then((mod) => build(mod)));
48
91
  };
49
92
  return {
50
93
  dimensions,
@@ -64,24 +107,29 @@ export function staticEmbedder(options = {}) {
64
107
  const dimensions = options.dimensions ?? 256;
65
108
  const spec = options.module ?? '@yarflam/potion-base-8m';
66
109
  let embedFn;
110
+ // potion-base-8m exports `embed(texts) => Promise<Float32Array[]>` (a batch
111
+ // async fn, also on its default export). Accept a small set of shapes so
112
+ // other Model2Vec builds slot in: a named `embed`/`encode` on the module or
113
+ // its default, or a default export that IS the fn.
114
+ const pick = (mod, source) => {
115
+ const m = mod;
116
+ const d = (m.default ?? {});
117
+ const fn = m['embed'] ??
118
+ d['embed'] ??
119
+ m['encode'] ??
120
+ d['encode'] ??
121
+ (typeof m.default === 'function' ? m.default : undefined);
122
+ if (!fn) {
123
+ throw new Error(`staticEmbedder: no embed()/encode() export on ${source}. Pass { module } or wrap it in your own Embedder.`);
124
+ }
125
+ return fn;
126
+ };
67
127
  const getEmbed = () => {
68
- return (embedFn ??= import(spec).then((mod) => {
69
- // potion-base-8m exports `embed(texts) => Promise<Float32Array[]>` (a batch
70
- // async fn, also on its default export). Accept a small set of shapes so
71
- // other Model2Vec builds slot in: a named `embed`/`encode` on the module or
72
- // its default, or a default export that IS the fn.
73
- const m = mod;
74
- const d = (m.default ?? {});
75
- const fn = m['embed'] ??
76
- d['embed'] ??
77
- m['encode'] ??
78
- d['encode'] ??
79
- (typeof m.default === 'function' ? m.default : undefined);
80
- if (!fn) {
81
- throw new Error(`staticEmbedder: no embed()/encode() export on '${spec}'. Pass { module } or wrap it in your own Embedder.`);
82
- }
83
- return fn;
84
- }));
128
+ const injected = options.backend;
129
+ if (injected) {
130
+ return (embedFn ??= Promise.resolve(pick(injected, 'the module passed as { backend }')));
131
+ }
132
+ return (embedFn ??= import(spec).then((mod) => pick(mod, `'${spec}'`)));
85
133
  };
86
134
  // Normalize a batch result into number[][] (one row per input). Handles
87
135
  // Float32Array[] (potion), number[][], and a single flat vector for the call.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -133,15 +133,15 @@ export * from './patterns/index.js';
133
133
  // Thin sugar over `defineMemory({ type: SEMANTIC, strategy: TOP_K })`
134
134
  // plus the `indexDocuments` helper for seeding the corpus at startup.
135
135
  export { defineRAG, indexDocuments, } from './lib/rag/index.js';
136
- // MCP — Model Context Protocol client. Connect to MCP servers and
137
- // expose their tools as agentfootprint Tool[] for `agent.tools(...)`.
138
- // `@modelcontextprotocol/sdk` is a lazy-required peer-dep (no runtime
139
- // cost when MCP isn't used).
140
- // Tool dispatch primitives (v2.5+). New `agentfootprint/tool-providers`
141
- // subpath bundles tool sources (mcpClient / mockMcpClient) with tool
142
- // dispatch primitives (staticTools / gatedTools) so consumers find
143
- // "everything tool-related" in one place. Top-level barrel re-exports
144
- // the dispatch primitives too — `mcpClient` already re-exports above.
136
+ // MCP + tool dispatch. Tool sources — `mcpClient` / `mockMcpClient`,
137
+ // which connect to a Model Context Protocol server and expose its tools
138
+ // as agentfootprint `Tool[]` for `agent.tools(...)` — and the dispatch
139
+ // primitives `staticTools` / `gatedTools` / `skillScopedTools` live
140
+ // ONLY under `agentfootprint/tool-providers`: one subpath for
141
+ // everything tool-related, so the main barrel stays focused on the core
142
+ // agent API. NONE of them are re-exported here.
143
+ // `@modelcontextprotocol/sdk` stays a lazy-required peer-dep, so an app
144
+ // that never touches MCP pays nothing for the subpath existing.
145
145
  // Cross-cutting authorization (v2.5+). `agentfootprint/security` is the
146
146
  // dedicated subpath; the root barrel also re-exports `PermissionPolicy`
147
147
  // so existing v2.4 consumers find it at the top level.
@@ -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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"}
@@ -69,6 +69,13 @@ export interface QualityTriggerLookup {
69
69
  * runtimeStageId in the report drills straight into the toolpack tools.
70
70
  *
71
71
  * - `snapshot` — `executor.getSnapshot()` / `agent.getLastSnapshot()`.
72
+ * - `structure` — OPTIONAL `runner.getSpec().buildTimeStructure`. Not read
73
+ * by the localizer, which works entirely off the commit log — it is here
74
+ * so that this bag is a complete RECORDING (`{ snapshot, events,
75
+ * structure }`) and the same literal that localizes a bad answer can also
76
+ * DRAW the run it came from. Without it the evidence is complete for
77
+ * analysis and mute for viewing: a snapshot carries no chart, and a
78
+ * finished run cannot produce one afterwards.
72
79
  * - `controlDeps` — OPTIONAL `controlDepRecorder().asLookup()` from the
73
80
  * run. With it, the slice includes `[control: <rule label>]` edges to
74
81
  * the deciders that routed execution. Without it, the report carries the
@@ -82,6 +89,8 @@ export interface QualityTriggerLookup {
82
89
  */
83
90
  export interface ContextBugArtifacts {
84
91
  readonly snapshot: RuntimeSnapshot;
92
+ /** The run's build-time chart — carried so the evidence can also be drawn. */
93
+ readonly structure?: unknown;
85
94
  readonly controlDeps?: ControlDepLookup;
86
95
  readonly quality?: QualityTriggerLookup;
87
96
  readonly events?: readonly CapturedEventLike[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAiaH,wEAAwE;AAExE,MAAM,CAAC,MAAM,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;AAExE,MAAM,CAAC,MAAM,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"}
@@ -135,7 +135,16 @@ class RecordedChatSession {
135
135
  reply: out,
136
136
  message,
137
137
  transcriptBefore,
138
- artifacts: Object.freeze({ snapshot, events: Object.freeze(events) }),
138
+ artifacts: Object.freeze({
139
+ snapshot,
140
+ events: Object.freeze(events),
141
+ // The third piece of a recording: the chart. Captured from the
142
+ // per-turn agent HERE, because that agent is discarded on the next
143
+ // line and its spec goes with it — and nothing can reproduce the
144
+ // chart from a finished run. With it, a stored turn both localizes
145
+ // AND draws.
146
+ structure: agent.getSpec().buildTimeStructure,
147
+ }),
139
148
  lastLlmCallId,
140
149
  identity: options?.identity,
141
150
  });
@@ -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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"}
@@ -102,10 +102,20 @@ export interface ChatTurn {
102
102
  /**
103
103
  * Localize-ready evidence: pass straight to
104
104
  * `localizeContextBug({ artifacts: turn.artifacts, ... })`.
105
+ *
106
+ * It is also a full RECORDING — `{ snapshot, events, structure }`, the
107
+ * three fields a viewer needs — so the same frozen turn that localizes a
108
+ * bad answer can be handed to Lens or ExplainableShell and drawn.
105
109
  */
106
110
  readonly artifacts: {
107
111
  readonly snapshot: RuntimeSnapshot;
108
112
  readonly events: readonly CapturedEventLike[];
113
+ /**
114
+ * The turn's build-time chart (`agent.getSpec().buildTimeStructure`),
115
+ * captured at record time — the per-turn agent is discarded right
116
+ * after, and a finished run cannot produce its chart afterwards.
117
+ */
118
+ readonly structure: unknown;
109
119
  };
110
120
  /** runtimeStageId of the turn's LAST LLM call — the default `atStep`. */
111
121
  readonly lastLlmCallId: string | undefined;
@@ -34,9 +34,10 @@ export { ContextRecorder, type ContextRecorderOptions } from './recorders/core/C
34
34
  export { streamRecorder, type StreamRecorderOptions } from './recorders/core/StreamRecorder.js';
35
35
  export { compositionRecorder, type CompositionRecorderOptions, } from './recorders/core/CompositionRecorder.js';
36
36
  export { agentRecorder, type AgentRecorderOptions } from './recorders/core/AgentRecorder.js';
37
- export { boundaryRecorder, BoundaryRecorder, type ActorArrow, type BoundaryAggregate, type BoundaryRecorderOptions, type BoundaryRangeLabel, type DomainContextInjectedEvent, type DomainDecisionBranchEvent, type DomainEvent, type DomainForkBranchEvent, type DomainLLMEndEvent, type DomainLLMStartEvent, type DomainLoopIterationEvent, type DomainRunEvent, type DomainSubflowEvent, type DomainToolStartEvent, type DomainToolEndEvent, } from './recorders/observability/BoundaryRecorder.js';
37
+ export { boundaryRecorder, BoundaryRecorder, type ActorArrow, type BoundaryAggregate, type BoundaryRecorderOptions, type BoundaryRangeLabel, type DomainContextInjectedEvent, type DomainDecisionBranchEvent, type DomainEvent, type DomainForkBranchEvent, type DomainLLMEndEvent, type DomainLLMStartEvent, type DomainLoopIterationEvent, type DomainRunEvent, type DomainSubflowEvent, type DomainToolStartEvent, type DomainToolEndEvent, type LeanDomainEvent, type TypedEventSource, } from './recorders/observability/BoundaryRecorder.js';
38
38
  export { buildRunSteps, RunStepRecorder, runStepRecorder, type BuildRunStepsOptions, type RunStep, type RunStepGraph, type RunStepKind, type RunStepMeta, type RunStepRecorderOptions, type RunStepTransition, } from './recorders/observability/RunStepRecorder.js';
39
39
  export { attachFlowchart, buildStepGraph, buildStepGraphFromEvents, type StepGraph, type StepNode, type StepEdge, type SlotBoundary, type ContextInjection, type FlowchartOptions, type FlowchartHandle, } from './recorders/observability/FlowchartRecorder.js';
40
+ export { recordRun, type Recording, type RecordRunOptions, type RunRecorder, } from './recorders/observability/recordRun.js';
40
41
  export { serializeTrace, redactContent, traceToStepGraph, type Trace, type TraceSummary, type TraceRedaction, type SerializeTraceOptions, } from './recorders/observability/trace.js';
41
42
  export { attachLocalObservability, type LocalObservabilityHandle, type LocalObservabilityOptions, } from './recorders/observability/localObservability.js';
42
43
  export { liveStateRecorder, LiveStateRecorder, LiveLLMTracker, LiveToolTracker, LiveAgentTurnTracker, type LLMLiveState, type ToolLiveState, type AgentTurnLiveState, type LiveStateRunnerLike, } from './recorders/observability/LiveStateRecorder.js';
@@ -47,6 +48,7 @@ export { evalRecorder, type EvalRecorderOptions } from './recorders/core/EvalRec
47
48
  export { memoryRecorder, type MemoryRecorderOptions } from './recorders/core/MemoryRecorder.js';
48
49
  export { permissionRecorder, type PermissionRecorderOptions, } from './recorders/core/PermissionRecorder.js';
49
50
  export { skillRecorder, type SkillRecorderOptions } from './recorders/core/SkillRecorder.js';
51
+ export { resilienceRecorder, type ResilienceRecorderOptions, } from './recorders/core/ResilienceRecorder.js';
50
52
  export { attachLogging, LoggingDomains, type LoggingLogger, type LoggingDomain, type LoggingOptions, } from './recorders/observability/LoggingRecorder.js';
51
53
  export { attachStatus, type StatusEvent, type StatusOptions, } from './recorders/observability/StatusRecorder.js';
52
54
  export { toolLineageRecorder, type ToolLineageRecorderHandle, type ToolLineageOptions, type ToolLineageGraph, type ToolLineageEdge, type ToolCallRef, } from './recorders/observability/ToolLineageRecorder.js';
@@ -39,11 +39,18 @@ export { agentRecorder } from './recorders/core/AgentRecorder.js';
39
39
  export { boundaryRecorder, BoundaryRecorder, } from './recorders/observability/BoundaryRecorder.js';
40
40
  export { buildRunSteps, RunStepRecorder, runStepRecorder, } from './recorders/observability/RunStepRecorder.js';
41
41
  export { attachFlowchart, buildStepGraph, buildStepGraphFromEvents, } from './recorders/observability/FlowchartRecorder.js';
42
+ // recordRun — save a run so a viewer can show it later. THE producer for
43
+ // `{ snapshot, events, structure }`: the timeline, the state, and the chart,
44
+ // which is the shape the UIs consume (lens's `observeRecording`) and the one
45
+ // every integration used to assemble by hand, each missing a different piece.
46
+ export { recordRun, } from './recorders/observability/recordRun.js';
42
47
  // Offline replay: freeze a live run model into a UI-free, JSON-lossless Trace
43
48
  // (redaction applied at the serialize boundary). agentfootprint-lens's <Replay>
44
49
  // rehydrates it. See docs/design/local-observability-and-pii.md.
45
50
  export { serializeTrace, redactContent, traceToStepGraph, } from './recorders/observability/trace.js';
46
- // localObservability — Tier-3 retain: live <Lens> + offline getTrace()/onComplete.
51
+ // localObservability — Tier-3 retain: live onLive(graph) + offline
52
+ // getTrace()/onRecorded. NOT a Lens recorder — to render a run in Lens, use
53
+ // `recordRun` above and lens's `observeRecording`.
47
54
  export { attachLocalObservability, } from './recorders/observability/localObservability.js';
48
55
  export { liveStateRecorder, LiveStateRecorder, LiveLLMTracker, LiveToolTracker, LiveAgentTurnTracker, } from './recorders/observability/LiveStateRecorder.js';
49
56
  // Tier 3 — domain dashboards
@@ -54,6 +61,11 @@ export { evalRecorder } from './recorders/core/EvalRecorder.js';
54
61
  export { memoryRecorder } from './recorders/core/MemoryRecorder.js';
55
62
  export { permissionRecorder, } from './recorders/core/PermissionRecorder.js';
56
63
  export { skillRecorder } from './recorders/core/SkillRecorder.js';
64
+ // Provider-decorator telemetry (fallback.triggered / error.retried /
65
+ // error.recovered). Attached automatically by Agent / LLMCall / Parallel;
66
+ // exported so consumers running the public message-api charts on a bare
67
+ // FlowChartExecutor can wire the bridge themselves.
68
+ export { resilienceRecorder, } from './recorders/core/ResilienceRecorder.js';
57
69
  export { attachLogging, LoggingDomains, } from './recorders/observability/LoggingRecorder.js';
58
70
  export { attachStatus, } from './recorders/observability/StatusRecorder.js';
59
71
  // Tool→tool DATA-FLOW graph, derived by value provenance from the tool emit
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAA+B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAEhG,+BAA+B;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAgBjB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,GAQhB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,EACd,wBAAwB,GAQzB,MAAM,gDAAgD,CAAC;AAExD,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,GAKjB,MAAM,oCAAoC,CAAC;AAE5C,mFAAmF;AACnF,OAAO,EACL,wBAAwB,GAGzB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,GAKrB,MAAM,gDAAgD,CAAC;AAExD,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,wBAAwB,GAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,cAAc,GAIf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,YAAY,GAGb,MAAM,6CAA6C,CAAC;AACrD,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EACL,mBAAmB,GAMpB,MAAM,kDAAkD,CAAC;AAC1D,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,kBAAkB,GAQnB,MAAM,yDAAyD,CAAC;AAEjE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,cAAc,YAAY,CAAC;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAOnB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,aAAa,EACb,cAAc,GAOf,MAAM,4CAA4C,CAAC;AAEpD,sEAAsE;AACtE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,GACZ,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAA+B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAEhG,+BAA+B;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAkBjB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,GAQhB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,EACd,wBAAwB,GAQzB,MAAM,gDAAgD,CAAC;AAExD,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EACL,SAAS,GAIV,MAAM,wCAAwC,CAAC;AAEhD,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,GAKjB,MAAM,oCAAoC,CAAC;AAE5C,mEAAmE;AACnE,4EAA4E;AAC5E,mDAAmD;AACnD,OAAO,EACL,wBAAwB,GAGzB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,GAKrB,MAAM,gDAAgD,CAAC;AAExD,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,wBAAwB,GAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,oDAAoD;AACpD,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,EACb,cAAc,GAIf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,YAAY,GAGb,MAAM,6CAA6C,CAAC;AACrD,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EACL,mBAAmB,GAMpB,MAAM,kDAAkD,CAAC;AAC1D,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,kBAAkB,GAQnB,MAAM,yDAAyD,CAAC;AAEjE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,cAAc,YAAY,CAAC;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAOnB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,aAAa,EACb,cAAc,GAOf,MAAM,4CAA4C,CAAC;AAEpD,sEAAsE;AACtE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,GACZ,MAAM,+BAA+B,CAAC"}
@@ -30,4 +30,4 @@ export { bedrock, BedrockProvider, type BedrockProviderOptions, } from './adapte
30
30
  export { browserAnthropic, BrowserAnthropicProvider, type BrowserAnthropicProviderOptions, } from './adapters/llm/BrowserAnthropicProvider.js';
31
31
  export { browserOpenai, BrowserOpenAIProvider, type BrowserOpenAIProviderOptions, browserAzureOpenai, BrowserAzureOpenAIProvider, type BrowserAzureOpenAIProviderOptions, } from './adapters/llm/BrowserOpenAIProvider.js';
32
32
  export { createProvider, type ProviderKind, type CreateProviderOptions, } from './adapters/llm/createProvider.js';
33
- export type { LLMProvider, LLMRequest, LLMResponse, LLMChunk, LLMMessage, LLMToolSchema, } from './adapters/types.js';
33
+ export type { LLMProvider, LLMRequest, LLMResponse, LLMChunk, LLMMessage, LLMToolSchema, LLMCallHooks, ResilienceReport, } from './adapters/types.js';
@@ -16,14 +16,20 @@ export interface EmitBridgeOptions {
16
16
  readonly dispatcher: EventDispatcher;
17
17
  /** Recorder id — must be unique among attached recorders. */
18
18
  readonly id: string;
19
- /** Event-name prefix this bridge forwards (e.g. 'agentfootprint.stream.'). */
20
- readonly prefix: string;
19
+ /**
20
+ * Event-name prefix(es) this bridge forwards (e.g.
21
+ * 'agentfootprint.stream.'). An array forwards any event matching ANY
22
+ * of them — used when one source domain spans two event families
23
+ * (`agentfootprint.fallback.` + `agentfootprint.error.`), or to match
24
+ * exact full event names rather than a whole domain.
25
+ */
26
+ readonly prefix: string | readonly string[];
21
27
  readonly getRunContext: () => RunContext;
22
28
  }
23
29
  export declare class EmitBridge implements CombinedRecorder {
24
30
  readonly id: string;
25
31
  private readonly dispatcher;
26
- private readonly prefix;
32
+ private readonly prefixes;
27
33
  private readonly getRunContext;
28
34
  constructor(options: EmitBridgeOptions);
29
35
  onEmit(event: EmitEvent): void;
@@ -13,18 +13,19 @@ import { buildEventMeta } from '../../bridge/eventMeta.js';
13
13
  export class EmitBridge {
14
14
  id;
15
15
  dispatcher;
16
- prefix;
16
+ prefixes;
17
17
  getRunContext;
18
18
  constructor(options) {
19
19
  this.dispatcher = options.dispatcher;
20
20
  this.id = options.id;
21
- this.prefix = options.prefix;
21
+ this.prefixes = typeof options.prefix === 'string' ? [options.prefix] : options.prefix;
22
22
  this.getRunContext = options.getRunContext;
23
23
  }
24
24
  onEmit(event) {
25
25
  if (typeof event.name !== 'string')
26
26
  return;
27
- if (!event.name.startsWith(this.prefix))
27
+ const name = event.name;
28
+ if (!this.prefixes.some((p) => name.startsWith(p)))
28
29
  return;
29
30
  const type = event.name;
30
31
  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,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAW5E,MAAM,OAAO,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,cAAc,CACzB,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"}
1
+ {"version":3,"file":"EmitBridge.js","sourceRoot":"","sources":["../../../../src/recorders/core/EmitBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAiB5E,MAAM,OAAO,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,cAAc,CACzB,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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ResilienceRecorder — forwards the provider-decorator telemetry family
3
+ * to the dispatcher.
4
+ *
5
+ * Pattern: Factory (GoF) returning an EmitBridge instance.
6
+ * Role: Bridges the three events the resilience decorators source
7
+ * (`fallback.triggered` / `error.retried` / `error.recovered`,
8
+ * emitted in-run by `resilienceHooks` via `typedEmit`) to the
9
+ * EventDispatcher so typed consumer listeners
10
+ * (`agent.on('agentfootprint.error.retried', …)`) fire. Without
11
+ * this bridge those emits hit the footprintjs emit channel but
12
+ * never reach the dispatcher.
13
+ * Emits: agentfootprint.fallback.triggered
14
+ * agentfootprint.error.retried
15
+ * agentfootprint.error.recovered
16
+ *
17
+ * Matched on EXACT full event names rather than the broader
18
+ * `agentfootprint.error.` prefix. `error.fatal` is dispatched directly by
19
+ * ErrorBridge (from footprintjs's `onRunFailed`, never via `$emit`), so a
20
+ * broad prefix would be harmless today — the exact names close the
21
+ * double-dispatch trap outright if that ever changes.
22
+ *
23
+ * NOTE: this is the DECORATOR family (fixed `maxAttempts` + exponential
24
+ * backoff). The rules-based reliability loop's dynamic decisions ride the
25
+ * `reliability.*` family and its own bridge — the two legitimately
26
+ * interleave in one stage but stay distinct. See docs/MENTAL_MODEL.md §14.
27
+ */
28
+ import { EmitBridge, type EmitBridgeOptions } from './EmitBridge.js';
29
+ export type ResilienceRecorderOptions = Omit<EmitBridgeOptions, 'id' | 'prefix'> & {
30
+ readonly id?: string;
31
+ };
32
+ export declare function resilienceRecorder(options: ResilienceRecorderOptions): EmitBridge;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ResilienceRecorder — forwards the provider-decorator telemetry family
3
+ * to the dispatcher.
4
+ *
5
+ * Pattern: Factory (GoF) returning an EmitBridge instance.
6
+ * Role: Bridges the three events the resilience decorators source
7
+ * (`fallback.triggered` / `error.retried` / `error.recovered`,
8
+ * emitted in-run by `resilienceHooks` via `typedEmit`) to the
9
+ * EventDispatcher so typed consumer listeners
10
+ * (`agent.on('agentfootprint.error.retried', …)`) fire. Without
11
+ * this bridge those emits hit the footprintjs emit channel but
12
+ * never reach the dispatcher.
13
+ * Emits: agentfootprint.fallback.triggered
14
+ * agentfootprint.error.retried
15
+ * agentfootprint.error.recovered
16
+ *
17
+ * Matched on EXACT full event names rather than the broader
18
+ * `agentfootprint.error.` prefix. `error.fatal` is dispatched directly by
19
+ * ErrorBridge (from footprintjs's `onRunFailed`, never via `$emit`), so a
20
+ * broad prefix would be harmless today — the exact names close the
21
+ * double-dispatch trap outright if that ever changes.
22
+ *
23
+ * NOTE: this is the DECORATOR family (fixed `maxAttempts` + exponential
24
+ * backoff). The rules-based reliability loop's dynamic decisions ride the
25
+ * `reliability.*` family and its own bridge — the two legitimately
26
+ * interleave in one stage but stay distinct. See docs/MENTAL_MODEL.md §14.
27
+ */
28
+ import { EmitBridge } from './EmitBridge.js';
29
+ export function resilienceRecorder(options) {
30
+ return new EmitBridge({
31
+ id: options.id ?? 'agentfootprint.resilience-recorder',
32
+ prefix: [
33
+ 'agentfootprint.fallback.triggered',
34
+ 'agentfootprint.error.retried',
35
+ 'agentfootprint.error.recovered',
36
+ ],
37
+ dispatcher: options.dispatcher,
38
+ getRunContext: options.getRunContext,
39
+ });
40
+ }
41
+ //# 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,OAAO,EAAE,UAAU,EAA0B,MAAM,iBAAiB,CAAC;AAMrE,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,OAAO,IAAI,UAAU,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"}
@@ -0,0 +1,34 @@
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 type { LLMCallHooks } from '../../adapters/types.js';
24
+ import { type EmitableScope } from './typedEmit.js';
25
+ /**
26
+ * Build the per-call hooks object for one stage. Hoist it once per stage
27
+ * rather than per attempt — it is stateless and safe to reuse across
28
+ * reliability-loop iterations.
29
+ *
30
+ * @example
31
+ * const providerHooks = resilienceHooks(scope);
32
+ * const response = await provider.complete(request, providerHooks);
33
+ */
34
+ export declare function resilienceHooks(scope: EmitableScope): LLMCallHooks;