agentfootprint 1.4.2 → 1.6.1

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 (83) hide show
  1. package/AGENTS.md +12 -32
  2. package/CLAUDE.md +20 -30
  3. package/README.md +1 -1
  4. package/dist/concepts/LLMCall.js +6 -0
  5. package/dist/concepts/LLMCall.js.map +1 -1
  6. package/dist/concepts/RAG.js +7 -1
  7. package/dist/concepts/RAG.js.map +1 -1
  8. package/dist/esm/concepts/LLMCall.js +6 -0
  9. package/dist/esm/concepts/LLMCall.js.map +1 -1
  10. package/dist/esm/concepts/RAG.js +7 -1
  11. package/dist/esm/concepts/RAG.js.map +1 -1
  12. package/dist/esm/executor/agentLoop.js +4 -0
  13. package/dist/esm/executor/agentLoop.js.map +1 -1
  14. package/dist/esm/index.js +6 -0
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/lib/concepts/AgentRunner.js +57 -62
  17. package/dist/esm/lib/concepts/AgentRunner.js.map +1 -1
  18. package/dist/esm/lib/instructions/InstructionRecorder.js +6 -2
  19. package/dist/esm/lib/instructions/InstructionRecorder.js.map +1 -1
  20. package/dist/esm/observe.barrel.js +2 -0
  21. package/dist/esm/observe.barrel.js.map +1 -1
  22. package/dist/esm/providers.barrel.js +1 -1
  23. package/dist/esm/providers.barrel.js.map +1 -1
  24. package/dist/esm/recorders/CostRecorder.js +20 -16
  25. package/dist/esm/recorders/CostRecorder.js.map +1 -1
  26. package/dist/esm/recorders/ExplainRecorder.js +4 -0
  27. package/dist/esm/recorders/ExplainRecorder.js.map +1 -1
  28. package/dist/esm/recorders/RecorderBridge.js +11 -5
  29. package/dist/esm/recorders/RecorderBridge.js.map +1 -1
  30. package/dist/esm/recorders/TokenRecorder.js +26 -24
  31. package/dist/esm/recorders/TokenRecorder.js.map +1 -1
  32. package/dist/esm/recorders/ToolUsageRecorder.js +21 -17
  33. package/dist/esm/recorders/ToolUsageRecorder.js.map +1 -1
  34. package/dist/executor/agentLoop.js +4 -0
  35. package/dist/executor/agentLoop.js.map +1 -1
  36. package/dist/index.js +15 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/concepts/AgentRunner.js +57 -62
  39. package/dist/lib/concepts/AgentRunner.js.map +1 -1
  40. package/dist/lib/instructions/InstructionRecorder.js +6 -2
  41. package/dist/lib/instructions/InstructionRecorder.js.map +1 -1
  42. package/dist/observe.barrel.js +4 -1
  43. package/dist/observe.barrel.js.map +1 -1
  44. package/dist/providers.barrel.js +3 -1
  45. package/dist/providers.barrel.js.map +1 -1
  46. package/dist/recorders/CostRecorder.js +20 -16
  47. package/dist/recorders/CostRecorder.js.map +1 -1
  48. package/dist/recorders/ExplainRecorder.js +4 -0
  49. package/dist/recorders/ExplainRecorder.js.map +1 -1
  50. package/dist/recorders/RecorderBridge.js +11 -5
  51. package/dist/recorders/RecorderBridge.js.map +1 -1
  52. package/dist/recorders/TokenRecorder.js +26 -24
  53. package/dist/recorders/TokenRecorder.js.map +1 -1
  54. package/dist/recorders/ToolUsageRecorder.js +21 -17
  55. package/dist/recorders/ToolUsageRecorder.js.map +1 -1
  56. package/dist/types/concepts/LLMCall.d.ts.map +1 -1
  57. package/dist/types/concepts/RAG.d.ts.map +1 -1
  58. package/dist/types/core/recorders.d.ts +4 -0
  59. package/dist/types/core/recorders.d.ts.map +1 -1
  60. package/dist/types/executor/agentLoop.d.ts.map +1 -1
  61. package/dist/types/index.d.ts +5 -0
  62. package/dist/types/index.d.ts.map +1 -1
  63. package/dist/types/lib/concepts/AgentRunner.d.ts +6 -0
  64. package/dist/types/lib/concepts/AgentRunner.d.ts.map +1 -1
  65. package/dist/types/lib/instructions/InstructionRecorder.d.ts +3 -2
  66. package/dist/types/lib/instructions/InstructionRecorder.d.ts.map +1 -1
  67. package/dist/types/observe.barrel.d.ts +1 -0
  68. package/dist/types/observe.barrel.d.ts.map +1 -1
  69. package/dist/types/providers.barrel.d.ts +1 -1
  70. package/dist/types/providers.barrel.d.ts.map +1 -1
  71. package/dist/types/recorders/CostRecorder.d.ts +17 -13
  72. package/dist/types/recorders/CostRecorder.d.ts.map +1 -1
  73. package/dist/types/recorders/ExplainRecorder.d.ts +3 -0
  74. package/dist/types/recorders/ExplainRecorder.d.ts.map +1 -1
  75. package/dist/types/recorders/RecorderBridge.d.ts +7 -3
  76. package/dist/types/recorders/RecorderBridge.d.ts.map +1 -1
  77. package/dist/types/recorders/TokenRecorder.d.ts +17 -18
  78. package/dist/types/recorders/TokenRecorder.d.ts.map +1 -1
  79. package/dist/types/recorders/ToolUsageRecorder.d.ts +15 -11
  80. package/dist/types/recorders/ToolUsageRecorder.d.ts.map +1 -1
  81. package/dist/types/types/tools.d.ts +19 -3
  82. package/dist/types/types/tools.d.ts.map +1 -1
  83. package/package.json +3 -5
@@ -174,37 +174,10 @@ class AgentRunner {
174
174
  const executor = new footprintjs_1.FlowChartExecutor(chart, executorOpts);
175
175
  executor.enableNarrative({ renderer: this.narrativeRenderer });
176
176
  executor.attachRecorder(new footprintjs_1.MetricRecorder('metrics'));
177
- const llmCaptures = [];
178
- let lastSystemPrompt;
179
- let lastToolDescriptions;
180
- let lastMessages;
177
+ // Capture LLM responses + per-call context during traversal
178
+ const { recorder: llmCaptureRecorder, captures: llmCaptures } = this.createLLMCaptureRecorder(bridge);
181
179
  if (bridge) {
182
- const llmCapture = {
183
- id: '__llm-capture',
184
- onWrite(event) {
185
- if (event.key === 'systemPrompt' && typeof event.value === 'string') {
186
- lastSystemPrompt = event.value;
187
- }
188
- if (event.key === 'toolDescriptions' && Array.isArray(event.value)) {
189
- lastToolDescriptions = event.value;
190
- }
191
- if (event.key === 'messages' && Array.isArray(event.value)) {
192
- lastMessages = event.value;
193
- }
194
- // adapterRawResponse fires AFTER context writes — snapshot context per call
195
- if (event.key === 'adapterRawResponse' && event.value) {
196
- llmCaptures.push({
197
- response: event.value,
198
- context: {
199
- systemPrompt: lastSystemPrompt,
200
- toolDescriptions: lastToolDescriptions ? [...lastToolDescriptions] : undefined,
201
- messages: lastMessages ? [...lastMessages] : undefined,
202
- },
203
- });
204
- }
205
- },
206
- };
207
- executor.attachRecorder(llmCapture);
180
+ executor.attachRecorder(llmCaptureRecorder);
208
181
  }
209
182
  const startMs = Date.now();
210
183
  try {
@@ -240,7 +213,10 @@ class AgentRunner {
240
213
  // Dispatch per-iteration LLM calls — each with its own context snapshot
241
214
  const perCallMs = llmCaptures.length > 0 ? Math.round((Date.now() - startMs) / llmCaptures.length) : 0;
242
215
  for (const capture of llmCaptures) {
243
- bridge.dispatchLLMCall(capture.response, perCallMs, capture.context);
216
+ bridge.dispatchLLMCall(capture.response, perCallMs, {
217
+ ...capture.context,
218
+ runtimeStageId: capture.runtimeStageId,
219
+ });
244
220
  }
245
221
  bridge.dispatchTurnComplete(agentResult.content, agentResult.messages.length, agentResult.iterations);
246
222
  }
@@ -281,49 +257,68 @@ class AgentRunner {
281
257
  if (!checkpoint) {
282
258
  throw new Error('Cannot resume: no checkpoint available.');
283
259
  }
284
- // Capture LLM calls + context during resume (same pattern as run())
260
+ // Capture LLM calls + context during resume (same factory as run())
285
261
  const bridge = this.recorders.length > 0 ? new RecorderBridge_1.RecorderBridge(this.recorders) : null;
286
- const llmCaptures = [];
287
- let lastSystemPrompt;
288
- let lastToolDescriptions;
289
- let lastMessages;
262
+ const { recorder: llmCaptureRecorder, captures: llmCaptures } = this.createLLMCaptureRecorder(bridge);
290
263
  if (bridge) {
291
- const llmCapture = {
292
- id: '__llm-capture-resume',
293
- onWrite(event) {
294
- if (event.key === 'systemPrompt' && typeof event.value === 'string') {
295
- lastSystemPrompt = event.value;
296
- }
297
- if (event.key === 'toolDescriptions' && Array.isArray(event.value)) {
298
- lastToolDescriptions = event.value;
299
- }
300
- if (event.key === 'messages' && Array.isArray(event.value)) {
301
- lastMessages = event.value;
302
- }
303
- if (event.key === 'adapterRawResponse' && event.value) {
304
- llmCaptures.push({
305
- response: event.value,
306
- context: {
307
- systemPrompt: lastSystemPrompt,
308
- toolDescriptions: lastToolDescriptions ? [...lastToolDescriptions] : undefined,
309
- messages: lastMessages ? [...lastMessages] : undefined,
310
- },
311
- });
312
- }
313
- },
314
- };
315
- executor.attachRecorder(llmCapture);
264
+ executor.attachRecorder(llmCaptureRecorder);
316
265
  }
317
266
  const startMs = Date.now();
318
267
  await executor.resume(checkpoint, humanResponse);
319
268
  if (bridge) {
320
269
  const perCallMs = llmCaptures.length > 0 ? Math.round((Date.now() - startMs) / llmCaptures.length) : 0;
321
270
  for (const capture of llmCaptures) {
322
- bridge.dispatchLLMCall(capture.response, perCallMs, capture.context);
271
+ bridge.dispatchLLMCall(capture.response, perCallMs, {
272
+ ...capture.context,
273
+ runtimeStageId: capture.runtimeStageId,
274
+ });
323
275
  }
324
276
  }
325
277
  return this.buildResult(executor);
326
278
  }
279
+ /**
280
+ * Create a scope recorder that captures LLM responses + context during traversal.
281
+ * Shared by run() and resume() — eliminates duplication and ensures both paths
282
+ * track runtimeStageId for stream bridge tool events.
283
+ */
284
+ createLLMCaptureRecorder(bridge) {
285
+ const captures = [];
286
+ let lastSystemPrompt;
287
+ let lastToolDescriptions;
288
+ let lastMessages;
289
+ const recorder = {
290
+ id: '__llm-capture',
291
+ onStageStart(event) {
292
+ // Track current stage runtimeStageId — bridge reads it for stream tool events
293
+ if (bridge)
294
+ bridge.setToolRuntimeStageId(event.runtimeStageId);
295
+ },
296
+ onWrite(event) {
297
+ if (event.key === 'systemPrompt' && typeof event.value === 'string') {
298
+ lastSystemPrompt = event.value;
299
+ }
300
+ if (event.key === 'toolDescriptions' && Array.isArray(event.value)) {
301
+ lastToolDescriptions = event.value;
302
+ }
303
+ if (event.key === 'messages' && Array.isArray(event.value)) {
304
+ lastMessages = event.value;
305
+ }
306
+ // adapterRawResponse fires AFTER context writes — snapshot context per call
307
+ if (event.key === 'adapterRawResponse' && event.value) {
308
+ captures.push({
309
+ response: event.value,
310
+ runtimeStageId: event.runtimeStageId,
311
+ context: {
312
+ systemPrompt: lastSystemPrompt,
313
+ toolDescriptions: lastToolDescriptions ? [...lastToolDescriptions] : undefined,
314
+ messages: lastMessages ? [...lastMessages] : undefined,
315
+ },
316
+ });
317
+ }
318
+ },
319
+ };
320
+ return { recorder, captures };
321
+ }
327
322
  /** Extract AgentResult from executor state — shared by run() and resume(). */
328
323
  buildResult(executor) {
329
324
  if (executor.isPaused()) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../src/lib/concepts/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../../src/lib/concepts/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -112,9 +112,13 @@ class InstructionRecorder {
112
112
  const toolFirings = this.firings.get(toolId);
113
113
  return toolFirings ? [...toolFirings.keys()] : [];
114
114
  }
115
- /** Serialize for inclusion in executor.getSnapshot().recorders. */
116
115
  toSnapshot() {
117
- return { name: 'Instructions', data: this.getSummary() };
116
+ return {
117
+ name: 'Instructions',
118
+ description: 'Translator (FlowRecorder) — per-tool instruction injection log',
119
+ preferredOperation: 'translate',
120
+ data: this.getSummary(),
121
+ };
118
122
  }
119
123
  clear() {
120
124
  this.firings.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionRecorder.js","sourceRoot":"","sources":["../../../src/lib/instructions/InstructionRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstructionRecorder.js","sourceRoot":"","sources":["../../../src/lib/instructions/InstructionRecorder.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * ```
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.OTelRecorder = exports.agentObservability = exports.CompositeRecorder = exports.PermissionRecorder = exports.GuardrailRecorder = exports.QualityRecorder = exports.ToolUsageRecorder = exports.TurnRecorder = exports.CostRecorder = exports.TokenRecorder = void 0;
18
+ exports.ExplainRecorder = exports.OTelRecorder = exports.agentObservability = exports.CompositeRecorder = exports.PermissionRecorder = exports.GuardrailRecorder = exports.QualityRecorder = exports.ToolUsageRecorder = exports.TurnRecorder = exports.CostRecorder = exports.TokenRecorder = void 0;
19
19
  var recorders_1 = require("./recorders");
20
20
  Object.defineProperty(exports, "TokenRecorder", { enumerable: true, get: function () { return recorders_1.TokenRecorder; } });
21
21
  Object.defineProperty(exports, "CostRecorder", { enumerable: true, get: function () { return recorders_1.CostRecorder; } });
@@ -28,4 +28,7 @@ Object.defineProperty(exports, "CompositeRecorder", { enumerable: true, get: fun
28
28
  Object.defineProperty(exports, "agentObservability", { enumerable: true, get: function () { return recorders_1.agentObservability; } });
29
29
  var OTelRecorder_1 = require("./recorders/OTelRecorder");
30
30
  Object.defineProperty(exports, "OTelRecorder", { enumerable: true, get: function () { return OTelRecorder_1.OTelRecorder; } });
31
+ // ExplainRecorder — also available from agentfootprint/explain
32
+ var ExplainRecorder_1 = require("./recorders/ExplainRecorder");
33
+ Object.defineProperty(exports, "ExplainRecorder", { enumerable: true, get: function () { return ExplainRecorder_1.ExplainRecorder; } });
31
34
  //# sourceMappingURL=observe.barrel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observe.barrel.js","sourceRoot":"","sources":["../src/observe.barrel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAUqB;AATnB,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAGpB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"observe.barrel.js","sourceRoot":"","sources":["../src/observe.barrel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAUqB;AATnB,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAGpB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AAsBrB,+DAA+D;AAC/D,+DAA8D;AAArD,kHAAA,eAAe,OAAA"}
@@ -16,7 +16,7 @@
16
16
  * ```
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.InMemoryStore = exports.persistentHistory = exports.compositeMessages = exports.summaryStrategy = exports.withToolPairSafety = exports.charBudget = exports.slidingWindow = exports.fullHistory = exports.compositePrompt = exports.skillBasedPrompt = exports.templatePrompt = exports.staticPrompt = exports.gatedTools = exports.compositeTools = exports.agentAsTool = exports.a2aRunner = exports.mcpToolProvider = exports.BrowserOpenAIAdapter = exports.BrowserAnthropicAdapter = exports.BedrockAdapter = exports.OpenAIAdapter = exports.AnthropicAdapter = exports.createProvider = exports.mockRetriever = exports.MockRetriever = exports.mock = exports.MockAdapter = exports.lookupPricing = exports.DEFAULT_PRICING = exports.bedrock = exports.ollama = exports.openai = exports.anthropic = void 0;
19
+ exports.InMemoryStore = exports.persistentHistory = exports.compositeMessages = exports.summaryStrategy = exports.withToolPairSafety = exports.charBudget = exports.slidingWindow = exports.fullHistory = exports.compositePrompt = exports.skillBasedPrompt = exports.templatePrompt = exports.staticPrompt = exports.noTools = exports.staticTools = exports.gatedTools = exports.compositeTools = exports.agentAsTool = exports.a2aRunner = exports.mcpToolProvider = exports.BrowserOpenAIAdapter = exports.BrowserAnthropicAdapter = exports.BedrockAdapter = exports.OpenAIAdapter = exports.AnthropicAdapter = exports.createProvider = exports.mockRetriever = exports.MockRetriever = exports.mock = exports.MockAdapter = exports.lookupPricing = exports.DEFAULT_PRICING = exports.bedrock = exports.ollama = exports.openai = exports.anthropic = void 0;
20
20
  // Provider factories
21
21
  var models_1 = require("./models");
22
22
  Object.defineProperty(exports, "anthropic", { enumerable: true, get: function () { return models_1.anthropic; } });
@@ -49,6 +49,8 @@ var providers_1 = require("./providers");
49
49
  Object.defineProperty(exports, "agentAsTool", { enumerable: true, get: function () { return providers_1.agentAsTool; } });
50
50
  Object.defineProperty(exports, "compositeTools", { enumerable: true, get: function () { return providers_1.compositeTools; } });
51
51
  Object.defineProperty(exports, "gatedTools", { enumerable: true, get: function () { return providers_1.gatedTools; } });
52
+ Object.defineProperty(exports, "staticTools", { enumerable: true, get: function () { return providers_1.staticTools; } });
53
+ Object.defineProperty(exports, "noTools", { enumerable: true, get: function () { return providers_1.noTools; } });
52
54
  // Prompt strategies
53
55
  var providers_2 = require("./providers");
54
56
  Object.defineProperty(exports, "staticPrompt", { enumerable: true, get: function () { return providers_2.staticPrompt; } });
@@ -1 +1 @@
1
- {"version":3,"file":"providers.barrel.js","sourceRoot":"","sources":["../src/providers.barrel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,qBAAqB;AACrB,mCAA8D;AAArD,mGAAA,SAAS,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,iGAAA,OAAO,OAAA;AAE3C,mCAA0D;AAAjD,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEvC,WAAW;AACX,uCAA6F;AAApF,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AACxE,uCAA6E;AAApE,4GAAA,gBAAgB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AACxD,uCAA2E;AAAlE,mHAAA,uBAAuB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAWtD,oBAAoB;AACpB,uCAAwD;AAA/C,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAanC,2BAA2B;AAC3B,yCAAsE;AAA7D,wGAAA,WAAW,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,uGAAA,UAAU,OAAA;AAGhD,oBAAoB;AACpB,yCAA8F;AAArF,yGAAA,YAAY,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,4GAAA,eAAe,OAAA;AAGxE,qBAAqB;AACrB,yCAQqB;AAPnB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AASnB,oBAAoB;AACpB,uDAA2D;AAAlD,yGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"providers.barrel.js","sourceRoot":"","sources":["../src/providers.barrel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,qBAAqB;AACrB,mCAA8D;AAArD,mGAAA,SAAS,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,iGAAA,OAAO,OAAA;AAE3C,mCAA0D;AAAjD,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEvC,WAAW;AACX,uCAA6F;AAApF,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AACxE,uCAA6E;AAApE,4GAAA,gBAAgB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,0GAAA,cAAc,OAAA;AACxD,uCAA2E;AAAlE,mHAAA,uBAAuB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAWtD,oBAAoB;AACpB,uCAAwD;AAA/C,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAanC,2BAA2B;AAC3B,yCAA4F;AAAnF,wGAAA,WAAW,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,oGAAA,OAAO,OAAA;AAGtE,oBAAoB;AACpB,yCAA8F;AAArF,yGAAA,YAAY,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,4GAAA,eAAe,OAAA;AAGxE,qBAAqB;AACrB,yCAQqB;AAPnB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AASnB,oBAAoB;AACpB,uDAA2D;AAAlD,yGAAA,aAAa,OAAA"}
@@ -1,23 +1,17 @@
1
1
  "use strict";
2
2
  /**
3
- * CostRecorder (v2) — calculates USD cost from AgentRecorder LLM call events.
3
+ * CostRecorder — calculates USD cost from AgentRecorder LLM call events.
4
4
  *
5
- * Unlike the v1 CostRecorder (which observes scope writes), this one
6
- * receives structured LLMCallEvent objects from the core loop.
7
- *
8
- * Usage:
9
- * const cost = new CostRecorder({ pricingTable: { 'claude-sonnet': { input: 3, output: 15 } } });
10
- * agent.recorder(cost);
11
- * await agent.run(...);
12
- * console.log(`$${cost.getTotalCost().toFixed(4)}`);
5
+ * Extends KeyedRecorder<CostEntry> Map keyed by runtimeStageId.
13
6
  */
14
7
  Object.defineProperty(exports, "__esModule", { value: true });
15
8
  exports.CostRecorder = void 0;
16
- class CostRecorder {
9
+ const trace_1 = require("footprintjs/trace");
10
+ class CostRecorder extends trace_1.KeyedRecorder {
17
11
  id;
18
- entries = [];
19
12
  pricingTable;
20
13
  constructor(options = {}) {
14
+ super();
21
15
  this.id = options.id ?? 'cost-recorder';
22
16
  this.pricingTable = options.pricingTable ?? {};
23
17
  }
@@ -28,23 +22,33 @@ class CostRecorder {
28
22
  const pricing = this.pricingTable[model];
29
23
  const inputCost = pricing ? (inputTokens / 1_000_000) * pricing.input : 0;
30
24
  const outputCost = pricing ? (outputTokens / 1_000_000) * pricing.output : 0;
31
- this.entries.push({
25
+ this.store(event.runtimeStageId, {
32
26
  model,
33
27
  inputTokens,
34
28
  outputTokens,
35
29
  inputCost,
36
30
  outputCost,
37
31
  totalCost: inputCost + outputCost,
32
+ runtimeStageId: event.runtimeStageId,
38
33
  });
39
34
  }
40
35
  getTotalCost() {
41
- return this.entries.reduce((s, e) => s + e.totalCost, 0);
36
+ return this.aggregate((sum, e) => sum + e.totalCost, 0);
42
37
  }
43
38
  getEntries() {
44
- return [...this.entries];
39
+ return this.values();
45
40
  }
46
- clear() {
47
- this.entries = [];
41
+ toSnapshot() {
42
+ return {
43
+ name: 'Cost',
44
+ description: 'Accumulator (KeyedRecorder) — per-call LLM cost tracking',
45
+ preferredOperation: 'accumulate',
46
+ data: {
47
+ numericField: 'totalCost',
48
+ grandTotal: this.getTotalCost(),
49
+ steps: Object.fromEntries(this.getMap()),
50
+ },
51
+ };
48
52
  }
49
53
  }
50
54
  exports.CostRecorder = CostRecorder;
@@ -1 +1 @@
1
- {"version":3,"file":"CostRecorder.js","sourceRoot":"","sources":["../../src/recorders/CostRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAqBH,MAAa,YAAY;IACd,EAAE,CAAS;IACZ,OAAO,GAAgB,EAAE,CAAC;IAC1B,YAAY,CAA+B;IAEnD,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,KAAmB;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QACvC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,KAAK;YACL,WAAW;YACX,YAAY;YACZ,SAAS;YACT,UAAU;YACV,SAAS,EAAE,SAAS,GAAG,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAxCD,oCAwCC"}
1
+ {"version":3,"file":"CostRecorder.js","sourceRoot":"","sources":["../../src/recorders/CostRecorder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAkD;AAoBlD,MAAa,YAAa,SAAQ,qBAAwB;IAC/C,EAAE,CAAS;IACZ,YAAY,CAA+B;IAEnD,YAAY,UAA+B,EAAE;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,KAAmB;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QACvC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;YAC/B,KAAK;YACL,WAAW;YACX,YAAY;YACZ,SAAS;YACT,UAAU;YACV,SAAS,EAAE,SAAS,GAAG,UAAU;YACjC,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,0DAA0D;YACvE,kBAAkB,EAAE,YAAqB;YACzC,IAAI,EAAE;gBACJ,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC/B,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;CACF;AAlDD,oCAkDC"}
@@ -32,6 +32,7 @@ class ExplainRecorder {
32
32
  currentTurn = 0;
33
33
  input;
34
34
  currentIteration = -1;
35
+ currentRuntimeStageId;
35
36
  currentContext = {};
36
37
  constructor(id = 'explain-recorder') {
37
38
  this.id = id;
@@ -46,6 +47,7 @@ class ExplainRecorder {
46
47
  this.flushIteration(null);
47
48
  }
48
49
  this.currentIteration = event.loopIteration;
50
+ this.currentRuntimeStageId = event.runtimeStageId;
49
51
  // Snapshot context for THIS iteration
50
52
  this.currentContext = {
51
53
  input: this.input,
@@ -87,6 +89,7 @@ class ExplainRecorder {
87
89
  flushIteration(claim) {
88
90
  this.iterations.push({
89
91
  iteration: this.currentIteration,
92
+ runtimeStageId: this.currentRuntimeStageId,
90
93
  context: { ...this.currentContext },
91
94
  decisions: this.currentIterationDecisions.map((d) => ({ ...d, args: { ...d.args } })),
92
95
  sources: [...this.currentIterationSources],
@@ -141,6 +144,7 @@ class ExplainRecorder {
141
144
  this.currentTurn = 0;
142
145
  this.input = undefined;
143
146
  this.currentIteration = -1;
147
+ this.currentRuntimeStageId = undefined;
144
148
  this.currentContext = {};
145
149
  }
146
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExplainRecorder.js","sourceRoot":"","sources":["../../src/recorders/ExplainRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExplainRecorder.js","sourceRoot":"","sources":["../../src/recorders/ExplainRecorder.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ class RecorderBridge {
14
14
  recorders;
15
15
  turnNumber = 1;
16
16
  loopIteration = 0;
17
+ _toolRuntimeStageId = '';
18
+ /** Set by the LLM capture recorder's onStageStart — tracks current stage's runtimeStageId. */
19
+ setToolRuntimeStageId(id) {
20
+ this._toolRuntimeStageId = id;
21
+ }
17
22
  constructor(recorders) {
18
23
  this.recorders = recorders;
19
24
  }
@@ -22,7 +27,7 @@ class RecorderBridge {
22
27
  this.dispatch('onTurnStart', { turnNumber: this.turnNumber, message });
23
28
  }
24
29
  /** Dispatch LLM call event from the adapter response stored in scope. */
25
- dispatchLLMCall(response, latencyMs = 0, context) {
30
+ dispatchLLMCall(response, latencyMs, context) {
26
31
  const event = {
27
32
  model: response.model,
28
33
  usage: response.usage,
@@ -30,6 +35,7 @@ class RecorderBridge {
30
35
  turnNumber: this.turnNumber,
31
36
  loopIteration: this.loopIteration,
32
37
  finishReason: response.finishReason,
38
+ runtimeStageId: context.runtimeStageId,
33
39
  systemPrompt: context?.systemPrompt,
34
40
  toolDescriptions: context?.toolDescriptions,
35
41
  messages: context?.messages,
@@ -48,9 +54,9 @@ class RecorderBridge {
48
54
  this.turnNumber++;
49
55
  this.loopIteration = 0;
50
56
  }
51
- /** Dispatch tool call event from stream events. */
52
- dispatchToolCall(toolName, args, result, latencyMs) {
53
- this.dispatch('onToolCall', { toolName, args, result, latencyMs });
57
+ /** Dispatch tool call event. */
58
+ dispatchToolCall(toolName, args, result, latencyMs, runtimeStageId) {
59
+ this.dispatch('onToolCall', { toolName, args, result, latencyMs, runtimeStageId });
54
60
  }
55
61
  /**
56
62
  * Create an onStreamEvent handler that bridges tool events to recorders.
@@ -69,7 +75,7 @@ class RecorderBridge {
69
75
  else if (event.type === 'tool_end') {
70
76
  const pending = pendingTools.get(event.toolCallId);
71
77
  if (pending) {
72
- this.dispatchToolCall(pending.name, pending.args, { content: event.result, error: event.error }, event.latencyMs);
78
+ this.dispatchToolCall(pending.name, pending.args, { content: event.result, error: event.error }, event.latencyMs, this._toolRuntimeStageId);
73
79
  pendingTools.delete(event.toolCallId);
74
80
  }
75
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RecorderBridge.js","sourceRoot":"","sources":["../../src/recorders/RecorderBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAMH,MAAa,cAAc;IACR,SAAS,CAAkB;IACpC,UAAU,GAAG,CAAC,CAAC;IACf,aAAa,GAAG,CAAC,CAAC;IAE1B,YAAY,SAA0B;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iCAAiC;IACjC,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,yEAAyE;IACzE,eAAe,CACb,QAAqB,EACrB,SAAS,GAAG,CAAC,EACb,OAIC;QAED,MAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,oBAAoB,CAAC,OAAe,EAAE,YAAoB,EAAE,mBAAmB,GAAG,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY;YACZ,mBAAmB;YACnB,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,mDAAmD;IACnD,gBAAgB,CACd,QAAgB,EAChB,IAA6B,EAC7B,MAA4C,EAC5C,SAAiB;QAEjB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;QAEJ,OAAO,CAAC,KAAuB,EAAE,EAAE;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE;oBACjC,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;iBACpB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,gBAAgB,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAC7C,KAAK,CAAC,SAAS,CAChB,CAAC;oBACF,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,aAAa,CAAC,KAA4C,EAAE,KAAc;QACxE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEO,QAAQ,CAAC,IAAyB,EAAE,KAAc;QACxD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;oBAC5B,EAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA9GD,wCA8GC"}
1
+ {"version":3,"file":"RecorderBridge.js","sourceRoot":"","sources":["../../src/recorders/RecorderBridge.ts"],"names":[],"mappings":"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"}
@@ -2,27 +2,18 @@
2
2
  /**
3
3
  * TokenRecorder — tracks token usage and cost across LLM calls.
4
4
  *
5
- * Implements AgentRecorder. Observes onLLMCall events and accumulates
6
- * input/output token counts, call count, latency stats, and per-call cost.
7
- *
8
- * Usage:
9
- * const tokens = new TokenRecorder();
10
- * agent.recorder(tokens);
11
- * await agent.run(...);
12
- * console.log(tokens.getStats());
13
- *
14
- * With pricing:
15
- * const tokens = new TokenRecorder({ pricing: { 'claude-sonnet-4-20250514': { input: 3, output: 15 } } });
5
+ * Extends KeyedRecorder<LLMCallEntry> Map keyed by runtimeStageId.
6
+ * No fallbacks. runtimeStageId is always provided by footprintjs.
16
7
  */
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.TokenRecorder = void 0;
19
- class TokenRecorder {
10
+ const trace_1 = require("footprintjs/trace");
11
+ class TokenRecorder extends trace_1.KeyedRecorder {
20
12
  id;
21
- calls = [];
22
13
  pricing;
23
14
  constructor(options) {
15
+ super();
24
16
  if (typeof options === 'string') {
25
- // Backward compat: new TokenRecorder('my-id')
26
17
  this.id = options;
27
18
  this.pricing = {};
28
19
  }
@@ -39,7 +30,7 @@ class TokenRecorder {
39
30
  const cost = p
40
31
  ? (inputTokens / 1_000_000) * p.input + (outputTokens / 1_000_000) * p.output
41
32
  : 0;
42
- this.calls.push({
33
+ this.store(event.runtimeStageId, {
43
34
  model,
44
35
  inputTokens,
45
36
  outputTokens,
@@ -47,14 +38,16 @@ class TokenRecorder {
47
38
  turnNumber: event.turnNumber,
48
39
  loopIteration: event.loopIteration,
49
40
  cost,
41
+ runtimeStageId: event.runtimeStageId,
50
42
  });
51
43
  }
52
44
  getStats() {
53
- const totalCalls = this.calls.length;
54
- const totalInputTokens = this.calls.reduce((s, c) => s + c.inputTokens, 0);
55
- const totalOutputTokens = this.calls.reduce((s, c) => s + c.outputTokens, 0);
56
- const totalLatencyMs = this.calls.reduce((s, c) => s + c.latencyMs, 0);
57
- const totalCost = this.calls.reduce((s, c) => s + c.cost, 0);
45
+ const calls = this.values();
46
+ const totalCalls = calls.length;
47
+ const totalInputTokens = this.aggregate((s, c) => s + c.inputTokens, 0);
48
+ const totalOutputTokens = this.aggregate((s, c) => s + c.outputTokens, 0);
49
+ const totalLatencyMs = this.aggregate((s, c) => s + c.latencyMs, 0);
50
+ const totalCost = this.aggregate((s, c) => s + c.cost, 0);
58
51
  return {
59
52
  totalCalls,
60
53
  totalInputTokens,
@@ -62,14 +55,23 @@ class TokenRecorder {
62
55
  totalLatencyMs,
63
56
  averageLatencyMs: totalCalls > 0 ? Math.round(totalLatencyMs / totalCalls) : 0,
64
57
  totalCost,
65
- calls: [...this.calls],
58
+ calls,
66
59
  };
67
60
  }
68
61
  getTotalTokens() {
69
- return this.calls.reduce((s, c) => s + c.inputTokens + c.outputTokens, 0);
62
+ return this.aggregate((sum, c) => sum + c.inputTokens + c.outputTokens, 0);
70
63
  }
71
- clear() {
72
- this.calls = [];
64
+ toSnapshot() {
65
+ return {
66
+ name: 'Tokens',
67
+ description: 'Aggregator (KeyedRecorder) — per-call LLM token usage',
68
+ preferredOperation: 'aggregate',
69
+ data: {
70
+ numericField: 'inputTokens',
71
+ grandTotal: this.getTotalTokens(),
72
+ steps: Object.fromEntries(this.getMap()),
73
+ },
74
+ };
73
75
  }
74
76
  }
75
77
  exports.TokenRecorder = TokenRecorder;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenRecorder.js","sourceRoot":"","sources":["../../src/recorders/TokenRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenRecorder.js","sourceRoot":"","sources":["../../src/recorders/TokenRecorder.ts"],"names":[],"mappings":"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"}