beeai-framework 0.1.16 → 0.1.18

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 (663) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +296 -0
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -0
  3. package/dist/adapters/a2a/agents/agent.d.cts +55 -0
  4. package/dist/adapters/a2a/agents/agent.d.ts +55 -0
  5. package/dist/adapters/a2a/agents/agent.js +294 -0
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -0
  7. package/dist/adapters/a2a/agents/events.cjs +4 -0
  8. package/dist/adapters/a2a/agents/events.cjs.map +1 -0
  9. package/dist/adapters/a2a/agents/events.d.cts +23 -0
  10. package/dist/adapters/a2a/agents/events.d.ts +23 -0
  11. package/dist/adapters/a2a/agents/events.js +3 -0
  12. package/dist/adapters/a2a/agents/events.js.map +1 -0
  13. package/dist/adapters/a2a/agents/types.cjs +4 -0
  14. package/dist/adapters/a2a/agents/types.cjs.map +1 -0
  15. package/dist/adapters/a2a/agents/types.d.cts +45 -0
  16. package/dist/adapters/a2a/agents/types.d.ts +45 -0
  17. package/dist/adapters/a2a/agents/types.js +3 -0
  18. package/dist/adapters/a2a/agents/types.js.map +1 -0
  19. package/dist/adapters/a2a/agents/utils.cjs +41 -0
  20. package/dist/adapters/a2a/agents/utils.cjs.map +1 -0
  21. package/dist/adapters/a2a/agents/utils.d.cts +15 -0
  22. package/dist/adapters/a2a/agents/utils.d.ts +15 -0
  23. package/dist/adapters/a2a/agents/utils.js +39 -0
  24. package/dist/adapters/a2a/agents/utils.js.map +1 -0
  25. package/dist/adapters/a2a/serve/agent_executor.cjs +233 -0
  26. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -0
  27. package/dist/adapters/a2a/serve/agent_executor.d.cts +55 -0
  28. package/dist/adapters/a2a/serve/agent_executor.d.ts +55 -0
  29. package/dist/adapters/a2a/serve/agent_executor.js +229 -0
  30. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -0
  31. package/dist/adapters/a2a/serve/server.cjs +112 -0
  32. package/dist/adapters/a2a/serve/server.cjs.map +1 -0
  33. package/dist/adapters/a2a/serve/server.d.cts +56 -0
  34. package/dist/adapters/a2a/serve/server.d.ts +56 -0
  35. package/dist/adapters/a2a/serve/server.js +105 -0
  36. package/dist/adapters/a2a/serve/server.js.map +1 -0
  37. package/dist/adapters/acp/agents/agent.cjs.map +1 -1
  38. package/dist/adapters/acp/agents/agent.d.cts +3 -14
  39. package/dist/adapters/acp/agents/agent.d.ts +3 -14
  40. package/dist/adapters/acp/agents/agent.js.map +1 -1
  41. package/dist/adapters/acp/agents/events.d.cts +2 -13
  42. package/dist/adapters/acp/agents/events.d.ts +2 -13
  43. package/dist/adapters/acp/agents/types.d.cts +1 -12
  44. package/dist/adapters/acp/agents/types.d.ts +1 -12
  45. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  46. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +3 -14
  47. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +3 -14
  48. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  50. package/dist/adapters/amazon-bedrock/backend/client.d.cts +1 -12
  51. package/dist/adapters/amazon-bedrock/backend/client.d.ts +1 -12
  52. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  53. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  54. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +3 -14
  55. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +3 -14
  56. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  57. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  58. package/dist/adapters/anthropic/backend/chat.d.cts +3 -14
  59. package/dist/adapters/anthropic/backend/chat.d.ts +3 -14
  60. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  61. package/dist/adapters/anthropic/backend/client.cjs +1 -4
  62. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  63. package/dist/adapters/anthropic/backend/client.d.cts +1 -12
  64. package/dist/adapters/anthropic/backend/client.d.ts +1 -12
  65. package/dist/adapters/anthropic/backend/client.js +3 -6
  66. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  67. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  68. package/dist/adapters/anthropic/backend/embedding.d.cts +3 -14
  69. package/dist/adapters/anthropic/backend/embedding.d.ts +3 -14
  70. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  71. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  72. package/dist/adapters/azure-openai/backend/chat.d.cts +3 -14
  73. package/dist/adapters/azure-openai/backend/chat.d.ts +3 -14
  74. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  75. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  76. package/dist/adapters/azure-openai/backend/client.d.cts +1 -12
  77. package/dist/adapters/azure-openai/backend/client.d.ts +1 -12
  78. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  79. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  80. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -14
  81. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -14
  82. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  83. package/dist/adapters/beeai_platform/agents/agent.cjs.map +1 -1
  84. package/dist/adapters/beeai_platform/agents/agent.d.cts +2 -2
  85. package/dist/adapters/beeai_platform/agents/agent.d.ts +2 -2
  86. package/dist/adapters/beeai_platform/agents/agent.js.map +1 -1
  87. package/dist/adapters/beeai_platform/agents/events.d.cts +2 -13
  88. package/dist/adapters/beeai_platform/agents/events.d.ts +2 -13
  89. package/dist/adapters/beeai_platform/agents/types.d.cts +1 -12
  90. package/dist/adapters/beeai_platform/agents/types.d.ts +1 -12
  91. package/dist/adapters/dummy/backend/chat.cjs +9 -9
  92. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  93. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  94. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  95. package/dist/adapters/dummy/backend/chat.js +9 -9
  96. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  97. package/dist/adapters/dummy/backend/embedding.cjs +9 -9
  98. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  99. package/dist/adapters/dummy/backend/embedding.d.cts +3 -14
  100. package/dist/adapters/dummy/backend/embedding.d.ts +3 -14
  101. package/dist/adapters/dummy/backend/embedding.js +9 -9
  102. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  103. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  104. package/dist/adapters/google-vertex/backend/chat.d.cts +3 -14
  105. package/dist/adapters/google-vertex/backend/chat.d.ts +3 -14
  106. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  107. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  108. package/dist/adapters/google-vertex/backend/client.d.cts +1 -12
  109. package/dist/adapters/google-vertex/backend/client.d.ts +1 -12
  110. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  111. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  112. package/dist/adapters/google-vertex/backend/embedding.d.cts +3 -14
  113. package/dist/adapters/google-vertex/backend/embedding.d.ts +3 -14
  114. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  115. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  116. package/dist/adapters/groq/backend/chat.d.cts +3 -14
  117. package/dist/adapters/groq/backend/chat.d.ts +3 -14
  118. package/dist/adapters/groq/backend/chat.js.map +1 -1
  119. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  120. package/dist/adapters/groq/backend/client.d.cts +1 -12
  121. package/dist/adapters/groq/backend/client.d.ts +1 -12
  122. package/dist/adapters/groq/backend/client.js.map +1 -1
  123. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  124. package/dist/adapters/groq/backend/embedding.d.cts +3 -14
  125. package/dist/adapters/groq/backend/embedding.d.ts +3 -14
  126. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  127. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  128. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  129. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  130. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  131. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  132. package/dist/adapters/langchain/backend/embedding.d.cts +3 -14
  133. package/dist/adapters/langchain/backend/embedding.d.ts +3 -14
  134. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  135. package/dist/adapters/langchain/tools.cjs.map +1 -1
  136. package/dist/adapters/langchain/tools.d.cts +1 -1
  137. package/dist/adapters/langchain/tools.d.ts +1 -1
  138. package/dist/adapters/langchain/tools.js.map +1 -1
  139. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
  140. package/dist/adapters/mcp/serve/http_server.d.cts +1 -12
  141. package/dist/adapters/mcp/serve/http_server.d.ts +1 -12
  142. package/dist/adapters/mcp/serve/http_server.js.map +1 -1
  143. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
  144. package/dist/adapters/mcp/serve/in_memory_store.d.cts +1 -12
  145. package/dist/adapters/mcp/serve/in_memory_store.d.ts +1 -12
  146. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
  147. package/dist/adapters/mcp/serve/server.cjs.map +1 -1
  148. package/dist/adapters/mcp/serve/server.d.cts +3 -14
  149. package/dist/adapters/mcp/serve/server.d.ts +3 -14
  150. package/dist/adapters/mcp/serve/server.js.map +1 -1
  151. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  152. package/dist/adapters/ollama/backend/chat.d.cts +3 -14
  153. package/dist/adapters/ollama/backend/chat.d.ts +3 -14
  154. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  155. package/dist/adapters/ollama/backend/client.cjs +12 -3
  156. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  157. package/dist/adapters/ollama/backend/client.d.cts +4 -13
  158. package/dist/adapters/ollama/backend/client.d.ts +4 -13
  159. package/dist/adapters/ollama/backend/client.js +13 -4
  160. package/dist/adapters/ollama/backend/client.js.map +1 -1
  161. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  162. package/dist/adapters/ollama/backend/embedding.d.cts +3 -14
  163. package/dist/adapters/ollama/backend/embedding.d.ts +3 -14
  164. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  165. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  166. package/dist/adapters/openai/backend/chat.d.cts +3 -14
  167. package/dist/adapters/openai/backend/chat.d.ts +3 -14
  168. package/dist/adapters/openai/backend/chat.js.map +1 -1
  169. package/dist/adapters/openai/backend/client.cjs +1 -4
  170. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  171. package/dist/adapters/openai/backend/client.d.cts +1 -12
  172. package/dist/adapters/openai/backend/client.d.ts +1 -12
  173. package/dist/adapters/openai/backend/client.js +3 -6
  174. package/dist/adapters/openai/backend/client.js.map +1 -1
  175. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  176. package/dist/adapters/openai/backend/embedding.d.cts +3 -14
  177. package/dist/adapters/openai/backend/embedding.d.ts +3 -14
  178. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  179. package/dist/adapters/vercel/backend/chat.cjs +2 -2
  180. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  181. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  182. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  183. package/dist/adapters/vercel/backend/chat.js +2 -2
  184. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  185. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  186. package/dist/adapters/vercel/backend/embedding.d.cts +3 -14
  187. package/dist/adapters/vercel/backend/embedding.d.ts +3 -14
  188. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  189. package/dist/adapters/vercel/backend/utils.cjs +11 -2
  190. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  191. package/dist/adapters/vercel/backend/utils.d.cts +3 -13
  192. package/dist/adapters/vercel/backend/utils.d.ts +3 -13
  193. package/dist/adapters/vercel/backend/utils.js +11 -3
  194. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  195. package/dist/adapters/watsonx/backend/chat.cjs +13 -13
  196. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  197. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  198. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  199. package/dist/adapters/watsonx/backend/chat.js +13 -13
  200. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  201. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  202. package/dist/adapters/watsonx/backend/client.d.cts +1 -12
  203. package/dist/adapters/watsonx/backend/client.d.ts +1 -12
  204. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  205. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  206. package/dist/adapters/watsonx/backend/embedding.d.cts +3 -14
  207. package/dist/adapters/watsonx/backend/embedding.d.ts +3 -14
  208. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  209. package/dist/adapters/xai/backend/chat.cjs +24 -0
  210. package/dist/adapters/xai/backend/chat.cjs.map +1 -0
  211. package/dist/adapters/xai/backend/chat.d.cts +39 -0
  212. package/dist/adapters/xai/backend/chat.d.ts +39 -0
  213. package/dist/adapters/xai/backend/chat.js +22 -0
  214. package/dist/adapters/xai/backend/chat.js.map +1 -0
  215. package/dist/adapters/xai/backend/client.cjs +26 -0
  216. package/dist/adapters/xai/backend/client.cjs.map +1 -0
  217. package/dist/adapters/xai/backend/client.d.cts +17 -0
  218. package/dist/adapters/xai/backend/client.d.ts +17 -0
  219. package/dist/adapters/xai/backend/client.js +24 -0
  220. package/dist/adapters/xai/backend/client.js.map +1 -0
  221. package/dist/{agent-Ca5UE2P1.d.cts → agent-Bhm6xSfI.d.cts} +3 -3
  222. package/dist/{agent-CgsoqVL5.d.ts → agent-CmCmnEDX.d.ts} +3 -3
  223. package/dist/agents/base.cjs.map +1 -1
  224. package/dist/agents/base.d.cts +2 -2
  225. package/dist/agents/base.d.ts +2 -2
  226. package/dist/agents/base.js.map +1 -1
  227. package/dist/agents/experimental/replan/agent.cjs +8 -8
  228. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  229. package/dist/agents/experimental/replan/agent.d.cts +4 -15
  230. package/dist/agents/experimental/replan/agent.d.ts +4 -15
  231. package/dist/agents/experimental/replan/agent.js +8 -8
  232. package/dist/agents/experimental/replan/agent.js.map +1 -1
  233. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  234. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  235. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  236. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  237. package/dist/agents/experimental/streamlit/agent.cjs +9 -9
  238. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  239. package/dist/agents/experimental/streamlit/agent.d.cts +4 -15
  240. package/dist/agents/experimental/streamlit/agent.d.ts +4 -15
  241. package/dist/agents/experimental/streamlit/agent.js +9 -9
  242. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  243. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  244. package/dist/agents/experimental/streamlit/prompts.d.cts +1 -12
  245. package/dist/agents/experimental/streamlit/prompts.d.ts +1 -12
  246. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  247. package/dist/agents/react/agent.cjs +8 -8
  248. package/dist/agents/react/agent.cjs.map +1 -1
  249. package/dist/agents/react/agent.d.cts +4 -4
  250. package/dist/agents/react/agent.d.ts +4 -4
  251. package/dist/agents/react/agent.js +8 -8
  252. package/dist/agents/react/agent.js.map +1 -1
  253. package/dist/agents/react/prompts.cjs.map +1 -1
  254. package/dist/agents/react/prompts.d.cts +1 -12
  255. package/dist/agents/react/prompts.d.ts +1 -12
  256. package/dist/agents/react/prompts.js.map +1 -1
  257. package/dist/agents/react/runners/base.cjs +2 -2
  258. package/dist/agents/react/runners/base.cjs.map +1 -1
  259. package/dist/agents/react/runners/base.d.cts +4 -4
  260. package/dist/agents/react/runners/base.d.ts +4 -4
  261. package/dist/agents/react/runners/base.js +2 -2
  262. package/dist/agents/react/runners/base.js.map +1 -1
  263. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  264. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -12
  265. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -12
  266. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  267. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  268. package/dist/agents/react/runners/deep-think/runner.d.cts +4 -4
  269. package/dist/agents/react/runners/deep-think/runner.d.ts +4 -4
  270. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  271. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  272. package/dist/agents/react/runners/default/runner.d.cts +4 -4
  273. package/dist/agents/react/runners/default/runner.d.ts +4 -4
  274. package/dist/agents/react/runners/default/runner.js.map +1 -1
  275. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  276. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  277. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  278. package/dist/agents/react/runners/granite/prompts.d.cts +1 -12
  279. package/dist/agents/react/runners/granite/prompts.d.ts +1 -12
  280. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  281. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  282. package/dist/agents/react/runners/granite/runner.d.cts +4 -4
  283. package/dist/agents/react/runners/granite/runner.d.ts +4 -4
  284. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  285. package/dist/agents/react/types.d.cts +3 -14
  286. package/dist/agents/react/types.d.ts +3 -14
  287. package/dist/agents/toolCalling/agent.cjs +8 -8
  288. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  289. package/dist/agents/toolCalling/agent.d.cts +4 -15
  290. package/dist/agents/toolCalling/agent.d.ts +4 -15
  291. package/dist/agents/toolCalling/agent.js +8 -8
  292. package/dist/agents/toolCalling/agent.js.map +1 -1
  293. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  294. package/dist/agents/toolCalling/prompts.d.cts +1 -12
  295. package/dist/agents/toolCalling/prompts.d.ts +1 -12
  296. package/dist/agents/toolCalling/prompts.js.map +1 -1
  297. package/dist/agents/toolCalling/types.d.cts +2 -13
  298. package/dist/agents/toolCalling/types.d.ts +2 -13
  299. package/dist/agents/types.d.cts +2 -2
  300. package/dist/agents/types.d.ts +2 -2
  301. package/dist/backend/backend.cjs.map +1 -1
  302. package/dist/backend/backend.d.cts +3 -14
  303. package/dist/backend/backend.d.ts +3 -14
  304. package/dist/backend/backend.js.map +1 -1
  305. package/dist/backend/chat.cjs.map +1 -1
  306. package/dist/backend/chat.d.cts +2 -2
  307. package/dist/backend/chat.d.ts +2 -2
  308. package/dist/backend/chat.js.map +1 -1
  309. package/dist/backend/client.cjs.map +1 -1
  310. package/dist/backend/client.d.cts +1 -12
  311. package/dist/backend/client.d.ts +1 -12
  312. package/dist/backend/client.js.map +1 -1
  313. package/dist/backend/constants.cjs +8 -0
  314. package/dist/backend/constants.cjs.map +1 -1
  315. package/dist/backend/constants.d.cts +6 -12
  316. package/dist/backend/constants.d.ts +6 -12
  317. package/dist/backend/constants.js +8 -0
  318. package/dist/backend/constants.js.map +1 -1
  319. package/dist/backend/core.d.cts +2 -2
  320. package/dist/backend/core.d.ts +2 -2
  321. package/dist/backend/embedding.cjs.map +1 -1
  322. package/dist/backend/embedding.d.cts +2 -2
  323. package/dist/backend/embedding.d.ts +2 -2
  324. package/dist/backend/embedding.js.map +1 -1
  325. package/dist/backend/errors.cjs.map +1 -1
  326. package/dist/backend/errors.d.cts +1 -12
  327. package/dist/backend/errors.d.ts +1 -12
  328. package/dist/backend/errors.js.map +1 -1
  329. package/dist/backend/message.cjs.map +1 -1
  330. package/dist/backend/message.d.cts +2 -13
  331. package/dist/backend/message.d.ts +2 -13
  332. package/dist/backend/message.js.map +1 -1
  333. package/dist/backend/utils.cjs.map +1 -1
  334. package/dist/backend/utils.d.cts +2 -2
  335. package/dist/backend/utils.d.ts +2 -2
  336. package/dist/backend/utils.js.map +1 -1
  337. package/dist/{base-szR2Izbt.d.cts → base-BP7v-NSL.d.cts} +3 -14
  338. package/dist/{base-BOCDDBvG.d.ts → base-BsY2baWy.d.ts} +3 -14
  339. package/dist/cache/base.cjs.map +1 -1
  340. package/dist/cache/base.d.cts +1 -12
  341. package/dist/cache/base.d.ts +1 -12
  342. package/dist/cache/base.js.map +1 -1
  343. package/dist/cache/decoratorCache.cjs +2 -2
  344. package/dist/cache/decoratorCache.cjs.map +1 -1
  345. package/dist/cache/decoratorCache.d.cts +1 -12
  346. package/dist/cache/decoratorCache.d.ts +1 -12
  347. package/dist/cache/decoratorCache.js +2 -2
  348. package/dist/cache/decoratorCache.js.map +1 -1
  349. package/dist/cache/fileCache.cjs.map +1 -1
  350. package/dist/cache/fileCache.d.cts +1 -12
  351. package/dist/cache/fileCache.d.ts +1 -12
  352. package/dist/cache/fileCache.js.map +1 -1
  353. package/dist/cache/nullCache.cjs.map +1 -1
  354. package/dist/cache/nullCache.d.cts +1 -12
  355. package/dist/cache/nullCache.d.ts +1 -12
  356. package/dist/cache/nullCache.js.map +1 -1
  357. package/dist/cache/slidingCache.cjs.map +1 -1
  358. package/dist/cache/slidingCache.d.cts +1 -12
  359. package/dist/cache/slidingCache.d.ts +1 -12
  360. package/dist/cache/slidingCache.js.map +1 -1
  361. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  362. package/dist/cache/unconstrainedCache.d.cts +1 -12
  363. package/dist/cache/unconstrainedCache.d.ts +1 -12
  364. package/dist/cache/unconstrainedCache.js.map +1 -1
  365. package/dist/{chat-DvMzAHj6.d.cts → chat-CR4yfOR9.d.cts} +3 -14
  366. package/dist/{chat-BdN8hGWn.d.ts → chat-W9j8T6UU.d.ts} +3 -14
  367. package/dist/context.cjs +3 -4
  368. package/dist/context.cjs.map +1 -1
  369. package/dist/context.d.cts +2 -13
  370. package/dist/context.d.ts +2 -13
  371. package/dist/context.js +3 -4
  372. package/dist/context.js.map +1 -1
  373. package/dist/emitter/emitter.cjs.map +1 -1
  374. package/dist/emitter/emitter.d.cts +1 -1
  375. package/dist/emitter/emitter.d.ts +1 -1
  376. package/dist/emitter/emitter.js.map +1 -1
  377. package/dist/emitter/errors.cjs.map +1 -1
  378. package/dist/emitter/errors.d.cts +1 -12
  379. package/dist/emitter/errors.d.ts +1 -12
  380. package/dist/emitter/errors.js.map +1 -1
  381. package/dist/emitter/types.d.cts +1 -1
  382. package/dist/emitter/types.d.ts +1 -1
  383. package/dist/emitter/utils.cjs.map +1 -1
  384. package/dist/emitter/utils.d.cts +1 -12
  385. package/dist/emitter/utils.d.ts +1 -12
  386. package/dist/emitter/utils.js.map +1 -1
  387. package/dist/{emitter-C3dO-s2P.d.ts → emitter-C9nwGLt6.d.ts} +3 -25
  388. package/dist/{emitter-D5Mu0EEH.d.cts → emitter-DWEsd-ud.d.cts} +3 -25
  389. package/dist/errors.cjs.map +1 -1
  390. package/dist/errors.d.cts +1 -12
  391. package/dist/errors.d.ts +1 -12
  392. package/dist/errors.js.map +1 -1
  393. package/dist/index.d.cts +4 -4
  394. package/dist/index.d.ts +4 -4
  395. package/dist/internals/env.cjs.map +1 -1
  396. package/dist/internals/env.d.cts +1 -12
  397. package/dist/internals/env.d.ts +1 -12
  398. package/dist/internals/env.js.map +1 -1
  399. package/dist/internals/fetcher.cjs +8 -8
  400. package/dist/internals/fetcher.cjs.map +1 -1
  401. package/dist/internals/fetcher.d.cts +2 -13
  402. package/dist/internals/fetcher.d.ts +2 -13
  403. package/dist/internals/fetcher.js +8 -8
  404. package/dist/internals/fetcher.js.map +1 -1
  405. package/dist/internals/helpers/array.cjs.map +1 -1
  406. package/dist/internals/helpers/array.d.cts +1 -12
  407. package/dist/internals/helpers/array.d.ts +1 -12
  408. package/dist/internals/helpers/array.js.map +1 -1
  409. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  410. package/dist/internals/helpers/cancellation.d.cts +1 -12
  411. package/dist/internals/helpers/cancellation.d.ts +1 -12
  412. package/dist/internals/helpers/cancellation.js.map +1 -1
  413. package/dist/internals/helpers/counter.cjs.map +1 -1
  414. package/dist/internals/helpers/counter.d.cts +1 -12
  415. package/dist/internals/helpers/counter.d.ts +1 -12
  416. package/dist/internals/helpers/counter.js.map +1 -1
  417. package/dist/internals/helpers/general.cjs.map +1 -1
  418. package/dist/internals/helpers/general.d.cts +1 -12
  419. package/dist/internals/helpers/general.d.ts +1 -12
  420. package/dist/internals/helpers/general.js.map +1 -1
  421. package/dist/internals/helpers/guards.cjs.map +1 -1
  422. package/dist/internals/helpers/guards.d.cts +1 -12
  423. package/dist/internals/helpers/guards.d.ts +1 -12
  424. package/dist/internals/helpers/guards.js.map +1 -1
  425. package/dist/internals/helpers/hash.cjs.map +1 -1
  426. package/dist/internals/helpers/hash.d.cts +1 -12
  427. package/dist/internals/helpers/hash.d.ts +1 -12
  428. package/dist/internals/helpers/hash.js.map +1 -1
  429. package/dist/internals/helpers/map.cjs.map +1 -1
  430. package/dist/internals/helpers/map.d.cts +1 -12
  431. package/dist/internals/helpers/map.d.ts +1 -12
  432. package/dist/internals/helpers/map.js.map +1 -1
  433. package/dist/internals/helpers/math.cjs.map +1 -1
  434. package/dist/internals/helpers/math.d.cts +1 -12
  435. package/dist/internals/helpers/math.d.ts +1 -12
  436. package/dist/internals/helpers/math.js.map +1 -1
  437. package/dist/internals/helpers/number.cjs.map +1 -1
  438. package/dist/internals/helpers/number.d.cts +1 -12
  439. package/dist/internals/helpers/number.d.ts +1 -12
  440. package/dist/internals/helpers/number.js.map +1 -1
  441. package/dist/internals/helpers/object.cjs.map +1 -1
  442. package/dist/internals/helpers/object.d.cts +1 -12
  443. package/dist/internals/helpers/object.d.ts +1 -12
  444. package/dist/internals/helpers/object.js.map +1 -1
  445. package/dist/internals/helpers/paginate.cjs.map +1 -1
  446. package/dist/internals/helpers/paginate.d.cts +1 -12
  447. package/dist/internals/helpers/paginate.d.ts +1 -12
  448. package/dist/internals/helpers/paginate.js.map +1 -1
  449. package/dist/internals/helpers/promise.cjs +1 -3
  450. package/dist/internals/helpers/promise.cjs.map +1 -1
  451. package/dist/internals/helpers/promise.d.cts +1 -12
  452. package/dist/internals/helpers/promise.d.ts +1 -12
  453. package/dist/internals/helpers/promise.js +1 -3
  454. package/dist/internals/helpers/promise.js.map +1 -1
  455. package/dist/internals/helpers/prototype.cjs.map +1 -1
  456. package/dist/internals/helpers/prototype.d.cts +1 -12
  457. package/dist/internals/helpers/prototype.d.ts +1 -12
  458. package/dist/internals/helpers/prototype.js.map +1 -1
  459. package/dist/internals/helpers/retry.cjs.map +1 -1
  460. package/dist/internals/helpers/retry.d.cts +1 -12
  461. package/dist/internals/helpers/retry.d.ts +1 -12
  462. package/dist/internals/helpers/retry.js.map +1 -1
  463. package/dist/internals/helpers/retryable.cjs.map +1 -1
  464. package/dist/internals/helpers/retryable.d.cts +1 -12
  465. package/dist/internals/helpers/retryable.d.ts +1 -12
  466. package/dist/internals/helpers/retryable.js.map +1 -1
  467. package/dist/internals/helpers/schema.cjs.map +1 -1
  468. package/dist/internals/helpers/schema.d.cts +1 -12
  469. package/dist/internals/helpers/schema.d.ts +1 -12
  470. package/dist/internals/helpers/schema.js.map +1 -1
  471. package/dist/internals/helpers/stream.cjs.map +1 -1
  472. package/dist/internals/helpers/stream.d.cts +1 -12
  473. package/dist/internals/helpers/stream.d.ts +1 -12
  474. package/dist/internals/helpers/stream.js.map +1 -1
  475. package/dist/internals/helpers/string.cjs.map +1 -1
  476. package/dist/internals/helpers/string.d.cts +1 -12
  477. package/dist/internals/helpers/string.d.ts +1 -12
  478. package/dist/internals/helpers/string.js.map +1 -1
  479. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  480. package/dist/internals/helpers/weakRef.d.cts +1 -12
  481. package/dist/internals/helpers/weakRef.d.ts +1 -12
  482. package/dist/internals/helpers/weakRef.js.map +1 -1
  483. package/dist/internals/serializable.cjs.map +1 -1
  484. package/dist/internals/serializable.d.cts +1 -12
  485. package/dist/internals/serializable.d.ts +1 -12
  486. package/dist/internals/serializable.js.map +1 -1
  487. package/dist/internals/types.cjs.map +1 -1
  488. package/dist/internals/types.d.cts +1 -12
  489. package/dist/internals/types.d.ts +1 -12
  490. package/dist/internals/types.js.map +1 -1
  491. package/dist/logger/logger.cjs.map +1 -1
  492. package/dist/logger/logger.js.map +1 -1
  493. package/dist/logger/pretty.cjs.map +1 -1
  494. package/dist/logger/pretty.js.map +1 -1
  495. package/dist/memory/base.cjs.map +1 -1
  496. package/dist/memory/base.js.map +1 -1
  497. package/dist/memory/slidingMemory.cjs.map +1 -1
  498. package/dist/memory/slidingMemory.js.map +1 -1
  499. package/dist/memory/summarizeMemory.cjs.map +1 -1
  500. package/dist/memory/summarizeMemory.d.cts +2 -2
  501. package/dist/memory/summarizeMemory.d.ts +2 -2
  502. package/dist/memory/summarizeMemory.js.map +1 -1
  503. package/dist/memory/tokenMemory.cjs.map +1 -1
  504. package/dist/memory/tokenMemory.js.map +1 -1
  505. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  506. package/dist/memory/unconstrainedMemory.js.map +1 -1
  507. package/dist/parsers/errors.cjs.map +1 -1
  508. package/dist/parsers/errors.d.cts +1 -12
  509. package/dist/parsers/errors.d.ts +1 -12
  510. package/dist/parsers/errors.js.map +1 -1
  511. package/dist/parsers/field.cjs +2 -2
  512. package/dist/parsers/field.cjs.map +1 -1
  513. package/dist/parsers/field.js +2 -2
  514. package/dist/parsers/field.js.map +1 -1
  515. package/dist/parsers/linePrefix.cjs +15 -15
  516. package/dist/parsers/linePrefix.cjs.map +1 -1
  517. package/dist/parsers/linePrefix.d.cts +2 -13
  518. package/dist/parsers/linePrefix.d.ts +2 -13
  519. package/dist/parsers/linePrefix.js +15 -15
  520. package/dist/parsers/linePrefix.js.map +1 -1
  521. package/dist/serializer/error.cjs.map +1 -1
  522. package/dist/serializer/error.d.cts +1 -12
  523. package/dist/serializer/error.d.ts +1 -12
  524. package/dist/serializer/error.js.map +1 -1
  525. package/dist/serializer/serializer.cjs.map +1 -1
  526. package/dist/serializer/serializer.d.cts +1 -1
  527. package/dist/serializer/serializer.d.ts +1 -1
  528. package/dist/serializer/serializer.js.map +1 -1
  529. package/dist/serializer/utils.cjs +1 -2
  530. package/dist/serializer/utils.cjs.map +1 -1
  531. package/dist/serializer/utils.d.cts +1 -1
  532. package/dist/serializer/utils.d.ts +1 -1
  533. package/dist/serializer/utils.js +1 -2
  534. package/dist/serializer/utils.js.map +1 -1
  535. package/dist/{serializer-Dz4AIM2O.d.cts → serializer-BKn50Vnx.d.cts} +2 -24
  536. package/dist/{serializer-BswFRdT8.d.ts → serializer-CQxucveV.d.ts} +2 -24
  537. package/dist/serve/server.cjs +13 -7
  538. package/dist/serve/server.cjs.map +1 -1
  539. package/dist/serve/server.d.cts +5 -15
  540. package/dist/serve/server.d.ts +5 -15
  541. package/dist/serve/server.js +13 -7
  542. package/dist/serve/server.js.map +1 -1
  543. package/dist/template.cjs.map +1 -1
  544. package/dist/template.d.cts +1 -12
  545. package/dist/template.d.ts +1 -12
  546. package/dist/template.js.map +1 -1
  547. package/dist/tools/arxiv.cjs.map +1 -1
  548. package/dist/tools/arxiv.d.cts +2 -13
  549. package/dist/tools/arxiv.d.ts +2 -13
  550. package/dist/tools/arxiv.js.map +1 -1
  551. package/dist/tools/base.cjs.map +1 -1
  552. package/dist/tools/base.d.cts +1 -1
  553. package/dist/tools/base.d.ts +1 -1
  554. package/dist/tools/base.js.map +1 -1
  555. package/dist/tools/calculator.cjs.map +1 -1
  556. package/dist/tools/calculator.d.cts +2 -13
  557. package/dist/tools/calculator.d.ts +2 -13
  558. package/dist/tools/calculator.js.map +1 -1
  559. package/dist/tools/custom.cjs.map +1 -1
  560. package/dist/tools/custom.d.cts +3 -14
  561. package/dist/tools/custom.d.ts +3 -14
  562. package/dist/tools/custom.js.map +1 -1
  563. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  564. package/dist/tools/database/elasticsearch.d.cts +2 -13
  565. package/dist/tools/database/elasticsearch.d.ts +2 -13
  566. package/dist/tools/database/elasticsearch.js.map +1 -1
  567. package/dist/tools/database/metadata.cjs.map +1 -1
  568. package/dist/tools/database/metadata.d.cts +1 -12
  569. package/dist/tools/database/metadata.d.ts +1 -12
  570. package/dist/tools/database/metadata.js.map +1 -1
  571. package/dist/tools/database/milvus.cjs.map +1 -1
  572. package/dist/tools/database/milvus.d.cts +2 -13
  573. package/dist/tools/database/milvus.d.ts +2 -13
  574. package/dist/tools/database/milvus.js.map +1 -1
  575. package/dist/tools/database/qdrant.cjs.map +1 -1
  576. package/dist/tools/database/qdrant.d.cts +2 -13
  577. package/dist/tools/database/qdrant.d.ts +2 -13
  578. package/dist/tools/database/qdrant.js.map +1 -1
  579. package/dist/tools/database/sql.cjs.map +1 -1
  580. package/dist/tools/database/sql.d.cts +2 -13
  581. package/dist/tools/database/sql.d.ts +2 -13
  582. package/dist/tools/database/sql.js.map +1 -1
  583. package/dist/tools/llm.cjs +3 -3
  584. package/dist/tools/llm.cjs.map +1 -1
  585. package/dist/tools/llm.d.cts +3 -14
  586. package/dist/tools/llm.d.ts +3 -14
  587. package/dist/tools/llm.js +3 -3
  588. package/dist/tools/llm.js.map +1 -1
  589. package/dist/tools/mcp.cjs +2 -1
  590. package/dist/tools/mcp.cjs.map +1 -1
  591. package/dist/tools/mcp.d.cts +2 -13
  592. package/dist/tools/mcp.d.ts +2 -13
  593. package/dist/tools/mcp.js +2 -1
  594. package/dist/tools/mcp.js.map +1 -1
  595. package/dist/tools/openapi.cjs.map +1 -1
  596. package/dist/tools/openapi.d.cts +1 -1
  597. package/dist/tools/openapi.d.ts +1 -1
  598. package/dist/tools/openapi.js.map +1 -1
  599. package/dist/tools/python/output.cjs.map +1 -1
  600. package/dist/tools/python/output.d.cts +2 -13
  601. package/dist/tools/python/output.d.ts +2 -13
  602. package/dist/tools/python/output.js.map +1 -1
  603. package/dist/tools/python/python.cjs.map +1 -1
  604. package/dist/tools/python/python.d.cts +2 -2
  605. package/dist/tools/python/python.d.ts +2 -2
  606. package/dist/tools/python/python.js.map +1 -1
  607. package/dist/tools/python/storage.cjs.map +1 -1
  608. package/dist/tools/python/storage.d.cts +1 -12
  609. package/dist/tools/python/storage.d.ts +1 -12
  610. package/dist/tools/python/storage.js.map +1 -1
  611. package/dist/tools/search/base.cjs.map +1 -1
  612. package/dist/tools/search/base.d.cts +2 -13
  613. package/dist/tools/search/base.d.ts +2 -13
  614. package/dist/tools/search/base.js.map +1 -1
  615. package/dist/tools/search/duckDuckGoSearch.cjs +7 -1
  616. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  617. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -13
  618. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -13
  619. package/dist/tools/search/duckDuckGoSearch.js +7 -1
  620. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  621. package/dist/tools/search/googleSearch.cjs.map +1 -1
  622. package/dist/tools/search/googleSearch.d.cts +1 -1
  623. package/dist/tools/search/googleSearch.d.ts +1 -1
  624. package/dist/tools/search/googleSearch.js.map +1 -1
  625. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  626. package/dist/tools/search/searXNGSearch.d.cts +2 -13
  627. package/dist/tools/search/searXNGSearch.d.ts +2 -13
  628. package/dist/tools/search/searXNGSearch.js.map +1 -1
  629. package/dist/tools/search/wikipedia.cjs +11 -11
  630. package/dist/tools/search/wikipedia.cjs.map +1 -1
  631. package/dist/tools/search/wikipedia.d.cts +1 -1
  632. package/dist/tools/search/wikipedia.d.ts +1 -1
  633. package/dist/tools/search/wikipedia.js +11 -11
  634. package/dist/tools/search/wikipedia.js.map +1 -1
  635. package/dist/tools/similarity.cjs.map +1 -1
  636. package/dist/tools/similarity.d.cts +2 -13
  637. package/dist/tools/similarity.d.ts +2 -13
  638. package/dist/tools/similarity.js.map +1 -1
  639. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  640. package/dist/tools/weather/openMeteo.d.cts +2 -13
  641. package/dist/tools/weather/openMeteo.d.ts +2 -13
  642. package/dist/tools/weather/openMeteo.js.map +1 -1
  643. package/dist/tools/web/webCrawler.cjs.map +1 -1
  644. package/dist/tools/web/webCrawler.d.cts +1 -1
  645. package/dist/tools/web/webCrawler.d.ts +1 -1
  646. package/dist/tools/web/webCrawler.js.map +1 -1
  647. package/dist/version.cjs +1 -1
  648. package/dist/version.cjs.map +1 -1
  649. package/dist/version.d.cts +1 -12
  650. package/dist/version.d.ts +1 -12
  651. package/dist/version.js +1 -1
  652. package/dist/version.js.map +1 -1
  653. package/dist/workflows/agent.cjs.map +1 -1
  654. package/dist/workflows/agent.d.cts +40 -40
  655. package/dist/workflows/agent.d.ts +40 -40
  656. package/dist/workflows/agent.js.map +1 -1
  657. package/dist/workflows/workflow.cjs +3 -3
  658. package/dist/workflows/workflow.cjs.map +1 -1
  659. package/dist/workflows/workflow.d.cts +1 -1
  660. package/dist/workflows/workflow.d.ts +1 -1
  661. package/dist/workflows/workflow.js +3 -3
  662. package/dist/workflows/workflow.js.map +1 -1
  663. package/package.json +42 -73
@@ -3,13 +3,13 @@ import { GroqClientSettings, GroqClient } from './client.js';
3
3
  import { GroqProvider } from '@ai-sdk/groq';
4
4
  import '../../../backend/embedding.js';
5
5
  import '../../../context.js';
6
- import '../../../emitter-C3dO-s2P.js';
6
+ import '../../../emitter-C9nwGLt6.js';
7
7
  import '../../../internals/types.js';
8
8
  import '../../../internals/helpers/guards.js';
9
9
  import '../../../internals/serializable.js';
10
10
  import '../../../internals/helpers/promise.js';
11
11
  import '../../../errors.js';
12
- import '../../../chat-BdN8hGWn.js';
12
+ import '../../../chat-W9j8T6UU.js';
13
13
  import '../../../backend/message.js';
14
14
  import 'ai';
15
15
  import 'promise-based-task';
@@ -27,18 +27,7 @@ import '../../../backend/client.js';
27
27
 
28
28
  /**
29
29
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
30
- *
31
- * Licensed under the Apache License, Version 2.0 (the "License");
32
- * you may not use this file except in compliance with the License.
33
- * You may obtain a copy of the License at
34
- *
35
- * http://www.apache.org/licenses/LICENSE-2.0
36
- *
37
- * Unless required by applicable law or agreed to in writing, software
38
- * distributed under the License is distributed on an "AS IS" BASIS,
39
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
40
- * See the License for the specific language governing permissions and
41
- * limitations under the License.
30
+ * SPDX-License-Identifier: Apache-2.0
42
31
  */
43
32
 
44
33
  type GroqParameters = Parameters<GroqProvider["textEmbeddingModel"]>;
@@ -1 +1 @@
1
- {"version":3,"sources":["embedding.ts"],"names":["GroqEmbeddingModel","VercelEmbeddingModel","constructor","modelId","getEnv","_settings","client","ValueError","model","GroqClient","ensure","instance","textEmbeddingModel"],"mappings":";;;;;;;AA0BO,MAAMA,2BAA2BC,oBAAAA,CAAAA;EA1BxC;;;EA2BEC,WACEC,CAAAA,OAAAA,GAAgCC,OAAO,sBAAwB,EAAA,EAAA,GAC/DC,SAAwC,GAAA,IACxCC,MACA,EAAA;AACA,IAAA,IAAI,CAACH,OAAS,EAAA;AACZ,MAAM,MAAA,IAAII,WAAW,kBAAA,CAAA;AACvB;AACA,IAAA,MAAMC,QAAQC,UAAWC,CAAAA,MAAAA,CAAOJ,MAAAA,CAAQK,CAAAA,QAAAA,CAASC,mBAAmBT,OAAAA,CAAAA;AACpE,IAAA,KAAA,CAAMK,KAAAA,CAAAA;AACR;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 { VercelEmbeddingModel } from \"@/adapters/vercel/backend/embedding.js\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { GroqClient, GroqClientSettings } from \"@/adapters/groq/backend/client.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { GroqProvider } from \"@ai-sdk/groq\";\n\ntype GroqParameters = Parameters<GroqProvider[\"textEmbeddingModel\"]>;\nexport type GroqEmbeddingModelId = NonNullable<GroqParameters[0]>;\nexport type GroqEmbeddingModelSettings = Record<string, any>;\n\nexport class GroqEmbeddingModel extends VercelEmbeddingModel {\n constructor(\n modelId: GroqEmbeddingModelId = getEnv(\"GROQ_EMBEDDING_MODEL\", \"\"),\n _settings: GroqEmbeddingModelSettings = {},\n client?: GroqClientSettings | GroqClient,\n ) {\n if (!modelId) {\n throw new ValueError(\"Missing modelId!\");\n }\n const model = GroqClient.ensure(client).instance.textEmbeddingModel(modelId);\n super(model);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/groq/backend/embedding.ts"],"names":["GroqEmbeddingModel","VercelEmbeddingModel","modelId","getEnv","_settings","client","ValueError","model","GroqClient","ensure","instance","textEmbeddingModel"],"mappings":";;;;;;;AAeO,MAAMA,2BAA2BC,oBAAAA,CAAAA;EAfxC;;;EAgBE,WAAA,CACEC,OAAAA,GAAgCC,OAAO,sBAAA,EAAwB,EAAA,GAC/DC,SAAAA,GAAwC,IACxCC,MAAAA,EACA;AACA,IAAA,IAAI,CAACH,OAAAA,EAAS;AACZ,MAAA,MAAM,IAAII,WAAW,kBAAA,CAAA;AACvB;AACA,IAAA,MAAMC,QAAQC,UAAAA,CAAWC,MAAAA,CAAOJ,MAAAA,CAAAA,CAAQK,QAAAA,CAASC,mBAAmBT,OAAAA,CAAAA;AACpE,IAAA,KAAA,CAAMK,KAAAA,CAAAA;AACR;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { VercelEmbeddingModel } from \"@/adapters/vercel/backend/embedding.js\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { GroqClient, GroqClientSettings } from \"@/adapters/groq/backend/client.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { GroqProvider } from \"@ai-sdk/groq\";\n\ntype GroqParameters = Parameters<GroqProvider[\"textEmbeddingModel\"]>;\nexport type GroqEmbeddingModelId = NonNullable<GroqParameters[0]>;\nexport type GroqEmbeddingModelSettings = Record<string, any>;\n\nexport class GroqEmbeddingModel extends VercelEmbeddingModel {\n constructor(\n modelId: GroqEmbeddingModelId = getEnv(\"GROQ_EMBEDDING_MODEL\", \"\"),\n _settings: GroqEmbeddingModelSettings = {},\n client?: GroqClientSettings | GroqClient,\n ) {\n if (!modelId) {\n throw new ValueError(\"Missing modelId!\");\n }\n const model = GroqClient.ensure(client).instance.textEmbeddingModel(modelId);\n super(model);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chat.ts"],"names":["LangChainChatModel","ChatModel","emitter","constructor","lcLLM","parameters","Emitter","root","child","namespace","creator","modelId","_modelType","providerId","_create","input","run","preparedInput","prepareInput","response","bindTools","tools","invoke","messages","options","prepareOutput","_createStream","stream","chunk","map","msg","role","content","type","runId","stop","stopSequences","signal","tool_choice","toolChoice","output","push","AssistantMessage","message","text","image_url","toString","ValueError","usage","totalTokens","usage_metadata","total_tokens","promptTokens","input_tokens","completionTokens","output_tokens","response_metadata","stop_sequence","ChatModelOutput","_createStructure","raw","parsed","withStructuredOutput","schema","method","strict","includeRaw","object","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"chat.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 {\n ChatModel,\n ChatModelEmitter,\n ChatModelFinishReason,\n ChatModelInput,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n ChatModelOutput,\n ChatModelParameters,\n ChatModelUsage,\n} from \"@/backend/chat.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { AIMessageChunk, BaseMessageLike } from \"@langchain/core/messages\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { ValueError } from \"@/errors.js\";\n\nexport class LangChainChatModel extends ChatModel {\n public readonly emitter: ChatModelEmitter;\n\n constructor(\n protected readonly lcLLM: BaseChatModel,\n public readonly parameters: ChatModelParameters = {},\n ) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"langchain\", \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.lcLLM._modelType();\n }\n\n get providerId() {\n return \"langchain\";\n }\n\n protected async _create(input: ChatModelInput, run: RunContext<this>): Promise<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n const response = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .invoke(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.invoke(preparedInput.messages, preparedInput.options);\n\n return this.prepareOutput(response);\n }\n\n protected async *_createStream(\n input: ChatModelInput,\n run: RunContext<this>,\n ): AsyncGenerator<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n\n const stream = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .stream(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.stream(preparedInput.messages, preparedInput.options);\n\n for await (const response of stream) {\n const chunk = this.prepareOutput(response);\n yield chunk;\n }\n }\n\n protected prepareInput(input: ChatModelInput, run: RunContext<this>) {\n const messages: BaseMessageLike[] = input.messages.map((msg) => ({\n role: msg.role,\n content: msg.content,\n type: msg.role,\n // TODO\n }));\n\n const options: BaseChatModelCallOptions = {\n runId: run.runId,\n stop: input.stopSequences,\n signal: run.signal,\n tool_choice: input.toolChoice,\n };\n\n return { messages, options };\n }\n\n protected prepareOutput(output: AIMessageChunk) {\n const messages: Message[] = [];\n if (typeof output.content === \"string\") {\n messages.push(new AssistantMessage(output.content));\n } else {\n messages.push(\n new AssistantMessage(\n output.content.map((message) => {\n if (message.type === \"text\") {\n return { type: \"text\", text: message.text };\n } else if (message.type === \"image_url\") {\n return { type: \"text\", text: message.image_url.toString() };\n } else {\n throw new ValueError(`Unknown message type \"${message.type}\"`);\n }\n }),\n ),\n );\n }\n\n const usage: ChatModelUsage = {\n totalTokens: output.usage_metadata?.total_tokens ?? 0,\n promptTokens: output.usage_metadata?.input_tokens ?? 0,\n completionTokens: output.usage_metadata?.output_tokens ?? 0,\n };\n\n const stop: ChatModelFinishReason = output.response_metadata.stop_sequence || \"stop\";\n\n return new ChatModelOutput(messages, usage, stop);\n }\n\n protected async _createStructure<T>(\n input: ChatModelObjectInput<T>,\n run: RunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const { messages, options } = this.prepareInput(input, run);\n const { raw, parsed } = await this.lcLLM\n .withStructuredOutput<any>(input.schema, {\n method: \"jsonSchema\",\n strict: false,\n includeRaw: true,\n })\n .invoke(messages, options);\n\n return { object: parsed as T, output: this.prepareOutput(raw as AIMessageChunk) };\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), emitter: this.emitter, lcLLM: this.lcLLM };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/langchain/backend/chat.ts"],"names":["LangChainChatModel","ChatModel","emitter","lcLLM","parameters","Emitter","root","child","namespace","creator","modelId","_modelType","providerId","_create","input","run","preparedInput","prepareInput","response","bindTools","tools","invoke","messages","options","prepareOutput","_createStream","stream","chunk","map","msg","role","content","type","runId","stop","stopSequences","signal","tool_choice","toolChoice","output","push","AssistantMessage","message","text","image_url","toString","ValueError","usage","totalTokens","usage_metadata","total_tokens","promptTokens","input_tokens","completionTokens","output_tokens","response_metadata","stop_sequence","ChatModelOutput","_createStructure","raw","parsed","withStructuredOutput","schema","method","strict","includeRaw","object","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"chat.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n ChatModel,\n ChatModelEmitter,\n ChatModelFinishReason,\n ChatModelInput,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n ChatModelOutput,\n ChatModelParameters,\n ChatModelUsage,\n} from \"@/backend/chat.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { AIMessageChunk, BaseMessageLike } from \"@langchain/core/messages\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { ValueError } from \"@/errors.js\";\n\nexport class LangChainChatModel extends ChatModel {\n public readonly emitter: ChatModelEmitter;\n\n constructor(\n protected readonly lcLLM: BaseChatModel,\n public readonly parameters: ChatModelParameters = {},\n ) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"langchain\", \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.lcLLM._modelType();\n }\n\n get providerId() {\n return \"langchain\";\n }\n\n protected async _create(input: ChatModelInput, run: RunContext<this>): Promise<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n const response = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .invoke(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.invoke(preparedInput.messages, preparedInput.options);\n\n return this.prepareOutput(response);\n }\n\n protected async *_createStream(\n input: ChatModelInput,\n run: RunContext<this>,\n ): AsyncGenerator<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n\n const stream = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .stream(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.stream(preparedInput.messages, preparedInput.options);\n\n for await (const response of stream) {\n const chunk = this.prepareOutput(response);\n yield chunk;\n }\n }\n\n protected prepareInput(input: ChatModelInput, run: RunContext<this>) {\n const messages: BaseMessageLike[] = input.messages.map((msg) => ({\n role: msg.role,\n content: msg.content,\n type: msg.role,\n // TODO\n }));\n\n const options: BaseChatModelCallOptions = {\n runId: run.runId,\n stop: input.stopSequences,\n signal: run.signal,\n tool_choice: input.toolChoice,\n };\n\n return { messages, options };\n }\n\n protected prepareOutput(output: AIMessageChunk) {\n const messages: Message[] = [];\n if (typeof output.content === \"string\") {\n messages.push(new AssistantMessage(output.content));\n } else {\n messages.push(\n new AssistantMessage(\n output.content.map((message) => {\n if (message.type === \"text\") {\n return { type: \"text\", text: message.text };\n } else if (message.type === \"image_url\") {\n return { type: \"text\", text: message.image_url.toString() };\n } else {\n throw new ValueError(`Unknown message type \"${message.type}\"`);\n }\n }),\n ),\n );\n }\n\n const usage: ChatModelUsage = {\n totalTokens: output.usage_metadata?.total_tokens ?? 0,\n promptTokens: output.usage_metadata?.input_tokens ?? 0,\n completionTokens: output.usage_metadata?.output_tokens ?? 0,\n };\n\n const stop: ChatModelFinishReason = output.response_metadata.stop_sequence || \"stop\";\n\n return new ChatModelOutput(messages, usage, stop);\n }\n\n protected async _createStructure<T>(\n input: ChatModelObjectInput<T>,\n run: RunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const { messages, options } = this.prepareInput(input, run);\n const { raw, parsed } = await this.lcLLM\n .withStructuredOutput<any>(input.schema, {\n method: \"jsonSchema\",\n strict: false,\n includeRaw: true,\n })\n .invoke(messages, options);\n\n return { object: parsed as T, output: this.prepareOutput(raw as AIMessageChunk) };\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), emitter: this.emitter, lcLLM: this.lcLLM };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '../../../logger/logger.cjs';
2
- import { m as ChatModel, C as ChatModelParameters, h as ChatModelEmitter, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, l as ChatModelToolChoiceSupport } from '../../../chat-DvMzAHj6.cjs';
2
+ import { m as ChatModel, C as ChatModelParameters, h as ChatModelEmitter, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, l as ChatModelToolChoiceSupport } from '../../../chat-CR4yfOR9.cjs';
3
3
  import { RunContext } from '../../../context.cjs';
4
4
  import { BaseChatModel, BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models';
5
5
  import { BaseMessageLike, AIMessageChunk } from '@langchain/core/messages';
@@ -10,7 +10,7 @@ import '../../../internals/helpers/guards.cjs';
10
10
  import '../../../internals/serializable.cjs';
11
11
  import '../../../backend/message.cjs';
12
12
  import 'ai';
13
- import '../../../emitter-D5Mu0EEH.cjs';
13
+ import '../../../emitter-DWEsd-ud.cjs';
14
14
  import 'promise-based-task';
15
15
  import '../../../cache/base.cjs';
16
16
  import '../../../backend/constants.cjs';
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '../../../logger/logger.js';
2
- import { m as ChatModel, C as ChatModelParameters, h as ChatModelEmitter, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, l as ChatModelToolChoiceSupport } from '../../../chat-BdN8hGWn.js';
2
+ import { m as ChatModel, C as ChatModelParameters, h as ChatModelEmitter, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, l as ChatModelToolChoiceSupport } from '../../../chat-W9j8T6UU.js';
3
3
  import { RunContext } from '../../../context.js';
4
4
  import { BaseChatModel, BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models';
5
5
  import { BaseMessageLike, AIMessageChunk } from '@langchain/core/messages';
@@ -10,7 +10,7 @@ import '../../../internals/helpers/guards.js';
10
10
  import '../../../internals/serializable.js';
11
11
  import '../../../backend/message.js';
12
12
  import 'ai';
13
- import '../../../emitter-C3dO-s2P.js';
13
+ import '../../../emitter-C9nwGLt6.js';
14
14
  import 'promise-based-task';
15
15
  import '../../../cache/base.js';
16
16
  import '../../../backend/constants.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["chat.ts"],"names":["LangChainChatModel","ChatModel","emitter","constructor","lcLLM","parameters","Emitter","root","child","namespace","creator","modelId","_modelType","providerId","_create","input","run","preparedInput","prepareInput","response","bindTools","tools","invoke","messages","options","prepareOutput","_createStream","stream","chunk","map","msg","role","content","type","runId","stop","stopSequences","signal","tool_choice","toolChoice","output","push","AssistantMessage","message","text","image_url","toString","ValueError","usage","totalTokens","usage_metadata","total_tokens","promptTokens","input_tokens","completionTokens","output_tokens","response_metadata","stop_sequence","ChatModelOutput","_createStructure","raw","parsed","withStructuredOutput","schema","method","strict","includeRaw","object","createSnapshot","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 ChatModel,\n ChatModelEmitter,\n ChatModelFinishReason,\n ChatModelInput,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n ChatModelOutput,\n ChatModelParameters,\n ChatModelUsage,\n} from \"@/backend/chat.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { AIMessageChunk, BaseMessageLike } from \"@langchain/core/messages\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { ValueError } from \"@/errors.js\";\n\nexport class LangChainChatModel extends ChatModel {\n public readonly emitter: ChatModelEmitter;\n\n constructor(\n protected readonly lcLLM: BaseChatModel,\n public readonly parameters: ChatModelParameters = {},\n ) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"langchain\", \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.lcLLM._modelType();\n }\n\n get providerId() {\n return \"langchain\";\n }\n\n protected async _create(input: ChatModelInput, run: RunContext<this>): Promise<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n const response = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .invoke(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.invoke(preparedInput.messages, preparedInput.options);\n\n return this.prepareOutput(response);\n }\n\n protected async *_createStream(\n input: ChatModelInput,\n run: RunContext<this>,\n ): AsyncGenerator<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n\n const stream = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .stream(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.stream(preparedInput.messages, preparedInput.options);\n\n for await (const response of stream) {\n const chunk = this.prepareOutput(response);\n yield chunk;\n }\n }\n\n protected prepareInput(input: ChatModelInput, run: RunContext<this>) {\n const messages: BaseMessageLike[] = input.messages.map((msg) => ({\n role: msg.role,\n content: msg.content,\n type: msg.role,\n // TODO\n }));\n\n const options: BaseChatModelCallOptions = {\n runId: run.runId,\n stop: input.stopSequences,\n signal: run.signal,\n tool_choice: input.toolChoice,\n };\n\n return { messages, options };\n }\n\n protected prepareOutput(output: AIMessageChunk) {\n const messages: Message[] = [];\n if (typeof output.content === \"string\") {\n messages.push(new AssistantMessage(output.content));\n } else {\n messages.push(\n new AssistantMessage(\n output.content.map((message) => {\n if (message.type === \"text\") {\n return { type: \"text\", text: message.text };\n } else if (message.type === \"image_url\") {\n return { type: \"text\", text: message.image_url.toString() };\n } else {\n throw new ValueError(`Unknown message type \"${message.type}\"`);\n }\n }),\n ),\n );\n }\n\n const usage: ChatModelUsage = {\n totalTokens: output.usage_metadata?.total_tokens ?? 0,\n promptTokens: output.usage_metadata?.input_tokens ?? 0,\n completionTokens: output.usage_metadata?.output_tokens ?? 0,\n };\n\n const stop: ChatModelFinishReason = output.response_metadata.stop_sequence || \"stop\";\n\n return new ChatModelOutput(messages, usage, stop);\n }\n\n protected async _createStructure<T>(\n input: ChatModelObjectInput<T>,\n run: RunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const { messages, options } = this.prepareInput(input, run);\n const { raw, parsed } = await this.lcLLM\n .withStructuredOutput<any>(input.schema, {\n method: \"jsonSchema\",\n strict: false,\n includeRaw: true,\n })\n .invoke(messages, options);\n\n return { object: parsed as T, output: this.prepareOutput(raw as AIMessageChunk) };\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), emitter: this.emitter, lcLLM: this.lcLLM };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/langchain/backend/chat.ts"],"names":["LangChainChatModel","ChatModel","emitter","lcLLM","parameters","Emitter","root","child","namespace","creator","modelId","_modelType","providerId","_create","input","run","preparedInput","prepareInput","response","bindTools","tools","invoke","messages","options","prepareOutput","_createStream","stream","chunk","map","msg","role","content","type","runId","stop","stopSequences","signal","tool_choice","toolChoice","output","push","AssistantMessage","message","text","image_url","toString","ValueError","usage","totalTokens","usage_metadata","total_tokens","promptTokens","input_tokens","completionTokens","output_tokens","response_metadata","stop_sequence","ChatModelOutput","_createStructure","raw","parsed","withStructuredOutput","schema","method","strict","includeRaw","object","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"chat.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n ChatModel,\n ChatModelEmitter,\n ChatModelFinishReason,\n ChatModelInput,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n ChatModelOutput,\n ChatModelParameters,\n ChatModelUsage,\n} from \"@/backend/chat.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { AIMessageChunk, BaseMessageLike } from \"@langchain/core/messages\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { ValueError } from \"@/errors.js\";\n\nexport class LangChainChatModel extends ChatModel {\n public readonly emitter: ChatModelEmitter;\n\n constructor(\n protected readonly lcLLM: BaseChatModel,\n public readonly parameters: ChatModelParameters = {},\n ) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", \"langchain\", \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.lcLLM._modelType();\n }\n\n get providerId() {\n return \"langchain\";\n }\n\n protected async _create(input: ChatModelInput, run: RunContext<this>): Promise<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n const response = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .invoke(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.invoke(preparedInput.messages, preparedInput.options);\n\n return this.prepareOutput(response);\n }\n\n protected async *_createStream(\n input: ChatModelInput,\n run: RunContext<this>,\n ): AsyncGenerator<ChatModelOutput> {\n const preparedInput = this.prepareInput(input, run);\n\n const stream = this.lcLLM.bindTools\n ? await this.lcLLM\n .bindTools(input.tools ?? [])\n .stream(preparedInput.messages, preparedInput.options)\n : await this.lcLLM.stream(preparedInput.messages, preparedInput.options);\n\n for await (const response of stream) {\n const chunk = this.prepareOutput(response);\n yield chunk;\n }\n }\n\n protected prepareInput(input: ChatModelInput, run: RunContext<this>) {\n const messages: BaseMessageLike[] = input.messages.map((msg) => ({\n role: msg.role,\n content: msg.content,\n type: msg.role,\n // TODO\n }));\n\n const options: BaseChatModelCallOptions = {\n runId: run.runId,\n stop: input.stopSequences,\n signal: run.signal,\n tool_choice: input.toolChoice,\n };\n\n return { messages, options };\n }\n\n protected prepareOutput(output: AIMessageChunk) {\n const messages: Message[] = [];\n if (typeof output.content === \"string\") {\n messages.push(new AssistantMessage(output.content));\n } else {\n messages.push(\n new AssistantMessage(\n output.content.map((message) => {\n if (message.type === \"text\") {\n return { type: \"text\", text: message.text };\n } else if (message.type === \"image_url\") {\n return { type: \"text\", text: message.image_url.toString() };\n } else {\n throw new ValueError(`Unknown message type \"${message.type}\"`);\n }\n }),\n ),\n );\n }\n\n const usage: ChatModelUsage = {\n totalTokens: output.usage_metadata?.total_tokens ?? 0,\n promptTokens: output.usage_metadata?.input_tokens ?? 0,\n completionTokens: output.usage_metadata?.output_tokens ?? 0,\n };\n\n const stop: ChatModelFinishReason = output.response_metadata.stop_sequence || \"stop\";\n\n return new ChatModelOutput(messages, usage, stop);\n }\n\n protected async _createStructure<T>(\n input: ChatModelObjectInput<T>,\n run: RunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const { messages, options } = this.prepareInput(input, run);\n const { raw, parsed } = await this.lcLLM\n .withStructuredOutput<any>(input.schema, {\n method: \"jsonSchema\",\n strict: false,\n includeRaw: true,\n })\n .invoke(messages, options);\n\n return { object: parsed as T, output: this.prepareOutput(raw as AIMessageChunk) };\n }\n\n createSnapshot() {\n return { ...super.createSnapshot(), emitter: this.emitter, lcLLM: this.lcLLM };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["embedding.ts"],"names":["LangChainEmbeddingModel","EmbeddingModel","emitter","constructor","lcEmbedding","Emitter","root","child","namespace","creator","modelId","providerId","_create","input","run","embeddings","signalRace","embedDocuments","values","signal","slice","usage","tokens","undefined","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;AA2BO,MAAMA,gCAAgCC,4BAAAA,CAAAA;EA3B7C;;;;AA4BkBC,EAAAA,OAAAA;AAEhBC,EAAAA,WAAAA,CAA+BC,WAA+B,EAAA;AAC5D,IAAK,KAAA,EAAA,EAAA,KADwBA,WAAAA,GAAAA,WAAAA;AAE7B,IAAKF,IAAAA,CAAAA,OAAAA,GAAUG,mBAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA;;MACpCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAkB,GAAA;AACpB,IAAO,OAAA,WAAA;AACT;;AAEA,EAAA,IAAIC,UAAqB,GAAA;AACvB,IAAO,OAAA,WAAA;AACT;EAEA,MAAgBC,OAAAA,CACdC,OACAC,GAC+B,EAAA;AAC/B,IAAMC,MAAAA,UAAAA,GAAa,MAAMC,sBAAAA,CACvB,MAAM,IAAA,CAAKZ,WAAYa,CAAAA,cAAAA,CAAeJ,KAAMK,CAAAA,MAAM,CAClDJ,EAAAA,GAAAA,CAAIK,MAAM,CAAA;AAGZ,IAAO,OAAA;MACLD,MAAQL,EAAAA,KAAAA,CAAMK,OAAOE,KAAK,EAAA;AAC1BL,MAAAA,UAAAA;MACAM,KAAO,EAAA;QAAEC,MAAQC,EAAAA;AAAU;AAC7B,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTpB,MAAAA,WAAAA,EAAa,IAAKA,CAAAA;AACpB,KAAA;AACF;AAEAqB,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,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 {\n EmbeddingModel,\n EmbeddingModelEvents,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n} from \"@/backend/embedding.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Embeddings as LCEmbeddingModel } from \"@langchain/core/embeddings\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\n\nexport class LangChainEmbeddingModel extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(protected readonly lcEmbedding: LCEmbeddingModel) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"langchain\", \"backend\", \"embedding\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return \"langchain\"; // TODO\n }\n\n get providerId(): string {\n return \"langchain\";\n }\n\n protected async _create(\n input: EmbeddingModelInput,\n run: RunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n const embeddings = await signalRace(\n () => this.lcEmbedding.embedDocuments(input.values),\n run.signal,\n );\n\n return {\n values: input.values.slice(),\n embeddings,\n usage: { tokens: undefined },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n lcEmbedding: this.lcEmbedding,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/langchain/backend/embedding.ts"],"names":["LangChainEmbeddingModel","EmbeddingModel","emitter","lcEmbedding","Emitter","root","child","namespace","creator","modelId","providerId","_create","input","run","embeddings","signalRace","embedDocuments","values","signal","slice","usage","tokens","undefined","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;;;AAgBO,MAAMA,gCAAgCC,4BAAAA,CAAAA;EAhB7C;;;;AAiBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA+BC,WAAAA,EAA+B;AAC5D,IAAA,KAAA,EAAK,EAAA,KADwBA,WAAAA,GAAAA,WAAAA;AAE7B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,mBAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA;;MACpCC,OAAAA,EAAS;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,WAAA;AACT;;AAEA,EAAA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,OAAO,WAAA;AACT;EAEA,MAAgBC,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,MAAMC,UAAAA,GAAa,MAAMC,sBAAAA,CACvB,MAAM,IAAA,CAAKZ,WAAAA,CAAYa,cAAAA,CAAeJ,KAAAA,CAAMK,MAAM,CAAA,EAClDJ,GAAAA,CAAIK,MAAM,CAAA;AAGZ,IAAA,OAAO;MACLD,MAAAA,EAAQL,KAAAA,CAAMK,OAAOE,KAAAA,EAAK;AAC1BL,MAAAA,UAAAA;MACAM,KAAAA,EAAO;QAAEC,MAAAA,EAAQC;AAAU;AAC7B,KAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTpB,MAAAA,WAAAA,EAAa,IAAA,CAAKA;AACpB,KAAA;AACF;AAEAqB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n EmbeddingModel,\n EmbeddingModelEvents,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n} from \"@/backend/embedding.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Embeddings as LCEmbeddingModel } from \"@langchain/core/embeddings\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\n\nexport class LangChainEmbeddingModel extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(protected readonly lcEmbedding: LCEmbeddingModel) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"langchain\", \"backend\", \"embedding\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return \"langchain\"; // TODO\n }\n\n get providerId(): string {\n return \"langchain\";\n }\n\n protected async _create(\n input: EmbeddingModelInput,\n run: RunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n const embeddings = await signalRace(\n () => this.lcEmbedding.embedDocuments(input.values),\n run.signal,\n );\n\n return {\n values: input.values.slice(),\n embeddings,\n usage: { tokens: undefined },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n lcEmbedding: this.lcEmbedding,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { EmbeddingModel, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.cjs';
2
2
  import { RunContext } from '../../../context.cjs';
3
- import { E as Emitter } from '../../../emitter-D5Mu0EEH.cjs';
3
+ import { E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
4
4
  import { Embeddings } from '@langchain/core/embeddings';
5
5
  import '../../../internals/serializable.cjs';
6
6
  import '../../../internals/types.cjs';
7
7
  import '../../../internals/helpers/guards.cjs';
8
8
  import '../../../errors.cjs';
9
- import '../../../chat-DvMzAHj6.cjs';
9
+ import '../../../chat-CR4yfOR9.cjs';
10
10
  import '../../../backend/message.cjs';
11
11
  import 'ai';
12
12
  import 'promise-based-task';
@@ -24,18 +24,7 @@ import 'pino';
24
24
 
25
25
  /**
26
26
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
27
- *
28
- * Licensed under the Apache License, Version 2.0 (the "License");
29
- * you may not use this file except in compliance with the License.
30
- * You may obtain a copy of the License at
31
- *
32
- * http://www.apache.org/licenses/LICENSE-2.0
33
- *
34
- * Unless required by applicable law or agreed to in writing, software
35
- * distributed under the License is distributed on an "AS IS" BASIS,
36
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37
- * See the License for the specific language governing permissions and
38
- * limitations under the License.
27
+ * SPDX-License-Identifier: Apache-2.0
39
28
  */
40
29
 
41
30
  declare class LangChainEmbeddingModel extends EmbeddingModel {
@@ -1,12 +1,12 @@
1
1
  import { EmbeddingModel, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.js';
2
2
  import { RunContext } from '../../../context.js';
3
- import { E as Emitter } from '../../../emitter-C3dO-s2P.js';
3
+ import { E as Emitter } from '../../../emitter-C9nwGLt6.js';
4
4
  import { Embeddings } from '@langchain/core/embeddings';
5
5
  import '../../../internals/serializable.js';
6
6
  import '../../../internals/types.js';
7
7
  import '../../../internals/helpers/guards.js';
8
8
  import '../../../errors.js';
9
- import '../../../chat-BdN8hGWn.js';
9
+ import '../../../chat-W9j8T6UU.js';
10
10
  import '../../../backend/message.js';
11
11
  import 'ai';
12
12
  import 'promise-based-task';
@@ -24,18 +24,7 @@ import 'pino';
24
24
 
25
25
  /**
26
26
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
27
- *
28
- * Licensed under the Apache License, Version 2.0 (the "License");
29
- * you may not use this file except in compliance with the License.
30
- * You may obtain a copy of the License at
31
- *
32
- * http://www.apache.org/licenses/LICENSE-2.0
33
- *
34
- * Unless required by applicable law or agreed to in writing, software
35
- * distributed under the License is distributed on an "AS IS" BASIS,
36
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37
- * See the License for the specific language governing permissions and
38
- * limitations under the License.
27
+ * SPDX-License-Identifier: Apache-2.0
39
28
  */
40
29
 
41
30
  declare class LangChainEmbeddingModel extends EmbeddingModel {
@@ -1 +1 @@
1
- {"version":3,"sources":["embedding.ts"],"names":["LangChainEmbeddingModel","EmbeddingModel","emitter","constructor","lcEmbedding","Emitter","root","child","namespace","creator","modelId","providerId","_create","input","run","embeddings","signalRace","embedDocuments","values","signal","slice","usage","tokens","undefined","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AA2BO,MAAMA,gCAAgCC,cAAAA,CAAAA;EA3B7C;;;;AA4BkBC,EAAAA,OAAAA;AAEhBC,EAAAA,WAAAA,CAA+BC,WAA+B,EAAA;AAC5D,IAAK,KAAA,EAAA,EAAA,KADwBA,WAAAA,GAAAA,WAAAA;AAE7B,IAAKF,IAAAA,CAAAA,OAAAA,GAAUG,OAAQC,CAAAA,IAAAA,CAAKC,KAAM,CAAA;MAChCC,SAAW,EAAA;AAAC,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA;;MACpCC,OAAS,EAAA;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAkB,GAAA;AACpB,IAAO,OAAA,WAAA;AACT;;AAEA,EAAA,IAAIC,UAAqB,GAAA;AACvB,IAAO,OAAA,WAAA;AACT;EAEA,MAAgBC,OAAAA,CACdC,OACAC,GAC+B,EAAA;AAC/B,IAAMC,MAAAA,UAAAA,GAAa,MAAMC,UAAAA,CACvB,MAAM,IAAA,CAAKZ,WAAYa,CAAAA,cAAAA,CAAeJ,KAAMK,CAAAA,MAAM,CAClDJ,EAAAA,GAAAA,CAAIK,MAAM,CAAA;AAGZ,IAAO,OAAA;MACLD,MAAQL,EAAAA,KAAAA,CAAMK,OAAOE,KAAK,EAAA;AAC1BL,MAAAA,UAAAA;MACAM,KAAO,EAAA;QAAEC,MAAQC,EAAAA;AAAU;AAC7B,KAAA;AACF;EAEAC,cAAiB,GAAA;AACf,IAAO,OAAA;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTpB,MAAAA,WAAAA,EAAa,IAAKA,CAAAA;AACpB,KAAA;AACF;AAEAqB,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,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 {\n EmbeddingModel,\n EmbeddingModelEvents,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n} from \"@/backend/embedding.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Embeddings as LCEmbeddingModel } from \"@langchain/core/embeddings\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\n\nexport class LangChainEmbeddingModel extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(protected readonly lcEmbedding: LCEmbeddingModel) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"langchain\", \"backend\", \"embedding\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return \"langchain\"; // TODO\n }\n\n get providerId(): string {\n return \"langchain\";\n }\n\n protected async _create(\n input: EmbeddingModelInput,\n run: RunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n const embeddings = await signalRace(\n () => this.lcEmbedding.embedDocuments(input.values),\n run.signal,\n );\n\n return {\n values: input.values.slice(),\n embeddings,\n usage: { tokens: undefined },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n lcEmbedding: this.lcEmbedding,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/langchain/backend/embedding.ts"],"names":["LangChainEmbeddingModel","EmbeddingModel","emitter","lcEmbedding","Emitter","root","child","namespace","creator","modelId","providerId","_create","input","run","embeddings","signalRace","embedDocuments","values","signal","slice","usage","tokens","undefined","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AAgBO,MAAMA,gCAAgCC,cAAAA,CAAAA;EAhB7C;;;;AAiBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA+BC,WAAAA,EAA+B;AAC5D,IAAA,KAAA,EAAK,EAAA,KADwBA,WAAAA,GAAAA,WAAAA;AAE7B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,OAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA;;MACpCC,OAAAA,EAAS;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,WAAA;AACT;;AAEA,EAAA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,OAAO,WAAA;AACT;EAEA,MAAgBC,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,MAAMC,UAAAA,GAAa,MAAMC,UAAAA,CACvB,MAAM,IAAA,CAAKZ,WAAAA,CAAYa,cAAAA,CAAeJ,KAAAA,CAAMK,MAAM,CAAA,EAClDJ,GAAAA,CAAIK,MAAM,CAAA;AAGZ,IAAA,OAAO;MACLD,MAAAA,EAAQL,KAAAA,CAAMK,OAAOE,KAAAA,EAAK;AAC1BL,MAAAA,UAAAA;MACAM,KAAAA,EAAO;QAAEC,MAAAA,EAAQC;AAAU;AAC7B,KAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTpB,MAAAA,WAAAA,EAAa,IAAA,CAAKA;AACpB,KAAA;AACF;AAEAqB,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n EmbeddingModel,\n EmbeddingModelEvents,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n} from \"@/backend/embedding.js\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { Embeddings as LCEmbeddingModel } from \"@langchain/core/embeddings\";\nimport { signalRace } from \"@/internals/helpers/promise.js\";\n\nexport class LangChainEmbeddingModel extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(protected readonly lcEmbedding: LCEmbeddingModel) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"langchain\", \"backend\", \"embedding\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return \"langchain\"; // TODO\n }\n\n get providerId(): string {\n return \"langchain\";\n }\n\n protected async _create(\n input: EmbeddingModelInput,\n run: RunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n const embeddings = await signalRace(\n () => this.lcEmbedding.embedDocuments(input.values),\n run.signal,\n );\n\n return {\n values: input.values.slice(),\n embeddings,\n usage: { tokens: undefined },\n };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n lcEmbedding: this.lcEmbedding,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["tools.ts"],"names":["LangChainTool","Tool","tool","serializedSchemaKey","emitter","constructor","options","name","description","Emitter","root","child","namespace","toCamelCase","creator","register","Class","LCTools","DynamicTool","DynamicStructuredTool","Serializer","toPlain","instance","pickBy","pick","schema","ZodEffects","toJsonSchema","sourceType","isTruthy","fromPlain","metadata","inputSchema","getProp","_run","arg","run","outputClass","JSONToolOutput","raw","invoke","signal","createSnapshot","loadSnapshot","snapshot"],"mappings":"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","file":"tools.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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolEvents,\n ToolInput,\n} from \"@/tools/base.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { ZodEffects } from \"zod\";\nimport * as LCTools from \"@langchain/core/tools\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { isTruthy, pick, pickBy, toCamelCase } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport type LangChainToolRunOptions = RunnableConfig & BaseToolRunOptions;\nexport type LangChainToolOptions<TOutput = any> = BaseToolOptions & {\n outputClass?: typeof JSONToolOutput<TOutput>;\n};\n\nexport class LangChainTool<T extends LCTools.StructuredTool, TOutput = any> extends Tool<\n JSONToolOutput<TOutput>,\n LangChainToolOptions<TOutput>,\n LangChainToolRunOptions\n> {\n declare name: string;\n declare description: string;\n\n protected readonly tool: T;\n public static serializedSchemaKey = \"_internalJsonSchema\" as const;\n\n public readonly emitter: ToolEmitter<ToolEvents<T>, JSONToolOutput<TOutput>>;\n\n constructor({\n tool,\n ...options\n }: LangChainToolOptions<TOutput> & {\n tool: T;\n }) {\n super(options);\n\n this.tool = tool;\n this.name = tool.name;\n this.description = tool.description;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"langchain\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n static {\n this.register();\n\n for (const Class of [LCTools.DynamicTool, LCTools.DynamicStructuredTool] as ClassConstructor<\n LCTools.DynamicStructuredTool | LCTools.DynamicTool\n >[]) {\n Serializer.register(Class, {\n toPlain: (instance) => ({\n options: pickBy(\n {\n ...pick(instance, [\n \"name\",\n \"description\",\n \"metadata\",\n \"responseFormat\",\n \"returnDirect\",\n \"func\",\n ]),\n schema:\n instance.schema instanceof ZodEffects\n ? toJsonSchema(instance.schema.sourceType())\n : toJsonSchema(instance.schema),\n },\n isTruthy,\n ),\n }),\n fromPlain: ({ options }) => {\n return new Class({\n ...options,\n metadata: { ...options?.metadata, [LangChainTool.serializedSchemaKey]: options.schema },\n });\n },\n });\n }\n }\n\n inputSchema(): T[\"schema\"] {\n const { schema, metadata = {} } = this.tool;\n\n return getProp(\n metadata,\n [LangChainTool.serializedSchemaKey],\n schema instanceof ZodEffects ? schema.sourceType() : schema,\n );\n }\n\n protected async _run(\n arg: ToolInput<this>,\n options: Partial<LangChainToolRunOptions>,\n run: GetRunContext<this>,\n ): Promise<JSONToolOutput<TOutput>> {\n const { outputClass = JSONToolOutput } = this.options;\n const raw = await this.tool.invoke(arg as Record<string, any>, {\n ...options,\n signal: run.signal,\n });\n return new outputClass(raw);\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n tool: this.tool,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/adapters/langchain/tools.ts"],"names":["LangChainTool","Tool","tool","serializedSchemaKey","emitter","options","name","description","Emitter","root","child","namespace","toCamelCase","creator","register","Class","LCTools","DynamicTool","DynamicStructuredTool","Serializer","toPlain","instance","pickBy","pick","schema","ZodEffects","toJsonSchema","sourceType","isTruthy","fromPlain","metadata","inputSchema","getProp","_run","arg","run","outputClass","JSONToolOutput","raw","invoke","signal","createSnapshot","loadSnapshot","snapshot"],"mappings":"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","file":"tools.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolEvents,\n ToolInput,\n} from \"@/tools/base.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { ZodEffects } from \"zod\";\nimport * as LCTools from \"@langchain/core/tools\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { isTruthy, pick, pickBy, toCamelCase } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport type LangChainToolRunOptions = RunnableConfig & BaseToolRunOptions;\nexport type LangChainToolOptions<TOutput = any> = BaseToolOptions & {\n outputClass?: typeof JSONToolOutput<TOutput>;\n};\n\nexport class LangChainTool<T extends LCTools.StructuredTool, TOutput = any> extends Tool<\n JSONToolOutput<TOutput>,\n LangChainToolOptions<TOutput>,\n LangChainToolRunOptions\n> {\n declare name: string;\n declare description: string;\n\n protected readonly tool: T;\n public static serializedSchemaKey = \"_internalJsonSchema\" as const;\n\n public readonly emitter: ToolEmitter<ToolEvents<T>, JSONToolOutput<TOutput>>;\n\n constructor({\n tool,\n ...options\n }: LangChainToolOptions<TOutput> & {\n tool: T;\n }) {\n super(options);\n\n this.tool = tool;\n this.name = tool.name;\n this.description = tool.description;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"langchain\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n static {\n this.register();\n\n for (const Class of [LCTools.DynamicTool, LCTools.DynamicStructuredTool] as ClassConstructor<\n LCTools.DynamicStructuredTool | LCTools.DynamicTool\n >[]) {\n Serializer.register(Class, {\n toPlain: (instance) => ({\n options: pickBy(\n {\n ...pick(instance, [\n \"name\",\n \"description\",\n \"metadata\",\n \"responseFormat\",\n \"returnDirect\",\n \"func\",\n ]),\n schema:\n instance.schema instanceof ZodEffects\n ? toJsonSchema(instance.schema.sourceType())\n : toJsonSchema(instance.schema),\n },\n isTruthy,\n ),\n }),\n fromPlain: ({ options }) => {\n return new Class({\n ...options,\n metadata: { ...options?.metadata, [LangChainTool.serializedSchemaKey]: options.schema },\n });\n },\n });\n }\n }\n\n inputSchema(): T[\"schema\"] {\n const { schema, metadata = {} } = this.tool;\n\n return getProp(\n metadata,\n [LangChainTool.serializedSchemaKey],\n schema instanceof ZodEffects ? schema.sourceType() : schema,\n );\n }\n\n protected async _run(\n arg: ToolInput<this>,\n options: Partial<LangChainToolRunOptions>,\n run: GetRunContext<this>,\n ): Promise<JSONToolOutput<TOutput>> {\n const { outputClass = JSONToolOutput } = this.options;\n const raw = await this.tool.invoke(arg as Record<string, any>, {\n ...options,\n signal: run.signal,\n });\n return new outputClass(raw);\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n tool: this.tool,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n }\n}\n"]}
@@ -4,7 +4,7 @@ import { BaseToolRunOptions, BaseToolOptions, JSONToolOutput, Tool, ToolEmitter,
4
4
  import { GetRunContext } from '../../context.cjs';
5
5
  import { RunnableConfig } from '@langchain/core/runnables';
6
6
  import * as LCTools from '@langchain/core/tools';
7
- import { E as Emitter } from '../../emitter-D5Mu0EEH.cjs';
7
+ import { E as Emitter } from '../../emitter-DWEsd-ud.cjs';
8
8
  import '../../internals/serializable.cjs';
9
9
  import '../../internals/types.cjs';
10
10
  import '../../internals/helpers/guards.cjs';
@@ -4,7 +4,7 @@ import { BaseToolRunOptions, BaseToolOptions, JSONToolOutput, Tool, ToolEmitter,
4
4
  import { GetRunContext } from '../../context.js';
5
5
  import { RunnableConfig } from '@langchain/core/runnables';
6
6
  import * as LCTools from '@langchain/core/tools';
7
- import { E as Emitter } from '../../emitter-C3dO-s2P.js';
7
+ import { E as Emitter } from '../../emitter-C9nwGLt6.js';
8
8
  import '../../internals/serializable.js';
9
9
  import '../../internals/types.js';
10
10
  import '../../internals/helpers/guards.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["tools.ts"],"names":["LangChainTool","Tool","tool","serializedSchemaKey","emitter","constructor","options","name","description","Emitter","root","child","namespace","toCamelCase","creator","register","Class","LCTools","DynamicTool","DynamicStructuredTool","Serializer","toPlain","instance","pickBy","pick","schema","ZodEffects","toJsonSchema","sourceType","isTruthy","fromPlain","metadata","inputSchema","getProp","_run","arg","run","outputClass","JSONToolOutput","raw","invoke","signal","createSnapshot","loadSnapshot","snapshot"],"mappings":"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","file":"tools.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 BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolEvents,\n ToolInput,\n} from \"@/tools/base.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { ZodEffects } from \"zod\";\nimport * as LCTools from \"@langchain/core/tools\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { isTruthy, pick, pickBy, toCamelCase } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport type LangChainToolRunOptions = RunnableConfig & BaseToolRunOptions;\nexport type LangChainToolOptions<TOutput = any> = BaseToolOptions & {\n outputClass?: typeof JSONToolOutput<TOutput>;\n};\n\nexport class LangChainTool<T extends LCTools.StructuredTool, TOutput = any> extends Tool<\n JSONToolOutput<TOutput>,\n LangChainToolOptions<TOutput>,\n LangChainToolRunOptions\n> {\n declare name: string;\n declare description: string;\n\n protected readonly tool: T;\n public static serializedSchemaKey = \"_internalJsonSchema\" as const;\n\n public readonly emitter: ToolEmitter<ToolEvents<T>, JSONToolOutput<TOutput>>;\n\n constructor({\n tool,\n ...options\n }: LangChainToolOptions<TOutput> & {\n tool: T;\n }) {\n super(options);\n\n this.tool = tool;\n this.name = tool.name;\n this.description = tool.description;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"langchain\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n static {\n this.register();\n\n for (const Class of [LCTools.DynamicTool, LCTools.DynamicStructuredTool] as ClassConstructor<\n LCTools.DynamicStructuredTool | LCTools.DynamicTool\n >[]) {\n Serializer.register(Class, {\n toPlain: (instance) => ({\n options: pickBy(\n {\n ...pick(instance, [\n \"name\",\n \"description\",\n \"metadata\",\n \"responseFormat\",\n \"returnDirect\",\n \"func\",\n ]),\n schema:\n instance.schema instanceof ZodEffects\n ? toJsonSchema(instance.schema.sourceType())\n : toJsonSchema(instance.schema),\n },\n isTruthy,\n ),\n }),\n fromPlain: ({ options }) => {\n return new Class({\n ...options,\n metadata: { ...options?.metadata, [LangChainTool.serializedSchemaKey]: options.schema },\n });\n },\n });\n }\n }\n\n inputSchema(): T[\"schema\"] {\n const { schema, metadata = {} } = this.tool;\n\n return getProp(\n metadata,\n [LangChainTool.serializedSchemaKey],\n schema instanceof ZodEffects ? schema.sourceType() : schema,\n );\n }\n\n protected async _run(\n arg: ToolInput<this>,\n options: Partial<LangChainToolRunOptions>,\n run: GetRunContext<this>,\n ): Promise<JSONToolOutput<TOutput>> {\n const { outputClass = JSONToolOutput } = this.options;\n const raw = await this.tool.invoke(arg as Record<string, any>, {\n ...options,\n signal: run.signal,\n });\n return new outputClass(raw);\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n tool: this.tool,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/adapters/langchain/tools.ts"],"names":["LangChainTool","Tool","tool","serializedSchemaKey","emitter","options","name","description","Emitter","root","child","namespace","toCamelCase","creator","register","Class","LCTools","DynamicTool","DynamicStructuredTool","Serializer","toPlain","instance","pickBy","pick","schema","ZodEffects","toJsonSchema","sourceType","isTruthy","fromPlain","metadata","inputSchema","getProp","_run","arg","run","outputClass","JSONToolOutput","raw","invoke","signal","createSnapshot","loadSnapshot","snapshot"],"mappings":"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","file":"tools.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolEvents,\n ToolInput,\n} from \"@/tools/base.js\";\nimport type { GetRunContext } from \"@/context.js\";\nimport type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { ZodEffects } from \"zod\";\nimport * as LCTools from \"@langchain/core/tools\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { isTruthy, pick, pickBy, toCamelCase } from \"remeda\";\nimport { toJsonSchema } from \"@/internals/helpers/schema.js\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport type LangChainToolRunOptions = RunnableConfig & BaseToolRunOptions;\nexport type LangChainToolOptions<TOutput = any> = BaseToolOptions & {\n outputClass?: typeof JSONToolOutput<TOutput>;\n};\n\nexport class LangChainTool<T extends LCTools.StructuredTool, TOutput = any> extends Tool<\n JSONToolOutput<TOutput>,\n LangChainToolOptions<TOutput>,\n LangChainToolRunOptions\n> {\n declare name: string;\n declare description: string;\n\n protected readonly tool: T;\n public static serializedSchemaKey = \"_internalJsonSchema\" as const;\n\n public readonly emitter: ToolEmitter<ToolEvents<T>, JSONToolOutput<TOutput>>;\n\n constructor({\n tool,\n ...options\n }: LangChainToolOptions<TOutput> & {\n tool: T;\n }) {\n super(options);\n\n this.tool = tool;\n this.name = tool.name;\n this.description = tool.description;\n this.emitter = Emitter.root.child({\n namespace: [\"tool\", \"langchain\", toCamelCase(this.name)],\n creator: this,\n });\n }\n\n static {\n this.register();\n\n for (const Class of [LCTools.DynamicTool, LCTools.DynamicStructuredTool] as ClassConstructor<\n LCTools.DynamicStructuredTool | LCTools.DynamicTool\n >[]) {\n Serializer.register(Class, {\n toPlain: (instance) => ({\n options: pickBy(\n {\n ...pick(instance, [\n \"name\",\n \"description\",\n \"metadata\",\n \"responseFormat\",\n \"returnDirect\",\n \"func\",\n ]),\n schema:\n instance.schema instanceof ZodEffects\n ? toJsonSchema(instance.schema.sourceType())\n : toJsonSchema(instance.schema),\n },\n isTruthy,\n ),\n }),\n fromPlain: ({ options }) => {\n return new Class({\n ...options,\n metadata: { ...options?.metadata, [LangChainTool.serializedSchemaKey]: options.schema },\n });\n },\n });\n }\n }\n\n inputSchema(): T[\"schema\"] {\n const { schema, metadata = {} } = this.tool;\n\n return getProp(\n metadata,\n [LangChainTool.serializedSchemaKey],\n schema instanceof ZodEffects ? schema.sourceType() : schema,\n );\n }\n\n protected async _run(\n arg: ToolInput<this>,\n options: Partial<LangChainToolRunOptions>,\n run: GetRunContext<this>,\n ): Promise<JSONToolOutput<TOutput>> {\n const { outputClass = JSONToolOutput } = this.options;\n const raw = await this.tool.invoke(arg as Record<string, any>, {\n ...options,\n signal: run.signal,\n });\n return new outputClass(raw);\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n tool: this.tool,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["http_server.ts"],"names":["logger","Logger","root","child","name","runServer","server","hostname","port","app","express","use","json","transports","all","req","res","debug","method","sessionId","headers","transport","existingTransport","StreamableHTTPServerTransport","status","jsonrpc","error","code","message","id","isInitializeRequest","body","eventStore","InMemoryEventStore","sessionIdGenerator","randomUUID","onsessioninitialized","onclose","sid","connect","handleRequest","headersSent","get","info","SSEServerTransport","on","post","query","handlePostMessage","send","listen","process","close","exit"],"mappings":"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","file":"http_server.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\n// Taken from: https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/examples/server/sseAndStreamableHttpCompatibleServer.ts\n\nimport express, { Request, Response } from \"express\";\nimport { SSEServerTransport } from \"@modelcontextprotocol/sdk/server/sse.js\";\nimport { StreamableHTTPServerTransport } from \"@modelcontextprotocol/sdk/server/streamableHttp.js\";\nimport { isInitializeRequest } from \"@modelcontextprotocol/sdk/types.js\";\nimport { InMemoryEventStore } from \"./in_memory_store.js\";\nimport { randomUUID } from \"node:crypto\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { Logger } from \"@/logger/logger.js\";\n\nconst logger = Logger.root.child({\n name: \"MCP HTTP server\",\n});\n\nexport function runServer(server: McpServer, hostname = \"127.0.0.1\", port = 3000) {\n // Create Express application\n const app = express();\n app.use(express.json());\n\n // Store transports by session ID\n const transports: Record<string, StreamableHTTPServerTransport | SSEServerTransport> = {};\n\n //=============================================================================\n // STREAMABLE HTTP TRANSPORT (PROTOCOL VERSION 2025-03-26)\n //=============================================================================\n\n // Handle all MCP Streamable HTTP requests (GET, POST, DELETE) on a single endpoint\n app.all(\"/mcp\", async (req: Request, res: Response) => {\n logger.debug(`Received ${req.method} request to /mcp`);\n\n try {\n // Check for existing session ID\n const sessionId = req.headers[\"mcp-session-id\"] as string | undefined;\n let transport: StreamableHTTPServerTransport;\n\n if (sessionId && transports[sessionId]) {\n // Check if the transport is of the correct type\n const existingTransport = transports[sessionId];\n if (existingTransport instanceof StreamableHTTPServerTransport) {\n // Reuse existing transport\n transport = existingTransport;\n } else {\n // Transport exists but is not a StreamableHTTPServerTransport (could be SSEServerTransport)\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: Session exists but uses a different transport protocol\",\n },\n id: null,\n });\n return;\n }\n } else if (!sessionId && req.method === \"POST\" && isInitializeRequest(req.body)) {\n const eventStore = new InMemoryEventStore();\n transport = new StreamableHTTPServerTransport({\n sessionIdGenerator: () => randomUUID(),\n eventStore, // Enable resumability\n onsessioninitialized: (sessionId) => {\n // Store the transport by session ID when session is initialized\n logger.debug(`StreamableHTTP session initialized with ID: ${sessionId}`);\n transports[sessionId] = transport;\n },\n });\n\n // Set up onclose handler to clean up transport when closed\n transport.onclose = () => {\n const sid = transport.sessionId;\n if (sid && transports[sid]) {\n logger.debug(`Transport closed for session ${sid}, removing from transports map`);\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[sid];\n }\n };\n\n // Connect the transport to the MCP server\n await server.connect(transport);\n } else {\n // Invalid request - no session ID or not initialization request\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: No valid session ID provided\",\n },\n id: null,\n });\n return;\n }\n\n // Handle the request with the transport\n await transport.handleRequest(req, res, req.body);\n } catch (error) {\n logger.error(\"Error handling MCP request:\", error);\n if (!res.headersSent) {\n res.status(500).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32603,\n message: \"Internal server error\",\n },\n id: null,\n });\n }\n }\n });\n\n //=============================================================================\n // DEPRECATED HTTP+SSE TRANSPORT (PROTOCOL VERSION 2024-11-05)\n //=============================================================================\n\n app.get(\"/sse\", async (req: Request, res: Response) => {\n logger.info(\"Received GET request to /sse (deprecated SSE transport)\");\n const transport = new SSEServerTransport(\"/messages\", res);\n transports[transport.sessionId] = transport;\n res.on(\"close\", () => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[transport.sessionId];\n });\n await server.connect(transport);\n });\n\n app.post(\"/messages\", async (req: Request, res: Response) => {\n const sessionId = req.query.sessionId as string;\n let transport: SSEServerTransport;\n const existingTransport = transports[sessionId];\n if (existingTransport instanceof SSEServerTransport) {\n // Reuse existing transport\n transport = existingTransport;\n } else {\n // Transport exists but is not a SSEServerTransport (could be StreamableHTTPServerTransport)\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: Session exists but uses a different transport protocol\",\n },\n id: null,\n });\n return;\n }\n if (transport) {\n await transport.handlePostMessage(req, res, req.body);\n } else {\n res.status(400).send(\"No transport found for sessionId\");\n }\n });\n\n // Start the server\n app.listen(port, hostname, () => {\n logger.info(`Backwards compatible MCP server listening on port ${hostname}:${port}`);\n logger.debug(`\n ==============================================\n SUPPORTED TRANSPORT OPTIONS:\n\n 1. Streamable Http(Protocol version: 2025-03-26)\n Endpoint: /mcp\n Methods: GET, POST, DELETE\n Usage: \n - Initialize with POST to /mcp\n - Establish SSE stream with GET to /mcp\n - Send requests with POST to /mcp\n - Terminate session with DELETE to /mcp\n\n 2. Http + SSE (Protocol version: 2024-11-05)\n Endpoints: /sse (GET) and /messages (POST)\n Usage:\n - Establish SSE stream with GET to /sse\n - Send requests with POST to /messages?sessionId=<id>\n ==============================================\n `);\n });\n\n // Handle server shutdown\n process.on(\"SIGINT\", async () => {\n logger.info(\"Shutting down server...\");\n\n // Close all active transports to properly clean up resources\n for (const sessionId in transports) {\n try {\n logger.debug(`Closing transport for session ${sessionId}`);\n await transports[sessionId].close();\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[sessionId];\n } catch (error) {\n logger.error(`Error closing transport for session ${sessionId}:`, error);\n }\n }\n logger.debug(\"Server shutdown complete\");\n process.exit(0);\n });\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/mcp/serve/http_server.ts"],"names":["logger","Logger","root","child","name","runServer","server","hostname","port","app","express","use","json","transports","all","req","res","debug","method","sessionId","headers","transport","existingTransport","StreamableHTTPServerTransport","status","jsonrpc","error","code","message","id","isInitializeRequest","body","eventStore","InMemoryEventStore","sessionIdGenerator","randomUUID","onsessioninitialized","onclose","sid","connect","handleRequest","headersSent","get","info","SSEServerTransport","on","post","query","handlePostMessage","send","listen","process","close","exit"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAMA,MAAAA,GAASC,iBAAAA,CAAOC,IAAAA,CAAKC,KAAAA,CAAM;EAC/BC,IAAAA,EAAM;AACR,CAAA,CAAA;AAEO,SAASC,SAAAA,CAAUC,MAAAA,EAAmBC,QAAAA,GAAW,WAAA,EAAaC,OAAO,GAAA,EAAI;AAE9E,EAAA,MAAMC,MAAMC,wBAAAA,EAAAA;AACZD,EAAAA,GAAAA,CAAIE,GAAAA,CAAID,wBAAAA,CAAQE,IAAAA,EAAI,CAAA;AAGpB,EAAA,MAAMC,aAAiF,EAAC;AAOxFJ,EAAAA,GAAAA,CAAIK,GAAAA,CAAI,MAAA,EAAQ,OAAOC,GAAAA,EAAcC,GAAAA,KAAAA;AACnChB,IAAAA,MAAAA,CAAOiB,KAAAA,CAAM,CAAA,SAAA,EAAYF,GAAAA,CAAIG,MAAM,CAAA,gBAAA,CAAkB,CAAA;AAErD,IAAA,IAAI;AAEF,MAAA,MAAMC,SAAAA,GAAYJ,GAAAA,CAAIK,OAAAA,CAAQ,gBAAA,CAAA;AAC9B,MAAA,IAAIC,SAAAA;AAEJ,MAAA,IAAIF,SAAAA,IAAaN,UAAAA,CAAWM,SAAAA,CAAAA,EAAY;AAEtC,QAAA,MAAMG,iBAAAA,GAAoBT,WAAWM,SAAAA,CAAAA;AACrC,QAAA,IAAIG,6BAA6BC,+CAAAA,EAA+B;AAE9DF,UAAAA,SAAAA,GAAYC,iBAAAA;SACd,MAAO;AAELN,UAAAA,GAAAA,CAAIQ,MAAAA,CAAO,GAAA,CAAA,CAAKZ,IAAAA,CAAK;YACnBa,OAAAA,EAAS,KAAA;YACTC,KAAAA,EAAO;cACLC,IAAAA,EAAM,CAAA,IAAA;cACNC,OAAAA,EAAS;AACX,aAAA;YACAC,EAAAA,EAAI;WACN,CAAA;AACA,UAAA;AACF;OACF,MAAA,IAAW,CAACV,aAAaJ,GAAAA,CAAIG,MAAAA,KAAW,UAAUY,4BAAAA,CAAoBf,GAAAA,CAAIgB,IAAI,CAAA,EAAG;AAC/E,QAAA,MAAMC,UAAAA,GAAa,IAAIC,sCAAAA,EAAAA;AACvBZ,QAAAA,SAAAA,GAAY,IAAIE,+CAAAA,CAA8B;UAC5CW,kBAAAA,kBAAoB,MAAA,CAAA,MAAMC,wBAAAA,EAAN,oBAAA,CAAA;AACpBH,UAAAA,UAAAA;;AACAI,UAAAA,oBAAAA,0BAAuBjB,UAAAA,KAAAA;AAErBnB,YAAAA,MAAAA,CAAOiB,KAAAA,CAAM,CAAA,4CAAA,EAA+CE,UAAAA,CAAAA,CAAW,CAAA;AACvEN,YAAAA,UAAAA,CAAWM,UAAAA,CAAAA,GAAaE,SAAAA;WAC1B,EAJsB,sBAAA;SAKxB,CAAA;AAGAA,QAAAA,SAAAA,CAAUgB,UAAU,MAAA;AAClB,UAAA,MAAMC,MAAMjB,SAAAA,CAAUF,SAAAA;AACtB,UAAA,IAAImB,GAAAA,IAAOzB,UAAAA,CAAWyB,GAAAA,CAAAA,EAAM;AAC1BtC,YAAAA,MAAAA,CAAOiB,KAAAA,CAAM,CAAA,6BAAA,EAAgCqB,GAAAA,CAAAA,8BAAAA,CAAmC,CAAA;AAEhF,YAAA,OAAOzB,WAAWyB,GAAAA,CAAAA;AACpB;AACF,SAAA;AAGA,QAAA,MAAMhC,MAAAA,CAAOiC,QAAQlB,SAAAA,CAAAA;OACvB,MAAO;AAELL,QAAAA,GAAAA,CAAIQ,MAAAA,CAAO,GAAA,CAAA,CAAKZ,IAAAA,CAAK;UACnBa,OAAAA,EAAS,KAAA;UACTC,KAAAA,EAAO;YACLC,IAAAA,EAAM,CAAA,IAAA;YACNC,OAAAA,EAAS;AACX,WAAA;UACAC,EAAAA,EAAI;SACN,CAAA;AACA,QAAA;AACF;AAGA,MAAA,MAAMR,SAAAA,CAAUmB,aAAAA,CAAczB,GAAAA,EAAKC,GAAAA,EAAKD,IAAIgB,IAAI,CAAA;AAClD,KAAA,CAAA,OAASL,KAAAA,EAAO;AACd1B,MAAAA,MAAAA,CAAO0B,KAAAA,CAAM,+BAA+BA,KAAAA,CAAAA;AAC5C,MAAA,IAAI,CAACV,IAAIyB,WAAAA,EAAa;AACpBzB,QAAAA,GAAAA,CAAIQ,MAAAA,CAAO,GAAA,CAAA,CAAKZ,IAAAA,CAAK;UACnBa,OAAAA,EAAS,KAAA;UACTC,KAAAA,EAAO;YACLC,IAAAA,EAAM,MAAA;YACNC,OAAAA,EAAS;AACX,WAAA;UACAC,EAAAA,EAAI;SACN,CAAA;AACF;AACF;GACF,CAAA;AAMApB,EAAAA,GAAAA,CAAIiC,GAAAA,CAAI,MAAA,EAAQ,OAAO3B,GAAAA,EAAcC,GAAAA,KAAAA;AACnChB,IAAAA,MAAAA,CAAO2C,KAAK,yDAAA,CAAA;AACZ,IAAA,MAAMtB,SAAAA,GAAY,IAAIuB,yBAAAA,CAAmB,WAAA,EAAa5B,GAAAA,CAAAA;AACtDH,IAAAA,UAAAA,CAAWQ,SAAAA,CAAUF,SAAS,CAAA,GAAIE,SAAAA;AAClCL,IAAAA,GAAAA,CAAI6B,EAAAA,CAAG,SAAS,MAAA;AAEd,MAAA,OAAOhC,UAAAA,CAAWQ,UAAUF,SAAS,CAAA;KACvC,CAAA;AACA,IAAA,MAAMb,MAAAA,CAAOiC,QAAQlB,SAAAA,CAAAA;GACvB,CAAA;AAEAZ,EAAAA,GAAAA,CAAIqC,IAAAA,CAAK,WAAA,EAAa,OAAO/B,GAAAA,EAAcC,GAAAA,KAAAA;AACzC,IAAA,MAAMG,SAAAA,GAAYJ,IAAIgC,KAAAA,CAAM5B,SAAAA;AAC5B,IAAA,IAAIE,SAAAA;AACJ,IAAA,MAAMC,iBAAAA,GAAoBT,WAAWM,SAAAA,CAAAA;AACrC,IAAA,IAAIG,6BAA6BsB,yBAAAA,EAAoB;AAEnDvB,MAAAA,SAAAA,GAAYC,iBAAAA;KACd,MAAO;AAELN,MAAAA,GAAAA,CAAIQ,MAAAA,CAAO,GAAA,CAAA,CAAKZ,IAAAA,CAAK;QACnBa,OAAAA,EAAS,KAAA;QACTC,KAAAA,EAAO;UACLC,IAAAA,EAAM,KAAA;UACNC,OAAAA,EAAS;AACX,SAAA;QACAC,EAAAA,EAAI;OACN,CAAA;AACA,MAAA;AACF;AACA,IAAA,IAAIR,SAAAA,EAAW;AACb,MAAA,MAAMA,SAAAA,CAAU2B,iBAAAA,CAAkBjC,GAAAA,EAAKC,GAAAA,EAAKD,IAAIgB,IAAI,CAAA;KACtD,MAAO;AACLf,MAAAA,GAAAA,CAAIQ,MAAAA,CAAO,GAAA,CAAA,CAAKyB,IAAAA,CAAK,kCAAA,CAAA;AACvB;GACF,CAAA;AAGAxC,EAAAA,GAAAA,CAAIyC,MAAAA,CAAO1C,IAAAA,EAAMD,QAAAA,EAAU,MAAA;AACzBP,IAAAA,MAAAA,CAAO2C,IAAAA,CAAK,CAAA,kDAAA,EAAqDpC,QAAAA,CAAAA,CAAAA,EAAYC,IAAAA,CAAAA,CAAM,CAAA;AACnFR,IAAAA,MAAAA,CAAOiB,KAAAA,CAAM;;;;;;;;;;;;;;;;;;;AAmBZ,IAAA,CAAA,CAAA;GACH,CAAA;AAGAkC,EAAAA,OAAAA,CAAQN,EAAAA,CAAG,UAAU,YAAA;AACnB7C,IAAAA,MAAAA,CAAO2C,KAAK,yBAAA,CAAA;AAGZ,IAAA,KAAA,MAAWxB,aAAaN,UAAAA,EAAY;AAClC,MAAA,IAAI;AACFb,QAAAA,MAAAA,CAAOiB,KAAAA,CAAM,CAAA,8BAAA,EAAiCE,SAAAA,CAAAA,CAAW,CAAA;AACzD,QAAA,MAAMN,UAAAA,CAAWM,SAAAA,CAAAA,CAAWiC,KAAAA,EAAK;AAEjC,QAAA,OAAOvC,WAAWM,SAAAA,CAAAA;AACpB,OAAA,CAAA,OAASO,KAAAA,EAAO;AACd1B,QAAAA,MAAAA,CAAO0B,KAAAA,CAAM,CAAA,oCAAA,EAAuCP,SAAAA,CAAAA,CAAAA,CAAAA,EAAcO,KAAAA,CAAAA;AACpE;AACF;AACA1B,IAAAA,MAAAA,CAAOiB,MAAM,0BAAA,CAAA;AACbkC,IAAAA,OAAAA,CAAQE,KAAK,CAAA,CAAA;GACf,CAAA;AACF;AAjLgBhD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA","file":"http_server.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// Taken from: https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/examples/server/sseAndStreamableHttpCompatibleServer.ts\n\nimport express, { Request, Response } from \"express\";\nimport { SSEServerTransport } from \"@modelcontextprotocol/sdk/server/sse.js\";\nimport { StreamableHTTPServerTransport } from \"@modelcontextprotocol/sdk/server/streamableHttp.js\";\nimport { isInitializeRequest } from \"@modelcontextprotocol/sdk/types.js\";\nimport { InMemoryEventStore } from \"./in_memory_store.js\";\nimport { randomUUID } from \"node:crypto\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { Logger } from \"@/logger/logger.js\";\n\nconst logger = Logger.root.child({\n name: \"MCP HTTP server\",\n});\n\nexport function runServer(server: McpServer, hostname = \"127.0.0.1\", port = 3000) {\n // Create Express application\n const app = express();\n app.use(express.json());\n\n // Store transports by session ID\n const transports: Record<string, StreamableHTTPServerTransport | SSEServerTransport> = {};\n\n //=============================================================================\n // STREAMABLE HTTP TRANSPORT (PROTOCOL VERSION 2025-03-26)\n //=============================================================================\n\n // Handle all MCP Streamable HTTP requests (GET, POST, DELETE) on a single endpoint\n app.all(\"/mcp\", async (req: Request, res: Response) => {\n logger.debug(`Received ${req.method} request to /mcp`);\n\n try {\n // Check for existing session ID\n const sessionId = req.headers[\"mcp-session-id\"] as string | undefined;\n let transport: StreamableHTTPServerTransport;\n\n if (sessionId && transports[sessionId]) {\n // Check if the transport is of the correct type\n const existingTransport = transports[sessionId];\n if (existingTransport instanceof StreamableHTTPServerTransport) {\n // Reuse existing transport\n transport = existingTransport;\n } else {\n // Transport exists but is not a StreamableHTTPServerTransport (could be SSEServerTransport)\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: Session exists but uses a different transport protocol\",\n },\n id: null,\n });\n return;\n }\n } else if (!sessionId && req.method === \"POST\" && isInitializeRequest(req.body)) {\n const eventStore = new InMemoryEventStore();\n transport = new StreamableHTTPServerTransport({\n sessionIdGenerator: () => randomUUID(),\n eventStore, // Enable resumability\n onsessioninitialized: (sessionId) => {\n // Store the transport by session ID when session is initialized\n logger.debug(`StreamableHTTP session initialized with ID: ${sessionId}`);\n transports[sessionId] = transport;\n },\n });\n\n // Set up onclose handler to clean up transport when closed\n transport.onclose = () => {\n const sid = transport.sessionId;\n if (sid && transports[sid]) {\n logger.debug(`Transport closed for session ${sid}, removing from transports map`);\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[sid];\n }\n };\n\n // Connect the transport to the MCP server\n await server.connect(transport);\n } else {\n // Invalid request - no session ID or not initialization request\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: No valid session ID provided\",\n },\n id: null,\n });\n return;\n }\n\n // Handle the request with the transport\n await transport.handleRequest(req, res, req.body);\n } catch (error) {\n logger.error(\"Error handling MCP request:\", error);\n if (!res.headersSent) {\n res.status(500).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32603,\n message: \"Internal server error\",\n },\n id: null,\n });\n }\n }\n });\n\n //=============================================================================\n // DEPRECATED HTTP+SSE TRANSPORT (PROTOCOL VERSION 2024-11-05)\n //=============================================================================\n\n app.get(\"/sse\", async (req: Request, res: Response) => {\n logger.info(\"Received GET request to /sse (deprecated SSE transport)\");\n const transport = new SSEServerTransport(\"/messages\", res);\n transports[transport.sessionId] = transport;\n res.on(\"close\", () => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[transport.sessionId];\n });\n await server.connect(transport);\n });\n\n app.post(\"/messages\", async (req: Request, res: Response) => {\n const sessionId = req.query.sessionId as string;\n let transport: SSEServerTransport;\n const existingTransport = transports[sessionId];\n if (existingTransport instanceof SSEServerTransport) {\n // Reuse existing transport\n transport = existingTransport;\n } else {\n // Transport exists but is not a SSEServerTransport (could be StreamableHTTPServerTransport)\n res.status(400).json({\n jsonrpc: \"2.0\",\n error: {\n code: -32000,\n message: \"Bad Request: Session exists but uses a different transport protocol\",\n },\n id: null,\n });\n return;\n }\n if (transport) {\n await transport.handlePostMessage(req, res, req.body);\n } else {\n res.status(400).send(\"No transport found for sessionId\");\n }\n });\n\n // Start the server\n app.listen(port, hostname, () => {\n logger.info(`Backwards compatible MCP server listening on port ${hostname}:${port}`);\n logger.debug(`\n ==============================================\n SUPPORTED TRANSPORT OPTIONS:\n\n 1. Streamable Http(Protocol version: 2025-03-26)\n Endpoint: /mcp\n Methods: GET, POST, DELETE\n Usage: \n - Initialize with POST to /mcp\n - Establish SSE stream with GET to /mcp\n - Send requests with POST to /mcp\n - Terminate session with DELETE to /mcp\n\n 2. Http + SSE (Protocol version: 2024-11-05)\n Endpoints: /sse (GET) and /messages (POST)\n Usage:\n - Establish SSE stream with GET to /sse\n - Send requests with POST to /messages?sessionId=<id>\n ==============================================\n `);\n });\n\n // Handle server shutdown\n process.on(\"SIGINT\", async () => {\n logger.info(\"Shutting down server...\");\n\n // Close all active transports to properly clean up resources\n for (const sessionId in transports) {\n try {\n logger.debug(`Closing transport for session ${sessionId}`);\n await transports[sessionId].close();\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete transports[sessionId];\n } catch (error) {\n logger.error(`Error closing transport for session ${sessionId}:`, error);\n }\n }\n logger.debug(\"Server shutdown complete\");\n process.exit(0);\n });\n}\n"]}
@@ -2,18 +2,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
 
3
3
  /**
4
4
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
5
- *
6
- * Licensed under the Apache License, Version 2.0 (the "License");
7
- * you may not use this file except in compliance with the License.
8
- * You may obtain a copy of the License at
9
- *
10
- * http://www.apache.org/licenses/LICENSE-2.0
11
- *
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS,
14
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- * See the License for the specific language governing permissions and
16
- * limitations under the License.
5
+ * SPDX-License-Identifier: Apache-2.0
17
6
  */
18
7
 
19
8
  declare function runServer(server: McpServer, hostname?: string, port?: number): void;
@@ -2,18 +2,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
 
3
3
  /**
4
4
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
5
- *
6
- * Licensed under the Apache License, Version 2.0 (the "License");
7
- * you may not use this file except in compliance with the License.
8
- * You may obtain a copy of the License at
9
- *
10
- * http://www.apache.org/licenses/LICENSE-2.0
11
- *
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS,
14
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- * See the License for the specific language governing permissions and
16
- * limitations under the License.
5
+ * SPDX-License-Identifier: Apache-2.0
17
6
  */
18
7
 
19
8
  declare function runServer(server: McpServer, hostname?: string, port?: number): void;