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,1015 @@
1
+ "use strict";
2
+ /**
3
+ * Agent — ReAct primitive (LLM + tools + iteration loop).
4
+ *
5
+ * Pattern: Builder (GoF) → produces a Runner backed by a footprintjs FlowChart.
6
+ * Role: Layer-5 primitive (core/). Assembles the 3-slot context
7
+ * pipeline + callLLM + route decider + tool-calls subflow +
8
+ * loopTo. Composition nestable anywhere that accepts a Runner.
9
+ * Emits: Via internal recorders:
10
+ * agentfootprint.agent.turn_start / turn_end
11
+ * agentfootprint.agent.iteration_start / iteration_end
12
+ * agentfootprint.agent.route_decided
13
+ * agentfootprint.stream.llm_start / llm_end
14
+ * agentfootprint.stream.tool_start / tool_end
15
+ * agentfootprint.context.* (via ContextRecorder)
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AgentBuilder = exports.Agent = void 0;
19
+ const footprintjs_1 = require("footprintjs");
20
+ const pause_js_1 = require("./pause.js");
21
+ const cost_js_1 = require("./cost.js");
22
+ const conventions_js_1 = require("../conventions.js");
23
+ const commentaryTemplates_js_1 = require("../recorders/observability/commentary/commentaryTemplates.js");
24
+ const thinkingTemplates_js_1 = require("../recorders/observability/thinking/thinkingTemplates.js");
25
+ const ContextRecorder_js_1 = require("../recorders/core/ContextRecorder.js");
26
+ const StreamRecorder_js_1 = require("../recorders/core/StreamRecorder.js");
27
+ const AgentRecorder_js_1 = require("../recorders/core/AgentRecorder.js");
28
+ const CostRecorder_js_1 = require("../recorders/core/CostRecorder.js");
29
+ const PermissionRecorder_js_1 = require("../recorders/core/PermissionRecorder.js");
30
+ const EvalRecorder_js_1 = require("../recorders/core/EvalRecorder.js");
31
+ const MemoryRecorder_js_1 = require("../recorders/core/MemoryRecorder.js");
32
+ const SkillRecorder_js_1 = require("../recorders/core/SkillRecorder.js");
33
+ const typedEmit_js_1 = require("../recorders/core/typedEmit.js");
34
+ const define_types_js_1 = require("../memory/define.types.js");
35
+ const define_js_1 = require("../memory/define.js");
36
+ const mountMemoryPipeline_js_1 = require("../memory/wire/mountMemoryPipeline.js");
37
+ const buildSystemPromptSlot_js_1 = require("./slots/buildSystemPromptSlot.js");
38
+ const buildMessagesSlot_js_1 = require("./slots/buildMessagesSlot.js");
39
+ const buildToolsSlot_js_1 = require("./slots/buildToolsSlot.js");
40
+ const buildInjectionEngineSubflow_js_1 = require("../lib/injection-engine/buildInjectionEngineSubflow.js");
41
+ const RunnerBase_js_1 = require("./RunnerBase.js");
42
+ const tools_js_1 = require("./tools.js");
43
+ class Agent extends RunnerBase_js_1.RunnerBase {
44
+ name;
45
+ id;
46
+ provider;
47
+ model;
48
+ temperature;
49
+ maxTokens;
50
+ maxIterations;
51
+ systemPromptValue;
52
+ registry;
53
+ /**
54
+ * The Injection list — Skills, Steering, Instructions, Facts (and
55
+ * RAG, Memory). Evaluated each iteration by the
56
+ * InjectionEngine subflow; active set is filtered by slot subflows.
57
+ */
58
+ injections;
59
+ pricingTable;
60
+ costBudget;
61
+ permissionChecker;
62
+ /**
63
+ * Voice config — shared by viewers (Lens, ChatThinkKit, CLI tail).
64
+ * `appName` is the active actor in narration ("Chatbot called…").
65
+ * `commentaryTemplates` drives Lens's third-person panel.
66
+ * `thinkingTemplates` drives chat-bubble first-person status.
67
+ * Defaults to bundled English; consumer overrides via builder.
68
+ */
69
+ appName;
70
+ commentaryTemplates;
71
+ thinkingTemplates;
72
+ currentRunContext = {
73
+ runStartMs: 0,
74
+ runId: 'pending',
75
+ compositionPath: [],
76
+ };
77
+ /**
78
+ * Memory subsystems registered via `.memory()`. Each definition mounts
79
+ * its `read` subflow before the InjectionEngine on every turn; per-id
80
+ * scope keys (`memoryInjectionKey(id)`) keep multi-memory layering
81
+ * collision-free.
82
+ */
83
+ memories;
84
+ constructor(opts, systemPromptValue, registry, voice, injections = [], memories = []) {
85
+ super();
86
+ this.provider = opts.provider;
87
+ this.name = opts.name ?? 'Agent';
88
+ this.id = opts.id ?? 'agent';
89
+ this.model = opts.model;
90
+ this.temperature = opts.temperature;
91
+ this.maxTokens = opts.maxTokens;
92
+ this.maxIterations = clampIterations(opts.maxIterations ?? 10);
93
+ this.systemPromptValue = systemPromptValue;
94
+ this.registry = registry;
95
+ this.injections = injections;
96
+ this.memories = memories;
97
+ // Eager validation: tool names must be unique across .tool() +
98
+ // every Skill.inject.tools — the LLM dispatches by name. Runs in
99
+ // constructor so `Agent.build()` throws immediately on collision,
100
+ // not at first run().
101
+ validateToolNameUniqueness(registry, injections);
102
+ // Eager validation: memory ids must be unique so per-id scope keys
103
+ // (`memoryInjection_${id}`) don't collide.
104
+ validateMemoryIdUniqueness(memories);
105
+ if (opts.pricingTable)
106
+ this.pricingTable = opts.pricingTable;
107
+ if (opts.costBudget !== undefined)
108
+ this.costBudget = opts.costBudget;
109
+ if (opts.permissionChecker)
110
+ this.permissionChecker = opts.permissionChecker;
111
+ this.appName = voice.appName;
112
+ this.commentaryTemplates = voice.commentaryTemplates;
113
+ this.thinkingTemplates = voice.thinkingTemplates;
114
+ }
115
+ static create(opts) {
116
+ return new AgentBuilder(opts);
117
+ }
118
+ toFlowChart() {
119
+ return this.buildChart();
120
+ }
121
+ async run(input, options) {
122
+ const executor = this.createExecutor();
123
+ const result = await executor.run({
124
+ input: {
125
+ message: input.message,
126
+ ...(input.identity !== undefined && { identity: input.identity }),
127
+ },
128
+ ...(options ?? {}),
129
+ });
130
+ return this.finalizeResult(executor, result);
131
+ }
132
+ async resume(checkpoint, input, options) {
133
+ this.emitPauseResume(checkpoint, input);
134
+ // Fresh executor — footprintjs 4.17.0+ seeds the runtime from
135
+ // `checkpoint.sharedState` (and nested subflow states) automatically
136
+ // on a fresh executor's `resume()`. No need to retain a paused
137
+ // executor between run/resume.
138
+ const executor = this.createExecutor();
139
+ const result = await executor.resume(checkpoint, input, options);
140
+ return this.finalizeResult(executor, result);
141
+ }
142
+ createExecutor() {
143
+ this.currentRunContext = {
144
+ runStartMs: Date.now(),
145
+ runId: (0, RunnerBase_js_1.makeRunId)(),
146
+ compositionPath: [`Agent:${this.id}`],
147
+ };
148
+ const chart = this.buildChart();
149
+ const executor = new footprintjs_1.FlowChartExecutor(chart);
150
+ const dispatcher = this.getDispatcher();
151
+ const getRunCtx = () => this.currentRunContext;
152
+ executor.attachCombinedRecorder(new ContextRecorder_js_1.ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
153
+ executor.attachCombinedRecorder((0, StreamRecorder_js_1.streamRecorder)({ dispatcher, getRunContext: getRunCtx }));
154
+ executor.attachCombinedRecorder((0, AgentRecorder_js_1.agentRecorder)({ dispatcher, getRunContext: getRunCtx }));
155
+ if (this.pricingTable) {
156
+ executor.attachCombinedRecorder((0, CostRecorder_js_1.costRecorder)({ dispatcher, getRunContext: getRunCtx }));
157
+ }
158
+ if (this.permissionChecker) {
159
+ executor.attachCombinedRecorder((0, PermissionRecorder_js_1.permissionRecorder)({ dispatcher, getRunContext: getRunCtx }));
160
+ }
161
+ // Always-on bridges for consumer-emitted domain events.
162
+ executor.attachCombinedRecorder((0, EvalRecorder_js_1.evalRecorder)({ dispatcher, getRunContext: getRunCtx }));
163
+ executor.attachCombinedRecorder((0, MemoryRecorder_js_1.memoryRecorder)({ dispatcher, getRunContext: getRunCtx }));
164
+ executor.attachCombinedRecorder((0, SkillRecorder_js_1.skillRecorder)({ dispatcher, getRunContext: getRunCtx }));
165
+ for (const r of this.attachedRecorders)
166
+ executor.attachCombinedRecorder(r);
167
+ return executor;
168
+ }
169
+ finalizeResult(executor, result) {
170
+ const paused = this.detectPause(executor, result);
171
+ if (paused)
172
+ return paused;
173
+ if (result instanceof Error)
174
+ throw result;
175
+ if (typeof result === 'string')
176
+ return result;
177
+ throw new Error('Agent: unexpected result shape — expected final-answer string');
178
+ }
179
+ // ─── Chart assembly ────────────────────────────────────────────
180
+ buildChart() {
181
+ const provider = this.provider;
182
+ const model = this.model;
183
+ const temperature = this.temperature;
184
+ const maxTokens = this.maxTokens;
185
+ const systemPromptValue = this.systemPromptValue;
186
+ const registry = this.registry;
187
+ // (registryByName + toolSchemas redefined below using
188
+ // `augmentedRegistry` which adds the auto-attached `read_skill`
189
+ // tool when Skills are registered.)
190
+ const _legacyRegistry = registry;
191
+ void _legacyRegistry;
192
+ const maxIterations = this.maxIterations;
193
+ const pricingTable = this.pricingTable;
194
+ const costBudget = this.costBudget;
195
+ const permissionChecker = this.permissionChecker;
196
+ const seed = (scope) => {
197
+ const args = scope.$getArgs();
198
+ scope.userMessage = args.message;
199
+ scope.history = [{ role: 'user', content: args.message }];
200
+ // Default identity uses the runId so multi-run isolation works
201
+ // without consumer changes; explicit identity (multi-tenant)
202
+ // overrides via `agent.run({ identity })`.
203
+ scope.runIdentity = args.identity ?? {
204
+ conversationId: this.currentRunContext?.runId ?? 'default',
205
+ };
206
+ scope.newMessages = [];
207
+ scope.turnNumber = 1;
208
+ // Permissive default — explicit cap will land when PricingTable
209
+ // gets a context-window field. Memory pickByBudget treats anything
210
+ // ≥ minimumTokens as "fits", so this just enables the budget path.
211
+ scope.contextTokensRemaining = 32_000;
212
+ scope.iteration = 1;
213
+ scope.maxIterations = maxIterations;
214
+ scope.finalContent = '';
215
+ scope.totalInputTokens = 0;
216
+ scope.totalOutputTokens = 0;
217
+ scope.turnStartMs = Date.now();
218
+ scope.systemPromptInjections = [];
219
+ scope.messagesInjections = [];
220
+ scope.toolsInjections = [];
221
+ scope.llmLatestContent = '';
222
+ scope.llmLatestToolCalls = [];
223
+ scope.pausedToolCallId = '';
224
+ scope.pausedToolName = '';
225
+ scope.pausedToolStartMs = 0;
226
+ scope.cumTokensInput = 0;
227
+ scope.cumTokensOutput = 0;
228
+ scope.cumEstimatedUsd = 0;
229
+ scope.costBudgetHit = false;
230
+ scope.activeInjections = [];
231
+ scope.activatedInjectionIds = [];
232
+ scope.dynamicToolSchemas = toolSchemas;
233
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.turn_start', {
234
+ turnIndex: 0,
235
+ userPrompt: args.message,
236
+ });
237
+ };
238
+ // Tool registry composition — three sources:
239
+ //
240
+ // 1. Static registry: tools registered via `.tool()`. Always
241
+ // visible to the LLM; always executable.
242
+ // 2. `read_skill` (auto-attached when ≥1 Skill is registered):
243
+ // activation tool for LLM-guided Skills.
244
+ // 3. Skill-supplied tools (`Skill.inject.tools[]`): visible only
245
+ // when the Skill is active (filtered by tools slot subflow);
246
+ // MUST always be in the executor registry so when the LLM
247
+ // calls one, the tool-calls handler can dispatch.
248
+ //
249
+ // Tool-name uniqueness is enforced across all three sources at
250
+ // build time. The LLM only sees `tool.schema.name` (no ids), so
251
+ // names ARE the runtime dispatch key — collisions break the LLM's
252
+ // ability to call the right tool. Throw early instead of subtly
253
+ // shadowing.
254
+ const skills = this.injections.filter((i) => i.flavor === 'skill');
255
+ const skillToolEntries = [];
256
+ for (const skill of skills) {
257
+ const toolsFromSkill = skill.inject.tools ?? [];
258
+ for (const tool of toolsFromSkill) {
259
+ skillToolEntries.push({ name: tool.schema.name, tool });
260
+ }
261
+ }
262
+ const readSkillEntries = skills.length > 0 ? [{ name: 'read_skill', tool: buildReadSkillTool(skills) }] : [];
263
+ const augmentedRegistry = [
264
+ ...registry,
265
+ ...readSkillEntries,
266
+ ...skillToolEntries,
267
+ ];
268
+ // Validate: tool names must be unique across registry + skills.
269
+ // The LLM dispatches by name; collisions silently shadow.
270
+ const seenNames = new Set();
271
+ for (const entry of augmentedRegistry) {
272
+ if (seenNames.has(entry.name)) {
273
+ throw new Error(`Agent: duplicate tool name '${entry.name}'. Tool names must be unique ` +
274
+ `across .tool() registrations and all Skills' inject.tools (the LLM ` +
275
+ `dispatches by name; collisions break tool routing).`);
276
+ }
277
+ seenNames.add(entry.name);
278
+ }
279
+ const registryByName = new Map(augmentedRegistry.map((e) => [e.name, e.tool]));
280
+ const toolSchemas = augmentedRegistry.map((e) => e.tool.schema);
281
+ const injectionEngineSubflow = (0, buildInjectionEngineSubflow_js_1.buildInjectionEngineSubflow)({
282
+ injections: this.injections,
283
+ });
284
+ const systemPromptSubflow = (0, buildSystemPromptSlot_js_1.buildSystemPromptSlot)({
285
+ prompt: systemPromptValue,
286
+ reason: 'Agent.system()',
287
+ });
288
+ const messagesSubflow = (0, buildMessagesSlot_js_1.buildMessagesSlot)();
289
+ const toolsSubflow = (0, buildToolsSlot_js_1.buildToolsSlot)({ tools: toolSchemas });
290
+ const iterationStart = (scope) => {
291
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_start', {
292
+ turnIndex: 0,
293
+ iterIndex: scope.iteration,
294
+ });
295
+ };
296
+ const callLLM = async (scope) => {
297
+ const systemPromptInjections = scope.systemPromptInjections ?? [];
298
+ const messagesInjections = scope.messagesInjections ?? [];
299
+ const iteration = scope.iteration;
300
+ const systemPrompt = systemPromptInjections
301
+ .map((r) => r.rawContent ?? '')
302
+ .filter((s) => s.length > 0)
303
+ .join('\n\n');
304
+ const messages = messagesInjections
305
+ .map((r) => ({
306
+ role: r.asRole ?? 'user',
307
+ content: r.rawContent ?? r.contentSummary,
308
+ ...(r.sourceId !== undefined && { toolCallId: r.sourceId }),
309
+ }))
310
+ .filter((m) => m.content.length > 0);
311
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.llm_start', {
312
+ iteration,
313
+ provider: provider.name,
314
+ model,
315
+ systemPromptChars: systemPrompt.length,
316
+ messagesCount: messages.length,
317
+ toolsCount: toolSchemas.length,
318
+ ...(temperature !== undefined && { temperature }),
319
+ });
320
+ const startMs = Date.now();
321
+ // Use dynamic schemas — registry tools + injection-supplied
322
+ // tools (Skills' `inject.tools` when their Injection is active).
323
+ // Falls back to the static schemas at startup before the tools
324
+ // slot has run for the first time.
325
+ const activeToolSchemas = scope.dynamicToolSchemas ?? toolSchemas;
326
+ const llmRequest = {
327
+ ...(systemPrompt.length > 0 && { systemPrompt }),
328
+ messages,
329
+ ...(activeToolSchemas.length > 0 && { tools: activeToolSchemas }),
330
+ model,
331
+ ...(temperature !== undefined && { temperature }),
332
+ ...(maxTokens !== undefined && { maxTokens }),
333
+ };
334
+ // Streaming-first: when the provider implements `stream()` we
335
+ // consume chunk-by-chunk so consumers (Lens commentary, chat
336
+ // UIs) see tokens as they arrive instead of waiting for the
337
+ // full LLM call to finish. Each non-terminal chunk fires
338
+ // `agentfootprint.stream.token` with the token text + index.
339
+ //
340
+ // The terminal chunk SHOULD carry the authoritative
341
+ // `LLMResponse` (toolCalls + usage + stopReason); when it does
342
+ // we use it directly. When it doesn't (older providers, partial
343
+ // implementations) we fall back to `complete()` for the
344
+ // authoritative payload — keeping the ReAct loop deterministic.
345
+ let response;
346
+ if (provider.stream) {
347
+ for await (const chunk of provider.stream(llmRequest)) {
348
+ if (chunk.done) {
349
+ if (chunk.response)
350
+ response = chunk.response;
351
+ break;
352
+ }
353
+ if (chunk.content.length > 0) {
354
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.token', {
355
+ iteration,
356
+ tokenIndex: chunk.tokenIndex,
357
+ content: chunk.content,
358
+ });
359
+ }
360
+ }
361
+ }
362
+ if (!response) {
363
+ // No `stream()` OR stream finished without a response payload.
364
+ response = await provider.complete(llmRequest);
365
+ }
366
+ const durationMs = Date.now() - startMs;
367
+ scope.totalInputTokens = scope.totalInputTokens + response.usage.input;
368
+ scope.totalOutputTokens = scope.totalOutputTokens + response.usage.output;
369
+ scope.llmLatestContent = response.content;
370
+ scope.llmLatestToolCalls = response.toolCalls;
371
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.llm_end', {
372
+ iteration,
373
+ content: response.content,
374
+ toolCallCount: response.toolCalls.length,
375
+ usage: response.usage,
376
+ stopReason: response.stopReason,
377
+ durationMs,
378
+ });
379
+ (0, cost_js_1.emitCostTick)(scope, pricingTable, costBudget, model, response.usage);
380
+ };
381
+ /** Decides the next branch: 'tool-calls' or 'final'. */
382
+ const routeDecider = (scope) => {
383
+ const toolCalls = scope.llmLatestToolCalls;
384
+ const iteration = scope.iteration;
385
+ const chosen = toolCalls.length > 0 && iteration < scope.maxIterations ? 'tool-calls' : 'final';
386
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.route_decided', {
387
+ turnIndex: 0,
388
+ iterIndex: iteration,
389
+ chosen,
390
+ rationale: chosen === 'tool-calls'
391
+ ? `LLM requested ${toolCalls.length} tool call(s)`
392
+ : iteration >= scope.maxIterations
393
+ ? 'maxIterations reached — forcing final'
394
+ : 'LLM produced no tool calls — final answer',
395
+ });
396
+ return chosen;
397
+ };
398
+ /**
399
+ * Pausable tool-call handler.
400
+ *
401
+ * `execute` iterates the LLM-requested tool calls. If a tool throws
402
+ * `PauseRequest` via `pauseHere()`, we save the remaining work into
403
+ * scope and return the pause data — footprintjs captures a checkpoint
404
+ * and bubbles it up. The outer `Agent.run()` surfaces it as a
405
+ * `RunnerPauseOutcome`.
406
+ *
407
+ * `resume` is called when the consumer provides the human's answer.
408
+ * We treat that answer as the paused tool's result and append it to
409
+ * history, then continue the ReAct iteration loop.
410
+ */
411
+ const toolCallsHandler = {
412
+ execute: async (scope) => {
413
+ const toolCalls = scope.llmLatestToolCalls;
414
+ const iteration = scope.iteration;
415
+ const newHistory = [...scope.history];
416
+ // ALWAYS push the assistant turn when there are tool calls — even
417
+ // if the content was empty — so providers (Anthropic, OpenAI) can
418
+ // round-trip the tool_use blocks via `LLMMessage.toolCalls`.
419
+ // Without this, the next iteration's request lacks the assistant
420
+ // turn that initiated the tool call, and the API rejects the
421
+ // following tool_result with "preceding tool_use missing".
422
+ if (scope.llmLatestContent || toolCalls.length > 0) {
423
+ newHistory.push({
424
+ role: 'assistant',
425
+ content: scope.llmLatestContent ?? '',
426
+ ...(toolCalls.length > 0 && { toolCalls }),
427
+ });
428
+ }
429
+ for (const tc of toolCalls) {
430
+ const tool = registryByName.get(tc.name);
431
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_start', {
432
+ toolName: tc.name,
433
+ toolCallId: tc.id,
434
+ args: tc.args,
435
+ ...(toolCalls.length > 1 && { parallelCount: toolCalls.length }),
436
+ });
437
+ const startMs = Date.now();
438
+ let result;
439
+ let error;
440
+ // Permission gate — when a checker is configured, evaluate BEFORE
441
+ // executing the tool. Emits `permission.check` with the decision.
442
+ // On 'deny', the tool is not executed and its result is a
443
+ // synthetic denial string; on 'allow'/'gate_open', execution
444
+ // proceeds normally (the gate is informational — the consumer's
445
+ // checker is responsible for any gate-open side effects).
446
+ let denied = false;
447
+ if (permissionChecker) {
448
+ try {
449
+ const decision = await permissionChecker.check({
450
+ capability: 'tool_call',
451
+ actor: 'agent',
452
+ target: tc.name,
453
+ context: tc.args,
454
+ });
455
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.check', {
456
+ capability: 'tool_call',
457
+ actor: 'agent',
458
+ target: tc.name,
459
+ result: decision.result,
460
+ ...(decision.policyRuleId !== undefined && { policyRuleId: decision.policyRuleId }),
461
+ ...(decision.rationale !== undefined && { rationale: decision.rationale }),
462
+ });
463
+ if (decision.result === 'deny') {
464
+ denied = true;
465
+ result = `[permission denied: ${decision.rationale ?? 'policy'}]`;
466
+ }
467
+ }
468
+ catch (permErr) {
469
+ // A checker that throws is treated as deny-by-default. The
470
+ // denial message records the thrown error so consumers can
471
+ // debug policy-adapter failures without losing the run.
472
+ denied = true;
473
+ const msg = permErr instanceof Error ? permErr.message : String(permErr);
474
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.check', {
475
+ capability: 'tool_call',
476
+ actor: 'agent',
477
+ target: tc.name,
478
+ result: 'deny',
479
+ rationale: `permission-checker threw: ${msg}`,
480
+ });
481
+ result = `[permission denied: checker error: ${msg}]`;
482
+ }
483
+ }
484
+ if (!denied) {
485
+ try {
486
+ if (!tool)
487
+ throw new Error(`Unknown tool: ${tc.name}`);
488
+ result = await tool.execute(tc.args, {
489
+ toolCallId: tc.id,
490
+ iteration,
491
+ });
492
+ }
493
+ catch (err) {
494
+ if ((0, pause_js_1.isPauseRequest)(err)) {
495
+ // Commit partial state so resume() can find history intact.
496
+ scope.history = newHistory;
497
+ scope.pausedToolCallId = tc.id;
498
+ scope.pausedToolName = tc.name;
499
+ scope.pausedToolStartMs = startMs;
500
+ // Returning a defined value triggers footprintjs pause —
501
+ // the returned object becomes the checkpoint's pauseData.
502
+ return {
503
+ toolCallId: tc.id,
504
+ toolName: tc.name,
505
+ ...(typeof err.data === 'object' && err.data !== null
506
+ ? err.data
507
+ : { data: err.data }),
508
+ };
509
+ }
510
+ error = true;
511
+ result = err instanceof Error ? err.message : String(err);
512
+ }
513
+ }
514
+ const durationMs = Date.now() - startMs;
515
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_end', {
516
+ toolCallId: tc.id,
517
+ result,
518
+ durationMs,
519
+ ...(error === true && { error: true }),
520
+ });
521
+ const resultStr = typeof result === 'string' ? result : safeStringify(result);
522
+ newHistory.push({
523
+ role: 'tool',
524
+ content: resultStr,
525
+ toolCallId: tc.id,
526
+ toolName: tc.name,
527
+ });
528
+ // ── Dynamic ReAct wiring ───────────────────────────────
529
+ //
530
+ // (1) `lastToolResult` drives `on-tool-return` Injection
531
+ // triggers — the InjectionEngine's NEXT pass will see
532
+ // this and activate any matching Instructions.
533
+ scope.lastToolResult = { toolName: tc.name, result: resultStr };
534
+ // (2) `read_skill` is the auto-attached activation tool.
535
+ // When the LLM calls it with a valid Skill id, append
536
+ // to `activatedInjectionIds` so the InjectionEngine's
537
+ // NEXT pass activates that Skill (lifetime: turn — stays
538
+ // active until the turn ends).
539
+ if (tc.name === 'read_skill' && !error && !denied) {
540
+ const requestedId = tc.args.id;
541
+ if (typeof requestedId === 'string' && requestedId.length > 0) {
542
+ const current = scope.activatedInjectionIds;
543
+ if (!current.includes(requestedId)) {
544
+ scope.activatedInjectionIds = [...current, requestedId];
545
+ }
546
+ }
547
+ }
548
+ }
549
+ scope.history = newHistory;
550
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
551
+ turnIndex: 0,
552
+ iterIndex: iteration,
553
+ toolCallCount: toolCalls.length,
554
+ });
555
+ scope.iteration = iteration + 1;
556
+ return undefined; // explicit: no pause, flow continues to loopTo
557
+ },
558
+ resume: (scope, input) => {
559
+ // Consumer-supplied resume input becomes the paused tool's result.
560
+ // The subflow's pre-pause scope is restored automatically by
561
+ // footprintjs 4.17.0 via `checkpoint.subflowStates`, so
562
+ // `scope.history` and `scope.pausedToolCallId` read back cleanly
563
+ // across same-executor AND cross-executor resume.
564
+ const toolCallId = scope.pausedToolCallId;
565
+ const toolName = scope.pausedToolName;
566
+ const startMs = scope.pausedToolStartMs;
567
+ const resultStr = typeof input === 'string' ? input : safeStringify(input);
568
+ const newHistory = [
569
+ ...scope.history,
570
+ {
571
+ role: 'tool',
572
+ content: resultStr,
573
+ toolCallId,
574
+ toolName,
575
+ },
576
+ ];
577
+ scope.history = newHistory;
578
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_end', {
579
+ toolCallId,
580
+ result: input,
581
+ durationMs: Date.now() - startMs,
582
+ });
583
+ const iteration = scope.iteration;
584
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
585
+ turnIndex: 0,
586
+ iterIndex: iteration,
587
+ toolCallCount: 1,
588
+ });
589
+ scope.iteration = iteration + 1;
590
+ // Clear pause checkpoint fields.
591
+ scope.pausedToolCallId = '';
592
+ scope.pausedToolName = '';
593
+ scope.pausedToolStartMs = 0;
594
+ },
595
+ };
596
+ // Final branch is split so memory-write subflows can mount BETWEEN
597
+ // setting `finalContent` and breaking the ReAct loop. PrepareFinal
598
+ // captures the turn payload; BreakFinal terminates the loop.
599
+ const prepareFinalStage = (scope) => {
600
+ const iteration = scope.iteration;
601
+ scope.finalContent = scope.llmLatestContent;
602
+ // The turn payload memory writes persist: the user's message
603
+ // paired with the agent's final answer.
604
+ scope.newMessages = [
605
+ { role: 'user', content: scope.userMessage },
606
+ { role: 'assistant', content: scope.finalContent },
607
+ ];
608
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
609
+ turnIndex: 0,
610
+ iterIndex: iteration,
611
+ toolCallCount: 0,
612
+ });
613
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.turn_end', {
614
+ turnIndex: 0,
615
+ finalContent: scope.finalContent,
616
+ totalInputTokens: scope.totalInputTokens,
617
+ totalOutputTokens: scope.totalOutputTokens,
618
+ iterationCount: iteration,
619
+ durationMs: Date.now() - scope.turnStartMs,
620
+ });
621
+ };
622
+ const breakFinalStage = (scope) => {
623
+ // $break terminates the flow before loopTo fires, ending the
624
+ // ReAct iteration once memory writes (if any) have persisted.
625
+ scope.$break();
626
+ return scope.finalContent;
627
+ };
628
+ // Compose the final branch as its own subflow so memory write
629
+ // subflows mount as visible siblings in narrative + Lens.
630
+ let finalBranchBuilder = (0, footprintjs_1.flowChart)('PrepareFinal', prepareFinalStage, 'prepare-final', undefined, 'Capture turn payload (finalContent + newMessages)');
631
+ for (const m of this.memories) {
632
+ if (m.write) {
633
+ finalBranchBuilder = (0, mountMemoryPipeline_js_1.mountMemoryWrite)(finalBranchBuilder, {
634
+ pipeline: {
635
+ read: (0, define_js_1.unwrapMemoryFlowChart)(m.read),
636
+ write: (0, define_js_1.unwrapMemoryFlowChart)(m.write),
637
+ },
638
+ identityKey: 'runIdentity',
639
+ turnNumberKey: 'turnNumber',
640
+ contextTokensKey: 'contextTokensRemaining',
641
+ newMessagesKey: 'newMessages',
642
+ writeSubflowId: `sf-memory-write-${m.id}`,
643
+ });
644
+ }
645
+ }
646
+ const finalBranchChart = finalBranchBuilder
647
+ .addFunction('BreakFinal', breakFinalStage, 'break-final', 'Terminate the ReAct loop')
648
+ .build();
649
+ // Description prefix `Agent:` is a taxonomy marker — consumers
650
+ // (Lens + FlowchartRecorder) detect Agent-primitive subflows via
651
+ // this prefix and flag them as true agent boundaries (separate
652
+ // from LLMCall subflows which use `LLMCall:` prefix).
653
+ let builder = (0, footprintjs_1.flowChart)('Seed', seed, conventions_js_1.STAGE_IDS.SEED, undefined, 'Agent: ReAct loop');
654
+ // Memory READ subflows — mounted between Seed and InjectionEngine
655
+ // for TURN_START timing (default). Each memory writes to its own
656
+ // scope key (`memoryInjection_${id}`) so multiple `.memory()`
657
+ // registrations layer without colliding.
658
+ for (const m of this.memories) {
659
+ builder = (0, mountMemoryPipeline_js_1.mountMemoryRead)(builder, {
660
+ pipeline: {
661
+ read: (0, define_js_1.unwrapMemoryFlowChart)(m.read),
662
+ ...(m.write !== undefined && { write: (0, define_js_1.unwrapMemoryFlowChart)(m.write) }),
663
+ },
664
+ identityKey: 'runIdentity',
665
+ turnNumberKey: 'turnNumber',
666
+ contextTokensKey: 'contextTokensRemaining',
667
+ injectionKey: (0, define_types_js_1.memoryInjectionKey)(m.id),
668
+ readSubflowId: `sf-memory-read-${m.id}`,
669
+ });
670
+ }
671
+ builder = builder
672
+ // Injection Engine — evaluates every Injection's trigger once
673
+ // per iteration; writes activeInjections[] to parent scope for
674
+ // the slot subflows to consume. Skipped if no injections were
675
+ // registered (no observable difference, just one more no-op
676
+ // subflow boundary).
677
+ .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE, injectionEngineSubflow, 'Injection Engine', {
678
+ inputMapper: (parent) => ({
679
+ iteration: parent.iteration,
680
+ userMessage: parent.userMessage,
681
+ history: parent.history,
682
+ lastToolResult: parent.lastToolResult,
683
+ activatedInjectionIds: parent.activatedInjectionIds ?? [],
684
+ }),
685
+ outputMapper: (sf) => ({ activeInjections: sf.activeInjections }),
686
+ })
687
+ .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT, systemPromptSubflow, 'System Prompt', {
688
+ inputMapper: (parent) => ({
689
+ userMessage: parent.userMessage,
690
+ iteration: parent.iteration,
691
+ activeInjections: parent.activeInjections,
692
+ }),
693
+ outputMapper: (sf) => ({ systemPromptInjections: sf.systemPromptInjections }),
694
+ })
695
+ .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.MESSAGES, messagesSubflow, 'Messages', {
696
+ inputMapper: (parent) => ({
697
+ messages: parent.history,
698
+ iteration: parent.iteration,
699
+ activeInjections: parent.activeInjections,
700
+ }),
701
+ outputMapper: (sf) => ({ messagesInjections: sf.messagesInjections }),
702
+ })
703
+ .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.TOOLS, toolsSubflow, 'Tools', {
704
+ inputMapper: (parent) => ({
705
+ iteration: parent.iteration,
706
+ activeInjections: parent.activeInjections,
707
+ }),
708
+ outputMapper: (sf) => ({
709
+ toolsInjections: sf.toolsInjections,
710
+ // Pass merged tool schemas (registry + injection-supplied)
711
+ // back up so callLLM uses the right list for THIS iteration.
712
+ dynamicToolSchemas: sf.toolSchemas,
713
+ }),
714
+ })
715
+ .addFunction('IterationStart', iterationStart, 'iteration-start', 'Iteration begin marker')
716
+ .addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation')
717
+ .addDeciderFunction('Route', routeDecider, conventions_js_1.SUBFLOW_IDS.ROUTE, 'ReAct routing')
718
+ .addPausableFunctionBranch('tool-calls', 'ToolCalls', toolCallsHandler, 'Tool execution (pausable via pauseHere)')
719
+ .addSubFlowChartBranch('final', finalBranchChart, 'Final', {
720
+ // Pass through the read-only state the sub-chart needs;
721
+ // OMIT keys the sub-chart writes (finalContent, newMessages)
722
+ // — passing those via inputMapper would freeze them as args.
723
+ inputMapper: (parent) => {
724
+ const { finalContent: _f, newMessages: _nm, ...rest } = parent;
725
+ void _f;
726
+ void _nm;
727
+ return rest;
728
+ },
729
+ outputMapper: (sf) => ({
730
+ finalContent: sf.finalContent,
731
+ }),
732
+ // BreakFinal's $break() must reach the outer loopTo so the
733
+ // ReAct iteration terminates; without this the inner break
734
+ // only exits the sub-chart and the outer loop continues.
735
+ propagateBreak: true,
736
+ })
737
+ .setDefault('final')
738
+ .end()
739
+ .loopTo(conventions_js_1.SUBFLOW_IDS.MESSAGES);
740
+ return builder.build();
741
+ }
742
+ }
743
+ exports.Agent = Agent;
744
+ /**
745
+ * Fluent builder. `tool()` accepts any Tool<TArgs, TResult> and registers
746
+ * it by its schema.name. Duplicate names throw at build time.
747
+ */
748
+ class AgentBuilder {
749
+ opts;
750
+ systemPromptValue = '';
751
+ registry = [];
752
+ injectionList = [];
753
+ memoryList = [];
754
+ // Voice config — defaults until the consumer calls .appName() /
755
+ // .commentaryTemplates() / .thinkingTemplates(). Stored as plain
756
+ // dicts (Record<string, string>) so the builder doesn't depend on
757
+ // the template-engine modules at compile time; the runtime types
758
+ // come from the agentfootprint barrel exports.
759
+ appNameValue = 'Chatbot';
760
+ commentaryOverrides = {};
761
+ thinkingOverrides = {};
762
+ constructor(opts) {
763
+ this.opts = opts;
764
+ }
765
+ system(prompt) {
766
+ this.systemPromptValue = prompt;
767
+ return this;
768
+ }
769
+ tool(tool) {
770
+ const name = tool.schema.name;
771
+ if (this.registry.some((e) => e.name === name)) {
772
+ throw new Error(`Agent.tool(): duplicate tool name '${name}'`);
773
+ }
774
+ this.registry.push({ name, tool: tool });
775
+ return this;
776
+ }
777
+ /**
778
+ * Set the agent's display name — substituted as `{{appName}}` in
779
+ * commentary + thinking templates. Same place to brand a tenant
780
+ * ("Acme Bot"), distinguish multi-agent roles ("Triage" vs
781
+ * "Reviewer"), or localize ("Asistente"). Default: `'Chatbot'`.
782
+ */
783
+ appName(name) {
784
+ this.appNameValue = name;
785
+ return this;
786
+ }
787
+ /**
788
+ * Override agentfootprint's bundled commentary templates. Spread on
789
+ * top of `defaultCommentaryTemplates`; missing keys fall back. Same
790
+ * `Record<string, string>` shape with `{{vars}}` substitution as
791
+ * the bundled defaults — see `defaultCommentaryTemplates` for the
792
+ * full key list.
793
+ *
794
+ * Use cases: i18n (`'agent.turn_start': 'El usuario...'`), brand
795
+ * voice ("You: {{userPrompt}}"), per-tenant customization.
796
+ */
797
+ commentaryTemplates(templates) {
798
+ this.commentaryOverrides = { ...this.commentaryOverrides, ...templates };
799
+ return this;
800
+ }
801
+ /**
802
+ * Override agentfootprint's bundled thinking templates. Same
803
+ * contract shape as commentary; different vocabulary — first-person
804
+ * status the chat bubble shows mid-call. Per-tool overrides go via
805
+ * `tool.<toolName>` keys (e.g., `'tool.weather': 'Looking up the
806
+ * weather…'`). See `defaultThinkingTemplates` for the full key list.
807
+ */
808
+ thinkingTemplates(templates) {
809
+ this.thinkingOverrides = { ...this.thinkingOverrides, ...templates };
810
+ return this;
811
+ }
812
+ // ─── Injection sugar — context engineering surface ───────────
813
+ //
814
+ // ALL of these push into the same `injectionList`. The Injection
815
+ // primitive is identical across flavors; the methods are just
816
+ // narrative-friendly aliases. Duplicate ids throw at build time.
817
+ /**
818
+ * Register any `Injection`. Use this for power-user / custom flavors;
819
+ * for built-in flavors use the typed sugar (`.skill`, `.steering`,
820
+ * `.instruction`, `.fact`).
821
+ */
822
+ injection(injection) {
823
+ if (this.injectionList.some((i) => i.id === injection.id)) {
824
+ throw new Error(`Agent.injection(): duplicate id '${injection.id}'`);
825
+ }
826
+ this.injectionList.push(injection);
827
+ return this;
828
+ }
829
+ /**
830
+ * Register a Skill — LLM-activated, system-prompt + tools.
831
+ * Auto-attaches the `read_skill` activation tool to the agent.
832
+ * Skill stays active for the rest of the turn once activated.
833
+ */
834
+ skill(injection) {
835
+ return this.injection(injection);
836
+ }
837
+ /**
838
+ * Register a Steering doc — always-on system-prompt rule.
839
+ * Use for invariant guidance: output format, persona, safety policies.
840
+ */
841
+ steering(injection) {
842
+ return this.injection(injection);
843
+ }
844
+ /**
845
+ * Register an Instruction — rule-based system-prompt guidance.
846
+ * Predicate runs each iteration. Use for context-dependent rules
847
+ * including the "Dynamic ReAct" `on-tool-return` pattern.
848
+ */
849
+ instruction(injection) {
850
+ return this.injection(injection);
851
+ }
852
+ /**
853
+ * Register a Fact — developer-supplied data the LLM should see.
854
+ * User profile, env info, computed summary, current time, …
855
+ * Distinct from Skills (LLM-activated guidance) and Steering
856
+ * (always-on rules) in INTENT — the engine treats them all alike.
857
+ */
858
+ fact(injection) {
859
+ return this.injection(injection);
860
+ }
861
+ /**
862
+ * Register a Memory subsystem — load/persist conversation context,
863
+ * facts, narrative beats, or causal snapshots across runs.
864
+ *
865
+ * The `MemoryDefinition` is produced by `defineMemory({ type, strategy,
866
+ * store })`. Multiple memories layer cleanly via per-id scope keys
867
+ * (`memoryInjection_${id}`):
868
+ *
869
+ * ```ts
870
+ * Agent.create({ provider })
871
+ * .memory(defineMemory({ id: 'short', type: MEMORY_TYPES.EPISODIC,
872
+ * strategy: { kind: MEMORY_STRATEGIES.WINDOW, size: 10 },
873
+ * store }))
874
+ * .memory(defineMemory({ id: 'facts', type: MEMORY_TYPES.SEMANTIC,
875
+ * strategy: { kind: MEMORY_STRATEGIES.EXTRACT,
876
+ * extractor: 'pattern' }, store }))
877
+ * .build();
878
+ * ```
879
+ *
880
+ * The READ subflow runs at the configured `timing` (default
881
+ * `MEMORY_TIMING.TURN_START`) and writes its formatted output to the
882
+ * `memoryInjection_${id}` scope key for the slot subflows to consume.
883
+ */
884
+ memory(definition) {
885
+ if (this.memoryList.some((m) => m.id === definition.id)) {
886
+ throw new Error(`Agent.memory(): duplicate id '${definition.id}' — each memory needs a unique id ` +
887
+ 'to keep its scope key (`memoryInjection_${id}`) collision-free.');
888
+ }
889
+ this.memoryList.push(definition);
890
+ return this;
891
+ }
892
+ build() {
893
+ // Resolve the voice config: bundled defaults + consumer overrides.
894
+ // Templates flow through the same barrel exports the rest of the
895
+ // library uses, so a future locale-pack swap is a single import.
896
+ const voice = {
897
+ appName: this.appNameValue,
898
+ commentaryTemplates: { ...commentaryTemplates_js_1.defaultCommentaryTemplates, ...this.commentaryOverrides },
899
+ thinkingTemplates: { ...thinkingTemplates_js_1.defaultThinkingTemplates, ...this.thinkingOverrides },
900
+ };
901
+ return new Agent(this.opts, this.systemPromptValue, this.registry, voice, this.injectionList, this.memoryList);
902
+ }
903
+ }
904
+ exports.AgentBuilder = AgentBuilder;
905
+ function validateMemoryIdUniqueness(memories) {
906
+ const seen = new Set();
907
+ for (const m of memories) {
908
+ if (seen.has(m.id)) {
909
+ throw new Error(`Agent: duplicate memory id '${m.id}'. Each memory needs a unique id to keep ` +
910
+ 'its scope key (`memoryInjection_${id}`) collision-free.');
911
+ }
912
+ seen.add(m.id);
913
+ }
914
+ }
915
+ function clampIterations(n) {
916
+ if (!Number.isInteger(n) || n < 1)
917
+ return 1;
918
+ if (n > 50)
919
+ return 50;
920
+ return n;
921
+ }
922
+ /**
923
+ * Validate tool-name uniqueness across `.tool()`-registered tools +
924
+ * every Skill's `inject.tools[]`. The LLM dispatches by `tool.schema.name`
925
+ * (the wire format), so any collision silently shadows execution.
926
+ *
927
+ * Called eagerly in the Agent constructor so `Agent.build()` throws
928
+ * immediately, not on first `run()`.
929
+ *
930
+ * `read_skill` is reserved when ≥1 Skill is registered — collisions
931
+ * with consumer tools throw.
932
+ */
933
+ function validateToolNameUniqueness(registry, injections) {
934
+ const seen = new Set();
935
+ const claim = (name, sourceLabel) => {
936
+ if (seen.has(name)) {
937
+ throw new Error(`Agent: duplicate tool name '${name}' (${sourceLabel}). Tool names must be ` +
938
+ `unique across .tool() registrations and all Skills' inject.tools — the LLM ` +
939
+ `dispatches by name; collisions break tool routing.`);
940
+ }
941
+ seen.add(name);
942
+ };
943
+ for (const entry of registry)
944
+ claim(entry.name, '.tool()');
945
+ const skills = injections.filter((i) => i.flavor === 'skill');
946
+ if (skills.length > 0)
947
+ claim('read_skill', 'auto-attached for Skills');
948
+ for (const skill of skills) {
949
+ for (const tool of skill.inject.tools ?? []) {
950
+ claim(tool.schema.name, `from Skill '${skill.id}'`);
951
+ }
952
+ }
953
+ }
954
+ /**
955
+ * Build the auto-attached `read_skill` tool from a list of Skill
956
+ * Injections. The LLM picks WHICH skill via the `id` argument.
957
+ *
958
+ * Tool execute() does the bookkeeping: appends the requested skill id
959
+ * to `scope.activatedInjectionIds`. The next iteration's
960
+ * InjectionEngine matches Skills with `trigger.kind: 'llm-activated'`
961
+ * by id and includes them in the active set; slot subflows then
962
+ * inject the body + tools.
963
+ *
964
+ * The tool's description lists each Skill's `id` + `description` so
965
+ * the LLM can choose meaningfully.
966
+ */
967
+ function buildReadSkillTool(skills) {
968
+ const skillIds = skills.map((s) => s.id);
969
+ const skillCatalog = skills
970
+ .map((s) => ` - ${s.id}: ${s.description ?? '(no description)'}`)
971
+ .join('\n');
972
+ return (0, tools_js_1.defineTool)({
973
+ name: 'read_skill',
974
+ description: `Activate a skill for the next iteration. Available skills:\n${skillCatalog}\n\n` +
975
+ `Pass the skill's id. The skill's body becomes part of the system prompt and any ` +
976
+ `gated tools become available on the next call.`,
977
+ inputSchema: {
978
+ type: 'object',
979
+ properties: {
980
+ id: {
981
+ type: 'string',
982
+ enum: skillIds,
983
+ description: 'The skill id to activate.',
984
+ },
985
+ },
986
+ required: ['id'],
987
+ },
988
+ execute: ({ id }) => {
989
+ // Bookkeeping is handled by the Agent's tool-calls subflow,
990
+ // which inspects `read_skill` returns and updates
991
+ // `scope.activatedInjectionIds` before the next iteration.
992
+ // The tool itself returns a confirmation string for the LLM.
993
+ if (!skillIds.includes(id)) {
994
+ return `Unknown skill '${id}'. Available: ${skillIds.join(', ')}`;
995
+ }
996
+ return `Skill '${id}' activated for the next iteration.`;
997
+ },
998
+ });
999
+ }
1000
+ /**
1001
+ * JSON.stringify with circular-ref protection. Tool results are untrusted —
1002
+ * a hostile/buggy tool returning a cyclic object must not crash the run.
1003
+ * Falls back to '[unstringifiable: <reason>]' so the LLM still sees that
1004
+ * the tool ran and produced something unusable.
1005
+ */
1006
+ function safeStringify(value) {
1007
+ try {
1008
+ return JSON.stringify(value);
1009
+ }
1010
+ catch (err) {
1011
+ const reason = err instanceof Error ? err.message : String(err);
1012
+ return `[unstringifiable: ${reason}]`;
1013
+ }
1014
+ }
1015
+ //# sourceMappingURL=Agent.js.map