beeai-framework 0.1.20 → 0.1.21

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 (365) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +4 -4
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  3. package/dist/adapters/a2a/agents/agent.d.cts +2 -2
  4. package/dist/adapters/a2a/agents/agent.d.ts +2 -2
  5. package/dist/adapters/a2a/agents/agent.js +4 -4
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  7. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  8. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  9. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  10. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  11. package/dist/adapters/a2a/agents/utils.cjs +2 -2
  12. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  13. package/dist/adapters/a2a/agents/utils.js +2 -2
  14. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  15. package/dist/adapters/a2a/serve/agent_executor.cjs +1 -3
  16. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  17. package/dist/adapters/a2a/serve/agent_executor.d.cts +4 -3
  18. package/dist/adapters/a2a/serve/agent_executor.d.ts +4 -3
  19. package/dist/adapters/a2a/serve/agent_executor.js +1 -3
  20. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  21. package/dist/adapters/a2a/serve/server.cjs +15 -0
  22. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  23. package/dist/adapters/a2a/serve/server.d.cts +4 -2
  24. package/dist/adapters/a2a/serve/server.d.ts +4 -2
  25. package/dist/adapters/a2a/serve/server.js +15 -0
  26. package/dist/adapters/a2a/serve/server.js.map +1 -1
  27. package/dist/adapters/acp/agents/agent.d.cts +2 -2
  28. package/dist/adapters/acp/agents/agent.d.ts +2 -2
  29. package/dist/adapters/acp/agents/events.d.cts +1 -1
  30. package/dist/adapters/acp/agents/events.d.ts +1 -1
  31. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.cjs +4 -4
  32. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -0
  33. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.cts +12 -12
  34. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.ts +12 -12
  35. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.js +4 -4
  36. package/dist/adapters/agentstack/agents/agent.js.map +1 -0
  37. package/dist/adapters/agentstack/agents/events.d.cts +23 -0
  38. package/dist/adapters/agentstack/agents/events.d.ts +23 -0
  39. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.cts +4 -4
  40. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.ts +4 -4
  41. package/dist/adapters/amazon-bedrock/backend/chat.cjs +3 -2
  42. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  43. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +5 -6
  44. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +5 -6
  45. package/dist/adapters/amazon-bedrock/backend/chat.js +3 -2
  46. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  47. package/dist/adapters/amazon-bedrock/backend/embedding.cjs +2 -2
  48. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +4 -4
  50. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +4 -4
  51. package/dist/adapters/amazon-bedrock/backend/embedding.js +2 -2
  52. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  53. package/dist/adapters/anthropic/backend/chat.cjs +3 -2
  54. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  55. package/dist/adapters/anthropic/backend/chat.d.cts +5 -6
  56. package/dist/adapters/anthropic/backend/chat.d.ts +5 -6
  57. package/dist/adapters/anthropic/backend/chat.js +3 -2
  58. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  59. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  60. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  61. package/dist/adapters/azure-openai/backend/chat.cjs +3 -2
  62. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/azure-openai/backend/chat.d.cts +5 -6
  64. package/dist/adapters/azure-openai/backend/chat.d.ts +5 -6
  65. package/dist/adapters/azure-openai/backend/chat.js +3 -2
  66. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  67. package/dist/adapters/azure-openai/backend/embedding.cjs +2 -2
  68. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  69. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -3
  70. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -3
  71. package/dist/adapters/azure-openai/backend/embedding.js +2 -2
  72. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  73. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  74. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  75. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  76. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  77. package/dist/adapters/google-vertex/backend/chat.cjs +3 -2
  78. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  79. package/dist/adapters/google-vertex/backend/chat.d.cts +5 -6
  80. package/dist/adapters/google-vertex/backend/chat.d.ts +5 -6
  81. package/dist/adapters/google-vertex/backend/chat.js +3 -2
  82. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  83. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  84. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  85. package/dist/adapters/groq/backend/chat.cjs +3 -2
  86. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  87. package/dist/adapters/groq/backend/chat.d.cts +5 -6
  88. package/dist/adapters/groq/backend/chat.d.ts +5 -6
  89. package/dist/adapters/groq/backend/chat.js +3 -2
  90. package/dist/adapters/groq/backend/chat.js.map +1 -1
  91. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  92. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  93. package/dist/adapters/langchain/backend/chat.cjs +6 -5
  94. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  95. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  96. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  97. package/dist/adapters/langchain/backend/chat.js +6 -5
  98. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  99. package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
  100. package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
  101. package/dist/adapters/langchain/tools.d.cts +1 -1
  102. package/dist/adapters/langchain/tools.d.ts +1 -1
  103. package/dist/adapters/ollama/backend/chat.cjs +1 -4
  104. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  105. package/dist/adapters/ollama/backend/chat.d.cts +4 -4
  106. package/dist/adapters/ollama/backend/chat.d.ts +4 -4
  107. package/dist/adapters/ollama/backend/chat.js +1 -4
  108. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  109. package/dist/adapters/ollama/backend/client.cjs +2 -2
  110. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  111. package/dist/adapters/ollama/backend/client.d.cts +1 -1
  112. package/dist/adapters/ollama/backend/client.d.ts +1 -1
  113. package/dist/adapters/ollama/backend/client.js +1 -1
  114. package/dist/adapters/ollama/backend/client.js.map +1 -1
  115. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  116. package/dist/adapters/ollama/backend/embedding.d.cts +3 -3
  117. package/dist/adapters/ollama/backend/embedding.d.ts +3 -3
  118. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  119. package/dist/adapters/openai/backend/chat.cjs +3 -2
  120. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  121. package/dist/adapters/openai/backend/chat.d.cts +5 -6
  122. package/dist/adapters/openai/backend/chat.d.ts +5 -6
  123. package/dist/adapters/openai/backend/chat.js +3 -2
  124. package/dist/adapters/openai/backend/chat.js.map +1 -1
  125. package/dist/adapters/openai/backend/client.cjs +2 -11
  126. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  127. package/dist/adapters/openai/backend/client.js +3 -12
  128. package/dist/adapters/openai/backend/client.js.map +1 -1
  129. package/dist/adapters/openai/backend/embedding.cjs +2 -2
  130. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  131. package/dist/adapters/openai/backend/embedding.d.cts +4 -4
  132. package/dist/adapters/openai/backend/embedding.d.ts +4 -4
  133. package/dist/adapters/openai/backend/embedding.js +2 -2
  134. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  135. package/dist/adapters/vercel/backend/chat.cjs +26 -21
  136. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  137. package/dist/adapters/vercel/backend/chat.d.cts +6 -4
  138. package/dist/adapters/vercel/backend/chat.d.ts +6 -4
  139. package/dist/adapters/vercel/backend/chat.js +27 -22
  140. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  141. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  142. package/dist/adapters/vercel/backend/embedding.d.cts +3 -3
  143. package/dist/adapters/vercel/backend/embedding.d.ts +3 -3
  144. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  145. package/dist/adapters/vercel/backend/utils.cjs +11 -0
  146. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  147. package/dist/adapters/vercel/backend/utils.d.cts +19 -2
  148. package/dist/adapters/vercel/backend/utils.d.ts +19 -2
  149. package/dist/adapters/vercel/backend/utils.js +11 -1
  150. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  151. package/dist/adapters/watsonx/backend/chat.cjs +10 -4
  152. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  153. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  154. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  155. package/dist/adapters/watsonx/backend/chat.js +10 -4
  156. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  157. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  158. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  159. package/dist/adapters/xai/backend/chat.cjs +3 -2
  160. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  161. package/dist/adapters/xai/backend/chat.d.cts +5 -6
  162. package/dist/adapters/xai/backend/chat.d.ts +5 -6
  163. package/dist/adapters/xai/backend/chat.js +3 -2
  164. package/dist/adapters/xai/backend/chat.js.map +1 -1
  165. package/dist/{agent-CtrCeN7o.d.ts → agent-CHebzsQB.d.ts} +3 -3
  166. package/dist/{agent-I0Saf4A1.d.cts → agent-DvvVGvLr.d.cts} +3 -3
  167. package/dist/agents/base.d.cts +2 -2
  168. package/dist/agents/base.d.ts +2 -2
  169. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  170. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  171. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  172. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  173. package/dist/agents/experimental/streamlit/agent.d.cts +3 -3
  174. package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
  175. package/dist/agents/react/agent.d.cts +5 -4
  176. package/dist/agents/react/agent.d.ts +5 -4
  177. package/dist/agents/react/runners/base.cjs.map +1 -1
  178. package/dist/agents/react/runners/base.d.cts +5 -4
  179. package/dist/agents/react/runners/base.d.ts +5 -4
  180. package/dist/agents/react/runners/base.js.map +1 -1
  181. package/dist/agents/react/runners/deep-think/runner.d.cts +5 -4
  182. package/dist/agents/react/runners/deep-think/runner.d.ts +5 -4
  183. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  184. package/dist/agents/react/runners/default/runner.d.cts +5 -4
  185. package/dist/agents/react/runners/default/runner.d.ts +5 -4
  186. package/dist/agents/react/runners/default/runner.js.map +1 -1
  187. package/dist/agents/react/runners/granite/runner.cjs +4 -2
  188. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  189. package/dist/agents/react/runners/granite/runner.d.cts +5 -4
  190. package/dist/agents/react/runners/granite/runner.d.ts +5 -4
  191. package/dist/agents/react/runners/granite/runner.js +4 -2
  192. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  193. package/dist/agents/react/types.d.cts +3 -2
  194. package/dist/agents/react/types.d.ts +3 -2
  195. package/dist/agents/toolCalling/agent.cjs +9 -5
  196. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  197. package/dist/agents/toolCalling/agent.d.cts +3 -3
  198. package/dist/agents/toolCalling/agent.d.ts +3 -3
  199. package/dist/agents/toolCalling/agent.js +9 -5
  200. package/dist/agents/toolCalling/agent.js.map +1 -1
  201. package/dist/agents/toolCalling/types.d.cts +1 -1
  202. package/dist/agents/toolCalling/types.d.ts +1 -1
  203. package/dist/agents/types.d.cts +2 -2
  204. package/dist/agents/types.d.ts +2 -2
  205. package/dist/backend/backend.d.cts +2 -2
  206. package/dist/backend/backend.d.ts +2 -2
  207. package/dist/backend/chat.cjs +1 -1
  208. package/dist/backend/chat.cjs.map +1 -1
  209. package/dist/backend/chat.d.cts +2 -2
  210. package/dist/backend/chat.d.ts +2 -2
  211. package/dist/backend/chat.js +1 -1
  212. package/dist/backend/chat.js.map +1 -1
  213. package/dist/backend/core.d.cts +2 -2
  214. package/dist/backend/core.d.ts +2 -2
  215. package/dist/backend/embedding.d.cts +2 -2
  216. package/dist/backend/embedding.d.ts +2 -2
  217. package/dist/backend/message.cjs +59 -3
  218. package/dist/backend/message.cjs.map +1 -1
  219. package/dist/backend/message.d.cts +3 -0
  220. package/dist/backend/message.d.ts +3 -0
  221. package/dist/backend/message.js +59 -3
  222. package/dist/backend/message.js.map +1 -1
  223. package/dist/backend/utils.d.cts +2 -2
  224. package/dist/backend/utils.d.ts +2 -2
  225. package/dist/{base-BsY2baWy.d.ts → base-BQgDlcGa.d.ts} +1 -1
  226. package/dist/{base-BP7v-NSL.d.cts → base-CwcxwybB.d.cts} +1 -1
  227. package/dist/cache/fileCache.cjs.map +1 -1
  228. package/dist/cache/fileCache.js.map +1 -1
  229. package/dist/{chat-W9j8T6UU.d.ts → chat-C0s-o6ll.d.ts} +4 -2
  230. package/dist/{chat-CR4yfOR9.d.cts → chat-CRb3vUVg.d.cts} +4 -2
  231. package/dist/context.d.cts +1 -1
  232. package/dist/context.d.ts +1 -1
  233. package/dist/emitter/emitter.d.cts +1 -1
  234. package/dist/emitter/emitter.d.ts +1 -1
  235. package/dist/emitter/types.d.cts +1 -1
  236. package/dist/emitter/types.d.ts +1 -1
  237. package/dist/{emitter-C9nwGLt6.d.ts → emitter-CZFbzlUi.d.ts} +3 -3
  238. package/dist/{emitter-DWEsd-ud.d.cts → emitter-DpqUYjXH.d.cts} +3 -3
  239. package/dist/index.d.cts +3 -3
  240. package/dist/index.d.ts +3 -3
  241. package/dist/internals/fetcher.d.cts +1 -1
  242. package/dist/internals/fetcher.d.ts +1 -1
  243. package/dist/internals/helpers/array.cjs +35 -0
  244. package/dist/internals/helpers/array.cjs.map +1 -1
  245. package/dist/internals/helpers/array.d.cts +6 -1
  246. package/dist/internals/helpers/array.d.ts +6 -1
  247. package/dist/internals/helpers/array.js +35 -1
  248. package/dist/internals/helpers/array.js.map +1 -1
  249. package/dist/internals/helpers/object.cjs +30 -5
  250. package/dist/internals/helpers/object.cjs.map +1 -1
  251. package/dist/internals/helpers/object.d.cts +3 -2
  252. package/dist/internals/helpers/object.d.ts +3 -2
  253. package/dist/internals/helpers/object.js +29 -5
  254. package/dist/internals/helpers/object.js.map +1 -1
  255. package/dist/logger/logger.cjs +8 -4
  256. package/dist/logger/logger.cjs.map +1 -1
  257. package/dist/logger/logger.d.cts +21 -15
  258. package/dist/logger/logger.d.ts +21 -15
  259. package/dist/logger/logger.js +6 -3
  260. package/dist/logger/logger.js.map +1 -1
  261. package/dist/logger/pretty.cjs +2 -2
  262. package/dist/logger/pretty.cjs.map +1 -1
  263. package/dist/logger/pretty.js +2 -2
  264. package/dist/logger/pretty.js.map +1 -1
  265. package/dist/memory/slidingMemory.d.cts +1 -1
  266. package/dist/memory/slidingMemory.d.ts +1 -1
  267. package/dist/memory/summarizeMemory.d.cts +2 -2
  268. package/dist/memory/summarizeMemory.d.ts +2 -2
  269. package/dist/parsers/linePrefix.cjs.map +1 -1
  270. package/dist/parsers/linePrefix.d.cts +4 -8
  271. package/dist/parsers/linePrefix.d.ts +4 -8
  272. package/dist/parsers/linePrefix.js.map +1 -1
  273. package/dist/serializer/utils.cjs.map +1 -1
  274. package/dist/serializer/utils.js.map +1 -1
  275. package/dist/tools/arxiv.cjs.map +1 -1
  276. package/dist/tools/arxiv.d.cts +1 -1
  277. package/dist/tools/arxiv.d.ts +1 -1
  278. package/dist/tools/arxiv.js.map +1 -1
  279. package/dist/tools/base.cjs.map +1 -1
  280. package/dist/tools/base.d.cts +1 -1
  281. package/dist/tools/base.d.ts +1 -1
  282. package/dist/tools/base.js.map +1 -1
  283. package/dist/tools/calculator.d.cts +1 -1
  284. package/dist/tools/calculator.d.ts +1 -1
  285. package/dist/tools/custom.d.cts +2 -2
  286. package/dist/tools/custom.d.ts +2 -2
  287. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  288. package/dist/tools/database/elasticsearch.d.cts +1 -1
  289. package/dist/tools/database/elasticsearch.d.ts +1 -1
  290. package/dist/tools/database/elasticsearch.js.map +1 -1
  291. package/dist/tools/database/milvus.cjs +3 -3
  292. package/dist/tools/database/milvus.cjs.map +1 -1
  293. package/dist/tools/database/milvus.d.cts +3 -3
  294. package/dist/tools/database/milvus.d.ts +3 -3
  295. package/dist/tools/database/milvus.js +3 -3
  296. package/dist/tools/database/milvus.js.map +1 -1
  297. package/dist/tools/database/qdrant.cjs +2 -2
  298. package/dist/tools/database/qdrant.cjs.map +1 -1
  299. package/dist/tools/database/qdrant.d.cts +1 -1
  300. package/dist/tools/database/qdrant.d.ts +1 -1
  301. package/dist/tools/database/qdrant.js +2 -2
  302. package/dist/tools/database/qdrant.js.map +1 -1
  303. package/dist/tools/database/sql.cjs.map +1 -1
  304. package/dist/tools/database/sql.d.cts +1 -1
  305. package/dist/tools/database/sql.d.ts +1 -1
  306. package/dist/tools/database/sql.js.map +1 -1
  307. package/dist/tools/llm.d.cts +2 -2
  308. package/dist/tools/llm.d.ts +2 -2
  309. package/dist/tools/mcp.d.cts +1 -1
  310. package/dist/tools/mcp.d.ts +1 -1
  311. package/dist/tools/openapi.d.cts +1 -1
  312. package/dist/tools/openapi.d.ts +1 -1
  313. package/dist/tools/python/output.d.cts +1 -1
  314. package/dist/tools/python/output.d.ts +1 -1
  315. package/dist/tools/python/python.d.cts +2 -2
  316. package/dist/tools/python/python.d.ts +2 -2
  317. package/dist/tools/search/base.cjs.map +1 -1
  318. package/dist/tools/search/base.d.cts +1 -1
  319. package/dist/tools/search/base.d.ts +1 -1
  320. package/dist/tools/search/base.js.map +1 -1
  321. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  322. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  323. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  324. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  325. package/dist/tools/search/googleSearch.cjs.map +1 -1
  326. package/dist/tools/search/googleSearch.d.cts +1 -1
  327. package/dist/tools/search/googleSearch.d.ts +1 -1
  328. package/dist/tools/search/googleSearch.js.map +1 -1
  329. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  330. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  331. package/dist/tools/search/wikipedia.cjs +25 -0
  332. package/dist/tools/search/wikipedia.cjs.map +1 -1
  333. package/dist/tools/search/wikipedia.d.cts +2 -3
  334. package/dist/tools/search/wikipedia.d.ts +2 -3
  335. package/dist/tools/search/wikipedia.js +23 -0
  336. package/dist/tools/search/wikipedia.js.map +1 -1
  337. package/dist/tools/similarity.d.cts +1 -1
  338. package/dist/tools/similarity.d.ts +1 -1
  339. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  340. package/dist/tools/weather/openMeteo.d.cts +1 -1
  341. package/dist/tools/weather/openMeteo.d.ts +1 -1
  342. package/dist/tools/weather/openMeteo.js.map +1 -1
  343. package/dist/tools/web/webCrawler.cjs.map +1 -1
  344. package/dist/tools/web/webCrawler.d.cts +1 -1
  345. package/dist/tools/web/webCrawler.d.ts +1 -1
  346. package/dist/tools/web/webCrawler.js.map +1 -1
  347. package/dist/version.cjs +1 -1
  348. package/dist/version.js +1 -1
  349. package/dist/workflows/agent.d.cts +3 -3
  350. package/dist/workflows/agent.d.ts +3 -3
  351. package/dist/workflows/workflow.d.cts +1 -1
  352. package/dist/workflows/workflow.d.ts +1 -1
  353. package/package.json +68 -67
  354. package/dist/adapters/beeai_platform/agents/agent.cjs.map +0 -1
  355. package/dist/adapters/beeai_platform/agents/agent.js.map +0 -1
  356. package/dist/adapters/beeai_platform/agents/events.d.cts +0 -23
  357. package/dist/adapters/beeai_platform/agents/events.d.ts +0 -23
  358. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs +0 -0
  359. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs.map +0 -0
  360. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js +0 -0
  361. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js.map +0 -0
  362. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs +0 -0
  363. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs.map +0 -0
  364. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js +0 -0
  365. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/agents/react/runners/default/runner.ts"],"names":["DefaultRunner","BaseRunner","useNativeToolCalling","defaultTemplates","system","ReActAgentSystemPrompt","assistant","ReActAgentAssistantPrompt","user","ReActAgentUserPrompt","schemaError","ReActAgentSchemaErrorPrompt","toolNotFoundError","ReActAgentToolNotFoundPrompt","toolError","ReActAgentToolErrorPrompt","toolInputError","ReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","llm","signal","meta","emitter","tempMessageKey","Retryable","onRetry","emit","onError","error","failedAttemptsCounter","use","LinePrefixParserError","reason","Reason","NoDataReceived","memory","add","AssistantMessage","UserMessage","templates","render","executor","tools","input","slice","parser","createParser","raw","create","messages","undefined","abortSignal","stream","observe","llmEmitter","on","value","key","field","isDone","data","finalState","update","parsedValue","success","delta","callbacks","abort","getTextContent","partialState","tool_output","end","deleteMany","filter","msg","getProp","state","config","maxRetries","options","execution","maxRetriesPerStep","get","tool","find","name","trim","toUpperCase","tool_name","AgentError","context","output","iteration","tool_input","FrameworkError","ensure","toolOptions","shallowCopy","toolOutput","run","Tool","contextKeys","Memory","result","isEmpty","ToolInputValidationError","toString","ToolError","explain","renderers","self","message","prompt","variables","Promise","all","map","description","replaceAll","replace","concat","schema","JSON","stringify","getInputJsonSchema","ignoredKeys","Set","has","SystemMessage","instructions","createdAt","Date","toISOString","initMemory","history","prevConversation","isTruthy","role","Role","USER","text","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","curMessages","prevConversationMessage","includes","last","lastMessage","length","ASSISTANT","addMany","LinePrefixParser","thought","prefix","next","isStart","ZodParserField","z","string","min","pipeline","enum","isEnd","JSONParserField","object","passthrough","base","matchPair","final_answer","waitForStartNode","endOnRepeat","fallback","stash","enumerable"],"mappings":"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","file":"runner.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n BaseRunner,\n ReActAgentRunnerLLMInput,\n ReActAgentRunnerToolInput,\n} from \"@/agents/react/runners/base.js\";\nimport type {\n ReActAgentRunIteration,\n ReActAgentParserInput,\n ReActAgentRunInput,\n} from \"@/agents/react/types.js\";\nimport { Retryable } from \"@/internals/helpers/retryable.js\";\nimport { AgentError } from \"@/agents/base.js\";\nimport {\n ReActAgentAssistantPrompt,\n ReActAgentSchemaErrorPrompt,\n ReActAgentSystemPrompt,\n ReActAgentToolErrorPrompt,\n ReActAgentToolInputErrorPrompt,\n ReActAgentToolNoResultsPrompt,\n ReActAgentToolNotFoundPrompt,\n ReActAgentUserEmptyPrompt,\n ReActAgentUserPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { AnyTool, Tool, ToolError, ToolInputValidationError, ToolOutput } from \"@/tools/base.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { LinePrefixParser, LinePrefixParserError } from \"@/parsers/linePrefix.js\";\nimport { JSONParserField, ZodParserField } from \"@/parsers/field.js\";\nimport { z } from \"zod\";\nimport { AssistantMessage, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class DefaultRunner extends BaseRunner {\n protected useNativeToolCalling = false;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: ReActAgentSystemPrompt,\n assistant: ReActAgentAssistantPrompt,\n user: ReActAgentUserPrompt,\n schemaError: ReActAgentSchemaErrorPrompt,\n toolNotFoundError: ReActAgentToolNotFoundPrompt,\n toolError: ReActAgentToolErrorPrompt,\n toolInputError: ReActAgentToolInputErrorPrompt,\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n async llm({ signal, meta, emitter }: ReActAgentRunnerLLMInput): Promise<ReActAgentRunIteration> {\n const tempMessageKey = \"tempMessage\" as const;\n\n return new Retryable({\n onRetry: () => emitter.emit(\"retry\", { meta }),\n onError: async (error) => {\n await emitter.emit(\"error\", { error, meta });\n this.failedAttemptsCounter.use(error);\n\n if (error instanceof LinePrefixParserError) {\n // Prevent hanging on EOT\n if (error.reason === LinePrefixParserError.Reason.NoDataReceived) {\n await this.memory.add(\n new AssistantMessage(\"\\n\", {\n [tempMessageKey]: true,\n }),\n );\n } else {\n await this.memory.add(\n new UserMessage(this.templates.schemaError.render({}), {\n [tempMessageKey]: true,\n }),\n );\n }\n }\n },\n executor: async () => {\n const tools = this.input.tools.slice();\n await emitter.emit(\"start\", { meta, tools, memory: this.memory });\n\n const { parser } = this.createParser(tools);\n const raw = await this.input.llm\n .create({\n messages: this.memory.messages.slice(),\n tools: this.useNativeToolCalling ? tools : undefined,\n abortSignal: signal,\n stream: this.input.stream !== false,\n })\n .observe((llmEmitter) => {\n parser.emitter.on(\"update\", async ({ value, key, field }) => {\n if (key === \"tool_output\" && parser.isDone) {\n return;\n }\n await emitter.emit(\"update\", {\n data: parser.finalState,\n update: { key, value: field.raw, parsedValue: value },\n meta: { success: true, ...meta },\n memory: this.memory,\n });\n });\n parser.emitter.on(\"partialUpdate\", async ({ key, delta, value }) => {\n await emitter.emit(\"partialUpdate\", {\n data: parser.finalState,\n update: { key, value: delta, parsedValue: value },\n meta: { success: true, ...meta },\n });\n });\n\n llmEmitter.on(\"newToken\", async ({ value, callbacks }) => {\n if (parser.isDone) {\n callbacks.abort();\n return;\n }\n\n await parser.add(value.getTextContent());\n if (parser.partialState.tool_output !== undefined) {\n callbacks.abort();\n }\n });\n });\n\n await parser.end();\n await this.memory.deleteMany(\n this.memory.messages.filter((msg) => getProp(msg.meta, [tempMessageKey]) === true),\n );\n\n return {\n state: parser.finalState,\n raw,\n };\n },\n config: {\n maxRetries: this.options.execution?.maxRetriesPerStep,\n signal,\n },\n }).get();\n }\n\n async tool({ state, signal, meta, emitter }: ReActAgentRunnerToolInput) {\n const tool = this.input.tools.find(\n (tool) => tool.name.trim().toUpperCase() == state.tool_name?.trim()?.toUpperCase(),\n );\n if (!tool) {\n this.failedAttemptsCounter.use(\n new AgentError(`Agent was trying to use non-existing tool \"${state.tool_name}\"`, [], {\n context: { state, meta },\n }),\n );\n\n return {\n success: false,\n output: this.templates.toolNotFoundError.render({\n tools: this.input.tools,\n }),\n };\n }\n\n return new Retryable({\n config: {\n signal,\n maxRetries: this.options.execution?.maxRetriesPerStep,\n },\n onError: async (error) => {\n await emitter.emit(\"toolError\", {\n data: {\n iteration: state,\n tool,\n input: state.tool_input,\n options: this.options,\n error: FrameworkError.ensure(error),\n },\n meta,\n });\n this.failedAttemptsCounter.use(error);\n },\n executor: async () => {\n const toolOptions = shallowCopy(this.options);\n\n try {\n await emitter.emit(\"toolStart\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n iteration: state,\n },\n meta,\n });\n const toolOutput: ToolOutput = await tool.run(state.tool_input, toolOptions).context({\n [Tool.contextKeys.Memory]: this.memory,\n });\n await emitter.emit(\"toolSuccess\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n result: toolOutput,\n iteration: state,\n },\n meta,\n });\n\n if (toolOutput.isEmpty()) {\n return { output: this.templates.toolNoResultError.render({}), success: true };\n }\n\n return {\n success: true,\n output: toolOutput.getTextContent(),\n };\n } catch (error) {\n await emitter.emit(\"toolError\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n error,\n iteration: state,\n },\n meta,\n });\n\n if (error instanceof ToolInputValidationError) {\n this.failedAttemptsCounter.use(error);\n\n return {\n success: false,\n output: this.templates.toolInputError.render({\n reason: error.toString(),\n }),\n };\n }\n\n if (error instanceof ToolError) {\n this.failedAttemptsCounter.use(error);\n\n return {\n success: false,\n output: this.templates.toolError.render({\n reason: error.explain(),\n }),\n };\n }\n\n throw error;\n }\n },\n }).get();\n }\n\n @Cache({ enumerable: false })\n protected get renderers() {\n const self = {\n user: {\n message: ({ prompt }: ReActAgentRunInput) =>\n prompt !== null || this.input.memory.isEmpty()\n ? new UserMessage(prompt || this.templates.userEmpty.render({}))\n : undefined,\n },\n system: {\n variables: {\n tools: async () => {\n return await Promise.all(\n this.input.tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description.replaceAll(\"\\n\", \".\").replace(/\\.$/, \"\").concat(\".\"),\n schema: JSON.stringify(\n await tool.getInputJsonSchema(),\n (() => {\n const ignoredKeys = new Set([\"minLength\", \"maxLength\", \"$schema\"]);\n return (key, value) => (ignoredKeys.has(key) ? undefined : value);\n })(),\n ),\n })),\n );\n },\n },\n message: async () =>\n new SystemMessage(\n this.templates.system.render({\n tools: await self.system.variables.tools(),\n instructions: undefined,\n createdAt: new Date().toISOString(),\n }),\n {\n createdAt: new Date(),\n },\n ),\n },\n };\n return self;\n }\n\n protected async initMemory({ prompt }: ReActAgentRunInput): Promise<BaseMemory> {\n const { memory: history } = this.input;\n\n const prevConversation = [...history.messages, this.renderers.user.message({ prompt })]\n .filter(isTruthy)\n .map((message) => {\n if (message.role === Role.USER) {\n const isEmpty = !message.text.trim();\n const text = isEmpty\n ? (this.templates?.userEmpty ?? ReActAgentUserEmptyPrompt).render({})\n : (this.templates?.user ?? ReActAgentUserPrompt).render({\n input: message.text,\n meta: {\n ...message?.meta,\n createdAt: message?.meta?.createdAt?.toISOString?.(),\n },\n });\n\n return new UserMessage(text, message.meta);\n }\n return message;\n });\n\n const memory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.5,\n handlers: {\n removalSelector(curMessages) {\n // First we remove messages from the past conversations\n const prevConversationMessage = curMessages.find((msg) => prevConversation.includes(msg));\n if (prevConversationMessage && prevConversationMessage !== last(prevConversation)) {\n return prevConversationMessage;\n }\n\n const lastMessage =\n curMessages.length > 3\n ? (curMessages.find(\n (msg) =>\n msg.role === Role.ASSISTANT && getProp(msg, [\"ctx\", \"success\"]) === false,\n ) ?? curMessages.find((msg) => msg.role === Role.ASSISTANT))\n : null;\n\n if (!lastMessage) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMessage;\n },\n },\n });\n await memory.addMany([await this.renderers.system.message(), ...prevConversation]);\n return memory;\n }\n\n protected createParser(tools: AnyTool[]) {\n const parser = new LinePrefixParser<ReActAgentParserInput>(\n {\n thought: {\n prefix: \"Thought:\",\n next: [\"tool_name\", \"final_answer\"],\n isStart: true,\n field: new ZodParserField(z.string().min(1)),\n },\n tool_name: {\n prefix: \"Function Name:\",\n next: [\"tool_input\"],\n field: new ZodParserField(\n z.pipeline(\n z.string().trim(),\n z.enum(tools.map((tool) => tool.name) as [string, ...string[]]),\n ),\n ),\n },\n tool_input: {\n prefix: \"Function Input:\",\n next: [\"tool_output\"],\n isEnd: true,\n field: new JSONParserField({\n schema: z.object({}).passthrough(),\n base: {},\n matchPair: [\"{\", \"}\"],\n }),\n },\n tool_output: {\n prefix: \"Function Output:\",\n next: [\"final_answer\"],\n isEnd: true,\n field: new ZodParserField(z.string()),\n },\n final_answer: {\n prefix: \"Final Answer:\",\n next: [],\n isStart: true,\n isEnd: true,\n field: new ZodParserField(z.string().min(1)),\n },\n },\n {\n waitForStartNode: true,\n endOnRepeat: true,\n fallback: (stash) =>\n stash\n ? [\n { key: \"thought\", value: \"I now know the final answer.\" },\n { key: \"final_answer\", value: stash },\n ]\n : [],\n },\n );\n\n return {\n parser,\n } as const;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/agents/react/runners/default/runner.ts"],"names":["DefaultRunner","BaseRunner","useNativeToolCalling","defaultTemplates","system","ReActAgentSystemPrompt","assistant","ReActAgentAssistantPrompt","user","ReActAgentUserPrompt","schemaError","ReActAgentSchemaErrorPrompt","toolNotFoundError","ReActAgentToolNotFoundPrompt","toolError","ReActAgentToolErrorPrompt","toolInputError","ReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","llm","signal","meta","emitter","tempMessageKey","Retryable","onRetry","emit","onError","error","failedAttemptsCounter","use","LinePrefixParserError","reason","Reason","NoDataReceived","memory","add","AssistantMessage","UserMessage","templates","render","executor","tools","input","slice","parser","createParser","raw","create","messages","undefined","abortSignal","stream","observe","llmEmitter","on","value","key","field","isDone","data","finalState","update","parsedValue","success","delta","callbacks","abort","getTextContent","partialState","tool_output","end","deleteMany","filter","msg","getProp","state","config","maxRetries","options","execution","maxRetriesPerStep","get","tool","find","name","trim","toUpperCase","tool_name","AgentError","context","output","iteration","tool_input","FrameworkError","ensure","toolOptions","shallowCopy","toolOutput","run","Tool","contextKeys","Memory","result","isEmpty","ToolInputValidationError","toString","ToolError","explain","renderers","self","message","prompt","variables","Promise","all","map","description","replaceAll","replace","concat","schema","JSON","stringify","getInputJsonSchema","ignoredKeys","Set","has","SystemMessage","instructions","createdAt","Date","toISOString","initMemory","history","prevConversation","isTruthy","role","Role","USER","text","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","curMessages","prevConversationMessage","includes","last","lastMessage","length","ASSISTANT","addMany","LinePrefixParser","thought","prefix","next","isStart","ZodParserField","z","string","min","pipeline","enum","isEnd","JSONParserField","object","passthrough","base","matchPair","final_answer","waitForStartNode","endOnRepeat","fallback","stash","enumerable"],"mappings":"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","file":"runner.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n BaseRunner,\n ReActAgentRunnerLLMInput,\n ReActAgentRunnerToolInput,\n} from \"@/agents/react/runners/base.js\";\nimport type {\n ReActAgentRunIteration,\n ReActAgentParserInput,\n ReActAgentRunInput,\n} from \"@/agents/react/types.js\";\nimport { Retryable } from \"@/internals/helpers/retryable.js\";\nimport { AgentError } from \"@/agents/base.js\";\nimport {\n ReActAgentAssistantPrompt,\n ReActAgentSchemaErrorPrompt,\n ReActAgentSystemPrompt,\n ReActAgentToolErrorPrompt,\n ReActAgentToolInputErrorPrompt,\n ReActAgentToolNoResultsPrompt,\n ReActAgentToolNotFoundPrompt,\n ReActAgentUserEmptyPrompt,\n ReActAgentUserPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { AnyTool, Tool, ToolError, ToolInputValidationError, ToolOutput } from \"@/tools/base.js\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { LinePrefixParser, LinePrefixParserError } from \"@/parsers/linePrefix.js\";\nimport { JSONParserField, ZodParserField } from \"@/parsers/field.js\";\nimport { z } from \"zod\";\nimport { AssistantMessage, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class DefaultRunner extends BaseRunner {\n protected useNativeToolCalling = false;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: ReActAgentSystemPrompt,\n assistant: ReActAgentAssistantPrompt,\n user: ReActAgentUserPrompt,\n schemaError: ReActAgentSchemaErrorPrompt,\n toolNotFoundError: ReActAgentToolNotFoundPrompt,\n toolError: ReActAgentToolErrorPrompt,\n toolInputError: ReActAgentToolInputErrorPrompt,\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n async llm({ signal, meta, emitter }: ReActAgentRunnerLLMInput): Promise<ReActAgentRunIteration> {\n const tempMessageKey = \"tempMessage\" as const;\n\n return new Retryable({\n onRetry: () => emitter.emit(\"retry\", { meta }),\n onError: async (error) => {\n await emitter.emit(\"error\", { error, meta });\n this.failedAttemptsCounter.use(error);\n\n if (error instanceof LinePrefixParserError) {\n // Prevent hanging on EOT\n if (error.reason === LinePrefixParserError.Reason.NoDataReceived) {\n await this.memory.add(\n new AssistantMessage(\"\\n\", {\n [tempMessageKey]: true,\n }),\n );\n } else {\n await this.memory.add(\n new UserMessage(this.templates.schemaError.render({}), {\n [tempMessageKey]: true,\n }),\n );\n }\n }\n },\n executor: async () => {\n const tools = this.input.tools.slice();\n await emitter.emit(\"start\", { meta, tools, memory: this.memory });\n\n const { parser } = this.createParser(tools);\n const raw = await this.input.llm\n .create({\n messages: this.memory.messages.slice(),\n tools: this.useNativeToolCalling ? tools : undefined,\n abortSignal: signal,\n stream: this.input.stream !== false,\n })\n .observe((llmEmitter) => {\n parser.emitter.on(\"update\", async ({ value, key, field }) => {\n if (key === \"tool_output\" && parser.isDone) {\n return;\n }\n await emitter.emit(\"update\", {\n data: parser.finalState,\n update: { key, value: field.raw, parsedValue: value },\n meta: { success: true, ...meta },\n memory: this.memory,\n });\n });\n parser.emitter.on(\"partialUpdate\", async ({ key, delta, value }) => {\n await emitter.emit(\"partialUpdate\", {\n data: parser.finalState,\n update: { key, value: delta, parsedValue: value },\n meta: { success: true, ...meta },\n });\n });\n\n llmEmitter.on(\"newToken\", async ({ value, callbacks }) => {\n if (parser.isDone) {\n callbacks.abort();\n return;\n }\n\n await parser.add(value.getTextContent());\n if (parser.partialState.tool_output !== undefined) {\n callbacks.abort();\n }\n });\n });\n\n await parser.end();\n await this.memory.deleteMany(\n this.memory.messages.filter((msg) => getProp(msg.meta, [tempMessageKey]) === true),\n );\n\n return {\n state: parser.finalState,\n raw,\n };\n },\n config: {\n maxRetries: this.options.execution?.maxRetriesPerStep,\n signal,\n },\n }).get();\n }\n\n async tool({ state, signal, meta, emitter }: ReActAgentRunnerToolInput) {\n const tool = this.input.tools.find(\n (tool) => tool.name.trim().toUpperCase() == state.tool_name?.trim()?.toUpperCase(),\n );\n if (!tool) {\n this.failedAttemptsCounter.use(\n new AgentError(`Agent was trying to use non-existing tool \"${state.tool_name}\"`, [], {\n context: { state, meta },\n }),\n );\n\n return {\n success: false,\n output: this.templates.toolNotFoundError.render({\n tools: this.input.tools,\n }),\n };\n }\n\n return new Retryable({\n config: {\n signal,\n maxRetries: this.options.execution?.maxRetriesPerStep,\n },\n onError: async (error) => {\n await emitter.emit(\"toolError\", {\n data: {\n iteration: state,\n tool,\n input: state.tool_input,\n options: this.options,\n error: FrameworkError.ensure(error),\n },\n meta,\n });\n this.failedAttemptsCounter.use(error);\n },\n executor: async () => {\n const toolOptions = shallowCopy(this.options);\n\n try {\n await emitter.emit(\"toolStart\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n iteration: state,\n },\n meta,\n });\n const toolOutput: ToolOutput = await tool.run(state.tool_input, toolOptions).context({\n [Tool.contextKeys.Memory]: this.memory,\n });\n await emitter.emit(\"toolSuccess\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n result: toolOutput,\n iteration: state,\n },\n meta,\n });\n\n if (toolOutput.isEmpty()) {\n return { output: this.templates.toolNoResultError.render({}), success: true };\n }\n\n return {\n success: true,\n output: toolOutput.getTextContent(),\n };\n } catch (error) {\n await emitter.emit(\"toolError\", {\n data: {\n tool,\n input: state.tool_input,\n options: toolOptions,\n error,\n iteration: state,\n },\n meta,\n });\n\n if (error instanceof ToolInputValidationError) {\n this.failedAttemptsCounter.use(error);\n\n return {\n success: false,\n output: this.templates.toolInputError.render({\n reason: error.toString(),\n }),\n };\n }\n\n if (error instanceof ToolError) {\n this.failedAttemptsCounter.use(error);\n\n return {\n success: false,\n output: this.templates.toolError.render({\n reason: error.explain(),\n }),\n };\n }\n\n throw error;\n }\n },\n }).get();\n }\n\n @Cache({ enumerable: false })\n protected get renderers() {\n const self = {\n user: {\n message: ({ prompt }: ReActAgentRunInput) =>\n prompt !== null || this.input.memory.isEmpty()\n ? new UserMessage(prompt || this.templates.userEmpty.render({}))\n : undefined,\n },\n system: {\n variables: {\n tools: async () => {\n return await Promise.all(\n this.input.tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description.replaceAll(\"\\n\", \".\").replace(/\\.$/, \"\").concat(\".\"),\n schema: JSON.stringify(\n await tool.getInputJsonSchema(),\n (() => {\n const ignoredKeys = new Set([\"minLength\", \"maxLength\", \"$schema\"]);\n return (key, value) => (ignoredKeys.has(key) ? undefined : value);\n })(),\n ),\n })),\n );\n },\n },\n message: async () =>\n new SystemMessage(\n this.templates.system.render({\n tools: await self.system.variables.tools(),\n instructions: undefined,\n createdAt: new Date().toISOString(),\n }),\n {\n createdAt: new Date(),\n },\n ),\n },\n };\n return self;\n }\n\n protected async initMemory({ prompt }: ReActAgentRunInput): Promise<BaseMemory> {\n const { memory: history } = this.input;\n\n const prevConversation = [...history.messages, this.renderers.user.message({ prompt })]\n .filter(isTruthy)\n .map((message) => {\n if (message.role === Role.USER) {\n const isEmpty = !message.text.trim();\n const text = isEmpty\n ? (this.templates?.userEmpty ?? ReActAgentUserEmptyPrompt).render({})\n : (this.templates?.user ?? ReActAgentUserPrompt).render({\n input: message.text,\n meta: {\n ...message?.meta,\n createdAt: message?.meta?.createdAt?.toISOString?.(),\n },\n });\n\n return new UserMessage(text, message.meta);\n }\n return message;\n });\n\n const memory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.5,\n handlers: {\n removalSelector(curMessages) {\n // First we remove messages from the past conversations\n const prevConversationMessage = curMessages.find((msg) => prevConversation.includes(msg));\n if (prevConversationMessage && prevConversationMessage !== last(prevConversation)) {\n return prevConversationMessage;\n }\n\n const lastMessage =\n curMessages.length > 3\n ? (curMessages.find(\n (msg) =>\n msg.role === Role.ASSISTANT && getProp(msg, [\"ctx\", \"success\"]) === false,\n ) ?? curMessages.find((msg) => msg.role === Role.ASSISTANT))\n : null;\n\n if (!lastMessage) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMessage;\n },\n },\n });\n await memory.addMany([await this.renderers.system.message(), ...prevConversation]);\n return memory;\n }\n\n protected createParser(tools: AnyTool[]) {\n const parser = new LinePrefixParser<ReActAgentParserInput>(\n {\n thought: {\n prefix: \"Thought:\",\n next: [\"tool_name\", \"final_answer\"],\n isStart: true,\n field: new ZodParserField(z.string().min(1)),\n },\n tool_name: {\n prefix: \"Function Name:\",\n next: [\"tool_input\"],\n field: new ZodParserField(\n z.pipeline(\n z.string().trim(),\n z.enum(tools.map((tool) => tool.name) as [string, ...string[]]),\n ),\n ),\n },\n tool_input: {\n prefix: \"Function Input:\",\n next: [\"tool_output\"],\n isEnd: true,\n field: new JSONParserField({\n schema: z.object({}).passthrough(),\n base: {},\n matchPair: [\"{\", \"}\"],\n }),\n },\n tool_output: {\n prefix: \"Function Output:\",\n next: [\"final_answer\"],\n isEnd: true,\n field: new ZodParserField(z.string()),\n },\n final_answer: {\n prefix: \"Final Answer:\",\n next: [],\n isStart: true,\n isEnd: true,\n field: new ZodParserField(z.string().min(1)),\n },\n },\n {\n waitForStartNode: true,\n endOnRepeat: true,\n fallback: (stash) =>\n stash\n ? [\n { key: \"thought\", value: \"I now know the final answer.\" },\n { key: \"final_answer\", value: stash },\n ]\n : [],\n },\n );\n\n return {\n parser,\n } as const;\n }\n}\n"]}
@@ -47,9 +47,11 @@ class GraniteRunner extends runner_cjs.DefaultRunner {
47
47
  if (update.key === "tool_output") {
48
48
  await memory.add(new message_cjs.ToolMessage({
49
49
  type: "tool-result",
50
- result: update.value,
50
+ output: {
51
+ type: meta.success ? "text" : "error-text",
52
+ value: update.value
53
+ },
51
54
  toolName: data.tool_name,
52
- isError: !meta.success,
53
55
  toolCallId: "DUMMY_ID"
54
56
  }, {
55
57
  success: meta.success
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/agents/react/runners/granite/runner.ts"],"names":["GraniteRunner","DefaultRunner","useNativeToolCalling","defaultTemplates","system","GraniteReActAgentSystemPrompt","assistant","GraniteReActAgentAssistantPrompt","user","GraniteReActAgentUserPrompt","schemaError","GraniteReActAgentSchemaErrorPrompt","toolNotFoundError","GraniteReActAgentToolNotFoundPrompt","toolError","GraniteReActAgentToolErrorPrompt","toolInputError","GraniteReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","input","options","run","emitter","on","update","meta","memory","data","key","add","ToolMessage","type","result","value","toolName","tool_name","isError","success","toolCallId","isBlocking","createParser","tools","parser","fork","nodes","thought","prefix","tool_input","isEnd","next","final_answer","enumerable"],"mappings":";;;;;;;;;;AAGC,SAAA,YAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,IAAA,EAAA;;;;;;AAAA,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;;;;;AAuBM,MAAMA,sBAAsBC,wBAAAA,CAAAA;EA1BnC;;;EA2BYC,oBAAAA,GAAuB,IAAA;AAEjC,EAAA,IACWC,gBAAAA,GAAmB;AAC5B,IAAA,OAAO;MACLC,MAAAA,EAAQC,2CAAAA;MACRC,SAAAA,EAAWC,8CAAAA;MACXC,IAAAA,EAAMC,yCAAAA;MACNC,WAAAA,EAAaC,gDAAAA;MACbC,iBAAAA,EAAmBC,iDAAAA;MACnBC,SAAAA,EAAWC,8CAAAA;MACXC,cAAAA,EAAgBC,mDAAAA;;MAEhBC,SAAAA,EAAWC,qCAAAA;MACXC,iBAAAA,EAAmBC;AACrB,KAAA;AACF;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;EAEA,WAAA,CACEC,KAAAA,EACAC,SACAC,GAAAA,EACA;AACA,IAAA,KAAA,CAAMF,KAAAA,EAAOC,SAASC,GAAAA,CAAAA;AAEtBA,IAAAA,GAAAA,CAAIC,OAAAA,CAAQC,GACV,QAAA,EACA,OAAO,EAAEC,MAAAA,EAAQC,IAAAA,EAAMC,MAAAA,EAAQC,IAAAA,EAAI,KAAE;AACnC,MAAA,IAAIH,MAAAA,CAAOI,QAAQ,aAAA,EAAe;AAChC,QAAA,MAAMF,MAAAA,CAAOG,GAAAA,CACX,IAAIC,uBAAAA,CACF;UACEC,IAAAA,EAAM,aAAA;AACNC,UAAAA,MAAAA,EAAQR,MAAAA,CAAOS,KAAAA;AACfC,UAAAA,QAAAA,EAAUP,IAAAA,CAAKQ,SAAAA;AACfC,UAAAA,OAAAA,EAAS,CAACX,IAAAA,CAAKY,OAAAA;UACfC,UAAAA,EAAY;SACd,EACA;AAAED,UAAAA,OAAAA,EAASZ,IAAAA,CAAKY;AAAQ,SAAA,CAAA,CAAA;AAG9B;KACF,EACA;MACEE,UAAAA,EAAY;KACd,CAAA;AAEJ;AAEUC,EAAAA,YAAAA,CAAaC,KAAAA,EAAkB;AACvC,IAAA,MAAM,EAAEC,MAAAA,EAAM,GAAK,KAAA,CAAMF,aAAaC,KAAAA,CAAAA;AAEtC,IAAA,OAAO;AACLC,MAAAA,MAAAA,EAAQA,MAAAA,CAAOC,IAAAA,CAA4B,CAACC,KAAAA,EAAOxB,OAAAA,MAAa;AAC9DA,QAAAA,OAAAA;QACAwB,KAAAA,EAAO;UACL,GAAGA,KAAAA;UACHC,OAAAA,EAAS;AAAE,YAAA,GAAGD,KAAAA,CAAMC,OAAAA;YAASC,MAAAA,EAAQ;AAAW,WAAA;UAChDX,SAAAA,EAAW;AAAE,YAAA,GAAGS,KAAAA,CAAMT,SAAAA;YAAWW,MAAAA,EAAQ;AAAa,WAAA;UACtDC,UAAAA,EAAY;AAAE,YAAA,GAAGH,KAAAA,CAAMG,UAAAA;YAAYD,MAAAA,EAAQ,aAAA;YAAeE,KAAAA,EAAO,IAAA;AAAMC,YAAAA,IAAAA,EAAM;AAAG,WAAA;UAChFC,YAAAA,EAAc;AAAE,YAAA,GAAGN,KAAAA,CAAMM,YAAAA;YAAcJ,MAAAA,EAAQ;AAAgB;AACjE;OACF,CAAA;AACF,KAAA;AACF;AACF;;;IAnEWK,UAAAA,EAAY","file":"runner.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ToolMessage } from \"@/backend/message.js\";\nimport type { AnyTool } from \"@/tools/base.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport type { ReActAgentParserInput, ReActAgentRunOptions } from \"@/agents/react/types.js\";\nimport { ReActAgent, ReActAgentInput } from \"@/agents/react/agent.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport {\n GraniteReActAgentAssistantPrompt,\n GraniteReActAgentSchemaErrorPrompt,\n GraniteReActAgentSystemPrompt,\n GraniteReActAgentToolErrorPrompt,\n GraniteReActAgentToolInputErrorPrompt,\n GraniteReActAgentToolNotFoundPrompt,\n GraniteReActAgentUserPrompt,\n} from \"@/agents/react/runners/granite/prompts.js\";\nimport {\n ReActAgentToolNoResultsPrompt,\n ReActAgentUserEmptyPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\n\nexport class GraniteRunner extends DefaultRunner {\n protected useNativeToolCalling = true;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: GraniteReActAgentSystemPrompt,\n assistant: GraniteReActAgentAssistantPrompt,\n user: GraniteReActAgentUserPrompt,\n schemaError: GraniteReActAgentSchemaErrorPrompt,\n toolNotFoundError: GraniteReActAgentToolNotFoundPrompt,\n toolError: GraniteReActAgentToolErrorPrompt,\n toolInputError: GraniteReActAgentToolInputErrorPrompt,\n // Note: These are from ReAct\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n constructor(\n input: ReActAgentInput,\n options: ReActAgentRunOptions,\n run: GetRunContext<ReActAgent>,\n ) {\n super(input, options, run);\n\n run.emitter.on(\n \"update\",\n async ({ update, meta, memory, data }) => {\n if (update.key === \"tool_output\") {\n await memory.add(\n new ToolMessage(\n {\n type: \"tool-result\",\n result: update.value!,\n toolName: data.tool_name!,\n isError: !meta.success,\n toolCallId: \"DUMMY_ID\",\n },\n { success: meta.success },\n ),\n );\n }\n },\n {\n isBlocking: true,\n },\n );\n }\n\n protected createParser(tools: AnyTool[]) {\n const { parser } = super.createParser(tools);\n\n return {\n parser: parser.fork<ReActAgentParserInput>((nodes, options) => ({\n options,\n nodes: {\n ...nodes,\n thought: { ...nodes.thought, prefix: \"Thought:\" },\n tool_name: { ...nodes.tool_name, prefix: \"Tool Name:\" },\n tool_input: { ...nodes.tool_input, prefix: \"Tool Input:\", isEnd: true, next: [] },\n final_answer: { ...nodes.final_answer, prefix: \"Final Answer:\" },\n },\n })),\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/agents/react/runners/granite/runner.ts"],"names":["GraniteRunner","DefaultRunner","useNativeToolCalling","defaultTemplates","system","GraniteReActAgentSystemPrompt","assistant","GraniteReActAgentAssistantPrompt","user","GraniteReActAgentUserPrompt","schemaError","GraniteReActAgentSchemaErrorPrompt","toolNotFoundError","GraniteReActAgentToolNotFoundPrompt","toolError","GraniteReActAgentToolErrorPrompt","toolInputError","GraniteReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","input","options","run","emitter","on","update","meta","memory","data","key","add","ToolMessage","type","output","success","value","toolName","tool_name","toolCallId","isBlocking","createParser","tools","parser","fork","nodes","thought","prefix","tool_input","isEnd","next","final_answer","enumerable"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0BO,MAAMA,sBAAsBC,wBAAAA,CAAAA;AAAAA,EAAAA;;;EACvBC,oBAAAA,GAAuB,IAAA;AAEjC,EAAA,IACWC,gBAAAA,GAAmB;AAC5B,IAAA,OAAO;MACLC,MAAAA,EAAQC,2CAAAA;MACRC,SAAAA,EAAWC,8CAAAA;MACXC,IAAAA,EAAMC,yCAAAA;MACNC,WAAAA,EAAaC,gDAAAA;MACbC,iBAAAA,EAAmBC,iDAAAA;MACnBC,SAAAA,EAAWC,8CAAAA;MACXC,cAAAA,EAAgBC,mDAAAA;;MAEhBC,SAAAA,EAAWC,qCAAAA;MACXC,iBAAAA,EAAmBC;AACrB,KAAA;AACF;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;EAEA,WAAA,CACEC,KAAAA,EACAC,SACAC,GAAAA,EACA;AACA,IAAA,KAAA,CAAMF,KAAAA,EAAOC,SAASC,GAAAA,CAAAA;AAEtBA,IAAAA,GAAAA,CAAIC,OAAAA,CAAQC,GACV,QAAA,EACA,OAAO,EAAEC,MAAAA,EAAQC,IAAAA,EAAMC,MAAAA,EAAQC,IAAAA,EAAI,KAAE;AACnC,MAAA,IAAIH,MAAAA,CAAOI,QAAQ,aAAA,EAAe;AAChC,QAAA,MAAMF,MAAAA,CAAOG,GAAAA,CACX,IAAIC,uBAAAA,CACF;UACEC,IAAAA,EAAM,aAAA;UACNC,MAAAA,EAAQ;YAAED,IAAAA,EAAMN,IAAAA,CAAKQ,UAAU,MAAA,GAAS,YAAA;AAAcC,YAAAA,KAAAA,EAAOV,MAAAA,CAAOU;AAAM,WAAA;AAC1EC,UAAAA,QAAAA,EAAUR,IAAAA,CAAKS,SAAAA;UACfC,UAAAA,EAAY;SACd,EACA;AAAEJ,UAAAA,OAAAA,EAASR,IAAAA,CAAKQ;AAAQ,SAAA,CAAA,CAAA;AAG9B;KACF,EACA;MACEK,UAAAA,EAAY;KACd,CAAA;AAEJ;AAEUC,EAAAA,YAAAA,CAAaC,KAAAA,EAAkB;AACvC,IAAA,MAAM,EAAEC,MAAAA,EAAM,GAAK,KAAA,CAAMF,aAAaC,KAAAA,CAAAA;AAEtC,IAAA,OAAO;AACLC,MAAAA,MAAAA,EAAQA,MAAAA,CAAOC,IAAAA,CAA4B,CAACC,KAAAA,EAAOvB,OAAAA,MAAa;AAC9DA,QAAAA,OAAAA;QACAuB,KAAAA,EAAO;UACL,GAAGA,KAAAA;UACHC,OAAAA,EAAS;AAAE,YAAA,GAAGD,KAAAA,CAAMC,OAAAA;YAASC,MAAAA,EAAQ;AAAW,WAAA;UAChDT,SAAAA,EAAW;AAAE,YAAA,GAAGO,KAAAA,CAAMP,SAAAA;YAAWS,MAAAA,EAAQ;AAAa,WAAA;UACtDC,UAAAA,EAAY;AAAE,YAAA,GAAGH,KAAAA,CAAMG,UAAAA;YAAYD,MAAAA,EAAQ,aAAA;YAAeE,KAAAA,EAAO,IAAA;AAAMC,YAAAA,IAAAA,EAAM;AAAG,WAAA;UAChFC,YAAAA,EAAc;AAAE,YAAA,GAAGN,KAAAA,CAAMM,YAAAA;YAAcJ,MAAAA,EAAQ;AAAgB;AACjE;OACF,CAAA;AACF,KAAA;AACF;AACF;;;IAlEWK,UAAAA,EAAY","file":"runner.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ToolMessage } from \"@/backend/message.js\";\nimport type { AnyTool } from \"@/tools/base.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport type { ReActAgentParserInput, ReActAgentRunOptions } from \"@/agents/react/types.js\";\nimport { ReActAgent, ReActAgentInput } from \"@/agents/react/agent.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport {\n GraniteReActAgentAssistantPrompt,\n GraniteReActAgentSchemaErrorPrompt,\n GraniteReActAgentSystemPrompt,\n GraniteReActAgentToolErrorPrompt,\n GraniteReActAgentToolInputErrorPrompt,\n GraniteReActAgentToolNotFoundPrompt,\n GraniteReActAgentUserPrompt,\n} from \"@/agents/react/runners/granite/prompts.js\";\nimport {\n ReActAgentToolNoResultsPrompt,\n ReActAgentUserEmptyPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\n\nexport class GraniteRunner extends DefaultRunner {\n protected useNativeToolCalling = true;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: GraniteReActAgentSystemPrompt,\n assistant: GraniteReActAgentAssistantPrompt,\n user: GraniteReActAgentUserPrompt,\n schemaError: GraniteReActAgentSchemaErrorPrompt,\n toolNotFoundError: GraniteReActAgentToolNotFoundPrompt,\n toolError: GraniteReActAgentToolErrorPrompt,\n toolInputError: GraniteReActAgentToolInputErrorPrompt,\n // Note: These are from ReAct\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n constructor(\n input: ReActAgentInput,\n options: ReActAgentRunOptions,\n run: GetRunContext<ReActAgent>,\n ) {\n super(input, options, run);\n\n run.emitter.on(\n \"update\",\n async ({ update, meta, memory, data }) => {\n if (update.key === \"tool_output\") {\n await memory.add(\n new ToolMessage(\n {\n type: \"tool-result\",\n output: { type: meta.success ? \"text\" : \"error-text\", value: update.value },\n toolName: data.tool_name!,\n toolCallId: \"DUMMY_ID\",\n },\n { success: meta.success },\n ),\n );\n }\n },\n {\n isBlocking: true,\n },\n );\n }\n\n protected createParser(tools: AnyTool[]) {\n const { parser } = super.createParser(tools);\n\n return {\n parser: parser.fork<ReActAgentParserInput>((nodes, options) => ({\n options,\n nodes: {\n ...nodes,\n thought: { ...nodes.thought, prefix: \"Thought:\" },\n tool_name: { ...nodes.tool_name, prefix: \"Tool Name:\" },\n tool_input: { ...nodes.tool_input, prefix: \"Tool Input:\", isEnd: true, next: [] },\n final_answer: { ...nodes.final_answer, prefix: \"Final Answer:\" },\n },\n })),\n };\n }\n}\n"]}
@@ -4,9 +4,10 @@ import * as zod from 'zod';
4
4
  import { AnyTool } from '../../../../tools/base.cjs';
5
5
  import { DefaultRunner } from '../default/runner.cjs';
6
6
  import { ReActAgentRunOptions, ReActAgentParserInput } from '../../types.cjs';
7
- import { b as ReActAgentInput, c as ReActAgent } from '../../../../agent-I0Saf4A1.cjs';
7
+ import { b as ReActAgentInput, c as ReActAgent } from '../../../../agent-DvvVGvLr.cjs';
8
8
  import { GetRunContext } from '../../../../context.cjs';
9
- import '../../../../emitter-DWEsd-ud.cjs';
9
+ import 'node_modules/remeda/dist/ToString-DKW-jYvM.js';
10
+ import '../../../../emitter-DpqUYjXH.cjs';
10
11
  import '../../../../internals/types.cjs';
11
12
  import '../../../../internals/helpers/guards.cjs';
12
13
  import '../../../../internals/serializable.cjs';
@@ -24,8 +25,8 @@ import '../../../../internals/helpers/promise.cjs';
24
25
  import '../../../../backend/message.cjs';
25
26
  import 'ai';
26
27
  import '../../../../memory/base.cjs';
27
- import '../../../../base-BP7v-NSL.cjs';
28
- import '../../../../chat-CR4yfOR9.cjs';
28
+ import '../../../../base-CwcxwybB.cjs';
29
+ import '../../../../chat-CRb3vUVg.cjs';
29
30
  import '../../../../backend/constants.cjs';
30
31
  import '../../../../logger/logger.cjs';
31
32
  import 'pino';
@@ -4,9 +4,10 @@ import * as zod from 'zod';
4
4
  import { AnyTool } from '../../../../tools/base.js';
5
5
  import { DefaultRunner } from '../default/runner.js';
6
6
  import { ReActAgentRunOptions, ReActAgentParserInput } from '../../types.js';
7
- import { b as ReActAgentInput, c as ReActAgent } from '../../../../agent-CtrCeN7o.js';
7
+ import { b as ReActAgentInput, c as ReActAgent } from '../../../../agent-CHebzsQB.js';
8
8
  import { GetRunContext } from '../../../../context.js';
9
- import '../../../../emitter-C9nwGLt6.js';
9
+ import 'node_modules/remeda/dist/ToString-DKW-jYvM.js';
10
+ import '../../../../emitter-CZFbzlUi.js';
10
11
  import '../../../../internals/types.js';
11
12
  import '../../../../internals/helpers/guards.js';
12
13
  import '../../../../internals/serializable.js';
@@ -24,8 +25,8 @@ import '../../../../internals/helpers/promise.js';
24
25
  import '../../../../backend/message.js';
25
26
  import 'ai';
26
27
  import '../../../../memory/base.js';
27
- import '../../../../base-BsY2baWy.js';
28
- import '../../../../chat-W9j8T6UU.js';
28
+ import '../../../../base-BQgDlcGa.js';
29
+ import '../../../../chat-C0s-o6ll.js';
29
30
  import '../../../../backend/constants.js';
30
31
  import '../../../../logger/logger.js';
31
32
  import 'pino';
@@ -45,9 +45,11 @@ class GraniteRunner extends DefaultRunner {
45
45
  if (update.key === "tool_output") {
46
46
  await memory.add(new ToolMessage({
47
47
  type: "tool-result",
48
- result: update.value,
48
+ output: {
49
+ type: meta.success ? "text" : "error-text",
50
+ value: update.value
51
+ },
49
52
  toolName: data.tool_name,
50
- isError: !meta.success,
51
53
  toolCallId: "DUMMY_ID"
52
54
  }, {
53
55
  success: meta.success
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/agents/react/runners/granite/runner.ts"],"names":["GraniteRunner","DefaultRunner","useNativeToolCalling","defaultTemplates","system","GraniteReActAgentSystemPrompt","assistant","GraniteReActAgentAssistantPrompt","user","GraniteReActAgentUserPrompt","schemaError","GraniteReActAgentSchemaErrorPrompt","toolNotFoundError","GraniteReActAgentToolNotFoundPrompt","toolError","GraniteReActAgentToolErrorPrompt","toolInputError","GraniteReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","input","options","run","emitter","on","update","meta","memory","data","key","add","ToolMessage","type","result","value","toolName","tool_name","isError","success","toolCallId","isBlocking","createParser","tools","parser","fork","nodes","thought","prefix","tool_input","isEnd","next","final_answer","enumerable"],"mappings":";;;;;;;;AAGC,SAAA,YAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,IAAA,EAAA;;;;;;AAAA,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;;;;;AAuBM,MAAMA,sBAAsBC,aAAAA,CAAAA;EA1BnC;;;EA2BYC,oBAAAA,GAAuB,IAAA;AAEjC,EAAA,IACWC,gBAAAA,GAAmB;AAC5B,IAAA,OAAO;MACLC,MAAAA,EAAQC,6BAAAA;MACRC,SAAAA,EAAWC,gCAAAA;MACXC,IAAAA,EAAMC,2BAAAA;MACNC,WAAAA,EAAaC,kCAAAA;MACbC,iBAAAA,EAAmBC,mCAAAA;MACnBC,SAAAA,EAAWC,gCAAAA;MACXC,cAAAA,EAAgBC,qCAAAA;;MAEhBC,SAAAA,EAAWC,yBAAAA;MACXC,iBAAAA,EAAmBC;AACrB,KAAA;AACF;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;EAEA,WAAA,CACEC,KAAAA,EACAC,SACAC,GAAAA,EACA;AACA,IAAA,KAAA,CAAMF,KAAAA,EAAOC,SAASC,GAAAA,CAAAA;AAEtBA,IAAAA,GAAAA,CAAIC,OAAAA,CAAQC,GACV,QAAA,EACA,OAAO,EAAEC,MAAAA,EAAQC,IAAAA,EAAMC,MAAAA,EAAQC,IAAAA,EAAI,KAAE;AACnC,MAAA,IAAIH,MAAAA,CAAOI,QAAQ,aAAA,EAAe;AAChC,QAAA,MAAMF,MAAAA,CAAOG,GAAAA,CACX,IAAIC,WAAAA,CACF;UACEC,IAAAA,EAAM,aAAA;AACNC,UAAAA,MAAAA,EAAQR,MAAAA,CAAOS,KAAAA;AACfC,UAAAA,QAAAA,EAAUP,IAAAA,CAAKQ,SAAAA;AACfC,UAAAA,OAAAA,EAAS,CAACX,IAAAA,CAAKY,OAAAA;UACfC,UAAAA,EAAY;SACd,EACA;AAAED,UAAAA,OAAAA,EAASZ,IAAAA,CAAKY;AAAQ,SAAA,CAAA,CAAA;AAG9B;KACF,EACA;MACEE,UAAAA,EAAY;KACd,CAAA;AAEJ;AAEUC,EAAAA,YAAAA,CAAaC,KAAAA,EAAkB;AACvC,IAAA,MAAM,EAAEC,MAAAA,EAAM,GAAK,KAAA,CAAMF,aAAaC,KAAAA,CAAAA;AAEtC,IAAA,OAAO;AACLC,MAAAA,MAAAA,EAAQA,MAAAA,CAAOC,IAAAA,CAA4B,CAACC,KAAAA,EAAOxB,OAAAA,MAAa;AAC9DA,QAAAA,OAAAA;QACAwB,KAAAA,EAAO;UACL,GAAGA,KAAAA;UACHC,OAAAA,EAAS;AAAE,YAAA,GAAGD,KAAAA,CAAMC,OAAAA;YAASC,MAAAA,EAAQ;AAAW,WAAA;UAChDX,SAAAA,EAAW;AAAE,YAAA,GAAGS,KAAAA,CAAMT,SAAAA;YAAWW,MAAAA,EAAQ;AAAa,WAAA;UACtDC,UAAAA,EAAY;AAAE,YAAA,GAAGH,KAAAA,CAAMG,UAAAA;YAAYD,MAAAA,EAAQ,aAAA;YAAeE,KAAAA,EAAO,IAAA;AAAMC,YAAAA,IAAAA,EAAM;AAAG,WAAA;UAChFC,YAAAA,EAAc;AAAE,YAAA,GAAGN,KAAAA,CAAMM,YAAAA;YAAcJ,MAAAA,EAAQ;AAAgB;AACjE;OACF,CAAA;AACF,KAAA;AACF;AACF;;;IAnEWK,UAAAA,EAAY","file":"runner.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ToolMessage } from \"@/backend/message.js\";\nimport type { AnyTool } from \"@/tools/base.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport type { ReActAgentParserInput, ReActAgentRunOptions } from \"@/agents/react/types.js\";\nimport { ReActAgent, ReActAgentInput } from \"@/agents/react/agent.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport {\n GraniteReActAgentAssistantPrompt,\n GraniteReActAgentSchemaErrorPrompt,\n GraniteReActAgentSystemPrompt,\n GraniteReActAgentToolErrorPrompt,\n GraniteReActAgentToolInputErrorPrompt,\n GraniteReActAgentToolNotFoundPrompt,\n GraniteReActAgentUserPrompt,\n} from \"@/agents/react/runners/granite/prompts.js\";\nimport {\n ReActAgentToolNoResultsPrompt,\n ReActAgentUserEmptyPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\n\nexport class GraniteRunner extends DefaultRunner {\n protected useNativeToolCalling = true;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: GraniteReActAgentSystemPrompt,\n assistant: GraniteReActAgentAssistantPrompt,\n user: GraniteReActAgentUserPrompt,\n schemaError: GraniteReActAgentSchemaErrorPrompt,\n toolNotFoundError: GraniteReActAgentToolNotFoundPrompt,\n toolError: GraniteReActAgentToolErrorPrompt,\n toolInputError: GraniteReActAgentToolInputErrorPrompt,\n // Note: These are from ReAct\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n constructor(\n input: ReActAgentInput,\n options: ReActAgentRunOptions,\n run: GetRunContext<ReActAgent>,\n ) {\n super(input, options, run);\n\n run.emitter.on(\n \"update\",\n async ({ update, meta, memory, data }) => {\n if (update.key === \"tool_output\") {\n await memory.add(\n new ToolMessage(\n {\n type: \"tool-result\",\n result: update.value!,\n toolName: data.tool_name!,\n isError: !meta.success,\n toolCallId: \"DUMMY_ID\",\n },\n { success: meta.success },\n ),\n );\n }\n },\n {\n isBlocking: true,\n },\n );\n }\n\n protected createParser(tools: AnyTool[]) {\n const { parser } = super.createParser(tools);\n\n return {\n parser: parser.fork<ReActAgentParserInput>((nodes, options) => ({\n options,\n nodes: {\n ...nodes,\n thought: { ...nodes.thought, prefix: \"Thought:\" },\n tool_name: { ...nodes.tool_name, prefix: \"Tool Name:\" },\n tool_input: { ...nodes.tool_input, prefix: \"Tool Input:\", isEnd: true, next: [] },\n final_answer: { ...nodes.final_answer, prefix: \"Final Answer:\" },\n },\n })),\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/agents/react/runners/granite/runner.ts"],"names":["GraniteRunner","DefaultRunner","useNativeToolCalling","defaultTemplates","system","GraniteReActAgentSystemPrompt","assistant","GraniteReActAgentAssistantPrompt","user","GraniteReActAgentUserPrompt","schemaError","GraniteReActAgentSchemaErrorPrompt","toolNotFoundError","GraniteReActAgentToolNotFoundPrompt","toolError","GraniteReActAgentToolErrorPrompt","toolInputError","GraniteReActAgentToolInputErrorPrompt","userEmpty","ReActAgentUserEmptyPrompt","toolNoResultError","ReActAgentToolNoResultsPrompt","register","input","options","run","emitter","on","update","meta","memory","data","key","add","ToolMessage","type","output","success","value","toolName","tool_name","toolCallId","isBlocking","createParser","tools","parser","fork","nodes","thought","prefix","tool_input","isEnd","next","final_answer","enumerable"],"mappings":";;;;;;;;;;;;;;;;;;;AA0BO,MAAMA,sBAAsBC,aAAAA,CAAAA;AAAAA,EAAAA;;;EACvBC,oBAAAA,GAAuB,IAAA;AAEjC,EAAA,IACWC,gBAAAA,GAAmB;AAC5B,IAAA,OAAO;MACLC,MAAAA,EAAQC,6BAAAA;MACRC,SAAAA,EAAWC,gCAAAA;MACXC,IAAAA,EAAMC,2BAAAA;MACNC,WAAAA,EAAaC,kCAAAA;MACbC,iBAAAA,EAAmBC,mCAAAA;MACnBC,SAAAA,EAAWC,gCAAAA;MACXC,cAAAA,EAAgBC,qCAAAA;;MAEhBC,SAAAA,EAAWC,yBAAAA;MACXC,iBAAAA,EAAmBC;AACrB,KAAA;AACF;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;EAEA,WAAA,CACEC,KAAAA,EACAC,SACAC,GAAAA,EACA;AACA,IAAA,KAAA,CAAMF,KAAAA,EAAOC,SAASC,GAAAA,CAAAA;AAEtBA,IAAAA,GAAAA,CAAIC,OAAAA,CAAQC,GACV,QAAA,EACA,OAAO,EAAEC,MAAAA,EAAQC,IAAAA,EAAMC,MAAAA,EAAQC,IAAAA,EAAI,KAAE;AACnC,MAAA,IAAIH,MAAAA,CAAOI,QAAQ,aAAA,EAAe;AAChC,QAAA,MAAMF,MAAAA,CAAOG,GAAAA,CACX,IAAIC,WAAAA,CACF;UACEC,IAAAA,EAAM,aAAA;UACNC,MAAAA,EAAQ;YAAED,IAAAA,EAAMN,IAAAA,CAAKQ,UAAU,MAAA,GAAS,YAAA;AAAcC,YAAAA,KAAAA,EAAOV,MAAAA,CAAOU;AAAM,WAAA;AAC1EC,UAAAA,QAAAA,EAAUR,IAAAA,CAAKS,SAAAA;UACfC,UAAAA,EAAY;SACd,EACA;AAAEJ,UAAAA,OAAAA,EAASR,IAAAA,CAAKQ;AAAQ,SAAA,CAAA,CAAA;AAG9B;KACF,EACA;MACEK,UAAAA,EAAY;KACd,CAAA;AAEJ;AAEUC,EAAAA,YAAAA,CAAaC,KAAAA,EAAkB;AACvC,IAAA,MAAM,EAAEC,MAAAA,EAAM,GAAK,KAAA,CAAMF,aAAaC,KAAAA,CAAAA;AAEtC,IAAA,OAAO;AACLC,MAAAA,MAAAA,EAAQA,MAAAA,CAAOC,IAAAA,CAA4B,CAACC,KAAAA,EAAOvB,OAAAA,MAAa;AAC9DA,QAAAA,OAAAA;QACAuB,KAAAA,EAAO;UACL,GAAGA,KAAAA;UACHC,OAAAA,EAAS;AAAE,YAAA,GAAGD,KAAAA,CAAMC,OAAAA;YAASC,MAAAA,EAAQ;AAAW,WAAA;UAChDT,SAAAA,EAAW;AAAE,YAAA,GAAGO,KAAAA,CAAMP,SAAAA;YAAWS,MAAAA,EAAQ;AAAa,WAAA;UACtDC,UAAAA,EAAY;AAAE,YAAA,GAAGH,KAAAA,CAAMG,UAAAA;YAAYD,MAAAA,EAAQ,aAAA;YAAeE,KAAAA,EAAO,IAAA;AAAMC,YAAAA,IAAAA,EAAM;AAAG,WAAA;UAChFC,YAAAA,EAAc;AAAE,YAAA,GAAGN,KAAAA,CAAMM,YAAAA;YAAcJ,MAAAA,EAAQ;AAAgB;AACjE;OACF,CAAA;AACF,KAAA;AACF;AACF;;;IAlEWK,UAAAA,EAAY","file":"runner.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ToolMessage } from \"@/backend/message.js\";\nimport type { AnyTool } from \"@/tools/base.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport type { ReActAgentParserInput, ReActAgentRunOptions } from \"@/agents/react/types.js\";\nimport { ReActAgent, ReActAgentInput } from \"@/agents/react/agent.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport {\n GraniteReActAgentAssistantPrompt,\n GraniteReActAgentSchemaErrorPrompt,\n GraniteReActAgentSystemPrompt,\n GraniteReActAgentToolErrorPrompt,\n GraniteReActAgentToolInputErrorPrompt,\n GraniteReActAgentToolNotFoundPrompt,\n GraniteReActAgentUserPrompt,\n} from \"@/agents/react/runners/granite/prompts.js\";\nimport {\n ReActAgentToolNoResultsPrompt,\n ReActAgentUserEmptyPrompt,\n} from \"@/agents/react/prompts.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\n\nexport class GraniteRunner extends DefaultRunner {\n protected useNativeToolCalling = true;\n\n @Cache({ enumerable: false })\n public get defaultTemplates() {\n return {\n system: GraniteReActAgentSystemPrompt,\n assistant: GraniteReActAgentAssistantPrompt,\n user: GraniteReActAgentUserPrompt,\n schemaError: GraniteReActAgentSchemaErrorPrompt,\n toolNotFoundError: GraniteReActAgentToolNotFoundPrompt,\n toolError: GraniteReActAgentToolErrorPrompt,\n toolInputError: GraniteReActAgentToolInputErrorPrompt,\n // Note: These are from ReAct\n userEmpty: ReActAgentUserEmptyPrompt,\n toolNoResultError: ReActAgentToolNoResultsPrompt,\n };\n }\n\n static {\n this.register();\n }\n\n constructor(\n input: ReActAgentInput,\n options: ReActAgentRunOptions,\n run: GetRunContext<ReActAgent>,\n ) {\n super(input, options, run);\n\n run.emitter.on(\n \"update\",\n async ({ update, meta, memory, data }) => {\n if (update.key === \"tool_output\") {\n await memory.add(\n new ToolMessage(\n {\n type: \"tool-result\",\n output: { type: meta.success ? \"text\" : \"error-text\", value: update.value },\n toolName: data.tool_name!,\n toolCallId: \"DUMMY_ID\",\n },\n { success: meta.success },\n ),\n );\n }\n },\n {\n isBlocking: true,\n },\n );\n }\n\n protected createParser(tools: AnyTool[]) {\n const { parser } = super.createParser(tools);\n\n return {\n parser: parser.fork<ReActAgentParserInput>((nodes, options) => ({\n options,\n nodes: {\n ...nodes,\n thought: { ...nodes.thought, prefix: \"Thought:\" },\n tool_name: { ...nodes.tool_name, prefix: \"Tool Name:\" },\n tool_input: { ...nodes.tool_input, prefix: \"Tool Input:\", isEnd: true, next: [] },\n final_answer: { ...nodes.final_answer, prefix: \"Final Answer:\" },\n },\n })),\n };\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { BaseMemory } from '../../memory/base.cjs';
2
2
  import { Message } from '../../backend/message.cjs';
3
- import { C as Callback } from '../../emitter-DWEsd-ud.cjs';
3
+ import { C as Callback } from '../../emitter-DpqUYjXH.cjs';
4
4
  import { AnyTool, BaseToolRunOptions, ToolOutput, ToolError } from '../../tools/base.cjs';
5
5
  import { ReActAgentSystemPrompt, ReActAgentAssistantPrompt, ReActAgentUserPrompt, ReActAgentUserEmptyPrompt, ReActAgentToolErrorPrompt, ReActAgentToolInputErrorPrompt, ReActAgentToolNoResultsPrompt, ReActAgentToolNotFoundPrompt, ReActAgentSchemaErrorPrompt } from './prompts.cjs';
6
6
  import { LinePrefixParser } from '../../parsers/linePrefix.cjs';
7
7
  import { ZodParserField, JSONParserField } from '../../parsers/field.cjs';
8
8
  import { NonUndefined } from '../../internals/types.cjs';
9
- import { n as ChatModelOutput } from '../../chat-CR4yfOR9.cjs';
9
+ import { n as ChatModelOutput } from '../../chat-CRb3vUVg.cjs';
10
10
  import '../../errors.cjs';
11
11
  import '../../internals/helpers/guards.cjs';
12
12
  import '../../internals/serializable.cjs';
@@ -20,6 +20,7 @@ import '../../internals/helpers/schema.cjs';
20
20
  import 'zod';
21
21
  import 'zod-to-json-schema';
22
22
  import '../../template.cjs';
23
+ import 'node_modules/remeda/dist/ToString-DKW-jYvM.js';
23
24
  import '../../parsers/errors.cjs';
24
25
  import '@streamparser/json';
25
26
  import 'jsonrepair/stream';
@@ -1,12 +1,12 @@
1
1
  import { BaseMemory } from '../../memory/base.js';
2
2
  import { Message } from '../../backend/message.js';
3
- import { C as Callback } from '../../emitter-C9nwGLt6.js';
3
+ import { C as Callback } from '../../emitter-CZFbzlUi.js';
4
4
  import { AnyTool, BaseToolRunOptions, ToolOutput, ToolError } from '../../tools/base.js';
5
5
  import { ReActAgentSystemPrompt, ReActAgentAssistantPrompt, ReActAgentUserPrompt, ReActAgentUserEmptyPrompt, ReActAgentToolErrorPrompt, ReActAgentToolInputErrorPrompt, ReActAgentToolNoResultsPrompt, ReActAgentToolNotFoundPrompt, ReActAgentSchemaErrorPrompt } from './prompts.js';
6
6
  import { LinePrefixParser } from '../../parsers/linePrefix.js';
7
7
  import { ZodParserField, JSONParserField } from '../../parsers/field.js';
8
8
  import { NonUndefined } from '../../internals/types.js';
9
- import { n as ChatModelOutput } from '../../chat-W9j8T6UU.js';
9
+ import { n as ChatModelOutput } from '../../chat-C0s-o6ll.js';
10
10
  import '../../errors.js';
11
11
  import '../../internals/helpers/guards.js';
12
12
  import '../../internals/serializable.js';
@@ -20,6 +20,7 @@ import '../../internals/helpers/schema.js';
20
20
  import 'zod';
21
21
  import 'zod-to-json-schema';
22
22
  import '../../template.js';
23
+ import 'node_modules/remeda/dist/ToString-DKW-jYvM.js';
23
24
  import '../../parsers/errors.js';
24
25
  import '@streamparser/json';
25
26
  import 'jsonrepair/stream';
@@ -113,7 +113,7 @@ class ToolCallingAgent extends base_cjs.BaseAgent {
113
113
  if (!tool) {
114
114
  throw new base_cjs.AgentError(`Tool ${toolCall.toolName} does not exist!`);
115
115
  }
116
- const toolInput = toolCall.args;
116
+ const toolInput = toolCall.input;
117
117
  const toolResponse = await tool.run(toolInput).context({
118
118
  state,
119
119
  toolCallMsg: toolCall
@@ -122,8 +122,10 @@ class ToolCallingAgent extends base_cjs.BaseAgent {
122
122
  type: "tool-result",
123
123
  toolCallId: toolCall.toolCallId,
124
124
  toolName: toolCall.toolName,
125
- result: toolResponse.getTextContent(),
126
- isError: false
125
+ output: {
126
+ type: "text",
127
+ value: toolResponse.getTextContent()
128
+ }
127
129
  }));
128
130
  } catch (e) {
129
131
  if (e instanceof base_cjs$1.ToolError) {
@@ -132,8 +134,10 @@ class ToolCallingAgent extends base_cjs.BaseAgent {
132
134
  type: "tool-result",
133
135
  toolCallId: toolCall.toolCallId,
134
136
  toolName: toolCall.toolName,
135
- result: e.explain(),
136
- isError: true
137
+ output: {
138
+ type: "error-text",
139
+ value: e.explain()
140
+ }
137
141
  }));
138
142
  } else {
139
143
  throw e;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/agents/toolCalling/agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","saveIntermediateSteps","register","_run","options","run","tempMessageKey","execution","totalMaxRetries","omitUndefined","state","memory","UnconstrainedMemory","result","undefined","iteration","add","SystemMessage","templates","system","render","role","instructions","addMany","messages","prompt","userMessage","UserMessage","task","context","expectedOutput","isString","globalRetriesCounter","RetryCounter","AgentError","usePlainResponse","ZodSchema","finalAnswerToolSchema","z","object","response","string","describe","String","finalAnswerTool","DynamicTool","name","description","inputSchema","handler","JSON","stringify","AssistantMessage","StringToolOutput","tools","forceFinalAnswer","Infinity","emit","llm","create","slice","toolChoice","length","stream","toolCallMessages","getToolCalls","toolCall","tool","find","toolName","toolInput","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
+ {"version":3,"sources":["../../../src/agents/toolCalling/agent.ts"],"names":["ToolCallingAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","saveIntermediateSteps","register","_run","options","run","tempMessageKey","execution","totalMaxRetries","omitUndefined","state","memory","UnconstrainedMemory","result","undefined","iteration","add","SystemMessage","templates","system","render","role","instructions","addMany","messages","prompt","userMessage","UserMessage","task","context","expectedOutput","isString","globalRetriesCounter","RetryCounter","AgentError","usePlainResponse","ZodSchema","finalAnswerToolSchema","z","object","response","string","describe","String","finalAnswerTool","DynamicTool","name","description","inputSchema","handler","JSON","stringify","AssistantMessage","StringToolOutput","tools","forceFinalAnswer","Infinity","emit","llm","create","slice","toolChoice","length","stream","toolCallMessages","getToolCalls","toolCall","tool","find","toolName","toolInput","toolResponse","toolCallMsg","ToolMessage","type","toolCallId","output","value","getTextContent","e","ToolError","use","explain","textMessages","getTextMessages","isEmpty","deleteMany","filter","msg","meta","push","reset","extraDescription","map","join","overrides","defaultTemplates","ToolCallingAgentSystemPrompt","ToolCallingAgentTaskPrompt","mapObj","key","defaultTemplate","override","PromptTemplate","createSnapshot","shallowCopy","enumerable"],"mappings":"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","file":"agent.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.input;\n const toolResponse: ToolOutput = await tool.run(toolInput).context({\n state,\n toolCallMsg: toolCall,\n });\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"text\", value: toolResponse.getTextContent() },\n }),\n );\n } catch (e) {\n if (e instanceof ToolError) {\n globalRetriesCounter.use(e);\n await state.memory.add(\n new ToolMessage({\n type: \"tool-result\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n output: { type: \"error-text\", value: e.explain() },\n }),\n );\n } else {\n throw e;\n }\n }\n }\n\n // handle empty messages for some models\n const textMessages = response.getTextMessages();\n if (isEmpty(toolCallMessages) && isEmpty(textMessages)) {\n await state.memory.add(new AssistantMessage(\"\\n\", { [tempMessageKey]: true }));\n } else {\n await state.memory.deleteMany(\n state.memory.messages.filter((msg) => msg.meta[tempMessageKey]),\n );\n }\n\n // Fallback for providers that do not support structured outputs\n if (!isEmpty(textMessages) && isEmpty(toolCallMessages)) {\n forceFinalAnswer = true;\n tools.length = 0;\n tools.push(finalAnswerTool);\n }\n\n await run.emitter.emit(\"success\", { state });\n }\n\n if (this.input.saveIntermediateSteps) {\n this.memory.reset();\n await this.memory.addMany(state.memory.messages.slice(1));\n } else {\n await this.memory.addMany(state.memory.messages.slice(-2));\n }\n return { memory: state.memory, result: state.result };\n }\n\n get meta(): AgentMeta {\n const tools = this.input.tools.slice();\n\n if (this.input.meta) {\n return { ...this.input.meta, tools };\n }\n\n return {\n name: \"ToolCalling\",\n tools,\n description: \"ToolCallingAgent that uses tools to accomplish the task.\",\n ...(tools.length > 0 && {\n extraDescription: [\n `Tools that I can use to accomplish given task.`,\n ...tools.map((tool) => `Tool '${tool.name}': ${tool.description}.`),\n ].join(\"\\n\"),\n }),\n };\n }\n\n @Cache({ enumerable: false })\n protected get templates(): ToolCallingAgentTemplates {\n const overrides = this.input.templates ?? {};\n const defaultTemplates: ToolCallingAgentTemplates = {\n system: ToolCallingAgentSystemPrompt,\n task: ToolCallingAgentTaskPrompt,\n } as const;\n\n return mapObj(defaultTemplates)(\n (key, defaultTemplate: ToolCallingAgentTemplates[typeof key]) => {\n const override = overrides[key] ?? defaultTemplate;\n if (override instanceof PromptTemplate) {\n return override;\n }\n return override(defaultTemplate) ?? defaultTemplate;\n },\n );\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n get memory() {\n return this.input.memory;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-BP7v-NSL.cjs';
1
+ import { b as AgentMeta, a as BaseAgent } from '../../base-CwcxwybB.cjs';
2
2
  import { AnyTool } from '../../tools/base.cjs';
3
3
  import { BaseMemory } from '../../memory/base.cjs';
4
- import { E as Emitter } from '../../emitter-DWEsd-ud.cjs';
4
+ import { E as Emitter } from '../../emitter-DpqUYjXH.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-CR4yfOR9.cjs';
7
+ import { m as ChatModel } from '../../chat-CRb3vUVg.cjs';
8
8
  import '../../errors.cjs';
9
9
  import '../../internals/types.cjs';
10
10
  import '../../internals/helpers/guards.cjs';
@@ -1,10 +1,10 @@
1
- import { b as AgentMeta, a as BaseAgent } from '../../base-BsY2baWy.js';
1
+ import { b as AgentMeta, a as BaseAgent } from '../../base-BQgDlcGa.js';
2
2
  import { AnyTool } from '../../tools/base.js';
3
3
  import { BaseMemory } from '../../memory/base.js';
4
- import { E as Emitter } from '../../emitter-C9nwGLt6.js';
4
+ import { E as Emitter } from '../../emitter-CZFbzlUi.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-W9j8T6UU.js';
7
+ import { m as ChatModel } from '../../chat-C0s-o6ll.js';
8
8
  import '../../errors.js';
9
9
  import '../../internals/types.js';
10
10
  import '../../internals/helpers/guards.js';
@@ -111,7 +111,7 @@ class ToolCallingAgent extends BaseAgent {
111
111
  if (!tool) {
112
112
  throw new AgentError(`Tool ${toolCall.toolName} does not exist!`);
113
113
  }
114
- const toolInput = toolCall.args;
114
+ const toolInput = toolCall.input;
115
115
  const toolResponse = await tool.run(toolInput).context({
116
116
  state,
117
117
  toolCallMsg: toolCall
@@ -120,8 +120,10 @@ class ToolCallingAgent extends BaseAgent {
120
120
  type: "tool-result",
121
121
  toolCallId: toolCall.toolCallId,
122
122
  toolName: toolCall.toolName,
123
- result: toolResponse.getTextContent(),
124
- isError: false
123
+ output: {
124
+ type: "text",
125
+ value: toolResponse.getTextContent()
126
+ }
125
127
  }));
126
128
  } catch (e) {
127
129
  if (e instanceof ToolError) {
@@ -130,8 +132,10 @@ class ToolCallingAgent extends BaseAgent {
130
132
  type: "tool-result",
131
133
  toolCallId: toolCall.toolCallId,
132
134
  toolName: toolCall.toolName,
133
- result: e.explain(),
134
- isError: true
135
+ output: {
136
+ type: "error-text",
137
+ value: e.explain()
138
+ }
135
139
  }));
136
140
  } else {
137
141
  throw e;