beeai-framework 0.1.20 → 0.1.22

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 (485) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +4 -4
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  3. package/dist/adapters/a2a/agents/agent.d.cts +6 -10
  4. package/dist/adapters/a2a/agents/agent.d.ts +6 -10
  5. package/dist/adapters/a2a/agents/agent.js +4 -4
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  7. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  8. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  9. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  10. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  11. package/dist/adapters/a2a/agents/utils.cjs +2 -2
  12. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  13. package/dist/adapters/a2a/agents/utils.js +2 -2
  14. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  15. package/dist/adapters/a2a/serve/agent_executor.cjs +1 -3
  16. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  17. package/dist/adapters/a2a/serve/agent_executor.d.cts +4 -3
  18. package/dist/adapters/a2a/serve/agent_executor.d.ts +4 -3
  19. package/dist/adapters/a2a/serve/agent_executor.js +1 -3
  20. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  21. package/dist/adapters/a2a/serve/server.cjs +15 -0
  22. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  23. package/dist/adapters/a2a/serve/server.d.cts +4 -2
  24. package/dist/adapters/a2a/serve/server.d.ts +4 -2
  25. package/dist/adapters/a2a/serve/server.js +15 -0
  26. package/dist/adapters/a2a/serve/server.js.map +1 -1
  27. package/dist/adapters/acp/agents/agent.d.cts +6 -10
  28. package/dist/adapters/acp/agents/agent.d.ts +6 -10
  29. package/dist/adapters/acp/agents/events.d.cts +1 -1
  30. package/dist/adapters/acp/agents/events.d.ts +1 -1
  31. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.cjs +4 -4
  32. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -0
  33. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.cts +18 -16
  34. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.ts +18 -16
  35. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.js +4 -4
  36. package/dist/adapters/agentstack/agents/agent.js.map +1 -0
  37. package/dist/adapters/agentstack/agents/events.d.cts +23 -0
  38. package/dist/adapters/agentstack/agents/events.d.ts +23 -0
  39. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.cts +4 -4
  40. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.ts +4 -4
  41. package/dist/adapters/amazon-bedrock/backend/chat.cjs +3 -2
  42. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  43. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +5 -6
  44. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +5 -6
  45. package/dist/adapters/amazon-bedrock/backend/chat.js +3 -2
  46. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  47. package/dist/adapters/amazon-bedrock/backend/embedding.cjs +2 -2
  48. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +4 -4
  50. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +4 -4
  51. package/dist/adapters/amazon-bedrock/backend/embedding.js +2 -2
  52. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  53. package/dist/adapters/anthropic/backend/chat.cjs +3 -2
  54. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  55. package/dist/adapters/anthropic/backend/chat.d.cts +5 -6
  56. package/dist/adapters/anthropic/backend/chat.d.ts +5 -6
  57. package/dist/adapters/anthropic/backend/chat.js +3 -2
  58. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  59. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  60. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  61. package/dist/adapters/azure-openai/backend/chat.cjs +3 -2
  62. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/azure-openai/backend/chat.d.cts +5 -6
  64. package/dist/adapters/azure-openai/backend/chat.d.ts +5 -6
  65. package/dist/adapters/azure-openai/backend/chat.js +3 -2
  66. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  67. package/dist/adapters/azure-openai/backend/embedding.cjs +2 -2
  68. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  69. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -3
  70. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -3
  71. package/dist/adapters/azure-openai/backend/embedding.js +2 -2
  72. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  73. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  74. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  75. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  76. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  77. package/dist/adapters/google-vertex/backend/chat.cjs +3 -2
  78. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  79. package/dist/adapters/google-vertex/backend/chat.d.cts +5 -6
  80. package/dist/adapters/google-vertex/backend/chat.d.ts +5 -6
  81. package/dist/adapters/google-vertex/backend/chat.js +3 -2
  82. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  83. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  84. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  85. package/dist/adapters/groq/backend/chat.cjs +3 -2
  86. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  87. package/dist/adapters/groq/backend/chat.d.cts +5 -6
  88. package/dist/adapters/groq/backend/chat.d.ts +5 -6
  89. package/dist/adapters/groq/backend/chat.js +3 -2
  90. package/dist/adapters/groq/backend/chat.js.map +1 -1
  91. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  92. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  93. package/dist/adapters/langchain/backend/chat.cjs +6 -5
  94. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  95. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  96. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  97. package/dist/adapters/langchain/backend/chat.js +6 -5
  98. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  99. package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
  100. package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
  101. package/dist/adapters/langchain/tools.d.cts +1 -1
  102. package/dist/adapters/langchain/tools.d.ts +1 -1
  103. package/dist/adapters/ollama/backend/chat.cjs +1 -4
  104. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  105. package/dist/adapters/ollama/backend/chat.d.cts +4 -4
  106. package/dist/adapters/ollama/backend/chat.d.ts +4 -4
  107. package/dist/adapters/ollama/backend/chat.js +1 -4
  108. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  109. package/dist/adapters/ollama/backend/client.cjs +2 -2
  110. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  111. package/dist/adapters/ollama/backend/client.d.cts +1 -1
  112. package/dist/adapters/ollama/backend/client.d.ts +1 -1
  113. package/dist/adapters/ollama/backend/client.js +1 -1
  114. package/dist/adapters/ollama/backend/client.js.map +1 -1
  115. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  116. package/dist/adapters/ollama/backend/embedding.d.cts +3 -3
  117. package/dist/adapters/ollama/backend/embedding.d.ts +3 -3
  118. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  119. package/dist/adapters/openai/backend/chat.cjs +3 -2
  120. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  121. package/dist/adapters/openai/backend/chat.d.cts +5 -6
  122. package/dist/adapters/openai/backend/chat.d.ts +5 -6
  123. package/dist/adapters/openai/backend/chat.js +3 -2
  124. package/dist/adapters/openai/backend/chat.js.map +1 -1
  125. package/dist/adapters/openai/backend/client.cjs +2 -11
  126. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  127. package/dist/adapters/openai/backend/client.js +3 -12
  128. package/dist/adapters/openai/backend/client.js.map +1 -1
  129. package/dist/adapters/openai/backend/embedding.cjs +2 -2
  130. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  131. package/dist/adapters/openai/backend/embedding.d.cts +4 -4
  132. package/dist/adapters/openai/backend/embedding.d.ts +4 -4
  133. package/dist/adapters/openai/backend/embedding.js +2 -2
  134. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  135. package/dist/adapters/vercel/backend/chat.cjs +26 -21
  136. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  137. package/dist/adapters/vercel/backend/chat.d.cts +6 -4
  138. package/dist/adapters/vercel/backend/chat.d.ts +6 -4
  139. package/dist/adapters/vercel/backend/chat.js +27 -22
  140. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  141. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  142. package/dist/adapters/vercel/backend/embedding.d.cts +3 -3
  143. package/dist/adapters/vercel/backend/embedding.d.ts +3 -3
  144. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  145. package/dist/adapters/vercel/backend/utils.cjs +26 -0
  146. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  147. package/dist/adapters/vercel/backend/utils.d.cts +20 -2
  148. package/dist/adapters/vercel/backend/utils.d.ts +20 -2
  149. package/dist/adapters/vercel/backend/utils.js +25 -1
  150. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  151. package/dist/adapters/watsonx/backend/chat.cjs +10 -4
  152. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  153. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  154. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  155. package/dist/adapters/watsonx/backend/chat.js +10 -4
  156. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  157. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  158. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  159. package/dist/adapters/xai/backend/chat.cjs +3 -2
  160. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  161. package/dist/adapters/xai/backend/chat.d.cts +5 -6
  162. package/dist/adapters/xai/backend/chat.d.ts +5 -6
  163. package/dist/adapters/xai/backend/chat.js +3 -2
  164. package/dist/adapters/xai/backend/chat.js.map +1 -1
  165. package/dist/{agent-I0Saf4A1.d.cts → agent-BMfyig7X.d.cts} +5 -4
  166. package/dist/{agent-CtrCeN7o.d.ts → agent-Dxw8AGWb.d.ts} +5 -4
  167. package/dist/agents/base.cjs +5 -2
  168. package/dist/agents/base.cjs.map +1 -1
  169. package/dist/agents/base.d.cts +2 -2
  170. package/dist/agents/base.d.ts +2 -2
  171. package/dist/agents/base.js +5 -2
  172. package/dist/agents/base.js.map +1 -1
  173. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  174. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  175. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  176. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  177. package/dist/agents/experimental/streamlit/agent.d.cts +8 -12
  178. package/dist/agents/experimental/streamlit/agent.d.ts +8 -12
  179. package/dist/agents/react/agent.d.cts +5 -4
  180. package/dist/agents/react/agent.d.ts +5 -4
  181. package/dist/agents/react/prompts.d.cts +1 -1
  182. package/dist/agents/react/prompts.d.ts +1 -1
  183. package/dist/agents/react/runners/base.cjs.map +1 -1
  184. package/dist/agents/react/runners/base.d.cts +5 -4
  185. package/dist/agents/react/runners/base.d.ts +5 -4
  186. package/dist/agents/react/runners/base.js.map +1 -1
  187. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
  188. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
  189. package/dist/agents/react/runners/deep-think/runner.d.cts +6 -5
  190. package/dist/agents/react/runners/deep-think/runner.d.ts +6 -5
  191. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  192. package/dist/agents/react/runners/default/runner.d.cts +6 -5
  193. package/dist/agents/react/runners/default/runner.d.ts +6 -5
  194. package/dist/agents/react/runners/default/runner.js.map +1 -1
  195. package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
  196. package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
  197. package/dist/agents/react/runners/granite/runner.cjs +4 -2
  198. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  199. package/dist/agents/react/runners/granite/runner.d.cts +6 -5
  200. package/dist/agents/react/runners/granite/runner.d.ts +6 -5
  201. package/dist/agents/react/runners/granite/runner.js +4 -2
  202. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  203. package/dist/agents/react/types.d.cts +3 -2
  204. package/dist/agents/react/types.d.ts +3 -2
  205. package/dist/agents/requirement/agent.cjs +162 -0
  206. package/dist/agents/requirement/agent.cjs.map +1 -0
  207. package/dist/agents/requirement/agent.d.cts +29 -0
  208. package/dist/agents/requirement/agent.d.ts +29 -0
  209. package/dist/agents/requirement/agent.js +160 -0
  210. package/dist/agents/requirement/agent.js.map +1 -0
  211. package/dist/agents/requirement/prompts.cjs +95 -0
  212. package/dist/agents/requirement/prompts.cjs.map +1 -0
  213. package/dist/agents/requirement/prompts.d.cts +107 -0
  214. package/dist/agents/requirement/prompts.d.ts +107 -0
  215. package/dist/agents/requirement/prompts.js +90 -0
  216. package/dist/agents/requirement/prompts.js.map +1 -0
  217. package/dist/agents/requirement/requirements/conditional.cjs +190 -0
  218. package/dist/agents/requirement/requirements/conditional.cjs.map +1 -0
  219. package/dist/agents/requirement/requirements/conditional.d.cts +71 -0
  220. package/dist/agents/requirement/requirements/conditional.d.ts +71 -0
  221. package/dist/agents/requirement/requirements/conditional.js +188 -0
  222. package/dist/agents/requirement/requirements/conditional.js.map +1 -0
  223. package/dist/agents/requirement/requirements/requirement.cjs +107 -0
  224. package/dist/agents/requirement/requirements/requirement.cjs.map +1 -0
  225. package/dist/agents/requirement/requirements/requirement.d.cts +59 -0
  226. package/dist/agents/requirement/requirements/requirement.d.ts +59 -0
  227. package/dist/agents/requirement/requirements/requirement.js +104 -0
  228. package/dist/agents/requirement/requirements/requirement.js.map +1 -0
  229. package/dist/agents/requirement/requirements/utils.cjs +74 -0
  230. package/dist/agents/requirement/requirements/utils.cjs.map +1 -0
  231. package/dist/agents/requirement/requirements/utils.d.cts +40 -0
  232. package/dist/agents/requirement/requirements/utils.d.ts +40 -0
  233. package/dist/agents/requirement/requirements/utils.js +69 -0
  234. package/dist/agents/requirement/requirements/utils.js.map +1 -0
  235. package/dist/agents/requirement/runner.cjs +252 -0
  236. package/dist/agents/requirement/runner.cjs.map +1 -0
  237. package/dist/agents/requirement/runner.d.cts +117 -0
  238. package/dist/agents/requirement/runner.d.ts +117 -0
  239. package/dist/agents/requirement/runner.js +250 -0
  240. package/dist/agents/requirement/runner.js.map +1 -0
  241. package/dist/agents/requirement/types.cjs +40 -0
  242. package/dist/agents/requirement/types.cjs.map +1 -0
  243. package/dist/agents/requirement/types.d.cts +24 -0
  244. package/dist/agents/requirement/types.d.ts +24 -0
  245. package/dist/agents/requirement/types.js +35 -0
  246. package/dist/agents/requirement/types.js.map +1 -0
  247. package/dist/agents/requirement/utils/llm.cjs +202 -0
  248. package/dist/agents/requirement/utils/llm.cjs.map +1 -0
  249. package/dist/agents/requirement/utils/llm.d.cts +50 -0
  250. package/dist/agents/requirement/utils/llm.d.ts +50 -0
  251. package/dist/agents/requirement/utils/llm.js +199 -0
  252. package/dist/agents/requirement/utils/llm.js.map +1 -0
  253. package/dist/agents/requirement/utils/tool.cjs +94 -0
  254. package/dist/agents/requirement/utils/tool.cjs.map +1 -0
  255. package/dist/agents/requirement/utils/tool.d.cts +24 -0
  256. package/dist/agents/requirement/utils/tool.d.ts +24 -0
  257. package/dist/agents/requirement/utils/tool.js +91 -0
  258. package/dist/agents/requirement/utils/tool.js.map +1 -0
  259. package/dist/agents/requirement/utils/toolCallChecker.cjs +61 -0
  260. package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -0
  261. package/dist/agents/requirement/utils/toolCallChecker.d.cts +28 -0
  262. package/dist/agents/requirement/utils/toolCallChecker.d.ts +28 -0
  263. package/dist/agents/requirement/utils/toolCallChecker.js +59 -0
  264. package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -0
  265. package/dist/agents/toolCalling/agent.cjs +9 -5
  266. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  267. package/dist/agents/toolCalling/agent.d.cts +8 -12
  268. package/dist/agents/toolCalling/agent.d.ts +8 -12
  269. package/dist/agents/toolCalling/agent.js +9 -5
  270. package/dist/agents/toolCalling/agent.js.map +1 -1
  271. package/dist/agents/toolCalling/types.d.cts +1 -1
  272. package/dist/agents/toolCalling/types.d.ts +1 -1
  273. package/dist/agents/types.d.cts +2 -2
  274. package/dist/agents/types.d.ts +2 -2
  275. package/dist/backend/backend.d.cts +2 -2
  276. package/dist/backend/backend.d.ts +2 -2
  277. package/dist/backend/chat.cjs +1 -1
  278. package/dist/backend/chat.cjs.map +1 -1
  279. package/dist/backend/chat.d.cts +2 -2
  280. package/dist/backend/chat.d.ts +2 -2
  281. package/dist/backend/chat.js +1 -1
  282. package/dist/backend/chat.js.map +1 -1
  283. package/dist/backend/core.d.cts +2 -2
  284. package/dist/backend/core.d.ts +2 -2
  285. package/dist/backend/embedding.d.cts +2 -2
  286. package/dist/backend/embedding.d.ts +2 -2
  287. package/dist/backend/message.cjs +59 -3
  288. package/dist/backend/message.cjs.map +1 -1
  289. package/dist/backend/message.d.cts +3 -0
  290. package/dist/backend/message.d.ts +3 -0
  291. package/dist/backend/message.js +59 -3
  292. package/dist/backend/message.js.map +1 -1
  293. package/dist/backend/utils.d.cts +2 -2
  294. package/dist/backend/utils.d.ts +2 -2
  295. package/dist/{base-BsY2baWy.d.ts → base-BurRTBA7.d.ts} +4 -2
  296. package/dist/{base-BP7v-NSL.d.cts → base-v-PYIq5G.d.cts} +4 -2
  297. package/dist/cache/fileCache.cjs.map +1 -1
  298. package/dist/cache/fileCache.js.map +1 -1
  299. package/dist/{chat-W9j8T6UU.d.ts → chat-BbCYMAdE.d.ts} +4 -2
  300. package/dist/{chat-CR4yfOR9.d.cts → chat-DB_cf15S.d.cts} +4 -2
  301. package/dist/context.cjs +22 -5
  302. package/dist/context.cjs.map +1 -1
  303. package/dist/context.d.cts +19 -6
  304. package/dist/context.d.ts +19 -6
  305. package/dist/context.js +23 -7
  306. package/dist/context.js.map +1 -1
  307. package/dist/emitter/emitter.cjs +19 -13
  308. package/dist/emitter/emitter.cjs.map +1 -1
  309. package/dist/emitter/emitter.d.cts +1 -1
  310. package/dist/emitter/emitter.d.ts +1 -1
  311. package/dist/emitter/emitter.js +19 -13
  312. package/dist/emitter/emitter.js.map +1 -1
  313. package/dist/emitter/types.d.cts +1 -1
  314. package/dist/emitter/types.d.ts +1 -1
  315. package/dist/{emitter-DWEsd-ud.d.cts → emitter-CGKd_-kK.d.cts} +6 -5
  316. package/dist/{emitter-C9nwGLt6.d.ts → emitter-CN7I4uSV.d.ts} +6 -5
  317. package/dist/index.d.cts +5 -5
  318. package/dist/index.d.ts +5 -5
  319. package/dist/internals/fetcher.d.cts +1 -1
  320. package/dist/internals/fetcher.d.ts +1 -1
  321. package/dist/internals/helpers/array.cjs +35 -0
  322. package/dist/internals/helpers/array.cjs.map +1 -1
  323. package/dist/internals/helpers/array.d.cts +6 -1
  324. package/dist/internals/helpers/array.d.ts +6 -1
  325. package/dist/internals/helpers/array.js +35 -1
  326. package/dist/internals/helpers/array.js.map +1 -1
  327. package/dist/internals/helpers/object.cjs +30 -5
  328. package/dist/internals/helpers/object.cjs.map +1 -1
  329. package/dist/internals/helpers/object.d.cts +3 -2
  330. package/dist/internals/helpers/object.d.ts +3 -2
  331. package/dist/internals/helpers/object.js +29 -5
  332. package/dist/internals/helpers/object.js.map +1 -1
  333. package/dist/internals/helpers/prototype.cjs +5 -0
  334. package/dist/internals/helpers/prototype.cjs.map +1 -1
  335. package/dist/internals/helpers/prototype.d.cts +2 -1
  336. package/dist/internals/helpers/prototype.d.ts +2 -1
  337. package/dist/internals/helpers/prototype.js +5 -1
  338. package/dist/internals/helpers/prototype.js.map +1 -1
  339. package/dist/internals/types.cjs.map +1 -1
  340. package/dist/internals/types.d.cts +1 -1
  341. package/dist/internals/types.d.ts +1 -1
  342. package/dist/internals/types.js.map +1 -1
  343. package/dist/logger/logger.cjs +8 -4
  344. package/dist/logger/logger.cjs.map +1 -1
  345. package/dist/logger/logger.d.cts +21 -15
  346. package/dist/logger/logger.d.ts +21 -15
  347. package/dist/logger/logger.js +6 -3
  348. package/dist/logger/logger.js.map +1 -1
  349. package/dist/logger/pretty.cjs +2 -2
  350. package/dist/logger/pretty.cjs.map +1 -1
  351. package/dist/logger/pretty.js +2 -2
  352. package/dist/logger/pretty.js.map +1 -1
  353. package/dist/memory/slidingMemory.d.cts +1 -1
  354. package/dist/memory/slidingMemory.d.ts +1 -1
  355. package/dist/memory/summarizeMemory.d.cts +2 -2
  356. package/dist/memory/summarizeMemory.d.ts +2 -2
  357. package/dist/middleware/trajectory.cjs +322 -0
  358. package/dist/middleware/trajectory.cjs.map +1 -0
  359. package/dist/middleware/trajectory.d.cts +115 -0
  360. package/dist/middleware/trajectory.d.ts +115 -0
  361. package/dist/middleware/trajectory.js +320 -0
  362. package/dist/middleware/trajectory.js.map +1 -0
  363. package/dist/parsers/linePrefix.cjs.map +1 -1
  364. package/dist/parsers/linePrefix.d.cts +4 -8
  365. package/dist/parsers/linePrefix.d.ts +4 -8
  366. package/dist/parsers/linePrefix.js.map +1 -1
  367. package/dist/serializer/serializer.cjs +5 -4
  368. package/dist/serializer/serializer.cjs.map +1 -1
  369. package/dist/serializer/serializer.d.cts +1 -1
  370. package/dist/serializer/serializer.d.ts +1 -1
  371. package/dist/serializer/serializer.js +5 -4
  372. package/dist/serializer/serializer.js.map +1 -1
  373. package/dist/serializer/utils.cjs +3 -0
  374. package/dist/serializer/utils.cjs.map +1 -1
  375. package/dist/serializer/utils.d.cts +1 -1
  376. package/dist/serializer/utils.d.ts +1 -1
  377. package/dist/serializer/utils.js +3 -0
  378. package/dist/serializer/utils.js.map +1 -1
  379. package/dist/{serializer-CQxucveV.d.ts → serializer-53t8gGQa.d.ts} +3 -2
  380. package/dist/{serializer-BKn50Vnx.d.cts → serializer-c51B2z6d.d.cts} +3 -2
  381. package/dist/template.cjs +20 -0
  382. package/dist/template.cjs.map +1 -1
  383. package/dist/template.d.cts +1 -0
  384. package/dist/template.d.ts +1 -0
  385. package/dist/template.js +20 -0
  386. package/dist/template.js.map +1 -1
  387. package/dist/tools/arxiv.cjs.map +1 -1
  388. package/dist/tools/arxiv.d.cts +1 -1
  389. package/dist/tools/arxiv.d.ts +1 -1
  390. package/dist/tools/arxiv.js.map +1 -1
  391. package/dist/tools/base.cjs.map +1 -1
  392. package/dist/tools/base.d.cts +3 -2
  393. package/dist/tools/base.d.ts +3 -2
  394. package/dist/tools/base.js.map +1 -1
  395. package/dist/tools/calculator.d.cts +1 -1
  396. package/dist/tools/calculator.d.ts +1 -1
  397. package/dist/tools/custom.d.cts +2 -2
  398. package/dist/tools/custom.d.ts +2 -2
  399. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  400. package/dist/tools/database/elasticsearch.d.cts +1 -1
  401. package/dist/tools/database/elasticsearch.d.ts +1 -1
  402. package/dist/tools/database/elasticsearch.js.map +1 -1
  403. package/dist/tools/database/milvus.cjs +3 -3
  404. package/dist/tools/database/milvus.cjs.map +1 -1
  405. package/dist/tools/database/milvus.d.cts +3 -3
  406. package/dist/tools/database/milvus.d.ts +3 -3
  407. package/dist/tools/database/milvus.js +3 -3
  408. package/dist/tools/database/milvus.js.map +1 -1
  409. package/dist/tools/database/qdrant.cjs +2 -2
  410. package/dist/tools/database/qdrant.cjs.map +1 -1
  411. package/dist/tools/database/qdrant.d.cts +1 -1
  412. package/dist/tools/database/qdrant.d.ts +1 -1
  413. package/dist/tools/database/qdrant.js +2 -2
  414. package/dist/tools/database/qdrant.js.map +1 -1
  415. package/dist/tools/database/sql.cjs.map +1 -1
  416. package/dist/tools/database/sql.d.cts +1 -1
  417. package/dist/tools/database/sql.d.ts +1 -1
  418. package/dist/tools/database/sql.js.map +1 -1
  419. package/dist/tools/llm.d.cts +2 -2
  420. package/dist/tools/llm.d.ts +2 -2
  421. package/dist/tools/mcp.d.cts +1 -1
  422. package/dist/tools/mcp.d.ts +1 -1
  423. package/dist/tools/openapi.d.cts +1 -1
  424. package/dist/tools/openapi.d.ts +1 -1
  425. package/dist/tools/python/output.d.cts +1 -1
  426. package/dist/tools/python/output.d.ts +1 -1
  427. package/dist/tools/python/python.d.cts +2 -2
  428. package/dist/tools/python/python.d.ts +2 -2
  429. package/dist/tools/search/base.cjs.map +1 -1
  430. package/dist/tools/search/base.d.cts +1 -1
  431. package/dist/tools/search/base.d.ts +1 -1
  432. package/dist/tools/search/base.js.map +1 -1
  433. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  434. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  435. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  436. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  437. package/dist/tools/search/googleSearch.cjs.map +1 -1
  438. package/dist/tools/search/googleSearch.d.cts +1 -1
  439. package/dist/tools/search/googleSearch.d.ts +1 -1
  440. package/dist/tools/search/googleSearch.js.map +1 -1
  441. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  442. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  443. package/dist/tools/search/wikipedia.cjs +25 -0
  444. package/dist/tools/search/wikipedia.cjs.map +1 -1
  445. package/dist/tools/search/wikipedia.d.cts +2 -3
  446. package/dist/tools/search/wikipedia.d.ts +2 -3
  447. package/dist/tools/search/wikipedia.js +23 -0
  448. package/dist/tools/search/wikipedia.js.map +1 -1
  449. package/dist/tools/similarity.d.cts +1 -1
  450. package/dist/tools/similarity.d.ts +1 -1
  451. package/dist/tools/think.cjs +52 -0
  452. package/dist/tools/think.cjs.map +1 -0
  453. package/dist/tools/think.d.cts +47 -0
  454. package/dist/tools/think.d.ts +47 -0
  455. package/dist/tools/think.js +50 -0
  456. package/dist/tools/think.js.map +1 -0
  457. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  458. package/dist/tools/weather/openMeteo.d.cts +1 -1
  459. package/dist/tools/weather/openMeteo.d.ts +1 -1
  460. package/dist/tools/weather/openMeteo.js.map +1 -1
  461. package/dist/tools/web/webCrawler.cjs.map +1 -1
  462. package/dist/tools/web/webCrawler.d.cts +1 -1
  463. package/dist/tools/web/webCrawler.d.ts +1 -1
  464. package/dist/tools/web/webCrawler.js.map +1 -1
  465. package/dist/types-BXkkbABd.d.ts +213 -0
  466. package/dist/types-Cx6f43du.d.cts +213 -0
  467. package/dist/version.cjs +1 -1
  468. package/dist/version.js +1 -1
  469. package/dist/workflows/agent.d.cts +3 -3
  470. package/dist/workflows/agent.d.ts +3 -3
  471. package/dist/workflows/workflow.d.cts +1 -1
  472. package/dist/workflows/workflow.d.ts +1 -1
  473. package/package.json +70 -69
  474. package/dist/adapters/beeai_platform/agents/agent.cjs.map +0 -1
  475. package/dist/adapters/beeai_platform/agents/agent.js.map +0 -1
  476. package/dist/adapters/beeai_platform/agents/events.d.cts +0 -23
  477. package/dist/adapters/beeai_platform/agents/events.d.ts +0 -23
  478. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs +0 -0
  479. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs.map +0 -0
  480. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js +0 -0
  481. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js.map +0 -0
  482. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs +0 -0
  483. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs.map +0 -0
  484. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js +0 -0
  485. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js.map +0 -0
@@ -222,7 +222,7 @@ class A2AAgent extends base_cjs.BaseAgent {
222
222
  referenceTaskIds: this.referenceTaskIds
223
223
  };
224
224
  } else if (input instanceof message_cjs.Message) {
225
- const parts = input.content.map(convertFrameworkContentoA2APart);
225
+ const parts = input.content.map(convertFrameworkContentToA2APart);
226
226
  return {
227
227
  kind: "message",
228
228
  role: input.role == "assistant" ? "agent" : "user",
@@ -252,7 +252,7 @@ class A2AAgent extends base_cjs.BaseAgent {
252
252
  }
253
253
  }
254
254
  }
255
- function convertFrameworkContentoA2APart(content) {
255
+ function convertFrameworkContentToA2APart(content) {
256
256
  const { type, ...rest } = content;
257
257
  switch (type) {
258
258
  case "text":
@@ -273,7 +273,7 @@ function convertFrameworkContentoA2APart(content) {
273
273
  kind: "file",
274
274
  file: {
275
275
  ...file,
276
- mimeType: content.mimeType,
276
+ mimeType: content.mediaType,
277
277
  name: "filename" in content ? content.filename : void 0
278
278
  },
279
279
  metadata: {
@@ -289,7 +289,7 @@ function convertFrameworkContentoA2APart(content) {
289
289
  };
290
290
  }
291
291
  }
292
- __name(convertFrameworkContentoA2APart, "convertFrameworkContentoA2APart");
292
+ __name(convertFrameworkContentToA2APart, "convertFrameworkContentToA2APart");
293
293
 
294
294
  exports.A2AAgent = A2AAgent;
295
295
  //# sourceMappingURL=agent.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapters/a2a/agents/agent.ts"],"names":["A2AAgent","BaseAgent","_memory","emitter","url","agentCard","agentCardPath","contextId","taskId","referenceTaskIds","input","Emitter","root","child","namespace","toCamelCase","name","creator","AgentError","isFatal","memory","AGENT_CARD_PATH","split","_run","_options","context","setRunParams","clearContext","loadAgentCard","client","A2AClient","lastEvent","messages","task","stream","sendMessageStream","message","convertToA2AMessage","event","kind","id","includes","push","content","status","artifact","final","state","undefined","emit","value","inputMessages","Array","isArray","addMany","map","convertToFrameworkMessage","results","artifacts","history","length","assistantMessages","result","AssistantMessage","err","error","toString","fromCardUrl","URL","href","getAgentCard","checkAgentExists","isEmpty","createSnapshot","shallowCopy","role","parts","text","messageId","uuid4","Message","convertFrameworkContentoA2APart","UserMessage","convertA2AMessageToFrameworkMessage","type","rest","data","image","decoder","TextDecoder","file","uri","bytes","decode","mimeType","filename","metadata","providerOptions"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuid4 } from \"uuid\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, MessageContentPart, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { A2AAgentInput, A2AAgentRunInput, A2AAgentRunOutput, A2AAgentRunOptions } from \"./types.js\";\nimport { A2AAgentEvents } from \"./events.js\";\nimport { toCamelCase } from \"remeda\";\nimport {\n AGENT_CARD_PATH,\n AgentCard,\n Message as A2AMessage,\n Task,\n Artifact,\n Part,\n FileWithUri,\n FileWithBytes,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { Message } from \"@/backend/message.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"./utils.js\";\n\nexport class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {\n private _memory!: BaseMemory;\n public readonly emitter: Emitter<A2AAgentEvents>;\n protected url: string | undefined;\n public agentCard: AgentCard | undefined;\n protected agentCardPath: string;\n protected contextId: string | undefined;\n protected taskId: string | undefined;\n protected referenceTaskIds: string[] = [];\n\n constructor(protected readonly input: A2AAgentInput) {\n super();\n this.emitter = Emitter.root.child<A2AAgentEvents>({\n namespace: [\"a2a\", \"agent\", toCamelCase(this.name)],\n creator: this,\n });\n if (input.url) {\n this.url = input.url;\n } else if (input.agentCard) {\n this.agentCard = input.agentCard;\n } else {\n throw new AgentError(\"Either url or agentCard must be provided in A2AAgentInput\", [], {\n isFatal: true,\n });\n }\n\n this.memory = input.memory;\n this.agentCardPath = input.agentCardPath || AGENT_CARD_PATH;\n }\n\n get name() {\n return this.agentCard ? this.agentCard.name : `agent_${this.url?.split(\":\")[-1]}`;\n }\n\n protected async _run(\n input: A2AAgentRunInput,\n _options: A2AAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<A2AAgentRunOutput> {\n this.setRunParams(_options?.contextId, _options?.taskId, _options?.clearContext);\n\n if (!this.agentCard) {\n await this.loadAgentCard();\n }\n\n const client = new A2AClient(this.agentCard!);\n\n let lastEvent = null;\n const messages: (A2AMessage | Artifact)[] = [];\n let task: Task | null = null;\n\n try {\n const stream = client.sendMessageStream({ message: this.convertToA2AMessage(input.input) });\n\n for await (const event of stream) {\n lastEvent = event;\n\n const taskId = event.kind === \"task\" ? event.id : event.taskId;\n const contextId = event.contextId;\n if (taskId && taskId !== this.taskId) {\n this.taskId = taskId;\n }\n if (contextId && contextId !== this.contextId) {\n this.contextId = contextId;\n }\n if (taskId && !this.referenceTaskIds.includes(taskId)) {\n this.referenceTaskIds.push(taskId);\n }\n\n if (event.kind === \"status-update\" || event.kind === \"artifact-update\") {\n const content = event.kind === \"status-update\" ? event.status.message : event.artifact;\n if (content) {\n messages.push(content);\n }\n if (\n event.kind === \"status-update\" &&\n event.final &&\n event.status.state !== \"input-required\"\n ) {\n this.taskId = undefined;\n }\n } else if (event.kind === \"message\") {\n messages.push(event);\n } else if (event.kind === \"task\") {\n task = event;\n }\n\n await context.emitter.emit(\"update\", { value: event });\n }\n\n if (!lastEvent) {\n throw new AgentError(\"No result received from agent.\");\n }\n\n // add input messages to memory\n const inputMessages = Array.isArray(input.input) ? input.input : [input.input];\n await this.memory.addMany(inputMessages.map(this.convertToFrameworkMessage));\n\n let results: (A2AMessage | Artifact)[];\n if (task) {\n if (task.artifacts) {\n results = task.artifacts;\n } else if (task.history) {\n results = task.history;\n } else if (task.status.message) {\n results = [task.status.message];\n } else {\n results = [];\n }\n } else {\n results = messages;\n }\n\n // retrieve the assistant's response\n if (results.length > 0) {\n const assistantMessages = results.map(this.convertToFrameworkMessage);\n await this.memory.addMany(assistantMessages);\n return {\n result: assistantMessages[assistantMessages.length - 1],\n event: lastEvent,\n };\n } else {\n return {\n result: new AssistantMessage(\"No response from agent.\"),\n event: lastEvent,\n };\n }\n } catch (err) {\n let message: string;\n\n if (err.message) {\n message = err.message;\n } else if (err.error) {\n message = err.error.toString();\n } else {\n message = \"Unknown error\";\n }\n\n await context.emitter.emit(\"error\", { message });\n\n throw new AgentError(message, [err], {\n context: lastEvent ?? undefined,\n });\n }\n }\n\n protected setRunParams(contextId?: string, taskId?: string, clearContext = false) {\n if (contextId) {\n this.contextId = contextId;\n }\n this.taskId = taskId;\n if (clearContext) {\n this.contextId = undefined;\n this.taskId = undefined;\n this.referenceTaskIds = [];\n }\n }\n\n async loadAgentCard() {\n if (this.agentCard) {\n return;\n }\n\n if (!this.url) {\n throw new AgentError(\"URL must be provided to load the agent card.\", [], { isFatal: true });\n }\n\n try {\n const client = await A2AClient.fromCardUrl(new URL(this.agentCardPath, this.url).href, {\n agentCardPath: this.agentCardPath,\n });\n this.agentCard = await client.getAgentCard();\n } catch (error) {\n throw new AgentError(`Can not load agent card: ${error.message}`, [error], {\n isFatal: true,\n });\n }\n }\n\n async checkAgentExists() {\n await this.loadAgentCard();\n if (!this.agentCard) {\n throw new AgentError(`Agent ${this.name} does not exist.`, [], { isFatal: true });\n }\n }\n\n get memory() {\n return this._memory;\n }\n\n set memory(memory: BaseMemory) {\n if (!memory.isEmpty()) {\n throw new AgentError(\"Memory must be empty before setting.\");\n }\n this._memory = memory;\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n protected convertToA2AMessage(input: string | Message | Message[] | A2AMessage): A2AMessage {\n if (typeof input === \"string\") {\n return {\n kind: \"message\",\n role: \"user\",\n parts: [\n {\n kind: \"text\",\n text: input,\n },\n ],\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (input instanceof Message) {\n const parts = input.content.map(convertFrameworkContentoA2APart);\n return {\n kind: \"message\",\n role: input.role == \"assistant\" ? \"agent\" : \"user\",\n parts: parts,\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (\"kind\" in input && input.kind === \"message\") {\n return input;\n } else if (Array.isArray(input) && input.length > 0) {\n return this.convertToA2AMessage(input[input.length - 1]);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n\n protected convertToFrameworkMessage(input: string | Message | A2AMessage | Artifact): Message {\n if (typeof input === \"string\") {\n return new UserMessage(input);\n } else if (input instanceof Message) {\n return input;\n } else if ((\"kind\" in input && input.kind === \"message\") || \"artifactId\" in input) {\n return convertA2AMessageToFrameworkMessage(input);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n}\n\nfunction convertFrameworkContentoA2APart(content: MessageContentPart): Part {\n const { type, ...rest } = content;\n switch (type) {\n case \"text\":\n return { kind: \"text\", text: content.text };\n case \"file\":\n case \"image\": {\n const data = type === \"file\" ? content.data : content.image;\n const decoder = new TextDecoder(\"utf-8\");\n const file =\n data instanceof URL\n ? ({ uri: data.href } as FileWithUri)\n : ({\n bytes: typeof data === \"string\" ? data : decoder.decode(data),\n } as FileWithBytes);\n return {\n kind: \"file\",\n file: {\n ...file,\n mimeType: content.mimeType,\n name: \"filename\" in content ? content.filename : undefined,\n },\n metadata: {\n providerOptions: content.providerOptions,\n },\n };\n }\n case \"tool-call\":\n case \"tool-result\":\n return {\n kind: \"data\",\n data: rest,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/a2a/agents/agent.ts"],"names":["A2AAgent","BaseAgent","_memory","emitter","url","agentCard","agentCardPath","contextId","taskId","referenceTaskIds","input","Emitter","root","child","namespace","toCamelCase","name","creator","AgentError","isFatal","memory","AGENT_CARD_PATH","split","_run","_options","context","setRunParams","clearContext","loadAgentCard","client","A2AClient","lastEvent","messages","task","stream","sendMessageStream","message","convertToA2AMessage","event","kind","id","includes","push","content","status","artifact","final","state","undefined","emit","value","inputMessages","Array","isArray","addMany","map","convertToFrameworkMessage","results","artifacts","history","length","assistantMessages","result","AssistantMessage","err","error","toString","fromCardUrl","URL","href","getAgentCard","checkAgentExists","isEmpty","createSnapshot","shallowCopy","role","parts","text","messageId","uuid4","Message","convertFrameworkContentToA2APart","UserMessage","convertA2AMessageToFrameworkMessage","type","rest","data","image","decoder","TextDecoder","file","uri","bytes","decode","mimeType","mediaType","filename","metadata","providerOptions"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuid4 } from \"uuid\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, MessageContentPart, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { A2AAgentInput, A2AAgentRunInput, A2AAgentRunOutput, A2AAgentRunOptions } from \"./types.js\";\nimport { A2AAgentEvents } from \"./events.js\";\nimport { toCamelCase } from \"remeda\";\nimport {\n AGENT_CARD_PATH,\n AgentCard,\n Message as A2AMessage,\n Task,\n Artifact,\n Part,\n FileWithUri,\n FileWithBytes,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { Message } from \"@/backend/message.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"./utils.js\";\n\nexport class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {\n private _memory!: BaseMemory;\n public readonly emitter: Emitter<A2AAgentEvents>;\n protected url: string | undefined;\n public agentCard: AgentCard | undefined;\n protected agentCardPath: string;\n protected contextId: string | undefined;\n protected taskId: string | undefined;\n protected referenceTaskIds: string[] = [];\n\n constructor(protected readonly input: A2AAgentInput) {\n super();\n this.emitter = Emitter.root.child<A2AAgentEvents>({\n namespace: [\"a2a\", \"agent\", toCamelCase(this.name)],\n creator: this,\n });\n if (input.url) {\n this.url = input.url;\n } else if (input.agentCard) {\n this.agentCard = input.agentCard;\n } else {\n throw new AgentError(\"Either url or agentCard must be provided in A2AAgentInput\", [], {\n isFatal: true,\n });\n }\n\n this.memory = input.memory;\n this.agentCardPath = input.agentCardPath || AGENT_CARD_PATH;\n }\n\n get name() {\n return this.agentCard ? this.agentCard.name : `agent_${this.url?.split(\":\")[-1]}`;\n }\n\n protected async _run(\n input: A2AAgentRunInput,\n _options: A2AAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<A2AAgentRunOutput> {\n this.setRunParams(_options?.contextId, _options?.taskId, _options?.clearContext);\n\n if (!this.agentCard) {\n await this.loadAgentCard();\n }\n\n const client = new A2AClient(this.agentCard!);\n\n let lastEvent = null;\n const messages: (A2AMessage | Artifact)[] = [];\n let task: Task | null = null;\n\n try {\n const stream = client.sendMessageStream({ message: this.convertToA2AMessage(input.input) });\n\n for await (const event of stream) {\n lastEvent = event;\n\n const taskId = event.kind === \"task\" ? event.id : event.taskId;\n const contextId = event.contextId;\n if (taskId && taskId !== this.taskId) {\n this.taskId = taskId;\n }\n if (contextId && contextId !== this.contextId) {\n this.contextId = contextId;\n }\n if (taskId && !this.referenceTaskIds.includes(taskId)) {\n this.referenceTaskIds.push(taskId);\n }\n\n if (event.kind === \"status-update\" || event.kind === \"artifact-update\") {\n const content = event.kind === \"status-update\" ? event.status.message : event.artifact;\n if (content) {\n messages.push(content);\n }\n if (\n event.kind === \"status-update\" &&\n event.final &&\n event.status.state !== \"input-required\"\n ) {\n this.taskId = undefined;\n }\n } else if (event.kind === \"message\") {\n messages.push(event);\n } else if (event.kind === \"task\") {\n task = event;\n }\n\n await context.emitter.emit(\"update\", { value: event });\n }\n\n if (!lastEvent) {\n throw new AgentError(\"No result received from agent.\");\n }\n\n // add input messages to memory\n const inputMessages = Array.isArray(input.input) ? input.input : [input.input];\n await this.memory.addMany(inputMessages.map(this.convertToFrameworkMessage));\n\n let results: (A2AMessage | Artifact)[];\n if (task) {\n if (task.artifacts) {\n results = task.artifacts;\n } else if (task.history) {\n results = task.history;\n } else if (task.status.message) {\n results = [task.status.message];\n } else {\n results = [];\n }\n } else {\n results = messages;\n }\n\n // retrieve the assistant's response\n if (results.length > 0) {\n const assistantMessages = results.map(this.convertToFrameworkMessage);\n await this.memory.addMany(assistantMessages);\n return {\n result: assistantMessages[assistantMessages.length - 1],\n event: lastEvent,\n };\n } else {\n return {\n result: new AssistantMessage(\"No response from agent.\"),\n event: lastEvent,\n };\n }\n } catch (err) {\n let message: string;\n\n if (err.message) {\n message = err.message;\n } else if (err.error) {\n message = err.error.toString();\n } else {\n message = \"Unknown error\";\n }\n\n await context.emitter.emit(\"error\", { message });\n\n throw new AgentError(message, [err], {\n context: lastEvent ?? undefined,\n });\n }\n }\n\n protected setRunParams(contextId?: string, taskId?: string, clearContext = false) {\n if (contextId) {\n this.contextId = contextId;\n }\n this.taskId = taskId;\n if (clearContext) {\n this.contextId = undefined;\n this.taskId = undefined;\n this.referenceTaskIds = [];\n }\n }\n\n async loadAgentCard() {\n if (this.agentCard) {\n return;\n }\n\n if (!this.url) {\n throw new AgentError(\"URL must be provided to load the agent card.\", [], { isFatal: true });\n }\n\n try {\n const client = await A2AClient.fromCardUrl(new URL(this.agentCardPath, this.url).href, {\n agentCardPath: this.agentCardPath,\n });\n this.agentCard = await client.getAgentCard();\n } catch (error) {\n throw new AgentError(`Can not load agent card: ${error.message}`, [error], {\n isFatal: true,\n });\n }\n }\n\n async checkAgentExists() {\n await this.loadAgentCard();\n if (!this.agentCard) {\n throw new AgentError(`Agent ${this.name} does not exist.`, [], { isFatal: true });\n }\n }\n\n get memory() {\n return this._memory;\n }\n\n set memory(memory: BaseMemory) {\n if (!memory.isEmpty()) {\n throw new AgentError(\"Memory must be empty before setting.\");\n }\n this._memory = memory;\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n protected convertToA2AMessage(input: string | Message | Message[] | A2AMessage): A2AMessage {\n if (typeof input === \"string\") {\n return {\n kind: \"message\",\n role: \"user\",\n parts: [\n {\n kind: \"text\",\n text: input,\n },\n ],\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (input instanceof Message) {\n const parts = input.content.map(convertFrameworkContentToA2APart);\n return {\n kind: \"message\",\n role: input.role == \"assistant\" ? \"agent\" : \"user\",\n parts: parts,\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (\"kind\" in input && input.kind === \"message\") {\n return input;\n } else if (Array.isArray(input) && input.length > 0) {\n return this.convertToA2AMessage(input[input.length - 1]);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n\n protected convertToFrameworkMessage(input: string | Message | A2AMessage | Artifact): Message {\n if (typeof input === \"string\") {\n return new UserMessage(input);\n } else if (input instanceof Message) {\n return input;\n } else if ((\"kind\" in input && input.kind === \"message\") || \"artifactId\" in input) {\n return convertA2AMessageToFrameworkMessage(input);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n}\n\nfunction convertFrameworkContentToA2APart(content: MessageContentPart): Part {\n const { type, ...rest } = content;\n switch (type) {\n case \"text\":\n return { kind: \"text\", text: content.text };\n case \"file\":\n case \"image\": {\n const data = type === \"file\" ? content.data : content.image;\n const decoder = new TextDecoder(\"utf-8\");\n const file =\n data instanceof URL\n ? ({ uri: data.href } as FileWithUri)\n : ({\n bytes: typeof data === \"string\" ? data : decoder.decode(data),\n } as FileWithBytes);\n return {\n kind: \"file\",\n file: {\n ...file,\n mimeType: content.mediaType,\n name: \"filename\" in content ? content.filename : undefined,\n },\n metadata: {\n providerOptions: content.providerOptions,\n },\n };\n }\n case \"tool-call\":\n case \"tool-result\":\n return {\n kind: \"data\",\n data: rest,\n };\n }\n}\n"]}
@@ -1,14 +1,15 @@
1
- import { E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
2
- import { a as BaseAgent } from '../../../base-BP7v-NSL.cjs';
3
- import { GetRunContext } from '../../../context.cjs';
1
+ import { GetRunContext, MiddlewareType } from '../../../context.cjs';
2
+ import { E as Emitter } from '../../../emitter-CGKd_-kK.cjs';
3
+ import { a as BaseAgent } from '../../../base-v-PYIq5G.cjs';
4
4
  import { BaseMemory } from '../../../memory/base.cjs';
5
5
  import { A2AAgentRunInput, A2AAgentRunOutput, A2AAgentInput, A2AAgentRunOptions } from './types.cjs';
6
6
  import { A2AAgentEvents } from './events.cjs';
7
7
  import { AgentCard, Message as Message$1, Artifact } from '@a2a-js/sdk';
8
8
  import { Message } from '../../../backend/message.cjs';
9
+ import '../../../internals/serializable.cjs';
9
10
  import '../../../internals/types.cjs';
10
11
  import '../../../internals/helpers/guards.cjs';
11
- import '../../../internals/serializable.cjs';
12
+ import '../../../internals/helpers/promise.cjs';
12
13
  import '../../../errors.cjs';
13
14
  import '../../../tools/base.cjs';
14
15
  import 'ajv';
@@ -17,14 +18,8 @@ import '../../../cache/base.cjs';
17
18
  import '../../../internals/helpers/schema.cjs';
18
19
  import 'zod';
19
20
  import 'zod-to-json-schema';
20
- import '../../../internals/helpers/promise.cjs';
21
21
  import 'ai';
22
22
 
23
- /**
24
- * Copyright 2025 © BeeAI a Series of LF Projects, LLC
25
- * SPDX-License-Identifier: Apache-2.0
26
- */
27
-
28
23
  declare class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {
29
24
  protected readonly input: A2AAgentInput;
30
25
  private _memory;
@@ -47,6 +42,7 @@ declare class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {
47
42
  input: A2AAgentInput;
48
43
  emitter: Emitter<A2AAgentEvents>;
49
44
  isRunning: boolean;
45
+ middlewares: MiddlewareType<any>[];
50
46
  };
51
47
  protected convertToA2AMessage(input: string | Message | Message[] | Message$1): Message$1;
52
48
  protected convertToFrameworkMessage(input: string | Message | Message$1 | Artifact): Message;
@@ -1,14 +1,15 @@
1
- import { E as Emitter } from '../../../emitter-C9nwGLt6.js';
2
- import { a as BaseAgent } from '../../../base-BsY2baWy.js';
3
- import { GetRunContext } from '../../../context.js';
1
+ import { GetRunContext, MiddlewareType } from '../../../context.js';
2
+ import { E as Emitter } from '../../../emitter-CN7I4uSV.js';
3
+ import { a as BaseAgent } from '../../../base-BurRTBA7.js';
4
4
  import { BaseMemory } from '../../../memory/base.js';
5
5
  import { A2AAgentRunInput, A2AAgentRunOutput, A2AAgentInput, A2AAgentRunOptions } from './types.js';
6
6
  import { A2AAgentEvents } from './events.js';
7
7
  import { AgentCard, Message as Message$1, Artifact } from '@a2a-js/sdk';
8
8
  import { Message } from '../../../backend/message.js';
9
+ import '../../../internals/serializable.js';
9
10
  import '../../../internals/types.js';
10
11
  import '../../../internals/helpers/guards.js';
11
- import '../../../internals/serializable.js';
12
+ import '../../../internals/helpers/promise.js';
12
13
  import '../../../errors.js';
13
14
  import '../../../tools/base.js';
14
15
  import 'ajv';
@@ -17,14 +18,8 @@ import '../../../cache/base.js';
17
18
  import '../../../internals/helpers/schema.js';
18
19
  import 'zod';
19
20
  import 'zod-to-json-schema';
20
- import '../../../internals/helpers/promise.js';
21
21
  import 'ai';
22
22
 
23
- /**
24
- * Copyright 2025 © BeeAI a Series of LF Projects, LLC
25
- * SPDX-License-Identifier: Apache-2.0
26
- */
27
-
28
23
  declare class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {
29
24
  protected readonly input: A2AAgentInput;
30
25
  private _memory;
@@ -47,6 +42,7 @@ declare class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {
47
42
  input: A2AAgentInput;
48
43
  emitter: Emitter<A2AAgentEvents>;
49
44
  isRunning: boolean;
45
+ middlewares: MiddlewareType<any>[];
50
46
  };
51
47
  protected convertToA2AMessage(input: string | Message | Message[] | Message$1): Message$1;
52
48
  protected convertToFrameworkMessage(input: string | Message | Message$1 | Artifact): Message;
@@ -220,7 +220,7 @@ class A2AAgent extends BaseAgent {
220
220
  referenceTaskIds: this.referenceTaskIds
221
221
  };
222
222
  } else if (input instanceof Message) {
223
- const parts = input.content.map(convertFrameworkContentoA2APart);
223
+ const parts = input.content.map(convertFrameworkContentToA2APart);
224
224
  return {
225
225
  kind: "message",
226
226
  role: input.role == "assistant" ? "agent" : "user",
@@ -250,7 +250,7 @@ class A2AAgent extends BaseAgent {
250
250
  }
251
251
  }
252
252
  }
253
- function convertFrameworkContentoA2APart(content) {
253
+ function convertFrameworkContentToA2APart(content) {
254
254
  const { type, ...rest } = content;
255
255
  switch (type) {
256
256
  case "text":
@@ -271,7 +271,7 @@ function convertFrameworkContentoA2APart(content) {
271
271
  kind: "file",
272
272
  file: {
273
273
  ...file,
274
- mimeType: content.mimeType,
274
+ mimeType: content.mediaType,
275
275
  name: "filename" in content ? content.filename : void 0
276
276
  },
277
277
  metadata: {
@@ -287,7 +287,7 @@ function convertFrameworkContentoA2APart(content) {
287
287
  };
288
288
  }
289
289
  }
290
- __name(convertFrameworkContentoA2APart, "convertFrameworkContentoA2APart");
290
+ __name(convertFrameworkContentToA2APart, "convertFrameworkContentToA2APart");
291
291
 
292
292
  export { A2AAgent };
293
293
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapters/a2a/agents/agent.ts"],"names":["A2AAgent","BaseAgent","_memory","emitter","url","agentCard","agentCardPath","contextId","taskId","referenceTaskIds","input","Emitter","root","child","namespace","toCamelCase","name","creator","AgentError","isFatal","memory","AGENT_CARD_PATH","split","_run","_options","context","setRunParams","clearContext","loadAgentCard","client","A2AClient","lastEvent","messages","task","stream","sendMessageStream","message","convertToA2AMessage","event","kind","id","includes","push","content","status","artifact","final","state","undefined","emit","value","inputMessages","Array","isArray","addMany","map","convertToFrameworkMessage","results","artifacts","history","length","assistantMessages","result","AssistantMessage","err","error","toString","fromCardUrl","URL","href","getAgentCard","checkAgentExists","isEmpty","createSnapshot","shallowCopy","role","parts","text","messageId","uuid4","Message","convertFrameworkContentoA2APart","UserMessage","convertA2AMessageToFrameworkMessage","type","rest","data","image","decoder","TextDecoder","file","uri","bytes","decode","mimeType","filename","metadata","providerOptions"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuid4 } from \"uuid\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, MessageContentPart, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { A2AAgentInput, A2AAgentRunInput, A2AAgentRunOutput, A2AAgentRunOptions } from \"./types.js\";\nimport { A2AAgentEvents } from \"./events.js\";\nimport { toCamelCase } from \"remeda\";\nimport {\n AGENT_CARD_PATH,\n AgentCard,\n Message as A2AMessage,\n Task,\n Artifact,\n Part,\n FileWithUri,\n FileWithBytes,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { Message } from \"@/backend/message.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"./utils.js\";\n\nexport class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {\n private _memory!: BaseMemory;\n public readonly emitter: Emitter<A2AAgentEvents>;\n protected url: string | undefined;\n public agentCard: AgentCard | undefined;\n protected agentCardPath: string;\n protected contextId: string | undefined;\n protected taskId: string | undefined;\n protected referenceTaskIds: string[] = [];\n\n constructor(protected readonly input: A2AAgentInput) {\n super();\n this.emitter = Emitter.root.child<A2AAgentEvents>({\n namespace: [\"a2a\", \"agent\", toCamelCase(this.name)],\n creator: this,\n });\n if (input.url) {\n this.url = input.url;\n } else if (input.agentCard) {\n this.agentCard = input.agentCard;\n } else {\n throw new AgentError(\"Either url or agentCard must be provided in A2AAgentInput\", [], {\n isFatal: true,\n });\n }\n\n this.memory = input.memory;\n this.agentCardPath = input.agentCardPath || AGENT_CARD_PATH;\n }\n\n get name() {\n return this.agentCard ? this.agentCard.name : `agent_${this.url?.split(\":\")[-1]}`;\n }\n\n protected async _run(\n input: A2AAgentRunInput,\n _options: A2AAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<A2AAgentRunOutput> {\n this.setRunParams(_options?.contextId, _options?.taskId, _options?.clearContext);\n\n if (!this.agentCard) {\n await this.loadAgentCard();\n }\n\n const client = new A2AClient(this.agentCard!);\n\n let lastEvent = null;\n const messages: (A2AMessage | Artifact)[] = [];\n let task: Task | null = null;\n\n try {\n const stream = client.sendMessageStream({ message: this.convertToA2AMessage(input.input) });\n\n for await (const event of stream) {\n lastEvent = event;\n\n const taskId = event.kind === \"task\" ? event.id : event.taskId;\n const contextId = event.contextId;\n if (taskId && taskId !== this.taskId) {\n this.taskId = taskId;\n }\n if (contextId && contextId !== this.contextId) {\n this.contextId = contextId;\n }\n if (taskId && !this.referenceTaskIds.includes(taskId)) {\n this.referenceTaskIds.push(taskId);\n }\n\n if (event.kind === \"status-update\" || event.kind === \"artifact-update\") {\n const content = event.kind === \"status-update\" ? event.status.message : event.artifact;\n if (content) {\n messages.push(content);\n }\n if (\n event.kind === \"status-update\" &&\n event.final &&\n event.status.state !== \"input-required\"\n ) {\n this.taskId = undefined;\n }\n } else if (event.kind === \"message\") {\n messages.push(event);\n } else if (event.kind === \"task\") {\n task = event;\n }\n\n await context.emitter.emit(\"update\", { value: event });\n }\n\n if (!lastEvent) {\n throw new AgentError(\"No result received from agent.\");\n }\n\n // add input messages to memory\n const inputMessages = Array.isArray(input.input) ? input.input : [input.input];\n await this.memory.addMany(inputMessages.map(this.convertToFrameworkMessage));\n\n let results: (A2AMessage | Artifact)[];\n if (task) {\n if (task.artifacts) {\n results = task.artifacts;\n } else if (task.history) {\n results = task.history;\n } else if (task.status.message) {\n results = [task.status.message];\n } else {\n results = [];\n }\n } else {\n results = messages;\n }\n\n // retrieve the assistant's response\n if (results.length > 0) {\n const assistantMessages = results.map(this.convertToFrameworkMessage);\n await this.memory.addMany(assistantMessages);\n return {\n result: assistantMessages[assistantMessages.length - 1],\n event: lastEvent,\n };\n } else {\n return {\n result: new AssistantMessage(\"No response from agent.\"),\n event: lastEvent,\n };\n }\n } catch (err) {\n let message: string;\n\n if (err.message) {\n message = err.message;\n } else if (err.error) {\n message = err.error.toString();\n } else {\n message = \"Unknown error\";\n }\n\n await context.emitter.emit(\"error\", { message });\n\n throw new AgentError(message, [err], {\n context: lastEvent ?? undefined,\n });\n }\n }\n\n protected setRunParams(contextId?: string, taskId?: string, clearContext = false) {\n if (contextId) {\n this.contextId = contextId;\n }\n this.taskId = taskId;\n if (clearContext) {\n this.contextId = undefined;\n this.taskId = undefined;\n this.referenceTaskIds = [];\n }\n }\n\n async loadAgentCard() {\n if (this.agentCard) {\n return;\n }\n\n if (!this.url) {\n throw new AgentError(\"URL must be provided to load the agent card.\", [], { isFatal: true });\n }\n\n try {\n const client = await A2AClient.fromCardUrl(new URL(this.agentCardPath, this.url).href, {\n agentCardPath: this.agentCardPath,\n });\n this.agentCard = await client.getAgentCard();\n } catch (error) {\n throw new AgentError(`Can not load agent card: ${error.message}`, [error], {\n isFatal: true,\n });\n }\n }\n\n async checkAgentExists() {\n await this.loadAgentCard();\n if (!this.agentCard) {\n throw new AgentError(`Agent ${this.name} does not exist.`, [], { isFatal: true });\n }\n }\n\n get memory() {\n return this._memory;\n }\n\n set memory(memory: BaseMemory) {\n if (!memory.isEmpty()) {\n throw new AgentError(\"Memory must be empty before setting.\");\n }\n this._memory = memory;\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n protected convertToA2AMessage(input: string | Message | Message[] | A2AMessage): A2AMessage {\n if (typeof input === \"string\") {\n return {\n kind: \"message\",\n role: \"user\",\n parts: [\n {\n kind: \"text\",\n text: input,\n },\n ],\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (input instanceof Message) {\n const parts = input.content.map(convertFrameworkContentoA2APart);\n return {\n kind: \"message\",\n role: input.role == \"assistant\" ? \"agent\" : \"user\",\n parts: parts,\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (\"kind\" in input && input.kind === \"message\") {\n return input;\n } else if (Array.isArray(input) && input.length > 0) {\n return this.convertToA2AMessage(input[input.length - 1]);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n\n protected convertToFrameworkMessage(input: string | Message | A2AMessage | Artifact): Message {\n if (typeof input === \"string\") {\n return new UserMessage(input);\n } else if (input instanceof Message) {\n return input;\n } else if ((\"kind\" in input && input.kind === \"message\") || \"artifactId\" in input) {\n return convertA2AMessageToFrameworkMessage(input);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n}\n\nfunction convertFrameworkContentoA2APart(content: MessageContentPart): Part {\n const { type, ...rest } = content;\n switch (type) {\n case \"text\":\n return { kind: \"text\", text: content.text };\n case \"file\":\n case \"image\": {\n const data = type === \"file\" ? content.data : content.image;\n const decoder = new TextDecoder(\"utf-8\");\n const file =\n data instanceof URL\n ? ({ uri: data.href } as FileWithUri)\n : ({\n bytes: typeof data === \"string\" ? data : decoder.decode(data),\n } as FileWithBytes);\n return {\n kind: \"file\",\n file: {\n ...file,\n mimeType: content.mimeType,\n name: \"filename\" in content ? content.filename : undefined,\n },\n metadata: {\n providerOptions: content.providerOptions,\n },\n };\n }\n case \"tool-call\":\n case \"tool-result\":\n return {\n kind: \"data\",\n data: rest,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/a2a/agents/agent.ts"],"names":["A2AAgent","BaseAgent","_memory","emitter","url","agentCard","agentCardPath","contextId","taskId","referenceTaskIds","input","Emitter","root","child","namespace","toCamelCase","name","creator","AgentError","isFatal","memory","AGENT_CARD_PATH","split","_run","_options","context","setRunParams","clearContext","loadAgentCard","client","A2AClient","lastEvent","messages","task","stream","sendMessageStream","message","convertToA2AMessage","event","kind","id","includes","push","content","status","artifact","final","state","undefined","emit","value","inputMessages","Array","isArray","addMany","map","convertToFrameworkMessage","results","artifacts","history","length","assistantMessages","result","AssistantMessage","err","error","toString","fromCardUrl","URL","href","getAgentCard","checkAgentExists","isEmpty","createSnapshot","shallowCopy","role","parts","text","messageId","uuid4","Message","convertFrameworkContentToA2APart","UserMessage","convertA2AMessageToFrameworkMessage","type","rest","data","image","decoder","TextDecoder","file","uri","bytes","decode","mimeType","mediaType","filename","metadata","providerOptions"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuid4 } from \"uuid\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, MessageContentPart, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { A2AAgentInput, A2AAgentRunInput, A2AAgentRunOutput, A2AAgentRunOptions } from \"./types.js\";\nimport { A2AAgentEvents } from \"./events.js\";\nimport { toCamelCase } from \"remeda\";\nimport {\n AGENT_CARD_PATH,\n AgentCard,\n Message as A2AMessage,\n Task,\n Artifact,\n Part,\n FileWithUri,\n FileWithBytes,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { Message } from \"@/backend/message.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"./utils.js\";\n\nexport class A2AAgent extends BaseAgent<A2AAgentRunInput, A2AAgentRunOutput> {\n private _memory!: BaseMemory;\n public readonly emitter: Emitter<A2AAgentEvents>;\n protected url: string | undefined;\n public agentCard: AgentCard | undefined;\n protected agentCardPath: string;\n protected contextId: string | undefined;\n protected taskId: string | undefined;\n protected referenceTaskIds: string[] = [];\n\n constructor(protected readonly input: A2AAgentInput) {\n super();\n this.emitter = Emitter.root.child<A2AAgentEvents>({\n namespace: [\"a2a\", \"agent\", toCamelCase(this.name)],\n creator: this,\n });\n if (input.url) {\n this.url = input.url;\n } else if (input.agentCard) {\n this.agentCard = input.agentCard;\n } else {\n throw new AgentError(\"Either url or agentCard must be provided in A2AAgentInput\", [], {\n isFatal: true,\n });\n }\n\n this.memory = input.memory;\n this.agentCardPath = input.agentCardPath || AGENT_CARD_PATH;\n }\n\n get name() {\n return this.agentCard ? this.agentCard.name : `agent_${this.url?.split(\":\")[-1]}`;\n }\n\n protected async _run(\n input: A2AAgentRunInput,\n _options: A2AAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<A2AAgentRunOutput> {\n this.setRunParams(_options?.contextId, _options?.taskId, _options?.clearContext);\n\n if (!this.agentCard) {\n await this.loadAgentCard();\n }\n\n const client = new A2AClient(this.agentCard!);\n\n let lastEvent = null;\n const messages: (A2AMessage | Artifact)[] = [];\n let task: Task | null = null;\n\n try {\n const stream = client.sendMessageStream({ message: this.convertToA2AMessage(input.input) });\n\n for await (const event of stream) {\n lastEvent = event;\n\n const taskId = event.kind === \"task\" ? event.id : event.taskId;\n const contextId = event.contextId;\n if (taskId && taskId !== this.taskId) {\n this.taskId = taskId;\n }\n if (contextId && contextId !== this.contextId) {\n this.contextId = contextId;\n }\n if (taskId && !this.referenceTaskIds.includes(taskId)) {\n this.referenceTaskIds.push(taskId);\n }\n\n if (event.kind === \"status-update\" || event.kind === \"artifact-update\") {\n const content = event.kind === \"status-update\" ? event.status.message : event.artifact;\n if (content) {\n messages.push(content);\n }\n if (\n event.kind === \"status-update\" &&\n event.final &&\n event.status.state !== \"input-required\"\n ) {\n this.taskId = undefined;\n }\n } else if (event.kind === \"message\") {\n messages.push(event);\n } else if (event.kind === \"task\") {\n task = event;\n }\n\n await context.emitter.emit(\"update\", { value: event });\n }\n\n if (!lastEvent) {\n throw new AgentError(\"No result received from agent.\");\n }\n\n // add input messages to memory\n const inputMessages = Array.isArray(input.input) ? input.input : [input.input];\n await this.memory.addMany(inputMessages.map(this.convertToFrameworkMessage));\n\n let results: (A2AMessage | Artifact)[];\n if (task) {\n if (task.artifacts) {\n results = task.artifacts;\n } else if (task.history) {\n results = task.history;\n } else if (task.status.message) {\n results = [task.status.message];\n } else {\n results = [];\n }\n } else {\n results = messages;\n }\n\n // retrieve the assistant's response\n if (results.length > 0) {\n const assistantMessages = results.map(this.convertToFrameworkMessage);\n await this.memory.addMany(assistantMessages);\n return {\n result: assistantMessages[assistantMessages.length - 1],\n event: lastEvent,\n };\n } else {\n return {\n result: new AssistantMessage(\"No response from agent.\"),\n event: lastEvent,\n };\n }\n } catch (err) {\n let message: string;\n\n if (err.message) {\n message = err.message;\n } else if (err.error) {\n message = err.error.toString();\n } else {\n message = \"Unknown error\";\n }\n\n await context.emitter.emit(\"error\", { message });\n\n throw new AgentError(message, [err], {\n context: lastEvent ?? undefined,\n });\n }\n }\n\n protected setRunParams(contextId?: string, taskId?: string, clearContext = false) {\n if (contextId) {\n this.contextId = contextId;\n }\n this.taskId = taskId;\n if (clearContext) {\n this.contextId = undefined;\n this.taskId = undefined;\n this.referenceTaskIds = [];\n }\n }\n\n async loadAgentCard() {\n if (this.agentCard) {\n return;\n }\n\n if (!this.url) {\n throw new AgentError(\"URL must be provided to load the agent card.\", [], { isFatal: true });\n }\n\n try {\n const client = await A2AClient.fromCardUrl(new URL(this.agentCardPath, this.url).href, {\n agentCardPath: this.agentCardPath,\n });\n this.agentCard = await client.getAgentCard();\n } catch (error) {\n throw new AgentError(`Can not load agent card: ${error.message}`, [error], {\n isFatal: true,\n });\n }\n }\n\n async checkAgentExists() {\n await this.loadAgentCard();\n if (!this.agentCard) {\n throw new AgentError(`Agent ${this.name} does not exist.`, [], { isFatal: true });\n }\n }\n\n get memory() {\n return this._memory;\n }\n\n set memory(memory: BaseMemory) {\n if (!memory.isEmpty()) {\n throw new AgentError(\"Memory must be empty before setting.\");\n }\n this._memory = memory;\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n protected convertToA2AMessage(input: string | Message | Message[] | A2AMessage): A2AMessage {\n if (typeof input === \"string\") {\n return {\n kind: \"message\",\n role: \"user\",\n parts: [\n {\n kind: \"text\",\n text: input,\n },\n ],\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (input instanceof Message) {\n const parts = input.content.map(convertFrameworkContentToA2APart);\n return {\n kind: \"message\",\n role: input.role == \"assistant\" ? \"agent\" : \"user\",\n parts: parts,\n messageId: uuid4(),\n contextId: this.contextId,\n taskId: this.taskId,\n referenceTaskIds: this.referenceTaskIds,\n };\n } else if (\"kind\" in input && input.kind === \"message\") {\n return input;\n } else if (Array.isArray(input) && input.length > 0) {\n return this.convertToA2AMessage(input[input.length - 1]);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n\n protected convertToFrameworkMessage(input: string | Message | A2AMessage | Artifact): Message {\n if (typeof input === \"string\") {\n return new UserMessage(input);\n } else if (input instanceof Message) {\n return input;\n } else if ((\"kind\" in input && input.kind === \"message\") || \"artifactId\" in input) {\n return convertA2AMessageToFrameworkMessage(input);\n } else {\n throw new AgentError(\"Unsupported input type\");\n }\n }\n}\n\nfunction convertFrameworkContentToA2APart(content: MessageContentPart): Part {\n const { type, ...rest } = content;\n switch (type) {\n case \"text\":\n return { kind: \"text\", text: content.text };\n case \"file\":\n case \"image\": {\n const data = type === \"file\" ? content.data : content.image;\n const decoder = new TextDecoder(\"utf-8\");\n const file =\n data instanceof URL\n ? ({ uri: data.href } as FileWithUri)\n : ({\n bytes: typeof data === \"string\" ? data : decoder.decode(data),\n } as FileWithBytes);\n return {\n kind: \"file\",\n file: {\n ...file,\n mimeType: content.mediaType,\n name: \"filename\" in content ? content.filename : undefined,\n },\n metadata: {\n providerOptions: content.providerOptions,\n },\n };\n }\n case \"tool-call\":\n case \"tool-result\":\n return {\n kind: \"data\",\n data: rest,\n };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { C as Callback } from '../../../emitter-DWEsd-ud.cjs';
1
+ import { C as Callback } from '../../../emitter-CGKd_-kK.cjs';
2
2
  import { Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent } from '@a2a-js/sdk';
3
3
  import '../../../internals/types.cjs';
4
4
  import '../../../internals/helpers/guards.cjs';
@@ -1,4 +1,4 @@
1
- import { C as Callback } from '../../../emitter-C9nwGLt6.js';
1
+ import { C as Callback } from '../../../emitter-CN7I4uSV.js';
2
2
  import { Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent } from '@a2a-js/sdk';
3
3
  import '../../../internals/types.js';
4
4
  import '../../../internals/helpers/guards.js';
@@ -1,6 +1,6 @@
1
1
  import { Message } from '../../../backend/message.cjs';
2
2
  import { BaseMemory } from '../../../memory/base.cjs';
3
- import { B as BaseAgentRunOptions } from '../../../base-BP7v-NSL.cjs';
3
+ import { B as BaseAgentRunOptions } from '../../../base-v-PYIq5G.cjs';
4
4
  import { Message as Message$1, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, AgentCard } from '@a2a-js/sdk';
5
5
  import '../../../internals/serializable.cjs';
6
6
  import '../../../internals/types.cjs';
@@ -8,7 +8,7 @@ import '../../../internals/helpers/guards.cjs';
8
8
  import 'ai';
9
9
  import '../../../errors.cjs';
10
10
  import '../../../context.cjs';
11
- import '../../../emitter-DWEsd-ud.cjs';
11
+ import '../../../emitter-CGKd_-kK.cjs';
12
12
  import '../../../internals/helpers/promise.cjs';
13
13
  import '../../../tools/base.cjs';
14
14
  import 'ajv';
@@ -1,6 +1,6 @@
1
1
  import { Message } from '../../../backend/message.js';
2
2
  import { BaseMemory } from '../../../memory/base.js';
3
- import { B as BaseAgentRunOptions } from '../../../base-BsY2baWy.js';
3
+ import { B as BaseAgentRunOptions } from '../../../base-BurRTBA7.js';
4
4
  import { Message as Message$1, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, AgentCard } from '@a2a-js/sdk';
5
5
  import '../../../internals/serializable.js';
6
6
  import '../../../internals/types.js';
@@ -8,7 +8,7 @@ import '../../../internals/helpers/guards.js';
8
8
  import 'ai';
9
9
  import '../../../errors.js';
10
10
  import '../../../context.js';
11
- import '../../../emitter-C9nwGLt6.js';
11
+ import '../../../emitter-CN7I4uSV.js';
12
12
  import '../../../internals/helpers/promise.js';
13
13
  import '../../../tools/base.js';
14
14
  import 'ajv';
@@ -21,12 +21,12 @@ function convertA2AMessageToFrameworkMessage(input) {
21
21
  const fileData = "bytes" in part.file ? {
22
22
  type: "file",
23
23
  data: part.file.bytes,
24
- mimeType: part.file.mimeType || "application/octet-stream",
24
+ mediaType: part.file.mimeType || "application/octet-stream",
25
25
  filename: part.file.name
26
26
  } : {
27
27
  type: "file",
28
28
  data: part.file.uri,
29
- mimeType: part.file.mimeType || "application/octet-stream",
29
+ mediaType: part.file.mimeType || "application/octet-stream",
30
30
  filename: part.file.name
31
31
  };
32
32
  msg.content.push(fileData);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapters/a2a/agents/utils.ts"],"names":["convertA2AMessageToFrameworkMessage","input","msg","kind","role","UserMessage","metadata","AssistantMessage","part","parts","content","push","type","text","JSON","stringify","data","fileData","file","bytes","mimeType","filename","name","uri"],"mappings":";;;;;;AASO,SAASA,oCAAoCC,KAAAA,EAA4B;AAC9E,EAAA,MAAMC,GAAAA,GACJ,UAAUD,KAAAA,IAASA,KAAAA,CAAME,SAAS,SAAA,IAAaF,KAAAA,CAAMG,SAAS,MAAA,GAC1D,IAAIC,wBAAY,EAAA,EAAIJ,MAAMK,QAAQ,CAAA,GAClC,IAAIC,4BAAAA,CAAiB,EAAA,EAAIN,KAAAA,CAAMK,QAAQ,CAAA;AAE7C,EAAA,KAAA,MAAWE,IAAAA,IAAQP,MAAMQ,KAAAA,EAAO;AAC9B,IAAA,IAAID,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AACxBD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAML,IAAAA,CAAKK;OAAK,CAAA;KACnD,MAAA,IAAWL,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAC/BD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAMC,IAAAA,CAAKC,SAAAA,CAAUP,IAAAA,CAAKQ,IAAAA,EAAM,MAAM,CAAA;OAAG,CAAA;KAC5E,MAAA,IAAWR,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAE/B,MAAA,MAAMc,QAAAA,GACJ,OAAA,IAAWT,IAAAA,CAAKU,IAAAA,GACZ;QACEN,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKC,KAAAA;QAChBC,QAAAA,EAAUZ,IAAAA,CAAKU,KAAKE,QAAAA,IAAY,0BAAA;AAChCC,QAAAA,QAAAA,EAAUb,KAAKU,IAAAA,CAAKI;OACtB,GACA;QACEV,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKK,GAAAA;QAChBH,QAAAA,EAAUZ,IAAAA,CAAKU,KAAKE,QAAAA,IAAY,0BAAA;AAChCC,QAAAA,QAAAA,EAAUb,KAAKU,IAAAA,CAAKI;AACtB,OAAA;AAENpB,MAAAA,GAAAA,CAAIQ,OAAAA,CAAQC,KAAKM,QAAAA,CAAAA;AACnB;AACF;AAEA,EAAA,OAAOf,GAAAA;AACT;AAjCgBF,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"utils.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { Message as A2AMessage, Artifact } from \"@a2a-js/sdk\";\nimport { FilePart } from \"ai\";\n\nexport function convertA2AMessageToFrameworkMessage(input: A2AMessage | Artifact): Message {\n const msg =\n \"kind\" in input && input.kind === \"message\" && input.role === \"user\"\n ? new UserMessage([], input.metadata)\n : new AssistantMessage([], input.metadata);\n\n for (const part of input.parts) {\n if (part.kind === \"text\") {\n msg.content.push({ type: \"text\", text: part.text });\n } else if (part.kind === \"data\") {\n msg.content.push({ type: \"text\", text: JSON.stringify(part.data, null, 2) });\n } else if (part.kind === \"file\") {\n // TODO: handle non-publicly accessible URLs (always convert to base64)\n const fileData: FilePart =\n \"bytes\" in part.file\n ? {\n type: \"file\",\n data: part.file.bytes,\n mimeType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n }\n : {\n type: \"file\",\n data: part.file.uri,\n mimeType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n };\n\n msg.content.push(fileData);\n }\n }\n\n return msg;\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/a2a/agents/utils.ts"],"names":["convertA2AMessageToFrameworkMessage","input","msg","kind","role","UserMessage","metadata","AssistantMessage","part","parts","content","push","type","text","JSON","stringify","data","fileData","file","bytes","mediaType","mimeType","filename","name","uri"],"mappings":";;;;;;AASO,SAASA,oCAAoCC,KAAAA,EAA4B;AAC9E,EAAA,MAAMC,GAAAA,GACJ,UAAUD,KAAAA,IAASA,KAAAA,CAAME,SAAS,SAAA,IAAaF,KAAAA,CAAMG,SAAS,MAAA,GAC1D,IAAIC,wBAAY,EAAA,EAAIJ,MAAMK,QAAQ,CAAA,GAClC,IAAIC,4BAAAA,CAAiB,EAAA,EAAIN,KAAAA,CAAMK,QAAQ,CAAA;AAE7C,EAAA,KAAA,MAAWE,IAAAA,IAAQP,MAAMQ,KAAAA,EAAO;AAC9B,IAAA,IAAID,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AACxBD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAML,IAAAA,CAAKK;OAAK,CAAA;KACnD,MAAA,IAAWL,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAC/BD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAMC,IAAAA,CAAKC,SAAAA,CAAUP,IAAAA,CAAKQ,IAAAA,EAAM,MAAM,CAAA;OAAG,CAAA;KAC5E,MAAA,IAAWR,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAE/B,MAAA,MAAMc,QAAAA,GACJ,OAAA,IAAWT,IAAAA,CAAKU,IAAAA,GACZ;QACEN,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKC,KAAAA;QAChBC,SAAAA,EAAWZ,IAAAA,CAAKU,KAAKG,QAAAA,IAAY,0BAAA;AACjCC,QAAAA,QAAAA,EAAUd,KAAKU,IAAAA,CAAKK;OACtB,GACA;QACEX,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKM,GAAAA;QAChBJ,SAAAA,EAAWZ,IAAAA,CAAKU,KAAKG,QAAAA,IAAY,0BAAA;AACjCC,QAAAA,QAAAA,EAAUd,KAAKU,IAAAA,CAAKK;AACtB,OAAA;AAENrB,MAAAA,GAAAA,CAAIQ,OAAAA,CAAQC,KAAKM,QAAAA,CAAAA;AACnB;AACF;AAEA,EAAA,OAAOf,GAAAA;AACT;AAjCgBF,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"utils.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { Message as A2AMessage, Artifact } from \"@a2a-js/sdk\";\nimport { FilePart } from \"ai\";\n\nexport function convertA2AMessageToFrameworkMessage(input: A2AMessage | Artifact): Message {\n const msg =\n \"kind\" in input && input.kind === \"message\" && input.role === \"user\"\n ? new UserMessage([], input.metadata)\n : new AssistantMessage([], input.metadata);\n\n for (const part of input.parts) {\n if (part.kind === \"text\") {\n msg.content.push({ type: \"text\", text: part.text });\n } else if (part.kind === \"data\") {\n msg.content.push({ type: \"text\", text: JSON.stringify(part.data, null, 2) });\n } else if (part.kind === \"file\") {\n // TODO: handle non-publicly accessible URLs (always convert to base64)\n const fileData: FilePart =\n \"bytes\" in part.file\n ? {\n type: \"file\",\n data: part.file.bytes,\n mediaType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n }\n : {\n type: \"file\",\n data: part.file.uri,\n mediaType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n };\n\n msg.content.push(fileData);\n }\n }\n\n return msg;\n}\n"]}
@@ -19,12 +19,12 @@ function convertA2AMessageToFrameworkMessage(input) {
19
19
  const fileData = "bytes" in part.file ? {
20
20
  type: "file",
21
21
  data: part.file.bytes,
22
- mimeType: part.file.mimeType || "application/octet-stream",
22
+ mediaType: part.file.mimeType || "application/octet-stream",
23
23
  filename: part.file.name
24
24
  } : {
25
25
  type: "file",
26
26
  data: part.file.uri,
27
- mimeType: part.file.mimeType || "application/octet-stream",
27
+ mediaType: part.file.mimeType || "application/octet-stream",
28
28
  filename: part.file.name
29
29
  };
30
30
  msg.content.push(fileData);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapters/a2a/agents/utils.ts"],"names":["convertA2AMessageToFrameworkMessage","input","msg","kind","role","UserMessage","metadata","AssistantMessage","part","parts","content","push","type","text","JSON","stringify","data","fileData","file","bytes","mimeType","filename","name","uri"],"mappings":";;;;AASO,SAASA,oCAAoCC,KAAAA,EAA4B;AAC9E,EAAA,MAAMC,GAAAA,GACJ,UAAUD,KAAAA,IAASA,KAAAA,CAAME,SAAS,SAAA,IAAaF,KAAAA,CAAMG,SAAS,MAAA,GAC1D,IAAIC,YAAY,EAAA,EAAIJ,MAAMK,QAAQ,CAAA,GAClC,IAAIC,gBAAAA,CAAiB,EAAA,EAAIN,KAAAA,CAAMK,QAAQ,CAAA;AAE7C,EAAA,KAAA,MAAWE,IAAAA,IAAQP,MAAMQ,KAAAA,EAAO;AAC9B,IAAA,IAAID,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AACxBD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAML,IAAAA,CAAKK;OAAK,CAAA;KACnD,MAAA,IAAWL,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAC/BD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAMC,IAAAA,CAAKC,SAAAA,CAAUP,IAAAA,CAAKQ,IAAAA,EAAM,MAAM,CAAA;OAAG,CAAA;KAC5E,MAAA,IAAWR,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAE/B,MAAA,MAAMc,QAAAA,GACJ,OAAA,IAAWT,IAAAA,CAAKU,IAAAA,GACZ;QACEN,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKC,KAAAA;QAChBC,QAAAA,EAAUZ,IAAAA,CAAKU,KAAKE,QAAAA,IAAY,0BAAA;AAChCC,QAAAA,QAAAA,EAAUb,KAAKU,IAAAA,CAAKI;OACtB,GACA;QACEV,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKK,GAAAA;QAChBH,QAAAA,EAAUZ,IAAAA,CAAKU,KAAKE,QAAAA,IAAY,0BAAA;AAChCC,QAAAA,QAAAA,EAAUb,KAAKU,IAAAA,CAAKI;AACtB,OAAA;AAENpB,MAAAA,GAAAA,CAAIQ,OAAAA,CAAQC,KAAKM,QAAAA,CAAAA;AACnB;AACF;AAEA,EAAA,OAAOf,GAAAA;AACT;AAjCgBF,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"utils.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { Message as A2AMessage, Artifact } from \"@a2a-js/sdk\";\nimport { FilePart } from \"ai\";\n\nexport function convertA2AMessageToFrameworkMessage(input: A2AMessage | Artifact): Message {\n const msg =\n \"kind\" in input && input.kind === \"message\" && input.role === \"user\"\n ? new UserMessage([], input.metadata)\n : new AssistantMessage([], input.metadata);\n\n for (const part of input.parts) {\n if (part.kind === \"text\") {\n msg.content.push({ type: \"text\", text: part.text });\n } else if (part.kind === \"data\") {\n msg.content.push({ type: \"text\", text: JSON.stringify(part.data, null, 2) });\n } else if (part.kind === \"file\") {\n // TODO: handle non-publicly accessible URLs (always convert to base64)\n const fileData: FilePart =\n \"bytes\" in part.file\n ? {\n type: \"file\",\n data: part.file.bytes,\n mimeType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n }\n : {\n type: \"file\",\n data: part.file.uri,\n mimeType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n };\n\n msg.content.push(fileData);\n }\n }\n\n return msg;\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/a2a/agents/utils.ts"],"names":["convertA2AMessageToFrameworkMessage","input","msg","kind","role","UserMessage","metadata","AssistantMessage","part","parts","content","push","type","text","JSON","stringify","data","fileData","file","bytes","mediaType","mimeType","filename","name","uri"],"mappings":";;;;AASO,SAASA,oCAAoCC,KAAAA,EAA4B;AAC9E,EAAA,MAAMC,GAAAA,GACJ,UAAUD,KAAAA,IAASA,KAAAA,CAAME,SAAS,SAAA,IAAaF,KAAAA,CAAMG,SAAS,MAAA,GAC1D,IAAIC,YAAY,EAAA,EAAIJ,MAAMK,QAAQ,CAAA,GAClC,IAAIC,gBAAAA,CAAiB,EAAA,EAAIN,KAAAA,CAAMK,QAAQ,CAAA;AAE7C,EAAA,KAAA,MAAWE,IAAAA,IAAQP,MAAMQ,KAAAA,EAAO;AAC9B,IAAA,IAAID,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AACxBD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAML,IAAAA,CAAKK;OAAK,CAAA;KACnD,MAAA,IAAWL,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAC/BD,MAAAA,GAAAA,CAAIQ,QAAQC,IAAAA,CAAK;QAAEC,IAAAA,EAAM,MAAA;AAAQC,QAAAA,IAAAA,EAAMC,IAAAA,CAAKC,SAAAA,CAAUP,IAAAA,CAAKQ,IAAAA,EAAM,MAAM,CAAA;OAAG,CAAA;KAC5E,MAAA,IAAWR,IAAAA,CAAKL,SAAS,MAAA,EAAQ;AAE/B,MAAA,MAAMc,QAAAA,GACJ,OAAA,IAAWT,IAAAA,CAAKU,IAAAA,GACZ;QACEN,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKC,KAAAA;QAChBC,SAAAA,EAAWZ,IAAAA,CAAKU,KAAKG,QAAAA,IAAY,0BAAA;AACjCC,QAAAA,QAAAA,EAAUd,KAAKU,IAAAA,CAAKK;OACtB,GACA;QACEX,IAAAA,EAAM,MAAA;AACNI,QAAAA,IAAAA,EAAMR,KAAKU,IAAAA,CAAKM,GAAAA;QAChBJ,SAAAA,EAAWZ,IAAAA,CAAKU,KAAKG,QAAAA,IAAY,0BAAA;AACjCC,QAAAA,QAAAA,EAAUd,KAAKU,IAAAA,CAAKK;AACtB,OAAA;AAENrB,MAAAA,GAAAA,CAAIQ,OAAAA,CAAQC,KAAKM,QAAAA,CAAAA;AACnB;AACF;AAEA,EAAA,OAAOf,GAAAA;AACT;AAjCgBF,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"utils.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { Message as A2AMessage, Artifact } from \"@a2a-js/sdk\";\nimport { FilePart } from \"ai\";\n\nexport function convertA2AMessageToFrameworkMessage(input: A2AMessage | Artifact): Message {\n const msg =\n \"kind\" in input && input.kind === \"message\" && input.role === \"user\"\n ? new UserMessage([], input.metadata)\n : new AssistantMessage([], input.metadata);\n\n for (const part of input.parts) {\n if (part.kind === \"text\") {\n msg.content.push({ type: \"text\", text: part.text });\n } else if (part.kind === \"data\") {\n msg.content.push({ type: \"text\", text: JSON.stringify(part.data, null, 2) });\n } else if (part.kind === \"file\") {\n // TODO: handle non-publicly accessible URLs (always convert to base64)\n const fileData: FilePart =\n \"bytes\" in part.file\n ? {\n type: \"file\",\n data: part.file.bytes,\n mediaType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n }\n : {\n type: \"file\",\n data: part.file.uri,\n mediaType: part.file.mimeType || \"application/octet-stream\",\n filename: part.file.name,\n };\n\n msg.content.push(fileData);\n }\n }\n\n return msg;\n}\n"]}
@@ -96,9 +96,7 @@ class BaseA2AAgentExecutor {
96
96
  eventBus.publish(finalUpdate);
97
97
  eventBus.finished();
98
98
  } catch (error) {
99
- logger.error("Agent execution error:", {
100
- error
101
- });
99
+ logger.error(error, "Agent execution error");
102
100
  const errorMessage = error instanceof Error ? error.message : String(error);
103
101
  const errorUpdate = {
104
102
  kind: "status-update",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapters/a2a/serve/agent_executor.ts"],"names":["logger","Logger","root","child","name","BaseA2AAgentExecutor","abortControllers","Map","agent","execute","requestContext","eventBus","userMessage","existingTask","task","kind","id","uuidv4","contextId","status","state","timestamp","Date","toISOString","history","metadata","taskId","publish","workingStatusUpdate","final","abortController","AbortController","set","clone","memory","reset","addMany","map","convertA2AMessageToFrameworkMessage","response","run","signal","observe","emitter","process_events","agentMessage","role","messageId","parts","text","result","push","finalUpdate","message","finished","error","errorMessage","Error","String","errorUpdate","_emitter","_requestContext","_eventBus","cancelTask","has","get","cancelledUpdate","abort","ToolCallingAgentExecutor","lastMsg","undefined","processEvent","messages","at","index","lastIndexOf","slice","update","JSON","stringify","toPlain","on","ReActAgentExecutor","updateEvent","value"],"mappings":"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","file":"agent_executor.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { AgentExecutor, RequestContext, ExecutionEventBus } from \"@a2a-js/sdk/server\";\nimport { Message, TaskStatusUpdateEvent } from \"@a2a-js/sdk\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"@/adapters/a2a/agents/utils.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { ToolCallingAgentCallbacks, ToolCallingAgentRunState } from \"@/agents/toolCalling/types.js\";\nimport { ReActAgentCallbacks } from \"@/agents/react/types.js\";\nimport { Message as FrameworkMessage } from \"@/backend/message.js\";\n\nconst logger = Logger.root.child({\n name: \"A2A server\",\n});\n\nexport abstract class BaseA2AAgentExecutor implements AgentExecutor {\n protected readonly abortControllers = new Map<string, [string, AbortController]>();\n\n constructor(protected agent: AnyAgent) {}\n\n async execute(requestContext: RequestContext, eventBus: ExecutionEventBus): Promise<void> {\n const userMessage = requestContext.userMessage;\n const existingTask = requestContext.task || {\n kind: \"task\",\n id: uuidv4(),\n contextId: userMessage.contextId || uuidv4(),\n status: {\n state: \"submitted\",\n timestamp: new Date().toISOString(),\n },\n history: [userMessage],\n metadata: userMessage.metadata,\n };\n\n const taskId = existingTask.id;\n const contextId = existingTask.contextId;\n\n // Publish initial Task event if it's a new task\n eventBus.publish(existingTask);\n\n // Publish \"working\" status update\n const workingStatusUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"working\",\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(workingStatusUpdate);\n\n const abortController = new AbortController();\n this.abortControllers.set(taskId, [contextId, abortController]);\n\n const agent = await this.agent.clone();\n agent.memory = await agent.memory.clone();\n agent.memory.reset();\n await agent.memory.addMany(\n (existingTask.history || [requestContext.userMessage]).map(\n convertA2AMessageToFrameworkMessage,\n ) || [],\n );\n\n try {\n // run the agent\n const response = await agent\n .run(\n {},\n {\n signal: abortController.signal,\n },\n )\n .observe(async (emitter) => {\n await this.process_events(emitter, requestContext, eventBus);\n });\n\n const agentMessage: Message = {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: response.result.text }],\n taskId: taskId,\n contextId: contextId,\n };\n\n // Append agent message to task history\n if (!existingTask.history) {\n existingTask.history = [];\n }\n existingTask.history.push(agentMessage);\n eventBus.publish(existingTask);\n\n // Publish completed status update with agent message\n const finalUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"completed\",\n message: agentMessage,\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(finalUpdate);\n\n eventBus.finished();\n } catch (error) {\n logger.error(\"Agent execution error:\", { error });\n const errorMessage = error instanceof Error ? error.message : String(error);\n // Publish failed status update\n const errorUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"failed\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: `Agent error: ${errorMessage}` }],\n taskId: taskId,\n contextId: contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(errorUpdate);\n eventBus.finished();\n }\n }\n\n async process_events(\n _emitter: Emitter,\n _requestContext: RequestContext,\n _eventBus: ExecutionEventBus,\n ): Promise<void> {\n return;\n }\n\n public cancelTask = async (taskId: string, eventBus: ExecutionEventBus): Promise<void> => {\n if (this.abortControllers.has(taskId)) {\n const [contextId, abortController] = this.abortControllers.get(taskId)!;\n const cancelledUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"canceled\",\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(cancelledUpdate);\n abortController.abort();\n }\n };\n}\n\nexport class ToolCallingAgentExecutor extends BaseA2AAgentExecutor {\n async process_events(\n emitter: Emitter<ToolCallingAgentCallbacks>,\n requestContext: RequestContext,\n eventBus: ExecutionEventBus,\n ): Promise<void> {\n let lastMsg: FrameworkMessage | undefined = undefined;\n\n const processEvent: Callback<{ state: ToolCallingAgentRunState }> = async ({ state }) => {\n const messages = state.memory.messages;\n if (lastMsg === undefined) {\n lastMsg = messages.at(-1);\n }\n\n const index = lastMsg ? messages.lastIndexOf(lastMsg) : -1;\n for (const message of messages.slice(index + 1)) {\n const update: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n status: {\n state: \"working\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: JSON.stringify(message.toPlain()) }],\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(update);\n lastMsg = message;\n }\n };\n emitter.on(\"start\", processEvent);\n emitter.on(\"success\", processEvent);\n }\n}\n\nexport class ReActAgentExecutor extends BaseA2AAgentExecutor {\n async process_events(\n emitter: Emitter<ReActAgentCallbacks>,\n requestContext: RequestContext,\n eventBus: ExecutionEventBus,\n ): Promise<void> {\n emitter.on(\"update\", async ({ update }) => {\n const updateEvent: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n status: {\n state: \"working\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: update.value }],\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(updateEvent);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/adapters/a2a/serve/agent_executor.ts"],"names":["logger","Logger","root","child","name","BaseA2AAgentExecutor","abortControllers","Map","agent","execute","requestContext","eventBus","userMessage","existingTask","task","kind","id","uuidv4","contextId","status","state","timestamp","Date","toISOString","history","metadata","taskId","publish","workingStatusUpdate","final","abortController","AbortController","set","clone","memory","reset","addMany","map","convertA2AMessageToFrameworkMessage","response","run","signal","observe","emitter","process_events","agentMessage","role","messageId","parts","text","result","push","finalUpdate","message","finished","error","errorMessage","Error","String","errorUpdate","_emitter","_requestContext","_eventBus","cancelTask","has","get","cancelledUpdate","abort","ToolCallingAgentExecutor","lastMsg","undefined","processEvent","messages","at","index","lastIndexOf","slice","update","JSON","stringify","toPlain","on","ReActAgentExecutor","updateEvent","value"],"mappings":"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","file":"agent_executor.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { AgentExecutor, RequestContext, ExecutionEventBus } from \"@a2a-js/sdk/server\";\nimport { Message, TaskStatusUpdateEvent } from \"@a2a-js/sdk\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { convertA2AMessageToFrameworkMessage } from \"@/adapters/a2a/agents/utils.js\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { ToolCallingAgentCallbacks, ToolCallingAgentRunState } from \"@/agents/toolCalling/types.js\";\nimport { ReActAgentCallbacks } from \"@/agents/react/types.js\";\nimport { Message as FrameworkMessage } from \"@/backend/message.js\";\n\nconst logger = Logger.root.child({\n name: \"A2A server\",\n});\n\nexport abstract class BaseA2AAgentExecutor implements AgentExecutor {\n protected readonly abortControllers = new Map<string, [string, AbortController]>();\n\n constructor(protected agent: AnyAgent) {}\n\n async execute(requestContext: RequestContext, eventBus: ExecutionEventBus): Promise<void> {\n const userMessage = requestContext.userMessage;\n const existingTask = requestContext.task || {\n kind: \"task\",\n id: uuidv4(),\n contextId: userMessage.contextId || uuidv4(),\n status: {\n state: \"submitted\",\n timestamp: new Date().toISOString(),\n },\n history: [userMessage],\n metadata: userMessage.metadata,\n };\n\n const taskId = existingTask.id;\n const contextId = existingTask.contextId;\n\n // Publish initial Task event if it's a new task\n eventBus.publish(existingTask);\n\n // Publish \"working\" status update\n const workingStatusUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"working\",\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(workingStatusUpdate);\n\n const abortController = new AbortController();\n this.abortControllers.set(taskId, [contextId, abortController]);\n\n const agent = await this.agent.clone();\n agent.memory = await agent.memory.clone();\n agent.memory.reset();\n await agent.memory.addMany(\n (existingTask.history || [requestContext.userMessage]).map(\n convertA2AMessageToFrameworkMessage,\n ) || [],\n );\n\n try {\n // run the agent\n const response = await agent\n .run(\n {},\n {\n signal: abortController.signal,\n },\n )\n .observe(async (emitter) => {\n await this.process_events(emitter, requestContext, eventBus);\n });\n\n const agentMessage: Message = {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: response.result.text }],\n taskId: taskId,\n contextId: contextId,\n };\n\n // Append agent message to task history\n if (!existingTask.history) {\n existingTask.history = [];\n }\n existingTask.history.push(agentMessage);\n eventBus.publish(existingTask);\n\n // Publish completed status update with agent message\n const finalUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"completed\",\n message: agentMessage,\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(finalUpdate);\n\n eventBus.finished();\n } catch (error) {\n logger.error(error, \"Agent execution error\");\n const errorMessage = error instanceof Error ? error.message : String(error);\n // Publish failed status update\n const errorUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"failed\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: `Agent error: ${errorMessage}` }],\n taskId: taskId,\n contextId: contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(errorUpdate);\n eventBus.finished();\n }\n }\n\n async process_events(\n _emitter: Emitter,\n _requestContext: RequestContext,\n _eventBus: ExecutionEventBus,\n ): Promise<void> {\n return;\n }\n\n public cancelTask = async (taskId: string, eventBus: ExecutionEventBus): Promise<void> => {\n if (this.abortControllers.has(taskId)) {\n const [contextId, abortController] = this.abortControllers.get(taskId)!;\n const cancelledUpdate: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: taskId,\n contextId: contextId,\n status: {\n state: \"canceled\",\n timestamp: new Date().toISOString(),\n },\n final: true,\n };\n eventBus.publish(cancelledUpdate);\n abortController.abort();\n }\n };\n}\n\nexport class ToolCallingAgentExecutor extends BaseA2AAgentExecutor {\n async process_events(\n emitter: Emitter<ToolCallingAgentCallbacks>,\n requestContext: RequestContext,\n eventBus: ExecutionEventBus,\n ): Promise<void> {\n let lastMsg: FrameworkMessage | undefined = undefined;\n\n const processEvent: Callback<{ state: ToolCallingAgentRunState }> = async ({ state }) => {\n const messages = state.memory.messages;\n if (lastMsg === undefined) {\n lastMsg = messages.at(-1);\n }\n\n const index = lastMsg ? messages.lastIndexOf(lastMsg) : -1;\n for (const message of messages.slice(index + 1)) {\n const update: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n status: {\n state: \"working\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: JSON.stringify(message.toPlain()) }],\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(update);\n lastMsg = message;\n }\n };\n emitter.on(\"start\", processEvent);\n emitter.on(\"success\", processEvent);\n }\n}\n\nexport class ReActAgentExecutor extends BaseA2AAgentExecutor {\n async process_events(\n emitter: Emitter<ReActAgentCallbacks>,\n requestContext: RequestContext,\n eventBus: ExecutionEventBus,\n ): Promise<void> {\n emitter.on(\"update\", async ({ update }) => {\n const updateEvent: TaskStatusUpdateEvent = {\n kind: \"status-update\",\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n status: {\n state: \"working\",\n message: {\n kind: \"message\",\n role: \"agent\",\n messageId: uuidv4(),\n parts: [{ kind: \"text\", text: update.value }],\n taskId: requestContext.taskId,\n contextId: requestContext.contextId,\n },\n timestamp: new Date().toISOString(),\n },\n final: false,\n };\n eventBus.publish(updateEvent);\n });\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { c as AnyAgent } from '../../../base-BP7v-NSL.cjs';
1
+ import { c as AnyAgent } from '../../../base-v-PYIq5G.cjs';
2
2
  import { AgentExecutor, RequestContext, ExecutionEventBus } from '@a2a-js/sdk/server';
3
- import { E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
3
+ import { E as Emitter } from '../../../emitter-CGKd_-kK.cjs';
4
4
  import { ToolCallingAgentCallbacks } from '../../../agents/toolCalling/types.cjs';
5
5
  import { ReActAgentCallbacks } from '../../../agents/react/types.cjs';
6
6
  import '../../../context.cjs';
@@ -23,11 +23,12 @@ import '../../../agents/toolCalling/prompts.cjs';
23
23
  import '../../../template.cjs';
24
24
  import '../../../agents/react/prompts.cjs';
25
25
  import '../../../parsers/linePrefix.cjs';
26
+ import 'node_modules/remeda/dist/ToString-DKW-jYvM.js';
26
27
  import '../../../parsers/field.cjs';
27
28
  import '@streamparser/json';
28
29
  import 'jsonrepair/stream';
29
30
  import '../../../parsers/errors.cjs';
30
- import '../../../chat-CR4yfOR9.cjs';
31
+ import '../../../chat-DB_cf15S.cjs';
31
32
  import '../../../backend/constants.cjs';
32
33
  import '../../../logger/logger.cjs';
33
34
  import 'pino';