agentfootprint 1.22.0 → 2.0.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 (1565) hide show
  1. package/AGENTS.md +316 -198
  2. package/CLAUDE.md +316 -208
  3. package/README.md +208 -241
  4. package/ai-instructions/claude-code/SKILL.md +255 -510
  5. package/ai-instructions/clinerules +127 -52
  6. package/ai-instructions/copilot-instructions.md +124 -73
  7. package/ai-instructions/cursor/agentfootprint.md +124 -65
  8. package/ai-instructions/kiro/agentfootprint.md +124 -65
  9. package/ai-instructions/windsurfrules +127 -52
  10. package/dist/adapters/llm/AnthropicProvider.js +282 -0
  11. package/dist/adapters/llm/AnthropicProvider.js.map +1 -0
  12. package/dist/adapters/llm/BedrockProvider.js +294 -0
  13. package/dist/adapters/llm/BedrockProvider.js.map +1 -0
  14. package/dist/adapters/llm/BrowserAnthropicProvider.js +334 -0
  15. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -0
  16. package/dist/adapters/llm/BrowserOpenAIProvider.js +332 -0
  17. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -0
  18. package/dist/adapters/llm/MockProvider.js +187 -0
  19. package/dist/adapters/llm/MockProvider.js.map +1 -0
  20. package/dist/adapters/llm/OpenAIProvider.js +353 -0
  21. package/dist/adapters/llm/OpenAIProvider.js.map +1 -0
  22. package/dist/adapters/llm/createProvider.js +57 -0
  23. package/dist/adapters/llm/createProvider.js.map +1 -0
  24. package/dist/adapters/types.js +17 -0
  25. package/dist/adapters/types.js.map +1 -0
  26. package/dist/bridge/eventMeta.js +62 -0
  27. package/dist/bridge/eventMeta.js.map +1 -0
  28. package/dist/conventions.js +110 -0
  29. package/dist/conventions.js.map +1 -0
  30. package/dist/core/Agent.js +1015 -0
  31. package/dist/core/Agent.js.map +1 -0
  32. package/dist/core/LLMCall.js +258 -0
  33. package/dist/core/LLMCall.js.map +1 -0
  34. package/dist/core/RunnerBase.js +184 -0
  35. package/dist/core/RunnerBase.js.map +1 -0
  36. package/dist/core/cost.js +63 -0
  37. package/dist/core/cost.js.map +1 -0
  38. package/dist/core/pause.js +83 -0
  39. package/dist/core/pause.js.map +1 -0
  40. package/dist/core/runner.js +17 -0
  41. package/dist/core/runner.js.map +1 -0
  42. package/dist/core/slots/buildMessagesSlot.js +105 -0
  43. package/dist/core/slots/buildMessagesSlot.js.map +1 -0
  44. package/dist/core/slots/buildSystemPromptSlot.js +81 -0
  45. package/dist/core/slots/buildSystemPromptSlot.js.map +1 -0
  46. package/dist/core/slots/buildToolsSlot.js +85 -0
  47. package/dist/core/slots/buildToolsSlot.js.map +1 -0
  48. package/dist/core/slots/helpers.js +65 -0
  49. package/dist/core/slots/helpers.js.map +1 -0
  50. package/dist/core/tools.js +42 -0
  51. package/dist/core/tools.js.map +1 -0
  52. package/dist/core-flow/Conditional.js +237 -0
  53. package/dist/core-flow/Conditional.js.map +1 -0
  54. package/dist/core-flow/Loop.js +264 -0
  55. package/dist/core-flow/Loop.js.map +1 -0
  56. package/dist/core-flow/Parallel.js +344 -0
  57. package/dist/core-flow/Parallel.js.map +1 -0
  58. package/dist/core-flow/Sequence.js +194 -0
  59. package/dist/core-flow/Sequence.js.map +1 -0
  60. package/dist/esm/adapters/llm/AnthropicProvider.js +277 -0
  61. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -0
  62. package/dist/esm/adapters/llm/BedrockProvider.js +289 -0
  63. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -0
  64. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +329 -0
  65. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -0
  66. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +327 -0
  67. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -0
  68. package/dist/esm/adapters/llm/MockProvider.js +182 -0
  69. package/dist/esm/adapters/llm/MockProvider.js.map +1 -0
  70. package/dist/esm/adapters/llm/OpenAIProvider.js +347 -0
  71. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -0
  72. package/dist/esm/adapters/llm/createProvider.js +53 -0
  73. package/dist/esm/adapters/llm/createProvider.js.map +1 -0
  74. package/dist/esm/adapters/types.js +16 -0
  75. package/dist/esm/adapters/types.js.map +1 -0
  76. package/dist/esm/bridge/eventMeta.js +57 -0
  77. package/dist/esm/bridge/eventMeta.js.map +1 -0
  78. package/dist/esm/conventions.js +101 -0
  79. package/dist/esm/conventions.js.map +1 -0
  80. package/dist/esm/core/Agent.js +1010 -0
  81. package/dist/esm/core/Agent.js.map +1 -0
  82. package/dist/esm/core/LLMCall.js +253 -0
  83. package/dist/esm/core/LLMCall.js.map +1 -0
  84. package/dist/esm/core/RunnerBase.js +179 -0
  85. package/dist/esm/core/RunnerBase.js.map +1 -0
  86. package/dist/esm/core/cost.js +59 -0
  87. package/dist/esm/core/cost.js.map +1 -0
  88. package/dist/esm/core/pause.js +76 -0
  89. package/dist/esm/core/pause.js.map +1 -0
  90. package/dist/esm/core/runner.js +16 -0
  91. package/dist/esm/core/runner.js.map +1 -0
  92. package/dist/esm/core/slots/buildMessagesSlot.js +101 -0
  93. package/dist/esm/core/slots/buildMessagesSlot.js.map +1 -0
  94. package/dist/esm/core/slots/buildSystemPromptSlot.js +77 -0
  95. package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -0
  96. package/dist/esm/core/slots/buildToolsSlot.js +81 -0
  97. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -0
  98. package/dist/esm/core/slots/helpers.js +58 -0
  99. package/dist/esm/core/slots/helpers.js.map +1 -0
  100. package/dist/esm/core/tools.js +38 -0
  101. package/dist/esm/core/tools.js.map +1 -0
  102. package/dist/esm/core-flow/Conditional.js +232 -0
  103. package/dist/esm/core-flow/Conditional.js.map +1 -0
  104. package/dist/esm/core-flow/Loop.js +259 -0
  105. package/dist/esm/core-flow/Loop.js.map +1 -0
  106. package/dist/esm/core-flow/Parallel.js +339 -0
  107. package/dist/esm/core-flow/Parallel.js.map +1 -0
  108. package/dist/esm/core-flow/Sequence.js +189 -0
  109. package/dist/esm/core-flow/Sequence.js.map +1 -0
  110. package/dist/esm/events/dispatcher.js +193 -0
  111. package/dist/esm/events/dispatcher.js.map +1 -0
  112. package/dist/esm/events/payloads.js +9 -0
  113. package/dist/esm/events/payloads.js.map +1 -0
  114. package/dist/esm/events/registry.js +151 -0
  115. package/dist/esm/events/registry.js.map +1 -0
  116. package/dist/esm/events/types.js +9 -0
  117. package/dist/esm/events/types.js.map +1 -0
  118. package/dist/esm/index.js +118 -33
  119. package/dist/esm/index.js.map +1 -1
  120. package/dist/esm/injection-engine.js +5 -0
  121. package/dist/esm/injection-engine.js.map +1 -0
  122. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +77 -0
  123. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -0
  124. package/dist/esm/lib/injection-engine/evaluator.js +75 -0
  125. package/dist/esm/lib/injection-engine/evaluator.js.map +1 -0
  126. package/dist/esm/lib/injection-engine/factories/defineFact.js +54 -0
  127. package/dist/esm/lib/injection-engine/factories/defineFact.js.map +1 -0
  128. package/dist/esm/lib/injection-engine/factories/defineInstruction.js +52 -0
  129. package/dist/esm/lib/injection-engine/factories/defineInstruction.js.map +1 -0
  130. package/dist/esm/lib/injection-engine/factories/defineSkill.js +53 -0
  131. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -0
  132. package/dist/esm/lib/injection-engine/factories/defineSteering.js +35 -0
  133. package/dist/esm/lib/injection-engine/factories/defineSteering.js.map +1 -0
  134. package/dist/esm/lib/injection-engine/index.js +70 -0
  135. package/dist/esm/lib/injection-engine/index.js.map +1 -0
  136. package/dist/esm/lib/injection-engine/types.js +38 -0
  137. package/dist/esm/lib/injection-engine/types.js.map +1 -0
  138. package/dist/esm/memory/beats/llmExtractor.js +7 -20
  139. package/dist/esm/memory/beats/llmExtractor.js.map +1 -1
  140. package/dist/esm/memory/causal/index.js +5 -0
  141. package/dist/esm/memory/causal/index.js.map +1 -0
  142. package/dist/esm/memory/causal/loadSnapshot.js +112 -0
  143. package/dist/esm/memory/causal/loadSnapshot.js.map +1 -0
  144. package/dist/esm/memory/causal/snapshotPipeline.js +36 -0
  145. package/dist/esm/memory/causal/snapshotPipeline.js.map +1 -0
  146. package/dist/esm/memory/causal/types.js +25 -0
  147. package/dist/esm/memory/causal/types.js.map +1 -0
  148. package/dist/esm/memory/causal/writeSnapshot.js +75 -0
  149. package/dist/esm/memory/causal/writeSnapshot.js.map +1 -0
  150. package/dist/esm/memory/define.js +330 -0
  151. package/dist/esm/memory/define.js.map +1 -0
  152. package/dist/esm/memory/define.types.js +134 -0
  153. package/dist/esm/memory/define.types.js.map +1 -0
  154. package/dist/esm/memory/embedding/embedMessages.js +1 -15
  155. package/dist/esm/memory/embedding/embedMessages.js.map +1 -1
  156. package/dist/esm/memory/embedding/loadRelevant.js +1 -13
  157. package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
  158. package/dist/esm/memory/facts/llmFactExtractor.js +7 -20
  159. package/dist/esm/memory/facts/llmFactExtractor.js.map +1 -1
  160. package/dist/esm/memory/facts/patternFactExtractor.js +1 -15
  161. package/dist/esm/memory/facts/patternFactExtractor.js.map +1 -1
  162. package/dist/esm/memory/index.js +20 -1
  163. package/dist/esm/memory/index.js.map +1 -1
  164. package/dist/esm/memory/pipeline/auto.js +9 -10
  165. package/dist/esm/memory/pipeline/auto.js.map +1 -1
  166. package/dist/esm/memory/pipeline/default.js +14 -8
  167. package/dist/esm/memory/pipeline/default.js.map +1 -1
  168. package/dist/esm/memory/pipeline/fact.js +8 -10
  169. package/dist/esm/memory/pipeline/fact.js.map +1 -1
  170. package/dist/esm/memory/pipeline/narrative.js +9 -10
  171. package/dist/esm/memory/pipeline/narrative.js.map +1 -1
  172. package/dist/esm/memory/pipeline/semantic.js +8 -13
  173. package/dist/esm/memory/pipeline/semantic.js.map +1 -1
  174. package/dist/esm/memory/stages/formatDefault.js +1 -19
  175. package/dist/esm/memory/stages/formatDefault.js.map +1 -1
  176. package/dist/esm/memory/stages/tokenize.js +1 -21
  177. package/dist/esm/memory/stages/tokenize.js.map +1 -1
  178. package/dist/esm/observe.js +51 -0
  179. package/dist/esm/observe.js.map +1 -0
  180. package/dist/esm/patterns/Debate.js +61 -0
  181. package/dist/esm/patterns/Debate.js.map +1 -0
  182. package/dist/esm/patterns/MapReduce.js +162 -0
  183. package/dist/esm/patterns/MapReduce.js.map +1 -0
  184. package/dist/esm/patterns/Reflection.js +64 -0
  185. package/dist/esm/patterns/Reflection.js.map +1 -0
  186. package/dist/esm/patterns/SelfConsistency.js +71 -0
  187. package/dist/esm/patterns/SelfConsistency.js.map +1 -0
  188. package/dist/esm/patterns/Swarm.js +88 -0
  189. package/dist/esm/patterns/Swarm.js.map +1 -0
  190. package/dist/esm/patterns/ToT.js +98 -0
  191. package/dist/esm/patterns/ToT.js.map +1 -0
  192. package/dist/esm/patterns/index.js +18 -13
  193. package/dist/esm/patterns/index.js.map +1 -1
  194. package/dist/esm/providers.js +27 -0
  195. package/dist/esm/providers.js.map +1 -0
  196. package/dist/esm/recorders/core/AgentRecorder.js +20 -0
  197. package/dist/esm/recorders/core/AgentRecorder.js.map +1 -0
  198. package/dist/esm/recorders/core/CompositionRecorder.js +22 -0
  199. package/dist/esm/recorders/core/CompositionRecorder.js.map +1 -0
  200. package/dist/esm/recorders/core/ContextRecorder.js +218 -0
  201. package/dist/esm/recorders/core/ContextRecorder.js.map +1 -0
  202. package/dist/esm/recorders/core/CostRecorder.js +19 -0
  203. package/dist/esm/recorders/core/CostRecorder.js.map +1 -0
  204. package/dist/esm/recorders/core/EmitBridge.js +41 -0
  205. package/dist/esm/recorders/core/EmitBridge.js.map +1 -0
  206. package/dist/esm/recorders/core/EvalRecorder.js +21 -0
  207. package/dist/esm/recorders/core/EvalRecorder.js.map +1 -0
  208. package/dist/esm/recorders/core/MemoryRecorder.js +22 -0
  209. package/dist/esm/recorders/core/MemoryRecorder.js.map +1 -0
  210. package/dist/esm/recorders/core/PermissionRecorder.js +21 -0
  211. package/dist/esm/recorders/core/PermissionRecorder.js.map +1 -0
  212. package/dist/esm/recorders/core/SkillRecorder.js +19 -0
  213. package/dist/esm/recorders/core/SkillRecorder.js.map +1 -0
  214. package/dist/esm/recorders/core/StreamRecorder.js +20 -0
  215. package/dist/esm/recorders/core/StreamRecorder.js.map +1 -0
  216. package/dist/esm/recorders/core/typedEmit.js +27 -0
  217. package/dist/esm/recorders/core/typedEmit.js.map +1 -0
  218. package/dist/esm/recorders/core/types.js +16 -0
  219. package/dist/esm/recorders/core/types.js.map +1 -0
  220. package/dist/esm/recorders/observability/BoundaryRecorder.js +466 -0
  221. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -0
  222. package/dist/esm/recorders/observability/FlowchartRecorder.js +495 -0
  223. package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -0
  224. package/dist/esm/recorders/observability/LoggingRecorder.js +98 -0
  225. package/dist/esm/recorders/observability/LoggingRecorder.js.map +1 -0
  226. package/dist/esm/recorders/observability/ThinkingRecorder.js +59 -0
  227. package/dist/esm/recorders/observability/ThinkingRecorder.js.map +1 -0
  228. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +202 -0
  229. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -0
  230. package/dist/esm/recorders/observability/thinking/thinkingTemplates.js +185 -0
  231. package/dist/esm/recorders/observability/thinking/thinkingTemplates.js.map +1 -0
  232. package/dist/esm/resilience/fallbackProvider.js +53 -0
  233. package/dist/esm/resilience/fallbackProvider.js.map +1 -0
  234. package/dist/esm/resilience/index.js +65 -0
  235. package/dist/esm/resilience/index.js.map +1 -0
  236. package/dist/esm/resilience/withFallback.js +106 -0
  237. package/dist/esm/resilience/withFallback.js.map +1 -0
  238. package/dist/esm/resilience/withRetry.js +110 -0
  239. package/dist/esm/resilience/withRetry.js.map +1 -0
  240. package/dist/esm/stream.js +146 -0
  241. package/dist/esm/stream.js.map +1 -0
  242. package/dist/events/dispatcher.js +197 -0
  243. package/dist/events/dispatcher.js.map +1 -0
  244. package/dist/events/payloads.js +10 -0
  245. package/dist/events/payloads.js.map +1 -0
  246. package/dist/events/registry.js +154 -0
  247. package/dist/events/registry.js.map +1 -0
  248. package/dist/events/types.js +10 -0
  249. package/dist/events/types.js.map +1 -0
  250. package/dist/index.js +220 -88
  251. package/dist/index.js.map +1 -1
  252. package/dist/injection-engine.js +21 -0
  253. package/dist/injection-engine.js.map +1 -0
  254. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +81 -0
  255. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -0
  256. package/dist/lib/injection-engine/evaluator.js +79 -0
  257. package/dist/lib/injection-engine/evaluator.js.map +1 -0
  258. package/dist/lib/injection-engine/factories/defineFact.js +58 -0
  259. package/dist/lib/injection-engine/factories/defineFact.js.map +1 -0
  260. package/dist/lib/injection-engine/factories/defineInstruction.js +56 -0
  261. package/dist/lib/injection-engine/factories/defineInstruction.js.map +1 -0
  262. package/dist/lib/injection-engine/factories/defineSkill.js +57 -0
  263. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -0
  264. package/dist/lib/injection-engine/factories/defineSteering.js +39 -0
  265. package/dist/lib/injection-engine/factories/defineSteering.js.map +1 -0
  266. package/dist/lib/injection-engine/index.js +79 -0
  267. package/dist/lib/injection-engine/index.js.map +1 -0
  268. package/dist/lib/injection-engine/types.js +42 -0
  269. package/dist/lib/injection-engine/types.js.map +1 -0
  270. package/dist/memory/beats/llmExtractor.js +7 -20
  271. package/dist/memory/beats/llmExtractor.js.map +1 -1
  272. package/dist/memory/causal/index.js +12 -0
  273. package/dist/memory/causal/index.js.map +1 -0
  274. package/dist/memory/causal/loadSnapshot.js +116 -0
  275. package/dist/memory/causal/loadSnapshot.js.map +1 -0
  276. package/dist/memory/causal/snapshotPipeline.js +40 -0
  277. package/dist/memory/causal/snapshotPipeline.js.map +1 -0
  278. package/dist/memory/causal/types.js +28 -0
  279. package/dist/memory/causal/types.js.map +1 -0
  280. package/dist/memory/causal/writeSnapshot.js +79 -0
  281. package/dist/memory/causal/writeSnapshot.js.map +1 -0
  282. package/dist/memory/define.js +335 -0
  283. package/dist/memory/define.js.map +1 -0
  284. package/dist/memory/define.types.js +143 -0
  285. package/dist/memory/define.types.js.map +1 -0
  286. package/dist/memory/embedding/embedMessages.js +1 -15
  287. package/dist/memory/embedding/embedMessages.js.map +1 -1
  288. package/dist/memory/embedding/loadRelevant.js +1 -13
  289. package/dist/memory/embedding/loadRelevant.js.map +1 -1
  290. package/dist/memory/facts/llmFactExtractor.js +7 -20
  291. package/dist/memory/facts/llmFactExtractor.js.map +1 -1
  292. package/dist/memory/facts/patternFactExtractor.js +1 -15
  293. package/dist/memory/facts/patternFactExtractor.js.map +1 -1
  294. package/dist/memory/index.js +47 -7
  295. package/dist/memory/index.js.map +1 -1
  296. package/dist/memory/pipeline/auto.js +9 -10
  297. package/dist/memory/pipeline/auto.js.map +1 -1
  298. package/dist/memory/pipeline/default.js +14 -8
  299. package/dist/memory/pipeline/default.js.map +1 -1
  300. package/dist/memory/pipeline/fact.js +8 -10
  301. package/dist/memory/pipeline/fact.js.map +1 -1
  302. package/dist/memory/pipeline/narrative.js +9 -10
  303. package/dist/memory/pipeline/narrative.js.map +1 -1
  304. package/dist/memory/pipeline/semantic.js +8 -13
  305. package/dist/memory/pipeline/semantic.js.map +1 -1
  306. package/dist/memory/stages/formatDefault.js +1 -19
  307. package/dist/memory/stages/formatDefault.js.map +1 -1
  308. package/dist/memory/stages/tokenize.js +1 -21
  309. package/dist/memory/stages/tokenize.js.map +1 -1
  310. package/dist/observe.js +71 -0
  311. package/dist/observe.js.map +1 -0
  312. package/dist/patterns/Debate.js +65 -0
  313. package/dist/patterns/Debate.js.map +1 -0
  314. package/dist/patterns/MapReduce.js +166 -0
  315. package/dist/patterns/MapReduce.js.map +1 -0
  316. package/dist/patterns/Reflection.js +68 -0
  317. package/dist/patterns/Reflection.js.map +1 -0
  318. package/dist/patterns/SelfConsistency.js +75 -0
  319. package/dist/patterns/SelfConsistency.js.map +1 -0
  320. package/dist/patterns/Swarm.js +92 -0
  321. package/dist/patterns/Swarm.js.map +1 -0
  322. package/dist/patterns/ToT.js +102 -0
  323. package/dist/patterns/ToT.js.map +1 -0
  324. package/dist/patterns/index.js +25 -18
  325. package/dist/patterns/index.js.map +1 -1
  326. package/dist/providers.js +44 -0
  327. package/dist/providers.js.map +1 -0
  328. package/dist/recorders/core/AgentRecorder.js +24 -0
  329. package/dist/recorders/core/AgentRecorder.js.map +1 -0
  330. package/dist/recorders/core/CompositionRecorder.js +26 -0
  331. package/dist/recorders/core/CompositionRecorder.js.map +1 -0
  332. package/dist/recorders/core/ContextRecorder.js +222 -0
  333. package/dist/recorders/core/ContextRecorder.js.map +1 -0
  334. package/dist/recorders/core/CostRecorder.js +23 -0
  335. package/dist/recorders/core/CostRecorder.js.map +1 -0
  336. package/dist/recorders/core/EmitBridge.js +45 -0
  337. package/dist/recorders/core/EmitBridge.js.map +1 -0
  338. package/dist/recorders/core/EvalRecorder.js +25 -0
  339. package/dist/recorders/core/EvalRecorder.js.map +1 -0
  340. package/dist/recorders/core/MemoryRecorder.js +26 -0
  341. package/dist/recorders/core/MemoryRecorder.js.map +1 -0
  342. package/dist/recorders/core/PermissionRecorder.js +25 -0
  343. package/dist/recorders/core/PermissionRecorder.js.map +1 -0
  344. package/dist/recorders/core/SkillRecorder.js +23 -0
  345. package/dist/recorders/core/SkillRecorder.js.map +1 -0
  346. package/dist/recorders/core/StreamRecorder.js +24 -0
  347. package/dist/recorders/core/StreamRecorder.js.map +1 -0
  348. package/dist/recorders/core/typedEmit.js +31 -0
  349. package/dist/recorders/core/typedEmit.js.map +1 -0
  350. package/dist/recorders/core/types.js +19 -0
  351. package/dist/recorders/core/types.js.map +1 -0
  352. package/dist/recorders/observability/BoundaryRecorder.js +471 -0
  353. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -0
  354. package/dist/recorders/observability/FlowchartRecorder.js +500 -0
  355. package/dist/recorders/observability/FlowchartRecorder.js.map +1 -0
  356. package/dist/recorders/observability/LoggingRecorder.js +102 -0
  357. package/dist/recorders/observability/LoggingRecorder.js.map +1 -0
  358. package/dist/recorders/observability/ThinkingRecorder.js +63 -0
  359. package/dist/recorders/observability/ThinkingRecorder.js.map +1 -0
  360. package/dist/recorders/observability/commentary/commentaryTemplates.js +208 -0
  361. package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -0
  362. package/dist/recorders/observability/thinking/thinkingTemplates.js +190 -0
  363. package/dist/recorders/observability/thinking/thinkingTemplates.js.map +1 -0
  364. package/dist/resilience/fallbackProvider.js +57 -0
  365. package/dist/resilience/fallbackProvider.js.map +1 -0
  366. package/dist/resilience/index.js +71 -0
  367. package/dist/resilience/index.js.map +1 -0
  368. package/dist/resilience/withFallback.js +110 -0
  369. package/dist/resilience/withFallback.js.map +1 -0
  370. package/dist/resilience/withRetry.js +114 -0
  371. package/dist/resilience/withRetry.js.map +1 -0
  372. package/dist/stream.js +152 -0
  373. package/dist/stream.js.map +1 -0
  374. package/dist/types/adapters/llm/AnthropicProvider.d.ts +151 -0
  375. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -0
  376. package/dist/types/adapters/llm/BedrockProvider.d.ts +127 -0
  377. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -0
  378. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +72 -0
  379. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -0
  380. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +52 -0
  381. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -0
  382. package/dist/types/adapters/llm/MockProvider.d.ts +109 -0
  383. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -0
  384. package/dist/types/adapters/llm/OpenAIProvider.d.ts +181 -0
  385. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -0
  386. package/dist/types/adapters/llm/createProvider.d.ts +57 -0
  387. package/dist/types/adapters/llm/createProvider.d.ts.map +1 -0
  388. package/dist/types/adapters/types.d.ts +159 -0
  389. package/dist/types/adapters/types.d.ts.map +1 -0
  390. package/dist/types/bridge/eventMeta.d.ts +60 -0
  391. package/dist/types/bridge/eventMeta.d.ts.map +1 -0
  392. package/dist/types/conventions.d.ts +71 -0
  393. package/dist/types/conventions.d.ts.map +1 -0
  394. package/dist/types/core/Agent.d.ts +219 -0
  395. package/dist/types/core/Agent.d.ts.map +1 -0
  396. package/dist/types/core/LLMCall.d.ts +78 -0
  397. package/dist/types/core/LLMCall.d.ts.map +1 -0
  398. package/dist/types/core/RunnerBase.d.ts +95 -0
  399. package/dist/types/core/RunnerBase.d.ts.map +1 -0
  400. package/dist/types/core/cost.d.ts +39 -0
  401. package/dist/types/core/cost.d.ts.map +1 -0
  402. package/dist/types/core/pause.d.ts +75 -0
  403. package/dist/types/core/pause.d.ts.map +1 -0
  404. package/dist/types/core/runner.d.ts +105 -0
  405. package/dist/types/core/runner.d.ts.map +1 -0
  406. package/dist/types/core/slots/buildMessagesSlot.d.ts +41 -0
  407. package/dist/types/core/slots/buildMessagesSlot.d.ts.map +1 -0
  408. package/dist/types/core/slots/buildSystemPromptSlot.d.ts +42 -0
  409. package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -0
  410. package/dist/types/core/slots/buildToolsSlot.d.ts +31 -0
  411. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -0
  412. package/dist/types/core/slots/helpers.d.ts +28 -0
  413. package/dist/types/core/slots/helpers.d.ts.map +1 -0
  414. package/dist/types/core/tools.d.ts +73 -0
  415. package/dist/types/core/tools.d.ts.map +1 -0
  416. package/dist/types/core-flow/Conditional.d.ts +76 -0
  417. package/dist/types/core-flow/Conditional.d.ts.map +1 -0
  418. package/dist/types/core-flow/Loop.d.ts +99 -0
  419. package/dist/types/core-flow/Loop.d.ts.map +1 -0
  420. package/dist/types/core-flow/Parallel.d.ts +115 -0
  421. package/dist/types/core-flow/Parallel.d.ts.map +1 -0
  422. package/dist/types/core-flow/Sequence.d.ts +88 -0
  423. package/dist/types/core-flow/Sequence.d.ts.map +1 -0
  424. package/dist/types/events/dispatcher.d.ts +82 -0
  425. package/dist/types/events/dispatcher.d.ts.map +1 -0
  426. package/dist/types/events/payloads.d.ts +332 -0
  427. package/dist/types/events/payloads.d.ts.map +1 -0
  428. package/dist/types/events/registry.d.ts +155 -0
  429. package/dist/types/events/registry.d.ts.map +1 -0
  430. package/dist/types/events/types.d.ts +71 -0
  431. package/dist/types/events/types.d.ts.map +1 -0
  432. package/dist/types/index.d.ts +54 -34
  433. package/dist/types/index.d.ts.map +1 -1
  434. package/dist/types/injection-engine.d.ts +5 -0
  435. package/dist/types/injection-engine.d.ts.map +1 -0
  436. package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts +46 -0
  437. package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -0
  438. package/dist/types/lib/injection-engine/evaluator.d.ts +25 -0
  439. package/dist/types/lib/injection-engine/evaluator.d.ts.map +1 -0
  440. package/dist/types/lib/injection-engine/factories/defineFact.d.ts +52 -0
  441. package/dist/types/lib/injection-engine/factories/defineFact.d.ts.map +1 -0
  442. package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts +68 -0
  443. package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts.map +1 -0
  444. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +47 -0
  445. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -0
  446. package/dist/types/lib/injection-engine/factories/defineSteering.d.ts +28 -0
  447. package/dist/types/lib/injection-engine/factories/defineSteering.d.ts.map +1 -0
  448. package/dist/types/lib/injection-engine/index.d.ts +69 -0
  449. package/dist/types/lib/injection-engine/index.d.ts.map +1 -0
  450. package/dist/types/lib/injection-engine/types.d.ts +175 -0
  451. package/dist/types/lib/injection-engine/types.d.ts.map +1 -0
  452. package/dist/types/memory/beats/extractor.d.ts +1 -1
  453. package/dist/types/memory/beats/extractor.d.ts.map +1 -1
  454. package/dist/types/memory/beats/llmExtractor.d.ts +2 -2
  455. package/dist/types/memory/beats/llmExtractor.d.ts.map +1 -1
  456. package/dist/types/memory/causal/index.d.ts +6 -0
  457. package/dist/types/memory/causal/index.d.ts.map +1 -0
  458. package/dist/types/memory/causal/loadSnapshot.d.ts +52 -0
  459. package/dist/types/memory/causal/loadSnapshot.d.ts.map +1 -0
  460. package/dist/types/memory/causal/snapshotPipeline.d.ts +36 -0
  461. package/dist/types/memory/causal/snapshotPipeline.d.ts.map +1 -0
  462. package/dist/types/memory/causal/types.d.ts +131 -0
  463. package/dist/types/memory/causal/types.d.ts.map +1 -0
  464. package/dist/types/memory/causal/writeSnapshot.d.ts +57 -0
  465. package/dist/types/memory/causal/writeSnapshot.d.ts.map +1 -0
  466. package/dist/types/memory/define.d.ts +78 -0
  467. package/dist/types/memory/define.d.ts.map +1 -0
  468. package/dist/types/memory/define.types.d.ts +284 -0
  469. package/dist/types/memory/define.types.d.ts.map +1 -0
  470. package/dist/types/memory/embedding/embedMessages.d.ts +1 -1
  471. package/dist/types/memory/embedding/embedMessages.d.ts.map +1 -1
  472. package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
  473. package/dist/types/memory/facts/extractor.d.ts +1 -1
  474. package/dist/types/memory/facts/extractor.d.ts.map +1 -1
  475. package/dist/types/memory/facts/llmFactExtractor.d.ts +2 -2
  476. package/dist/types/memory/facts/llmFactExtractor.d.ts.map +1 -1
  477. package/dist/types/memory/facts/patternFactExtractor.d.ts.map +1 -1
  478. package/dist/types/memory/index.d.ts +19 -1
  479. package/dist/types/memory/index.d.ts.map +1 -1
  480. package/dist/types/memory/pipeline/auto.d.ts +1 -1
  481. package/dist/types/memory/pipeline/auto.d.ts.map +1 -1
  482. package/dist/types/memory/pipeline/default.d.ts.map +1 -1
  483. package/dist/types/memory/pipeline/fact.d.ts.map +1 -1
  484. package/dist/types/memory/pipeline/narrative.d.ts +1 -1
  485. package/dist/types/memory/pipeline/narrative.d.ts.map +1 -1
  486. package/dist/types/memory/pipeline/semantic.d.ts +1 -1
  487. package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
  488. package/dist/types/memory/pipeline/types.d.ts +1 -1
  489. package/dist/types/memory/stages/formatDefault.d.ts +1 -1
  490. package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
  491. package/dist/types/memory/stages/summarize.d.ts +1 -1
  492. package/dist/types/memory/stages/summarize.d.ts.map +1 -1
  493. package/dist/types/memory/stages/tokenize.d.ts +1 -1
  494. package/dist/types/memory/stages/tokenize.d.ts.map +1 -1
  495. package/dist/types/memory/stages/types.d.ts +1 -1
  496. package/dist/types/memory/stages/types.d.ts.map +1 -1
  497. package/dist/types/memory/stages/writeMessages.d.ts +1 -1
  498. package/dist/types/memory/stages/writeMessages.d.ts.map +1 -1
  499. package/dist/types/observe.d.ts +47 -0
  500. package/dist/types/observe.d.ts.map +1 -0
  501. package/dist/types/patterns/Debate.d.ts +40 -0
  502. package/dist/types/patterns/Debate.d.ts.map +1 -0
  503. package/dist/types/patterns/MapReduce.d.ts +67 -0
  504. package/dist/types/patterns/MapReduce.d.ts.map +1 -0
  505. package/dist/types/patterns/Reflection.d.ts +52 -0
  506. package/dist/types/patterns/Reflection.d.ts.map +1 -0
  507. package/dist/types/patterns/SelfConsistency.d.ts +44 -0
  508. package/dist/types/patterns/SelfConsistency.d.ts.map +1 -0
  509. package/dist/types/patterns/Swarm.d.ts +61 -0
  510. package/dist/types/patterns/Swarm.d.ts.map +1 -0
  511. package/dist/types/patterns/ToT.d.ts +54 -0
  512. package/dist/types/patterns/ToT.d.ts.map +1 -0
  513. package/dist/types/patterns/index.d.ts +18 -17
  514. package/dist/types/patterns/index.d.ts.map +1 -1
  515. package/dist/types/providers.d.ts +28 -0
  516. package/dist/types/providers.d.ts.map +1 -0
  517. package/dist/types/recorders/core/AgentRecorder.d.ts +16 -0
  518. package/dist/types/recorders/core/AgentRecorder.d.ts.map +1 -0
  519. package/dist/types/recorders/core/CompositionRecorder.d.ts +18 -0
  520. package/dist/types/recorders/core/CompositionRecorder.d.ts.map +1 -0
  521. package/dist/types/recorders/core/ContextRecorder.d.ts +50 -0
  522. package/dist/types/recorders/core/ContextRecorder.d.ts.map +1 -0
  523. package/dist/types/recorders/core/CostRecorder.d.ts +15 -0
  524. package/dist/types/recorders/core/CostRecorder.d.ts.map +1 -0
  525. package/dist/types/recorders/core/EmitBridge.d.ts +31 -0
  526. package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -0
  527. package/dist/types/recorders/core/EvalRecorder.d.ts +17 -0
  528. package/dist/types/recorders/core/EvalRecorder.d.ts.map +1 -0
  529. package/dist/types/recorders/core/MemoryRecorder.d.ts +18 -0
  530. package/dist/types/recorders/core/MemoryRecorder.d.ts.map +1 -0
  531. package/dist/types/recorders/core/PermissionRecorder.d.ts +17 -0
  532. package/dist/types/recorders/core/PermissionRecorder.d.ts.map +1 -0
  533. package/dist/types/recorders/core/SkillRecorder.d.ts +15 -0
  534. package/dist/types/recorders/core/SkillRecorder.d.ts.map +1 -0
  535. package/dist/types/recorders/core/StreamRecorder.d.ts +16 -0
  536. package/dist/types/recorders/core/StreamRecorder.d.ts.map +1 -0
  537. package/dist/types/recorders/core/typedEmit.d.ts +35 -0
  538. package/dist/types/recorders/core/typedEmit.d.ts.map +1 -0
  539. package/dist/types/recorders/core/types.d.ts +98 -0
  540. package/dist/types/recorders/core/types.d.ts.map +1 -0
  541. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +301 -0
  542. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -0
  543. package/dist/types/recorders/observability/FlowchartRecorder.d.ts +205 -0
  544. package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -0
  545. package/dist/types/recorders/observability/LoggingRecorder.d.ts +89 -0
  546. package/dist/types/recorders/observability/LoggingRecorder.d.ts.map +1 -0
  547. package/dist/types/recorders/observability/ThinkingRecorder.d.ts +35 -0
  548. package/dist/types/recorders/observability/ThinkingRecorder.d.ts.map +1 -0
  549. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts +96 -0
  550. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -0
  551. package/dist/types/recorders/observability/thinking/thinkingTemplates.d.ts +107 -0
  552. package/dist/types/recorders/observability/thinking/thinkingTemplates.d.ts.map +1 -0
  553. package/dist/types/resilience/fallbackProvider.d.ts +34 -0
  554. package/dist/types/resilience/fallbackProvider.d.ts.map +1 -0
  555. package/dist/types/resilience/index.d.ts +65 -0
  556. package/dist/types/resilience/index.d.ts.map +1 -0
  557. package/dist/types/resilience/withFallback.d.ts +46 -0
  558. package/dist/types/resilience/withFallback.d.ts.map +1 -0
  559. package/dist/types/resilience/withRetry.d.ts +54 -0
  560. package/dist/types/resilience/withRetry.d.ts.map +1 -0
  561. package/dist/types/stream.d.ts +112 -0
  562. package/dist/types/stream.d.ts.map +1 -0
  563. package/package.json +26 -89
  564. package/dist/adapters/a2a/a2aRunner.js +0 -36
  565. package/dist/adapters/a2a/a2aRunner.js.map +0 -1
  566. package/dist/adapters/anthropic/AnthropicAdapter.js +0 -292
  567. package/dist/adapters/anthropic/AnthropicAdapter.js.map +0 -1
  568. package/dist/adapters/bedrock/BedrockAdapter.js +0 -313
  569. package/dist/adapters/bedrock/BedrockAdapter.js.map +0 -1
  570. package/dist/adapters/browser/BrowserAnthropicAdapter.js +0 -381
  571. package/dist/adapters/browser/BrowserAnthropicAdapter.js.map +0 -1
  572. package/dist/adapters/browser/BrowserOpenAIAdapter.js +0 -317
  573. package/dist/adapters/browser/BrowserOpenAIAdapter.js.map +0 -1
  574. package/dist/adapters/browser/index.js +0 -8
  575. package/dist/adapters/browser/index.js.map +0 -1
  576. package/dist/adapters/createAdapterSubflow.js +0 -46
  577. package/dist/adapters/createAdapterSubflow.js.map +0 -1
  578. package/dist/adapters/createProvider.js +0 -107
  579. package/dist/adapters/createProvider.js.map +0 -1
  580. package/dist/adapters/fallbackProvider.js +0 -94
  581. package/dist/adapters/fallbackProvider.js.map +0 -1
  582. package/dist/adapters/index.js +0 -41
  583. package/dist/adapters/index.js.map +0 -1
  584. package/dist/adapters/mcp/mcpToolProvider.js +0 -44
  585. package/dist/adapters/mcp/mcpToolProvider.js.map +0 -1
  586. package/dist/adapters/mock/MockAdapter.js +0 -66
  587. package/dist/adapters/mock/MockAdapter.js.map +0 -1
  588. package/dist/adapters/mock/MockRetriever.js +0 -61
  589. package/dist/adapters/mock/MockRetriever.js.map +0 -1
  590. package/dist/adapters/openai/OpenAIAdapter.js +0 -278
  591. package/dist/adapters/openai/OpenAIAdapter.js.map +0 -1
  592. package/dist/adapters/resilientProvider.js +0 -93
  593. package/dist/adapters/resilientProvider.js.map +0 -1
  594. package/dist/compositions/index.js +0 -17
  595. package/dist/compositions/index.js.map +0 -1
  596. package/dist/compositions/withCircuitBreaker.js +0 -84
  597. package/dist/compositions/withCircuitBreaker.js.map +0 -1
  598. package/dist/compositions/withFallback.js +0 -33
  599. package/dist/compositions/withFallback.js.map +0 -1
  600. package/dist/compositions/withRetry.js +0 -59
  601. package/dist/compositions/withRetry.js.map +0 -1
  602. package/dist/concepts/Conditional.js +0 -306
  603. package/dist/concepts/Conditional.js.map +0 -1
  604. package/dist/concepts/FlowChart.js +0 -239
  605. package/dist/concepts/FlowChart.js.map +0 -1
  606. package/dist/concepts/LLMCall.js +0 -214
  607. package/dist/concepts/LLMCall.js.map +0 -1
  608. package/dist/concepts/Parallel.js +0 -289
  609. package/dist/concepts/Parallel.js.map +0 -1
  610. package/dist/concepts/RAG.js +0 -244
  611. package/dist/concepts/RAG.js.map +0 -1
  612. package/dist/concepts/Swarm.js +0 -310
  613. package/dist/concepts/Swarm.js.map +0 -1
  614. package/dist/concepts/index.js +0 -26
  615. package/dist/concepts/index.js.map +0 -1
  616. package/dist/concepts/specIcons.js +0 -50
  617. package/dist/concepts/specIcons.js.map +0 -1
  618. package/dist/core/config.js +0 -7
  619. package/dist/core/config.js.map +0 -1
  620. package/dist/core/index.js +0 -14
  621. package/dist/core/index.js.map +0 -1
  622. package/dist/core/providers.js +0 -19
  623. package/dist/core/providers.js.map +0 -1
  624. package/dist/core/recorders.js +0 -7
  625. package/dist/core/recorders.js.map +0 -1
  626. package/dist/esm/adapters/a2a/a2aRunner.js +0 -32
  627. package/dist/esm/adapters/a2a/a2aRunner.js.map +0 -1
  628. package/dist/esm/adapters/anthropic/AnthropicAdapter.js +0 -288
  629. package/dist/esm/adapters/anthropic/AnthropicAdapter.js.map +0 -1
  630. package/dist/esm/adapters/bedrock/BedrockAdapter.js +0 -309
  631. package/dist/esm/adapters/bedrock/BedrockAdapter.js.map +0 -1
  632. package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js +0 -377
  633. package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js.map +0 -1
  634. package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js +0 -313
  635. package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js.map +0 -1
  636. package/dist/esm/adapters/browser/index.js +0 -3
  637. package/dist/esm/adapters/browser/index.js.map +0 -1
  638. package/dist/esm/adapters/createAdapterSubflow.js +0 -42
  639. package/dist/esm/adapters/createAdapterSubflow.js.map +0 -1
  640. package/dist/esm/adapters/createProvider.js +0 -101
  641. package/dist/esm/adapters/createProvider.js.map +0 -1
  642. package/dist/esm/adapters/fallbackProvider.js +0 -90
  643. package/dist/esm/adapters/fallbackProvider.js.map +0 -1
  644. package/dist/esm/adapters/index.js +0 -21
  645. package/dist/esm/adapters/index.js.map +0 -1
  646. package/dist/esm/adapters/mcp/mcpToolProvider.js +0 -40
  647. package/dist/esm/adapters/mcp/mcpToolProvider.js.map +0 -1
  648. package/dist/esm/adapters/mock/MockAdapter.js +0 -61
  649. package/dist/esm/adapters/mock/MockAdapter.js.map +0 -1
  650. package/dist/esm/adapters/mock/MockRetriever.js +0 -56
  651. package/dist/esm/adapters/mock/MockRetriever.js.map +0 -1
  652. package/dist/esm/adapters/openai/OpenAIAdapter.js +0 -274
  653. package/dist/esm/adapters/openai/OpenAIAdapter.js.map +0 -1
  654. package/dist/esm/adapters/resilientProvider.js +0 -89
  655. package/dist/esm/adapters/resilientProvider.js.map +0 -1
  656. package/dist/esm/compositions/index.js +0 -10
  657. package/dist/esm/compositions/index.js.map +0 -1
  658. package/dist/esm/compositions/withCircuitBreaker.js +0 -79
  659. package/dist/esm/compositions/withCircuitBreaker.js.map +0 -1
  660. package/dist/esm/compositions/withFallback.js +0 -29
  661. package/dist/esm/compositions/withFallback.js.map +0 -1
  662. package/dist/esm/compositions/withRetry.js +0 -55
  663. package/dist/esm/compositions/withRetry.js.map +0 -1
  664. package/dist/esm/concepts/Conditional.js +0 -301
  665. package/dist/esm/concepts/Conditional.js.map +0 -1
  666. package/dist/esm/concepts/FlowChart.js +0 -234
  667. package/dist/esm/concepts/FlowChart.js.map +0 -1
  668. package/dist/esm/concepts/LLMCall.js +0 -209
  669. package/dist/esm/concepts/LLMCall.js.map +0 -1
  670. package/dist/esm/concepts/Parallel.js +0 -284
  671. package/dist/esm/concepts/Parallel.js.map +0 -1
  672. package/dist/esm/concepts/RAG.js +0 -239
  673. package/dist/esm/concepts/RAG.js.map +0 -1
  674. package/dist/esm/concepts/Swarm.js +0 -305
  675. package/dist/esm/concepts/Swarm.js.map +0 -1
  676. package/dist/esm/concepts/index.js +0 -9
  677. package/dist/esm/concepts/index.js.map +0 -1
  678. package/dist/esm/concepts/specIcons.js +0 -46
  679. package/dist/esm/concepts/specIcons.js.map +0 -1
  680. package/dist/esm/core/config.js +0 -6
  681. package/dist/esm/core/config.js.map +0 -1
  682. package/dist/esm/core/index.js +0 -13
  683. package/dist/esm/core/index.js.map +0 -1
  684. package/dist/esm/core/providers.js +0 -18
  685. package/dist/esm/core/providers.js.map +0 -1
  686. package/dist/esm/core/recorders.js +0 -6
  687. package/dist/esm/core/recorders.js.map +0 -1
  688. package/dist/esm/executor/agentLoop.js +0 -154
  689. package/dist/esm/executor/agentLoop.js.map +0 -1
  690. package/dist/esm/executor/index.js +0 -5
  691. package/dist/esm/executor/index.js.map +0 -1
  692. package/dist/esm/explain.barrel.js +0 -24
  693. package/dist/esm/explain.barrel.js.map +0 -1
  694. package/dist/esm/exportTrace.js +0 -71
  695. package/dist/esm/exportTrace.js.map +0 -1
  696. package/dist/esm/instructions.barrel.js +0 -22
  697. package/dist/esm/instructions.barrel.js.map +0 -1
  698. package/dist/esm/lib/call/callLLMStage.js +0 -100
  699. package/dist/esm/lib/call/callLLMStage.js.map +0 -1
  700. package/dist/esm/lib/call/helpers.js +0 -574
  701. package/dist/esm/lib/call/helpers.js.map +0 -1
  702. package/dist/esm/lib/call/index.js +0 -6
  703. package/dist/esm/lib/call/index.js.map +0 -1
  704. package/dist/esm/lib/call/parseResponseStage.js +0 -63
  705. package/dist/esm/lib/call/parseResponseStage.js.map +0 -1
  706. package/dist/esm/lib/call/streamingCallLLMStage.js +0 -152
  707. package/dist/esm/lib/call/streamingCallLLMStage.js.map +0 -1
  708. package/dist/esm/lib/call/toolExecutionSubflow.js +0 -198
  709. package/dist/esm/lib/call/toolExecutionSubflow.js.map +0 -1
  710. package/dist/esm/lib/call/types.js +0 -10
  711. package/dist/esm/lib/call/types.js.map +0 -1
  712. package/dist/esm/lib/concepts/Agent.js +0 -7
  713. package/dist/esm/lib/concepts/Agent.js.map +0 -1
  714. package/dist/esm/lib/concepts/AgentBuilder.js +0 -430
  715. package/dist/esm/lib/concepts/AgentBuilder.js.map +0 -1
  716. package/dist/esm/lib/concepts/AgentRunner.js +0 -640
  717. package/dist/esm/lib/concepts/AgentRunner.js.map +0 -1
  718. package/dist/esm/lib/concepts/index.js +0 -2
  719. package/dist/esm/lib/concepts/index.js.map +0 -1
  720. package/dist/esm/lib/instructions/InstructionRecorder.js +0 -125
  721. package/dist/esm/lib/instructions/InstructionRecorder.js.map +0 -1
  722. package/dist/esm/lib/instructions/agentInstruction.js +0 -141
  723. package/dist/esm/lib/instructions/agentInstruction.js.map +0 -1
  724. package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js +0 -83
  725. package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js.map +0 -1
  726. package/dist/esm/lib/instructions/evaluator.js +0 -196
  727. package/dist/esm/lib/instructions/evaluator.js.map +0 -1
  728. package/dist/esm/lib/instructions/index.js +0 -10
  729. package/dist/esm/lib/instructions/index.js.map +0 -1
  730. package/dist/esm/lib/instructions/inject.js +0 -55
  731. package/dist/esm/lib/instructions/inject.js.map +0 -1
  732. package/dist/esm/lib/instructions/preview.js +0 -86
  733. package/dist/esm/lib/instructions/preview.js.map +0 -1
  734. package/dist/esm/lib/instructions/strictFollowUp.js +0 -157
  735. package/dist/esm/lib/instructions/strictFollowUp.js.map +0 -1
  736. package/dist/esm/lib/instructions/template.js +0 -82
  737. package/dist/esm/lib/instructions/template.js.map +0 -1
  738. package/dist/esm/lib/instructions/types.js +0 -83
  739. package/dist/esm/lib/instructions/types.js.map +0 -1
  740. package/dist/esm/lib/loop/buildAgentLoop.js +0 -628
  741. package/dist/esm/lib/loop/buildAgentLoop.js.map +0 -1
  742. package/dist/esm/lib/loop/index.js +0 -3
  743. package/dist/esm/lib/loop/index.js.map +0 -1
  744. package/dist/esm/lib/loop/types.js +0 -71
  745. package/dist/esm/lib/loop/types.js.map +0 -1
  746. package/dist/esm/lib/narrative/agentRenderer.js +0 -364
  747. package/dist/esm/lib/narrative/agentRenderer.js.map +0 -1
  748. package/dist/esm/lib/narrative/index.js +0 -2
  749. package/dist/esm/lib/narrative/index.js.map +0 -1
  750. package/dist/esm/lib/skills/defineSkill.js +0 -13
  751. package/dist/esm/lib/skills/defineSkill.js.map +0 -1
  752. package/dist/esm/lib/skills/index.js +0 -5
  753. package/dist/esm/lib/skills/index.js.map +0 -1
  754. package/dist/esm/lib/skills/registry.js +0 -258
  755. package/dist/esm/lib/skills/registry.js.map +0 -1
  756. package/dist/esm/lib/skills/renderBody.js +0 -34
  757. package/dist/esm/lib/skills/renderBody.js.map +0 -1
  758. package/dist/esm/lib/skills/surfaceMode.js +0 -52
  759. package/dist/esm/lib/skills/surfaceMode.js.map +0 -1
  760. package/dist/esm/lib/skills/types.js +0 -2
  761. package/dist/esm/lib/skills/types.js.map +0 -1
  762. package/dist/esm/lib/slots/helpers.js +0 -23
  763. package/dist/esm/lib/slots/helpers.js.map +0 -1
  764. package/dist/esm/lib/slots/index.js +0 -4
  765. package/dist/esm/lib/slots/index.js.map +0 -1
  766. package/dist/esm/lib/slots/messages/buildMessagesSubflow.js +0 -66
  767. package/dist/esm/lib/slots/messages/buildMessagesSubflow.js.map +0 -1
  768. package/dist/esm/lib/slots/messages/index.js +0 -2
  769. package/dist/esm/lib/slots/messages/index.js.map +0 -1
  770. package/dist/esm/lib/slots/messages/types.js +0 -11
  771. package/dist/esm/lib/slots/messages/types.js.map +0 -1
  772. package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js +0 -65
  773. package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +0 -1
  774. package/dist/esm/lib/slots/system-prompt/index.js +0 -2
  775. package/dist/esm/lib/slots/system-prompt/index.js.map +0 -1
  776. package/dist/esm/lib/slots/system-prompt/types.js +0 -9
  777. package/dist/esm/lib/slots/system-prompt/types.js.map +0 -1
  778. package/dist/esm/lib/slots/tools/buildToolsSubflow.js +0 -85
  779. package/dist/esm/lib/slots/tools/buildToolsSubflow.js.map +0 -1
  780. package/dist/esm/lib/slots/tools/index.js +0 -2
  781. package/dist/esm/lib/slots/tools/index.js.map +0 -1
  782. package/dist/esm/lib/slots/tools/types.js +0 -11
  783. package/dist/esm/lib/slots/tools/types.js.map +0 -1
  784. package/dist/esm/lib/swarm/buildSwarmRouting.js +0 -228
  785. package/dist/esm/lib/swarm/buildSwarmRouting.js.map +0 -1
  786. package/dist/esm/lib/swarm/index.js +0 -2
  787. package/dist/esm/lib/swarm/index.js.map +0 -1
  788. package/dist/esm/memory/conversationHelpers.js +0 -31
  789. package/dist/esm/memory/conversationHelpers.js.map +0 -1
  790. package/dist/esm/memory.barrel.js +0 -48
  791. package/dist/esm/memory.barrel.js.map +0 -1
  792. package/dist/esm/models/index.js +0 -3
  793. package/dist/esm/models/index.js.map +0 -1
  794. package/dist/esm/models/pricing.js +0 -23
  795. package/dist/esm/models/pricing.js.map +0 -1
  796. package/dist/esm/models/providers.js +0 -42
  797. package/dist/esm/models/providers.js.map +0 -1
  798. package/dist/esm/models/types.js +0 -6
  799. package/dist/esm/models/types.js.map +0 -1
  800. package/dist/esm/observe.barrel.js +0 -20
  801. package/dist/esm/observe.barrel.js.map +0 -1
  802. package/dist/esm/patterns/mapReduce.js +0 -60
  803. package/dist/esm/patterns/mapReduce.js.map +0 -1
  804. package/dist/esm/patterns/planExecute.js +0 -43
  805. package/dist/esm/patterns/planExecute.js.map +0 -1
  806. package/dist/esm/patterns/reflexion.js +0 -58
  807. package/dist/esm/patterns/reflexion.js.map +0 -1
  808. package/dist/esm/patterns/treeOfThoughts.js +0 -71
  809. package/dist/esm/patterns/treeOfThoughts.js.map +0 -1
  810. package/dist/esm/patterns.barrel.js +0 -8
  811. package/dist/esm/patterns.barrel.js.map +0 -1
  812. package/dist/esm/providers/index.js +0 -12
  813. package/dist/esm/providers/index.js.map +0 -1
  814. package/dist/esm/providers/messages/charBudget.js +0 -39
  815. package/dist/esm/providers/messages/charBudget.js.map +0 -1
  816. package/dist/esm/providers/messages/compositeMessages.js +0 -33
  817. package/dist/esm/providers/messages/compositeMessages.js.map +0 -1
  818. package/dist/esm/providers/messages/fullHistory.js +0 -19
  819. package/dist/esm/providers/messages/fullHistory.js.map +0 -1
  820. package/dist/esm/providers/messages/index.js +0 -10
  821. package/dist/esm/providers/messages/index.js.map +0 -1
  822. package/dist/esm/providers/messages/slidingWindow.js +0 -32
  823. package/dist/esm/providers/messages/slidingWindow.js.map +0 -1
  824. package/dist/esm/providers/messages/summaryStrategy.js +0 -53
  825. package/dist/esm/providers/messages/summaryStrategy.js.map +0 -1
  826. package/dist/esm/providers/messages/withToolPairSafety.js +0 -76
  827. package/dist/esm/providers/messages/withToolPairSafety.js.map +0 -1
  828. package/dist/esm/providers/prompt/compositePrompt.js +0 -28
  829. package/dist/esm/providers/prompt/compositePrompt.js.map +0 -1
  830. package/dist/esm/providers/prompt/index.js +0 -8
  831. package/dist/esm/providers/prompt/index.js.map +0 -1
  832. package/dist/esm/providers/prompt/skillBasedPrompt.js +0 -37
  833. package/dist/esm/providers/prompt/skillBasedPrompt.js.map +0 -1
  834. package/dist/esm/providers/prompt/static.js +0 -9
  835. package/dist/esm/providers/prompt/static.js.map +0 -1
  836. package/dist/esm/providers/prompt/template.js +0 -20
  837. package/dist/esm/providers/prompt/template.js.map +0 -1
  838. package/dist/esm/providers/tools/PermissionPolicy.js +0 -100
  839. package/dist/esm/providers/tools/PermissionPolicy.js.map +0 -1
  840. package/dist/esm/providers/tools/agentAsTool.js +0 -47
  841. package/dist/esm/providers/tools/agentAsTool.js.map +0 -1
  842. package/dist/esm/providers/tools/compositeTools.js +0 -49
  843. package/dist/esm/providers/tools/compositeTools.js.map +0 -1
  844. package/dist/esm/providers/tools/dynamicTools.js +0 -41
  845. package/dist/esm/providers/tools/dynamicTools.js.map +0 -1
  846. package/dist/esm/providers/tools/gatedTools.js +0 -91
  847. package/dist/esm/providers/tools/gatedTools.js.map +0 -1
  848. package/dist/esm/providers/tools/index.js +0 -11
  849. package/dist/esm/providers/tools/index.js.map +0 -1
  850. package/dist/esm/providers/tools/noTools.js +0 -9
  851. package/dist/esm/providers/tools/noTools.js.map +0 -1
  852. package/dist/esm/providers/tools/staticTools.js +0 -25
  853. package/dist/esm/providers/tools/staticTools.js.map +0 -1
  854. package/dist/esm/providers.barrel.js +0 -32
  855. package/dist/esm/providers.barrel.js.map +0 -1
  856. package/dist/esm/recorders/AgentTimelineRecorder.js +0 -508
  857. package/dist/esm/recorders/AgentTimelineRecorder.js.map +0 -1
  858. package/dist/esm/recorders/CompositeRecorder.js +0 -65
  859. package/dist/esm/recorders/CompositeRecorder.js.map +0 -1
  860. package/dist/esm/recorders/ContextEngineeringRecorder.js +0 -155
  861. package/dist/esm/recorders/ContextEngineeringRecorder.js.map +0 -1
  862. package/dist/esm/recorders/CostRecorder.js +0 -51
  863. package/dist/esm/recorders/CostRecorder.js.map +0 -1
  864. package/dist/esm/recorders/ExplainRecorder.js +0 -148
  865. package/dist/esm/recorders/ExplainRecorder.js.map +0 -1
  866. package/dist/esm/recorders/GuardrailRecorder.js +0 -58
  867. package/dist/esm/recorders/GuardrailRecorder.js.map +0 -1
  868. package/dist/esm/recorders/OTelRecorder.js +0 -82
  869. package/dist/esm/recorders/OTelRecorder.js.map +0 -1
  870. package/dist/esm/recorders/PermissionRecorder.js +0 -86
  871. package/dist/esm/recorders/PermissionRecorder.js.map +0 -1
  872. package/dist/esm/recorders/QualityRecorder.js +0 -48
  873. package/dist/esm/recorders/QualityRecorder.js.map +0 -1
  874. package/dist/esm/recorders/RecorderBridge.js +0 -99
  875. package/dist/esm/recorders/RecorderBridge.js.map +0 -1
  876. package/dist/esm/recorders/TokenRecorder.js +0 -74
  877. package/dist/esm/recorders/TokenRecorder.js.map +0 -1
  878. package/dist/esm/recorders/ToolUsageRecorder.js +0 -58
  879. package/dist/esm/recorders/ToolUsageRecorder.js.map +0 -1
  880. package/dist/esm/recorders/TurnRecorder.js +0 -83
  881. package/dist/esm/recorders/TurnRecorder.js.map +0 -1
  882. package/dist/esm/recorders/agentObservability.js +0 -53
  883. package/dist/esm/recorders/agentObservability.js.map +0 -1
  884. package/dist/esm/recorders/attachRecorderHelper.js +0 -30
  885. package/dist/esm/recorders/attachRecorderHelper.js.map +0 -1
  886. package/dist/esm/recorders/forwardEmitRecorders.js +0 -29
  887. package/dist/esm/recorders/forwardEmitRecorders.js.map +0 -1
  888. package/dist/esm/recorders/index.js +0 -15
  889. package/dist/esm/recorders/index.js.map +0 -1
  890. package/dist/esm/resilience.barrel.js +0 -17
  891. package/dist/esm/resilience.barrel.js.map +0 -1
  892. package/dist/esm/scope/AgentScope.js +0 -135
  893. package/dist/esm/scope/AgentScope.js.map +0 -1
  894. package/dist/esm/scope/index.js +0 -2
  895. package/dist/esm/scope/index.js.map +0 -1
  896. package/dist/esm/scope/types.js +0 -37
  897. package/dist/esm/scope/types.js.map +0 -1
  898. package/dist/esm/security.barrel.js +0 -17
  899. package/dist/esm/security.barrel.js.map +0 -1
  900. package/dist/esm/skills.barrel.js +0 -42
  901. package/dist/esm/skills.barrel.js.map +0 -1
  902. package/dist/esm/stages/augmentPrompt.js +0 -61
  903. package/dist/esm/stages/augmentPrompt.js.map +0 -1
  904. package/dist/esm/stages/callLLM.js +0 -15
  905. package/dist/esm/stages/callLLM.js.map +0 -1
  906. package/dist/esm/stages/finalize.js +0 -12
  907. package/dist/esm/stages/finalize.js.map +0 -1
  908. package/dist/esm/stages/helpers.js +0 -58
  909. package/dist/esm/stages/helpers.js.map +0 -1
  910. package/dist/esm/stages/index.js +0 -8
  911. package/dist/esm/stages/index.js.map +0 -1
  912. package/dist/esm/stages/parseResponse.js +0 -25
  913. package/dist/esm/stages/parseResponse.js.map +0 -1
  914. package/dist/esm/stages/retrieve.js +0 -28
  915. package/dist/esm/stages/retrieve.js.map +0 -1
  916. package/dist/esm/stages/runnerAsStage.js +0 -66
  917. package/dist/esm/stages/runnerAsStage.js.map +0 -1
  918. package/dist/esm/stream.barrel.js +0 -18
  919. package/dist/esm/stream.barrel.js.map +0 -1
  920. package/dist/esm/streaming/EventDispatcher.js +0 -44
  921. package/dist/esm/streaming/EventDispatcher.js.map +0 -1
  922. package/dist/esm/streaming/StreamEmitter.js +0 -43
  923. package/dist/esm/streaming/StreamEmitter.js.map +0 -1
  924. package/dist/esm/streaming/StreamEventRecorder.js +0 -55
  925. package/dist/esm/streaming/StreamEventRecorder.js.map +0 -1
  926. package/dist/esm/streaming/index.js +0 -4
  927. package/dist/esm/streaming/index.js.map +0 -1
  928. package/dist/esm/subflows/index.js +0 -2
  929. package/dist/esm/subflows/index.js.map +0 -1
  930. package/dist/esm/tools/ToolRegistry.js +0 -102
  931. package/dist/esm/tools/ToolRegistry.js.map +0 -1
  932. package/dist/esm/tools/askHuman.js +0 -63
  933. package/dist/esm/tools/askHuman.js.map +0 -1
  934. package/dist/esm/tools/index.js +0 -3
  935. package/dist/esm/tools/index.js.map +0 -1
  936. package/dist/esm/tools/validateInput.js +0 -62
  937. package/dist/esm/tools/validateInput.js.map +0 -1
  938. package/dist/esm/tools/zodToJsonSchema.js +0 -66
  939. package/dist/esm/tools/zodToJsonSchema.js.map +0 -1
  940. package/dist/esm/types/adapter.js +0 -11
  941. package/dist/esm/types/adapter.js.map +0 -1
  942. package/dist/esm/types/agent.js +0 -5
  943. package/dist/esm/types/agent.js.map +0 -1
  944. package/dist/esm/types/content.js +0 -82
  945. package/dist/esm/types/content.js.map +0 -1
  946. package/dist/esm/types/errors.js +0 -74
  947. package/dist/esm/types/errors.js.map +0 -1
  948. package/dist/esm/types/index.js +0 -5
  949. package/dist/esm/types/index.js.map +0 -1
  950. package/dist/esm/types/llm.js +0 -6
  951. package/dist/esm/types/llm.js.map +0 -1
  952. package/dist/esm/types/messages.js +0 -24
  953. package/dist/esm/types/messages.js.map +0 -1
  954. package/dist/esm/types/multiAgent.js +0 -5
  955. package/dist/esm/types/multiAgent.js.map +0 -1
  956. package/dist/esm/types/retriever.js +0 -6
  957. package/dist/esm/types/retriever.js.map +0 -1
  958. package/dist/esm/types/tools.js +0 -5
  959. package/dist/esm/types/tools.js.map +0 -1
  960. package/dist/executor/agentLoop.js +0 -158
  961. package/dist/executor/agentLoop.js.map +0 -1
  962. package/dist/executor/index.js +0 -9
  963. package/dist/executor/index.js.map +0 -1
  964. package/dist/explain.barrel.js +0 -29
  965. package/dist/explain.barrel.js.map +0 -1
  966. package/dist/exportTrace.js +0 -75
  967. package/dist/exportTrace.js.map +0 -1
  968. package/dist/instructions.barrel.js +0 -30
  969. package/dist/instructions.barrel.js.map +0 -1
  970. package/dist/lib/call/callLLMStage.js +0 -104
  971. package/dist/lib/call/callLLMStage.js.map +0 -1
  972. package/dist/lib/call/helpers.js +0 -581
  973. package/dist/lib/call/helpers.js.map +0 -1
  974. package/dist/lib/call/index.js +0 -15
  975. package/dist/lib/call/index.js.map +0 -1
  976. package/dist/lib/call/parseResponseStage.js +0 -67
  977. package/dist/lib/call/parseResponseStage.js.map +0 -1
  978. package/dist/lib/call/streamingCallLLMStage.js +0 -156
  979. package/dist/lib/call/streamingCallLLMStage.js.map +0 -1
  980. package/dist/lib/call/toolExecutionSubflow.js +0 -202
  981. package/dist/lib/call/toolExecutionSubflow.js.map +0 -1
  982. package/dist/lib/call/types.js +0 -11
  983. package/dist/lib/call/types.js.map +0 -1
  984. package/dist/lib/concepts/Agent.js +0 -12
  985. package/dist/lib/concepts/Agent.js.map +0 -1
  986. package/dist/lib/concepts/AgentBuilder.js +0 -434
  987. package/dist/lib/concepts/AgentBuilder.js.map +0 -1
  988. package/dist/lib/concepts/AgentRunner.js +0 -644
  989. package/dist/lib/concepts/AgentRunner.js.map +0 -1
  990. package/dist/lib/concepts/index.js +0 -7
  991. package/dist/lib/concepts/index.js.map +0 -1
  992. package/dist/lib/instructions/InstructionRecorder.js +0 -129
  993. package/dist/lib/instructions/InstructionRecorder.js.map +0 -1
  994. package/dist/lib/instructions/agentInstruction.js +0 -146
  995. package/dist/lib/instructions/agentInstruction.js.map +0 -1
  996. package/dist/lib/instructions/buildInstructionsToLLMSubflow.js +0 -87
  997. package/dist/lib/instructions/buildInstructionsToLLMSubflow.js.map +0 -1
  998. package/dist/lib/instructions/evaluator.js +0 -202
  999. package/dist/lib/instructions/evaluator.js.map +0 -1
  1000. package/dist/lib/instructions/index.js +0 -27
  1001. package/dist/lib/instructions/index.js.map +0 -1
  1002. package/dist/lib/instructions/inject.js +0 -59
  1003. package/dist/lib/instructions/inject.js.map +0 -1
  1004. package/dist/lib/instructions/preview.js +0 -90
  1005. package/dist/lib/instructions/preview.js.map +0 -1
  1006. package/dist/lib/instructions/strictFollowUp.js +0 -162
  1007. package/dist/lib/instructions/strictFollowUp.js.map +0 -1
  1008. package/dist/lib/instructions/template.js +0 -86
  1009. package/dist/lib/instructions/template.js.map +0 -1
  1010. package/dist/lib/instructions/types.js +0 -88
  1011. package/dist/lib/instructions/types.js.map +0 -1
  1012. package/dist/lib/loop/buildAgentLoop.js +0 -632
  1013. package/dist/lib/loop/buildAgentLoop.js.map +0 -1
  1014. package/dist/lib/loop/index.js +0 -9
  1015. package/dist/lib/loop/index.js.map +0 -1
  1016. package/dist/lib/loop/types.js +0 -74
  1017. package/dist/lib/loop/types.js.map +0 -1
  1018. package/dist/lib/narrative/agentRenderer.js +0 -368
  1019. package/dist/lib/narrative/agentRenderer.js.map +0 -1
  1020. package/dist/lib/narrative/index.js +0 -6
  1021. package/dist/lib/narrative/index.js.map +0 -1
  1022. package/dist/lib/skills/defineSkill.js +0 -17
  1023. package/dist/lib/skills/defineSkill.js.map +0 -1
  1024. package/dist/lib/skills/index.js +0 -15
  1025. package/dist/lib/skills/index.js.map +0 -1
  1026. package/dist/lib/skills/registry.js +0 -262
  1027. package/dist/lib/skills/registry.js.map +0 -1
  1028. package/dist/lib/skills/renderBody.js +0 -39
  1029. package/dist/lib/skills/renderBody.js.map +0 -1
  1030. package/dist/lib/skills/surfaceMode.js +0 -58
  1031. package/dist/lib/skills/surfaceMode.js.map +0 -1
  1032. package/dist/lib/skills/types.js +0 -3
  1033. package/dist/lib/skills/types.js.map +0 -1
  1034. package/dist/lib/slots/helpers.js +0 -28
  1035. package/dist/lib/slots/helpers.js.map +0 -1
  1036. package/dist/lib/slots/index.js +0 -10
  1037. package/dist/lib/slots/index.js.map +0 -1
  1038. package/dist/lib/slots/messages/buildMessagesSubflow.js +0 -70
  1039. package/dist/lib/slots/messages/buildMessagesSubflow.js.map +0 -1
  1040. package/dist/lib/slots/messages/index.js +0 -6
  1041. package/dist/lib/slots/messages/index.js.map +0 -1
  1042. package/dist/lib/slots/messages/types.js +0 -12
  1043. package/dist/lib/slots/messages/types.js.map +0 -1
  1044. package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js +0 -69
  1045. package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +0 -1
  1046. package/dist/lib/slots/system-prompt/index.js +0 -6
  1047. package/dist/lib/slots/system-prompt/index.js.map +0 -1
  1048. package/dist/lib/slots/system-prompt/types.js +0 -10
  1049. package/dist/lib/slots/system-prompt/types.js.map +0 -1
  1050. package/dist/lib/slots/tools/buildToolsSubflow.js +0 -89
  1051. package/dist/lib/slots/tools/buildToolsSubflow.js.map +0 -1
  1052. package/dist/lib/slots/tools/index.js +0 -6
  1053. package/dist/lib/slots/tools/index.js.map +0 -1
  1054. package/dist/lib/slots/tools/types.js +0 -12
  1055. package/dist/lib/slots/tools/types.js.map +0 -1
  1056. package/dist/lib/swarm/buildSwarmRouting.js +0 -232
  1057. package/dist/lib/swarm/buildSwarmRouting.js.map +0 -1
  1058. package/dist/lib/swarm/index.js +0 -6
  1059. package/dist/lib/swarm/index.js.map +0 -1
  1060. package/dist/memory/conversationHelpers.js +0 -39
  1061. package/dist/memory/conversationHelpers.js.map +0 -1
  1062. package/dist/memory.barrel.js +0 -92
  1063. package/dist/memory.barrel.js.map +0 -1
  1064. package/dist/models/index.js +0 -12
  1065. package/dist/models/index.js.map +0 -1
  1066. package/dist/models/pricing.js +0 -27
  1067. package/dist/models/pricing.js.map +0 -1
  1068. package/dist/models/providers.js +0 -49
  1069. package/dist/models/providers.js.map +0 -1
  1070. package/dist/models/types.js +0 -7
  1071. package/dist/models/types.js.map +0 -1
  1072. package/dist/observe.barrel.js +0 -37
  1073. package/dist/observe.barrel.js.map +0 -1
  1074. package/dist/patterns/mapReduce.js +0 -64
  1075. package/dist/patterns/mapReduce.js.map +0 -1
  1076. package/dist/patterns/planExecute.js +0 -47
  1077. package/dist/patterns/planExecute.js.map +0 -1
  1078. package/dist/patterns/reflexion.js +0 -62
  1079. package/dist/patterns/reflexion.js.map +0 -1
  1080. package/dist/patterns/treeOfThoughts.js +0 -75
  1081. package/dist/patterns/treeOfThoughts.js.map +0 -1
  1082. package/dist/patterns.barrel.js +0 -24
  1083. package/dist/patterns.barrel.js.map +0 -1
  1084. package/dist/providers/index.js +0 -32
  1085. package/dist/providers/index.js.map +0 -1
  1086. package/dist/providers/messages/charBudget.js +0 -43
  1087. package/dist/providers/messages/charBudget.js.map +0 -1
  1088. package/dist/providers/messages/compositeMessages.js +0 -37
  1089. package/dist/providers/messages/compositeMessages.js.map +0 -1
  1090. package/dist/providers/messages/fullHistory.js +0 -23
  1091. package/dist/providers/messages/fullHistory.js.map +0 -1
  1092. package/dist/providers/messages/index.js +0 -19
  1093. package/dist/providers/messages/index.js.map +0 -1
  1094. package/dist/providers/messages/slidingWindow.js +0 -36
  1095. package/dist/providers/messages/slidingWindow.js.map +0 -1
  1096. package/dist/providers/messages/summaryStrategy.js +0 -57
  1097. package/dist/providers/messages/summaryStrategy.js.map +0 -1
  1098. package/dist/providers/messages/withToolPairSafety.js +0 -80
  1099. package/dist/providers/messages/withToolPairSafety.js.map +0 -1
  1100. package/dist/providers/prompt/compositePrompt.js +0 -32
  1101. package/dist/providers/prompt/compositePrompt.js.map +0 -1
  1102. package/dist/providers/prompt/index.js +0 -15
  1103. package/dist/providers/prompt/index.js.map +0 -1
  1104. package/dist/providers/prompt/skillBasedPrompt.js +0 -41
  1105. package/dist/providers/prompt/skillBasedPrompt.js.map +0 -1
  1106. package/dist/providers/prompt/static.js +0 -13
  1107. package/dist/providers/prompt/static.js.map +0 -1
  1108. package/dist/providers/prompt/template.js +0 -24
  1109. package/dist/providers/prompt/template.js.map +0 -1
  1110. package/dist/providers/tools/PermissionPolicy.js +0 -104
  1111. package/dist/providers/tools/PermissionPolicy.js.map +0 -1
  1112. package/dist/providers/tools/agentAsTool.js +0 -51
  1113. package/dist/providers/tools/agentAsTool.js.map +0 -1
  1114. package/dist/providers/tools/compositeTools.js +0 -53
  1115. package/dist/providers/tools/compositeTools.js.map +0 -1
  1116. package/dist/providers/tools/dynamicTools.js +0 -45
  1117. package/dist/providers/tools/dynamicTools.js.map +0 -1
  1118. package/dist/providers/tools/gatedTools.js +0 -95
  1119. package/dist/providers/tools/gatedTools.js.map +0 -1
  1120. package/dist/providers/tools/index.js +0 -21
  1121. package/dist/providers/tools/index.js.map +0 -1
  1122. package/dist/providers/tools/noTools.js +0 -13
  1123. package/dist/providers/tools/noTools.js.map +0 -1
  1124. package/dist/providers/tools/staticTools.js +0 -29
  1125. package/dist/providers/tools/staticTools.js.map +0 -1
  1126. package/dist/providers.barrel.js +0 -68
  1127. package/dist/providers.barrel.js.map +0 -1
  1128. package/dist/recorders/AgentTimelineRecorder.js +0 -513
  1129. package/dist/recorders/AgentTimelineRecorder.js.map +0 -1
  1130. package/dist/recorders/CompositeRecorder.js +0 -69
  1131. package/dist/recorders/CompositeRecorder.js.map +0 -1
  1132. package/dist/recorders/ContextEngineeringRecorder.js +0 -159
  1133. package/dist/recorders/ContextEngineeringRecorder.js.map +0 -1
  1134. package/dist/recorders/CostRecorder.js +0 -55
  1135. package/dist/recorders/CostRecorder.js.map +0 -1
  1136. package/dist/recorders/ExplainRecorder.js +0 -152
  1137. package/dist/recorders/ExplainRecorder.js.map +0 -1
  1138. package/dist/recorders/GuardrailRecorder.js +0 -62
  1139. package/dist/recorders/GuardrailRecorder.js.map +0 -1
  1140. package/dist/recorders/OTelRecorder.js +0 -86
  1141. package/dist/recorders/OTelRecorder.js.map +0 -1
  1142. package/dist/recorders/PermissionRecorder.js +0 -90
  1143. package/dist/recorders/PermissionRecorder.js.map +0 -1
  1144. package/dist/recorders/QualityRecorder.js +0 -52
  1145. package/dist/recorders/QualityRecorder.js.map +0 -1
  1146. package/dist/recorders/RecorderBridge.js +0 -103
  1147. package/dist/recorders/RecorderBridge.js.map +0 -1
  1148. package/dist/recorders/TokenRecorder.js +0 -78
  1149. package/dist/recorders/TokenRecorder.js.map +0 -1
  1150. package/dist/recorders/ToolUsageRecorder.js +0 -62
  1151. package/dist/recorders/ToolUsageRecorder.js.map +0 -1
  1152. package/dist/recorders/TurnRecorder.js +0 -87
  1153. package/dist/recorders/TurnRecorder.js.map +0 -1
  1154. package/dist/recorders/agentObservability.js +0 -57
  1155. package/dist/recorders/agentObservability.js.map +0 -1
  1156. package/dist/recorders/attachRecorderHelper.js +0 -34
  1157. package/dist/recorders/attachRecorderHelper.js.map +0 -1
  1158. package/dist/recorders/forwardEmitRecorders.js +0 -33
  1159. package/dist/recorders/forwardEmitRecorders.js.map +0 -1
  1160. package/dist/recorders/index.js +0 -30
  1161. package/dist/recorders/index.js.map +0 -1
  1162. package/dist/resilience.barrel.js +0 -28
  1163. package/dist/resilience.barrel.js.map +0 -1
  1164. package/dist/scope/AgentScope.js +0 -138
  1165. package/dist/scope/AgentScope.js.map +0 -1
  1166. package/dist/scope/index.js +0 -10
  1167. package/dist/scope/index.js.map +0 -1
  1168. package/dist/scope/types.js +0 -40
  1169. package/dist/scope/types.js.map +0 -1
  1170. package/dist/security.barrel.js +0 -22
  1171. package/dist/security.barrel.js.map +0 -1
  1172. package/dist/skills.barrel.js +0 -48
  1173. package/dist/skills.barrel.js.map +0 -1
  1174. package/dist/stages/augmentPrompt.js +0 -65
  1175. package/dist/stages/augmentPrompt.js.map +0 -1
  1176. package/dist/stages/callLLM.js +0 -19
  1177. package/dist/stages/callLLM.js.map +0 -1
  1178. package/dist/stages/finalize.js +0 -16
  1179. package/dist/stages/finalize.js.map +0 -1
  1180. package/dist/stages/helpers.js +0 -63
  1181. package/dist/stages/helpers.js.map +0 -1
  1182. package/dist/stages/index.js +0 -19
  1183. package/dist/stages/index.js.map +0 -1
  1184. package/dist/stages/parseResponse.js +0 -29
  1185. package/dist/stages/parseResponse.js.map +0 -1
  1186. package/dist/stages/retrieve.js +0 -32
  1187. package/dist/stages/retrieve.js.map +0 -1
  1188. package/dist/stages/runnerAsStage.js +0 -70
  1189. package/dist/stages/runnerAsStage.js.map +0 -1
  1190. package/dist/stream.barrel.js +0 -23
  1191. package/dist/stream.barrel.js.map +0 -1
  1192. package/dist/streaming/EventDispatcher.js +0 -48
  1193. package/dist/streaming/EventDispatcher.js.map +0 -1
  1194. package/dist/streaming/StreamEmitter.js +0 -48
  1195. package/dist/streaming/StreamEmitter.js.map +0 -1
  1196. package/dist/streaming/StreamEventRecorder.js +0 -59
  1197. package/dist/streaming/StreamEventRecorder.js.map +0 -1
  1198. package/dist/streaming/index.js +0 -12
  1199. package/dist/streaming/index.js.map +0 -1
  1200. package/dist/subflows/index.js +0 -3
  1201. package/dist/subflows/index.js.map +0 -1
  1202. package/dist/tools/ToolRegistry.js +0 -107
  1203. package/dist/tools/ToolRegistry.js.map +0 -1
  1204. package/dist/tools/askHuman.js +0 -68
  1205. package/dist/tools/askHuman.js.map +0 -1
  1206. package/dist/tools/index.js +0 -9
  1207. package/dist/tools/index.js.map +0 -1
  1208. package/dist/tools/validateInput.js +0 -67
  1209. package/dist/tools/validateInput.js.map +0 -1
  1210. package/dist/tools/zodToJsonSchema.js +0 -71
  1211. package/dist/tools/zodToJsonSchema.js.map +0 -1
  1212. package/dist/types/adapter.js +0 -14
  1213. package/dist/types/adapter.js.map +0 -1
  1214. package/dist/types/adapters/a2a/a2aRunner.d.ts +0 -40
  1215. package/dist/types/adapters/a2a/a2aRunner.d.ts.map +0 -1
  1216. package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts +0 -37
  1217. package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts.map +0 -1
  1218. package/dist/types/adapters/bedrock/BedrockAdapter.d.ts +0 -44
  1219. package/dist/types/adapters/bedrock/BedrockAdapter.d.ts.map +0 -1
  1220. package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts +0 -40
  1221. package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts.map +0 -1
  1222. package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts +0 -46
  1223. package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts.map +0 -1
  1224. package/dist/types/adapters/browser/index.d.ts +0 -5
  1225. package/dist/types/adapters/browser/index.d.ts.map +0 -1
  1226. package/dist/types/adapters/createAdapterSubflow.d.ts +0 -36
  1227. package/dist/types/adapters/createAdapterSubflow.d.ts.map +0 -1
  1228. package/dist/types/adapters/createProvider.d.ts +0 -47
  1229. package/dist/types/adapters/createProvider.d.ts.map +0 -1
  1230. package/dist/types/adapters/fallbackProvider.d.ts +0 -45
  1231. package/dist/types/adapters/fallbackProvider.d.ts.map +0 -1
  1232. package/dist/types/adapters/index.d.ts +0 -26
  1233. package/dist/types/adapters/index.d.ts.map +0 -1
  1234. package/dist/types/adapters/mcp/mcpToolProvider.d.ts +0 -41
  1235. package/dist/types/adapters/mcp/mcpToolProvider.d.ts.map +0 -1
  1236. package/dist/types/adapters/mock/MockAdapter.d.ts +0 -51
  1237. package/dist/types/adapters/mock/MockAdapter.d.ts.map +0 -1
  1238. package/dist/types/adapters/mock/MockRetriever.d.ts +0 -43
  1239. package/dist/types/adapters/mock/MockRetriever.d.ts.map +0 -1
  1240. package/dist/types/adapters/openai/OpenAIAdapter.d.ts +0 -47
  1241. package/dist/types/adapters/openai/OpenAIAdapter.d.ts.map +0 -1
  1242. package/dist/types/adapters/resilientProvider.d.ts +0 -33
  1243. package/dist/types/adapters/resilientProvider.d.ts.map +0 -1
  1244. package/dist/types/agent.js +0 -6
  1245. package/dist/types/agent.js.map +0 -1
  1246. package/dist/types/compositions/index.d.ts +0 -13
  1247. package/dist/types/compositions/index.d.ts.map +0 -1
  1248. package/dist/types/compositions/withCircuitBreaker.d.ts +0 -43
  1249. package/dist/types/compositions/withCircuitBreaker.d.ts.map +0 -1
  1250. package/dist/types/compositions/withFallback.d.ts +0 -17
  1251. package/dist/types/compositions/withFallback.d.ts.map +0 -1
  1252. package/dist/types/compositions/withRetry.d.ts +0 -27
  1253. package/dist/types/compositions/withRetry.d.ts.map +0 -1
  1254. package/dist/types/concepts/Conditional.d.ts +0 -133
  1255. package/dist/types/concepts/Conditional.d.ts.map +0 -1
  1256. package/dist/types/concepts/FlowChart.d.ts +0 -67
  1257. package/dist/types/concepts/FlowChart.d.ts.map +0 -1
  1258. package/dist/types/concepts/LLMCall.d.ts +0 -73
  1259. package/dist/types/concepts/LLMCall.d.ts.map +0 -1
  1260. package/dist/types/concepts/Parallel.d.ts +0 -120
  1261. package/dist/types/concepts/Parallel.d.ts.map +0 -1
  1262. package/dist/types/concepts/RAG.d.ts +0 -89
  1263. package/dist/types/concepts/RAG.d.ts.map +0 -1
  1264. package/dist/types/concepts/Swarm.d.ts +0 -108
  1265. package/dist/types/concepts/Swarm.d.ts.map +0 -1
  1266. package/dist/types/concepts/index.d.ts +0 -14
  1267. package/dist/types/concepts/index.d.ts.map +0 -1
  1268. package/dist/types/concepts/specIcons.d.ts +0 -14
  1269. package/dist/types/concepts/specIcons.d.ts.map +0 -1
  1270. package/dist/types/content.js +0 -97
  1271. package/dist/types/content.js.map +0 -1
  1272. package/dist/types/core/config.d.ts +0 -24
  1273. package/dist/types/core/config.d.ts.map +0 -1
  1274. package/dist/types/core/index.d.ts +0 -15
  1275. package/dist/types/core/index.d.ts.map +0 -1
  1276. package/dist/types/core/providers.d.ts +0 -168
  1277. package/dist/types/core/providers.d.ts.map +0 -1
  1278. package/dist/types/core/recorders.d.ts +0 -70
  1279. package/dist/types/core/recorders.d.ts.map +0 -1
  1280. package/dist/types/errors.js +0 -80
  1281. package/dist/types/errors.js.map +0 -1
  1282. package/dist/types/executor/agentLoop.d.ts +0 -37
  1283. package/dist/types/executor/agentLoop.d.ts.map +0 -1
  1284. package/dist/types/executor/index.d.ts +0 -6
  1285. package/dist/types/executor/index.d.ts.map +0 -1
  1286. package/dist/types/explain.barrel.d.ts +0 -25
  1287. package/dist/types/explain.barrel.d.ts.map +0 -1
  1288. package/dist/types/exportTrace.d.ts +0 -84
  1289. package/dist/types/exportTrace.d.ts.map +0 -1
  1290. package/dist/types/index.js +0 -29
  1291. package/dist/types/index.js.map +0 -1
  1292. package/dist/types/instructions.barrel.d.ts +0 -24
  1293. package/dist/types/instructions.barrel.d.ts.map +0 -1
  1294. package/dist/types/lib/call/callLLMStage.d.ts +0 -33
  1295. package/dist/types/lib/call/callLLMStage.d.ts.map +0 -1
  1296. package/dist/types/lib/call/helpers.d.ts +0 -108
  1297. package/dist/types/lib/call/helpers.d.ts.map +0 -1
  1298. package/dist/types/lib/call/index.d.ts +0 -8
  1299. package/dist/types/lib/call/index.d.ts.map +0 -1
  1300. package/dist/types/lib/call/parseResponseStage.d.ts +0 -22
  1301. package/dist/types/lib/call/parseResponseStage.d.ts.map +0 -1
  1302. package/dist/types/lib/call/streamingCallLLMStage.d.ts +0 -23
  1303. package/dist/types/lib/call/streamingCallLLMStage.d.ts.map +0 -1
  1304. package/dist/types/lib/call/toolExecutionSubflow.d.ts +0 -82
  1305. package/dist/types/lib/call/toolExecutionSubflow.d.ts.map +0 -1
  1306. package/dist/types/lib/call/types.d.ts +0 -17
  1307. package/dist/types/lib/call/types.d.ts.map +0 -1
  1308. package/dist/types/lib/concepts/Agent.d.ts +0 -9
  1309. package/dist/types/lib/concepts/Agent.d.ts.map +0 -1
  1310. package/dist/types/lib/concepts/AgentBuilder.d.ts +0 -297
  1311. package/dist/types/lib/concepts/AgentBuilder.d.ts.map +0 -1
  1312. package/dist/types/lib/concepts/AgentRunner.d.ts +0 -241
  1313. package/dist/types/lib/concepts/AgentRunner.d.ts.map +0 -1
  1314. package/dist/types/lib/concepts/index.d.ts +0 -3
  1315. package/dist/types/lib/concepts/index.d.ts.map +0 -1
  1316. package/dist/types/lib/instructions/InstructionRecorder.d.ts +0 -86
  1317. package/dist/types/lib/instructions/InstructionRecorder.d.ts.map +0 -1
  1318. package/dist/types/lib/instructions/agentInstruction.d.ts +0 -150
  1319. package/dist/types/lib/instructions/agentInstruction.d.ts.map +0 -1
  1320. package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts +0 -56
  1321. package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts.map +0 -1
  1322. package/dist/types/lib/instructions/evaluator.d.ts +0 -99
  1323. package/dist/types/lib/instructions/evaluator.d.ts.map +0 -1
  1324. package/dist/types/lib/instructions/index.d.ts +0 -18
  1325. package/dist/types/lib/instructions/index.d.ts.map +0 -1
  1326. package/dist/types/lib/instructions/inject.d.ts +0 -54
  1327. package/dist/types/lib/instructions/inject.d.ts.map +0 -1
  1328. package/dist/types/lib/instructions/preview.d.ts +0 -85
  1329. package/dist/types/lib/instructions/preview.d.ts.map +0 -1
  1330. package/dist/types/lib/instructions/strictFollowUp.d.ts +0 -88
  1331. package/dist/types/lib/instructions/strictFollowUp.d.ts.map +0 -1
  1332. package/dist/types/lib/instructions/template.d.ts +0 -52
  1333. package/dist/types/lib/instructions/template.d.ts.map +0 -1
  1334. package/dist/types/lib/instructions/types.d.ts +0 -394
  1335. package/dist/types/lib/instructions/types.d.ts.map +0 -1
  1336. package/dist/types/lib/loop/buildAgentLoop.d.ts +0 -60
  1337. package/dist/types/lib/loop/buildAgentLoop.d.ts.map +0 -1
  1338. package/dist/types/lib/loop/index.d.ts +0 -5
  1339. package/dist/types/lib/loop/index.d.ts.map +0 -1
  1340. package/dist/types/lib/loop/types.d.ts +0 -281
  1341. package/dist/types/lib/loop/types.d.ts.map +0 -1
  1342. package/dist/types/lib/narrative/agentRenderer.d.ts +0 -56
  1343. package/dist/types/lib/narrative/agentRenderer.d.ts.map +0 -1
  1344. package/dist/types/lib/narrative/index.d.ts +0 -3
  1345. package/dist/types/lib/narrative/index.d.ts.map +0 -1
  1346. package/dist/types/lib/skills/defineSkill.d.ts +0 -10
  1347. package/dist/types/lib/skills/defineSkill.d.ts.map +0 -1
  1348. package/dist/types/lib/skills/index.d.ts +0 -6
  1349. package/dist/types/lib/skills/index.d.ts.map +0 -1
  1350. package/dist/types/lib/skills/registry.d.ts +0 -98
  1351. package/dist/types/lib/skills/registry.d.ts.map +0 -1
  1352. package/dist/types/lib/skills/renderBody.d.ts +0 -22
  1353. package/dist/types/lib/skills/renderBody.d.ts.map +0 -1
  1354. package/dist/types/lib/skills/surfaceMode.d.ts +0 -34
  1355. package/dist/types/lib/skills/surfaceMode.d.ts.map +0 -1
  1356. package/dist/types/lib/skills/types.d.ts +0 -164
  1357. package/dist/types/lib/skills/types.d.ts.map +0 -1
  1358. package/dist/types/lib/slots/helpers.d.ts +0 -16
  1359. package/dist/types/lib/slots/helpers.d.ts.map +0 -1
  1360. package/dist/types/lib/slots/index.d.ts +0 -7
  1361. package/dist/types/lib/slots/index.d.ts.map +0 -1
  1362. package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts +0 -37
  1363. package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts.map +0 -1
  1364. package/dist/types/lib/slots/messages/index.d.ts +0 -3
  1365. package/dist/types/lib/slots/messages/index.d.ts.map +0 -1
  1366. package/dist/types/lib/slots/messages/types.d.ts +0 -16
  1367. package/dist/types/lib/slots/messages/types.d.ts.map +0 -1
  1368. package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts +0 -27
  1369. package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts.map +0 -1
  1370. package/dist/types/lib/slots/system-prompt/index.d.ts +0 -3
  1371. package/dist/types/lib/slots/system-prompt/index.d.ts.map +0 -1
  1372. package/dist/types/lib/slots/system-prompt/types.d.ts +0 -17
  1373. package/dist/types/lib/slots/system-prompt/types.d.ts.map +0 -1
  1374. package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts +0 -23
  1375. package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts.map +0 -1
  1376. package/dist/types/lib/slots/tools/index.d.ts +0 -3
  1377. package/dist/types/lib/slots/tools/index.d.ts.map +0 -1
  1378. package/dist/types/lib/slots/tools/types.d.ts +0 -18
  1379. package/dist/types/lib/slots/tools/types.d.ts.map +0 -1
  1380. package/dist/types/lib/swarm/buildSwarmRouting.d.ts +0 -36
  1381. package/dist/types/lib/swarm/buildSwarmRouting.d.ts.map +0 -1
  1382. package/dist/types/lib/swarm/index.d.ts +0 -3
  1383. package/dist/types/lib/swarm/index.d.ts.map +0 -1
  1384. package/dist/types/llm.js +0 -7
  1385. package/dist/types/llm.js.map +0 -1
  1386. package/dist/types/memory/conversationHelpers.d.ts +0 -19
  1387. package/dist/types/memory/conversationHelpers.d.ts.map +0 -1
  1388. package/dist/types/memory.barrel.d.ts +0 -73
  1389. package/dist/types/memory.barrel.d.ts.map +0 -1
  1390. package/dist/types/messages.js +0 -32
  1391. package/dist/types/messages.js.map +0 -1
  1392. package/dist/types/models/index.d.ts +0 -4
  1393. package/dist/types/models/index.d.ts.map +0 -1
  1394. package/dist/types/models/pricing.d.ts +0 -8
  1395. package/dist/types/models/pricing.d.ts.map +0 -1
  1396. package/dist/types/models/providers.d.ts +0 -23
  1397. package/dist/types/models/providers.d.ts.map +0 -1
  1398. package/dist/types/models/types.d.ts +0 -25
  1399. package/dist/types/models/types.d.ts.map +0 -1
  1400. package/dist/types/multiAgent.js +0 -6
  1401. package/dist/types/multiAgent.js.map +0 -1
  1402. package/dist/types/observe.barrel.d.ts +0 -22
  1403. package/dist/types/observe.barrel.d.ts.map +0 -1
  1404. package/dist/types/patterns/mapReduce.d.ts +0 -65
  1405. package/dist/types/patterns/mapReduce.d.ts.map +0 -1
  1406. package/dist/types/patterns/planExecute.d.ts +0 -49
  1407. package/dist/types/patterns/planExecute.d.ts.map +0 -1
  1408. package/dist/types/patterns/reflexion.d.ts +0 -65
  1409. package/dist/types/patterns/reflexion.d.ts.map +0 -1
  1410. package/dist/types/patterns/treeOfThoughts.d.ts +0 -65
  1411. package/dist/types/patterns/treeOfThoughts.d.ts.map +0 -1
  1412. package/dist/types/patterns.barrel.d.ts +0 -8
  1413. package/dist/types/patterns.barrel.d.ts.map +0 -1
  1414. package/dist/types/providers/index.d.ts +0 -15
  1415. package/dist/types/providers/index.d.ts.map +0 -1
  1416. package/dist/types/providers/messages/charBudget.d.ts +0 -19
  1417. package/dist/types/providers/messages/charBudget.d.ts.map +0 -1
  1418. package/dist/types/providers/messages/compositeMessages.d.ts +0 -16
  1419. package/dist/types/providers/messages/compositeMessages.d.ts.map +0 -1
  1420. package/dist/types/providers/messages/fullHistory.d.ts +0 -12
  1421. package/dist/types/providers/messages/fullHistory.d.ts.map +0 -1
  1422. package/dist/types/providers/messages/index.d.ts +0 -13
  1423. package/dist/types/providers/messages/index.d.ts.map +0 -1
  1424. package/dist/types/providers/messages/slidingWindow.d.ts +0 -16
  1425. package/dist/types/providers/messages/slidingWindow.d.ts.map +0 -1
  1426. package/dist/types/providers/messages/summaryStrategy.d.ts +0 -29
  1427. package/dist/types/providers/messages/summaryStrategy.d.ts.map +0 -1
  1428. package/dist/types/providers/messages/withToolPairSafety.d.ts +0 -19
  1429. package/dist/types/providers/messages/withToolPairSafety.d.ts.map +0 -1
  1430. package/dist/types/providers/prompt/compositePrompt.d.ts +0 -20
  1431. package/dist/types/providers/prompt/compositePrompt.d.ts.map +0 -1
  1432. package/dist/types/providers/prompt/index.d.ts +0 -10
  1433. package/dist/types/providers/prompt/index.d.ts.map +0 -1
  1434. package/dist/types/providers/prompt/skillBasedPrompt.d.ts +0 -33
  1435. package/dist/types/providers/prompt/skillBasedPrompt.d.ts.map +0 -1
  1436. package/dist/types/providers/prompt/static.d.ts +0 -6
  1437. package/dist/types/providers/prompt/static.d.ts.map +0 -1
  1438. package/dist/types/providers/prompt/template.d.ts +0 -6
  1439. package/dist/types/providers/prompt/template.d.ts.map +0 -1
  1440. package/dist/types/providers/tools/PermissionPolicy.d.ts +0 -76
  1441. package/dist/types/providers/tools/PermissionPolicy.d.ts.map +0 -1
  1442. package/dist/types/providers/tools/agentAsTool.d.ts +0 -40
  1443. package/dist/types/providers/tools/agentAsTool.d.ts.map +0 -1
  1444. package/dist/types/providers/tools/compositeTools.d.ts +0 -18
  1445. package/dist/types/providers/tools/compositeTools.d.ts.map +0 -1
  1446. package/dist/types/providers/tools/dynamicTools.d.ts +0 -27
  1447. package/dist/types/providers/tools/dynamicTools.d.ts.map +0 -1
  1448. package/dist/types/providers/tools/gatedTools.d.ts +0 -52
  1449. package/dist/types/providers/tools/gatedTools.d.ts.map +0 -1
  1450. package/dist/types/providers/tools/index.d.ts +0 -15
  1451. package/dist/types/providers/tools/index.d.ts.map +0 -1
  1452. package/dist/types/providers/tools/noTools.d.ts +0 -6
  1453. package/dist/types/providers/tools/noTools.d.ts.map +0 -1
  1454. package/dist/types/providers/tools/staticTools.d.ts +0 -7
  1455. package/dist/types/providers/tools/staticTools.d.ts.map +0 -1
  1456. package/dist/types/providers.barrel.d.ts +0 -34
  1457. package/dist/types/providers.barrel.d.ts.map +0 -1
  1458. package/dist/types/recorders/AgentTimelineRecorder.d.ts +0 -309
  1459. package/dist/types/recorders/AgentTimelineRecorder.d.ts.map +0 -1
  1460. package/dist/types/recorders/CompositeRecorder.d.ts +0 -30
  1461. package/dist/types/recorders/CompositeRecorder.d.ts.map +0 -1
  1462. package/dist/types/recorders/ContextEngineeringRecorder.d.ts +0 -105
  1463. package/dist/types/recorders/ContextEngineeringRecorder.d.ts.map +0 -1
  1464. package/dist/types/recorders/CostRecorder.d.ts +0 -43
  1465. package/dist/types/recorders/CostRecorder.d.ts.map +0 -1
  1466. package/dist/types/recorders/ExplainRecorder.d.ts +0 -117
  1467. package/dist/types/recorders/ExplainRecorder.d.ts.map +0 -1
  1468. package/dist/types/recorders/GuardrailRecorder.d.ts +0 -45
  1469. package/dist/types/recorders/GuardrailRecorder.d.ts.map +0 -1
  1470. package/dist/types/recorders/OTelRecorder.d.ts +0 -50
  1471. package/dist/types/recorders/OTelRecorder.d.ts.map +0 -1
  1472. package/dist/types/recorders/PermissionRecorder.d.ts +0 -66
  1473. package/dist/types/recorders/PermissionRecorder.d.ts.map +0 -1
  1474. package/dist/types/recorders/QualityRecorder.d.ts +0 -37
  1475. package/dist/types/recorders/QualityRecorder.d.ts.map +0 -1
  1476. package/dist/types/recorders/RecorderBridge.d.ts +0 -52
  1477. package/dist/types/recorders/RecorderBridge.d.ts.map +0 -1
  1478. package/dist/types/recorders/TokenRecorder.d.ts +0 -53
  1479. package/dist/types/recorders/TokenRecorder.d.ts.map +0 -1
  1480. package/dist/types/recorders/ToolUsageRecorder.d.ts +0 -38
  1481. package/dist/types/recorders/ToolUsageRecorder.d.ts.map +0 -1
  1482. package/dist/types/recorders/TurnRecorder.d.ts +0 -36
  1483. package/dist/types/recorders/TurnRecorder.d.ts.map +0 -1
  1484. package/dist/types/recorders/agentObservability.d.ts +0 -59
  1485. package/dist/types/recorders/agentObservability.d.ts.map +0 -1
  1486. package/dist/types/recorders/attachRecorderHelper.d.ts +0 -10
  1487. package/dist/types/recorders/attachRecorderHelper.d.ts.map +0 -1
  1488. package/dist/types/recorders/forwardEmitRecorders.d.ts +0 -22
  1489. package/dist/types/recorders/forwardEmitRecorders.d.ts.map +0 -1
  1490. package/dist/types/recorders/index.d.ts +0 -25
  1491. package/dist/types/recorders/index.d.ts.map +0 -1
  1492. package/dist/types/resilience.barrel.d.ts +0 -19
  1493. package/dist/types/resilience.barrel.d.ts.map +0 -1
  1494. package/dist/types/retriever.js +0 -7
  1495. package/dist/types/retriever.js.map +0 -1
  1496. package/dist/types/scope/AgentScope.d.ts +0 -76
  1497. package/dist/types/scope/AgentScope.d.ts.map +0 -1
  1498. package/dist/types/scope/index.d.ts +0 -3
  1499. package/dist/types/scope/index.d.ts.map +0 -1
  1500. package/dist/types/scope/types.d.ts +0 -182
  1501. package/dist/types/scope/types.d.ts.map +0 -1
  1502. package/dist/types/security.barrel.d.ts +0 -17
  1503. package/dist/types/security.barrel.d.ts.map +0 -1
  1504. package/dist/types/skills.barrel.d.ts +0 -43
  1505. package/dist/types/skills.barrel.d.ts.map +0 -1
  1506. package/dist/types/stages/augmentPrompt.d.ts +0 -16
  1507. package/dist/types/stages/augmentPrompt.d.ts.map +0 -1
  1508. package/dist/types/stages/callLLM.d.ts +0 -8
  1509. package/dist/types/stages/callLLM.d.ts.map +0 -1
  1510. package/dist/types/stages/finalize.d.ts +0 -7
  1511. package/dist/types/stages/finalize.d.ts.map +0 -1
  1512. package/dist/types/stages/helpers.d.ts +0 -17
  1513. package/dist/types/stages/helpers.d.ts.map +0 -1
  1514. package/dist/types/stages/index.d.ts +0 -8
  1515. package/dist/types/stages/index.d.ts.map +0 -1
  1516. package/dist/types/stages/parseResponse.d.ts +0 -8
  1517. package/dist/types/stages/parseResponse.d.ts.map +0 -1
  1518. package/dist/types/stages/retrieve.d.ts +0 -14
  1519. package/dist/types/stages/retrieve.d.ts.map +0 -1
  1520. package/dist/types/stages/runnerAsStage.d.ts +0 -18
  1521. package/dist/types/stages/runnerAsStage.d.ts.map +0 -1
  1522. package/dist/types/stream.barrel.d.ts +0 -19
  1523. package/dist/types/stream.barrel.d.ts.map +0 -1
  1524. package/dist/types/streaming/EventDispatcher.d.ts +0 -42
  1525. package/dist/types/streaming/EventDispatcher.d.ts.map +0 -1
  1526. package/dist/types/streaming/StreamEmitter.d.ts +0 -113
  1527. package/dist/types/streaming/StreamEmitter.d.ts.map +0 -1
  1528. package/dist/types/streaming/StreamEventRecorder.d.ts +0 -52
  1529. package/dist/types/streaming/StreamEventRecorder.d.ts.map +0 -1
  1530. package/dist/types/streaming/index.d.ts +0 -5
  1531. package/dist/types/streaming/index.d.ts.map +0 -1
  1532. package/dist/types/subflows/index.d.ts +0 -2
  1533. package/dist/types/subflows/index.d.ts.map +0 -1
  1534. package/dist/types/tools/ToolRegistry.d.ts +0 -57
  1535. package/dist/types/tools/ToolRegistry.d.ts.map +0 -1
  1536. package/dist/types/tools/askHuman.d.ts +0 -39
  1537. package/dist/types/tools/askHuman.d.ts.map +0 -1
  1538. package/dist/types/tools/index.d.ts +0 -3
  1539. package/dist/types/tools/index.d.ts.map +0 -1
  1540. package/dist/types/tools/validateInput.d.ts +0 -29
  1541. package/dist/types/tools/validateInput.d.ts.map +0 -1
  1542. package/dist/types/tools/zodToJsonSchema.d.ts +0 -9
  1543. package/dist/types/tools/zodToJsonSchema.d.ts.map +0 -1
  1544. package/dist/types/tools.js +0 -6
  1545. package/dist/types/tools.js.map +0 -1
  1546. package/dist/types/types/adapter.d.ts +0 -36
  1547. package/dist/types/types/adapter.d.ts.map +0 -1
  1548. package/dist/types/types/agent.d.ts +0 -44
  1549. package/dist/types/types/agent.d.ts.map +0 -1
  1550. package/dist/types/types/content.d.ts +0 -104
  1551. package/dist/types/types/content.d.ts.map +0 -1
  1552. package/dist/types/types/errors.d.ts +0 -27
  1553. package/dist/types/types/errors.d.ts.map +0 -1
  1554. package/dist/types/types/index.d.ts +0 -14
  1555. package/dist/types/types/index.d.ts.map +0 -1
  1556. package/dist/types/types/llm.d.ts +0 -78
  1557. package/dist/types/types/llm.d.ts.map +0 -1
  1558. package/dist/types/types/messages.d.ts +0 -40
  1559. package/dist/types/types/messages.d.ts.map +0 -1
  1560. package/dist/types/types/multiAgent.d.ts +0 -66
  1561. package/dist/types/types/multiAgent.d.ts.map +0 -1
  1562. package/dist/types/types/retriever.d.ts +0 -41
  1563. package/dist/types/types/retriever.d.ts.map +0 -1
  1564. package/dist/types/types/tools.d.ts +0 -78
  1565. package/dist/types/types/tools.d.ts.map +0 -1
@@ -0,0 +1,1010 @@
1
+ /**
2
+ * Agent — ReAct primitive (LLM + tools + iteration loop).
3
+ *
4
+ * Pattern: Builder (GoF) → produces a Runner backed by a footprintjs FlowChart.
5
+ * Role: Layer-5 primitive (core/). Assembles the 3-slot context
6
+ * pipeline + callLLM + route decider + tool-calls subflow +
7
+ * loopTo. Composition nestable anywhere that accepts a Runner.
8
+ * Emits: Via internal recorders:
9
+ * agentfootprint.agent.turn_start / turn_end
10
+ * agentfootprint.agent.iteration_start / iteration_end
11
+ * agentfootprint.agent.route_decided
12
+ * agentfootprint.stream.llm_start / llm_end
13
+ * agentfootprint.stream.tool_start / tool_end
14
+ * agentfootprint.context.* (via ContextRecorder)
15
+ */
16
+ import { FlowChartExecutor, flowChart, } from 'footprintjs';
17
+ import { isPauseRequest } from './pause.js';
18
+ import { emitCostTick } from './cost.js';
19
+ import { STAGE_IDS, SUBFLOW_IDS } from '../conventions.js';
20
+ import { defaultCommentaryTemplates } from '../recorders/observability/commentary/commentaryTemplates.js';
21
+ import { defaultThinkingTemplates } from '../recorders/observability/thinking/thinkingTemplates.js';
22
+ import { ContextRecorder } from '../recorders/core/ContextRecorder.js';
23
+ import { streamRecorder } from '../recorders/core/StreamRecorder.js';
24
+ import { agentRecorder } from '../recorders/core/AgentRecorder.js';
25
+ import { costRecorder } from '../recorders/core/CostRecorder.js';
26
+ import { permissionRecorder } from '../recorders/core/PermissionRecorder.js';
27
+ import { evalRecorder } from '../recorders/core/EvalRecorder.js';
28
+ import { memoryRecorder } from '../recorders/core/MemoryRecorder.js';
29
+ import { skillRecorder } from '../recorders/core/SkillRecorder.js';
30
+ import { typedEmit } from '../recorders/core/typedEmit.js';
31
+ import { memoryInjectionKey } from '../memory/define.types.js';
32
+ import { unwrapMemoryFlowChart } from '../memory/define.js';
33
+ import { mountMemoryRead, mountMemoryWrite } from '../memory/wire/mountMemoryPipeline.js';
34
+ import { buildSystemPromptSlot } from './slots/buildSystemPromptSlot.js';
35
+ import { buildMessagesSlot } from './slots/buildMessagesSlot.js';
36
+ import { buildToolsSlot } from './slots/buildToolsSlot.js';
37
+ import { buildInjectionEngineSubflow } from '../lib/injection-engine/buildInjectionEngineSubflow.js';
38
+ import { RunnerBase, makeRunId } from './RunnerBase.js';
39
+ import { defineTool } from './tools.js';
40
+ export class Agent extends RunnerBase {
41
+ name;
42
+ id;
43
+ provider;
44
+ model;
45
+ temperature;
46
+ maxTokens;
47
+ maxIterations;
48
+ systemPromptValue;
49
+ registry;
50
+ /**
51
+ * The Injection list — Skills, Steering, Instructions, Facts (and
52
+ * RAG, Memory). Evaluated each iteration by the
53
+ * InjectionEngine subflow; active set is filtered by slot subflows.
54
+ */
55
+ injections;
56
+ pricingTable;
57
+ costBudget;
58
+ permissionChecker;
59
+ /**
60
+ * Voice config — shared by viewers (Lens, ChatThinkKit, CLI tail).
61
+ * `appName` is the active actor in narration ("Chatbot called…").
62
+ * `commentaryTemplates` drives Lens's third-person panel.
63
+ * `thinkingTemplates` drives chat-bubble first-person status.
64
+ * Defaults to bundled English; consumer overrides via builder.
65
+ */
66
+ appName;
67
+ commentaryTemplates;
68
+ thinkingTemplates;
69
+ currentRunContext = {
70
+ runStartMs: 0,
71
+ runId: 'pending',
72
+ compositionPath: [],
73
+ };
74
+ /**
75
+ * Memory subsystems registered via `.memory()`. Each definition mounts
76
+ * its `read` subflow before the InjectionEngine on every turn; per-id
77
+ * scope keys (`memoryInjectionKey(id)`) keep multi-memory layering
78
+ * collision-free.
79
+ */
80
+ memories;
81
+ constructor(opts, systemPromptValue, registry, voice, injections = [], memories = []) {
82
+ super();
83
+ this.provider = opts.provider;
84
+ this.name = opts.name ?? 'Agent';
85
+ this.id = opts.id ?? 'agent';
86
+ this.model = opts.model;
87
+ this.temperature = opts.temperature;
88
+ this.maxTokens = opts.maxTokens;
89
+ this.maxIterations = clampIterations(opts.maxIterations ?? 10);
90
+ this.systemPromptValue = systemPromptValue;
91
+ this.registry = registry;
92
+ this.injections = injections;
93
+ this.memories = memories;
94
+ // Eager validation: tool names must be unique across .tool() +
95
+ // every Skill.inject.tools — the LLM dispatches by name. Runs in
96
+ // constructor so `Agent.build()` throws immediately on collision,
97
+ // not at first run().
98
+ validateToolNameUniqueness(registry, injections);
99
+ // Eager validation: memory ids must be unique so per-id scope keys
100
+ // (`memoryInjection_${id}`) don't collide.
101
+ validateMemoryIdUniqueness(memories);
102
+ if (opts.pricingTable)
103
+ this.pricingTable = opts.pricingTable;
104
+ if (opts.costBudget !== undefined)
105
+ this.costBudget = opts.costBudget;
106
+ if (opts.permissionChecker)
107
+ this.permissionChecker = opts.permissionChecker;
108
+ this.appName = voice.appName;
109
+ this.commentaryTemplates = voice.commentaryTemplates;
110
+ this.thinkingTemplates = voice.thinkingTemplates;
111
+ }
112
+ static create(opts) {
113
+ return new AgentBuilder(opts);
114
+ }
115
+ toFlowChart() {
116
+ return this.buildChart();
117
+ }
118
+ async run(input, options) {
119
+ const executor = this.createExecutor();
120
+ const result = await executor.run({
121
+ input: {
122
+ message: input.message,
123
+ ...(input.identity !== undefined && { identity: input.identity }),
124
+ },
125
+ ...(options ?? {}),
126
+ });
127
+ return this.finalizeResult(executor, result);
128
+ }
129
+ async resume(checkpoint, input, options) {
130
+ this.emitPauseResume(checkpoint, input);
131
+ // Fresh executor — footprintjs 4.17.0+ seeds the runtime from
132
+ // `checkpoint.sharedState` (and nested subflow states) automatically
133
+ // on a fresh executor's `resume()`. No need to retain a paused
134
+ // executor between run/resume.
135
+ const executor = this.createExecutor();
136
+ const result = await executor.resume(checkpoint, input, options);
137
+ return this.finalizeResult(executor, result);
138
+ }
139
+ createExecutor() {
140
+ this.currentRunContext = {
141
+ runStartMs: Date.now(),
142
+ runId: makeRunId(),
143
+ compositionPath: [`Agent:${this.id}`],
144
+ };
145
+ const chart = this.buildChart();
146
+ const executor = new FlowChartExecutor(chart);
147
+ const dispatcher = this.getDispatcher();
148
+ const getRunCtx = () => this.currentRunContext;
149
+ executor.attachCombinedRecorder(new ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
150
+ executor.attachCombinedRecorder(streamRecorder({ dispatcher, getRunContext: getRunCtx }));
151
+ executor.attachCombinedRecorder(agentRecorder({ dispatcher, getRunContext: getRunCtx }));
152
+ if (this.pricingTable) {
153
+ executor.attachCombinedRecorder(costRecorder({ dispatcher, getRunContext: getRunCtx }));
154
+ }
155
+ if (this.permissionChecker) {
156
+ executor.attachCombinedRecorder(permissionRecorder({ dispatcher, getRunContext: getRunCtx }));
157
+ }
158
+ // Always-on bridges for consumer-emitted domain events.
159
+ executor.attachCombinedRecorder(evalRecorder({ dispatcher, getRunContext: getRunCtx }));
160
+ executor.attachCombinedRecorder(memoryRecorder({ dispatcher, getRunContext: getRunCtx }));
161
+ executor.attachCombinedRecorder(skillRecorder({ dispatcher, getRunContext: getRunCtx }));
162
+ for (const r of this.attachedRecorders)
163
+ executor.attachCombinedRecorder(r);
164
+ return executor;
165
+ }
166
+ finalizeResult(executor, result) {
167
+ const paused = this.detectPause(executor, result);
168
+ if (paused)
169
+ return paused;
170
+ if (result instanceof Error)
171
+ throw result;
172
+ if (typeof result === 'string')
173
+ return result;
174
+ throw new Error('Agent: unexpected result shape — expected final-answer string');
175
+ }
176
+ // ─── Chart assembly ────────────────────────────────────────────
177
+ buildChart() {
178
+ const provider = this.provider;
179
+ const model = this.model;
180
+ const temperature = this.temperature;
181
+ const maxTokens = this.maxTokens;
182
+ const systemPromptValue = this.systemPromptValue;
183
+ const registry = this.registry;
184
+ // (registryByName + toolSchemas redefined below using
185
+ // `augmentedRegistry` which adds the auto-attached `read_skill`
186
+ // tool when Skills are registered.)
187
+ const _legacyRegistry = registry;
188
+ void _legacyRegistry;
189
+ const maxIterations = this.maxIterations;
190
+ const pricingTable = this.pricingTable;
191
+ const costBudget = this.costBudget;
192
+ const permissionChecker = this.permissionChecker;
193
+ const seed = (scope) => {
194
+ const args = scope.$getArgs();
195
+ scope.userMessage = args.message;
196
+ scope.history = [{ role: 'user', content: args.message }];
197
+ // Default identity uses the runId so multi-run isolation works
198
+ // without consumer changes; explicit identity (multi-tenant)
199
+ // overrides via `agent.run({ identity })`.
200
+ scope.runIdentity = args.identity ?? {
201
+ conversationId: this.currentRunContext?.runId ?? 'default',
202
+ };
203
+ scope.newMessages = [];
204
+ scope.turnNumber = 1;
205
+ // Permissive default — explicit cap will land when PricingTable
206
+ // gets a context-window field. Memory pickByBudget treats anything
207
+ // ≥ minimumTokens as "fits", so this just enables the budget path.
208
+ scope.contextTokensRemaining = 32_000;
209
+ scope.iteration = 1;
210
+ scope.maxIterations = maxIterations;
211
+ scope.finalContent = '';
212
+ scope.totalInputTokens = 0;
213
+ scope.totalOutputTokens = 0;
214
+ scope.turnStartMs = Date.now();
215
+ scope.systemPromptInjections = [];
216
+ scope.messagesInjections = [];
217
+ scope.toolsInjections = [];
218
+ scope.llmLatestContent = '';
219
+ scope.llmLatestToolCalls = [];
220
+ scope.pausedToolCallId = '';
221
+ scope.pausedToolName = '';
222
+ scope.pausedToolStartMs = 0;
223
+ scope.cumTokensInput = 0;
224
+ scope.cumTokensOutput = 0;
225
+ scope.cumEstimatedUsd = 0;
226
+ scope.costBudgetHit = false;
227
+ scope.activeInjections = [];
228
+ scope.activatedInjectionIds = [];
229
+ scope.dynamicToolSchemas = toolSchemas;
230
+ typedEmit(scope, 'agentfootprint.agent.turn_start', {
231
+ turnIndex: 0,
232
+ userPrompt: args.message,
233
+ });
234
+ };
235
+ // Tool registry composition — three sources:
236
+ //
237
+ // 1. Static registry: tools registered via `.tool()`. Always
238
+ // visible to the LLM; always executable.
239
+ // 2. `read_skill` (auto-attached when ≥1 Skill is registered):
240
+ // activation tool for LLM-guided Skills.
241
+ // 3. Skill-supplied tools (`Skill.inject.tools[]`): visible only
242
+ // when the Skill is active (filtered by tools slot subflow);
243
+ // MUST always be in the executor registry so when the LLM
244
+ // calls one, the tool-calls handler can dispatch.
245
+ //
246
+ // Tool-name uniqueness is enforced across all three sources at
247
+ // build time. The LLM only sees `tool.schema.name` (no ids), so
248
+ // names ARE the runtime dispatch key — collisions break the LLM's
249
+ // ability to call the right tool. Throw early instead of subtly
250
+ // shadowing.
251
+ const skills = this.injections.filter((i) => i.flavor === 'skill');
252
+ const skillToolEntries = [];
253
+ for (const skill of skills) {
254
+ const toolsFromSkill = skill.inject.tools ?? [];
255
+ for (const tool of toolsFromSkill) {
256
+ skillToolEntries.push({ name: tool.schema.name, tool });
257
+ }
258
+ }
259
+ const readSkillEntries = skills.length > 0 ? [{ name: 'read_skill', tool: buildReadSkillTool(skills) }] : [];
260
+ const augmentedRegistry = [
261
+ ...registry,
262
+ ...readSkillEntries,
263
+ ...skillToolEntries,
264
+ ];
265
+ // Validate: tool names must be unique across registry + skills.
266
+ // The LLM dispatches by name; collisions silently shadow.
267
+ const seenNames = new Set();
268
+ for (const entry of augmentedRegistry) {
269
+ if (seenNames.has(entry.name)) {
270
+ throw new Error(`Agent: duplicate tool name '${entry.name}'. Tool names must be unique ` +
271
+ `across .tool() registrations and all Skills' inject.tools (the LLM ` +
272
+ `dispatches by name; collisions break tool routing).`);
273
+ }
274
+ seenNames.add(entry.name);
275
+ }
276
+ const registryByName = new Map(augmentedRegistry.map((e) => [e.name, e.tool]));
277
+ const toolSchemas = augmentedRegistry.map((e) => e.tool.schema);
278
+ const injectionEngineSubflow = buildInjectionEngineSubflow({
279
+ injections: this.injections,
280
+ });
281
+ const systemPromptSubflow = buildSystemPromptSlot({
282
+ prompt: systemPromptValue,
283
+ reason: 'Agent.system()',
284
+ });
285
+ const messagesSubflow = buildMessagesSlot();
286
+ const toolsSubflow = buildToolsSlot({ tools: toolSchemas });
287
+ const iterationStart = (scope) => {
288
+ typedEmit(scope, 'agentfootprint.agent.iteration_start', {
289
+ turnIndex: 0,
290
+ iterIndex: scope.iteration,
291
+ });
292
+ };
293
+ const callLLM = async (scope) => {
294
+ const systemPromptInjections = scope.systemPromptInjections ?? [];
295
+ const messagesInjections = scope.messagesInjections ?? [];
296
+ const iteration = scope.iteration;
297
+ const systemPrompt = systemPromptInjections
298
+ .map((r) => r.rawContent ?? '')
299
+ .filter((s) => s.length > 0)
300
+ .join('\n\n');
301
+ const messages = messagesInjections
302
+ .map((r) => ({
303
+ role: r.asRole ?? 'user',
304
+ content: r.rawContent ?? r.contentSummary,
305
+ ...(r.sourceId !== undefined && { toolCallId: r.sourceId }),
306
+ }))
307
+ .filter((m) => m.content.length > 0);
308
+ typedEmit(scope, 'agentfootprint.stream.llm_start', {
309
+ iteration,
310
+ provider: provider.name,
311
+ model,
312
+ systemPromptChars: systemPrompt.length,
313
+ messagesCount: messages.length,
314
+ toolsCount: toolSchemas.length,
315
+ ...(temperature !== undefined && { temperature }),
316
+ });
317
+ const startMs = Date.now();
318
+ // Use dynamic schemas — registry tools + injection-supplied
319
+ // tools (Skills' `inject.tools` when their Injection is active).
320
+ // Falls back to the static schemas at startup before the tools
321
+ // slot has run for the first time.
322
+ const activeToolSchemas = scope.dynamicToolSchemas ?? toolSchemas;
323
+ const llmRequest = {
324
+ ...(systemPrompt.length > 0 && { systemPrompt }),
325
+ messages,
326
+ ...(activeToolSchemas.length > 0 && { tools: activeToolSchemas }),
327
+ model,
328
+ ...(temperature !== undefined && { temperature }),
329
+ ...(maxTokens !== undefined && { maxTokens }),
330
+ };
331
+ // Streaming-first: when the provider implements `stream()` we
332
+ // consume chunk-by-chunk so consumers (Lens commentary, chat
333
+ // UIs) see tokens as they arrive instead of waiting for the
334
+ // full LLM call to finish. Each non-terminal chunk fires
335
+ // `agentfootprint.stream.token` with the token text + index.
336
+ //
337
+ // The terminal chunk SHOULD carry the authoritative
338
+ // `LLMResponse` (toolCalls + usage + stopReason); when it does
339
+ // we use it directly. When it doesn't (older providers, partial
340
+ // implementations) we fall back to `complete()` for the
341
+ // authoritative payload — keeping the ReAct loop deterministic.
342
+ let response;
343
+ if (provider.stream) {
344
+ for await (const chunk of provider.stream(llmRequest)) {
345
+ if (chunk.done) {
346
+ if (chunk.response)
347
+ response = chunk.response;
348
+ break;
349
+ }
350
+ if (chunk.content.length > 0) {
351
+ typedEmit(scope, 'agentfootprint.stream.token', {
352
+ iteration,
353
+ tokenIndex: chunk.tokenIndex,
354
+ content: chunk.content,
355
+ });
356
+ }
357
+ }
358
+ }
359
+ if (!response) {
360
+ // No `stream()` OR stream finished without a response payload.
361
+ response = await provider.complete(llmRequest);
362
+ }
363
+ const durationMs = Date.now() - startMs;
364
+ scope.totalInputTokens = scope.totalInputTokens + response.usage.input;
365
+ scope.totalOutputTokens = scope.totalOutputTokens + response.usage.output;
366
+ scope.llmLatestContent = response.content;
367
+ scope.llmLatestToolCalls = response.toolCalls;
368
+ typedEmit(scope, 'agentfootprint.stream.llm_end', {
369
+ iteration,
370
+ content: response.content,
371
+ toolCallCount: response.toolCalls.length,
372
+ usage: response.usage,
373
+ stopReason: response.stopReason,
374
+ durationMs,
375
+ });
376
+ emitCostTick(scope, pricingTable, costBudget, model, response.usage);
377
+ };
378
+ /** Decides the next branch: 'tool-calls' or 'final'. */
379
+ const routeDecider = (scope) => {
380
+ const toolCalls = scope.llmLatestToolCalls;
381
+ const iteration = scope.iteration;
382
+ const chosen = toolCalls.length > 0 && iteration < scope.maxIterations ? 'tool-calls' : 'final';
383
+ typedEmit(scope, 'agentfootprint.agent.route_decided', {
384
+ turnIndex: 0,
385
+ iterIndex: iteration,
386
+ chosen,
387
+ rationale: chosen === 'tool-calls'
388
+ ? `LLM requested ${toolCalls.length} tool call(s)`
389
+ : iteration >= scope.maxIterations
390
+ ? 'maxIterations reached — forcing final'
391
+ : 'LLM produced no tool calls — final answer',
392
+ });
393
+ return chosen;
394
+ };
395
+ /**
396
+ * Pausable tool-call handler.
397
+ *
398
+ * `execute` iterates the LLM-requested tool calls. If a tool throws
399
+ * `PauseRequest` via `pauseHere()`, we save the remaining work into
400
+ * scope and return the pause data — footprintjs captures a checkpoint
401
+ * and bubbles it up. The outer `Agent.run()` surfaces it as a
402
+ * `RunnerPauseOutcome`.
403
+ *
404
+ * `resume` is called when the consumer provides the human's answer.
405
+ * We treat that answer as the paused tool's result and append it to
406
+ * history, then continue the ReAct iteration loop.
407
+ */
408
+ const toolCallsHandler = {
409
+ execute: async (scope) => {
410
+ const toolCalls = scope.llmLatestToolCalls;
411
+ const iteration = scope.iteration;
412
+ const newHistory = [...scope.history];
413
+ // ALWAYS push the assistant turn when there are tool calls — even
414
+ // if the content was empty — so providers (Anthropic, OpenAI) can
415
+ // round-trip the tool_use blocks via `LLMMessage.toolCalls`.
416
+ // Without this, the next iteration's request lacks the assistant
417
+ // turn that initiated the tool call, and the API rejects the
418
+ // following tool_result with "preceding tool_use missing".
419
+ if (scope.llmLatestContent || toolCalls.length > 0) {
420
+ newHistory.push({
421
+ role: 'assistant',
422
+ content: scope.llmLatestContent ?? '',
423
+ ...(toolCalls.length > 0 && { toolCalls }),
424
+ });
425
+ }
426
+ for (const tc of toolCalls) {
427
+ const tool = registryByName.get(tc.name);
428
+ typedEmit(scope, 'agentfootprint.stream.tool_start', {
429
+ toolName: tc.name,
430
+ toolCallId: tc.id,
431
+ args: tc.args,
432
+ ...(toolCalls.length > 1 && { parallelCount: toolCalls.length }),
433
+ });
434
+ const startMs = Date.now();
435
+ let result;
436
+ let error;
437
+ // Permission gate — when a checker is configured, evaluate BEFORE
438
+ // executing the tool. Emits `permission.check` with the decision.
439
+ // On 'deny', the tool is not executed and its result is a
440
+ // synthetic denial string; on 'allow'/'gate_open', execution
441
+ // proceeds normally (the gate is informational — the consumer's
442
+ // checker is responsible for any gate-open side effects).
443
+ let denied = false;
444
+ if (permissionChecker) {
445
+ try {
446
+ const decision = await permissionChecker.check({
447
+ capability: 'tool_call',
448
+ actor: 'agent',
449
+ target: tc.name,
450
+ context: tc.args,
451
+ });
452
+ typedEmit(scope, 'agentfootprint.permission.check', {
453
+ capability: 'tool_call',
454
+ actor: 'agent',
455
+ target: tc.name,
456
+ result: decision.result,
457
+ ...(decision.policyRuleId !== undefined && { policyRuleId: decision.policyRuleId }),
458
+ ...(decision.rationale !== undefined && { rationale: decision.rationale }),
459
+ });
460
+ if (decision.result === 'deny') {
461
+ denied = true;
462
+ result = `[permission denied: ${decision.rationale ?? 'policy'}]`;
463
+ }
464
+ }
465
+ catch (permErr) {
466
+ // A checker that throws is treated as deny-by-default. The
467
+ // denial message records the thrown error so consumers can
468
+ // debug policy-adapter failures without losing the run.
469
+ denied = true;
470
+ const msg = permErr instanceof Error ? permErr.message : String(permErr);
471
+ typedEmit(scope, 'agentfootprint.permission.check', {
472
+ capability: 'tool_call',
473
+ actor: 'agent',
474
+ target: tc.name,
475
+ result: 'deny',
476
+ rationale: `permission-checker threw: ${msg}`,
477
+ });
478
+ result = `[permission denied: checker error: ${msg}]`;
479
+ }
480
+ }
481
+ if (!denied) {
482
+ try {
483
+ if (!tool)
484
+ throw new Error(`Unknown tool: ${tc.name}`);
485
+ result = await tool.execute(tc.args, {
486
+ toolCallId: tc.id,
487
+ iteration,
488
+ });
489
+ }
490
+ catch (err) {
491
+ if (isPauseRequest(err)) {
492
+ // Commit partial state so resume() can find history intact.
493
+ scope.history = newHistory;
494
+ scope.pausedToolCallId = tc.id;
495
+ scope.pausedToolName = tc.name;
496
+ scope.pausedToolStartMs = startMs;
497
+ // Returning a defined value triggers footprintjs pause —
498
+ // the returned object becomes the checkpoint's pauseData.
499
+ return {
500
+ toolCallId: tc.id,
501
+ toolName: tc.name,
502
+ ...(typeof err.data === 'object' && err.data !== null
503
+ ? err.data
504
+ : { data: err.data }),
505
+ };
506
+ }
507
+ error = true;
508
+ result = err instanceof Error ? err.message : String(err);
509
+ }
510
+ }
511
+ const durationMs = Date.now() - startMs;
512
+ typedEmit(scope, 'agentfootprint.stream.tool_end', {
513
+ toolCallId: tc.id,
514
+ result,
515
+ durationMs,
516
+ ...(error === true && { error: true }),
517
+ });
518
+ const resultStr = typeof result === 'string' ? result : safeStringify(result);
519
+ newHistory.push({
520
+ role: 'tool',
521
+ content: resultStr,
522
+ toolCallId: tc.id,
523
+ toolName: tc.name,
524
+ });
525
+ // ── Dynamic ReAct wiring ───────────────────────────────
526
+ //
527
+ // (1) `lastToolResult` drives `on-tool-return` Injection
528
+ // triggers — the InjectionEngine's NEXT pass will see
529
+ // this and activate any matching Instructions.
530
+ scope.lastToolResult = { toolName: tc.name, result: resultStr };
531
+ // (2) `read_skill` is the auto-attached activation tool.
532
+ // When the LLM calls it with a valid Skill id, append
533
+ // to `activatedInjectionIds` so the InjectionEngine's
534
+ // NEXT pass activates that Skill (lifetime: turn — stays
535
+ // active until the turn ends).
536
+ if (tc.name === 'read_skill' && !error && !denied) {
537
+ const requestedId = tc.args.id;
538
+ if (typeof requestedId === 'string' && requestedId.length > 0) {
539
+ const current = scope.activatedInjectionIds;
540
+ if (!current.includes(requestedId)) {
541
+ scope.activatedInjectionIds = [...current, requestedId];
542
+ }
543
+ }
544
+ }
545
+ }
546
+ scope.history = newHistory;
547
+ typedEmit(scope, 'agentfootprint.agent.iteration_end', {
548
+ turnIndex: 0,
549
+ iterIndex: iteration,
550
+ toolCallCount: toolCalls.length,
551
+ });
552
+ scope.iteration = iteration + 1;
553
+ return undefined; // explicit: no pause, flow continues to loopTo
554
+ },
555
+ resume: (scope, input) => {
556
+ // Consumer-supplied resume input becomes the paused tool's result.
557
+ // The subflow's pre-pause scope is restored automatically by
558
+ // footprintjs 4.17.0 via `checkpoint.subflowStates`, so
559
+ // `scope.history` and `scope.pausedToolCallId` read back cleanly
560
+ // across same-executor AND cross-executor resume.
561
+ const toolCallId = scope.pausedToolCallId;
562
+ const toolName = scope.pausedToolName;
563
+ const startMs = scope.pausedToolStartMs;
564
+ const resultStr = typeof input === 'string' ? input : safeStringify(input);
565
+ const newHistory = [
566
+ ...scope.history,
567
+ {
568
+ role: 'tool',
569
+ content: resultStr,
570
+ toolCallId,
571
+ toolName,
572
+ },
573
+ ];
574
+ scope.history = newHistory;
575
+ typedEmit(scope, 'agentfootprint.stream.tool_end', {
576
+ toolCallId,
577
+ result: input,
578
+ durationMs: Date.now() - startMs,
579
+ });
580
+ const iteration = scope.iteration;
581
+ typedEmit(scope, 'agentfootprint.agent.iteration_end', {
582
+ turnIndex: 0,
583
+ iterIndex: iteration,
584
+ toolCallCount: 1,
585
+ });
586
+ scope.iteration = iteration + 1;
587
+ // Clear pause checkpoint fields.
588
+ scope.pausedToolCallId = '';
589
+ scope.pausedToolName = '';
590
+ scope.pausedToolStartMs = 0;
591
+ },
592
+ };
593
+ // Final branch is split so memory-write subflows can mount BETWEEN
594
+ // setting `finalContent` and breaking the ReAct loop. PrepareFinal
595
+ // captures the turn payload; BreakFinal terminates the loop.
596
+ const prepareFinalStage = (scope) => {
597
+ const iteration = scope.iteration;
598
+ scope.finalContent = scope.llmLatestContent;
599
+ // The turn payload memory writes persist: the user's message
600
+ // paired with the agent's final answer.
601
+ scope.newMessages = [
602
+ { role: 'user', content: scope.userMessage },
603
+ { role: 'assistant', content: scope.finalContent },
604
+ ];
605
+ typedEmit(scope, 'agentfootprint.agent.iteration_end', {
606
+ turnIndex: 0,
607
+ iterIndex: iteration,
608
+ toolCallCount: 0,
609
+ });
610
+ typedEmit(scope, 'agentfootprint.agent.turn_end', {
611
+ turnIndex: 0,
612
+ finalContent: scope.finalContent,
613
+ totalInputTokens: scope.totalInputTokens,
614
+ totalOutputTokens: scope.totalOutputTokens,
615
+ iterationCount: iteration,
616
+ durationMs: Date.now() - scope.turnStartMs,
617
+ });
618
+ };
619
+ const breakFinalStage = (scope) => {
620
+ // $break terminates the flow before loopTo fires, ending the
621
+ // ReAct iteration once memory writes (if any) have persisted.
622
+ scope.$break();
623
+ return scope.finalContent;
624
+ };
625
+ // Compose the final branch as its own subflow so memory write
626
+ // subflows mount as visible siblings in narrative + Lens.
627
+ let finalBranchBuilder = flowChart('PrepareFinal', prepareFinalStage, 'prepare-final', undefined, 'Capture turn payload (finalContent + newMessages)');
628
+ for (const m of this.memories) {
629
+ if (m.write) {
630
+ finalBranchBuilder = mountMemoryWrite(finalBranchBuilder, {
631
+ pipeline: {
632
+ read: unwrapMemoryFlowChart(m.read),
633
+ write: unwrapMemoryFlowChart(m.write),
634
+ },
635
+ identityKey: 'runIdentity',
636
+ turnNumberKey: 'turnNumber',
637
+ contextTokensKey: 'contextTokensRemaining',
638
+ newMessagesKey: 'newMessages',
639
+ writeSubflowId: `sf-memory-write-${m.id}`,
640
+ });
641
+ }
642
+ }
643
+ const finalBranchChart = finalBranchBuilder
644
+ .addFunction('BreakFinal', breakFinalStage, 'break-final', 'Terminate the ReAct loop')
645
+ .build();
646
+ // Description prefix `Agent:` is a taxonomy marker — consumers
647
+ // (Lens + FlowchartRecorder) detect Agent-primitive subflows via
648
+ // this prefix and flag them as true agent boundaries (separate
649
+ // from LLMCall subflows which use `LLMCall:` prefix).
650
+ let builder = flowChart('Seed', seed, STAGE_IDS.SEED, undefined, 'Agent: ReAct loop');
651
+ // Memory READ subflows — mounted between Seed and InjectionEngine
652
+ // for TURN_START timing (default). Each memory writes to its own
653
+ // scope key (`memoryInjection_${id}`) so multiple `.memory()`
654
+ // registrations layer without colliding.
655
+ for (const m of this.memories) {
656
+ builder = mountMemoryRead(builder, {
657
+ pipeline: {
658
+ read: unwrapMemoryFlowChart(m.read),
659
+ ...(m.write !== undefined && { write: unwrapMemoryFlowChart(m.write) }),
660
+ },
661
+ identityKey: 'runIdentity',
662
+ turnNumberKey: 'turnNumber',
663
+ contextTokensKey: 'contextTokensRemaining',
664
+ injectionKey: memoryInjectionKey(m.id),
665
+ readSubflowId: `sf-memory-read-${m.id}`,
666
+ });
667
+ }
668
+ builder = builder
669
+ // Injection Engine — evaluates every Injection's trigger once
670
+ // per iteration; writes activeInjections[] to parent scope for
671
+ // the slot subflows to consume. Skipped if no injections were
672
+ // registered (no observable difference, just one more no-op
673
+ // subflow boundary).
674
+ .addSubFlowChartNext(SUBFLOW_IDS.INJECTION_ENGINE, injectionEngineSubflow, 'Injection Engine', {
675
+ inputMapper: (parent) => ({
676
+ iteration: parent.iteration,
677
+ userMessage: parent.userMessage,
678
+ history: parent.history,
679
+ lastToolResult: parent.lastToolResult,
680
+ activatedInjectionIds: parent.activatedInjectionIds ?? [],
681
+ }),
682
+ outputMapper: (sf) => ({ activeInjections: sf.activeInjections }),
683
+ })
684
+ .addSubFlowChartNext(SUBFLOW_IDS.SYSTEM_PROMPT, systemPromptSubflow, 'System Prompt', {
685
+ inputMapper: (parent) => ({
686
+ userMessage: parent.userMessage,
687
+ iteration: parent.iteration,
688
+ activeInjections: parent.activeInjections,
689
+ }),
690
+ outputMapper: (sf) => ({ systemPromptInjections: sf.systemPromptInjections }),
691
+ })
692
+ .addSubFlowChartNext(SUBFLOW_IDS.MESSAGES, messagesSubflow, 'Messages', {
693
+ inputMapper: (parent) => ({
694
+ messages: parent.history,
695
+ iteration: parent.iteration,
696
+ activeInjections: parent.activeInjections,
697
+ }),
698
+ outputMapper: (sf) => ({ messagesInjections: sf.messagesInjections }),
699
+ })
700
+ .addSubFlowChartNext(SUBFLOW_IDS.TOOLS, toolsSubflow, 'Tools', {
701
+ inputMapper: (parent) => ({
702
+ iteration: parent.iteration,
703
+ activeInjections: parent.activeInjections,
704
+ }),
705
+ outputMapper: (sf) => ({
706
+ toolsInjections: sf.toolsInjections,
707
+ // Pass merged tool schemas (registry + injection-supplied)
708
+ // back up so callLLM uses the right list for THIS iteration.
709
+ dynamicToolSchemas: sf.toolSchemas,
710
+ }),
711
+ })
712
+ .addFunction('IterationStart', iterationStart, 'iteration-start', 'Iteration begin marker')
713
+ .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation')
714
+ .addDeciderFunction('Route', routeDecider, SUBFLOW_IDS.ROUTE, 'ReAct routing')
715
+ .addPausableFunctionBranch('tool-calls', 'ToolCalls', toolCallsHandler, 'Tool execution (pausable via pauseHere)')
716
+ .addSubFlowChartBranch('final', finalBranchChart, 'Final', {
717
+ // Pass through the read-only state the sub-chart needs;
718
+ // OMIT keys the sub-chart writes (finalContent, newMessages)
719
+ // — passing those via inputMapper would freeze them as args.
720
+ inputMapper: (parent) => {
721
+ const { finalContent: _f, newMessages: _nm, ...rest } = parent;
722
+ void _f;
723
+ void _nm;
724
+ return rest;
725
+ },
726
+ outputMapper: (sf) => ({
727
+ finalContent: sf.finalContent,
728
+ }),
729
+ // BreakFinal's $break() must reach the outer loopTo so the
730
+ // ReAct iteration terminates; without this the inner break
731
+ // only exits the sub-chart and the outer loop continues.
732
+ propagateBreak: true,
733
+ })
734
+ .setDefault('final')
735
+ .end()
736
+ .loopTo(SUBFLOW_IDS.MESSAGES);
737
+ return builder.build();
738
+ }
739
+ }
740
+ /**
741
+ * Fluent builder. `tool()` accepts any Tool<TArgs, TResult> and registers
742
+ * it by its schema.name. Duplicate names throw at build time.
743
+ */
744
+ export class AgentBuilder {
745
+ opts;
746
+ systemPromptValue = '';
747
+ registry = [];
748
+ injectionList = [];
749
+ memoryList = [];
750
+ // Voice config — defaults until the consumer calls .appName() /
751
+ // .commentaryTemplates() / .thinkingTemplates(). Stored as plain
752
+ // dicts (Record<string, string>) so the builder doesn't depend on
753
+ // the template-engine modules at compile time; the runtime types
754
+ // come from the agentfootprint barrel exports.
755
+ appNameValue = 'Chatbot';
756
+ commentaryOverrides = {};
757
+ thinkingOverrides = {};
758
+ constructor(opts) {
759
+ this.opts = opts;
760
+ }
761
+ system(prompt) {
762
+ this.systemPromptValue = prompt;
763
+ return this;
764
+ }
765
+ tool(tool) {
766
+ const name = tool.schema.name;
767
+ if (this.registry.some((e) => e.name === name)) {
768
+ throw new Error(`Agent.tool(): duplicate tool name '${name}'`);
769
+ }
770
+ this.registry.push({ name, tool: tool });
771
+ return this;
772
+ }
773
+ /**
774
+ * Set the agent's display name — substituted as `{{appName}}` in
775
+ * commentary + thinking templates. Same place to brand a tenant
776
+ * ("Acme Bot"), distinguish multi-agent roles ("Triage" vs
777
+ * "Reviewer"), or localize ("Asistente"). Default: `'Chatbot'`.
778
+ */
779
+ appName(name) {
780
+ this.appNameValue = name;
781
+ return this;
782
+ }
783
+ /**
784
+ * Override agentfootprint's bundled commentary templates. Spread on
785
+ * top of `defaultCommentaryTemplates`; missing keys fall back. Same
786
+ * `Record<string, string>` shape with `{{vars}}` substitution as
787
+ * the bundled defaults — see `defaultCommentaryTemplates` for the
788
+ * full key list.
789
+ *
790
+ * Use cases: i18n (`'agent.turn_start': 'El usuario...'`), brand
791
+ * voice ("You: {{userPrompt}}"), per-tenant customization.
792
+ */
793
+ commentaryTemplates(templates) {
794
+ this.commentaryOverrides = { ...this.commentaryOverrides, ...templates };
795
+ return this;
796
+ }
797
+ /**
798
+ * Override agentfootprint's bundled thinking templates. Same
799
+ * contract shape as commentary; different vocabulary — first-person
800
+ * status the chat bubble shows mid-call. Per-tool overrides go via
801
+ * `tool.<toolName>` keys (e.g., `'tool.weather': 'Looking up the
802
+ * weather…'`). See `defaultThinkingTemplates` for the full key list.
803
+ */
804
+ thinkingTemplates(templates) {
805
+ this.thinkingOverrides = { ...this.thinkingOverrides, ...templates };
806
+ return this;
807
+ }
808
+ // ─── Injection sugar — context engineering surface ───────────
809
+ //
810
+ // ALL of these push into the same `injectionList`. The Injection
811
+ // primitive is identical across flavors; the methods are just
812
+ // narrative-friendly aliases. Duplicate ids throw at build time.
813
+ /**
814
+ * Register any `Injection`. Use this for power-user / custom flavors;
815
+ * for built-in flavors use the typed sugar (`.skill`, `.steering`,
816
+ * `.instruction`, `.fact`).
817
+ */
818
+ injection(injection) {
819
+ if (this.injectionList.some((i) => i.id === injection.id)) {
820
+ throw new Error(`Agent.injection(): duplicate id '${injection.id}'`);
821
+ }
822
+ this.injectionList.push(injection);
823
+ return this;
824
+ }
825
+ /**
826
+ * Register a Skill — LLM-activated, system-prompt + tools.
827
+ * Auto-attaches the `read_skill` activation tool to the agent.
828
+ * Skill stays active for the rest of the turn once activated.
829
+ */
830
+ skill(injection) {
831
+ return this.injection(injection);
832
+ }
833
+ /**
834
+ * Register a Steering doc — always-on system-prompt rule.
835
+ * Use for invariant guidance: output format, persona, safety policies.
836
+ */
837
+ steering(injection) {
838
+ return this.injection(injection);
839
+ }
840
+ /**
841
+ * Register an Instruction — rule-based system-prompt guidance.
842
+ * Predicate runs each iteration. Use for context-dependent rules
843
+ * including the "Dynamic ReAct" `on-tool-return` pattern.
844
+ */
845
+ instruction(injection) {
846
+ return this.injection(injection);
847
+ }
848
+ /**
849
+ * Register a Fact — developer-supplied data the LLM should see.
850
+ * User profile, env info, computed summary, current time, …
851
+ * Distinct from Skills (LLM-activated guidance) and Steering
852
+ * (always-on rules) in INTENT — the engine treats them all alike.
853
+ */
854
+ fact(injection) {
855
+ return this.injection(injection);
856
+ }
857
+ /**
858
+ * Register a Memory subsystem — load/persist conversation context,
859
+ * facts, narrative beats, or causal snapshots across runs.
860
+ *
861
+ * The `MemoryDefinition` is produced by `defineMemory({ type, strategy,
862
+ * store })`. Multiple memories layer cleanly via per-id scope keys
863
+ * (`memoryInjection_${id}`):
864
+ *
865
+ * ```ts
866
+ * Agent.create({ provider })
867
+ * .memory(defineMemory({ id: 'short', type: MEMORY_TYPES.EPISODIC,
868
+ * strategy: { kind: MEMORY_STRATEGIES.WINDOW, size: 10 },
869
+ * store }))
870
+ * .memory(defineMemory({ id: 'facts', type: MEMORY_TYPES.SEMANTIC,
871
+ * strategy: { kind: MEMORY_STRATEGIES.EXTRACT,
872
+ * extractor: 'pattern' }, store }))
873
+ * .build();
874
+ * ```
875
+ *
876
+ * The READ subflow runs at the configured `timing` (default
877
+ * `MEMORY_TIMING.TURN_START`) and writes its formatted output to the
878
+ * `memoryInjection_${id}` scope key for the slot subflows to consume.
879
+ */
880
+ memory(definition) {
881
+ if (this.memoryList.some((m) => m.id === definition.id)) {
882
+ throw new Error(`Agent.memory(): duplicate id '${definition.id}' — each memory needs a unique id ` +
883
+ 'to keep its scope key (`memoryInjection_${id}`) collision-free.');
884
+ }
885
+ this.memoryList.push(definition);
886
+ return this;
887
+ }
888
+ build() {
889
+ // Resolve the voice config: bundled defaults + consumer overrides.
890
+ // Templates flow through the same barrel exports the rest of the
891
+ // library uses, so a future locale-pack swap is a single import.
892
+ const voice = {
893
+ appName: this.appNameValue,
894
+ commentaryTemplates: { ...defaultCommentaryTemplates, ...this.commentaryOverrides },
895
+ thinkingTemplates: { ...defaultThinkingTemplates, ...this.thinkingOverrides },
896
+ };
897
+ return new Agent(this.opts, this.systemPromptValue, this.registry, voice, this.injectionList, this.memoryList);
898
+ }
899
+ }
900
+ function validateMemoryIdUniqueness(memories) {
901
+ const seen = new Set();
902
+ for (const m of memories) {
903
+ if (seen.has(m.id)) {
904
+ throw new Error(`Agent: duplicate memory id '${m.id}'. Each memory needs a unique id to keep ` +
905
+ 'its scope key (`memoryInjection_${id}`) collision-free.');
906
+ }
907
+ seen.add(m.id);
908
+ }
909
+ }
910
+ function clampIterations(n) {
911
+ if (!Number.isInteger(n) || n < 1)
912
+ return 1;
913
+ if (n > 50)
914
+ return 50;
915
+ return n;
916
+ }
917
+ /**
918
+ * Validate tool-name uniqueness across `.tool()`-registered tools +
919
+ * every Skill's `inject.tools[]`. The LLM dispatches by `tool.schema.name`
920
+ * (the wire format), so any collision silently shadows execution.
921
+ *
922
+ * Called eagerly in the Agent constructor so `Agent.build()` throws
923
+ * immediately, not on first `run()`.
924
+ *
925
+ * `read_skill` is reserved when ≥1 Skill is registered — collisions
926
+ * with consumer tools throw.
927
+ */
928
+ function validateToolNameUniqueness(registry, injections) {
929
+ const seen = new Set();
930
+ const claim = (name, sourceLabel) => {
931
+ if (seen.has(name)) {
932
+ throw new Error(`Agent: duplicate tool name '${name}' (${sourceLabel}). Tool names must be ` +
933
+ `unique across .tool() registrations and all Skills' inject.tools — the LLM ` +
934
+ `dispatches by name; collisions break tool routing.`);
935
+ }
936
+ seen.add(name);
937
+ };
938
+ for (const entry of registry)
939
+ claim(entry.name, '.tool()');
940
+ const skills = injections.filter((i) => i.flavor === 'skill');
941
+ if (skills.length > 0)
942
+ claim('read_skill', 'auto-attached for Skills');
943
+ for (const skill of skills) {
944
+ for (const tool of skill.inject.tools ?? []) {
945
+ claim(tool.schema.name, `from Skill '${skill.id}'`);
946
+ }
947
+ }
948
+ }
949
+ /**
950
+ * Build the auto-attached `read_skill` tool from a list of Skill
951
+ * Injections. The LLM picks WHICH skill via the `id` argument.
952
+ *
953
+ * Tool execute() does the bookkeeping: appends the requested skill id
954
+ * to `scope.activatedInjectionIds`. The next iteration's
955
+ * InjectionEngine matches Skills with `trigger.kind: 'llm-activated'`
956
+ * by id and includes them in the active set; slot subflows then
957
+ * inject the body + tools.
958
+ *
959
+ * The tool's description lists each Skill's `id` + `description` so
960
+ * the LLM can choose meaningfully.
961
+ */
962
+ function buildReadSkillTool(skills) {
963
+ const skillIds = skills.map((s) => s.id);
964
+ const skillCatalog = skills
965
+ .map((s) => ` - ${s.id}: ${s.description ?? '(no description)'}`)
966
+ .join('\n');
967
+ return defineTool({
968
+ name: 'read_skill',
969
+ description: `Activate a skill for the next iteration. Available skills:\n${skillCatalog}\n\n` +
970
+ `Pass the skill's id. The skill's body becomes part of the system prompt and any ` +
971
+ `gated tools become available on the next call.`,
972
+ inputSchema: {
973
+ type: 'object',
974
+ properties: {
975
+ id: {
976
+ type: 'string',
977
+ enum: skillIds,
978
+ description: 'The skill id to activate.',
979
+ },
980
+ },
981
+ required: ['id'],
982
+ },
983
+ execute: ({ id }) => {
984
+ // Bookkeeping is handled by the Agent's tool-calls subflow,
985
+ // which inspects `read_skill` returns and updates
986
+ // `scope.activatedInjectionIds` before the next iteration.
987
+ // The tool itself returns a confirmation string for the LLM.
988
+ if (!skillIds.includes(id)) {
989
+ return `Unknown skill '${id}'. Available: ${skillIds.join(', ')}`;
990
+ }
991
+ return `Skill '${id}' activated for the next iteration.`;
992
+ },
993
+ });
994
+ }
995
+ /**
996
+ * JSON.stringify with circular-ref protection. Tool results are untrusted —
997
+ * a hostile/buggy tool returning a cyclic object must not crash the run.
998
+ * Falls back to '[unstringifiable: <reason>]' so the LLM still sees that
999
+ * the tool ran and produced something unusable.
1000
+ */
1001
+ function safeStringify(value) {
1002
+ try {
1003
+ return JSON.stringify(value);
1004
+ }
1005
+ catch (err) {
1006
+ const reason = err instanceof Error ? err.message : String(err);
1007
+ return `[unstringifiable: ${reason}]`;
1008
+ }
1009
+ }
1010
+ //# sourceMappingURL=Agent.js.map