@mastra/server 1.0.4-alpha.1 → 1.0.4

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 (448) hide show
  1. package/CHANGELOG.md +6596 -0
  2. package/LICENSE.md +11 -42
  3. package/README.md +45 -137
  4. package/dist/chunk-2CLS2PYJ.js +1030 -0
  5. package/dist/chunk-2CLS2PYJ.js.map +1 -0
  6. package/dist/chunk-2CYGIE3E.js +1075 -0
  7. package/dist/chunk-2CYGIE3E.js.map +1 -0
  8. package/dist/chunk-33CKPQS4.cjs +175 -0
  9. package/dist/chunk-33CKPQS4.cjs.map +1 -0
  10. package/dist/chunk-3FEYUHHJ.js +116 -0
  11. package/dist/chunk-3FEYUHHJ.js.map +1 -0
  12. package/dist/chunk-3REGEJEN.js +250 -0
  13. package/dist/chunk-3REGEJEN.js.map +1 -0
  14. package/dist/chunk-3W67K7YE.js +13 -0
  15. package/dist/chunk-3W67K7YE.js.map +1 -0
  16. package/dist/chunk-4DJ7EJRB.cjs +186 -0
  17. package/dist/chunk-4DJ7EJRB.cjs.map +1 -0
  18. package/dist/chunk-4EYONQIW.cjs +82 -0
  19. package/dist/chunk-4EYONQIW.cjs.map +1 -0
  20. package/dist/chunk-4R2Z655M.js +1075 -0
  21. package/dist/chunk-4R2Z655M.js.map +1 -0
  22. package/dist/chunk-5NFRDYFN.js +77 -0
  23. package/dist/chunk-5NFRDYFN.js.map +1 -0
  24. package/dist/chunk-5VDI75UV.js +44 -0
  25. package/dist/chunk-5VDI75UV.js.map +1 -0
  26. package/dist/chunk-5W4RPVTK.cjs +49 -0
  27. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  28. package/dist/{chunk-FV45V6WC.cjs → chunk-64ITUOXI.cjs} +3 -7
  29. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  30. package/dist/chunk-6MP2S6VI.cjs +211 -0
  31. package/dist/chunk-6MP2S6VI.cjs.map +1 -0
  32. package/dist/{chunk-TRDNDNGQ.js → chunk-6QWQZI4Q.js} +4 -7
  33. package/dist/chunk-6QWQZI4Q.js.map +1 -0
  34. package/dist/chunk-7S7ALPCY.js +225 -0
  35. package/dist/chunk-7S7ALPCY.js.map +1 -0
  36. package/dist/chunk-7XPMKW4Y.cjs +447 -0
  37. package/dist/chunk-7XPMKW4Y.cjs.map +1 -0
  38. package/dist/chunk-AQI6GLTN.cjs +2777 -0
  39. package/dist/chunk-AQI6GLTN.cjs.map +1 -0
  40. package/dist/chunk-AV3CN5ZR.cjs +326 -0
  41. package/dist/chunk-AV3CN5ZR.cjs.map +1 -0
  42. package/dist/chunk-AVRO3FIN.cjs +231 -0
  43. package/dist/chunk-AVRO3FIN.cjs.map +1 -0
  44. package/dist/chunk-BRI4GUZ2.cjs +280 -0
  45. package/dist/chunk-BRI4GUZ2.cjs.map +1 -0
  46. package/dist/chunk-CGIGPJRU.js +279 -0
  47. package/dist/chunk-CGIGPJRU.js.map +1 -0
  48. package/dist/chunk-CLAEGIP5.cjs +683 -0
  49. package/dist/chunk-CLAEGIP5.cjs.map +1 -0
  50. package/dist/chunk-DVSCJECS.js +250 -0
  51. package/dist/chunk-DVSCJECS.js.map +1 -0
  52. package/dist/chunk-EUBTCHQC.js +83 -0
  53. package/dist/chunk-EUBTCHQC.js.map +1 -0
  54. package/dist/chunk-FLLJIPD4.cjs +46 -0
  55. package/dist/chunk-FLLJIPD4.cjs.map +1 -0
  56. package/dist/chunk-FWSKVWS7.cjs +88 -0
  57. package/dist/chunk-FWSKVWS7.cjs.map +1 -0
  58. package/dist/chunk-G2AMUTU4.js +250 -0
  59. package/dist/chunk-G2AMUTU4.js.map +1 -0
  60. package/dist/chunk-GHQZIEPS.js +33118 -0
  61. package/dist/chunk-GHQZIEPS.js.map +1 -0
  62. package/dist/chunk-GNCALVLC.js +171 -0
  63. package/dist/chunk-GNCALVLC.js.map +1 -0
  64. package/dist/chunk-GU4EWMZB.cjs +769 -0
  65. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  66. package/dist/chunk-H34VRYSF.js +196 -0
  67. package/dist/chunk-H34VRYSF.js.map +1 -0
  68. package/dist/chunk-H66LLFDL.js +970 -0
  69. package/dist/chunk-H66LLFDL.js.map +1 -0
  70. package/dist/chunk-HCVDHEDD.cjs +33157 -0
  71. package/dist/chunk-HCVDHEDD.cjs.map +1 -0
  72. package/dist/chunk-HT4LP3BO.js +75 -0
  73. package/dist/chunk-HT4LP3BO.js.map +1 -0
  74. package/dist/chunk-I27H7BEB.js +439 -0
  75. package/dist/chunk-I27H7BEB.js.map +1 -0
  76. package/dist/chunk-IVGQTL3T.js +204 -0
  77. package/dist/chunk-IVGQTL3T.js.map +1 -0
  78. package/dist/chunk-KKY4MSZO.js +314 -0
  79. package/dist/chunk-KKY4MSZO.js.map +1 -0
  80. package/dist/chunk-L2E5RUVT.cjs +252 -0
  81. package/dist/chunk-L2E5RUVT.cjs.map +1 -0
  82. package/dist/chunk-LF2ZLOFP.js +767 -0
  83. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  84. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  85. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  86. package/dist/chunk-LOA7RQYO.js +2774 -0
  87. package/dist/chunk-LOA7RQYO.js.map +1 -0
  88. package/dist/chunk-MCYD5LW7.cjs +90 -0
  89. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  90. package/dist/chunk-MPUVSOEU.cjs +346 -0
  91. package/dist/chunk-MPUVSOEU.cjs.map +1 -0
  92. package/dist/chunk-N4EIZSG2.js +180 -0
  93. package/dist/chunk-N4EIZSG2.js.map +1 -0
  94. package/dist/chunk-NUO7HPOV.cjs +1105 -0
  95. package/dist/chunk-NUO7HPOV.cjs.map +1 -0
  96. package/dist/chunk-O7I5CWRX.cjs +44 -0
  97. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  98. package/dist/chunk-ONN5EA7E.js +26 -0
  99. package/dist/chunk-ONN5EA7E.js.map +1 -0
  100. package/dist/chunk-P3H4AZKI.cjs +252 -0
  101. package/dist/chunk-P3H4AZKI.cjs.map +1 -0
  102. package/dist/chunk-PNZQCQY4.cjs +252 -0
  103. package/dist/chunk-PNZQCQY4.cjs.map +1 -0
  104. package/dist/chunk-PR4QN5HX.js +39 -0
  105. package/dist/chunk-PR4QN5HX.js.map +1 -0
  106. package/dist/chunk-QPFYN6B5.cjs +125 -0
  107. package/dist/chunk-QPFYN6B5.cjs.map +1 -0
  108. package/dist/chunk-SUKFO7UM.cjs +29 -0
  109. package/dist/chunk-SUKFO7UM.cjs.map +1 -0
  110. package/dist/chunk-T4SPG2GP.cjs +82 -0
  111. package/dist/chunk-T4SPG2GP.cjs.map +1 -0
  112. package/dist/chunk-TMS4LS2J.js +302 -0
  113. package/dist/chunk-TMS4LS2J.js.map +1 -0
  114. package/dist/chunk-UK4FZWNW.cjs +205 -0
  115. package/dist/chunk-UK4FZWNW.cjs.map +1 -0
  116. package/dist/chunk-VX3VN7FN.cjs +992 -0
  117. package/dist/chunk-VX3VN7FN.cjs.map +1 -0
  118. package/dist/chunk-WJ6DNHLW.cjs +312 -0
  119. package/dist/chunk-WJ6DNHLW.cjs.map +1 -0
  120. package/dist/chunk-WLGJVDH4.js +242 -0
  121. package/dist/chunk-WLGJVDH4.js.map +1 -0
  122. package/dist/chunk-XB27LCKO.js +328 -0
  123. package/dist/chunk-XB27LCKO.js.map +1 -0
  124. package/dist/chunk-XCEQ4GQW.cjs +289 -0
  125. package/dist/chunk-XCEQ4GQW.cjs.map +1 -0
  126. package/dist/chunk-XOUK3IYU.js +77 -0
  127. package/dist/chunk-XOUK3IYU.js.map +1 -0
  128. package/dist/chunk-XWGAT2DA.js +44 -0
  129. package/dist/chunk-XWGAT2DA.js.map +1 -0
  130. package/dist/chunk-YK63KHHB.cjs +1059 -0
  131. package/dist/chunk-YK63KHHB.cjs.map +1 -0
  132. package/dist/chunk-YN3FWKVQ.js +669 -0
  133. package/dist/chunk-YN3FWKVQ.js.map +1 -0
  134. package/dist/chunk-ZQ2G6QKS.cjs +1117 -0
  135. package/dist/chunk-ZQ2G6QKS.cjs.map +1 -0
  136. package/dist/dist-7NTDEVLP.cjs +928 -0
  137. package/dist/dist-7NTDEVLP.cjs.map +1 -0
  138. package/dist/dist-B5GMANA6.js +1147 -0
  139. package/dist/dist-B5GMANA6.js.map +1 -0
  140. package/dist/dist-EDO7GEGI.js +3 -0
  141. package/dist/dist-EDO7GEGI.js.map +1 -0
  142. package/dist/dist-OF24ZMHH.cjs +764 -0
  143. package/dist/dist-OF24ZMHH.cjs.map +1 -0
  144. package/dist/dist-P6YSNLL3.cjs +1150 -0
  145. package/dist/dist-P6YSNLL3.cjs.map +1 -0
  146. package/dist/dist-SMBO5KVB.js +937 -0
  147. package/dist/dist-SMBO5KVB.js.map +1 -0
  148. package/dist/dist-THPMW5QR.js +761 -0
  149. package/dist/dist-THPMW5QR.js.map +1 -0
  150. package/dist/dist-VZTG56X2.cjs +940 -0
  151. package/dist/dist-VZTG56X2.cjs.map +1 -0
  152. package/dist/dist-ZLC23RVC.cjs +16 -0
  153. package/dist/dist-ZLC23RVC.cjs.map +1 -0
  154. package/dist/dist-ZOZ6MHJH.js +925 -0
  155. package/dist/dist-ZOZ6MHJH.js.map +1 -0
  156. package/dist/docs/README.md +31 -0
  157. package/dist/docs/SKILL.md +32 -0
  158. package/dist/docs/SOURCE_MAP.json +6 -0
  159. package/dist/docs/server/01-custom-adapters.md +380 -0
  160. package/dist/docs/server/02-reference.md +819 -0
  161. package/dist/index.cjs +6 -0
  162. package/dist/index.cjs.map +1 -0
  163. package/dist/index.d.ts +1 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +5 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/server/a2a/protocol.d.ts +8 -0
  168. package/dist/server/a2a/protocol.d.ts.map +1 -0
  169. package/dist/server/a2a/store.cjs +25 -0
  170. package/dist/server/a2a/store.cjs.map +1 -0
  171. package/dist/server/a2a/store.d.ts +14 -0
  172. package/dist/server/a2a/store.d.ts.map +1 -0
  173. package/dist/server/a2a/store.js +23 -0
  174. package/dist/server/a2a/store.js.map +1 -0
  175. package/dist/server/a2a/tasks.d.ts +20 -0
  176. package/dist/server/a2a/tasks.d.ts.map +1 -0
  177. package/dist/server/auth/defaults.d.ts +3 -0
  178. package/dist/server/auth/defaults.d.ts.map +1 -0
  179. package/dist/server/auth/helpers.d.ts +14 -0
  180. package/dist/server/auth/helpers.d.ts.map +1 -0
  181. package/dist/server/auth/index.cjs +137 -0
  182. package/dist/server/auth/index.cjs.map +1 -0
  183. package/dist/server/auth/index.d.ts +3 -0
  184. package/dist/server/auth/index.d.ts.map +1 -0
  185. package/dist/server/auth/index.js +127 -0
  186. package/dist/server/auth/index.js.map +1 -0
  187. package/dist/server/handlers/a2a.cjs +40 -0
  188. package/dist/server/handlers/a2a.cjs.map +1 -0
  189. package/dist/server/handlers/a2a.d.ts +550 -0
  190. package/dist/server/handlers/a2a.d.ts.map +1 -0
  191. package/dist/server/handlers/a2a.js +3 -0
  192. package/dist/server/handlers/a2a.js.map +1 -0
  193. package/dist/server/handlers/agent-builder.cjs +68 -0
  194. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  195. package/dist/server/handlers/agent-builder.d.ts +632 -0
  196. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  197. package/dist/server/handlers/agent-builder.js +3 -0
  198. package/dist/server/handlers/agent-builder.js.map +1 -0
  199. package/dist/server/handlers/agents.cjs +99 -13
  200. package/dist/server/handlers/agents.cjs.map +1 -0
  201. package/dist/server/handlers/agents.d.ts +3387 -6
  202. package/dist/server/handlers/agents.d.ts.map +1 -0
  203. package/dist/server/handlers/agents.js +3 -1
  204. package/dist/server/handlers/agents.js.map +1 -0
  205. package/dist/server/handlers/error.cjs +8 -2
  206. package/dist/server/handlers/error.cjs.map +1 -0
  207. package/dist/server/handlers/error.d.ts +14 -1
  208. package/dist/server/handlers/error.d.ts.map +1 -0
  209. package/dist/server/handlers/error.js +3 -1
  210. package/dist/server/handlers/error.js.map +1 -0
  211. package/dist/server/handlers/logs.cjs +9 -7
  212. package/dist/server/handlers/logs.cjs.map +1 -0
  213. package/dist/server/handlers/logs.d.ts +142 -3
  214. package/dist/server/handlers/logs.d.ts.map +1 -0
  215. package/dist/server/handlers/logs.js +3 -1
  216. package/dist/server/handlers/logs.js.map +1 -0
  217. package/dist/server/handlers/mcp.cjs +40 -0
  218. package/dist/server/handlers/mcp.cjs.map +1 -0
  219. package/dist/server/handlers/mcp.d.ts +110 -0
  220. package/dist/server/handlers/mcp.d.ts.map +1 -0
  221. package/dist/server/handlers/mcp.js +3 -0
  222. package/dist/server/handlers/mcp.js.map +1 -0
  223. package/dist/server/handlers/memory.cjs +83 -17
  224. package/dist/server/handlers/memory.cjs.map +1 -0
  225. package/dist/server/handlers/memory.d.ts +1065 -8
  226. package/dist/server/handlers/memory.d.ts.map +1 -0
  227. package/dist/server/handlers/memory.js +3 -1
  228. package/dist/server/handlers/memory.js.map +1 -0
  229. package/dist/server/handlers/observability.cjs +24 -0
  230. package/dist/server/handlers/observability.cjs.map +1 -0
  231. package/dist/server/handlers/observability.d.ts +153 -0
  232. package/dist/server/handlers/observability.d.ts.map +1 -0
  233. package/dist/server/handlers/observability.js +3 -0
  234. package/dist/server/handlers/observability.js.map +1 -0
  235. package/dist/server/handlers/processors.cjs +20 -0
  236. package/dist/server/handlers/processors.cjs.map +1 -0
  237. package/dist/server/handlers/processors.d.ts +181 -0
  238. package/dist/server/handlers/processors.d.ts.map +1 -0
  239. package/dist/server/handlers/processors.js +3 -0
  240. package/dist/server/handlers/processors.js.map +1 -0
  241. package/dist/server/handlers/scores.cjs +32 -0
  242. package/dist/server/handlers/scores.cjs.map +1 -0
  243. package/dist/server/handlers/scores.d.ts +121 -0
  244. package/dist/server/handlers/scores.d.ts.map +1 -0
  245. package/dist/server/handlers/scores.js +3 -0
  246. package/dist/server/handlers/scores.js.map +1 -0
  247. package/dist/server/handlers/stored-agents.cjs +28 -0
  248. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  249. package/dist/server/handlers/stored-agents.d.ts +289 -0
  250. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  251. package/dist/server/handlers/stored-agents.js +3 -0
  252. package/dist/server/handlers/stored-agents.js.map +1 -0
  253. package/dist/server/handlers/system.cjs +12 -0
  254. package/dist/server/handlers/system.cjs.map +1 -0
  255. package/dist/server/handlers/system.d.ts +7 -0
  256. package/dist/server/handlers/system.d.ts.map +1 -0
  257. package/dist/server/handlers/system.js +3 -0
  258. package/dist/server/handlers/system.js.map +1 -0
  259. package/dist/server/handlers/test-utils.cjs +15 -0
  260. package/dist/server/handlers/test-utils.cjs.map +1 -0
  261. package/dist/server/handlers/test-utils.d.ts +6 -0
  262. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  263. package/dist/server/handlers/test-utils.js +13 -0
  264. package/dist/server/handlers/test-utils.js.map +1 -0
  265. package/dist/server/handlers/tools.cjs +15 -9
  266. package/dist/server/handlers/tools.cjs.map +1 -0
  267. package/dist/server/handlers/tools.d.ts +71 -4
  268. package/dist/server/handlers/tools.d.ts.map +1 -0
  269. package/dist/server/handlers/tools.js +3 -1
  270. package/dist/server/handlers/tools.js.map +1 -0
  271. package/dist/server/handlers/utils.cjs +16 -2
  272. package/dist/server/handlers/utils.cjs.map +1 -0
  273. package/dist/server/handlers/utils.d.ts +13 -1
  274. package/dist/server/handlers/utils.d.ts.map +1 -0
  275. package/dist/server/handlers/utils.js +3 -1
  276. package/dist/server/handlers/utils.js.map +1 -0
  277. package/dist/server/handlers/vector.cjs +33 -7
  278. package/dist/server/handlers/vector.cjs.map +1 -0
  279. package/dist/server/handlers/vector.d.ts +135 -6
  280. package/dist/server/handlers/vector.d.ts.map +1 -0
  281. package/dist/server/handlers/vector.js +3 -1
  282. package/dist/server/handlers/vector.js.map +1 -0
  283. package/dist/server/handlers/voice.cjs +25 -7
  284. package/dist/server/handlers/voice.cjs.map +1 -0
  285. package/dist/server/handlers/voice.d.ts +82 -3
  286. package/dist/server/handlers/voice.d.ts.map +1 -0
  287. package/dist/server/handlers/voice.js +3 -1
  288. package/dist/server/handlers/voice.js.map +1 -0
  289. package/dist/server/handlers/workflows.cjs +75 -21
  290. package/dist/server/handlers/workflows.cjs.map +1 -0
  291. package/dist/server/handlers/workflows.d.ts +994 -10
  292. package/dist/server/handlers/workflows.d.ts.map +1 -0
  293. package/dist/server/handlers/workflows.js +3 -1
  294. package/dist/server/handlers/workflows.js.map +1 -0
  295. package/dist/server/handlers.cjs +41 -24
  296. package/dist/server/handlers.cjs.map +1 -0
  297. package/dist/server/handlers.d.ts +13 -9
  298. package/dist/server/handlers.d.ts.map +1 -0
  299. package/dist/server/handlers.js +14 -9
  300. package/dist/server/handlers.js.map +1 -0
  301. package/dist/server/http-exception.d.ts +82 -0
  302. package/dist/server/http-exception.d.ts.map +1 -0
  303. package/dist/server/schemas/a2a.d.ts +786 -0
  304. package/dist/server/schemas/a2a.d.ts.map +1 -0
  305. package/dist/server/schemas/agent-builder.d.ts +225 -0
  306. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  307. package/dist/server/schemas/agents.d.ts +1804 -0
  308. package/dist/server/schemas/agents.d.ts.map +1 -0
  309. package/dist/server/schemas/common.d.ts +179 -0
  310. package/dist/server/schemas/common.d.ts.map +1 -0
  311. package/dist/server/schemas/logs.d.ts +124 -0
  312. package/dist/server/schemas/logs.d.ts.map +1 -0
  313. package/dist/server/schemas/mcp.d.ts +299 -0
  314. package/dist/server/schemas/mcp.d.ts.map +1 -0
  315. package/dist/server/schemas/memory.d.ts +1164 -0
  316. package/dist/server/schemas/memory.d.ts.map +1 -0
  317. package/dist/server/schemas/processors.d.ts +519 -0
  318. package/dist/server/schemas/processors.d.ts.map +1 -0
  319. package/dist/server/schemas/scores.d.ts +259 -0
  320. package/dist/server/schemas/scores.d.ts.map +1 -0
  321. package/dist/server/schemas/stored-agents.d.ts +792 -0
  322. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  323. package/dist/server/schemas/system.d.ts +36 -0
  324. package/dist/server/schemas/system.d.ts.map +1 -0
  325. package/dist/server/schemas/vectors.d.ts +107 -0
  326. package/dist/server/schemas/vectors.d.ts.map +1 -0
  327. package/dist/server/schemas/workflows.d.ts +863 -0
  328. package/dist/server/schemas/workflows.d.ts.map +1 -0
  329. package/dist/server/server-adapter/index.cjs +523 -0
  330. package/dist/server/server-adapter/index.cjs.map +1 -0
  331. package/dist/server/server-adapter/index.d.ts +109 -0
  332. package/dist/server/server-adapter/index.d.ts.map +1 -0
  333. package/dist/server/server-adapter/index.js +495 -0
  334. package/dist/server/server-adapter/index.js.map +1 -0
  335. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  336. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  337. package/dist/server/server-adapter/redact.d.ts +26 -0
  338. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  339. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  340. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  341. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  342. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  343. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  344. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  345. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  346. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  347. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  348. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  349. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  350. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  351. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  352. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  353. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  354. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  355. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  356. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  357. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  358. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  359. package/dist/server/server-adapter/routes/route-builder.d.ts +111 -0
  360. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  361. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  362. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  363. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  364. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  365. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  366. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  367. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  368. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  369. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  370. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  371. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  372. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  373. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  374. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  375. package/dist/server/types.d.ts +10 -0
  376. package/dist/server/types.d.ts.map +1 -0
  377. package/dist/server/utils.d.ts +45 -0
  378. package/dist/server/utils.d.ts.map +1 -0
  379. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs +63 -0
  380. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +1 -0
  381. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js +61 -0
  382. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +1 -0
  383. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs +63 -0
  384. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
  385. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js +61 -0
  386. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
  387. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js +61 -0
  388. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +1 -0
  389. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs +63 -0
  390. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +1 -0
  391. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
  392. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
  393. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
  394. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
  395. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +10 -0
  396. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map +1 -0
  397. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +8 -0
  398. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map +1 -0
  399. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +10 -0
  400. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map +1 -0
  401. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
  402. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map +1 -0
  403. package/package.json +72 -20
  404. package/dist/_tsup-dts-rollup.d.cts +0 -573
  405. package/dist/_tsup-dts-rollup.d.ts +0 -573
  406. package/dist/chunk-2FJURXCL.cjs +0 -213
  407. package/dist/chunk-3AHQ5RGN.js +0 -11
  408. package/dist/chunk-3EJZQ6TQ.js +0 -49
  409. package/dist/chunk-3RVHWGWO.js +0 -95
  410. package/dist/chunk-4JINXASC.js +0 -120
  411. package/dist/chunk-67WTHYAV.js +0 -156
  412. package/dist/chunk-A7DF4ETD.cjs +0 -100
  413. package/dist/chunk-B64YROKU.cjs +0 -317
  414. package/dist/chunk-CWSDZEZG.cjs +0 -139
  415. package/dist/chunk-DVPP5S6I.js +0 -135
  416. package/dist/chunk-JLDXUWK7.cjs +0 -126
  417. package/dist/chunk-L7XE5QTW.js +0 -16
  418. package/dist/chunk-M56ECCHK.cjs +0 -128
  419. package/dist/chunk-OPP7H5TW.js +0 -305
  420. package/dist/chunk-PDC4ZBQW.cjs +0 -126
  421. package/dist/chunk-QH6XWSXP.cjs +0 -5579
  422. package/dist/chunk-QN4KF3BH.cjs +0 -18
  423. package/dist/chunk-RBQASTUP.js +0 -203
  424. package/dist/chunk-SKBVVI24.cjs +0 -54
  425. package/dist/chunk-UV4WTEH4.js +0 -120
  426. package/dist/chunk-VK6FX47H.js +0 -5576
  427. package/dist/chunk-YANVFOYA.js +0 -120
  428. package/dist/chunk-Z46X3YCB.cjs +0 -164
  429. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  430. package/dist/index.d.cts +0 -1
  431. package/dist/server/handlers/agents.d.cts +0 -6
  432. package/dist/server/handlers/error.d.cts +0 -1
  433. package/dist/server/handlers/logs.d.cts +0 -3
  434. package/dist/server/handlers/memory.d.cts +0 -8
  435. package/dist/server/handlers/network.cjs +0 -22
  436. package/dist/server/handlers/network.d.cts +0 -4
  437. package/dist/server/handlers/network.d.ts +0 -4
  438. package/dist/server/handlers/network.js +0 -1
  439. package/dist/server/handlers/telemetry.cjs +0 -14
  440. package/dist/server/handlers/telemetry.d.cts +0 -2
  441. package/dist/server/handlers/telemetry.d.ts +0 -2
  442. package/dist/server/handlers/telemetry.js +0 -1
  443. package/dist/server/handlers/tools.d.cts +0 -4
  444. package/dist/server/handlers/utils.d.cts +0 -1
  445. package/dist/server/handlers/vector.d.cts +0 -6
  446. package/dist/server/handlers/voice.d.cts +0 -3
  447. package/dist/server/handlers/workflows.d.cts +0 -10
  448. package/dist/server/handlers.d.cts +0 -9
@@ -0,0 +1,683 @@
1
+ 'use strict';
2
+
3
+ var chunk33CKPQS4_cjs = require('./chunk-33CKPQS4.cjs');
4
+ var chunkAVRO3FIN_cjs = require('./chunk-AVRO3FIN.cjs');
5
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
6
+ var a2a = require('@mastra/core/a2a');
7
+ var z = require('zod');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var z__default = /*#__PURE__*/_interopDefault(z);
12
+
13
+ // src/server/handlers/a2a.ts
14
+ var a2a_exports = {};
15
+ chunkO7I5CWRX_cjs.__export(a2a_exports, {
16
+ AGENT_EXECUTION_ROUTE: () => AGENT_EXECUTION_ROUTE,
17
+ GET_AGENT_CARD_ROUTE: () => GET_AGENT_CARD_ROUTE,
18
+ getAgentCardByIdHandler: () => getAgentCardByIdHandler,
19
+ getAgentExecutionHandler: () => getAgentExecutionHandler,
20
+ handleMessageSend: () => handleMessageSend,
21
+ handleMessageStream: () => handleMessageStream,
22
+ handleTaskCancel: () => handleTaskCancel,
23
+ handleTaskGet: () => handleTaskGet
24
+ });
25
+ function normalizeError(error, reqId, taskId, logger) {
26
+ let a2aError;
27
+ if (error instanceof a2a.MastraA2AError) {
28
+ a2aError = error;
29
+ } else if (error instanceof Error) {
30
+ a2aError = a2a.MastraA2AError.internalError(error.message, { stack: error.stack });
31
+ } else {
32
+ a2aError = a2a.MastraA2AError.internalError("An unknown error occurred.", error);
33
+ }
34
+ if (taskId && !a2aError.taskId) {
35
+ a2aError.taskId = taskId;
36
+ }
37
+ logger?.error(`Error processing request (Task: ${a2aError.taskId ?? "N/A"}, ReqID: ${reqId ?? "N/A"}):`, a2aError);
38
+ return createErrorResponse(reqId, a2aError.toJSONRPCError());
39
+ }
40
+ function createErrorResponse(id, error) {
41
+ return {
42
+ jsonrpc: "2.0",
43
+ id,
44
+ // Can be null if request ID was invalid/missing
45
+ error
46
+ };
47
+ }
48
+ function createSuccessResponse(id, result) {
49
+ if (!id) {
50
+ throw a2a.MastraA2AError.internalError("Cannot create success response for null ID.");
51
+ }
52
+ return {
53
+ jsonrpc: "2.0",
54
+ id,
55
+ result
56
+ };
57
+ }
58
+ function convertToCoreMessage(message) {
59
+ return {
60
+ role: message.role === "user" ? "user" : "assistant",
61
+ content: message.parts.map((msg) => convertToCoreMessagePart(msg))
62
+ };
63
+ }
64
+ function convertToCoreMessagePart(part) {
65
+ switch (part.kind) {
66
+ case "text":
67
+ return {
68
+ type: "text",
69
+ text: part.text
70
+ };
71
+ case "file":
72
+ return {
73
+ type: "file",
74
+ data: "uri" in part.file ? new URL(part.file.uri) : part.file.bytes,
75
+ mimeType: part.file.mimeType
76
+ };
77
+ case "data":
78
+ throw new Error("Data parts are not supported in core messages");
79
+ }
80
+ }
81
+
82
+ // src/server/a2a/tasks.ts
83
+ function isTaskStatusUpdate(update) {
84
+ return "state" in update && !("parts" in update);
85
+ }
86
+ function isArtifactUpdate(update) {
87
+ return "kind" in update && update.kind === "artifact-update";
88
+ }
89
+ function applyUpdateToTask(current, update) {
90
+ let newTask = structuredClone(current);
91
+ if (isTaskStatusUpdate(update)) {
92
+ newTask.status = {
93
+ ...newTask.status,
94
+ // Keep existing properties if not overwritten
95
+ ...update,
96
+ // Apply updates
97
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
98
+ };
99
+ } else if (isArtifactUpdate(update)) {
100
+ if (!newTask.artifacts) {
101
+ newTask.artifacts = [];
102
+ } else {
103
+ newTask.artifacts = [...newTask.artifacts];
104
+ }
105
+ const artifact = update.artifact;
106
+ const existingIndex = newTask.artifacts.findIndex((a) => a.name === artifact.name);
107
+ const existingArtifact = newTask.artifacts[existingIndex];
108
+ if (existingArtifact) {
109
+ if (update.append) {
110
+ const appendedArtifact = JSON.parse(JSON.stringify(existingArtifact));
111
+ appendedArtifact.parts.push(...artifact.parts);
112
+ if (artifact.metadata) {
113
+ appendedArtifact.metadata = {
114
+ ...appendedArtifact.metadata || {},
115
+ ...artifact.metadata
116
+ };
117
+ }
118
+ if (artifact.description) appendedArtifact.description = artifact.description;
119
+ newTask.artifacts[existingIndex] = appendedArtifact;
120
+ } else {
121
+ newTask.artifacts[existingIndex] = { ...artifact };
122
+ }
123
+ } else {
124
+ newTask.artifacts.push({ ...artifact });
125
+ }
126
+ }
127
+ return newTask;
128
+ }
129
+ async function loadOrCreateTask({
130
+ agentId,
131
+ taskId,
132
+ taskStore,
133
+ message,
134
+ contextId,
135
+ metadata,
136
+ logger
137
+ }) {
138
+ const data = await taskStore.load({ agentId, taskId });
139
+ if (!data) {
140
+ const initialTask = {
141
+ id: taskId,
142
+ contextId: contextId || crypto.randomUUID(),
143
+ status: {
144
+ state: "submitted",
145
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
146
+ message: void 0
147
+ },
148
+ artifacts: [],
149
+ history: [message],
150
+ metadata,
151
+ kind: "task"
152
+ };
153
+ logger?.info(`[Task ${taskId}] Created new task.`);
154
+ await taskStore.save({ agentId, data: initialTask });
155
+ return initialTask;
156
+ }
157
+ logger?.info(`[Task ${taskId}] Loaded existing task.`);
158
+ let updatedData = data;
159
+ updatedData.history = [...data.history || [], message];
160
+ const { status } = data;
161
+ const finalStates = ["completed", "failed", "canceled"];
162
+ if (finalStates.includes(status.state)) {
163
+ logger?.warn(`[Task ${taskId}] Received message for task in final state ${status.state}. Restarting.`);
164
+ updatedData = applyUpdateToTask(updatedData, {
165
+ state: "submitted",
166
+ message: void 0
167
+ });
168
+ } else if (status.state === "input-required") {
169
+ logger?.info(`[Task ${taskId}] Changing state from 'input-required' to 'working'.`);
170
+ updatedData = applyUpdateToTask(updatedData, { state: "working" });
171
+ } else if (status.state === "working") {
172
+ logger?.warn(`[Task ${taskId}] Received message while already 'working'. Proceeding.`);
173
+ }
174
+ await taskStore.save({ agentId, data: updatedData });
175
+ return updatedData;
176
+ }
177
+ function createTaskContext({
178
+ task,
179
+ userMessage,
180
+ history,
181
+ activeCancellations
182
+ }) {
183
+ return {
184
+ task: structuredClone(task),
185
+ userMessage,
186
+ history: structuredClone(history),
187
+ isCancelled: () => activeCancellations.has(task.id)
188
+ };
189
+ }
190
+ var a2aAgentIdPathParams = z__default.default.object({
191
+ agentId: z__default.default.string().describe("Unique identifier for the agent")
192
+ });
193
+ a2aAgentIdPathParams.extend({
194
+ taskId: z__default.default.string().describe("Unique identifier for the task")
195
+ });
196
+ var pushNotificationAuthenticationInfoSchema = z__default.default.object({
197
+ schemes: z__default.default.array(z__default.default.string()).describe("Supported authentication schemes - e.g. Basic, Bearer"),
198
+ credentials: z__default.default.string().optional().describe("Optional credentials")
199
+ });
200
+ var pushNotificationConfigSchema = z__default.default.object({
201
+ url: z__default.default.string().describe("URL for sending the push notifications"),
202
+ id: z__default.default.string().optional().describe("Push Notification ID - created by server to support multiple callbacks"),
203
+ token: z__default.default.string().optional().describe("Token unique to this task/session"),
204
+ authentication: pushNotificationAuthenticationInfoSchema.optional()
205
+ });
206
+ var messageSendConfigurationSchema = z__default.default.object({
207
+ acceptedOutputModes: z__default.default.array(z__default.default.string()).describe("Accepted output modalities by the client"),
208
+ blocking: z__default.default.boolean().optional().describe("If the server should treat the client as a blocking request"),
209
+ historyLength: z__default.default.number().optional().describe("Number of recent messages to be retrieved"),
210
+ pushNotificationConfig: pushNotificationConfigSchema.optional()
211
+ });
212
+ var textPartSchema = z__default.default.object({
213
+ kind: z__default.default.literal("text").describe("Part type - text for TextParts"),
214
+ text: z__default.default.string().describe("Text content"),
215
+ metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
216
+ });
217
+ var fileWithBytesSchema = z__default.default.object({
218
+ bytes: z__default.default.string().describe("base64 encoded content of the file"),
219
+ mimeType: z__default.default.string().optional().describe("Optional mimeType for the file"),
220
+ name: z__default.default.string().optional().describe("Optional name for the file")
221
+ });
222
+ var fileWithUriSchema = z__default.default.object({
223
+ uri: z__default.default.string().describe("URL for the File content"),
224
+ mimeType: z__default.default.string().optional().describe("Optional mimeType for the file"),
225
+ name: z__default.default.string().optional().describe("Optional name for the file")
226
+ });
227
+ var filePartSchema = z__default.default.object({
228
+ kind: z__default.default.literal("file").describe("Part type - file for FileParts"),
229
+ file: z__default.default.union([fileWithBytesSchema, fileWithUriSchema]).describe("File content either as url or bytes"),
230
+ metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
231
+ });
232
+ var dataPartSchema = z__default.default.object({
233
+ kind: z__default.default.literal("data").describe("Part type - data for DataParts"),
234
+ data: z__default.default.record(z__default.default.unknown()).describe("Structured data content"),
235
+ metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
236
+ });
237
+ var partSchema = z__default.default.union([textPartSchema, filePartSchema, dataPartSchema]);
238
+ var messageSchema = z__default.default.object({
239
+ kind: z__default.default.literal("message").describe("Event type"),
240
+ messageId: z__default.default.string().describe("Identifier created by the message creator"),
241
+ role: z__default.default.enum(["user", "agent"]).describe("Message sender's role"),
242
+ parts: z__default.default.array(partSchema).describe("Message content"),
243
+ contextId: z__default.default.string().optional().describe("The context the message is associated with"),
244
+ taskId: z__default.default.string().optional().describe("Identifier of task the message is related to"),
245
+ referenceTaskIds: z__default.default.array(z__default.default.string()).optional().describe("List of tasks referenced as context by this message"),
246
+ extensions: z__default.default.array(z__default.default.string()).optional().describe("The URIs of extensions that are present or contributed to this Message"),
247
+ metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Extension metadata")
248
+ });
249
+ var messageSendParamsSchema = z__default.default.object({
250
+ message: messageSchema,
251
+ configuration: messageSendConfigurationSchema.optional(),
252
+ metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Extension metadata")
253
+ });
254
+ var taskQueryParamsSchema = z__default.default.object({
255
+ id: z__default.default.string().describe("Task id"),
256
+ historyLength: z__default.default.number().optional().describe("Number of recent messages to be retrieved"),
257
+ metadata: z__default.default.record(z__default.default.unknown()).optional()
258
+ });
259
+ var taskIdParamsSchema = z__default.default.object({
260
+ id: z__default.default.string().describe("Task id"),
261
+ metadata: z__default.default.record(z__default.default.unknown()).optional()
262
+ });
263
+ z__default.default.object({
264
+ message: messageSchema,
265
+ metadata: z__default.default.record(z__default.default.any()).optional()
266
+ });
267
+ z__default.default.object({
268
+ id: z__default.default.string()
269
+ });
270
+ var agentExecutionParamsSchema = z__default.default.union([messageSendParamsSchema, taskQueryParamsSchema, taskIdParamsSchema]);
271
+ var agentExecutionBodySchema = z__default.default.object({
272
+ jsonrpc: z__default.default.literal("2.0"),
273
+ id: z__default.default.union([z__default.default.string(), z__default.default.number()]),
274
+ method: z__default.default.enum(["message/send", "message/stream", "tasks/get", "tasks/cancel"]),
275
+ params: agentExecutionParamsSchema
276
+ });
277
+ var agentCardResponseSchema = z__default.default.object({
278
+ name: z__default.default.string(),
279
+ description: z__default.default.string(),
280
+ url: z__default.default.string(),
281
+ provider: z__default.default.object({
282
+ organization: z__default.default.string(),
283
+ url: z__default.default.string()
284
+ }).optional(),
285
+ version: z__default.default.string(),
286
+ capabilities: z__default.default.object({
287
+ streaming: z__default.default.boolean().optional(),
288
+ pushNotifications: z__default.default.boolean().optional(),
289
+ stateTransitionHistory: z__default.default.boolean().optional()
290
+ }),
291
+ defaultInputModes: z__default.default.array(z__default.default.string()),
292
+ defaultOutputModes: z__default.default.array(z__default.default.string()),
293
+ skills: z__default.default.array(
294
+ z__default.default.object({
295
+ id: z__default.default.string(),
296
+ name: z__default.default.string(),
297
+ description: z__default.default.string(),
298
+ tags: z__default.default.array(z__default.default.string()).optional()
299
+ })
300
+ )
301
+ });
302
+ z__default.default.unknown();
303
+ var agentExecutionResponseSchema = z__default.default.unknown();
304
+
305
+ // src/server/handlers/a2a.ts
306
+ var messageSendParamsSchema2 = z.z.object({
307
+ message: z.z.object({
308
+ role: z.z.enum(["user", "agent"]),
309
+ parts: z.z.array(
310
+ z.z.object({
311
+ kind: z.z.enum(["text"]),
312
+ text: z.z.string()
313
+ })
314
+ ),
315
+ kind: z.z.literal("message"),
316
+ messageId: z.z.string(),
317
+ contextId: z.z.string().optional(),
318
+ taskId: z.z.string().optional(),
319
+ referenceTaskIds: z.z.array(z.z.string()).optional(),
320
+ extensions: z.z.array(z.z.string()).optional(),
321
+ metadata: z.z.record(z.z.any()).optional()
322
+ })
323
+ });
324
+ async function getAgentCardByIdHandler({
325
+ mastra,
326
+ agentId,
327
+ executionUrl = `/a2a/${agentId}`,
328
+ provider = {
329
+ organization: "Mastra",
330
+ url: "https://mastra.ai"
331
+ },
332
+ version = "1.0",
333
+ requestContext
334
+ }) {
335
+ const agent = mastra.getAgentById(agentId);
336
+ if (!agent) {
337
+ throw new Error(`Agent with ID ${agentId} not found`);
338
+ }
339
+ const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
340
+ const agentCard = {
341
+ name: agent.id || agentId,
342
+ description: chunk33CKPQS4_cjs.convertInstructionsToString(instructions),
343
+ url: executionUrl,
344
+ provider,
345
+ version,
346
+ capabilities: {
347
+ streaming: true,
348
+ // All agents support streaming
349
+ pushNotifications: false,
350
+ stateTransitionHistory: false
351
+ },
352
+ defaultInputModes: ["text"],
353
+ defaultOutputModes: ["text"],
354
+ // Convert agent tools to skills format for A2A protocol
355
+ skills: Object.entries(tools).map(([toolId, tool]) => ({
356
+ id: toolId,
357
+ name: toolId,
358
+ description: tool.description || `Tool: ${toolId}`,
359
+ // Optional fields
360
+ tags: ["tool"]
361
+ }))
362
+ };
363
+ return agentCard;
364
+ }
365
+ function validateMessageSendParams(params) {
366
+ try {
367
+ messageSendParamsSchema2.parse(params);
368
+ } catch (error) {
369
+ if (error instanceof z.z.ZodError) {
370
+ throw a2a.MastraA2AError.invalidParams(error.errors[0].message);
371
+ }
372
+ throw error;
373
+ }
374
+ }
375
+ async function handleMessageSend({
376
+ requestId,
377
+ params,
378
+ taskStore,
379
+ agent,
380
+ agentId,
381
+ logger,
382
+ requestContext
383
+ }) {
384
+ validateMessageSendParams(params);
385
+ const { message, metadata } = params;
386
+ const { contextId } = message;
387
+ const taskId = message.taskId || crypto.randomUUID();
388
+ let currentData = await loadOrCreateTask({
389
+ taskId,
390
+ taskStore,
391
+ agentId,
392
+ message,
393
+ contextId,
394
+ metadata
395
+ });
396
+ createTaskContext({
397
+ task: currentData,
398
+ userMessage: message,
399
+ history: currentData.history || [],
400
+ activeCancellations: taskStore.activeCancellations
401
+ });
402
+ try {
403
+ const resourceId = metadata?.resourceId ?? message.metadata?.resourceId ?? agentId;
404
+ const result = await agent.generate([convertToCoreMessage(message)], {
405
+ runId: taskId,
406
+ requestContext,
407
+ ...contextId ? { threadId: contextId, resourceId } : {}
408
+ });
409
+ currentData = applyUpdateToTask(currentData, {
410
+ state: "completed",
411
+ message: {
412
+ messageId: crypto.randomUUID(),
413
+ role: "agent",
414
+ parts: [
415
+ {
416
+ kind: "text",
417
+ text: result.text
418
+ }
419
+ ],
420
+ kind: "message"
421
+ }
422
+ });
423
+ currentData.metadata = {
424
+ ...currentData.metadata,
425
+ execution: {
426
+ toolCalls: result.toolCalls,
427
+ toolResults: result.toolResults,
428
+ usage: result.usage,
429
+ finishReason: result.finishReason
430
+ }
431
+ };
432
+ await taskStore.save({ agentId, data: currentData });
433
+ } catch (handlerError) {
434
+ const failureStatusUpdate = {
435
+ state: "failed",
436
+ message: {
437
+ messageId: crypto.randomUUID(),
438
+ role: "agent",
439
+ parts: [
440
+ {
441
+ kind: "text",
442
+ text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`
443
+ }
444
+ ],
445
+ kind: "message"
446
+ }
447
+ };
448
+ currentData = applyUpdateToTask(currentData, failureStatusUpdate);
449
+ try {
450
+ await taskStore.save({ agentId, data: currentData });
451
+ } catch (saveError) {
452
+ logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);
453
+ }
454
+ return normalizeError(handlerError, requestId, currentData.id, logger);
455
+ }
456
+ return createSuccessResponse(requestId, currentData);
457
+ }
458
+ async function handleTaskGet({
459
+ requestId,
460
+ taskStore,
461
+ agentId,
462
+ taskId
463
+ }) {
464
+ const task = await taskStore.load({ agentId, taskId });
465
+ if (!task) {
466
+ throw a2a.MastraA2AError.taskNotFound(taskId);
467
+ }
468
+ return createSuccessResponse(requestId, task);
469
+ }
470
+ async function* handleMessageStream({
471
+ requestId,
472
+ params,
473
+ taskStore,
474
+ agent,
475
+ agentId,
476
+ logger,
477
+ requestContext
478
+ }) {
479
+ yield createSuccessResponse(requestId, {
480
+ state: "working",
481
+ message: {
482
+ messageId: crypto.randomUUID(),
483
+ kind: "message",
484
+ role: "agent",
485
+ parts: [{ kind: "text", text: "Generating response..." }]
486
+ }
487
+ });
488
+ let result;
489
+ try {
490
+ result = await handleMessageSend({
491
+ requestId,
492
+ params,
493
+ taskStore,
494
+ agent,
495
+ agentId,
496
+ requestContext,
497
+ logger
498
+ });
499
+ } catch (err) {
500
+ if (!(err instanceof a2a.MastraA2AError)) {
501
+ throw err;
502
+ }
503
+ result = createErrorResponse(requestId, err.toJSONRPCError());
504
+ }
505
+ yield result;
506
+ }
507
+ async function handleTaskCancel({
508
+ requestId,
509
+ taskStore,
510
+ agentId,
511
+ taskId,
512
+ logger
513
+ }) {
514
+ let data = await taskStore.load({
515
+ agentId,
516
+ taskId
517
+ });
518
+ if (!data) {
519
+ throw a2a.MastraA2AError.taskNotFound(taskId);
520
+ }
521
+ const finalStates = ["completed", "failed", "canceled"];
522
+ if (finalStates.includes(data.status.state)) {
523
+ logger?.info(`Task ${taskId} already in final state ${data.status.state}, cannot cancel.`);
524
+ return createSuccessResponse(requestId, data);
525
+ }
526
+ taskStore.activeCancellations.add(taskId);
527
+ const cancelUpdate = {
528
+ state: "canceled",
529
+ message: {
530
+ role: "agent",
531
+ parts: [{ kind: "text", text: "Task cancelled by request." }],
532
+ kind: "message",
533
+ messageId: crypto.randomUUID()
534
+ }
535
+ };
536
+ data = applyUpdateToTask(data, cancelUpdate);
537
+ await taskStore.save({ agentId, data });
538
+ taskStore.activeCancellations.delete(taskId);
539
+ return createSuccessResponse(requestId, data);
540
+ }
541
+ async function getAgentExecutionHandler({
542
+ requestId,
543
+ mastra,
544
+ agentId,
545
+ requestContext,
546
+ method,
547
+ params,
548
+ taskStore,
549
+ logger
550
+ }) {
551
+ const agent = mastra.getAgentById(agentId);
552
+ let taskId;
553
+ try {
554
+ taskId = "id" in params ? params.id : params.message?.taskId || "No task ID provided";
555
+ switch (method) {
556
+ case "message/send": {
557
+ const result2 = await handleMessageSend({
558
+ requestId,
559
+ params,
560
+ taskStore,
561
+ agent,
562
+ agentId,
563
+ requestContext
564
+ });
565
+ return result2;
566
+ }
567
+ case "message/stream":
568
+ const result = await handleMessageStream({
569
+ requestId,
570
+ taskStore,
571
+ params,
572
+ agent,
573
+ agentId,
574
+ requestContext
575
+ });
576
+ return result;
577
+ case "tasks/get": {
578
+ const result2 = await handleTaskGet({
579
+ requestId,
580
+ taskStore,
581
+ agentId,
582
+ taskId
583
+ });
584
+ return result2;
585
+ }
586
+ case "tasks/cancel": {
587
+ const result2 = await handleTaskCancel({
588
+ requestId,
589
+ taskStore,
590
+ agentId,
591
+ taskId
592
+ });
593
+ return result2;
594
+ }
595
+ default:
596
+ throw a2a.MastraA2AError.methodNotFound(method);
597
+ }
598
+ } catch (error) {
599
+ if (error instanceof a2a.MastraA2AError && taskId && !error.taskId) {
600
+ error.taskId = taskId;
601
+ }
602
+ return normalizeError(error, requestId, taskId, logger);
603
+ }
604
+ }
605
+ var GET_AGENT_CARD_ROUTE = chunkAVRO3FIN_cjs.createRoute({
606
+ method: "GET",
607
+ path: "/.well-known/:agentId/agent-card.json",
608
+ responseType: "json",
609
+ pathParamSchema: a2aAgentIdPathParams,
610
+ responseSchema: agentCardResponseSchema,
611
+ summary: "Get agent card",
612
+ description: "Returns the agent card information for A2A protocol discovery",
613
+ tags: ["Agent-to-Agent"],
614
+ handler: async ({ mastra, agentId, requestContext }) => {
615
+ const executionUrl = `/a2a/${agentId}`;
616
+ const provider = {
617
+ organization: "Mastra",
618
+ url: "https://mastra.ai"
619
+ };
620
+ const version = "1.0";
621
+ const agent = mastra.getAgentById(agentId);
622
+ if (!agent) {
623
+ throw new Error(`Agent with ID ${agentId} not found`);
624
+ }
625
+ const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
626
+ const agentCard = {
627
+ name: agent.id || agentId,
628
+ description: chunk33CKPQS4_cjs.convertInstructionsToString(instructions),
629
+ url: executionUrl,
630
+ provider,
631
+ version,
632
+ capabilities: {
633
+ streaming: true,
634
+ pushNotifications: false,
635
+ stateTransitionHistory: false
636
+ },
637
+ defaultInputModes: ["text"],
638
+ defaultOutputModes: ["text"],
639
+ skills: Object.entries(tools).map(([toolId, tool]) => ({
640
+ id: toolId,
641
+ name: toolId,
642
+ description: tool.description || `Tool: ${toolId}`,
643
+ tags: ["tool"]
644
+ }))
645
+ };
646
+ return agentCard;
647
+ }
648
+ });
649
+ var AGENT_EXECUTION_ROUTE = chunkAVRO3FIN_cjs.createRoute({
650
+ method: "POST",
651
+ path: "/a2a/:agentId",
652
+ responseType: "json",
653
+ pathParamSchema: a2aAgentIdPathParams,
654
+ bodySchema: agentExecutionBodySchema,
655
+ responseSchema: agentExecutionResponseSchema,
656
+ summary: "Execute agent",
657
+ description: "Executes an agent action via JSON-RPC 2.0 over A2A protocol",
658
+ tags: ["Agent-to-Agent"],
659
+ handler: async ({ mastra, agentId, requestContext, taskStore, ...bodyParams }) => {
660
+ const { id: requestId, method, params } = bodyParams;
661
+ return await getAgentExecutionHandler({
662
+ requestId: String(requestId),
663
+ mastra,
664
+ agentId,
665
+ requestContext,
666
+ method,
667
+ params,
668
+ taskStore
669
+ });
670
+ }
671
+ });
672
+
673
+ exports.AGENT_EXECUTION_ROUTE = AGENT_EXECUTION_ROUTE;
674
+ exports.GET_AGENT_CARD_ROUTE = GET_AGENT_CARD_ROUTE;
675
+ exports.a2a_exports = a2a_exports;
676
+ exports.getAgentCardByIdHandler = getAgentCardByIdHandler;
677
+ exports.getAgentExecutionHandler = getAgentExecutionHandler;
678
+ exports.handleMessageSend = handleMessageSend;
679
+ exports.handleMessageStream = handleMessageStream;
680
+ exports.handleTaskCancel = handleTaskCancel;
681
+ exports.handleTaskGet = handleTaskGet;
682
+ //# sourceMappingURL=chunk-CLAEGIP5.cjs.map
683
+ //# sourceMappingURL=chunk-CLAEGIP5.cjs.map