@mastra/server 1.58.0-alpha.1 → 1.58.0-alpha.13

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 (467) hide show
  1. package/CHANGELOG.md +215 -0
  2. package/dist/_types/@mastra_schema-compat/dist/provider-compats/anthropic.d.ts +1 -1
  3. package/dist/{a2a-CnU9zaGR.js → a2a-8C4O2dVJ.js} +41 -5
  4. package/dist/a2a-8C4O2dVJ.js.map +1 -0
  5. package/dist/{a2a-CHi9AJ0n.js → a2a-CUkzkdTZ.js} +268 -55
  6. package/dist/a2a-CUkzkdTZ.js.map +1 -0
  7. package/dist/{a2a-D3ZYeXIx.cjs → a2a-DzZHH3OH.cjs} +279 -54
  8. package/dist/a2a-DzZHH3OH.cjs.map +1 -0
  9. package/dist/{a2a-oM7aqLz4.cjs → a2a-MPoM5lzS.cjs} +41 -5
  10. package/dist/a2a-MPoM5lzS.cjs.map +1 -0
  11. package/dist/{agent-builder-BDYN3r89.cjs → agent-builder-D8JyDQ5J.cjs} +2 -2
  12. package/dist/{agent-builder-BDYN3r89.cjs.map → agent-builder-D8JyDQ5J.cjs.map} +1 -1
  13. package/dist/{agent-builder-Dqy_qumV.js → agent-builder-DNTFty1u.js} +2 -2
  14. package/dist/{agent-builder-Dqy_qumV.js.map → agent-builder-DNTFty1u.js.map} +1 -1
  15. package/dist/{agent-versions-Bsrpa_zb.js → agent-versions-CWEnD62A.js} +4 -4
  16. package/dist/{agent-versions-Bsrpa_zb.js.map → agent-versions-CWEnD62A.js.map} +1 -1
  17. package/dist/{agent-versions-CdQGF-3e.cjs → agent-versions-xeysPGel.cjs} +4 -4
  18. package/dist/{agent-versions-CdQGF-3e.cjs.map → agent-versions-xeysPGel.cjs.map} +1 -1
  19. package/dist/{agents-Dk2qoJi_.cjs → agents-0Tw3kkD_.cjs} +9 -5
  20. package/dist/agents-0Tw3kkD_.cjs.map +1 -0
  21. package/dist/{agents-CYvun9iI.js → agents-uT8ZDE4k.js} +9 -5
  22. package/dist/agents-uT8ZDE4k.js.map +1 -0
  23. package/dist/{api-schema-manifest-J5hfk5ZZ.cjs → api-schema-manifest-BPk3u4B-.cjs} +3 -3
  24. package/dist/{api-schema-manifest-J5hfk5ZZ.cjs.map → api-schema-manifest-BPk3u4B-.cjs.map} +1 -1
  25. package/dist/{api-schema-manifest-R8CsF6RX.js → api-schema-manifest-DSelT9XK.js} +3 -3
  26. package/dist/{api-schema-manifest-R8CsF6RX.js.map → api-schema-manifest-DSelT9XK.js.map} +1 -1
  27. package/dist/{background-tasks-DnmhLalp.js → background-tasks-BtWM0sZs.js} +2 -2
  28. package/dist/{background-tasks-DnmhLalp.js.map → background-tasks-BtWM0sZs.js.map} +1 -1
  29. package/dist/{background-tasks-CYgzzUnb.cjs → background-tasks-C5G2jJax.cjs} +2 -2
  30. package/dist/{background-tasks-CYgzzUnb.cjs.map → background-tasks-C5G2jJax.cjs.map} +1 -1
  31. package/dist/{builder-registry-DE5w7bNk.js → builder-registry-B8KyPAOP.js} +3 -3
  32. package/dist/{builder-registry-DE5w7bNk.js.map → builder-registry-B8KyPAOP.js.map} +1 -1
  33. package/dist/{builder-registry-BoaXBdm_.cjs → builder-registry-Dcou-kzd.cjs} +3 -3
  34. package/dist/{builder-registry-BoaXBdm_.cjs.map → builder-registry-Dcou-kzd.cjs.map} +1 -1
  35. package/dist/{channels-BqkOxxEk.js → channels-B9yt3a2P.js} +2 -2
  36. package/dist/{channels-BqkOxxEk.js.map → channels-B9yt3a2P.js.map} +1 -1
  37. package/dist/{channels-BonQBJT0.cjs → channels-BRoq3VKR.cjs} +2 -2
  38. package/dist/{channels-BonQBJT0.cjs.map → channels-BRoq3VKR.cjs.map} +1 -1
  39. package/dist/{common-CPNOpqxA.js → common-5ZZuR6wj.js} +19 -8
  40. package/dist/common-5ZZuR6wj.js.map +1 -0
  41. package/dist/{common-spbwhiWS.cjs → common-DQn8jX5T.cjs} +19 -8
  42. package/dist/common-DQn8jX5T.cjs.map +1 -0
  43. package/dist/{conversations-CebKjBfB.cjs → conversations-CcFLCCeF.cjs} +2 -2
  44. package/dist/{conversations-CebKjBfB.cjs.map → conversations-CcFLCCeF.cjs.map} +1 -1
  45. package/dist/{conversations-BDD46VBM.js → conversations-DtnawNGm.js} +2 -2
  46. package/dist/{conversations-BDD46VBM.js.map → conversations-DtnawNGm.js.map} +1 -1
  47. package/dist/{datasets-BMeFvFwT.cjs → datasets-D2JdQI44.cjs} +2 -2
  48. package/dist/{datasets-BMeFvFwT.cjs.map → datasets-D2JdQI44.cjs.map} +1 -1
  49. package/dist/{datasets-BeBH9Seg.js → datasets-Dr1pCC6P.js} +2 -2
  50. package/dist/{datasets-BeBH9Seg.js.map → datasets-Dr1pCC6P.js.map} +1 -1
  51. package/dist/{default-options-BcPyp2Gx.cjs → default-options-C9HZGjYi.cjs} +6 -3
  52. package/dist/{default-options-BcPyp2Gx.cjs.map → default-options-C9HZGjYi.cjs.map} +1 -1
  53. package/dist/{default-options-DGCDKR3I.js → default-options-C9JVjlto.js} +6 -3
  54. package/dist/{default-options-DGCDKR3I.js.map → default-options-C9JVjlto.js.map} +1 -1
  55. package/dist/{dist-IUXZtNBY.js → dist-CzzxT_L5.js} +237 -1384
  56. package/dist/dist-CzzxT_L5.js.map +1 -0
  57. package/dist/{dist-DgY0llRv.cjs → dist-TkFPtpuy.cjs} +246 -1396
  58. package/dist/dist-TkFPtpuy.cjs.map +1 -0
  59. package/dist/docs/SKILL.md +2 -1
  60. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  61. package/dist/docs/references/docs-agents-a2a.md +39 -0
  62. package/dist/docs/references/docs-server-custom-adapters.md +1 -1
  63. package/dist/docs/references/docs-server-custom-api-routes.md +375 -0
  64. package/dist/docs/references/reference-server-create-route.md +27 -1
  65. package/dist/docs/references/reference-server-routes.md +38 -24
  66. package/dist/{stored-workflows-OanG0TmB.js → dynamic-workflows-B0TE8mjA.js} +62 -62
  67. package/dist/dynamic-workflows-B0TE8mjA.js.map +1 -0
  68. package/dist/{stored-workflows-pCiWK305.cjs → dynamic-workflows-C-6vmau5.cjs} +71 -71
  69. package/dist/dynamic-workflows-C-6vmau5.cjs.map +1 -0
  70. package/dist/{editor-builder-Ct2nIbum.js → editor-builder-Byg6wbi6.js} +3 -3
  71. package/dist/{editor-builder-Ct2nIbum.js.map → editor-builder-Byg6wbi6.js.map} +1 -1
  72. package/dist/{editor-builder-CWTGCtNu.cjs → editor-builder-C3ZvffGu.cjs} +2 -2
  73. package/dist/{editor-builder-CWTGCtNu.cjs.map → editor-builder-C3ZvffGu.cjs.map} +1 -1
  74. package/dist/{editor-builder-fKbRRlK_.js → editor-builder-DJUxdzC8.js} +2 -2
  75. package/dist/{editor-builder-fKbRRlK_.js.map → editor-builder-DJUxdzC8.js.map} +1 -1
  76. package/dist/{editor-builder-BW4nlDcX.cjs → editor-builder-DT7ypWfa.cjs} +3 -3
  77. package/dist/{editor-builder-BW4nlDcX.cjs.map → editor-builder-DT7ypWfa.cjs.map} +1 -1
  78. package/dist/{logs-wBYi7UWL.cjs → logs-BDuGFqxu.cjs} +2 -2
  79. package/dist/{logs-wBYi7UWL.cjs.map → logs-BDuGFqxu.cjs.map} +1 -1
  80. package/dist/{logs-BzwWWl57.js → logs-Cz5NiwGP.js} +2 -2
  81. package/dist/{logs-BzwWWl57.js.map → logs-Cz5NiwGP.js.map} +1 -1
  82. package/dist/{mcp-DusNUBdz.cjs → mcp-Buvksst5.cjs} +2 -2
  83. package/dist/{mcp-DusNUBdz.cjs.map → mcp-Buvksst5.cjs.map} +1 -1
  84. package/dist/{mcp-client-versions-Db71zP8j.cjs → mcp-client-versions-CG7po4hq.cjs} +2 -2
  85. package/dist/{mcp-client-versions-Db71zP8j.cjs.map → mcp-client-versions-CG7po4hq.cjs.map} +1 -1
  86. package/dist/{mcp-client-versions-Dwbiav9P.js → mcp-client-versions-Co8d39A6.js} +2 -2
  87. package/dist/{mcp-client-versions-Dwbiav9P.js.map → mcp-client-versions-Co8d39A6.js.map} +1 -1
  88. package/dist/{mcp-BpC_5RhI.js → mcp-oOFVSK8L.js} +2 -2
  89. package/dist/{mcp-BpC_5RhI.js.map → mcp-oOFVSK8L.js.map} +1 -1
  90. package/dist/{memory-BjemiyZJ.js → memory-CBLqn9xl.js} +2 -2
  91. package/dist/{memory-BjemiyZJ.js.map → memory-CBLqn9xl.js.map} +1 -1
  92. package/dist/{memory-CxM2p78x.cjs → memory-D0prxytx.cjs} +2 -2
  93. package/dist/{memory-CxM2p78x.cjs.map → memory-D0prxytx.cjs.map} +1 -1
  94. package/dist/{observability-new-endpoints-Dk3oatL8.cjs → observability-new-endpoints-BC-dasRY.cjs} +2 -2
  95. package/dist/{observability-new-endpoints-Dk3oatL8.cjs.map → observability-new-endpoints-BC-dasRY.cjs.map} +1 -1
  96. package/dist/{observability-new-endpoints-YK2DjZto.js → observability-new-endpoints-Drx0C8uc.js} +2 -2
  97. package/dist/{observability-new-endpoints-YK2DjZto.js.map → observability-new-endpoints-Drx0C8uc.js.map} +1 -1
  98. package/dist/{probe-image-size-DYJVSL0b.cjs → probe-image-size-C2F59z8Z.cjs} +56 -1707
  99. package/dist/probe-image-size-C2F59z8Z.cjs.map +1 -0
  100. package/dist/{probe-image-size-BQgIJeY_.js → probe-image-size-mXCWYNrz.js} +22 -1673
  101. package/dist/probe-image-size-mXCWYNrz.js.map +1 -0
  102. package/dist/{prompt-block-versions-CIDwXWiC.js → prompt-block-versions-CBjHhMVK.js} +2 -2
  103. package/dist/{prompt-block-versions-CIDwXWiC.js.map → prompt-block-versions-CBjHhMVK.js.map} +1 -1
  104. package/dist/{prompt-block-versions-Bl3RmkTE.cjs → prompt-block-versions-Cgt_Grk2.cjs} +2 -2
  105. package/dist/{prompt-block-versions-Bl3RmkTE.cjs.map → prompt-block-versions-Cgt_Grk2.cjs.map} +1 -1
  106. package/dist/{route-builder-CgLVYL1c.cjs → route-builder-BAAedfru.cjs} +11 -2
  107. package/dist/route-builder-BAAedfru.cjs.map +1 -0
  108. package/dist/{route-builder-CIk5k35M.js → route-builder-YQ_gLIvW.js} +11 -2
  109. package/dist/route-builder-YQ_gLIvW.js.map +1 -0
  110. package/dist/{routes-BzR8iVj4.cjs → routes-0BEh3stO.cjs} +26 -25
  111. package/dist/routes-0BEh3stO.cjs.map +1 -0
  112. package/dist/{routes-C7iRCN_l.js → routes-BsMPy5bu.js} +27 -26
  113. package/dist/routes-BsMPy5bu.js.map +1 -0
  114. package/dist/{schedules-CK3-IE0h.cjs → schedules-DOK225ZZ.cjs} +2 -2
  115. package/dist/{schedules-CK3-IE0h.cjs.map → schedules-DOK225ZZ.cjs.map} +1 -1
  116. package/dist/{schedules-qxFoU-Tb.js → schedules-RjPcNOmY.js} +2 -2
  117. package/dist/{schedules-qxFoU-Tb.js.map → schedules-RjPcNOmY.js.map} +1 -1
  118. package/dist/{schema-Bv9OdW1f-BY6u3u8K.cjs → schema-Bv9OdW1f-CHHI-NTr.cjs} +2 -76
  119. package/dist/schema-Bv9OdW1f-CHHI-NTr.cjs.map +1 -0
  120. package/dist/{schema-Bv9OdW1f-CIOfv-3w.js → schema-Bv9OdW1f-DLSJSqQv.js} +2 -76
  121. package/dist/schema-Bv9OdW1f-DLSJSqQv.js.map +1 -0
  122. package/dist/schema-CGeYTFwm.js +2 -0
  123. package/dist/schema-DkBbires.cjs +1 -0
  124. package/dist/{scorer-versions-DpmAJKsY.cjs → scorer-versions-CYXtxMTU.cjs} +3 -3
  125. package/dist/{scorer-versions-DpmAJKsY.cjs.map → scorer-versions-CYXtxMTU.cjs.map} +1 -1
  126. package/dist/{scorer-versions-BA8N488c.js → scorer-versions-CdVjOtQO.js} +3 -3
  127. package/dist/{scorer-versions-BA8N488c.js.map → scorer-versions-CdVjOtQO.js.map} +1 -1
  128. package/dist/{scores-DU0o86rP.js → scores-B1IdMcDj.js} +2 -2
  129. package/dist/{scores-DU0o86rP.js.map → scores-B1IdMcDj.js.map} +1 -1
  130. package/dist/{scores-Bm_sUKY1.cjs → scores-C_Au9jSw.cjs} +2 -2
  131. package/dist/{scores-Bm_sUKY1.cjs.map → scores-C_Au9jSw.cjs.map} +1 -1
  132. package/dist/server/a2a/store.cjs +4 -0
  133. package/dist/server/a2a/store.cjs.map +1 -1
  134. package/dist/server/a2a/store.d.ts +3 -0
  135. package/dist/server/a2a/store.d.ts.map +1 -1
  136. package/dist/server/a2a/store.js +4 -0
  137. package/dist/server/a2a/store.js.map +1 -1
  138. package/dist/server/handlers/a2a.cjs +3 -1
  139. package/dist/server/handlers/a2a.d.ts +583 -401
  140. package/dist/server/handlers/a2a.d.ts.map +1 -1
  141. package/dist/server/handlers/a2a.js +2 -2
  142. package/dist/server/handlers/agent-builder.cjs +7 -7
  143. package/dist/server/handlers/agent-builder.d.ts +1069 -764
  144. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  145. package/dist/server/handlers/agent-builder.js +7 -7
  146. package/dist/server/handlers/agent-controller.cjs +86 -17
  147. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  148. package/dist/server/handlers/agent-controller.d.ts +1548 -893
  149. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  150. package/dist/server/handlers/agent-controller.js +86 -17
  151. package/dist/server/handlers/agent-controller.js.map +1 -1
  152. package/dist/server/handlers/agent-versions.cjs +4 -4
  153. package/dist/server/handlers/agent-versions.d.ts +8504 -8312
  154. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  155. package/dist/server/handlers/agent-versions.js +4 -4
  156. package/dist/server/handlers/agents.cjs +6 -6
  157. package/dist/server/handlers/agents.d.ts +9984 -9826
  158. package/dist/server/handlers/agents.d.ts.map +1 -1
  159. package/dist/server/handlers/agents.js +6 -6
  160. package/dist/server/handlers/auth.cjs +1 -1
  161. package/dist/server/handlers/auth.d.ts +693 -297
  162. package/dist/server/handlers/auth.d.ts.map +1 -1
  163. package/dist/server/handlers/auth.js +1 -1
  164. package/dist/server/handlers/background-tasks.cjs +1 -1
  165. package/dist/server/handlers/background-tasks.d.ts +190 -130
  166. package/dist/server/handlers/background-tasks.d.ts.map +1 -1
  167. package/dist/server/handlers/background-tasks.js +1 -1
  168. package/dist/server/handlers/builder-registry.cjs +1 -1
  169. package/dist/server/handlers/builder-registry.d.ts +218 -121
  170. package/dist/server/handlers/builder-registry.d.ts.map +1 -1
  171. package/dist/server/handlers/builder-registry.js +1 -1
  172. package/dist/server/handlers/channels.cjs +1 -1
  173. package/dist/server/handlers/channels.d.ts +157 -77
  174. package/dist/server/handlers/channels.d.ts.map +1 -1
  175. package/dist/server/handlers/channels.js +1 -1
  176. package/dist/server/handlers/conversations.cjs +2 -2
  177. package/dist/server/handlers/conversations.d.ts +221 -141
  178. package/dist/server/handlers/conversations.d.ts.map +1 -1
  179. package/dist/server/handlers/conversations.js +2 -2
  180. package/dist/server/handlers/datasets.cjs +3 -3
  181. package/dist/server/handlers/datasets.d.ts +2669 -2234
  182. package/dist/server/handlers/datasets.d.ts.map +1 -1
  183. package/dist/server/handlers/datasets.js +3 -3
  184. package/dist/server/handlers/dynamic-workflows.cjs +6 -0
  185. package/dist/server/handlers/dynamic-workflows.d.ts +900 -0
  186. package/dist/server/handlers/{stored-workflows.d.ts.map → dynamic-workflows.d.ts.map} +1 -1
  187. package/dist/server/handlers/dynamic-workflows.js +2 -0
  188. package/dist/server/handlers/editor-builder.cjs +1 -1
  189. package/dist/server/handlers/editor-builder.d.ts +305 -245
  190. package/dist/server/handlers/editor-builder.d.ts.map +1 -1
  191. package/dist/server/handlers/editor-builder.js +1 -1
  192. package/dist/server/handlers/favorites-enrichment.cjs +1 -1
  193. package/dist/server/handlers/favorites-enrichment.js +1 -1
  194. package/dist/server/handlers/logs.cjs +3 -3
  195. package/dist/server/handlers/logs.d.ts +245 -185
  196. package/dist/server/handlers/logs.d.ts.map +1 -1
  197. package/dist/server/handlers/logs.js +3 -3
  198. package/dist/server/handlers/mcp-client-versions.cjs +3 -3
  199. package/dist/server/handlers/mcp-client-versions.d.ts +447 -307
  200. package/dist/server/handlers/mcp-client-versions.d.ts.map +1 -1
  201. package/dist/server/handlers/mcp-client-versions.js +3 -3
  202. package/dist/server/handlers/mcp.cjs +2 -2
  203. package/dist/server/handlers/mcp.d.ts +357 -156
  204. package/dist/server/handlers/mcp.d.ts.map +1 -1
  205. package/dist/server/handlers/mcp.js +2 -2
  206. package/dist/server/handlers/memory.cjs +2 -2
  207. package/dist/server/handlers/memory.d.ts +1723 -1223
  208. package/dist/server/handlers/memory.d.ts.map +1 -1
  209. package/dist/server/handlers/memory.js +2 -2
  210. package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
  211. package/dist/server/handlers/observability-new-endpoints.d.ts +3239 -2158
  212. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  213. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  214. package/dist/server/handlers/observability-shared.cjs +1 -1
  215. package/dist/server/handlers/observability-shared.js +1 -1
  216. package/dist/server/handlers/observability.cjs +2 -2
  217. package/dist/server/handlers/observability.d.ts +267 -149
  218. package/dist/server/handlers/observability.d.ts.map +1 -1
  219. package/dist/server/handlers/observability.js +2 -2
  220. package/dist/server/handlers/processor-providers.cjs +1 -1
  221. package/dist/server/handlers/processor-providers.d.ts +74 -34
  222. package/dist/server/handlers/processor-providers.d.ts.map +1 -1
  223. package/dist/server/handlers/processor-providers.js +1 -1
  224. package/dist/server/handlers/processors.cjs +1 -1
  225. package/dist/server/handlers/processors.d.ts +222 -173
  226. package/dist/server/handlers/processors.d.ts.map +1 -1
  227. package/dist/server/handlers/processors.js +1 -1
  228. package/dist/server/handlers/prompt-block-versions.cjs +3 -3
  229. package/dist/server/handlers/prompt-block-versions.d.ts +646 -506
  230. package/dist/server/handlers/prompt-block-versions.d.ts.map +1 -1
  231. package/dist/server/handlers/prompt-block-versions.js +3 -3
  232. package/dist/server/handlers/responses.cjs +1 -1
  233. package/dist/server/handlers/responses.d.ts +352 -362
  234. package/dist/server/handlers/responses.d.ts.map +1 -1
  235. package/dist/server/handlers/responses.js +1 -1
  236. package/dist/server/handlers/schedules.cjs +1 -1
  237. package/dist/server/handlers/schedules.d.ts +1190 -1028
  238. package/dist/server/handlers/schedules.d.ts.map +1 -1
  239. package/dist/server/handlers/schedules.js +1 -1
  240. package/dist/server/handlers/scorer-versions.cjs +3 -3
  241. package/dist/server/handlers/scorer-versions.d.ts +551 -411
  242. package/dist/server/handlers/scorer-versions.d.ts.map +1 -1
  243. package/dist/server/handlers/scorer-versions.js +3 -3
  244. package/dist/server/handlers/scores.cjs +3 -3
  245. package/dist/server/handlers/scores.d.ts +287 -167
  246. package/dist/server/handlers/scores.d.ts.map +1 -1
  247. package/dist/server/handlers/scores.js +3 -3
  248. package/dist/server/handlers/stored-agent-favorites.cjs +4 -4
  249. package/dist/server/handlers/stored-agent-favorites.d.ts +62 -22
  250. package/dist/server/handlers/stored-agent-favorites.d.ts.map +1 -1
  251. package/dist/server/handlers/stored-agent-favorites.js +4 -4
  252. package/dist/server/handlers/stored-agents.cjs +5 -5
  253. package/dist/server/handlers/stored-agents.d.ts +12056 -16152
  254. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  255. package/dist/server/handlers/stored-agents.js +5 -5
  256. package/dist/server/handlers/stored-mcp-clients.cjs +4 -4
  257. package/dist/server/handlers/stored-mcp-clients.d.ts +417 -324
  258. package/dist/server/handlers/stored-mcp-clients.d.ts.map +1 -1
  259. package/dist/server/handlers/stored-mcp-clients.js +4 -4
  260. package/dist/server/handlers/stored-prompt-blocks.cjs +4 -4
  261. package/dist/server/handlers/stored-prompt-blocks.d.ts +603 -555
  262. package/dist/server/handlers/stored-prompt-blocks.d.ts.map +1 -1
  263. package/dist/server/handlers/stored-prompt-blocks.js +4 -4
  264. package/dist/server/handlers/stored-scorers.cjs +4 -4
  265. package/dist/server/handlers/stored-scorers.d.ts +556 -472
  266. package/dist/server/handlers/stored-scorers.d.ts.map +1 -1
  267. package/dist/server/handlers/stored-scorers.js +4 -4
  268. package/dist/server/handlers/stored-skill-favorites.cjs +4 -4
  269. package/dist/server/handlers/stored-skill-favorites.d.ts +62 -22
  270. package/dist/server/handlers/stored-skill-favorites.d.ts.map +1 -1
  271. package/dist/server/handlers/stored-skill-favorites.js +4 -4
  272. package/dist/server/handlers/stored-skills.cjs +4 -4
  273. package/dist/server/handlers/stored-skills.d.ts +632 -515
  274. package/dist/server/handlers/stored-skills.d.ts.map +1 -1
  275. package/dist/server/handlers/stored-skills.js +4 -4
  276. package/dist/server/handlers/stored-workspaces.cjs +3 -3
  277. package/dist/server/handlers/stored-workspaces.d.ts +646 -546
  278. package/dist/server/handlers/stored-workspaces.d.ts.map +1 -1
  279. package/dist/server/handlers/stored-workspaces.js +3 -3
  280. package/dist/server/handlers/system.cjs +2 -2
  281. package/dist/server/handlers/system.d.ts +146 -106
  282. package/dist/server/handlers/system.d.ts.map +1 -1
  283. package/dist/server/handlers/system.js +2 -2
  284. package/dist/server/handlers/tool-providers.cjs +1 -1
  285. package/dist/server/handlers/tool-providers.d.ts +580 -331
  286. package/dist/server/handlers/tool-providers.d.ts.map +1 -1
  287. package/dist/server/handlers/tool-providers.js +1 -1
  288. package/dist/server/handlers/tools.cjs +6 -6
  289. package/dist/server/handlers/tools.d.ts +177 -77
  290. package/dist/server/handlers/tools.d.ts.map +1 -1
  291. package/dist/server/handlers/tools.js +6 -6
  292. package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
  293. package/dist/server/handlers/validate-agent-instructions.js +1 -1
  294. package/dist/server/handlers/vector.cjs +2 -2
  295. package/dist/server/handlers/vector.d.ts +282 -126
  296. package/dist/server/handlers/vector.d.ts.map +1 -1
  297. package/dist/server/handlers/vector.js +2 -2
  298. package/dist/server/handlers/workflows.cjs +149 -27
  299. package/dist/server/handlers/workflows.cjs.map +1 -1
  300. package/dist/server/handlers/workflows.d.ts +1704 -1173
  301. package/dist/server/handlers/workflows.d.ts.map +1 -1
  302. package/dist/server/handlers/workflows.js +149 -29
  303. package/dist/server/handlers/workflows.js.map +1 -1
  304. package/dist/server/handlers/workspace.cjs +1 -1
  305. package/dist/server/handlers/workspace.d.ts +1936 -1150
  306. package/dist/server/handlers/workspace.d.ts.map +1 -1
  307. package/dist/server/handlers/workspace.js +1 -1
  308. package/dist/server/handlers.cjs +8 -8
  309. package/dist/server/handlers.d.ts +1 -1
  310. package/dist/server/handlers.d.ts.map +1 -1
  311. package/dist/server/handlers.js +3 -3
  312. package/dist/server/schemas/a2a.d.ts +70 -6
  313. package/dist/server/schemas/a2a.d.ts.map +1 -1
  314. package/dist/server/schemas/agent-versions.d.ts +70 -10
  315. package/dist/server/schemas/agent-versions.d.ts.map +1 -1
  316. package/dist/server/schemas/agents.d.ts +23 -3
  317. package/dist/server/schemas/agents.d.ts.map +1 -1
  318. package/dist/server/schemas/common.d.ts.map +1 -1
  319. package/dist/server/schemas/default-options.d.ts +7 -1
  320. package/dist/server/schemas/default-options.d.ts.map +1 -1
  321. package/dist/server/schemas/{stored-workflows.d.ts → dynamic-workflows.d.ts} +13 -13
  322. package/dist/server/schemas/dynamic-workflows.d.ts.map +1 -0
  323. package/dist/server/schemas/index.cjs +26 -26
  324. package/dist/server/schemas/index.js +26 -26
  325. package/dist/server/schemas/stored-agents.d.ts +140 -20
  326. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  327. package/dist/server/schemas/workflows.d.ts +10 -2
  328. package/dist/server/schemas/workflows.d.ts.map +1 -1
  329. package/dist/server/server-adapter/index.cjs +69 -7
  330. package/dist/server/server-adapter/index.cjs.map +1 -1
  331. package/dist/server/server-adapter/index.d.ts +51 -1
  332. package/dist/server/server-adapter/index.d.ts.map +1 -1
  333. package/dist/server/server-adapter/index.js +70 -9
  334. package/dist/server/server-adapter/index.js.map +1 -1
  335. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  336. package/dist/server/server-adapter/routes/a2a.d.ts +546 -398
  337. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  338. package/dist/server/server-adapter/routes/agent-builder.d.ts +1054 -749
  339. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  340. package/dist/server/server-adapter/routes/channels.d.ts +153 -73
  341. package/dist/server/server-adapter/routes/channels.d.ts.map +1 -1
  342. package/dist/server/server-adapter/routes/conversations.d.ts +218 -138
  343. package/dist/server/server-adapter/routes/conversations.d.ts.map +1 -1
  344. package/dist/server/server-adapter/routes/datasets.d.ts +2312 -1877
  345. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  346. package/dist/server/server-adapter/routes/dynamic-workflows.d.ts +16 -0
  347. package/dist/server/server-adapter/routes/dynamic-workflows.d.ts.map +1 -0
  348. package/dist/server/server-adapter/routes/editor-builder.d.ts +506 -349
  349. package/dist/server/server-adapter/routes/editor-builder.d.ts.map +1 -1
  350. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  351. package/dist/server/server-adapter/routes/legacy.d.ts +615 -629
  352. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -1
  353. package/dist/server/server-adapter/routes/logs.d.ts +243 -183
  354. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -1
  355. package/dist/server/server-adapter/routes/mcp.d.ts +347 -147
  356. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -1
  357. package/dist/server/server-adapter/routes/memory.d.ts +1699 -1199
  358. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  359. package/dist/server/server-adapter/routes/observability.d.ts +2761 -2103
  360. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  361. package/dist/server/server-adapter/routes/processor-providers.d.ts +70 -30
  362. package/dist/server/server-adapter/routes/processor-providers.d.ts.map +1 -1
  363. package/dist/server/server-adapter/routes/processors.d.ts +220 -171
  364. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -1
  365. package/dist/server/server-adapter/routes/responses.d.ts +350 -360
  366. package/dist/server/server-adapter/routes/responses.d.ts.map +1 -1
  367. package/dist/server/server-adapter/routes/route-builder.d.ts +6 -2
  368. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  369. package/dist/server/server-adapter/routes/scorers.d.ts +282 -162
  370. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -1
  371. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts +821 -588
  372. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts.map +1 -1
  373. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts +1252 -1064
  374. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts.map +1 -1
  375. package/dist/server/server-adapter/routes/stored-scorers.d.ts +1046 -822
  376. package/dist/server/server-adapter/routes/stored-scorers.d.ts.map +1 -1
  377. package/dist/server/server-adapter/routes/stored-skills.d.ts +683 -526
  378. package/dist/server/server-adapter/routes/stored-skills.d.ts.map +1 -1
  379. package/dist/server/server-adapter/routes/stored-workspaces.d.ts +637 -537
  380. package/dist/server/server-adapter/routes/stored-workspaces.d.ts.map +1 -1
  381. package/dist/server/server-adapter/routes/system.d.ts +145 -105
  382. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  383. package/dist/server/server-adapter/routes/tool-providers.d.ts +566 -317
  384. package/dist/server/server-adapter/routes/tool-providers.d.ts.map +1 -1
  385. package/dist/server/server-adapter/routes/tools.d.ts +103 -43
  386. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -1
  387. package/dist/server/server-adapter/routes/vectors.d.ts +275 -119
  388. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -1
  389. package/dist/server/server-adapter/routes/workflows.d.ts +1586 -1098
  390. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  391. package/dist/server/server-adapter/routes/workspace.d.ts +1026 -613
  392. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -1
  393. package/dist/{stored-agents-D8ar1Pn7.js → stored-agents-BRBZM-Xl.js} +4 -4
  394. package/dist/{stored-agents-D8ar1Pn7.js.map → stored-agents-BRBZM-Xl.js.map} +1 -1
  395. package/dist/{stored-agents-DKd89v5z.cjs → stored-agents-CPxfYRH9.cjs} +4 -4
  396. package/dist/{stored-agents-DKd89v5z.cjs.map → stored-agents-CPxfYRH9.cjs.map} +1 -1
  397. package/dist/{stored-mcp-clients-CwA5_nZ9.cjs → stored-mcp-clients-CJJPe_09.cjs} +2 -2
  398. package/dist/{stored-mcp-clients-CwA5_nZ9.cjs.map → stored-mcp-clients-CJJPe_09.cjs.map} +1 -1
  399. package/dist/{stored-mcp-clients-DJ3E4g8-.js → stored-mcp-clients-CoCfZRhw.js} +2 -2
  400. package/dist/{stored-mcp-clients-DJ3E4g8-.js.map → stored-mcp-clients-CoCfZRhw.js.map} +1 -1
  401. package/dist/{stored-prompt-blocks-BlqcqnEX.js → stored-prompt-blocks-DcmkZaCm.js} +2 -2
  402. package/dist/{stored-prompt-blocks-BlqcqnEX.js.map → stored-prompt-blocks-DcmkZaCm.js.map} +1 -1
  403. package/dist/{stored-prompt-blocks-DR_Wts8r.cjs → stored-prompt-blocks-XI4frgZv.cjs} +2 -2
  404. package/dist/{stored-prompt-blocks-DR_Wts8r.cjs.map → stored-prompt-blocks-XI4frgZv.cjs.map} +1 -1
  405. package/dist/{stored-scorers-BIKumDRO.js → stored-scorers-B__LF0Cy.js} +3 -3
  406. package/dist/{stored-scorers-BIKumDRO.js.map → stored-scorers-B__LF0Cy.js.map} +1 -1
  407. package/dist/{stored-scorers-_dqFdh-G.cjs → stored-scorers-Cml7jPJv.cjs} +3 -3
  408. package/dist/{stored-scorers-_dqFdh-G.cjs.map → stored-scorers-Cml7jPJv.cjs.map} +1 -1
  409. package/dist/{stored-skills-CgwoCNNV.cjs → stored-skills-BqNK0ssS.cjs} +2 -2
  410. package/dist/{stored-skills-CgwoCNNV.cjs.map → stored-skills-BqNK0ssS.cjs.map} +1 -1
  411. package/dist/{stored-skills-B_aAMn5W.js → stored-skills-JTWbMybs.js} +2 -2
  412. package/dist/{stored-skills-B_aAMn5W.js.map → stored-skills-JTWbMybs.js.map} +1 -1
  413. package/dist/{stored-workspaces-Dib-ClOP.js → stored-workspaces-6PYE4Y3m.js} +2 -2
  414. package/dist/{stored-workspaces-Dib-ClOP.js.map → stored-workspaces-6PYE4Y3m.js.map} +1 -1
  415. package/dist/{stored-workspaces-CbJQaFuP.cjs → stored-workspaces-Dl8B20LD.cjs} +2 -2
  416. package/dist/{stored-workspaces-CbJQaFuP.cjs.map → stored-workspaces-Dl8B20LD.cjs.map} +1 -1
  417. package/dist/sync-BHatXKfg.cjs +1679 -0
  418. package/dist/sync-BHatXKfg.cjs.map +1 -0
  419. package/dist/sync-djJ8Lmds.js +1656 -0
  420. package/dist/sync-djJ8Lmds.js.map +1 -0
  421. package/dist/{utils-wESuBh27.cjs → utils-Bna_JCkb.cjs} +3 -3
  422. package/dist/{utils-wESuBh27.cjs.map → utils-Bna_JCkb.cjs.map} +1 -1
  423. package/dist/{utils-BUK03Frl.js → utils-QXKhjIm6.js} +3 -3
  424. package/dist/{utils-BUK03Frl.js.map → utils-QXKhjIm6.js.map} +1 -1
  425. package/dist/{vectors-CZY34X8R.js → vectors-Ck7Qu6yz.js} +2 -2
  426. package/dist/{vectors-CZY34X8R.js.map → vectors-Ck7Qu6yz.js.map} +1 -1
  427. package/dist/{vectors-Cj-SPxOy.cjs → vectors-D6uZn2f1.cjs} +2 -2
  428. package/dist/{vectors-Cj-SPxOy.cjs.map → vectors-D6uZn2f1.cjs.map} +1 -1
  429. package/dist/{version-common-CEBQY7M8.cjs → version-common-AtNRQ5xH.cjs} +2 -2
  430. package/dist/{version-common-CEBQY7M8.cjs.map → version-common-AtNRQ5xH.cjs.map} +1 -1
  431. package/dist/{version-common-Cmd1f9JX.js → version-common-CudZ_WuW.js} +2 -2
  432. package/dist/{version-common-Cmd1f9JX.js.map → version-common-CudZ_WuW.js.map} +1 -1
  433. package/dist/{workflows-XfiENvkF.cjs → workflows--79xhOOb.cjs} +14 -3
  434. package/dist/workflows--79xhOOb.cjs.map +1 -0
  435. package/dist/{workflows-DPW6FrY0.js → workflows-B2ooCiwN.js} +9 -4
  436. package/dist/workflows-B2ooCiwN.js.map +1 -0
  437. package/package.json +6 -6
  438. package/dist/a2a-CHi9AJ0n.js.map +0 -1
  439. package/dist/a2a-CnU9zaGR.js.map +0 -1
  440. package/dist/a2a-D3ZYeXIx.cjs.map +0 -1
  441. package/dist/a2a-oM7aqLz4.cjs.map +0 -1
  442. package/dist/agents-CYvun9iI.js.map +0 -1
  443. package/dist/agents-Dk2qoJi_.cjs.map +0 -1
  444. package/dist/common-CPNOpqxA.js.map +0 -1
  445. package/dist/common-spbwhiWS.cjs.map +0 -1
  446. package/dist/dist-DgY0llRv.cjs.map +0 -1
  447. package/dist/dist-IUXZtNBY.js.map +0 -1
  448. package/dist/probe-image-size-BQgIJeY_.js.map +0 -1
  449. package/dist/probe-image-size-DYJVSL0b.cjs.map +0 -1
  450. package/dist/route-builder-CIk5k35M.js.map +0 -1
  451. package/dist/route-builder-CgLVYL1c.cjs.map +0 -1
  452. package/dist/routes-BzR8iVj4.cjs.map +0 -1
  453. package/dist/routes-C7iRCN_l.js.map +0 -1
  454. package/dist/schema-B8-5YCsA.js +0 -2
  455. package/dist/schema-BieM1qrc.cjs +0 -1
  456. package/dist/schema-Bv9OdW1f-BY6u3u8K.cjs.map +0 -1
  457. package/dist/schema-Bv9OdW1f-CIOfv-3w.js.map +0 -1
  458. package/dist/server/handlers/stored-workflows.cjs +0 -6
  459. package/dist/server/handlers/stored-workflows.d.ts +0 -820
  460. package/dist/server/handlers/stored-workflows.js +0 -2
  461. package/dist/server/schemas/stored-workflows.d.ts.map +0 -1
  462. package/dist/server/server-adapter/routes/stored-workflows.d.ts +0 -16
  463. package/dist/server/server-adapter/routes/stored-workflows.d.ts.map +0 -1
  464. package/dist/stored-workflows-OanG0TmB.js.map +0 -1
  465. package/dist/stored-workflows-pCiWK305.cjs.map +0 -1
  466. package/dist/workflows-DPW6FrY0.js.map +0 -1
  467. package/dist/workflows-XfiENvkF.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-DzZHH3OH.cjs","names":["crypto","MastraA2AError","defaultLookup","httpsRequest","httpRequest","TaskStoreVersionConflictError","MastraA2AError","z","getAgentFromSystem","convertInstructionsToString","getPublicOrigin","MastraA2AError","TaskStoreVersionConflictError","createRoute","a2aAgentIdPathParams","agentCardResponseSchema","agentExecutionBodySchema","agentExecutionResponseSchema"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/canonicalize/1.0.8/8d710dcf19a48d178b2fc853e16c59951fde29eb27b6037da6c3f4dbb968b03d/node_modules/canonicalize/lib/canonicalize.js","../src/server/a2a/agent-card-signing.ts","../src/server/a2a/protocol.ts","../src/server/a2a/push-notification-sender.ts","../src/server/a2a/push-notification-store.ts","../src/server/a2a/task-state.ts","../src/server/a2a/tasks.ts","../src/server/handlers/a2a.ts"],"sourcesContent":["/* jshint esversion: 6 */\n/* jslint node: true */\n'use strict';\n\nmodule.exports = function serialize (object) {\n if (object === null || typeof object !== 'object' || object.toJSON != null) {\n return JSON.stringify(object);\n }\n\n if (Array.isArray(object)) {\n return '[' + object.reduce((t, cv, ci) => {\n const comma = ci === 0 ? '' : ',';\n const value = cv === undefined || typeof cv === 'symbol' ? null : cv;\n return t + comma + serialize(value);\n }, '') + ']';\n }\n\n return '{' + Object.keys(object).sort().reduce((t, cv, ci) => {\n if (object[cv] === undefined ||\n typeof object[cv] === 'symbol') {\n return t;\n }\n const comma = t.length === 0 ? '' : ',';\n return t + comma + serialize(cv) + ':' + serialize(object[cv]);\n }, '') + '}';\n};\n","import * as crypto from 'node:crypto';\nimport type { AgentCard, AgentCardSignature } from '@mastra/core/a2a';\nimport type { A2AAgentCardSigningConfig } from '@mastra/core/server';\nimport canonicalize from 'canonicalize';\n\nconst SUPPORTED_JWS_ALGORITHMS = new Set<string>([\n 'ES256',\n 'ES384',\n 'ES512',\n 'RS256',\n 'RS384',\n 'RS512',\n 'PS256',\n 'PS384',\n 'PS512',\n]);\n\nfunction stripAgentCardSignatures(agentCard: AgentCard): AgentCard {\n const unsignedCard = structuredClone(agentCard) as AgentCard & { signatures?: AgentCardSignature[] };\n delete unsignedCard.signatures;\n return unsignedCard;\n}\n\nfunction importSigningKey(signing: A2AAgentCardSigningConfig) {\n const { privateKey } = signing;\n\n if (typeof privateKey === 'string') {\n return crypto.createPrivateKey(privateKey);\n }\n\n return crypto.createPrivateKey({\n key: privateKey,\n format: 'jwk',\n });\n}\n\nfunction getProtectedHeader(signing: A2AAgentCardSigningConfig): Record<string, unknown> {\n const { alg, ...rest } = signing.protectedHeader;\n\n if (!SUPPORTED_JWS_ALGORITHMS.has(alg)) {\n throw new Error(`Unsupported JWS algorithm for A2A Agent Card signing: ${alg}`);\n }\n\n return {\n ...rest,\n alg,\n };\n}\n\ntype SignatureOptions = Pick<crypto.SignKeyObjectInput, 'dsaEncoding' | 'padding' | 'saltLength'>;\n\nfunction getSignatureOptions(algorithm: string): SignatureOptions {\n if (algorithm.startsWith('ES')) {\n return { dsaEncoding: 'ieee-p1363' as const };\n }\n\n if (algorithm.startsWith('PS')) {\n return {\n padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST,\n };\n }\n\n return {};\n}\n\nfunction getDigestAlgorithm(algorithm: string): string {\n if (algorithm.endsWith('256')) return 'sha256';\n if (algorithm.endsWith('384')) return 'sha384';\n if (algorithm.endsWith('512')) return 'sha512';\n throw new Error(`Unsupported JWS algorithm for A2A Agent Card signing: ${algorithm}`);\n}\n\nexport async function signAgentCard({\n agentCard,\n signing,\n}: {\n agentCard: AgentCard;\n signing: A2AAgentCardSigningConfig;\n}): Promise<AgentCard> {\n const canonicalPayload = canonicalize(stripAgentCardSignatures(agentCard));\n\n if (!canonicalPayload) {\n throw new Error('Failed to canonicalize A2A Agent Card for signing');\n }\n\n const key = importSigningKey(signing);\n const protectedHeader = getProtectedHeader(signing);\n const encodedHeader = Buffer.from(JSON.stringify(protectedHeader), 'utf8').toString('base64url');\n const encodedPayload = Buffer.from(canonicalPayload, 'utf8').toString('base64url');\n const signingInput = `${encodedHeader}.${encodedPayload}`;\n const signatureBuffer = crypto.sign(\n getDigestAlgorithm(String(protectedHeader.alg)),\n Buffer.from(signingInput, 'utf8'),\n {\n key,\n ...getSignatureOptions(String(protectedHeader.alg)),\n },\n );\n const signatureValue = signatureBuffer.toString('base64url');\n\n if (!encodedHeader || !signatureValue) {\n throw new Error('Failed to create compact JWS for A2A Agent Card');\n }\n\n const signature: AgentCardSignature = {\n protected: encodedHeader,\n signature: signatureValue,\n header: signing.header,\n };\n\n return {\n ...agentCard,\n signatures: [...(agentCard.signatures ?? []), signature],\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 === null) {\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 { lookup as defaultLookup } from 'node:dns/promises';\nimport { request as httpRequest } from 'node:http';\nimport { request as httpsRequest } from 'node:https';\nimport { isIP } from 'node:net';\nimport type { Task } from '@mastra/core/a2a';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { InMemoryPushNotificationStore } from './push-notification-store';\n\nexport const DEFAULT_PUSH_NOTIFICATION_TOKEN_HEADER = 'X-A2A-Notification-Token';\n\nfunction isDisallowedHostname(hostname: string) {\n const normalized = hostname.toLowerCase();\n\n return (\n normalized === 'localhost' ||\n normalized.endsWith('.localhost') ||\n normalized.endsWith('.local') ||\n normalized.endsWith('.internal') ||\n !normalized.includes('.')\n );\n}\n\nfunction isDisallowedIpv4(address: string) {\n const [first = -1, second = -1] = address.split('.').map(Number);\n\n return (\n first === 10 ||\n first === 127 ||\n (first === 169 && second === 254) ||\n (first === 172 && second >= 16 && second <= 31) ||\n (first === 192 && second === 168)\n );\n}\n\nfunction isDisallowedIpv6(address: string) {\n const normalized = address.toLowerCase();\n\n return (\n normalized === '::1' ||\n normalized.startsWith('fe8') ||\n normalized.startsWith('fe9') ||\n normalized.startsWith('fea') ||\n normalized.startsWith('feb') ||\n normalized.startsWith('fc') ||\n normalized.startsWith('fd')\n );\n}\n\nfunction isDisallowedIpAddress(address: string) {\n const version = isIP(address);\n if (version === 4) {\n return isDisallowedIpv4(address);\n }\n\n if (version === 6) {\n return isDisallowedIpv6(address);\n }\n\n return false;\n}\n\nexport class DefaultPushNotificationSender {\n constructor(\n private readonly pushNotificationStore: InMemoryPushNotificationStore,\n private readonly options: {\n timeout?: number;\n tokenHeaderName?: string;\n fetch?: typeof fetch;\n lookup?: typeof defaultLookup;\n allowedHosts?: string[];\n } = {},\n ) {}\n\n getStore() {\n return this.pushNotificationStore;\n }\n\n private async resolveValidatedDestination(rawUrl: string) {\n const url = new URL(rawUrl);\n\n if (url.protocol !== 'https:' && url.protocol !== 'http:') {\n throw new Error(`Push notification URL must use http or https: ${url.protocol}`);\n }\n\n const hostname = url.hostname.toLowerCase();\n if (this.options.allowedHosts && !this.options.allowedHosts.includes(hostname)) {\n throw new Error(`Push notification host is not allowed: ${hostname}`);\n }\n\n if (isDisallowedHostname(hostname)) {\n throw new Error(`Push notification URL must not target local or internal hosts: ${hostname}`);\n }\n\n if (isDisallowedIpAddress(hostname)) {\n throw new Error(`Push notification URL must not target local or private IPs: ${hostname}`);\n }\n\n const resolvedAddresses =\n isIP(hostname) === 0\n ? await (this.options.lookup ?? defaultLookup)(hostname, { all: true, verbatim: true })\n : [{ address: hostname, family: isIP(hostname) }];\n\n if (resolvedAddresses.some(result => isDisallowedIpAddress(result.address))) {\n throw new Error(`Push notification URL resolved to a local or private IP: ${hostname}`);\n }\n\n const requestUrl = new URL(url.toString());\n requestUrl.hostname = resolvedAddresses[0]!.address;\n\n return {\n originalUrl: url,\n requestUrl,\n hostHeader: url.host,\n servername: isIP(hostname) === 0 ? hostname : undefined,\n };\n }\n\n private async postTaskSnapshot({\n requestUrl,\n hostHeader,\n servername,\n headers,\n body,\n timeout,\n }: {\n requestUrl: URL;\n hostHeader: string;\n servername?: string;\n headers: Headers;\n body: string;\n timeout: number;\n }) {\n headers.set('host', hostHeader);\n const signal = typeof AbortSignal.timeout === 'function' ? AbortSignal.timeout(timeout) : undefined;\n\n if (this.options.fetch) {\n return this.options.fetch(requestUrl.toString(), {\n method: 'POST',\n headers,\n body,\n signal,\n });\n }\n\n const transport = requestUrl.protocol === 'https:' ? httpsRequest : httpRequest;\n\n return await new Promise<{ ok: boolean; status: number; statusText: string }>((resolve, reject) => {\n const request = transport(\n {\n protocol: requestUrl.protocol,\n hostname: requestUrl.hostname,\n port: requestUrl.port || undefined,\n path: `${requestUrl.pathname}${requestUrl.search}`,\n method: 'POST',\n headers: Object.fromEntries(headers.entries()),\n servername,\n },\n response => {\n response.resume();\n response.on('end', () => {\n resolve({\n ok: !!response.statusCode && response.statusCode >= 200 && response.statusCode < 300,\n status: response.statusCode ?? 0,\n statusText: response.statusMessage ?? '',\n });\n });\n },\n );\n\n request.on('error', reject);\n\n if (signal) {\n signal.addEventListener(\n 'abort',\n () => {\n request.destroy(signal.reason instanceof Error ? signal.reason : new Error('Push notification timed out'));\n },\n { once: true },\n );\n }\n\n request.end(body);\n });\n }\n\n async sendNotifications({\n agentId,\n task,\n logger,\n }: {\n agentId: string;\n task: Task;\n logger?: IMastraLogger;\n }): Promise<void> {\n const configs = this.pushNotificationStore.list({\n agentId,\n params: { id: task.id },\n });\n\n if (configs.length === 0) {\n return;\n }\n\n await Promise.allSettled(\n configs.map(async config => {\n const headers = new Headers({\n 'content-type': 'application/json',\n });\n\n if (config.pushNotificationConfig.token) {\n headers.set(\n this.options.tokenHeaderName ?? DEFAULT_PUSH_NOTIFICATION_TOKEN_HEADER,\n config.pushNotificationConfig.token,\n );\n }\n\n const auth = config.pushNotificationConfig.authentication;\n if (auth?.credentials) {\n if (auth.schemes.includes('Bearer')) {\n headers.set('authorization', `Bearer ${auth.credentials}`);\n } else if (auth.schemes.includes('Basic')) {\n headers.set('authorization', `Basic ${auth.credentials}`);\n }\n }\n\n const { requestUrl, hostHeader, servername } = await this.resolveValidatedDestination(\n config.pushNotificationConfig.url,\n );\n const response = await this.postTaskSnapshot({\n requestUrl,\n hostHeader,\n servername,\n headers,\n body: JSON.stringify(task),\n timeout: this.options.timeout ?? 5_000,\n });\n\n if (!response.ok) {\n throw new Error(\n `Push notification failed with status ${response.status} ${response.statusText ?? ''}`.trim(),\n );\n }\n }),\n ).then(results => {\n for (const result of results) {\n if (result.status === 'rejected') {\n logger?.error('Failed to deliver A2A push notification', result.reason);\n }\n }\n });\n }\n}\n","import type {\n DeleteTaskPushNotificationConfigParams,\n GetTaskPushNotificationConfigParams,\n ListTaskPushNotificationConfigParams,\n TaskPushNotificationConfig,\n} from '@mastra/core/a2a';\n\nfunction normalizeConfigId(taskId: string, configId?: string) {\n return configId || taskId;\n}\n\nexport class InMemoryPushNotificationStore {\n private store = new Map<string, Map<string, TaskPushNotificationConfig>>();\n\n private getKey(agentId: string, taskId: string) {\n return JSON.stringify([agentId, taskId]);\n }\n\n set({ agentId, config }: { agentId: string; config: TaskPushNotificationConfig }): TaskPushNotificationConfig {\n const key = this.getKey(agentId, config.taskId);\n const configs = this.store.get(key) ?? new Map<string, TaskPushNotificationConfig>();\n const normalizedConfig: TaskPushNotificationConfig = {\n taskId: config.taskId,\n pushNotificationConfig: {\n ...config.pushNotificationConfig,\n id: normalizeConfigId(config.taskId, config.pushNotificationConfig.id),\n },\n };\n\n configs.set(normalizedConfig.pushNotificationConfig.id!, structuredClone(normalizedConfig));\n this.store.set(key, configs);\n\n return structuredClone(normalizedConfig);\n }\n\n get({\n agentId,\n params,\n }: {\n agentId: string;\n params: GetTaskPushNotificationConfigParams;\n }): TaskPushNotificationConfig | null {\n const key = this.getKey(agentId, params.id);\n const configId = normalizeConfigId(params.id, params.pushNotificationConfigId);\n const config = this.store.get(key)?.get(configId);\n return config ? structuredClone(config) : null;\n }\n\n list({\n agentId,\n params,\n }: {\n agentId: string;\n params: ListTaskPushNotificationConfigParams;\n }): TaskPushNotificationConfig[] {\n const key = this.getKey(agentId, params.id);\n return Array.from(this.store.get(key)?.values() ?? []).map(config => structuredClone(config));\n }\n\n delete({ agentId, params }: { agentId: string; params: DeleteTaskPushNotificationConfigParams }): boolean {\n const key = this.getKey(agentId, params.id);\n const configs = this.store.get(key);\n\n if (!configs) {\n return false;\n }\n\n const deleted = configs.delete(params.pushNotificationConfigId);\n if (configs.size === 0) {\n this.store.delete(key);\n }\n\n return deleted;\n }\n}\n","import type { TaskState } from '@mastra/core/a2a';\n\nexport function isTerminalTaskState(state: TaskState | undefined): boolean {\n return state === 'completed' || state === 'failed' || state === 'canceled' || state === 'rejected';\n}\n\nexport function isInterruptedTaskState(state: TaskState | undefined): boolean {\n return state === 'input-required' || state === 'auth-required';\n}\n","import type { Message, Task, TaskStatus, TaskContext, TaskArtifactUpdateEvent, Artifact } from '@mastra/core/a2a';\nimport { MastraA2AError } from '@mastra/core/a2a';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport { TaskStoreVersionConflictError, type InMemoryTaskStore } from './store';\nimport { isTerminalTaskState } from './task-state';\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 for (let attempt = 0; attempt < 2; attempt++) {\n const snapshot = taskStore.loadWithVersion({ agentId, taskId });\n const data = snapshot?.task;\n\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 try {\n await taskStore.save({ agentId, data: initialTask, expectedVersion: 0 });\n return initialTask;\n } catch (error) {\n if (error instanceof TaskStoreVersionConflictError) {\n continue;\n }\n throw error;\n }\n }\n\n logger?.info(`[Task ${taskId}] Loaded existing task.`);\n\n const { status } = data;\n if (isTerminalTaskState(status.state)) {\n throw MastraA2AError.invalidRequest(\n `Task ${taskId} is in terminal state ${status.state} and cannot be restarted.`,\n );\n }\n\n let updatedData: Task = {\n ...data,\n history: [...(data.history || []), message],\n };\n\n if (status.state === 'input-required' || status.state === 'auth-required') {\n logger?.info(`[Task ${taskId}] Changing state from '${status.state}' 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 try {\n await taskStore.save({ agentId, data: updatedData, expectedVersion: snapshot.version });\n return updatedData;\n } catch (error) {\n if (error instanceof TaskStoreVersionConflictError) {\n continue;\n }\n throw error;\n }\n }\n\n throw MastraA2AError.invalidRequest(`Task ${taskId} was updated concurrently. Retry the request.`);\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 { isDeepStrictEqual } from 'node:util';\nimport { MastraA2AError } from '@mastra/core/a2a';\nimport type {\n MessageSendParams,\n TaskQueryParams,\n TaskIdParams,\n AgentCard,\n TaskStatus,\n TaskState,\n Task,\n TaskPushNotificationConfig,\n GetTaskPushNotificationConfigParams,\n ListTaskPushNotificationConfigParams,\n DeleteTaskPushNotificationConfigParams,\n Artifact,\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/v4';\nimport { signAgentCard } from '../a2a/agent-card-signing';\nimport { convertToCoreMessage, normalizeError, createSuccessResponse } from '../a2a/protocol';\nimport { DefaultPushNotificationSender } from '../a2a/push-notification-sender';\nimport { InMemoryPushNotificationStore } from '../a2a/push-notification-store';\nimport { TaskStoreVersionConflictError, type InMemoryTaskStore } from '../a2a/store';\nimport { isInterruptedTaskState, isTerminalTaskState } from '../a2a/task-state';\nimport { applyUpdateToTask, 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';\nimport { getAgentFromSystem } from './agents';\nimport { getPublicOrigin } from './auth';\n\n// Mirrors @a2a-js/sdk's Part discriminated union (text | file | data) and the\n// part shape already declared in ../schemas/a2a.ts. Before this widening, the\n// schema hard-coded `kind: z.enum(['text'])` which rejected every non-text\n// part before the converter could see it — even though convertToCoreMessagePart\n// at ../a2a/protocol.ts already handles file and data parts. With this change,\n// FilePart (FileWithBytes | FileWithUri) and DataPart parse successfully and\n// reach the converter (data parts then throw a clear \"not supported in core\n// messages\" message; files convert natively to AI-SDK CoreMessage file parts).\nconst messagePartSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('text'),\n text: z.string(),\n metadata: z.record(z.string(), z.any()).optional(),\n }),\n z.object({\n kind: z.literal('file'),\n file: z.union([\n z.object({\n bytes: z.string(),\n mimeType: z.string().optional(),\n name: z.string().optional(),\n }),\n z.object({\n uri: z.string(),\n mimeType: z.string().optional(),\n name: z.string().optional(),\n }),\n ]),\n metadata: z.record(z.string(), z.any()).optional(),\n }),\n z.object({\n kind: z.literal('data'),\n data: z.record(z.string(), z.any()),\n metadata: z.record(z.string(), z.any()).optional(),\n }),\n]);\n\nconst messageSendParamsSchema = z.object({\n message: z.object({\n role: z.enum(['user', 'agent']),\n parts: z.array(messagePartSchema),\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 configuration: z\n .object({\n acceptedOutputModes: z.array(z.string()).optional(),\n blocking: z.boolean().optional(),\n returnImmediately: z.boolean().optional(),\n historyLength: z.number().optional(),\n pushNotificationConfig: z\n .object({\n url: z.string(),\n id: z.string().optional(),\n token: z.string().optional(),\n authentication: z\n .object({\n schemes: z.array(z.string()),\n credentials: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\nconst defaultPushNotificationStore = new InMemoryPushNotificationStore();\nconst defaultPushNotificationSender = new DefaultPushNotificationSender(defaultPushNotificationStore);\n\nconst V1_TASK_STATES: Record<string, string> = {\n submitted: 'TASK_STATE_SUBMITTED',\n working: 'TASK_STATE_WORKING',\n completed: 'TASK_STATE_COMPLETED',\n failed: 'TASK_STATE_FAILED',\n canceled: 'TASK_STATE_CANCELED',\n 'input-required': 'TASK_STATE_INPUT_REQUIRED',\n rejected: 'TASK_STATE_REJECTED',\n 'auth-required': 'TASK_STATE_AUTH_REQUIRED',\n};\n\nfunction normalizeV1Part(part: Record<string, unknown>) {\n if ('text' in part) {\n return { kind: 'text', text: part.text, metadata: part.metadata };\n }\n if ('raw' in part) {\n return {\n kind: 'file',\n file: { bytes: part.raw, mimeType: part.mediaType, name: part.filename },\n metadata: part.metadata,\n };\n }\n if ('url' in part) {\n return {\n kind: 'file',\n file: { uri: part.url, mimeType: part.mediaType, name: part.filename },\n metadata: part.metadata,\n };\n }\n return { kind: 'data', data: part.data, metadata: part.metadata };\n}\n\nfunction normalizeV1Params(params: Record<string, any> | undefined): Record<string, any> | undefined {\n if (!params?.message) {\n return params;\n }\n\n const configuration = params.configuration;\n return {\n ...params,\n message: {\n ...params.message,\n kind: 'message',\n role: params.message.role === 'ROLE_AGENT' ? 'agent' : 'user',\n parts: params.message.parts.map((part: Record<string, unknown>) => normalizeV1Part(part)),\n },\n configuration: configuration\n ? {\n ...configuration,\n blocking: configuration.returnImmediately === undefined ? undefined : !configuration.returnImmediately,\n pushNotificationConfig: configuration.taskPushNotificationConfig,\n }\n : undefined,\n };\n}\n\nfunction toV1Part(part: any) {\n if (part.kind === 'text') {\n return { text: part.text, metadata: part.metadata };\n }\n if (part.kind === 'file') {\n return 'uri' in part.file\n ? { url: part.file.uri, filename: part.file.name, mediaType: part.file.mimeType, metadata: part.metadata }\n : { raw: part.file.bytes, filename: part.file.name, mediaType: part.file.mimeType, metadata: part.metadata };\n }\n return { data: part.data, metadata: part.metadata };\n}\n\nfunction toV1Message(message: any) {\n if (!message) return undefined;\n return {\n messageId: message.messageId,\n contextId: message.contextId,\n taskId: message.taskId,\n role: message.role === 'agent' ? 'ROLE_AGENT' : 'ROLE_USER',\n parts: message.parts?.map(toV1Part),\n metadata: message.metadata,\n extensions: message.extensions,\n referenceTaskIds: message.referenceTaskIds,\n };\n}\n\nfunction toV1Task(\n task: any,\n { includeArtifacts = true, historyLength }: { includeArtifacts?: boolean; historyLength?: number } = {},\n) {\n return {\n id: task.id,\n contextId: task.contextId,\n status: {\n state: V1_TASK_STATES[task.status.state] ?? 'TASK_STATE_UNSPECIFIED',\n message: toV1Message(task.status.message),\n timestamp: task.status.timestamp,\n },\n artifacts: includeArtifacts\n ? task.artifacts?.map((artifact: any) => ({\n artifactId: artifact.artifactId,\n name: artifact.name,\n description: artifact.description,\n parts: artifact.parts?.map(toV1Part),\n metadata: artifact.metadata,\n extensions: artifact.extensions,\n }))\n : undefined,\n history: task.history?.slice(historyLength === undefined ? 0 : -historyLength).map(toV1Message),\n metadata: task.metadata,\n };\n}\n\nfunction toV1Result(result: any, method: string) {\n if (method === 'message/send') {\n return result?.kind === 'message' ? { message: toV1Message(result) } : { task: toV1Task(result) };\n }\n if (method === 'message/stream' || method === 'tasks/resubscribe') {\n if (result?.kind === 'status-update') {\n return {\n statusUpdate: {\n taskId: result.taskId,\n contextId: result.contextId,\n status: {\n state: V1_TASK_STATES[result.status.state] ?? 'TASK_STATE_UNSPECIFIED',\n message: toV1Message(result.status.message),\n timestamp: result.status.timestamp,\n },\n final: result.final,\n metadata: result.metadata,\n },\n };\n }\n if (result?.kind === 'artifact-update') {\n return {\n artifactUpdate: {\n taskId: result.taskId,\n contextId: result.contextId,\n artifact: {\n ...result.artifact,\n parts: result.artifact.parts?.map(toV1Part),\n },\n append: result.append,\n lastChunk: result.lastChunk,\n metadata: result.metadata,\n },\n };\n }\n return result?.kind === 'message' ? { message: toV1Message(result) } : { task: toV1Task(result) };\n }\n if (method === 'tasks/get' || method === 'tasks/cancel') {\n return toV1Task(result);\n }\n return result;\n}\n\nfunction convertV1Response(response: any, method: string) {\n if (!response || !('result' in response)) return response;\n return { ...response, result: toV1Result(response.result, method) };\n}\n\nasync function* convertV1Stream(stream: AsyncIterable<any>, method: string) {\n for await (const response of stream) {\n yield convertV1Response(response, method);\n }\n}\n\nfunction createAgentCardDefaults({\n pushNotifications = false,\n}: {\n pushNotifications?: boolean;\n} = {}): Pick<\n AgentCard,\n | 'protocolVersion'\n | 'additionalInterfaces'\n | 'supportsAuthenticatedExtendedCard'\n | 'security'\n | 'securitySchemes'\n | 'capabilities'\n | 'defaultInputModes'\n | 'defaultOutputModes'\n> {\n return {\n protocolVersion: '0.3.0',\n additionalInterfaces: [],\n supportsAuthenticatedExtendedCard: false,\n security: [],\n securitySchemes: {},\n capabilities: {\n streaming: true,\n pushNotifications,\n stateTransitionHistory: false,\n extensions: [],\n },\n defaultInputModes: ['text/plain'],\n defaultOutputModes: ['text/plain'],\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 pushNotifications = false,\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 pushNotifications?: boolean;\n}): Promise<AgentCard> {\n const agent = await getAgentFromSystem({ mastra, agentId: agentId as string });\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 as string),\n description: convertInstructionsToString(instructions),\n url: executionUrl,\n provider,\n version,\n ...createAgentCardDefaults({ pushNotifications }),\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: ('description' in tool && tool.description) || `Tool: ${toolId}`,\n // Optional fields\n tags: ['tool'],\n })),\n };\n\n const signing = mastra.getServer?.()?.a2a?.agentCardSigning;\n if (!signing) {\n return agentCard;\n }\n\n return signAgentCard({\n agentCard,\n signing,\n });\n}\n\nfunction getA2AExecutionUrl({\n agentId,\n request,\n routePrefix,\n}: {\n agentId: string;\n request?: Request;\n routePrefix?: string;\n}) {\n const executionPath = `${routePrefix ?? ''}/a2a/${agentId}`;\n\n if (!request) {\n return executionPath;\n }\n\n return `${getPublicOrigin(request)}${executionPath}`;\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\nfunction createArtifactUpdate({\n taskId,\n contextId,\n text,\n data,\n}: {\n taskId: string;\n contextId: string;\n text?: string;\n data?: Record<string, unknown>;\n}) {\n const parts = [\n ...(text ? [{ kind: 'text' as const, text }] : []),\n ...(data ? [{ kind: 'data' as const, data }] : []),\n ];\n\n if (parts.length === 0) {\n return undefined;\n }\n\n return {\n kind: 'artifact-update' as const,\n taskId,\n contextId,\n lastChunk: true,\n artifact: {\n artifactId: `${taskId}:response`,\n name: data ? 'response.json' : 'response.txt',\n parts,\n },\n };\n}\n\nfunction createTextChunkArtifactUpdate({\n taskId,\n contextId,\n text,\n append,\n lastChunk,\n}: {\n taskId: string;\n contextId: string;\n text: string;\n append?: boolean;\n lastChunk?: boolean;\n}) {\n return {\n kind: 'artifact-update' as const,\n taskId,\n contextId,\n ...(append ? { append: true } : {}),\n ...(lastChunk !== undefined ? { lastChunk } : {}),\n artifact: {\n artifactId: `${taskId}:response:text`,\n name: 'response.txt',\n parts: [{ kind: 'text' as const, text }],\n },\n };\n}\n\nfunction createDataArtifactUpdate({\n taskId,\n contextId,\n data,\n lastChunk,\n}: {\n taskId: string;\n contextId: string;\n data: Record<string, unknown>;\n lastChunk?: boolean;\n}) {\n return {\n kind: 'artifact-update' as const,\n taskId,\n contextId,\n ...(lastChunk !== undefined ? { lastChunk } : {}),\n artifact: {\n artifactId: `${taskId}:response:data`,\n name: 'response.json',\n parts: [{ kind: 'data' as const, data }],\n },\n };\n}\n\n/**\n * Task metadata keys that store the resume bookkeeping for a suspended agent\n * run so a follow-up message for an `input-required` task can resume it.\n */\nconst SUSPENDED_RUN_ID_METADATA_KEY = 'suspendedRunId';\nconst SUSPENDED_TOOL_CALL_ID_METADATA_KEY = 'suspendedToolCallId';\nconst SUSPENDED_REQUIRES_APPROVAL_METADATA_KEY = 'suspendedRequiresApproval';\n\nfunction toJsonSafe(value: unknown): unknown {\n if (value === undefined) {\n return undefined;\n }\n\n try {\n return JSON.parse(JSON.stringify(value));\n } catch {\n return undefined;\n }\n}\n\n/**\n * Builds the `input-required` status update for a suspended agent run.\n * The status message carries a human-readable prompt plus a data part with\n * the structured suspend payload and resume schema so A2A clients can\n * render/collect the required input (HITL per the A2A spec).\n */\nfunction createInputRequiredStatusUpdate({\n taskId,\n contextId,\n suspendPayload,\n resumeSchema,\n logger,\n}: {\n taskId: string;\n contextId: string;\n suspendPayload?: unknown;\n resumeSchema?: unknown;\n logger?: IMastraLogger;\n}): Omit<TaskStatus, 'timestamp'> {\n // Suspension payloads are `{ toolCallId, toolName, suspendPayload, ... }`\n // where the nested `suspendPayload` is the tool's own suspend() data. Use a\n // `message` string from either level as the human-readable prompt.\n const extractMessage = (value: unknown): string | undefined => {\n if (!value || typeof value !== 'object') {\n return undefined;\n }\n\n const messageValue = (value as { message?: unknown }).message;\n return typeof messageValue === 'string' && messageValue.length > 0 ? messageValue : undefined;\n };\n const promptText =\n extractMessage(suspendPayload) ??\n extractMessage((suspendPayload as { suspendPayload?: unknown } | undefined)?.suspendPayload) ??\n 'Additional input is required to continue this task.';\n\n const safeSuspendPayload = toJsonSafe(suspendPayload);\n const safeResumeSchema = toJsonSafe(resumeSchema);\n if (suspendPayload !== undefined && safeSuspendPayload === undefined) {\n logger?.warn(`[Task ${taskId}] Suspend payload is not JSON-serializable and was omitted from the status message.`);\n }\n if (resumeSchema !== undefined && safeResumeSchema === undefined) {\n logger?.warn(`[Task ${taskId}] Resume schema is not JSON-serializable and was omitted from the status message.`);\n }\n const data: Record<string, unknown> = {\n ...(safeSuspendPayload !== undefined ? { suspendPayload: safeSuspendPayload } : {}),\n ...(safeResumeSchema !== undefined ? { resumeSchema: safeResumeSchema } : {}),\n };\n\n return {\n state: 'input-required',\n message: {\n messageId: crypto.randomUUID(),\n kind: 'message',\n role: 'agent',\n taskId,\n contextId,\n parts: [\n { kind: 'text', text: promptText },\n ...(Object.keys(data).length > 0 ? [{ kind: 'data' as const, data }] : []),\n ],\n },\n };\n}\n\n/**\n * Extracts resume data from a follow-up message for an `input-required` task.\n * Prefers a structured data part; falls back to parsing the text as JSON\n * (the Mastra A2A client serializes structured resume data as JSON text),\n * and finally to the raw text.\n */\nfunction extractResumeData(message: MessageSendParams['message']): unknown {\n const dataPart = message.parts.find(part => part.kind === 'data');\n if (dataPart && 'data' in dataPart) {\n return dataPart.data;\n }\n\n const text = message.parts\n .filter((part): part is Extract<(typeof message.parts)[number], { kind: 'text' }> => part.kind === 'text')\n .map(part => part.text)\n .join('\\n')\n .trim();\n\n if (!text) {\n return undefined;\n }\n\n try {\n return JSON.parse(text);\n } catch {\n return text;\n }\n}\n\nfunction getSuspendedRunId(task: Task | undefined | null): string | undefined {\n const value = task?.metadata?.[SUSPENDED_RUN_ID_METADATA_KEY];\n return typeof value === 'string' ? value : undefined;\n}\n\n/**\n * Approval suspensions (`requireApproval`) carry `{ toolCallId, toolName, args, resumeSchema }`\n * without a nested `suspendPayload`, while `suspend()` suspensions include one\n * (see `ToolCallApprovalPayload` / `ToolCallSuspendedPayload` in @mastra/core).\n */\nfunction isApprovalSuspension(suspendPayload: unknown): boolean {\n if (!suspendPayload || typeof suspendPayload !== 'object') {\n return false;\n }\n\n const payload = suspendPayload as { toolCallId?: unknown; suspendPayload?: unknown };\n return typeof payload.toolCallId === 'string' && payload.suspendPayload === undefined;\n}\n\nconst APPROVAL_AFFIRMATIVE_PATTERN = /^(y|yes|approve|approved|ok|okay|confirm|confirmed|true)[.!]?$/i;\nconst APPROVAL_NEGATIVE_PATTERN = /^(n|no|decline|declined|deny|denied|reject|rejected|false)[.!]?$/i;\n\n/**\n * Approval resumes are driven by `resumeData.approved` in the agentic loop, so\n * plain-text replies from A2A clients (\"yes\", \"no\") are coerced to the\n * `{ approved }` shape. Unrecognized values pass through unchanged.\n */\nfunction normalizeResumeData(resumeData: unknown, requiresApproval: boolean): unknown {\n if (!requiresApproval || typeof resumeData !== 'string') {\n return resumeData;\n }\n\n const text = resumeData.trim();\n if (APPROVAL_AFFIRMATIVE_PATTERN.test(text)) {\n return { approved: true };\n }\n if (APPROVAL_NEGATIVE_PATTERN.test(text)) {\n return { approved: false };\n }\n\n return resumeData;\n}\n\n/**\n * Marks a task `input-required` for a suspended agent run and records the\n * resume bookkeeping (runId, toolCallId, approval flag) in task metadata.\n * Shared by the send and stream paths so both report identical suspensions.\n */\nfunction applySuspensionToTask({\n task,\n suspendPayload,\n resumeSchema,\n runId,\n logger,\n}: {\n task: Task;\n suspendPayload?: unknown;\n resumeSchema?: unknown;\n runId: string;\n logger?: IMastraLogger;\n}): Task {\n const nextTask = applyUpdateToTask(\n task,\n createInputRequiredStatusUpdate({\n taskId: task.id,\n contextId: task.contextId,\n suspendPayload,\n resumeSchema,\n logger,\n }),\n );\n\n const payload = suspendPayload as { toolCallId?: unknown } | undefined;\n nextTask.metadata = {\n ...clearSuspensionMetadata(nextTask.metadata),\n [SUSPENDED_RUN_ID_METADATA_KEY]: runId,\n ...(typeof payload?.toolCallId === 'string' ? { [SUSPENDED_TOOL_CALL_ID_METADATA_KEY]: payload.toolCallId } : {}),\n ...(isApprovalSuspension(suspendPayload) ? { [SUSPENDED_REQUIRES_APPROVAL_METADATA_KEY]: true } : {}),\n };\n\n return nextTask;\n}\n\n/** Removes the suspension bookkeeping from task metadata once the run completes. */\nfunction clearSuspensionMetadata(metadata: Record<string, unknown> | undefined): Record<string, unknown> {\n const {\n [SUSPENDED_RUN_ID_METADATA_KEY]: _runId,\n [SUSPENDED_TOOL_CALL_ID_METADATA_KEY]: _toolCallId,\n [SUSPENDED_REQUIRES_APPROVAL_METADATA_KEY]: _requiresApproval,\n ...rest\n } = metadata ?? {};\n return rest;\n}\n\ninterface ResumeClaim {\n runId: string;\n toolCallId?: string;\n requiresApproval: boolean;\n}\n\n/**\n * Claims an interrupted task for resume by transitioning it to `working`.\n * `loadWithVersion` and the body of `InMemoryTaskStore.save` both execute\n * synchronously, so two concurrent follow-up messages cannot both claim (and\n * double-resume) the same suspended run.\n */\nasync function claimInterruptedTaskResume({\n taskStore,\n agentId,\n taskId,\n}: {\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n}): Promise<ResumeClaim | undefined> {\n const snapshot = taskStore.loadWithVersion({ agentId, taskId });\n if (snapshot?.task.status.state !== 'input-required' && snapshot?.task.status.state !== 'auth-required') {\n return undefined;\n }\n\n const task = snapshot.task;\n const toolCallId = task.metadata?.[SUSPENDED_TOOL_CALL_ID_METADATA_KEY];\n const claim: ResumeClaim = {\n runId: getSuspendedRunId(task) ?? taskId,\n ...(typeof toolCallId === 'string' ? { toolCallId } : {}),\n requiresApproval: task.metadata?.[SUSPENDED_REQUIRES_APPROVAL_METADATA_KEY] === true,\n };\n\n try {\n await taskStore.save({\n agentId,\n data: applyUpdateToTask(task, { state: 'working' }),\n expectedVersion: snapshot.version,\n });\n } catch (error) {\n if (error instanceof TaskStoreVersionConflictError) {\n return undefined;\n }\n throw error;\n }\n\n return claim;\n}\n\nasync function waitForClaimedResume({\n taskStore,\n agentId,\n taskId,\n}: {\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n}): Promise<Task> {\n let snapshot = taskStore.loadWithVersion({ agentId, taskId });\n if (!snapshot) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n while (snapshot.task.status.state === 'working') {\n snapshot = await taskStore.waitForNextUpdate({\n agentId,\n taskId,\n afterVersion: snapshot.version,\n });\n }\n\n return snapshot.task;\n}\n\nfunction resolvePushNotificationPair({\n pushNotificationStore,\n pushNotificationSender,\n}: {\n pushNotificationStore?: InMemoryPushNotificationStore;\n pushNotificationSender?: DefaultPushNotificationSender;\n}) {\n if (pushNotificationSender) {\n return {\n pushNotificationStore: pushNotificationSender.getStore(),\n pushNotificationSender,\n };\n }\n\n if (pushNotificationStore) {\n return {\n pushNotificationStore,\n pushNotificationSender: new DefaultPushNotificationSender(pushNotificationStore),\n };\n }\n\n return {\n pushNotificationStore: defaultPushNotificationStore,\n pushNotificationSender: defaultPushNotificationSender,\n };\n}\n\nfunction createTaskPushNotificationConfig(\n taskId: string,\n pushNotificationConfig: TaskPushNotificationConfig['pushNotificationConfig'],\n): TaskPushNotificationConfig {\n return {\n taskId,\n pushNotificationConfig: {\n ...pushNotificationConfig,\n id: pushNotificationConfig.id ?? taskId,\n },\n };\n}\n\nfunction shouldSendPushNotification(previousTask: Task | undefined, nextTask: Task) {\n const pushTriggerStates: TaskState[] = [\n 'completed',\n 'failed',\n 'canceled',\n 'rejected',\n 'input-required',\n 'auth-required',\n ];\n\n if (!pushTriggerStates.includes(nextTask.status.state)) {\n return false;\n }\n\n return previousTask?.status.state !== nextTask.status.state;\n}\n\nfunction createLinkedAbortController(abortSignal?: AbortSignal) {\n const controller = new AbortController();\n\n if (!abortSignal) {\n return { controller, cleanup: () => {} };\n }\n\n const abortFromSignal = () => {\n if (!controller.signal.aborted) {\n controller.abort(abortSignal.reason);\n }\n };\n\n if (abortSignal.aborted) {\n abortFromSignal();\n } else {\n abortSignal.addEventListener('abort', abortFromSignal, { once: true });\n }\n\n return {\n controller,\n cleanup: () => abortSignal.removeEventListener('abort', abortFromSignal),\n };\n}\n\nasync function saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender,\n previousTask,\n nextTask,\n agentId,\n expectedVersion,\n logger,\n}: {\n taskStore: InMemoryTaskStore;\n pushNotificationSender: DefaultPushNotificationSender;\n previousTask?: Task;\n nextTask: Task;\n agentId: string;\n expectedVersion?: number;\n logger?: IMastraLogger;\n}): Promise<Task> {\n const storedTask = await taskStore.save({ agentId, data: nextTask, expectedVersion, skipIfCanceled: true });\n\n if (storedTask.status.state === 'canceled' && nextTask.status.state !== 'canceled') {\n return storedTask;\n }\n\n if (!shouldSendPushNotification(previousTask, storedTask)) {\n return storedTask;\n }\n\n void pushNotificationSender\n .sendNotifications({\n agentId,\n task: storedTask,\n logger,\n })\n .catch(error => {\n logger?.error('Failed to schedule A2A push notification', error);\n });\n\n return storedTask;\n}\n\nfunction extractFullStreamTextDelta(value: unknown): string | null {\n if (typeof value !== 'object' || value === null || !('type' in value)) {\n return null;\n }\n\n const chunk = value as {\n type: string;\n payload?: { text?: string; delta?: string };\n textDelta?: string;\n text?: string;\n delta?: string;\n };\n\n switch (chunk.type) {\n case 'text-delta':\n if (typeof chunk.payload?.text === 'string') {\n return chunk.payload.text;\n }\n\n if (typeof chunk.payload?.delta === 'string') {\n return chunk.payload.delta;\n }\n\n if (typeof chunk.textDelta === 'string') {\n return chunk.textDelta;\n }\n\n if (typeof chunk.delta === 'string') {\n return chunk.delta;\n }\n\n if (typeof chunk.text === 'string') {\n return chunk.text;\n }\n\n return null;\n default:\n return null;\n }\n}\n\nfunction extractFinalStructuredObject(value: unknown): Record<string, unknown> | undefined {\n if (typeof value !== 'object' || value === null || !('type' in value)) {\n return undefined;\n }\n\n const chunk = value as {\n type: string;\n object?: unknown;\n payload?: { object?: unknown };\n };\n\n if (chunk.type !== 'object-result') {\n return undefined;\n }\n\n const objectValue = chunk.payload?.object ?? chunk.object;\n return objectValue && typeof objectValue === 'object' ? (objectValue as Record<string, unknown>) : undefined;\n}\n\nfunction isSuspensionChunk(value: unknown): boolean {\n if (typeof value !== 'object' || value === null || !('type' in value)) {\n return false;\n }\n\n const type = (value as { type: string }).type;\n return type === 'tool-call-suspended' || type === 'tool-call-approval';\n}\n\nfunction artifactIdentity(artifact: Artifact) {\n return artifact.artifactId || artifact.name;\n}\n\nfunction areArtifactPartsEqual(left: Artifact['parts'], right: Artifact['parts']) {\n if (left === right) {\n return true;\n }\n\n if (left.length !== right.length) {\n return false;\n }\n\n return left.every((part, index) => {\n const other = right[index];\n if (!other || part.kind !== other.kind) {\n return false;\n }\n\n if (part.kind === 'text' && other.kind === 'text') {\n return part.text === other.text;\n }\n\n return part === other;\n });\n}\n\nfunction areArtifactsEqual(left: Artifact | undefined, right: Artifact | undefined) {\n if (left === right) {\n return true;\n }\n\n if (!left || !right) {\n return left === right;\n }\n\n return (\n left.artifactId === right.artifactId &&\n left.name === right.name &&\n left.description === right.description &&\n left.metadata === right.metadata &&\n areArtifactPartsEqual(left.parts, right.parts)\n );\n}\n\nfunction areStatusMessagePartsEqual(\n left: NonNullable<Task['status']['message']>['parts'],\n right: NonNullable<Task['status']['message']>['parts'],\n) {\n return left === right || isDeepStrictEqual(left, right);\n}\n\nfunction areStatusMessagesEqual(left: Task['status']['message'], right: Task['status']['message']) {\n if (left === right) {\n return true;\n }\n\n if (!left || !right) {\n return left === right;\n }\n\n return (\n left.messageId === right.messageId &&\n left.kind === right.kind &&\n left.role === right.role &&\n left.contextId === right.contextId &&\n left.taskId === right.taskId &&\n isDeepStrictEqual(left.referenceTaskIds, right.referenceTaskIds) &&\n isDeepStrictEqual(left.extensions, right.extensions) &&\n isDeepStrictEqual(left.metadata, right.metadata) &&\n areStatusMessagePartsEqual(left.parts, right.parts)\n );\n}\n\nfunction didTaskStatusChange(previous: Task, next: Task) {\n return (\n previous.status.state !== next.status.state ||\n previous.status.timestamp !== next.status.timestamp ||\n !areStatusMessagesEqual(previous.status.message, next.status.message)\n );\n}\n\nfunction getTaskArtifactUpdates({ previous, next }: { previous: Task; next: Task }) {\n const previousArtifacts = new Map((previous.artifacts ?? []).map(artifact => [artifactIdentity(artifact), artifact]));\n const changedArtifacts = (next.artifacts ?? []).filter(artifact => {\n const priorArtifact = previousArtifacts.get(artifactIdentity(artifact));\n return !priorArtifact || !areArtifactsEqual(priorArtifact, artifact);\n });\n\n return changedArtifacts.map((artifact, index) => ({\n kind: 'artifact-update' as const,\n taskId: next.id,\n contextId: next.contextId,\n lastChunk: isTerminalTaskState(next.status.state) && index === changedArtifacts.length - 1,\n artifact: structuredClone(artifact),\n }));\n}\n\nasync function executeMessageSend({\n requestId,\n message,\n metadata,\n currentData,\n taskStore,\n pushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n resume,\n}: {\n requestId: number | string;\n message: MessageSendParams['message'];\n metadata: MessageSendParams['metadata'];\n currentData: Task;\n taskStore: InMemoryTaskStore;\n pushNotificationSender: DefaultPushNotificationSender;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n resume?: ResumeClaim;\n}) {\n const { contextId } = message;\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 = resume\n ? await agent.resumeGenerate(normalizeResumeData(extractResumeData(message), resume.requiresApproval), {\n runId: resume.runId,\n ...(resume.toolCallId ? { toolCallId: resume.toolCallId } : {}),\n requestContext,\n })\n : await agent.generate([convertToCoreMessage(message)], {\n runId: currentData.id,\n requestContext,\n ...(contextId ? { threadId: contextId, resourceId } : {}),\n });\n\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask?.status.state === 'canceled') {\n return createSuccessResponse(requestId, latestTask);\n }\n currentData = latestTask ?? currentData;\n\n const artifactUpdate = createArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: result.text,\n data: result.object as Record<string, unknown> | undefined,\n });\n\n if (artifactUpdate) {\n currentData = applyUpdateToTask(currentData, artifactUpdate);\n }\n\n // Agent suspensions (tool approval, suspend()) surface as the A2A\n // `input-required` state so clients can provide the missing input and\n // continue the task (HITL per the A2A spec).\n if (result.finishReason === 'suspended') {\n const previousTask = currentData;\n currentData = applySuspensionToTask({\n task: currentData,\n suspendPayload: result.suspendPayload,\n resumeSchema: result.resumeSchema,\n runId: result.runId ?? currentData.id,\n logger,\n });\n\n await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\n\n return createSuccessResponse(requestId, currentData);\n }\n\n const previousTask = currentData;\n currentData = applyUpdateToTask(currentData, {\n state: 'completed',\n message: undefined,\n });\n\n // Store execution details in task metadata\n currentData.metadata = {\n ...clearSuspensionMetadata(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 saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\n } catch (handlerError) {\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask?.status.state === 'canceled') {\n return createSuccessResponse(requestId, latestTask);\n }\n currentData = latestTask ?? currentData;\n\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 const previousTask = currentData;\n currentData = applyUpdateToTask(currentData, failureStatusUpdate);\n\n try {\n await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\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 handleMessageSend({\n requestId,\n params,\n taskStore,\n pushNotificationStore,\n pushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n}: {\n requestId: number | string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n pushNotificationSender?: DefaultPushNotificationSender;\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 const existingTask = taskStore.loadWithVersion({ agentId, taskId })?.task;\n if (message.taskId && !existingTask) {\n throw MastraA2AError.taskNotFound(message.taskId);\n }\n if (params.configuration?.blocking === false && existingTask?.status.state === 'working') {\n return createSuccessResponse(requestId, existingTask);\n }\n\n if (existingTask?.status.state === 'working' && getSuspendedRunId(existingTask)) {\n const task = await waitForClaimedResume({ taskStore, agentId, taskId });\n return createSuccessResponse(requestId, task);\n }\n\n // A follow-up message for an interrupted task resumes the suspended agent\n // run instead of starting a fresh generation (A2A HITL continuation).\n // The claim transitions the task to `working` synchronously so concurrent\n // follow-ups cannot double-resume the same run.\n const wasInterrupted = isInterruptedTaskState(existingTask?.status.state);\n const resume = await claimInterruptedTaskResume({ taskStore, agentId, taskId });\n if (wasInterrupted && !resume) {\n const task = await waitForClaimedResume({ taskStore, agentId, taskId });\n return createSuccessResponse(requestId, task);\n }\n const {\n pushNotificationStore: resolvedPushNotificationStore,\n pushNotificationSender: resolvedPushNotificationSender,\n } = resolvePushNotificationPair({\n pushNotificationStore,\n pushNotificationSender,\n });\n\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n if (params.configuration?.pushNotificationConfig) {\n resolvedPushNotificationStore.set({\n agentId,\n config: createTaskPushNotificationConfig(taskId, params.configuration.pushNotificationConfig),\n });\n }\n\n currentData = applyUpdateToTask(currentData, {\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 await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n\n const execution = executeMessageSend({\n requestId,\n message,\n metadata,\n currentData,\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n resume,\n });\n\n if (params.configuration?.blocking === false) {\n void execution.catch(error => {\n logger?.error(`Unexpected background failure for A2A task ${currentData.id}`, error);\n });\n return createSuccessResponse(requestId, currentData);\n }\n\n return execution;\n}\n\nexport async function handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n}: {\n requestId: number | 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 function handleTaskList({\n requestId,\n taskStore,\n agentId,\n params,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n params: Record<string, any>;\n}) {\n const requestedPageSize = params.pageSize ?? 50;\n const offset = params.pageToken ? Number.parseInt(params.pageToken, 10) : 0;\n const start = Number.isFinite(offset) && offset >= 0 ? offset : 0;\n const status =\n typeof params.status === 'string'\n ? params.status\n .replace(/^TASK_STATE_/, '')\n .toLowerCase()\n .replaceAll('_', '-')\n : undefined;\n const timestampAfter = params.statusTimestampAfter ? Date.parse(params.statusTimestampAfter) : undefined;\n\n const matchingTasks = taskStore\n .list({ agentId })\n .filter(task => !params.contextId || task.contextId === params.contextId)\n .filter(task => !status || task.status.state === status)\n .filter(\n task =>\n !timestampAfter || (task.status.timestamp !== undefined && Date.parse(task.status.timestamp) >= timestampAfter),\n );\n const tasks = matchingTasks.slice(start, start + requestedPageSize).map(task =>\n toV1Task(task, {\n includeArtifacts: params.includeArtifacts ?? false,\n historyLength: params.historyLength,\n }),\n );\n const nextOffset = start + tasks.length;\n\n return createSuccessResponse(requestId, {\n tasks,\n nextPageToken: nextOffset < matchingTasks.length ? String(nextOffset) : '',\n pageSize: requestedPageSize,\n totalSize: matchingTasks.length,\n });\n}\n\nasync function loadTaskOrThrow({\n taskStore,\n agentId,\n taskId,\n}: {\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 task;\n}\n\nexport async function handleSetTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore,\n agentId,\n params,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n agentId: string;\n params: TaskPushNotificationConfig;\n}) {\n await loadTaskOrThrow({\n taskStore,\n agentId,\n taskId: params.taskId,\n });\n\n const { pushNotificationStore: resolvedPushNotificationStore } = resolvePushNotificationPair({\n pushNotificationStore,\n });\n const config = resolvedPushNotificationStore.set({\n agentId,\n config: createTaskPushNotificationConfig(params.taskId, params.pushNotificationConfig),\n });\n\n return createSuccessResponse(requestId, config);\n}\n\nexport async function handleGetTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore,\n agentId,\n params,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n agentId: string;\n params: GetTaskPushNotificationConfigParams;\n}) {\n await loadTaskOrThrow({\n taskStore,\n agentId,\n taskId: params.id,\n });\n\n const { pushNotificationStore: resolvedPushNotificationStore } = resolvePushNotificationPair({\n pushNotificationStore,\n });\n const config = resolvedPushNotificationStore.get({\n agentId,\n params,\n });\n\n if (!config) {\n throw MastraA2AError.invalidParams(\n `Push notification config not found: ${params.pushNotificationConfigId ?? params.id}`,\n );\n }\n\n return createSuccessResponse(requestId, config);\n}\n\nexport async function handleListTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore,\n agentId,\n params,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n agentId: string;\n params: ListTaskPushNotificationConfigParams;\n}) {\n await loadTaskOrThrow({\n taskStore,\n agentId,\n taskId: params.id,\n });\n\n const { pushNotificationStore: resolvedPushNotificationStore } = resolvePushNotificationPair({\n pushNotificationStore,\n });\n const configs = resolvedPushNotificationStore.list({\n agentId,\n params,\n });\n\n return createSuccessResponse(requestId, configs);\n}\n\nexport async function handleDeleteTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore,\n agentId,\n params,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n agentId: string;\n params: DeleteTaskPushNotificationConfigParams;\n}) {\n await loadTaskOrThrow({\n taskStore,\n agentId,\n taskId: params.id,\n });\n\n const { pushNotificationStore: resolvedPushNotificationStore } = resolvePushNotificationPair({\n pushNotificationStore,\n });\n const deleted = resolvedPushNotificationStore.delete({\n agentId,\n params,\n });\n\n if (!deleted) {\n throw MastraA2AError.invalidParams(`Push notification config not found: ${params.pushNotificationConfigId}`);\n }\n\n return createSuccessResponse(requestId, null);\n}\n\nexport async function* handleMessageStream({\n requestId,\n params,\n taskStore,\n pushNotificationStore,\n pushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n abortSignal,\n}: {\n requestId: number | string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n pushNotificationSender?: DefaultPushNotificationSender;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n abortSignal?: AbortSignal;\n}) {\n validateMessageSendParams(params);\n\n const { message, metadata } = params;\n const { contextId } = message;\n const taskId = message.taskId || crypto.randomUUID();\n if (message.taskId && !taskStore.loadWithVersion({ agentId, taskId })) {\n throw MastraA2AError.taskNotFound(message.taskId);\n }\n\n // A follow-up message for an interrupted task resumes the suspended agent\n // run instead of starting a fresh generation (A2A HITL continuation).\n // The claim transitions the task to `working` synchronously so concurrent\n // follow-ups cannot double-resume the same run.\n const resume = await claimInterruptedTaskResume({ taskStore, agentId, taskId });\n\n const {\n pushNotificationStore: resolvedPushNotificationStore,\n pushNotificationSender: resolvedPushNotificationSender,\n } = resolvePushNotificationPair({\n pushNotificationStore,\n pushNotificationSender,\n });\n\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n if (params.configuration?.pushNotificationConfig) {\n resolvedPushNotificationStore.set({\n agentId,\n config: createTaskPushNotificationConfig(taskId, params.configuration.pushNotificationConfig),\n });\n }\n\n currentData = applyUpdateToTask(currentData, {\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 await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n\n const { controller: taskAbortController, cleanup: cleanupLinkedAbortController } =\n createLinkedAbortController(abortSignal);\n const unregisterTaskAbortController = taskStore.registerAbortController({\n agentId,\n taskId,\n controller: taskAbortController,\n });\n\n try {\n yield createSuccessResponse(requestId, currentData);\n\n const resourceId = (metadata?.resourceId as string) ?? (message.metadata?.resourceId as string) ?? agentId;\n const result = resume\n ? await agent.resumeStream(normalizeResumeData(extractResumeData(message), resume.requiresApproval), {\n runId: resume.runId,\n ...(resume.toolCallId ? { toolCallId: resume.toolCallId } : {}),\n requestContext,\n abortSignal: taskAbortController.signal,\n })\n : await agent.stream([convertToCoreMessage(message)], {\n runId: taskId,\n requestContext,\n abortSignal: taskAbortController.signal,\n ...(contextId ? { threadId: contextId, resourceId } : {}),\n });\n let sawTextArtifact = false;\n let pendingTextChunk: string | undefined;\n let structuredData: Record<string, unknown> | undefined;\n let suspended = false;\n let streamCanceled = false;\n\n for await (const chunk of result.fullStream) {\n if (taskAbortController.signal.aborted) {\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask) {\n currentData = latestTask;\n }\n streamCanceled = true;\n break;\n }\n\n if (isSuspensionChunk(chunk)) {\n suspended = true;\n continue;\n }\n\n const textDelta = extractFullStreamTextDelta(chunk);\n if (textDelta !== null) {\n if (!pendingTextChunk) {\n pendingTextChunk = textDelta;\n continue;\n }\n\n const textUpdate = createTextChunkArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: pendingTextChunk,\n append: sawTextArtifact,\n lastChunk: false,\n });\n\n currentData = applyUpdateToTask(currentData, textUpdate);\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n if (currentData.status.state === 'canceled') {\n streamCanceled = true;\n break;\n }\n yield createSuccessResponse(requestId, textUpdate);\n\n sawTextArtifact = true;\n pendingTextChunk = textDelta;\n continue;\n }\n\n const finalStructuredObject = extractFinalStructuredObject(chunk);\n if (finalStructuredObject) {\n structuredData = finalStructuredObject;\n }\n }\n\n if (!streamCanceled && taskAbortController.signal.aborted) {\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask) {\n currentData = latestTask;\n }\n streamCanceled = true;\n }\n\n if (streamCanceled && abortSignal?.aborted && currentData.status.state !== 'canceled') {\n const previousTask = currentData;\n currentData = applyUpdateToTask(currentData, {\n state: 'canceled',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [{ kind: 'text', text: 'Task canceled because the request was aborted.' }],\n kind: 'message',\n },\n });\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\n }\n\n if (!streamCanceled && suspended) {\n // Agent suspensions (tool approval, suspend()) surface as the A2A\n // `input-required` state so clients can provide the missing input and\n // continue the task (HITL per the A2A spec). Skip the completed path\n // and avoid awaiting result promises that only settle on completion.\n if (pendingTextChunk) {\n const textUpdate = createTextChunkArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: pendingTextChunk,\n append: sawTextArtifact,\n lastChunk: true,\n });\n\n currentData = applyUpdateToTask(currentData, textUpdate);\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n if (currentData.status.state === 'canceled') {\n streamCanceled = true;\n } else {\n yield createSuccessResponse(requestId, textUpdate);\n }\n }\n\n const suspensionTask = currentData;\n currentData = applySuspensionToTask({\n task: currentData,\n suspendPayload: await result.suspendPayload,\n resumeSchema: await result.resumeSchema,\n runId: result.runId ?? currentData.id,\n logger,\n });\n\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n previousTask: suspensionTask,\n nextTask: currentData,\n agentId,\n logger,\n });\n if (currentData.status.state === 'canceled') {\n streamCanceled = true;\n }\n }\n\n if (!streamCanceled && !suspended) {\n structuredData ??= (await result.object) as Record<string, unknown> | undefined;\n\n if (!pendingTextChunk && !sawTextArtifact) {\n const finalText = await result.text;\n if (finalText) {\n pendingTextChunk = finalText;\n }\n }\n\n if (pendingTextChunk) {\n const textUpdate = createTextChunkArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: pendingTextChunk,\n append: sawTextArtifact,\n lastChunk: !structuredData,\n });\n\n currentData = applyUpdateToTask(currentData, textUpdate);\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n if (currentData.status.state === 'canceled') {\n streamCanceled = true;\n } else {\n yield createSuccessResponse(requestId, textUpdate);\n }\n\n sawTextArtifact = true;\n pendingTextChunk = undefined;\n }\n\n if (!streamCanceled && structuredData) {\n const dataUpdate = createDataArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n data: structuredData,\n lastChunk: true,\n });\n\n currentData = applyUpdateToTask(currentData, dataUpdate);\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n nextTask: currentData,\n agentId,\n logger,\n });\n if (currentData.status.state === 'canceled') {\n streamCanceled = true;\n } else {\n yield createSuccessResponse(requestId, dataUpdate);\n }\n }\n\n if (!streamCanceled) {\n const previousTask = currentData;\n const completedTask = applyUpdateToTask(currentData, {\n state: 'completed',\n message: undefined,\n });\n\n completedTask.metadata = {\n ...clearSuspensionMetadata(completedTask.metadata),\n execution: {\n toolCalls: await result.toolCalls,\n toolResults: await result.toolResults,\n usage: await result.usage,\n finishReason: await result.finishReason,\n },\n };\n\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n previousTask,\n nextTask: completedTask,\n agentId,\n logger,\n });\n }\n }\n } catch (handlerError) {\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask?.status.state === 'canceled') {\n currentData = latestTask;\n } else if (taskAbortController.signal.aborted) {\n currentData = latestTask ?? currentData;\n if (abortSignal?.aborted) {\n const previousTask = currentData;\n currentData = applyUpdateToTask(currentData, {\n state: 'canceled',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [{ kind: 'text', text: 'Task canceled because the request was aborted.' }],\n kind: 'message',\n },\n });\n\n try {\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\n } catch (saveError) {\n // @ts-expect-error saveError is an unknown error\n logger?.error(`Failed to save task ${currentData.id} after request abort:`, saveError?.message);\n }\n }\n } else {\n currentData = latestTask ?? currentData;\n const previousTask = currentData;\n currentData = applyUpdateToTask(currentData, {\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\n try {\n currentData = await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n previousTask,\n nextTask: currentData,\n agentId,\n logger,\n });\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 } finally {\n unregisterTaskAbortController();\n cleanupLinkedAbortController();\n }\n\n const latestTask = await taskStore.load({ agentId, taskId: currentData.id });\n if (latestTask?.status.state === 'canceled') {\n currentData = latestTask;\n }\n\n yield createSuccessResponse(requestId, {\n kind: 'status-update',\n taskId: currentData.id,\n contextId: currentData.contextId,\n status: currentData.status,\n final: true,\n });\n}\n\nexport async function* handleTaskResubscribe({\n requestId,\n taskStore,\n agentId,\n taskId,\n abortSignal,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n abortSignal?: AbortSignal;\n}) {\n let snapshot = taskStore.loadWithVersion({ agentId, taskId });\n\n if (!snapshot) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n yield createSuccessResponse(requestId, snapshot.task);\n\n // Interrupted states produce no further updates until the client sends a\n // follow-up message, so the event stream ends here.\n if (isTerminalTaskState(snapshot.task.status.state) || isInterruptedTaskState(snapshot.task.status.state)) {\n return;\n }\n\n while (true) {\n const { task, version } = snapshot;\n const nextUpdate = await taskStore.waitForNextUpdate({\n agentId,\n taskId,\n afterVersion: version,\n signal: abortSignal,\n });\n\n for (const artifactUpdate of getTaskArtifactUpdates({ previous: task, next: nextUpdate.task })) {\n yield createSuccessResponse(requestId, artifactUpdate);\n }\n\n const nextState = nextUpdate.task.status.state;\n const streamEnded = isTerminalTaskState(nextState) || isInterruptedTaskState(nextState);\n\n if (didTaskStatusChange(task, nextUpdate.task)) {\n yield createSuccessResponse(requestId, {\n kind: 'status-update',\n taskId: nextUpdate.task.id,\n contextId: nextUpdate.task.contextId,\n status: nextUpdate.task.status,\n final: streamEnded,\n });\n }\n\n if (streamEnded) {\n return;\n }\n\n snapshot = nextUpdate;\n }\n}\n\nfunction getTaskIdFromParams(\n params: MessageSendParams | TaskQueryParams | TaskIdParams | Record<string, unknown> | undefined,\n) {\n if (!params || typeof params !== 'object') {\n return undefined;\n }\n\n if ('id' in params && typeof params.id === 'string') {\n return params.id;\n }\n\n if ('taskId' in params && typeof params.taskId === 'string') {\n return params.taskId;\n }\n\n if ('message' in params && params.message && typeof params.message === 'object' && 'taskId' in params.message) {\n return typeof params.message.taskId === 'string' ? params.message.taskId : undefined;\n }\n\n return undefined;\n}\n\nfunction isAsyncIterable(value: unknown): value is AsyncIterable<unknown> {\n return !!value && typeof value === 'object' && Symbol.asyncIterator in value;\n}\n\nfunction createA2AJsonResponse(payload: unknown): Response {\n return Response.json(payload);\n}\n\nfunction createA2ASSEResponse(payload: AsyncIterable<unknown> | unknown): Response {\n const encoder = new TextEncoder();\n const iterable = isAsyncIterable(payload)\n ? payload\n : (async function* () {\n yield payload;\n })();\n\n const stream = new ReadableStream<Uint8Array>({\n async start(controller) {\n try {\n for await (const chunk of iterable) {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify(chunk)}\\n\\n`));\n }\n } catch (error) {\n controller.error(error);\n return;\n }\n\n controller.close();\n },\n });\n\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream; charset=utf-8',\n 'Cache-Control': 'no-cache',\n Connection: 'keep-alive',\n 'X-Accel-Buffering': 'no',\n },\n });\n}\n\nexport async function handleTaskCancel({\n requestId,\n taskStore,\n pushNotificationSender,\n agentId,\n taskId,\n logger,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n pushNotificationSender?: DefaultPushNotificationSender;\n agentId: string;\n taskId: string;\n logger?: IMastraLogger;\n}) {\n for (let attempt = 0; attempt < 2; attempt++) {\n const snapshot = taskStore.loadWithVersion({ agentId, taskId });\n const data = snapshot?.task;\n\n if (!data) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n if (isTerminalTaskState(data.status.state)) {\n logger?.info(`Task ${taskId} already in final state ${data.status.state}, cannot cancel.`);\n throw MastraA2AError.taskNotCancelable(taskId);\n }\n\n taskStore.activeCancellations.add(taskId);\n taskStore.abortTask({\n agentId,\n taskId,\n reason: new DOMException('Task cancelled by request.', 'AbortError'),\n });\n\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 const canceledTask = applyUpdateToTask(data, cancelUpdate);\n\n try {\n await saveTaskAndMaybeSendPushNotification({\n taskStore,\n pushNotificationSender: resolvePushNotificationPair({ pushNotificationSender }).pushNotificationSender,\n previousTask: data,\n nextTask: canceledTask,\n agentId,\n expectedVersion: snapshot.version,\n logger,\n });\n return createSuccessResponse(requestId, canceledTask);\n } catch (error) {\n if (!(error instanceof TaskStoreVersionConflictError)) {\n throw error;\n }\n } finally {\n taskStore.activeCancellations.delete(taskId);\n }\n }\n\n throw MastraA2AError.invalidRequest(`Task ${taskId} was updated concurrently. Retry the request.`);\n}\n\nexport async function getAgentExecutionHandler({\n requestId,\n mastra,\n agentId,\n requestContext,\n method,\n params,\n taskStore,\n pushNotificationStore,\n pushNotificationSender,\n logger,\n abortSignal,\n protocolVersion = '0.3',\n}: Context & {\n requestId: number | string;\n requestContext: RequestContext;\n agentId: string;\n method:\n | 'message/send'\n | 'message/stream'\n | 'tasks/get'\n | 'tasks/list'\n | 'tasks/cancel'\n | 'tasks/resubscribe'\n | 'tasks/pushNotificationConfig/set'\n | 'tasks/pushNotificationConfig/get'\n | 'tasks/pushNotificationConfig/list'\n | 'tasks/pushNotificationConfig/delete'\n | 'agent/getAuthenticatedExtendedCard';\n params?: MessageSendParams | TaskQueryParams | TaskIdParams | Record<string, unknown>;\n taskStore: InMemoryTaskStore;\n pushNotificationStore?: InMemoryPushNotificationStore;\n pushNotificationSender?: DefaultPushNotificationSender;\n logger?: IMastraLogger;\n abortSignal?: AbortSignal;\n protocolVersion?: A2AProtocolVersion;\n}): Promise<any> {\n const agent = await getAgentFromSystem({ mastra, agentId });\n const protocolParams = protocolVersion === '1.0' ? normalizeV1Params(params) : params;\n const {\n pushNotificationStore: resolvedPushNotificationStore,\n pushNotificationSender: resolvedPushNotificationSender,\n } = resolvePushNotificationPair({\n pushNotificationStore,\n pushNotificationSender,\n });\n\n let taskId: string | undefined; // For error context\n\n try {\n taskId = getTaskIdFromParams(protocolParams);\n\n // 2. Route based on method\n switch (method) {\n case 'message/send': {\n const result = await handleMessageSend({\n requestId,\n params: protocolParams as MessageSendParams,\n taskStore,\n pushNotificationStore: resolvedPushNotificationStore,\n pushNotificationSender: resolvedPushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n });\n return protocolVersion === '1.0' ? convertV1Response(result, method) : result;\n }\n case 'message/stream': {\n const result = await handleMessageStream({\n requestId,\n taskStore,\n params: protocolParams as MessageSendParams,\n pushNotificationStore: resolvedPushNotificationStore,\n pushNotificationSender: resolvedPushNotificationSender,\n agent,\n agentId,\n logger,\n requestContext,\n abortSignal,\n });\n return protocolVersion === '1.0' ? convertV1Stream(result, method) : result;\n }\n\n case 'tasks/get': {\n const result = await handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId: taskId || 'No task ID provided',\n });\n\n return protocolVersion === '1.0' ? convertV1Response(result, method) : result;\n }\n case 'tasks/list': {\n if (protocolVersion !== '1.0') {\n throw MastraA2AError.methodNotFound(method);\n }\n return handleTaskList({\n requestId,\n taskStore,\n agentId,\n params: protocolParams ?? {},\n });\n }\n case 'tasks/cancel': {\n const result = await handleTaskCancel({\n requestId,\n taskStore,\n pushNotificationSender: resolvedPushNotificationSender,\n agentId,\n taskId: taskId || 'No task ID provided',\n logger,\n });\n\n return protocolVersion === '1.0' ? convertV1Response(result, method) : result;\n }\n case 'tasks/resubscribe': {\n const result = handleTaskResubscribe({\n requestId,\n taskStore,\n agentId,\n taskId: taskId || 'No task ID provided',\n abortSignal,\n });\n return protocolVersion === '1.0' ? convertV1Stream(result, method) : result;\n }\n case 'tasks/pushNotificationConfig/set':\n return await handleSetTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore: resolvedPushNotificationStore,\n agentId,\n params: params as unknown as TaskPushNotificationConfig,\n });\n case 'tasks/pushNotificationConfig/get':\n return await handleGetTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore: resolvedPushNotificationStore,\n agentId,\n params: params as GetTaskPushNotificationConfigParams,\n });\n case 'tasks/pushNotificationConfig/list':\n return await handleListTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore: resolvedPushNotificationStore,\n agentId,\n params: params as ListTaskPushNotificationConfigParams,\n });\n case 'tasks/pushNotificationConfig/delete':\n return await handleDeleteTaskPushNotificationConfig({\n requestId,\n taskStore,\n pushNotificationStore: resolvedPushNotificationStore,\n agentId,\n params: params as DeleteTaskPushNotificationConfigParams,\n });\n case 'agent/getAuthenticatedExtendedCard':\n throw MastraA2AError.extendedAgentCardNotConfigured();\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 type A2AProtocolVersion = '0.3' | '1.0';\n\nexport function resolveA2AProtocolVersion(request?: Request): A2AProtocolVersion {\n const version = request?.headers.get('A2A-Version')?.trim();\n\n if (!version || version === '0.3') {\n return '0.3';\n }\n\n if (version === '1.0') {\n return '1.0';\n }\n\n throw MastraA2AError.versionNotSupported(version);\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 ctx => {\n const executionUrl = getA2AExecutionUrl({\n agentId: ctx.agentId as string,\n request: (ctx as typeof ctx & { request?: Request }).request,\n routePrefix: ctx.routePrefix,\n });\n\n return getAgentCardByIdHandler({\n mastra: ctx.mastra,\n requestContext: ctx.requestContext,\n agentId: ctx.agentId,\n executionUrl,\n pushNotifications: true,\n });\n },\n});\n\nexport const AGENT_EXECUTION_ROUTE = createRoute({\n method: 'POST',\n path: '/a2a/:agentId',\n responseType: 'datastream-response',\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, abortSignal, request, ...bodyParams }) => {\n const { id: requestId, method } = bodyParams;\n const params = 'params' in bodyParams ? bodyParams.params : undefined;\n\n let protocolVersion: A2AProtocolVersion;\n try {\n protocolVersion = resolveA2AProtocolVersion(request);\n } catch (error) {\n return createA2AJsonResponse(normalizeError(error, requestId));\n }\n\n const result = await getAgentExecutionHandler({\n requestId,\n mastra,\n agentId: agentId as string,\n requestContext,\n method,\n params,\n taskStore: taskStore!,\n abortSignal,\n protocolVersion,\n });\n\n if (method === 'message/stream' || method === 'tasks/resubscribe') {\n return createA2ASSEResponse(result);\n }\n\n return createA2AJsonResponse(result);\n },\n});\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -15,8 +15,10 @@ const pushNotificationConfigSchema = zod_v4.z.object({
15
15
  const messageSendConfigurationSchema = zod_v4.z.object({
16
16
  acceptedOutputModes: zod_v4.z.array(zod_v4.z.string()).optional().describe("Accepted output modalities by the client"),
17
17
  blocking: zod_v4.z.boolean().optional().describe("If the server should treat the client as a blocking request"),
18
+ returnImmediately: zod_v4.z.boolean().optional().describe("If the v1 server should return before task completion"),
18
19
  historyLength: zod_v4.z.number().optional().describe("Number of recent messages to be retrieved"),
19
- pushNotificationConfig: pushNotificationConfigSchema.optional()
20
+ pushNotificationConfig: pushNotificationConfigSchema.optional(),
21
+ taskPushNotificationConfig: pushNotificationConfigSchema.optional()
20
22
  });
21
23
  const textPartSchema = zod_v4.z.object({
22
24
  kind: zod_v4.z.literal("text").describe("Part type - text for TextParts"),
@@ -48,11 +50,30 @@ const partSchema = zod_v4.z.union([
48
50
  filePartSchema,
49
51
  dataPartSchema
50
52
  ]);
53
+ const v1PartSchema = zod_v4.z.object({
54
+ text: zod_v4.z.string().optional(),
55
+ raw: zod_v4.z.string().optional(),
56
+ url: zod_v4.z.string().optional(),
57
+ data: zod_v4.z.unknown().optional(),
58
+ filename: zod_v4.z.string().optional(),
59
+ mediaType: zod_v4.z.string().optional(),
60
+ metadata: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional()
61
+ }).refine((part) => [
62
+ part.text,
63
+ part.raw,
64
+ part.url,
65
+ part.data
66
+ ].filter((value) => value !== void 0).length === 1, { message: "A v1 part must contain exactly one of text, raw, url, or data" });
51
67
  const messageSchema = zod_v4.z.object({
52
- kind: zod_v4.z.literal("message").describe("Event type"),
68
+ kind: zod_v4.z.literal("message").optional().describe("Event type"),
53
69
  messageId: zod_v4.z.string().describe("Identifier created by the message creator"),
54
- role: zod_v4.z.enum(["user", "agent"]).describe("Message sender's role"),
55
- parts: zod_v4.z.array(partSchema).describe("Message content"),
70
+ role: zod_v4.z.enum([
71
+ "user",
72
+ "agent",
73
+ "ROLE_USER",
74
+ "ROLE_AGENT"
75
+ ]).describe("Message sender's role"),
76
+ parts: zod_v4.z.array(zod_v4.z.union([partSchema, v1PartSchema])).describe("Message content"),
56
77
  contextId: zod_v4.z.string().optional().describe("The context the message is associated with"),
57
78
  taskId: zod_v4.z.string().optional().describe("Identifier of task the message is related to"),
58
79
  referenceTaskIds: zod_v4.z.array(zod_v4.z.string()).optional().describe("List of tasks referenced as context by this message"),
@@ -73,6 +94,16 @@ const taskIdParamsSchema = zod_v4.z.object({
73
94
  id: zod_v4.z.string().describe("Task id"),
74
95
  metadata: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional()
75
96
  });
97
+ const listTasksParamsSchema = zod_v4.z.object({
98
+ tenant: zod_v4.z.string().optional(),
99
+ contextId: zod_v4.z.string().optional(),
100
+ status: zod_v4.z.union([zod_v4.z.string(), zod_v4.z.number()]).optional(),
101
+ pageSize: zod_v4.z.number().int().min(1).max(100).optional(),
102
+ pageToken: zod_v4.z.string().optional(),
103
+ historyLength: zod_v4.z.number().int().min(0).optional(),
104
+ statusTimestampAfter: zod_v4.z.string().optional(),
105
+ includeArtifacts: zod_v4.z.boolean().optional()
106
+ });
76
107
  const taskResubscribeParamsSchema = taskIdParamsSchema;
77
108
  const setPushNotificationConfigParamsSchema = zod_v4.z.object({
78
109
  taskId: zod_v4.z.string().describe("Task id"),
@@ -106,6 +137,11 @@ const agentExecutionBodySchema = zod_v4.z.discriminatedUnion("method", [
106
137
  method: zod_v4.z.literal("tasks/get"),
107
138
  params: taskQueryParamsSchema
108
139
  }),
140
+ zod_v4.z.object({
141
+ ...requestBaseSchema,
142
+ method: zod_v4.z.literal("tasks/list"),
143
+ params: listTasksParamsSchema
144
+ }),
109
145
  zod_v4.z.object({
110
146
  ...requestBaseSchema,
111
147
  method: zod_v4.z.literal("tasks/cancel"),
@@ -227,4 +263,4 @@ Object.defineProperty(exports, "taskResponseSchema", {
227
263
  }
228
264
  });
229
265
 
230
- //# sourceMappingURL=a2a-oM7aqLz4.cjs.map
266
+ //# sourceMappingURL=a2a-MPoM5lzS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-MPoM5lzS.cjs","names":["z"],"sources":["../src/server/schemas/a2a.ts"],"sourcesContent":["import { z } from 'zod/v4';\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()).optional().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 returnImmediately: z.boolean().optional().describe('If the v1 server should return before task completion'),\n historyLength: z.number().optional().describe('Number of recent messages to be retrieved'),\n pushNotificationConfig: pushNotificationConfigSchema.optional(),\n taskPushNotificationConfig: 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\nconst v1PartSchema = z\n .object({\n text: z.string().optional(),\n raw: z.string().optional(),\n url: z.string().optional(),\n data: z.unknown().optional(),\n filename: z.string().optional(),\n mediaType: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .refine(part => [part.text, part.raw, part.url, part.data].filter(value => value !== undefined).length === 1, {\n message: 'A v1 part must contain exactly one of text, raw, url, or data',\n });\n\n// Message schema\nconst messageSchema = z.object({\n kind: z.literal('message').optional().describe('Event type'),\n messageId: z.string().describe('Identifier created by the message creator'),\n role: z.enum(['user', 'agent', 'ROLE_USER', 'ROLE_AGENT']).describe(\"Message sender's role\"),\n parts: z.array(z.union([partSchema, v1PartSchema])).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\nconst listTasksParamsSchema = z.object({\n tenant: z.string().optional(),\n contextId: z.string().optional(),\n status: z.union([z.string(), z.number()]).optional(),\n pageSize: z.number().int().min(1).max(100).optional(),\n pageToken: z.string().optional(),\n historyLength: z.number().int().min(0).optional(),\n statusTimestampAfter: z.string().optional(),\n includeArtifacts: z.boolean().optional(),\n});\n\nexport const taskResubscribeParamsSchema = taskIdParamsSchema;\n\nexport const setPushNotificationConfigParamsSchema = z.object({\n taskId: z.string().describe('Task id'),\n pushNotificationConfig: pushNotificationConfigSchema,\n});\n\nconst getPushNotificationConfigParamsSchema = taskIdParamsSchema.extend({\n pushNotificationConfigId: z.string().optional().describe('Push notification config id'),\n});\n\nexport const listPushNotificationConfigParamsSchema = taskIdParamsSchema;\n\nexport const deletePushNotificationConfigParamsSchema = taskIdParamsSchema.extend({\n pushNotificationConfigId: z.string().describe('Push notification config id'),\n});\n\n// Legacy schema for backwards compatibility\nexport const messageSendBodySchema = z.object({\n message: messageSchema,\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const taskQueryBodySchema = z.object({\n id: z.string(),\n});\n\nconst requestBaseSchema = {\n jsonrpc: z.literal('2.0'),\n id: z.union([z.string(), z.number()]),\n} as const;\n\nexport const agentExecutionBodySchema = z.discriminatedUnion('method', [\n z.object({\n ...requestBaseSchema,\n method: z.literal('message/send'),\n params: messageSendParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('message/stream'),\n params: messageSendParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/get'),\n params: taskQueryParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/list'),\n params: listTasksParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/cancel'),\n params: taskIdParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/resubscribe'),\n params: taskResubscribeParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/set'),\n params: setPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/get'),\n params: getPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/list'),\n params: listPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/delete'),\n params: deletePushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('agent/getAuthenticatedExtendedCard'),\n }),\n]);\n\n// Response schemas\nexport const agentCardResponseSchema = z.object({\n additionalInterfaces: z.array(z.unknown()).optional(),\n name: z.string(),\n description: z.string(),\n url: z.string(),\n protocolVersion: z.string(),\n provider: z\n .object({\n organization: z.string(),\n url: z.string(),\n })\n .optional(),\n security: z.array(z.record(z.string(), z.array(z.string()))).optional(),\n securitySchemes: z.record(z.string(), z.unknown()).optional(),\n version: z.string(),\n capabilities: z.object({\n extensions: z.array(z.unknown()).optional(),\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 supportsAuthenticatedExtendedCard: z.boolean().optional(),\n signatures: z\n .array(\n z.object({\n protected: z.string(),\n signature: z.string(),\n header: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional(),\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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_workflows = require("./workflows-XfiENvkF.cjs");
1
+ const require_workflows = require("./workflows--79xhOOb.cjs");
2
2
  let zod_v4 = require("zod/v4");
3
3
  //#region src/server/schemas/agent-builder.ts
4
4
  const actionIdPathParams = zod_v4.z.object({ actionId: zod_v4.z.string().describe("Unique identifier for the agent-builder action") });
@@ -64,4 +64,4 @@ Object.defineProperty(exports, "streamLegacyAgentBuilderBodySchema", {
64
64
  }
65
65
  });
66
66
 
67
- //# sourceMappingURL=agent-builder-BDYN3r89.cjs.map
67
+ //# sourceMappingURL=agent-builder-D8JyDQ5J.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-builder-BDYN3r89.cjs","names":["z","streamWorkflowBodySchema","streamLegacyWorkflowBodySchema","resumeBodySchema","startAsyncWorkflowBodySchema"],"sources":["../src/server/schemas/agent-builder.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n streamWorkflowBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamLegacyWorkflowBodySchema,\n} from './workflows';\n\n// Path parameter schemas\n\nexport const actionIdPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n});\n\nexport const actionRunPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n runId: z.string().describe('Unique identifier for the action run'),\n});\n\n/**\n * Agent-builder schemas use the same body schemas as workflows\n * Both use requestContext field\n */\n\n/**\n * Schema for stream agent-builder action body\n */\nexport const streamAgentBuilderBodySchema = streamWorkflowBodySchema;\n\n/**\n * Schema for legacy stream agent-builder action body\n */\nexport const streamLegacyAgentBuilderBodySchema = streamLegacyWorkflowBodySchema;\n\n/**\n * Schema for resume agent-builder action body\n */\nexport const resumeAgentBuilderBodySchema = resumeBodySchema;\n\n/**\n * Schema for start async agent-builder action body\n */\nexport const startAsyncAgentBuilderBodySchema = startAsyncWorkflowBodySchema;\n\n// Agent-builder actions use the same response schemas as workflows since they're wrapped workflow handlers\nexport {\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n sendWorkflowRunEventBodySchema,\n workflowExecutionResultSchema,\n workflowControlResponseSchema,\n workflowRunsResponseSchema,\n workflowInfoSchema,\n listWorkflowsResponseSchema,\n workflowRunResultSchema,\n workflowRunResultQuerySchema,\n} from './workflows';\n"],"mappings":";;;AAUA,MAAa,qBAAqBA,OAAAA,EAAE,OAAO,EACzC,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,EAChF,CAAC;AAED,MAAa,sBAAsBA,OAAAA,EAAE,OAAO;CAC1C,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;CAC9E,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;AACnE,CAAC;;;;;;;;AAUD,MAAa,+BAA+BC,kBAAAA;;;;AAK5C,MAAa,qCAAqCC,kBAAAA;;;;AAKlD,MAAa,+BAA+BC,kBAAAA;;;;AAK5C,MAAa,mCAAmCC,kBAAAA"}
1
+ {"version":3,"file":"agent-builder-D8JyDQ5J.cjs","names":["z","streamWorkflowBodySchema","streamLegacyWorkflowBodySchema","resumeBodySchema","startAsyncWorkflowBodySchema"],"sources":["../src/server/schemas/agent-builder.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n streamWorkflowBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamLegacyWorkflowBodySchema,\n} from './workflows';\n\n// Path parameter schemas\n\nexport const actionIdPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n});\n\nexport const actionRunPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n runId: z.string().describe('Unique identifier for the action run'),\n});\n\n/**\n * Agent-builder schemas use the same body schemas as workflows\n * Both use requestContext field\n */\n\n/**\n * Schema for stream agent-builder action body\n */\nexport const streamAgentBuilderBodySchema = streamWorkflowBodySchema;\n\n/**\n * Schema for legacy stream agent-builder action body\n */\nexport const streamLegacyAgentBuilderBodySchema = streamLegacyWorkflowBodySchema;\n\n/**\n * Schema for resume agent-builder action body\n */\nexport const resumeAgentBuilderBodySchema = resumeBodySchema;\n\n/**\n * Schema for start async agent-builder action body\n */\nexport const startAsyncAgentBuilderBodySchema = startAsyncWorkflowBodySchema;\n\n// Agent-builder actions use the same response schemas as workflows since they're wrapped workflow handlers\nexport {\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n sendWorkflowRunEventBodySchema,\n workflowExecutionResultSchema,\n workflowControlResponseSchema,\n workflowRunsResponseSchema,\n workflowInfoSchema,\n listWorkflowsResponseSchema,\n workflowRunResultSchema,\n workflowRunResultQuerySchema,\n} from './workflows';\n"],"mappings":";;;AAUA,MAAa,qBAAqBA,OAAAA,EAAE,OAAO,EACzC,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,EAChF,CAAC;AAED,MAAa,sBAAsBA,OAAAA,EAAE,OAAO;CAC1C,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;CAC9E,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;AACnE,CAAC;;;;;;;;AAUD,MAAa,+BAA+BC,kBAAAA;;;;AAK5C,MAAa,qCAAqCC,kBAAAA;;;;AAKlD,MAAa,+BAA+BC,kBAAAA;;;;AAK5C,MAAa,mCAAmCC,kBAAAA"}
@@ -1,4 +1,4 @@
1
- import { d as streamWorkflowBodySchema, l as startAsyncWorkflowBodySchema, s as resumeBodySchema, u as streamLegacyWorkflowBodySchema } from "./workflows-DPW6FrY0.js";
1
+ import { d as streamWorkflowBodySchema, l as startAsyncWorkflowBodySchema, s as resumeBodySchema, u as streamLegacyWorkflowBodySchema } from "./workflows-B2ooCiwN.js";
2
2
  import { z } from "zod/v4";
3
3
  //#region src/server/schemas/agent-builder.ts
4
4
  const actionIdPathParams = z.object({ actionId: z.string().describe("Unique identifier for the agent-builder action") });
@@ -29,4 +29,4 @@ const startAsyncAgentBuilderBodySchema = startAsyncWorkflowBodySchema;
29
29
  //#endregion
30
30
  export { streamAgentBuilderBodySchema as a, startAsyncAgentBuilderBodySchema as i, actionRunPathParams as n, streamLegacyAgentBuilderBodySchema as o, resumeAgentBuilderBodySchema as r, actionIdPathParams as t };
31
31
 
32
- //# sourceMappingURL=agent-builder-Dqy_qumV.js.map
32
+ //# sourceMappingURL=agent-builder-DNTFty1u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-builder-Dqy_qumV.js","names":[],"sources":["../src/server/schemas/agent-builder.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n streamWorkflowBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamLegacyWorkflowBodySchema,\n} from './workflows';\n\n// Path parameter schemas\n\nexport const actionIdPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n});\n\nexport const actionRunPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n runId: z.string().describe('Unique identifier for the action run'),\n});\n\n/**\n * Agent-builder schemas use the same body schemas as workflows\n * Both use requestContext field\n */\n\n/**\n * Schema for stream agent-builder action body\n */\nexport const streamAgentBuilderBodySchema = streamWorkflowBodySchema;\n\n/**\n * Schema for legacy stream agent-builder action body\n */\nexport const streamLegacyAgentBuilderBodySchema = streamLegacyWorkflowBodySchema;\n\n/**\n * Schema for resume agent-builder action body\n */\nexport const resumeAgentBuilderBodySchema = resumeBodySchema;\n\n/**\n * Schema for start async agent-builder action body\n */\nexport const startAsyncAgentBuilderBodySchema = startAsyncWorkflowBodySchema;\n\n// Agent-builder actions use the same response schemas as workflows since they're wrapped workflow handlers\nexport {\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n sendWorkflowRunEventBodySchema,\n workflowExecutionResultSchema,\n workflowControlResponseSchema,\n workflowRunsResponseSchema,\n workflowInfoSchema,\n listWorkflowsResponseSchema,\n workflowRunResultSchema,\n workflowRunResultQuerySchema,\n} from './workflows';\n"],"mappings":";;;AAUA,MAAa,qBAAqB,EAAE,OAAO,EACzC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,EAChF,CAAC;AAED,MAAa,sBAAsB,EAAE,OAAO;CAC1C,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;CAC9E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;AACnE,CAAC;;;;;;;;AAUD,MAAa,+BAA+B;;;;AAK5C,MAAa,qCAAqC;;;;AAKlD,MAAa,+BAA+B;;;;AAK5C,MAAa,mCAAmC"}
1
+ {"version":3,"file":"agent-builder-DNTFty1u.js","names":[],"sources":["../src/server/schemas/agent-builder.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n streamWorkflowBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamLegacyWorkflowBodySchema,\n} from './workflows';\n\n// Path parameter schemas\n\nexport const actionIdPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n});\n\nexport const actionRunPathParams = z.object({\n actionId: z.string().describe('Unique identifier for the agent-builder action'),\n runId: z.string().describe('Unique identifier for the action run'),\n});\n\n/**\n * Agent-builder schemas use the same body schemas as workflows\n * Both use requestContext field\n */\n\n/**\n * Schema for stream agent-builder action body\n */\nexport const streamAgentBuilderBodySchema = streamWorkflowBodySchema;\n\n/**\n * Schema for legacy stream agent-builder action body\n */\nexport const streamLegacyAgentBuilderBodySchema = streamLegacyWorkflowBodySchema;\n\n/**\n * Schema for resume agent-builder action body\n */\nexport const resumeAgentBuilderBodySchema = resumeBodySchema;\n\n/**\n * Schema for start async agent-builder action body\n */\nexport const startAsyncAgentBuilderBodySchema = startAsyncWorkflowBodySchema;\n\n// Agent-builder actions use the same response schemas as workflows since they're wrapped workflow handlers\nexport {\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n sendWorkflowRunEventBodySchema,\n workflowExecutionResultSchema,\n workflowControlResponseSchema,\n workflowRunsResponseSchema,\n workflowInfoSchema,\n listWorkflowsResponseSchema,\n workflowRunResultSchema,\n workflowRunResultQuerySchema,\n} from './workflows';\n"],"mappings":";;;AAUA,MAAa,qBAAqB,EAAE,OAAO,EACzC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,EAChF,CAAC;AAED,MAAa,sBAAsB,EAAE,OAAO;CAC1C,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;CAC9E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;AACnE,CAAC;;;;;;;;AAUD,MAAa,+BAA+B;;;;AAK5C,MAAa,qCAAqC;;;;AAKlD,MAAa,+BAA+B;;;;AAK5C,MAAa,mCAAmC"}
@@ -1,6 +1,6 @@
1
- import { t as defaultOptionsSchema } from "./default-options-DGCDKR3I.js";
2
- import { D as toolsConfigSchema, E as toolConfigSchema, T as storedProcessorGraphSchema, f as modelConfigSchema, j as serializedMemoryConfigSchema, l as instructionsSchema, t as conditionalFieldSchema, x as scorerConfigSchema } from "./stored-agents-D8ar1Pn7.js";
3
- import { i as createListVersionsResponseSchema, r as createCompareVersionsResponseSchema } from "./version-common-Cmd1f9JX.js";
1
+ import { t as defaultOptionsSchema } from "./default-options-C9JVjlto.js";
2
+ import { D as toolsConfigSchema, E as toolConfigSchema, T as storedProcessorGraphSchema, f as modelConfigSchema, j as serializedMemoryConfigSchema, l as instructionsSchema, t as conditionalFieldSchema, x as scorerConfigSchema } from "./stored-agents-BRBZM-Xl.js";
3
+ import { i as createListVersionsResponseSchema, r as createCompareVersionsResponseSchema } from "./version-common-CudZ_WuW.js";
4
4
  import { z } from "zod/v4";
5
5
  //#region src/server/schemas/agent-versions.ts
6
6
  const mcpClientToolsConfigSchema = z.object({ tools: z.record(z.string(), toolConfigSchema).optional() });
@@ -71,4 +71,4 @@ const compareVersionsResponseSchema = createCompareVersionsResponseSchema(agentV
71
71
  //#endregion
72
72
  export { getVersionResponseSchema as a, versionIdPathParams as c, createVersionResponseSchema as i, agentVersionSchema as n, listVersionsResponseSchema as o, compareVersionsResponseSchema as r, restoreVersionResponseSchema as s, agentVersionPathParams as t };
73
73
 
74
- //# sourceMappingURL=agent-versions-Bsrpa_zb.js.map
74
+ //# sourceMappingURL=agent-versions-CWEnD62A.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-versions-Bsrpa_zb.js","names":[],"sources":["../src/server/schemas/agent-versions.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { defaultOptionsSchema } from './default-options';\nimport { serializedMemoryConfigSchema } from './memory-config';\nimport {\n scorerConfigSchema,\n instructionsSchema,\n conditionalFieldSchema,\n modelConfigSchema,\n toolConfigSchema,\n toolsConfigSchema,\n storedProcessorGraphSchema,\n} from './stored-agents';\nimport {\n listVersionsQuerySchema,\n compareVersionsQuerySchema,\n createVersionBodySchema,\n activateVersionResponseSchema,\n deleteVersionResponseSchema,\n versionDiffEntrySchema,\n createListVersionsResponseSchema,\n createCompareVersionsResponseSchema,\n} from './version-common';\n\nconst mcpClientToolsConfigSchema = z.object({\n tools: z.record(z.string(), toolConfigSchema).optional(),\n});\n\n// Re-export shared schemas for backwards compat\nexport {\n listVersionsQuerySchema,\n compareVersionsQuerySchema,\n createVersionBodySchema,\n activateVersionResponseSchema,\n deleteVersionResponseSchema,\n versionDiffEntrySchema,\n};\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\n/**\n * Path parameters for agent version routes\n */\nexport const agentVersionPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the stored agent'),\n});\n\n/**\n * Path parameters for specific version routes\n */\nexport const versionIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the stored agent'),\n versionId: z.string().describe('Unique identifier for the version (UUID)'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Agent version object schema (full response)\n * Config fields are top-level on the version (no nested snapshot object).\n * Extends StorageAgentSnapshotType fields.\n */\nexport const agentVersionSchema = z.object({\n id: z.string().describe('Unique identifier for the version (UUID)'),\n agentId: z.string().describe('ID of the agent this version belongs to'),\n versionNumber: z.number().describe('Sequential version number (1, 2, 3, ...)'),\n // Top-level config fields (from StorageAgentSnapshotType)\n name: z.string().describe('Name of the agent'),\n description: z.string().optional().describe('Description of the agent'),\n instructions: instructionsSchema,\n model: conditionalFieldSchema(modelConfigSchema).describe(\n 'Model configuration — static value or array of conditional variants',\n ),\n tools: conditionalFieldSchema(toolsConfigSchema)\n .optional()\n .describe('Tool keys mapped to per-tool config — static or conditional'),\n defaultOptions: conditionalFieldSchema(defaultOptionsSchema)\n .optional()\n .describe('Default options for generate/stream calls — static or conditional'),\n workflows: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Workflow keys with optional per-workflow config — static or conditional'),\n agents: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Agent keys with optional per-agent config — static or conditional'),\n integrationTools: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of tool provider IDs to their tool configurations — static or conditional'),\n mcpClients: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of stored MCP client IDs to their tool configurations — static or conditional'),\n inputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Input processor graph — static or conditional'),\n outputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Output processor graph — static or conditional'),\n memory: conditionalFieldSchema(serializedMemoryConfigSchema)\n .optional()\n .describe('Memory configuration — static or conditional'),\n scorers: conditionalFieldSchema(z.record(z.string(), scorerConfigSchema))\n .optional()\n .describe('Scorer keys with optional sampling config — static or conditional'),\n requestContextSchema: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('JSON Schema defining valid request context variables'),\n // Version metadata fields\n changedFields: z.array(z.string()).optional().describe('Array of field names that changed from the previous version'),\n changeMessage: z.string().optional().describe('Optional message describing the changes'),\n createdAt: z.coerce.date().describe('When this version was created'),\n});\n\n/**\n * Response for GET /stored/agents/:agentId/versions\n */\nexport const listVersionsResponseSchema = createListVersionsResponseSchema(agentVersionSchema);\n\n/**\n * Response for GET /stored/agents/:agentId/versions/:versionId\n */\nexport const getVersionResponseSchema = agentVersionSchema;\n\n/**\n * Response for POST /stored/agents/:agentId/versions\n */\nexport const createVersionResponseSchema = agentVersionSchema.partial().merge(\n z.object({\n // These fields are always present in a version response\n id: z.string().describe('Unique identifier for the version (UUID)'),\n agentId: z.string().describe('ID of the agent this version belongs to'),\n versionNumber: z.number().describe('Sequential version number (1, 2, 3, ...)'),\n createdAt: z.coerce.date().describe('When this version was created'),\n }),\n);\n\n/**\n * Response for POST /stored/agents/:agentId/versions/:versionId/restore\n */\nexport const restoreVersionResponseSchema = agentVersionSchema.describe(\n 'The newly created version from the restored configuration',\n);\n\n/**\n * Response for GET /stored/agents/:agentId/versions/compare\n */\nexport const compareVersionsResponseSchema: ReturnType<\n typeof createCompareVersionsResponseSchema<typeof agentVersionSchema>\n> = createCompareVersionsResponseSchema(agentVersionSchema);\n"],"mappings":"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"}
1
+ {"version":3,"file":"agent-versions-CWEnD62A.js","names":[],"sources":["../src/server/schemas/agent-versions.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { defaultOptionsSchema } from './default-options';\nimport { serializedMemoryConfigSchema } from './memory-config';\nimport {\n scorerConfigSchema,\n instructionsSchema,\n conditionalFieldSchema,\n modelConfigSchema,\n toolConfigSchema,\n toolsConfigSchema,\n storedProcessorGraphSchema,\n} from './stored-agents';\nimport {\n listVersionsQuerySchema,\n compareVersionsQuerySchema,\n createVersionBodySchema,\n activateVersionResponseSchema,\n deleteVersionResponseSchema,\n versionDiffEntrySchema,\n createListVersionsResponseSchema,\n createCompareVersionsResponseSchema,\n} from './version-common';\n\nconst mcpClientToolsConfigSchema = z.object({\n tools: z.record(z.string(), toolConfigSchema).optional(),\n});\n\n// Re-export shared schemas for backwards compat\nexport {\n listVersionsQuerySchema,\n compareVersionsQuerySchema,\n createVersionBodySchema,\n activateVersionResponseSchema,\n deleteVersionResponseSchema,\n versionDiffEntrySchema,\n};\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\n/**\n * Path parameters for agent version routes\n */\nexport const agentVersionPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the stored agent'),\n});\n\n/**\n * Path parameters for specific version routes\n */\nexport const versionIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the stored agent'),\n versionId: z.string().describe('Unique identifier for the version (UUID)'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Agent version object schema (full response)\n * Config fields are top-level on the version (no nested snapshot object).\n * Extends StorageAgentSnapshotType fields.\n */\nexport const agentVersionSchema = z.object({\n id: z.string().describe('Unique identifier for the version (UUID)'),\n agentId: z.string().describe('ID of the agent this version belongs to'),\n versionNumber: z.number().describe('Sequential version number (1, 2, 3, ...)'),\n // Top-level config fields (from StorageAgentSnapshotType)\n name: z.string().describe('Name of the agent'),\n description: z.string().optional().describe('Description of the agent'),\n instructions: instructionsSchema,\n model: conditionalFieldSchema(modelConfigSchema).describe(\n 'Model configuration — static value or array of conditional variants',\n ),\n tools: conditionalFieldSchema(toolsConfigSchema)\n .optional()\n .describe('Tool keys mapped to per-tool config — static or conditional'),\n defaultOptions: conditionalFieldSchema(defaultOptionsSchema)\n .optional()\n .describe('Default options for generate/stream calls — static or conditional'),\n workflows: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Workflow keys with optional per-workflow config — static or conditional'),\n agents: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Agent keys with optional per-agent config — static or conditional'),\n integrationTools: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of tool provider IDs to their tool configurations — static or conditional'),\n mcpClients: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of stored MCP client IDs to their tool configurations — static or conditional'),\n inputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Input processor graph — static or conditional'),\n outputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Output processor graph — static or conditional'),\n memory: conditionalFieldSchema(serializedMemoryConfigSchema)\n .optional()\n .describe('Memory configuration — static or conditional'),\n scorers: conditionalFieldSchema(z.record(z.string(), scorerConfigSchema))\n .optional()\n .describe('Scorer keys with optional sampling config — static or conditional'),\n requestContextSchema: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('JSON Schema defining valid request context variables'),\n // Version metadata fields\n changedFields: z.array(z.string()).optional().describe('Array of field names that changed from the previous version'),\n changeMessage: z.string().optional().describe('Optional message describing the changes'),\n createdAt: z.coerce.date().describe('When this version was created'),\n});\n\n/**\n * Response for GET /stored/agents/:agentId/versions\n */\nexport const listVersionsResponseSchema = createListVersionsResponseSchema(agentVersionSchema);\n\n/**\n * Response for GET /stored/agents/:agentId/versions/:versionId\n */\nexport const getVersionResponseSchema = agentVersionSchema;\n\n/**\n * Response for POST /stored/agents/:agentId/versions\n */\nexport const createVersionResponseSchema = agentVersionSchema.partial().merge(\n z.object({\n // These fields are always present in a version response\n id: z.string().describe('Unique identifier for the version (UUID)'),\n agentId: z.string().describe('ID of the agent this version belongs to'),\n versionNumber: z.number().describe('Sequential version number (1, 2, 3, ...)'),\n createdAt: z.coerce.date().describe('When this version was created'),\n }),\n);\n\n/**\n * Response for POST /stored/agents/:agentId/versions/:versionId/restore\n */\nexport const restoreVersionResponseSchema = agentVersionSchema.describe(\n 'The newly created version from the restored configuration',\n);\n\n/**\n * Response for GET /stored/agents/:agentId/versions/compare\n */\nexport const compareVersionsResponseSchema: ReturnType<\n typeof createCompareVersionsResponseSchema<typeof agentVersionSchema>\n> = createCompareVersionsResponseSchema(agentVersionSchema);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- const require_default_options = require("./default-options-BcPyp2Gx.cjs");
2
- const require_stored_agents = require("./stored-agents-DKd89v5z.cjs");
3
- const require_version_common = require("./version-common-CEBQY7M8.cjs");
1
+ const require_default_options = require("./default-options-C9HZGjYi.cjs");
2
+ const require_stored_agents = require("./stored-agents-CPxfYRH9.cjs");
3
+ const require_version_common = require("./version-common-AtNRQ5xH.cjs");
4
4
  let zod_v4 = require("zod/v4");
5
5
  //#region src/server/schemas/agent-versions.ts
6
6
  const mcpClientToolsConfigSchema = zod_v4.z.object({ tools: zod_v4.z.record(zod_v4.z.string(), require_stored_agents.toolConfigSchema).optional() });
@@ -118,4 +118,4 @@ Object.defineProperty(exports, "versionIdPathParams", {
118
118
  }
119
119
  });
120
120
 
121
- //# sourceMappingURL=agent-versions-CdQGF-3e.cjs.map
121
+ //# sourceMappingURL=agent-versions-xeysPGel.cjs.map