@mastra/server 1.0.4-alpha.2 → 1.1.0-alpha.0

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 (487) hide show
  1. package/CHANGELOG.md +6765 -0
  2. package/LICENSE.md +11 -42
  3. package/README.md +45 -137
  4. package/a2a/store.d.ts +1 -0
  5. package/auth.d.ts +1 -0
  6. package/dist/chunk-24SISJRB.js +250 -0
  7. package/dist/chunk-24SISJRB.js.map +1 -0
  8. package/dist/chunk-2HAVULC2.cjs +204 -0
  9. package/dist/chunk-2HAVULC2.cjs.map +1 -0
  10. package/dist/chunk-2HOMKKY4.cjs +352 -0
  11. package/dist/chunk-2HOMKKY4.cjs.map +1 -0
  12. package/dist/chunk-37DO73XV.cjs +33207 -0
  13. package/dist/chunk-37DO73XV.cjs.map +1 -0
  14. package/dist/chunk-3AZY5AWI.js +689 -0
  15. package/dist/chunk-3AZY5AWI.js.map +1 -0
  16. package/dist/chunk-3OIJLD3O.js +333 -0
  17. package/dist/chunk-3OIJLD3O.js.map +1 -0
  18. package/dist/chunk-3QUACCLU.js +1372 -0
  19. package/dist/chunk-3QUACCLU.js.map +1 -0
  20. package/dist/chunk-3W67K7YE.js +13 -0
  21. package/dist/chunk-3W67K7YE.js.map +1 -0
  22. package/dist/chunk-4HFYR562.cjs +82 -0
  23. package/dist/chunk-4HFYR562.cjs.map +1 -0
  24. package/dist/chunk-4JAEBN6N.js +1201 -0
  25. package/dist/chunk-4JAEBN6N.js.map +1 -0
  26. package/dist/chunk-4LVJBXI2.cjs +324 -0
  27. package/dist/chunk-4LVJBXI2.cjs.map +1 -0
  28. package/dist/{chunk-FV45V6WC.cjs → chunk-64ITUOXI.cjs} +3 -7
  29. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  30. package/dist/chunk-6G2RQWKA.cjs +252 -0
  31. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  32. package/dist/chunk-6KC345IN.cjs +708 -0
  33. package/dist/chunk-6KC345IN.cjs.map +1 -0
  34. package/dist/{chunk-TRDNDNGQ.js → chunk-6QWQZI4Q.js} +4 -7
  35. package/dist/chunk-6QWQZI4Q.js.map +1 -0
  36. package/dist/chunk-7D3UAMQM.cjs +82 -0
  37. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  38. package/dist/chunk-7XIMPDJV.js +442 -0
  39. package/dist/chunk-7XIMPDJV.js.map +1 -0
  40. package/dist/chunk-A2K5ZL47.cjs +195 -0
  41. package/dist/chunk-A2K5ZL47.cjs.map +1 -0
  42. package/dist/chunk-AAHPYUEC.cjs +211 -0
  43. package/dist/chunk-AAHPYUEC.cjs.map +1 -0
  44. package/dist/chunk-AN42MFD5.cjs +1231 -0
  45. package/dist/chunk-AN42MFD5.cjs.map +1 -0
  46. package/dist/chunk-AQI6GLTN.cjs +2777 -0
  47. package/dist/chunk-AQI6GLTN.cjs.map +1 -0
  48. package/dist/chunk-AV3VZ6S3.cjs +190 -0
  49. package/dist/chunk-AV3VZ6S3.cjs.map +1 -0
  50. package/dist/chunk-C4NZAUUW.js +33168 -0
  51. package/dist/chunk-C4NZAUUW.js.map +1 -0
  52. package/dist/chunk-D5VCL56B.js +317 -0
  53. package/dist/chunk-D5VCL56B.js.map +1 -0
  54. package/dist/chunk-DD7LYNHB.js +596 -0
  55. package/dist/chunk-DD7LYNHB.js.map +1 -0
  56. package/dist/chunk-DHDVJ5II.js +334 -0
  57. package/dist/chunk-DHDVJ5II.js.map +1 -0
  58. package/dist/chunk-ED6NQBHF.js +190 -0
  59. package/dist/chunk-ED6NQBHF.js.map +1 -0
  60. package/dist/chunk-EKFYZUPC.cjs +1404 -0
  61. package/dist/chunk-EKFYZUPC.cjs.map +1 -0
  62. package/dist/chunk-EV5H2JQU.js +45 -0
  63. package/dist/chunk-EV5H2JQU.js.map +1 -0
  64. package/dist/chunk-F2WTCJ5C.js +1153 -0
  65. package/dist/chunk-F2WTCJ5C.js.map +1 -0
  66. package/dist/chunk-FCPLBTHB.js +195 -0
  67. package/dist/chunk-FCPLBTHB.js.map +1 -0
  68. package/dist/chunk-FQX5SQO7.js +212 -0
  69. package/dist/chunk-FQX5SQO7.js.map +1 -0
  70. package/dist/chunk-FRRHYZR6.cjs +88 -0
  71. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  72. package/dist/chunk-GUG6KRAJ.js +666 -0
  73. package/dist/chunk-GUG6KRAJ.js.map +1 -0
  74. package/dist/chunk-GXUBQJ74.js +184 -0
  75. package/dist/chunk-GXUBQJ74.js.map +1 -0
  76. package/dist/chunk-H66LLFDL.js +970 -0
  77. package/dist/chunk-H66LLFDL.js.map +1 -0
  78. package/dist/chunk-HDGF45K7.cjs +128 -0
  79. package/dist/chunk-HDGF45K7.cjs.map +1 -0
  80. package/dist/chunk-HT4LP3BO.js +75 -0
  81. package/dist/chunk-HT4LP3BO.js.map +1 -0
  82. package/dist/chunk-HZINLMHL.cjs +252 -0
  83. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  84. package/dist/chunk-IS3HHGL4.js +250 -0
  85. package/dist/chunk-IS3HHGL4.js.map +1 -0
  86. package/dist/chunk-JLFFAYTC.cjs +252 -0
  87. package/dist/chunk-JLFFAYTC.cjs.map +1 -0
  88. package/dist/chunk-JRM3DWRM.cjs +322 -0
  89. package/dist/chunk-JRM3DWRM.cjs.map +1 -0
  90. package/dist/chunk-K2SXZLA3.cjs +1049 -0
  91. package/dist/chunk-K2SXZLA3.cjs.map +1 -0
  92. package/dist/chunk-K4HSW5ZF.js +77 -0
  93. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  94. package/dist/chunk-LFNP3ACE.js +1009 -0
  95. package/dist/chunk-LFNP3ACE.js.map +1 -0
  96. package/dist/chunk-LFTVDHOD.js +200 -0
  97. package/dist/chunk-LFTVDHOD.js.map +1 -0
  98. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  99. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  100. package/dist/chunk-LOA7RQYO.js +2774 -0
  101. package/dist/chunk-LOA7RQYO.js.map +1 -0
  102. package/dist/chunk-MCYD5LW7.cjs +90 -0
  103. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  104. package/dist/chunk-MZRJNOYJ.cjs +1195 -0
  105. package/dist/chunk-MZRJNOYJ.cjs.map +1 -0
  106. package/dist/chunk-O7I5CWRX.cjs +44 -0
  107. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  108. package/dist/chunk-ONN5EA7E.js +26 -0
  109. package/dist/chunk-ONN5EA7E.js.map +1 -0
  110. package/dist/chunk-OS7SAIRA.js +250 -0
  111. package/dist/chunk-OS7SAIRA.js.map +1 -0
  112. package/dist/chunk-PR4QN5HX.js +39 -0
  113. package/dist/chunk-PR4QN5HX.js.map +1 -0
  114. package/dist/chunk-PWXUI3OG.cjs +252 -0
  115. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  116. package/dist/chunk-QOVLJFLX.cjs +680 -0
  117. package/dist/chunk-QOVLJFLX.cjs.map +1 -0
  118. package/dist/chunk-QXDNFBJQ.js +220 -0
  119. package/dist/chunk-QXDNFBJQ.js.map +1 -0
  120. package/dist/chunk-RIX6WEJ2.js +83 -0
  121. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  122. package/dist/chunk-RW66MHXI.js +246 -0
  123. package/dist/chunk-RW66MHXI.js.map +1 -0
  124. package/dist/chunk-S4SLHUJ7.cjs +253 -0
  125. package/dist/chunk-S4SLHUJ7.cjs.map +1 -0
  126. package/dist/chunk-SONAXR2M.cjs +450 -0
  127. package/dist/chunk-SONAXR2M.cjs.map +1 -0
  128. package/dist/chunk-SUKFO7UM.cjs +29 -0
  129. package/dist/chunk-SUKFO7UM.cjs.map +1 -0
  130. package/dist/chunk-T5KH32UA.cjs +47 -0
  131. package/dist/chunk-T5KH32UA.cjs.map +1 -0
  132. package/dist/chunk-TCWPL26W.js +119 -0
  133. package/dist/chunk-TCWPL26W.js.map +1 -0
  134. package/dist/chunk-TGDBGIDA.cjs +623 -0
  135. package/dist/chunk-TGDBGIDA.cjs.map +1 -0
  136. package/dist/chunk-USR6JK77.js +62 -0
  137. package/dist/chunk-USR6JK77.js.map +1 -0
  138. package/dist/chunk-VNHOYZ56.cjs +219 -0
  139. package/dist/chunk-VNHOYZ56.cjs.map +1 -0
  140. package/dist/chunk-VX3VN7FN.cjs +992 -0
  141. package/dist/chunk-VX3VN7FN.cjs.map +1 -0
  142. package/dist/chunk-WHC6S3VY.cjs +345 -0
  143. package/dist/chunk-WHC6S3VY.cjs.map +1 -0
  144. package/dist/chunk-XKLJYRAA.js +77 -0
  145. package/dist/chunk-XKLJYRAA.js.map +1 -0
  146. package/dist/chunk-XUSAKRLX.js +312 -0
  147. package/dist/chunk-XUSAKRLX.js.map +1 -0
  148. package/dist/chunk-ZKMVCV4G.cjs +71 -0
  149. package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
  150. package/dist/dist-7NTDEVLP.cjs +928 -0
  151. package/dist/dist-7NTDEVLP.cjs.map +1 -0
  152. package/dist/dist-B5GMANA6.js +1147 -0
  153. package/dist/dist-B5GMANA6.js.map +1 -0
  154. package/dist/dist-EDO7GEGI.js +3 -0
  155. package/dist/dist-EDO7GEGI.js.map +1 -0
  156. package/dist/dist-OF24ZMHH.cjs +764 -0
  157. package/dist/dist-OF24ZMHH.cjs.map +1 -0
  158. package/dist/dist-P6YSNLL3.cjs +1150 -0
  159. package/dist/dist-P6YSNLL3.cjs.map +1 -0
  160. package/dist/dist-SMBO5KVB.js +937 -0
  161. package/dist/dist-SMBO5KVB.js.map +1 -0
  162. package/dist/dist-THPMW5QR.js +761 -0
  163. package/dist/dist-THPMW5QR.js.map +1 -0
  164. package/dist/dist-VZTG56X2.cjs +940 -0
  165. package/dist/dist-VZTG56X2.cjs.map +1 -0
  166. package/dist/dist-ZLC23RVC.cjs +16 -0
  167. package/dist/dist-ZLC23RVC.cjs.map +1 -0
  168. package/dist/dist-ZOZ6MHJH.js +925 -0
  169. package/dist/dist-ZOZ6MHJH.js.map +1 -0
  170. package/dist/docs/README.md +31 -0
  171. package/dist/docs/SKILL.md +32 -0
  172. package/dist/docs/SOURCE_MAP.json +6 -0
  173. package/dist/docs/server/01-custom-adapters.md +380 -0
  174. package/dist/docs/server/02-reference.md +833 -0
  175. package/dist/index.cjs +6 -0
  176. package/dist/index.cjs.map +1 -0
  177. package/dist/index.d.ts +1 -0
  178. package/dist/index.d.ts.map +1 -0
  179. package/dist/index.js +5 -0
  180. package/dist/index.js.map +1 -0
  181. package/dist/server/a2a/protocol.d.ts +8 -0
  182. package/dist/server/a2a/protocol.d.ts.map +1 -0
  183. package/dist/server/a2a/store.cjs +25 -0
  184. package/dist/server/a2a/store.cjs.map +1 -0
  185. package/dist/server/a2a/store.d.ts +14 -0
  186. package/dist/server/a2a/store.d.ts.map +1 -0
  187. package/dist/server/a2a/store.js +23 -0
  188. package/dist/server/a2a/store.js.map +1 -0
  189. package/dist/server/a2a/tasks.d.ts +20 -0
  190. package/dist/server/a2a/tasks.d.ts.map +1 -0
  191. package/dist/server/auth/defaults.d.ts +3 -0
  192. package/dist/server/auth/defaults.d.ts.map +1 -0
  193. package/dist/server/auth/helpers.d.ts +21 -0
  194. package/dist/server/auth/helpers.d.ts.map +1 -0
  195. package/dist/server/auth/index.cjs +48 -0
  196. package/dist/server/auth/index.cjs.map +1 -0
  197. package/dist/server/auth/index.d.ts +3 -0
  198. package/dist/server/auth/index.d.ts.map +1 -0
  199. package/dist/server/auth/index.js +3 -0
  200. package/dist/server/auth/index.js.map +1 -0
  201. package/dist/server/auth/path-pattern.d.ts +43 -0
  202. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  203. package/dist/server/constants.d.ts +51 -0
  204. package/dist/server/constants.d.ts.map +1 -0
  205. package/dist/server/handlers/a2a.cjs +40 -0
  206. package/dist/server/handlers/a2a.cjs.map +1 -0
  207. package/dist/server/handlers/a2a.d.ts +550 -0
  208. package/dist/server/handlers/a2a.d.ts.map +1 -0
  209. package/dist/server/handlers/a2a.js +3 -0
  210. package/dist/server/handlers/a2a.js.map +1 -0
  211. package/dist/server/handlers/agent-builder.cjs +68 -0
  212. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  213. package/dist/server/handlers/agent-builder.d.ts +632 -0
  214. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  215. package/dist/server/handlers/agent-builder.js +3 -0
  216. package/dist/server/handlers/agent-builder.js.map +1 -0
  217. package/dist/server/handlers/agent-versions.cjs +60 -0
  218. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  219. package/dist/server/handlers/agent-versions.d.ts +479 -0
  220. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  221. package/dist/server/handlers/agent-versions.js +3 -0
  222. package/dist/server/handlers/agent-versions.js.map +1 -0
  223. package/dist/server/handlers/agents.cjs +111 -13
  224. package/dist/server/handlers/agents.cjs.map +1 -0
  225. package/dist/server/handlers/agents.d.ts +3440 -6
  226. package/dist/server/handlers/agents.d.ts.map +1 -0
  227. package/dist/server/handlers/agents.js +3 -1
  228. package/dist/server/handlers/agents.js.map +1 -0
  229. package/dist/server/handlers/error.cjs +8 -2
  230. package/dist/server/handlers/error.cjs.map +1 -0
  231. package/dist/server/handlers/error.d.ts +14 -1
  232. package/dist/server/handlers/error.d.ts.map +1 -0
  233. package/dist/server/handlers/error.js +3 -1
  234. package/dist/server/handlers/error.js.map +1 -0
  235. package/dist/server/handlers/logs.cjs +9 -7
  236. package/dist/server/handlers/logs.cjs.map +1 -0
  237. package/dist/server/handlers/logs.d.ts +142 -3
  238. package/dist/server/handlers/logs.d.ts.map +1 -0
  239. package/dist/server/handlers/logs.js +3 -1
  240. package/dist/server/handlers/logs.js.map +1 -0
  241. package/dist/server/handlers/mcp.cjs +40 -0
  242. package/dist/server/handlers/mcp.cjs.map +1 -0
  243. package/dist/server/handlers/mcp.d.ts +132 -0
  244. package/dist/server/handlers/mcp.d.ts.map +1 -0
  245. package/dist/server/handlers/mcp.js +3 -0
  246. package/dist/server/handlers/mcp.js.map +1 -0
  247. package/dist/server/handlers/memory.cjs +83 -17
  248. package/dist/server/handlers/memory.cjs.map +1 -0
  249. package/dist/server/handlers/memory.d.ts +1089 -8
  250. package/dist/server/handlers/memory.d.ts.map +1 -0
  251. package/dist/server/handlers/memory.js +3 -1
  252. package/dist/server/handlers/memory.js.map +1 -0
  253. package/dist/server/handlers/observability.cjs +24 -0
  254. package/dist/server/handlers/observability.cjs.map +1 -0
  255. package/dist/server/handlers/observability.d.ts +154 -0
  256. package/dist/server/handlers/observability.d.ts.map +1 -0
  257. package/dist/server/handlers/observability.js +3 -0
  258. package/dist/server/handlers/observability.js.map +1 -0
  259. package/dist/server/handlers/processors.cjs +20 -0
  260. package/dist/server/handlers/processors.cjs.map +1 -0
  261. package/dist/server/handlers/processors.d.ts +181 -0
  262. package/dist/server/handlers/processors.d.ts.map +1 -0
  263. package/dist/server/handlers/processors.js +3 -0
  264. package/dist/server/handlers/processors.js.map +1 -0
  265. package/dist/server/handlers/scores.cjs +32 -0
  266. package/dist/server/handlers/scores.cjs.map +1 -0
  267. package/dist/server/handlers/scores.d.ts +121 -0
  268. package/dist/server/handlers/scores.d.ts.map +1 -0
  269. package/dist/server/handlers/scores.js +3 -0
  270. package/dist/server/handlers/scores.js.map +1 -0
  271. package/dist/server/handlers/stored-agents.cjs +28 -0
  272. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  273. package/dist/server/handlers/stored-agents.d.ts +317 -0
  274. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  275. package/dist/server/handlers/stored-agents.js +3 -0
  276. package/dist/server/handlers/stored-agents.js.map +1 -0
  277. package/dist/server/handlers/system.cjs +12 -0
  278. package/dist/server/handlers/system.cjs.map +1 -0
  279. package/dist/server/handlers/system.d.ts +7 -0
  280. package/dist/server/handlers/system.d.ts.map +1 -0
  281. package/dist/server/handlers/system.js +3 -0
  282. package/dist/server/handlers/system.js.map +1 -0
  283. package/dist/server/handlers/test-utils.cjs +15 -0
  284. package/dist/server/handlers/test-utils.cjs.map +1 -0
  285. package/dist/server/handlers/test-utils.d.ts +6 -0
  286. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  287. package/dist/server/handlers/test-utils.js +13 -0
  288. package/dist/server/handlers/test-utils.js.map +1 -0
  289. package/dist/server/handlers/tools.cjs +15 -9
  290. package/dist/server/handlers/tools.cjs.map +1 -0
  291. package/dist/server/handlers/tools.d.ts +71 -4
  292. package/dist/server/handlers/tools.d.ts.map +1 -0
  293. package/dist/server/handlers/tools.js +3 -1
  294. package/dist/server/handlers/tools.js.map +1 -0
  295. package/dist/server/handlers/utils.cjs +32 -2
  296. package/dist/server/handlers/utils.cjs.map +1 -0
  297. package/dist/server/handlers/utils.d.ts +39 -1
  298. package/dist/server/handlers/utils.d.ts.map +1 -0
  299. package/dist/server/handlers/utils.js +3 -1
  300. package/dist/server/handlers/utils.js.map +1 -0
  301. package/dist/server/handlers/vector.cjs +33 -7
  302. package/dist/server/handlers/vector.cjs.map +1 -0
  303. package/dist/server/handlers/vector.d.ts +135 -6
  304. package/dist/server/handlers/vector.d.ts.map +1 -0
  305. package/dist/server/handlers/vector.js +3 -1
  306. package/dist/server/handlers/vector.js.map +1 -0
  307. package/dist/server/handlers/voice.cjs +25 -7
  308. package/dist/server/handlers/voice.cjs.map +1 -0
  309. package/dist/server/handlers/voice.d.ts +82 -3
  310. package/dist/server/handlers/voice.d.ts.map +1 -0
  311. package/dist/server/handlers/voice.js +3 -1
  312. package/dist/server/handlers/voice.js.map +1 -0
  313. package/dist/server/handlers/workflows.cjs +75 -21
  314. package/dist/server/handlers/workflows.cjs.map +1 -0
  315. package/dist/server/handlers/workflows.d.ts +996 -10
  316. package/dist/server/handlers/workflows.d.ts.map +1 -0
  317. package/dist/server/handlers/workflows.js +3 -1
  318. package/dist/server/handlers/workflows.js.map +1 -0
  319. package/dist/server/handlers/workspace.cjs +80 -0
  320. package/dist/server/handlers/workspace.cjs.map +1 -0
  321. package/dist/server/handlers/workspace.d.ts +591 -0
  322. package/dist/server/handlers/workspace.d.ts.map +1 -0
  323. package/dist/server/handlers/workspace.js +3 -0
  324. package/dist/server/handlers/workspace.js.map +1 -0
  325. package/dist/server/handlers.cjs +41 -24
  326. package/dist/server/handlers.cjs.map +1 -0
  327. package/dist/server/handlers.d.ts +13 -9
  328. package/dist/server/handlers.d.ts.map +1 -0
  329. package/dist/server/handlers.js +14 -9
  330. package/dist/server/handlers.js.map +1 -0
  331. package/dist/server/http-exception.d.ts +82 -0
  332. package/dist/server/http-exception.d.ts.map +1 -0
  333. package/dist/server/schemas/a2a.d.ts +786 -0
  334. package/dist/server/schemas/a2a.d.ts.map +1 -0
  335. package/dist/server/schemas/agent-builder.d.ts +225 -0
  336. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  337. package/dist/server/schemas/agent-versions.d.ts +1646 -0
  338. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  339. package/dist/server/schemas/agents.d.ts +1815 -0
  340. package/dist/server/schemas/agents.d.ts.map +1 -0
  341. package/dist/server/schemas/common.d.ts +179 -0
  342. package/dist/server/schemas/common.d.ts.map +1 -0
  343. package/dist/server/schemas/logs.d.ts +124 -0
  344. package/dist/server/schemas/logs.d.ts.map +1 -0
  345. package/dist/server/schemas/mcp.d.ts +299 -0
  346. package/dist/server/schemas/mcp.d.ts.map +1 -0
  347. package/dist/server/schemas/memory.d.ts +1216 -0
  348. package/dist/server/schemas/memory.d.ts.map +1 -0
  349. package/dist/server/schemas/processors.d.ts +519 -0
  350. package/dist/server/schemas/processors.d.ts.map +1 -0
  351. package/dist/server/schemas/scores.d.ts +259 -0
  352. package/dist/server/schemas/scores.d.ts.map +1 -0
  353. package/dist/server/schemas/stored-agents.d.ts +850 -0
  354. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  355. package/dist/server/schemas/system.d.ts +36 -0
  356. package/dist/server/schemas/system.d.ts.map +1 -0
  357. package/dist/server/schemas/vectors.d.ts +107 -0
  358. package/dist/server/schemas/vectors.d.ts.map +1 -0
  359. package/dist/server/schemas/workflows.d.ts +863 -0
  360. package/dist/server/schemas/workflows.d.ts.map +1 -0
  361. package/dist/server/schemas/workspace.d.ts +1107 -0
  362. package/dist/server/schemas/workspace.d.ts.map +1 -0
  363. package/dist/server/server-adapter/index.cjs +661 -0
  364. package/dist/server/server-adapter/index.cjs.map +1 -0
  365. package/dist/server/server-adapter/index.d.ts +163 -0
  366. package/dist/server/server-adapter/index.d.ts.map +1 -0
  367. package/dist/server/server-adapter/index.js +630 -0
  368. package/dist/server/server-adapter/index.js.map +1 -0
  369. package/dist/server/server-adapter/openapi-utils.d.ts +69 -0
  370. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  371. package/dist/server/server-adapter/redact.d.ts +26 -0
  372. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  373. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  374. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  375. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  376. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  377. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  378. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  379. package/dist/server/server-adapter/routes/index.d.ts +52 -0
  380. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  381. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  382. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  383. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  384. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  385. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  386. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  387. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  388. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  389. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  390. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  391. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  392. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  393. package/dist/server/server-adapter/routes/route-builder.d.ts +112 -0
  394. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  395. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  396. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  397. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  398. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  399. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  400. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  401. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  402. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  403. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  404. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  405. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  406. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  407. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  408. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  409. package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
  410. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
  411. package/dist/server/types.d.ts +10 -0
  412. package/dist/server/types.d.ts.map +1 -0
  413. package/dist/server/utils.d.ts +58 -0
  414. package/dist/server/utils.d.ts.map +1 -0
  415. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs +63 -0
  416. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  417. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js +61 -0
  418. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  419. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  420. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  421. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  422. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  423. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  424. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  425. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  426. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  427. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  428. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  429. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  430. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  431. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  432. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  433. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  434. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  435. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  436. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  437. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  438. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  439. package/handlers/server/handlers.d.ts +1 -0
  440. package/handlers.d.ts +1 -0
  441. package/package.json +74 -20
  442. package/server-adapter.d.ts +1 -0
  443. package/dist/_tsup-dts-rollup.d.cts +0 -573
  444. package/dist/_tsup-dts-rollup.d.ts +0 -573
  445. package/dist/chunk-2FJURXCL.cjs +0 -213
  446. package/dist/chunk-3AHQ5RGN.js +0 -11
  447. package/dist/chunk-3EJZQ6TQ.js +0 -49
  448. package/dist/chunk-3RVHWGWO.js +0 -95
  449. package/dist/chunk-4JINXASC.js +0 -120
  450. package/dist/chunk-67WTHYAV.js +0 -156
  451. package/dist/chunk-A7DF4ETD.cjs +0 -100
  452. package/dist/chunk-B64YROKU.cjs +0 -317
  453. package/dist/chunk-CWSDZEZG.cjs +0 -139
  454. package/dist/chunk-DVPP5S6I.js +0 -135
  455. package/dist/chunk-JLDXUWK7.cjs +0 -126
  456. package/dist/chunk-L7XE5QTW.js +0 -16
  457. package/dist/chunk-M56ECCHK.cjs +0 -128
  458. package/dist/chunk-OPP7H5TW.js +0 -305
  459. package/dist/chunk-PDC4ZBQW.cjs +0 -126
  460. package/dist/chunk-QH6XWSXP.cjs +0 -5579
  461. package/dist/chunk-QN4KF3BH.cjs +0 -18
  462. package/dist/chunk-RBQASTUP.js +0 -203
  463. package/dist/chunk-SKBVVI24.cjs +0 -54
  464. package/dist/chunk-UV4WTEH4.js +0 -120
  465. package/dist/chunk-VK6FX47H.js +0 -5576
  466. package/dist/chunk-YANVFOYA.js +0 -120
  467. package/dist/chunk-Z46X3YCB.cjs +0 -164
  468. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  469. package/dist/index.d.cts +0 -1
  470. package/dist/server/handlers/agents.d.cts +0 -6
  471. package/dist/server/handlers/error.d.cts +0 -1
  472. package/dist/server/handlers/logs.d.cts +0 -3
  473. package/dist/server/handlers/memory.d.cts +0 -8
  474. package/dist/server/handlers/network.cjs +0 -22
  475. package/dist/server/handlers/network.d.cts +0 -4
  476. package/dist/server/handlers/network.d.ts +0 -4
  477. package/dist/server/handlers/network.js +0 -1
  478. package/dist/server/handlers/telemetry.cjs +0 -14
  479. package/dist/server/handlers/telemetry.d.cts +0 -2
  480. package/dist/server/handlers/telemetry.d.ts +0 -2
  481. package/dist/server/handlers/telemetry.js +0 -1
  482. package/dist/server/handlers/tools.d.cts +0 -4
  483. package/dist/server/handlers/utils.d.cts +0 -1
  484. package/dist/server/handlers/vector.d.cts +0 -6
  485. package/dist/server/handlers/voice.d.cts +0 -3
  486. package/dist/server/handlers/workflows.d.cts +0 -10
  487. package/dist/server/handlers.d.cts +0 -9
@@ -0,0 +1,1372 @@
1
+ import { getAgentSkillResponseSchema } from './chunk-QXDNFBJQ.js';
2
+ import { stringify, listAgentsResponseSchema, serializedAgentSchema, agentIdPathParams, generateResponseSchema, agentExecutionBodySchema, agentExecutionLegacyBodySchema, streamResponseSchema, providersResponseSchema, toolCallResponseSchema, approveToolCallBodySchema, declineToolCallBodySchema, approveNetworkToolCallBodySchema, declineNetworkToolCallBodySchema, modelManagementResponseSchema, updateAgentModelBodySchema, reorderAgentModelListBodySchema, updateAgentModelInModelListBodySchema, modelConfigIdPathParams, enhanceInstructionsResponseSchema, enhanceInstructionsBodySchema, agentSkillPathParams } from './chunk-LFNP3ACE.js';
3
+ import { sanitizeBody, validateBody, getEffectiveResourceId, getEffectiveThreadId, validateThreadOwnership } from './chunk-USR6JK77.js';
4
+ import { handleError } from './chunk-ONN5EA7E.js';
5
+ import { createRoute } from './chunk-D5VCL56B.js';
6
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
7
+ import { __export } from './chunk-PR4QN5HX.js';
8
+ import { Agent } from '@mastra/core/agent';
9
+ import { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';
10
+ import { PROVIDER_REGISTRY } from '@mastra/core/llm';
11
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
12
+ import { z } from 'zod';
13
+
14
+ // src/server/handlers/agents.ts
15
+ var agents_exports = {};
16
+ __export(agents_exports, {
17
+ APPROVE_NETWORK_TOOL_CALL_ROUTE: () => APPROVE_NETWORK_TOOL_CALL_ROUTE,
18
+ APPROVE_TOOL_CALL_GENERATE_ROUTE: () => APPROVE_TOOL_CALL_GENERATE_ROUTE,
19
+ APPROVE_TOOL_CALL_ROUTE: () => APPROVE_TOOL_CALL_ROUTE,
20
+ DECLINE_NETWORK_TOOL_CALL_ROUTE: () => DECLINE_NETWORK_TOOL_CALL_ROUTE,
21
+ DECLINE_TOOL_CALL_GENERATE_ROUTE: () => DECLINE_TOOL_CALL_GENERATE_ROUTE,
22
+ DECLINE_TOOL_CALL_ROUTE: () => DECLINE_TOOL_CALL_ROUTE,
23
+ ENHANCE_INSTRUCTIONS_ROUTE: () => ENHANCE_INSTRUCTIONS_ROUTE,
24
+ GENERATE_AGENT_ROUTE: () => GENERATE_AGENT_ROUTE,
25
+ GENERATE_AGENT_VNEXT_ROUTE: () => GENERATE_AGENT_VNEXT_ROUTE,
26
+ GENERATE_LEGACY_ROUTE: () => GENERATE_LEGACY_ROUTE,
27
+ GET_AGENT_BY_ID_ROUTE: () => GET_AGENT_BY_ID_ROUTE,
28
+ GET_AGENT_SKILL_ROUTE: () => GET_AGENT_SKILL_ROUTE,
29
+ GET_PROVIDERS_ROUTE: () => GET_PROVIDERS_ROUTE,
30
+ LIST_AGENTS_ROUTE: () => LIST_AGENTS_ROUTE,
31
+ REORDER_AGENT_MODEL_LIST_ROUTE: () => REORDER_AGENT_MODEL_LIST_ROUTE,
32
+ RESET_AGENT_MODEL_ROUTE: () => RESET_AGENT_MODEL_ROUTE,
33
+ STREAM_GENERATE_LEGACY_ROUTE: () => STREAM_GENERATE_LEGACY_ROUTE,
34
+ STREAM_GENERATE_ROUTE: () => STREAM_GENERATE_ROUTE,
35
+ STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE: () => STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,
36
+ STREAM_NETWORK_ROUTE: () => STREAM_NETWORK_ROUTE,
37
+ STREAM_UI_MESSAGE_DEPRECATED_ROUTE: () => STREAM_UI_MESSAGE_DEPRECATED_ROUTE,
38
+ STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE: () => STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,
39
+ STREAM_VNEXT_DEPRECATED_ROUTE: () => STREAM_VNEXT_DEPRECATED_ROUTE,
40
+ UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE: () => UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,
41
+ UPDATE_AGENT_MODEL_ROUTE: () => UPDATE_AGENT_MODEL_ROUTE,
42
+ getAgentFromSystem: () => getAgentFromSystem,
43
+ getSerializedAgentTools: () => getSerializedAgentTools,
44
+ getSerializedProcessors: () => getSerializedProcessors,
45
+ getSerializedSkillsFromAgent: () => getSerializedSkillsFromAgent,
46
+ getWorkspaceToolsFromAgent: () => getWorkspaceToolsFromAgent
47
+ });
48
+
49
+ // src/server/constants.ts
50
+ var WORKSPACE_TOOLS_PREFIX = "mastra_workspace";
51
+ var WORKSPACE_TOOLS = {
52
+ FILESYSTEM: {
53
+ READ_FILE: `${WORKSPACE_TOOLS_PREFIX}_read_file`,
54
+ WRITE_FILE: `${WORKSPACE_TOOLS_PREFIX}_write_file`,
55
+ EDIT_FILE: `${WORKSPACE_TOOLS_PREFIX}_edit_file`,
56
+ LIST_FILES: `${WORKSPACE_TOOLS_PREFIX}_list_files`,
57
+ DELETE: `${WORKSPACE_TOOLS_PREFIX}_delete`,
58
+ FILE_STAT: `${WORKSPACE_TOOLS_PREFIX}_file_stat`,
59
+ MKDIR: `${WORKSPACE_TOOLS_PREFIX}_mkdir`
60
+ },
61
+ SANDBOX: {
62
+ EXECUTE_COMMAND: `${WORKSPACE_TOOLS_PREFIX}_execute_command`
63
+ },
64
+ SEARCH: {
65
+ SEARCH: `${WORKSPACE_TOOLS_PREFIX}_search`,
66
+ INDEX: `${WORKSPACE_TOOLS_PREFIX}_index`
67
+ }
68
+ };
69
+ function resolveToolConfig(toolsConfig, toolName) {
70
+ let enabled = true;
71
+ let requireApproval = false;
72
+ let requireReadBeforeWrite;
73
+ if (toolsConfig) {
74
+ if (toolsConfig.enabled !== void 0) {
75
+ enabled = toolsConfig.enabled;
76
+ }
77
+ if (toolsConfig.requireApproval !== void 0) {
78
+ requireApproval = toolsConfig.requireApproval;
79
+ }
80
+ const perToolConfig = toolsConfig[toolName];
81
+ if (perToolConfig) {
82
+ if (perToolConfig.enabled !== void 0) {
83
+ enabled = perToolConfig.enabled;
84
+ }
85
+ if (perToolConfig.requireApproval !== void 0) {
86
+ requireApproval = perToolConfig.requireApproval;
87
+ }
88
+ if (perToolConfig.requireReadBeforeWrite !== void 0) {
89
+ requireReadBeforeWrite = perToolConfig.requireReadBeforeWrite;
90
+ }
91
+ }
92
+ }
93
+ return { enabled, requireApproval, requireReadBeforeWrite };
94
+ }
95
+
96
+ // src/server/handlers/agents.ts
97
+ function isProviderConnected(providerId) {
98
+ const cleanId = providerId.includes(".") ? providerId.split(".")[0] : providerId;
99
+ const provider = PROVIDER_REGISTRY[cleanId];
100
+ if (!provider) return false;
101
+ const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];
102
+ return envVars.every((envVar) => !!process.env[envVar]);
103
+ }
104
+ async function getSerializedAgentTools(tools, partial = false) {
105
+ return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
106
+ const toolId = tool.id ?? `tool-${key}`;
107
+ let inputSchemaForReturn = void 0;
108
+ let outputSchemaForReturn = void 0;
109
+ let requestContextSchemaForReturn = void 0;
110
+ if (!partial) {
111
+ try {
112
+ if (tool.inputSchema) {
113
+ if (tool.inputSchema && typeof tool.inputSchema === "object" && "jsonSchema" in tool.inputSchema) {
114
+ inputSchemaForReturn = stringify(tool.inputSchema.jsonSchema);
115
+ } else if (typeof tool.inputSchema === "function") {
116
+ const inputSchema = tool.inputSchema();
117
+ if (inputSchema && inputSchema.jsonSchema) {
118
+ inputSchemaForReturn = stringify(inputSchema.jsonSchema);
119
+ }
120
+ } else if (tool.inputSchema) {
121
+ inputSchemaForReturn = stringify(
122
+ zodToJsonSchema(tool.inputSchema)
123
+ );
124
+ }
125
+ }
126
+ if (tool.outputSchema) {
127
+ if (tool.outputSchema && typeof tool.outputSchema === "object" && "jsonSchema" in tool.outputSchema) {
128
+ outputSchemaForReturn = stringify(tool.outputSchema.jsonSchema);
129
+ } else if (typeof tool.outputSchema === "function") {
130
+ const outputSchema = tool.outputSchema();
131
+ if (outputSchema && outputSchema.jsonSchema) {
132
+ outputSchemaForReturn = stringify(outputSchema.jsonSchema);
133
+ }
134
+ } else if (tool.outputSchema) {
135
+ outputSchemaForReturn = stringify(
136
+ zodToJsonSchema(tool.outputSchema)
137
+ );
138
+ }
139
+ }
140
+ if (tool.requestContextSchema) {
141
+ if (tool.requestContextSchema && typeof tool.requestContextSchema === "object" && "jsonSchema" in tool.requestContextSchema) {
142
+ requestContextSchemaForReturn = stringify(tool.requestContextSchema.jsonSchema);
143
+ } else if (typeof tool.requestContextSchema === "function") {
144
+ const requestContextSchema = tool.requestContextSchema();
145
+ if (requestContextSchema && requestContextSchema.jsonSchema) {
146
+ requestContextSchemaForReturn = stringify(requestContextSchema.jsonSchema);
147
+ }
148
+ } else if (tool.requestContextSchema) {
149
+ requestContextSchemaForReturn = stringify(
150
+ zodToJsonSchema(tool.requestContextSchema)
151
+ );
152
+ }
153
+ }
154
+ } catch (error) {
155
+ console.error(`Error getting serialized tool`, {
156
+ toolId: tool.id,
157
+ error
158
+ });
159
+ }
160
+ }
161
+ acc[key] = {
162
+ ...tool,
163
+ id: toolId,
164
+ inputSchema: inputSchemaForReturn,
165
+ outputSchema: outputSchemaForReturn,
166
+ requestContextSchema: requestContextSchemaForReturn
167
+ };
168
+ return acc;
169
+ }, {});
170
+ }
171
+ function getSerializedProcessors(processors) {
172
+ return processors.map((processor) => {
173
+ return {
174
+ id: processor.id,
175
+ name: processor.name || processor.constructor.name
176
+ };
177
+ });
178
+ }
179
+ async function getSerializedSkillsFromAgent(agent, requestContext) {
180
+ try {
181
+ const workspace = await agent.getWorkspace({ requestContext });
182
+ if (!workspace?.skills) {
183
+ return [];
184
+ }
185
+ const skillsList = await workspace.skills.list();
186
+ return skillsList.map((skill) => ({
187
+ name: skill.name,
188
+ description: skill.description,
189
+ license: skill.license
190
+ }));
191
+ } catch {
192
+ return [];
193
+ }
194
+ }
195
+ async function getWorkspaceToolsFromAgent(agent, requestContext) {
196
+ try {
197
+ const workspace = await agent.getWorkspace({ requestContext });
198
+ if (!workspace) {
199
+ return [];
200
+ }
201
+ const tools = [];
202
+ const isReadOnly = workspace.filesystem?.readOnly ?? false;
203
+ const toolsConfig = workspace.getToolsConfig();
204
+ const isEnabled = (toolName) => {
205
+ return resolveToolConfig(toolsConfig, toolName).enabled;
206
+ };
207
+ if (workspace.filesystem) {
208
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE)) {
209
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE);
210
+ }
211
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES)) {
212
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES);
213
+ }
214
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT)) {
215
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT);
216
+ }
217
+ if (!isReadOnly) {
218
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE)) {
219
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE);
220
+ }
221
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE)) {
222
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE);
223
+ }
224
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.DELETE)) {
225
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.DELETE);
226
+ }
227
+ if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.MKDIR)) {
228
+ tools.push(WORKSPACE_TOOLS.FILESYSTEM.MKDIR);
229
+ }
230
+ }
231
+ }
232
+ if (workspace.canBM25 || workspace.canVector) {
233
+ if (isEnabled(WORKSPACE_TOOLS.SEARCH.SEARCH)) {
234
+ tools.push(WORKSPACE_TOOLS.SEARCH.SEARCH);
235
+ }
236
+ if (!isReadOnly && isEnabled(WORKSPACE_TOOLS.SEARCH.INDEX)) {
237
+ tools.push(WORKSPACE_TOOLS.SEARCH.INDEX);
238
+ }
239
+ }
240
+ if (workspace.sandbox) {
241
+ if (workspace.sandbox.executeCommand && isEnabled(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND)) {
242
+ tools.push(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND);
243
+ }
244
+ }
245
+ return tools;
246
+ } catch {
247
+ return [];
248
+ }
249
+ }
250
+ async function getSerializedAgentDefinition({
251
+ agent,
252
+ requestContext
253
+ }) {
254
+ let serializedAgentAgents = {};
255
+ if ("listAgents" in agent) {
256
+ const agents = await agent.listAgents({ requestContext });
257
+ serializedAgentAgents = Object.entries(agents || {}).reduce(
258
+ (acc, [key, agent2]) => {
259
+ return {
260
+ ...acc,
261
+ [key]: { id: agent2.id, name: agent2.name }
262
+ };
263
+ },
264
+ {}
265
+ );
266
+ }
267
+ return serializedAgentAgents;
268
+ }
269
+ async function formatAgentList({
270
+ id,
271
+ mastra,
272
+ agent,
273
+ requestContext,
274
+ partial = false
275
+ }) {
276
+ const description = agent.getDescription();
277
+ const instructions = await agent.getInstructions({ requestContext });
278
+ const tools = await agent.listTools({ requestContext });
279
+ const llm = await agent.getLLM({ requestContext });
280
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });
281
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });
282
+ const defaultOptions = await agent.getDefaultOptions({ requestContext });
283
+ const serializedAgentTools = await getSerializedAgentTools(tools, partial);
284
+ let serializedAgentWorkflows = {};
285
+ const logger = mastra.getLogger();
286
+ if ("listWorkflows" in agent) {
287
+ try {
288
+ const workflows = await agent.listWorkflows({ requestContext });
289
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
290
+ return {
291
+ ...acc,
292
+ [key]: {
293
+ name: workflow.name || "Unnamed workflow"
294
+ }
295
+ };
296
+ }, {});
297
+ } catch (error) {
298
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
299
+ }
300
+ }
301
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });
302
+ let serializedInputProcessors = [];
303
+ let serializedOutputProcessors = [];
304
+ try {
305
+ const configuredProcessorWorkflows = await agent.getConfiguredProcessorWorkflows();
306
+ const inputProcessorWorkflows = configuredProcessorWorkflows.filter((w) => w.id.endsWith("-input-processor"));
307
+ const outputProcessorWorkflows = configuredProcessorWorkflows.filter((w) => w.id.endsWith("-output-processor"));
308
+ serializedInputProcessors = getSerializedProcessors(inputProcessorWorkflows);
309
+ serializedOutputProcessors = getSerializedProcessors(outputProcessorWorkflows);
310
+ } catch (error) {
311
+ logger.error("Error getting configured processors for agent", { agentName: agent.name, error });
312
+ }
313
+ const serializedSkills = await getSerializedSkillsFromAgent(agent, requestContext);
314
+ const workspaceTools = await getWorkspaceToolsFromAgent(agent, requestContext);
315
+ let workspaceId;
316
+ try {
317
+ const workspace = await agent.getWorkspace({ requestContext });
318
+ workspaceId = workspace?.id;
319
+ } catch {
320
+ }
321
+ const model = llm?.getModel();
322
+ const models = await agent.getModelList(requestContext);
323
+ const modelList = models?.map((md) => ({
324
+ ...md,
325
+ model: {
326
+ modelId: md.model.modelId,
327
+ provider: md.model.provider,
328
+ modelVersion: md.model.specificationVersion
329
+ }
330
+ }));
331
+ return {
332
+ id: agent.id || id,
333
+ name: agent.name,
334
+ description,
335
+ instructions,
336
+ agents: serializedAgentAgents,
337
+ tools: serializedAgentTools,
338
+ workflows: serializedAgentWorkflows,
339
+ skills: serializedSkills,
340
+ workspaceTools,
341
+ workspaceId,
342
+ inputProcessors: serializedInputProcessors,
343
+ outputProcessors: serializedOutputProcessors,
344
+ provider: llm?.getProvider(),
345
+ modelId: llm?.getModelId(),
346
+ modelVersion: model?.specificationVersion,
347
+ defaultOptions,
348
+ modelList,
349
+ defaultGenerateOptionsLegacy,
350
+ defaultStreamOptionsLegacy,
351
+ source: agent.source ?? "code"
352
+ };
353
+ }
354
+ async function getAgentFromSystem({ mastra, agentId }) {
355
+ const logger = mastra.getLogger();
356
+ if (!agentId) {
357
+ throw new HTTPException(400, { message: "Agent ID is required" });
358
+ }
359
+ let agent;
360
+ try {
361
+ agent = mastra.getAgentById(agentId);
362
+ } catch (error) {
363
+ logger.debug("Error getting agent from mastra, searching agents for agent", error);
364
+ }
365
+ if (!agent) {
366
+ logger.debug(`Agent ${agentId} not found, looking through sub-agents`);
367
+ const agents = mastra.listAgents();
368
+ if (Object.keys(agents || {}).length) {
369
+ for (const [_, ag] of Object.entries(agents)) {
370
+ try {
371
+ const subAgents = await ag.listAgents();
372
+ if (subAgents[agentId]) {
373
+ agent = subAgents[agentId];
374
+ break;
375
+ }
376
+ } catch (error) {
377
+ logger.debug("Error getting agent from agent", error);
378
+ }
379
+ }
380
+ }
381
+ }
382
+ if (!agent) {
383
+ logger.debug(`Agent ${agentId} not found in code-defined agents, looking in stored agents`);
384
+ try {
385
+ agent = await mastra.getStoredAgentById(agentId);
386
+ } catch (error) {
387
+ logger.debug("Error getting stored agent", error);
388
+ }
389
+ }
390
+ if (!agent) {
391
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
392
+ }
393
+ return agent;
394
+ }
395
+ async function formatAgent({
396
+ mastra,
397
+ agent,
398
+ requestContext,
399
+ isStudio
400
+ }) {
401
+ const description = agent.getDescription();
402
+ const tools = await agent.listTools({ requestContext });
403
+ const serializedAgentTools = await getSerializedAgentTools(tools);
404
+ let serializedAgentWorkflows = {};
405
+ if ("listWorkflows" in agent) {
406
+ const logger = mastra.getLogger();
407
+ try {
408
+ const workflows = await agent.listWorkflows({ requestContext });
409
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
410
+ return {
411
+ ...acc,
412
+ [key]: {
413
+ name: workflow.name || "Unnamed workflow",
414
+ steps: Object.entries(workflow.steps).reduce(
415
+ (acc2, [key2, step]) => {
416
+ return {
417
+ ...acc2,
418
+ [key2]: {
419
+ id: step.id,
420
+ description: step.description
421
+ }
422
+ };
423
+ },
424
+ {}
425
+ )
426
+ }
427
+ };
428
+ }, {});
429
+ } catch (error) {
430
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
431
+ }
432
+ }
433
+ let proxyRequestContext = requestContext;
434
+ const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });
435
+ const llm = await agent.getLLM({ requestContext });
436
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({
437
+ requestContext: proxyRequestContext
438
+ });
439
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });
440
+ const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });
441
+ const model = llm?.getModel();
442
+ const models = await agent.getModelList(requestContext);
443
+ const modelList = models?.map((md) => ({
444
+ ...md,
445
+ model: {
446
+ modelId: md.model.modelId,
447
+ provider: md.model.provider,
448
+ modelVersion: md.model.specificationVersion
449
+ }
450
+ }));
451
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });
452
+ let serializedInputProcessors = [];
453
+ let serializedOutputProcessors = [];
454
+ try {
455
+ const configuredProcessorWorkflows = await agent.getConfiguredProcessorWorkflows();
456
+ const inputProcessorWorkflows = configuredProcessorWorkflows.filter((w) => w.id.endsWith("-input-processor"));
457
+ const outputProcessorWorkflows = configuredProcessorWorkflows.filter((w) => w.id.endsWith("-output-processor"));
458
+ serializedInputProcessors = getSerializedProcessors(inputProcessorWorkflows);
459
+ serializedOutputProcessors = getSerializedProcessors(outputProcessorWorkflows);
460
+ } catch (error) {
461
+ mastra.getLogger().error("Error getting configured processors for agent", { agentName: agent.name, error });
462
+ }
463
+ const serializedSkills = await getSerializedSkillsFromAgent(agent, proxyRequestContext);
464
+ const workspaceTools = await getWorkspaceToolsFromAgent(agent, proxyRequestContext);
465
+ let workspaceId;
466
+ try {
467
+ const workspace = await agent.getWorkspace({ requestContext: proxyRequestContext });
468
+ workspaceId = workspace?.id;
469
+ } catch {
470
+ }
471
+ let serializedRequestContextSchema;
472
+ if (agent.requestContextSchema) {
473
+ try {
474
+ serializedRequestContextSchema = stringify(zodToJsonSchema(agent.requestContextSchema));
475
+ } catch (error) {
476
+ mastra.getLogger().error("Error serializing requestContextSchema for agent", { agentName: agent.name, error });
477
+ }
478
+ }
479
+ return {
480
+ name: agent.name,
481
+ description,
482
+ instructions,
483
+ tools: serializedAgentTools,
484
+ agents: serializedAgentAgents,
485
+ workflows: serializedAgentWorkflows,
486
+ skills: serializedSkills,
487
+ workspaceTools,
488
+ workspaceId,
489
+ inputProcessors: serializedInputProcessors,
490
+ outputProcessors: serializedOutputProcessors,
491
+ provider: llm?.getProvider(),
492
+ modelId: llm?.getModelId(),
493
+ modelVersion: model?.specificationVersion,
494
+ modelList,
495
+ defaultOptions,
496
+ defaultGenerateOptionsLegacy,
497
+ defaultStreamOptionsLegacy,
498
+ requestContextSchema: serializedRequestContextSchema,
499
+ source: agent.source ?? "code"
500
+ };
501
+ }
502
+ var LIST_AGENTS_ROUTE = createRoute({
503
+ method: "GET",
504
+ path: "/agents",
505
+ responseType: "json",
506
+ queryParamSchema: z.object({
507
+ partial: z.string().optional()
508
+ }),
509
+ responseSchema: listAgentsResponseSchema,
510
+ summary: "List all agents",
511
+ description: "Returns a list of all available agents in the system (both code-defined and stored)",
512
+ tags: ["Agents"],
513
+ requiresAuth: true,
514
+ handler: async ({ mastra, requestContext, partial }) => {
515
+ try {
516
+ const codeAgents = mastra.listAgents();
517
+ const isPartial = partial === "true";
518
+ const serializedCodeAgentsMap = await Promise.all(
519
+ Object.entries(codeAgents).map(async ([id, agent]) => {
520
+ return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });
521
+ })
522
+ );
523
+ const serializedAgents = serializedCodeAgentsMap.reduce(
524
+ (acc, { id, ...rest }) => {
525
+ acc[id] = { id, ...rest };
526
+ return acc;
527
+ },
528
+ {}
529
+ );
530
+ try {
531
+ const storedAgentsResult = await mastra.listStoredAgents();
532
+ if (storedAgentsResult?.agents) {
533
+ for (const agent of storedAgentsResult.agents) {
534
+ try {
535
+ const serialized = await formatAgentList({
536
+ id: agent.id,
537
+ mastra,
538
+ agent,
539
+ requestContext,
540
+ partial: isPartial
541
+ });
542
+ if (!serializedAgents[serialized.id]) {
543
+ serializedAgents[serialized.id] = serialized;
544
+ }
545
+ } catch (agentError) {
546
+ const logger = mastra.getLogger();
547
+ logger.warn("Failed to serialize stored agent", { agentId: agent.id, error: agentError });
548
+ }
549
+ }
550
+ }
551
+ } catch (storageError) {
552
+ const logger = mastra.getLogger();
553
+ logger.debug("Could not fetch stored agents", { error: storageError });
554
+ }
555
+ return serializedAgents;
556
+ } catch (error) {
557
+ return handleError(error, "Error getting agents");
558
+ }
559
+ }
560
+ });
561
+ var GET_AGENT_BY_ID_ROUTE = createRoute({
562
+ method: "GET",
563
+ path: "/agents/:agentId",
564
+ responseType: "json",
565
+ pathParamSchema: agentIdPathParams,
566
+ responseSchema: serializedAgentSchema,
567
+ summary: "Get agent by ID",
568
+ description: "Returns details for a specific agent including configuration, tools, and memory settings",
569
+ tags: ["Agents"],
570
+ requiresAuth: true,
571
+ handler: async ({ agentId, mastra, requestContext }) => {
572
+ try {
573
+ const agent = await getAgentFromSystem({ mastra, agentId });
574
+ const isStudio = false;
575
+ const result = await formatAgent({
576
+ mastra,
577
+ agent,
578
+ requestContext,
579
+ isStudio
580
+ });
581
+ return result;
582
+ } catch (error) {
583
+ return handleError(error, "Error getting agent");
584
+ }
585
+ }
586
+ });
587
+ var GENERATE_AGENT_ROUTE = createRoute({
588
+ method: "POST",
589
+ path: "/agents/:agentId/generate",
590
+ responseType: "json",
591
+ pathParamSchema: agentIdPathParams,
592
+ bodySchema: agentExecutionBodySchema,
593
+ responseSchema: generateResponseSchema,
594
+ summary: "Generate agent response",
595
+ description: "Executes an agent with the provided messages and returns the complete response",
596
+ tags: ["Agents"],
597
+ requiresAuth: true,
598
+ handler: async ({ agentId, mastra, abortSignal, requestContext: serverRequestContext, ...params }) => {
599
+ try {
600
+ const agent = await getAgentFromSystem({ mastra, agentId });
601
+ sanitizeBody(params, ["tools"]);
602
+ const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
603
+ validateBody({ messages });
604
+ if (bodyRequestContext && typeof bodyRequestContext === "object") {
605
+ for (const [key, value] of Object.entries(bodyRequestContext)) {
606
+ if (serverRequestContext.get(key) === void 0) {
607
+ serverRequestContext.set(key, value);
608
+ }
609
+ }
610
+ }
611
+ let authorizedMemoryOption = memoryOption;
612
+ if (memoryOption) {
613
+ const clientThreadId = typeof memoryOption.thread === "string" ? memoryOption.thread : memoryOption.thread?.id;
614
+ const effectiveResourceId = getEffectiveResourceId(serverRequestContext, memoryOption.resource);
615
+ const effectiveThreadId = getEffectiveThreadId(serverRequestContext, clientThreadId);
616
+ if (effectiveThreadId && effectiveResourceId) {
617
+ const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
618
+ if (memoryInstance) {
619
+ const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
620
+ await validateThreadOwnership(thread, effectiveResourceId);
621
+ }
622
+ }
623
+ authorizedMemoryOption = {
624
+ ...memoryOption,
625
+ resource: effectiveResourceId ?? memoryOption.resource,
626
+ thread: effectiveThreadId ?? memoryOption.thread
627
+ };
628
+ }
629
+ const result = await agent.generate(messages, {
630
+ ...rest,
631
+ requestContext: serverRequestContext,
632
+ memory: authorizedMemoryOption,
633
+ abortSignal
634
+ });
635
+ return result;
636
+ } catch (error) {
637
+ return handleError(error, "Error generating from agent");
638
+ }
639
+ }
640
+ });
641
+ var GENERATE_LEGACY_ROUTE = createRoute({
642
+ method: "POST",
643
+ path: "/agents/:agentId/generate-legacy",
644
+ responseType: "json",
645
+ pathParamSchema: agentIdPathParams,
646
+ bodySchema: agentExecutionLegacyBodySchema,
647
+ responseSchema: generateResponseSchema,
648
+ summary: "[DEPRECATED] Generate with legacy format",
649
+ description: "Legacy endpoint for generating agent responses. Use /agents/:agentId/generate instead.",
650
+ tags: ["Agents", "Legacy"],
651
+ requiresAuth: true,
652
+ handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {
653
+ try {
654
+ const agent = await getAgentFromSystem({ mastra, agentId });
655
+ sanitizeBody(params, ["tools"]);
656
+ const { messages, resourceId, resourceid, threadId, ...rest } = params;
657
+ const clientResourceId = resourceId ?? resourceid;
658
+ const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);
659
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
660
+ validateBody({ messages });
661
+ if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
662
+ throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
663
+ }
664
+ if (effectiveThreadId && effectiveResourceId) {
665
+ const memory = await agent.getMemory({ requestContext });
666
+ if (memory) {
667
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
668
+ await validateThreadOwnership(thread, effectiveResourceId);
669
+ }
670
+ }
671
+ const result = await agent.generateLegacy(messages, {
672
+ ...rest,
673
+ abortSignal,
674
+ resourceId: effectiveResourceId ?? "",
675
+ threadId: effectiveThreadId ?? ""
676
+ });
677
+ return result;
678
+ } catch (error) {
679
+ return handleError(error, "Error generating from agent");
680
+ }
681
+ }
682
+ });
683
+ var STREAM_GENERATE_LEGACY_ROUTE = createRoute({
684
+ method: "POST",
685
+ path: "/agents/:agentId/stream-legacy",
686
+ responseType: "datastream-response",
687
+ pathParamSchema: agentIdPathParams,
688
+ bodySchema: agentExecutionLegacyBodySchema,
689
+ responseSchema: streamResponseSchema,
690
+ summary: "[DEPRECATED] Stream with legacy format",
691
+ description: "Legacy endpoint for streaming agent responses. Use /agents/:agentId/stream instead.",
692
+ tags: ["Agents", "Legacy"],
693
+ requiresAuth: true,
694
+ handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {
695
+ try {
696
+ const agent = await getAgentFromSystem({ mastra, agentId });
697
+ sanitizeBody(params, ["tools"]);
698
+ const { messages, resourceId, resourceid, threadId, ...rest } = params;
699
+ const clientResourceId = resourceId ?? resourceid;
700
+ const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);
701
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
702
+ validateBody({ messages });
703
+ if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
704
+ throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
705
+ }
706
+ if (effectiveThreadId && effectiveResourceId) {
707
+ const memory = await agent.getMemory({ requestContext });
708
+ if (memory) {
709
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
710
+ await validateThreadOwnership(thread, effectiveResourceId);
711
+ }
712
+ }
713
+ const streamResult = await agent.streamLegacy(messages, {
714
+ ...rest,
715
+ abortSignal,
716
+ resourceId: effectiveResourceId ?? "",
717
+ threadId: effectiveThreadId ?? ""
718
+ });
719
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
720
+ headers: {
721
+ "Transfer-Encoding": "chunked"
722
+ }
723
+ }) : streamResult.toDataStreamResponse({
724
+ sendUsage: true,
725
+ sendReasoning: true,
726
+ getErrorMessage: (error) => {
727
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
728
+ },
729
+ headers: {
730
+ "Transfer-Encoding": "chunked"
731
+ }
732
+ });
733
+ return streamResponse;
734
+ } catch (error) {
735
+ return handleError(error, "error streaming agent response");
736
+ }
737
+ }
738
+ });
739
+ var GET_PROVIDERS_ROUTE = createRoute({
740
+ method: "GET",
741
+ path: "/agents/providers",
742
+ responseType: "json",
743
+ responseSchema: providersResponseSchema,
744
+ summary: "List AI providers",
745
+ description: "Returns a list of all configured AI model providers",
746
+ tags: ["Agents"],
747
+ requiresAuth: true,
748
+ handler: async () => {
749
+ try {
750
+ const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {
751
+ return {
752
+ id,
753
+ name: provider.name,
754
+ label: provider.label || provider.name,
755
+ description: provider.description || "",
756
+ envVar: provider.apiKeyEnvVar,
757
+ connected: isProviderConnected(id),
758
+ docUrl: provider.docUrl,
759
+ models: [...provider.models]
760
+ // Convert readonly array to regular array
761
+ };
762
+ });
763
+ return { providers };
764
+ } catch (error) {
765
+ return handleError(error, "Error fetching providers");
766
+ }
767
+ }
768
+ });
769
+ var GENERATE_AGENT_VNEXT_ROUTE = createRoute({
770
+ method: "POST",
771
+ path: "/agents/:agentId/generate/vnext",
772
+ responseType: "json",
773
+ pathParamSchema: agentIdPathParams,
774
+ bodySchema: agentExecutionBodySchema,
775
+ responseSchema: generateResponseSchema,
776
+ summary: "Generate a response from an agent",
777
+ description: "Generate a response from an agent",
778
+ tags: ["Agents"],
779
+ requiresAuth: true,
780
+ handler: GENERATE_AGENT_ROUTE.handler
781
+ });
782
+ var STREAM_GENERATE_ROUTE = createRoute({
783
+ method: "POST",
784
+ path: "/agents/:agentId/stream",
785
+ responseType: "stream",
786
+ streamFormat: "sse",
787
+ pathParamSchema: agentIdPathParams,
788
+ bodySchema: agentExecutionBodySchema,
789
+ responseSchema: streamResponseSchema,
790
+ summary: "Stream agent response",
791
+ description: "Executes an agent with the provided messages and streams the response in real-time",
792
+ tags: ["Agents"],
793
+ requiresAuth: true,
794
+ handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
795
+ try {
796
+ const agent = await getAgentFromSystem({ mastra, agentId });
797
+ sanitizeBody(params, ["tools"]);
798
+ const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
799
+ validateBody({ messages });
800
+ if (bodyRequestContext && typeof bodyRequestContext === "object") {
801
+ for (const [key, value] of Object.entries(bodyRequestContext)) {
802
+ if (serverRequestContext.get(key) === void 0) {
803
+ serverRequestContext.set(key, value);
804
+ }
805
+ }
806
+ }
807
+ let authorizedMemoryOption = memoryOption;
808
+ if (memoryOption) {
809
+ const clientThreadId = typeof memoryOption.thread === "string" ? memoryOption.thread : memoryOption.thread?.id;
810
+ const effectiveResourceId = getEffectiveResourceId(serverRequestContext, memoryOption.resource);
811
+ const effectiveThreadId = getEffectiveThreadId(serverRequestContext, clientThreadId);
812
+ if (effectiveThreadId && effectiveResourceId) {
813
+ const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
814
+ if (memoryInstance) {
815
+ const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
816
+ await validateThreadOwnership(thread, effectiveResourceId);
817
+ }
818
+ }
819
+ authorizedMemoryOption = {
820
+ ...memoryOption,
821
+ resource: effectiveResourceId ?? memoryOption.resource,
822
+ thread: effectiveThreadId ?? memoryOption.thread
823
+ };
824
+ }
825
+ const streamResult = await agent.stream(messages, {
826
+ ...rest,
827
+ requestContext: serverRequestContext,
828
+ memory: authorizedMemoryOption,
829
+ abortSignal
830
+ });
831
+ return streamResult.fullStream;
832
+ } catch (error) {
833
+ return handleError(error, "error streaming agent response");
834
+ }
835
+ }
836
+ });
837
+ var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({
838
+ method: "POST",
839
+ path: "/agents/:agentId/stream/vnext",
840
+ responseType: "stream",
841
+ pathParamSchema: agentIdPathParams,
842
+ bodySchema: agentExecutionBodySchema,
843
+ responseSchema: streamResponseSchema,
844
+ summary: "Stream a response from an agent",
845
+ description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
846
+ tags: ["Agents"],
847
+ requiresAuth: true,
848
+ deprecated: true,
849
+ handler: STREAM_GENERATE_ROUTE.handler
850
+ });
851
+ var APPROVE_TOOL_CALL_ROUTE = createRoute({
852
+ method: "POST",
853
+ path: "/agents/:agentId/approve-tool-call",
854
+ responseType: "stream",
855
+ streamFormat: "sse",
856
+ pathParamSchema: agentIdPathParams,
857
+ bodySchema: approveToolCallBodySchema,
858
+ responseSchema: toolCallResponseSchema,
859
+ summary: "Approve tool call",
860
+ description: "Approves a pending tool call and continues agent execution",
861
+ tags: ["Agents", "Tools"],
862
+ requiresAuth: true,
863
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
864
+ try {
865
+ const agent = await getAgentFromSystem({ mastra, agentId });
866
+ if (!params.runId) {
867
+ throw new HTTPException(400, { message: "Run id is required" });
868
+ }
869
+ if (!params.toolCallId) {
870
+ throw new HTTPException(400, { message: "Tool call id is required" });
871
+ }
872
+ sanitizeBody(params, ["tools"]);
873
+ const streamResult = await agent.approveToolCall({
874
+ ...params,
875
+ abortSignal
876
+ });
877
+ return streamResult.fullStream;
878
+ } catch (error) {
879
+ return handleError(error, "error approving tool call");
880
+ }
881
+ }
882
+ });
883
+ var DECLINE_TOOL_CALL_ROUTE = createRoute({
884
+ method: "POST",
885
+ path: "/agents/:agentId/decline-tool-call",
886
+ responseType: "stream",
887
+ streamFormat: "sse",
888
+ pathParamSchema: agentIdPathParams,
889
+ bodySchema: declineToolCallBodySchema,
890
+ responseSchema: toolCallResponseSchema,
891
+ summary: "Decline tool call",
892
+ description: "Declines a pending tool call and continues agent execution without executing the tool",
893
+ tags: ["Agents", "Tools"],
894
+ requiresAuth: true,
895
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
896
+ try {
897
+ const agent = await getAgentFromSystem({ mastra, agentId });
898
+ if (!params.runId) {
899
+ throw new HTTPException(400, { message: "Run id is required" });
900
+ }
901
+ if (!params.toolCallId) {
902
+ throw new HTTPException(400, { message: "Tool call id is required" });
903
+ }
904
+ sanitizeBody(params, ["tools"]);
905
+ const streamResult = await agent.declineToolCall({
906
+ ...params,
907
+ abortSignal
908
+ });
909
+ return streamResult.fullStream;
910
+ } catch (error) {
911
+ return handleError(error, "error declining tool call");
912
+ }
913
+ }
914
+ });
915
+ var APPROVE_TOOL_CALL_GENERATE_ROUTE = createRoute({
916
+ method: "POST",
917
+ path: "/agents/:agentId/approve-tool-call-generate",
918
+ responseType: "json",
919
+ pathParamSchema: agentIdPathParams,
920
+ bodySchema: approveToolCallBodySchema,
921
+ responseSchema: generateResponseSchema,
922
+ summary: "Approve tool call (non-streaming)",
923
+ description: "Approves a pending tool call and returns the complete response",
924
+ tags: ["Agents", "Tools"],
925
+ requiresAuth: true,
926
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
927
+ try {
928
+ const agent = await getAgentFromSystem({ mastra, agentId });
929
+ if (!params.runId) {
930
+ throw new HTTPException(400, { message: "Run id is required" });
931
+ }
932
+ if (!params.toolCallId) {
933
+ throw new HTTPException(400, { message: "Tool call id is required" });
934
+ }
935
+ sanitizeBody(params, ["tools"]);
936
+ const result = await agent.approveToolCallGenerate({
937
+ ...params,
938
+ abortSignal
939
+ });
940
+ return result;
941
+ } catch (error) {
942
+ return handleError(error, "error approving tool call");
943
+ }
944
+ }
945
+ });
946
+ var DECLINE_TOOL_CALL_GENERATE_ROUTE = createRoute({
947
+ method: "POST",
948
+ path: "/agents/:agentId/decline-tool-call-generate",
949
+ responseType: "json",
950
+ pathParamSchema: agentIdPathParams,
951
+ bodySchema: declineToolCallBodySchema,
952
+ responseSchema: generateResponseSchema,
953
+ summary: "Decline tool call (non-streaming)",
954
+ description: "Declines a pending tool call and returns the complete response",
955
+ tags: ["Agents", "Tools"],
956
+ requiresAuth: true,
957
+ handler: async ({ mastra, agentId, abortSignal, ...params }) => {
958
+ try {
959
+ const agent = await getAgentFromSystem({ mastra, agentId });
960
+ if (!params.runId) {
961
+ throw new HTTPException(400, { message: "Run id is required" });
962
+ }
963
+ if (!params.toolCallId) {
964
+ throw new HTTPException(400, { message: "Tool call id is required" });
965
+ }
966
+ sanitizeBody(params, ["tools"]);
967
+ const result = await agent.declineToolCallGenerate({
968
+ ...params,
969
+ abortSignal
970
+ });
971
+ return result;
972
+ } catch (error) {
973
+ return handleError(error, "error declining tool call");
974
+ }
975
+ }
976
+ });
977
+ var STREAM_NETWORK_ROUTE = createRoute({
978
+ method: "POST",
979
+ path: "/agents/:agentId/network",
980
+ responseType: "stream",
981
+ streamFormat: "sse",
982
+ pathParamSchema: agentIdPathParams,
983
+ bodySchema: agentExecutionBodySchema,
984
+ responseSchema: streamResponseSchema,
985
+ summary: "Stream agent network",
986
+ description: "Executes an agent network with multiple agents and streams the response",
987
+ tags: ["Agents"],
988
+ requiresAuth: true,
989
+ handler: async ({ mastra, messages, agentId, ...params }) => {
990
+ try {
991
+ const agent = await getAgentFromSystem({ mastra, agentId });
992
+ sanitizeBody(params, ["tools"]);
993
+ validateBody({ messages });
994
+ const streamResult = await agent.network(messages, {
995
+ ...params
996
+ });
997
+ return streamResult;
998
+ } catch (error) {
999
+ return handleError(error, "error streaming agent loop response");
1000
+ }
1001
+ }
1002
+ });
1003
+ var APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({
1004
+ method: "POST",
1005
+ path: "/agents/:agentId/approve-network-tool-call",
1006
+ responseType: "stream",
1007
+ streamFormat: "sse",
1008
+ pathParamSchema: agentIdPathParams,
1009
+ bodySchema: approveNetworkToolCallBodySchema,
1010
+ responseSchema: streamResponseSchema,
1011
+ summary: "Approve network tool call",
1012
+ description: "Approves a pending network tool call and continues network agent execution",
1013
+ tags: ["Agents", "Tools"],
1014
+ requiresAuth: true,
1015
+ handler: async ({ mastra, agentId, ...params }) => {
1016
+ try {
1017
+ const agent = await getAgentFromSystem({ mastra, agentId });
1018
+ if (!params.runId) {
1019
+ throw new HTTPException(400, { message: "Run id is required" });
1020
+ }
1021
+ sanitizeBody(params, ["tools"]);
1022
+ const streamResult = await agent.approveNetworkToolCall({
1023
+ ...params
1024
+ });
1025
+ return streamResult;
1026
+ } catch (error) {
1027
+ return handleError(error, "error approving network tool call");
1028
+ }
1029
+ }
1030
+ });
1031
+ var DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({
1032
+ method: "POST",
1033
+ path: "/agents/:agentId/decline-network-tool-call",
1034
+ responseType: "stream",
1035
+ streamFormat: "sse",
1036
+ pathParamSchema: agentIdPathParams,
1037
+ bodySchema: declineNetworkToolCallBodySchema,
1038
+ responseSchema: streamResponseSchema,
1039
+ summary: "Decline network tool call",
1040
+ description: "Declines a pending network tool call and continues network agent execution without executing the tool",
1041
+ tags: ["Agents", "Tools"],
1042
+ requiresAuth: true,
1043
+ handler: async ({ mastra, agentId, ...params }) => {
1044
+ try {
1045
+ const agent = await getAgentFromSystem({ mastra, agentId });
1046
+ if (!params.runId) {
1047
+ throw new HTTPException(400, { message: "Run id is required" });
1048
+ }
1049
+ sanitizeBody(params, ["tools"]);
1050
+ const streamResult = await agent.declineNetworkToolCall({
1051
+ ...params
1052
+ });
1053
+ return streamResult;
1054
+ } catch (error) {
1055
+ return handleError(error, "error declining network tool call");
1056
+ }
1057
+ }
1058
+ });
1059
+ var UPDATE_AGENT_MODEL_ROUTE = createRoute({
1060
+ method: "POST",
1061
+ path: "/agents/:agentId/model",
1062
+ responseType: "json",
1063
+ pathParamSchema: agentIdPathParams,
1064
+ bodySchema: updateAgentModelBodySchema,
1065
+ responseSchema: modelManagementResponseSchema,
1066
+ summary: "Update agent model",
1067
+ description: "Updates the AI model used by the agent",
1068
+ tags: ["Agents", "Models"],
1069
+ requiresAuth: true,
1070
+ handler: async ({ mastra, agentId, modelId, provider }) => {
1071
+ try {
1072
+ const agent = await getAgentFromSystem({ mastra, agentId });
1073
+ const newModel = `${provider}/${modelId}`;
1074
+ agent.__updateModel({ model: newModel });
1075
+ return { message: "Agent model updated" };
1076
+ } catch (error) {
1077
+ return handleError(error, "error updating agent model");
1078
+ }
1079
+ }
1080
+ });
1081
+ var RESET_AGENT_MODEL_ROUTE = createRoute({
1082
+ method: "POST",
1083
+ path: "/agents/:agentId/model/reset",
1084
+ responseType: "json",
1085
+ pathParamSchema: agentIdPathParams,
1086
+ responseSchema: modelManagementResponseSchema,
1087
+ summary: "Reset agent model",
1088
+ description: "Resets the agent model to its original configuration",
1089
+ tags: ["Agents", "Models"],
1090
+ requiresAuth: true,
1091
+ handler: async ({ mastra, agentId }) => {
1092
+ try {
1093
+ const agent = await getAgentFromSystem({ mastra, agentId });
1094
+ agent.__resetToOriginalModel();
1095
+ return { message: "Agent model reset to original" };
1096
+ } catch (error) {
1097
+ return handleError(error, "error resetting agent model");
1098
+ }
1099
+ }
1100
+ });
1101
+ var REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({
1102
+ method: "POST",
1103
+ path: "/agents/:agentId/models/reorder",
1104
+ responseType: "json",
1105
+ pathParamSchema: agentIdPathParams,
1106
+ bodySchema: reorderAgentModelListBodySchema,
1107
+ responseSchema: modelManagementResponseSchema,
1108
+ summary: "Reorder agent model list",
1109
+ description: "Reorders the model list for agents with multiple model configurations",
1110
+ tags: ["Agents", "Models"],
1111
+ requiresAuth: true,
1112
+ handler: async ({ mastra, agentId, reorderedModelIds }) => {
1113
+ try {
1114
+ const agent = await getAgentFromSystem({ mastra, agentId });
1115
+ const modelList = await agent.getModelList();
1116
+ if (!modelList || modelList.length === 0) {
1117
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
1118
+ }
1119
+ agent.reorderModels(reorderedModelIds);
1120
+ return { message: "Model list reordered" };
1121
+ } catch (error) {
1122
+ return handleError(error, "error reordering model list");
1123
+ }
1124
+ }
1125
+ });
1126
+ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({
1127
+ method: "POST",
1128
+ path: "/agents/:agentId/models/:modelConfigId",
1129
+ responseType: "json",
1130
+ pathParamSchema: modelConfigIdPathParams,
1131
+ bodySchema: updateAgentModelInModelListBodySchema,
1132
+ responseSchema: modelManagementResponseSchema,
1133
+ summary: "Update model in model list",
1134
+ description: "Updates a specific model configuration in the agent model list",
1135
+ tags: ["Agents", "Models"],
1136
+ requiresAuth: true,
1137
+ handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {
1138
+ try {
1139
+ const agent = await getAgentFromSystem({ mastra, agentId });
1140
+ const modelList = await agent.getModelList();
1141
+ if (!modelList || modelList.length === 0) {
1142
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
1143
+ }
1144
+ const modelConfig = modelList.find((config) => config.id === modelConfigId);
1145
+ if (!modelConfig) {
1146
+ throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });
1147
+ }
1148
+ const newModel = bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;
1149
+ const updated = {
1150
+ ...modelConfig,
1151
+ model: newModel,
1152
+ ...maxRetries !== void 0 ? { maxRetries } : {},
1153
+ ...enabled !== void 0 ? { enabled } : {}
1154
+ };
1155
+ agent.updateModelInModelList(updated);
1156
+ return { message: "Model updated in model list" };
1157
+ } catch (error) {
1158
+ return handleError(error, "error updating model in model list");
1159
+ }
1160
+ }
1161
+ });
1162
+ var ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS = `You are an expert system prompt engineer, specialized in analyzing and enhancing instructions to create clear, effective, and comprehensive system prompts. Your goal is to help users transform their basic instructions into well-structured system prompts that will guide AI behavior effectively.
1163
+
1164
+ Follow these steps to analyze and enhance the instructions:
1165
+
1166
+ 1. ANALYSIS PHASE
1167
+ - Identify the core purpose and goals
1168
+ - Extract key constraints and requirements
1169
+ - Recognize domain-specific terminology and concepts
1170
+ - Note any implicit assumptions that should be made explicit
1171
+
1172
+ 2. PROMPT STRUCTURE
1173
+ Create a system prompt with these components:
1174
+ a) ROLE DEFINITION
1175
+ - Clear statement of the AI's role and purpose
1176
+ - Key responsibilities and scope
1177
+ - Primary stakeholders and users
1178
+ b) CORE CAPABILITIES
1179
+ - Main functions and abilities
1180
+ - Specific domain knowledge required
1181
+ - Tools and resources available
1182
+ c) BEHAVIORAL GUIDELINES
1183
+ - Communication style and tone
1184
+ - Decision-making framework
1185
+ - Error handling approach
1186
+ - Ethical considerations
1187
+ d) CONSTRAINTS & BOUNDARIES
1188
+ - Explicit limitations
1189
+ - Out-of-scope activities
1190
+ - Security and privacy considerations
1191
+ e) SUCCESS CRITERIA
1192
+ - Quality standards
1193
+ - Expected outcomes
1194
+ - Performance metrics
1195
+
1196
+ 3. QUALITY CHECKS
1197
+ Ensure the prompt is:
1198
+ - Clear and unambiguous
1199
+ - Comprehensive yet concise
1200
+ - Properly scoped
1201
+ - Technically accurate
1202
+ - Ethically sound
1203
+
1204
+ 4. OUTPUT FORMAT
1205
+ Return a structured response with:
1206
+ - Enhanced system prompt
1207
+ - Analysis of key components
1208
+ - Identified goals and constraints
1209
+ - Core domain concepts
1210
+
1211
+ Remember: A good system prompt should be specific enough to guide behavior but flexible enough to handle edge cases. Focus on creating prompts that are clear, actionable, and aligned with the intended use case.`;
1212
+ async function findConnectedModel(agent) {
1213
+ const modelList = await agent.getModelList();
1214
+ if (modelList && modelList.length > 0) {
1215
+ for (const modelConfig of modelList) {
1216
+ if (modelConfig.enabled !== false) {
1217
+ const model = modelConfig.model;
1218
+ if (isProviderConnected(model.provider)) {
1219
+ return model;
1220
+ }
1221
+ }
1222
+ }
1223
+ return null;
1224
+ }
1225
+ const defaultModel = await agent.getModel();
1226
+ if (isProviderConnected(defaultModel.provider)) {
1227
+ return defaultModel;
1228
+ }
1229
+ return null;
1230
+ }
1231
+ var ENHANCE_INSTRUCTIONS_ROUTE = createRoute({
1232
+ method: "POST",
1233
+ path: "/agents/:agentId/instructions/enhance",
1234
+ responseType: "json",
1235
+ pathParamSchema: agentIdPathParams,
1236
+ bodySchema: enhanceInstructionsBodySchema,
1237
+ responseSchema: enhanceInstructionsResponseSchema,
1238
+ summary: "Enhance agent instructions",
1239
+ description: "Uses AI to enhance or modify agent instructions based on user feedback",
1240
+ tags: ["Agents"],
1241
+ requiresAuth: true,
1242
+ handler: async ({ mastra, agentId, instructions, comment }) => {
1243
+ try {
1244
+ const agent = await getAgentFromSystem({ mastra, agentId });
1245
+ const model = await findConnectedModel(agent);
1246
+ if (!model) {
1247
+ throw new HTTPException(400, {
1248
+ message: "No model with a configured API key found. Please set the required environment variable for your model provider."
1249
+ });
1250
+ }
1251
+ const systemPromptAgent = new Agent({
1252
+ id: "system-prompt-enhancer",
1253
+ name: "system-prompt-enhancer",
1254
+ instructions: ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS,
1255
+ model
1256
+ });
1257
+ const result = await systemPromptAgent.generate(
1258
+ `We need to improve the system prompt.
1259
+ Current: ${instructions}
1260
+ ${comment ? `User feedback: ${comment}` : ""}`,
1261
+ {
1262
+ structuredOutput: {
1263
+ schema: enhanceInstructionsResponseSchema
1264
+ }
1265
+ }
1266
+ );
1267
+ return await result.object;
1268
+ } catch (error) {
1269
+ return handleError(error, "Error enhancing instructions");
1270
+ }
1271
+ }
1272
+ });
1273
+ var STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({
1274
+ method: "POST",
1275
+ path: "/agents/:agentId/streamVNext",
1276
+ responseType: "stream",
1277
+ pathParamSchema: agentIdPathParams,
1278
+ bodySchema: agentExecutionBodySchema,
1279
+ responseSchema: streamResponseSchema,
1280
+ summary: "Stream a response from an agent",
1281
+ description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
1282
+ tags: ["Agents"],
1283
+ requiresAuth: true,
1284
+ deprecated: true,
1285
+ handler: async () => {
1286
+ throw new HTTPException(410, { message: "This endpoint is deprecated. Please use /stream instead." });
1287
+ }
1288
+ });
1289
+ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({
1290
+ method: "POST",
1291
+ path: "/agents/:agentId/stream/vnext/ui",
1292
+ responseType: "stream",
1293
+ pathParamSchema: agentIdPathParams,
1294
+ bodySchema: agentExecutionBodySchema,
1295
+ responseSchema: streamResponseSchema,
1296
+ summary: "Stream UI messages from an agent",
1297
+ description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
1298
+ tags: ["Agents"],
1299
+ requiresAuth: true,
1300
+ deprecated: true,
1301
+ handler: async () => {
1302
+ try {
1303
+ throw new MastraError({
1304
+ category: ErrorCategory.USER,
1305
+ domain: ErrorDomain.MASTRA_SERVER,
1306
+ id: "DEPRECATED_ENDPOINT",
1307
+ text: "This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations"
1308
+ });
1309
+ } catch (error) {
1310
+ return handleError(error, "error streaming agent response");
1311
+ }
1312
+ }
1313
+ });
1314
+ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({
1315
+ method: "POST",
1316
+ path: "/agents/:agentId/stream/ui",
1317
+ responseType: "stream",
1318
+ pathParamSchema: agentIdPathParams,
1319
+ bodySchema: agentExecutionBodySchema,
1320
+ responseSchema: streamResponseSchema,
1321
+ summary: "Stream UI messages from an agent",
1322
+ description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
1323
+ tags: ["Agents"],
1324
+ requiresAuth: true,
1325
+ deprecated: true,
1326
+ handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler
1327
+ });
1328
+ var GET_AGENT_SKILL_ROUTE = createRoute({
1329
+ method: "GET",
1330
+ path: "/agents/:agentId/skills/:skillName",
1331
+ responseType: "json",
1332
+ pathParamSchema: agentSkillPathParams,
1333
+ responseSchema: getAgentSkillResponseSchema,
1334
+ summary: "Get agent skill",
1335
+ description: "Returns details for a specific skill available to the agent via its workspace",
1336
+ tags: ["Agents", "Skills"],
1337
+ handler: async ({ mastra, agentId, skillName, requestContext }) => {
1338
+ try {
1339
+ const agent = agentId ? mastra.getAgentById(agentId) : null;
1340
+ if (!agent) {
1341
+ throw new HTTPException(404, { message: "Agent not found" });
1342
+ }
1343
+ const workspace = await agent.getWorkspace({ requestContext });
1344
+ if (!workspace?.skills) {
1345
+ throw new HTTPException(404, { message: "Agent does not have skills configured" });
1346
+ }
1347
+ const skill = await workspace.skills.get(skillName);
1348
+ if (!skill) {
1349
+ throw new HTTPException(404, { message: `Skill "${skillName}" not found` });
1350
+ }
1351
+ return {
1352
+ name: skill.name,
1353
+ description: skill.description,
1354
+ license: skill.license,
1355
+ compatibility: skill.compatibility,
1356
+ metadata: skill.metadata,
1357
+ path: skill.path,
1358
+ instructions: skill.instructions,
1359
+ source: skill.source,
1360
+ references: skill.references,
1361
+ scripts: skill.scripts,
1362
+ assets: skill.assets
1363
+ };
1364
+ } catch (error) {
1365
+ return handleError(error, "Error getting agent skill");
1366
+ }
1367
+ }
1368
+ });
1369
+
1370
+ export { APPROVE_NETWORK_TOOL_CALL_ROUTE, APPROVE_TOOL_CALL_GENERATE_ROUTE, APPROVE_TOOL_CALL_ROUTE, DECLINE_NETWORK_TOOL_CALL_ROUTE, DECLINE_TOOL_CALL_GENERATE_ROUTE, DECLINE_TOOL_CALL_ROUTE, ENHANCE_INSTRUCTIONS_ROUTE, GENERATE_AGENT_ROUTE, GENERATE_AGENT_VNEXT_ROUTE, GENERATE_LEGACY_ROUTE, GET_AGENT_BY_ID_ROUTE, GET_AGENT_SKILL_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, getSerializedSkillsFromAgent, getWorkspaceToolsFromAgent };
1371
+ //# sourceMappingURL=chunk-3QUACCLU.js.map
1372
+ //# sourceMappingURL=chunk-3QUACCLU.js.map