@mastra/server 1.0.0-beta.1 → 1.0.0-beta.10

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 (302) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/dist/chunk-3SFLFUKY.js +116 -0
  3. package/dist/chunk-3SFLFUKY.js.map +1 -0
  4. package/dist/chunk-4W2SM6CG.js +294 -0
  5. package/dist/chunk-4W2SM6CG.js.map +1 -0
  6. package/dist/chunk-5W4RPVTK.cjs +49 -0
  7. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  8. package/dist/{chunk-D7T74TVR.js → chunk-6YWE7UPT.js} +18 -4
  9. package/dist/chunk-6YWE7UPT.js.map +1 -0
  10. package/dist/chunk-7HX4V5Y6.cjs +23268 -0
  11. package/dist/chunk-7HX4V5Y6.cjs.map +1 -0
  12. package/dist/chunk-7N3PD4SV.js +196 -0
  13. package/dist/chunk-7N3PD4SV.js.map +1 -0
  14. package/dist/chunk-AWBBXA36.js +23226 -0
  15. package/dist/chunk-AWBBXA36.js.map +1 -0
  16. package/dist/{chunk-KJIDZQRA.cjs → chunk-C3D3X2L5.cjs} +219 -24
  17. package/dist/chunk-C3D3X2L5.cjs.map +1 -0
  18. package/dist/{chunk-FPBYKMIS.js → chunk-CT5VG7NT.js} +213 -24
  19. package/dist/chunk-CT5VG7NT.js.map +1 -0
  20. package/dist/chunk-DG3INBBQ.js +1061 -0
  21. package/dist/chunk-DG3INBBQ.js.map +1 -0
  22. package/dist/chunk-DHWPHLGF.cjs +211 -0
  23. package/dist/chunk-DHWPHLGF.cjs.map +1 -0
  24. package/dist/chunk-DRUNNM4C.js +328 -0
  25. package/dist/chunk-DRUNNM4C.js.map +1 -0
  26. package/dist/{chunk-TOCYBDP2.js → chunk-ER3QM7DD.js} +4 -4
  27. package/dist/{chunk-TOCYBDP2.js.map → chunk-ER3QM7DD.js.map} +1 -1
  28. package/dist/chunk-ESZ6V5WB.cjs +916 -0
  29. package/dist/chunk-ESZ6V5WB.cjs.map +1 -0
  30. package/dist/chunk-FPCGLPLJ.cjs +297 -0
  31. package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
  32. package/dist/chunk-FYY54HZC.js +310 -0
  33. package/dist/chunk-FYY54HZC.js.map +1 -0
  34. package/dist/chunk-GFF2I6UD.js +354 -0
  35. package/dist/chunk-GFF2I6UD.js.map +1 -0
  36. package/dist/chunk-H2RMXG2Q.cjs +167 -0
  37. package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
  38. package/dist/chunk-HAJOEDNB.js +274 -0
  39. package/dist/chunk-HAJOEDNB.js.map +1 -0
  40. package/dist/chunk-HT4LP3BO.js +75 -0
  41. package/dist/chunk-HT4LP3BO.js.map +1 -0
  42. package/dist/chunk-I6LR6CPC.cjs +125 -0
  43. package/dist/chunk-I6LR6CPC.cjs.map +1 -0
  44. package/dist/chunk-IEYXQTUW.cjs +284 -0
  45. package/dist/chunk-IEYXQTUW.cjs.map +1 -0
  46. package/dist/chunk-MCYD5LW7.cjs +90 -0
  47. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  48. package/dist/chunk-PUFCKXFW.cjs +312 -0
  49. package/dist/chunk-PUFCKXFW.cjs.map +1 -0
  50. package/dist/{chunk-W2KMU354.cjs → chunk-PUSD37LD.cjs} +18 -4
  51. package/dist/chunk-PUSD37LD.cjs.map +1 -0
  52. package/dist/chunk-Q6SVIZLX.js +786 -0
  53. package/dist/chunk-Q6SVIZLX.js.map +1 -0
  54. package/dist/chunk-QNVYGEJ4.js +204 -0
  55. package/dist/chunk-QNVYGEJ4.js.map +1 -0
  56. package/dist/chunk-R56K77E2.cjs +810 -0
  57. package/dist/chunk-R56K77E2.cjs.map +1 -0
  58. package/dist/chunk-S3TIWWQL.cjs +322 -0
  59. package/dist/chunk-S3TIWWQL.cjs.map +1 -0
  60. package/dist/chunk-SXVANU23.js +164 -0
  61. package/dist/chunk-SXVANU23.js.map +1 -0
  62. package/dist/chunk-TYZ6ZISQ.cjs +368 -0
  63. package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
  64. package/dist/chunk-US6Y5RLR.cjs +205 -0
  65. package/dist/chunk-US6Y5RLR.cjs.map +1 -0
  66. package/dist/chunk-UTIOKR5C.js +887 -0
  67. package/dist/chunk-UTIOKR5C.js.map +1 -0
  68. package/dist/{chunk-QU6N55W6.cjs → chunk-V272B7RM.cjs} +11 -12
  69. package/dist/chunk-V272B7RM.cjs.map +1 -0
  70. package/dist/chunk-WE4USCF3.js +226 -0
  71. package/dist/chunk-WE4USCF3.js.map +1 -0
  72. package/dist/chunk-WVAQXM6W.cjs +1105 -0
  73. package/dist/chunk-WVAQXM6W.cjs.map +1 -0
  74. package/dist/chunk-X43DWDXB.cjs +346 -0
  75. package/dist/chunk-X43DWDXB.cjs.map +1 -0
  76. package/dist/chunk-X4QMPCTP.cjs +259 -0
  77. package/dist/chunk-X4QMPCTP.cjs.map +1 -0
  78. package/dist/{chunk-X6C7BUWN.cjs → chunk-XQPJ63ZD.cjs} +4 -4
  79. package/dist/{chunk-X6C7BUWN.cjs.map → chunk-XQPJ63ZD.cjs.map} +1 -1
  80. package/dist/chunk-XW2HXQDO.js +302 -0
  81. package/dist/chunk-XW2HXQDO.js.map +1 -0
  82. package/dist/chunk-XWGAT2DA.js +44 -0
  83. package/dist/chunk-XWGAT2DA.js.map +1 -0
  84. package/dist/{chunk-SHWNNZBL.js → chunk-YP34EWWK.js} +9 -10
  85. package/dist/chunk-YP34EWWK.js.map +1 -0
  86. package/dist/server/auth/defaults.d.ts +3 -0
  87. package/dist/server/auth/defaults.d.ts.map +1 -0
  88. package/dist/server/auth/helpers.d.ts +14 -0
  89. package/dist/server/auth/helpers.d.ts.map +1 -0
  90. package/dist/server/auth/index.cjs +137 -0
  91. package/dist/server/auth/index.cjs.map +1 -0
  92. package/dist/server/auth/index.d.ts +3 -0
  93. package/dist/server/auth/index.d.ts.map +1 -0
  94. package/dist/server/auth/index.js +127 -0
  95. package/dist/server/auth/index.js.map +1 -0
  96. package/dist/server/handlers/a2a.cjs +15 -7
  97. package/dist/server/handlers/a2a.d.ts +482 -0
  98. package/dist/server/handlers/a2a.d.ts.map +1 -1
  99. package/dist/server/handlers/a2a.js +1 -1
  100. package/dist/server/handlers/agent-builder.cjs +37 -37
  101. package/dist/server/handlers/agent-builder.d.ts +599 -77
  102. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  103. package/dist/server/handlers/agent-builder.js +1 -1
  104. package/dist/server/handlers/agents.cjs +53 -37
  105. package/dist/server/handlers/agents.d.ts +3273 -128
  106. package/dist/server/handlers/agents.d.ts.map +1 -1
  107. package/dist/server/handlers/agents.js +1 -1
  108. package/dist/server/handlers/logs.cjs +7 -7
  109. package/dist/server/handlers/logs.d.ts +135 -27
  110. package/dist/server/handlers/logs.d.ts.map +1 -1
  111. package/dist/server/handlers/logs.js +1 -1
  112. package/dist/server/handlers/mcp.cjs +40 -0
  113. package/dist/server/handlers/mcp.cjs.map +1 -0
  114. package/dist/server/handlers/mcp.d.ts +110 -0
  115. package/dist/server/handlers/mcp.d.ts.map +1 -0
  116. package/dist/server/handlers/mcp.js +3 -0
  117. package/dist/server/handlers/mcp.js.map +1 -0
  118. package/dist/server/handlers/memory.cjs +67 -27
  119. package/dist/server/handlers/memory.d.ts +933 -96
  120. package/dist/server/handlers/memory.d.ts.map +1 -1
  121. package/dist/server/handlers/memory.js +1 -1
  122. package/dist/server/handlers/observability.cjs +21 -5
  123. package/dist/server/handlers/observability.d.ts +119 -12
  124. package/dist/server/handlers/observability.d.ts.map +1 -1
  125. package/dist/server/handlers/observability.js +1 -1
  126. package/dist/server/handlers/scores.cjs +13 -13
  127. package/dist/server/handlers/scores.d.ts +110 -141
  128. package/dist/server/handlers/scores.d.ts.map +1 -1
  129. package/dist/server/handlers/scores.js +1 -1
  130. package/dist/server/handlers/stored-agents.cjs +28 -0
  131. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  132. package/dist/server/handlers/stored-agents.d.ts +289 -0
  133. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  134. package/dist/server/handlers/stored-agents.js +3 -0
  135. package/dist/server/handlers/stored-agents.js.map +1 -0
  136. package/dist/server/handlers/test-utils.cjs +15 -0
  137. package/dist/server/handlers/test-utils.cjs.map +1 -0
  138. package/dist/server/handlers/test-utils.d.ts +6 -0
  139. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  140. package/dist/server/handlers/test-utils.js +13 -0
  141. package/dist/server/handlers/test-utils.js.map +1 -0
  142. package/dist/server/handlers/tools.cjs +11 -11
  143. package/dist/server/handlers/tools.d.ts +69 -23
  144. package/dist/server/handlers/tools.d.ts.map +1 -1
  145. package/dist/server/handlers/tools.js +1 -1
  146. package/dist/server/handlers/utils.cjs +11 -3
  147. package/dist/server/handlers/utils.d.ts +5 -0
  148. package/dist/server/handlers/utils.d.ts.map +1 -1
  149. package/dist/server/handlers/utils.js +1 -1
  150. package/dist/server/handlers/vector.cjs +31 -7
  151. package/dist/server/handlers/vector.d.ts +93 -9
  152. package/dist/server/handlers/vector.d.ts.map +1 -1
  153. package/dist/server/handlers/vector.js +1 -1
  154. package/dist/server/handlers/voice.cjs +21 -9
  155. package/dist/server/handlers/voice.d.ts +81 -40
  156. package/dist/server/handlers/voice.d.ts.map +1 -1
  157. package/dist/server/handlers/voice.js +1 -1
  158. package/dist/server/handlers/workflows.cjs +69 -37
  159. package/dist/server/handlers/workflows.d.ts +927 -79
  160. package/dist/server/handlers/workflows.d.ts.map +1 -1
  161. package/dist/server/handlers/workflows.js +1 -1
  162. package/dist/server/handlers.cjs +36 -31
  163. package/dist/server/handlers.d.ts +1 -0
  164. package/dist/server/handlers.d.ts.map +1 -1
  165. package/dist/server/handlers.js +12 -11
  166. package/dist/server/schemas/a2a.d.ts +786 -0
  167. package/dist/server/schemas/a2a.d.ts.map +1 -0
  168. package/dist/server/schemas/agent-builder.d.ts +204 -0
  169. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  170. package/dist/server/schemas/agents.d.ts +1375 -0
  171. package/dist/server/schemas/agents.d.ts.map +1 -0
  172. package/dist/server/schemas/common.d.ts +179 -0
  173. package/dist/server/schemas/common.d.ts.map +1 -0
  174. package/dist/server/schemas/logs.d.ts +124 -0
  175. package/dist/server/schemas/logs.d.ts.map +1 -0
  176. package/dist/server/schemas/mcp.d.ts +299 -0
  177. package/dist/server/schemas/mcp.d.ts.map +1 -0
  178. package/dist/server/schemas/memory.d.ts +998 -0
  179. package/dist/server/schemas/memory.d.ts.map +1 -0
  180. package/dist/server/schemas/observability.d.ts +402 -0
  181. package/dist/server/schemas/observability.d.ts.map +1 -0
  182. package/dist/server/schemas/scores.d.ts +259 -0
  183. package/dist/server/schemas/scores.d.ts.map +1 -0
  184. package/dist/server/schemas/stored-agents.d.ts +792 -0
  185. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  186. package/dist/server/schemas/vectors.d.ts +107 -0
  187. package/dist/server/schemas/vectors.d.ts.map +1 -0
  188. package/dist/server/schemas/workflows.d.ts +602 -0
  189. package/dist/server/schemas/workflows.d.ts.map +1 -0
  190. package/dist/server/server-adapter/index.cjs +481 -0
  191. package/dist/server/server-adapter/index.cjs.map +1 -0
  192. package/dist/server/server-adapter/index.d.ts +91 -0
  193. package/dist/server/server-adapter/index.d.ts.map +1 -0
  194. package/dist/server/server-adapter/index.js +466 -0
  195. package/dist/server/server-adapter/index.js.map +1 -0
  196. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  197. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  198. package/dist/server/server-adapter/redact.d.ts +26 -0
  199. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  200. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  201. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  202. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  203. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  204. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  205. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  206. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  207. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  208. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  209. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  210. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  211. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  212. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  213. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  214. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  215. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  216. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  217. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  218. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  219. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  220. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  221. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  222. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  223. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  224. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  225. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  226. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  227. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  228. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  229. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  230. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  231. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  232. package/dist/server/utils.d.ts +1 -1
  233. package/dist/server/utils.d.ts.map +1 -1
  234. package/dist/token-GVZ7HRD7.js +62 -0
  235. package/dist/{token-C3IMNCC4.js.map → token-GVZ7HRD7.js.map} +1 -1
  236. package/dist/{token-C3IMNCC4.js → token-JGA3ZWAN.js} +5 -6
  237. package/dist/token-JGA3ZWAN.js.map +1 -0
  238. package/dist/token-VFONFWVS.cjs +64 -0
  239. package/dist/{token-375W3LEI.cjs.map → token-VFONFWVS.cjs.map} +1 -1
  240. package/dist/{token-375W3LEI.cjs → token-ZOD6YIQ3.cjs} +7 -8
  241. package/dist/token-ZOD6YIQ3.cjs.map +1 -0
  242. package/dist/token-util-7R2ZFIXO.js +7 -0
  243. package/dist/{token-util-E5QO2RCL.js.map → token-util-7R2ZFIXO.js.map} +1 -1
  244. package/dist/token-util-BLJZJDBZ.cjs +9 -0
  245. package/dist/{token-util-CV3RRG6K.cjs.map → token-util-BLJZJDBZ.cjs.map} +1 -1
  246. package/dist/token-util-VGZUWSNR.cjs +9 -0
  247. package/dist/token-util-VGZUWSNR.cjs.map +1 -0
  248. package/dist/token-util-VKTPZLSE.js +7 -0
  249. package/dist/token-util-VKTPZLSE.js.map +1 -0
  250. package/package.json +30 -5
  251. package/dist/chunk-2IS5WICF.js +0 -23036
  252. package/dist/chunk-2IS5WICF.js.map +0 -1
  253. package/dist/chunk-2YZH5PH6.cjs +0 -200
  254. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  255. package/dist/chunk-3AMNUUZF.js +0 -124
  256. package/dist/chunk-3AMNUUZF.js.map +0 -1
  257. package/dist/chunk-3F52QCI4.js +0 -192
  258. package/dist/chunk-3F52QCI4.js.map +0 -1
  259. package/dist/chunk-4JF5WXPL.js +0 -502
  260. package/dist/chunk-4JF5WXPL.js.map +0 -1
  261. package/dist/chunk-73PAWDM5.js +0 -83
  262. package/dist/chunk-73PAWDM5.js.map +0 -1
  263. package/dist/chunk-A24TSVEZ.cjs +0 -130
  264. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  265. package/dist/chunk-A2NPD5N6.cjs +0 -517
  266. package/dist/chunk-A2NPD5N6.cjs.map +0 -1
  267. package/dist/chunk-B3Z6J745.js +0 -122
  268. package/dist/chunk-B3Z6J745.js.map +0 -1
  269. package/dist/chunk-BTWIR2B7.cjs +0 -28
  270. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  271. package/dist/chunk-D7T74TVR.js.map +0 -1
  272. package/dist/chunk-EHACNWDL.cjs +0 -681
  273. package/dist/chunk-EHACNWDL.cjs.map +0 -1
  274. package/dist/chunk-FPBYKMIS.js.map +0 -1
  275. package/dist/chunk-GLAZTMX3.cjs +0 -128
  276. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  277. package/dist/chunk-ID6JYDNL.cjs +0 -23075
  278. package/dist/chunk-ID6JYDNL.cjs.map +0 -1
  279. package/dist/chunk-KF3RI45U.cjs +0 -172
  280. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  281. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  282. package/dist/chunk-KWH5QBXP.js +0 -123
  283. package/dist/chunk-KWH5QBXP.js.map +0 -1
  284. package/dist/chunk-ND5OKOMT.js +0 -165
  285. package/dist/chunk-ND5OKOMT.js.map +0 -1
  286. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  287. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  288. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  289. package/dist/chunk-S54HNARD.cjs +0 -131
  290. package/dist/chunk-S54HNARD.cjs.map +0 -1
  291. package/dist/chunk-SHWNNZBL.js.map +0 -1
  292. package/dist/chunk-SZIFSF4T.js +0 -25
  293. package/dist/chunk-SZIFSF4T.js.map +0 -1
  294. package/dist/chunk-W2KMU354.cjs.map +0 -1
  295. package/dist/chunk-X3MICMI2.cjs +0 -620
  296. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  297. package/dist/chunk-Z2O5YVHY.js +0 -661
  298. package/dist/chunk-Z2O5YVHY.js.map +0 -1
  299. package/dist/chunk-ZJ6KEY6H.js +0 -600
  300. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  301. package/dist/token-util-CV3RRG6K.cjs +0 -9
  302. package/dist/token-util-E5QO2RCL.js +0 -7
@@ -0,0 +1,786 @@
1
+ import { sanitizeBody, validateBody } from './chunk-XWGAT2DA.js';
2
+ import { listAgentsResponseSchema, serializedAgentSchema, agentIdPathParams, generateResponseSchema, agentExecutionBodySchema, streamResponseSchema, providersResponseSchema, toolCallResponseSchema, approveToolCallBodySchema, declineToolCallBodySchema, modelManagementResponseSchema, updateAgentModelBodySchema, reorderAgentModelListBodySchema, updateAgentModelInModelListBodySchema, modelConfigIdPathParams } from './chunk-WE4USCF3.js';
3
+ import { stringify } from './chunk-LF2ZLOFP.js';
4
+ import { createRoute } from './chunk-SXVANU23.js';
5
+ import { handleError } from './chunk-UXGQZUYZ.js';
6
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
7
+ import { __export } from './chunk-PR4QN5HX.js';
8
+ import { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';
9
+ import { PROVIDER_REGISTRY } from '@mastra/core/llm';
10
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
11
+ import { z } from 'zod';
12
+
13
+ // src/server/handlers/agents.ts
14
+ var agents_exports = {};
15
+ __export(agents_exports, {
16
+ APPROVE_TOOL_CALL_ROUTE: () => APPROVE_TOOL_CALL_ROUTE,
17
+ DECLINE_TOOL_CALL_ROUTE: () => DECLINE_TOOL_CALL_ROUTE,
18
+ GENERATE_AGENT_ROUTE: () => GENERATE_AGENT_ROUTE,
19
+ GENERATE_AGENT_VNEXT_ROUTE: () => GENERATE_AGENT_VNEXT_ROUTE,
20
+ GENERATE_LEGACY_ROUTE: () => GENERATE_LEGACY_ROUTE,
21
+ GET_AGENT_BY_ID_ROUTE: () => GET_AGENT_BY_ID_ROUTE,
22
+ GET_PROVIDERS_ROUTE: () => GET_PROVIDERS_ROUTE,
23
+ LIST_AGENTS_ROUTE: () => LIST_AGENTS_ROUTE,
24
+ REORDER_AGENT_MODEL_LIST_ROUTE: () => REORDER_AGENT_MODEL_LIST_ROUTE,
25
+ RESET_AGENT_MODEL_ROUTE: () => RESET_AGENT_MODEL_ROUTE,
26
+ STREAM_GENERATE_LEGACY_ROUTE: () => STREAM_GENERATE_LEGACY_ROUTE,
27
+ STREAM_GENERATE_ROUTE: () => STREAM_GENERATE_ROUTE,
28
+ STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE: () => STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,
29
+ STREAM_NETWORK_ROUTE: () => STREAM_NETWORK_ROUTE,
30
+ STREAM_UI_MESSAGE_DEPRECATED_ROUTE: () => STREAM_UI_MESSAGE_DEPRECATED_ROUTE,
31
+ STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE: () => STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,
32
+ STREAM_VNEXT_DEPRECATED_ROUTE: () => STREAM_VNEXT_DEPRECATED_ROUTE,
33
+ UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE: () => UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,
34
+ UPDATE_AGENT_MODEL_ROUTE: () => UPDATE_AGENT_MODEL_ROUTE,
35
+ getAgentFromSystem: () => getAgentFromSystem,
36
+ getSerializedAgentTools: () => getSerializedAgentTools,
37
+ getSerializedProcessors: () => getSerializedProcessors
38
+ });
39
+ async function getSerializedAgentTools(tools, partial = false) {
40
+ return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
41
+ const toolId = tool.id ?? `tool-${key}`;
42
+ let inputSchemaForReturn = void 0;
43
+ let outputSchemaForReturn = void 0;
44
+ if (!partial) {
45
+ try {
46
+ if (tool.inputSchema) {
47
+ if (tool.inputSchema && typeof tool.inputSchema === "object" && "jsonSchema" in tool.inputSchema) {
48
+ inputSchemaForReturn = stringify(tool.inputSchema.jsonSchema);
49
+ } else if (typeof tool.inputSchema === "function") {
50
+ const inputSchema = tool.inputSchema();
51
+ if (inputSchema && inputSchema.jsonSchema) {
52
+ inputSchemaForReturn = stringify(inputSchema.jsonSchema);
53
+ }
54
+ } else if (tool.inputSchema) {
55
+ inputSchemaForReturn = stringify(
56
+ zodToJsonSchema(tool.inputSchema)
57
+ );
58
+ }
59
+ }
60
+ if (tool.outputSchema) {
61
+ if (tool.outputSchema && typeof tool.outputSchema === "object" && "jsonSchema" in tool.outputSchema) {
62
+ outputSchemaForReturn = stringify(tool.outputSchema.jsonSchema);
63
+ } else if (typeof tool.outputSchema === "function") {
64
+ const outputSchema = tool.outputSchema();
65
+ if (outputSchema && outputSchema.jsonSchema) {
66
+ outputSchemaForReturn = stringify(outputSchema.jsonSchema);
67
+ }
68
+ } else if (tool.outputSchema) {
69
+ outputSchemaForReturn = stringify(
70
+ zodToJsonSchema(tool.outputSchema)
71
+ );
72
+ }
73
+ }
74
+ } catch (error) {
75
+ console.error(`Error getting serialized tool`, {
76
+ toolId: tool.id,
77
+ error
78
+ });
79
+ }
80
+ }
81
+ acc[key] = {
82
+ ...tool,
83
+ id: toolId,
84
+ inputSchema: inputSchemaForReturn,
85
+ outputSchema: outputSchemaForReturn
86
+ };
87
+ return acc;
88
+ }, {});
89
+ }
90
+ function getSerializedProcessors(processors) {
91
+ return processors.map((processor) => {
92
+ return {
93
+ id: processor.id,
94
+ name: processor.name || processor.constructor.name
95
+ };
96
+ });
97
+ }
98
+ async function getSerializedAgentDefinition({
99
+ agent,
100
+ requestContext
101
+ }) {
102
+ let serializedAgentAgents = {};
103
+ if ("listAgents" in agent) {
104
+ const agents = await agent.listAgents({ requestContext });
105
+ serializedAgentAgents = Object.entries(agents || {}).reduce(
106
+ (acc, [key, agent2]) => {
107
+ return {
108
+ ...acc,
109
+ [key]: { id: agent2.id, name: agent2.name }
110
+ };
111
+ },
112
+ {}
113
+ );
114
+ }
115
+ return serializedAgentAgents;
116
+ }
117
+ async function formatAgentList({
118
+ id,
119
+ mastra,
120
+ agent,
121
+ requestContext,
122
+ partial = false
123
+ }) {
124
+ const description = agent.getDescription();
125
+ const instructions = await agent.getInstructions({ requestContext });
126
+ const tools = await agent.listTools({ requestContext });
127
+ const llm = await agent.getLLM({ requestContext });
128
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });
129
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });
130
+ const defaultOptions = await agent.getDefaultOptions({ requestContext });
131
+ const serializedAgentTools = await getSerializedAgentTools(tools, partial);
132
+ let serializedAgentWorkflows = {};
133
+ if ("listWorkflows" in agent) {
134
+ const logger = mastra.getLogger();
135
+ try {
136
+ const workflows = await agent.listWorkflows({ requestContext });
137
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
138
+ return {
139
+ ...acc,
140
+ [key]: {
141
+ name: workflow.name || "Unnamed workflow"
142
+ }
143
+ };
144
+ }, {});
145
+ } catch (error) {
146
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
147
+ }
148
+ }
149
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });
150
+ const inputProcessors = await agent.listInputProcessors(requestContext);
151
+ const outputProcessors = await agent.listOutputProcessors(requestContext);
152
+ const serializedInputProcessors = getSerializedProcessors(inputProcessors);
153
+ const serializedOutputProcessors = getSerializedProcessors(outputProcessors);
154
+ const model = llm?.getModel();
155
+ const models = await agent.getModelList(requestContext);
156
+ const modelList = models?.map((md) => ({
157
+ ...md,
158
+ model: {
159
+ modelId: md.model.modelId,
160
+ provider: md.model.provider,
161
+ modelVersion: md.model.specificationVersion
162
+ }
163
+ }));
164
+ return {
165
+ id: agent.id || id,
166
+ name: agent.name,
167
+ description,
168
+ instructions,
169
+ agents: serializedAgentAgents,
170
+ tools: serializedAgentTools,
171
+ workflows: serializedAgentWorkflows,
172
+ inputProcessors: serializedInputProcessors,
173
+ outputProcessors: serializedOutputProcessors,
174
+ provider: llm?.getProvider(),
175
+ modelId: llm?.getModelId(),
176
+ modelVersion: model?.specificationVersion,
177
+ defaultOptions,
178
+ modelList,
179
+ defaultGenerateOptionsLegacy,
180
+ defaultStreamOptionsLegacy
181
+ };
182
+ }
183
+ async function getAgentFromSystem({ mastra, agentId }) {
184
+ const logger = mastra.getLogger();
185
+ if (!agentId) {
186
+ throw new HTTPException(400, { message: "Agent ID is required" });
187
+ }
188
+ let agent;
189
+ try {
190
+ agent = mastra.getAgentById(agentId);
191
+ } catch (error) {
192
+ logger.debug("Error getting agent from mastra, searching agents for agent", error);
193
+ }
194
+ if (!agent) {
195
+ logger.debug(`Agent ${agentId} not found, looking through sub-agents`);
196
+ const agents = mastra.listAgents();
197
+ if (Object.keys(agents || {}).length) {
198
+ for (const [_, ag] of Object.entries(agents)) {
199
+ try {
200
+ const subAgents = await ag.listAgents();
201
+ if (subAgents[agentId]) {
202
+ agent = subAgents[agentId];
203
+ break;
204
+ }
205
+ } catch (error) {
206
+ logger.debug("Error getting agent from agent", error);
207
+ }
208
+ }
209
+ }
210
+ }
211
+ if (!agent) {
212
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
213
+ }
214
+ return agent;
215
+ }
216
+ async function formatAgent({
217
+ mastra,
218
+ agent,
219
+ requestContext,
220
+ isStudio
221
+ }) {
222
+ const description = agent.getDescription();
223
+ const tools = await agent.listTools({ requestContext });
224
+ const serializedAgentTools = await getSerializedAgentTools(tools);
225
+ let serializedAgentWorkflows = {};
226
+ if ("listWorkflows" in agent) {
227
+ const logger = mastra.getLogger();
228
+ try {
229
+ const workflows = await agent.listWorkflows({ requestContext });
230
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
231
+ return {
232
+ ...acc,
233
+ [key]: {
234
+ name: workflow.name || "Unnamed workflow",
235
+ steps: Object.entries(workflow.steps).reduce(
236
+ (acc2, [key2, step]) => {
237
+ return {
238
+ ...acc2,
239
+ [key2]: {
240
+ id: step.id,
241
+ description: step.description
242
+ }
243
+ };
244
+ },
245
+ {}
246
+ )
247
+ }
248
+ };
249
+ }, {});
250
+ } catch (error) {
251
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
252
+ }
253
+ }
254
+ let proxyRequestContext = requestContext;
255
+ const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });
256
+ const llm = await agent.getLLM({ requestContext });
257
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({
258
+ requestContext: proxyRequestContext
259
+ });
260
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });
261
+ const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });
262
+ const model = llm?.getModel();
263
+ const models = await agent.getModelList(requestContext);
264
+ const modelList = models?.map((md) => ({
265
+ ...md,
266
+ model: {
267
+ modelId: md.model.modelId,
268
+ provider: md.model.provider,
269
+ modelVersion: md.model.specificationVersion
270
+ }
271
+ }));
272
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });
273
+ const inputProcessors = await agent.listInputProcessors(proxyRequestContext);
274
+ const outputProcessors = await agent.listOutputProcessors(proxyRequestContext);
275
+ const serializedInputProcessors = getSerializedProcessors(inputProcessors);
276
+ const serializedOutputProcessors = getSerializedProcessors(outputProcessors);
277
+ return {
278
+ name: agent.name,
279
+ description,
280
+ instructions,
281
+ tools: serializedAgentTools,
282
+ agents: serializedAgentAgents,
283
+ workflows: serializedAgentWorkflows,
284
+ inputProcessors: serializedInputProcessors,
285
+ outputProcessors: serializedOutputProcessors,
286
+ provider: llm?.getProvider(),
287
+ modelId: llm?.getModelId(),
288
+ modelVersion: model?.specificationVersion,
289
+ modelList,
290
+ defaultOptions,
291
+ defaultGenerateOptionsLegacy,
292
+ defaultStreamOptionsLegacy
293
+ };
294
+ }
295
+ var LIST_AGENTS_ROUTE = createRoute({
296
+ method: "GET",
297
+ path: "/api/agents",
298
+ responseType: "json",
299
+ queryParamSchema: z.object({
300
+ partial: z.string().optional()
301
+ }),
302
+ responseSchema: listAgentsResponseSchema,
303
+ summary: "List all agents",
304
+ description: "Returns a list of all available agents in the system",
305
+ tags: ["Agents"],
306
+ handler: async ({ mastra, requestContext, partial }) => {
307
+ try {
308
+ const agents = mastra.listAgents();
309
+ const isPartial = partial === "true";
310
+ const serializedAgentsMap = await Promise.all(
311
+ Object.entries(agents).map(async ([id, agent]) => {
312
+ return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });
313
+ })
314
+ );
315
+ const serializedAgents = serializedAgentsMap.reduce(
316
+ (acc, { id, ...rest }) => {
317
+ acc[id] = { id, ...rest };
318
+ return acc;
319
+ },
320
+ {}
321
+ );
322
+ return serializedAgents;
323
+ } catch (error) {
324
+ return handleError(error, "Error getting agents");
325
+ }
326
+ }
327
+ });
328
+ var GET_AGENT_BY_ID_ROUTE = createRoute({
329
+ method: "GET",
330
+ path: "/api/agents/:agentId",
331
+ responseType: "json",
332
+ pathParamSchema: agentIdPathParams,
333
+ responseSchema: serializedAgentSchema,
334
+ summary: "Get agent by ID",
335
+ description: "Returns details for a specific agent including configuration, tools, and memory settings",
336
+ tags: ["Agents"],
337
+ handler: async ({ agentId, mastra, requestContext }) => {
338
+ try {
339
+ const agent = await getAgentFromSystem({ mastra, agentId });
340
+ const isStudio = false;
341
+ const result = await formatAgent({
342
+ mastra,
343
+ agent,
344
+ requestContext,
345
+ isStudio
346
+ });
347
+ return result;
348
+ } catch (error) {
349
+ return handleError(error, "Error getting agent");
350
+ }
351
+ }
352
+ });
353
+ var GENERATE_AGENT_ROUTE = createRoute({
354
+ method: "POST",
355
+ path: "/api/agents/:agentId/generate",
356
+ responseType: "json",
357
+ pathParamSchema: agentIdPathParams,
358
+ bodySchema: agentExecutionBodySchema,
359
+ responseSchema: generateResponseSchema,
360
+ summary: "Generate agent response",
361
+ description: "Executes an agent with the provided messages and returns the complete response",
362
+ tags: ["Agents"],
363
+ handler: async ({ agentId, mastra, abortSignal, ...params }) => {
364
+ try {
365
+ const agent = await getAgentFromSystem({ mastra, agentId });
366
+ sanitizeBody(params, ["tools"]);
367
+ const { messages, ...rest } = params;
368
+ validateBody({ messages });
369
+ const result = await agent.generate(messages, {
370
+ ...rest,
371
+ abortSignal
372
+ });
373
+ return result;
374
+ } catch (error) {
375
+ return handleError(error, "Error generating from agent");
376
+ }
377
+ }
378
+ });
379
+ var GENERATE_LEGACY_ROUTE = createRoute({
380
+ method: "POST",
381
+ path: "/api/agents/:agentId/generate-legacy",
382
+ responseType: "json",
383
+ pathParamSchema: agentIdPathParams,
384
+ bodySchema: agentExecutionBodySchema,
385
+ responseSchema: generateResponseSchema,
386
+ summary: "[DEPRECATED] Generate with legacy format",
387
+ description: "Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.",
388
+ tags: ["Agents", "Legacy"],
389
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
390
+ try {
391
+ const agent = await getAgentFromSystem({ mastra, agentId });
392
+ sanitizeBody(params, ["tools"]);
393
+ const { messages, resourceId, resourceid, threadId, ...rest } = params;
394
+ const finalResourceId = resourceId ?? resourceid;
395
+ validateBody({ messages });
396
+ if (threadId && !finalResourceId || !threadId && finalResourceId) {
397
+ throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
398
+ }
399
+ const result = await agent.generateLegacy(messages, {
400
+ ...rest,
401
+ abortSignal,
402
+ resourceId: finalResourceId ?? "",
403
+ threadId: threadId ?? ""
404
+ });
405
+ return result;
406
+ } catch (error) {
407
+ return handleError(error, "Error generating from agent");
408
+ }
409
+ }
410
+ });
411
+ var STREAM_GENERATE_LEGACY_ROUTE = createRoute({
412
+ method: "POST",
413
+ path: "/api/agents/:agentId/stream-legacy",
414
+ responseType: "datastream-response",
415
+ pathParamSchema: agentIdPathParams,
416
+ bodySchema: agentExecutionBodySchema,
417
+ responseSchema: streamResponseSchema,
418
+ summary: "[DEPRECATED] Stream with legacy format",
419
+ description: "Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.",
420
+ tags: ["Agents", "Legacy"],
421
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
422
+ try {
423
+ const agent = await getAgentFromSystem({ mastra, agentId });
424
+ sanitizeBody(params, ["tools"]);
425
+ const { messages, resourceId, resourceid, threadId, ...rest } = params;
426
+ const finalResourceId = resourceId ?? resourceid;
427
+ validateBody({ messages });
428
+ if (threadId && !finalResourceId || !threadId && finalResourceId) {
429
+ throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
430
+ }
431
+ const streamResult = await agent.streamLegacy(messages, {
432
+ ...rest,
433
+ abortSignal,
434
+ resourceId: finalResourceId ?? "",
435
+ threadId: threadId ?? ""
436
+ });
437
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
438
+ headers: {
439
+ "Transfer-Encoding": "chunked"
440
+ }
441
+ }) : streamResult.toDataStreamResponse({
442
+ sendUsage: true,
443
+ sendReasoning: true,
444
+ getErrorMessage: (error) => {
445
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
446
+ },
447
+ headers: {
448
+ "Transfer-Encoding": "chunked"
449
+ }
450
+ });
451
+ return streamResponse;
452
+ } catch (error) {
453
+ return handleError(error, "error streaming agent response");
454
+ }
455
+ }
456
+ });
457
+ var GET_PROVIDERS_ROUTE = createRoute({
458
+ method: "GET",
459
+ path: "/api/agents/providers",
460
+ responseType: "json",
461
+ responseSchema: providersResponseSchema,
462
+ summary: "List AI providers",
463
+ description: "Returns a list of all configured AI model providers",
464
+ tags: ["Agents"],
465
+ handler: async () => {
466
+ try {
467
+ const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {
468
+ const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];
469
+ const connected = envVars.every((envVar) => !!process.env[envVar]);
470
+ return {
471
+ id,
472
+ name: provider.name,
473
+ label: provider.label || provider.name,
474
+ description: provider.description || "",
475
+ envVar: provider.apiKeyEnvVar,
476
+ connected,
477
+ docUrl: provider.docUrl,
478
+ models: [...provider.models]
479
+ // Convert readonly array to regular array
480
+ };
481
+ });
482
+ return { providers };
483
+ } catch (error) {
484
+ return handleError(error, "Error fetching providers");
485
+ }
486
+ }
487
+ });
488
+ var GENERATE_AGENT_VNEXT_ROUTE = createRoute({
489
+ method: "POST",
490
+ path: "/api/agents/:agentId/generate/vnext",
491
+ responseType: "json",
492
+ pathParamSchema: agentIdPathParams,
493
+ bodySchema: agentExecutionBodySchema,
494
+ responseSchema: generateResponseSchema,
495
+ summary: "Generate a response from an agent",
496
+ description: "Generate a response from an agent",
497
+ tags: ["Agents"],
498
+ handler: GENERATE_AGENT_ROUTE.handler
499
+ });
500
+ var STREAM_GENERATE_ROUTE = createRoute({
501
+ method: "POST",
502
+ path: "/api/agents/:agentId/stream",
503
+ responseType: "stream",
504
+ streamFormat: "sse",
505
+ pathParamSchema: agentIdPathParams,
506
+ bodySchema: agentExecutionBodySchema,
507
+ responseSchema: streamResponseSchema,
508
+ summary: "Stream agent response",
509
+ description: "Executes an agent with the provided messages and streams the response in real-time",
510
+ tags: ["Agents"],
511
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
512
+ try {
513
+ const agent = await getAgentFromSystem({ mastra, agentId });
514
+ sanitizeBody(params, ["tools"]);
515
+ const { messages, ...rest } = params;
516
+ validateBody({ messages });
517
+ const streamResult = await agent.stream(messages, {
518
+ ...rest,
519
+ abortSignal
520
+ });
521
+ return streamResult.fullStream;
522
+ } catch (error) {
523
+ return handleError(error, "error streaming agent response");
524
+ }
525
+ }
526
+ });
527
+ var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({
528
+ method: "POST",
529
+ path: "/api/agents/:agentId/stream/vnext",
530
+ responseType: "stream",
531
+ pathParamSchema: agentIdPathParams,
532
+ bodySchema: agentExecutionBodySchema,
533
+ responseSchema: streamResponseSchema,
534
+ summary: "Stream a response from an agent",
535
+ description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
536
+ tags: ["Agents"],
537
+ deprecated: true,
538
+ handler: STREAM_GENERATE_ROUTE.handler
539
+ });
540
+ var APPROVE_TOOL_CALL_ROUTE = createRoute({
541
+ method: "POST",
542
+ path: "/api/agents/:agentId/approve-tool-call",
543
+ responseType: "stream",
544
+ streamFormat: "sse",
545
+ pathParamSchema: agentIdPathParams,
546
+ bodySchema: approveToolCallBodySchema,
547
+ responseSchema: toolCallResponseSchema,
548
+ summary: "Approve tool call",
549
+ description: "Approves a pending tool call and continues agent execution",
550
+ tags: ["Agents", "Tools"],
551
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
552
+ try {
553
+ const agent = await getAgentFromSystem({ mastra, agentId });
554
+ if (!params.runId) {
555
+ throw new HTTPException(400, { message: "Run id is required" });
556
+ }
557
+ if (!params.toolCallId) {
558
+ throw new HTTPException(400, { message: "Tool call id is required" });
559
+ }
560
+ sanitizeBody(params, ["tools"]);
561
+ const streamResult = await agent.approveToolCall({
562
+ ...params,
563
+ abortSignal
564
+ });
565
+ return streamResult.fullStream;
566
+ } catch (error) {
567
+ return handleError(error, "error approving tool call");
568
+ }
569
+ }
570
+ });
571
+ var DECLINE_TOOL_CALL_ROUTE = createRoute({
572
+ method: "POST",
573
+ path: "/api/agents/:agentId/decline-tool-call",
574
+ responseType: "stream",
575
+ streamFormat: "sse",
576
+ pathParamSchema: agentIdPathParams,
577
+ bodySchema: declineToolCallBodySchema,
578
+ responseSchema: toolCallResponseSchema,
579
+ summary: "Decline tool call",
580
+ description: "Declines a pending tool call and continues agent execution without executing the tool",
581
+ tags: ["Agents", "Tools"],
582
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
583
+ try {
584
+ const agent = await getAgentFromSystem({ mastra, agentId });
585
+ if (!params.runId) {
586
+ throw new HTTPException(400, { message: "Run id is required" });
587
+ }
588
+ if (!params.toolCallId) {
589
+ throw new HTTPException(400, { message: "Tool call id is required" });
590
+ }
591
+ sanitizeBody(params, ["tools"]);
592
+ const streamResult = await agent.declineToolCall({
593
+ ...params,
594
+ abortSignal
595
+ });
596
+ return streamResult.fullStream;
597
+ } catch (error) {
598
+ return handleError(error, "error declining tool call");
599
+ }
600
+ }
601
+ });
602
+ var STREAM_NETWORK_ROUTE = createRoute({
603
+ method: "POST",
604
+ path: "/api/agents/:agentId/network",
605
+ responseType: "stream",
606
+ streamFormat: "sse",
607
+ pathParamSchema: agentIdPathParams,
608
+ bodySchema: agentExecutionBodySchema.extend({ thread: z.string().optional() }),
609
+ responseSchema: streamResponseSchema,
610
+ summary: "Stream agent network",
611
+ description: "Executes an agent network with multiple agents and streams the response",
612
+ tags: ["Agents"],
613
+ handler: async ({ mastra, messages, agentId, ...params }) => {
614
+ try {
615
+ const agent = await getAgentFromSystem({ mastra, agentId });
616
+ sanitizeBody(params, ["tools"]);
617
+ validateBody({ messages });
618
+ const streamResult = await agent.network(messages, {
619
+ ...params,
620
+ memory: {
621
+ thread: params.thread ?? params.threadId ?? "",
622
+ resource: params.resourceId ?? "",
623
+ options: params.memory?.options ?? {}
624
+ }
625
+ });
626
+ return streamResult;
627
+ } catch (error) {
628
+ return handleError(error, "error streaming agent loop response");
629
+ }
630
+ }
631
+ });
632
+ var UPDATE_AGENT_MODEL_ROUTE = createRoute({
633
+ method: "POST",
634
+ path: "/api/agents/:agentId/model",
635
+ responseType: "json",
636
+ pathParamSchema: agentIdPathParams,
637
+ bodySchema: updateAgentModelBodySchema,
638
+ responseSchema: modelManagementResponseSchema,
639
+ summary: "Update agent model",
640
+ description: "Updates the AI model used by the agent",
641
+ tags: ["Agents", "Models"],
642
+ handler: async ({ mastra, agentId, modelId, provider }) => {
643
+ try {
644
+ const agent = await getAgentFromSystem({ mastra, agentId });
645
+ const newModel = `${provider}/${modelId}`;
646
+ agent.__updateModel({ model: newModel });
647
+ return { message: "Agent model updated" };
648
+ } catch (error) {
649
+ return handleError(error, "error updating agent model");
650
+ }
651
+ }
652
+ });
653
+ var RESET_AGENT_MODEL_ROUTE = createRoute({
654
+ method: "POST",
655
+ path: "/api/agents/:agentId/model/reset",
656
+ responseType: "json",
657
+ pathParamSchema: agentIdPathParams,
658
+ responseSchema: modelManagementResponseSchema,
659
+ summary: "Reset agent model",
660
+ description: "Resets the agent model to its original configuration",
661
+ tags: ["Agents", "Models"],
662
+ handler: async ({ mastra, agentId }) => {
663
+ try {
664
+ const agent = await getAgentFromSystem({ mastra, agentId });
665
+ agent.__resetToOriginalModel();
666
+ return { message: "Agent model reset to original" };
667
+ } catch (error) {
668
+ return handleError(error, "error resetting agent model");
669
+ }
670
+ }
671
+ });
672
+ var REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({
673
+ method: "POST",
674
+ path: "/api/agents/:agentId/models/reorder",
675
+ responseType: "json",
676
+ pathParamSchema: agentIdPathParams,
677
+ bodySchema: reorderAgentModelListBodySchema,
678
+ responseSchema: modelManagementResponseSchema,
679
+ summary: "Reorder agent model list",
680
+ description: "Reorders the model list for agents with multiple model configurations",
681
+ tags: ["Agents", "Models"],
682
+ handler: async ({ mastra, agentId, reorderedModelIds }) => {
683
+ try {
684
+ const agent = await getAgentFromSystem({ mastra, agentId });
685
+ const modelList = await agent.getModelList();
686
+ if (!modelList || modelList.length === 0) {
687
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
688
+ }
689
+ agent.reorderModels(reorderedModelIds);
690
+ return { message: "Model list reordered" };
691
+ } catch (error) {
692
+ return handleError(error, "error reordering model list");
693
+ }
694
+ }
695
+ });
696
+ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({
697
+ method: "POST",
698
+ path: "/api/agents/:agentId/models/:modelConfigId",
699
+ responseType: "json",
700
+ pathParamSchema: modelConfigIdPathParams,
701
+ bodySchema: updateAgentModelInModelListBodySchema,
702
+ responseSchema: modelManagementResponseSchema,
703
+ summary: "Update model in model list",
704
+ description: "Updates a specific model configuration in the agent model list",
705
+ tags: ["Agents", "Models"],
706
+ handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {
707
+ try {
708
+ const agent = await getAgentFromSystem({ mastra, agentId });
709
+ const modelList = await agent.getModelList();
710
+ if (!modelList || modelList.length === 0) {
711
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
712
+ }
713
+ const modelConfig = modelList.find((config) => config.id === modelConfigId);
714
+ if (!modelConfig) {
715
+ throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });
716
+ }
717
+ const newModel = bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;
718
+ const updated = {
719
+ ...modelConfig,
720
+ model: newModel,
721
+ ...maxRetries !== void 0 ? { maxRetries } : {},
722
+ ...enabled !== void 0 ? { enabled } : {}
723
+ };
724
+ agent.updateModelInModelList(updated);
725
+ return { message: "Model updated in model list" };
726
+ } catch (error) {
727
+ return handleError(error, "error updating model in model list");
728
+ }
729
+ }
730
+ });
731
+ var STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({
732
+ method: "POST",
733
+ path: "/api/agents/:agentId/streamVNext",
734
+ responseType: "stream",
735
+ pathParamSchema: agentIdPathParams,
736
+ bodySchema: agentExecutionBodySchema,
737
+ responseSchema: streamResponseSchema,
738
+ summary: "Stream a response from an agent",
739
+ description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
740
+ tags: ["Agents"],
741
+ deprecated: true,
742
+ handler: async () => {
743
+ throw new HTTPException(410, { message: "This endpoint is deprecated. Please use /stream instead." });
744
+ }
745
+ });
746
+ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({
747
+ method: "POST",
748
+ path: "/api/agents/:agentId/stream/vnext/ui",
749
+ responseType: "stream",
750
+ pathParamSchema: agentIdPathParams,
751
+ bodySchema: agentExecutionBodySchema,
752
+ responseSchema: streamResponseSchema,
753
+ summary: "Stream UI messages from an agent",
754
+ description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
755
+ tags: ["Agents"],
756
+ deprecated: true,
757
+ handler: async () => {
758
+ try {
759
+ throw new MastraError({
760
+ category: ErrorCategory.USER,
761
+ domain: ErrorDomain.MASTRA_SERVER,
762
+ id: "DEPRECATED_ENDPOINT",
763
+ text: "This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations"
764
+ });
765
+ } catch (error) {
766
+ return handleError(error, "error streaming agent response");
767
+ }
768
+ }
769
+ });
770
+ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({
771
+ method: "POST",
772
+ path: "/api/agents/:agentId/stream/ui",
773
+ responseType: "stream",
774
+ pathParamSchema: agentIdPathParams,
775
+ bodySchema: agentExecutionBodySchema,
776
+ responseSchema: streamResponseSchema,
777
+ summary: "Stream UI messages from an agent",
778
+ description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
779
+ tags: ["Agents"],
780
+ deprecated: true,
781
+ handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler
782
+ });
783
+
784
+ export { APPROVE_TOOL_CALL_ROUTE, DECLINE_TOOL_CALL_ROUTE, GENERATE_AGENT_ROUTE, GENERATE_AGENT_VNEXT_ROUTE, GENERATE_LEGACY_ROUTE, GET_AGENT_BY_ID_ROUTE, GET_PROVIDERS_ROUTE, LIST_AGENTS_ROUTE, REORDER_AGENT_MODEL_LIST_ROUTE, RESET_AGENT_MODEL_ROUTE, STREAM_GENERATE_LEGACY_ROUTE, STREAM_GENERATE_ROUTE, STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE, STREAM_NETWORK_ROUTE, STREAM_UI_MESSAGE_DEPRECATED_ROUTE, STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE, STREAM_VNEXT_DEPRECATED_ROUTE, UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE, UPDATE_AGENT_MODEL_ROUTE, agents_exports, getAgentFromSystem, getSerializedAgentTools, getSerializedProcessors };
785
+ //# sourceMappingURL=chunk-Q6SVIZLX.js.map
786
+ //# sourceMappingURL=chunk-Q6SVIZLX.js.map