agentfootprint 6.44.0 → 7.0.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 (442) hide show
  1. package/AGENTS.md +4 -0
  2. package/CLAUDE.md +4 -0
  3. package/README.md +141 -167
  4. package/ai-instructions/claude-code/SKILL.md +11 -0
  5. package/ai-instructions/setup.sh +0 -0
  6. package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -1
  7. package/dist/adapters/llm/MockProvider.js +2 -1
  8. package/dist/adapters/llm/MockProvider.js.map +1 -1
  9. package/dist/core/agent/buildAgentChart.js +2 -1
  10. package/dist/core/agent/buildAgentChart.js.map +1 -1
  11. package/dist/core/agent/buildDynamicAgentChart.js +3 -1
  12. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  13. package/dist/core/agent/stages/pickEntry.js +3 -1
  14. package/dist/core/agent/stages/pickEntry.js.map +1 -1
  15. package/dist/debug/finders.js +29 -0
  16. package/dist/debug/finders.js.map +1 -0
  17. package/dist/debug.js +134 -0
  18. package/dist/debug.js.map +1 -0
  19. package/dist/esm/adapters/identity/agentcore.d.ts +100 -0
  20. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +130 -0
  21. package/dist/esm/adapters/llm/BedrockProvider.d.ts +100 -0
  22. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +41 -0
  23. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +95 -0
  24. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -1
  25. package/dist/esm/adapters/llm/MockProvider.d.ts +154 -0
  26. package/dist/esm/adapters/llm/MockProvider.js +2 -1
  27. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  28. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +220 -0
  29. package/dist/esm/adapters/llm/createProvider.d.ts +85 -0
  30. package/dist/esm/adapters/memory/agentcore.d.ts +146 -0
  31. package/dist/esm/adapters/memory/bedrockAgentMemory.d.ts +95 -0
  32. package/dist/esm/adapters/memory/redis.d.ts +127 -0
  33. package/dist/esm/adapters/observability/agentcore.d.ts +67 -0
  34. package/dist/esm/adapters/observability/audit.d.ts +254 -0
  35. package/dist/esm/adapters/observability/cloudwatch.d.ts +96 -0
  36. package/dist/esm/adapters/observability/otel.d.ts +237 -0
  37. package/dist/esm/adapters/observability/xray.d.ts +88 -0
  38. package/dist/esm/adapters/types.d.ts +378 -0
  39. package/dist/esm/bridge/eventMeta.d.ts +59 -0
  40. package/dist/esm/cache/CacheDecisionSubflow.d.ts +85 -0
  41. package/dist/esm/cache/CacheGateDecider.d.ts +127 -0
  42. package/dist/esm/cache/applyCachePolicy.d.ts +37 -0
  43. package/dist/esm/cache/cacheRecorder.d.ts +85 -0
  44. package/dist/esm/cache/index.d.ts +33 -0
  45. package/dist/esm/cache/strategies/AnthropicCacheStrategy.d.ts +38 -0
  46. package/dist/esm/cache/strategies/BedrockCacheStrategy.d.ts +33 -0
  47. package/dist/esm/cache/strategies/NoOpCacheStrategy.d.ts +29 -0
  48. package/dist/esm/cache/strategies/OpenAICacheStrategy.d.ts +36 -0
  49. package/dist/esm/cache/strategyRegistry.d.ts +45 -0
  50. package/dist/esm/cache/types.d.ts +243 -0
  51. package/dist/esm/conventions.d.ts +203 -0
  52. package/dist/esm/core/Agent.d.ts +355 -0
  53. package/dist/esm/core/LLMCall.d.ts +139 -0
  54. package/dist/esm/core/RunnerBase.d.ts +267 -0
  55. package/dist/esm/core/agent/AgentBuilder.d.ts +565 -0
  56. package/dist/esm/core/agent/buildAgentChart.d.ts +109 -0
  57. package/dist/esm/core/agent/buildAgentChart.js +2 -1
  58. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  59. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +40 -0
  60. package/dist/esm/core/agent/buildCacheSubflow.d.ts +35 -0
  61. package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +56 -0
  62. package/dist/esm/core/agent/buildDynamicAgentChart.js +3 -1
  63. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  64. package/dist/esm/core/agent/buildMessageApiChart.d.ts +47 -0
  65. package/dist/esm/core/agent/buildToolRegistry.d.ts +61 -0
  66. package/dist/esm/core/agent/memoryRecallInjections.d.ts +8 -0
  67. package/dist/esm/core/agent/stages/breakFinal.d.ts +22 -0
  68. package/dist/esm/core/agent/stages/callLLM.d.ts +74 -0
  69. package/dist/esm/core/agent/stages/pickEntry.d.ts +19 -0
  70. package/dist/esm/core/agent/stages/pickEntry.js +3 -1
  71. package/dist/esm/core/agent/stages/pickEntry.js.map +1 -1
  72. package/dist/esm/core/agent/stages/prepareFinal.d.ts +19 -0
  73. package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +135 -0
  74. package/dist/esm/core/agent/stages/route.d.ts +18 -0
  75. package/dist/esm/core/agent/stages/seed.d.ts +53 -0
  76. package/dist/esm/core/agent/stages/toolCalls.d.ts +76 -0
  77. package/dist/esm/core/agent/toolArgsValidation.d.ts +62 -0
  78. package/dist/esm/core/agent/types.d.ts +382 -0
  79. package/dist/esm/core/agent/validators.d.ts +52 -0
  80. package/dist/esm/core/cost.d.ts +38 -0
  81. package/dist/esm/core/flowchartAsTool.d.ts +200 -0
  82. package/dist/esm/core/humanizeLLMError.d.ts +23 -0
  83. package/dist/esm/core/outputFallback.d.ts +139 -0
  84. package/dist/esm/core/outputSchema.d.ts +127 -0
  85. package/dist/esm/core/pause.d.ts +74 -0
  86. package/dist/esm/core/runCheckpoint.d.ts +179 -0
  87. package/dist/esm/core/runner.d.ts +203 -0
  88. package/dist/esm/core/slots/buildMessagesSlot.d.ts +40 -0
  89. package/dist/esm/core/slots/buildSystemPromptSlot.d.ts +41 -0
  90. package/dist/esm/core/slots/buildThinkingSubflow.d.ts +40 -0
  91. package/dist/esm/core/slots/buildToolsSlot.d.ts +60 -0
  92. package/dist/esm/core/slots/helpers.d.ts +27 -0
  93. package/dist/esm/core/toolContract.d.ts +43 -0
  94. package/dist/esm/core/tools.d.ts +90 -0
  95. package/dist/esm/core/translator.d.ts +94 -0
  96. package/dist/esm/core-flow/Conditional.d.ts +119 -0
  97. package/dist/esm/core-flow/Loop.d.ts +160 -0
  98. package/dist/esm/core-flow/Parallel.d.ts +360 -0
  99. package/dist/esm/core-flow/Sequence.d.ts +133 -0
  100. package/dist/esm/debug/finders.d.ts +12 -0
  101. package/dist/esm/debug/finders.js +13 -0
  102. package/dist/esm/debug/finders.js.map +1 -0
  103. package/dist/esm/debug.d.ts +25 -0
  104. package/dist/esm/debug.js +54 -0
  105. package/dist/esm/debug.js.map +1 -0
  106. package/dist/esm/events/dispatcher.d.ts +134 -0
  107. package/dist/esm/events/payloads.d.ts +761 -0
  108. package/dist/esm/events/registry.d.ts +198 -0
  109. package/dist/esm/events/types.d.ts +70 -0
  110. package/dist/esm/events.d.ts +18 -0
  111. package/dist/esm/events.js +22 -0
  112. package/dist/esm/events.js.map +1 -0
  113. package/dist/esm/identity/kinds.d.ts +36 -0
  114. package/dist/esm/identity/staticTokens.d.ts +28 -0
  115. package/dist/esm/identity/types.d.ts +113 -0
  116. package/dist/esm/identity/withCredentialRetry.d.ts +64 -0
  117. package/dist/esm/identity.d.ts +31 -0
  118. package/dist/esm/index.d.ts +44 -0
  119. package/dist/esm/index.js +7 -52
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/esm/injection-engine.d.ts +4 -0
  122. package/dist/esm/lib/canonicalJson.d.ts +56 -0
  123. package/dist/esm/lib/context-bisect/ablation.d.ts +109 -0
  124. package/dist/esm/lib/context-bisect/bisect.d.ts +75 -0
  125. package/dist/esm/lib/context-bisect/cost.d.ts +37 -0
  126. package/dist/esm/lib/context-bisect/index.d.ts +31 -0
  127. package/dist/esm/lib/context-bisect/index.js +3 -0
  128. package/dist/esm/lib/context-bisect/index.js.map +1 -1
  129. package/dist/esm/lib/context-bisect/llmEdgeWeigher.d.ts +124 -0
  130. package/dist/esm/lib/context-bisect/localize.d.ts +152 -0
  131. package/dist/esm/lib/context-bisect/localize.js +2 -0
  132. package/dist/esm/lib/context-bisect/localize.js.map +1 -1
  133. package/dist/esm/lib/context-bisect/loop-recall.d.ts +97 -0
  134. package/dist/esm/lib/context-bisect/missingContext.d.ts +71 -0
  135. package/dist/esm/lib/context-bisect/restoration.d.ts +39 -0
  136. package/dist/esm/lib/context-bisect/toBacktrackTrace.d.ts +138 -0
  137. package/dist/esm/lib/context-bisect/trajectory.d.ts +168 -0
  138. package/dist/esm/lib/context-bisect/types.d.ts +448 -0
  139. package/dist/esm/lib/context-bisect/walk-to-root.d.ts +103 -0
  140. package/dist/esm/lib/influence-core/attributability.d.ts +72 -0
  141. package/dist/esm/lib/influence-core/cache.d.ts +94 -0
  142. package/dist/esm/lib/influence-core/contrastive.d.ts +26 -0
  143. package/dist/esm/lib/influence-core/index.d.ts +34 -0
  144. package/dist/esm/lib/influence-core/margin.d.ts +33 -0
  145. package/dist/esm/lib/influence-core/signals.d.ts +128 -0
  146. package/dist/esm/lib/influence-core/similarity.d.ts +25 -0
  147. package/dist/esm/lib/influence-core/types.d.ts +252 -0
  148. package/dist/esm/lib/injection-engine/SkillRegistry.d.ts +147 -0
  149. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.d.ts +110 -0
  150. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
  151. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  152. package/dist/esm/lib/injection-engine/entryScorer.d.ts +93 -0
  153. package/dist/esm/lib/injection-engine/entryScorer.js +172 -0
  154. package/dist/esm/lib/injection-engine/entryScorer.js.map +1 -0
  155. package/dist/esm/lib/injection-engine/evaluator.d.ts +24 -0
  156. package/dist/esm/lib/injection-engine/factories/defineFact.d.ts +60 -0
  157. package/dist/esm/lib/injection-engine/factories/defineInjection.d.ts +41 -0
  158. package/dist/esm/lib/injection-engine/factories/defineInstruction.d.ts +78 -0
  159. package/dist/esm/lib/injection-engine/factories/defineRelevanceHint.d.ts +26 -0
  160. package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +160 -0
  161. package/dist/esm/lib/injection-engine/factories/defineSteering.d.ts +39 -0
  162. package/dist/esm/lib/injection-engine/index.d.ts +22 -0
  163. package/dist/esm/lib/injection-engine/index.js +2 -1
  164. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  165. package/dist/esm/lib/injection-engine/skillContract.d.ts +29 -0
  166. package/dist/esm/lib/injection-engine/skillGraph.d.ts +290 -0
  167. package/dist/esm/lib/injection-engine/skillGraph.js +38 -43
  168. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  169. package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +49 -0
  170. package/dist/esm/lib/injection-engine/skillTools.d.ts +72 -0
  171. package/dist/esm/lib/injection-engine/softmax.d.ts +11 -0
  172. package/dist/esm/lib/injection-engine/types.d.ts +229 -0
  173. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  174. package/dist/esm/lib/lazyRequire.d.ts +29 -0
  175. package/dist/esm/lib/mcp/index.d.ts +9 -0
  176. package/dist/esm/lib/mcp/mcpClient.d.ts +46 -0
  177. package/dist/esm/lib/mcp/mockMcpClient.d.ts +65 -0
  178. package/dist/esm/lib/mcp/types.d.ts +133 -0
  179. package/dist/esm/lib/rag/defineRAG.d.ts +139 -0
  180. package/dist/esm/lib/rag/defineRAG.js +3 -3
  181. package/dist/esm/lib/rag/index.d.ts +7 -0
  182. package/dist/esm/lib/rag/indexDocuments.d.ts +106 -0
  183. package/dist/esm/lib/rag/indexDocuments.js +2 -1
  184. package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
  185. package/dist/esm/lib/tool-lint/analyze.d.ts +83 -0
  186. package/dist/esm/lib/tool-lint/cli.d.ts +43 -0
  187. package/dist/esm/lib/tool-lint/format.d.ts +18 -0
  188. package/dist/esm/lib/tool-lint/index.d.ts +23 -0
  189. package/dist/esm/lib/tool-lint/rules.d.ts +85 -0
  190. package/dist/esm/lib/tool-lint/types.d.ts +155 -0
  191. package/dist/esm/lib/trace-toolpack/bounded.d.ts +47 -0
  192. package/dist/esm/lib/trace-toolpack/debugPrompt.d.ts +19 -0
  193. package/dist/esm/lib/trace-toolpack/index.d.ts +20 -0
  194. package/dist/esm/lib/trace-toolpack/lazyToolpack.d.ts +35 -0
  195. package/dist/esm/lib/trace-toolpack/selfExplain.d.ts +100 -0
  196. package/dist/esm/lib/trace-toolpack/traceDebugAgent.d.ts +42 -0
  197. package/dist/esm/lib/trace-toolpack/traceToolpack.d.ts +69 -0
  198. package/dist/esm/lib/trace-toolpack/types.d.ts +59 -0
  199. package/dist/esm/llm-providers.d.ts +26 -0
  200. package/dist/esm/locales/index.d.ts +141 -0
  201. package/dist/esm/locales/index.js +7 -0
  202. package/dist/esm/locales/index.js.map +1 -1
  203. package/dist/esm/memory/beats/extractBeats.d.ts +61 -0
  204. package/dist/esm/memory/beats/extractor.d.ts +47 -0
  205. package/dist/esm/memory/beats/formatAsNarrative.d.ts +62 -0
  206. package/dist/esm/memory/beats/heuristicExtractor.d.ts +37 -0
  207. package/dist/esm/memory/beats/index.d.ts +12 -0
  208. package/dist/esm/memory/beats/llmExtractor.d.ts +56 -0
  209. package/dist/esm/memory/beats/types.d.ts +60 -0
  210. package/dist/esm/memory/beats/writeBeats.d.ts +22 -0
  211. package/dist/esm/memory/causal/evidenceRecorder.d.ts +66 -0
  212. package/dist/esm/memory/causal/index.d.ts +6 -0
  213. package/dist/esm/memory/causal/loadSnapshot.d.ts +51 -0
  214. package/dist/esm/memory/causal/snapshotPipeline.d.ts +35 -0
  215. package/dist/esm/memory/causal/types.d.ts +134 -0
  216. package/dist/esm/memory/causal/types.js.map +1 -1
  217. package/dist/esm/memory/causal/writeSnapshot.d.ts +73 -0
  218. package/dist/esm/memory/define.d.ts +63 -0
  219. package/dist/esm/memory/define.types.d.ts +278 -0
  220. package/dist/esm/memory/define.types.js +6 -4
  221. package/dist/esm/memory/define.types.js.map +1 -1
  222. package/dist/esm/memory/embedding/cosine.d.ts +18 -0
  223. package/dist/esm/memory/embedding/embedMessages.d.ts +58 -0
  224. package/dist/esm/memory/embedding/index.d.ts +8 -0
  225. package/dist/esm/memory/embedding/loadRelevant.d.ts +51 -0
  226. package/dist/esm/memory/embedding/mockEmbedder.d.ts +22 -0
  227. package/dist/esm/memory/embedding/types.d.ts +46 -0
  228. package/dist/esm/memory/entry/decay.d.ts +36 -0
  229. package/dist/esm/memory/entry/index.d.ts +2 -0
  230. package/dist/esm/memory/entry/types.d.ts +140 -0
  231. package/dist/esm/memory/facts/extractFacts.d.ts +50 -0
  232. package/dist/esm/memory/facts/extractor.d.ts +33 -0
  233. package/dist/esm/memory/facts/formatFacts.d.ts +60 -0
  234. package/dist/esm/memory/facts/index.d.ts +14 -0
  235. package/dist/esm/memory/facts/llmFactExtractor.d.ts +64 -0
  236. package/dist/esm/memory/facts/loadFacts.d.ts +43 -0
  237. package/dist/esm/memory/facts/patternFactExtractor.d.ts +2 -0
  238. package/dist/esm/memory/facts/types.d.ts +68 -0
  239. package/dist/esm/memory/facts/writeFacts.d.ts +19 -0
  240. package/dist/esm/memory/identity/index.d.ts +2 -0
  241. package/dist/esm/memory/identity/types.d.ts +49 -0
  242. package/dist/esm/memory/index.d.ts +19 -0
  243. package/dist/esm/memory/pipeline/auto.d.ts +59 -0
  244. package/dist/esm/memory/pipeline/default.d.ts +49 -0
  245. package/dist/esm/memory/pipeline/ephemeral.d.ts +28 -0
  246. package/dist/esm/memory/pipeline/fact.d.ts +26 -0
  247. package/dist/esm/memory/pipeline/index.d.ts +13 -0
  248. package/dist/esm/memory/pipeline/narrative.d.ts +35 -0
  249. package/dist/esm/memory/pipeline/semantic.d.ts +37 -0
  250. package/dist/esm/memory/pipeline/types.d.ts +31 -0
  251. package/dist/esm/memory/stages/formatDefault.d.ts +64 -0
  252. package/dist/esm/memory/stages/index.d.ts +13 -0
  253. package/dist/esm/memory/stages/loadRecent.d.ts +49 -0
  254. package/dist/esm/memory/stages/pickByBudget.d.ts +63 -0
  255. package/dist/esm/memory/stages/summarize.d.ts +87 -0
  256. package/dist/esm/memory/stages/tokenize.d.ts +43 -0
  257. package/dist/esm/memory/stages/types.d.ts +75 -0
  258. package/dist/esm/memory/stages/writeMessages.d.ts +71 -0
  259. package/dist/esm/memory/store/InMemoryStore.d.ts +62 -0
  260. package/dist/esm/memory/store/index.d.ts +2 -0
  261. package/dist/esm/memory/store/types.d.ts +223 -0
  262. package/dist/esm/memory/wire/index.d.ts +2 -0
  263. package/dist/esm/memory/wire/mountMemoryPipeline.d.ts +108 -0
  264. package/dist/esm/memory-providers.d.ts +37 -0
  265. package/dist/esm/observability/contextError/finders/compareFinders.d.ts +19 -0
  266. package/dist/esm/observability/contextError/finders/index.d.ts +22 -0
  267. package/dist/esm/observability/contextError/finders/rankSuspects.d.ts +2 -0
  268. package/dist/esm/observability/contextError/finders/removeAndRetry.d.ts +11 -0
  269. package/dist/esm/observability/contextError/finders/shrinkToCause.d.ts +11 -0
  270. package/dist/esm/observability/contextError/finders/testManyCombos.d.ts +11 -0
  271. package/dist/esm/observability/contextError/finders/traceSteps.d.ts +2 -0
  272. package/dist/esm/observability/contextError/finders/types.d.ts +88 -0
  273. package/dist/esm/observability-providers.d.ts +46 -0
  274. package/dist/esm/observe.d.ts +57 -0
  275. package/dist/esm/observe.js +7 -36
  276. package/dist/esm/observe.js.map +1 -1
  277. package/dist/esm/patterns/Debate.d.ts +39 -0
  278. package/dist/esm/patterns/MapReduce.d.ts +66 -0
  279. package/dist/esm/patterns/Reflection.d.ts +51 -0
  280. package/dist/esm/patterns/SelfConsistency.d.ts +43 -0
  281. package/dist/esm/patterns/Swarm.d.ts +60 -0
  282. package/dist/esm/patterns/ToT.d.ts +53 -0
  283. package/dist/esm/patterns/index.d.ts +22 -0
  284. package/dist/esm/providers.d.ts +33 -0
  285. package/dist/esm/providers.js +1 -1
  286. package/dist/esm/providers.js.map +1 -1
  287. package/dist/esm/recorders/core/AgentRecorder.d.ts +15 -0
  288. package/dist/esm/recorders/core/CompositionRecorder.d.ts +17 -0
  289. package/dist/esm/recorders/core/ContextEvaluatedRecorder.d.ts +23 -0
  290. package/dist/esm/recorders/core/ContextRecorder.d.ts +47 -0
  291. package/dist/esm/recorders/core/CostRecorder.d.ts +14 -0
  292. package/dist/esm/recorders/core/EmitBridge.d.ts +30 -0
  293. package/dist/esm/recorders/core/ErrorBridge.d.ts +38 -0
  294. package/dist/esm/recorders/core/EvalRecorder.d.ts +16 -0
  295. package/dist/esm/recorders/core/MemoryRecorder.d.ts +17 -0
  296. package/dist/esm/recorders/core/PermissionRecorder.d.ts +16 -0
  297. package/dist/esm/recorders/core/ReliabilityRecorder.d.ts +24 -0
  298. package/dist/esm/recorders/core/SkillRecorder.d.ts +14 -0
  299. package/dist/esm/recorders/core/StreamRecorder.d.ts +15 -0
  300. package/dist/esm/recorders/core/ToolsRecorder.d.ts +18 -0
  301. package/dist/esm/recorders/core/ValidationRecorder.d.ts +16 -0
  302. package/dist/esm/recorders/core/contextEngineering.d.ts +136 -0
  303. package/dist/esm/recorders/core/typedEmit.d.ts +34 -0
  304. package/dist/esm/recorders/core/types.d.ts +97 -0
  305. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +117 -0
  306. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +546 -0
  307. package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +220 -0
  308. package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +250 -0
  309. package/dist/esm/recorders/observability/LoggingRecorder.d.ts +91 -0
  310. package/dist/esm/recorders/observability/RouteRecorder.d.ts +83 -0
  311. package/dist/esm/recorders/observability/RunStepRecorder.d.ts +231 -0
  312. package/dist/esm/recorders/observability/StatusRecorder.d.ts +36 -0
  313. package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +164 -0
  314. package/dist/esm/recorders/observability/ToolLineageRecorder.d.ts +71 -0
  315. package/dist/esm/recorders/observability/commentary/commentaryTemplates.d.ts +105 -0
  316. package/dist/esm/recorders/observability/internal/ActorArrowClassifier.d.ts +25 -0
  317. package/dist/esm/recorders/observability/internal/CandidateAnswerBuffer.d.ts +28 -0
  318. package/dist/esm/recorders/observability/internal/ForkTracker.d.ts +60 -0
  319. package/dist/esm/recorders/observability/internal/RootInferrer.d.ts +51 -0
  320. package/dist/esm/recorders/observability/internal/SequenceSiblingTracker.d.ts +24 -0
  321. package/dist/esm/recorders/observability/localObservability.d.ts +48 -0
  322. package/dist/esm/recorders/observability/observeRunId.d.ts +36 -0
  323. package/dist/esm/recorders/observability/status/statusTemplates.d.ts +106 -0
  324. package/dist/esm/recorders/observability/trace.d.ts +119 -0
  325. package/dist/esm/reliability/CircuitBreaker.d.ts +75 -0
  326. package/dist/esm/reliability/buildReliabilityGateChart.d.ts +53 -0
  327. package/dist/esm/reliability/classifyError.d.ts +28 -0
  328. package/dist/esm/reliability/index.d.ts +35 -0
  329. package/dist/esm/reliability/types.d.ts +327 -0
  330. package/dist/esm/resilience/fallbackProvider.d.ts +33 -0
  331. package/dist/esm/resilience/index.d.ts +21 -0
  332. package/dist/esm/resilience/withCircuitBreaker.d.ts +129 -0
  333. package/dist/esm/resilience/withFallback.d.ts +45 -0
  334. package/dist/esm/resilience/withRetry.d.ts +71 -0
  335. package/dist/esm/security/PermissionPolicy.d.ts +124 -0
  336. package/dist/esm/security/PolicyHaltError.d.ts +72 -0
  337. package/dist/esm/security/extractSequence.d.ts +46 -0
  338. package/dist/esm/security/index.d.ts +44 -0
  339. package/dist/esm/security/thinkingRedaction.d.ts +50 -0
  340. package/dist/esm/status.d.ts +54 -0
  341. package/dist/esm/status.js +13 -4
  342. package/dist/esm/status.js.map +1 -1
  343. package/dist/esm/strategies/attach.d.ts +47 -0
  344. package/dist/esm/strategies/compose.d.ts +48 -0
  345. package/dist/esm/strategies/defaults/chatBubbleLiveStatus.d.ts +36 -0
  346. package/dist/esm/strategies/defaults/consoleObservability.d.ts +42 -0
  347. package/dist/esm/strategies/defaults/inMemorySinkCost.d.ts +50 -0
  348. package/dist/esm/strategies/defaults/index.d.ts +30 -0
  349. package/dist/esm/strategies/defaults/noopLens.d.ts +28 -0
  350. package/dist/esm/strategies/index.d.ts +36 -0
  351. package/dist/esm/strategies/registry.d.ts +70 -0
  352. package/dist/esm/strategies/types.d.ts +303 -0
  353. package/dist/esm/stream.d.ts +82 -0
  354. package/dist/esm/thinking/AnthropicThinkingHandler.d.ts +42 -0
  355. package/dist/esm/thinking/MockThinkingHandler.d.ts +50 -0
  356. package/dist/esm/thinking/OpenAIThinkingHandler.d.ts +37 -0
  357. package/dist/esm/thinking/index.d.ts +51 -0
  358. package/dist/esm/thinking/registry.d.ts +33 -0
  359. package/dist/esm/thinking/types.d.ts +162 -0
  360. package/dist/esm/tool-providers/gatedTools.d.ts +36 -0
  361. package/dist/esm/tool-providers/index.d.ts +41 -0
  362. package/dist/esm/tool-providers/skillScopedTools.d.ts +45 -0
  363. package/dist/esm/tool-providers/staticTools.d.ts +21 -0
  364. package/dist/esm/tool-providers/types.d.ts +138 -0
  365. package/dist/events.js +42 -0
  366. package/dist/events.js.map +1 -0
  367. package/dist/index.js +7 -117
  368. package/dist/index.js.map +1 -1
  369. package/dist/lib/context-bisect/index.js +3 -0
  370. package/dist/lib/context-bisect/index.js.map +1 -1
  371. package/dist/lib/context-bisect/localize.js +2 -0
  372. package/dist/lib/context-bisect/localize.js.map +1 -1
  373. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
  374. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  375. package/dist/lib/injection-engine/entryScorer.js +178 -0
  376. package/dist/lib/injection-engine/entryScorer.js.map +1 -0
  377. package/dist/lib/injection-engine/index.js +6 -2
  378. package/dist/lib/injection-engine/index.js.map +1 -1
  379. package/dist/lib/injection-engine/skillGraph.js +40 -45
  380. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  381. package/dist/lib/injection-engine/types.js.map +1 -1
  382. package/dist/lib/rag/defineRAG.js +3 -3
  383. package/dist/lib/rag/indexDocuments.js +2 -1
  384. package/dist/lib/rag/indexDocuments.js.map +1 -1
  385. package/dist/locales/index.js +2 -1
  386. package/dist/locales/index.js.map +1 -1
  387. package/dist/memory/causal/types.js.map +1 -1
  388. package/dist/memory/define.types.js +6 -4
  389. package/dist/memory/define.types.js.map +1 -1
  390. package/dist/observe.js +22 -115
  391. package/dist/observe.js.map +1 -1
  392. package/dist/providers.js +3 -1
  393. package/dist/providers.js.map +1 -1
  394. package/dist/status.js +13 -5
  395. package/dist/status.js.map +1 -1
  396. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  397. package/dist/types/adapters/llm/MockProvider.d.ts +2 -1
  398. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  399. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  400. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  401. package/dist/types/core/agent/stages/pickEntry.d.ts.map +1 -1
  402. package/dist/types/core/agent/types.d.ts +8 -4
  403. package/dist/types/core/agent/types.d.ts.map +1 -1
  404. package/dist/types/debug/finders.d.ts +13 -0
  405. package/dist/types/debug/finders.d.ts.map +1 -0
  406. package/dist/types/debug.d.ts +26 -0
  407. package/dist/types/debug.d.ts.map +1 -0
  408. package/dist/types/events.d.ts +19 -0
  409. package/dist/types/events.d.ts.map +1 -0
  410. package/dist/types/index.d.ts +4 -24
  411. package/dist/types/index.d.ts.map +1 -1
  412. package/dist/types/lib/context-bisect/index.d.ts +3 -0
  413. package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
  414. package/dist/types/lib/context-bisect/localize.d.ts +2 -0
  415. package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
  416. package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  417. package/dist/types/lib/injection-engine/entryScorer.d.ts +94 -0
  418. package/dist/types/lib/injection-engine/entryScorer.d.ts.map +1 -0
  419. package/dist/types/lib/injection-engine/index.d.ts +2 -1
  420. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  421. package/dist/types/lib/injection-engine/skillGraph.d.ts +24 -26
  422. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  423. package/dist/types/lib/injection-engine/types.d.ts +9 -4
  424. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  425. package/dist/types/lib/rag/defineRAG.d.ts +3 -3
  426. package/dist/types/lib/rag/indexDocuments.d.ts +2 -1
  427. package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
  428. package/dist/types/locales/index.d.ts +9 -0
  429. package/dist/types/locales/index.d.ts.map +1 -1
  430. package/dist/types/memory/causal/types.d.ts +13 -9
  431. package/dist/types/memory/causal/types.d.ts.map +1 -1
  432. package/dist/types/memory/define.types.d.ts +6 -4
  433. package/dist/types/memory/define.types.d.ts.map +1 -1
  434. package/dist/types/observe.d.ts +1 -6
  435. package/dist/types/observe.d.ts.map +1 -1
  436. package/dist/types/providers.d.ts +2 -2
  437. package/dist/types/providers.d.ts.map +1 -1
  438. package/dist/types/status.d.ts +10 -4
  439. package/dist/types/status.d.ts.map +1 -1
  440. package/dist/types/tool-providers/index.d.ts +1 -1
  441. package/dist/types/tool-providers/index.d.ts.map +1 -1
  442. package/package.json +261 -57
@@ -0,0 +1,136 @@
1
+ /**
2
+ * contextEngineering(agent) — first-class handle on the engineered
3
+ * subset of `context.injected` events.
4
+ *
5
+ * The Block A8 piece. agentfootprint already emits `context.injected`
6
+ * for EVERY piece of content that lands in a slot — including the
7
+ * baseline flow (the user message, every tool result, the static
8
+ * system prompt). For a developer who wants to inspect what their
9
+ * RAG / Skills / Memory / Instructions / Steering / Facts ARE
10
+ * INJECTING (the actual context-engineering work), the baseline flow
11
+ * is noise.
12
+ *
13
+ * `contextEngineering(agent)` filters the stream to ONLY the
14
+ * engineered injections and gives consumers two cleaner subscriptions:
15
+ *
16
+ * - `onEngineered(cb)` — fires for `source` ∈ {rag, skill, memory,
17
+ * instructions, steering, fact, custom}. The actual
18
+ * context-engineering work.
19
+ * - `onBaseline(cb)` — fires for `source` ∈ {user, tool-result,
20
+ * assistant, base, registry}. The baseline message-history flow.
21
+ *
22
+ * Use cases:
23
+ * - **Lens UI**: render only engineered injections in the "context
24
+ * bin"; show the baseline flow as edges between iterations.
25
+ * - **Eval pipelines**: count how many RAG chunks vs Memory entries
26
+ * vs Skill bodies entered the prompt for an eval-set query.
27
+ * - **Cost attribution**: sum tokens by `source` to know what
28
+ * fraction of spend is RAG vs Skills vs baseline.
29
+ * - **Debug logging**: tail just the engineered signals to spot
30
+ * surprising activations during dev.
31
+ *
32
+ * Pattern: Strategy + Filter (GoF) — pure classifier function over
33
+ * the existing `context.injected` event payload, paired with
34
+ * a thin subscription helper.
35
+ *
36
+ * Role: Layer-2 (event taxonomy) consumer-side helper. Doesn't
37
+ * emit new events; doesn't change the agent's flowchart.
38
+ * Pure observation.
39
+ *
40
+ * @example
41
+ * import { contextEngineering } from 'agentfootprint';
42
+ *
43
+ * const ce = contextEngineering(agent);
44
+ * ce.onEngineered((e) => {
45
+ * console.log(`[${e.payload.source}] ${e.payload.contentSummary}`);
46
+ * });
47
+ * ce.onBaseline((e) => {
48
+ * console.log(`[baseline:${e.payload.source}]`);
49
+ * });
50
+ *
51
+ * await agent.run({ message: 'help me' });
52
+ * // ... runs; engineered + baseline streams fire separately
53
+ *
54
+ * ce.detach(); // stops both subscriptions; the agent itself is fine
55
+ */
56
+ import type { AgentfootprintEventMap } from '../../events/registry.js';
57
+ import type { ContextSource } from '../../events/types.js';
58
+ /**
59
+ * Public set of "engineered" sources — the context-engineering
60
+ * primitives that consumers configure (RAG, Skills, Memory,
61
+ * Instructions, Steering, Facts) plus user-defined `custom`.
62
+ *
63
+ * Frozen so consumers can `.has(value)` directly without copy.
64
+ */
65
+ export declare const ENGINEERED_SOURCES: ReadonlySet<ContextSource>;
66
+ /**
67
+ * Public set of "baseline" sources — the message-history flow that
68
+ * exists regardless of context engineering: user input, tool results,
69
+ * assistant outputs, the always-on system prompt anchor (`base`), and
70
+ * the agent's static tool registry advertisement (`registry`).
71
+ */
72
+ export declare const BASELINE_SOURCES: ReadonlySet<ContextSource>;
73
+ /**
74
+ * Pure classifier: given a `ContextSource`, is it engineered?
75
+ *
76
+ * Useful for ad-hoc filtering on a raw `agent.on('agentfootprint.context.injected', ...)`
77
+ * subscription when you don't need the wrapper helper.
78
+ */
79
+ export declare function isEngineeredSource(source: ContextSource): boolean;
80
+ /**
81
+ * Pure classifier: given a `ContextSource`, is it baseline?
82
+ */
83
+ export declare function isBaselineSource(source: ContextSource): boolean;
84
+ /**
85
+ * The shape of the event passed to `onEngineered` / `onBaseline`
86
+ * callbacks. Same as `agentfootprint.context.injected`'s envelope —
87
+ * we don't transform it, just route by source.
88
+ */
89
+ export type ContextInjectedEvent = AgentfootprintEventMap['agentfootprint.context.injected'];
90
+ /** Listener signature for the wrapper helper. */
91
+ export type ContextInjectedListener = (event: ContextInjectedEvent) => void;
92
+ /** Unsubscribe handle. */
93
+ export type ContextEngineeringUnsubscribe = () => void;
94
+ /**
95
+ * Minimal subset of the agent surface this helper depends on.
96
+ * Lets us accept any runner (Agent, LLMCall, Sequence, etc.) that
97
+ * implements the typed `on(type, cb)` subscription API.
98
+ */
99
+ interface RunnerWithEvents {
100
+ on(type: 'agentfootprint.context.injected', listener: ContextInjectedListener): ContextEngineeringUnsubscribe;
101
+ }
102
+ /**
103
+ * Handle returned by `contextEngineering(agent)`. Lets consumers
104
+ * subscribe to engineered / baseline streams and detach cleanly.
105
+ */
106
+ export interface ContextEngineeringHandle {
107
+ /**
108
+ * Fires for `context.injected` events whose source is in
109
+ * `ENGINEERED_SOURCES`. Returns an unsubscribe function.
110
+ */
111
+ onEngineered(listener: ContextInjectedListener): ContextEngineeringUnsubscribe;
112
+ /**
113
+ * Fires for `context.injected` events whose source is in
114
+ * `BASELINE_SOURCES`. Returns an unsubscribe function.
115
+ */
116
+ onBaseline(listener: ContextInjectedListener): ContextEngineeringUnsubscribe;
117
+ /**
118
+ * Detach all subscriptions registered through this handle. After
119
+ * calling, no further callbacks will fire. Idempotent (safe to
120
+ * call multiple times).
121
+ */
122
+ detach(): void;
123
+ }
124
+ /**
125
+ * Wrap a runner's `agentfootprint.context.injected` stream into two
126
+ * filtered subscriptions: engineered + baseline. Multiple listeners
127
+ * per stream are allowed; `detach()` removes all of them.
128
+ *
129
+ * The classifier inspects `event.payload.source`. Unknown sources
130
+ * (forward-compat: `ContextSource` is open-extensible) are routed
131
+ * to NEITHER stream — preferring under-firing over miscategorizing.
132
+ * Use `agent.on('agentfootprint.context.injected', ...)` directly
133
+ * if you need to observe sources that aren't (yet) classified.
134
+ */
135
+ export declare function contextEngineering(agent: RunnerWithEvents): ContextEngineeringHandle;
136
+ export {};
@@ -0,0 +1,34 @@
1
+ /**
2
+ * typedEmit — typed facade over footprintjs's `scope.$emit(name, payload)`.
3
+ *
4
+ * Pattern: Facade (GoF) over an untyped API.
5
+ * Role: Stage code inside LLMCall/Agent/slot subflows calls this helper
6
+ * to emit events. The EventMap + TS generics reject typos and
7
+ * payload drift at compile time; the runtime call is identical
8
+ * to footprintjs's `$emit`.
9
+ * Emits: Whatever `T` is — the consumer passes the type and payload.
10
+ */
11
+ import type { AgentfootprintEventMap, AgentfootprintEventType } from '../../events/registry.js';
12
+ /**
13
+ * Minimal scope surface we need to emit — structurally compatible with
14
+ * footprintjs's `TypedScope<T>`, whose `$emit(name, payload?: unknown)` is
15
+ * wider than this.
16
+ */
17
+ interface EmitableScope {
18
+ $emit(name: string, payload?: unknown): void;
19
+ }
20
+ /**
21
+ * Emit a typed event from inside stage code.
22
+ *
23
+ * @example
24
+ * typedEmit(scope, 'agentfootprint.stream.llm_start', {
25
+ * iteration: 1,
26
+ * provider: 'anthropic',
27
+ * model: 'claude-opus-4-8',
28
+ * systemPromptChars: 800,
29
+ * messagesCount: 2,
30
+ * toolsCount: 0,
31
+ * });
32
+ */
33
+ export declare function typedEmit<K extends AgentfootprintEventType>(scope: EmitableScope, type: K, payload: AgentfootprintEventMap[K]['payload']): void;
34
+ export {};
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Recorder-layer types — shapes builders use to communicate with recorders.
3
+ *
4
+ * Pattern: Data Transfer Object (Fowler, PoEAA).
5
+ * Role: Shared vocabulary between builders (which WRITE injections) and
6
+ * recorders (which OBSERVE those writes and emit grouped events).
7
+ */
8
+ import type { ContextLifetime, ContextRecency, ContextRole, ContextSlot, ContextSource } from '../../events/types.js';
9
+ /**
10
+ * An injection record written by a slot subflow into `scope[INJECTION_KEYS[slot]]`.
11
+ * ContextRecorder reads this to construct the corresponding event payload.
12
+ *
13
+ * Builders write arrays of these; recorders diff old-vs-new to detect NEW
14
+ * injections.
15
+ */
16
+ export interface InjectionRecord {
17
+ /** Short human-readable content summary. */
18
+ readonly contentSummary: string;
19
+ /** Full content (may be redacted downstream). Optional. */
20
+ readonly rawContent?: string;
21
+ /** Stable hash of the content — enables duplicate detection. */
22
+ readonly contentHash: string;
23
+ /** The 3-slot target (sanity-checked against the subflow ID). */
24
+ readonly slot: ContextSlot;
25
+ /** Where this content came from. */
26
+ readonly source: ContextSource;
27
+ /** Optional source-specific identifier (retriever id, skill id, ...). */
28
+ readonly sourceId?: string;
29
+ /** Upstream event reference (runtimeStageId that produced the content). */
30
+ readonly upstreamRef?: string;
31
+ /** Why this was injected. */
32
+ readonly reason: string;
33
+ /** Role, when injecting into messages slot. */
34
+ readonly asRole?: ContextRole;
35
+ /** Recency, when injecting into messages slot. */
36
+ readonly asRecency?: ContextRecency;
37
+ /** Position within the slot (messages index, system-prompt section order). */
38
+ readonly position?: number;
39
+ /** Section tag for structured system prompts (e.g. "<skill>", "<retrieved>"). */
40
+ readonly sectionTag?: string;
41
+ /** Retrieval / ranking evidence. */
42
+ readonly retrievalScore?: number;
43
+ readonly rankPosition?: number;
44
+ readonly threshold?: number;
45
+ readonly budgetSpent?: {
46
+ readonly tokens: number;
47
+ readonly fractionOfCap: number;
48
+ };
49
+ /** How long this injection is expected to persist. */
50
+ readonly expiresAfter?: ContextLifetime;
51
+ }
52
+ /**
53
+ * Slot composition summary — written by a slot subflow at the END of its
54
+ * composition pass. ContextRecorder emits one `context.slot_composed`
55
+ * event per slot exit, built from this record.
56
+ */
57
+ export interface SlotComposition {
58
+ readonly slot: ContextSlot;
59
+ readonly iteration: number;
60
+ readonly budget: {
61
+ readonly cap: number;
62
+ readonly used: number;
63
+ readonly headroomChars: number;
64
+ };
65
+ readonly sourceBreakdown: Readonly<Partial<Record<ContextSource, {
66
+ readonly chars: number;
67
+ readonly count: number;
68
+ }>>>;
69
+ readonly orderingStrategy?: string;
70
+ readonly droppedCount: number;
71
+ readonly droppedSummaries: readonly string[];
72
+ }
73
+ /**
74
+ * Eviction record — a piece that was removed from a slot under pressure.
75
+ */
76
+ export interface EvictionRecord {
77
+ readonly slot: ContextSlot;
78
+ readonly contentHash: string;
79
+ readonly reason: 'budget' | 'stale' | 'low_score' | 'policy' | 'user_revoked';
80
+ readonly survivalMs: number;
81
+ }
82
+ /**
83
+ * Budget-pressure warning — emitted before evictions fire.
84
+ */
85
+ export interface BudgetPressureRecord {
86
+ readonly slot: ContextSlot;
87
+ readonly capTokens: number;
88
+ readonly projectedTokens: number;
89
+ readonly overflowBy: number;
90
+ readonly planAction: 'evict' | 'summarize' | 'abort';
91
+ }
92
+ export declare const COMPOSITION_KEYS: {
93
+ readonly SLOT_COMPOSED: "slotCompositions";
94
+ readonly EVICTED: "slotEvictions";
95
+ readonly BUDGET_PRESSURE: "slotBudgetPressures";
96
+ };
97
+ export type CompositionKey = (typeof COMPOSITION_KEYS)[keyof typeof COMPOSITION_KEYS];
@@ -0,0 +1,117 @@
1
+ /**
2
+ * AgentThinkingTraceRecorder — produce an AgentThinkingUI `Trace` from a run.
3
+ *
4
+ * AgentThinkingUI (the "watch it think" player) consumes a framework-agnostic
5
+ * `Trace` — a list of beats: `prompt → ask → return → answer`, where a tool
6
+ * reply is `data` (reason) or an `instruction` (a skill that says how to act).
7
+ * This recorder builds that `Trace` from agentfootprint's emit stream AS THE RUN
8
+ * TRAVERSES (no post-processing) — so any agentfootprint agent gets the
9
+ * domain-expert view for free, and AgentThinkingUI stays vendor-agnostic (it
10
+ * just renders the `Trace` JSON, exactly as it renders the OTLP adapter's output).
11
+ *
12
+ * Mapping (from the events already on the stream):
13
+ * stream.llm_end (toolCalls>0) → the brain reasoned; content + usage become
14
+ * the upcoming ask's `brain` + `cost`.
15
+ * stream.llm_end (toolCalls==0) → the final `answer`.
16
+ * stream.tool_start → `ask` (read_skill → reaching for a skill).
17
+ * stream.tool_end → `return` (read_skill → replyType:'instruction'
18
+ * + skill; any other tool → replyType:'data').
19
+ *
20
+ * Commentary (each beat's `brain`): filled from agentfootprint's OWN commentary
21
+ * engine — the SAME `selectCommentaryKey`/`extractCommentaryVars`/`renderCommentary`
22
+ * the Lens uses — so AgentThinkingUI's Notepad / bottom caption read identically
23
+ * to the Lens commentary panel (one engine, consumer-overridable via
24
+ * `commentaryTemplates`). The LLM's own reasoning still wins on the first ask of
25
+ * an iteration; the engine fills every other beat so no line is ever blank.
26
+ *
27
+ * Convention 1 (one purpose) + Convention 4 (run-scoped — resets per run).
28
+ */
29
+ import type { EmitRecorder } from 'footprintjs';
30
+ import { type CommentaryTemplates } from './commentary/commentaryTemplates.js';
31
+ export interface AttCost {
32
+ ms: number;
33
+ tokens: number;
34
+ tokensIn?: number;
35
+ tokensOut?: number;
36
+ tokensCached?: number;
37
+ }
38
+ export interface AttAnswer {
39
+ headline: string;
40
+ [key: string]: unknown;
41
+ }
42
+ /** One tool the model had at its disposal for an LLM call — what it "saw" when it
43
+ * decided. Lets a domain expert expand and read the menu next to the model's
44
+ * reasoning, to debug WHY it chose (or skipped) a tool. */
45
+ export interface AttToolSeen {
46
+ readonly name: string;
47
+ readonly description?: string;
48
+ }
49
+ export type AttStep = {
50
+ kind: 'prompt';
51
+ brain: string;
52
+ cost: AttCost;
53
+ } | {
54
+ kind: 'ask';
55
+ tool: string;
56
+ toolName?: string;
57
+ input: Record<string, unknown>;
58
+ brain: string;
59
+ cost: AttCost;
60
+ /** Model's extended-thinking chain-of-thought for this iteration (when the
61
+ * provider emitted reasoning blocks). Rendered as the "thinking" callout. */
62
+ thinking?: string;
63
+ /** The tools the model saw (name + description) for this iteration's call —
64
+ * the menu it chose from. On the iteration's first ask only. */
65
+ toolsSeen?: readonly AttToolSeen[];
66
+ } | {
67
+ kind: 'return';
68
+ tool: string;
69
+ toolName?: string;
70
+ replyType: 'data' | 'instruction' | 'both';
71
+ output: Record<string, unknown>;
72
+ brain: string;
73
+ cost: AttCost;
74
+ brainMode?: 'reason' | 'act';
75
+ skill?: string;
76
+ error?: string;
77
+ } | {
78
+ kind: 'answer';
79
+ to: string;
80
+ brain: string;
81
+ answer: AttAnswer;
82
+ cost: AttCost;
83
+ error?: string;
84
+ /** Model's extended-thinking chain-of-thought before the final answer. */
85
+ thinking?: string;
86
+ /** The tools the model saw (name + description) for the final call. */
87
+ toolsSeen?: readonly AttToolSeen[];
88
+ };
89
+ export interface AttTrace {
90
+ task: string;
91
+ title?: string;
92
+ agent: string;
93
+ model: string;
94
+ asker: string;
95
+ steps: AttStep[];
96
+ }
97
+ export interface AgentThinkingTraceOptions {
98
+ readonly id?: string;
99
+ readonly agent?: string;
100
+ readonly model?: string;
101
+ readonly asker?: string;
102
+ /**
103
+ * Override agentfootprint's bundled commentary templates — the SAME shape as
104
+ * the Lens's `commentaryTemplates` prop (partial; spread over the defaults).
105
+ * Drives each beat's `brain` narration, so AgentThinkingUI's Notepad / bottom
106
+ * caption read like the Lens commentary panel — one engine, one voice,
107
+ * consumer-overridable. Omit to use the bundled English defaults.
108
+ */
109
+ readonly commentaryTemplates?: Partial<CommentaryTemplates>;
110
+ }
111
+ export interface AgentThinkingTraceHandle extends EmitRecorder {
112
+ /** The AgentThinkingUI `Trace` for the run so far. `task` (the headline of the
113
+ * replay pill) defaults to the captured user message; override any field. */
114
+ getTrace(overrides?: Partial<Pick<AttTrace, 'task' | 'title' | 'agent' | 'model' | 'asker'>>): AttTrace;
115
+ clear(): void;
116
+ }
117
+ export declare function agentThinkingTrace(options?: AgentThinkingTraceOptions): AgentThinkingTraceHandle;