beeai-framework 0.1.28 → 0.1.30

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 (564) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  2. package/dist/adapters/a2a/agents/agent.d.cts +2 -2
  3. package/dist/adapters/a2a/agents/agent.d.ts +2 -2
  4. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  5. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  6. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  7. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  8. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  9. package/dist/adapters/a2a/agents/utils.cjs +52 -11
  10. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  11. package/dist/adapters/a2a/agents/utils.js +52 -11
  12. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  13. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  14. package/dist/adapters/a2a/serve/agent_executor.d.cts +3 -3
  15. package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
  16. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  17. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  18. package/dist/adapters/a2a/serve/server.d.cts +2 -2
  19. package/dist/adapters/a2a/serve/server.d.ts +2 -2
  20. package/dist/adapters/a2a/serve/server.js.map +1 -1
  21. package/dist/adapters/acp/agents/agent.cjs.map +1 -1
  22. package/dist/adapters/acp/agents/agent.d.cts +2 -2
  23. package/dist/adapters/acp/agents/agent.d.ts +2 -2
  24. package/dist/adapters/acp/agents/agent.js.map +1 -1
  25. package/dist/adapters/acp/agents/events.d.cts +1 -1
  26. package/dist/adapters/acp/agents/events.d.ts +1 -1
  27. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -1
  28. package/dist/adapters/agentstack/agents/agent.d.cts +2 -2
  29. package/dist/adapters/agentstack/agents/agent.d.ts +2 -2
  30. package/dist/adapters/agentstack/agents/agent.js.map +1 -1
  31. package/dist/adapters/agentstack/agents/events.d.cts +1 -1
  32. package/dist/adapters/agentstack/agents/events.d.ts +1 -1
  33. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  34. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +2 -2
  35. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
  36. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  37. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  38. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  39. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  40. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +2 -2
  41. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +2 -2
  42. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  43. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  44. package/dist/adapters/anthropic/backend/chat.d.cts +3 -3
  45. package/dist/adapters/anthropic/backend/chat.d.ts +3 -3
  46. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  47. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  48. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  49. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  50. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  51. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  52. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  53. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  54. package/dist/adapters/azure-openai/backend/chat.d.cts +3 -3
  55. package/dist/adapters/azure-openai/backend/chat.d.ts +3 -3
  56. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  57. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  58. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  59. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  60. package/dist/adapters/azure-openai/backend/embedding.d.cts +2 -2
  61. package/dist/adapters/azure-openai/backend/embedding.d.ts +2 -2
  62. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  63. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  64. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  65. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  66. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  67. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  68. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  69. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  70. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  71. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  72. package/dist/adapters/google-vertex/backend/chat.d.cts +3 -3
  73. package/dist/adapters/google-vertex/backend/chat.d.ts +3 -3
  74. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  75. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  76. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  77. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  78. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  79. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  80. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  81. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  82. package/dist/adapters/groq/backend/chat.d.cts +3 -3
  83. package/dist/adapters/groq/backend/chat.d.ts +3 -3
  84. package/dist/adapters/groq/backend/chat.js.map +1 -1
  85. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  86. package/dist/adapters/groq/backend/client.js.map +1 -1
  87. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  88. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  89. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  90. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  91. package/dist/adapters/langchain/backend/chat.cjs +6 -28
  92. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  93. package/dist/adapters/langchain/backend/chat.d.cts +6 -5
  94. package/dist/adapters/langchain/backend/chat.d.ts +6 -5
  95. package/dist/adapters/langchain/backend/chat.js +6 -28
  96. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  97. package/dist/adapters/langchain/backend/embedding.cjs +3 -2
  98. package/dist/adapters/langchain/backend/embedding.cjs.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/backend/embedding.js +3 -2
  102. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  103. package/dist/adapters/langchain/backend/utils.cjs +328 -0
  104. package/dist/adapters/langchain/backend/utils.cjs.map +1 -0
  105. package/dist/adapters/langchain/backend/utils.d.cts +39 -0
  106. package/dist/adapters/langchain/backend/utils.d.ts +39 -0
  107. package/dist/adapters/langchain/backend/utils.js +324 -0
  108. package/dist/adapters/langchain/backend/utils.js.map +1 -0
  109. package/dist/adapters/langchain/tools.cjs.map +1 -1
  110. package/dist/adapters/langchain/tools.d.cts +2 -2
  111. package/dist/adapters/langchain/tools.d.ts +2 -2
  112. package/dist/adapters/langchain/tools.js.map +1 -1
  113. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
  114. package/dist/adapters/mcp/serve/http_server.js.map +1 -1
  115. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
  116. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
  117. package/dist/adapters/mcp/serve/server.cjs.map +1 -1
  118. package/dist/adapters/mcp/serve/server.js.map +1 -1
  119. package/dist/adapters/minimax/backend/chat.cjs +25 -0
  120. package/dist/adapters/minimax/backend/chat.cjs.map +1 -0
  121. package/dist/adapters/minimax/backend/chat.d.cts +38 -0
  122. package/dist/adapters/minimax/backend/chat.d.ts +38 -0
  123. package/dist/adapters/minimax/backend/chat.js +23 -0
  124. package/dist/adapters/minimax/backend/chat.js.map +1 -0
  125. package/dist/adapters/minimax/backend/client.cjs +31 -0
  126. package/dist/adapters/minimax/backend/client.cjs.map +1 -0
  127. package/dist/adapters/minimax/backend/client.d.cts +17 -0
  128. package/dist/adapters/minimax/backend/client.d.ts +17 -0
  129. package/dist/adapters/minimax/backend/client.js +29 -0
  130. package/dist/adapters/minimax/backend/client.js.map +1 -0
  131. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  132. package/dist/adapters/ollama/backend/chat.d.cts +2 -2
  133. package/dist/adapters/ollama/backend/chat.d.ts +2 -2
  134. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  135. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  136. package/dist/adapters/ollama/backend/client.js.map +1 -1
  137. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  138. package/dist/adapters/ollama/backend/embedding.d.cts +2 -2
  139. package/dist/adapters/ollama/backend/embedding.d.ts +2 -2
  140. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  141. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  142. package/dist/adapters/openai/backend/chat.d.cts +2 -2
  143. package/dist/adapters/openai/backend/chat.d.ts +2 -2
  144. package/dist/adapters/openai/backend/chat.js.map +1 -1
  145. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  146. package/dist/adapters/openai/backend/client.js.map +1 -1
  147. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  148. package/dist/adapters/openai/backend/embedding.d.cts +2 -2
  149. package/dist/adapters/openai/backend/embedding.d.ts +2 -2
  150. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  151. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  152. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  153. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  154. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  155. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  156. package/dist/adapters/vercel/backend/embedding.d.cts +2 -2
  157. package/dist/adapters/vercel/backend/embedding.d.ts +2 -2
  158. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  159. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  160. package/dist/adapters/vercel/backend/utils.d.cts +2 -2
  161. package/dist/adapters/vercel/backend/utils.d.ts +2 -2
  162. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  163. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  164. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  165. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  166. package/dist/adapters/watsonx/backend/chat.js +1 -1
  167. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  168. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  169. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  170. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  171. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  172. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  173. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  174. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  175. package/dist/adapters/xai/backend/chat.d.cts +2 -2
  176. package/dist/adapters/xai/backend/chat.d.ts +2 -2
  177. package/dist/adapters/xai/backend/chat.js.map +1 -1
  178. package/dist/adapters/xai/backend/client.cjs.map +1 -1
  179. package/dist/adapters/xai/backend/client.js.map +1 -1
  180. package/dist/{agent-BAVf6-xf.d.ts → agent-s3uhvAba.d.ts} +5 -5
  181. package/dist/{agent-DHO-oJQf.d.cts → agent-zfT__iq9.d.cts} +5 -5
  182. package/dist/agents/base.cjs.map +1 -1
  183. package/dist/agents/base.d.cts +2 -2
  184. package/dist/agents/base.d.ts +2 -2
  185. package/dist/agents/base.js.map +1 -1
  186. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  187. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  188. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  189. package/dist/agents/experimental/replan/agent.js.map +1 -1
  190. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  191. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  192. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  193. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  194. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  195. package/dist/agents/experimental/streamlit/agent.d.cts +3 -3
  196. package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
  197. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  198. package/dist/agents/experimental/streamlit/prompts.cjs +2 -2
  199. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  200. package/dist/agents/experimental/streamlit/prompts.js +2 -2
  201. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  202. package/dist/agents/react/agent.cjs +6 -6
  203. package/dist/agents/react/agent.cjs.map +1 -1
  204. package/dist/agents/react/agent.d.cts +4 -4
  205. package/dist/agents/react/agent.d.ts +4 -4
  206. package/dist/agents/react/agent.js.map +1 -1
  207. package/dist/agents/react/prompts.cjs.map +1 -1
  208. package/dist/agents/react/prompts.d.cts +1 -1
  209. package/dist/agents/react/prompts.d.ts +1 -1
  210. package/dist/agents/react/prompts.js.map +1 -1
  211. package/dist/agents/react/runners/base.cjs.map +1 -1
  212. package/dist/agents/react/runners/base.d.cts +4 -4
  213. package/dist/agents/react/runners/base.d.ts +4 -4
  214. package/dist/agents/react/runners/base.js.map +1 -1
  215. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  216. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
  217. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
  218. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  219. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  220. package/dist/agents/react/runners/deep-think/runner.d.cts +5 -5
  221. package/dist/agents/react/runners/deep-think/runner.d.ts +5 -5
  222. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  223. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  224. package/dist/agents/react/runners/default/runner.d.cts +5 -5
  225. package/dist/agents/react/runners/default/runner.d.ts +5 -5
  226. package/dist/agents/react/runners/default/runner.js.map +1 -1
  227. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  228. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  229. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  230. package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
  231. package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
  232. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  233. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  234. package/dist/agents/react/runners/granite/runner.d.cts +5 -5
  235. package/dist/agents/react/runners/granite/runner.d.ts +5 -5
  236. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  237. package/dist/agents/react/types.d.cts +2 -2
  238. package/dist/agents/react/types.d.ts +2 -2
  239. package/dist/agents/requirement/agent.cjs.map +1 -1
  240. package/dist/agents/requirement/agent.d.cts +5 -5
  241. package/dist/agents/requirement/agent.d.ts +5 -5
  242. package/dist/agents/requirement/agent.js.map +1 -1
  243. package/dist/agents/requirement/prompts.d.cts +2 -2
  244. package/dist/agents/requirement/prompts.d.ts +2 -2
  245. package/dist/agents/requirement/requirements/conditional.cjs.map +1 -1
  246. package/dist/agents/requirement/requirements/conditional.d.cts +5 -5
  247. package/dist/agents/requirement/requirements/conditional.d.ts +5 -5
  248. package/dist/agents/requirement/requirements/conditional.js.map +1 -1
  249. package/dist/agents/requirement/requirements/requirement.cjs.map +1 -1
  250. package/dist/agents/requirement/requirements/requirement.d.cts +4 -4
  251. package/dist/agents/requirement/requirements/requirement.d.ts +4 -4
  252. package/dist/agents/requirement/requirements/requirement.js.map +1 -1
  253. package/dist/agents/requirement/requirements/utils.cjs.map +1 -1
  254. package/dist/agents/requirement/requirements/utils.d.cts +1 -1
  255. package/dist/agents/requirement/requirements/utils.d.ts +1 -1
  256. package/dist/agents/requirement/requirements/utils.js.map +1 -1
  257. package/dist/agents/requirement/runner.cjs.map +1 -1
  258. package/dist/agents/requirement/runner.d.cts +5 -5
  259. package/dist/agents/requirement/runner.d.ts +5 -5
  260. package/dist/agents/requirement/runner.js.map +1 -1
  261. package/dist/agents/requirement/types.d.cts +4 -4
  262. package/dist/agents/requirement/types.d.ts +4 -4
  263. package/dist/agents/requirement/utils/llm.cjs.map +1 -1
  264. package/dist/agents/requirement/utils/llm.d.cts +4 -4
  265. package/dist/agents/requirement/utils/llm.d.ts +4 -4
  266. package/dist/agents/requirement/utils/llm.js.map +1 -1
  267. package/dist/agents/requirement/utils/tool.cjs.map +1 -1
  268. package/dist/agents/requirement/utils/tool.d.cts +4 -4
  269. package/dist/agents/requirement/utils/tool.d.ts +4 -4
  270. package/dist/agents/requirement/utils/tool.js.map +1 -1
  271. package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -1
  272. package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -1
  273. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  274. package/dist/agents/toolCalling/agent.d.cts +4 -4
  275. package/dist/agents/toolCalling/agent.d.ts +4 -4
  276. package/dist/agents/toolCalling/agent.js.map +1 -1
  277. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  278. package/dist/agents/toolCalling/prompts.js.map +1 -1
  279. package/dist/agents/toolCalling/types.d.cts +1 -1
  280. package/dist/agents/toolCalling/types.d.ts +1 -1
  281. package/dist/agents/types.d.cts +2 -2
  282. package/dist/agents/types.d.ts +2 -2
  283. package/dist/backend/backend.cjs.map +1 -1
  284. package/dist/backend/backend.d.cts +3 -3
  285. package/dist/backend/backend.d.ts +3 -3
  286. package/dist/backend/backend.js.map +1 -1
  287. package/dist/backend/chat.cjs.map +1 -1
  288. package/dist/backend/chat.d.cts +2 -2
  289. package/dist/backend/chat.d.ts +2 -2
  290. package/dist/backend/chat.js.map +1 -1
  291. package/dist/backend/client.cjs.map +1 -1
  292. package/dist/backend/client.js.map +1 -1
  293. package/dist/backend/constants.cjs +7 -0
  294. package/dist/backend/constants.cjs.map +1 -1
  295. package/dist/backend/constants.d.cts +5 -0
  296. package/dist/backend/constants.d.ts +5 -0
  297. package/dist/backend/constants.js +7 -0
  298. package/dist/backend/constants.js.map +1 -1
  299. package/dist/backend/core.d.cts +2 -2
  300. package/dist/backend/core.d.ts +2 -2
  301. package/dist/backend/embedding.cjs.map +1 -1
  302. package/dist/backend/embedding.d.cts +2 -2
  303. package/dist/backend/embedding.d.ts +2 -2
  304. package/dist/backend/embedding.js.map +1 -1
  305. package/dist/backend/errors.cjs.map +1 -1
  306. package/dist/backend/errors.d.cts +2 -2
  307. package/dist/backend/errors.d.ts +2 -2
  308. package/dist/backend/errors.js.map +1 -1
  309. package/dist/backend/message.cjs.map +1 -1
  310. package/dist/backend/message.js.map +1 -1
  311. package/dist/backend/utils.cjs.map +1 -1
  312. package/dist/backend/utils.d.cts +2 -2
  313. package/dist/backend/utils.d.ts +2 -2
  314. package/dist/backend/utils.js.map +1 -1
  315. package/dist/{base-BfhNzUYf.d.ts → base-BjzyQ8k6.d.ts} +2 -2
  316. package/dist/{base-BqzN2QwB.d.cts → base-s3ioVIE9.d.cts} +2 -2
  317. package/dist/cache/decoratorCache.cjs.map +1 -1
  318. package/dist/cache/decoratorCache.js.map +1 -1
  319. package/dist/cache/fileCache.cjs.map +1 -1
  320. package/dist/cache/fileCache.js.map +1 -1
  321. package/dist/cache/nullCache.cjs.map +1 -1
  322. package/dist/cache/nullCache.js.map +1 -1
  323. package/dist/cache/slidingCache.cjs.map +1 -1
  324. package/dist/cache/slidingCache.js.map +1 -1
  325. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  326. package/dist/cache/unconstrainedCache.js.map +1 -1
  327. package/dist/{chat-DaqV3woF.d.cts → chat-C20nYj46.d.cts} +3 -3
  328. package/dist/{chat-DTxmaKP0.d.ts → chat-CfTNfR60.d.ts} +3 -3
  329. package/dist/context.cjs.map +1 -1
  330. package/dist/context.d.cts +1 -1
  331. package/dist/context.d.ts +1 -1
  332. package/dist/context.js.map +1 -1
  333. package/dist/emitter/emitter.cjs.map +1 -1
  334. package/dist/emitter/emitter.d.cts +1 -1
  335. package/dist/emitter/emitter.d.ts +1 -1
  336. package/dist/emitter/emitter.js.map +1 -1
  337. package/dist/emitter/types.d.cts +1 -1
  338. package/dist/emitter/types.d.ts +1 -1
  339. package/dist/emitter/utils.cjs.map +1 -1
  340. package/dist/emitter/utils.js.map +1 -1
  341. package/dist/{emitter-UkIkNrek.d.cts → emitter-D4OcelZ9.d.cts} +2 -2
  342. package/dist/{emitter-CL56qab4.d.ts → emitter-kHxkUxco.d.ts} +2 -2
  343. package/dist/errors.cjs.map +1 -1
  344. package/dist/errors.js.map +1 -1
  345. package/dist/index.d.cts +4 -4
  346. package/dist/index.d.ts +4 -4
  347. package/dist/internals/env.cjs.map +1 -1
  348. package/dist/internals/env.js.map +1 -1
  349. package/dist/internals/fetcher.cjs.map +1 -1
  350. package/dist/internals/fetcher.d.cts +1 -1
  351. package/dist/internals/fetcher.d.ts +1 -1
  352. package/dist/internals/fetcher.js.map +1 -1
  353. package/dist/internals/helpers/array.cjs.map +1 -1
  354. package/dist/internals/helpers/array.js.map +1 -1
  355. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  356. package/dist/internals/helpers/cancellation.js.map +1 -1
  357. package/dist/internals/helpers/counter.cjs.map +1 -1
  358. package/dist/internals/helpers/counter.js.map +1 -1
  359. package/dist/internals/helpers/general.cjs.map +1 -1
  360. package/dist/internals/helpers/general.js.map +1 -1
  361. package/dist/internals/helpers/hash.cjs.map +1 -1
  362. package/dist/internals/helpers/hash.js.map +1 -1
  363. package/dist/internals/helpers/map.cjs.map +1 -1
  364. package/dist/internals/helpers/map.js.map +1 -1
  365. package/dist/internals/helpers/math.cjs.map +1 -1
  366. package/dist/internals/helpers/math.js.map +1 -1
  367. package/dist/internals/helpers/object.cjs +7 -1
  368. package/dist/internals/helpers/object.cjs.map +1 -1
  369. package/dist/internals/helpers/object.js +7 -1
  370. package/dist/internals/helpers/object.js.map +1 -1
  371. package/dist/internals/helpers/paginate.cjs.map +1 -1
  372. package/dist/internals/helpers/paginate.js.map +1 -1
  373. package/dist/internals/helpers/promise.cjs.map +1 -1
  374. package/dist/internals/helpers/promise.js.map +1 -1
  375. package/dist/internals/helpers/prototype.cjs.map +1 -1
  376. package/dist/internals/helpers/prototype.js.map +1 -1
  377. package/dist/internals/helpers/retry.cjs.map +1 -1
  378. package/dist/internals/helpers/retry.js.map +1 -1
  379. package/dist/internals/helpers/retryable.cjs.map +1 -1
  380. package/dist/internals/helpers/retryable.js.map +1 -1
  381. package/dist/internals/helpers/schema.cjs.map +1 -1
  382. package/dist/internals/helpers/schema.d.cts +4 -4
  383. package/dist/internals/helpers/schema.d.ts +4 -4
  384. package/dist/internals/helpers/schema.js.map +1 -1
  385. package/dist/internals/helpers/stream.cjs.map +1 -1
  386. package/dist/internals/helpers/stream.js.map +1 -1
  387. package/dist/internals/helpers/string.cjs.map +1 -1
  388. package/dist/internals/helpers/string.js.map +1 -1
  389. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  390. package/dist/internals/helpers/weakRef.js.map +1 -1
  391. package/dist/internals/serializable.cjs +3 -1
  392. package/dist/internals/serializable.cjs.map +1 -1
  393. package/dist/internals/serializable.d.cts +6 -0
  394. package/dist/internals/serializable.d.ts +6 -0
  395. package/dist/internals/serializable.js +3 -1
  396. package/dist/internals/serializable.js.map +1 -1
  397. package/dist/internals/types.cjs.map +1 -1
  398. package/dist/internals/types.js.map +1 -1
  399. package/dist/logger/logger.cjs.map +1 -1
  400. package/dist/logger/logger.d.cts +2 -2
  401. package/dist/logger/logger.d.ts +2 -2
  402. package/dist/logger/logger.js +2 -2
  403. package/dist/logger/logger.js.map +1 -1
  404. package/dist/logger/pretty.cjs.map +1 -1
  405. package/dist/logger/pretty.js.map +1 -1
  406. package/dist/memory/base.cjs.map +1 -1
  407. package/dist/memory/base.js.map +1 -1
  408. package/dist/memory/slidingMemory.cjs.map +1 -1
  409. package/dist/memory/slidingMemory.js.map +1 -1
  410. package/dist/memory/summarizeMemory.cjs.map +1 -1
  411. package/dist/memory/summarizeMemory.d.cts +2 -2
  412. package/dist/memory/summarizeMemory.d.ts +2 -2
  413. package/dist/memory/summarizeMemory.js.map +1 -1
  414. package/dist/memory/tokenMemory.cjs.map +1 -1
  415. package/dist/memory/tokenMemory.js.map +1 -1
  416. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  417. package/dist/memory/unconstrainedMemory.js.map +1 -1
  418. package/dist/middleware/streamToolCall.cjs.map +1 -1
  419. package/dist/middleware/streamToolCall.d.cts +2 -2
  420. package/dist/middleware/streamToolCall.d.ts +2 -2
  421. package/dist/middleware/streamToolCall.js.map +1 -1
  422. package/dist/middleware/trajectory.cjs.map +1 -1
  423. package/dist/middleware/trajectory.d.cts +2 -2
  424. package/dist/middleware/trajectory.d.ts +2 -2
  425. package/dist/middleware/trajectory.js.map +1 -1
  426. package/dist/parsers/errors.cjs.map +1 -1
  427. package/dist/parsers/errors.js.map +1 -1
  428. package/dist/parsers/field.cjs.map +1 -1
  429. package/dist/parsers/field.js.map +1 -1
  430. package/dist/parsers/linePrefix.cjs.map +1 -1
  431. package/dist/parsers/linePrefix.d.cts +1 -1
  432. package/dist/parsers/linePrefix.d.ts +1 -1
  433. package/dist/parsers/linePrefix.js.map +1 -1
  434. package/dist/serializer/error.cjs.map +1 -1
  435. package/dist/serializer/error.js.map +1 -1
  436. package/dist/serializer/serializer.cjs +16 -3
  437. package/dist/serializer/serializer.cjs.map +1 -1
  438. package/dist/serializer/serializer.d.cts +1 -1
  439. package/dist/serializer/serializer.d.ts +1 -1
  440. package/dist/serializer/serializer.js +16 -4
  441. package/dist/serializer/serializer.js.map +1 -1
  442. package/dist/serializer/utils.cjs.map +1 -1
  443. package/dist/serializer/utils.d.cts +1 -1
  444. package/dist/serializer/utils.d.ts +1 -1
  445. package/dist/serializer/utils.js.map +1 -1
  446. package/dist/{serializer-53t8gGQa.d.ts → serializer-BafOT48s.d.ts} +10 -4
  447. package/dist/{serializer-c51B2z6d.d.cts → serializer-CFDWYUco.d.cts} +10 -4
  448. package/dist/serve/server.cjs.map +1 -1
  449. package/dist/serve/server.js.map +1 -1
  450. package/dist/template.cjs.map +1 -1
  451. package/dist/template.js.map +1 -1
  452. package/dist/tools/arxiv.cjs.map +1 -1
  453. package/dist/tools/arxiv.d.cts +2 -2
  454. package/dist/tools/arxiv.d.ts +2 -2
  455. package/dist/tools/arxiv.js.map +1 -1
  456. package/dist/tools/base.cjs.map +1 -1
  457. package/dist/tools/base.d.cts +1 -1
  458. package/dist/tools/base.d.ts +1 -1
  459. package/dist/tools/base.js.map +1 -1
  460. package/dist/tools/calculator.cjs.map +1 -1
  461. package/dist/tools/calculator.d.cts +3 -3
  462. package/dist/tools/calculator.d.ts +3 -3
  463. package/dist/tools/calculator.js.map +1 -1
  464. package/dist/tools/custom.cjs.map +1 -1
  465. package/dist/tools/custom.d.cts +3 -3
  466. package/dist/tools/custom.d.ts +3 -3
  467. package/dist/tools/custom.js.map +1 -1
  468. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  469. package/dist/tools/database/elasticsearch.d.cts +3 -3
  470. package/dist/tools/database/elasticsearch.d.ts +3 -3
  471. package/dist/tools/database/elasticsearch.js.map +1 -1
  472. package/dist/tools/database/metadata.cjs.map +1 -1
  473. package/dist/tools/database/metadata.js.map +1 -1
  474. package/dist/tools/database/milvus.cjs.map +1 -1
  475. package/dist/tools/database/milvus.d.cts +3 -3
  476. package/dist/tools/database/milvus.d.ts +3 -3
  477. package/dist/tools/database/milvus.js.map +1 -1
  478. package/dist/tools/database/qdrant.cjs.map +1 -1
  479. package/dist/tools/database/qdrant.d.cts +2 -2
  480. package/dist/tools/database/qdrant.d.ts +2 -2
  481. package/dist/tools/database/qdrant.js.map +1 -1
  482. package/dist/tools/database/sql.cjs.map +1 -1
  483. package/dist/tools/database/sql.d.cts +2 -2
  484. package/dist/tools/database/sql.d.ts +2 -2
  485. package/dist/tools/database/sql.js.map +1 -1
  486. package/dist/tools/handoff.cjs.map +1 -1
  487. package/dist/tools/handoff.d.cts +2 -2
  488. package/dist/tools/handoff.d.ts +2 -2
  489. package/dist/tools/handoff.js.map +1 -1
  490. package/dist/tools/llm.cjs +1 -1
  491. package/dist/tools/llm.cjs.map +1 -1
  492. package/dist/tools/llm.d.cts +3 -3
  493. package/dist/tools/llm.d.ts +3 -3
  494. package/dist/tools/llm.js +1 -1
  495. package/dist/tools/llm.js.map +1 -1
  496. package/dist/tools/mcp.cjs.map +1 -1
  497. package/dist/tools/mcp.d.cts +2 -2
  498. package/dist/tools/mcp.d.ts +2 -2
  499. package/dist/tools/mcp.js.map +1 -1
  500. package/dist/tools/openapi.cjs.map +1 -1
  501. package/dist/tools/openapi.d.cts +2 -2
  502. package/dist/tools/openapi.d.ts +2 -2
  503. package/dist/tools/openapi.js.map +1 -1
  504. package/dist/tools/python/output.cjs.map +1 -1
  505. package/dist/tools/python/output.d.cts +1 -1
  506. package/dist/tools/python/output.d.ts +1 -1
  507. package/dist/tools/python/output.js.map +1 -1
  508. package/dist/tools/python/python.cjs +5 -2
  509. package/dist/tools/python/python.cjs.map +1 -1
  510. package/dist/tools/python/python.d.cts +3 -3
  511. package/dist/tools/python/python.d.ts +3 -3
  512. package/dist/tools/python/python.js +5 -2
  513. package/dist/tools/python/python.js.map +1 -1
  514. package/dist/tools/python/storage.cjs.map +1 -1
  515. package/dist/tools/python/storage.js.map +1 -1
  516. package/dist/tools/search/base.cjs.map +1 -1
  517. package/dist/tools/search/base.d.cts +2 -2
  518. package/dist/tools/search/base.d.ts +2 -2
  519. package/dist/tools/search/base.js.map +1 -1
  520. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  521. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -2
  522. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -2
  523. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  524. package/dist/tools/search/googleSearch.cjs.map +1 -1
  525. package/dist/tools/search/googleSearch.d.cts +2 -2
  526. package/dist/tools/search/googleSearch.d.ts +2 -2
  527. package/dist/tools/search/googleSearch.js.map +1 -1
  528. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  529. package/dist/tools/search/searXNGSearch.d.cts +2 -2
  530. package/dist/tools/search/searXNGSearch.d.ts +2 -2
  531. package/dist/tools/search/searXNGSearch.js.map +1 -1
  532. package/dist/tools/search/wikipedia.cjs.map +1 -1
  533. package/dist/tools/search/wikipedia.d.cts +3 -3
  534. package/dist/tools/search/wikipedia.d.ts +3 -3
  535. package/dist/tools/search/wikipedia.js.map +1 -1
  536. package/dist/tools/similarity.cjs.map +1 -1
  537. package/dist/tools/similarity.d.cts +2 -2
  538. package/dist/tools/similarity.d.ts +2 -2
  539. package/dist/tools/similarity.js.map +1 -1
  540. package/dist/tools/think.cjs.map +1 -1
  541. package/dist/tools/think.d.cts +2 -2
  542. package/dist/tools/think.d.ts +2 -2
  543. package/dist/tools/think.js.map +1 -1
  544. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  545. package/dist/tools/weather/openMeteo.d.cts +2 -2
  546. package/dist/tools/weather/openMeteo.d.ts +2 -2
  547. package/dist/tools/weather/openMeteo.js.map +1 -1
  548. package/dist/tools/web/webCrawler.cjs.map +1 -1
  549. package/dist/tools/web/webCrawler.d.cts +2 -2
  550. package/dist/tools/web/webCrawler.d.ts +2 -2
  551. package/dist/tools/web/webCrawler.js.map +1 -1
  552. package/dist/{types-YoNQSxQH.d.cts → types-BNsa3W7Z.d.cts} +4 -4
  553. package/dist/{types-YT-WdK3m.d.ts → types-DYtzF6ya.d.ts} +4 -4
  554. package/dist/version.cjs +1 -1
  555. package/dist/version.js +1 -1
  556. package/dist/workflows/agent.cjs.map +1 -1
  557. package/dist/workflows/agent.d.cts +40 -40
  558. package/dist/workflows/agent.d.ts +40 -40
  559. package/dist/workflows/agent.js.map +1 -1
  560. package/dist/workflows/workflow.cjs.map +1 -1
  561. package/dist/workflows/workflow.d.cts +1 -1
  562. package/dist/workflows/workflow.d.ts +1 -1
  563. package/dist/workflows/workflow.js.map +1 -1
  564. package/package.json +38 -15
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/agents/base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","middlewares","run","input","options","RunContext","enter","signal","params","context","_run","e","middleware","destroy","emitter","meta","name","description","tools","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;;AAaO,MAAMA,mBAAmBC,yBAAAA,CAAAA;EAbhC;;;AAagD;AAMzC,MAAeC,kBAIZC,6BAAAA,CAAAA;EAvBV;;;EAwBYC,SAAAA,GAAY,KAAA;AAGNC,EAAAA,WAAAA,GAA6C,EAAA;EAEtDC,GAAAA,CAAAA,GACF,CAACC,KAAAA,EAAOC,OAAAA,CAAAA,EAGX;AACA,IAAA,IAAI,KAAKJ,SAAAA,EAAW;AAClB,MAAA,MAAM,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAA,OAAOS,sBAAAA,CAAWC,MAChB,IAAA,EACA;AAAEC,MAAAA,MAAAA,EAAQH,OAAAA,EAASG,MAAAA;MAAQC,MAAAA,EAAQ;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAA,IAAI;AACF,QAAA,IAAA,CAAKT,SAAAA,GAAY,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKU,IAAAA,CAAKP,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAAA,EAAG;AACV,QAAA,IAAIA,aAAaf,UAAAA,EAAY;AAC3B,UAAA,MAAMe,CAAAA;SACR,MAAO;AACL,UAAA,MAAM,IAAIf,WAAW,CAAA,mCAAA,CAAA,EAAuC;AAACe,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKX,SAAAA,GAAY,KAAA;AACnB;AACF,KAAA,CAAA,CACAY,UAAAA,CAAU,GAAI,IAAA,CAAKX,WAAW,CAAA;AAClC;EAQAY,OAAAA,GAAU;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAAA,EAAO;AACtB;AAKA,EAAA,IAAWE,IAAAA,GAAkB;AAC3B,IAAA,OAAO;MACLC,IAAAA,EAAM,IAAA,CAAK,YAAYA,IAAAA,IAAQ,WAAA;MAC/BC,WAAAA,EAAa,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;MACLnB,SAAAA,EAAW,KAAA;AACXc,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;MACdb,WAAAA,EAAamB,qBAAAA,CAAY,KAAKnB,WAAW;AAC3C,KAAA;AACF;AAEAoB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, MiddlewareType, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class AgentError extends FrameworkError {}\n\nexport interface BaseAgentRunOptions {\n signal?: AbortSignal;\n}\n\nexport abstract class BaseAgent<\n TInput,\n TOutput,\n TOptions extends BaseAgentRunOptions = BaseAgentRunOptions,\n> extends Serializable {\n protected isRunning = false;\n\n public abstract readonly emitter: Emitter<unknown>;\n public readonly middlewares: MiddlewareType<typeof this>[] = [];\n\n public run(\n ...[input, options]: Partial<TOptions> extends TOptions\n ? [input: TInput, options?: TOptions]\n : [input: TInput, options: TOptions]\n ) {\n if (this.isRunning) {\n throw new AgentError(\"Agent is already running!\");\n }\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (context) => {\n try {\n this.isRunning = true;\n // @ts-expect-error\n return await this._run(input, options, context);\n } catch (e) {\n if (e instanceof AgentError) {\n throw e;\n } else {\n throw new AgentError(`The Agent has encountered an error.`, [e]);\n }\n } finally {\n this.isRunning = false;\n }\n },\n ).middleware(...this.middlewares);\n }\n\n protected abstract _run(\n input: TInput,\n options: TOptions,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n destroy() {\n this.emitter.destroy();\n }\n\n public abstract set memory(memory: BaseMemory);\n public abstract get memory(): BaseMemory;\n\n public get meta(): AgentMeta {\n return {\n name: this.constructor.name ?? \"BaseAgent\",\n description: \"\",\n tools: [],\n };\n }\n\n createSnapshot() {\n return {\n isRunning: false,\n emitter: this.emitter,\n middlewares: shallowCopy(this.middlewares) as MiddlewareType<any>[],\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/agents/base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","middlewares","run","input","options","RunContext","enter","signal","params","context","_run","e","middleware","destroy","emitter","meta","name","description","tools","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;;AAaO,MAAMA,mBAAmBC,yBAAAA,CAAAA;EAbhC;;;AAagD;AAMzC,MAAeC,kBAIZC,6BAAAA,CAAAA;EAvBV;;;EAwBYC,SAAAA,GAAY,KAAA;AAGNC,EAAAA,WAAAA,GAA6C,EAAA;EAEtDC,GAAAA,CAAAA,GACF,CAACC,KAAAA,EAAOC,OAAAA,CAAAA,EAGX;AACA,IAAA,IAAI,KAAKJ,SAAAA,EAAW;AAClB,MAAA,MAAM,IAAIJ,WAAW,2BAAA,CAAA;AACvB,IAAA;AAEA,IAAA,OAAOS,sBAAAA,CAAWC,MAChB,IAAA,EACA;AAAEC,MAAAA,MAAAA,EAAQH,OAAAA,EAASG,MAAAA;MAAQC,MAAAA,EAAQ;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAA,IAAI;AACF,QAAA,IAAA,CAAKT,SAAAA,GAAY,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKU,IAAAA,CAAKP,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,MAAA,CAAA,CAAA,OAASE,CAAAA,EAAG;AACV,QAAA,IAAIA,aAAaf,UAAAA,EAAY;AAC3B,UAAA,MAAMe,CAAAA;QACR,CAAA,MAAO;AACL,UAAA,MAAM,IAAIf,WAAW,CAAA,mCAAA,CAAA,EAAuC;AAACe,YAAAA;AAAE,WAAA,CAAA;AACjE,QAAA;MACF,CAAA,SAAA;AACE,QAAA,IAAA,CAAKX,SAAAA,GAAY,KAAA;AACnB,MAAA;AACF,IAAA,CAAA,CAAA,CACAY,UAAAA,CAAU,GAAI,IAAA,CAAKX,WAAW,CAAA;AAClC,EAAA;EAQAY,OAAAA,GAAU;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAAA,EAAO;AACtB,EAAA;AAKA,EAAA,IAAWE,IAAAA,GAAkB;AAC3B,IAAA,OAAO;MACLC,IAAAA,EAAM,IAAA,CAAK,YAAYA,IAAAA,IAAQ,WAAA;MAC/BC,WAAAA,EAAa,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF,EAAA;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;MACLnB,SAAAA,EAAW,KAAA;AACXc,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;MACdb,WAAAA,EAAamB,qBAAAA,CAAY,KAAKnB,WAAW;AAC3C,KAAA;AACF,EAAA;AAEAoB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB,EAAA;AACF","file":"base.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, MiddlewareType, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class AgentError extends FrameworkError {}\n\nexport interface BaseAgentRunOptions {\n signal?: AbortSignal;\n}\n\nexport abstract class BaseAgent<\n TInput,\n TOutput,\n TOptions extends BaseAgentRunOptions = BaseAgentRunOptions,\n> extends Serializable {\n protected isRunning = false;\n\n public abstract readonly emitter: Emitter<unknown>;\n public readonly middlewares: MiddlewareType<typeof this>[] = [];\n\n public run(\n ...[input, options]: Partial<TOptions> extends TOptions\n ? [input: TInput, options?: TOptions]\n : [input: TInput, options: TOptions]\n ) {\n if (this.isRunning) {\n throw new AgentError(\"Agent is already running!\");\n }\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (context) => {\n try {\n this.isRunning = true;\n // @ts-expect-error\n return await this._run(input, options, context);\n } catch (e) {\n if (e instanceof AgentError) {\n throw e;\n } else {\n throw new AgentError(`The Agent has encountered an error.`, [e]);\n }\n } finally {\n this.isRunning = false;\n }\n },\n ).middleware(...this.middlewares);\n }\n\n protected abstract _run(\n input: TInput,\n options: TOptions,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n destroy() {\n this.emitter.destroy();\n }\n\n public abstract set memory(memory: BaseMemory);\n public abstract get memory(): BaseMemory;\n\n public get meta(): AgentMeta {\n return {\n name: this.constructor.name ?? \"BaseAgent\",\n description: \"\",\n tools: [],\n };\n }\n\n createSnapshot() {\n return {\n isRunning: false,\n emitter: this.emitter,\n middlewares: shallowCopy(this.middlewares) as MiddlewareType<any>[],\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import '../context.cjs';
2
2
  import '../errors.cjs';
3
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-BqzN2QwB.cjs';
3
+ export { A as AgentError, B as BaseAgent, a as BaseAgentRunOptions } from '../base-s3ioVIE9.cjs';
4
4
  import '../internals/serializable.cjs';
5
- import '../emitter-UkIkNrek.cjs';
5
+ import '../emitter-D4OcelZ9.cjs';
6
6
  import '../memory/base.cjs';
7
7
  import '../internals/helpers/promise.cjs';
8
8
  import '../internals/types.cjs';
@@ -1,8 +1,8 @@
1
1
  import '../context.js';
2
2
  import '../errors.js';
3
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-BfhNzUYf.js';
3
+ export { A as AgentError, B as BaseAgent, a as BaseAgentRunOptions } from '../base-BjzyQ8k6.js';
4
4
  import '../internals/serializable.js';
5
- import '../emitter-CL56qab4.js';
5
+ import '../emitter-kHxkUxco.js';
6
6
  import '../memory/base.js';
7
7
  import '../internals/helpers/promise.js';
8
8
  import '../internals/types.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/agents/base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","middlewares","run","input","options","RunContext","enter","signal","params","context","_run","e","middleware","destroy","emitter","meta","name","description","tools","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;AAaO,MAAMA,mBAAmBC,cAAAA,CAAAA;EAbhC;;;AAagD;AAMzC,MAAeC,kBAIZC,YAAAA,CAAAA;EAvBV;;;EAwBYC,SAAAA,GAAY,KAAA;AAGNC,EAAAA,WAAAA,GAA6C,EAAA;EAEtDC,GAAAA,CAAAA,GACF,CAACC,KAAAA,EAAOC,OAAAA,CAAAA,EAGX;AACA,IAAA,IAAI,KAAKJ,SAAAA,EAAW;AAClB,MAAA,MAAM,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAA,OAAOS,UAAAA,CAAWC,MAChB,IAAA,EACA;AAAEC,MAAAA,MAAAA,EAAQH,OAAAA,EAASG,MAAAA;MAAQC,MAAAA,EAAQ;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAA,IAAI;AACF,QAAA,IAAA,CAAKT,SAAAA,GAAY,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKU,IAAAA,CAAKP,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAAA,EAAG;AACV,QAAA,IAAIA,aAAaf,UAAAA,EAAY;AAC3B,UAAA,MAAMe,CAAAA;SACR,MAAO;AACL,UAAA,MAAM,IAAIf,WAAW,CAAA,mCAAA,CAAA,EAAuC;AAACe,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKX,SAAAA,GAAY,KAAA;AACnB;AACF,KAAA,CAAA,CACAY,UAAAA,CAAU,GAAI,IAAA,CAAKX,WAAW,CAAA;AAClC;EAQAY,OAAAA,GAAU;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAAA,EAAO;AACtB;AAKA,EAAA,IAAWE,IAAAA,GAAkB;AAC3B,IAAA,OAAO;MACLC,IAAAA,EAAM,IAAA,CAAK,YAAYA,IAAAA,IAAQ,WAAA;MAC/BC,WAAAA,EAAa,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;MACLnB,SAAAA,EAAW,KAAA;AACXc,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;MACdb,WAAAA,EAAamB,WAAAA,CAAY,KAAKnB,WAAW;AAC3C,KAAA;AACF;AAEAoB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, MiddlewareType, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class AgentError extends FrameworkError {}\n\nexport interface BaseAgentRunOptions {\n signal?: AbortSignal;\n}\n\nexport abstract class BaseAgent<\n TInput,\n TOutput,\n TOptions extends BaseAgentRunOptions = BaseAgentRunOptions,\n> extends Serializable {\n protected isRunning = false;\n\n public abstract readonly emitter: Emitter<unknown>;\n public readonly middlewares: MiddlewareType<typeof this>[] = [];\n\n public run(\n ...[input, options]: Partial<TOptions> extends TOptions\n ? [input: TInput, options?: TOptions]\n : [input: TInput, options: TOptions]\n ) {\n if (this.isRunning) {\n throw new AgentError(\"Agent is already running!\");\n }\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (context) => {\n try {\n this.isRunning = true;\n // @ts-expect-error\n return await this._run(input, options, context);\n } catch (e) {\n if (e instanceof AgentError) {\n throw e;\n } else {\n throw new AgentError(`The Agent has encountered an error.`, [e]);\n }\n } finally {\n this.isRunning = false;\n }\n },\n ).middleware(...this.middlewares);\n }\n\n protected abstract _run(\n input: TInput,\n options: TOptions,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n destroy() {\n this.emitter.destroy();\n }\n\n public abstract set memory(memory: BaseMemory);\n public abstract get memory(): BaseMemory;\n\n public get meta(): AgentMeta {\n return {\n name: this.constructor.name ?? \"BaseAgent\",\n description: \"\",\n tools: [],\n };\n }\n\n createSnapshot() {\n return {\n isRunning: false,\n emitter: this.emitter,\n middlewares: shallowCopy(this.middlewares) as MiddlewareType<any>[],\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/agents/base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","middlewares","run","input","options","RunContext","enter","signal","params","context","_run","e","middleware","destroy","emitter","meta","name","description","tools","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;AAaO,MAAMA,mBAAmBC,cAAAA,CAAAA;EAbhC;;;AAagD;AAMzC,MAAeC,kBAIZC,YAAAA,CAAAA;EAvBV;;;EAwBYC,SAAAA,GAAY,KAAA;AAGNC,EAAAA,WAAAA,GAA6C,EAAA;EAEtDC,GAAAA,CAAAA,GACF,CAACC,KAAAA,EAAOC,OAAAA,CAAAA,EAGX;AACA,IAAA,IAAI,KAAKJ,SAAAA,EAAW;AAClB,MAAA,MAAM,IAAIJ,WAAW,2BAAA,CAAA;AACvB,IAAA;AAEA,IAAA,OAAOS,UAAAA,CAAWC,MAChB,IAAA,EACA;AAAEC,MAAAA,MAAAA,EAAQH,OAAAA,EAASG,MAAAA;MAAQC,MAAAA,EAAQ;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAA,IAAI;AACF,QAAA,IAAA,CAAKT,SAAAA,GAAY,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKU,IAAAA,CAAKP,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,MAAA,CAAA,CAAA,OAASE,CAAAA,EAAG;AACV,QAAA,IAAIA,aAAaf,UAAAA,EAAY;AAC3B,UAAA,MAAMe,CAAAA;QACR,CAAA,MAAO;AACL,UAAA,MAAM,IAAIf,WAAW,CAAA,mCAAA,CAAA,EAAuC;AAACe,YAAAA;AAAE,WAAA,CAAA;AACjE,QAAA;MACF,CAAA,SAAA;AACE,QAAA,IAAA,CAAKX,SAAAA,GAAY,KAAA;AACnB,MAAA;AACF,IAAA,CAAA,CAAA,CACAY,UAAAA,CAAU,GAAI,IAAA,CAAKX,WAAW,CAAA;AAClC,EAAA;EAQAY,OAAAA,GAAU;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAAA,EAAO;AACtB,EAAA;AAKA,EAAA,IAAWE,IAAAA,GAAkB;AAC3B,IAAA,OAAO;MACLC,IAAAA,EAAM,IAAA,CAAK,YAAYA,IAAAA,IAAQ,WAAA;MAC/BC,WAAAA,EAAa,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF,EAAA;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;MACLnB,SAAAA,EAAW,KAAA;AACXc,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;MACdb,WAAAA,EAAamB,WAAAA,CAAY,KAAKnB,WAAW;AAC3C,KAAA;AACF,EAAA;AAEAoB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB,EAAA;AACF","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, MiddlewareType, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class AgentError extends FrameworkError {}\n\nexport interface BaseAgentRunOptions {\n signal?: AbortSignal;\n}\n\nexport abstract class BaseAgent<\n TInput,\n TOutput,\n TOptions extends BaseAgentRunOptions = BaseAgentRunOptions,\n> extends Serializable {\n protected isRunning = false;\n\n public abstract readonly emitter: Emitter<unknown>;\n public readonly middlewares: MiddlewareType<typeof this>[] = [];\n\n public run(\n ...[input, options]: Partial<TOptions> extends TOptions\n ? [input: TInput, options?: TOptions]\n : [input: TInput, options: TOptions]\n ) {\n if (this.isRunning) {\n throw new AgentError(\"Agent is already running!\");\n }\n\n return RunContext.enter(\n this,\n { signal: options?.signal, params: [input, options] as const },\n async (context) => {\n try {\n this.isRunning = true;\n // @ts-expect-error\n return await this._run(input, options, context);\n } catch (e) {\n if (e instanceof AgentError) {\n throw e;\n } else {\n throw new AgentError(`The Agent has encountered an error.`, [e]);\n }\n } finally {\n this.isRunning = false;\n }\n },\n ).middleware(...this.middlewares);\n }\n\n protected abstract _run(\n input: TInput,\n options: TOptions,\n run: GetRunContext<typeof this>,\n ): Promise<TOutput>;\n\n destroy() {\n this.emitter.destroy();\n }\n\n public abstract set memory(memory: BaseMemory);\n public abstract get memory(): BaseMemory;\n\n public get meta(): AgentMeta {\n return {\n name: this.constructor.name ?? \"BaseAgent\",\n description: \"\",\n tools: [],\n };\n }\n\n createSnapshot() {\n return {\n isRunning: false,\n emitter: this.emitter,\n middlewares: shallowCopy(this.middlewares) as MiddlewareType<any>[],\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/replan/agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","_run","_options","context","prompt","memory","add","UserMessage","runner","createRunner","finalMessage","undefined","state","run","nextStep","type","message","toolResults","tools","calls","AssistantMessage","RePlanAssistantPrompt","render","results","JSON","stringify","intermediateMemory","UnconstrainedMemory","addMany","messages","schema","createRePlanOutputSchema","response","llm","createStructure","definition","abortSignal","signal","emit","object","Promise","all","map","call","tool","find","name","AgentError","meta","output","Tool","contextKeys","Memory","error"],"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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport {\n createRePlanOutputSchema,\n RePlanState,\n RePlanAssistantPrompt,\n} from \"@/agents/experimental/replan/prompts.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface RePlanRunInput {\n prompt: string | null;\n}\n\nexport interface RePlanRunOutput {\n message: Message;\n intermediateMemory: BaseMemory;\n}\n\nexport interface RePlanToolCall {\n name: string;\n input: any;\n}\n\nexport interface RePlanEvents {\n update: Callback<{ state: RePlanState }>;\n tool: Callback<\n | { type: \"start\"; tool: AnyTool; input: any; calls: RePlanToolCall[] }\n | { type: \"success\"; tool: AnyTool; input: any; output: any; calls: RePlanToolCall[] }\n | { type: \"error\"; tool: AnyTool; input: any; error: Error; calls: RePlanToolCall[] }\n >;\n}\n\ninterface Input {\n memory: BaseMemory;\n tools: AnyTool[];\n llm: ChatModel;\n}\n\nexport class RePlanAgent extends BaseAgent<RePlanRunInput, RePlanRunOutput> {\n public emitter = Emitter.root.child<RePlanEvents>({\n namespace: [\"agent\", \"rePlan\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RePlanRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RePlanRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(input.prompt));\n }\n\n const runner = await this.createRunner(context);\n\n let finalMessage: Message | undefined = undefined;\n while (!finalMessage) {\n const state = await runner.run();\n\n if (state.nextStep.type === \"message\") {\n finalMessage = new UserMessage(state.nextStep.message);\n } else if (state.nextStep.type === \"tool\") {\n const toolResults = await runner.tools(state.nextStep.calls);\n await runner.memory.add(\n new AssistantMessage(\n RePlanAssistantPrompt.render({\n results: JSON.stringify(toolResults),\n }),\n ),\n );\n }\n }\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n intermediateMemory: runner.memory,\n };\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const memory = new UnconstrainedMemory();\n await memory.addMany(this.memory.messages);\n\n const run = async (): Promise<RePlanState> => {\n const schema = await createRePlanOutputSchema(this.input.tools);\n const response = await this.input.llm.createStructure({\n schema: schema.definition,\n abortSignal: context.signal,\n messages: memory.messages,\n });\n await memory.add(new AssistantMessage(JSON.stringify(response)));\n await context.emitter.emit(\"update\", { state: response.object });\n return response.object;\n };\n\n const tools = async (calls: RePlanToolCall[]) => {\n return await Promise.all(\n calls.map(async (call) => {\n const tool = this.input.tools.find((tool) => tool.name === call.name);\n if (!tool) {\n throw new AgentError(`Tool ${call.name} does not exist.`);\n }\n\n const meta = { input: call, tool, calls };\n await context.emitter.emit(\"tool\", { type: \"start\", ...meta });\n try {\n const output = await tool.run(call.input, { signal: context.signal }).context({\n [Tool.contextKeys.Memory]: memory,\n });\n await context.emitter.emit(\"tool\", { type: \"success\", ...meta, output });\n return output;\n } catch (error) {\n await context.emitter.emit(\"tool\", { type: \"error\", ...meta, error });\n throw error;\n }\n }),\n );\n };\n\n return {\n memory,\n run,\n tools,\n };\n }\n\n get memory() {\n return this.input.memory;\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/replan/agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","_run","_options","context","prompt","memory","add","UserMessage","runner","createRunner","finalMessage","undefined","state","run","nextStep","type","message","toolResults","tools","calls","AssistantMessage","RePlanAssistantPrompt","render","results","JSON","stringify","intermediateMemory","UnconstrainedMemory","addMany","messages","schema","createRePlanOutputSchema","response","llm","createStructure","definition","abortSignal","signal","emit","object","Promise","all","map","call","tool","find","name","AgentError","meta","output","Tool","contextKeys","Memory","error"],"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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport {\n createRePlanOutputSchema,\n RePlanState,\n RePlanAssistantPrompt,\n} from \"@/agents/experimental/replan/prompts.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface RePlanRunInput {\n prompt: string | null;\n}\n\nexport interface RePlanRunOutput {\n message: Message;\n intermediateMemory: BaseMemory;\n}\n\nexport interface RePlanToolCall {\n name: string;\n input: any;\n}\n\nexport interface RePlanEvents {\n update: Callback<{ state: RePlanState }>;\n tool: Callback<\n | { type: \"start\"; tool: AnyTool; input: any; calls: RePlanToolCall[] }\n | { type: \"success\"; tool: AnyTool; input: any; output: any; calls: RePlanToolCall[] }\n | { type: \"error\"; tool: AnyTool; input: any; error: Error; calls: RePlanToolCall[] }\n >;\n}\n\ninterface Input {\n memory: BaseMemory;\n tools: AnyTool[];\n llm: ChatModel;\n}\n\nexport class RePlanAgent extends BaseAgent<RePlanRunInput, RePlanRunOutput> {\n public emitter = Emitter.root.child<RePlanEvents>({\n namespace: [\"agent\", \"rePlan\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RePlanRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RePlanRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(input.prompt));\n }\n\n const runner = await this.createRunner(context);\n\n let finalMessage: Message | undefined = undefined;\n while (!finalMessage) {\n const state = await runner.run();\n\n if (state.nextStep.type === \"message\") {\n finalMessage = new UserMessage(state.nextStep.message);\n } else if (state.nextStep.type === \"tool\") {\n const toolResults = await runner.tools(state.nextStep.calls);\n await runner.memory.add(\n new AssistantMessage(\n RePlanAssistantPrompt.render({\n results: JSON.stringify(toolResults),\n }),\n ),\n );\n }\n }\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n intermediateMemory: runner.memory,\n };\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const memory = new UnconstrainedMemory();\n await memory.addMany(this.memory.messages);\n\n const run = async (): Promise<RePlanState> => {\n const schema = await createRePlanOutputSchema(this.input.tools);\n const response = await this.input.llm.createStructure({\n schema: schema.definition,\n abortSignal: context.signal,\n messages: memory.messages,\n });\n await memory.add(new AssistantMessage(JSON.stringify(response)));\n await context.emitter.emit(\"update\", { state: response.object });\n return response.object;\n };\n\n const tools = async (calls: RePlanToolCall[]) => {\n return await Promise.all(\n calls.map(async (call) => {\n const tool = this.input.tools.find((tool) => tool.name === call.name);\n if (!tool) {\n throw new AgentError(`Tool ${call.name} does not exist.`);\n }\n\n const meta = { input: call, tool, calls };\n await context.emitter.emit(\"tool\", { type: \"start\", ...meta });\n try {\n const output = await tool.run(call.input, { signal: context.signal }).context({\n [Tool.contextKeys.Memory]: memory,\n });\n await context.emitter.emit(\"tool\", { type: \"success\", ...meta, output });\n return output;\n } catch (error) {\n await context.emitter.emit(\"tool\", { type: \"error\", ...meta, error });\n throw error;\n }\n }),\n );\n };\n\n return {\n memory,\n run,\n tools,\n };\n }\n\n get memory() {\n return this.input.memory;\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
- import { C as Callback, E as Emitter } from '../../../emitter-UkIkNrek.cjs';
2
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BqzN2QwB.cjs';
1
+ import { E as Emitter, C as Callback } from '../../../emitter-D4OcelZ9.cjs';
2
+ import { B as BaseAgent, a as BaseAgentRunOptions } from '../../../base-s3ioVIE9.cjs';
3
3
  import { GetRunContext } from '../../../context.cjs';
4
4
  import { Message } from '../../../backend/message.cjs';
5
5
  import { RePlanState } from './prompts.cjs';
6
6
  import { BaseMemory } from '../../../memory/base.cjs';
7
7
  import { UnconstrainedMemory } from '../../../memory/unconstrainedMemory.cjs';
8
8
  import { AnyTool } from '../../../tools/base.cjs';
9
- import { m as ChatModel } from '../../../chat-DaqV3woF.cjs';
9
+ import { a as ChatModel } from '../../../chat-C20nYj46.cjs';
10
10
  import '../../../internals/types.cjs';
11
11
  import '../../../internals/helpers/guards.cjs';
12
12
  import '../../../internals/serializable.cjs';
@@ -1,12 +1,12 @@
1
- import { C as Callback, E as Emitter } from '../../../emitter-CL56qab4.js';
2
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BfhNzUYf.js';
1
+ import { E as Emitter, C as Callback } from '../../../emitter-kHxkUxco.js';
2
+ import { B as BaseAgent, a as BaseAgentRunOptions } from '../../../base-BjzyQ8k6.js';
3
3
  import { GetRunContext } from '../../../context.js';
4
4
  import { Message } from '../../../backend/message.js';
5
5
  import { RePlanState } from './prompts.js';
6
6
  import { BaseMemory } from '../../../memory/base.js';
7
7
  import { UnconstrainedMemory } from '../../../memory/unconstrainedMemory.js';
8
8
  import { AnyTool } from '../../../tools/base.js';
9
- import { m as ChatModel } from '../../../chat-DTxmaKP0.js';
9
+ import { a as ChatModel } from '../../../chat-CfTNfR60.js';
10
10
  import '../../../internals/types.js';
11
11
  import '../../../internals/helpers/guards.js';
12
12
  import '../../../internals/serializable.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/replan/agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","_run","_options","context","prompt","memory","add","UserMessage","runner","createRunner","finalMessage","undefined","state","run","nextStep","type","message","toolResults","tools","calls","AssistantMessage","RePlanAssistantPrompt","render","results","JSON","stringify","intermediateMemory","UnconstrainedMemory","addMany","messages","schema","createRePlanOutputSchema","response","llm","createStructure","definition","abortSignal","signal","emit","object","Promise","all","map","call","tool","find","name","AgentError","meta","output","Tool","contextKeys","Memory","error"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport {\n createRePlanOutputSchema,\n RePlanState,\n RePlanAssistantPrompt,\n} from \"@/agents/experimental/replan/prompts.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface RePlanRunInput {\n prompt: string | null;\n}\n\nexport interface RePlanRunOutput {\n message: Message;\n intermediateMemory: BaseMemory;\n}\n\nexport interface RePlanToolCall {\n name: string;\n input: any;\n}\n\nexport interface RePlanEvents {\n update: Callback<{ state: RePlanState }>;\n tool: Callback<\n | { type: \"start\"; tool: AnyTool; input: any; calls: RePlanToolCall[] }\n | { type: \"success\"; tool: AnyTool; input: any; output: any; calls: RePlanToolCall[] }\n | { type: \"error\"; tool: AnyTool; input: any; error: Error; calls: RePlanToolCall[] }\n >;\n}\n\ninterface Input {\n memory: BaseMemory;\n tools: AnyTool[];\n llm: ChatModel;\n}\n\nexport class RePlanAgent extends BaseAgent<RePlanRunInput, RePlanRunOutput> {\n public emitter = Emitter.root.child<RePlanEvents>({\n namespace: [\"agent\", \"rePlan\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RePlanRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RePlanRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(input.prompt));\n }\n\n const runner = await this.createRunner(context);\n\n let finalMessage: Message | undefined = undefined;\n while (!finalMessage) {\n const state = await runner.run();\n\n if (state.nextStep.type === \"message\") {\n finalMessage = new UserMessage(state.nextStep.message);\n } else if (state.nextStep.type === \"tool\") {\n const toolResults = await runner.tools(state.nextStep.calls);\n await runner.memory.add(\n new AssistantMessage(\n RePlanAssistantPrompt.render({\n results: JSON.stringify(toolResults),\n }),\n ),\n );\n }\n }\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n intermediateMemory: runner.memory,\n };\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const memory = new UnconstrainedMemory();\n await memory.addMany(this.memory.messages);\n\n const run = async (): Promise<RePlanState> => {\n const schema = await createRePlanOutputSchema(this.input.tools);\n const response = await this.input.llm.createStructure({\n schema: schema.definition,\n abortSignal: context.signal,\n messages: memory.messages,\n });\n await memory.add(new AssistantMessage(JSON.stringify(response)));\n await context.emitter.emit(\"update\", { state: response.object });\n return response.object;\n };\n\n const tools = async (calls: RePlanToolCall[]) => {\n return await Promise.all(\n calls.map(async (call) => {\n const tool = this.input.tools.find((tool) => tool.name === call.name);\n if (!tool) {\n throw new AgentError(`Tool ${call.name} does not exist.`);\n }\n\n const meta = { input: call, tool, calls };\n await context.emitter.emit(\"tool\", { type: \"start\", ...meta });\n try {\n const output = await tool.run(call.input, { signal: context.signal }).context({\n [Tool.contextKeys.Memory]: memory,\n });\n await context.emitter.emit(\"tool\", { type: \"success\", ...meta, output });\n return output;\n } catch (error) {\n await context.emitter.emit(\"tool\", { type: \"error\", ...meta, error });\n throw error;\n }\n }),\n );\n };\n\n return {\n memory,\n run,\n tools,\n };\n }\n\n get memory() {\n return this.input.memory;\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/replan/agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","Emitter","root","child","namespace","creator","input","_run","_options","context","prompt","memory","add","UserMessage","runner","createRunner","finalMessage","undefined","state","run","nextStep","type","message","toolResults","tools","calls","AssistantMessage","RePlanAssistantPrompt","render","results","JSON","stringify","intermediateMemory","UnconstrainedMemory","addMany","messages","schema","createRePlanOutputSchema","response","llm","createStructure","definition","abortSignal","signal","emit","object","Promise","all","map","call","tool","find","name","AgentError","meta","output","Tool","contextKeys","Memory","error"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport {\n createRePlanOutputSchema,\n RePlanState,\n RePlanAssistantPrompt,\n} from \"@/agents/experimental/replan/prompts.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface RePlanRunInput {\n prompt: string | null;\n}\n\nexport interface RePlanRunOutput {\n message: Message;\n intermediateMemory: BaseMemory;\n}\n\nexport interface RePlanToolCall {\n name: string;\n input: any;\n}\n\nexport interface RePlanEvents {\n update: Callback<{ state: RePlanState }>;\n tool: Callback<\n | { type: \"start\"; tool: AnyTool; input: any; calls: RePlanToolCall[] }\n | { type: \"success\"; tool: AnyTool; input: any; output: any; calls: RePlanToolCall[] }\n | { type: \"error\"; tool: AnyTool; input: any; error: Error; calls: RePlanToolCall[] }\n >;\n}\n\ninterface Input {\n memory: BaseMemory;\n tools: AnyTool[];\n llm: ChatModel;\n}\n\nexport class RePlanAgent extends BaseAgent<RePlanRunInput, RePlanRunOutput> {\n public emitter = Emitter.root.child<RePlanEvents>({\n namespace: [\"agent\", \"rePlan\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RePlanRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RePlanRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(input.prompt));\n }\n\n const runner = await this.createRunner(context);\n\n let finalMessage: Message | undefined = undefined;\n while (!finalMessage) {\n const state = await runner.run();\n\n if (state.nextStep.type === \"message\") {\n finalMessage = new UserMessage(state.nextStep.message);\n } else if (state.nextStep.type === \"tool\") {\n const toolResults = await runner.tools(state.nextStep.calls);\n await runner.memory.add(\n new AssistantMessage(\n RePlanAssistantPrompt.render({\n results: JSON.stringify(toolResults),\n }),\n ),\n );\n }\n }\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n intermediateMemory: runner.memory,\n };\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const memory = new UnconstrainedMemory();\n await memory.addMany(this.memory.messages);\n\n const run = async (): Promise<RePlanState> => {\n const schema = await createRePlanOutputSchema(this.input.tools);\n const response = await this.input.llm.createStructure({\n schema: schema.definition,\n abortSignal: context.signal,\n messages: memory.messages,\n });\n await memory.add(new AssistantMessage(JSON.stringify(response)));\n await context.emitter.emit(\"update\", { state: response.object });\n return response.object;\n };\n\n const tools = async (calls: RePlanToolCall[]) => {\n return await Promise.all(\n calls.map(async (call) => {\n const tool = this.input.tools.find((tool) => tool.name === call.name);\n if (!tool) {\n throw new AgentError(`Tool ${call.name} does not exist.`);\n }\n\n const meta = { input: call, tool, calls };\n await context.emitter.emit(\"tool\", { type: \"start\", ...meta });\n try {\n const output = await tool.run(call.input, { signal: context.signal }).context({\n [Tool.contextKeys.Memory]: memory,\n });\n await context.emitter.emit(\"tool\", { type: \"success\", ...meta, output });\n return output;\n } catch (error) {\n await context.emitter.emit(\"tool\", { type: \"error\", ...meta, error });\n throw error;\n }\n }),\n );\n };\n\n return {\n memory,\n run,\n tools,\n };\n }\n\n get memory() {\n return this.input.memory;\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/replan/prompts.ts"],"names":["createRePlanOutputSchema","tools","toolSchemas","Promise","all","map","tool","name","description","input","z","object","passthrough","inputSchema","getInputJsonSchema","zodSchemaToJsonSchema","WeakMap","shape","definition","information","record","string","describe","lookback","plan","array","title","decision","research","boolean","computation","nextStep","discriminatedUnion","type","literal","message","hasAtLeast","calls","json","toJsonSchema","override","_def","def","typeName","ZodFirstPartyTypeKind","ZodObject","schema","get","delete","ignoreOverride","RePlanSystemPrompt","PromptTemplate","template","RePlanAssistantPrompt","results"],"mappings":"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","file":"prompts.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z, ZodFirstPartyTypeKind, ZodObjectDef, ZodTypeDef } from \"zod\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { hasAtLeast, map } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { ignoreOverride, JsonSchema7Type } from \"zod-to-json-schema\";\n\nexport async function createRePlanOutputSchema<T extends AnyTool>(tools: T[]) {\n const toolSchemas = await Promise.all(\n tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n input: z.object({}).passthrough(),\n inputSchema: await tool.getInputJsonSchema(),\n })),\n );\n const zodSchemaToJsonSchema = new WeakMap(\n toolSchemas.map((tool) => [tool.input.shape, tool.inputSchema]),\n );\n\n const definition = z.object({\n information: z\n .record(z.string())\n .describe(\n \"Summary of the factual information that was collected so far. Eg. 'height of the Eiffel tower': '300m'. Only information that was provided by tools or the user in this very conversation is allowed to be included here. Other information must not be included.\",\n ),\n lookback: z\n .string()\n .describe(\n \"A full summary of what has happened so far, focusing on what the assistant tried, what went well and what failed. This repeats in every message, but always concerns the full history up to that point.\",\n ),\n plan: z\n .array(\n z.object({\n title: z\n .string()\n .describe(\"Title of this step, shortly describing what needs to be done.\"),\n decision: z.string().describe(\"Assistant's decision of how to tackle this step.\"),\n research: z\n .boolean()\n .describe(\"Does this step involve looking up factual information through tools?\"),\n computation: z\n .boolean()\n .describe(\"Does this step involve calculating or computing information through tools?\"),\n }),\n )\n .describe(\n \"Detailed step-by-step plan of what steps will the assistant take from start to finish to fulfill the user's request. Includes concrete facts and numbers wherever possible. This repeats in every message, but always contains all the future steps from this point on.\",\n ),\n nextStep: z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"message\"),\n message: z\n .string()\n .describe(\n \"Message with the response, that is sent back to the user. Always include a bit of info on how you arrived at the answer. Be friendly and helpful.\",\n ),\n })\n .describe(\"Message the user -- either to give the answer, or to ask for more information.\"),\n ...(hasAtLeast(toolSchemas, 1)\n ? [\n z\n .object({\n type: z.literal(\"tool\"),\n calls: z.array(\n z.discriminatedUnion(\n \"name\",\n map(toolSchemas, (tool) =>\n z\n .object({\n name: z.literal(tool.name),\n input: tool.input,\n })\n .describe(tool.description),\n ),\n ),\n ),\n })\n .describe(\"Obtain more information using tools.\"),\n ]\n : []),\n ]),\n });\n\n return {\n definition,\n json: toJsonSchema(definition, {\n override: (_def: ZodTypeDef) => {\n const def = _def as ZodObjectDef;\n if (def.typeName === ZodFirstPartyTypeKind.ZodObject) {\n const shape = def.shape();\n const schema = zodSchemaToJsonSchema.get(shape) as JsonSchema7Type;\n if (schema) {\n zodSchemaToJsonSchema.delete(shape);\n return schema;\n }\n }\n return ignoreOverride;\n },\n }),\n };\n}\n\nexport type RePlanState = z.output<\n Awaited<ReturnType<typeof createRePlanOutputSchema>>[\"definition\"]\n>;\n\nexport const RePlanSystemPrompt = new PromptTemplate({\n schema: z.object({\n schema: z.string(),\n }),\n template: `The assistant is created by IBM and refers to itself as Bee. It's named after the IBM logo.\n\nThe assistant is very intelligent and helpful. It always thinks ahead, and uses smart approaches to solve the user's problems. The assistant is an expert-level user of the provided tools, and can utilize them to their maximum potential.\n\nThe assistant is forbidden from using factual information that was not provided by the user or tools in this very conversation. All information about places, people, events, etc. is unknown to the assistant, and the assistant must use tools to obtain it.\n\nOutput Schema: {{schema}}`,\n});\n\nexport const RePlanAssistantPrompt = new PromptTemplate({\n schema: z.object({ results: z.string() }),\n template: `{{results}}`,\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/replan/prompts.ts"],"names":["createRePlanOutputSchema","tools","toolSchemas","Promise","all","map","tool","name","description","input","z","object","passthrough","inputSchema","getInputJsonSchema","zodSchemaToJsonSchema","WeakMap","shape","definition","information","record","string","describe","lookback","plan","array","title","decision","research","boolean","computation","nextStep","discriminatedUnion","type","literal","message","hasAtLeast","calls","json","toJsonSchema","override","_def","def","typeName","ZodFirstPartyTypeKind","ZodObject","schema","get","delete","ignoreOverride","RePlanSystemPrompt","PromptTemplate","template","RePlanAssistantPrompt","results"],"mappings":"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","file":"prompts.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z, ZodFirstPartyTypeKind, ZodObjectDef, ZodTypeDef } from \"zod\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { hasAtLeast, map } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { ignoreOverride, JsonSchema7Type } from \"zod-to-json-schema\";\n\nexport async function createRePlanOutputSchema<T extends AnyTool>(tools: T[]) {\n const toolSchemas = await Promise.all(\n tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n input: z.object({}).passthrough(),\n inputSchema: await tool.getInputJsonSchema(),\n })),\n );\n const zodSchemaToJsonSchema = new WeakMap(\n toolSchemas.map((tool) => [tool.input.shape, tool.inputSchema]),\n );\n\n const definition = z.object({\n information: z\n .record(z.string())\n .describe(\n \"Summary of the factual information that was collected so far. Eg. 'height of the Eiffel tower': '300m'. Only information that was provided by tools or the user in this very conversation is allowed to be included here. Other information must not be included.\",\n ),\n lookback: z\n .string()\n .describe(\n \"A full summary of what has happened so far, focusing on what the assistant tried, what went well and what failed. This repeats in every message, but always concerns the full history up to that point.\",\n ),\n plan: z\n .array(\n z.object({\n title: z\n .string()\n .describe(\"Title of this step, shortly describing what needs to be done.\"),\n decision: z.string().describe(\"Assistant's decision of how to tackle this step.\"),\n research: z\n .boolean()\n .describe(\"Does this step involve looking up factual information through tools?\"),\n computation: z\n .boolean()\n .describe(\"Does this step involve calculating or computing information through tools?\"),\n }),\n )\n .describe(\n \"Detailed step-by-step plan of what steps will the assistant take from start to finish to fulfill the user's request. Includes concrete facts and numbers wherever possible. This repeats in every message, but always contains all the future steps from this point on.\",\n ),\n nextStep: z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"message\"),\n message: z\n .string()\n .describe(\n \"Message with the response, that is sent back to the user. Always include a bit of info on how you arrived at the answer. Be friendly and helpful.\",\n ),\n })\n .describe(\"Message the user -- either to give the answer, or to ask for more information.\"),\n ...(hasAtLeast(toolSchemas, 1)\n ? [\n z\n .object({\n type: z.literal(\"tool\"),\n calls: z.array(\n z.discriminatedUnion(\n \"name\",\n map(toolSchemas, (tool) =>\n z\n .object({\n name: z.literal(tool.name),\n input: tool.input,\n })\n .describe(tool.description),\n ),\n ),\n ),\n })\n .describe(\"Obtain more information using tools.\"),\n ]\n : []),\n ]),\n });\n\n return {\n definition,\n json: toJsonSchema(definition, {\n override: (_def: ZodTypeDef) => {\n const def = _def as ZodObjectDef;\n if (def.typeName === ZodFirstPartyTypeKind.ZodObject) {\n const shape = def.shape();\n const schema = zodSchemaToJsonSchema.get(shape) as JsonSchema7Type;\n if (schema) {\n zodSchemaToJsonSchema.delete(shape);\n return schema;\n }\n }\n return ignoreOverride;\n },\n }),\n };\n}\n\nexport type RePlanState = z.output<\n Awaited<ReturnType<typeof createRePlanOutputSchema>>[\"definition\"]\n>;\n\nexport const RePlanSystemPrompt = new PromptTemplate({\n schema: z.object({\n schema: z.string(),\n }),\n template: `The assistant is created by IBM and refers to itself as Bee. It's named after the IBM logo.\n\nThe assistant is very intelligent and helpful. It always thinks ahead, and uses smart approaches to solve the user's problems. The assistant is an expert-level user of the provided tools, and can utilize them to their maximum potential.\n\nThe assistant is forbidden from using factual information that was not provided by the user or tools in this very conversation. All information about places, people, events, etc. is unknown to the assistant, and the assistant must use tools to obtain it.\n\nOutput Schema: {{schema}}`,\n});\n\nexport const RePlanAssistantPrompt = new PromptTemplate({\n schema: z.object({ results: z.string() }),\n template: `{{results}}`,\n});\n"]}
@@ -7,7 +7,7 @@ import '../../../internals/types.cjs';
7
7
  import '../../../internals/helpers/guards.cjs';
8
8
  import '../../../internals/serializable.cjs';
9
9
  import '../../../context.cjs';
10
- import '../../../emitter-UkIkNrek.cjs';
10
+ import '../../../emitter-D4OcelZ9.cjs';
11
11
  import '../../../internals/helpers/promise.cjs';
12
12
  import 'promise-based-task';
13
13
  import '../../../cache/base.cjs';
@@ -7,7 +7,7 @@ import '../../../internals/types.js';
7
7
  import '../../../internals/helpers/guards.js';
8
8
  import '../../../internals/serializable.js';
9
9
  import '../../../context.js';
10
- import '../../../emitter-CL56qab4.js';
10
+ import '../../../emitter-kHxkUxco.js';
11
11
  import '../../../internals/helpers/promise.js';
12
12
  import 'promise-based-task';
13
13
  import '../../../cache/base.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/replan/prompts.ts"],"names":["createRePlanOutputSchema","tools","toolSchemas","Promise","all","map","tool","name","description","input","z","object","passthrough","inputSchema","getInputJsonSchema","zodSchemaToJsonSchema","WeakMap","shape","definition","information","record","string","describe","lookback","plan","array","title","decision","research","boolean","computation","nextStep","discriminatedUnion","type","literal","message","hasAtLeast","calls","json","toJsonSchema","override","_def","def","typeName","ZodFirstPartyTypeKind","ZodObject","schema","get","delete","ignoreOverride","RePlanSystemPrompt","PromptTemplate","template","RePlanAssistantPrompt","results"],"mappings":"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","file":"prompts.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z, ZodFirstPartyTypeKind, ZodObjectDef, ZodTypeDef } from \"zod\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { hasAtLeast, map } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { ignoreOverride, JsonSchema7Type } from \"zod-to-json-schema\";\n\nexport async function createRePlanOutputSchema<T extends AnyTool>(tools: T[]) {\n const toolSchemas = await Promise.all(\n tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n input: z.object({}).passthrough(),\n inputSchema: await tool.getInputJsonSchema(),\n })),\n );\n const zodSchemaToJsonSchema = new WeakMap(\n toolSchemas.map((tool) => [tool.input.shape, tool.inputSchema]),\n );\n\n const definition = z.object({\n information: z\n .record(z.string())\n .describe(\n \"Summary of the factual information that was collected so far. Eg. 'height of the Eiffel tower': '300m'. Only information that was provided by tools or the user in this very conversation is allowed to be included here. Other information must not be included.\",\n ),\n lookback: z\n .string()\n .describe(\n \"A full summary of what has happened so far, focusing on what the assistant tried, what went well and what failed. This repeats in every message, but always concerns the full history up to that point.\",\n ),\n plan: z\n .array(\n z.object({\n title: z\n .string()\n .describe(\"Title of this step, shortly describing what needs to be done.\"),\n decision: z.string().describe(\"Assistant's decision of how to tackle this step.\"),\n research: z\n .boolean()\n .describe(\"Does this step involve looking up factual information through tools?\"),\n computation: z\n .boolean()\n .describe(\"Does this step involve calculating or computing information through tools?\"),\n }),\n )\n .describe(\n \"Detailed step-by-step plan of what steps will the assistant take from start to finish to fulfill the user's request. Includes concrete facts and numbers wherever possible. This repeats in every message, but always contains all the future steps from this point on.\",\n ),\n nextStep: z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"message\"),\n message: z\n .string()\n .describe(\n \"Message with the response, that is sent back to the user. Always include a bit of info on how you arrived at the answer. Be friendly and helpful.\",\n ),\n })\n .describe(\"Message the user -- either to give the answer, or to ask for more information.\"),\n ...(hasAtLeast(toolSchemas, 1)\n ? [\n z\n .object({\n type: z.literal(\"tool\"),\n calls: z.array(\n z.discriminatedUnion(\n \"name\",\n map(toolSchemas, (tool) =>\n z\n .object({\n name: z.literal(tool.name),\n input: tool.input,\n })\n .describe(tool.description),\n ),\n ),\n ),\n })\n .describe(\"Obtain more information using tools.\"),\n ]\n : []),\n ]),\n });\n\n return {\n definition,\n json: toJsonSchema(definition, {\n override: (_def: ZodTypeDef) => {\n const def = _def as ZodObjectDef;\n if (def.typeName === ZodFirstPartyTypeKind.ZodObject) {\n const shape = def.shape();\n const schema = zodSchemaToJsonSchema.get(shape) as JsonSchema7Type;\n if (schema) {\n zodSchemaToJsonSchema.delete(shape);\n return schema;\n }\n }\n return ignoreOverride;\n },\n }),\n };\n}\n\nexport type RePlanState = z.output<\n Awaited<ReturnType<typeof createRePlanOutputSchema>>[\"definition\"]\n>;\n\nexport const RePlanSystemPrompt = new PromptTemplate({\n schema: z.object({\n schema: z.string(),\n }),\n template: `The assistant is created by IBM and refers to itself as Bee. It's named after the IBM logo.\n\nThe assistant is very intelligent and helpful. It always thinks ahead, and uses smart approaches to solve the user's problems. The assistant is an expert-level user of the provided tools, and can utilize them to their maximum potential.\n\nThe assistant is forbidden from using factual information that was not provided by the user or tools in this very conversation. All information about places, people, events, etc. is unknown to the assistant, and the assistant must use tools to obtain it.\n\nOutput Schema: {{schema}}`,\n});\n\nexport const RePlanAssistantPrompt = new PromptTemplate({\n schema: z.object({ results: z.string() }),\n template: `{{results}}`,\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/replan/prompts.ts"],"names":["createRePlanOutputSchema","tools","toolSchemas","Promise","all","map","tool","name","description","input","z","object","passthrough","inputSchema","getInputJsonSchema","zodSchemaToJsonSchema","WeakMap","shape","definition","information","record","string","describe","lookback","plan","array","title","decision","research","boolean","computation","nextStep","discriminatedUnion","type","literal","message","hasAtLeast","calls","json","toJsonSchema","override","_def","def","typeName","ZodFirstPartyTypeKind","ZodObject","schema","get","delete","ignoreOverride","RePlanSystemPrompt","PromptTemplate","template","RePlanAssistantPrompt","results"],"mappings":"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","file":"prompts.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z, ZodFirstPartyTypeKind, ZodObjectDef, ZodTypeDef } from \"zod\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { hasAtLeast, map } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { ignoreOverride, JsonSchema7Type } from \"zod-to-json-schema\";\n\nexport async function createRePlanOutputSchema<T extends AnyTool>(tools: T[]) {\n const toolSchemas = await Promise.all(\n tools.map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n input: z.object({}).passthrough(),\n inputSchema: await tool.getInputJsonSchema(),\n })),\n );\n const zodSchemaToJsonSchema = new WeakMap(\n toolSchemas.map((tool) => [tool.input.shape, tool.inputSchema]),\n );\n\n const definition = z.object({\n information: z\n .record(z.string())\n .describe(\n \"Summary of the factual information that was collected so far. Eg. 'height of the Eiffel tower': '300m'. Only information that was provided by tools or the user in this very conversation is allowed to be included here. Other information must not be included.\",\n ),\n lookback: z\n .string()\n .describe(\n \"A full summary of what has happened so far, focusing on what the assistant tried, what went well and what failed. This repeats in every message, but always concerns the full history up to that point.\",\n ),\n plan: z\n .array(\n z.object({\n title: z\n .string()\n .describe(\"Title of this step, shortly describing what needs to be done.\"),\n decision: z.string().describe(\"Assistant's decision of how to tackle this step.\"),\n research: z\n .boolean()\n .describe(\"Does this step involve looking up factual information through tools?\"),\n computation: z\n .boolean()\n .describe(\"Does this step involve calculating or computing information through tools?\"),\n }),\n )\n .describe(\n \"Detailed step-by-step plan of what steps will the assistant take from start to finish to fulfill the user's request. Includes concrete facts and numbers wherever possible. This repeats in every message, but always contains all the future steps from this point on.\",\n ),\n nextStep: z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"message\"),\n message: z\n .string()\n .describe(\n \"Message with the response, that is sent back to the user. Always include a bit of info on how you arrived at the answer. Be friendly and helpful.\",\n ),\n })\n .describe(\"Message the user -- either to give the answer, or to ask for more information.\"),\n ...(hasAtLeast(toolSchemas, 1)\n ? [\n z\n .object({\n type: z.literal(\"tool\"),\n calls: z.array(\n z.discriminatedUnion(\n \"name\",\n map(toolSchemas, (tool) =>\n z\n .object({\n name: z.literal(tool.name),\n input: tool.input,\n })\n .describe(tool.description),\n ),\n ),\n ),\n })\n .describe(\"Obtain more information using tools.\"),\n ]\n : []),\n ]),\n });\n\n return {\n definition,\n json: toJsonSchema(definition, {\n override: (_def: ZodTypeDef) => {\n const def = _def as ZodObjectDef;\n if (def.typeName === ZodFirstPartyTypeKind.ZodObject) {\n const shape = def.shape();\n const schema = zodSchemaToJsonSchema.get(shape) as JsonSchema7Type;\n if (schema) {\n zodSchemaToJsonSchema.delete(shape);\n return schema;\n }\n }\n return ignoreOverride;\n },\n }),\n };\n}\n\nexport type RePlanState = z.output<\n Awaited<ReturnType<typeof createRePlanOutputSchema>>[\"definition\"]\n>;\n\nexport const RePlanSystemPrompt = new PromptTemplate({\n schema: z.object({\n schema: z.string(),\n }),\n template: `The assistant is created by IBM and refers to itself as Bee. It's named after the IBM logo.\n\nThe assistant is very intelligent and helpful. It always thinks ahead, and uses smart approaches to solve the user's problems. The assistant is an expert-level user of the provided tools, and can utilize them to their maximum potential.\n\nThe assistant is forbidden from using factual information that was not provided by the user or tools in this very conversation. All information about places, people, events, etc. is unknown to the assistant, and the assistant must use tools to obtain it.\n\nOutput Schema: {{schema}}`,\n});\n\nexport const RePlanAssistantPrompt = new PromptTemplate({\n schema: z.object({ results: z.string() }),\n template: `{{results}}`,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/streamlit/agent.ts"],"names":["StreamlitAgent","BaseAgent","emitter","Emitter","namespace","creator","input","meta","name","tools","description","memory","_run","_options","run","userMessage","runMemory","prepare","content","raw","llm","create","stream","messages","abortSignal","signal","observe","on","value","chunk","delta","getTextContent","emit","state","result","parse","assistantMessage","AssistantMessage","addMany","filter","isTruthy","message","systemMessage","SystemMessage","templates","system","StreamlitAgentSystemPrompt","render","prompt","isEmpty","UserMessage","createdAt","Date","inputMessages","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","msgs","prevConversationMsg","find","msg","includes","last","lastMsg","length","m","role","Role","ASSISTANT","AgentError","blocks","i","text","substring","code","findFirstPair","allowOverlap","push","start","end","inner","createSnapshot"],"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, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { AssistantMessage, Message, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport {\n StreamlitAgentSystemPrompt,\n StreamlitAgentTemplates,\n} from \"@/agents/experimental/streamlit/prompts.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { ChatModel, ChatModelOutput } from \"@/backend/chat.js\";\n\nexport interface StreamlitAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n templates?: Partial<StreamlitAgentTemplates>;\n}\n\nexport interface StreamlitRunInput {\n prompt: string | null;\n}\n\ninterface Block {\n name: \"text\" | \"app\";\n content: string;\n start: number;\n end: number;\n}\n\ninterface Result {\n raw: string;\n blocks: Block[];\n}\n\nexport interface StreamlitRunOutput {\n result: Result;\n message: Message;\n memory: BaseMemory;\n}\n\nexport interface StreamlitEvents {\n newToken: Callback<{\n delta: string;\n state: Readonly<{\n content: string;\n }>;\n chunk: ChatModelOutput;\n }>;\n}\n\nexport class StreamlitAgent extends BaseAgent<StreamlitRunInput, StreamlitRunOutput> {\n public emitter = new Emitter<StreamlitEvents>({\n namespace: [\"agent\", \"experimental\", \"streamlit\"],\n creator: this,\n });\n\n constructor(protected readonly input: StreamlitAgentInput) {\n super();\n }\n\n public get meta(): AgentMeta {\n return {\n name: `Streamlit`,\n tools: [],\n description: `StreamlitAgent is an experimental meta-app agent that uses \\`Meta LLaMa 3.1 70B\\` to build \\`IBM Granite 3 8B\\`-powered apps using Streamlit -- a simple UI framework for Python.`,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n public get memory() {\n return this.input.memory;\n }\n\n protected async _run(\n input: StreamlitRunInput,\n _options: BaseAgentRunOptions,\n run: GetRunContext<typeof this>,\n ): Promise<StreamlitRunOutput> {\n const { userMessage, runMemory } = await this.prepare(input);\n\n let content = \"\";\n const raw = await this.input.llm\n .create({\n stream: true,\n messages: runMemory.messages,\n abortSignal: run.signal,\n })\n .observe((emitter) => {\n emitter.on(\"newToken\", async ({ value: chunk }) => {\n const delta = chunk.getTextContent();\n if (delta) {\n content += delta;\n await run.emitter.emit(\"newToken\", { delta, state: { content }, chunk });\n }\n });\n });\n const result = this.parse(content || raw.getTextContent());\n\n const assistantMessage = new AssistantMessage(content);\n await this.memory.addMany([userMessage, assistantMessage].filter(isTruthy));\n\n return {\n result,\n message: assistantMessage,\n memory: runMemory,\n };\n }\n\n protected async prepare(input: StreamlitRunInput) {\n const systemMessage = new SystemMessage(\n (this.input.templates?.system ?? StreamlitAgentSystemPrompt).render({}),\n );\n\n const userMessage =\n input.prompt !== null || this.memory.isEmpty()\n ? new UserMessage(input.prompt ?? \"No message.\", { createdAt: new Date() })\n : null;\n\n const inputMessages = [...this.memory.messages, userMessage].filter(isTruthy);\n\n const runMemory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.6,\n handlers: {\n removalSelector(msgs) {\n // First we remove messages from the past conversations\n const prevConversationMsg = msgs.find((msg) => inputMessages.includes(msg));\n if (prevConversationMsg && prevConversationMsg !== last(inputMessages)) {\n return prevConversationMsg;\n }\n\n const lastMsg = msgs.length > 3 && msgs.find((m) => m.role === Role.ASSISTANT);\n if (!lastMsg) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMsg;\n },\n },\n });\n await runMemory.addMany([systemMessage, ...inputMessages].filter(isTruthy));\n\n return { runMemory, userMessage };\n }\n\n protected parse(raw: string): Result {\n const blocks: Block[] = [];\n\n for (let i = 0; i < raw.length; ) {\n const text = raw.substring(i);\n\n const code = findFirstPair(text, [\"```python-app\\n\", \"\\n```\"], { allowOverlap: true });\n if (!code) {\n blocks.push({ start: i, end: i + text.length, content: text, name: \"text\" });\n break;\n }\n\n if (code.start > 0) {\n blocks.push({\n name: \"text\",\n start: i,\n end: i + code.start,\n content: text.substring(0, code.start),\n });\n }\n blocks.push({\n name: \"app\",\n content: code.inner,\n start: i + code.start,\n end: i + code.end,\n });\n i += code.end;\n }\n\n return {\n raw,\n blocks,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/streamlit/agent.ts"],"names":["StreamlitAgent","BaseAgent","emitter","Emitter","namespace","creator","input","meta","name","tools","description","memory","_run","_options","run","userMessage","runMemory","prepare","content","raw","llm","create","stream","messages","abortSignal","signal","observe","on","value","chunk","delta","getTextContent","emit","state","result","parse","assistantMessage","AssistantMessage","addMany","filter","isTruthy","message","systemMessage","SystemMessage","templates","system","StreamlitAgentSystemPrompt","render","prompt","isEmpty","UserMessage","createdAt","Date","inputMessages","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","msgs","prevConversationMsg","find","msg","includes","last","lastMsg","length","m","role","Role","ASSISTANT","AgentError","blocks","i","text","substring","code","findFirstPair","allowOverlap","push","start","end","inner","createSnapshot"],"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, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { AssistantMessage, Message, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport {\n StreamlitAgentSystemPrompt,\n StreamlitAgentTemplates,\n} from \"@/agents/experimental/streamlit/prompts.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { ChatModel, ChatModelOutput } from \"@/backend/chat.js\";\n\nexport interface StreamlitAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n templates?: Partial<StreamlitAgentTemplates>;\n}\n\nexport interface StreamlitRunInput {\n prompt: string | null;\n}\n\ninterface Block {\n name: \"text\" | \"app\";\n content: string;\n start: number;\n end: number;\n}\n\ninterface Result {\n raw: string;\n blocks: Block[];\n}\n\nexport interface StreamlitRunOutput {\n result: Result;\n message: Message;\n memory: BaseMemory;\n}\n\nexport interface StreamlitEvents {\n newToken: Callback<{\n delta: string;\n state: Readonly<{\n content: string;\n }>;\n chunk: ChatModelOutput;\n }>;\n}\n\nexport class StreamlitAgent extends BaseAgent<StreamlitRunInput, StreamlitRunOutput> {\n public emitter = new Emitter<StreamlitEvents>({\n namespace: [\"agent\", \"experimental\", \"streamlit\"],\n creator: this,\n });\n\n constructor(protected readonly input: StreamlitAgentInput) {\n super();\n }\n\n public get meta(): AgentMeta {\n return {\n name: `Streamlit`,\n tools: [],\n description: `StreamlitAgent is an experimental meta-app agent that uses \\`Meta LLaMa 3.1 70B\\` to build \\`IBM Granite 3 8B\\`-powered apps using Streamlit -- a simple UI framework for Python.`,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n public get memory() {\n return this.input.memory;\n }\n\n protected async _run(\n input: StreamlitRunInput,\n _options: BaseAgentRunOptions,\n run: GetRunContext<typeof this>,\n ): Promise<StreamlitRunOutput> {\n const { userMessage, runMemory } = await this.prepare(input);\n\n let content = \"\";\n const raw = await this.input.llm\n .create({\n stream: true,\n messages: runMemory.messages,\n abortSignal: run.signal,\n })\n .observe((emitter) => {\n emitter.on(\"newToken\", async ({ value: chunk }) => {\n const delta = chunk.getTextContent();\n if (delta) {\n content += delta;\n await run.emitter.emit(\"newToken\", { delta, state: { content }, chunk });\n }\n });\n });\n const result = this.parse(content || raw.getTextContent());\n\n const assistantMessage = new AssistantMessage(content);\n await this.memory.addMany([userMessage, assistantMessage].filter(isTruthy));\n\n return {\n result,\n message: assistantMessage,\n memory: runMemory,\n };\n }\n\n protected async prepare(input: StreamlitRunInput) {\n const systemMessage = new SystemMessage(\n (this.input.templates?.system ?? StreamlitAgentSystemPrompt).render({}),\n );\n\n const userMessage =\n input.prompt !== null || this.memory.isEmpty()\n ? new UserMessage(input.prompt ?? \"No message.\", { createdAt: new Date() })\n : null;\n\n const inputMessages = [...this.memory.messages, userMessage].filter(isTruthy);\n\n const runMemory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.6,\n handlers: {\n removalSelector(msgs) {\n // First we remove messages from the past conversations\n const prevConversationMsg = msgs.find((msg) => inputMessages.includes(msg));\n if (prevConversationMsg && prevConversationMsg !== last(inputMessages)) {\n return prevConversationMsg;\n }\n\n const lastMsg = msgs.length > 3 && msgs.find((m) => m.role === Role.ASSISTANT);\n if (!lastMsg) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMsg;\n },\n },\n });\n await runMemory.addMany([systemMessage, ...inputMessages].filter(isTruthy));\n\n return { runMemory, userMessage };\n }\n\n protected parse(raw: string): Result {\n const blocks: Block[] = [];\n\n for (let i = 0; i < raw.length; ) {\n const text = raw.substring(i);\n\n const code = findFirstPair(text, [\"```python-app\\n\", \"\\n```\"], { allowOverlap: true });\n if (!code) {\n blocks.push({ start: i, end: i + text.length, content: text, name: \"text\" });\n break;\n }\n\n if (code.start > 0) {\n blocks.push({\n name: \"text\",\n start: i,\n end: i + code.start,\n content: text.substring(0, code.start),\n });\n }\n blocks.push({\n name: \"app\",\n content: code.inner,\n start: i + code.start,\n end: i + code.end,\n });\n i += code.end;\n }\n\n return {\n raw,\n blocks,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n };\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { GetRunContext, MiddlewareType } from '../../../context.cjs';
2
- import { a as BaseAgent, c as AgentMeta, B as BaseAgentRunOptions } from '../../../base-BqzN2QwB.cjs';
3
- import { C as Callback, E as Emitter } from '../../../emitter-UkIkNrek.cjs';
2
+ import { B as BaseAgent, c as AgentMeta, a as BaseAgentRunOptions } from '../../../base-s3ioVIE9.cjs';
3
+ import { E as Emitter, C as Callback } from '../../../emitter-D4OcelZ9.cjs';
4
4
  import { BaseMemory } from '../../../memory/base.cjs';
5
5
  import { Message, UserMessage } from '../../../backend/message.cjs';
6
6
  import { StreamlitAgentTemplates } from './prompts.cjs';
7
7
  import { TokenMemory } from '../../../memory/tokenMemory.cjs';
8
- import { m as ChatModel, n as ChatModelOutput } from '../../../chat-DaqV3woF.cjs';
8
+ import { a as ChatModel, i as ChatModelOutput } from '../../../chat-C20nYj46.cjs';
9
9
  import '../../../internals/serializable.cjs';
10
10
  import '../../../internals/types.cjs';
11
11
  import '../../../internals/helpers/guards.cjs';
@@ -1,11 +1,11 @@
1
1
  import { GetRunContext, MiddlewareType } from '../../../context.js';
2
- import { a as BaseAgent, c as AgentMeta, B as BaseAgentRunOptions } from '../../../base-BfhNzUYf.js';
3
- import { C as Callback, E as Emitter } from '../../../emitter-CL56qab4.js';
2
+ import { B as BaseAgent, c as AgentMeta, a as BaseAgentRunOptions } from '../../../base-BjzyQ8k6.js';
3
+ import { E as Emitter, C as Callback } from '../../../emitter-kHxkUxco.js';
4
4
  import { BaseMemory } from '../../../memory/base.js';
5
5
  import { Message, UserMessage } from '../../../backend/message.js';
6
6
  import { StreamlitAgentTemplates } from './prompts.js';
7
7
  import { TokenMemory } from '../../../memory/tokenMemory.js';
8
- import { m as ChatModel, n as ChatModelOutput } from '../../../chat-DTxmaKP0.js';
8
+ import { a as ChatModel, i as ChatModelOutput } from '../../../chat-CfTNfR60.js';
9
9
  import '../../../internals/serializable.js';
10
10
  import '../../../internals/types.js';
11
11
  import '../../../internals/helpers/guards.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/agents/experimental/streamlit/agent.ts"],"names":["StreamlitAgent","BaseAgent","emitter","Emitter","namespace","creator","input","meta","name","tools","description","memory","_run","_options","run","userMessage","runMemory","prepare","content","raw","llm","create","stream","messages","abortSignal","signal","observe","on","value","chunk","delta","getTextContent","emit","state","result","parse","assistantMessage","AssistantMessage","addMany","filter","isTruthy","message","systemMessage","SystemMessage","templates","system","StreamlitAgentSystemPrompt","render","prompt","isEmpty","UserMessage","createdAt","Date","inputMessages","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","msgs","prevConversationMsg","find","msg","includes","last","lastMsg","length","m","role","Role","ASSISTANT","AgentError","blocks","i","text","substring","code","findFirstPair","allowOverlap","push","start","end","inner","createSnapshot"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { AssistantMessage, Message, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport {\n StreamlitAgentSystemPrompt,\n StreamlitAgentTemplates,\n} from \"@/agents/experimental/streamlit/prompts.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { ChatModel, ChatModelOutput } from \"@/backend/chat.js\";\n\nexport interface StreamlitAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n templates?: Partial<StreamlitAgentTemplates>;\n}\n\nexport interface StreamlitRunInput {\n prompt: string | null;\n}\n\ninterface Block {\n name: \"text\" | \"app\";\n content: string;\n start: number;\n end: number;\n}\n\ninterface Result {\n raw: string;\n blocks: Block[];\n}\n\nexport interface StreamlitRunOutput {\n result: Result;\n message: Message;\n memory: BaseMemory;\n}\n\nexport interface StreamlitEvents {\n newToken: Callback<{\n delta: string;\n state: Readonly<{\n content: string;\n }>;\n chunk: ChatModelOutput;\n }>;\n}\n\nexport class StreamlitAgent extends BaseAgent<StreamlitRunInput, StreamlitRunOutput> {\n public emitter = new Emitter<StreamlitEvents>({\n namespace: [\"agent\", \"experimental\", \"streamlit\"],\n creator: this,\n });\n\n constructor(protected readonly input: StreamlitAgentInput) {\n super();\n }\n\n public get meta(): AgentMeta {\n return {\n name: `Streamlit`,\n tools: [],\n description: `StreamlitAgent is an experimental meta-app agent that uses \\`Meta LLaMa 3.1 70B\\` to build \\`IBM Granite 3 8B\\`-powered apps using Streamlit -- a simple UI framework for Python.`,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n public get memory() {\n return this.input.memory;\n }\n\n protected async _run(\n input: StreamlitRunInput,\n _options: BaseAgentRunOptions,\n run: GetRunContext<typeof this>,\n ): Promise<StreamlitRunOutput> {\n const { userMessage, runMemory } = await this.prepare(input);\n\n let content = \"\";\n const raw = await this.input.llm\n .create({\n stream: true,\n messages: runMemory.messages,\n abortSignal: run.signal,\n })\n .observe((emitter) => {\n emitter.on(\"newToken\", async ({ value: chunk }) => {\n const delta = chunk.getTextContent();\n if (delta) {\n content += delta;\n await run.emitter.emit(\"newToken\", { delta, state: { content }, chunk });\n }\n });\n });\n const result = this.parse(content || raw.getTextContent());\n\n const assistantMessage = new AssistantMessage(content);\n await this.memory.addMany([userMessage, assistantMessage].filter(isTruthy));\n\n return {\n result,\n message: assistantMessage,\n memory: runMemory,\n };\n }\n\n protected async prepare(input: StreamlitRunInput) {\n const systemMessage = new SystemMessage(\n (this.input.templates?.system ?? StreamlitAgentSystemPrompt).render({}),\n );\n\n const userMessage =\n input.prompt !== null || this.memory.isEmpty()\n ? new UserMessage(input.prompt ?? \"No message.\", { createdAt: new Date() })\n : null;\n\n const inputMessages = [...this.memory.messages, userMessage].filter(isTruthy);\n\n const runMemory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.6,\n handlers: {\n removalSelector(msgs) {\n // First we remove messages from the past conversations\n const prevConversationMsg = msgs.find((msg) => inputMessages.includes(msg));\n if (prevConversationMsg && prevConversationMsg !== last(inputMessages)) {\n return prevConversationMsg;\n }\n\n const lastMsg = msgs.length > 3 && msgs.find((m) => m.role === Role.ASSISTANT);\n if (!lastMsg) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMsg;\n },\n },\n });\n await runMemory.addMany([systemMessage, ...inputMessages].filter(isTruthy));\n\n return { runMemory, userMessage };\n }\n\n protected parse(raw: string): Result {\n const blocks: Block[] = [];\n\n for (let i = 0; i < raw.length; ) {\n const text = raw.substring(i);\n\n const code = findFirstPair(text, [\"```python-app\\n\", \"\\n```\"], { allowOverlap: true });\n if (!code) {\n blocks.push({ start: i, end: i + text.length, content: text, name: \"text\" });\n break;\n }\n\n if (code.start > 0) {\n blocks.push({\n name: \"text\",\n start: i,\n end: i + code.start,\n content: text.substring(0, code.start),\n });\n }\n blocks.push({\n name: \"app\",\n content: code.inner,\n start: i + code.start,\n end: i + code.end,\n });\n i += code.end;\n }\n\n return {\n raw,\n blocks,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/agents/experimental/streamlit/agent.ts"],"names":["StreamlitAgent","BaseAgent","emitter","Emitter","namespace","creator","input","meta","name","tools","description","memory","_run","_options","run","userMessage","runMemory","prepare","content","raw","llm","create","stream","messages","abortSignal","signal","observe","on","value","chunk","delta","getTextContent","emit","state","result","parse","assistantMessage","AssistantMessage","addMany","filter","isTruthy","message","systemMessage","SystemMessage","templates","system","StreamlitAgentSystemPrompt","render","prompt","isEmpty","UserMessage","createdAt","Date","inputMessages","TokenMemory","capacityThreshold","syncThreshold","handlers","removalSelector","msgs","prevConversationMsg","find","msg","includes","last","lastMsg","length","m","role","Role","ASSISTANT","AgentError","blocks","i","text","substring","code","findFirstPair","allowOverlap","push","start","end","inner","createSnapshot"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { isTruthy, last } from \"remeda\";\nimport { AssistantMessage, Message, Role, SystemMessage, UserMessage } from \"@/backend/message.js\";\nimport {\n StreamlitAgentSystemPrompt,\n StreamlitAgentTemplates,\n} from \"@/agents/experimental/streamlit/prompts.js\";\nimport { TokenMemory } from \"@/memory/tokenMemory.js\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { ChatModel, ChatModelOutput } from \"@/backend/chat.js\";\n\nexport interface StreamlitAgentInput {\n llm: ChatModel;\n memory: BaseMemory;\n templates?: Partial<StreamlitAgentTemplates>;\n}\n\nexport interface StreamlitRunInput {\n prompt: string | null;\n}\n\ninterface Block {\n name: \"text\" | \"app\";\n content: string;\n start: number;\n end: number;\n}\n\ninterface Result {\n raw: string;\n blocks: Block[];\n}\n\nexport interface StreamlitRunOutput {\n result: Result;\n message: Message;\n memory: BaseMemory;\n}\n\nexport interface StreamlitEvents {\n newToken: Callback<{\n delta: string;\n state: Readonly<{\n content: string;\n }>;\n chunk: ChatModelOutput;\n }>;\n}\n\nexport class StreamlitAgent extends BaseAgent<StreamlitRunInput, StreamlitRunOutput> {\n public emitter = new Emitter<StreamlitEvents>({\n namespace: [\"agent\", \"experimental\", \"streamlit\"],\n creator: this,\n });\n\n constructor(protected readonly input: StreamlitAgentInput) {\n super();\n }\n\n public get meta(): AgentMeta {\n return {\n name: `Streamlit`,\n tools: [],\n description: `StreamlitAgent is an experimental meta-app agent that uses \\`Meta LLaMa 3.1 70B\\` to build \\`IBM Granite 3 8B\\`-powered apps using Streamlit -- a simple UI framework for Python.`,\n };\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n public get memory() {\n return this.input.memory;\n }\n\n protected async _run(\n input: StreamlitRunInput,\n _options: BaseAgentRunOptions,\n run: GetRunContext<typeof this>,\n ): Promise<StreamlitRunOutput> {\n const { userMessage, runMemory } = await this.prepare(input);\n\n let content = \"\";\n const raw = await this.input.llm\n .create({\n stream: true,\n messages: runMemory.messages,\n abortSignal: run.signal,\n })\n .observe((emitter) => {\n emitter.on(\"newToken\", async ({ value: chunk }) => {\n const delta = chunk.getTextContent();\n if (delta) {\n content += delta;\n await run.emitter.emit(\"newToken\", { delta, state: { content }, chunk });\n }\n });\n });\n const result = this.parse(content || raw.getTextContent());\n\n const assistantMessage = new AssistantMessage(content);\n await this.memory.addMany([userMessage, assistantMessage].filter(isTruthy));\n\n return {\n result,\n message: assistantMessage,\n memory: runMemory,\n };\n }\n\n protected async prepare(input: StreamlitRunInput) {\n const systemMessage = new SystemMessage(\n (this.input.templates?.system ?? StreamlitAgentSystemPrompt).render({}),\n );\n\n const userMessage =\n input.prompt !== null || this.memory.isEmpty()\n ? new UserMessage(input.prompt ?? \"No message.\", { createdAt: new Date() })\n : null;\n\n const inputMessages = [...this.memory.messages, userMessage].filter(isTruthy);\n\n const runMemory = new TokenMemory({\n capacityThreshold: 0.85,\n syncThreshold: 0.6,\n handlers: {\n removalSelector(msgs) {\n // First we remove messages from the past conversations\n const prevConversationMsg = msgs.find((msg) => inputMessages.includes(msg));\n if (prevConversationMsg && prevConversationMsg !== last(inputMessages)) {\n return prevConversationMsg;\n }\n\n const lastMsg = msgs.length > 3 && msgs.find((m) => m.role === Role.ASSISTANT);\n if (!lastMsg) {\n throw new AgentError(\"Cannot fit the current conversation into the context window!\");\n }\n return lastMsg;\n },\n },\n });\n await runMemory.addMany([systemMessage, ...inputMessages].filter(isTruthy));\n\n return { runMemory, userMessage };\n }\n\n protected parse(raw: string): Result {\n const blocks: Block[] = [];\n\n for (let i = 0; i < raw.length; ) {\n const text = raw.substring(i);\n\n const code = findFirstPair(text, [\"```python-app\\n\", \"\\n```\"], { allowOverlap: true });\n if (!code) {\n blocks.push({ start: i, end: i + text.length, content: text, name: \"text\" });\n break;\n }\n\n if (code.start > 0) {\n blocks.push({\n name: \"text\",\n start: i,\n end: i + code.start,\n content: text.substring(0, code.start),\n });\n }\n blocks.push({\n name: \"app\",\n content: code.inner,\n start: i + code.start,\n end: i + code.end,\n });\n i += code.end;\n }\n\n return {\n raw,\n blocks,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n };\n }\n}\n"]}
@@ -122,7 +122,7 @@ async def main():
122
122
  - Use \`@st.llm_function\` for complex text-based tasks such as summarization, analysis, and keyword extraction.
123
123
  - Always define explicit and detailed instructions for the LLM to ensure accurate results.
124
124
  - For structured outputs, use a \`dataclass\` to define the return type and describe every field in the instructions.
125
- - For unstructured output, use \`str\` as the return type, and the fuction will simply return the raw LLM output as a string.
125
+ - For unstructured output, use \`str\` as the return type, and the function will simply return the raw LLM output as a string.
126
126
  - **Never** use multiple LLM functions sequentially with the same input; combine tasks into one function instead.
127
127
  - Be verbose and specific in instructions for LLM functions, describing each expected output field in detail.
128
128
 
@@ -130,7 +130,7 @@ async def main():
130
130
 
131
131
  - Avoid deprecated functions like \`st.cache\`; use \`st.cache_data\` for serializable data and \`st.cache_resource\` for persistent resources (e.g., database connections).
132
132
  - When querying GitHub API, make sure to parse ISO timestamps from strings like \`created_at\`, \`closed_at\`, \`merged_at\`.
133
- - When using any external API that returns a JSON reply, always check that the needes fields are present in the response.
133
+ - When using any external API that returns a JSON reply, always check that the needed fields are present in the response.
134
134
  - Do not simultaneously set value of input element using \`st.session_state.<key>\` and directly using \`st.text_input(key="<key>", value="...")\`. This results in an error.
135
135
  - If you need to clear an input field after submitting, use \`with st.form("form_name", clear_on_submit=True):\` to wrap the input elements. Do not modify \`st.session_state.<key>\` after rendering the element, as that will result in an error.
136
136
  - When a button that is **not** part of the form modifies \`st.session_state\`, it has to call \`st.rerun()\` afterwards to ensure proper UI refresh.