@mastra/server 1.0.4 → 1.1.0-alpha.1

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 (333) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/a2a/store.d.ts +1 -0
  3. package/auth.d.ts +1 -0
  4. package/dist/{chunk-3REGEJEN.js → chunk-24SISJRB.js} +6 -6
  5. package/dist/chunk-24SISJRB.js.map +1 -0
  6. package/dist/{chunk-MPUVSOEU.cjs → chunk-2HOMKKY4.cjs} +21 -15
  7. package/dist/chunk-2HOMKKY4.cjs.map +1 -0
  8. package/dist/{chunk-HCVDHEDD.cjs → chunk-37DO73XV.cjs} +217 -167
  9. package/dist/chunk-37DO73XV.cjs.map +1 -0
  10. package/dist/{chunk-T4SPG2GP.cjs → chunk-4HFYR562.cjs} +4 -4
  11. package/dist/chunk-4HFYR562.cjs.map +1 -0
  12. package/dist/{chunk-2CYGIE3E.js → chunk-4JAEBN6N.js} +212 -86
  13. package/dist/chunk-4JAEBN6N.js.map +1 -0
  14. package/dist/{chunk-AVRO3FIN.cjs → chunk-4LVJBXI2.cjs} +97 -4
  15. package/dist/chunk-4LVJBXI2.cjs.map +1 -0
  16. package/dist/chunk-4UNYZYBB.cjs +253 -0
  17. package/dist/chunk-4UNYZYBB.cjs.map +1 -0
  18. package/dist/{chunk-CGIGPJRU.js → chunk-5P2VGES5.js} +72 -79
  19. package/dist/chunk-5P2VGES5.js.map +1 -0
  20. package/dist/{chunk-YK63KHHB.cjs → chunk-6DHJKQLP.cjs} +513 -168
  21. package/dist/chunk-6DHJKQLP.cjs.map +1 -0
  22. package/dist/{chunk-PNZQCQY4.cjs → chunk-6G2RQWKA.cjs} +15 -15
  23. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  24. package/dist/{chunk-4EYONQIW.cjs → chunk-7D3UAMQM.cjs} +4 -4
  25. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  26. package/dist/{chunk-I27H7BEB.js → chunk-7XIMPDJV.js} +9 -6
  27. package/dist/chunk-7XIMPDJV.js.map +1 -0
  28. package/dist/{chunk-2CLS2PYJ.js → chunk-7YCFHDWX.js} +398 -56
  29. package/dist/chunk-7YCFHDWX.js.map +1 -0
  30. package/dist/{chunk-33CKPQS4.cjs → chunk-A2K5ZL47.cjs} +36 -16
  31. package/dist/chunk-A2K5ZL47.cjs.map +1 -0
  32. package/dist/chunk-AAHPYUEC.cjs +211 -0
  33. package/dist/chunk-AAHPYUEC.cjs.map +1 -0
  34. package/dist/{chunk-NUO7HPOV.cjs → chunk-AN42MFD5.cjs} +235 -109
  35. package/dist/chunk-AN42MFD5.cjs.map +1 -0
  36. package/dist/{chunk-XCEQ4GQW.cjs → chunk-AO7LIZRK.cjs} +88 -99
  37. package/dist/chunk-AO7LIZRK.cjs.map +1 -0
  38. package/dist/{chunk-4DJ7EJRB.cjs → chunk-AV3VZ6S3.cjs} +25 -21
  39. package/dist/chunk-AV3VZ6S3.cjs.map +1 -0
  40. package/dist/{chunk-KKY4MSZO.js → chunk-BWINB344.js} +30 -11
  41. package/dist/chunk-BWINB344.js.map +1 -0
  42. package/dist/{chunk-GHQZIEPS.js → chunk-C4NZAUUW.js} +104 -54
  43. package/dist/chunk-C4NZAUUW.js.map +1 -0
  44. package/dist/{chunk-7S7ALPCY.js → chunk-D5VCL56B.js} +97 -5
  45. package/dist/chunk-D5VCL56B.js.map +1 -0
  46. package/dist/{chunk-XB27LCKO.js → chunk-DHDVJ5II.js} +15 -9
  47. package/dist/chunk-DHDVJ5II.js.map +1 -0
  48. package/dist/{chunk-GNCALVLC.js → chunk-ED6NQBHF.js} +23 -4
  49. package/dist/chunk-ED6NQBHF.js.map +1 -0
  50. package/dist/{chunk-5VDI75UV.js → chunk-EV5H2JQU.js} +5 -4
  51. package/dist/chunk-EV5H2JQU.js.map +1 -0
  52. package/dist/{chunk-4R2Z655M.js → chunk-F2WTCJ5C.js} +145 -67
  53. package/dist/chunk-F2WTCJ5C.js.map +1 -0
  54. package/dist/{chunk-FWSKVWS7.cjs → chunk-FRRHYZR6.cjs} +4 -4
  55. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  56. package/dist/chunk-GDWZ2R7I.js +220 -0
  57. package/dist/chunk-GDWZ2R7I.js.map +1 -0
  58. package/dist/{chunk-N4EIZSG2.js → chunk-GXUBQJ74.js} +15 -11
  59. package/dist/chunk-GXUBQJ74.js.map +1 -0
  60. package/dist/{chunk-UK4FZWNW.cjs → chunk-H4VFL22H.cjs} +52 -53
  61. package/dist/chunk-H4VFL22H.cjs.map +1 -0
  62. package/dist/chunk-H66LLFDL.js +1 -1
  63. package/dist/chunk-H66LLFDL.js.map +1 -1
  64. package/dist/{chunk-QPFYN6B5.cjs → chunk-HDGF45K7.cjs} +17 -14
  65. package/dist/chunk-HDGF45K7.cjs.map +1 -0
  66. package/dist/{chunk-P3H4AZKI.cjs → chunk-HZINLMHL.cjs} +15 -15
  67. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  68. package/dist/{chunk-AV3CN5ZR.cjs → chunk-I3CJUT6J.cjs} +36 -17
  69. package/dist/chunk-I3CJUT6J.cjs.map +1 -0
  70. package/dist/{chunk-DVSCJECS.js → chunk-IS3HHGL4.js} +6 -6
  71. package/dist/chunk-IS3HHGL4.js.map +1 -0
  72. package/dist/{chunk-WJ6DNHLW.cjs → chunk-JRM3DWRM.cjs} +34 -24
  73. package/dist/chunk-JRM3DWRM.cjs.map +1 -0
  74. package/dist/{chunk-YN3FWKVQ.js → chunk-JUGGEWCR.js} +10 -13
  75. package/dist/chunk-JUGGEWCR.js.map +1 -0
  76. package/dist/{chunk-LF2ZLOFP.js → chunk-K2SXZLA3.cjs} +285 -3
  77. package/dist/chunk-K2SXZLA3.cjs.map +1 -0
  78. package/dist/{chunk-XOUK3IYU.js → chunk-K4HSW5ZF.js} +4 -4
  79. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  80. package/dist/chunk-KPHPNRVH.js +651 -0
  81. package/dist/chunk-KPHPNRVH.js.map +1 -0
  82. package/dist/chunk-L6AKFVEX.cjs +678 -0
  83. package/dist/chunk-L6AKFVEX.cjs.map +1 -0
  84. package/dist/{chunk-GU4EWMZB.cjs → chunk-LFNP3ACE.js} +244 -4
  85. package/dist/chunk-LFNP3ACE.js.map +1 -0
  86. package/dist/chunk-LFTVDHOD.js +200 -0
  87. package/dist/chunk-LFTVDHOD.js.map +1 -0
  88. package/dist/{chunk-ZQ2G6QKS.cjs → chunk-MZRJNOYJ.cjs} +175 -97
  89. package/dist/chunk-MZRJNOYJ.cjs.map +1 -0
  90. package/dist/{chunk-G2AMUTU4.js → chunk-OS7SAIRA.js} +6 -6
  91. package/dist/chunk-OS7SAIRA.js.map +1 -0
  92. package/dist/{chunk-L2E5RUVT.cjs → chunk-PWXUI3OG.cjs} +15 -15
  93. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  94. package/dist/chunk-QRPQWZZU.cjs +708 -0
  95. package/dist/chunk-QRPQWZZU.cjs.map +1 -0
  96. package/dist/chunk-QWOQET2T.js +689 -0
  97. package/dist/chunk-QWOQET2T.js.map +1 -0
  98. package/dist/{chunk-EUBTCHQC.js → chunk-RIX6WEJ2.js} +4 -4
  99. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  100. package/dist/{chunk-7XPMKW4Y.cjs → chunk-SONAXR2M.cjs} +12 -9
  101. package/dist/chunk-SONAXR2M.cjs.map +1 -0
  102. package/dist/{chunk-FLLJIPD4.cjs → chunk-T5KH32UA.cjs} +6 -5
  103. package/dist/chunk-T5KH32UA.cjs.map +1 -0
  104. package/dist/{chunk-3FEYUHHJ.js → chunk-TCWPL26W.js} +10 -7
  105. package/dist/chunk-TCWPL26W.js.map +1 -0
  106. package/dist/chunk-USR6JK77.js +62 -0
  107. package/dist/chunk-USR6JK77.js.map +1 -0
  108. package/dist/chunk-VX3VN7FN.cjs +1 -1
  109. package/dist/chunk-VX3VN7FN.cjs.map +1 -1
  110. package/dist/{chunk-6MP2S6VI.cjs → chunk-VXPVROQJ.cjs} +56 -48
  111. package/dist/chunk-VXPVROQJ.cjs.map +1 -0
  112. package/dist/{chunk-CLAEGIP5.cjs → chunk-WWVDNKEF.cjs} +14 -17
  113. package/dist/chunk-WWVDNKEF.cjs.map +1 -0
  114. package/dist/{chunk-5NFRDYFN.js → chunk-XKLJYRAA.js} +4 -4
  115. package/dist/chunk-XKLJYRAA.js.map +1 -0
  116. package/dist/{chunk-TMS4LS2J.js → chunk-XUSAKRLX.js} +26 -16
  117. package/dist/chunk-XUSAKRLX.js.map +1 -0
  118. package/dist/{chunk-IVGQTL3T.js → chunk-XXBURIYX.js} +36 -28
  119. package/dist/chunk-XXBURIYX.js.map +1 -0
  120. package/dist/{chunk-H34VRYSF.js → chunk-ZFHZRI6C.js} +26 -27
  121. package/dist/chunk-ZFHZRI6C.js.map +1 -0
  122. package/dist/chunk-ZKMVCV4G.cjs +71 -0
  123. package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
  124. package/dist/docs/README.md +1 -1
  125. package/dist/docs/SKILL.md +1 -1
  126. package/dist/docs/SOURCE_MAP.json +1 -1
  127. package/dist/docs/server/01-custom-adapters.md +10 -10
  128. package/dist/docs/server/02-reference.md +22 -8
  129. package/dist/server/auth/helpers.d.ts +8 -1
  130. package/dist/server/auth/helpers.d.ts.map +1 -1
  131. package/dist/server/auth/index.cjs +42 -131
  132. package/dist/server/auth/index.cjs.map +1 -1
  133. package/dist/server/auth/index.js +1 -125
  134. package/dist/server/auth/index.js.map +1 -1
  135. package/dist/server/auth/path-pattern.d.ts +43 -0
  136. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  137. package/dist/server/constants.d.ts +51 -0
  138. package/dist/server/constants.d.ts.map +1 -0
  139. package/dist/server/handlers/a2a.cjs +9 -9
  140. package/dist/server/handlers/a2a.d.ts.map +1 -1
  141. package/dist/server/handlers/a2a.js +1 -1
  142. package/dist/server/handlers/agent-builder.cjs +16 -16
  143. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  144. package/dist/server/handlers/agent-builder.js +1 -1
  145. package/dist/server/handlers/agent-versions.cjs +60 -0
  146. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  147. package/dist/server/handlers/agent-versions.d.ts +457 -0
  148. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  149. package/dist/server/handlers/agent-versions.js +3 -0
  150. package/dist/server/handlers/agent-versions.js.map +1 -0
  151. package/dist/server/handlers/agents.cjs +40 -28
  152. package/dist/server/handlers/agents.d.ts +58 -5
  153. package/dist/server/handlers/agents.d.ts.map +1 -1
  154. package/dist/server/handlers/agents.js +1 -1
  155. package/dist/server/handlers/logs.cjs +4 -4
  156. package/dist/server/handlers/logs.d.ts.map +1 -1
  157. package/dist/server/handlers/logs.js +1 -1
  158. package/dist/server/handlers/mcp.cjs +9 -9
  159. package/dist/server/handlers/mcp.d.ts +22 -0
  160. package/dist/server/handlers/mcp.d.ts.map +1 -1
  161. package/dist/server/handlers/mcp.js +1 -1
  162. package/dist/server/handlers/memory.cjs +25 -25
  163. package/dist/server/handlers/memory.d.ts +25 -1
  164. package/dist/server/handlers/memory.d.ts.map +1 -1
  165. package/dist/server/handlers/memory.js +1 -1
  166. package/dist/server/handlers/observability.cjs +5 -5
  167. package/dist/server/handlers/observability.d.ts +1 -0
  168. package/dist/server/handlers/observability.d.ts.map +1 -1
  169. package/dist/server/handlers/observability.js +1 -1
  170. package/dist/server/handlers/processors.cjs +4 -4
  171. package/dist/server/handlers/processors.d.ts.map +1 -1
  172. package/dist/server/handlers/processors.js +1 -1
  173. package/dist/server/handlers/scores.cjs +7 -7
  174. package/dist/server/handlers/scores.d.ts.map +1 -1
  175. package/dist/server/handlers/scores.js +1 -1
  176. package/dist/server/handlers/stored-agents.cjs +6 -6
  177. package/dist/server/handlers/stored-agents.d.ts +51 -14
  178. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  179. package/dist/server/handlers/stored-agents.js +1 -1
  180. package/dist/server/handlers/system.cjs +2 -2
  181. package/dist/server/handlers/system.d.ts.map +1 -1
  182. package/dist/server/handlers/system.js +1 -1
  183. package/dist/server/handlers/tools.cjs +6 -6
  184. package/dist/server/handlers/tools.d.ts +3 -3
  185. package/dist/server/handlers/tools.d.ts.map +1 -1
  186. package/dist/server/handlers/tools.js +1 -1
  187. package/dist/server/handlers/utils.cjs +21 -5
  188. package/dist/server/handlers/utils.d.ts +26 -0
  189. package/dist/server/handlers/utils.d.ts.map +1 -1
  190. package/dist/server/handlers/utils.js +1 -1
  191. package/dist/server/handlers/vector.cjs +13 -13
  192. package/dist/server/handlers/vector.d.ts.map +1 -1
  193. package/dist/server/handlers/vector.js +1 -1
  194. package/dist/server/handlers/voice.cjs +8 -8
  195. package/dist/server/handlers/voice.d.ts.map +1 -1
  196. package/dist/server/handlers/voice.js +1 -1
  197. package/dist/server/handlers/workflows.cjs +24 -24
  198. package/dist/server/handlers/workflows.d.ts +2 -0
  199. package/dist/server/handlers/workflows.d.ts.map +1 -1
  200. package/dist/server/handlers/workflows.js +1 -1
  201. package/dist/server/handlers/workspace.cjs +80 -0
  202. package/dist/server/handlers/workspace.cjs.map +1 -0
  203. package/dist/server/handlers/workspace.d.ts +591 -0
  204. package/dist/server/handlers/workspace.d.ts.map +1 -0
  205. package/dist/server/handlers/workspace.js +3 -0
  206. package/dist/server/handlers/workspace.js.map +1 -0
  207. package/dist/server/handlers.cjs +24 -24
  208. package/dist/server/handlers.js +12 -12
  209. package/dist/server/schemas/agent-versions.d.ts +1073 -0
  210. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  211. package/dist/server/schemas/agents.d.ts +30 -19
  212. package/dist/server/schemas/agents.d.ts.map +1 -1
  213. package/dist/server/schemas/memory.d.ts +83 -31
  214. package/dist/server/schemas/memory.d.ts.map +1 -1
  215. package/dist/server/schemas/stored-agents.d.ts +270 -60
  216. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  217. package/dist/server/schemas/workspace.d.ts +1107 -0
  218. package/dist/server/schemas/workspace.d.ts.map +1 -0
  219. package/dist/server/server-adapter/index.cjs +298 -160
  220. package/dist/server/server-adapter/index.cjs.map +1 -1
  221. package/dist/server/server-adapter/index.d.ts +56 -2
  222. package/dist/server/server-adapter/index.d.ts.map +1 -1
  223. package/dist/server/server-adapter/index.js +158 -23
  224. package/dist/server/server-adapter/index.js.map +1 -1
  225. package/dist/server/server-adapter/openapi-utils.d.ts +10 -0
  226. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  227. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  228. package/dist/server/server-adapter/routes/index.d.ts +3 -1
  229. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  230. package/dist/server/server-adapter/routes/route-builder.d.ts +2 -1
  231. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  232. package/dist/server/server-adapter/routes/stored-agents.d.ts +1 -1
  233. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  234. package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
  235. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
  236. package/dist/server/utils.d.ts +13 -0
  237. package/dist/server/utils.d.ts.map +1 -1
  238. package/dist/{token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +9 -9
  239. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  240. package/dist/{token-6GSAFR2W-VLY2XUPA-NCSASMWN.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +6 -6
  241. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  242. package/dist/{token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs → token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs} +9 -9
  243. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  244. package/dist/{token-6GSAFR2W-KVDFAJ2M-VW443KIA.js → token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js} +6 -6
  245. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  246. package/dist/{token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs → token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs} +9 -9
  247. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  248. package/dist/{token-6GSAFR2W-K2BTU23I-NW33N3NU.js → token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js} +6 -6
  249. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  250. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  251. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map → token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map} +1 -1
  252. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  253. package/dist/{token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map → token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map} +1 -1
  254. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  255. package/dist/{token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map → token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map} +1 -1
  256. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  257. package/dist/{token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map → token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map} +1 -1
  258. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  259. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map → token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map} +1 -1
  260. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  261. package/dist/{token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map → token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map} +1 -1
  262. package/handlers/server/handlers.d.ts +1 -0
  263. package/handlers.d.ts +1 -0
  264. package/package.json +10 -8
  265. package/server-adapter.d.ts +1 -0
  266. package/dist/chunk-2CLS2PYJ.js.map +0 -1
  267. package/dist/chunk-2CYGIE3E.js.map +0 -1
  268. package/dist/chunk-33CKPQS4.cjs.map +0 -1
  269. package/dist/chunk-3FEYUHHJ.js.map +0 -1
  270. package/dist/chunk-3REGEJEN.js.map +0 -1
  271. package/dist/chunk-4DJ7EJRB.cjs.map +0 -1
  272. package/dist/chunk-4EYONQIW.cjs.map +0 -1
  273. package/dist/chunk-4R2Z655M.js.map +0 -1
  274. package/dist/chunk-5NFRDYFN.js.map +0 -1
  275. package/dist/chunk-5VDI75UV.js.map +0 -1
  276. package/dist/chunk-5W4RPVTK.cjs +0 -49
  277. package/dist/chunk-5W4RPVTK.cjs.map +0 -1
  278. package/dist/chunk-6MP2S6VI.cjs.map +0 -1
  279. package/dist/chunk-7S7ALPCY.js.map +0 -1
  280. package/dist/chunk-7XPMKW4Y.cjs.map +0 -1
  281. package/dist/chunk-AV3CN5ZR.cjs.map +0 -1
  282. package/dist/chunk-AVRO3FIN.cjs.map +0 -1
  283. package/dist/chunk-BRI4GUZ2.cjs +0 -280
  284. package/dist/chunk-BRI4GUZ2.cjs.map +0 -1
  285. package/dist/chunk-CGIGPJRU.js.map +0 -1
  286. package/dist/chunk-CLAEGIP5.cjs.map +0 -1
  287. package/dist/chunk-DVSCJECS.js.map +0 -1
  288. package/dist/chunk-EUBTCHQC.js.map +0 -1
  289. package/dist/chunk-FLLJIPD4.cjs.map +0 -1
  290. package/dist/chunk-FWSKVWS7.cjs.map +0 -1
  291. package/dist/chunk-G2AMUTU4.js.map +0 -1
  292. package/dist/chunk-GHQZIEPS.js.map +0 -1
  293. package/dist/chunk-GNCALVLC.js.map +0 -1
  294. package/dist/chunk-GU4EWMZB.cjs.map +0 -1
  295. package/dist/chunk-H34VRYSF.js.map +0 -1
  296. package/dist/chunk-HCVDHEDD.cjs.map +0 -1
  297. package/dist/chunk-I27H7BEB.js.map +0 -1
  298. package/dist/chunk-IVGQTL3T.js.map +0 -1
  299. package/dist/chunk-KKY4MSZO.js.map +0 -1
  300. package/dist/chunk-L2E5RUVT.cjs.map +0 -1
  301. package/dist/chunk-LF2ZLOFP.js.map +0 -1
  302. package/dist/chunk-MPUVSOEU.cjs.map +0 -1
  303. package/dist/chunk-N4EIZSG2.js.map +0 -1
  304. package/dist/chunk-NUO7HPOV.cjs.map +0 -1
  305. package/dist/chunk-P3H4AZKI.cjs.map +0 -1
  306. package/dist/chunk-PNZQCQY4.cjs.map +0 -1
  307. package/dist/chunk-QPFYN6B5.cjs.map +0 -1
  308. package/dist/chunk-T4SPG2GP.cjs.map +0 -1
  309. package/dist/chunk-TMS4LS2J.js.map +0 -1
  310. package/dist/chunk-UK4FZWNW.cjs.map +0 -1
  311. package/dist/chunk-WJ6DNHLW.cjs.map +0 -1
  312. package/dist/chunk-WLGJVDH4.js +0 -242
  313. package/dist/chunk-WLGJVDH4.js.map +0 -1
  314. package/dist/chunk-XB27LCKO.js.map +0 -1
  315. package/dist/chunk-XCEQ4GQW.cjs.map +0 -1
  316. package/dist/chunk-XOUK3IYU.js.map +0 -1
  317. package/dist/chunk-XWGAT2DA.js +0 -44
  318. package/dist/chunk-XWGAT2DA.js.map +0 -1
  319. package/dist/chunk-YK63KHHB.cjs.map +0 -1
  320. package/dist/chunk-YN3FWKVQ.js.map +0 -1
  321. package/dist/chunk-ZQ2G6QKS.cjs.map +0 -1
  322. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +0 -1
  323. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +0 -1
  324. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +0 -1
  325. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +0 -1
  326. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +0 -1
  327. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +0 -1
  328. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +0 -10
  329. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +0 -8
  330. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +0 -10
  331. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +0 -8
  332. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +0 -10
  333. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +0 -8
@@ -1,8 +1,8 @@
1
- import { sanitizeBody, validateBody } from './chunk-XWGAT2DA.js';
2
- import { listAgentsResponseSchema, serializedAgentSchema, agentIdPathParams, generateResponseSchema, agentExecutionBodySchema, agentExecutionLegacyBodySchema, streamResponseSchema, providersResponseSchema, toolCallResponseSchema, approveToolCallBodySchema, declineToolCallBodySchema, approveNetworkToolCallBodySchema, declineNetworkToolCallBodySchema, modelManagementResponseSchema, updateAgentModelBodySchema, reorderAgentModelListBodySchema, updateAgentModelInModelListBodySchema, modelConfigIdPathParams, enhanceInstructionsResponseSchema, enhanceInstructionsBodySchema } from './chunk-WLGJVDH4.js';
3
- import { stringify } from './chunk-LF2ZLOFP.js';
4
- import { createRoute } from './chunk-7S7ALPCY.js';
1
+ import { getAgentSkillResponseSchema } from './chunk-GDWZ2R7I.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';
5
4
  import { handleError } from './chunk-ONN5EA7E.js';
5
+ import { createRoute } from './chunk-D5VCL56B.js';
6
6
  import { HTTPException } from './chunk-6QWQZI4Q.js';
7
7
  import { __export } from './chunk-PR4QN5HX.js';
8
8
  import { Agent } from '@mastra/core/agent';
@@ -25,6 +25,7 @@ __export(agents_exports, {
25
25
  GENERATE_AGENT_VNEXT_ROUTE: () => GENERATE_AGENT_VNEXT_ROUTE,
26
26
  GENERATE_LEGACY_ROUTE: () => GENERATE_LEGACY_ROUTE,
27
27
  GET_AGENT_BY_ID_ROUTE: () => GET_AGENT_BY_ID_ROUTE,
28
+ GET_AGENT_SKILL_ROUTE: () => GET_AGENT_SKILL_ROUTE,
28
29
  GET_PROVIDERS_ROUTE: () => GET_PROVIDERS_ROUTE,
29
30
  LIST_AGENTS_ROUTE: () => LIST_AGENTS_ROUTE,
30
31
  REORDER_AGENT_MODEL_LIST_ROUTE: () => REORDER_AGENT_MODEL_LIST_ROUTE,
@@ -40,8 +41,59 @@ __export(agents_exports, {
40
41
  UPDATE_AGENT_MODEL_ROUTE: () => UPDATE_AGENT_MODEL_ROUTE,
41
42
  getAgentFromSystem: () => getAgentFromSystem,
42
43
  getSerializedAgentTools: () => getSerializedAgentTools,
43
- getSerializedProcessors: () => getSerializedProcessors
44
+ getSerializedProcessors: () => getSerializedProcessors,
45
+ getSerializedSkillsFromAgent: () => getSerializedSkillsFromAgent,
46
+ getWorkspaceToolsFromAgent: () => getWorkspaceToolsFromAgent
44
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
45
97
  function isProviderConnected(providerId) {
46
98
  const cleanId = providerId.includes(".") ? providerId.split(".")[0] : providerId;
47
99
  const provider = PROVIDER_REGISTRY[cleanId];
@@ -54,6 +106,7 @@ async function getSerializedAgentTools(tools, partial = false) {
54
106
  const toolId = tool.id ?? `tool-${key}`;
55
107
  let inputSchemaForReturn = void 0;
56
108
  let outputSchemaForReturn = void 0;
109
+ let requestContextSchemaForReturn = void 0;
57
110
  if (!partial) {
58
111
  try {
59
112
  if (tool.inputSchema) {
@@ -84,6 +137,20 @@ async function getSerializedAgentTools(tools, partial = false) {
84
137
  );
85
138
  }
86
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
+ }
87
154
  } catch (error) {
88
155
  console.error(`Error getting serialized tool`, {
89
156
  toolId: tool.id,
@@ -95,7 +162,8 @@ async function getSerializedAgentTools(tools, partial = false) {
95
162
  ...tool,
96
163
  id: toolId,
97
164
  inputSchema: inputSchemaForReturn,
98
- outputSchema: outputSchemaForReturn
165
+ outputSchema: outputSchemaForReturn,
166
+ requestContextSchema: requestContextSchemaForReturn
99
167
  };
100
168
  return acc;
101
169
  }, {});
@@ -108,6 +176,77 @@ function getSerializedProcessors(processors) {
108
176
  };
109
177
  });
110
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
+ }
111
250
  async function getSerializedAgentDefinition({
112
251
  agent,
113
252
  requestContext
@@ -171,6 +310,14 @@ async function formatAgentList({
171
310
  } catch (error) {
172
311
  logger.error("Error getting configured processors for agent", { agentName: agent.name, error });
173
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
+ }
174
321
  const model = llm?.getModel();
175
322
  const models = await agent.getModelList(requestContext);
176
323
  const modelList = models?.map((md) => ({
@@ -189,6 +336,9 @@ async function formatAgentList({
189
336
  agents: serializedAgentAgents,
190
337
  tools: serializedAgentTools,
191
338
  workflows: serializedAgentWorkflows,
339
+ skills: serializedSkills,
340
+ workspaceTools,
341
+ workspaceId,
192
342
  inputProcessors: serializedInputProcessors,
193
343
  outputProcessors: serializedOutputProcessors,
194
344
  provider: llm?.getProvider(),
@@ -197,7 +347,8 @@ async function formatAgentList({
197
347
  defaultOptions,
198
348
  modelList,
199
349
  defaultGenerateOptionsLegacy,
200
- defaultStreamOptionsLegacy
350
+ defaultStreamOptionsLegacy,
351
+ source: agent.source ?? "code"
201
352
  };
202
353
  }
203
354
  async function getAgentFromSystem({ mastra, agentId }) {
@@ -228,6 +379,14 @@ async function getAgentFromSystem({ mastra, agentId }) {
228
379
  }
229
380
  }
230
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
+ }
231
390
  if (!agent) {
232
391
  throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
233
392
  }
@@ -301,6 +460,22 @@ async function formatAgent({
301
460
  } catch (error) {
302
461
  mastra.getLogger().error("Error getting configured processors for agent", { agentName: agent.name, error });
303
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
+ }
304
479
  return {
305
480
  name: agent.name,
306
481
  description,
@@ -308,6 +483,9 @@ async function formatAgent({
308
483
  tools: serializedAgentTools,
309
484
  agents: serializedAgentAgents,
310
485
  workflows: serializedAgentWorkflows,
486
+ skills: serializedSkills,
487
+ workspaceTools,
488
+ workspaceId,
311
489
  inputProcessors: serializedInputProcessors,
312
490
  outputProcessors: serializedOutputProcessors,
313
491
  provider: llm?.getProvider(),
@@ -316,36 +494,64 @@ async function formatAgent({
316
494
  modelList,
317
495
  defaultOptions,
318
496
  defaultGenerateOptionsLegacy,
319
- defaultStreamOptionsLegacy
497
+ defaultStreamOptionsLegacy,
498
+ requestContextSchema: serializedRequestContextSchema,
499
+ source: agent.source ?? "code"
320
500
  };
321
501
  }
322
502
  var LIST_AGENTS_ROUTE = createRoute({
323
503
  method: "GET",
324
- path: "/api/agents",
504
+ path: "/agents",
325
505
  responseType: "json",
326
506
  queryParamSchema: z.object({
327
507
  partial: z.string().optional()
328
508
  }),
329
509
  responseSchema: listAgentsResponseSchema,
330
510
  summary: "List all agents",
331
- description: "Returns a list of all available agents in the system",
511
+ description: "Returns a list of all available agents in the system (both code-defined and stored)",
332
512
  tags: ["Agents"],
513
+ requiresAuth: true,
333
514
  handler: async ({ mastra, requestContext, partial }) => {
334
515
  try {
335
- const agents = mastra.listAgents();
516
+ const codeAgents = mastra.listAgents();
336
517
  const isPartial = partial === "true";
337
- const serializedAgentsMap = await Promise.all(
338
- Object.entries(agents).map(async ([id, agent]) => {
518
+ const serializedCodeAgentsMap = await Promise.all(
519
+ Object.entries(codeAgents).map(async ([id, agent]) => {
339
520
  return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });
340
521
  })
341
522
  );
342
- const serializedAgents = serializedAgentsMap.reduce(
523
+ const serializedAgents = serializedCodeAgentsMap.reduce(
343
524
  (acc, { id, ...rest }) => {
344
525
  acc[id] = { id, ...rest };
345
526
  return acc;
346
527
  },
347
528
  {}
348
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
+ }
349
555
  return serializedAgents;
350
556
  } catch (error) {
351
557
  return handleError(error, "Error getting agents");
@@ -354,13 +560,14 @@ var LIST_AGENTS_ROUTE = createRoute({
354
560
  });
355
561
  var GET_AGENT_BY_ID_ROUTE = createRoute({
356
562
  method: "GET",
357
- path: "/api/agents/:agentId",
563
+ path: "/agents/:agentId",
358
564
  responseType: "json",
359
565
  pathParamSchema: agentIdPathParams,
360
566
  responseSchema: serializedAgentSchema,
361
567
  summary: "Get agent by ID",
362
568
  description: "Returns details for a specific agent including configuration, tools, and memory settings",
363
569
  tags: ["Agents"],
570
+ requiresAuth: true,
364
571
  handler: async ({ agentId, mastra, requestContext }) => {
365
572
  try {
366
573
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -379,7 +586,7 @@ var GET_AGENT_BY_ID_ROUTE = createRoute({
379
586
  });
380
587
  var GENERATE_AGENT_ROUTE = createRoute({
381
588
  method: "POST",
382
- path: "/api/agents/:agentId/generate",
589
+ path: "/agents/:agentId/generate",
383
590
  responseType: "json",
384
591
  pathParamSchema: agentIdPathParams,
385
592
  bodySchema: agentExecutionBodySchema,
@@ -387,14 +594,42 @@ var GENERATE_AGENT_ROUTE = createRoute({
387
594
  summary: "Generate agent response",
388
595
  description: "Executes an agent with the provided messages and returns the complete response",
389
596
  tags: ["Agents"],
390
- handler: async ({ agentId, mastra, abortSignal, ...params }) => {
597
+ requiresAuth: true,
598
+ handler: async ({ agentId, mastra, abortSignal, requestContext: serverRequestContext, ...params }) => {
391
599
  try {
392
600
  const agent = await getAgentFromSystem({ mastra, agentId });
393
601
  sanitizeBody(params, ["tools"]);
394
- const { messages, ...rest } = params;
602
+ const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
395
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
+ }
396
629
  const result = await agent.generate(messages, {
397
630
  ...rest,
631
+ requestContext: serverRequestContext,
632
+ memory: authorizedMemoryOption,
398
633
  abortSignal
399
634
  });
400
635
  return result;
@@ -405,29 +640,39 @@ var GENERATE_AGENT_ROUTE = createRoute({
405
640
  });
406
641
  var GENERATE_LEGACY_ROUTE = createRoute({
407
642
  method: "POST",
408
- path: "/api/agents/:agentId/generate-legacy",
643
+ path: "/agents/:agentId/generate-legacy",
409
644
  responseType: "json",
410
645
  pathParamSchema: agentIdPathParams,
411
646
  bodySchema: agentExecutionLegacyBodySchema,
412
647
  responseSchema: generateResponseSchema,
413
648
  summary: "[DEPRECATED] Generate with legacy format",
414
- description: "Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.",
649
+ description: "Legacy endpoint for generating agent responses. Use /agents/:agentId/generate instead.",
415
650
  tags: ["Agents", "Legacy"],
416
- handler: async ({ mastra, agentId, abortSignal, ...params }) => {
651
+ requiresAuth: true,
652
+ handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {
417
653
  try {
418
654
  const agent = await getAgentFromSystem({ mastra, agentId });
419
655
  sanitizeBody(params, ["tools"]);
420
656
  const { messages, resourceId, resourceid, threadId, ...rest } = params;
421
- const finalResourceId = resourceId ?? resourceid;
657
+ const clientResourceId = resourceId ?? resourceid;
658
+ const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);
659
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
422
660
  validateBody({ messages });
423
- if (threadId && !finalResourceId || !threadId && finalResourceId) {
661
+ if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
424
662
  throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
425
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
+ }
426
671
  const result = await agent.generateLegacy(messages, {
427
672
  ...rest,
428
673
  abortSignal,
429
- resourceId: finalResourceId ?? "",
430
- threadId: threadId ?? ""
674
+ resourceId: effectiveResourceId ?? "",
675
+ threadId: effectiveThreadId ?? ""
431
676
  });
432
677
  return result;
433
678
  } catch (error) {
@@ -437,29 +682,39 @@ var GENERATE_LEGACY_ROUTE = createRoute({
437
682
  });
438
683
  var STREAM_GENERATE_LEGACY_ROUTE = createRoute({
439
684
  method: "POST",
440
- path: "/api/agents/:agentId/stream-legacy",
685
+ path: "/agents/:agentId/stream-legacy",
441
686
  responseType: "datastream-response",
442
687
  pathParamSchema: agentIdPathParams,
443
688
  bodySchema: agentExecutionLegacyBodySchema,
444
689
  responseSchema: streamResponseSchema,
445
690
  summary: "[DEPRECATED] Stream with legacy format",
446
- description: "Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.",
691
+ description: "Legacy endpoint for streaming agent responses. Use /agents/:agentId/stream instead.",
447
692
  tags: ["Agents", "Legacy"],
448
- handler: async ({ mastra, agentId, abortSignal, ...params }) => {
693
+ requiresAuth: true,
694
+ handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {
449
695
  try {
450
696
  const agent = await getAgentFromSystem({ mastra, agentId });
451
697
  sanitizeBody(params, ["tools"]);
452
698
  const { messages, resourceId, resourceid, threadId, ...rest } = params;
453
- const finalResourceId = resourceId ?? resourceid;
699
+ const clientResourceId = resourceId ?? resourceid;
700
+ const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);
701
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
454
702
  validateBody({ messages });
455
- if (threadId && !finalResourceId || !threadId && finalResourceId) {
703
+ if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
456
704
  throw new HTTPException(400, { message: "Both threadId or resourceId must be provided" });
457
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
+ }
458
713
  const streamResult = await agent.streamLegacy(messages, {
459
714
  ...rest,
460
715
  abortSignal,
461
- resourceId: finalResourceId ?? "",
462
- threadId: threadId ?? ""
716
+ resourceId: effectiveResourceId ?? "",
717
+ threadId: effectiveThreadId ?? ""
463
718
  });
464
719
  const streamResponse = rest.output ? streamResult.toTextStreamResponse({
465
720
  headers: {
@@ -483,12 +738,13 @@ var STREAM_GENERATE_LEGACY_ROUTE = createRoute({
483
738
  });
484
739
  var GET_PROVIDERS_ROUTE = createRoute({
485
740
  method: "GET",
486
- path: "/api/agents/providers",
741
+ path: "/agents/providers",
487
742
  responseType: "json",
488
743
  responseSchema: providersResponseSchema,
489
744
  summary: "List AI providers",
490
745
  description: "Returns a list of all configured AI model providers",
491
746
  tags: ["Agents"],
747
+ requiresAuth: true,
492
748
  handler: async () => {
493
749
  try {
494
750
  const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {
@@ -512,7 +768,7 @@ var GET_PROVIDERS_ROUTE = createRoute({
512
768
  });
513
769
  var GENERATE_AGENT_VNEXT_ROUTE = createRoute({
514
770
  method: "POST",
515
- path: "/api/agents/:agentId/generate/vnext",
771
+ path: "/agents/:agentId/generate/vnext",
516
772
  responseType: "json",
517
773
  pathParamSchema: agentIdPathParams,
518
774
  bodySchema: agentExecutionBodySchema,
@@ -520,11 +776,12 @@ var GENERATE_AGENT_VNEXT_ROUTE = createRoute({
520
776
  summary: "Generate a response from an agent",
521
777
  description: "Generate a response from an agent",
522
778
  tags: ["Agents"],
779
+ requiresAuth: true,
523
780
  handler: GENERATE_AGENT_ROUTE.handler
524
781
  });
525
782
  var STREAM_GENERATE_ROUTE = createRoute({
526
783
  method: "POST",
527
- path: "/api/agents/:agentId/stream",
784
+ path: "/agents/:agentId/stream",
528
785
  responseType: "stream",
529
786
  streamFormat: "sse",
530
787
  pathParamSchema: agentIdPathParams,
@@ -533,14 +790,42 @@ var STREAM_GENERATE_ROUTE = createRoute({
533
790
  summary: "Stream agent response",
534
791
  description: "Executes an agent with the provided messages and streams the response in real-time",
535
792
  tags: ["Agents"],
536
- handler: async ({ mastra, agentId, abortSignal, ...params }) => {
793
+ requiresAuth: true,
794
+ handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
537
795
  try {
538
796
  const agent = await getAgentFromSystem({ mastra, agentId });
539
797
  sanitizeBody(params, ["tools"]);
540
- const { messages, ...rest } = params;
798
+ const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
541
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
+ }
542
825
  const streamResult = await agent.stream(messages, {
543
826
  ...rest,
827
+ requestContext: serverRequestContext,
828
+ memory: authorizedMemoryOption,
544
829
  abortSignal
545
830
  });
546
831
  return streamResult.fullStream;
@@ -551,7 +836,7 @@ var STREAM_GENERATE_ROUTE = createRoute({
551
836
  });
552
837
  var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({
553
838
  method: "POST",
554
- path: "/api/agents/:agentId/stream/vnext",
839
+ path: "/agents/:agentId/stream/vnext",
555
840
  responseType: "stream",
556
841
  pathParamSchema: agentIdPathParams,
557
842
  bodySchema: agentExecutionBodySchema,
@@ -559,12 +844,13 @@ var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({
559
844
  summary: "Stream a response from an agent",
560
845
  description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
561
846
  tags: ["Agents"],
847
+ requiresAuth: true,
562
848
  deprecated: true,
563
849
  handler: STREAM_GENERATE_ROUTE.handler
564
850
  });
565
851
  var APPROVE_TOOL_CALL_ROUTE = createRoute({
566
852
  method: "POST",
567
- path: "/api/agents/:agentId/approve-tool-call",
853
+ path: "/agents/:agentId/approve-tool-call",
568
854
  responseType: "stream",
569
855
  streamFormat: "sse",
570
856
  pathParamSchema: agentIdPathParams,
@@ -573,6 +859,7 @@ var APPROVE_TOOL_CALL_ROUTE = createRoute({
573
859
  summary: "Approve tool call",
574
860
  description: "Approves a pending tool call and continues agent execution",
575
861
  tags: ["Agents", "Tools"],
862
+ requiresAuth: true,
576
863
  handler: async ({ mastra, agentId, abortSignal, ...params }) => {
577
864
  try {
578
865
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -595,7 +882,7 @@ var APPROVE_TOOL_CALL_ROUTE = createRoute({
595
882
  });
596
883
  var DECLINE_TOOL_CALL_ROUTE = createRoute({
597
884
  method: "POST",
598
- path: "/api/agents/:agentId/decline-tool-call",
885
+ path: "/agents/:agentId/decline-tool-call",
599
886
  responseType: "stream",
600
887
  streamFormat: "sse",
601
888
  pathParamSchema: agentIdPathParams,
@@ -604,6 +891,7 @@ var DECLINE_TOOL_CALL_ROUTE = createRoute({
604
891
  summary: "Decline tool call",
605
892
  description: "Declines a pending tool call and continues agent execution without executing the tool",
606
893
  tags: ["Agents", "Tools"],
894
+ requiresAuth: true,
607
895
  handler: async ({ mastra, agentId, abortSignal, ...params }) => {
608
896
  try {
609
897
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -626,7 +914,7 @@ var DECLINE_TOOL_CALL_ROUTE = createRoute({
626
914
  });
627
915
  var APPROVE_TOOL_CALL_GENERATE_ROUTE = createRoute({
628
916
  method: "POST",
629
- path: "/api/agents/:agentId/approve-tool-call-generate",
917
+ path: "/agents/:agentId/approve-tool-call-generate",
630
918
  responseType: "json",
631
919
  pathParamSchema: agentIdPathParams,
632
920
  bodySchema: approveToolCallBodySchema,
@@ -634,6 +922,7 @@ var APPROVE_TOOL_CALL_GENERATE_ROUTE = createRoute({
634
922
  summary: "Approve tool call (non-streaming)",
635
923
  description: "Approves a pending tool call and returns the complete response",
636
924
  tags: ["Agents", "Tools"],
925
+ requiresAuth: true,
637
926
  handler: async ({ mastra, agentId, abortSignal, ...params }) => {
638
927
  try {
639
928
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -656,7 +945,7 @@ var APPROVE_TOOL_CALL_GENERATE_ROUTE = createRoute({
656
945
  });
657
946
  var DECLINE_TOOL_CALL_GENERATE_ROUTE = createRoute({
658
947
  method: "POST",
659
- path: "/api/agents/:agentId/decline-tool-call-generate",
948
+ path: "/agents/:agentId/decline-tool-call-generate",
660
949
  responseType: "json",
661
950
  pathParamSchema: agentIdPathParams,
662
951
  bodySchema: declineToolCallBodySchema,
@@ -664,6 +953,7 @@ var DECLINE_TOOL_CALL_GENERATE_ROUTE = createRoute({
664
953
  summary: "Decline tool call (non-streaming)",
665
954
  description: "Declines a pending tool call and returns the complete response",
666
955
  tags: ["Agents", "Tools"],
956
+ requiresAuth: true,
667
957
  handler: async ({ mastra, agentId, abortSignal, ...params }) => {
668
958
  try {
669
959
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -686,7 +976,7 @@ var DECLINE_TOOL_CALL_GENERATE_ROUTE = createRoute({
686
976
  });
687
977
  var STREAM_NETWORK_ROUTE = createRoute({
688
978
  method: "POST",
689
- path: "/api/agents/:agentId/network",
979
+ path: "/agents/:agentId/network",
690
980
  responseType: "stream",
691
981
  streamFormat: "sse",
692
982
  pathParamSchema: agentIdPathParams,
@@ -695,6 +985,7 @@ var STREAM_NETWORK_ROUTE = createRoute({
695
985
  summary: "Stream agent network",
696
986
  description: "Executes an agent network with multiple agents and streams the response",
697
987
  tags: ["Agents"],
988
+ requiresAuth: true,
698
989
  handler: async ({ mastra, messages, agentId, ...params }) => {
699
990
  try {
700
991
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -711,7 +1002,7 @@ var STREAM_NETWORK_ROUTE = createRoute({
711
1002
  });
712
1003
  var APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({
713
1004
  method: "POST",
714
- path: "/api/agents/:agentId/approve-network-tool-call",
1005
+ path: "/agents/:agentId/approve-network-tool-call",
715
1006
  responseType: "stream",
716
1007
  streamFormat: "sse",
717
1008
  pathParamSchema: agentIdPathParams,
@@ -720,6 +1011,7 @@ var APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({
720
1011
  summary: "Approve network tool call",
721
1012
  description: "Approves a pending network tool call and continues network agent execution",
722
1013
  tags: ["Agents", "Tools"],
1014
+ requiresAuth: true,
723
1015
  handler: async ({ mastra, agentId, ...params }) => {
724
1016
  try {
725
1017
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -738,7 +1030,7 @@ var APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({
738
1030
  });
739
1031
  var DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({
740
1032
  method: "POST",
741
- path: "/api/agents/:agentId/decline-network-tool-call",
1033
+ path: "/agents/:agentId/decline-network-tool-call",
742
1034
  responseType: "stream",
743
1035
  streamFormat: "sse",
744
1036
  pathParamSchema: agentIdPathParams,
@@ -747,6 +1039,7 @@ var DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({
747
1039
  summary: "Decline network tool call",
748
1040
  description: "Declines a pending network tool call and continues network agent execution without executing the tool",
749
1041
  tags: ["Agents", "Tools"],
1042
+ requiresAuth: true,
750
1043
  handler: async ({ mastra, agentId, ...params }) => {
751
1044
  try {
752
1045
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -765,7 +1058,7 @@ var DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({
765
1058
  });
766
1059
  var UPDATE_AGENT_MODEL_ROUTE = createRoute({
767
1060
  method: "POST",
768
- path: "/api/agents/:agentId/model",
1061
+ path: "/agents/:agentId/model",
769
1062
  responseType: "json",
770
1063
  pathParamSchema: agentIdPathParams,
771
1064
  bodySchema: updateAgentModelBodySchema,
@@ -773,6 +1066,7 @@ var UPDATE_AGENT_MODEL_ROUTE = createRoute({
773
1066
  summary: "Update agent model",
774
1067
  description: "Updates the AI model used by the agent",
775
1068
  tags: ["Agents", "Models"],
1069
+ requiresAuth: true,
776
1070
  handler: async ({ mastra, agentId, modelId, provider }) => {
777
1071
  try {
778
1072
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -786,13 +1080,14 @@ var UPDATE_AGENT_MODEL_ROUTE = createRoute({
786
1080
  });
787
1081
  var RESET_AGENT_MODEL_ROUTE = createRoute({
788
1082
  method: "POST",
789
- path: "/api/agents/:agentId/model/reset",
1083
+ path: "/agents/:agentId/model/reset",
790
1084
  responseType: "json",
791
1085
  pathParamSchema: agentIdPathParams,
792
1086
  responseSchema: modelManagementResponseSchema,
793
1087
  summary: "Reset agent model",
794
1088
  description: "Resets the agent model to its original configuration",
795
1089
  tags: ["Agents", "Models"],
1090
+ requiresAuth: true,
796
1091
  handler: async ({ mastra, agentId }) => {
797
1092
  try {
798
1093
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -805,7 +1100,7 @@ var RESET_AGENT_MODEL_ROUTE = createRoute({
805
1100
  });
806
1101
  var REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({
807
1102
  method: "POST",
808
- path: "/api/agents/:agentId/models/reorder",
1103
+ path: "/agents/:agentId/models/reorder",
809
1104
  responseType: "json",
810
1105
  pathParamSchema: agentIdPathParams,
811
1106
  bodySchema: reorderAgentModelListBodySchema,
@@ -813,6 +1108,7 @@ var REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({
813
1108
  summary: "Reorder agent model list",
814
1109
  description: "Reorders the model list for agents with multiple model configurations",
815
1110
  tags: ["Agents", "Models"],
1111
+ requiresAuth: true,
816
1112
  handler: async ({ mastra, agentId, reorderedModelIds }) => {
817
1113
  try {
818
1114
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -829,7 +1125,7 @@ var REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({
829
1125
  });
830
1126
  var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({
831
1127
  method: "POST",
832
- path: "/api/agents/:agentId/models/:modelConfigId",
1128
+ path: "/agents/:agentId/models/:modelConfigId",
833
1129
  responseType: "json",
834
1130
  pathParamSchema: modelConfigIdPathParams,
835
1131
  bodySchema: updateAgentModelInModelListBodySchema,
@@ -837,6 +1133,7 @@ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({
837
1133
  summary: "Update model in model list",
838
1134
  description: "Updates a specific model configuration in the agent model list",
839
1135
  tags: ["Agents", "Models"],
1136
+ requiresAuth: true,
840
1137
  handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {
841
1138
  try {
842
1139
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -933,7 +1230,7 @@ async function findConnectedModel(agent) {
933
1230
  }
934
1231
  var ENHANCE_INSTRUCTIONS_ROUTE = createRoute({
935
1232
  method: "POST",
936
- path: "/api/agents/:agentId/instructions/enhance",
1233
+ path: "/agents/:agentId/instructions/enhance",
937
1234
  responseType: "json",
938
1235
  pathParamSchema: agentIdPathParams,
939
1236
  bodySchema: enhanceInstructionsBodySchema,
@@ -941,6 +1238,7 @@ var ENHANCE_INSTRUCTIONS_ROUTE = createRoute({
941
1238
  summary: "Enhance agent instructions",
942
1239
  description: "Uses AI to enhance or modify agent instructions based on user feedback",
943
1240
  tags: ["Agents"],
1241
+ requiresAuth: true,
944
1242
  handler: async ({ mastra, agentId, instructions, comment }) => {
945
1243
  try {
946
1244
  const agent = await getAgentFromSystem({ mastra, agentId });
@@ -974,7 +1272,7 @@ ${comment ? `User feedback: ${comment}` : ""}`,
974
1272
  });
975
1273
  var STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({
976
1274
  method: "POST",
977
- path: "/api/agents/:agentId/streamVNext",
1275
+ path: "/agents/:agentId/streamVNext",
978
1276
  responseType: "stream",
979
1277
  pathParamSchema: agentIdPathParams,
980
1278
  bodySchema: agentExecutionBodySchema,
@@ -982,6 +1280,7 @@ var STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({
982
1280
  summary: "Stream a response from an agent",
983
1281
  description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
984
1282
  tags: ["Agents"],
1283
+ requiresAuth: true,
985
1284
  deprecated: true,
986
1285
  handler: async () => {
987
1286
  throw new HTTPException(410, { message: "This endpoint is deprecated. Please use /stream instead." });
@@ -989,7 +1288,7 @@ var STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({
989
1288
  });
990
1289
  var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({
991
1290
  method: "POST",
992
- path: "/api/agents/:agentId/stream/vnext/ui",
1291
+ path: "/agents/:agentId/stream/vnext/ui",
993
1292
  responseType: "stream",
994
1293
  pathParamSchema: agentIdPathParams,
995
1294
  bodySchema: agentExecutionBodySchema,
@@ -997,6 +1296,7 @@ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({
997
1296
  summary: "Stream UI messages from an agent",
998
1297
  description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
999
1298
  tags: ["Agents"],
1299
+ requiresAuth: true,
1000
1300
  deprecated: true,
1001
1301
  handler: async () => {
1002
1302
  try {
@@ -1013,7 +1313,7 @@ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({
1013
1313
  });
1014
1314
  var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({
1015
1315
  method: "POST",
1016
- path: "/api/agents/:agentId/stream/ui",
1316
+ path: "/agents/:agentId/stream/ui",
1017
1317
  responseType: "stream",
1018
1318
  pathParamSchema: agentIdPathParams,
1019
1319
  bodySchema: agentExecutionBodySchema,
@@ -1021,10 +1321,52 @@ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({
1021
1321
  summary: "Stream UI messages from an agent",
1022
1322
  description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
1023
1323
  tags: ["Agents"],
1324
+ requiresAuth: true,
1024
1325
  deprecated: true,
1025
1326
  handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler
1026
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
+ });
1027
1369
 
1028
- 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_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 };
1029
- //# sourceMappingURL=chunk-2CLS2PYJ.js.map
1030
- //# sourceMappingURL=chunk-2CLS2PYJ.js.map
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-7YCFHDWX.js.map
1372
+ //# sourceMappingURL=chunk-7YCFHDWX.js.map