beeai-framework 0.1.21 → 0.1.23

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 (335) hide show
  1. package/dist/adapters/a2a/agents/agent.d.cts +6 -10
  2. package/dist/adapters/a2a/agents/agent.d.ts +6 -10
  3. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  4. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  5. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  6. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  7. package/dist/adapters/a2a/serve/agent_executor.d.cts +3 -3
  8. package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
  9. package/dist/adapters/a2a/serve/server.d.cts +2 -2
  10. package/dist/adapters/a2a/serve/server.d.ts +2 -2
  11. package/dist/adapters/acp/agents/agent.d.cts +6 -10
  12. package/dist/adapters/acp/agents/agent.d.ts +6 -10
  13. package/dist/adapters/acp/agents/events.d.cts +1 -1
  14. package/dist/adapters/acp/agents/events.d.ts +1 -1
  15. package/dist/adapters/agentstack/agents/agent.d.cts +8 -6
  16. package/dist/adapters/agentstack/agents/agent.d.ts +8 -6
  17. package/dist/adapters/agentstack/agents/events.d.cts +1 -1
  18. package/dist/adapters/agentstack/agents/events.d.ts +1 -1
  19. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +2 -2
  20. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
  21. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +2 -2
  22. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +2 -2
  23. package/dist/adapters/anthropic/backend/chat.d.cts +2 -2
  24. package/dist/adapters/anthropic/backend/chat.d.ts +2 -2
  25. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  26. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  27. package/dist/adapters/azure-openai/backend/chat.d.cts +2 -2
  28. package/dist/adapters/azure-openai/backend/chat.d.ts +2 -2
  29. package/dist/adapters/azure-openai/backend/embedding.d.cts +2 -2
  30. package/dist/adapters/azure-openai/backend/embedding.d.ts +2 -2
  31. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  32. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  33. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  34. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  35. package/dist/adapters/google-vertex/backend/chat.d.cts +2 -2
  36. package/dist/adapters/google-vertex/backend/chat.d.ts +2 -2
  37. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  38. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  39. package/dist/adapters/groq/backend/chat.d.cts +2 -2
  40. package/dist/adapters/groq/backend/chat.d.ts +2 -2
  41. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  42. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  43. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  44. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  45. package/dist/adapters/langchain/backend/embedding.d.cts +2 -2
  46. package/dist/adapters/langchain/backend/embedding.d.ts +2 -2
  47. package/dist/adapters/langchain/tools.d.cts +1 -1
  48. package/dist/adapters/langchain/tools.d.ts +1 -1
  49. package/dist/adapters/ollama/backend/chat.cjs +1 -2
  50. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  51. package/dist/adapters/ollama/backend/chat.d.cts +2 -3
  52. package/dist/adapters/ollama/backend/chat.d.ts +2 -3
  53. package/dist/adapters/ollama/backend/chat.js +1 -2
  54. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  55. package/dist/adapters/ollama/backend/embedding.d.cts +2 -2
  56. package/dist/adapters/ollama/backend/embedding.d.ts +2 -2
  57. package/dist/adapters/openai/backend/chat.d.cts +2 -2
  58. package/dist/adapters/openai/backend/chat.d.ts +2 -2
  59. package/dist/adapters/openai/backend/embedding.d.cts +2 -2
  60. package/dist/adapters/openai/backend/embedding.d.ts +2 -2
  61. package/dist/adapters/vercel/backend/chat.cjs +77 -17
  62. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  64. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  65. package/dist/adapters/vercel/backend/chat.js +77 -17
  66. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  67. package/dist/adapters/vercel/backend/embedding.d.cts +2 -2
  68. package/dist/adapters/vercel/backend/embedding.d.ts +2 -2
  69. package/dist/adapters/vercel/backend/utils.cjs +32 -0
  70. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  71. package/dist/adapters/vercel/backend/utils.d.cts +6 -4
  72. package/dist/adapters/vercel/backend/utils.d.ts +6 -4
  73. package/dist/adapters/vercel/backend/utils.js +31 -1
  74. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  75. package/dist/adapters/watsonx/backend/chat.cjs +7 -8
  76. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  77. package/dist/adapters/watsonx/backend/chat.d.cts +4 -4
  78. package/dist/adapters/watsonx/backend/chat.d.ts +4 -4
  79. package/dist/adapters/watsonx/backend/chat.js +7 -8
  80. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  81. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  82. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  83. package/dist/adapters/xai/backend/chat.d.cts +2 -2
  84. package/dist/adapters/xai/backend/chat.d.ts +2 -2
  85. package/dist/{agent-DvvVGvLr.d.cts → agent-BVuc9Nfn.d.cts} +5 -4
  86. package/dist/{agent-CHebzsQB.d.ts → agent-Cuy8Q4gw.d.ts} +5 -4
  87. package/dist/agents/base.cjs +5 -2
  88. package/dist/agents/base.cjs.map +1 -1
  89. package/dist/agents/base.d.cts +2 -2
  90. package/dist/agents/base.d.ts +2 -2
  91. package/dist/agents/base.js +5 -2
  92. package/dist/agents/base.js.map +1 -1
  93. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  94. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  95. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  96. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  97. package/dist/agents/experimental/streamlit/agent.d.cts +8 -12
  98. package/dist/agents/experimental/streamlit/agent.d.ts +8 -12
  99. package/dist/agents/react/agent.d.cts +4 -4
  100. package/dist/agents/react/agent.d.ts +4 -4
  101. package/dist/agents/react/runners/base.d.cts +4 -4
  102. package/dist/agents/react/runners/base.d.ts +4 -4
  103. package/dist/agents/react/runners/deep-think/runner.d.cts +4 -4
  104. package/dist/agents/react/runners/deep-think/runner.d.ts +4 -4
  105. package/dist/agents/react/runners/default/runner.d.cts +5 -5
  106. package/dist/agents/react/runners/default/runner.d.ts +5 -5
  107. package/dist/agents/react/runners/granite/runner.d.cts +4 -4
  108. package/dist/agents/react/runners/granite/runner.d.ts +4 -4
  109. package/dist/agents/react/types.d.cts +2 -2
  110. package/dist/agents/react/types.d.ts +2 -2
  111. package/dist/agents/requirement/agent.cjs +162 -0
  112. package/dist/agents/requirement/agent.cjs.map +1 -0
  113. package/dist/agents/requirement/agent.d.cts +29 -0
  114. package/dist/agents/requirement/agent.d.ts +29 -0
  115. package/dist/agents/requirement/agent.js +160 -0
  116. package/dist/agents/requirement/agent.js.map +1 -0
  117. package/dist/agents/requirement/prompts.cjs +95 -0
  118. package/dist/agents/requirement/prompts.cjs.map +1 -0
  119. package/dist/agents/requirement/prompts.d.cts +107 -0
  120. package/dist/agents/requirement/prompts.d.ts +107 -0
  121. package/dist/agents/requirement/prompts.js +90 -0
  122. package/dist/agents/requirement/prompts.js.map +1 -0
  123. package/dist/agents/requirement/requirements/conditional.cjs +190 -0
  124. package/dist/agents/requirement/requirements/conditional.cjs.map +1 -0
  125. package/dist/agents/requirement/requirements/conditional.d.cts +71 -0
  126. package/dist/agents/requirement/requirements/conditional.d.ts +71 -0
  127. package/dist/agents/requirement/requirements/conditional.js +188 -0
  128. package/dist/agents/requirement/requirements/conditional.js.map +1 -0
  129. package/dist/agents/requirement/requirements/requirement.cjs +107 -0
  130. package/dist/agents/requirement/requirements/requirement.cjs.map +1 -0
  131. package/dist/agents/requirement/requirements/requirement.d.cts +59 -0
  132. package/dist/agents/requirement/requirements/requirement.d.ts +59 -0
  133. package/dist/agents/requirement/requirements/requirement.js +104 -0
  134. package/dist/agents/requirement/requirements/requirement.js.map +1 -0
  135. package/dist/agents/requirement/requirements/utils.cjs +74 -0
  136. package/dist/agents/requirement/requirements/utils.cjs.map +1 -0
  137. package/dist/agents/requirement/requirements/utils.d.cts +40 -0
  138. package/dist/agents/requirement/requirements/utils.d.ts +40 -0
  139. package/dist/agents/requirement/requirements/utils.js +69 -0
  140. package/dist/agents/requirement/requirements/utils.js.map +1 -0
  141. package/dist/agents/requirement/runner.cjs +268 -0
  142. package/dist/agents/requirement/runner.cjs.map +1 -0
  143. package/dist/agents/requirement/runner.d.cts +115 -0
  144. package/dist/agents/requirement/runner.d.ts +115 -0
  145. package/dist/agents/requirement/runner.js +266 -0
  146. package/dist/agents/requirement/runner.js.map +1 -0
  147. package/dist/agents/requirement/types.cjs +40 -0
  148. package/dist/agents/requirement/types.cjs.map +1 -0
  149. package/dist/agents/requirement/types.d.cts +24 -0
  150. package/dist/agents/requirement/types.d.ts +24 -0
  151. package/dist/agents/requirement/types.js +35 -0
  152. package/dist/agents/requirement/types.js.map +1 -0
  153. package/dist/agents/requirement/utils/llm.cjs +202 -0
  154. package/dist/agents/requirement/utils/llm.cjs.map +1 -0
  155. package/dist/agents/requirement/utils/llm.d.cts +50 -0
  156. package/dist/agents/requirement/utils/llm.d.ts +50 -0
  157. package/dist/agents/requirement/utils/llm.js +199 -0
  158. package/dist/agents/requirement/utils/llm.js.map +1 -0
  159. package/dist/agents/requirement/utils/tool.cjs +95 -0
  160. package/dist/agents/requirement/utils/tool.cjs.map +1 -0
  161. package/dist/agents/requirement/utils/tool.d.cts +24 -0
  162. package/dist/agents/requirement/utils/tool.d.ts +24 -0
  163. package/dist/agents/requirement/utils/tool.js +92 -0
  164. package/dist/agents/requirement/utils/tool.js.map +1 -0
  165. package/dist/agents/requirement/utils/toolCallChecker.cjs +61 -0
  166. package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -0
  167. package/dist/agents/requirement/utils/toolCallChecker.d.cts +28 -0
  168. package/dist/agents/requirement/utils/toolCallChecker.d.ts +28 -0
  169. package/dist/agents/requirement/utils/toolCallChecker.js +59 -0
  170. package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -0
  171. package/dist/agents/toolCalling/agent.cjs +4 -1
  172. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  173. package/dist/agents/toolCalling/agent.d.cts +11 -12
  174. package/dist/agents/toolCalling/agent.d.ts +11 -12
  175. package/dist/agents/toolCalling/agent.js +5 -2
  176. package/dist/agents/toolCalling/agent.js.map +1 -1
  177. package/dist/agents/toolCalling/types.d.cts +1 -1
  178. package/dist/agents/toolCalling/types.d.ts +1 -1
  179. package/dist/agents/types.d.cts +2 -2
  180. package/dist/agents/types.d.ts +2 -2
  181. package/dist/backend/backend.d.cts +2 -2
  182. package/dist/backend/backend.d.ts +2 -2
  183. package/dist/backend/chat.cjs +122 -4
  184. package/dist/backend/chat.cjs.map +1 -1
  185. package/dist/backend/chat.d.cts +3 -3
  186. package/dist/backend/chat.d.ts +3 -3
  187. package/dist/backend/chat.js +123 -5
  188. package/dist/backend/chat.js.map +1 -1
  189. package/dist/backend/core.d.cts +3 -3
  190. package/dist/backend/core.d.ts +3 -3
  191. package/dist/backend/embedding.d.cts +2 -2
  192. package/dist/backend/embedding.d.ts +2 -2
  193. package/dist/backend/message.cjs +20 -13
  194. package/dist/backend/message.cjs.map +1 -1
  195. package/dist/backend/message.d.cts +7 -3
  196. package/dist/backend/message.d.ts +7 -3
  197. package/dist/backend/message.js +20 -13
  198. package/dist/backend/message.js.map +1 -1
  199. package/dist/backend/utils.d.cts +2 -2
  200. package/dist/backend/utils.d.ts +2 -2
  201. package/dist/{base-BQgDlcGa.d.ts → base-CyFx7BRL.d.ts} +5 -3
  202. package/dist/{base-CwcxwybB.d.cts → base-XfWeXQ-S.d.cts} +5 -3
  203. package/dist/{chat-CRb3vUVg.d.cts → chat-BOb9n7AJ.d.cts} +7 -8
  204. package/dist/{chat-C0s-o6ll.d.ts → chat-DrqwUgD8.d.ts} +7 -8
  205. package/dist/context.cjs +22 -5
  206. package/dist/context.cjs.map +1 -1
  207. package/dist/context.d.cts +19 -6
  208. package/dist/context.d.ts +19 -6
  209. package/dist/context.js +23 -7
  210. package/dist/context.js.map +1 -1
  211. package/dist/emitter/emitter.cjs +21 -14
  212. package/dist/emitter/emitter.cjs.map +1 -1
  213. package/dist/emitter/emitter.d.cts +1 -1
  214. package/dist/emitter/emitter.d.ts +1 -1
  215. package/dist/emitter/emitter.js +21 -14
  216. package/dist/emitter/emitter.js.map +1 -1
  217. package/dist/emitter/types.d.cts +1 -1
  218. package/dist/emitter/types.d.ts +1 -1
  219. package/dist/{emitter-CZFbzlUi.d.ts → emitter-36-9MnvA.d.ts} +4 -3
  220. package/dist/{emitter-DpqUYjXH.d.cts → emitter-jN55XZZq.d.cts} +4 -3
  221. package/dist/index.d.cts +5 -5
  222. package/dist/index.d.ts +5 -5
  223. package/dist/internals/fetcher.d.cts +1 -1
  224. package/dist/internals/fetcher.d.ts +1 -1
  225. package/dist/internals/helpers/prototype.cjs +5 -0
  226. package/dist/internals/helpers/prototype.cjs.map +1 -1
  227. package/dist/internals/helpers/prototype.d.cts +2 -1
  228. package/dist/internals/helpers/prototype.d.ts +2 -1
  229. package/dist/internals/helpers/prototype.js +5 -1
  230. package/dist/internals/helpers/prototype.js.map +1 -1
  231. package/dist/internals/types.cjs.map +1 -1
  232. package/dist/internals/types.d.cts +1 -1
  233. package/dist/internals/types.d.ts +1 -1
  234. package/dist/internals/types.js.map +1 -1
  235. package/dist/memory/summarizeMemory.d.cts +2 -2
  236. package/dist/memory/summarizeMemory.d.ts +2 -2
  237. package/dist/middleware/streamToolCall.cjs +132 -0
  238. package/dist/middleware/streamToolCall.cjs.map +1 -0
  239. package/dist/middleware/streamToolCall.d.cts +94 -0
  240. package/dist/middleware/streamToolCall.d.ts +94 -0
  241. package/dist/middleware/streamToolCall.js +130 -0
  242. package/dist/middleware/streamToolCall.js.map +1 -0
  243. package/dist/middleware/trajectory.cjs +331 -0
  244. package/dist/middleware/trajectory.cjs.map +1 -0
  245. package/dist/middleware/trajectory.d.cts +115 -0
  246. package/dist/middleware/trajectory.d.ts +115 -0
  247. package/dist/middleware/trajectory.js +329 -0
  248. package/dist/middleware/trajectory.js.map +1 -0
  249. package/dist/parsers/linePrefix.d.cts +1 -1
  250. package/dist/parsers/linePrefix.d.ts +1 -1
  251. package/dist/serializer/serializer.cjs +5 -4
  252. package/dist/serializer/serializer.cjs.map +1 -1
  253. package/dist/serializer/serializer.d.cts +1 -1
  254. package/dist/serializer/serializer.d.ts +1 -1
  255. package/dist/serializer/serializer.js +5 -4
  256. package/dist/serializer/serializer.js.map +1 -1
  257. package/dist/serializer/utils.cjs +3 -0
  258. package/dist/serializer/utils.cjs.map +1 -1
  259. package/dist/serializer/utils.d.cts +1 -1
  260. package/dist/serializer/utils.d.ts +1 -1
  261. package/dist/serializer/utils.js +3 -0
  262. package/dist/serializer/utils.js.map +1 -1
  263. package/dist/{serializer-CQxucveV.d.ts → serializer-53t8gGQa.d.ts} +3 -2
  264. package/dist/{serializer-BKn50Vnx.d.cts → serializer-c51B2z6d.d.cts} +3 -2
  265. package/dist/template.cjs +20 -0
  266. package/dist/template.cjs.map +1 -1
  267. package/dist/template.d.cts +1 -0
  268. package/dist/template.d.ts +1 -0
  269. package/dist/template.js +20 -0
  270. package/dist/template.js.map +1 -1
  271. package/dist/tools/arxiv.d.cts +1 -1
  272. package/dist/tools/arxiv.d.ts +1 -1
  273. package/dist/tools/base.cjs.map +1 -1
  274. package/dist/tools/base.d.cts +3 -2
  275. package/dist/tools/base.d.ts +3 -2
  276. package/dist/tools/base.js.map +1 -1
  277. package/dist/tools/calculator.d.cts +1 -1
  278. package/dist/tools/calculator.d.ts +1 -1
  279. package/dist/tools/custom.d.cts +2 -2
  280. package/dist/tools/custom.d.ts +2 -2
  281. package/dist/tools/database/elasticsearch.d.cts +1 -1
  282. package/dist/tools/database/elasticsearch.d.ts +1 -1
  283. package/dist/tools/database/milvus.d.cts +3 -3
  284. package/dist/tools/database/milvus.d.ts +3 -3
  285. package/dist/tools/database/qdrant.d.cts +1 -1
  286. package/dist/tools/database/qdrant.d.ts +1 -1
  287. package/dist/tools/database/sql.d.cts +1 -1
  288. package/dist/tools/database/sql.d.ts +1 -1
  289. package/dist/tools/handoff.cjs +68 -0
  290. package/dist/tools/handoff.cjs.map +1 -0
  291. package/dist/tools/handoff.d.cts +47 -0
  292. package/dist/tools/handoff.d.ts +47 -0
  293. package/dist/tools/handoff.js +66 -0
  294. package/dist/tools/handoff.js.map +1 -0
  295. package/dist/tools/llm.d.cts +2 -2
  296. package/dist/tools/llm.d.ts +2 -2
  297. package/dist/tools/mcp.d.cts +1 -1
  298. package/dist/tools/mcp.d.ts +1 -1
  299. package/dist/tools/openapi.d.cts +1 -1
  300. package/dist/tools/openapi.d.ts +1 -1
  301. package/dist/tools/python/output.d.cts +1 -1
  302. package/dist/tools/python/output.d.ts +1 -1
  303. package/dist/tools/python/python.d.cts +2 -2
  304. package/dist/tools/python/python.d.ts +2 -2
  305. package/dist/tools/search/base.d.cts +1 -1
  306. package/dist/tools/search/base.d.ts +1 -1
  307. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  308. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  309. package/dist/tools/search/googleSearch.d.cts +1 -1
  310. package/dist/tools/search/googleSearch.d.ts +1 -1
  311. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  312. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  313. package/dist/tools/search/wikipedia.d.cts +1 -1
  314. package/dist/tools/search/wikipedia.d.ts +1 -1
  315. package/dist/tools/similarity.d.cts +1 -1
  316. package/dist/tools/similarity.d.ts +1 -1
  317. package/dist/tools/think.cjs +52 -0
  318. package/dist/tools/think.cjs.map +1 -0
  319. package/dist/tools/think.d.cts +47 -0
  320. package/dist/tools/think.d.ts +47 -0
  321. package/dist/tools/think.js +50 -0
  322. package/dist/tools/think.js.map +1 -0
  323. package/dist/tools/weather/openMeteo.d.cts +1 -1
  324. package/dist/tools/weather/openMeteo.d.ts +1 -1
  325. package/dist/tools/web/webCrawler.d.cts +1 -1
  326. package/dist/tools/web/webCrawler.d.ts +1 -1
  327. package/dist/types-CJwiMH3u.d.ts +213 -0
  328. package/dist/types-W0QttuP_.d.cts +213 -0
  329. package/dist/version.cjs +1 -1
  330. package/dist/version.js +1 -1
  331. package/dist/workflows/agent.d.cts +3 -3
  332. package/dist/workflows/agent.d.ts +3 -3
  333. package/dist/workflows/workflow.d.cts +1 -1
  334. package/dist/workflows/workflow.d.ts +1 -1
  335. package/package.json +11 -11
@@ -1,21 +1,21 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-CwcxwybB.cjs';
1
+ import { GetRunContext, MiddlewareType } from '../../context.cjs';
2
+ import { c as AgentMeta, a as BaseAgent } from '../../base-XfWeXQ-S.cjs';
2
3
  import { AnyTool } from '../../tools/base.cjs';
3
4
  import { BaseMemory } from '../../memory/base.cjs';
4
- import { E as Emitter } from '../../emitter-DpqUYjXH.cjs';
5
+ import { E as Emitter } from '../../emitter-jN55XZZq.cjs';
5
6
  import { ToolCallingAgentTemplates, ToolCallingAgentExecutionConfig, ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions, ToolCallingAgentCallbacks } from './types.cjs';
6
- import { GetRunContext } from '../../context.cjs';
7
- import { m as ChatModel } from '../../chat-CRb3vUVg.cjs';
8
- import '../../errors.cjs';
7
+ import { m as ChatModel } from '../../chat-BOb9n7AJ.cjs';
8
+ import '../../internals/serializable.cjs';
9
9
  import '../../internals/types.cjs';
10
10
  import '../../internals/helpers/guards.cjs';
11
- import '../../internals/serializable.cjs';
11
+ import '../../internals/helpers/promise.cjs';
12
+ import '../../errors.cjs';
12
13
  import 'ajv';
13
14
  import 'promise-based-task';
14
15
  import '../../cache/base.cjs';
15
16
  import '../../internals/helpers/schema.cjs';
16
17
  import 'zod';
17
18
  import 'zod-to-json-schema';
18
- import '../../internals/helpers/promise.cjs';
19
19
  import '../../backend/message.cjs';
20
20
  import 'ai';
21
21
  import './prompts.cjs';
@@ -24,11 +24,6 @@ import '../../backend/constants.cjs';
24
24
  import '../../logger/logger.cjs';
25
25
  import 'pino';
26
26
 
27
- /**
28
- * Copyright 2025 © BeeAI a Series of LF Projects, LLC
29
- * SPDX-License-Identifier: Apache-2.0
30
- */
31
-
32
27
  type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (template: ToolCallingAgentTemplates[K]) => ToolCallingAgentTemplates[K];
33
28
  interface ToolCallingAgentInput {
34
29
  llm: ChatModel;
@@ -41,6 +36,9 @@ interface ToolCallingAgentInput {
41
36
  execution?: ToolCallingAgentExecutionConfig;
42
37
  saveIntermediateSteps?: boolean;
43
38
  }
39
+ /**
40
+ * @deprecated Use RequirementAgent instead.
41
+ */
44
42
  declare class ToolCallingAgent extends BaseAgent<ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions> {
45
43
  readonly input: ToolCallingAgentInput;
46
44
  readonly emitter: Emitter<ToolCallingAgentCallbacks>;
@@ -52,6 +50,7 @@ declare class ToolCallingAgent extends BaseAgent<ToolCallingAgentRunInput, ToolC
52
50
  input: ToolCallingAgentInput;
53
51
  emitter: Emitter<ToolCallingAgentCallbacks>;
54
52
  isRunning: boolean;
53
+ middlewares: MiddlewareType<any>[];
55
54
  };
56
55
  set memory(memory: BaseMemory);
57
56
  get memory(): BaseMemory;
@@ -1,21 +1,21 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-BQgDlcGa.js';
1
+ import { GetRunContext, MiddlewareType } from '../../context.js';
2
+ import { c as AgentMeta, a as BaseAgent } from '../../base-CyFx7BRL.js';
2
3
  import { AnyTool } from '../../tools/base.js';
3
4
  import { BaseMemory } from '../../memory/base.js';
4
- import { E as Emitter } from '../../emitter-CZFbzlUi.js';
5
+ import { E as Emitter } from '../../emitter-36-9MnvA.js';
5
6
  import { ToolCallingAgentTemplates, ToolCallingAgentExecutionConfig, ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions, ToolCallingAgentCallbacks } from './types.js';
6
- import { GetRunContext } from '../../context.js';
7
- import { m as ChatModel } from '../../chat-C0s-o6ll.js';
8
- import '../../errors.js';
7
+ import { m as ChatModel } from '../../chat-DrqwUgD8.js';
8
+ import '../../internals/serializable.js';
9
9
  import '../../internals/types.js';
10
10
  import '../../internals/helpers/guards.js';
11
- import '../../internals/serializable.js';
11
+ import '../../internals/helpers/promise.js';
12
+ import '../../errors.js';
12
13
  import 'ajv';
13
14
  import 'promise-based-task';
14
15
  import '../../cache/base.js';
15
16
  import '../../internals/helpers/schema.js';
16
17
  import 'zod';
17
18
  import 'zod-to-json-schema';
18
- import '../../internals/helpers/promise.js';
19
19
  import '../../backend/message.js';
20
20
  import 'ai';
21
21
  import './prompts.js';
@@ -24,11 +24,6 @@ import '../../backend/constants.js';
24
24
  import '../../logger/logger.js';
25
25
  import 'pino';
26
26
 
27
- /**
28
- * Copyright 2025 © BeeAI a Series of LF Projects, LLC
29
- * SPDX-License-Identifier: Apache-2.0
30
- */
31
-
32
27
  type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (template: ToolCallingAgentTemplates[K]) => ToolCallingAgentTemplates[K];
33
28
  interface ToolCallingAgentInput {
34
29
  llm: ChatModel;
@@ -41,6 +36,9 @@ interface ToolCallingAgentInput {
41
36
  execution?: ToolCallingAgentExecutionConfig;
42
37
  saveIntermediateSteps?: boolean;
43
38
  }
39
+ /**
40
+ * @deprecated Use RequirementAgent instead.
41
+ */
44
42
  declare class ToolCallingAgent extends BaseAgent<ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions> {
45
43
  readonly input: ToolCallingAgentInput;
46
44
  readonly emitter: Emitter<ToolCallingAgentCallbacks>;
@@ -52,6 +50,7 @@ declare class ToolCallingAgent extends BaseAgent<ToolCallingAgentRunInput, ToolC
52
50
  input: ToolCallingAgentInput;
53
51
  emitter: Emitter<ToolCallingAgentCallbacks>;
54
52
  isRunning: boolean;
53
+ middlewares: MiddlewareType<any>[];
55
54
  };
56
55
  set memory(memory: BaseMemory);
57
56
  get memory(): BaseMemory;
@@ -1,5 +1,5 @@
1
1
  import { BaseAgent, AgentError } from '../base.js';
2
- import { DynamicTool, ToolError, StringToolOutput } from '../../tools/base.js';
2
+ import { DynamicTool, Tool, ToolError, StringToolOutput } from '../../tools/base.js';
3
3
  import { Emitter } from '../../emitter/emitter.js';
4
4
  import { shallowCopy } from '../../serializer/utils.js';
5
5
  import { UnconstrainedMemory } from '../../memory/unconstrainedMemory.js';
@@ -11,6 +11,7 @@ import { Cache } from '../../cache/decoratorCache.js';
11
11
  import { PromptTemplate } from '../../template.js';
12
12
  import { ToolCallingAgentTaskPrompt, ToolCallingAgentSystemPrompt } from './prompts.js';
13
13
  import { ZodSchema, z } from 'zod';
14
+ import { Logger } from '../../logger/logger.js';
14
15
 
15
16
  var __defProp = Object.defineProperty;
16
17
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -40,6 +41,7 @@ class ToolCallingAgent extends BaseAgent {
40
41
  constructor(input) {
41
42
  super(), this.input = input;
42
43
  this.input.saveIntermediateSteps = this.input.saveIntermediateSteps ?? true;
44
+ Logger.root.warn("The ToolCallingAgent is deprecated and will be removed soon. Use RequirementAgent instead.");
43
45
  }
44
46
  static {
45
47
  this.register();
@@ -114,7 +116,8 @@ class ToolCallingAgent extends BaseAgent {
114
116
  const toolInput = toolCall.input;
115
117
  const toolResponse = await tool.run(toolInput).context({
116
118
  state,
117
- toolCallMsg: toolCall
119
+ toolCallMsg: toolCall,
120
+ [Tool.contextKeys.Memory]: this.memory
118
121
  });
119
122
  await state.memory.add(new ToolMessage({
120
123
  type: "tool-result",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/agents/toolCalling/agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","saveIntermediateSteps","register","_run","options","run","tempMessageKey","execution","totalMaxRetries","omitUndefined","state","memory","UnconstrainedMemory","result","undefined","iteration","add","SystemMessage","templates","system","render","role","instructions","addMany","messages","prompt","userMessage","UserMessage","task","context","expectedOutput","isString","globalRetriesCounter","RetryCounter","AgentError","usePlainResponse","ZodSchema","finalAnswerToolSchema","z","object","response","string","describe","String","finalAnswerTool","DynamicTool","name","description","inputSchema","handler","JSON","stringify","AssistantMessage","StringToolOutput","tools","forceFinalAnswer","Infinity","emit","llm","create","slice","toolChoice","length","stream","toolCallMessages","getToolCalls","toolCall","tool","find","toolName","toolInput","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","output","value","getTextContent","e","ToolError","use","explain","textMessages","getTextMessages","isEmpty","deleteMany","filter","msg","meta","push","reset","extraDescription","map","join","overrides","defaultTemplates","ToolCallingAgentSystemPrompt","ToolCallingAgentTaskPrompt","mapObj","key","defaultTemplate","override","PromptTemplate","createSnapshot","shallowCopy","enumerable"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport { AnyTool, DynamicTool, StringToolOutput, ToolError, ToolOutput } from \"@/tools/base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport type {\n ToolCallingAgentExecutionConfig,\n ToolCallingAgentTemplates,\n ToolCallingAgentCallbacks,\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOptions,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunState,\n} from \"@/agents/toolCalling/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AssistantMessage, SystemMessage, ToolMessage, UserMessage } from \"@/backend/message.js\";\nimport { isEmpty, isString } from \"remeda\";\nimport { RetryCounter } from \"@/internals/helpers/counter.js\";\nimport { mapObj, omitUndefined } from \"@/internals/helpers/object.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport {\n ToolCallingAgentSystemPrompt,\n ToolCallingAgentTaskPrompt,\n} from \"@/agents/toolCalling/prompts.js\";\nimport { z, ZodSchema } from \"zod\";\n\nexport type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (\n template: ToolCallingAgentTemplates[K],\n) => ToolCallingAgentTemplates[K];\n\nexport interface ToolCallingAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n tools: AnyTool[];\n meta?: Omit<AgentMeta, \"tools\">;\n templates?: Partial<{\n [K in keyof ToolCallingAgentTemplates]:\n | ToolCallingAgentTemplates[K]\n | ToolCallingAgentTemplateFactory<K>;\n }>;\n execution?: ToolCallingAgentExecutionConfig;\n saveIntermediateSteps?: boolean;\n}\n\nexport class ToolCallingAgent extends BaseAgent<\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunOptions\n> {\n public readonly emitter = Emitter.root.child<ToolCallingAgentCallbacks>({\n namespace: [\"agent\", \"toolCalling\"],\n creator: this,\n });\n\n constructor(public readonly input: ToolCallingAgentInput) {\n super();\n this.input.saveIntermediateSteps = this.input.saveIntermediateSteps ?? true;\n }\n\n static {\n this.register();\n }\n\n protected async _run(\n input: ToolCallingAgentRunInput,\n options: ToolCallingAgentRunOptions = {},\n run: GetRunContext<typeof this>,\n ): Promise<ToolCallingAgentRunOutput> {\n const tempMessageKey = \"tempMessage\" as const;\n const execution = {\n maxRetriesPerStep: 3,\n totalMaxRetries: 20,\n maxIterations: 10,\n ...omitUndefined(this.input.execution ?? {}),\n ...omitUndefined(options.execution ?? {}),\n };\n\n const state: ToolCallingAgentRunState = {\n memory: new UnconstrainedMemory(),\n result: undefined,\n iteration: 0,\n };\n await state.memory.add(\n new SystemMessage(\n this.templates.system.render({\n role: undefined,\n instructions: undefined,\n }),\n ),\n );\n await state.memory.addMany(this.memory.messages);\n\n if (input.prompt) {\n const userMessage = new UserMessage(\n this.templates.task.render({\n prompt: input.prompt,\n context: input.context,\n expectedOutput: isString(input.expectedOutput) ? input.expectedOutput : undefined,\n }),\n );\n await state.memory.add(userMessage);\n }\n\n const globalRetriesCounter = new RetryCounter(execution.totalMaxRetries || 1, AgentError);\n\n const usePlainResponse = !input.expectedOutput || !(input.expectedOutput instanceof ZodSchema);\n const finalAnswerToolSchema = usePlainResponse\n ? z.object({\n response: z.string().describe(String(input.expectedOutput ?? \"\")),\n })\n : (input.expectedOutput as ZodSchema);\n\n const finalAnswerTool = new DynamicTool({\n name: \"final_answer\",\n description: \"Sends the final answer to the user\",\n inputSchema: finalAnswerToolSchema,\n handler: async (input) => {\n const result = usePlainResponse ? input.response : JSON.stringify(input);\n state.result = new AssistantMessage(result);\n return new StringToolOutput(\"Message has been sent\");\n },\n });\n\n const tools = [...this.input.tools, finalAnswerTool];\n let forceFinalAnswer = false;\n\n while (!state.result) {\n state.iteration++;\n if (state.iteration > (execution.totalMaxRetries ?? Infinity)) {\n throw new AgentError(\n `Agent was not able to resolve the task in ${state.iteration} iterations.`,\n );\n }\n\n await run.emitter.emit(\"start\", { state });\n const response = await this.input.llm.create({\n messages: state.memory.messages.slice(),\n tools,\n toolChoice: forceFinalAnswer ? finalAnswerTool : tools.length > 1 ? \"required\" : tools[0],\n stream: false,\n });\n await state.memory.addMany(response.messages);\n\n const toolCallMessages = response.getToolCalls();\n for (const toolCall of toolCallMessages) {\n try {\n const tool = tools.find((tool) => tool.name === toolCall.toolName);\n if (!tool) {\n throw new AgentError(`Tool ${toolCall.toolName} does not exist!`);\n }\n\n const toolInput: any = toolCall.input;\n const toolResponse: ToolOutput = await tool.run(toolInput).context({\n state,\n toolCallMsg: toolCall,\n });\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"text\", value: toolResponse.getTextContent() },\n }),\n );\n } catch (e) {\n if (e instanceof ToolError) {\n globalRetriesCounter.use(e);\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"error-text\", value: e.explain() },\n }),\n );\n } else {\n throw e;\n }\n }\n }\n\n // handle empty messages for some models\n const textMessages = response.getTextMessages();\n if (isEmpty(toolCallMessages) && isEmpty(textMessages)) {\n await state.memory.add(new AssistantMessage(\"\\n\", { [tempMessageKey]: true }));\n } else {\n await state.memory.deleteMany(\n state.memory.messages.filter((msg) => msg.meta[tempMessageKey]),\n );\n }\n\n // Fallback for providers that do not support structured outputs\n if (!isEmpty(textMessages) && isEmpty(toolCallMessages)) {\n forceFinalAnswer = true;\n tools.length = 0;\n tools.push(finalAnswerTool);\n }\n\n await run.emitter.emit(\"success\", { state });\n }\n\n if (this.input.saveIntermediateSteps) {\n this.memory.reset();\n await this.memory.addMany(state.memory.messages.slice(1));\n } else {\n await this.memory.addMany(state.memory.messages.slice(-2));\n }\n return { memory: state.memory, result: state.result };\n }\n\n get meta(): AgentMeta {\n const tools = this.input.tools.slice();\n\n if (this.input.meta) {\n return { ...this.input.meta, tools };\n }\n\n return {\n name: \"ToolCalling\",\n tools,\n description: \"ToolCallingAgent that uses tools to accomplish the task.\",\n ...(tools.length > 0 && {\n extraDescription: [\n `Tools that I can use to accomplish given task.`,\n ...tools.map((tool) => `Tool '${tool.name}': ${tool.description}.`),\n ].join(\"\\n\"),\n }),\n };\n }\n\n @Cache({ enumerable: false })\n protected get templates(): ToolCallingAgentTemplates {\n const overrides = this.input.templates ?? {};\n const defaultTemplates: ToolCallingAgentTemplates = {\n system: ToolCallingAgentSystemPrompt,\n task: ToolCallingAgentTaskPrompt,\n } as const;\n\n return mapObj(defaultTemplates)(\n (key, defaultTemplate: ToolCallingAgentTemplates[typeof key]) => {\n const override = overrides[key] ?? defaultTemplate;\n if (override instanceof PromptTemplate) {\n return override;\n }\n return override(defaultTemplate) ?? defaultTemplate;\n },\n );\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n get memory() {\n return this.input.memory;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/agents/toolCalling/agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","saveIntermediateSteps","Logger","warn","register","_run","options","run","tempMessageKey","execution","totalMaxRetries","omitUndefined","state","memory","UnconstrainedMemory","result","undefined","iteration","add","SystemMessage","templates","system","render","role","instructions","addMany","messages","prompt","userMessage","UserMessage","task","context","expectedOutput","isString","globalRetriesCounter","RetryCounter","AgentError","usePlainResponse","ZodSchema","finalAnswerToolSchema","z","object","response","string","describe","String","finalAnswerTool","DynamicTool","name","description","inputSchema","handler","JSON","stringify","AssistantMessage","StringToolOutput","tools","forceFinalAnswer","Infinity","emit","llm","create","slice","toolChoice","length","stream","toolCallMessages","getToolCalls","toolCall","tool","find","toolName","toolInput","toolResponse","toolCallMsg","Tool","contextKeys","Memory","ToolMessage","type","toolCallId","output","value","getTextContent","e","ToolError","use","explain","textMessages","getTextMessages","isEmpty","deleteMany","filter","msg","meta","push","reset","extraDescription","map","join","overrides","defaultTemplates","ToolCallingAgentSystemPrompt","ToolCallingAgentTaskPrompt","mapObj","key","defaultTemplate","override","PromptTemplate","createSnapshot","shallowCopy","enumerable"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport {\n AnyTool,\n DynamicTool,\n StringToolOutput,\n Tool,\n ToolError,\n ToolOutput,\n} from \"@/tools/base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport type {\n ToolCallingAgentExecutionConfig,\n ToolCallingAgentTemplates,\n ToolCallingAgentCallbacks,\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOptions,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunState,\n} from \"@/agents/toolCalling/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AssistantMessage, SystemMessage, ToolMessage, UserMessage } from \"@/backend/message.js\";\nimport { isEmpty, isString } from \"remeda\";\nimport { RetryCounter } from \"@/internals/helpers/counter.js\";\nimport { mapObj, omitUndefined } from \"@/internals/helpers/object.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport {\n ToolCallingAgentSystemPrompt,\n ToolCallingAgentTaskPrompt,\n} from \"@/agents/toolCalling/prompts.js\";\nimport { z, ZodSchema } from \"zod\";\nimport { Logger } from \"@/logger/logger.js\";\n\nexport type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (\n template: ToolCallingAgentTemplates[K],\n) => ToolCallingAgentTemplates[K];\n\nexport interface ToolCallingAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n tools: AnyTool[];\n meta?: Omit<AgentMeta, \"tools\">;\n templates?: Partial<{\n [K in keyof ToolCallingAgentTemplates]:\n | ToolCallingAgentTemplates[K]\n | ToolCallingAgentTemplateFactory<K>;\n }>;\n execution?: ToolCallingAgentExecutionConfig;\n saveIntermediateSteps?: boolean;\n}\n\n/**\n * @deprecated Use RequirementAgent instead.\n */\nexport class ToolCallingAgent extends BaseAgent<\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunOptions\n> {\n public readonly emitter = Emitter.root.child<ToolCallingAgentCallbacks>({\n namespace: [\"agent\", \"toolCalling\"],\n creator: this,\n });\n\n constructor(public readonly input: ToolCallingAgentInput) {\n super();\n this.input.saveIntermediateSteps = this.input.saveIntermediateSteps ?? true;\n Logger.root.warn(\n \"The ToolCallingAgent is deprecated and will be removed soon. Use RequirementAgent instead.\",\n );\n }\n\n static {\n this.register();\n }\n\n protected async _run(\n input: ToolCallingAgentRunInput,\n options: ToolCallingAgentRunOptions = {},\n run: GetRunContext<typeof this>,\n ): Promise<ToolCallingAgentRunOutput> {\n const tempMessageKey = \"tempMessage\" as const;\n const execution = {\n maxRetriesPerStep: 3,\n totalMaxRetries: 20,\n maxIterations: 10,\n ...omitUndefined(this.input.execution ?? {}),\n ...omitUndefined(options.execution ?? {}),\n };\n\n const state: ToolCallingAgentRunState = {\n memory: new UnconstrainedMemory(),\n result: undefined,\n iteration: 0,\n };\n await state.memory.add(\n new SystemMessage(\n this.templates.system.render({\n role: undefined,\n instructions: undefined,\n }),\n ),\n );\n await state.memory.addMany(this.memory.messages);\n\n if (input.prompt) {\n const userMessage = new UserMessage(\n this.templates.task.render({\n prompt: input.prompt,\n context: input.context,\n expectedOutput: isString(input.expectedOutput) ? input.expectedOutput : undefined,\n }),\n );\n await state.memory.add(userMessage);\n }\n\n const globalRetriesCounter = new RetryCounter(execution.totalMaxRetries || 1, AgentError);\n\n const usePlainResponse = !input.expectedOutput || !(input.expectedOutput instanceof ZodSchema);\n const finalAnswerToolSchema = usePlainResponse\n ? z.object({\n response: z.string().describe(String(input.expectedOutput ?? \"\")),\n })\n : (input.expectedOutput as ZodSchema);\n\n const finalAnswerTool = new DynamicTool({\n name: \"final_answer\",\n description: \"Sends the final answer to the user\",\n inputSchema: finalAnswerToolSchema,\n handler: async (input) => {\n const result = usePlainResponse ? input.response : JSON.stringify(input);\n state.result = new AssistantMessage(result);\n return new StringToolOutput(\"Message has been sent\");\n },\n });\n\n const tools = [...this.input.tools, finalAnswerTool];\n let forceFinalAnswer = false;\n\n while (!state.result) {\n state.iteration++;\n if (state.iteration > (execution.totalMaxRetries ?? Infinity)) {\n throw new AgentError(\n `Agent was not able to resolve the task in ${state.iteration} iterations.`,\n );\n }\n\n await run.emitter.emit(\"start\", { state });\n const response = await this.input.llm.create({\n messages: state.memory.messages.slice(),\n tools,\n toolChoice: forceFinalAnswer ? finalAnswerTool : tools.length > 1 ? \"required\" : tools[0],\n stream: false,\n });\n await state.memory.addMany(response.messages);\n\n const toolCallMessages = response.getToolCalls();\n for (const toolCall of toolCallMessages) {\n try {\n const tool = tools.find((tool) => tool.name === toolCall.toolName);\n if (!tool) {\n throw new AgentError(`Tool ${toolCall.toolName} does not exist!`);\n }\n\n const toolInput: any = toolCall.input;\n const toolResponse: ToolOutput = await tool.run(toolInput).context({\n state,\n toolCallMsg: toolCall,\n [Tool.contextKeys.Memory]: this.memory,\n });\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"text\", value: toolResponse.getTextContent() },\n }),\n );\n } catch (e) {\n if (e instanceof ToolError) {\n globalRetriesCounter.use(e);\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"error-text\", value: e.explain() },\n }),\n );\n } else {\n throw e;\n }\n }\n }\n\n // handle empty messages for some models\n const textMessages = response.getTextMessages();\n if (isEmpty(toolCallMessages) && isEmpty(textMessages)) {\n await state.memory.add(new AssistantMessage(\"\\n\", { [tempMessageKey]: true }));\n } else {\n await state.memory.deleteMany(\n state.memory.messages.filter((msg) => msg.meta[tempMessageKey]),\n );\n }\n\n // Fallback for providers that do not support structured outputs\n if (!isEmpty(textMessages) && isEmpty(toolCallMessages)) {\n forceFinalAnswer = true;\n tools.length = 0;\n tools.push(finalAnswerTool);\n }\n\n await run.emitter.emit(\"success\", { state });\n }\n\n if (this.input.saveIntermediateSteps) {\n this.memory.reset();\n await this.memory.addMany(state.memory.messages.slice(1));\n } else {\n await this.memory.addMany(state.memory.messages.slice(-2));\n }\n return { memory: state.memory, result: state.result };\n }\n\n get meta(): AgentMeta {\n const tools = this.input.tools.slice();\n\n if (this.input.meta) {\n return { ...this.input.meta, tools };\n }\n\n return {\n name: \"ToolCalling\",\n tools,\n description: \"ToolCallingAgent that uses tools to accomplish the task.\",\n ...(tools.length > 0 && {\n extraDescription: [\n `Tools that I can use to accomplish given task.`,\n ...tools.map((tool) => `Tool '${tool.name}': ${tool.description}.`),\n ].join(\"\\n\"),\n }),\n };\n }\n\n @Cache({ enumerable: false })\n protected get templates(): ToolCallingAgentTemplates {\n const overrides = this.input.templates ?? {};\n const defaultTemplates: ToolCallingAgentTemplates = {\n system: ToolCallingAgentSystemPrompt,\n task: ToolCallingAgentTaskPrompt,\n } as const;\n\n return mapObj(defaultTemplates)(\n (key, defaultTemplate: ToolCallingAgentTemplates[typeof key]) => {\n const override = overrides[key] ?? defaultTemplate;\n if (override instanceof PromptTemplate) {\n return override;\n }\n return override(defaultTemplate) ?? defaultTemplate;\n },\n );\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n get memory() {\n return this.input.memory;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { BaseMemory } from '../../memory/base.cjs';
2
2
  import { AssistantMessage } from '../../backend/message.cjs';
3
- import { C as Callback } from '../../emitter-DpqUYjXH.cjs';
3
+ import { C as Callback } from '../../emitter-jN55XZZq.cjs';
4
4
  import { ToolCallingAgentSystemPrompt, ToolCallingAgentTaskPrompt } from './prompts.cjs';
5
5
  import { ZodSchema } from 'zod';
6
6
  import '../../errors.cjs';
@@ -1,6 +1,6 @@
1
1
  import { BaseMemory } from '../../memory/base.js';
2
2
  import { AssistantMessage } from '../../backend/message.js';
3
- import { C as Callback } from '../../emitter-CZFbzlUi.js';
3
+ import { C as Callback } from '../../emitter-36-9MnvA.js';
4
4
  import { ToolCallingAgentSystemPrompt, ToolCallingAgentTaskPrompt } from './prompts.js';
5
5
  import { ZodSchema } from 'zod';
6
6
  import '../../errors.js';
@@ -1,8 +1,8 @@
1
- export { e as AgentCallback, d as AgentCallbackValue, b as AgentMeta, c as AnyAgent, G as GetAgentInput, f as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-CwcxwybB.cjs';
1
+ export { e as AgentCallback, d as AgentCallbackValue, c as AgentMeta, b as AnyAgent, G as GetAgentInput, f as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-XfWeXQ-S.cjs';
2
2
  import '../internals/types.cjs';
3
3
  import '../tools/base.cjs';
4
4
  import '../context.cjs';
5
- import '../emitter-DpqUYjXH.cjs';
5
+ import '../emitter-jN55XZZq.cjs';
6
6
  import '../internals/serializable.cjs';
7
7
  import '../internals/helpers/guards.cjs';
8
8
  import '../internals/helpers/promise.cjs';
@@ -1,8 +1,8 @@
1
- export { e as AgentCallback, d as AgentCallbackValue, b as AgentMeta, c as AnyAgent, G as GetAgentInput, f as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-BQgDlcGa.js';
1
+ export { e as AgentCallback, d as AgentCallbackValue, c as AgentMeta, b as AnyAgent, G as GetAgentInput, f as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-CyFx7BRL.js';
2
2
  import '../internals/types.js';
3
3
  import '../tools/base.js';
4
4
  import '../context.js';
5
- import '../emitter-CZFbzlUi.js';
5
+ import '../emitter-36-9MnvA.js';
6
6
  import '../internals/serializable.js';
7
7
  import '../internals/helpers/guards.js';
8
8
  import '../internals/helpers/promise.js';
@@ -1,12 +1,12 @@
1
1
  import { Serializable } from '../internals/serializable.cjs';
2
- import { m as ChatModel, F as FullModelName } from '../chat-CRb3vUVg.cjs';
2
+ import { m as ChatModel, F as FullModelName } from '../chat-BOb9n7AJ.cjs';
3
3
  import { EmbeddingModel } from './embedding.cjs';
4
4
  import { ProviderName } from './constants.cjs';
5
5
  import { OptionalExcept } from '../internals/types.cjs';
6
6
  import './message.cjs';
7
7
  import 'ai';
8
8
  import '../context.cjs';
9
- import '../emitter-DpqUYjXH.cjs';
9
+ import '../emitter-jN55XZZq.cjs';
10
10
  import '../internals/helpers/promise.cjs';
11
11
  import '../errors.cjs';
12
12
  import 'promise-based-task';
@@ -1,12 +1,12 @@
1
1
  import { Serializable } from '../internals/serializable.js';
2
- import { m as ChatModel, F as FullModelName } from '../chat-C0s-o6ll.js';
2
+ import { m as ChatModel, F as FullModelName } from '../chat-DrqwUgD8.js';
3
3
  import { EmbeddingModel } from './embedding.js';
4
4
  import { ProviderName } from './constants.js';
5
5
  import { OptionalExcept } from '../internals/types.js';
6
6
  import './message.js';
7
7
  import 'ai';
8
8
  import '../context.js';
9
- import '../emitter-CZFbzlUi.js';
9
+ import '../emitter-36-9MnvA.js';
10
10
  import '../internals/helpers/promise.js';
11
11
  import '../errors.js';
12
12
  import 'promise-based-task';
@@ -42,6 +42,9 @@ class ChatModel extends serializable_cjs.Serializable {
42
42
  modelSupportsToolCalling = true;
43
43
  create(input) {
44
44
  input = utils_cjs.shallowCopy(input);
45
+ if (input.stream === void 0) {
46
+ input.stream = this.parameters.stream;
47
+ }
45
48
  return context_cjs.RunContext.enter(this, {
46
49
  params: [
47
50
  input
@@ -82,10 +85,20 @@ class ChatModel extends serializable_cjs.Serializable {
82
85
  }
83
86
  cacheEntry.resolve(chunks);
84
87
  const result = ChatModelOutput.fromChunks(chunks);
88
+ for (const toolCall of result.getToolCalls()) {
89
+ if (remeda.isString(toolCall.input)) {
90
+ toolCall.input = JSON.parse(toolCall.input);
91
+ }
92
+ }
85
93
  if (forceToolCallViaResponseFormat && remeda.isEmpty(result.getToolCalls())) {
86
94
  const lastMsg = result.messages.at(-1);
87
- const toolCall = schema_cjs.parseBrokenJson(lastMsg.text);
88
- if (!toolCall) {
95
+ const toolCall = schema_cjs.parseBrokenJson(lastMsg.text, {
96
+ pair: [
97
+ "{",
98
+ "}"
99
+ ]
100
+ });
101
+ if (!toolCall || !toolCall.name || !toolCall.parameters) {
89
102
  throw new errors_cjs.ChatModelError(`Failed to produce a valid tool call. Generate output: ${lastMsg.text}`, [], {
90
103
  isFatal: true,
91
104
  isRetryable: false
@@ -143,7 +156,11 @@ class ChatModel extends serializable_cjs.Serializable {
143
156
  static async fromName(name, options) {
144
157
  const { providerId, modelId } = utils_cjs$1.parseModel(name);
145
158
  const Target = await utils_cjs$1.loadModel(providerId, "chat");
146
- return new Target(modelId || void 0, options);
159
+ const instance = new Target(modelId || void 0);
160
+ if (options) {
161
+ Object.assign(instance.parameters, options);
162
+ }
163
+ return instance;
147
164
  }
148
165
  async _createStructure(input, run) {
149
166
  const { schema, ...options } = input;
@@ -277,6 +294,7 @@ class ChatModelOutput extends serializable_cjs.Serializable {
277
294
  finishReason;
278
295
  constructor(messages, usage, finishReason) {
279
296
  super(), this.messages = messages, this.usage = usage, this.finishReason = finishReason;
297
+ this.dedupe();
280
298
  }
281
299
  static fromChunks(chunks) {
282
300
  const final = new ChatModelOutput([]);
@@ -284,7 +302,11 @@ class ChatModelOutput extends serializable_cjs.Serializable {
284
302
  return final;
285
303
  }
286
304
  merge(other) {
287
- this.messages.push(...other.messages);
305
+ if (other.messages.length > 0) {
306
+ const clones = other.messages.map(cloneSync);
307
+ this.messages.push(...clones);
308
+ this.dedupe();
309
+ }
288
310
  this.finishReason = other.finishReason;
289
311
  if (this.usage && other.usage) {
290
312
  this.usage = object_cjs.customMerge([
@@ -299,6 +321,89 @@ class ChatModelOutput extends serializable_cjs.Serializable {
299
321
  this.usage = utils_cjs.shallowCopy(other.usage);
300
322
  }
301
323
  }
324
+ dedupe() {
325
+ if (this.messages.length > 1) {
326
+ const messagesById = /* @__PURE__ */ new Map();
327
+ const messagesByToolCallId = /* @__PURE__ */ new Map();
328
+ for (const msg of this.messages) {
329
+ const msgId = msg.id || "";
330
+ if (msg instanceof message_cjs.AssistantMessage && msg.getToolCalls().length > 0) {
331
+ const filteredChunks = [];
332
+ for (const chunk of msg.content) {
333
+ if (chunk.type !== "tool-call") {
334
+ filteredChunks.push(chunk);
335
+ continue;
336
+ }
337
+ if (!chunk.toolCallId && messagesByToolCallId.size > 0) {
338
+ const lastToolCallId = Array.from(messagesByToolCallId.keys()).pop();
339
+ if (lastToolCallId) {
340
+ chunk.toolCallId = lastToolCallId;
341
+ }
342
+ }
343
+ if (chunk.toolCallId && messagesByToolCallId.has(chunk.toolCallId)) {
344
+ messagesByToolCallId.get(chunk.toolCallId).content.push(chunk);
345
+ } else if (chunk.toolCallId) {
346
+ messagesByToolCallId.set(chunk.toolCallId, msg);
347
+ filteredChunks.push(chunk);
348
+ }
349
+ }
350
+ msg.content.length = 0;
351
+ msg.content.push(...filteredChunks);
352
+ if (filteredChunks.length === 0) {
353
+ continue;
354
+ }
355
+ }
356
+ if (!messagesById.has(msgId)) {
357
+ messagesById.set(msgId, [
358
+ msg
359
+ ]);
360
+ } else {
361
+ messagesById.get(msgId).push(msg);
362
+ }
363
+ }
364
+ this.messages.length = 0;
365
+ for (const messages of messagesById.values()) {
366
+ const main = messages.shift();
367
+ for (const other of messages) {
368
+ main.merge(other);
369
+ }
370
+ this.messages.push(main);
371
+ }
372
+ }
373
+ for (const msg of this.messages) {
374
+ if (!(msg instanceof message_cjs.AssistantMessage)) {
375
+ continue;
376
+ }
377
+ const finalToolCalls = {};
378
+ let lastId = "";
379
+ const excludedIndexes = [];
380
+ msg.content.forEach((chunk, index) => {
381
+ if (chunk.type !== "tool-call") {
382
+ return;
383
+ }
384
+ const id = chunk.toolCallId || lastId;
385
+ if (!(id in finalToolCalls)) {
386
+ finalToolCalls[id] = utils_cjs.shallowCopy(chunk);
387
+ msg.content[index] = finalToolCalls[id];
388
+ } else {
389
+ excludedIndexes.push(index);
390
+ const lastToolCall = finalToolCalls[id];
391
+ if (remeda.isString(lastToolCall.input) && remeda.isString(chunk.input)) {
392
+ lastToolCall.input += chunk.input;
393
+ } else {
394
+ throw new Error("Chunks cannot be merged.");
395
+ }
396
+ if (!lastToolCall.toolName) {
397
+ lastToolCall.toolName = chunk.toolName;
398
+ }
399
+ }
400
+ lastId = id;
401
+ });
402
+ excludedIndexes.reverse().forEach((index) => {
403
+ msg.content.splice(index, 1);
404
+ });
405
+ }
406
+ }
302
407
  getToolCalls() {
303
408
  return this.messages.filter((r) => r instanceof message_cjs.AssistantMessage).flatMap((r) => r.getToolCalls()).filter(Boolean);
304
409
  }
@@ -322,6 +427,19 @@ class ChatModelOutput extends serializable_cjs.Serializable {
322
427
  Object.assign(this, snapshot);
323
428
  }
324
429
  }
430
+ function cloneSync(serializable) {
431
+ const snapshot = serializable.createSnapshot();
432
+ if (remeda.isPromise(snapshot)) {
433
+ throw new Error(`createSnapshot cannot be async`);
434
+ }
435
+ const target = Object.create(serializable.constructor.prototype);
436
+ const load = target.loadSnapshot(snapshot);
437
+ if (remeda.isPromise(load)) {
438
+ throw new Error(`loadSnapshot cannot be async`);
439
+ }
440
+ return target;
441
+ }
442
+ __name(cloneSync, "cloneSync");
325
443
 
326
444
  exports.ChatModel = ChatModel;
327
445
  exports.ChatModelOutput = ChatModelOutput;