beeai-framework 0.1.15 → 0.1.17

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 (629) hide show
  1. package/dist/adapters/acp/agents/agent.cjs.map +1 -1
  2. package/dist/adapters/acp/agents/agent.d.cts +3 -14
  3. package/dist/adapters/acp/agents/agent.d.ts +3 -14
  4. package/dist/adapters/acp/agents/agent.js.map +1 -1
  5. package/dist/adapters/acp/agents/events.d.cts +2 -13
  6. package/dist/adapters/acp/agents/events.d.ts +2 -13
  7. package/dist/adapters/acp/agents/types.d.cts +1 -12
  8. package/dist/adapters/acp/agents/types.d.ts +1 -12
  9. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  10. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +3 -14
  11. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +3 -14
  12. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  13. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  14. package/dist/adapters/amazon-bedrock/backend/client.d.cts +1 -12
  15. package/dist/adapters/amazon-bedrock/backend/client.d.ts +1 -12
  16. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  17. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  18. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +3 -14
  19. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +3 -14
  20. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  21. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  22. package/dist/adapters/anthropic/backend/chat.d.cts +3 -14
  23. package/dist/adapters/anthropic/backend/chat.d.ts +3 -14
  24. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  25. package/dist/adapters/anthropic/backend/client.cjs +1 -4
  26. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  27. package/dist/adapters/anthropic/backend/client.d.cts +1 -12
  28. package/dist/adapters/anthropic/backend/client.d.ts +1 -12
  29. package/dist/adapters/anthropic/backend/client.js +3 -6
  30. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  31. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  32. package/dist/adapters/anthropic/backend/embedding.d.cts +3 -14
  33. package/dist/adapters/anthropic/backend/embedding.d.ts +3 -14
  34. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  35. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  36. package/dist/adapters/azure-openai/backend/chat.d.cts +3 -14
  37. package/dist/adapters/azure-openai/backend/chat.d.ts +3 -14
  38. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  39. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  40. package/dist/adapters/azure-openai/backend/client.d.cts +1 -12
  41. package/dist/adapters/azure-openai/backend/client.d.ts +1 -12
  42. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  43. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  44. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -14
  45. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -14
  46. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  47. package/dist/adapters/beeai_platform/agents/agent.cjs.map +1 -1
  48. package/dist/adapters/beeai_platform/agents/agent.d.cts +2 -2
  49. package/dist/adapters/beeai_platform/agents/agent.d.ts +2 -2
  50. package/dist/adapters/beeai_platform/agents/agent.js.map +1 -1
  51. package/dist/adapters/beeai_platform/agents/events.d.cts +2 -13
  52. package/dist/adapters/beeai_platform/agents/events.d.ts +2 -13
  53. package/dist/adapters/beeai_platform/agents/types.d.cts +1 -12
  54. package/dist/adapters/beeai_platform/agents/types.d.ts +1 -12
  55. package/dist/adapters/dummy/backend/chat.cjs +9 -9
  56. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  57. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  58. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  59. package/dist/adapters/dummy/backend/chat.js +9 -9
  60. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  61. package/dist/adapters/dummy/backend/embedding.cjs +9 -9
  62. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  63. package/dist/adapters/dummy/backend/embedding.d.cts +3 -14
  64. package/dist/adapters/dummy/backend/embedding.d.ts +3 -14
  65. package/dist/adapters/dummy/backend/embedding.js +9 -9
  66. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  67. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  68. package/dist/adapters/google-vertex/backend/chat.d.cts +3 -14
  69. package/dist/adapters/google-vertex/backend/chat.d.ts +3 -14
  70. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  71. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  72. package/dist/adapters/google-vertex/backend/client.d.cts +1 -12
  73. package/dist/adapters/google-vertex/backend/client.d.ts +1 -12
  74. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  75. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  76. package/dist/adapters/google-vertex/backend/embedding.d.cts +3 -14
  77. package/dist/adapters/google-vertex/backend/embedding.d.ts +3 -14
  78. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  79. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  80. package/dist/adapters/groq/backend/chat.d.cts +3 -14
  81. package/dist/adapters/groq/backend/chat.d.ts +3 -14
  82. package/dist/adapters/groq/backend/chat.js.map +1 -1
  83. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  84. package/dist/adapters/groq/backend/client.d.cts +1 -12
  85. package/dist/adapters/groq/backend/client.d.ts +1 -12
  86. package/dist/adapters/groq/backend/client.js.map +1 -1
  87. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  88. package/dist/adapters/groq/backend/embedding.d.cts +3 -14
  89. package/dist/adapters/groq/backend/embedding.d.ts +3 -14
  90. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  91. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  92. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  93. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  94. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  95. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  96. package/dist/adapters/langchain/backend/embedding.d.cts +3 -14
  97. package/dist/adapters/langchain/backend/embedding.d.ts +3 -14
  98. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  99. package/dist/adapters/langchain/tools.cjs.map +1 -1
  100. package/dist/adapters/langchain/tools.d.cts +1 -1
  101. package/dist/adapters/langchain/tools.d.ts +1 -1
  102. package/dist/adapters/langchain/tools.js.map +1 -1
  103. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
  104. package/dist/adapters/mcp/serve/http_server.d.cts +1 -12
  105. package/dist/adapters/mcp/serve/http_server.d.ts +1 -12
  106. package/dist/adapters/mcp/serve/http_server.js.map +1 -1
  107. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
  108. package/dist/adapters/mcp/serve/in_memory_store.d.cts +1 -12
  109. package/dist/adapters/mcp/serve/in_memory_store.d.ts +1 -12
  110. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
  111. package/dist/adapters/mcp/serve/server.cjs.map +1 -1
  112. package/dist/adapters/mcp/serve/server.d.cts +1 -12
  113. package/dist/adapters/mcp/serve/server.d.ts +1 -12
  114. package/dist/adapters/mcp/serve/server.js.map +1 -1
  115. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  116. package/dist/adapters/ollama/backend/chat.d.cts +3 -14
  117. package/dist/adapters/ollama/backend/chat.d.ts +3 -14
  118. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  119. package/dist/adapters/ollama/backend/client.cjs +12 -3
  120. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  121. package/dist/adapters/ollama/backend/client.d.cts +4 -13
  122. package/dist/adapters/ollama/backend/client.d.ts +4 -13
  123. package/dist/adapters/ollama/backend/client.js +13 -4
  124. package/dist/adapters/ollama/backend/client.js.map +1 -1
  125. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  126. package/dist/adapters/ollama/backend/embedding.d.cts +3 -14
  127. package/dist/adapters/ollama/backend/embedding.d.ts +3 -14
  128. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  129. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  130. package/dist/adapters/openai/backend/chat.d.cts +3 -14
  131. package/dist/adapters/openai/backend/chat.d.ts +3 -14
  132. package/dist/adapters/openai/backend/chat.js.map +1 -1
  133. package/dist/adapters/openai/backend/client.cjs +1 -4
  134. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  135. package/dist/adapters/openai/backend/client.d.cts +1 -12
  136. package/dist/adapters/openai/backend/client.d.ts +1 -12
  137. package/dist/adapters/openai/backend/client.js +3 -6
  138. package/dist/adapters/openai/backend/client.js.map +1 -1
  139. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  140. package/dist/adapters/openai/backend/embedding.d.cts +3 -14
  141. package/dist/adapters/openai/backend/embedding.d.ts +3 -14
  142. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  143. package/dist/adapters/vercel/backend/chat.cjs +2 -2
  144. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  145. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  146. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  147. package/dist/adapters/vercel/backend/chat.js +2 -2
  148. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  149. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  150. package/dist/adapters/vercel/backend/embedding.d.cts +3 -14
  151. package/dist/adapters/vercel/backend/embedding.d.ts +3 -14
  152. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  153. package/dist/adapters/vercel/backend/utils.cjs +11 -2
  154. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  155. package/dist/adapters/vercel/backend/utils.d.cts +3 -13
  156. package/dist/adapters/vercel/backend/utils.d.ts +3 -13
  157. package/dist/adapters/vercel/backend/utils.js +11 -3
  158. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  159. package/dist/adapters/watsonx/backend/chat.cjs +13 -13
  160. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  161. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  162. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  163. package/dist/adapters/watsonx/backend/chat.js +13 -13
  164. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  165. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  166. package/dist/adapters/watsonx/backend/client.d.cts +1 -12
  167. package/dist/adapters/watsonx/backend/client.d.ts +1 -12
  168. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  169. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  170. package/dist/adapters/watsonx/backend/embedding.d.cts +3 -14
  171. package/dist/adapters/watsonx/backend/embedding.d.ts +3 -14
  172. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  173. package/dist/adapters/xai/backend/chat.cjs +24 -0
  174. package/dist/adapters/xai/backend/chat.cjs.map +1 -0
  175. package/dist/adapters/xai/backend/chat.d.cts +39 -0
  176. package/dist/adapters/xai/backend/chat.d.ts +39 -0
  177. package/dist/adapters/xai/backend/chat.js +22 -0
  178. package/dist/adapters/xai/backend/chat.js.map +1 -0
  179. package/dist/adapters/xai/backend/client.cjs +26 -0
  180. package/dist/adapters/xai/backend/client.cjs.map +1 -0
  181. package/dist/adapters/xai/backend/client.d.cts +17 -0
  182. package/dist/adapters/xai/backend/client.d.ts +17 -0
  183. package/dist/adapters/xai/backend/client.js +24 -0
  184. package/dist/adapters/xai/backend/client.js.map +1 -0
  185. package/dist/{agent-CgsoqVL5.d.ts → agent-CUzHyTQd.d.ts} +3 -3
  186. package/dist/{agent-Ca5UE2P1.d.cts → agent-Cqh2zuKJ.d.cts} +3 -3
  187. package/dist/agents/base.cjs.map +1 -1
  188. package/dist/agents/base.d.cts +2 -2
  189. package/dist/agents/base.d.ts +2 -2
  190. package/dist/agents/base.js.map +1 -1
  191. package/dist/agents/experimental/replan/agent.cjs +8 -8
  192. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  193. package/dist/agents/experimental/replan/agent.d.cts +4 -15
  194. package/dist/agents/experimental/replan/agent.d.ts +4 -15
  195. package/dist/agents/experimental/replan/agent.js +8 -8
  196. package/dist/agents/experimental/replan/agent.js.map +1 -1
  197. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  198. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  199. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  200. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  201. package/dist/agents/experimental/streamlit/agent.cjs +9 -9
  202. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  203. package/dist/agents/experimental/streamlit/agent.d.cts +4 -15
  204. package/dist/agents/experimental/streamlit/agent.d.ts +4 -15
  205. package/dist/agents/experimental/streamlit/agent.js +9 -9
  206. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  207. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  208. package/dist/agents/experimental/streamlit/prompts.d.cts +1 -12
  209. package/dist/agents/experimental/streamlit/prompts.d.ts +1 -12
  210. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  211. package/dist/agents/react/agent.cjs +8 -8
  212. package/dist/agents/react/agent.cjs.map +1 -1
  213. package/dist/agents/react/agent.d.cts +4 -4
  214. package/dist/agents/react/agent.d.ts +4 -4
  215. package/dist/agents/react/agent.js +8 -8
  216. package/dist/agents/react/agent.js.map +1 -1
  217. package/dist/agents/react/prompts.cjs.map +1 -1
  218. package/dist/agents/react/prompts.d.cts +1 -12
  219. package/dist/agents/react/prompts.d.ts +1 -12
  220. package/dist/agents/react/prompts.js.map +1 -1
  221. package/dist/agents/react/runners/base.cjs +2 -2
  222. package/dist/agents/react/runners/base.cjs.map +1 -1
  223. package/dist/agents/react/runners/base.d.cts +4 -4
  224. package/dist/agents/react/runners/base.d.ts +4 -4
  225. package/dist/agents/react/runners/base.js +2 -2
  226. package/dist/agents/react/runners/base.js.map +1 -1
  227. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  228. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -12
  229. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -12
  230. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  231. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  232. package/dist/agents/react/runners/deep-think/runner.d.cts +4 -4
  233. package/dist/agents/react/runners/deep-think/runner.d.ts +4 -4
  234. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  235. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  236. package/dist/agents/react/runners/default/runner.d.cts +4 -4
  237. package/dist/agents/react/runners/default/runner.d.ts +4 -4
  238. package/dist/agents/react/runners/default/runner.js.map +1 -1
  239. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  240. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  241. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  242. package/dist/agents/react/runners/granite/prompts.d.cts +1 -12
  243. package/dist/agents/react/runners/granite/prompts.d.ts +1 -12
  244. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  245. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  246. package/dist/agents/react/runners/granite/runner.d.cts +4 -4
  247. package/dist/agents/react/runners/granite/runner.d.ts +4 -4
  248. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  249. package/dist/agents/react/types.d.cts +3 -14
  250. package/dist/agents/react/types.d.ts +3 -14
  251. package/dist/agents/toolCalling/agent.cjs +9 -9
  252. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  253. package/dist/agents/toolCalling/agent.d.cts +4 -15
  254. package/dist/agents/toolCalling/agent.d.ts +4 -15
  255. package/dist/agents/toolCalling/agent.js +9 -9
  256. package/dist/agents/toolCalling/agent.js.map +1 -1
  257. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  258. package/dist/agents/toolCalling/prompts.d.cts +1 -12
  259. package/dist/agents/toolCalling/prompts.d.ts +1 -12
  260. package/dist/agents/toolCalling/prompts.js.map +1 -1
  261. package/dist/agents/toolCalling/types.d.cts +2 -13
  262. package/dist/agents/toolCalling/types.d.ts +2 -13
  263. package/dist/agents/types.d.cts +2 -2
  264. package/dist/agents/types.d.ts +2 -2
  265. package/dist/backend/backend.cjs.map +1 -1
  266. package/dist/backend/backend.d.cts +3 -14
  267. package/dist/backend/backend.d.ts +3 -14
  268. package/dist/backend/backend.js.map +1 -1
  269. package/dist/backend/chat.cjs.map +1 -1
  270. package/dist/backend/chat.d.cts +2 -2
  271. package/dist/backend/chat.d.ts +2 -2
  272. package/dist/backend/chat.js.map +1 -1
  273. package/dist/backend/client.cjs.map +1 -1
  274. package/dist/backend/client.d.cts +1 -12
  275. package/dist/backend/client.d.ts +1 -12
  276. package/dist/backend/client.js.map +1 -1
  277. package/dist/backend/constants.cjs +8 -0
  278. package/dist/backend/constants.cjs.map +1 -1
  279. package/dist/backend/constants.d.cts +6 -12
  280. package/dist/backend/constants.d.ts +6 -12
  281. package/dist/backend/constants.js +8 -0
  282. package/dist/backend/constants.js.map +1 -1
  283. package/dist/backend/core.d.cts +2 -2
  284. package/dist/backend/core.d.ts +2 -2
  285. package/dist/backend/embedding.cjs.map +1 -1
  286. package/dist/backend/embedding.d.cts +2 -2
  287. package/dist/backend/embedding.d.ts +2 -2
  288. package/dist/backend/embedding.js.map +1 -1
  289. package/dist/backend/errors.cjs.map +1 -1
  290. package/dist/backend/errors.d.cts +1 -12
  291. package/dist/backend/errors.d.ts +1 -12
  292. package/dist/backend/errors.js.map +1 -1
  293. package/dist/backend/message.cjs.map +1 -1
  294. package/dist/backend/message.d.cts +1 -12
  295. package/dist/backend/message.d.ts +1 -12
  296. package/dist/backend/message.js.map +1 -1
  297. package/dist/backend/utils.cjs.map +1 -1
  298. package/dist/backend/utils.d.cts +2 -2
  299. package/dist/backend/utils.d.ts +2 -2
  300. package/dist/backend/utils.js.map +1 -1
  301. package/dist/{base-szR2Izbt.d.cts → base-Bc-Xv1jG.d.cts} +2 -13
  302. package/dist/{base-BOCDDBvG.d.ts → base-BrMAtrc_.d.ts} +2 -13
  303. package/dist/cache/base.cjs.map +1 -1
  304. package/dist/cache/base.d.cts +1 -12
  305. package/dist/cache/base.d.ts +1 -12
  306. package/dist/cache/base.js.map +1 -1
  307. package/dist/cache/decoratorCache.cjs +2 -2
  308. package/dist/cache/decoratorCache.cjs.map +1 -1
  309. package/dist/cache/decoratorCache.d.cts +1 -12
  310. package/dist/cache/decoratorCache.d.ts +1 -12
  311. package/dist/cache/decoratorCache.js +2 -2
  312. package/dist/cache/decoratorCache.js.map +1 -1
  313. package/dist/cache/fileCache.cjs.map +1 -1
  314. package/dist/cache/fileCache.d.cts +1 -12
  315. package/dist/cache/fileCache.d.ts +1 -12
  316. package/dist/cache/fileCache.js.map +1 -1
  317. package/dist/cache/nullCache.cjs.map +1 -1
  318. package/dist/cache/nullCache.d.cts +1 -12
  319. package/dist/cache/nullCache.d.ts +1 -12
  320. package/dist/cache/nullCache.js.map +1 -1
  321. package/dist/cache/slidingCache.cjs.map +1 -1
  322. package/dist/cache/slidingCache.d.cts +1 -12
  323. package/dist/cache/slidingCache.d.ts +1 -12
  324. package/dist/cache/slidingCache.js.map +1 -1
  325. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  326. package/dist/cache/unconstrainedCache.d.cts +1 -12
  327. package/dist/cache/unconstrainedCache.d.ts +1 -12
  328. package/dist/cache/unconstrainedCache.js.map +1 -1
  329. package/dist/{chat-DvMzAHj6.d.cts → chat-CR4yfOR9.d.cts} +3 -14
  330. package/dist/{chat-BdN8hGWn.d.ts → chat-W9j8T6UU.d.ts} +3 -14
  331. package/dist/context.cjs +3 -4
  332. package/dist/context.cjs.map +1 -1
  333. package/dist/context.d.cts +2 -13
  334. package/dist/context.d.ts +2 -13
  335. package/dist/context.js +3 -4
  336. package/dist/context.js.map +1 -1
  337. package/dist/emitter/emitter.cjs.map +1 -1
  338. package/dist/emitter/emitter.d.cts +1 -1
  339. package/dist/emitter/emitter.d.ts +1 -1
  340. package/dist/emitter/emitter.js.map +1 -1
  341. package/dist/emitter/errors.cjs.map +1 -1
  342. package/dist/emitter/errors.d.cts +1 -12
  343. package/dist/emitter/errors.d.ts +1 -12
  344. package/dist/emitter/errors.js.map +1 -1
  345. package/dist/emitter/types.d.cts +1 -1
  346. package/dist/emitter/types.d.ts +1 -1
  347. package/dist/emitter/utils.cjs.map +1 -1
  348. package/dist/emitter/utils.d.cts +1 -12
  349. package/dist/emitter/utils.d.ts +1 -12
  350. package/dist/emitter/utils.js.map +1 -1
  351. package/dist/{emitter-C3dO-s2P.d.ts → emitter-C9nwGLt6.d.ts} +3 -25
  352. package/dist/{emitter-D5Mu0EEH.d.cts → emitter-DWEsd-ud.d.cts} +3 -25
  353. package/dist/errors.cjs.map +1 -1
  354. package/dist/errors.d.cts +1 -12
  355. package/dist/errors.d.ts +1 -12
  356. package/dist/errors.js.map +1 -1
  357. package/dist/index.d.cts +4 -4
  358. package/dist/index.d.ts +4 -4
  359. package/dist/internals/env.cjs.map +1 -1
  360. package/dist/internals/env.d.cts +1 -12
  361. package/dist/internals/env.d.ts +1 -12
  362. package/dist/internals/env.js.map +1 -1
  363. package/dist/internals/fetcher.cjs +8 -8
  364. package/dist/internals/fetcher.cjs.map +1 -1
  365. package/dist/internals/fetcher.d.cts +2 -13
  366. package/dist/internals/fetcher.d.ts +2 -13
  367. package/dist/internals/fetcher.js +8 -8
  368. package/dist/internals/fetcher.js.map +1 -1
  369. package/dist/internals/helpers/array.cjs.map +1 -1
  370. package/dist/internals/helpers/array.d.cts +1 -12
  371. package/dist/internals/helpers/array.d.ts +1 -12
  372. package/dist/internals/helpers/array.js.map +1 -1
  373. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  374. package/dist/internals/helpers/cancellation.d.cts +1 -12
  375. package/dist/internals/helpers/cancellation.d.ts +1 -12
  376. package/dist/internals/helpers/cancellation.js.map +1 -1
  377. package/dist/internals/helpers/counter.cjs.map +1 -1
  378. package/dist/internals/helpers/counter.d.cts +1 -12
  379. package/dist/internals/helpers/counter.d.ts +1 -12
  380. package/dist/internals/helpers/counter.js.map +1 -1
  381. package/dist/internals/helpers/general.cjs.map +1 -1
  382. package/dist/internals/helpers/general.d.cts +1 -12
  383. package/dist/internals/helpers/general.d.ts +1 -12
  384. package/dist/internals/helpers/general.js.map +1 -1
  385. package/dist/internals/helpers/guards.cjs.map +1 -1
  386. package/dist/internals/helpers/guards.d.cts +1 -12
  387. package/dist/internals/helpers/guards.d.ts +1 -12
  388. package/dist/internals/helpers/guards.js.map +1 -1
  389. package/dist/internals/helpers/hash.cjs.map +1 -1
  390. package/dist/internals/helpers/hash.d.cts +1 -12
  391. package/dist/internals/helpers/hash.d.ts +1 -12
  392. package/dist/internals/helpers/hash.js.map +1 -1
  393. package/dist/internals/helpers/map.cjs.map +1 -1
  394. package/dist/internals/helpers/map.d.cts +1 -12
  395. package/dist/internals/helpers/map.d.ts +1 -12
  396. package/dist/internals/helpers/map.js.map +1 -1
  397. package/dist/internals/helpers/math.cjs.map +1 -1
  398. package/dist/internals/helpers/math.d.cts +1 -12
  399. package/dist/internals/helpers/math.d.ts +1 -12
  400. package/dist/internals/helpers/math.js.map +1 -1
  401. package/dist/internals/helpers/number.cjs.map +1 -1
  402. package/dist/internals/helpers/number.d.cts +1 -12
  403. package/dist/internals/helpers/number.d.ts +1 -12
  404. package/dist/internals/helpers/number.js.map +1 -1
  405. package/dist/internals/helpers/object.cjs.map +1 -1
  406. package/dist/internals/helpers/object.d.cts +1 -12
  407. package/dist/internals/helpers/object.d.ts +1 -12
  408. package/dist/internals/helpers/object.js.map +1 -1
  409. package/dist/internals/helpers/paginate.cjs.map +1 -1
  410. package/dist/internals/helpers/paginate.d.cts +1 -12
  411. package/dist/internals/helpers/paginate.d.ts +1 -12
  412. package/dist/internals/helpers/paginate.js.map +1 -1
  413. package/dist/internals/helpers/promise.cjs +1 -3
  414. package/dist/internals/helpers/promise.cjs.map +1 -1
  415. package/dist/internals/helpers/promise.d.cts +1 -12
  416. package/dist/internals/helpers/promise.d.ts +1 -12
  417. package/dist/internals/helpers/promise.js +1 -3
  418. package/dist/internals/helpers/promise.js.map +1 -1
  419. package/dist/internals/helpers/prototype.cjs.map +1 -1
  420. package/dist/internals/helpers/prototype.d.cts +1 -12
  421. package/dist/internals/helpers/prototype.d.ts +1 -12
  422. package/dist/internals/helpers/prototype.js.map +1 -1
  423. package/dist/internals/helpers/retry.cjs.map +1 -1
  424. package/dist/internals/helpers/retry.d.cts +1 -12
  425. package/dist/internals/helpers/retry.d.ts +1 -12
  426. package/dist/internals/helpers/retry.js.map +1 -1
  427. package/dist/internals/helpers/retryable.cjs.map +1 -1
  428. package/dist/internals/helpers/retryable.d.cts +1 -12
  429. package/dist/internals/helpers/retryable.d.ts +1 -12
  430. package/dist/internals/helpers/retryable.js.map +1 -1
  431. package/dist/internals/helpers/schema.cjs.map +1 -1
  432. package/dist/internals/helpers/schema.d.cts +1 -12
  433. package/dist/internals/helpers/schema.d.ts +1 -12
  434. package/dist/internals/helpers/schema.js.map +1 -1
  435. package/dist/internals/helpers/stream.cjs.map +1 -1
  436. package/dist/internals/helpers/stream.d.cts +1 -12
  437. package/dist/internals/helpers/stream.d.ts +1 -12
  438. package/dist/internals/helpers/stream.js.map +1 -1
  439. package/dist/internals/helpers/string.cjs.map +1 -1
  440. package/dist/internals/helpers/string.d.cts +1 -12
  441. package/dist/internals/helpers/string.d.ts +1 -12
  442. package/dist/internals/helpers/string.js.map +1 -1
  443. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  444. package/dist/internals/helpers/weakRef.d.cts +1 -12
  445. package/dist/internals/helpers/weakRef.d.ts +1 -12
  446. package/dist/internals/helpers/weakRef.js.map +1 -1
  447. package/dist/internals/serializable.cjs.map +1 -1
  448. package/dist/internals/serializable.d.cts +1 -12
  449. package/dist/internals/serializable.d.ts +1 -12
  450. package/dist/internals/serializable.js.map +1 -1
  451. package/dist/internals/types.cjs.map +1 -1
  452. package/dist/internals/types.d.cts +1 -12
  453. package/dist/internals/types.d.ts +1 -12
  454. package/dist/internals/types.js.map +1 -1
  455. package/dist/logger/logger.cjs.map +1 -1
  456. package/dist/logger/logger.js.map +1 -1
  457. package/dist/logger/pretty.cjs.map +1 -1
  458. package/dist/logger/pretty.js.map +1 -1
  459. package/dist/memory/base.cjs.map +1 -1
  460. package/dist/memory/base.js.map +1 -1
  461. package/dist/memory/slidingMemory.cjs.map +1 -1
  462. package/dist/memory/slidingMemory.d.cts +1 -1
  463. package/dist/memory/slidingMemory.d.ts +1 -1
  464. package/dist/memory/slidingMemory.js.map +1 -1
  465. package/dist/memory/summarizeMemory.cjs.map +1 -1
  466. package/dist/memory/summarizeMemory.d.cts +2 -2
  467. package/dist/memory/summarizeMemory.d.ts +2 -2
  468. package/dist/memory/summarizeMemory.js.map +1 -1
  469. package/dist/memory/tokenMemory.cjs.map +1 -1
  470. package/dist/memory/tokenMemory.js.map +1 -1
  471. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  472. package/dist/memory/unconstrainedMemory.js.map +1 -1
  473. package/dist/parsers/errors.cjs.map +1 -1
  474. package/dist/parsers/errors.d.cts +1 -12
  475. package/dist/parsers/errors.d.ts +1 -12
  476. package/dist/parsers/errors.js.map +1 -1
  477. package/dist/parsers/field.cjs +2 -2
  478. package/dist/parsers/field.cjs.map +1 -1
  479. package/dist/parsers/field.js +2 -2
  480. package/dist/parsers/field.js.map +1 -1
  481. package/dist/parsers/linePrefix.cjs +15 -15
  482. package/dist/parsers/linePrefix.cjs.map +1 -1
  483. package/dist/parsers/linePrefix.d.cts +2 -13
  484. package/dist/parsers/linePrefix.d.ts +2 -13
  485. package/dist/parsers/linePrefix.js +15 -15
  486. package/dist/parsers/linePrefix.js.map +1 -1
  487. package/dist/serializer/error.cjs.map +1 -1
  488. package/dist/serializer/error.d.cts +1 -12
  489. package/dist/serializer/error.d.ts +1 -12
  490. package/dist/serializer/error.js.map +1 -1
  491. package/dist/serializer/serializer.cjs.map +1 -1
  492. package/dist/serializer/serializer.d.cts +1 -1
  493. package/dist/serializer/serializer.d.ts +1 -1
  494. package/dist/serializer/serializer.js.map +1 -1
  495. package/dist/serializer/utils.cjs +1 -2
  496. package/dist/serializer/utils.cjs.map +1 -1
  497. package/dist/serializer/utils.d.cts +1 -1
  498. package/dist/serializer/utils.d.ts +1 -1
  499. package/dist/serializer/utils.js +1 -2
  500. package/dist/serializer/utils.js.map +1 -1
  501. package/dist/{serializer-Dz4AIM2O.d.cts → serializer-BKn50Vnx.d.cts} +2 -24
  502. package/dist/{serializer-BswFRdT8.d.ts → serializer-CQxucveV.d.ts} +2 -24
  503. package/dist/serve/server.cjs +1 -2
  504. package/dist/serve/server.cjs.map +1 -1
  505. package/dist/serve/server.d.cts +1 -12
  506. package/dist/serve/server.d.ts +1 -12
  507. package/dist/serve/server.js +1 -2
  508. package/dist/serve/server.js.map +1 -1
  509. package/dist/template.cjs.map +1 -1
  510. package/dist/template.d.cts +1 -12
  511. package/dist/template.d.ts +1 -12
  512. package/dist/template.js.map +1 -1
  513. package/dist/tools/arxiv.cjs.map +1 -1
  514. package/dist/tools/arxiv.d.cts +2 -13
  515. package/dist/tools/arxiv.d.ts +2 -13
  516. package/dist/tools/arxiv.js.map +1 -1
  517. package/dist/tools/base.cjs.map +1 -1
  518. package/dist/tools/base.d.cts +1 -1
  519. package/dist/tools/base.d.ts +1 -1
  520. package/dist/tools/base.js.map +1 -1
  521. package/dist/tools/calculator.cjs.map +1 -1
  522. package/dist/tools/calculator.d.cts +2 -13
  523. package/dist/tools/calculator.d.ts +2 -13
  524. package/dist/tools/calculator.js.map +1 -1
  525. package/dist/tools/custom.cjs.map +1 -1
  526. package/dist/tools/custom.d.cts +3 -14
  527. package/dist/tools/custom.d.ts +3 -14
  528. package/dist/tools/custom.js.map +1 -1
  529. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  530. package/dist/tools/database/elasticsearch.d.cts +2 -13
  531. package/dist/tools/database/elasticsearch.d.ts +2 -13
  532. package/dist/tools/database/elasticsearch.js.map +1 -1
  533. package/dist/tools/database/metadata.cjs.map +1 -1
  534. package/dist/tools/database/metadata.d.cts +1 -12
  535. package/dist/tools/database/metadata.d.ts +1 -12
  536. package/dist/tools/database/metadata.js.map +1 -1
  537. package/dist/tools/database/milvus.cjs.map +1 -1
  538. package/dist/tools/database/milvus.d.cts +2 -13
  539. package/dist/tools/database/milvus.d.ts +2 -13
  540. package/dist/tools/database/milvus.js.map +1 -1
  541. package/dist/tools/database/qdrant.cjs.map +1 -1
  542. package/dist/tools/database/qdrant.d.cts +2 -13
  543. package/dist/tools/database/qdrant.d.ts +2 -13
  544. package/dist/tools/database/qdrant.js.map +1 -1
  545. package/dist/tools/database/sql.cjs.map +1 -1
  546. package/dist/tools/database/sql.d.cts +2 -13
  547. package/dist/tools/database/sql.d.ts +2 -13
  548. package/dist/tools/database/sql.js.map +1 -1
  549. package/dist/tools/llm.cjs +3 -3
  550. package/dist/tools/llm.cjs.map +1 -1
  551. package/dist/tools/llm.d.cts +3 -14
  552. package/dist/tools/llm.d.ts +3 -14
  553. package/dist/tools/llm.js +3 -3
  554. package/dist/tools/llm.js.map +1 -1
  555. package/dist/tools/mcp.cjs +2 -1
  556. package/dist/tools/mcp.cjs.map +1 -1
  557. package/dist/tools/mcp.d.cts +2 -13
  558. package/dist/tools/mcp.d.ts +2 -13
  559. package/dist/tools/mcp.js +2 -1
  560. package/dist/tools/mcp.js.map +1 -1
  561. package/dist/tools/openapi.cjs.map +1 -1
  562. package/dist/tools/openapi.d.cts +1 -1
  563. package/dist/tools/openapi.d.ts +1 -1
  564. package/dist/tools/openapi.js.map +1 -1
  565. package/dist/tools/python/output.cjs.map +1 -1
  566. package/dist/tools/python/output.d.cts +2 -13
  567. package/dist/tools/python/output.d.ts +2 -13
  568. package/dist/tools/python/output.js.map +1 -1
  569. package/dist/tools/python/python.cjs.map +1 -1
  570. package/dist/tools/python/python.d.cts +2 -2
  571. package/dist/tools/python/python.d.ts +2 -2
  572. package/dist/tools/python/python.js.map +1 -1
  573. package/dist/tools/python/storage.cjs.map +1 -1
  574. package/dist/tools/python/storage.d.cts +1 -12
  575. package/dist/tools/python/storage.d.ts +1 -12
  576. package/dist/tools/python/storage.js.map +1 -1
  577. package/dist/tools/search/base.cjs.map +1 -1
  578. package/dist/tools/search/base.d.cts +2 -13
  579. package/dist/tools/search/base.d.ts +2 -13
  580. package/dist/tools/search/base.js.map +1 -1
  581. package/dist/tools/search/duckDuckGoSearch.cjs +7 -1
  582. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  583. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -13
  584. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -13
  585. package/dist/tools/search/duckDuckGoSearch.js +7 -1
  586. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  587. package/dist/tools/search/googleSearch.cjs.map +1 -1
  588. package/dist/tools/search/googleSearch.d.cts +1 -1
  589. package/dist/tools/search/googleSearch.d.ts +1 -1
  590. package/dist/tools/search/googleSearch.js.map +1 -1
  591. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  592. package/dist/tools/search/searXNGSearch.d.cts +2 -13
  593. package/dist/tools/search/searXNGSearch.d.ts +2 -13
  594. package/dist/tools/search/searXNGSearch.js.map +1 -1
  595. package/dist/tools/search/wikipedia.cjs +11 -11
  596. package/dist/tools/search/wikipedia.cjs.map +1 -1
  597. package/dist/tools/search/wikipedia.d.cts +1 -1
  598. package/dist/tools/search/wikipedia.d.ts +1 -1
  599. package/dist/tools/search/wikipedia.js +11 -11
  600. package/dist/tools/search/wikipedia.js.map +1 -1
  601. package/dist/tools/similarity.cjs.map +1 -1
  602. package/dist/tools/similarity.d.cts +2 -13
  603. package/dist/tools/similarity.d.ts +2 -13
  604. package/dist/tools/similarity.js.map +1 -1
  605. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  606. package/dist/tools/weather/openMeteo.d.cts +2 -13
  607. package/dist/tools/weather/openMeteo.d.ts +2 -13
  608. package/dist/tools/weather/openMeteo.js.map +1 -1
  609. package/dist/tools/web/webCrawler.cjs.map +1 -1
  610. package/dist/tools/web/webCrawler.d.cts +1 -1
  611. package/dist/tools/web/webCrawler.d.ts +1 -1
  612. package/dist/tools/web/webCrawler.js.map +1 -1
  613. package/dist/version.cjs +1 -1
  614. package/dist/version.cjs.map +1 -1
  615. package/dist/version.d.cts +1 -12
  616. package/dist/version.d.ts +1 -12
  617. package/dist/version.js +1 -1
  618. package/dist/version.js.map +1 -1
  619. package/dist/workflows/agent.cjs.map +1 -1
  620. package/dist/workflows/agent.d.cts +3 -3
  621. package/dist/workflows/agent.d.ts +3 -3
  622. package/dist/workflows/agent.js.map +1 -1
  623. package/dist/workflows/workflow.cjs +3 -3
  624. package/dist/workflows/workflow.cjs.map +1 -1
  625. package/dist/workflows/workflow.d.cts +1 -1
  626. package/dist/workflows/workflow.d.ts +1 -1
  627. package/dist/workflows/workflow.js +3 -3
  628. package/dist/workflows/workflow.js.map +1 -1
  629. package/package.json +37 -82
@@ -32,15 +32,15 @@ class ToolCallingAgent extends base_cjs.BaseAgent {
32
32
  __name(this, "ToolCallingAgent");
33
33
  }
34
34
  input;
35
- emitter;
35
+ emitter = emitter_cjs.Emitter.root.child({
36
+ namespace: [
37
+ "agent",
38
+ "toolCalling"
39
+ ],
40
+ creator: this
41
+ });
36
42
  constructor(input) {
37
- super(), this.input = input, this.emitter = emitter_cjs.Emitter.root.child({
38
- namespace: [
39
- "agent",
40
- "toolCalling"
41
- ],
42
- creator: this
43
- });
43
+ super(), this.input = input;
44
44
  this.input.saveIntermediateSteps = this.input.saveIntermediateSteps ?? true;
45
45
  }
46
46
  static {
@@ -81,7 +81,7 @@ class ToolCallingAgent extends base_cjs.BaseAgent {
81
81
  description: "Sends the final answer to the user",
82
82
  inputSchema: finalAnswerToolSchema,
83
83
  handler: /* @__PURE__ */ __name(async (input2) => {
84
- const result = usePlainResponse ? input2.response : JSON.stringify(input2.response);
84
+ const result = usePlainResponse ? input2.response : JSON.stringify(input2);
85
85
  state.result = new message_cjs.AssistantMessage(result);
86
86
  return new base_cjs$1.StringToolOutput("Message has been sent");
87
87
  }, "handler")
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","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","args","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","getTextContent","isError","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.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\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.response);\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.args;\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 result: toolResponse.getTextContent(),\n isError: false,\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 result: e.explain(),\n isError: true,\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","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","args","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","getTextContent","isError","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.cjs","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.args;\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 result: toolResponse.getTextContent(),\n isError: false,\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 result: e.explain(),\n isError: true,\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,10 +1,10 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-szR2Izbt.cjs';
1
+ import { b as AgentMeta, a as BaseAgent } from '../../base-Bc-Xv1jG.cjs';
2
2
  import { AnyTool } from '../../tools/base.cjs';
3
3
  import { BaseMemory } from '../../memory/base.cjs';
4
- import { E as Emitter } from '../../emitter-D5Mu0EEH.cjs';
4
+ import { E as Emitter } from '../../emitter-DWEsd-ud.cjs';
5
5
  import { ToolCallingAgentTemplates, ToolCallingAgentExecutionConfig, ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions, ToolCallingAgentCallbacks } from './types.cjs';
6
6
  import { GetRunContext } from '../../context.cjs';
7
- import { m as ChatModel } from '../../chat-DvMzAHj6.cjs';
7
+ import { m as ChatModel } from '../../chat-CR4yfOR9.cjs';
8
8
  import '../../errors.cjs';
9
9
  import '../../internals/types.cjs';
10
10
  import '../../internals/helpers/guards.cjs';
@@ -26,18 +26,7 @@ import 'pino';
26
26
 
27
27
  /**
28
28
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
29
- *
30
- * Licensed under the Apache License, Version 2.0 (the "License");
31
- * you may not use this file except in compliance with the License.
32
- * You may obtain a copy of the License at
33
- *
34
- * http://www.apache.org/licenses/LICENSE-2.0
35
- *
36
- * Unless required by applicable law or agreed to in writing, software
37
- * distributed under the License is distributed on an "AS IS" BASIS,
38
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39
- * See the License for the specific language governing permissions and
40
- * limitations under the License.
29
+ * SPDX-License-Identifier: Apache-2.0
41
30
  */
42
31
 
43
32
  type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (template: ToolCallingAgentTemplates[K]) => ToolCallingAgentTemplates[K];
@@ -1,10 +1,10 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-BOCDDBvG.js';
1
+ import { b as AgentMeta, a as BaseAgent } from '../../base-BrMAtrc_.js';
2
2
  import { AnyTool } from '../../tools/base.js';
3
3
  import { BaseMemory } from '../../memory/base.js';
4
- import { E as Emitter } from '../../emitter-C3dO-s2P.js';
4
+ import { E as Emitter } from '../../emitter-C9nwGLt6.js';
5
5
  import { ToolCallingAgentTemplates, ToolCallingAgentExecutionConfig, ToolCallingAgentRunInput, ToolCallingAgentRunOutput, ToolCallingAgentRunOptions, ToolCallingAgentCallbacks } from './types.js';
6
6
  import { GetRunContext } from '../../context.js';
7
- import { m as ChatModel } from '../../chat-BdN8hGWn.js';
7
+ import { m as ChatModel } from '../../chat-W9j8T6UU.js';
8
8
  import '../../errors.js';
9
9
  import '../../internals/types.js';
10
10
  import '../../internals/helpers/guards.js';
@@ -26,18 +26,7 @@ import 'pino';
26
26
 
27
27
  /**
28
28
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
29
- *
30
- * Licensed under the Apache License, Version 2.0 (the "License");
31
- * you may not use this file except in compliance with the License.
32
- * You may obtain a copy of the License at
33
- *
34
- * http://www.apache.org/licenses/LICENSE-2.0
35
- *
36
- * Unless required by applicable law or agreed to in writing, software
37
- * distributed under the License is distributed on an "AS IS" BASIS,
38
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39
- * See the License for the specific language governing permissions and
40
- * limitations under the License.
29
+ * SPDX-License-Identifier: Apache-2.0
41
30
  */
42
31
 
43
32
  type ToolCallingAgentTemplateFactory<K extends keyof ToolCallingAgentTemplates> = (template: ToolCallingAgentTemplates[K]) => ToolCallingAgentTemplates[K];
@@ -30,15 +30,15 @@ class ToolCallingAgent extends BaseAgent {
30
30
  __name(this, "ToolCallingAgent");
31
31
  }
32
32
  input;
33
- emitter;
33
+ emitter = Emitter.root.child({
34
+ namespace: [
35
+ "agent",
36
+ "toolCalling"
37
+ ],
38
+ creator: this
39
+ });
34
40
  constructor(input) {
35
- super(), this.input = input, this.emitter = Emitter.root.child({
36
- namespace: [
37
- "agent",
38
- "toolCalling"
39
- ],
40
- creator: this
41
- });
41
+ super(), this.input = input;
42
42
  this.input.saveIntermediateSteps = this.input.saveIntermediateSteps ?? true;
43
43
  }
44
44
  static {
@@ -79,7 +79,7 @@ class ToolCallingAgent extends BaseAgent {
79
79
  description: "Sends the final answer to the user",
80
80
  inputSchema: finalAnswerToolSchema,
81
81
  handler: /* @__PURE__ */ __name(async (input2) => {
82
- const result = usePlainResponse ? input2.response : JSON.stringify(input2.response);
82
+ const result = usePlainResponse ? input2.response : JSON.stringify(input2);
83
83
  state.result = new AssistantMessage(result);
84
84
  return new StringToolOutput("Message has been sent");
85
85
  }, "handler")
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","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","args","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","getTextContent","isError","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 *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\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.response);\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.args;\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 result: toolResponse.getTextContent(),\n isError: false,\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 result: e.explain(),\n isError: true,\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","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","args","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","getTextContent","isError","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.args;\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 result: toolResponse.getTextContent(),\n isError: false,\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 result: e.explain(),\n isError: true,\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 +1 @@
1
- {"version":3,"sources":["prompts.ts"],"names":["ToolCallingAgentSystemPrompt","PromptTemplate","schema","z","object","role","string","instructions","optional","functions","formatDate","Date","toISOString","defaults","template","ToolCallingAgentTaskPrompt","prompt","context","expectedOutput"],"mappings":";;;;;;;AAmBaA,MAAAA,4BAAAA,GAA+B,IAAIC,2BAAe,CAAA;AAC7DC,EAAAA,MAAAA,EAAQC,MAAEC,MAAO,CAAA;AACfC,IAAAA,IAAAA,EAAMF,MAAEG,MAAM,EAAA;IACdC,YAAcJ,EAAAA,KAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ;GACnC,CAAA;EACAC,SAAW,EAAA;AACTC,IAAAA,UAAAA,kBAAY,MAAA,CAAA,WAAA;AACV,MAAO,OAAA,iBAAA,IAAIC,IAAAA,EAAAA,EAAOC,WAAW,EAAA;KADnB,EAAA,YAAA;AAGd,GAAA;EACAC,QAAU,EAAA;IAAER,IAAM,EAAA,wBAAA;IAA0BE,YAAc,EAAA;AAAG,GAAA;EAC7DO,QAAU,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAoBZ,CAAA;AAEaC,MAAAA,0BAAAA,GAA6B,IAAId,2BAAe,CAAA;AAC3DC,EAAAA,MAAAA,EAAQC,MAAEC,MAAO,CAAA;AACfY,IAAAA,MAAAA,EAAQb,MAAEG,MAAM,EAAA;IAChBW,OAASd,EAAAA,KAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ,EAAA;IAC5BU,cAAgBf,EAAAA,KAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ;GACrC,CAAA;EACAM,QAAU,EAAA,CAAA;;;;;;;;;;;AAWZ,CAAA","file":"prompts.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PromptTemplate } from \"@/template.js\";\nimport { z } from \"zod\";\n\nexport const ToolCallingAgentSystemPrompt = new PromptTemplate({\n schema: z.object({\n role: z.string(),\n instructions: z.string().optional(),\n }),\n functions: {\n formatDate: function () {\n return new Date().toISOString();\n },\n },\n defaults: { role: \"A helpful AI assistant\", instructions: \"\" },\n template: `Assume the role of {{role}}.\n{{#instructions}}\n\nYour instructions are:\n{{.}}\n{{/instructions}}\n\nWhen the user sends a message, figure out a solution and provide a final answer to the user by calling the 'final_answer' tool.\nBefore you call the 'final_answer' tool, ensure that you have gathered sufficient evidence to support the final answer.\n\n# Best practices\n- Use markdown syntax to format code snippets, links, JSON, tables, images, and files.\n- If the provided task is unclear, ask the user for clarification.\n- Do not refer to tools or tool outputs by name when responding.\n- Do not call the same tool twice with the similar inputs.\n\n# Date and Time\nThe current date and time is: {{formatDate}}\nYou do not need a tool to get the current Date and Time. Use the information available here.\n`,\n});\n\nexport const ToolCallingAgentTaskPrompt = new PromptTemplate({\n schema: z.object({\n prompt: z.string(),\n context: z.string().optional(),\n expectedOutput: z.string().optional(),\n }),\n template: `{{#context}}This is the context that you are working with:\n{{.}}\n\n{{/context}}\n{{#expectedOutput}}\nThis is the expected criteria for your output:\n{{.}}\n\n{{/expectedOutput}}\nYour task: {{prompt}}\n`,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/agents/toolCalling/prompts.ts"],"names":["ToolCallingAgentSystemPrompt","PromptTemplate","schema","z","object","role","string","instructions","optional","functions","formatDate","Date","toISOString","defaults","template","ToolCallingAgentTaskPrompt","prompt","context","expectedOutput"],"mappings":";;;;;;;AAQO,MAAMA,4BAAAA,GAA+B,IAAIC,2BAAAA,CAAe;AAC7DC,EAAAA,MAAAA,EAAQC,MAAEC,MAAAA,CAAO;AACfC,IAAAA,IAAAA,EAAMF,MAAEG,MAAAA,EAAM;IACdC,YAAAA,EAAcJ,KAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA;GAC3B,CAAA;EACAC,SAAAA,EAAW;AACTC,IAAAA,UAAAA,kBAAY,MAAA,CAAA,WAAA;AACV,MAAA,OAAA,iBAAO,IAAIC,IAAAA,EAAAA,EAAOC,WAAAA,EAAW;KAC/B,EAFY,YAAA;AAGd,GAAA;EACAC,QAAAA,EAAU;IAAER,IAAAA,EAAM,wBAAA;IAA0BE,YAAAA,EAAc;AAAG,GAAA;EAC7DO,QAAAA,EAAU,CAAA;;;;;;;;;;;;;;;;;;;;AAoBZ,CAAA;AAEO,MAAMC,0BAAAA,GAA6B,IAAId,2BAAAA,CAAe;AAC3DC,EAAAA,MAAAA,EAAQC,MAAEC,MAAAA,CAAO;AACfY,IAAAA,MAAAA,EAAQb,MAAEG,MAAAA,EAAM;IAChBW,OAAAA,EAASd,KAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA,EAAQ;IAC5BU,cAAAA,EAAgBf,KAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA;GAC7B,CAAA;EACAM,QAAAA,EAAU,CAAA;;;;;;;;;;;AAWZ,CAAA","file":"prompts.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { PromptTemplate } from \"@/template.js\";\nimport { z } from \"zod\";\n\nexport const ToolCallingAgentSystemPrompt = new PromptTemplate({\n schema: z.object({\n role: z.string(),\n instructions: z.string().optional(),\n }),\n functions: {\n formatDate: function () {\n return new Date().toISOString();\n },\n },\n defaults: { role: \"A helpful AI assistant\", instructions: \"\" },\n template: `Assume the role of {{role}}.\n{{#instructions}}\n\nYour instructions are:\n{{.}}\n{{/instructions}}\n\nWhen the user sends a message, figure out a solution and provide a final answer to the user by calling the 'final_answer' tool.\nBefore you call the 'final_answer' tool, ensure that you have gathered sufficient evidence to support the final answer.\n\n# Best practices\n- Use markdown syntax to format code snippets, links, JSON, tables, images, and files.\n- If the provided task is unclear, ask the user for clarification.\n- Do not refer to tools or tool outputs by name when responding.\n- Do not call the same tool twice with the similar inputs.\n\n# Date and Time\nThe current date and time is: {{formatDate}}\nYou do not need a tool to get the current Date and Time. Use the information available here.\n`,\n});\n\nexport const ToolCallingAgentTaskPrompt = new PromptTemplate({\n schema: z.object({\n prompt: z.string(),\n context: z.string().optional(),\n expectedOutput: z.string().optional(),\n }),\n template: `{{#context}}This is the context that you are working with:\n{{.}}\n\n{{/context}}\n{{#expectedOutput}}\nThis is the expected criteria for your output:\n{{.}}\n\n{{/expectedOutput}}\nYour task: {{prompt}}\n`,\n});\n"]}
@@ -8,18 +8,7 @@ import 'ajv';
8
8
 
9
9
  /**
10
10
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
11
+ * SPDX-License-Identifier: Apache-2.0
23
12
  */
24
13
 
25
14
  declare const ToolCallingAgentSystemPrompt: PromptTemplate<z.ZodObject<{
@@ -8,18 +8,7 @@ import 'ajv';
8
8
 
9
9
  /**
10
10
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
11
+ * SPDX-License-Identifier: Apache-2.0
23
12
  */
24
13
 
25
14
  declare const ToolCallingAgentSystemPrompt: PromptTemplate<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"sources":["prompts.ts"],"names":["ToolCallingAgentSystemPrompt","PromptTemplate","schema","z","object","role","string","instructions","optional","functions","formatDate","Date","toISOString","defaults","template","ToolCallingAgentTaskPrompt","prompt","context","expectedOutput"],"mappings":";;;;;AAmBaA,MAAAA,4BAAAA,GAA+B,IAAIC,cAAe,CAAA;AAC7DC,EAAAA,MAAAA,EAAQC,EAAEC,MAAO,CAAA;AACfC,IAAAA,IAAAA,EAAMF,EAAEG,MAAM,EAAA;IACdC,YAAcJ,EAAAA,CAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ;GACnC,CAAA;EACAC,SAAW,EAAA;AACTC,IAAAA,UAAAA,kBAAY,MAAA,CAAA,WAAA;AACV,MAAO,OAAA,iBAAA,IAAIC,IAAAA,EAAAA,EAAOC,WAAW,EAAA;KADnB,EAAA,YAAA;AAGd,GAAA;EACAC,QAAU,EAAA;IAAER,IAAM,EAAA,wBAAA;IAA0BE,YAAc,EAAA;AAAG,GAAA;EAC7DO,QAAU,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAoBZ,CAAA;AAEaC,MAAAA,0BAAAA,GAA6B,IAAId,cAAe,CAAA;AAC3DC,EAAAA,MAAAA,EAAQC,EAAEC,MAAO,CAAA;AACfY,IAAAA,MAAAA,EAAQb,EAAEG,MAAM,EAAA;IAChBW,OAASd,EAAAA,CAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ,EAAA;IAC5BU,cAAgBf,EAAAA,CAAAA,CAAEG,MAAM,EAAA,CAAGE,QAAQ;GACrC,CAAA;EACAM,QAAU,EAAA,CAAA;;;;;;;;;;;AAWZ,CAAA","file":"prompts.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PromptTemplate } from \"@/template.js\";\nimport { z } from \"zod\";\n\nexport const ToolCallingAgentSystemPrompt = new PromptTemplate({\n schema: z.object({\n role: z.string(),\n instructions: z.string().optional(),\n }),\n functions: {\n formatDate: function () {\n return new Date().toISOString();\n },\n },\n defaults: { role: \"A helpful AI assistant\", instructions: \"\" },\n template: `Assume the role of {{role}}.\n{{#instructions}}\n\nYour instructions are:\n{{.}}\n{{/instructions}}\n\nWhen the user sends a message, figure out a solution and provide a final answer to the user by calling the 'final_answer' tool.\nBefore you call the 'final_answer' tool, ensure that you have gathered sufficient evidence to support the final answer.\n\n# Best practices\n- Use markdown syntax to format code snippets, links, JSON, tables, images, and files.\n- If the provided task is unclear, ask the user for clarification.\n- Do not refer to tools or tool outputs by name when responding.\n- Do not call the same tool twice with the similar inputs.\n\n# Date and Time\nThe current date and time is: {{formatDate}}\nYou do not need a tool to get the current Date and Time. Use the information available here.\n`,\n});\n\nexport const ToolCallingAgentTaskPrompt = new PromptTemplate({\n schema: z.object({\n prompt: z.string(),\n context: z.string().optional(),\n expectedOutput: z.string().optional(),\n }),\n template: `{{#context}}This is the context that you are working with:\n{{.}}\n\n{{/context}}\n{{#expectedOutput}}\nThis is the expected criteria for your output:\n{{.}}\n\n{{/expectedOutput}}\nYour task: {{prompt}}\n`,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/agents/toolCalling/prompts.ts"],"names":["ToolCallingAgentSystemPrompt","PromptTemplate","schema","z","object","role","string","instructions","optional","functions","formatDate","Date","toISOString","defaults","template","ToolCallingAgentTaskPrompt","prompt","context","expectedOutput"],"mappings":";;;;;AAQO,MAAMA,4BAAAA,GAA+B,IAAIC,cAAAA,CAAe;AAC7DC,EAAAA,MAAAA,EAAQC,EAAEC,MAAAA,CAAO;AACfC,IAAAA,IAAAA,EAAMF,EAAEG,MAAAA,EAAM;IACdC,YAAAA,EAAcJ,CAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA;GAC3B,CAAA;EACAC,SAAAA,EAAW;AACTC,IAAAA,UAAAA,kBAAY,MAAA,CAAA,WAAA;AACV,MAAA,OAAA,iBAAO,IAAIC,IAAAA,EAAAA,EAAOC,WAAAA,EAAW;KAC/B,EAFY,YAAA;AAGd,GAAA;EACAC,QAAAA,EAAU;IAAER,IAAAA,EAAM,wBAAA;IAA0BE,YAAAA,EAAc;AAAG,GAAA;EAC7DO,QAAAA,EAAU,CAAA;;;;;;;;;;;;;;;;;;;;AAoBZ,CAAA;AAEO,MAAMC,0BAAAA,GAA6B,IAAId,cAAAA,CAAe;AAC3DC,EAAAA,MAAAA,EAAQC,EAAEC,MAAAA,CAAO;AACfY,IAAAA,MAAAA,EAAQb,EAAEG,MAAAA,EAAM;IAChBW,OAAAA,EAASd,CAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA,EAAQ;IAC5BU,cAAAA,EAAgBf,CAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA;GAC7B,CAAA;EACAM,QAAAA,EAAU,CAAA;;;;;;;;;;;AAWZ,CAAA","file":"prompts.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { PromptTemplate } from \"@/template.js\";\nimport { z } from \"zod\";\n\nexport const ToolCallingAgentSystemPrompt = new PromptTemplate({\n schema: z.object({\n role: z.string(),\n instructions: z.string().optional(),\n }),\n functions: {\n formatDate: function () {\n return new Date().toISOString();\n },\n },\n defaults: { role: \"A helpful AI assistant\", instructions: \"\" },\n template: `Assume the role of {{role}}.\n{{#instructions}}\n\nYour instructions are:\n{{.}}\n{{/instructions}}\n\nWhen the user sends a message, figure out a solution and provide a final answer to the user by calling the 'final_answer' tool.\nBefore you call the 'final_answer' tool, ensure that you have gathered sufficient evidence to support the final answer.\n\n# Best practices\n- Use markdown syntax to format code snippets, links, JSON, tables, images, and files.\n- If the provided task is unclear, ask the user for clarification.\n- Do not refer to tools or tool outputs by name when responding.\n- Do not call the same tool twice with the similar inputs.\n\n# Date and Time\nThe current date and time is: {{formatDate}}\nYou do not need a tool to get the current Date and Time. Use the information available here.\n`,\n});\n\nexport const ToolCallingAgentTaskPrompt = new PromptTemplate({\n schema: z.object({\n prompt: z.string(),\n context: z.string().optional(),\n expectedOutput: z.string().optional(),\n }),\n template: `{{#context}}This is the context that you are working with:\n{{.}}\n\n{{/context}}\n{{#expectedOutput}}\nThis is the expected criteria for your output:\n{{.}}\n\n{{/expectedOutput}}\nYour task: {{prompt}}\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-D5Mu0EEH.cjs';
3
+ import { C as Callback } from '../../emitter-DWEsd-ud.cjs';
4
4
  import { ToolCallingAgentSystemPrompt, ToolCallingAgentTaskPrompt } from './prompts.cjs';
5
5
  import { ZodSchema } from 'zod';
6
6
  import '../../errors.cjs';
@@ -13,18 +13,7 @@ import 'ajv';
13
13
 
14
14
  /**
15
15
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
16
- *
17
- * Licensed under the Apache License, Version 2.0 (the "License");
18
- * you may not use this file except in compliance with the License.
19
- * You may obtain a copy of the License at
20
- *
21
- * http://www.apache.org/licenses/LICENSE-2.0
22
- *
23
- * Unless required by applicable law or agreed to in writing, software
24
- * distributed under the License is distributed on an "AS IS" BASIS,
25
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
- * See the License for the specific language governing permissions and
27
- * limitations under the License.
16
+ * SPDX-License-Identifier: Apache-2.0
28
17
  */
29
18
 
30
19
  interface ToolCallingAgentRunInput {
@@ -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-C3dO-s2P.js';
3
+ import { C as Callback } from '../../emitter-C9nwGLt6.js';
4
4
  import { ToolCallingAgentSystemPrompt, ToolCallingAgentTaskPrompt } from './prompts.js';
5
5
  import { ZodSchema } from 'zod';
6
6
  import '../../errors.js';
@@ -13,18 +13,7 @@ import 'ajv';
13
13
 
14
14
  /**
15
15
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
16
- *
17
- * Licensed under the Apache License, Version 2.0 (the "License");
18
- * you may not use this file except in compliance with the License.
19
- * You may obtain a copy of the License at
20
- *
21
- * http://www.apache.org/licenses/LICENSE-2.0
22
- *
23
- * Unless required by applicable law or agreed to in writing, software
24
- * distributed under the License is distributed on an "AS IS" BASIS,
25
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
- * See the License for the specific language governing permissions and
27
- * limitations under the License.
16
+ * SPDX-License-Identifier: Apache-2.0
28
17
  */
29
18
 
30
19
  interface ToolCallingAgentRunInput {
@@ -1,8 +1,8 @@
1
- export { d as AgentCallback, c as AgentCallbackValue, b as AgentMeta, f as AnyAgent, G as GetAgentInput, e as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-szR2Izbt.cjs';
1
+ export { d as AgentCallback, c as AgentCallbackValue, b as AgentMeta, f as AnyAgent, G as GetAgentInput, e as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-Bc-Xv1jG.cjs';
2
2
  import '../internals/types.cjs';
3
3
  import '../tools/base.cjs';
4
4
  import '../context.cjs';
5
- import '../emitter-D5Mu0EEH.cjs';
5
+ import '../emitter-DWEsd-ud.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 { d as AgentCallback, c as AgentCallbackValue, b as AgentMeta, f as AnyAgent, G as GetAgentInput, e as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-BOCDDBvG.js';
1
+ export { d as AgentCallback, c as AgentCallbackValue, b as AgentMeta, f as AnyAgent, G as GetAgentInput, e as GetAgentOutput, I as InternalAgentCallbackValue, P as PublicAgentCallbackValue } from '../base-BrMAtrc_.js';
2
2
  import '../internals/types.js';
3
3
  import '../tools/base.js';
4
4
  import '../context.js';
5
- import '../emitter-C3dO-s2P.js';
5
+ import '../emitter-C9nwGLt6.js';
6
6
  import '../internals/serializable.js';
7
7
  import '../internals/helpers/guards.js';
8
8
  import '../internals/helpers/promise.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["backend.ts"],"names":["Backend","Serializable","chat","embedding","constructor","models","Object","assign","fromName","input","asyncProperties","ChatModel","EmbeddingModel","fromProvider","provider","createSnapshot","loadSnapshot","snapshot"],"mappings":";;;;;;;;;AA6BO,MAAMA,gBAAgBC,6BAAAA,CAAAA;EA7B7B;;;AA8BEC,EAAAA,IAAAA;AACAC,EAAAA,SAAAA;AAEAC,EAAAA,WAAAA,CAAYC,MAAuB,EAAA;AACjC,IAAK,KAAA,EAAA;AACLC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,MAAAA,CAAAA;AACtB;AAEA,EAAA,aAAaG,SACXC,KACkB,EAAA;AAClB,IAAO,OAAA,IAAIT,OACT,CAAA,MAAMU,2BAAgB,CAAA;MACpBR,IAAMS,EAAAA,kBAAAA,CAAUH,QAASC,CAAAA,KAAAA,CAAMP,IAAI,CAAA;AACnCC,MAAAA,SAAAA,EAAWS,4BAAeJ,CAAAA,QAAAA,CAASC,KAAMN,CAAAA,SAAAA,IAAa,OAAA;AACxD,KAAA,CAAA,CAAA;AAEJ;AAEA,EAAA,aAAaU,aAAaC,QAA0C,EAAA;AAClE,IAAO,OAAA,MAAM,KAAKN,QAAS,CAAA;MACzBN,IAAMY,EAAAA,QAAAA;MACNX,SAAWW,EAAAA;KACb,CAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AAAEb,MAAAA,IAAAA,EAAM,IAAKA,CAAAA,IAAAA;AAAMC,MAAAA,SAAAA,EAAW,IAAKA,CAAAA;AAAU,KAAA;AACtD;AAEAa,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DX,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMU,QAAAA,CAAAA;AACtB;AACF","file":"backend.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { EmbeddingModel } from \"@/backend/embedding.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ProviderName } from \"./constants.js\";\nimport { OptionalExcept } from \"@/internals/types.js\";\n\ninterface BackendModels {\n chat: ChatModel;\n embedding: EmbeddingModel;\n}\n\nexport class Backend extends Serializable implements BackendModels {\n chat!: ChatModel;\n embedding!: EmbeddingModel;\n\n constructor(models: BackendModels) {\n super();\n Object.assign(this, models);\n }\n\n static async fromName(\n input: OptionalExcept<Record<keyof BackendModels, FullModelName | ProviderName>, \"chat\">,\n ): Promise<Backend> {\n return new Backend(\n await asyncProperties({\n chat: ChatModel.fromName(input.chat),\n embedding: EmbeddingModel.fromName(input.embedding || \"dummy\"),\n }),\n );\n }\n\n static async fromProvider(provider: ProviderName): Promise<Backend> {\n return await this.fromName({\n chat: provider,\n embedding: provider,\n });\n }\n\n createSnapshot() {\n return { chat: this.chat, embedding: this.embedding };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/backend/backend.ts"],"names":["Backend","Serializable","chat","embedding","models","Object","assign","fromName","input","asyncProperties","ChatModel","EmbeddingModel","fromProvider","provider","createSnapshot","loadSnapshot","snapshot"],"mappings":";;;;;;;;;AAkBO,MAAMA,gBAAgBC,6BAAAA,CAAAA;EAlB7B;;;AAmBEC,EAAAA,IAAAA;AACAC,EAAAA,SAAAA;AAEA,EAAA,WAAA,CAAYC,MAAAA,EAAuB;AACjC,IAAA,KAAA,EAAK;AACLC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,MAAAA,CAAAA;AACtB;AAEA,EAAA,aAAaG,SACXC,KAAAA,EACkB;AAClB,IAAA,OAAO,IAAIR,OAAAA,CACT,MAAMS,2BAAAA,CAAgB;MACpBP,IAAAA,EAAMQ,kBAAAA,CAAUH,QAAAA,CAASC,KAAAA,CAAMN,IAAI,CAAA;AACnCC,MAAAA,SAAAA,EAAWQ,4BAAAA,CAAeJ,QAAAA,CAASC,KAAAA,CAAML,SAAAA,IAAa,OAAA;AACxD,KAAA,CAAA,CAAA;AAEJ;AAEA,EAAA,aAAaS,aAAaC,QAAAA,EAA0C;AAClE,IAAA,OAAO,MAAM,KAAKN,QAAAA,CAAS;MACzBL,IAAAA,EAAMW,QAAAA;MACNV,SAAAA,EAAWU;KACb,CAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AAAEZ,MAAAA,IAAAA,EAAM,IAAA,CAAKA,IAAAA;AAAMC,MAAAA,SAAAA,EAAW,IAAA,CAAKA;AAAU,KAAA;AACtD;AAEAY,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DX,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMU,QAAAA,CAAAA;AACtB;AACF","file":"backend.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { EmbeddingModel } from \"@/backend/embedding.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ProviderName } from \"./constants.js\";\nimport { OptionalExcept } from \"@/internals/types.js\";\n\ninterface BackendModels {\n chat: ChatModel;\n embedding: EmbeddingModel;\n}\n\nexport class Backend extends Serializable implements BackendModels {\n chat!: ChatModel;\n embedding!: EmbeddingModel;\n\n constructor(models: BackendModels) {\n super();\n Object.assign(this, models);\n }\n\n static async fromName(\n input: OptionalExcept<Record<keyof BackendModels, FullModelName | ProviderName>, \"chat\">,\n ): Promise<Backend> {\n return new Backend(\n await asyncProperties({\n chat: ChatModel.fromName(input.chat),\n embedding: EmbeddingModel.fromName(input.embedding || \"dummy\"),\n }),\n );\n }\n\n static async fromProvider(provider: ProviderName): Promise<Backend> {\n return await this.fromName({\n chat: provider,\n embedding: provider,\n });\n }\n\n createSnapshot() {\n return { chat: this.chat, embedding: this.embedding };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { Serializable } from '../internals/serializable.cjs';
2
- import { m as ChatModel, F as FullModelName } from '../chat-DvMzAHj6.cjs';
2
+ import { m as ChatModel, F as FullModelName } from '../chat-CR4yfOR9.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-D5Mu0EEH.cjs';
9
+ import '../emitter-DWEsd-ud.cjs';
10
10
  import '../internals/helpers/promise.cjs';
11
11
  import '../errors.cjs';
12
12
  import 'promise-based-task';
@@ -23,18 +23,7 @@ import '../internals/helpers/guards.cjs';
23
23
 
24
24
  /**
25
25
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
26
- *
27
- * Licensed under the Apache License, Version 2.0 (the "License");
28
- * you may not use this file except in compliance with the License.
29
- * You may obtain a copy of the License at
30
- *
31
- * http://www.apache.org/licenses/LICENSE-2.0
32
- *
33
- * Unless required by applicable law or agreed to in writing, software
34
- * distributed under the License is distributed on an "AS IS" BASIS,
35
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
36
- * See the License for the specific language governing permissions and
37
- * limitations under the License.
26
+ * SPDX-License-Identifier: Apache-2.0
38
27
  */
39
28
 
40
29
  interface BackendModels {
@@ -1,12 +1,12 @@
1
1
  import { Serializable } from '../internals/serializable.js';
2
- import { m as ChatModel, F as FullModelName } from '../chat-BdN8hGWn.js';
2
+ import { m as ChatModel, F as FullModelName } from '../chat-W9j8T6UU.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-C3dO-s2P.js';
9
+ import '../emitter-C9nwGLt6.js';
10
10
  import '../internals/helpers/promise.js';
11
11
  import '../errors.js';
12
12
  import 'promise-based-task';
@@ -23,18 +23,7 @@ import '../internals/helpers/guards.js';
23
23
 
24
24
  /**
25
25
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
26
- *
27
- * Licensed under the Apache License, Version 2.0 (the "License");
28
- * you may not use this file except in compliance with the License.
29
- * You may obtain a copy of the License at
30
- *
31
- * http://www.apache.org/licenses/LICENSE-2.0
32
- *
33
- * Unless required by applicable law or agreed to in writing, software
34
- * distributed under the License is distributed on an "AS IS" BASIS,
35
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
36
- * See the License for the specific language governing permissions and
37
- * limitations under the License.
26
+ * SPDX-License-Identifier: Apache-2.0
38
27
  */
39
28
 
40
29
  interface BackendModels {
@@ -1 +1 @@
1
- {"version":3,"sources":["backend.ts"],"names":["Backend","Serializable","chat","embedding","constructor","models","Object","assign","fromName","input","asyncProperties","ChatModel","EmbeddingModel","fromProvider","provider","createSnapshot","loadSnapshot","snapshot"],"mappings":";;;;;;;AA6BO,MAAMA,gBAAgBC,YAAAA,CAAAA;EA7B7B;;;AA8BEC,EAAAA,IAAAA;AACAC,EAAAA,SAAAA;AAEAC,EAAAA,WAAAA,CAAYC,MAAuB,EAAA;AACjC,IAAK,KAAA,EAAA;AACLC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,MAAAA,CAAAA;AACtB;AAEA,EAAA,aAAaG,SACXC,KACkB,EAAA;AAClB,IAAO,OAAA,IAAIT,OACT,CAAA,MAAMU,eAAgB,CAAA;MACpBR,IAAMS,EAAAA,SAAAA,CAAUH,QAASC,CAAAA,KAAAA,CAAMP,IAAI,CAAA;AACnCC,MAAAA,SAAAA,EAAWS,cAAeJ,CAAAA,QAAAA,CAASC,KAAMN,CAAAA,SAAAA,IAAa,OAAA;AACxD,KAAA,CAAA,CAAA;AAEJ;AAEA,EAAA,aAAaU,aAAaC,QAA0C,EAAA;AAClE,IAAO,OAAA,MAAM,KAAKN,QAAS,CAAA;MACzBN,IAAMY,EAAAA,QAAAA;MACNX,SAAWW,EAAAA;KACb,CAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AAAEb,MAAAA,IAAAA,EAAM,IAAKA,CAAAA,IAAAA;AAAMC,MAAAA,SAAAA,EAAW,IAAKA,CAAAA;AAAU,KAAA;AACtD;AAEAa,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DX,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMU,QAAAA,CAAAA;AACtB;AACF","file":"backend.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { EmbeddingModel } from \"@/backend/embedding.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ProviderName } from \"./constants.js\";\nimport { OptionalExcept } from \"@/internals/types.js\";\n\ninterface BackendModels {\n chat: ChatModel;\n embedding: EmbeddingModel;\n}\n\nexport class Backend extends Serializable implements BackendModels {\n chat!: ChatModel;\n embedding!: EmbeddingModel;\n\n constructor(models: BackendModels) {\n super();\n Object.assign(this, models);\n }\n\n static async fromName(\n input: OptionalExcept<Record<keyof BackendModels, FullModelName | ProviderName>, \"chat\">,\n ): Promise<Backend> {\n return new Backend(\n await asyncProperties({\n chat: ChatModel.fromName(input.chat),\n embedding: EmbeddingModel.fromName(input.embedding || \"dummy\"),\n }),\n );\n }\n\n static async fromProvider(provider: ProviderName): Promise<Backend> {\n return await this.fromName({\n chat: provider,\n embedding: provider,\n });\n }\n\n createSnapshot() {\n return { chat: this.chat, embedding: this.embedding };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/backend/backend.ts"],"names":["Backend","Serializable","chat","embedding","models","Object","assign","fromName","input","asyncProperties","ChatModel","EmbeddingModel","fromProvider","provider","createSnapshot","loadSnapshot","snapshot"],"mappings":";;;;;;;AAkBO,MAAMA,gBAAgBC,YAAAA,CAAAA;EAlB7B;;;AAmBEC,EAAAA,IAAAA;AACAC,EAAAA,SAAAA;AAEA,EAAA,WAAA,CAAYC,MAAAA,EAAuB;AACjC,IAAA,KAAA,EAAK;AACLC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,MAAAA,CAAAA;AACtB;AAEA,EAAA,aAAaG,SACXC,KAAAA,EACkB;AAClB,IAAA,OAAO,IAAIR,OAAAA,CACT,MAAMS,eAAAA,CAAgB;MACpBP,IAAAA,EAAMQ,SAAAA,CAAUH,QAAAA,CAASC,KAAAA,CAAMN,IAAI,CAAA;AACnCC,MAAAA,SAAAA,EAAWQ,cAAAA,CAAeJ,QAAAA,CAASC,KAAAA,CAAML,SAAAA,IAAa,OAAA;AACxD,KAAA,CAAA,CAAA;AAEJ;AAEA,EAAA,aAAaS,aAAaC,QAAAA,EAA0C;AAClE,IAAA,OAAO,MAAM,KAAKN,QAAAA,CAAS;MACzBL,IAAAA,EAAMW,QAAAA;MACNV,SAAAA,EAAWU;KACb,CAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AAAEZ,MAAAA,IAAAA,EAAM,IAAA,CAAKA,IAAAA;AAAMC,MAAAA,SAAAA,EAAW,IAAA,CAAKA;AAAU,KAAA;AACtD;AAEAY,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DX,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMU,QAAAA,CAAAA;AACtB;AACF","file":"backend.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { EmbeddingModel } from \"@/backend/embedding.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ProviderName } from \"./constants.js\";\nimport { OptionalExcept } from \"@/internals/types.js\";\n\ninterface BackendModels {\n chat: ChatModel;\n embedding: EmbeddingModel;\n}\n\nexport class Backend extends Serializable implements BackendModels {\n chat!: ChatModel;\n embedding!: EmbeddingModel;\n\n constructor(models: BackendModels) {\n super();\n Object.assign(this, models);\n }\n\n static async fromName(\n input: OptionalExcept<Record<keyof BackendModels, FullModelName | ProviderName>, \"chat\">,\n ): Promise<Backend> {\n return new Backend(\n await asyncProperties({\n chat: ChatModel.fromName(input.chat),\n embedding: EmbeddingModel.fromName(input.embedding || \"dummy\"),\n }),\n );\n }\n\n static async fromProvider(provider: ProviderName): Promise<Backend> {\n return await this.fromName({\n chat: provider,\n embedding: provider,\n });\n }\n\n createSnapshot() {\n return { chat: this.chat, embedding: this.embedding };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}