@mastra/server 0.0.0-span-scorring-test-20251124132129 → 0.0.0-standard-schema-20260126101119

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 (402) hide show
  1. package/CHANGELOG.md +1811 -32
  2. package/README.md +2 -2
  3. package/a2a/store.d.ts +1 -0
  4. package/auth.d.ts +1 -0
  5. package/dist/{chunk-SHWNNZBL.js → chunk-24SISJRB.js} +13 -17
  6. package/dist/chunk-24SISJRB.js.map +1 -0
  7. package/dist/chunk-2VUOF2MV.cjs +190 -0
  8. package/dist/chunk-2VUOF2MV.cjs.map +1 -0
  9. package/dist/chunk-3JOHBO6Z.cjs +603 -0
  10. package/dist/chunk-3JOHBO6Z.cjs.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/{chunk-ASZUOBKV.js → chunk-47MMB22J.js} +42 -20
  14. package/dist/chunk-47MMB22J.js.map +1 -0
  15. package/dist/chunk-4HFYR562.cjs +82 -0
  16. package/dist/chunk-4HFYR562.cjs.map +1 -0
  17. package/dist/chunk-55TH4ME5.js +170 -0
  18. package/dist/chunk-55TH4ME5.js.map +1 -0
  19. package/dist/chunk-5WFQ4ZBQ.cjs +31787 -0
  20. package/dist/chunk-5WFQ4ZBQ.cjs.map +1 -0
  21. package/dist/{chunk-QU6N55W6.cjs → chunk-6G2RQWKA.cjs} +17 -21
  22. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  23. package/dist/{chunk-ZLRTFRL4.js → chunk-6GFG23PC.js} +407 -91
  24. package/dist/chunk-6GFG23PC.js.map +1 -0
  25. package/dist/{chunk-UXGQZUYZ.js → chunk-7AINN3FK.js} +13 -3
  26. package/dist/chunk-7AINN3FK.js.map +1 -0
  27. package/dist/chunk-7D3UAMQM.cjs +82 -0
  28. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  29. package/dist/chunk-ASLDC3OZ.cjs +450 -0
  30. package/dist/chunk-ASLDC3OZ.cjs.map +1 -0
  31. package/dist/{chunk-QGWCNTG6.cjs → chunk-C3FFJPAW.cjs} +493 -172
  32. package/dist/chunk-C3FFJPAW.cjs.map +1 -0
  33. package/dist/{chunk-3R5EV3HV.js → chunk-C7GSYEQP.js} +36 -29
  34. package/dist/chunk-C7GSYEQP.js.map +1 -0
  35. package/dist/chunk-CK632IRI.cjs +47 -0
  36. package/dist/chunk-CK632IRI.cjs.map +1 -0
  37. package/dist/{chunk-R4M3BSUG.js → chunk-DOU5IGJB.js} +26 -10
  38. package/dist/chunk-DOU5IGJB.js.map +1 -0
  39. package/dist/{chunk-6DTV6NEW.js → chunk-DP474KY4.js} +11 -8
  40. package/dist/chunk-DP474KY4.js.map +1 -0
  41. package/dist/{chunk-FXDZLX2Y.js → chunk-DUVMVT64.js} +37 -26
  42. package/dist/chunk-DUVMVT64.js.map +1 -0
  43. package/dist/chunk-F2IYPGYA.cjs +322 -0
  44. package/dist/chunk-F2IYPGYA.cjs.map +1 -0
  45. package/dist/{chunk-VQAT5HX6.js → chunk-FDSHHJRG.js} +458 -116
  46. package/dist/chunk-FDSHHJRG.js.map +1 -0
  47. package/dist/chunk-FRRHYZR6.cjs +88 -0
  48. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  49. package/dist/{chunk-ZULZ2752.js → chunk-FXW7MD4U.js} +3 -3
  50. package/dist/chunk-FXW7MD4U.js.map +1 -0
  51. package/dist/chunk-G2F73L4P.js +45 -0
  52. package/dist/chunk-G2F73L4P.js.map +1 -0
  53. package/dist/{chunk-UOFV2ZCI.js → chunk-G3C3UIEK.js} +316 -96
  54. package/dist/chunk-G3C3UIEK.js.map +1 -0
  55. package/dist/chunk-GIMXFF2O.js +31748 -0
  56. package/dist/chunk-GIMXFF2O.js.map +1 -0
  57. package/dist/{chunk-YJ3VDL3Z.cjs → chunk-GZFULNC5.cjs} +37 -31
  58. package/dist/chunk-GZFULNC5.cjs.map +1 -0
  59. package/dist/{chunk-4ECGVOJZ.cjs → chunk-HAZKO3MH.cjs} +40 -33
  60. package/dist/chunk-HAZKO3MH.cjs.map +1 -0
  61. package/dist/{chunk-KB5NSROG.cjs → chunk-HKK5WZO5.cjs} +47 -42
  62. package/dist/chunk-HKK5WZO5.cjs.map +1 -0
  63. package/dist/{chunk-UZ6CYAOG.cjs → chunk-HQHCI62G.cjs} +62 -15
  64. package/dist/chunk-HQHCI62G.cjs.map +1 -0
  65. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  66. package/dist/chunk-HT4LP3BO.js.map +1 -0
  67. package/dist/chunk-HZINLMHL.cjs +252 -0
  68. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  69. package/dist/{chunk-RQK4FQUD.js → chunk-IGXRQWNN.js} +6 -48
  70. package/dist/chunk-IGXRQWNN.js.map +1 -0
  71. package/dist/chunk-IS3HHGL4.js +250 -0
  72. package/dist/chunk-IS3HHGL4.js.map +1 -0
  73. package/dist/chunk-JW2MKBAS.js +246 -0
  74. package/dist/chunk-JW2MKBAS.js.map +1 -0
  75. package/dist/chunk-K4HSW5ZF.js +77 -0
  76. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  77. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  78. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  79. package/dist/{chunk-I5VZ5SKG.js → chunk-LNWEFD7L.js} +17 -11
  80. package/dist/chunk-LNWEFD7L.js.map +1 -0
  81. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  82. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  83. package/dist/{chunk-UJNHKFBR.cjs → chunk-N2HDS7BY.cjs} +83 -13
  84. package/dist/chunk-N2HDS7BY.cjs.map +1 -0
  85. package/dist/{chunk-FAQICBMH.js → chunk-N5RGHD5P.js} +81 -14
  86. package/dist/chunk-N5RGHD5P.js.map +1 -0
  87. package/dist/{chunk-MWQQRVQC.cjs → chunk-OD6Y7FEM.cjs} +34 -13
  88. package/dist/chunk-OD6Y7FEM.cjs.map +1 -0
  89. package/dist/chunk-OEF6DYI4.js +177 -0
  90. package/dist/chunk-OEF6DYI4.js.map +1 -0
  91. package/dist/chunk-OGFXTALR.js +312 -0
  92. package/dist/chunk-OGFXTALR.js.map +1 -0
  93. package/dist/{chunk-ICANWSEW.js → chunk-OJWVANX3.js} +25 -20
  94. package/dist/chunk-OJWVANX3.js.map +1 -0
  95. package/dist/chunk-OS7SAIRA.js +250 -0
  96. package/dist/chunk-OS7SAIRA.js.map +1 -0
  97. package/dist/chunk-OSJ3HUP2.js +184 -0
  98. package/dist/chunk-OSJ3HUP2.js.map +1 -0
  99. package/dist/chunk-PWXUI3OG.cjs +252 -0
  100. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  101. package/dist/{chunk-Z36N2OQA.cjs → chunk-PXQDIUYD.cjs} +358 -137
  102. package/dist/chunk-PXQDIUYD.cjs.map +1 -0
  103. package/dist/{chunk-NDFAQBQD.cjs → chunk-PXTREZVA.cjs} +514 -166
  104. package/dist/chunk-PXTREZVA.cjs.map +1 -0
  105. package/dist/chunk-Q3SOCUG3.js +576 -0
  106. package/dist/chunk-Q3SOCUG3.js.map +1 -0
  107. package/dist/chunk-QHJ75L3U.cjs +252 -0
  108. package/dist/chunk-QHJ75L3U.cjs.map +1 -0
  109. package/dist/chunk-RIX6WEJ2.js +83 -0
  110. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  111. package/dist/{chunk-ZODCSH2W.cjs → chunk-RYU5JLTE.cjs} +54 -32
  112. package/dist/chunk-RYU5JLTE.cjs.map +1 -0
  113. package/dist/{chunk-35NT4TMQ.cjs → chunk-SI45XQYH.cjs} +66 -55
  114. package/dist/chunk-SI45XQYH.cjs.map +1 -0
  115. package/dist/{chunk-LPM6BBAX.cjs → chunk-SLDAFSKJ.cjs} +5 -56
  116. package/dist/chunk-SLDAFSKJ.cjs.map +1 -0
  117. package/dist/{chunk-2PLXW4ZX.cjs → chunk-T6YYVQHJ.cjs} +74 -74
  118. package/dist/chunk-T6YYVQHJ.cjs.map +1 -0
  119. package/dist/chunk-TF4LSD27.cjs +180 -0
  120. package/dist/chunk-TF4LSD27.cjs.map +1 -0
  121. package/dist/{chunk-V5WWQN7P.cjs → chunk-UWYAL2Z3.cjs} +13 -2
  122. package/dist/chunk-UWYAL2Z3.cjs.map +1 -0
  123. package/dist/chunk-WNI2WZML.js +442 -0
  124. package/dist/chunk-WNI2WZML.js.map +1 -0
  125. package/dist/{chunk-5PONYNYP.cjs → chunk-WTF4ECYJ.cjs} +20 -17
  126. package/dist/chunk-WTF4ECYJ.cjs.map +1 -0
  127. package/dist/chunk-XKLJYRAA.js +77 -0
  128. package/dist/chunk-XKLJYRAA.js.map +1 -0
  129. package/dist/{dist-G2BYZJOC.cjs → dist-2GQKYJ34.cjs} +28 -28
  130. package/dist/dist-2GQKYJ34.cjs.map +1 -0
  131. package/dist/{dist-X7XR3M3Z.js → dist-C6BUHOEE.js} +3 -3
  132. package/dist/dist-C6BUHOEE.js.map +1 -0
  133. package/dist/dist-DGOEFPQD.cjs +16 -0
  134. package/dist/{dist-P4MXBQ3U.cjs.map → dist-DGOEFPQD.cjs.map} +1 -1
  135. package/dist/dist-FT2OR7OS.js +3 -0
  136. package/dist/{dist-YREX2TJT.js.map → dist-FT2OR7OS.js.map} +1 -1
  137. package/dist/{dist-XVBSOGFK.js → dist-G4CR4WYY.js} +3 -3
  138. package/dist/dist-G4CR4WYY.js.map +1 -0
  139. package/dist/{dist-PQZUVLPC.js → dist-G5QFRYLQ.js} +3 -3
  140. package/dist/dist-G5QFRYLQ.js.map +1 -0
  141. package/dist/{dist-4MVGNSRL.cjs → dist-JPQK5S4K.cjs} +20 -20
  142. package/dist/dist-JPQK5S4K.cjs.map +1 -0
  143. package/dist/{dist-R7WYX6LC.js → dist-MIDN25GT.js} +3 -3
  144. package/dist/dist-MIDN25GT.js.map +1 -0
  145. package/dist/{dist-RFMYFILX.cjs → dist-SNKH6NS2.cjs} +30 -30
  146. package/dist/dist-SNKH6NS2.cjs.map +1 -0
  147. package/dist/{dist-FZYCV3VB.cjs → dist-XBQPKAO4.cjs} +26 -26
  148. package/dist/dist-XBQPKAO4.cjs.map +1 -0
  149. package/dist/docs/README.md +31 -0
  150. package/dist/docs/SKILL.md +32 -0
  151. package/dist/docs/SOURCE_MAP.json +6 -0
  152. package/dist/docs/server/01-custom-adapters.md +380 -0
  153. package/dist/docs/server/02-reference.md +819 -0
  154. package/dist/server/auth/defaults.d.ts +3 -0
  155. package/dist/server/auth/defaults.d.ts.map +1 -0
  156. package/dist/server/auth/helpers.d.ts +14 -0
  157. package/dist/server/auth/helpers.d.ts.map +1 -0
  158. package/dist/server/auth/index.cjs +44 -0
  159. package/dist/server/auth/index.cjs.map +1 -0
  160. package/dist/server/auth/index.d.ts +3 -0
  161. package/dist/server/auth/index.d.ts.map +1 -0
  162. package/dist/server/auth/index.js +3 -0
  163. package/dist/server/auth/index.js.map +1 -0
  164. package/dist/server/auth/path-pattern.d.ts +43 -0
  165. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  166. package/dist/server/handlers/a2a.cjs +9 -9
  167. package/dist/server/handlers/a2a.d.ts +34 -420
  168. package/dist/server/handlers/a2a.d.ts.map +1 -1
  169. package/dist/server/handlers/a2a.js +1 -1
  170. package/dist/server/handlers/agent-builder.cjs +16 -28
  171. package/dist/server/handlers/agent-builder.d.ts +154 -460
  172. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  173. package/dist/server/handlers/agent-builder.js +1 -1
  174. package/dist/server/handlers/agent-versions.cjs +60 -0
  175. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  176. package/dist/server/handlers/agent-versions.d.ts +425 -0
  177. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  178. package/dist/server/handlers/agent-versions.js +3 -0
  179. package/dist/server/handlers/agent-versions.js.map +1 -0
  180. package/dist/server/handlers/agents.cjs +43 -23
  181. package/dist/server/handlers/agents.d.ts +362 -2912
  182. package/dist/server/handlers/agents.d.ts.map +1 -1
  183. package/dist/server/handlers/agents.js +1 -1
  184. package/dist/server/handlers/error.cjs +6 -2
  185. package/dist/server/handlers/error.d.ts +22 -0
  186. package/dist/server/handlers/error.d.ts.map +1 -1
  187. package/dist/server/handlers/error.js +1 -1
  188. package/dist/server/handlers/logs.cjs +4 -4
  189. package/dist/server/handlers/logs.d.ts +63 -111
  190. package/dist/server/handlers/logs.d.ts.map +1 -1
  191. package/dist/server/handlers/logs.js +1 -1
  192. package/dist/server/handlers/mcp.cjs +40 -0
  193. package/dist/server/handlers/mcp.cjs.map +1 -0
  194. package/dist/server/handlers/mcp.d.ts +92 -0
  195. package/dist/server/handlers/mcp.d.ts.map +1 -0
  196. package/dist/server/handlers/mcp.js +3 -0
  197. package/dist/server/handlers/mcp.js.map +1 -0
  198. package/dist/server/handlers/memory.cjs +28 -24
  199. package/dist/server/handlers/memory.d.ts +244 -756
  200. package/dist/server/handlers/memory.d.ts.map +1 -1
  201. package/dist/server/handlers/memory.js +1 -1
  202. package/dist/server/handlers/observability.cjs +7 -23
  203. package/dist/server/handlers/observability.d.ts +97 -114
  204. package/dist/server/handlers/observability.d.ts.map +1 -1
  205. package/dist/server/handlers/observability.js +1 -1
  206. package/dist/server/handlers/processors.cjs +20 -0
  207. package/dist/server/handlers/processors.cjs.map +1 -0
  208. package/dist/server/handlers/processors.d.ts +90 -0
  209. package/dist/server/handlers/processors.d.ts.map +1 -0
  210. package/dist/server/handlers/processors.js +3 -0
  211. package/dist/server/handlers/processors.js.map +1 -0
  212. package/dist/server/handlers/scores.cjs +7 -7
  213. package/dist/server/handlers/scores.d.ts +18 -54
  214. package/dist/server/handlers/scores.d.ts.map +1 -1
  215. package/dist/server/handlers/scores.js +1 -1
  216. package/dist/server/handlers/stored-agents.cjs +28 -0
  217. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  218. package/dist/server/handlers/stored-agents.d.ts +214 -0
  219. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  220. package/dist/server/handlers/stored-agents.js +3 -0
  221. package/dist/server/handlers/stored-agents.js.map +1 -0
  222. package/dist/server/handlers/system.cjs +12 -0
  223. package/dist/server/handlers/system.cjs.map +1 -0
  224. package/dist/server/handlers/system.d.ts +7 -0
  225. package/dist/server/handlers/system.d.ts.map +1 -0
  226. package/dist/server/handlers/system.js +3 -0
  227. package/dist/server/handlers/system.js.map +1 -0
  228. package/dist/server/handlers/test-utils.cjs +2 -2
  229. package/dist/server/handlers/test-utils.cjs.map +1 -1
  230. package/dist/server/handlers/test-utils.d.ts +3 -3
  231. package/dist/server/handlers/test-utils.d.ts.map +1 -1
  232. package/dist/server/handlers/test-utils.js +2 -2
  233. package/dist/server/handlers/test-utils.js.map +1 -1
  234. package/dist/server/handlers/tools.cjs +6 -6
  235. package/dist/server/handlers/tools.d.ts +7 -36
  236. package/dist/server/handlers/tools.d.ts.map +1 -1
  237. package/dist/server/handlers/tools.js +1 -1
  238. package/dist/server/handlers/vector.cjs +13 -13
  239. package/dist/server/handlers/vector.d.ts +16 -57
  240. package/dist/server/handlers/vector.d.ts.map +1 -1
  241. package/dist/server/handlers/vector.js +1 -1
  242. package/dist/server/handlers/voice.cjs +8 -8
  243. package/dist/server/handlers/voice.d.ts +18 -56
  244. package/dist/server/handlers/voice.d.ts.map +1 -1
  245. package/dist/server/handlers/voice.js +1 -1
  246. package/dist/server/handlers/workflows.cjs +46 -26
  247. package/dist/server/handlers/workflows.d.ts +358 -533
  248. package/dist/server/handlers/workflows.d.ts.map +1 -1
  249. package/dist/server/handlers/workflows.js +1 -1
  250. package/dist/server/handlers.cjs +36 -31
  251. package/dist/server/handlers.d.ts +1 -0
  252. package/dist/server/handlers.d.ts.map +1 -1
  253. package/dist/server/handlers.js +12 -11
  254. package/dist/server/schemas/a2a.d.ts +56 -700
  255. package/dist/server/schemas/a2a.d.ts.map +1 -1
  256. package/dist/server/schemas/agent-builder.d.ts +26 -143
  257. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  258. package/dist/server/schemas/agent-versions.d.ts +379 -0
  259. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  260. package/dist/server/schemas/agents.d.ts +152 -1031
  261. package/dist/server/schemas/agents.d.ts.map +1 -1
  262. package/dist/server/schemas/common.d.ts +37 -103
  263. package/dist/server/schemas/common.d.ts.map +1 -1
  264. package/dist/server/schemas/logs.d.ts +38 -106
  265. package/dist/server/schemas/logs.d.ts.map +1 -1
  266. package/dist/server/schemas/mcp.d.ts +91 -0
  267. package/dist/server/schemas/mcp.d.ts.map +1 -0
  268. package/dist/server/schemas/memory.d.ts +288 -831
  269. package/dist/server/schemas/memory.d.ts.map +1 -1
  270. package/dist/server/schemas/processors.d.ts +162 -0
  271. package/dist/server/schemas/processors.d.ts.map +1 -0
  272. package/dist/server/schemas/scores.d.ts +31 -213
  273. package/dist/server/schemas/scores.d.ts.map +1 -1
  274. package/dist/server/schemas/stored-agents.d.ts +274 -0
  275. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  276. package/dist/server/schemas/system.d.ts +14 -0
  277. package/dist/server/schemas/system.d.ts.map +1 -0
  278. package/dist/server/schemas/vectors.d.ts +21 -81
  279. package/dist/server/schemas/vectors.d.ts.map +1 -1
  280. package/dist/server/schemas/workflows.d.ts +248 -382
  281. package/dist/server/schemas/workflows.d.ts.map +1 -1
  282. package/dist/server/server-adapter/index.cjs +441 -137
  283. package/dist/server/server-adapter/index.cjs.map +1 -1
  284. package/dist/server/server-adapter/index.d.ts +94 -16
  285. package/dist/server/server-adapter/index.d.ts.map +1 -1
  286. package/dist/server/server-adapter/index.js +325 -35
  287. package/dist/server/server-adapter/index.js.map +1 -1
  288. package/dist/server/server-adapter/openapi-utils.d.ts +9 -9
  289. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  290. package/dist/server/server-adapter/redact.d.ts +26 -0
  291. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  293. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  294. package/dist/server/server-adapter/routes/index.d.ts +18 -7
  295. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  296. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  297. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  299. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  300. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  301. package/dist/server/server-adapter/routes/route-builder.d.ts +66 -6
  302. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  303. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  304. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  305. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  306. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  307. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  308. package/dist/server/utils.d.ts +1 -1
  309. package/dist/server/utils.d.ts.map +1 -1
  310. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +11 -12
  311. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  312. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +8 -9
  313. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  314. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  315. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  316. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  317. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  318. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  319. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  320. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  321. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  322. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  323. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  325. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  327. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  328. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  329. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  330. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  331. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  332. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  333. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  334. package/handlers/server/handlers.d.ts +1 -0
  335. package/handlers.d.ts +1 -0
  336. package/package.json +29 -17
  337. package/server-adapter.d.ts +1 -0
  338. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  339. package/dist/chunk-2PLXW4ZX.cjs.map +0 -1
  340. package/dist/chunk-35NT4TMQ.cjs.map +0 -1
  341. package/dist/chunk-3R5EV3HV.js.map +0 -1
  342. package/dist/chunk-4ECGVOJZ.cjs.map +0 -1
  343. package/dist/chunk-5PONYNYP.cjs.map +0 -1
  344. package/dist/chunk-6BISSAIF.js +0 -23494
  345. package/dist/chunk-6BISSAIF.js.map +0 -1
  346. package/dist/chunk-6DTV6NEW.js.map +0 -1
  347. package/dist/chunk-AEO6IHLK.cjs +0 -368
  348. package/dist/chunk-AEO6IHLK.cjs.map +0 -1
  349. package/dist/chunk-ASZUOBKV.js.map +0 -1
  350. package/dist/chunk-ECIVTQ4E.js +0 -354
  351. package/dist/chunk-ECIVTQ4E.js.map +0 -1
  352. package/dist/chunk-FAQICBMH.js.map +0 -1
  353. package/dist/chunk-FXDZLX2Y.js.map +0 -1
  354. package/dist/chunk-G7BPNX2V.js +0 -130
  355. package/dist/chunk-G7BPNX2V.js.map +0 -1
  356. package/dist/chunk-I5VZ5SKG.js.map +0 -1
  357. package/dist/chunk-ICANWSEW.js.map +0 -1
  358. package/dist/chunk-KB5NSROG.cjs.map +0 -1
  359. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  360. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  361. package/dist/chunk-NDFAQBQD.cjs.map +0 -1
  362. package/dist/chunk-PKRHEXX7.js.map +0 -1
  363. package/dist/chunk-QGWCNTG6.cjs.map +0 -1
  364. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  365. package/dist/chunk-R4M3BSUG.js.map +0 -1
  366. package/dist/chunk-RQK4FQUD.js.map +0 -1
  367. package/dist/chunk-SHWNNZBL.js.map +0 -1
  368. package/dist/chunk-TBVUN4XN.cjs +0 -23536
  369. package/dist/chunk-TBVUN4XN.cjs.map +0 -1
  370. package/dist/chunk-TOCYBDP2.js +0 -46
  371. package/dist/chunk-TOCYBDP2.js.map +0 -1
  372. package/dist/chunk-UJNHKFBR.cjs.map +0 -1
  373. package/dist/chunk-UOFV2ZCI.js.map +0 -1
  374. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  375. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  376. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  377. package/dist/chunk-VQAT5HX6.js.map +0 -1
  378. package/dist/chunk-X6C7BUWN.cjs +0 -48
  379. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  380. package/dist/chunk-YJ3VDL3Z.cjs.map +0 -1
  381. package/dist/chunk-Z36N2OQA.cjs.map +0 -1
  382. package/dist/chunk-ZLRTFRL4.js.map +0 -1
  383. package/dist/chunk-ZODCSH2W.cjs.map +0 -1
  384. package/dist/chunk-ZULZ2752.js.map +0 -1
  385. package/dist/dist-4MVGNSRL.cjs.map +0 -1
  386. package/dist/dist-FZYCV3VB.cjs.map +0 -1
  387. package/dist/dist-G2BYZJOC.cjs.map +0 -1
  388. package/dist/dist-P4MXBQ3U.cjs +0 -16
  389. package/dist/dist-PQZUVLPC.js.map +0 -1
  390. package/dist/dist-R7WYX6LC.js.map +0 -1
  391. package/dist/dist-RFMYFILX.cjs.map +0 -1
  392. package/dist/dist-X7XR3M3Z.js.map +0 -1
  393. package/dist/dist-XVBSOGFK.js.map +0 -1
  394. package/dist/dist-YREX2TJT.js +0 -3
  395. package/dist/server/schemas/observability.d.ts +0 -402
  396. package/dist/server/schemas/observability.d.ts.map +0 -1
  397. package/dist/token-375W3LEI.cjs.map +0 -1
  398. package/dist/token-C3IMNCC4.js.map +0 -1
  399. package/dist/token-util-CV3RRG6K.cjs +0 -9
  400. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  401. package/dist/token-util-E5QO2RCL.js +0 -7
  402. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunk2NW6POYK_cjs = require('./chunk-2NW6POYK.cjs');
4
- var chunkUJNHKFBR_cjs = require('./chunk-UJNHKFBR.cjs');
5
- var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
3
+ var chunkMCYD5LW7_cjs = require('./chunk-MCYD5LW7.cjs');
4
+ var chunkUWYAL2Z3_cjs = require('./chunk-UWYAL2Z3.cjs');
6
5
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
6
+ var chunkN2HDS7BY_cjs = require('./chunk-N2HDS7BY.cjs');
7
7
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
8
8
  var z = require('zod');
9
9
 
@@ -54,7 +54,7 @@ var queryVectorsBodySchema = indexBodyBaseSchema.extend({
54
54
  var upsertVectorsResponseSchema = z__default.default.object({
55
55
  ids: z__default.default.array(z__default.default.string())
56
56
  });
57
- var createIndexResponseSchema = chunk2NW6POYK_cjs.successResponseSchema;
57
+ var createIndexResponseSchema = chunkMCYD5LW7_cjs.successResponseSchema;
58
58
  var queryVectorsResponseSchema = z__default.default.array(z__default.default.unknown());
59
59
  var listIndexesResponseSchema = z__default.default.array(z__default.default.string());
60
60
  var describeIndexResponseSchema = z__default.default.object({
@@ -62,7 +62,7 @@ var describeIndexResponseSchema = z__default.default.object({
62
62
  count: z__default.default.number(),
63
63
  metric: z__default.default.string().optional()
64
64
  });
65
- var deleteIndexResponseSchema = chunk2NW6POYK_cjs.successResponseSchema;
65
+ var deleteIndexResponseSchema = chunkMCYD5LW7_cjs.successResponseSchema;
66
66
 
67
67
  // src/server/handlers/vector.ts
68
68
  function getVector(mastra, vectorName) {
@@ -91,7 +91,7 @@ async function upsertVectors({
91
91
  const result = await vector.upsert({ indexName, vectors, metadata, ids });
92
92
  return { ids: result };
93
93
  } catch (error) {
94
- return chunkV5WWQN7P_cjs.handleError(error, "Error upserting vectors");
94
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error upserting vectors");
95
95
  }
96
96
  }
97
97
  async function createIndex({
@@ -114,7 +114,7 @@ async function createIndex({
114
114
  await vector.createIndex({ indexName, dimension, metric });
115
115
  return { success: true };
116
116
  } catch (error) {
117
- return chunkV5WWQN7P_cjs.handleError(error, "Error creating index");
117
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error creating index");
118
118
  }
119
119
  }
120
120
  async function queryVectors({
@@ -134,7 +134,7 @@ async function queryVectors({
134
134
  const results = await vector.query({ indexName, queryVector, topK, filter, includeVector });
135
135
  return results;
136
136
  } catch (error) {
137
- return chunkV5WWQN7P_cjs.handleError(error, "Error querying vectors");
137
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error querying vectors");
138
138
  }
139
139
  }
140
140
  async function listIndexes({ mastra, vectorName }) {
@@ -143,7 +143,7 @@ async function listIndexes({ mastra, vectorName }) {
143
143
  const indexes = await vector.listIndexes();
144
144
  return indexes.filter(Boolean);
145
145
  } catch (error) {
146
- return chunkV5WWQN7P_cjs.handleError(error, "Error listing indexes");
146
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error listing indexes");
147
147
  }
148
148
  }
149
149
  async function describeIndex({
@@ -163,7 +163,7 @@ async function describeIndex({
163
163
  metric: stats.metric?.toLowerCase()
164
164
  };
165
165
  } catch (error) {
166
- return chunkV5WWQN7P_cjs.handleError(error, "Error describing index");
166
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error describing index");
167
167
  }
168
168
  }
169
169
  async function deleteIndex({
@@ -179,12 +179,12 @@ async function deleteIndex({
179
179
  await vector.deleteIndex({ indexName });
180
180
  return { success: true };
181
181
  } catch (error) {
182
- return chunkV5WWQN7P_cjs.handleError(error, "Error deleting index");
182
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error deleting index");
183
183
  }
184
184
  }
185
- var UPSERT_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
185
+ var UPSERT_VECTORS_ROUTE = chunkN2HDS7BY_cjs.createRoute({
186
186
  method: "POST",
187
- path: "/api/vector/:vectorName/upsert",
187
+ path: "/vector/:vectorName/upsert",
188
188
  responseType: "json",
189
189
  pathParamSchema: vectorNamePathParams,
190
190
  bodySchema: upsertVectorsBodySchema,
@@ -192,6 +192,7 @@ var UPSERT_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
192
192
  summary: "Upsert vectors",
193
193
  description: "Inserts or updates vectors in the specified index",
194
194
  tags: ["Vectors"],
195
+ requiresAuth: true,
195
196
  handler: async ({ mastra, vectorName, ...params }) => {
196
197
  try {
197
198
  const { indexName, vectors, metadata, ids } = params;
@@ -202,13 +203,13 @@ var UPSERT_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
202
203
  const result = await vector.upsert({ indexName, vectors, metadata, ids });
203
204
  return { ids: result };
204
205
  } catch (error) {
205
- return chunkV5WWQN7P_cjs.handleError(error, "Error upserting vectors");
206
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error upserting vectors");
206
207
  }
207
208
  }
208
209
  });
209
- var CREATE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
210
+ var CREATE_INDEX_ROUTE = chunkN2HDS7BY_cjs.createRoute({
210
211
  method: "POST",
211
- path: "/api/vector/:vectorName/create-index",
212
+ path: "/vector/:vectorName/create-index",
212
213
  responseType: "json",
213
214
  pathParamSchema: vectorNamePathParams,
214
215
  bodySchema: createIndexBodySchema,
@@ -216,6 +217,7 @@ var CREATE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
216
217
  summary: "Create index",
217
218
  description: "Creates a new vector index with the specified dimension and metric",
218
219
  tags: ["Vectors"],
220
+ requiresAuth: true,
219
221
  handler: async ({ mastra, vectorName, ...params }) => {
220
222
  try {
221
223
  const { indexName, dimension, metric } = params;
@@ -231,13 +233,13 @@ var CREATE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
231
233
  await vector.createIndex({ indexName, dimension, metric });
232
234
  return { success: true };
233
235
  } catch (error) {
234
- return chunkV5WWQN7P_cjs.handleError(error, "Error creating index");
236
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error creating index");
235
237
  }
236
238
  }
237
239
  });
238
- var QUERY_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
240
+ var QUERY_VECTORS_ROUTE = chunkN2HDS7BY_cjs.createRoute({
239
241
  method: "POST",
240
- path: "/api/vector/:vectorName/query",
242
+ path: "/vector/:vectorName/query",
241
243
  responseType: "json",
242
244
  pathParamSchema: vectorNamePathParams,
243
245
  bodySchema: queryVectorsBodySchema,
@@ -245,6 +247,7 @@ var QUERY_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
245
247
  summary: "Query vectors",
246
248
  description: "Performs a similarity search on the vector index",
247
249
  tags: ["Vectors"],
250
+ requiresAuth: true,
248
251
  handler: async ({ mastra, vectorName, ...params }) => {
249
252
  try {
250
253
  const { indexName, queryVector, topK, filter, includeVector } = params;
@@ -257,38 +260,40 @@ var QUERY_VECTORS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
257
260
  const results = await vector.query({ indexName, queryVector, topK, filter, includeVector });
258
261
  return results;
259
262
  } catch (error) {
260
- return chunkV5WWQN7P_cjs.handleError(error, "Error querying vectors");
263
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error querying vectors");
261
264
  }
262
265
  }
263
266
  });
264
- var LIST_INDEXES_ROUTE = chunkUJNHKFBR_cjs.createRoute({
267
+ var LIST_INDEXES_ROUTE = chunkN2HDS7BY_cjs.createRoute({
265
268
  method: "GET",
266
- path: "/api/vector/:vectorName/indexes",
269
+ path: "/vector/:vectorName/indexes",
267
270
  responseType: "json",
268
271
  pathParamSchema: vectorNamePathParams,
269
272
  responseSchema: listIndexesResponseSchema,
270
273
  summary: "List indexes",
271
274
  description: "Returns a list of all indexes in the vector store",
272
275
  tags: ["Vectors"],
276
+ requiresAuth: true,
273
277
  handler: async ({ mastra, vectorName }) => {
274
278
  try {
275
279
  const vector = getVector(mastra, vectorName);
276
280
  const indexes = await vector.listIndexes();
277
281
  return indexes.filter(Boolean);
278
282
  } catch (error) {
279
- return chunkV5WWQN7P_cjs.handleError(error, "Error listing indexes");
283
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error listing indexes");
280
284
  }
281
285
  }
282
286
  });
283
- var DESCRIBE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
287
+ var DESCRIBE_INDEX_ROUTE = chunkN2HDS7BY_cjs.createRoute({
284
288
  method: "GET",
285
- path: "/api/vector/:vectorName/indexes/:indexName",
289
+ path: "/vector/:vectorName/indexes/:indexName",
286
290
  responseType: "json",
287
291
  pathParamSchema: vectorIndexPathParams,
288
292
  responseSchema: describeIndexResponseSchema,
289
293
  summary: "Describe index",
290
294
  description: "Returns statistics and metadata for a specific index",
291
295
  tags: ["Vectors"],
296
+ requiresAuth: true,
292
297
  handler: async ({ mastra, vectorName, indexName }) => {
293
298
  try {
294
299
  if (!indexName) {
@@ -302,19 +307,20 @@ var DESCRIBE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
302
307
  metric: stats.metric?.toLowerCase()
303
308
  };
304
309
  } catch (error) {
305
- return chunkV5WWQN7P_cjs.handleError(error, "Error describing index");
310
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error describing index");
306
311
  }
307
312
  }
308
313
  });
309
- var DELETE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
314
+ var DELETE_INDEX_ROUTE = chunkN2HDS7BY_cjs.createRoute({
310
315
  method: "DELETE",
311
- path: "/api/vector/:vectorName/indexes/:indexName",
316
+ path: "/vector/:vectorName/indexes/:indexName",
312
317
  responseType: "json",
313
318
  pathParamSchema: vectorIndexPathParams,
314
319
  responseSchema: deleteIndexResponseSchema,
315
320
  summary: "Delete index",
316
321
  description: "Deletes a vector index and all its data",
317
322
  tags: ["Vectors"],
323
+ requiresAuth: true,
318
324
  handler: async ({ mastra, vectorName, indexName }) => {
319
325
  try {
320
326
  if (!indexName) {
@@ -324,7 +330,7 @@ var DELETE_INDEX_ROUTE = chunkUJNHKFBR_cjs.createRoute({
324
330
  await vector.deleteIndex({ indexName });
325
331
  return { success: true };
326
332
  } catch (error) {
327
- return chunkV5WWQN7P_cjs.handleError(error, "Error deleting index");
333
+ return chunkUWYAL2Z3_cjs.handleError(error, "Error deleting index");
328
334
  }
329
335
  }
330
336
  });
@@ -342,5 +348,5 @@ exports.listIndexes = listIndexes;
342
348
  exports.queryVectors = queryVectors;
343
349
  exports.upsertVectors = upsertVectors;
344
350
  exports.vector_exports = vector_exports;
345
- //# sourceMappingURL=chunk-YJ3VDL3Z.cjs.map
346
- //# sourceMappingURL=chunk-YJ3VDL3Z.cjs.map
351
+ //# sourceMappingURL=chunk-GZFULNC5.cjs.map
352
+ //# sourceMappingURL=chunk-GZFULNC5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/vector.ts","../src/server/schemas/vectors.ts"],"names":["__export","z","successResponseSchema","HTTPException","handleError","createRoute"],"mappings":"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","file":"chunk-GZFULNC5.cjs","sourcesContent":["import type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport {\n vectorNamePathParams,\n vectorIndexPathParams,\n upsertVectorsBodySchema,\n upsertVectorsResponseSchema,\n createIndexBodySchema,\n createIndexResponseSchema,\n queryVectorsBodySchema,\n queryVectorsResponseSchema,\n listIndexesResponseSchema,\n describeIndexResponseSchema,\n deleteIndexResponseSchema,\n} from '../schemas/vectors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({\n mastra,\n vectorName,\n indexName,\n vectors,\n metadata,\n ids,\n}: VectorContext & UpsertRequest) {\n try {\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n indexName,\n dimension,\n metric,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & CreateIndexRequest) {\n try {\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n indexName,\n queryVector,\n topK,\n filter,\n includeVector,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & QueryRequest) {\n try {\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const UPSERT_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/upsert',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: upsertVectorsBodySchema,\n responseSchema: upsertVectorsResponseSchema,\n summary: 'Upsert vectors',\n description: 'Inserts or updates vectors in the specified index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, vectors, metadata, ids } = params;\n\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n },\n});\n\nexport const CREATE_INDEX_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/create-index',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: createIndexBodySchema,\n responseSchema: createIndexResponseSchema,\n summary: 'Create index',\n description: 'Creates a new vector index with the specified dimension and metric',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, dimension, metric } = params;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n },\n});\n\nexport const QUERY_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/query',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: queryVectorsBodySchema,\n responseSchema: queryVectorsResponseSchema,\n summary: 'Query vectors',\n description: 'Performs a similarity search on the vector index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, queryVector, topK, filter, includeVector } = params;\n\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, {\n message: 'Invalid request query. indexName and queryVector array are required.',\n });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n },\n});\n\nexport const LIST_INDEXES_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n responseSchema: listIndexesResponseSchema,\n summary: 'List indexes',\n description: 'Returns a list of all indexes in the vector store',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName }) => {\n try {\n const vector = getVector(mastra, vectorName);\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n },\n});\n\nexport const DESCRIBE_INDEX_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: describeIndexResponseSchema,\n summary: 'Describe index',\n description: 'Returns statistics and metadata for a specific index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName: indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n },\n});\n\nexport const DELETE_INDEX_ROUTE = createRoute({\n method: 'DELETE',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: deleteIndexResponseSchema,\n summary: 'Delete index',\n description: 'Deletes a vector index and all its data',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName: indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n },\n});\n","import z from 'zod';\nimport { successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const vectorNamePathParams = z.object({\n vectorName: z.string().describe('Name of the vector store'),\n});\n\nexport const vectorIndexPathParams = vectorNamePathParams.extend({\n indexName: z.string().describe('Name of the index'),\n});\n\n// Body schemas\n// Base schema for operations that require an index name\nconst indexBodyBaseSchema = z.object({\n indexName: z.string(),\n});\n\nexport const upsertVectorsBodySchema = indexBodyBaseSchema.extend({\n vectors: z.array(z.array(z.number())),\n metadata: z.array(z.record(z.string(), z.any())).optional(),\n ids: z.array(z.string()).optional(),\n});\n\nexport const createIndexBodySchema = indexBodyBaseSchema.extend({\n dimension: z.number(),\n metric: z.enum(['cosine', 'euclidean', 'dotproduct']).optional(),\n});\n\nexport const queryVectorsBodySchema = indexBodyBaseSchema.extend({\n queryVector: z.array(z.number()),\n topK: z.number().optional(),\n filter: z.record(z.string(), z.any()).optional(),\n includeVector: z.boolean().optional(),\n});\n\n// Response schemas\nexport const upsertVectorsResponseSchema = z.object({\n ids: z.array(z.string()),\n});\n\nexport const createIndexResponseSchema = successResponseSchema;\n\nexport const queryVectorsResponseSchema = z.array(z.unknown()); // QueryResult[]\n\nexport const listIndexesResponseSchema = z.array(z.string());\n\nexport const describeIndexResponseSchema = z.object({\n dimension: z.number(),\n count: z.number(),\n metric: z.string().optional(),\n});\n\nexport const deleteIndexResponseSchema = successResponseSchema;\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkUZ6CYAOG_cjs = require('./chunk-UZ6CYAOG.cjs');
4
- var chunkUJNHKFBR_cjs = require('./chunk-UJNHKFBR.cjs');
3
+ var chunkHQHCI62G_cjs = require('./chunk-HQHCI62G.cjs');
4
+ var chunkN2HDS7BY_cjs = require('./chunk-N2HDS7BY.cjs');
5
5
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
6
6
  var a2a = require('@mastra/core/a2a');
7
7
  var z = require('zod');
@@ -212,7 +212,7 @@ var messageSendConfigurationSchema = z__default.default.object({
212
212
  var textPartSchema = z__default.default.object({
213
213
  kind: z__default.default.literal("text").describe("Part type - text for TextParts"),
214
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")
215
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
216
216
  });
217
217
  var fileWithBytesSchema = z__default.default.object({
218
218
  bytes: z__default.default.string().describe("base64 encoded content of the file"),
@@ -227,12 +227,12 @@ var fileWithUriSchema = z__default.default.object({
227
227
  var filePartSchema = z__default.default.object({
228
228
  kind: z__default.default.literal("file").describe("Part type - file for FileParts"),
229
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")
230
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
231
231
  });
232
232
  var dataPartSchema = z__default.default.object({
233
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")
234
+ data: z__default.default.record(z__default.default.string(), z__default.default.unknown()).describe("Structured data content"),
235
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Optional metadata associated with the part")
236
236
  });
237
237
  var partSchema = z__default.default.union([textPartSchema, filePartSchema, dataPartSchema]);
238
238
  var messageSchema = z__default.default.object({
@@ -244,25 +244,25 @@ var messageSchema = z__default.default.object({
244
244
  taskId: z__default.default.string().optional().describe("Identifier of task the message is related to"),
245
245
  referenceTaskIds: z__default.default.array(z__default.default.string()).optional().describe("List of tasks referenced as context by this message"),
246
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")
247
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Extension metadata")
248
248
  });
249
249
  var messageSendParamsSchema = z__default.default.object({
250
250
  message: messageSchema,
251
251
  configuration: messageSendConfigurationSchema.optional(),
252
- metadata: z__default.default.record(z__default.default.unknown()).optional().describe("Extension metadata")
252
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Extension metadata")
253
253
  });
254
254
  var taskQueryParamsSchema = z__default.default.object({
255
255
  id: z__default.default.string().describe("Task id"),
256
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()
257
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional()
258
258
  });
259
259
  var taskIdParamsSchema = z__default.default.object({
260
260
  id: z__default.default.string().describe("Task id"),
261
- metadata: z__default.default.record(z__default.default.unknown()).optional()
261
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional()
262
262
  });
263
263
  z__default.default.object({
264
264
  message: messageSchema,
265
- metadata: z__default.default.record(z__default.default.any()).optional()
265
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.any()).optional()
266
266
  });
267
267
  z__default.default.object({
268
268
  id: z__default.default.string()
@@ -318,7 +318,7 @@ var messageSendParamsSchema2 = z.z.object({
318
318
  taskId: z.z.string().optional(),
319
319
  referenceTaskIds: z.z.array(z.z.string()).optional(),
320
320
  extensions: z.z.array(z.z.string()).optional(),
321
- metadata: z.z.record(z.z.any()).optional()
321
+ metadata: z.z.record(z.z.string(), z.z.any()).optional()
322
322
  })
323
323
  });
324
324
  async function getAgentCardByIdHandler({
@@ -332,17 +332,14 @@ async function getAgentCardByIdHandler({
332
332
  version = "1.0",
333
333
  requestContext
334
334
  }) {
335
- const agent = mastra.getAgent(agentId);
335
+ const agent = mastra.getAgentById(agentId);
336
336
  if (!agent) {
337
337
  throw new Error(`Agent with ID ${agentId} not found`);
338
338
  }
339
- const [instructions, tools] = await Promise.all([
340
- agent.getInstructions({ requestContext }),
341
- agent.listTools({ requestContext })
342
- ]);
339
+ const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
343
340
  const agentCard = {
344
341
  name: agent.id || agentId,
345
- description: chunkUZ6CYAOG_cjs.convertInstructionsToString(instructions),
342
+ description: chunkHQHCI62G_cjs.convertInstructionsToString(instructions),
346
343
  url: executionUrl,
347
344
  provider,
348
345
  version,
@@ -370,7 +367,7 @@ function validateMessageSendParams(params) {
370
367
  messageSendParamsSchema2.parse(params);
371
368
  } catch (error) {
372
369
  if (error instanceof z.z.ZodError) {
373
- throw a2a.MastraA2AError.invalidParams(error.errors[0].message);
370
+ throw a2a.MastraA2AError.invalidParams(error.issues[0].message);
374
371
  }
375
372
  throw error;
376
373
  }
@@ -403,9 +400,11 @@ async function handleMessageSend({
403
400
  activeCancellations: taskStore.activeCancellations
404
401
  });
405
402
  try {
406
- const { text } = await agent.generate([convertToCoreMessage(message)], {
403
+ const resourceId = metadata?.resourceId ?? message.metadata?.resourceId ?? agentId;
404
+ const result = await agent.generate([convertToCoreMessage(message)], {
407
405
  runId: taskId,
408
- requestContext
406
+ requestContext,
407
+ ...contextId ? { threadId: contextId, resourceId } : {}
409
408
  });
410
409
  currentData = applyUpdateToTask(currentData, {
411
410
  state: "completed",
@@ -415,12 +414,21 @@ async function handleMessageSend({
415
414
  parts: [
416
415
  {
417
416
  kind: "text",
418
- text
417
+ text: result.text
419
418
  }
420
419
  ],
421
420
  kind: "message"
422
421
  }
423
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
+ };
424
432
  await taskStore.save({ agentId, data: currentData });
425
433
  } catch (handlerError) {
426
434
  const failureStatusUpdate = {
@@ -540,7 +548,7 @@ async function getAgentExecutionHandler({
540
548
  taskStore,
541
549
  logger
542
550
  }) {
543
- const agent = mastra.getAgent(agentId);
551
+ const agent = mastra.getAgentById(agentId);
544
552
  let taskId;
545
553
  try {
546
554
  taskId = "id" in params ? params.id : params.message?.taskId || "No task ID provided";
@@ -594,7 +602,7 @@ async function getAgentExecutionHandler({
594
602
  return normalizeError(error, requestId, taskId, logger);
595
603
  }
596
604
  }
597
- var GET_AGENT_CARD_ROUTE = chunkUJNHKFBR_cjs.createRoute({
605
+ var GET_AGENT_CARD_ROUTE = chunkN2HDS7BY_cjs.createRoute({
598
606
  method: "GET",
599
607
  path: "/.well-known/:agentId/agent-card.json",
600
608
  responseType: "json",
@@ -603,6 +611,7 @@ var GET_AGENT_CARD_ROUTE = chunkUJNHKFBR_cjs.createRoute({
603
611
  summary: "Get agent card",
604
612
  description: "Returns the agent card information for A2A protocol discovery",
605
613
  tags: ["Agent-to-Agent"],
614
+ requiresAuth: true,
606
615
  handler: async ({ mastra, agentId, requestContext }) => {
607
616
  const executionUrl = `/a2a/${agentId}`;
608
617
  const provider = {
@@ -610,17 +619,14 @@ var GET_AGENT_CARD_ROUTE = chunkUJNHKFBR_cjs.createRoute({
610
619
  url: "https://mastra.ai"
611
620
  };
612
621
  const version = "1.0";
613
- const agent = mastra.getAgent(agentId);
622
+ const agent = mastra.getAgentById(agentId);
614
623
  if (!agent) {
615
624
  throw new Error(`Agent with ID ${agentId} not found`);
616
625
  }
617
- const [instructions, tools] = await Promise.all([
618
- agent.getInstructions({ requestContext }),
619
- agent.listTools({ requestContext })
620
- ]);
626
+ const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
621
627
  const agentCard = {
622
628
  name: agent.id || agentId,
623
- description: chunkUZ6CYAOG_cjs.convertInstructionsToString(instructions),
629
+ description: chunkHQHCI62G_cjs.convertInstructionsToString(instructions),
624
630
  url: executionUrl,
625
631
  provider,
626
632
  version,
@@ -641,7 +647,7 @@ var GET_AGENT_CARD_ROUTE = chunkUJNHKFBR_cjs.createRoute({
641
647
  return agentCard;
642
648
  }
643
649
  });
644
- var AGENT_EXECUTION_ROUTE = chunkUJNHKFBR_cjs.createRoute({
650
+ var AGENT_EXECUTION_ROUTE = chunkN2HDS7BY_cjs.createRoute({
645
651
  method: "POST",
646
652
  path: "/a2a/:agentId",
647
653
  responseType: "json",
@@ -651,6 +657,7 @@ var AGENT_EXECUTION_ROUTE = chunkUJNHKFBR_cjs.createRoute({
651
657
  summary: "Execute agent",
652
658
  description: "Executes an agent action via JSON-RPC 2.0 over A2A protocol",
653
659
  tags: ["Agent-to-Agent"],
660
+ requiresAuth: true,
654
661
  handler: async ({ mastra, agentId, requestContext, taskStore, ...bodyParams }) => {
655
662
  const { id: requestId, method, params } = bodyParams;
656
663
  return await getAgentExecutionHandler({
@@ -674,5 +681,5 @@ exports.handleMessageSend = handleMessageSend;
674
681
  exports.handleMessageStream = handleMessageStream;
675
682
  exports.handleTaskCancel = handleTaskCancel;
676
683
  exports.handleTaskGet = handleTaskGet;
677
- //# sourceMappingURL=chunk-4ECGVOJZ.cjs.map
678
- //# sourceMappingURL=chunk-4ECGVOJZ.cjs.map
684
+ //# sourceMappingURL=chunk-HAZKO3MH.cjs.map
685
+ //# sourceMappingURL=chunk-HAZKO3MH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/a2a.ts","../src/server/a2a/protocol.ts","../src/server/a2a/tasks.ts","../src/server/schemas/a2a.ts"],"names":["__export","MastraA2AError","z","messageSendParamsSchema","convertInstructionsToString","result","createRoute"],"mappings":"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","file":"chunk-HAZKO3MH.cjs","sourcesContent":["import { MastraA2AError } from '@mastra/core/a2a';\nimport type {\n MessageSendParams,\n TaskQueryParams,\n TaskIdParams,\n AgentCard,\n TaskStatus,\n TaskState,\n} from '@mastra/core/a2a';\nimport type { Agent } from '@mastra/core/agent';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { z } from 'zod';\nimport { convertToCoreMessage, normalizeError, createSuccessResponse, createErrorResponse } from '../a2a/protocol';\nimport type { InMemoryTaskStore } from '../a2a/store';\nimport { applyUpdateToTask, createTaskContext, loadOrCreateTask } from '../a2a/tasks';\nimport {\n a2aAgentIdPathParams,\n agentExecutionBodySchema,\n agentCardResponseSchema,\n agentExecutionResponseSchema,\n} from '../schemas/a2a';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { convertInstructionsToString } from '../utils';\n\nconst messageSendParamsSchema = z.object({\n message: z.object({\n role: z.enum(['user', 'agent']),\n parts: z.array(\n z.object({\n kind: z.enum(['text']),\n text: z.string(),\n }),\n ),\n kind: z.literal('message'),\n messageId: z.string(),\n contextId: z.string().optional(),\n taskId: z.string().optional(),\n referenceTaskIds: z.array(z.string()).optional(),\n extensions: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.any()).optional(),\n }),\n});\n\nexport async function getAgentCardByIdHandler({\n mastra,\n agentId,\n executionUrl = `/a2a/${agentId}`,\n provider = {\n organization: 'Mastra',\n url: 'https://mastra.ai',\n },\n version = '1.0',\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n agentId: keyof ReturnType<typeof mastra.listAgents>;\n executionUrl?: string;\n version?: string;\n provider?: {\n organization: string;\n url: string;\n };\n}): Promise<AgentCard> {\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new Error(`Agent with ID ${agentId} not found`);\n }\n\n const [instructions, tools]: [\n Awaited<ReturnType<typeof agent.getInstructions>>,\n Awaited<ReturnType<typeof agent.listTools>>,\n ] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);\n\n // Extract agent information to create the AgentCard\n const agentCard: AgentCard = {\n name: agent.id || agentId,\n description: convertInstructionsToString(instructions),\n url: executionUrl,\n provider,\n version,\n capabilities: {\n streaming: true, // All agents support streaming\n pushNotifications: false,\n stateTransitionHistory: false,\n },\n defaultInputModes: ['text'],\n defaultOutputModes: ['text'],\n // Convert agent tools to skills format for A2A protocol\n skills: Object.entries(tools).map(([toolId, tool]) => ({\n id: toolId,\n name: toolId,\n description: tool.description || `Tool: ${toolId}`,\n // Optional fields\n tags: ['tool'],\n })),\n };\n\n return agentCard;\n}\n\nfunction validateMessageSendParams(params: MessageSendParams) {\n try {\n messageSendParamsSchema.parse(params);\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw MastraA2AError.invalidParams((error as z.ZodError).issues[0]!.message);\n }\n\n throw error;\n }\n}\n\nexport async function handleMessageSend({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n requestContext,\n}: {\n requestId: string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n}) {\n validateMessageSendParams(params);\n\n const { message, metadata } = params;\n const { contextId } = message;\n const taskId = message.taskId || crypto.randomUUID();\n\n // Load or create task\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n // Use the new TaskContext definition, passing history\n const context = createTaskContext({\n task: currentData,\n userMessage: message,\n history: currentData.history || [],\n activeCancellations: taskStore.activeCancellations,\n });\n\n try {\n // Pass contextId as threadId for memory persistence across A2A conversations\n // Allow user to pass resourceId via metadata, fall back to agentId\n const resourceId = (metadata?.resourceId as string) ?? (message.metadata?.resourceId as string) ?? agentId;\n const result = await agent.generate([convertToCoreMessage(message)], {\n runId: taskId,\n requestContext,\n ...(contextId ? { threadId: contextId, resourceId } : {}),\n });\n\n currentData = applyUpdateToTask(currentData, {\n state: 'completed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: result.text,\n },\n ],\n kind: 'message',\n },\n });\n\n // Store execution details in task metadata\n currentData.metadata = {\n ...currentData.metadata,\n execution: {\n toolCalls: result.toolCalls,\n toolResults: result.toolResults,\n usage: result.usage,\n finishReason: result.finishReason,\n },\n };\n\n await taskStore.save({ agentId, data: currentData });\n context.task = currentData;\n } catch (handlerError) {\n // If handler throws, apply 'failed' status, save, and rethrow\n const failureStatusUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'failed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`,\n },\n ],\n kind: 'message',\n },\n };\n currentData = applyUpdateToTask(currentData, failureStatusUpdate);\n\n try {\n await taskStore.save({ agentId, data: currentData });\n } catch (saveError) {\n // @ts-expect-error saveError is an unknown error\n logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);\n }\n\n return normalizeError(handlerError, requestId, currentData.id, logger); // Rethrow original error\n }\n\n // The loop finished, send the final task state\n return createSuccessResponse(requestId, currentData);\n}\n\nexport async function handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n}: {\n requestId: string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n}) {\n const task = await taskStore.load({ agentId, taskId });\n\n if (!task) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n return createSuccessResponse(requestId, task);\n}\n\nexport async function* handleMessageStream({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n requestContext,\n}: {\n requestId: string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n}) {\n yield createSuccessResponse(requestId, {\n state: 'working',\n message: {\n messageId: crypto.randomUUID(),\n kind: 'message',\n role: 'agent',\n parts: [{ kind: 'text', text: 'Generating response...' }],\n },\n });\n\n let result;\n try {\n result = await handleMessageSend({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n requestContext,\n logger,\n });\n } catch (err) {\n if (!(err instanceof MastraA2AError)) {\n throw err;\n }\n\n result = createErrorResponse(requestId, err.toJSONRPCError());\n }\n\n yield result;\n}\n\nexport async function handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId,\n logger,\n}: {\n requestId: string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n logger?: IMastraLogger;\n}) {\n // Load task and history\n let data = await taskStore.load({\n agentId,\n taskId,\n });\n\n if (!data) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n // Check if cancelable (not already in a final state)\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(data.status.state)) {\n logger?.info(`Task ${taskId} already in final state ${data.status.state}, cannot cancel.`);\n return createSuccessResponse(requestId, data);\n }\n\n // Signal cancellation\n taskStore.activeCancellations.add(taskId);\n\n // Apply 'canceled' state update\n const cancelUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'canceled',\n message: {\n role: 'agent',\n parts: [{ kind: 'text', text: 'Task cancelled by request.' }],\n kind: 'message',\n messageId: crypto.randomUUID(),\n },\n };\n\n data = applyUpdateToTask(data, cancelUpdate);\n\n // Save the updated state\n await taskStore.save({ agentId, data });\n\n // Remove from active cancellations *after* saving\n taskStore.activeCancellations.delete(taskId);\n\n // Return the updated task object\n return createSuccessResponse(requestId, data);\n}\n\nexport async function getAgentExecutionHandler({\n requestId,\n mastra,\n agentId,\n requestContext,\n method,\n params,\n taskStore,\n logger,\n}: Context & {\n requestId: string;\n requestContext: RequestContext;\n agentId: string;\n method: 'message/send' | 'message/stream' | 'tasks/get' | 'tasks/cancel';\n params: MessageSendParams | TaskQueryParams | TaskIdParams;\n taskStore: InMemoryTaskStore;\n logger?: IMastraLogger;\n}): Promise<any> {\n const agent = mastra.getAgentById(agentId);\n\n let taskId: string | undefined; // For error context\n\n try {\n // Attempt to get task ID early for error context. Cast params to any to access id.\n // Proper validation happens within specific handlers.\n taskId = 'id' in params ? params.id : params.message?.taskId || 'No task ID provided';\n\n // 2. Route based on method\n switch (method) {\n case 'message/send': {\n const result = await handleMessageSend({\n requestId,\n params: params as MessageSendParams,\n taskStore,\n agent,\n agentId,\n requestContext,\n });\n return result;\n }\n case 'message/stream':\n const result = await handleMessageStream({\n requestId,\n taskStore,\n params: params as MessageSendParams,\n agent,\n agentId,\n requestContext,\n });\n return result;\n\n case 'tasks/get': {\n const result = await handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n });\n\n return result;\n }\n case 'tasks/cancel': {\n const result = await handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId,\n });\n\n return result;\n }\n default:\n throw MastraA2AError.methodNotFound(method);\n }\n } catch (error) {\n if (error instanceof MastraA2AError && taskId && !error.taskId) {\n error.taskId = taskId; // Add task ID context if missing\n }\n\n return normalizeError(error, requestId, taskId, logger);\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const GET_AGENT_CARD_ROUTE = createRoute({\n method: 'GET',\n path: '/.well-known/:agentId/agent-card.json',\n responseType: 'json',\n pathParamSchema: a2aAgentIdPathParams,\n responseSchema: agentCardResponseSchema,\n summary: 'Get agent card',\n description: 'Returns the agent card information for A2A protocol discovery',\n tags: ['Agent-to-Agent'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext }) => {\n const executionUrl = `/a2a/${agentId}`;\n const provider = {\n organization: 'Mastra',\n url: 'https://mastra.ai',\n };\n const version = '1.0';\n\n const agent = mastra.getAgentById(agentId as string);\n\n if (!agent) {\n throw new Error(`Agent with ID ${agentId} not found`);\n }\n\n const [instructions, tools]: [\n Awaited<ReturnType<typeof agent.getInstructions>>,\n Awaited<ReturnType<typeof agent.listTools>>,\n ] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);\n\n const agentCard: AgentCard = {\n name: agent.id || (agentId as string),\n description: convertInstructionsToString(instructions),\n url: executionUrl,\n provider,\n version,\n capabilities: {\n streaming: true,\n pushNotifications: false,\n stateTransitionHistory: false,\n },\n defaultInputModes: ['text'],\n defaultOutputModes: ['text'],\n skills: Object.entries(tools).map(([toolId, tool]) => ({\n id: toolId,\n name: toolId,\n description: tool.description || `Tool: ${toolId}`,\n tags: ['tool'],\n })),\n };\n\n return agentCard;\n },\n});\n\nexport const AGENT_EXECUTION_ROUTE = createRoute({\n method: 'POST',\n path: '/a2a/:agentId',\n responseType: 'json',\n pathParamSchema: a2aAgentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: agentExecutionResponseSchema,\n summary: 'Execute agent',\n description: 'Executes an agent action via JSON-RPC 2.0 over A2A protocol',\n tags: ['Agent-to-Agent'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext, taskStore, ...bodyParams }) => {\n const { id: requestId, method, params } = bodyParams;\n\n return await getAgentExecutionHandler({\n requestId: String(requestId),\n mastra,\n agentId: agentId as string,\n requestContext,\n method,\n params,\n taskStore: taskStore!,\n });\n },\n});\n","import { MastraA2AError } from '@mastra/core/a2a';\n\nimport type { JSONRPCError, JSONRPCResponse, Message, Part } from '@mastra/core/a2a';\nimport type { CoreMessage } from '@mastra/core/llm';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function normalizeError(\n error: any,\n reqId: number | string | null,\n taskId?: string,\n logger?: IMastraLogger,\n): JSONRPCResponse<null, unknown> {\n let a2aError: MastraA2AError;\n if (error instanceof MastraA2AError) {\n a2aError = error;\n } else if (error instanceof Error) {\n // Generic JS error\n a2aError = MastraA2AError.internalError(error.message, { stack: error.stack });\n } else {\n // Unknown error type\n a2aError = MastraA2AError.internalError('An unknown error occurred.', error);\n }\n\n // Ensure Task ID context is present if possible\n if (taskId && !a2aError.taskId) {\n a2aError.taskId = taskId;\n }\n\n logger?.error(`Error processing request (Task: ${a2aError.taskId ?? 'N/A'}, ReqID: ${reqId ?? 'N/A'}):`, a2aError);\n\n return createErrorResponse(reqId, a2aError.toJSONRPCError());\n}\n\nexport function createErrorResponse(\n id: number | string | null,\n error: JSONRPCError<unknown>,\n): JSONRPCResponse<null, unknown> {\n // For errors, ID should be the same as request ID, or null if that couldn't be determined\n return {\n jsonrpc: '2.0',\n id: id, // Can be null if request ID was invalid/missing\n error: error,\n };\n}\n\nexport function createSuccessResponse<T>(id: number | string | null, result: T): JSONRPCResponse<T> {\n if (!id) {\n // This shouldn't happen for methods that expect a response, but safeguard\n throw MastraA2AError.internalError('Cannot create success response for null ID.');\n }\n\n return {\n jsonrpc: '2.0',\n id: id,\n result: result,\n };\n}\n\nexport function convertToCoreMessage(message: Message): CoreMessage {\n return {\n role: message.role === 'user' ? 'user' : 'assistant',\n content: message.parts.map(msg => convertToCoreMessagePart(msg)),\n };\n}\n\nfunction convertToCoreMessagePart(part: Part) {\n switch (part.kind) {\n case 'text':\n return {\n type: 'text',\n text: part.text,\n } as const;\n case 'file':\n return {\n type: 'file',\n data: 'uri' in part.file ? new URL(part.file.uri) : part.file.bytes,\n mimeType: part.file.mimeType!,\n } as const;\n case 'data':\n throw new Error('Data parts are not supported in core messages');\n }\n}\n","import type {\n Message,\n Task,\n TaskState,\n TaskStatus,\n TaskContext,\n TaskArtifactUpdateEvent,\n Artifact,\n} from '@mastra/core/a2a';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { InMemoryTaskStore } from './store';\n\nfunction isTaskStatusUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is Omit<TaskStatus, 'timestamp'> {\n return 'state' in update && !('parts' in update);\n}\n\nfunction isArtifactUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is TaskArtifactUpdateEvent {\n return 'kind' in update && update.kind === 'artifact-update';\n}\n\nexport function applyUpdateToTask(\n current: Task,\n update: Omit<TaskStatus, 'timestamp'> | TaskArtifactUpdateEvent,\n): Task {\n let newTask = structuredClone(current);\n\n if (isTaskStatusUpdate(update)) {\n // Merge status update\n newTask.status = {\n ...newTask.status, // Keep existing properties if not overwritten\n ...update, // Apply updates\n timestamp: new Date().toISOString(),\n };\n } else if (isArtifactUpdate(update)) {\n // Handle artifact update\n if (!newTask.artifacts) {\n newTask.artifacts = [];\n } else {\n // Ensure we're working with a copy of the artifacts array\n newTask.artifacts = [...newTask.artifacts];\n }\n\n const artifact = update.artifact;\n const existingIndex = newTask.artifacts.findIndex(a => a.name === artifact.name);\n const existingArtifact = newTask.artifacts[existingIndex];\n\n if (existingArtifact) {\n if (update.append) {\n // Create a deep copy for modification to avoid mutating original\n const appendedArtifact = JSON.parse(JSON.stringify(existingArtifact)) as Artifact;\n appendedArtifact.parts.push(...artifact.parts);\n if (artifact.metadata) {\n appendedArtifact.metadata = {\n ...(appendedArtifact.metadata || {}),\n ...artifact.metadata,\n };\n }\n if (artifact.description) appendedArtifact.description = artifact.description;\n newTask.artifacts[existingIndex] = appendedArtifact; // Replace with appended version\n } else {\n // Overwrite artifact at index (with a copy of the update)\n newTask.artifacts[existingIndex] = { ...artifact };\n }\n } else {\n newTask.artifacts.push({ ...artifact });\n }\n }\n\n return newTask;\n}\n\nexport async function loadOrCreateTask({\n agentId,\n taskId,\n taskStore,\n message,\n contextId,\n metadata,\n logger,\n}: {\n agentId: string;\n taskId: string;\n taskStore: InMemoryTaskStore;\n message: Message;\n contextId?: string;\n metadata?: Record<string, unknown>;\n logger?: IMastraLogger;\n}): Promise<Task> {\n const data = await taskStore.load({ agentId, taskId });\n\n // Create new task if none exists\n if (!data) {\n const initialTask: Task = {\n id: taskId,\n contextId: contextId || crypto.randomUUID(),\n status: {\n state: 'submitted',\n timestamp: new Date().toISOString(),\n message: undefined,\n },\n artifacts: [],\n history: [message],\n metadata: metadata,\n kind: 'task',\n };\n\n logger?.info(`[Task ${taskId}] Created new task.`);\n await taskStore.save({ agentId, data: initialTask });\n\n return initialTask;\n }\n\n // Handle existing task\n logger?.info(`[Task ${taskId}] Loaded existing task.`);\n\n // Add message to history and prepare updated data\n let updatedData = data;\n updatedData.history = [...(data.history || []), message];\n\n // Handle state transitions\n const { status } = data;\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(status.state)) {\n logger?.warn(`[Task ${taskId}] Received message for task in final state ${status.state}. Restarting.`);\n updatedData = applyUpdateToTask(updatedData, {\n state: 'submitted',\n message: undefined,\n });\n } else if (status.state === 'input-required') {\n logger?.info(`[Task ${taskId}] Changing state from 'input-required' to 'working'.`);\n updatedData = applyUpdateToTask(updatedData, { state: 'working' });\n } else if (status.state === 'working') {\n logger?.warn(`[Task ${taskId}] Received message while already 'working'. Proceeding.`);\n }\n\n await taskStore.save({ agentId, data: updatedData });\n\n return updatedData;\n}\n\nexport function createTaskContext({\n task,\n userMessage,\n history,\n activeCancellations,\n}: {\n task: Task;\n userMessage: Message;\n history: Message[];\n activeCancellations: Set<string>;\n}): TaskContext {\n return {\n task: structuredClone(task),\n userMessage,\n history: structuredClone(history),\n isCancelled: () => activeCancellations.has(task.id),\n };\n}\n","import z from 'zod';\n\n// Path parameter schemas\nexport const a2aAgentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\nexport const a2aTaskPathParams = a2aAgentIdPathParams.extend({\n taskId: z.string().describe('Unique identifier for the task'),\n});\n\n// Body schemas for A2A protocol\n\n// Push notification schemas\nconst pushNotificationAuthenticationInfoSchema = z.object({\n schemes: z.array(z.string()).describe('Supported authentication schemes - e.g. Basic, Bearer'),\n credentials: z.string().optional().describe('Optional credentials'),\n});\n\nconst pushNotificationConfigSchema = z.object({\n url: z.string().describe('URL for sending the push notifications'),\n id: z.string().optional().describe('Push Notification ID - created by server to support multiple callbacks'),\n token: z.string().optional().describe('Token unique to this task/session'),\n authentication: pushNotificationAuthenticationInfoSchema.optional(),\n});\n\nconst messageSendConfigurationSchema = z.object({\n acceptedOutputModes: z.array(z.string()).describe('Accepted output modalities by the client'),\n blocking: z.boolean().optional().describe('If the server should treat the client as a blocking request'),\n historyLength: z.number().optional().describe('Number of recent messages to be retrieved'),\n pushNotificationConfig: pushNotificationConfigSchema.optional(),\n});\n\n// Part schemas\nconst textPartSchema = z.object({\n kind: z.literal('text').describe('Part type - text for TextParts'),\n text: z.string().describe('Text content'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst fileWithBytesSchema = z.object({\n bytes: z.string().describe('base64 encoded content of the file'),\n mimeType: z.string().optional().describe('Optional mimeType for the file'),\n name: z.string().optional().describe('Optional name for the file'),\n});\n\nconst fileWithUriSchema = z.object({\n uri: z.string().describe('URL for the File content'),\n mimeType: z.string().optional().describe('Optional mimeType for the file'),\n name: z.string().optional().describe('Optional name for the file'),\n});\n\nconst filePartSchema = z.object({\n kind: z.literal('file').describe('Part type - file for FileParts'),\n file: z.union([fileWithBytesSchema, fileWithUriSchema]).describe('File content either as url or bytes'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst dataPartSchema = z.object({\n kind: z.literal('data').describe('Part type - data for DataParts'),\n data: z.record(z.string(), z.unknown()).describe('Structured data content'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst partSchema = z.union([textPartSchema, filePartSchema, dataPartSchema]);\n\n// Message schema\nconst messageSchema = z.object({\n kind: z.literal('message').describe('Event type'),\n messageId: z.string().describe('Identifier created by the message creator'),\n role: z.enum(['user', 'agent']).describe(\"Message sender's role\"),\n parts: z.array(partSchema).describe('Message content'),\n contextId: z.string().optional().describe('The context the message is associated with'),\n taskId: z.string().optional().describe('Identifier of task the message is related to'),\n referenceTaskIds: z.array(z.string()).optional().describe('List of tasks referenced as context by this message'),\n extensions: z\n .array(z.string())\n .optional()\n .describe('The URIs of extensions that are present or contributed to this Message'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Extension metadata'),\n});\n\n// MessageSendParams schema\nconst messageSendParamsSchema = z.object({\n message: messageSchema,\n configuration: messageSendConfigurationSchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Extension metadata'),\n});\n\n// TaskQueryParams schema\nconst taskQueryParamsSchema = z.object({\n id: z.string().describe('Task id'),\n historyLength: z.number().optional().describe('Number of recent messages to be retrieved'),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n// TaskIdParams schema\nconst taskIdParamsSchema = z.object({\n id: z.string().describe('Task id'),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n// Legacy schema for backwards compatibility\nexport const messageSendBodySchema = z.object({\n message: messageSchema,\n metadata: z.record(z.string(), z.any()).optional(),\n});\n\nexport const taskQueryBodySchema = z.object({\n id: z.string(),\n});\n\n// Union of all possible params types\nconst agentExecutionParamsSchema = z.union([messageSendParamsSchema, taskQueryParamsSchema, taskIdParamsSchema]);\n\nexport const agentExecutionBodySchema = z.object({\n jsonrpc: z.literal('2.0'),\n id: z.union([z.string(), z.number()]),\n method: z.enum(['message/send', 'message/stream', 'tasks/get', 'tasks/cancel']),\n params: agentExecutionParamsSchema,\n});\n\n// Response schemas\nexport const agentCardResponseSchema = z.object({\n name: z.string(),\n description: z.string(),\n url: z.string(),\n provider: z\n .object({\n organization: z.string(),\n url: z.string(),\n })\n .optional(),\n version: z.string(),\n capabilities: z.object({\n streaming: z.boolean().optional(),\n pushNotifications: z.boolean().optional(),\n stateTransitionHistory: z.boolean().optional(),\n }),\n defaultInputModes: z.array(z.string()),\n defaultOutputModes: z.array(z.string()),\n skills: z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n tags: z.array(z.string()).optional(),\n }),\n ),\n});\n\nexport const taskResponseSchema = z.unknown(); // Complex task state structure\n\nexport const agentExecutionResponseSchema = z.unknown(); // JSON-RPC response\n"]}