beeai-framework 0.1.10 → 0.1.12

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 (556) hide show
  1. package/README.md +18 -6
  2. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  3. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +7 -6
  4. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +7 -6
  5. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  6. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  7. package/dist/adapters/amazon-bedrock/backend/client.d.cts +1 -1
  8. package/dist/adapters/amazon-bedrock/backend/client.d.ts +1 -1
  9. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  10. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  11. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +15 -4
  12. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +15 -4
  13. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  14. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  15. package/dist/adapters/anthropic/backend/chat.d.cts +9 -8
  16. package/dist/adapters/anthropic/backend/chat.d.ts +9 -8
  17. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  18. package/dist/adapters/anthropic/backend/client.cjs +5 -5
  19. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  20. package/dist/adapters/anthropic/backend/client.d.cts +2 -2
  21. package/dist/adapters/anthropic/backend/client.d.ts +2 -2
  22. package/dist/adapters/anthropic/backend/client.js +5 -5
  23. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  24. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  25. package/dist/adapters/anthropic/backend/embedding.d.cts +15 -4
  26. package/dist/adapters/anthropic/backend/embedding.d.ts +15 -4
  27. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  28. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  29. package/dist/adapters/azure-openai/backend/chat.d.cts +9 -8
  30. package/dist/adapters/azure-openai/backend/chat.d.ts +9 -8
  31. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  32. package/dist/adapters/azure-openai/backend/client.cjs +6 -6
  33. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  34. package/dist/adapters/azure-openai/backend/client.d.cts +2 -2
  35. package/dist/adapters/azure-openai/backend/client.d.ts +2 -2
  36. package/dist/adapters/azure-openai/backend/client.js +6 -6
  37. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  38. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  39. package/dist/adapters/azure-openai/backend/embedding.d.cts +15 -4
  40. package/dist/adapters/azure-openai/backend/embedding.d.ts +15 -4
  41. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  42. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  43. package/dist/adapters/dummy/backend/chat.d.cts +12 -7
  44. package/dist/adapters/dummy/backend/chat.d.ts +12 -7
  45. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  46. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  47. package/dist/adapters/dummy/backend/embedding.d.cts +15 -3
  48. package/dist/adapters/dummy/backend/embedding.d.ts +15 -3
  49. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  50. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  51. package/dist/adapters/google-vertex/backend/chat.d.cts +9 -8
  52. package/dist/adapters/google-vertex/backend/chat.d.ts +9 -8
  53. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  54. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  55. package/dist/adapters/google-vertex/backend/client.d.cts +1 -1
  56. package/dist/adapters/google-vertex/backend/client.d.ts +1 -1
  57. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  58. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  59. package/dist/adapters/google-vertex/backend/embedding.d.cts +15 -4
  60. package/dist/adapters/google-vertex/backend/embedding.d.ts +15 -4
  61. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  62. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/groq/backend/chat.d.cts +9 -8
  64. package/dist/adapters/groq/backend/chat.d.ts +9 -8
  65. package/dist/adapters/groq/backend/chat.js.map +1 -1
  66. package/dist/adapters/groq/backend/client.cjs +3 -3
  67. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  68. package/dist/adapters/groq/backend/client.d.cts +1 -1
  69. package/dist/adapters/groq/backend/client.d.ts +1 -1
  70. package/dist/adapters/groq/backend/client.js +3 -3
  71. package/dist/adapters/groq/backend/client.js.map +1 -1
  72. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  73. package/dist/adapters/groq/backend/embedding.d.cts +15 -4
  74. package/dist/adapters/groq/backend/embedding.d.ts +15 -4
  75. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  76. package/dist/adapters/langchain/backend/chat.cjs +5 -3
  77. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  78. package/dist/adapters/langchain/backend/chat.d.cts +12 -7
  79. package/dist/adapters/langchain/backend/chat.d.ts +12 -7
  80. package/dist/adapters/langchain/backend/chat.js +5 -3
  81. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  82. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  83. package/dist/adapters/langchain/backend/embedding.d.cts +15 -3
  84. package/dist/adapters/langchain/backend/embedding.d.ts +15 -3
  85. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  86. package/dist/adapters/langchain/tools.cjs.map +1 -1
  87. package/dist/adapters/langchain/tools.d.cts +1 -1
  88. package/dist/adapters/langchain/tools.d.ts +1 -1
  89. package/dist/adapters/langchain/tools.js.map +1 -1
  90. package/dist/adapters/ollama/backend/chat.cjs +4 -0
  91. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  92. package/dist/adapters/ollama/backend/chat.d.cts +10 -8
  93. package/dist/adapters/ollama/backend/chat.d.ts +10 -8
  94. package/dist/adapters/ollama/backend/chat.js +4 -0
  95. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  96. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  97. package/dist/adapters/ollama/backend/client.d.cts +1 -1
  98. package/dist/adapters/ollama/backend/client.d.ts +1 -1
  99. package/dist/adapters/ollama/backend/client.js.map +1 -1
  100. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  101. package/dist/adapters/ollama/backend/embedding.d.cts +15 -4
  102. package/dist/adapters/ollama/backend/embedding.d.ts +15 -4
  103. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  104. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  105. package/dist/adapters/openai/backend/chat.d.cts +7 -6
  106. package/dist/adapters/openai/backend/chat.d.ts +7 -6
  107. package/dist/adapters/openai/backend/chat.js.map +1 -1
  108. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  109. package/dist/adapters/openai/backend/client.d.cts +1 -1
  110. package/dist/adapters/openai/backend/client.d.ts +1 -1
  111. package/dist/adapters/openai/backend/client.js.map +1 -1
  112. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  113. package/dist/adapters/openai/backend/embedding.d.cts +15 -4
  114. package/dist/adapters/openai/backend/embedding.d.ts +15 -4
  115. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  116. package/dist/adapters/vercel/backend/chat.cjs +41 -7
  117. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  118. package/dist/adapters/vercel/backend/chat.d.cts +12 -7
  119. package/dist/adapters/vercel/backend/chat.d.ts +12 -7
  120. package/dist/adapters/vercel/backend/chat.js +44 -10
  121. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  122. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  123. package/dist/adapters/vercel/backend/embedding.d.cts +14 -3
  124. package/dist/adapters/vercel/backend/embedding.d.ts +14 -3
  125. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  126. package/dist/adapters/watsonx/backend/chat.cjs +25 -4
  127. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  128. package/dist/adapters/watsonx/backend/chat.d.cts +13 -7
  129. package/dist/adapters/watsonx/backend/chat.d.ts +13 -7
  130. package/dist/adapters/watsonx/backend/chat.js +25 -4
  131. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  132. package/dist/adapters/watsonx/backend/client.cjs +1 -1
  133. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  134. package/dist/adapters/watsonx/backend/client.d.cts +1 -1
  135. package/dist/adapters/watsonx/backend/client.d.ts +1 -1
  136. package/dist/adapters/watsonx/backend/client.js +1 -1
  137. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  138. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  139. package/dist/adapters/watsonx/backend/embedding.d.cts +15 -3
  140. package/dist/adapters/watsonx/backend/embedding.d.ts +15 -3
  141. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  142. package/dist/{agent-COg8SPbf.d.cts → agent-2C0Z9iYa.d.cts} +4 -4
  143. package/dist/{agent-Dv5YSk8H.d.ts → agent-DN_52QhH.d.ts} +4 -4
  144. package/dist/agents/base.cjs.map +1 -1
  145. package/dist/agents/base.d.cts +2 -2
  146. package/dist/agents/base.d.ts +2 -2
  147. package/dist/agents/base.js.map +1 -1
  148. package/dist/agents/experimental/remote/agent.cjs.map +1 -1
  149. package/dist/agents/experimental/remote/agent.d.cts +2 -2
  150. package/dist/agents/experimental/remote/agent.d.ts +2 -2
  151. package/dist/agents/experimental/remote/agent.js.map +1 -1
  152. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  153. package/dist/agents/experimental/replan/agent.d.cts +6 -6
  154. package/dist/agents/experimental/replan/agent.d.ts +6 -6
  155. package/dist/agents/experimental/replan/agent.js.map +1 -1
  156. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  157. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  158. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  159. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  160. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  161. package/dist/agents/experimental/streamlit/agent.d.cts +6 -6
  162. package/dist/agents/experimental/streamlit/agent.d.ts +6 -6
  163. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  164. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  165. package/dist/agents/experimental/streamlit/prompts.d.cts +1 -1
  166. package/dist/agents/experimental/streamlit/prompts.d.ts +1 -1
  167. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  168. package/dist/agents/react/agent.cjs.map +1 -1
  169. package/dist/agents/react/agent.d.cts +6 -6
  170. package/dist/agents/react/agent.d.ts +6 -6
  171. package/dist/agents/react/agent.js.map +1 -1
  172. package/dist/agents/react/prompts.cjs.map +1 -1
  173. package/dist/agents/react/prompts.d.cts +2 -2
  174. package/dist/agents/react/prompts.d.ts +2 -2
  175. package/dist/agents/react/prompts.js.map +1 -1
  176. package/dist/agents/react/runners/base.cjs.map +1 -1
  177. package/dist/agents/react/runners/base.d.cts +6 -6
  178. package/dist/agents/react/runners/base.d.ts +6 -6
  179. package/dist/agents/react/runners/base.js.map +1 -1
  180. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  181. package/dist/agents/react/runners/deep-think/prompts.d.cts +2 -2
  182. package/dist/agents/react/runners/deep-think/prompts.d.ts +2 -2
  183. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  184. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  185. package/dist/agents/react/runners/deep-think/runner.d.cts +7 -7
  186. package/dist/agents/react/runners/deep-think/runner.d.ts +7 -7
  187. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  188. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  189. package/dist/agents/react/runners/default/runner.d.cts +9 -9
  190. package/dist/agents/react/runners/default/runner.d.ts +9 -9
  191. package/dist/agents/react/runners/default/runner.js.map +1 -1
  192. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  193. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  194. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  195. package/dist/agents/react/runners/granite/prompts.d.cts +2 -2
  196. package/dist/agents/react/runners/granite/prompts.d.ts +2 -2
  197. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  198. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  199. package/dist/agents/react/runners/granite/runner.d.cts +7 -7
  200. package/dist/agents/react/runners/granite/runner.d.ts +7 -7
  201. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  202. package/dist/agents/react/types.d.cts +5 -5
  203. package/dist/agents/react/types.d.ts +5 -5
  204. package/dist/agents/toolCalling/agent.cjs +33 -12
  205. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  206. package/dist/agents/toolCalling/agent.d.cts +7 -6
  207. package/dist/agents/toolCalling/agent.d.ts +7 -6
  208. package/dist/agents/toolCalling/agent.js +35 -14
  209. package/dist/agents/toolCalling/agent.js.map +1 -1
  210. package/dist/agents/toolCalling/prompts.cjs +3 -2
  211. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  212. package/dist/agents/toolCalling/prompts.d.cts +1 -1
  213. package/dist/agents/toolCalling/prompts.d.ts +1 -1
  214. package/dist/agents/toolCalling/prompts.js +3 -2
  215. package/dist/agents/toolCalling/prompts.js.map +1 -1
  216. package/dist/agents/toolCalling/types.d.cts +2 -2
  217. package/dist/agents/toolCalling/types.d.ts +2 -2
  218. package/dist/agents/types.d.cts +2 -2
  219. package/dist/agents/types.d.ts +2 -2
  220. package/dist/backend/backend.cjs.map +1 -1
  221. package/dist/backend/backend.d.cts +6 -5
  222. package/dist/backend/backend.d.ts +6 -5
  223. package/dist/backend/backend.js.map +1 -1
  224. package/dist/backend/chat.cjs +61 -3
  225. package/dist/backend/chat.cjs.map +1 -1
  226. package/dist/backend/chat.d.cts +17 -138
  227. package/dist/backend/chat.d.ts +17 -138
  228. package/dist/backend/chat.js +64 -6
  229. package/dist/backend/chat.js.map +1 -1
  230. package/dist/backend/client.cjs +1 -1
  231. package/dist/backend/client.cjs.map +1 -1
  232. package/dist/backend/client.d.cts +1 -1
  233. package/dist/backend/client.d.ts +1 -1
  234. package/dist/backend/client.js +1 -1
  235. package/dist/backend/client.js.map +1 -1
  236. package/dist/backend/constants.cjs +5 -0
  237. package/dist/backend/constants.cjs.map +1 -1
  238. package/dist/backend/constants.d.cts +6 -1
  239. package/dist/backend/constants.d.ts +6 -1
  240. package/dist/backend/constants.js +5 -0
  241. package/dist/backend/constants.js.map +1 -1
  242. package/dist/backend/core.d.cts +5 -4
  243. package/dist/backend/core.d.ts +5 -4
  244. package/dist/backend/embedding.cjs.map +1 -1
  245. package/dist/backend/embedding.d.cts +14 -2
  246. package/dist/backend/embedding.d.ts +14 -2
  247. package/dist/backend/embedding.js.map +1 -1
  248. package/dist/backend/errors.cjs.map +1 -1
  249. package/dist/backend/errors.d.cts +1 -1
  250. package/dist/backend/errors.d.ts +1 -1
  251. package/dist/backend/errors.js.map +1 -1
  252. package/dist/backend/message.cjs.map +1 -1
  253. package/dist/backend/message.d.cts +1 -1
  254. package/dist/backend/message.d.ts +1 -1
  255. package/dist/backend/message.js.map +1 -1
  256. package/dist/backend/utils.cjs +35 -0
  257. package/dist/backend/utils.cjs.map +1 -1
  258. package/dist/backend/utils.d.cts +20 -28
  259. package/dist/backend/utils.d.ts +20 -28
  260. package/dist/backend/utils.js +35 -2
  261. package/dist/backend/utils.js.map +1 -1
  262. package/dist/{base-Csr9guq2.d.cts → base-BPsHNV2O.d.cts} +2 -2
  263. package/dist/{base-DHhpWHQm.d.ts → base-ZnwDK6ZB.d.ts} +2 -2
  264. package/dist/cache/base.cjs.map +1 -1
  265. package/dist/cache/base.d.cts +1 -1
  266. package/dist/cache/base.d.ts +1 -1
  267. package/dist/cache/base.js.map +1 -1
  268. package/dist/cache/decoratorCache.cjs.map +1 -1
  269. package/dist/cache/decoratorCache.d.cts +1 -1
  270. package/dist/cache/decoratorCache.d.ts +1 -1
  271. package/dist/cache/decoratorCache.js.map +1 -1
  272. package/dist/cache/fileCache.cjs.map +1 -1
  273. package/dist/cache/fileCache.d.cts +1 -1
  274. package/dist/cache/fileCache.d.ts +1 -1
  275. package/dist/cache/fileCache.js.map +1 -1
  276. package/dist/cache/nullCache.cjs.map +1 -1
  277. package/dist/cache/nullCache.d.cts +1 -1
  278. package/dist/cache/nullCache.d.ts +1 -1
  279. package/dist/cache/nullCache.js.map +1 -1
  280. package/dist/cache/slidingCache.cjs.map +1 -1
  281. package/dist/cache/slidingCache.d.cts +1 -1
  282. package/dist/cache/slidingCache.d.ts +1 -1
  283. package/dist/cache/slidingCache.js.map +1 -1
  284. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  285. package/dist/cache/unconstrainedCache.d.cts +1 -1
  286. package/dist/cache/unconstrainedCache.d.ts +1 -1
  287. package/dist/cache/unconstrainedCache.js.map +1 -1
  288. package/dist/chat-BvyMdWFo.d.cts +174 -0
  289. package/dist/chat-diSK3Sui.d.ts +174 -0
  290. package/dist/context.cjs.map +1 -1
  291. package/dist/context.d.cts +2 -2
  292. package/dist/context.d.ts +2 -2
  293. package/dist/context.js.map +1 -1
  294. package/dist/emitter/emitter.cjs.map +1 -1
  295. package/dist/emitter/emitter.d.cts +1 -1
  296. package/dist/emitter/emitter.d.ts +1 -1
  297. package/dist/emitter/emitter.js.map +1 -1
  298. package/dist/emitter/errors.cjs.map +1 -1
  299. package/dist/emitter/errors.d.cts +1 -1
  300. package/dist/emitter/errors.d.ts +1 -1
  301. package/dist/emitter/errors.js.map +1 -1
  302. package/dist/emitter/types.d.cts +1 -1
  303. package/dist/emitter/types.d.ts +1 -1
  304. package/dist/emitter/utils.cjs.map +1 -1
  305. package/dist/emitter/utils.d.cts +1 -1
  306. package/dist/emitter/utils.d.ts +1 -1
  307. package/dist/emitter/utils.js.map +1 -1
  308. package/dist/{emitter-BWtGHYn0.d.cts → emitter-BTr99H7I.d.cts} +2 -2
  309. package/dist/{emitter-l0W9gC1A.d.ts → emitter-DiGmS_5O.d.ts} +2 -2
  310. package/dist/errors.cjs.map +1 -1
  311. package/dist/errors.d.cts +1 -1
  312. package/dist/errors.d.ts +1 -1
  313. package/dist/errors.js.map +1 -1
  314. package/dist/index.d.cts +4 -6
  315. package/dist/index.d.ts +4 -6
  316. package/dist/internals/env.cjs.map +1 -1
  317. package/dist/internals/env.d.cts +1 -1
  318. package/dist/internals/env.d.ts +1 -1
  319. package/dist/internals/env.js.map +1 -1
  320. package/dist/internals/fetcher.cjs.map +1 -1
  321. package/dist/internals/fetcher.d.cts +2 -2
  322. package/dist/internals/fetcher.d.ts +2 -2
  323. package/dist/internals/fetcher.js.map +1 -1
  324. package/dist/internals/helpers/array.cjs.map +1 -1
  325. package/dist/internals/helpers/array.d.cts +1 -1
  326. package/dist/internals/helpers/array.d.ts +1 -1
  327. package/dist/internals/helpers/array.js.map +1 -1
  328. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  329. package/dist/internals/helpers/cancellation.d.cts +1 -1
  330. package/dist/internals/helpers/cancellation.d.ts +1 -1
  331. package/dist/internals/helpers/cancellation.js.map +1 -1
  332. package/dist/internals/helpers/counter.cjs.map +1 -1
  333. package/dist/internals/helpers/counter.d.cts +1 -1
  334. package/dist/internals/helpers/counter.d.ts +1 -1
  335. package/dist/internals/helpers/counter.js.map +1 -1
  336. package/dist/internals/helpers/general.cjs.map +1 -1
  337. package/dist/internals/helpers/general.d.cts +1 -1
  338. package/dist/internals/helpers/general.d.ts +1 -1
  339. package/dist/internals/helpers/general.js.map +1 -1
  340. package/dist/internals/helpers/guards.cjs.map +1 -1
  341. package/dist/internals/helpers/guards.d.cts +1 -1
  342. package/dist/internals/helpers/guards.d.ts +1 -1
  343. package/dist/internals/helpers/guards.js.map +1 -1
  344. package/dist/internals/helpers/hash.cjs.map +1 -1
  345. package/dist/internals/helpers/hash.d.cts +1 -1
  346. package/dist/internals/helpers/hash.d.ts +1 -1
  347. package/dist/internals/helpers/hash.js.map +1 -1
  348. package/dist/internals/helpers/map.cjs.map +1 -1
  349. package/dist/internals/helpers/map.d.cts +1 -1
  350. package/dist/internals/helpers/map.d.ts +1 -1
  351. package/dist/internals/helpers/map.js.map +1 -1
  352. package/dist/internals/helpers/math.cjs.map +1 -1
  353. package/dist/internals/helpers/math.d.cts +1 -1
  354. package/dist/internals/helpers/math.d.ts +1 -1
  355. package/dist/internals/helpers/math.js.map +1 -1
  356. package/dist/internals/helpers/number.cjs.map +1 -1
  357. package/dist/internals/helpers/number.d.cts +1 -1
  358. package/dist/internals/helpers/number.d.ts +1 -1
  359. package/dist/internals/helpers/number.js.map +1 -1
  360. package/dist/internals/helpers/object.cjs.map +1 -1
  361. package/dist/internals/helpers/object.d.cts +1 -1
  362. package/dist/internals/helpers/object.d.ts +1 -1
  363. package/dist/internals/helpers/object.js.map +1 -1
  364. package/dist/internals/helpers/paginate.cjs.map +1 -1
  365. package/dist/internals/helpers/paginate.d.cts +1 -1
  366. package/dist/internals/helpers/paginate.d.ts +1 -1
  367. package/dist/internals/helpers/paginate.js.map +1 -1
  368. package/dist/internals/helpers/promise.cjs.map +1 -1
  369. package/dist/internals/helpers/promise.d.cts +1 -1
  370. package/dist/internals/helpers/promise.d.ts +1 -1
  371. package/dist/internals/helpers/promise.js.map +1 -1
  372. package/dist/internals/helpers/prototype.cjs.map +1 -1
  373. package/dist/internals/helpers/prototype.d.cts +1 -1
  374. package/dist/internals/helpers/prototype.d.ts +1 -1
  375. package/dist/internals/helpers/prototype.js.map +1 -1
  376. package/dist/internals/helpers/retry.cjs.map +1 -1
  377. package/dist/internals/helpers/retry.d.cts +1 -1
  378. package/dist/internals/helpers/retry.d.ts +1 -1
  379. package/dist/internals/helpers/retry.js.map +1 -1
  380. package/dist/internals/helpers/retryable.cjs.map +1 -1
  381. package/dist/internals/helpers/retryable.d.cts +1 -1
  382. package/dist/internals/helpers/retryable.d.ts +1 -1
  383. package/dist/internals/helpers/retryable.js.map +1 -1
  384. package/dist/internals/helpers/schema.cjs.map +1 -1
  385. package/dist/internals/helpers/schema.d.cts +1 -1
  386. package/dist/internals/helpers/schema.d.ts +1 -1
  387. package/dist/internals/helpers/schema.js.map +1 -1
  388. package/dist/internals/helpers/stream.cjs.map +1 -1
  389. package/dist/internals/helpers/stream.d.cts +1 -1
  390. package/dist/internals/helpers/stream.d.ts +1 -1
  391. package/dist/internals/helpers/stream.js.map +1 -1
  392. package/dist/internals/helpers/string.cjs.map +1 -1
  393. package/dist/internals/helpers/string.d.cts +1 -1
  394. package/dist/internals/helpers/string.d.ts +1 -1
  395. package/dist/internals/helpers/string.js.map +1 -1
  396. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  397. package/dist/internals/helpers/weakRef.d.cts +1 -1
  398. package/dist/internals/helpers/weakRef.d.ts +1 -1
  399. package/dist/internals/helpers/weakRef.js.map +1 -1
  400. package/dist/internals/serializable.cjs.map +1 -1
  401. package/dist/internals/serializable.d.cts +1 -1
  402. package/dist/internals/serializable.d.ts +1 -1
  403. package/dist/internals/serializable.js.map +1 -1
  404. package/dist/internals/types.cjs.map +1 -1
  405. package/dist/internals/types.d.cts +1 -1
  406. package/dist/internals/types.d.ts +1 -1
  407. package/dist/internals/types.js.map +1 -1
  408. package/dist/logger/logger.cjs.map +1 -1
  409. package/dist/logger/logger.js.map +1 -1
  410. package/dist/logger/pretty.cjs.map +1 -1
  411. package/dist/logger/pretty.js.map +1 -1
  412. package/dist/memory/base.cjs.map +1 -1
  413. package/dist/memory/base.js.map +1 -1
  414. package/dist/memory/slidingMemory.cjs.map +1 -1
  415. package/dist/memory/slidingMemory.js.map +1 -1
  416. package/dist/memory/summarizeMemory.cjs.map +1 -1
  417. package/dist/memory/summarizeMemory.d.cts +4 -4
  418. package/dist/memory/summarizeMemory.d.ts +4 -4
  419. package/dist/memory/summarizeMemory.js.map +1 -1
  420. package/dist/memory/tokenMemory.cjs.map +1 -1
  421. package/dist/memory/tokenMemory.js.map +1 -1
  422. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  423. package/dist/memory/unconstrainedMemory.js.map +1 -1
  424. package/dist/parsers/errors.cjs.map +1 -1
  425. package/dist/parsers/errors.d.cts +1 -1
  426. package/dist/parsers/errors.d.ts +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 +2 -2
  432. package/dist/parsers/linePrefix.d.ts +2 -2
  433. package/dist/parsers/linePrefix.js.map +1 -1
  434. package/dist/serializer/error.cjs.map +1 -1
  435. package/dist/serializer/error.d.cts +1 -1
  436. package/dist/serializer/error.d.ts +1 -1
  437. package/dist/serializer/error.js.map +1 -1
  438. package/dist/serializer/serializer.cjs.map +1 -1
  439. package/dist/serializer/serializer.d.cts +1 -1
  440. package/dist/serializer/serializer.d.ts +1 -1
  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-VYDhdryk.d.ts → serializer-BswFRdT8.d.ts} +2 -2
  447. package/dist/{serializer-CJx5ZpUx.d.cts → serializer-Dz4AIM2O.d.cts} +2 -2
  448. package/dist/template.cjs.map +1 -1
  449. package/dist/template.d.cts +1 -1
  450. package/dist/template.d.ts +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 +2 -2
  462. package/dist/tools/calculator.d.ts +2 -2
  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 +5 -5
  466. package/dist/tools/custom.d.ts +5 -5
  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 +2 -2
  470. package/dist/tools/database/elasticsearch.d.ts +2 -2
  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.d.cts +1 -1
  474. package/dist/tools/database/metadata.d.ts +1 -1
  475. package/dist/tools/database/metadata.js.map +1 -1
  476. package/dist/tools/database/milvus.cjs.map +1 -1
  477. package/dist/tools/database/milvus.d.cts +2 -2
  478. package/dist/tools/database/milvus.d.ts +2 -2
  479. package/dist/tools/database/milvus.js.map +1 -1
  480. package/dist/tools/database/sql.cjs.map +1 -1
  481. package/dist/tools/database/sql.d.cts +2 -2
  482. package/dist/tools/database/sql.d.ts +2 -2
  483. package/dist/tools/database/sql.js.map +1 -1
  484. package/dist/tools/llm.cjs.map +1 -1
  485. package/dist/tools/llm.d.cts +5 -5
  486. package/dist/tools/llm.d.ts +5 -5
  487. package/dist/tools/llm.js.map +1 -1
  488. package/dist/tools/mcp.cjs.map +1 -1
  489. package/dist/tools/mcp.d.cts +2 -2
  490. package/dist/tools/mcp.d.ts +2 -2
  491. package/dist/tools/mcp.js.map +1 -1
  492. package/dist/tools/openapi.cjs.map +1 -1
  493. package/dist/tools/openapi.d.cts +1 -1
  494. package/dist/tools/openapi.d.ts +1 -1
  495. package/dist/tools/openapi.js.map +1 -1
  496. package/dist/tools/python/output.cjs.map +1 -1
  497. package/dist/tools/python/output.d.cts +2 -2
  498. package/dist/tools/python/output.d.ts +2 -2
  499. package/dist/tools/python/output.js.map +1 -1
  500. package/dist/tools/python/python.cjs +3 -3
  501. package/dist/tools/python/python.cjs.map +1 -1
  502. package/dist/tools/python/python.d.cts +4 -4
  503. package/dist/tools/python/python.d.ts +4 -4
  504. package/dist/tools/python/python.js +3 -3
  505. package/dist/tools/python/python.js.map +1 -1
  506. package/dist/tools/python/storage.cjs.map +1 -1
  507. package/dist/tools/python/storage.d.cts +1 -1
  508. package/dist/tools/python/storage.d.ts +1 -1
  509. package/dist/tools/python/storage.js.map +1 -1
  510. package/dist/tools/search/base.cjs.map +1 -1
  511. package/dist/tools/search/base.d.cts +2 -2
  512. package/dist/tools/search/base.d.ts +2 -2
  513. package/dist/tools/search/base.js.map +1 -1
  514. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  515. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -2
  516. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -2
  517. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  518. package/dist/tools/search/googleSearch.cjs.map +1 -1
  519. package/dist/tools/search/googleSearch.d.cts +1 -1
  520. package/dist/tools/search/googleSearch.d.ts +1 -1
  521. package/dist/tools/search/googleSearch.js.map +1 -1
  522. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  523. package/dist/tools/search/searXNGSearch.d.cts +2 -2
  524. package/dist/tools/search/searXNGSearch.d.ts +2 -2
  525. package/dist/tools/search/searXNGSearch.js.map +1 -1
  526. package/dist/tools/search/wikipedia.cjs.map +1 -1
  527. package/dist/tools/search/wikipedia.d.cts +1 -1
  528. package/dist/tools/search/wikipedia.d.ts +1 -1
  529. package/dist/tools/search/wikipedia.js.map +1 -1
  530. package/dist/tools/similarity.cjs.map +1 -1
  531. package/dist/tools/similarity.d.cts +2 -2
  532. package/dist/tools/similarity.d.ts +2 -2
  533. package/dist/tools/similarity.js.map +1 -1
  534. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  535. package/dist/tools/weather/openMeteo.d.cts +2 -2
  536. package/dist/tools/weather/openMeteo.d.ts +2 -2
  537. package/dist/tools/weather/openMeteo.js.map +1 -1
  538. package/dist/tools/web/webCrawler.cjs.map +1 -1
  539. package/dist/tools/web/webCrawler.d.cts +1 -1
  540. package/dist/tools/web/webCrawler.d.ts +1 -1
  541. package/dist/tools/web/webCrawler.js.map +1 -1
  542. package/dist/version.cjs +1 -1
  543. package/dist/version.cjs.map +1 -1
  544. package/dist/version.d.cts +1 -1
  545. package/dist/version.d.ts +1 -1
  546. package/dist/version.js +1 -1
  547. package/dist/version.js.map +1 -1
  548. package/dist/workflows/agent.cjs.map +1 -1
  549. package/dist/workflows/agent.d.cts +43 -43
  550. package/dist/workflows/agent.d.ts +43 -43
  551. package/dist/workflows/agent.js.map +1 -1
  552. package/dist/workflows/workflow.cjs.map +1 -1
  553. package/dist/workflows/workflow.d.cts +1 -1
  554. package/dist/workflows/workflow.d.ts +1 -1
  555. package/dist/workflows/workflow.js.map +1 -1
  556. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"sources":["chat.ts"],"names":["Type","WatsonxChatModel","ChatModel","client","emitter","providerId","constructor","modelId","getEnv","Emitter","root","child","namespace","creator","WatsonxClient","ensure","config","name","parameters","undefined","NotImplementedError","_create","input","run","result","instance","textChat","prepareInput","signal","messages","finishReason","usage","extractOutput","choices","ChatModelOutput","_createStream","stream","textChatStream","returnObject","raw","aborted","controller","abort","data","map","delta","choice","message","findLast","Boolean","finish_reason","completionTokens","completion_tokens","promptTokens","prompt_tokens","totalTokens","total_tokens","flatMap","content","msg","AssistantMessage","type","text","push","tool_calls","call","toolCallId","id","toolName","function","args","parseBrokenJson","arguments","refusal","filter","isTruthy","overrides","tools","Promise","all","tool","description","getInputJsonSchema","ToolMessage","role","JSON","stringify","tool_call_id","SystemMessage","toPlain","spaceId","projectId","isEmpty","responseFormat","JSON_OBJECT","topP","frequencyPenalty","temperature","n","maxTokens","presencePenalty","toolChoice","stop","stopSequences","seed","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"chat.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ChatConfig,\n ChatModel,\n ChatModelEmitter,\n ChatModelInput,\n ChatModelOutput,\n ChatModelParameters,\n} from \"@/backend/chat.js\";\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport { findLast, isEmpty, isTruthy } from \"remeda\";\nimport WatsonxAiMlVml_v1, {\n TextChatMessages,\n TextChatParameterTools,\n TextChatParams,\n TextChatResultChoice,\n TextChatUsage,\n} from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, SystemMessage, ToolMessage } from \"@/backend/message.js\";\nimport { ToolCallPart } from \"ai\";\nimport Type = WatsonxAiMlVml_v1.TextChatResponseFormat.Constants.Type;\nimport { parseBrokenJson } from \"@/internals/helpers/schema.js\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { NotImplementedError } from \"@/errors.js\";\n\nexport class WatsonxChatModel extends ChatModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: ChatModelEmitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"chat\"],\n creator: this,\n });\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId = getEnv(\"WATSONX_CHAT_MODEL\", \"ibm/granite-3-8b-instruct\"),\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n }\n\n config(config: ChatConfig) {\n super.config(config);\n for (const name of [\"topK\"] as (keyof ChatModelParameters)[]) {\n if (this.parameters[name] !== undefined) {\n this.parameters[name] = undefined;\n throw new NotImplementedError(\n `Setting \"${name}\" parameter is not supported for WatsonX Chat Models.`,\n );\n }\n }\n return this;\n }\n\n protected async _create(input: ChatModelInput, run: GetRunContext<any>) {\n const { result } = await this.client.instance.textChat({\n ...(await this.prepareInput(input)),\n signal: run.signal,\n });\n const { messages, finishReason, usage } = this.extractOutput(result.choices, result.usage);\n return new ChatModelOutput(messages, usage, finishReason);\n }\n\n async *_createStream(input: ChatModelInput, run: GetRunContext<this>) {\n const stream = await this.client.instance.textChatStream({\n ...(await this.prepareInput(input)),\n signal: run.signal,\n returnObject: true,\n });\n for await (const raw of stream) {\n if (run.signal.aborted) {\n stream.controller.abort(run.signal.aborted);\n break;\n }\n const { messages, finishReason, usage } = this.extractOutput(\n raw.data.choices.map(({ delta, ...choice }) => ({ ...choice, message: delta })),\n raw.data.usage,\n );\n yield new ChatModelOutput(messages, usage, finishReason);\n }\n }\n\n protected extractOutput(choices: TextChatResultChoice[], usage?: TextChatUsage) {\n return {\n finishReason: findLast(choices, (choice) => Boolean(choice?.finish_reason))\n ?.finish_reason as ChatModelOutput[\"finishReason\"],\n usage: usage\n ? {\n completionTokens: usage.completion_tokens ?? 0,\n promptTokens: usage.prompt_tokens ?? 0,\n totalTokens: usage.total_tokens ?? 0,\n }\n : undefined,\n messages: choices\n .flatMap(({ message }) => {\n const messages: Message[] = [];\n if (message?.content) {\n const msg = new AssistantMessage({ type: \"text\", text: message.content });\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n if (message?.tool_calls) {\n const msg = new AssistantMessage(\n message.tool_calls.map(\n (call): ToolCallPart => ({\n type: \"tool-call\",\n toolCallId: call.id,\n toolName: call.function.name,\n args: parseBrokenJson(call.function.arguments),\n }),\n ),\n );\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n if (message?.refusal) {\n const msg = new AssistantMessage({ type: \"text\", text: message.refusal });\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n return messages;\n })\n .filter(isTruthy),\n };\n }\n\n protected async prepareInput(overrides: ChatModelInput): Promise<TextChatParams> {\n const input: ChatModelInput = { ...this.parameters, ...overrides };\n const tools: TextChatParameterTools[] = await Promise.all(\n (input.tools ?? []).map(async (tool) => ({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: await tool.getInputJsonSchema(),\n },\n })),\n );\n\n return {\n modelId: this.modelId,\n messages: input.messages.flatMap((message): TextChatMessages[] => {\n if (message instanceof ToolMessage) {\n return message.content.map((content) => ({\n role: \"tool\",\n content: JSON.stringify(content.result),\n tool_call_id: content.toolCallId,\n }));\n } else if (message instanceof SystemMessage) {\n return message.content.map((content) => ({\n role: \"system\",\n content: content.text,\n }));\n } else if (message instanceof AssistantMessage) {\n return message.content.map((content) => ({\n role: \"assistant\",\n ...(content.type === \"text\" && {\n content: content.text,\n }),\n ...(content.type === \"tool-call\" && {\n id: content.toolCallId,\n type: \"function\",\n function: {\n name: content.toolName,\n arguments: JSON.stringify(content.args),\n },\n }),\n }));\n } else {\n return [message.toPlain()];\n }\n }),\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n tools: isEmpty(tools) ? undefined : tools,\n responseFormat: undefined,\n ...(input.responseFormat?.type === \"object-json\" && {\n responseFormat: { type: Type.JSON_OBJECT },\n }),\n topP: input.topP,\n frequencyPenalty: input.frequencyPenalty,\n temperature: input.temperature,\n n: input.n,\n maxTokens: input.maxTokens,\n presencePenalty: input.presencePenalty,\n toolChoice: input.toolChoice,\n stop: input.stopSequences,\n seed: input.seed,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n parameters: shallowCopy(this.parameters),\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["chat.ts"],"names":["Type","WatsonxChatModel","ChatModel","client","emitter","toolChoiceSupport","providerId","constructor","modelId","getEnv","Emitter","root","child","namespace","creator","WatsonxClient","ensure","config","name","parameters","undefined","NotImplementedError","_create","input","run","result","instance","textChat","prepareInput","signal","messages","finishReason","usage","extractOutput","choices","ChatModelOutput","_createStream","stream","textChatStream","returnObject","raw","aborted","controller","abort","data","map","delta","choice","message","findLast","Boolean","finish_reason","completionTokens","completion_tokens","promptTokens","prompt_tokens","totalTokens","total_tokens","flatMap","content","msg","AssistantMessage","type","text","push","tool_calls","call","toolCallId","id","toolName","function","args","parseBrokenJson","arguments","refusal","filter","isTruthy","overrides","tools","Promise","all","tool","description","getInputJsonSchema","toolConfig","toolChoice","toolChoiceOption","Tool","includes","ToolMessage","role","JSON","stringify","tool_call_id","SystemMessage","toPlain","spaceId","projectId","isEmpty","responseFormat","JSON_OBJECT","topP","frequencyPenalty","temperature","n","maxTokens","presencePenalty","stop","stopSequences","seed","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"chat.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ChatConfig,\n ChatModel,\n ChatModelEmitter,\n ChatModelInput,\n ChatModelOutput,\n ChatModelParameters,\n ChatModelToolChoiceSupport,\n} from \"@/backend/chat.js\";\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport { findLast, isEmpty, isTruthy } from \"remeda\";\nimport WatsonxAiMlVml_v1, {\n TextChatMessages,\n TextChatParameterTools,\n TextChatParams,\n TextChatResultChoice,\n TextChatUsage,\n} from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, SystemMessage, ToolMessage } from \"@/backend/message.js\";\nimport { ToolCallPart } from \"ai\";\nimport Type = WatsonxAiMlVml_v1.TextChatResponseFormat.Constants.Type;\nimport { parseBrokenJson } from \"@/internals/helpers/schema.js\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { Tool } from \"@/tools/base.js\";\n\nexport class WatsonxChatModel extends ChatModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: ChatModelEmitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"chat\"],\n creator: this,\n });\n public readonly toolChoiceSupport: ChatModelToolChoiceSupport[] = [\"none\", \"single\"];\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId = getEnv(\"WATSONX_CHAT_MODEL\", \"ibm/granite-3-8b-instruct\"),\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n }\n\n config(config: ChatConfig) {\n super.config(config);\n for (const name of [\"topK\"] as (keyof ChatModelParameters)[]) {\n if (this.parameters[name] !== undefined) {\n this.parameters[name] = undefined;\n throw new NotImplementedError(\n `Setting \"${name}\" parameter is not supported for WatsonX Chat Models.`,\n );\n }\n }\n return this;\n }\n\n protected async _create(input: ChatModelInput, run: GetRunContext<any>) {\n const { result } = await this.client.instance.textChat({\n ...(await this.prepareInput(input)),\n signal: run.signal,\n });\n const { messages, finishReason, usage } = this.extractOutput(result.choices, result.usage);\n return new ChatModelOutput(messages, usage, finishReason);\n }\n\n async *_createStream(input: ChatModelInput, run: GetRunContext<this>) {\n const stream = await this.client.instance.textChatStream({\n ...(await this.prepareInput(input)),\n signal: run.signal,\n returnObject: true,\n });\n for await (const raw of stream) {\n if (run.signal.aborted) {\n stream.controller.abort(run.signal.aborted);\n break;\n }\n const { messages, finishReason, usage } = this.extractOutput(\n raw.data.choices.map(({ delta, ...choice }) => ({ ...choice, message: delta })),\n raw.data.usage,\n );\n yield new ChatModelOutput(messages, usage, finishReason);\n }\n }\n\n protected extractOutput(choices: TextChatResultChoice[], usage?: TextChatUsage) {\n return {\n finishReason: findLast(choices, (choice) => Boolean(choice?.finish_reason))\n ?.finish_reason as ChatModelOutput[\"finishReason\"],\n usage: usage\n ? {\n completionTokens: usage.completion_tokens ?? 0,\n promptTokens: usage.prompt_tokens ?? 0,\n totalTokens: usage.total_tokens ?? 0,\n }\n : undefined,\n messages: choices\n .flatMap(({ message }) => {\n const messages: Message[] = [];\n if (message?.content) {\n const msg = new AssistantMessage({ type: \"text\", text: message.content });\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n if (message?.tool_calls) {\n const msg = new AssistantMessage(\n message.tool_calls.map(\n (call): ToolCallPart => ({\n type: \"tool-call\",\n toolCallId: call.id,\n toolName: call.function.name,\n args: parseBrokenJson(call.function.arguments),\n }),\n ),\n );\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n if (message?.refusal) {\n const msg = new AssistantMessage({ type: \"text\", text: message.refusal });\n // msg.role = message.role || msg.role;\n messages.push(msg);\n }\n return messages;\n })\n .filter(isTruthy),\n };\n }\n\n protected async prepareInput(overrides: ChatModelInput): Promise<TextChatParams> {\n const input: ChatModelInput = { ...this.parameters, ...overrides };\n const tools: TextChatParameterTools[] = await Promise.all(\n (input.tools ?? []).map(async (tool) => ({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: await tool.getInputJsonSchema(),\n },\n })),\n );\n\n const toolConfig: Pick<TextChatParams, \"toolChoice\" | \"toolChoiceOption\"> = {\n toolChoice: undefined,\n toolChoiceOption: undefined,\n };\n if (input.toolChoice) {\n if (input.toolChoice instanceof Tool) {\n toolConfig.toolChoice = {\n type: \"function\",\n function: { name: input.toolChoice.name },\n };\n } else if (this.toolChoiceSupport.includes(input.toolChoice)) {\n toolConfig.toolChoiceOption = input.toolChoice;\n }\n }\n\n return {\n modelId: this.modelId,\n messages: input.messages.flatMap((message): TextChatMessages[] => {\n if (message instanceof ToolMessage) {\n return message.content.map((content) => ({\n role: \"tool\",\n content: JSON.stringify(content.result),\n tool_call_id: content.toolCallId,\n }));\n } else if (message instanceof SystemMessage) {\n return message.content.map((content) => ({\n role: \"system\",\n content: content.text,\n }));\n } else if (message instanceof AssistantMessage) {\n return message.content.map((content) => ({\n role: \"assistant\",\n ...(content.type === \"text\" && {\n content: content.text,\n }),\n ...(content.type === \"tool-call\" && {\n id: content.toolCallId,\n type: \"function\",\n function: {\n name: content.toolName,\n arguments: JSON.stringify(content.args),\n },\n }),\n }));\n } else {\n return [message.toPlain()];\n }\n }),\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n tools: isEmpty(tools) ? undefined : tools,\n responseFormat: undefined,\n ...(input.responseFormat && {\n responseFormat: { type: Type.JSON_OBJECT },\n }),\n topP: input.topP,\n frequencyPenalty: input.frequencyPenalty,\n temperature: input.temperature,\n n: input.n,\n maxTokens: input.maxTokens,\n presencePenalty: input.presencePenalty,\n stop: input.stopSequences,\n seed: input.seed,\n ...toolConfig,\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n parameters: shallowCopy(this.parameters),\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -36,7 +36,7 @@ class WatsonxClient extends client_cjs.BackendClient {
36
36
  version: this.settings.version,
37
37
  serviceUrl: this.settings.baseUrl,
38
38
  authenticator: this.settings?.authenticator || new ibmCloudSdkCore.IamAuthenticator({
39
- apikey: env_cjs.getEnv("WATSONX_API_KEY", this.settings?.apiKey ?? ""),
39
+ apikey: this.settings?.apiKey || env_cjs.getEnv("WATSONX_API_KEY", ""),
40
40
  url: "https://iam.cloud.ibm.com"
41
41
  })
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["WatsonxClient","BackendClient","constructor","settings","region","getEnv","baseUrl","projectId","spaceId","undefined","version","create","WatsonXAI","newInstance","serviceUrl","authenticator","IamAuthenticator","apikey","apiKey","url"],"mappings":";;;;;;;;;AA6BO,MAAMA,sBAAsBC,wBAAAA,CAAAA;EA7BnC;;;AA8BEC,EAAAA,WAAAA,CAAYC,QAAiC,EAAA;AAC3C,IAAA,MAAMC,MAASD,GAAAA,QAAAA,EAAUC,MAAUC,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AAC1C,IAAA,MAAMC,UACJH,QAAUG,EAAAA,OAAAA,IAAWD,eAAO,kBAAA,CAAA,IAAuB,WAAWD,MAAAA,CAAAA,iBAAAA,CAAAA;AAEhE,IAAA,MAAMG,SAAYJ,GAAAA,QAAAA,EAAUI,SAAaF,IAAAA,cAAAA,CAAO,oBAAA,CAAA;AAChD,IAAA,MAAMG,UAAUD,SAAYE,GAAAA,MAAAA,GAAYN,QAAUK,EAAAA,OAAAA,IAAWH,eAAO,kBAAA,CAAA;AACpE,IAAA,MAAMK,OAAUP,GAAAA,QAAAA,EAAUO,OAAWL,IAAAA,cAAAA,CAAO,iBAAA,CAAsB,IAAA,YAAA;AAElE,IAAM,KAAA,CAAA;MACJ,GAAGF,QAAAA;AACHG,MAAAA,OAAAA;AACAC,MAAAA,SAAAA;AACAC,MAAAA,OAAAA;AACAE,MAAAA;KACF,CAAA;AACF;AACA,EAAA,IAAIF,OAAU,GAAA;AACZ,IAAA,OAAO,KAAKL,QAASK,CAAAA,OAAAA;AACvB;AAEA,EAAA,IAAID,SAAY,GAAA;AACd,IAAA,OAAO,KAAKJ,QAASI,CAAAA,SAAAA;AACvB;EAEUI,MAAS,GAAA;AACjB,IAAA,OAAOC,oBAAUC,WAAY,CAAA;AAC3BH,MAAAA,OAAAA,EAAS,KAAKP,QAASO,CAAAA,OAAAA;AACvBI,MAAAA,UAAAA,EAAY,KAAKX,QAASG,CAAAA,OAAAA;AAC1BS,MAAAA,aAAAA,EACE,IAAKZ,CAAAA,QAAAA,EAAUY,aACf,IAAA,IAAIC,gCAAiB,CAAA;AACnBC,QAAAA,MAAAA,EAAQZ,cAAO,CAAA,iBAAA,EAAmB,IAAKF,CAAAA,QAAAA,EAAUe,UAAU,EAAA,CAAA;QAC3DC,GAAK,EAAA;OACP;KACJ,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonXAI } from \"@ibm-cloud/watsonx-ai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { IamAuthenticator, UserOptions } from \"ibm-cloud-sdk-core\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport interface WatsonxClientSettings extends Pick<UserOptions, \"authenticator\" | \"version\"> {\n spaceId?: string;\n baseUrl?: string;\n region?: string;\n projectId?: string;\n apiKey?: string;\n}\n\nexport class WatsonxClient extends BackendClient<WatsonxClientSettings, WatsonXAI> {\n constructor(settings: WatsonxClientSettings) {\n const region = settings?.region || getEnv(\"WATSONX_REGION\");\n const baseUrl =\n settings?.baseUrl || getEnv(\"WATSONX_BASE_URL\") || `https://${region}.ml.cloud.ibm.com`;\n\n const projectId = settings?.projectId || getEnv(\"WATSONX_PROJECT_ID\");\n const spaceId = projectId ? undefined : settings?.spaceId || getEnv(\"WATSONX_SPACE_ID\");\n const version = settings?.version || getEnv(\"WATSONX_VERSION\") || \"2024-05-31\";\n\n super({\n ...settings,\n baseUrl,\n projectId,\n spaceId,\n version,\n });\n }\n get spaceId() {\n return this.settings.spaceId;\n }\n\n get projectId() {\n return this.settings.projectId;\n }\n\n protected create() {\n return WatsonXAI.newInstance({\n version: this.settings.version,\n serviceUrl: this.settings.baseUrl,\n authenticator:\n this.settings?.authenticator ||\n new IamAuthenticator({\n apikey: getEnv(\"WATSONX_API_KEY\", this.settings?.apiKey ?? \"\"),\n url: \"https://iam.cloud.ibm.com\",\n }),\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["WatsonxClient","BackendClient","constructor","settings","region","getEnv","baseUrl","projectId","spaceId","undefined","version","create","WatsonXAI","newInstance","serviceUrl","authenticator","IamAuthenticator","apikey","apiKey","url"],"mappings":";;;;;;;;;AA6BO,MAAMA,sBAAsBC,wBAAAA,CAAAA;EA7BnC;;;AA8BEC,EAAAA,WAAAA,CAAYC,QAAiC,EAAA;AAC3C,IAAA,MAAMC,MAASD,GAAAA,QAAAA,EAAUC,MAAUC,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AAC1C,IAAA,MAAMC,UACJH,QAAUG,EAAAA,OAAAA,IAAWD,eAAO,kBAAA,CAAA,IAAuB,WAAWD,MAAAA,CAAAA,iBAAAA,CAAAA;AAEhE,IAAA,MAAMG,SAAYJ,GAAAA,QAAAA,EAAUI,SAAaF,IAAAA,cAAAA,CAAO,oBAAA,CAAA;AAChD,IAAA,MAAMG,UAAUD,SAAYE,GAAAA,MAAAA,GAAYN,QAAUK,EAAAA,OAAAA,IAAWH,eAAO,kBAAA,CAAA;AACpE,IAAA,MAAMK,OAAUP,GAAAA,QAAAA,EAAUO,OAAWL,IAAAA,cAAAA,CAAO,iBAAA,CAAsB,IAAA,YAAA;AAElE,IAAM,KAAA,CAAA;MACJ,GAAGF,QAAAA;AACHG,MAAAA,OAAAA;AACAC,MAAAA,SAAAA;AACAC,MAAAA,OAAAA;AACAE,MAAAA;KACF,CAAA;AACF;AACA,EAAA,IAAIF,OAAU,GAAA;AACZ,IAAA,OAAO,KAAKL,QAASK,CAAAA,OAAAA;AACvB;AAEA,EAAA,IAAID,SAAY,GAAA;AACd,IAAA,OAAO,KAAKJ,QAASI,CAAAA,SAAAA;AACvB;EAEUI,MAAS,GAAA;AACjB,IAAA,OAAOC,oBAAUC,WAAY,CAAA;AAC3BH,MAAAA,OAAAA,EAAS,KAAKP,QAASO,CAAAA,OAAAA;AACvBI,MAAAA,UAAAA,EAAY,KAAKX,QAASG,CAAAA,OAAAA;AAC1BS,MAAAA,aAAAA,EACE,IAAKZ,CAAAA,QAAAA,EAAUY,aACf,IAAA,IAAIC,gCAAiB,CAAA;AACnBC,QAAAA,MAAAA,EAAQ,IAAKd,CAAAA,QAAAA,EAAUe,MAAUb,IAAAA,cAAAA,CAAO,mBAAmB,EAAA,CAAA;QAC3Dc,GAAK,EAAA;OACP;KACJ,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonXAI } from \"@ibm-cloud/watsonx-ai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { IamAuthenticator, UserOptions } from \"ibm-cloud-sdk-core\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport interface WatsonxClientSettings extends Pick<UserOptions, \"authenticator\" | \"version\"> {\n spaceId?: string;\n baseUrl?: string;\n region?: string;\n projectId?: string;\n apiKey?: string;\n}\n\nexport class WatsonxClient extends BackendClient<WatsonxClientSettings, WatsonXAI> {\n constructor(settings: WatsonxClientSettings) {\n const region = settings?.region || getEnv(\"WATSONX_REGION\");\n const baseUrl =\n settings?.baseUrl || getEnv(\"WATSONX_BASE_URL\") || `https://${region}.ml.cloud.ibm.com`;\n\n const projectId = settings?.projectId || getEnv(\"WATSONX_PROJECT_ID\");\n const spaceId = projectId ? undefined : settings?.spaceId || getEnv(\"WATSONX_SPACE_ID\");\n const version = settings?.version || getEnv(\"WATSONX_VERSION\") || \"2024-05-31\";\n\n super({\n ...settings,\n baseUrl,\n projectId,\n spaceId,\n version,\n });\n }\n get spaceId() {\n return this.settings.spaceId;\n }\n\n get projectId() {\n return this.settings.projectId;\n }\n\n protected create() {\n return WatsonXAI.newInstance({\n version: this.settings.version,\n serviceUrl: this.settings.baseUrl,\n authenticator:\n this.settings?.authenticator ||\n new IamAuthenticator({\n apikey: this.settings?.apiKey || getEnv(\"WATSONX_API_KEY\", \"\"),\n url: \"https://iam.cloud.ibm.com\",\n }),\n });\n }\n}\n"]}
@@ -6,7 +6,7 @@ import '../../../internals/types.cjs';
6
6
  import '../../../internals/helpers/guards.cjs';
7
7
 
8
8
  /**
9
- * Copyright 2025 IBM Corp.
9
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
10
10
  *
11
11
  * Licensed under the Apache License, Version 2.0 (the "License");
12
12
  * you may not use this file except in compliance with the License.
@@ -6,7 +6,7 @@ import '../../../internals/types.js';
6
6
  import '../../../internals/helpers/guards.js';
7
7
 
8
8
  /**
9
- * Copyright 2025 IBM Corp.
9
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
10
10
  *
11
11
  * Licensed under the Apache License, Version 2.0 (the "License");
12
12
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ class WatsonxClient extends BackendClient {
34
34
  version: this.settings.version,
35
35
  serviceUrl: this.settings.baseUrl,
36
36
  authenticator: this.settings?.authenticator || new IamAuthenticator({
37
- apikey: getEnv("WATSONX_API_KEY", this.settings?.apiKey ?? ""),
37
+ apikey: this.settings?.apiKey || getEnv("WATSONX_API_KEY", ""),
38
38
  url: "https://iam.cloud.ibm.com"
39
39
  })
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["WatsonxClient","BackendClient","constructor","settings","region","getEnv","baseUrl","projectId","spaceId","undefined","version","create","WatsonXAI","newInstance","serviceUrl","authenticator","IamAuthenticator","apikey","apiKey","url"],"mappings":";;;;;;;AA6BO,MAAMA,sBAAsBC,aAAAA,CAAAA;EA7BnC;;;AA8BEC,EAAAA,WAAAA,CAAYC,QAAiC,EAAA;AAC3C,IAAA,MAAMC,MAASD,GAAAA,QAAAA,EAAUC,MAAUC,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AAC1C,IAAA,MAAMC,UACJH,QAAUG,EAAAA,OAAAA,IAAWD,OAAO,kBAAA,CAAA,IAAuB,WAAWD,MAAAA,CAAAA,iBAAAA,CAAAA;AAEhE,IAAA,MAAMG,SAAYJ,GAAAA,QAAAA,EAAUI,SAAaF,IAAAA,MAAAA,CAAO,oBAAA,CAAA;AAChD,IAAA,MAAMG,UAAUD,SAAYE,GAAAA,MAAAA,GAAYN,QAAUK,EAAAA,OAAAA,IAAWH,OAAO,kBAAA,CAAA;AACpE,IAAA,MAAMK,OAAUP,GAAAA,QAAAA,EAAUO,OAAWL,IAAAA,MAAAA,CAAO,iBAAA,CAAsB,IAAA,YAAA;AAElE,IAAM,KAAA,CAAA;MACJ,GAAGF,QAAAA;AACHG,MAAAA,OAAAA;AACAC,MAAAA,SAAAA;AACAC,MAAAA,OAAAA;AACAE,MAAAA;KACF,CAAA;AACF;AACA,EAAA,IAAIF,OAAU,GAAA;AACZ,IAAA,OAAO,KAAKL,QAASK,CAAAA,OAAAA;AACvB;AAEA,EAAA,IAAID,SAAY,GAAA;AACd,IAAA,OAAO,KAAKJ,QAASI,CAAAA,SAAAA;AACvB;EAEUI,MAAS,GAAA;AACjB,IAAA,OAAOC,UAAUC,WAAY,CAAA;AAC3BH,MAAAA,OAAAA,EAAS,KAAKP,QAASO,CAAAA,OAAAA;AACvBI,MAAAA,UAAAA,EAAY,KAAKX,QAASG,CAAAA,OAAAA;AAC1BS,MAAAA,aAAAA,EACE,IAAKZ,CAAAA,QAAAA,EAAUY,aACf,IAAA,IAAIC,gBAAiB,CAAA;AACnBC,QAAAA,MAAAA,EAAQZ,MAAO,CAAA,iBAAA,EAAmB,IAAKF,CAAAA,QAAAA,EAAUe,UAAU,EAAA,CAAA;QAC3DC,GAAK,EAAA;OACP;KACJ,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonXAI } from \"@ibm-cloud/watsonx-ai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { IamAuthenticator, UserOptions } from \"ibm-cloud-sdk-core\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport interface WatsonxClientSettings extends Pick<UserOptions, \"authenticator\" | \"version\"> {\n spaceId?: string;\n baseUrl?: string;\n region?: string;\n projectId?: string;\n apiKey?: string;\n}\n\nexport class WatsonxClient extends BackendClient<WatsonxClientSettings, WatsonXAI> {\n constructor(settings: WatsonxClientSettings) {\n const region = settings?.region || getEnv(\"WATSONX_REGION\");\n const baseUrl =\n settings?.baseUrl || getEnv(\"WATSONX_BASE_URL\") || `https://${region}.ml.cloud.ibm.com`;\n\n const projectId = settings?.projectId || getEnv(\"WATSONX_PROJECT_ID\");\n const spaceId = projectId ? undefined : settings?.spaceId || getEnv(\"WATSONX_SPACE_ID\");\n const version = settings?.version || getEnv(\"WATSONX_VERSION\") || \"2024-05-31\";\n\n super({\n ...settings,\n baseUrl,\n projectId,\n spaceId,\n version,\n });\n }\n get spaceId() {\n return this.settings.spaceId;\n }\n\n get projectId() {\n return this.settings.projectId;\n }\n\n protected create() {\n return WatsonXAI.newInstance({\n version: this.settings.version,\n serviceUrl: this.settings.baseUrl,\n authenticator:\n this.settings?.authenticator ||\n new IamAuthenticator({\n apikey: getEnv(\"WATSONX_API_KEY\", this.settings?.apiKey ?? \"\"),\n url: \"https://iam.cloud.ibm.com\",\n }),\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["WatsonxClient","BackendClient","constructor","settings","region","getEnv","baseUrl","projectId","spaceId","undefined","version","create","WatsonXAI","newInstance","serviceUrl","authenticator","IamAuthenticator","apikey","apiKey","url"],"mappings":";;;;;;;AA6BO,MAAMA,sBAAsBC,aAAAA,CAAAA;EA7BnC;;;AA8BEC,EAAAA,WAAAA,CAAYC,QAAiC,EAAA;AAC3C,IAAA,MAAMC,MAASD,GAAAA,QAAAA,EAAUC,MAAUC,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AAC1C,IAAA,MAAMC,UACJH,QAAUG,EAAAA,OAAAA,IAAWD,OAAO,kBAAA,CAAA,IAAuB,WAAWD,MAAAA,CAAAA,iBAAAA,CAAAA;AAEhE,IAAA,MAAMG,SAAYJ,GAAAA,QAAAA,EAAUI,SAAaF,IAAAA,MAAAA,CAAO,oBAAA,CAAA;AAChD,IAAA,MAAMG,UAAUD,SAAYE,GAAAA,MAAAA,GAAYN,QAAUK,EAAAA,OAAAA,IAAWH,OAAO,kBAAA,CAAA;AACpE,IAAA,MAAMK,OAAUP,GAAAA,QAAAA,EAAUO,OAAWL,IAAAA,MAAAA,CAAO,iBAAA,CAAsB,IAAA,YAAA;AAElE,IAAM,KAAA,CAAA;MACJ,GAAGF,QAAAA;AACHG,MAAAA,OAAAA;AACAC,MAAAA,SAAAA;AACAC,MAAAA,OAAAA;AACAE,MAAAA;KACF,CAAA;AACF;AACA,EAAA,IAAIF,OAAU,GAAA;AACZ,IAAA,OAAO,KAAKL,QAASK,CAAAA,OAAAA;AACvB;AAEA,EAAA,IAAID,SAAY,GAAA;AACd,IAAA,OAAO,KAAKJ,QAASI,CAAAA,SAAAA;AACvB;EAEUI,MAAS,GAAA;AACjB,IAAA,OAAOC,UAAUC,WAAY,CAAA;AAC3BH,MAAAA,OAAAA,EAAS,KAAKP,QAASO,CAAAA,OAAAA;AACvBI,MAAAA,UAAAA,EAAY,KAAKX,QAASG,CAAAA,OAAAA;AAC1BS,MAAAA,aAAAA,EACE,IAAKZ,CAAAA,QAAAA,EAAUY,aACf,IAAA,IAAIC,gBAAiB,CAAA;AACnBC,QAAAA,MAAAA,EAAQ,IAAKd,CAAAA,QAAAA,EAAUe,MAAUb,IAAAA,MAAAA,CAAO,mBAAmB,EAAA,CAAA;QAC3Dc,GAAK,EAAA;OACP;KACJ,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonXAI } from \"@ibm-cloud/watsonx-ai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { IamAuthenticator, UserOptions } from \"ibm-cloud-sdk-core\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport interface WatsonxClientSettings extends Pick<UserOptions, \"authenticator\" | \"version\"> {\n spaceId?: string;\n baseUrl?: string;\n region?: string;\n projectId?: string;\n apiKey?: string;\n}\n\nexport class WatsonxClient extends BackendClient<WatsonxClientSettings, WatsonXAI> {\n constructor(settings: WatsonxClientSettings) {\n const region = settings?.region || getEnv(\"WATSONX_REGION\");\n const baseUrl =\n settings?.baseUrl || getEnv(\"WATSONX_BASE_URL\") || `https://${region}.ml.cloud.ibm.com`;\n\n const projectId = settings?.projectId || getEnv(\"WATSONX_PROJECT_ID\");\n const spaceId = projectId ? undefined : settings?.spaceId || getEnv(\"WATSONX_SPACE_ID\");\n const version = settings?.version || getEnv(\"WATSONX_VERSION\") || \"2024-05-31\";\n\n super({\n ...settings,\n baseUrl,\n projectId,\n spaceId,\n version,\n });\n }\n get spaceId() {\n return this.settings.spaceId;\n }\n\n get projectId() {\n return this.settings.projectId;\n }\n\n protected create() {\n return WatsonXAI.newInstance({\n version: this.settings.version,\n serviceUrl: this.settings.baseUrl,\n authenticator:\n this.settings?.authenticator ||\n new IamAuthenticator({\n apikey: this.settings?.apiKey || getEnv(\"WATSONX_API_KEY\", \"\"),\n url: \"https://iam.cloud.ibm.com\",\n }),\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["embedding.ts"],"names":["WatsonxEmbeddingModel","EmbeddingModel","client","emitter","providerId","constructor","modelId","getEnv","parameters","WatsonxClient","ensure","Emitter","root","child","namespace","creator","_create","input","response","instance","embedText","spaceId","projectId","inputs","values","return_options","input_text","embeddings","result","results","map","e","embedding","i","at","usage","tokens","input_token_count","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;;AA6BO,MAAMA,8BAA8BC,4BAAAA,CAAAA;EA7B3C;;;;;AA8BqBC,EAAAA,MAAAA;AACHC,EAAAA,OAAAA;AAEhB,EAAA,IAAIC,UAAa,GAAA;AACf,IAAO,OAAA,SAAA;AACT;EAEAC,WACkBC,CAAAA,OAAAA,GAAkBC,eAChC,yBACA,EAAA,yCAAA,GAEcC,UAA8C,GAAA,IAC9DN,MACA,EAAA;AACA,IAAA,KAAA,EAAK,EAAA,IAAA,CAPWI,OAAAA,GAAAA,OAAAA,EAAAA,KAIAE,UAAAA,GAAAA,UAAAA;AAIhB,IAAKN,IAAAA,CAAAA,MAAAA,GAASO,wBAAcC,CAAAA,MAAAA,CAAOR,MAAAA,CAAAA;AACnC,IAAKC,IAAAA,CAAAA,OAAAA,GAAUQ,mBAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;;MAClCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,MAAgBC,QAAQC,KAA2D,EAAA;AACjF,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKhB,CAAAA,MAAAA,CAAOiB,SAASC,SAAU,CAAA;AACpDd,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACde,MAAAA,OAAAA,EAAS,KAAKnB,MAAOmB,CAAAA,OAAAA;AACrBC,MAAAA,SAAAA,EAAW,KAAKpB,MAAOoB,CAAAA,SAAAA;AACvBC,MAAAA,MAAAA,EAAQN,KAAMO,CAAAA,MAAAA;MACdhB,UAAY,EAAA;QACViB,cAAgB,EAAA;UAAEC,UAAY,EAAA;AAAK,SAAA;AACnC,QAAA,GAAG,IAAKlB,CAAAA;AACV;KACF,CAAA;AAEA,IAAMmB,MAAAA,UAAAA,GAAaT,SAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,KAAMA,EAAEC,SAAS,CAAA;AACjE,IAAA,MAAMR,MAASN,GAAAA,QAAAA,CAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,EAAGE,CAAMF,KAAAA,CAAAA,CAAEd,KAASA,IAAAA,KAAAA,CAAMO,MAAOU,CAAAA,EAAAA,CAAGD,CAAAA,CAAAA,CAAAA;AAEhF,IAAO,OAAA;AACLN,MAAAA,UAAAA;AACAH,MAAAA,MAAAA;MACAW,KAAO,EAAA;AACLC,QAAAA,MAAAA,EAAQlB,SAASU,MAAOS,CAAAA;AAC1B;AACF,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACThC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AACf,KAAA;AACF;AAEAqC,EAAAA,YAAAA,CAAaC,QAAwD,EAAA;AACnEC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { EmbeddingParameters as WXEmbeddingParameters } from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\nexport type WatsonxEmbeddingModelParameters = WXEmbeddingParameters;\n\nexport class WatsonxEmbeddingModel extends EmbeddingModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId: string = getEnv(\n \"WATSONX_EMBEDDING_MODEL\",\n \"ibm/granite-embedding-107m-multilingual\",\n ),\n public readonly parameters: WatsonxEmbeddingModelParameters = {},\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"embedding\"],\n creator: this,\n });\n }\n\n protected async _create(input: EmbeddingModelInput): Promise<EmbeddingModelOutput> {\n const response = await this.client.instance.embedText({\n modelId: this.modelId,\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n inputs: input.values,\n parameters: {\n return_options: { input_text: true },\n ...this.parameters,\n },\n });\n\n const embeddings = response.result.results.map((e) => e.embedding);\n const values = response.result.results.map((e, i) => e.input || input.values.at(i)!);\n\n return {\n embeddings,\n values,\n usage: {\n tokens: response.result.input_token_count,\n },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["embedding.ts"],"names":["WatsonxEmbeddingModel","EmbeddingModel","client","emitter","providerId","constructor","modelId","getEnv","parameters","WatsonxClient","ensure","Emitter","root","child","namespace","creator","_create","input","response","instance","embedText","spaceId","projectId","inputs","values","return_options","input_text","embeddings","result","results","map","e","embedding","i","at","usage","tokens","input_token_count","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;;AA6BO,MAAMA,8BAA8BC,4BAAAA,CAAAA;EA7B3C;;;;;AA8BqBC,EAAAA,MAAAA;AACHC,EAAAA,OAAAA;AAEhB,EAAA,IAAIC,UAAa,GAAA;AACf,IAAO,OAAA,SAAA;AACT;EAEAC,WACkBC,CAAAA,OAAAA,GAAkBC,eAChC,yBACA,EAAA,yCAAA,GAEcC,UAA8C,GAAA,IAC9DN,MACA,EAAA;AACA,IAAA,KAAA,EAAK,EAAA,IAAA,CAPWI,OAAAA,GAAAA,OAAAA,EAAAA,KAIAE,UAAAA,GAAAA,UAAAA;AAIhB,IAAKN,IAAAA,CAAAA,MAAAA,GAASO,wBAAcC,CAAAA,MAAAA,CAAOR,MAAAA,CAAAA;AACnC,IAAKC,IAAAA,CAAAA,OAAAA,GAAUQ,mBAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;;MAClCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,MAAgBC,QAAQC,KAA2D,EAAA;AACjF,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKhB,CAAAA,MAAAA,CAAOiB,SAASC,SAAU,CAAA;AACpDd,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACde,MAAAA,OAAAA,EAAS,KAAKnB,MAAOmB,CAAAA,OAAAA;AACrBC,MAAAA,SAAAA,EAAW,KAAKpB,MAAOoB,CAAAA,SAAAA;AACvBC,MAAAA,MAAAA,EAAQN,KAAMO,CAAAA,MAAAA;MACdhB,UAAY,EAAA;QACViB,cAAgB,EAAA;UAAEC,UAAY,EAAA;AAAK,SAAA;AACnC,QAAA,GAAG,IAAKlB,CAAAA;AACV;KACF,CAAA;AAEA,IAAMmB,MAAAA,UAAAA,GAAaT,SAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,KAAMA,EAAEC,SAAS,CAAA;AACjE,IAAA,MAAMR,MAASN,GAAAA,QAAAA,CAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,EAAGE,CAAMF,KAAAA,CAAAA,CAAEd,KAASA,IAAAA,KAAAA,CAAMO,MAAOU,CAAAA,EAAAA,CAAGD,CAAAA,CAAAA,CAAAA;AAEhF,IAAO,OAAA;AACLN,MAAAA,UAAAA;AACAH,MAAAA,MAAAA;MACAW,KAAO,EAAA;AACLC,QAAAA,MAAAA,EAAQlB,SAASU,MAAOS,CAAAA;AAC1B;AACF,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACThC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AACf,KAAA;AACF;AAEAqC,EAAAA,YAAAA,CAAaC,QAAwD,EAAA;AACnEC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { EmbeddingParameters as WXEmbeddingParameters } from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\nexport type WatsonxEmbeddingModelParameters = WXEmbeddingParameters;\n\nexport class WatsonxEmbeddingModel extends EmbeddingModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId: string = getEnv(\n \"WATSONX_EMBEDDING_MODEL\",\n \"ibm/granite-embedding-107m-multilingual\",\n ),\n public readonly parameters: WatsonxEmbeddingModelParameters = {},\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"embedding\"],\n creator: this,\n });\n }\n\n protected async _create(input: EmbeddingModelInput): Promise<EmbeddingModelOutput> {\n const response = await this.client.instance.embedText({\n modelId: this.modelId,\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n inputs: input.values,\n parameters: {\n return_options: { input_text: true },\n ...this.parameters,\n },\n });\n\n const embeddings = response.result.results.map((e) => e.embedding);\n const values = response.result.results.map((e, i) => e.input || input.values.at(i)!);\n\n return {\n embeddings,\n values,\n usage: {\n tokens: response.result.input_token_count,\n },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { WatsonxClient, WatsonxClientSettings } from './client.cjs';
2
2
  import { EmbeddingModel, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.cjs';
3
3
  import { EmbeddingParameters } from '@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js';
4
- import { E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
4
+ import { E as Emitter } from '../../../emitter-BTr99H7I.cjs';
5
5
  import '@ibm-cloud/watsonx-ai';
6
6
  import 'ibm-cloud-sdk-core';
7
7
  import '../../../backend/client.cjs';
@@ -11,11 +11,23 @@ import '../../../internals/helpers/guards.cjs';
11
11
  import '../../../context.cjs';
12
12
  import '../../../internals/helpers/promise.cjs';
13
13
  import '../../../errors.cjs';
14
- import '../../../backend/utils.cjs';
14
+ import '../../../chat-BvyMdWFo.cjs';
15
+ import '../../../backend/message.cjs';
16
+ import 'ai';
17
+ import 'promise-based-task';
18
+ import '../../../cache/base.cjs';
15
19
  import '../../../backend/constants.cjs';
20
+ import '../../../tools/base.cjs';
21
+ import 'ajv';
22
+ import '../../../internals/helpers/schema.cjs';
23
+ import 'zod';
24
+ import 'zod-to-json-schema';
25
+ import '../../../template.cjs';
26
+ import '../../../logger/logger.cjs';
27
+ import 'pino';
16
28
 
17
29
  /**
18
- * Copyright 2025 IBM Corp.
30
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
19
31
  *
20
32
  * Licensed under the Apache License, Version 2.0 (the "License");
21
33
  * you may not use this file except in compliance with the License.
@@ -1,7 +1,7 @@
1
1
  import { WatsonxClient, WatsonxClientSettings } from './client.js';
2
2
  import { EmbeddingModel, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.js';
3
3
  import { EmbeddingParameters } from '@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js';
4
- import { E as Emitter } from '../../../emitter-l0W9gC1A.js';
4
+ import { E as Emitter } from '../../../emitter-DiGmS_5O.js';
5
5
  import '@ibm-cloud/watsonx-ai';
6
6
  import 'ibm-cloud-sdk-core';
7
7
  import '../../../backend/client.js';
@@ -11,11 +11,23 @@ import '../../../internals/helpers/guards.js';
11
11
  import '../../../context.js';
12
12
  import '../../../internals/helpers/promise.js';
13
13
  import '../../../errors.js';
14
- import '../../../backend/utils.js';
14
+ import '../../../chat-diSK3Sui.js';
15
+ import '../../../backend/message.js';
16
+ import 'ai';
17
+ import 'promise-based-task';
18
+ import '../../../cache/base.js';
15
19
  import '../../../backend/constants.js';
20
+ import '../../../tools/base.js';
21
+ import 'ajv';
22
+ import '../../../internals/helpers/schema.js';
23
+ import 'zod';
24
+ import 'zod-to-json-schema';
25
+ import '../../../template.js';
26
+ import '../../../logger/logger.js';
27
+ import 'pino';
16
28
 
17
29
  /**
18
- * Copyright 2025 IBM Corp.
30
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
19
31
  *
20
32
  * Licensed under the Apache License, Version 2.0 (the "License");
21
33
  * you may not use this file except in compliance with the License.
@@ -1 +1 @@
1
- {"version":3,"sources":["embedding.ts"],"names":["WatsonxEmbeddingModel","EmbeddingModel","client","emitter","providerId","constructor","modelId","getEnv","parameters","WatsonxClient","ensure","Emitter","root","child","namespace","creator","_create","input","response","instance","embedText","spaceId","projectId","inputs","values","return_options","input_text","embeddings","result","results","map","e","embedding","i","at","usage","tokens","input_token_count","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;AA6BO,MAAMA,8BAA8BC,cAAAA,CAAAA;EA7B3C;;;;;AA8BqBC,EAAAA,MAAAA;AACHC,EAAAA,OAAAA;AAEhB,EAAA,IAAIC,UAAa,GAAA;AACf,IAAO,OAAA,SAAA;AACT;EAEAC,WACkBC,CAAAA,OAAAA,GAAkBC,OAChC,yBACA,EAAA,yCAAA,GAEcC,UAA8C,GAAA,IAC9DN,MACA,EAAA;AACA,IAAA,KAAA,EAAK,EAAA,IAAA,CAPWI,OAAAA,GAAAA,OAAAA,EAAAA,KAIAE,UAAAA,GAAAA,UAAAA;AAIhB,IAAKN,IAAAA,CAAAA,MAAAA,GAASO,aAAcC,CAAAA,MAAAA,CAAOR,MAAAA,CAAAA;AACnC,IAAKC,IAAAA,CAAAA,OAAAA,GAAUQ,OAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;;MAClCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,MAAgBC,QAAQC,KAA2D,EAAA;AACjF,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKhB,CAAAA,MAAAA,CAAOiB,SAASC,SAAU,CAAA;AACpDd,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACde,MAAAA,OAAAA,EAAS,KAAKnB,MAAOmB,CAAAA,OAAAA;AACrBC,MAAAA,SAAAA,EAAW,KAAKpB,MAAOoB,CAAAA,SAAAA;AACvBC,MAAAA,MAAAA,EAAQN,KAAMO,CAAAA,MAAAA;MACdhB,UAAY,EAAA;QACViB,cAAgB,EAAA;UAAEC,UAAY,EAAA;AAAK,SAAA;AACnC,QAAA,GAAG,IAAKlB,CAAAA;AACV;KACF,CAAA;AAEA,IAAMmB,MAAAA,UAAAA,GAAaT,SAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,KAAMA,EAAEC,SAAS,CAAA;AACjE,IAAA,MAAMR,MAASN,GAAAA,QAAAA,CAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,EAAGE,CAAMF,KAAAA,CAAAA,CAAEd,KAASA,IAAAA,KAAAA,CAAMO,MAAOU,CAAAA,EAAAA,CAAGD,CAAAA,CAAAA,CAAAA;AAEhF,IAAO,OAAA;AACLN,MAAAA,UAAAA;AACAH,MAAAA,MAAAA;MACAW,KAAO,EAAA;AACLC,QAAAA,MAAAA,EAAQlB,SAASU,MAAOS,CAAAA;AAC1B;AACF,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACThC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AACf,KAAA;AACF;AAEAqC,EAAAA,YAAAA,CAAaC,QAAwD,EAAA;AACnEC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { EmbeddingParameters as WXEmbeddingParameters } from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\nexport type WatsonxEmbeddingModelParameters = WXEmbeddingParameters;\n\nexport class WatsonxEmbeddingModel extends EmbeddingModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId: string = getEnv(\n \"WATSONX_EMBEDDING_MODEL\",\n \"ibm/granite-embedding-107m-multilingual\",\n ),\n public readonly parameters: WatsonxEmbeddingModelParameters = {},\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"embedding\"],\n creator: this,\n });\n }\n\n protected async _create(input: EmbeddingModelInput): Promise<EmbeddingModelOutput> {\n const response = await this.client.instance.embedText({\n modelId: this.modelId,\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n inputs: input.values,\n parameters: {\n return_options: { input_text: true },\n ...this.parameters,\n },\n });\n\n const embeddings = response.result.results.map((e) => e.embedding);\n const values = response.result.results.map((e, i) => e.input || input.values.at(i)!);\n\n return {\n embeddings,\n values,\n usage: {\n tokens: response.result.input_token_count,\n },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["embedding.ts"],"names":["WatsonxEmbeddingModel","EmbeddingModel","client","emitter","providerId","constructor","modelId","getEnv","parameters","WatsonxClient","ensure","Emitter","root","child","namespace","creator","_create","input","response","instance","embedText","spaceId","projectId","inputs","values","return_options","input_text","embeddings","result","results","map","e","embedding","i","at","usage","tokens","input_token_count","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;AA6BO,MAAMA,8BAA8BC,cAAAA,CAAAA;EA7B3C;;;;;AA8BqBC,EAAAA,MAAAA;AACHC,EAAAA,OAAAA;AAEhB,EAAA,IAAIC,UAAa,GAAA;AACf,IAAO,OAAA,SAAA;AACT;EAEAC,WACkBC,CAAAA,OAAAA,GAAkBC,OAChC,yBACA,EAAA,yCAAA,GAEcC,UAA8C,GAAA,IAC9DN,MACA,EAAA;AACA,IAAA,KAAA,EAAK,EAAA,IAAA,CAPWI,OAAAA,GAAAA,OAAAA,EAAAA,KAIAE,UAAAA,GAAAA,UAAAA;AAIhB,IAAKN,IAAAA,CAAAA,MAAAA,GAASO,aAAcC,CAAAA,MAAAA,CAAOR,MAAAA,CAAAA;AACnC,IAAKC,IAAAA,CAAAA,OAAAA,GAAUQ,OAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;;MAClCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,MAAgBC,QAAQC,KAA2D,EAAA;AACjF,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKhB,CAAAA,MAAAA,CAAOiB,SAASC,SAAU,CAAA;AACpDd,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACde,MAAAA,OAAAA,EAAS,KAAKnB,MAAOmB,CAAAA,OAAAA;AACrBC,MAAAA,SAAAA,EAAW,KAAKpB,MAAOoB,CAAAA,SAAAA;AACvBC,MAAAA,MAAAA,EAAQN,KAAMO,CAAAA,MAAAA;MACdhB,UAAY,EAAA;QACViB,cAAgB,EAAA;UAAEC,UAAY,EAAA;AAAK,SAAA;AACnC,QAAA,GAAG,IAAKlB,CAAAA;AACV;KACF,CAAA;AAEA,IAAMmB,MAAAA,UAAAA,GAAaT,SAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,KAAMA,EAAEC,SAAS,CAAA;AACjE,IAAA,MAAMR,MAASN,GAAAA,QAAAA,CAASU,MAAOC,CAAAA,OAAAA,CAAQC,IAAI,CAACC,CAAAA,EAAGE,CAAMF,KAAAA,CAAAA,CAAEd,KAASA,IAAAA,KAAAA,CAAMO,MAAOU,CAAAA,EAAAA,CAAGD,CAAAA,CAAAA,CAAAA;AAEhF,IAAO,OAAA;AACLN,MAAAA,UAAAA;AACAH,MAAAA,MAAAA;MACAW,KAAO,EAAA;AACLC,QAAAA,MAAAA,EAAQlB,SAASU,MAAOS,CAAAA;AAC1B;AACF,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACThC,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AACf,KAAA;AACF;AAEAqC,EAAAA,YAAAA,CAAaC,QAAwD,EAAA;AACnEC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WatsonxClient, WatsonxClientSettings } from \"@/adapters/watsonx/backend/client.js\";\nimport {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { EmbeddingParameters as WXEmbeddingParameters } from \"@ibm-cloud/watsonx-ai/dist/watsonx-ai-ml/vml_v1.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\nexport type WatsonxEmbeddingModelParameters = WXEmbeddingParameters;\n\nexport class WatsonxEmbeddingModel extends EmbeddingModel {\n protected readonly client: WatsonxClient;\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n get providerId() {\n return \"watsonx\";\n }\n\n constructor(\n public readonly modelId: string = getEnv(\n \"WATSONX_EMBEDDING_MODEL\",\n \"ibm/granite-embedding-107m-multilingual\",\n ),\n public readonly parameters: WatsonxEmbeddingModelParameters = {},\n client?: WatsonxClient | WatsonxClientSettings,\n ) {\n super();\n this.client = WatsonxClient.ensure(client);\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"watsonx\", \"embedding\"],\n creator: this,\n });\n }\n\n protected async _create(input: EmbeddingModelInput): Promise<EmbeddingModelOutput> {\n const response = await this.client.instance.embedText({\n modelId: this.modelId,\n spaceId: this.client.spaceId,\n projectId: this.client.projectId,\n inputs: input.values,\n parameters: {\n return_options: { input_text: true },\n ...this.parameters,\n },\n });\n\n const embeddings = response.result.results.map((e) => e.embedding);\n const values = response.result.results.map((e, i) => e.input || input.values.at(i)!);\n\n return {\n embeddings,\n values,\n usage: {\n tokens: response.result.input_token_count,\n },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n modelId: this.modelId,\n client: this.client,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { GetRunContext, RunContext } from './context.cjs';
2
- import { b as AgentMeta, a as BaseAgent } from './base-Csr9guq2.cjs';
2
+ import { b as AgentMeta, a as BaseAgent } from './base-BPsHNV2O.cjs';
3
3
  import { AnyTool } from './tools/base.cjs';
4
4
  import { BaseMemory } from './memory/base.cjs';
5
- import { E as Emitter } from './emitter-BWtGHYn0.cjs';
5
+ import { E as Emitter } from './emitter-BTr99H7I.cjs';
6
6
  import { ReActAgentRunOptions, ReActAgentRunIteration, ReActAgentCallbacks, ReActAgentParserInput, ReActAgentMeta, ReActAgentRunInput, ReActAgentIterationToolResult, ReActAgentTemplates, ReActAgentExecutionConfig, ReActAgentRunOutput } from './agents/react/types.cjs';
7
7
  import { LinePrefixParser } from './parsers/linePrefix.cjs';
8
8
  import { Serializable } from './internals/serializable.cjs';
9
- import { ChatModel } from './backend/chat.cjs';
9
+ import { m as ChatModel } from './chat-BvyMdWFo.cjs';
10
10
  import { RetryCounter } from './internals/helpers/counter.cjs';
11
11
 
12
12
  interface ReActAgentRunnerLLMInput {
@@ -81,4 +81,4 @@ declare class ReActAgent extends BaseAgent<ReActAgentRunInput, ReActAgentRunOutp
81
81
  };
82
82
  }
83
83
 
84
- export { BaseRunner as B, type ReActAgentInput as R, ReActAgent as a, type ReActAgentRunnerLLMInput as b, type ReActAgentRunnerToolInput as c, type ReActAgentTemplateFactory as d };
84
+ export { BaseRunner as B, type ReActAgentRunnerLLMInput as R, type ReActAgentRunnerToolInput as a, type ReActAgentInput as b, ReActAgent as c, type ReActAgentTemplateFactory as d };
@@ -1,12 +1,12 @@
1
1
  import { GetRunContext, RunContext } from './context.js';
2
- import { b as AgentMeta, a as BaseAgent } from './base-DHhpWHQm.js';
2
+ import { b as AgentMeta, a as BaseAgent } from './base-ZnwDK6ZB.js';
3
3
  import { AnyTool } from './tools/base.js';
4
4
  import { BaseMemory } from './memory/base.js';
5
- import { E as Emitter } from './emitter-l0W9gC1A.js';
5
+ import { E as Emitter } from './emitter-DiGmS_5O.js';
6
6
  import { ReActAgentRunOptions, ReActAgentRunIteration, ReActAgentCallbacks, ReActAgentParserInput, ReActAgentMeta, ReActAgentRunInput, ReActAgentIterationToolResult, ReActAgentTemplates, ReActAgentExecutionConfig, ReActAgentRunOutput } from './agents/react/types.js';
7
7
  import { LinePrefixParser } from './parsers/linePrefix.js';
8
8
  import { Serializable } from './internals/serializable.js';
9
- import { ChatModel } from './backend/chat.js';
9
+ import { m as ChatModel } from './chat-diSK3Sui.js';
10
10
  import { RetryCounter } from './internals/helpers/counter.js';
11
11
 
12
12
  interface ReActAgentRunnerLLMInput {
@@ -81,4 +81,4 @@ declare class ReActAgent extends BaseAgent<ReActAgentRunInput, ReActAgentRunOutp
81
81
  };
82
82
  }
83
83
 
84
- export { BaseRunner as B, type ReActAgentInput as R, ReActAgent as a, type ReActAgentRunnerLLMInput as b, type ReActAgentRunnerToolInput as c, type ReActAgentTemplateFactory as d };
84
+ export { BaseRunner as B, type ReActAgentRunnerLLMInput as R, type ReActAgentRunnerToolInput as a, type ReActAgentInput as b, ReActAgent as c, type ReActAgentTemplateFactory as d };
@@ -1 +1 @@
1
- {"version":3,"sources":["base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","run","input","options","RunContext","enter","signal","params","context","_run","e","destroy","emitter","meta","name","constructor","description","tools","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;AAuBO,MAAMA,mBAAmBC,yBAAAA,CAAAA;EAvBhC;;;AAuBgD;AAMzC,MAAeC,kBAIZC,6BAAAA,CAAAA;EAjCV;;;EAkCYC,SAAY,GAAA,KAAA;EAIfC,GACF,CAAA,GAAA,CAACC,KAAOC,EAAAA,OAAAA,CAGX,EAAA;AACA,IAAA,IAAI,KAAKH,SAAW,EAAA;AAClB,MAAM,MAAA,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAOQ,OAAAA,sBAAAA,CAAWC,MAChB,IACA,EAAA;AAAEC,MAAAA,MAAAA,EAAQH,OAASG,EAAAA,MAAAA;MAAQC,MAAQ,EAAA;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAI,IAAA;AACF,QAAA,IAAA,CAAKR,SAAY,GAAA,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKS,IAAKP,CAAAA,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAG,EAAA;AACV,QAAA,IAAIA,aAAad,UAAY,EAAA;AAC3B,UAAMc,MAAAA,CAAAA;SACD,MAAA;AACL,UAAM,MAAA,IAAId,WAAW,CAAuC,mCAAA,CAAA,EAAA;AAACc,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKV,SAAY,GAAA,KAAA;AACnB;KACF,CAAA;AAEJ;EAQAW,OAAU,GAAA;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAO,EAAA;AACtB;AAKA,EAAA,IAAWE,IAAkB,GAAA;AAC3B,IAAO,OAAA;MACLC,IAAM,EAAA,IAAA,CAAKC,YAAYD,IAAQ,IAAA,WAAA;MAC/BE,WAAa,EAAA,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;MAAElB,SAAW,EAAA,KAAA;AAAOY,MAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAAQ,KAAA;AACnD;AAEAO,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.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\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 );\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 { isRunning: false, emitter: this.emitter };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","run","input","options","RunContext","enter","signal","params","context","_run","e","destroy","emitter","meta","name","constructor","description","tools","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;AAuBO,MAAMA,mBAAmBC,yBAAAA,CAAAA;EAvBhC;;;AAuBgD;AAMzC,MAAeC,kBAIZC,6BAAAA,CAAAA;EAjCV;;;EAkCYC,SAAY,GAAA,KAAA;EAIfC,GACF,CAAA,GAAA,CAACC,KAAOC,EAAAA,OAAAA,CAGX,EAAA;AACA,IAAA,IAAI,KAAKH,SAAW,EAAA;AAClB,MAAM,MAAA,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAOQ,OAAAA,sBAAAA,CAAWC,MAChB,IACA,EAAA;AAAEC,MAAAA,MAAAA,EAAQH,OAASG,EAAAA,MAAAA;MAAQC,MAAQ,EAAA;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAI,IAAA;AACF,QAAA,IAAA,CAAKR,SAAY,GAAA,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKS,IAAKP,CAAAA,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAG,EAAA;AACV,QAAA,IAAIA,aAAad,UAAY,EAAA;AAC3B,UAAMc,MAAAA,CAAAA;SACD,MAAA;AACL,UAAM,MAAA,IAAId,WAAW,CAAuC,mCAAA,CAAA,EAAA;AAACc,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKV,SAAY,GAAA,KAAA;AACnB;KACF,CAAA;AAEJ;EAQAW,OAAU,GAAA;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAO,EAAA;AACtB;AAKA,EAAA,IAAWE,IAAkB,GAAA;AAC3B,IAAO,OAAA;MACLC,IAAM,EAAA,IAAA,CAAKC,YAAYD,IAAQ,IAAA,WAAA;MAC/BE,WAAa,EAAA,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;MAAElB,SAAW,EAAA,KAAA;AAAOY,MAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAAQ,KAAA;AACnD;AAEAO,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.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\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 );\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 { isRunning: false, emitter: this.emitter };\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-Csr9guq2.cjs';
3
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-BPsHNV2O.cjs';
4
4
  import '../internals/serializable.cjs';
5
- import '../emitter-BWtGHYn0.cjs';
5
+ import '../emitter-BTr99H7I.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-DHhpWHQm.js';
3
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-ZnwDK6ZB.js';
4
4
  import '../internals/serializable.js';
5
- import '../emitter-l0W9gC1A.js';
5
+ import '../emitter-DiGmS_5O.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":["base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","run","input","options","RunContext","enter","signal","params","context","_run","e","destroy","emitter","meta","name","constructor","description","tools","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AAuBO,MAAMA,mBAAmBC,cAAAA,CAAAA;EAvBhC;;;AAuBgD;AAMzC,MAAeC,kBAIZC,YAAAA,CAAAA;EAjCV;;;EAkCYC,SAAY,GAAA,KAAA;EAIfC,GACF,CAAA,GAAA,CAACC,KAAOC,EAAAA,OAAAA,CAGX,EAAA;AACA,IAAA,IAAI,KAAKH,SAAW,EAAA;AAClB,MAAM,MAAA,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAOQ,OAAAA,UAAAA,CAAWC,MAChB,IACA,EAAA;AAAEC,MAAAA,MAAAA,EAAQH,OAASG,EAAAA,MAAAA;MAAQC,MAAQ,EAAA;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAI,IAAA;AACF,QAAA,IAAA,CAAKR,SAAY,GAAA,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKS,IAAKP,CAAAA,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAG,EAAA;AACV,QAAA,IAAIA,aAAad,UAAY,EAAA;AAC3B,UAAMc,MAAAA,CAAAA;SACD,MAAA;AACL,UAAM,MAAA,IAAId,WAAW,CAAuC,mCAAA,CAAA,EAAA;AAACc,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKV,SAAY,GAAA,KAAA;AACnB;KACF,CAAA;AAEJ;EAQAW,OAAU,GAAA;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAO,EAAA;AACtB;AAKA,EAAA,IAAWE,IAAkB,GAAA;AAC3B,IAAO,OAAA;MACLC,IAAM,EAAA,IAAA,CAAKC,YAAYD,IAAQ,IAAA,WAAA;MAC/BE,WAAa,EAAA,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;MAAElB,SAAW,EAAA,KAAA;AAAOY,MAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAAQ,KAAA;AACnD;AAEAO,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.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\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 );\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 { isRunning: false, emitter: this.emitter };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["base.ts"],"names":["AgentError","FrameworkError","BaseAgent","Serializable","isRunning","run","input","options","RunContext","enter","signal","params","context","_run","e","destroy","emitter","meta","name","constructor","description","tools","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AAuBO,MAAMA,mBAAmBC,cAAAA,CAAAA;EAvBhC;;;AAuBgD;AAMzC,MAAeC,kBAIZC,YAAAA,CAAAA;EAjCV;;;EAkCYC,SAAY,GAAA,KAAA;EAIfC,GACF,CAAA,GAAA,CAACC,KAAOC,EAAAA,OAAAA,CAGX,EAAA;AACA,IAAA,IAAI,KAAKH,SAAW,EAAA;AAClB,MAAM,MAAA,IAAIJ,WAAW,2BAAA,CAAA;AACvB;AAEA,IAAOQ,OAAAA,UAAAA,CAAWC,MAChB,IACA,EAAA;AAAEC,MAAAA,MAAAA,EAAQH,OAASG,EAAAA,MAAAA;MAAQC,MAAQ,EAAA;AAACL,QAAAA,KAAAA;AAAOC,QAAAA;;AAAkB,KAAA,EAC7D,OAAOK,OAAAA,KAAAA;AACL,MAAI,IAAA;AACF,QAAA,IAAA,CAAKR,SAAY,GAAA,IAAA;AAEjB,QAAA,OAAO,MAAM,IAAA,CAAKS,IAAKP,CAAAA,KAAAA,EAAOC,SAASK,OAAAA,CAAAA;AACzC,OAAA,CAAA,OAASE,CAAG,EAAA;AACV,QAAA,IAAIA,aAAad,UAAY,EAAA;AAC3B,UAAMc,MAAAA,CAAAA;SACD,MAAA;AACL,UAAM,MAAA,IAAId,WAAW,CAAuC,mCAAA,CAAA,EAAA;AAACc,YAAAA;AAAE,WAAA,CAAA;AACjE;OACF,SAAA;AACE,QAAA,IAAA,CAAKV,SAAY,GAAA,KAAA;AACnB;KACF,CAAA;AAEJ;EAQAW,OAAU,GAAA;AACR,IAAA,IAAA,CAAKC,QAAQD,OAAO,EAAA;AACtB;AAKA,EAAA,IAAWE,IAAkB,GAAA;AAC3B,IAAO,OAAA;MACLC,IAAM,EAAA,IAAA,CAAKC,YAAYD,IAAQ,IAAA,WAAA;MAC/BE,WAAa,EAAA,EAAA;AACbC,MAAAA,KAAAA,EAAO;AACT,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;MAAElB,SAAW,EAAA,KAAA;AAAOY,MAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAAQ,KAAA;AACnD;AAEAO,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { GetRunContext, RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { BaseMemory } from \"@/memory/base.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\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 );\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 { isRunning: false, emitter: this.emitter };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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 } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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 } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as zod from 'zod';
2
- import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
3
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
2
+ import { C as Callback, E as Emitter } from '../../../emitter-BTr99H7I.cjs';
3
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BPsHNV2O.cjs';
4
4
  import { GetRunContext } from '../../../context.cjs';
5
5
  import { Message } from '../../../backend/message.cjs';
6
6
  import { BaseMemory } from '../../../memory/base.cjs';
@@ -1,6 +1,6 @@
1
1
  import * as zod from 'zod';
2
- import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
3
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
2
+ import { C as Callback, E as Emitter } from '../../../emitter-DiGmS_5O.js';
3
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-ZnwDK6ZB.js';
4
4
  import { GetRunContext } from '../../../context.js';
5
5
  import { Message } from '../../../backend/message.js';
6
6
  import { BaseMemory } from '../../../memory/base.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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 } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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 } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_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 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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":["agent.ts"],"names":["RePlanAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_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 *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { 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"]}