@mastra/server 0.0.0-inject-middleware-20250528222017 → 0.0.0-interpolate-reporter-url-20250910180021

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 (329) hide show
  1. package/CHANGELOG.md +3569 -0
  2. package/LICENSE.md +11 -42
  3. package/dist/{chunk-5SN4U5AC.cjs → chunk-3THIIWWW.cjs} +113 -137
  4. package/dist/chunk-3THIIWWW.cjs.map +1 -0
  5. package/dist/{chunk-H5PTF3Y4.js → chunk-4QCXUEAT.js} +11 -2
  6. package/dist/chunk-4QCXUEAT.js.map +1 -0
  7. package/dist/chunk-4RRMWXQ2.js +3522 -0
  8. package/dist/chunk-4RRMWXQ2.js.map +1 -0
  9. package/dist/chunk-5DP5XZH6.cjs +928 -0
  10. package/dist/chunk-5DP5XZH6.cjs.map +1 -0
  11. package/dist/{chunk-P6SCPDYW.js → chunk-5QUKZCEF.js} +112 -136
  12. package/dist/chunk-5QUKZCEF.js.map +1 -0
  13. package/dist/chunk-66YYHFGF.js +761 -0
  14. package/dist/chunk-66YYHFGF.js.map +1 -0
  15. package/dist/chunk-6GMFZ5LK.js +2774 -0
  16. package/dist/chunk-6GMFZ5LK.js.map +1 -0
  17. package/dist/chunk-6LUKYSWE.cjs +610 -0
  18. package/dist/chunk-6LUKYSWE.cjs.map +1 -0
  19. package/dist/chunk-743UIDHI.cjs +2013 -0
  20. package/dist/chunk-743UIDHI.cjs.map +1 -0
  21. package/dist/{chunk-OCWPVYNI.cjs → chunk-7NADHFD2.cjs} +3 -0
  22. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  23. package/dist/chunk-7QEJ5QG5.js +151 -0
  24. package/dist/chunk-7QEJ5QG5.js.map +1 -0
  25. package/dist/chunk-A3AL7EWJ.js +83 -0
  26. package/dist/chunk-A3AL7EWJ.js.map +1 -0
  27. package/dist/{chunk-HFWCEP5S.js → chunk-A75S4TDD.js} +36 -11
  28. package/dist/chunk-A75S4TDD.js.map +1 -0
  29. package/dist/chunk-AK2FXLLB.cjs +849 -0
  30. package/dist/chunk-AK2FXLLB.cjs.map +1 -0
  31. package/dist/chunk-B2V3PUB7.js +591 -0
  32. package/dist/chunk-B2V3PUB7.js.map +1 -0
  33. package/dist/chunk-CY4TP3FK.js +16 -0
  34. package/dist/chunk-CY4TP3FK.js.map +1 -0
  35. package/dist/chunk-EMMSS5I5.cjs +37 -0
  36. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  37. package/dist/chunk-EMNGA4R4.js +845 -0
  38. package/dist/chunk-EMNGA4R4.js.map +1 -0
  39. package/dist/chunk-FALVL2VV.cjs +3525 -0
  40. package/dist/chunk-FALVL2VV.cjs.map +1 -0
  41. package/dist/chunk-FQNT7PI4.js +937 -0
  42. package/dist/chunk-FQNT7PI4.js.map +1 -0
  43. package/dist/chunk-G3PMV62Z.js +33 -0
  44. package/dist/chunk-G3PMV62Z.js.map +1 -0
  45. package/dist/chunk-G4PUALCE.cjs +28 -0
  46. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  47. package/dist/chunk-GU4EWMZB.cjs +769 -0
  48. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  49. package/dist/chunk-GUI3CROV.cjs +159 -0
  50. package/dist/chunk-GUI3CROV.cjs.map +1 -0
  51. package/dist/chunk-HJQKWRKQ.cjs +764 -0
  52. package/dist/chunk-HJQKWRKQ.cjs.map +1 -0
  53. package/dist/{chunk-YWLUOY3D.cjs → chunk-HVBBFCDH.cjs} +1110 -793
  54. package/dist/chunk-HVBBFCDH.cjs.map +1 -0
  55. package/dist/chunk-HZJRQ5L3.cjs +1411 -0
  56. package/dist/chunk-HZJRQ5L3.cjs.map +1 -0
  57. package/dist/chunk-IGFMAZZ5.cjs +1150 -0
  58. package/dist/chunk-IGFMAZZ5.cjs.map +1 -0
  59. package/dist/chunk-IOQGI4ML.js +931 -0
  60. package/dist/chunk-IOQGI4ML.js.map +1 -0
  61. package/dist/{chunk-VPNDC2DI.cjs → chunk-IY34NOLA.cjs} +16 -14
  62. package/dist/chunk-IY34NOLA.cjs.map +1 -0
  63. package/dist/chunk-J7BPKKOG.cjs +163 -0
  64. package/dist/chunk-J7BPKKOG.cjs.map +1 -0
  65. package/dist/{chunk-YIOVBYZH.cjs → chunk-KNGXRN26.cjs} +48 -45
  66. package/dist/chunk-KNGXRN26.cjs.map +1 -0
  67. package/dist/{chunk-OR3CIE2H.js → chunk-KV6VHX4V.js} +29 -7
  68. package/dist/chunk-KV6VHX4V.js.map +1 -0
  69. package/dist/chunk-L265APUD.cjs +69 -0
  70. package/dist/chunk-L265APUD.cjs.map +1 -0
  71. package/dist/chunk-LF2ZLOFP.js +767 -0
  72. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  73. package/dist/chunk-LYPU75T6.js +1147 -0
  74. package/dist/chunk-LYPU75T6.js.map +1 -0
  75. package/dist/chunk-M2YFWHSB.js +455 -0
  76. package/dist/chunk-M2YFWHSB.js.map +1 -0
  77. package/dist/chunk-MLGHQDZZ.js +15671 -0
  78. package/dist/chunk-MLGHQDZZ.js.map +1 -0
  79. package/dist/{chunk-NYN7KFXL.js → chunk-MMROOK5J.js} +3 -0
  80. package/dist/chunk-MMROOK5J.js.map +1 -0
  81. package/dist/{chunk-LIVAK2DM.js → chunk-N7F33WAD.js} +1083 -794
  82. package/dist/chunk-N7F33WAD.js.map +1 -0
  83. package/dist/chunk-NG5IVLEZ.js +1012 -0
  84. package/dist/chunk-NG5IVLEZ.js.map +1 -0
  85. package/dist/chunk-OGW6HHVI.js +1408 -0
  86. package/dist/chunk-OGW6HHVI.js.map +1 -0
  87. package/dist/chunk-OZLRIVC4.cjs +588 -0
  88. package/dist/chunk-OZLRIVC4.cjs.map +1 -0
  89. package/dist/chunk-P7CIEIJ3.js +925 -0
  90. package/dist/chunk-P7CIEIJ3.js.map +1 -0
  91. package/dist/chunk-P7RBMCBE.cjs +934 -0
  92. package/dist/chunk-P7RBMCBE.cjs.map +1 -0
  93. package/dist/chunk-PPYGWINI.cjs +2777 -0
  94. package/dist/chunk-PPYGWINI.cjs.map +1 -0
  95. package/dist/{chunk-MHKNLNAN.cjs → chunk-PWTXZZTR.cjs} +33 -10
  96. package/dist/chunk-PWTXZZTR.cjs.map +1 -0
  97. package/dist/chunk-R7NOGUZG.js +65 -0
  98. package/dist/chunk-R7NOGUZG.js.map +1 -0
  99. package/dist/chunk-RCHEPTZZ.js +2006 -0
  100. package/dist/chunk-RCHEPTZZ.js.map +1 -0
  101. package/dist/chunk-RE4RPXT2.cjs +18 -0
  102. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  103. package/dist/chunk-RW2D3G4K.cjs +470 -0
  104. package/dist/chunk-RW2D3G4K.cjs.map +1 -0
  105. package/dist/chunk-SIGXR3JT.cjs +1043 -0
  106. package/dist/chunk-SIGXR3JT.cjs.map +1 -0
  107. package/dist/chunk-SPLSYTYW.cjs +88 -0
  108. package/dist/chunk-SPLSYTYW.cjs.map +1 -0
  109. package/dist/chunk-SQY4T6EJ.js +571 -0
  110. package/dist/chunk-SQY4T6EJ.js.map +1 -0
  111. package/dist/{chunk-TJKLBTFB.js → chunk-SYRRSBGL.js} +51 -27
  112. package/dist/chunk-SYRRSBGL.js.map +1 -0
  113. package/dist/{chunk-BNEY4P4P.cjs → chunk-T3TIA3O6.cjs} +20 -18
  114. package/dist/chunk-T3TIA3O6.cjs.map +1 -0
  115. package/dist/{chunk-W7VCKPAD.js → chunk-TTHEEIZ3.js} +19 -16
  116. package/dist/chunk-TTHEEIZ3.js.map +1 -0
  117. package/dist/chunk-TVSIG4JE.cjs +940 -0
  118. package/dist/chunk-TVSIG4JE.cjs.map +1 -0
  119. package/dist/{chunk-C7564HUT.js → chunk-U46VIX2V.js} +6 -4
  120. package/dist/chunk-U46VIX2V.js.map +1 -0
  121. package/dist/{chunk-55DOQLP6.js → chunk-WHN4VX55.js} +5 -3
  122. package/dist/chunk-WHN4VX55.js.map +1 -0
  123. package/dist/chunk-WZC6CIVD.cjs +120 -0
  124. package/dist/chunk-WZC6CIVD.cjs.map +1 -0
  125. package/dist/chunk-YITREQVN.cjs +15707 -0
  126. package/dist/chunk-YITREQVN.cjs.map +1 -0
  127. package/dist/dist-26HWEQY6.js +3 -0
  128. package/dist/dist-26HWEQY6.js.map +1 -0
  129. package/dist/dist-3A5DXB37.cjs +20 -0
  130. package/dist/dist-3A5DXB37.cjs.map +1 -0
  131. package/dist/dist-3SJKQJGY.cjs +16 -0
  132. package/dist/dist-3SJKQJGY.cjs.map +1 -0
  133. package/dist/dist-4ZQSPE5K.js +3 -0
  134. package/dist/dist-4ZQSPE5K.js.map +1 -0
  135. package/dist/dist-5W5QNRTD.js +3 -0
  136. package/dist/dist-5W5QNRTD.js.map +1 -0
  137. package/dist/dist-653SRMPL.js +3 -0
  138. package/dist/dist-653SRMPL.js.map +1 -0
  139. package/dist/dist-6U6EFC5C.cjs +16 -0
  140. package/dist/dist-6U6EFC5C.cjs.map +1 -0
  141. package/dist/dist-7IHNNYMF.cjs +16 -0
  142. package/dist/dist-7IHNNYMF.cjs.map +1 -0
  143. package/dist/dist-B5IPRF6W.js +3 -0
  144. package/dist/dist-B5IPRF6W.js.map +1 -0
  145. package/dist/dist-EOMYFT4Y.cjs +16 -0
  146. package/dist/dist-EOMYFT4Y.cjs.map +1 -0
  147. package/dist/dist-EZZMMMNT.cjs +16 -0
  148. package/dist/dist-EZZMMMNT.cjs.map +1 -0
  149. package/dist/dist-F2ET4MNO.cjs +16 -0
  150. package/dist/dist-F2ET4MNO.cjs.map +1 -0
  151. package/dist/dist-H64VX6DE.js +3 -0
  152. package/dist/dist-H64VX6DE.js.map +1 -0
  153. package/dist/dist-HY7RMLJQ.cjs +16 -0
  154. package/dist/dist-HY7RMLJQ.cjs.map +1 -0
  155. package/dist/dist-M6S4P3FJ.js +3 -0
  156. package/dist/dist-M6S4P3FJ.js.map +1 -0
  157. package/dist/dist-NR7QSCQT.js +3 -0
  158. package/dist/dist-NR7QSCQT.js.map +1 -0
  159. package/dist/dist-QLFMCMCX.js +3 -0
  160. package/dist/dist-QLFMCMCX.js.map +1 -0
  161. package/dist/dist-UY46BFRP.js +3 -0
  162. package/dist/dist-UY46BFRP.js.map +1 -0
  163. package/dist/dist-WCQDRTIV.cjs +16 -0
  164. package/dist/dist-WCQDRTIV.cjs.map +1 -0
  165. package/dist/dist-WKYB3LTJ.cjs +16 -0
  166. package/dist/dist-WKYB3LTJ.cjs.map +1 -0
  167. package/dist/index.cjs +2 -0
  168. package/dist/index.cjs.map +1 -0
  169. package/dist/index.d.ts +1 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +2 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/server/a2a/protocol.d.ts +8 -0
  174. package/dist/server/a2a/protocol.d.ts.map +1 -0
  175. package/dist/server/a2a/store.cjs +25 -0
  176. package/dist/server/a2a/store.cjs.map +1 -0
  177. package/dist/server/a2a/store.d.ts +14 -0
  178. package/dist/server/a2a/store.d.ts.map +1 -0
  179. package/dist/server/a2a/store.js +23 -0
  180. package/dist/server/a2a/store.js.map +1 -0
  181. package/dist/server/a2a/tasks.d.ts +20 -0
  182. package/dist/server/a2a/tasks.d.ts.map +1 -0
  183. package/dist/server/handlers/a2a.cjs +13 -11
  184. package/dist/server/handlers/a2a.cjs.map +1 -0
  185. package/dist/server/handlers/a2a.d.ts +68 -6
  186. package/dist/server/handlers/a2a.d.ts.map +1 -0
  187. package/dist/server/handlers/a2a.js +3 -1
  188. package/dist/server/handlers/a2a.js.map +1 -0
  189. package/dist/server/handlers/agent-builder.cjs +68 -0
  190. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  191. package/dist/server/handlers/agent-builder.d.ts +87 -0
  192. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  193. package/dist/server/handlers/agent-builder.js +3 -0
  194. package/dist/server/handlers/agent-builder.js.map +1 -0
  195. package/dist/server/handlers/agents.cjs +37 -7
  196. package/dist/server/handlers/agents.cjs.map +1 -0
  197. package/dist/server/handlers/agents.d.ts +129 -6
  198. package/dist/server/handlers/agents.d.ts.map +1 -0
  199. package/dist/server/handlers/agents.js +3 -1
  200. package/dist/server/handlers/agents.js.map +1 -0
  201. package/dist/server/handlers/error.cjs +4 -2
  202. package/dist/server/handlers/error.cjs.map +1 -0
  203. package/dist/server/handlers/error.d.ts +2 -1
  204. package/dist/server/handlers/error.d.ts.map +1 -0
  205. package/dist/server/handlers/error.js +3 -1
  206. package/dist/server/handlers/error.js.map +1 -0
  207. package/dist/server/handlers/legacyWorkflows.cjs +13 -11
  208. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  209. package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
  210. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  211. package/dist/server/handlers/legacyWorkflows.js +3 -1
  212. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  213. package/dist/server/handlers/logs.cjs +6 -4
  214. package/dist/server/handlers/logs.cjs.map +1 -0
  215. package/dist/server/handlers/logs.d.ts +34 -3
  216. package/dist/server/handlers/logs.d.ts.map +1 -0
  217. package/dist/server/handlers/logs.js +3 -1
  218. package/dist/server/handlers/logs.js.map +1 -0
  219. package/dist/server/handlers/memory.cjs +39 -9
  220. package/dist/server/handlers/memory.cjs.map +1 -0
  221. package/dist/server/handlers/memory.d.ts +118 -8
  222. package/dist/server/handlers/memory.d.ts.map +1 -0
  223. package/dist/server/handlers/memory.js +3 -1
  224. package/dist/server/handlers/memory.js.map +1 -0
  225. package/dist/server/handlers/network.cjs +7 -5
  226. package/dist/server/handlers/network.cjs.map +1 -0
  227. package/dist/server/handlers/network.d.ts +50 -4
  228. package/dist/server/handlers/network.d.ts.map +1 -0
  229. package/dist/server/handlers/network.js +3 -1
  230. package/dist/server/handlers/network.js.map +1 -0
  231. package/dist/server/handlers/observability.cjs +16 -0
  232. package/dist/server/handlers/observability.cjs.map +1 -0
  233. package/dist/server/handlers/observability.d.ts +23 -0
  234. package/dist/server/handlers/observability.d.ts.map +1 -0
  235. package/dist/server/handlers/observability.js +3 -0
  236. package/dist/server/handlers/observability.js.map +1 -0
  237. package/dist/server/handlers/scores.cjs +32 -0
  238. package/dist/server/handlers/scores.cjs.map +1 -0
  239. package/dist/server/handlers/scores.d.ts +49 -0
  240. package/dist/server/handlers/scores.d.ts.map +1 -0
  241. package/dist/server/handlers/scores.js +3 -0
  242. package/dist/server/handlers/scores.js.map +1 -0
  243. package/dist/server/handlers/telemetry.cjs +9 -3
  244. package/dist/server/handlers/telemetry.cjs.map +1 -0
  245. package/dist/server/handlers/telemetry.d.ts +33 -2
  246. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  247. package/dist/server/handlers/telemetry.js +3 -1
  248. package/dist/server/handlers/telemetry.js.map +1 -0
  249. package/dist/server/handlers/tools.cjs +11 -5
  250. package/dist/server/handlers/tools.cjs.map +1 -0
  251. package/dist/server/handlers/tools.d.ts +25 -4
  252. package/dist/server/handlers/tools.d.ts.map +1 -0
  253. package/dist/server/handlers/tools.js +3 -1
  254. package/dist/server/handlers/tools.js.map +1 -0
  255. package/dist/server/handlers/utils.cjs +8 -2
  256. package/dist/server/handlers/utils.cjs.map +1 -0
  257. package/dist/server/handlers/utils.d.ts +8 -1
  258. package/dist/server/handlers/utils.d.ts.map +1 -0
  259. package/dist/server/handlers/utils.js +3 -1
  260. package/dist/server/handlers/utils.js.map +1 -0
  261. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  262. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  263. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  264. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  265. package/dist/server/handlers/vNextNetwork.js +213 -0
  266. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  267. package/dist/server/handlers/vector.cjs +9 -7
  268. package/dist/server/handlers/vector.cjs.map +1 -0
  269. package/dist/server/handlers/vector.d.ts +51 -6
  270. package/dist/server/handlers/vector.d.ts.map +1 -0
  271. package/dist/server/handlers/vector.js +3 -1
  272. package/dist/server/handlers/vector.js.map +1 -0
  273. package/dist/server/handlers/voice.cjs +10 -4
  274. package/dist/server/handlers/voice.cjs.map +1 -0
  275. package/dist/server/handlers/voice.d.ts +39 -3
  276. package/dist/server/handlers/voice.d.ts.map +1 -0
  277. package/dist/server/handlers/voice.js +3 -1
  278. package/dist/server/handlers/voice.js.map +1 -0
  279. package/dist/server/handlers/workflows.cjs +30 -12
  280. package/dist/server/handlers/workflows.cjs.map +1 -0
  281. package/dist/server/handlers/workflows.d.ts +73 -11
  282. package/dist/server/handlers/workflows.d.ts.map +1 -0
  283. package/dist/server/handlers/workflows.js +3 -1
  284. package/dist/server/handlers/workflows.js.map +1 -0
  285. package/dist/server/handlers.cjs +49 -32
  286. package/dist/server/handlers.cjs.map +1 -0
  287. package/dist/server/handlers.d.ts +15 -11
  288. package/dist/server/handlers.d.ts.map +1 -0
  289. package/dist/server/handlers.js +16 -11
  290. package/dist/server/handlers.js.map +1 -0
  291. package/dist/server/http-exception.d.ts +87 -0
  292. package/dist/server/http-exception.d.ts.map +1 -0
  293. package/dist/server/types.d.ts +10 -0
  294. package/dist/server/types.d.ts.map +1 -0
  295. package/dist/server/utils.d.ts +42 -0
  296. package/dist/server/utils.d.ts.map +1 -0
  297. package/package.json +51 -21
  298. package/dist/_tsup-dts-rollup.d.cts +0 -830
  299. package/dist/_tsup-dts-rollup.d.ts +0 -830
  300. package/dist/chunk-57CJTIPW.cjs +0 -18
  301. package/dist/chunk-64U3UDTH.cjs +0 -13
  302. package/dist/chunk-75ZPJI57.cjs +0 -9
  303. package/dist/chunk-A3KDUGS7.cjs +0 -239
  304. package/dist/chunk-DJJIUEL2.js +0 -211
  305. package/dist/chunk-DQLE3DVM.js +0 -49
  306. package/dist/chunk-J3PKLB3A.js +0 -231
  307. package/dist/chunk-KUNQFY2W.js +0 -365
  308. package/dist/chunk-M5ABIP7D.js +0 -11
  309. package/dist/chunk-MLKGABMK.js +0 -7
  310. package/dist/chunk-MMO2HDM6.cjs +0 -378
  311. package/dist/chunk-NEOOQUKW.cjs +0 -54
  312. package/dist/chunk-Y7UWRW5X.cjs +0 -221
  313. package/dist/chunk-YBVOQN4M.cjs +0 -94
  314. package/dist/chunk-ZE5AAC4I.cjs +0 -138
  315. package/dist/index.d.cts +0 -1
  316. package/dist/server/handlers/a2a.d.cts +0 -6
  317. package/dist/server/handlers/agents.d.cts +0 -6
  318. package/dist/server/handlers/error.d.cts +0 -1
  319. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  320. package/dist/server/handlers/logs.d.cts +0 -3
  321. package/dist/server/handlers/memory.d.cts +0 -8
  322. package/dist/server/handlers/network.d.cts +0 -4
  323. package/dist/server/handlers/telemetry.d.cts +0 -2
  324. package/dist/server/handlers/tools.d.cts +0 -4
  325. package/dist/server/handlers/utils.d.cts +0 -1
  326. package/dist/server/handlers/vector.d.cts +0 -6
  327. package/dist/server/handlers/voice.d.cts +0 -3
  328. package/dist/server/handlers/workflows.d.cts +0 -11
  329. package/dist/server/handlers.d.cts +0 -11
@@ -0,0 +1,455 @@
1
+ import { xai as xai$1 } from './chunk-P7CIEIJ3.js';
2
+ import { google as google$1 } from './chunk-FQNT7PI4.js';
3
+ import { anthropic } from './chunk-RCHEPTZZ.js';
4
+ import { groq } from './chunk-EMNGA4R4.js';
5
+ import { xai } from './chunk-IOQGI4ML.js';
6
+ import { google } from './chunk-OGW6HHVI.js';
7
+ import { anthropic as anthropic$1 } from './chunk-LYPU75T6.js';
8
+ import { groq as groq$1 } from './chunk-66YYHFGF.js';
9
+ import { sanitizeBody, validateBody } from './chunk-4QCXUEAT.js';
10
+ import { openai } from './chunk-4RRMWXQ2.js';
11
+ import { openai as openai$1 } from './chunk-6GMFZ5LK.js';
12
+ import { stringify } from './chunk-LF2ZLOFP.js';
13
+ import { handleError } from './chunk-CY4TP3FK.js';
14
+ import { HTTPException } from './chunk-MMROOK5J.js';
15
+ import { __export } from './chunk-G3PMV62Z.js';
16
+ import { RuntimeContext } from '@mastra/core/runtime-context';
17
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
18
+
19
+ // src/server/handlers/agents.ts
20
+ var agents_exports = {};
21
+ __export(agents_exports, {
22
+ generateHandler: () => generateHandler,
23
+ generateLegacyHandler: () => generateLegacyHandler,
24
+ generateVNextHandler: () => generateVNextHandler,
25
+ getAgentByIdHandler: () => getAgentByIdHandler,
26
+ getAgentsHandler: () => getAgentsHandler,
27
+ getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
28
+ getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
29
+ getSerializedAgentTools: () => getSerializedAgentTools,
30
+ streamGenerateHandler: () => streamGenerateHandler,
31
+ streamGenerateLegacyHandler: () => streamGenerateLegacyHandler,
32
+ streamVNextGenerateHandler: () => streamVNextGenerateHandler,
33
+ streamVNextUIMessageHandler: () => streamVNextUIMessageHandler,
34
+ updateAgentModelHandler: () => updateAgentModelHandler
35
+ });
36
+ async function getSerializedAgentTools(tools) {
37
+ return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
38
+ const _tool = tool;
39
+ const toolId = _tool.id ?? `tool-${key}`;
40
+ let inputSchemaForReturn = void 0;
41
+ if (_tool.inputSchema) {
42
+ if (_tool.inputSchema?.jsonSchema) {
43
+ inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);
44
+ } else {
45
+ inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));
46
+ }
47
+ }
48
+ let outputSchemaForReturn = void 0;
49
+ if (_tool.outputSchema) {
50
+ if (_tool.outputSchema?.jsonSchema) {
51
+ outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);
52
+ } else {
53
+ outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));
54
+ }
55
+ }
56
+ acc[key] = {
57
+ ..._tool,
58
+ id: toolId,
59
+ inputSchema: inputSchemaForReturn,
60
+ outputSchema: outputSchemaForReturn
61
+ };
62
+ return acc;
63
+ }, {});
64
+ }
65
+ async function getAgentsHandler({ mastra, runtimeContext }) {
66
+ try {
67
+ const agents = mastra.getAgents();
68
+ const serializedAgentsMap = await Promise.all(
69
+ Object.entries(agents).map(async ([id, agent]) => {
70
+ const instructions = await agent.getInstructions({ runtimeContext });
71
+ const tools = await agent.getTools({ runtimeContext });
72
+ const llm = await agent.getLLM({ runtimeContext });
73
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
74
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
75
+ const serializedAgentTools = await getSerializedAgentTools(tools);
76
+ let serializedAgentWorkflows = {};
77
+ if ("getWorkflows" in agent) {
78
+ const logger = mastra.getLogger();
79
+ try {
80
+ const workflows = await agent.getWorkflows({ runtimeContext });
81
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
82
+ return {
83
+ ...acc,
84
+ [key]: {
85
+ name: workflow.name
86
+ }
87
+ };
88
+ }, {});
89
+ } catch (error) {
90
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
91
+ }
92
+ }
93
+ const model = llm?.getModel();
94
+ return {
95
+ id,
96
+ name: agent.name,
97
+ instructions,
98
+ tools: serializedAgentTools,
99
+ workflows: serializedAgentWorkflows,
100
+ provider: llm?.getProvider(),
101
+ modelId: llm?.getModelId(),
102
+ modelVersion: model?.specificationVersion,
103
+ defaultGenerateOptions,
104
+ defaultStreamOptions
105
+ };
106
+ })
107
+ );
108
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
109
+ acc[id] = rest;
110
+ return acc;
111
+ }, {});
112
+ return serializedAgents;
113
+ } catch (error) {
114
+ return handleError(error, "Error getting agents");
115
+ }
116
+ }
117
+ async function getAgentByIdHandler({
118
+ mastra,
119
+ runtimeContext,
120
+ agentId,
121
+ isPlayground = false
122
+ }) {
123
+ try {
124
+ const agent = mastra.getAgent(agentId);
125
+ if (!agent) {
126
+ throw new HTTPException(404, { message: "Agent not found" });
127
+ }
128
+ const tools = await agent.getTools({ runtimeContext });
129
+ const serializedAgentTools = await getSerializedAgentTools(tools);
130
+ let serializedAgentWorkflows = {};
131
+ if ("getWorkflows" in agent) {
132
+ const logger = mastra.getLogger();
133
+ try {
134
+ const workflows = await agent.getWorkflows({ runtimeContext });
135
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
136
+ return {
137
+ ...acc,
138
+ [key]: {
139
+ name: workflow.name,
140
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
141
+ return {
142
+ ...acc2,
143
+ [key2]: {
144
+ id: step.id,
145
+ description: step.description
146
+ }
147
+ };
148
+ }, {})
149
+ }
150
+ };
151
+ }, {});
152
+ } catch (error) {
153
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
154
+ }
155
+ }
156
+ let proxyRuntimeContext = runtimeContext;
157
+ if (isPlayground) {
158
+ proxyRuntimeContext = new Proxy(runtimeContext, {
159
+ get(target, prop) {
160
+ if (prop === "get") {
161
+ return function(key) {
162
+ const value = target.get(key);
163
+ return value ?? `<${key}>`;
164
+ };
165
+ }
166
+ return Reflect.get(target, prop);
167
+ }
168
+ });
169
+ }
170
+ const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });
171
+ const llm = await agent.getLLM({ runtimeContext });
172
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
173
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
174
+ const model = llm?.getModel();
175
+ return {
176
+ name: agent.name,
177
+ instructions,
178
+ tools: serializedAgentTools,
179
+ workflows: serializedAgentWorkflows,
180
+ provider: llm?.getProvider(),
181
+ modelId: llm?.getModelId(),
182
+ modelVersion: model?.specificationVersion,
183
+ defaultGenerateOptions,
184
+ defaultStreamOptions
185
+ };
186
+ } catch (error) {
187
+ return handleError(error, "Error getting agent");
188
+ }
189
+ }
190
+ async function getEvalsByAgentIdHandler({
191
+ mastra,
192
+ runtimeContext,
193
+ agentId
194
+ }) {
195
+ try {
196
+ const agent = mastra.getAgent(agentId);
197
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "test") || [];
198
+ const instructions = await agent.getInstructions({ runtimeContext });
199
+ return {
200
+ id: agentId,
201
+ name: agent.name,
202
+ instructions,
203
+ evals
204
+ };
205
+ } catch (error) {
206
+ return handleError(error, "Error getting test evals");
207
+ }
208
+ }
209
+ async function getLiveEvalsByAgentIdHandler({
210
+ mastra,
211
+ runtimeContext,
212
+ agentId
213
+ }) {
214
+ try {
215
+ const agent = mastra.getAgent(agentId);
216
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "live") || [];
217
+ const instructions = await agent.getInstructions({ runtimeContext });
218
+ return {
219
+ id: agentId,
220
+ name: agent.name,
221
+ instructions,
222
+ evals
223
+ };
224
+ } catch (error) {
225
+ return handleError(error, "Error getting live evals");
226
+ }
227
+ }
228
+ function generateHandler({
229
+ mastra,
230
+ ...args
231
+ }) {
232
+ const logger = mastra.getLogger();
233
+ logger?.warn(
234
+ "Deprecation NOTICE:\nGenerate method will switch to use generateVNext implementation September 16th. Please use generateLegacyHandler if you don't want to upgrade just yet."
235
+ );
236
+ return generateLegacyHandler({ mastra, ...args });
237
+ }
238
+ async function generateLegacyHandler({
239
+ mastra,
240
+ runtimeContext,
241
+ agentId,
242
+ body,
243
+ abortSignal
244
+ }) {
245
+ try {
246
+ const agent = mastra.getAgent(agentId);
247
+ if (!agent) {
248
+ throw new HTTPException(404, { message: "Agent not found" });
249
+ }
250
+ sanitizeBody(body, ["tools"]);
251
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
252
+ const finalResourceId = resourceId ?? resourceid;
253
+ const finalRuntimeContext = new RuntimeContext([
254
+ ...Array.from(runtimeContext.entries()),
255
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
256
+ ]);
257
+ validateBody({ messages });
258
+ const result = await agent.generate(messages, {
259
+ ...rest,
260
+ abortSignal,
261
+ // @ts-expect-error TODO fix types
262
+ resourceId: finalResourceId,
263
+ runtimeContext: finalRuntimeContext
264
+ });
265
+ return result;
266
+ } catch (error) {
267
+ return handleError(error, "Error generating from agent");
268
+ }
269
+ }
270
+ async function generateVNextHandler({
271
+ mastra,
272
+ runtimeContext,
273
+ agentId,
274
+ body,
275
+ abortSignal
276
+ }) {
277
+ try {
278
+ const agent = mastra.getAgent(agentId);
279
+ if (!agent) {
280
+ throw new HTTPException(404, { message: "Agent not found" });
281
+ }
282
+ sanitizeBody(body, ["tools"]);
283
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
284
+ const finalRuntimeContext = new RuntimeContext([
285
+ ...Array.from(runtimeContext.entries()),
286
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
287
+ ]);
288
+ validateBody({ messages });
289
+ const result = await agent.generateVNext(messages, {
290
+ ...rest,
291
+ runtimeContext: finalRuntimeContext,
292
+ format: rest.format || "mastra",
293
+ abortSignal
294
+ });
295
+ return result;
296
+ } catch (error) {
297
+ return handleError(error, "Error generating from agent");
298
+ }
299
+ }
300
+ async function streamGenerateHandler({
301
+ mastra,
302
+ ...args
303
+ }) {
304
+ const logger = mastra.getLogger();
305
+ logger?.warn(
306
+ "Deprecation NOTICE:\n Stream method will switch to use streamVNext implementation September 16th. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet."
307
+ );
308
+ return streamGenerateLegacyHandler({ mastra, ...args });
309
+ }
310
+ async function streamGenerateLegacyHandler({
311
+ mastra,
312
+ runtimeContext,
313
+ agentId,
314
+ body,
315
+ abortSignal
316
+ }) {
317
+ try {
318
+ const agent = mastra.getAgent(agentId);
319
+ if (!agent) {
320
+ throw new HTTPException(404, { message: "Agent not found" });
321
+ }
322
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
323
+ const finalResourceId = resourceId ?? resourceid;
324
+ const finalRuntimeContext = new RuntimeContext([
325
+ ...Array.from(runtimeContext.entries()),
326
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
327
+ ]);
328
+ validateBody({ messages });
329
+ const streamResult = await agent.stream(messages, {
330
+ ...rest,
331
+ abortSignal,
332
+ // @ts-expect-error TODO fix types
333
+ resourceId: finalResourceId,
334
+ runtimeContext: finalRuntimeContext
335
+ });
336
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
337
+ headers: {
338
+ "Transfer-Encoding": "chunked"
339
+ }
340
+ }) : streamResult.toDataStreamResponse({
341
+ sendUsage: true,
342
+ sendReasoning: true,
343
+ getErrorMessage: (error) => {
344
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
345
+ },
346
+ headers: {
347
+ "Transfer-Encoding": "chunked"
348
+ }
349
+ });
350
+ return streamResponse;
351
+ } catch (error) {
352
+ return handleError(error, "error streaming agent response");
353
+ }
354
+ }
355
+ function streamVNextGenerateHandler({
356
+ mastra,
357
+ runtimeContext,
358
+ agentId,
359
+ body,
360
+ abortSignal
361
+ }) {
362
+ try {
363
+ const agent = mastra.getAgent(agentId);
364
+ if (!agent) {
365
+ throw new HTTPException(404, { message: "Agent not found" });
366
+ }
367
+ sanitizeBody(body, ["tools"]);
368
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
369
+ const finalRuntimeContext = new RuntimeContext([
370
+ ...Array.from(runtimeContext.entries()),
371
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
372
+ ]);
373
+ validateBody({ messages });
374
+ const streamResult = agent.streamVNext(messages, {
375
+ ...rest,
376
+ runtimeContext: finalRuntimeContext,
377
+ abortSignal,
378
+ format: body.format ?? "mastra"
379
+ });
380
+ return streamResult;
381
+ } catch (error) {
382
+ return handleError(error, "error streaming agent response");
383
+ }
384
+ }
385
+ async function streamVNextUIMessageHandler({
386
+ mastra,
387
+ runtimeContext,
388
+ agentId,
389
+ body,
390
+ abortSignal
391
+ }) {
392
+ try {
393
+ const agent = mastra.getAgent(agentId);
394
+ if (!agent) {
395
+ throw new HTTPException(404, { message: "Agent not found" });
396
+ }
397
+ sanitizeBody(body, ["tools"]);
398
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
399
+ const finalRuntimeContext = new RuntimeContext([
400
+ ...Array.from(runtimeContext.entries()),
401
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
402
+ ]);
403
+ validateBody({ messages });
404
+ const streamResult = await agent.streamVNext(messages, {
405
+ ...rest,
406
+ runtimeContext: finalRuntimeContext,
407
+ abortSignal,
408
+ format: "aisdk"
409
+ });
410
+ return streamResult.toUIMessageStreamResponse();
411
+ } catch (error) {
412
+ return handleError(error, "error streaming agent response");
413
+ }
414
+ }
415
+ async function updateAgentModelHandler({
416
+ mastra,
417
+ agentId,
418
+ body
419
+ }) {
420
+ try {
421
+ const agent = mastra.getAgent(agentId);
422
+ if (!agent) {
423
+ throw new HTTPException(404, { message: "Agent not found" });
424
+ }
425
+ const agentModel = await agent.getModel();
426
+ const modelVersion = agentModel.specificationVersion;
427
+ const { modelId, provider } = body;
428
+ const providerMap = {
429
+ v1: {
430
+ openai: openai$1(modelId),
431
+ anthropic: anthropic$1(modelId),
432
+ groq: groq$1(modelId),
433
+ xai: xai$1(modelId),
434
+ google: google$1(modelId)
435
+ },
436
+ v2: {
437
+ openai: openai(modelId),
438
+ anthropic: anthropic(modelId),
439
+ groq: groq(modelId),
440
+ xai: xai(modelId),
441
+ google: google(modelId)
442
+ }
443
+ };
444
+ const modelVersionKey = modelVersion === "v2" ? "v2" : "v1";
445
+ let model = providerMap[modelVersionKey][provider];
446
+ agent.__updateModel({ model });
447
+ return { message: "Agent model updated" };
448
+ } catch (error) {
449
+ return handleError(error, "error updating agent model");
450
+ }
451
+ }
452
+
453
+ export { agents_exports, generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, streamGenerateHandler, streamGenerateLegacyHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler };
454
+ //# sourceMappingURL=chunk-M2YFWHSB.js.map
455
+ //# sourceMappingURL=chunk-M2YFWHSB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["acc","key","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-M2YFWHSB.js","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const model = llm?.getModel();\n\n return {\n id,\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\nGenerate method will switch to use generateVNext implementation September 16th. Please use generateLegacyHandler if you don't want to upgrade just yet.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\n Stream method will switch to use streamVNext implementation September 16th. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n let model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n"]}