@mastra/server 1.52.0-alpha.4 → 1.52.0-alpha.8

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 (419) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +5 -5
  3. package/dist/_types/@internal_voice/dist/routes/index.d.ts +18 -18
  4. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +2 -2
  5. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-v6/dist/index.d.ts +7 -3
  6. package/dist/{api-schema-manifest-SFPIP4LQ.cjs → api-schema-manifest-BZGA74J2.cjs} +4 -4
  7. package/dist/{api-schema-manifest-SFPIP4LQ.cjs.map → api-schema-manifest-BZGA74J2.cjs.map} +1 -1
  8. package/dist/{api-schema-manifest-OVMK2UXJ.js → api-schema-manifest-NNWEDO6W.js} +3 -3
  9. package/dist/{api-schema-manifest-OVMK2UXJ.js.map → api-schema-manifest-NNWEDO6W.js.map} +1 -1
  10. package/dist/{chunk-THQZFNHO.cjs → chunk-2CMAB3SO.cjs} +10 -10
  11. package/dist/{chunk-THQZFNHO.cjs.map → chunk-2CMAB3SO.cjs.map} +1 -1
  12. package/dist/{chunk-CCZTBYCI.cjs → chunk-2JMQ5GN2.cjs} +10 -10
  13. package/dist/{chunk-CCZTBYCI.cjs.map → chunk-2JMQ5GN2.cjs.map} +1 -1
  14. package/dist/{chunk-BNR5CIPX.cjs → chunk-2Q2CCUIN.cjs} +4 -4
  15. package/dist/{chunk-BNR5CIPX.cjs.map → chunk-2Q2CCUIN.cjs.map} +1 -1
  16. package/dist/{chunk-Z5OBB3DJ.js → chunk-2Q3GX3ML.js} +3 -3
  17. package/dist/{chunk-Z5OBB3DJ.js.map → chunk-2Q3GX3ML.js.map} +1 -1
  18. package/dist/{chunk-AGMARPDG.js → chunk-2YL7Z4BF.js} +3 -3
  19. package/dist/{chunk-AGMARPDG.js.map → chunk-2YL7Z4BF.js.map} +1 -1
  20. package/dist/{chunk-MJ5QWRI2.cjs → chunk-33C4F4LV.cjs} +4 -4
  21. package/dist/{chunk-MJ5QWRI2.cjs.map → chunk-33C4F4LV.cjs.map} +1 -1
  22. package/dist/{chunk-27F2AJU2.cjs → chunk-3ANOSGBL.cjs} +3 -3
  23. package/dist/{chunk-27F2AJU2.cjs.map → chunk-3ANOSGBL.cjs.map} +1 -1
  24. package/dist/{chunk-NI4O4PKL.js → chunk-3G43R5VJ.js} +4 -4
  25. package/dist/{chunk-NI4O4PKL.js.map → chunk-3G43R5VJ.js.map} +1 -1
  26. package/dist/{chunk-DIG2K5CV.cjs → chunk-3JVOIOO6.cjs} +7 -3
  27. package/dist/chunk-3JVOIOO6.cjs.map +1 -0
  28. package/dist/{chunk-SGXBKIPB.cjs → chunk-3NRUYIMU.cjs} +10 -10
  29. package/dist/{chunk-SGXBKIPB.cjs.map → chunk-3NRUYIMU.cjs.map} +1 -1
  30. package/dist/{chunk-356JZOB2.js → chunk-3W4W6HXP.js} +3 -3
  31. package/dist/{chunk-356JZOB2.js.map → chunk-3W4W6HXP.js.map} +1 -1
  32. package/dist/{chunk-GFP7IMFR.cjs → chunk-4JAXFPYO.cjs} +5 -5
  33. package/dist/{chunk-GFP7IMFR.cjs.map → chunk-4JAXFPYO.cjs.map} +1 -1
  34. package/dist/{chunk-EFJIK2PW.js → chunk-4JVPQKUQ.js} +3 -3
  35. package/dist/{chunk-EFJIK2PW.js.map → chunk-4JVPQKUQ.js.map} +1 -1
  36. package/dist/{chunk-SXOMGGNC.cjs → chunk-4MWZ7C3A.cjs} +16 -16
  37. package/dist/{chunk-SXOMGGNC.cjs.map → chunk-4MWZ7C3A.cjs.map} +1 -1
  38. package/dist/{chunk-ONB3B57W.cjs → chunk-4OMQHNW6.cjs} +9 -9
  39. package/dist/{chunk-ONB3B57W.cjs.map → chunk-4OMQHNW6.cjs.map} +1 -1
  40. package/dist/{chunk-MPFUINWR.js → chunk-5HBR27TT.js} +4 -4
  41. package/dist/{chunk-MPFUINWR.js.map → chunk-5HBR27TT.js.map} +1 -1
  42. package/dist/{chunk-LXWMMOJ4.cjs → chunk-5HJA6HXT.cjs} +6 -6
  43. package/dist/{chunk-LXWMMOJ4.cjs.map → chunk-5HJA6HXT.cjs.map} +1 -1
  44. package/dist/{chunk-2YY3EMMS.js → chunk-6VTOGOS2.js} +7 -4
  45. package/dist/chunk-6VTOGOS2.js.map +1 -0
  46. package/dist/{chunk-J6TRVKBB.cjs → chunk-74UCXGOB.cjs} +28 -21
  47. package/dist/chunk-74UCXGOB.cjs.map +1 -0
  48. package/dist/{chunk-74M2DIPI.js → chunk-7UNBMINL.js} +3 -3
  49. package/dist/{chunk-74M2DIPI.js.map → chunk-7UNBMINL.js.map} +1 -1
  50. package/dist/{chunk-Q6FMYSXG.js → chunk-A6SVMM25.js} +15 -9
  51. package/dist/chunk-A6SVMM25.js.map +1 -0
  52. package/dist/{chunk-H32FN255.cjs → chunk-AEQ33POL.cjs} +9 -9
  53. package/dist/{chunk-H32FN255.cjs.map → chunk-AEQ33POL.cjs.map} +1 -1
  54. package/dist/{chunk-UO4HGWYR.js → chunk-AHA27LVT.js} +4 -4
  55. package/dist/{chunk-UO4HGWYR.js.map → chunk-AHA27LVT.js.map} +1 -1
  56. package/dist/{chunk-3F5MV2ED.js → chunk-ALGN4VJC.js} +4 -4
  57. package/dist/{chunk-3F5MV2ED.js.map → chunk-ALGN4VJC.js.map} +1 -1
  58. package/dist/{chunk-H6AH6GSN.cjs → chunk-BDFKQL7W.cjs} +3 -3
  59. package/dist/{chunk-H6AH6GSN.cjs.map → chunk-BDFKQL7W.cjs.map} +1 -1
  60. package/dist/{chunk-TS2WBQFI.cjs → chunk-BZQ4BGLS.cjs} +4 -4
  61. package/dist/{chunk-TS2WBQFI.cjs.map → chunk-BZQ4BGLS.cjs.map} +1 -1
  62. package/dist/{chunk-I2LG5WYB.js → chunk-BZUNERBP.js} +3 -3
  63. package/dist/{chunk-I2LG5WYB.js.map → chunk-BZUNERBP.js.map} +1 -1
  64. package/dist/{chunk-TXM2XTUT.cjs → chunk-C5V2PEPJ.cjs} +10 -10
  65. package/dist/{chunk-TXM2XTUT.cjs.map → chunk-C5V2PEPJ.cjs.map} +1 -1
  66. package/dist/{chunk-L6CMJI7S.cjs → chunk-CHJJRVKP.cjs} +8 -8
  67. package/dist/{chunk-L6CMJI7S.cjs.map → chunk-CHJJRVKP.cjs.map} +1 -1
  68. package/dist/{chunk-K6WBL3KZ.js → chunk-CPWPKQUC.js} +3 -3
  69. package/dist/{chunk-K6WBL3KZ.js.map → chunk-CPWPKQUC.js.map} +1 -1
  70. package/dist/{chunk-G7YHXDNQ.cjs → chunk-CQQAMFKH.cjs} +8 -8
  71. package/dist/{chunk-G7YHXDNQ.cjs.map → chunk-CQQAMFKH.cjs.map} +1 -1
  72. package/dist/{chunk-7NMKCTA4.js → chunk-CXXOGR3T.js} +5 -5
  73. package/dist/{chunk-7NMKCTA4.js.map → chunk-CXXOGR3T.js.map} +1 -1
  74. package/dist/{chunk-6QIJVEVN.js → chunk-DEEVXKJB.js} +3 -3
  75. package/dist/{chunk-6QIJVEVN.js.map → chunk-DEEVXKJB.js.map} +1 -1
  76. package/dist/{chunk-C6CCPCEC.cjs → chunk-DN6EUIM5.cjs} +5 -5
  77. package/dist/{chunk-C6CCPCEC.cjs.map → chunk-DN6EUIM5.cjs.map} +1 -1
  78. package/dist/{chunk-LZ32IIH2.cjs → chunk-ERHA2RJM.cjs} +7 -7
  79. package/dist/{chunk-LZ32IIH2.cjs.map → chunk-ERHA2RJM.cjs.map} +1 -1
  80. package/dist/{chunk-752PHFEK.js → chunk-F2QKFJRB.js} +3 -3
  81. package/dist/{chunk-752PHFEK.js.map → chunk-F2QKFJRB.js.map} +1 -1
  82. package/dist/{chunk-GLD2BPPG.js → chunk-F6ANJJFG.js} +4 -4
  83. package/dist/{chunk-GLD2BPPG.js.map → chunk-F6ANJJFG.js.map} +1 -1
  84. package/dist/{chunk-HVOQ7C45.js → chunk-F6LFHOOK.js} +75 -58
  85. package/dist/chunk-F6LFHOOK.js.map +1 -0
  86. package/dist/{chunk-UIRQU4GW.js → chunk-FBI32AWY.js} +3 -3
  87. package/dist/{chunk-UIRQU4GW.js.map → chunk-FBI32AWY.js.map} +1 -1
  88. package/dist/{chunk-3OQMTFIV.js → chunk-FXXHWBF2.js} +3 -3
  89. package/dist/{chunk-3OQMTFIV.js.map → chunk-FXXHWBF2.js.map} +1 -1
  90. package/dist/{chunk-BUFXUC67.js → chunk-G54EXH45.js} +3 -3
  91. package/dist/{chunk-BUFXUC67.js.map → chunk-G54EXH45.js.map} +1 -1
  92. package/dist/{chunk-TMGV2NRM.cjs → chunk-GBVJ57SE.cjs} +5 -5
  93. package/dist/{chunk-TMGV2NRM.cjs.map → chunk-GBVJ57SE.cjs.map} +1 -1
  94. package/dist/{chunk-4C5RVGHE.cjs → chunk-GKIWZDPL.cjs} +5 -5
  95. package/dist/{chunk-4C5RVGHE.cjs.map → chunk-GKIWZDPL.cjs.map} +1 -1
  96. package/dist/{chunk-VO64JFHK.js → chunk-GNYX4GCU.js} +4 -4
  97. package/dist/{chunk-VO64JFHK.js.map → chunk-GNYX4GCU.js.map} +1 -1
  98. package/dist/{chunk-TLBW3NWJ.cjs → chunk-HFJ6X4C6.cjs} +16 -16
  99. package/dist/{chunk-TLBW3NWJ.cjs.map → chunk-HFJ6X4C6.cjs.map} +1 -1
  100. package/dist/{chunk-IABGFWY2.cjs → chunk-HGAWQVT6.cjs} +5 -5
  101. package/dist/{chunk-IABGFWY2.cjs.map → chunk-HGAWQVT6.cjs.map} +1 -1
  102. package/dist/{chunk-EN3DVNH7.js → chunk-HJRP5ILZ.js} +3 -3
  103. package/dist/{chunk-EN3DVNH7.js.map → chunk-HJRP5ILZ.js.map} +1 -1
  104. package/dist/{chunk-E43WB5QM.js → chunk-IJ2EU3PK.js} +4 -4
  105. package/dist/{chunk-E43WB5QM.js.map → chunk-IJ2EU3PK.js.map} +1 -1
  106. package/dist/{chunk-U5TPAIT7.js → chunk-J3JR5LOU.js} +5 -5
  107. package/dist/{chunk-U5TPAIT7.js.map → chunk-J3JR5LOU.js.map} +1 -1
  108. package/dist/{chunk-KEE6UMGC.js → chunk-J62MSX2P.js} +3 -3
  109. package/dist/{chunk-KEE6UMGC.js.map → chunk-J62MSX2P.js.map} +1 -1
  110. package/dist/{chunk-ZIBI62YT.cjs → chunk-JCU4NJ5F.cjs} +78 -71
  111. package/dist/chunk-JCU4NJ5F.cjs.map +1 -0
  112. package/dist/{chunk-LEKVIHSE.js → chunk-JF6VE6ZA.js} +3 -3
  113. package/dist/{chunk-LEKVIHSE.js.map → chunk-JF6VE6ZA.js.map} +1 -1
  114. package/dist/{chunk-HEVO2CJX.js → chunk-KAYWPQHZ.js} +5 -5
  115. package/dist/{chunk-HEVO2CJX.js.map → chunk-KAYWPQHZ.js.map} +1 -1
  116. package/dist/{chunk-NI2DJ2VW.cjs → chunk-KK6BI6UL.cjs} +4 -4
  117. package/dist/{chunk-NI2DJ2VW.cjs.map → chunk-KK6BI6UL.cjs.map} +1 -1
  118. package/dist/{chunk-BTAQZX22.cjs → chunk-KPHHXRNR.cjs} +19 -19
  119. package/dist/{chunk-BTAQZX22.cjs.map → chunk-KPHHXRNR.cjs.map} +1 -1
  120. package/dist/{chunk-PTPMBE6M.cjs → chunk-L44I4QOQ.cjs} +19 -15
  121. package/dist/chunk-L44I4QOQ.cjs.map +1 -0
  122. package/dist/{chunk-FMXQN3T3.js → chunk-L5MFX2QW.js} +82 -63
  123. package/dist/chunk-L5MFX2QW.js.map +1 -0
  124. package/dist/{chunk-YFY6IWPM.js → chunk-LARE7IBU.js} +57 -26
  125. package/dist/chunk-LARE7IBU.js.map +1 -0
  126. package/dist/{chunk-WSHY63WR.js → chunk-LBSRLKFT.js} +11 -11
  127. package/dist/{chunk-WSHY63WR.js.map → chunk-LBSRLKFT.js.map} +1 -1
  128. package/dist/{chunk-XNL6KN4F.cjs → chunk-LE7HJWLH.cjs} +20 -20
  129. package/dist/{chunk-XNL6KN4F.cjs.map → chunk-LE7HJWLH.cjs.map} +1 -1
  130. package/dist/{chunk-W4XN6DDQ.cjs → chunk-LLUMUEF6.cjs} +20 -20
  131. package/dist/{chunk-W4XN6DDQ.cjs.map → chunk-LLUMUEF6.cjs.map} +1 -1
  132. package/dist/{chunk-K4HCNNHA.js → chunk-LVPM3N53.js} +13 -9
  133. package/dist/chunk-LVPM3N53.js.map +1 -0
  134. package/dist/{chunk-MG3WOQQQ.js → chunk-MCGO43FL.js} +6 -6
  135. package/dist/{chunk-MG3WOQQQ.js.map → chunk-MCGO43FL.js.map} +1 -1
  136. package/dist/{chunk-RVICRXZF.js → chunk-MTIYMK4E.js} +5 -5
  137. package/dist/{chunk-RVICRXZF.js.map → chunk-MTIYMK4E.js.map} +1 -1
  138. package/dist/{chunk-EJFYAD2W.cjs → chunk-N4GD4MOQ.cjs} +16 -16
  139. package/dist/{chunk-EJFYAD2W.cjs.map → chunk-N4GD4MOQ.cjs.map} +1 -1
  140. package/dist/{chunk-ONEOOPSN.js → chunk-N4S2JBFQ.js} +3 -3
  141. package/dist/{chunk-ONEOOPSN.js.map → chunk-N4S2JBFQ.js.map} +1 -1
  142. package/dist/{chunk-W36PYFFL.cjs → chunk-NIMP2XEL.cjs} +7 -7
  143. package/dist/{chunk-W36PYFFL.cjs.map → chunk-NIMP2XEL.cjs.map} +1 -1
  144. package/dist/{chunk-FGKZYVVB.cjs → chunk-NJ7SUHPS.cjs} +80 -63
  145. package/dist/chunk-NJ7SUHPS.cjs.map +1 -0
  146. package/dist/{chunk-SU4ZAHUZ.js → chunk-NNJ4T7KY.js} +3 -3
  147. package/dist/{chunk-SU4ZAHUZ.js.map → chunk-NNJ4T7KY.js.map} +1 -1
  148. package/dist/{chunk-2R5GLZJD.js → chunk-O2PSL6W6.js} +5 -5
  149. package/dist/{chunk-2R5GLZJD.js.map → chunk-O2PSL6W6.js.map} +1 -1
  150. package/dist/{chunk-HYTCHAEG.cjs → chunk-O4H32NTL.cjs} +12 -12
  151. package/dist/{chunk-HYTCHAEG.cjs.map → chunk-O4H32NTL.cjs.map} +1 -1
  152. package/dist/{chunk-7EEV6KBG.cjs → chunk-OEN2YIF2.cjs} +8 -8
  153. package/dist/{chunk-7EEV6KBG.cjs.map → chunk-OEN2YIF2.cjs.map} +1 -1
  154. package/dist/{chunk-TPB44HAO.cjs → chunk-OKYPWVCW.cjs} +20 -20
  155. package/dist/{chunk-TPB44HAO.cjs.map → chunk-OKYPWVCW.cjs.map} +1 -1
  156. package/dist/{chunk-7HYHJDQE.cjs → chunk-OSGB52U5.cjs} +13 -13
  157. package/dist/{chunk-7HYHJDQE.cjs.map → chunk-OSGB52U5.cjs.map} +1 -1
  158. package/dist/{chunk-T3C54LPX.cjs → chunk-P2X2Q6N6.cjs} +5 -5
  159. package/dist/{chunk-T3C54LPX.cjs.map → chunk-P2X2Q6N6.cjs.map} +1 -1
  160. package/dist/{chunk-BH354CYO.js → chunk-PBWRO6XO.js} +3 -3
  161. package/dist/{chunk-BH354CYO.js.map → chunk-PBWRO6XO.js.map} +1 -1
  162. package/dist/{chunk-4UI3O245.js → chunk-PNU7UJQB.js} +5 -5
  163. package/dist/{chunk-4UI3O245.js.map → chunk-PNU7UJQB.js.map} +1 -1
  164. package/dist/{chunk-2S4SNS5D.cjs → chunk-PU2IZSQV.cjs} +21 -21
  165. package/dist/{chunk-2S4SNS5D.cjs.map → chunk-PU2IZSQV.cjs.map} +1 -1
  166. package/dist/{chunk-HGZMS5RV.cjs → chunk-Q2N32LXT.cjs} +89 -89
  167. package/dist/{chunk-HGZMS5RV.cjs.map → chunk-Q2N32LXT.cjs.map} +1 -1
  168. package/dist/{chunk-HJIYHQK4.js → chunk-QJ4AEKQ3.js} +6 -6
  169. package/dist/{chunk-HJIYHQK4.js.map → chunk-QJ4AEKQ3.js.map} +1 -1
  170. package/dist/{chunk-MXZPGEC2.js → chunk-QJ4B3W64.js} +3 -3
  171. package/dist/{chunk-MXZPGEC2.js.map → chunk-QJ4B3W64.js.map} +1 -1
  172. package/dist/{chunk-ULEOWI5Q.cjs → chunk-QJCV2DRC.cjs} +20 -20
  173. package/dist/{chunk-ULEOWI5Q.cjs.map → chunk-QJCV2DRC.cjs.map} +1 -1
  174. package/dist/{chunk-P6RMY3SH.js → chunk-QOOCPWRR.js} +8 -8
  175. package/dist/{chunk-P6RMY3SH.js.map → chunk-QOOCPWRR.js.map} +1 -1
  176. package/dist/{chunk-DCEYGLZS.js → chunk-R33IQYQI.js} +4 -4
  177. package/dist/{chunk-DCEYGLZS.js.map → chunk-R33IQYQI.js.map} +1 -1
  178. package/dist/{chunk-7PXSB34V.js → chunk-R7GFY2MC.js} +13 -6
  179. package/dist/chunk-R7GFY2MC.js.map +1 -0
  180. package/dist/{chunk-YH4H2AJO.cjs → chunk-RF5JHOPM.cjs} +14 -14
  181. package/dist/{chunk-YH4H2AJO.cjs.map → chunk-RF5JHOPM.cjs.map} +1 -1
  182. package/dist/{chunk-ACEAX7PT.cjs → chunk-RFKHUSBX.cjs} +81 -80
  183. package/dist/chunk-RFKHUSBX.cjs.map +1 -0
  184. package/dist/{chunk-LNZ5W4VQ.js → chunk-S6RIWSNQ.js} +4 -4
  185. package/dist/{chunk-LNZ5W4VQ.js.map → chunk-S6RIWSNQ.js.map} +1 -1
  186. package/dist/{chunk-H5ZXWLOQ.cjs → chunk-SDIJUD3E.cjs} +19 -19
  187. package/dist/{chunk-H5ZXWLOQ.cjs.map → chunk-SDIJUD3E.cjs.map} +1 -1
  188. package/dist/{chunk-L52HD6P4.js → chunk-SERMMJ5D.js} +3 -3
  189. package/dist/{chunk-L52HD6P4.js.map → chunk-SERMMJ5D.js.map} +1 -1
  190. package/dist/chunk-SLBYGLRJ.cjs +744 -0
  191. package/dist/{chunk-QEMLXLXV.cjs.map → chunk-SLBYGLRJ.cjs.map} +1 -1
  192. package/dist/{chunk-DHAHH4TH.js → chunk-SOARWC3S.js} +2 -2
  193. package/dist/{chunk-DHAHH4TH.js.map → chunk-SOARWC3S.js.map} +1 -1
  194. package/dist/{chunk-QDVO3DAW.js → chunk-T26RGYB4.js} +3 -3
  195. package/dist/{chunk-QDVO3DAW.js.map → chunk-T26RGYB4.js.map} +1 -1
  196. package/dist/{chunk-APMXFPSU.cjs → chunk-T3UJXNVA.cjs} +23 -23
  197. package/dist/{chunk-APMXFPSU.cjs.map → chunk-T3UJXNVA.cjs.map} +1 -1
  198. package/dist/{chunk-3BLT6ISZ.js → chunk-TQARCQ7L.js} +3 -3
  199. package/dist/{chunk-3BLT6ISZ.js.map → chunk-TQARCQ7L.js.map} +1 -1
  200. package/dist/{chunk-5535L5CG.js → chunk-U4TKHVVI.js} +4 -4
  201. package/dist/{chunk-5535L5CG.js.map → chunk-U4TKHVVI.js.map} +1 -1
  202. package/dist/{chunk-XSP2SAMP.cjs → chunk-USCPSOLB.cjs} +133 -122
  203. package/dist/chunk-USCPSOLB.cjs.map +1 -0
  204. package/dist/{chunk-VDWXQIZO.cjs → chunk-UTZ4O2RM.cjs} +4 -4
  205. package/dist/{chunk-VDWXQIZO.cjs.map → chunk-UTZ4O2RM.cjs.map} +1 -1
  206. package/dist/{chunk-RKUFUE6P.js → chunk-UXF6QR6K.js} +4 -4
  207. package/dist/{chunk-RKUFUE6P.js.map → chunk-UXF6QR6K.js.map} +1 -1
  208. package/dist/{chunk-OVXNC7WH.cjs → chunk-VHYXKNSW.cjs} +57 -26
  209. package/dist/chunk-VHYXKNSW.cjs.map +1 -0
  210. package/dist/{chunk-3VVKGBOR.cjs → chunk-VMOKBW2F.cjs} +13 -13
  211. package/dist/{chunk-3VVKGBOR.cjs.map → chunk-VMOKBW2F.cjs.map} +1 -1
  212. package/dist/{chunk-32W4T4GH.js → chunk-VP6TKWL5.js} +10 -9
  213. package/dist/chunk-VP6TKWL5.js.map +1 -0
  214. package/dist/{chunk-OGHCGR5P.js → chunk-VTD4AE3B.js} +4 -4
  215. package/dist/{chunk-OGHCGR5P.js.map → chunk-VTD4AE3B.js.map} +1 -1
  216. package/dist/{chunk-X2LTS2LF.cjs → chunk-WA3XNAEH.cjs} +27 -27
  217. package/dist/{chunk-X2LTS2LF.cjs.map → chunk-WA3XNAEH.cjs.map} +1 -1
  218. package/dist/{chunk-QQF22Q32.cjs → chunk-WBW5BNAI.cjs} +22 -16
  219. package/dist/chunk-WBW5BNAI.cjs.map +1 -0
  220. package/dist/{chunk-E4ANVQ27.cjs → chunk-WD7VYH3W.cjs} +82 -63
  221. package/dist/chunk-WD7VYH3W.cjs.map +1 -0
  222. package/dist/{chunk-CXAJPAJ2.cjs → chunk-WE6BWC6H.cjs} +3 -3
  223. package/dist/{chunk-CXAJPAJ2.cjs.map → chunk-WE6BWC6H.cjs.map} +1 -1
  224. package/dist/{chunk-S6TNTR3A.cjs → chunk-WFCNC4DB.cjs} +7 -7
  225. package/dist/{chunk-S6TNTR3A.cjs.map → chunk-WFCNC4DB.cjs.map} +1 -1
  226. package/dist/{chunk-SB4CG73V.js → chunk-WHIHVWH4.js} +3 -3
  227. package/dist/{chunk-SB4CG73V.js.map → chunk-WHIHVWH4.js.map} +1 -1
  228. package/dist/{chunk-X54LX6DV.cjs → chunk-WI5TN7LF.cjs} +76 -76
  229. package/dist/{chunk-X54LX6DV.cjs.map → chunk-WI5TN7LF.cjs.map} +1 -1
  230. package/dist/{chunk-52LEKN7E.cjs → chunk-WPRN2QB2.cjs} +9 -9
  231. package/dist/{chunk-52LEKN7E.cjs.map → chunk-WPRN2QB2.cjs.map} +1 -1
  232. package/dist/{chunk-WXHED7VE.cjs → chunk-WQOGCQAO.cjs} +35 -35
  233. package/dist/{chunk-WXHED7VE.cjs.map → chunk-WQOGCQAO.cjs.map} +1 -1
  234. package/dist/{chunk-NNKRBMNJ.js → chunk-WSVV5VAC.js} +27 -16
  235. package/dist/chunk-WSVV5VAC.js.map +1 -0
  236. package/dist/{chunk-DE6AEVSX.js → chunk-XDFOJW6U.js} +4 -4
  237. package/dist/{chunk-DE6AEVSX.js.map → chunk-XDFOJW6U.js.map} +1 -1
  238. package/dist/{chunk-SYZ2NTP3.cjs → chunk-XLGXOZYB.cjs} +2 -2
  239. package/dist/{chunk-SYZ2NTP3.cjs.map → chunk-XLGXOZYB.cjs.map} +1 -1
  240. package/dist/{chunk-5VSA3DY7.js → chunk-XRRFYMND.js} +34 -34
  241. package/dist/{chunk-5VSA3DY7.js.map → chunk-XRRFYMND.js.map} +1 -1
  242. package/dist/{chunk-WIOYCLJC.cjs → chunk-XWC3RWOE.cjs} +5 -5
  243. package/dist/{chunk-WIOYCLJC.cjs.map → chunk-XWC3RWOE.cjs.map} +1 -1
  244. package/dist/{chunk-QJHZIGQG.js → chunk-XWPRNCUY.js} +11 -4
  245. package/dist/chunk-XWPRNCUY.js.map +1 -0
  246. package/dist/{chunk-GSCS6TAQ.cjs → chunk-YJDCZWCB.cjs} +4 -4
  247. package/dist/{chunk-GSCS6TAQ.cjs.map → chunk-YJDCZWCB.cjs.map} +1 -1
  248. package/dist/{chunk-JGEOOOSP.js → chunk-YPSJBKM7.js} +3 -3
  249. package/dist/{chunk-JGEOOOSP.js.map → chunk-YPSJBKM7.js.map} +1 -1
  250. package/dist/{chunk-3LFW3DVC.js → chunk-YT7X7RBF.js} +4 -4
  251. package/dist/{chunk-3LFW3DVC.js.map → chunk-YT7X7RBF.js.map} +1 -1
  252. package/dist/{chunk-64QFFUEH.js → chunk-YTLTMMB7.js} +3 -3
  253. package/dist/{chunk-64QFFUEH.js.map → chunk-YTLTMMB7.js.map} +1 -1
  254. package/dist/{chunk-6SZGOLAP.js → chunk-ZIE4HRC6.js} +3 -3
  255. package/dist/{chunk-6SZGOLAP.js.map → chunk-ZIE4HRC6.js.map} +1 -1
  256. package/dist/{chunk-67PDCQAC.cjs → chunk-ZWOZMVO5.cjs} +4 -4
  257. package/dist/{chunk-67PDCQAC.cjs.map → chunk-ZWOZMVO5.cjs.map} +1 -1
  258. package/dist/{dist-JZJF3WBI.cjs → dist-2ULT63IU.cjs} +29 -10
  259. package/dist/dist-2ULT63IU.cjs.map +1 -0
  260. package/dist/{dist-Q4R5SHIK.js → dist-NIJRMKC2.js} +28 -9
  261. package/dist/dist-NIJRMKC2.js.map +1 -0
  262. package/dist/docs/SKILL.md +1 -1
  263. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  264. package/dist/{observational-memory-R5X35UYR-OXE6AKYW.cjs → observational-memory-ZYY4KPCN-KSYK7OX2.cjs} +29 -29
  265. package/dist/{observational-memory-R5X35UYR-OXE6AKYW.cjs.map → observational-memory-ZYY4KPCN-KSYK7OX2.cjs.map} +1 -1
  266. package/dist/{observational-memory-R5X35UYR-3YYQEHXK.js → observational-memory-ZYY4KPCN-VDYMNQJR.js} +3 -3
  267. package/dist/{observational-memory-R5X35UYR-3YYQEHXK.js.map → observational-memory-ZYY4KPCN-VDYMNQJR.js.map} +1 -1
  268. package/dist/server/auth/helpers.d.ts.map +1 -1
  269. package/dist/server/auth/index.cjs +15 -15
  270. package/dist/server/auth/index.js +1 -1
  271. package/dist/server/handlers/a2a.cjs +14 -14
  272. package/dist/server/handlers/a2a.js +1 -1
  273. package/dist/server/handlers/agent-builder.cjs +17 -17
  274. package/dist/server/handlers/agent-builder.d.ts +20 -20
  275. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  276. package/dist/server/handlers/agent-builder.js +1 -1
  277. package/dist/server/handlers/agent-controller.cjs +35 -35
  278. package/dist/server/handlers/agent-controller.d.ts +16 -16
  279. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  280. package/dist/server/handlers/agent-controller.js +1 -1
  281. package/dist/server/handlers/agent-versions.cjs +8 -8
  282. package/dist/server/handlers/agent-versions.js +1 -1
  283. package/dist/server/handlers/agents.cjs +48 -48
  284. package/dist/server/handlers/agents.d.ts +2830 -1060
  285. package/dist/server/handlers/agents.d.ts.map +1 -1
  286. package/dist/server/handlers/agents.js +1 -1
  287. package/dist/server/handlers/auth.cjs +13 -13
  288. package/dist/server/handlers/auth.js +1 -1
  289. package/dist/server/handlers/background-tasks.cjs +4 -4
  290. package/dist/server/handlers/background-tasks.d.ts +2 -2
  291. package/dist/server/handlers/background-tasks.d.ts.map +1 -1
  292. package/dist/server/handlers/background-tasks.js +1 -1
  293. package/dist/server/handlers/conversations.cjs +5 -5
  294. package/dist/server/handlers/conversations.js +1 -1
  295. package/dist/server/handlers/datasets.cjs +26 -26
  296. package/dist/server/handlers/datasets.d.ts +78 -78
  297. package/dist/server/handlers/datasets.d.ts.map +1 -1
  298. package/dist/server/handlers/datasets.js +1 -1
  299. package/dist/server/handlers/editor-builder.cjs +6 -6
  300. package/dist/server/handlers/editor-builder.js +1 -1
  301. package/dist/server/handlers/favorites-enrichment.cjs +4 -4
  302. package/dist/server/handlers/favorites-enrichment.js +1 -1
  303. package/dist/server/handlers/logs.cjs +4 -4
  304. package/dist/server/handlers/logs.d.ts +12 -12
  305. package/dist/server/handlers/logs.js +1 -1
  306. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  307. package/dist/server/handlers/mcp-client-versions.js +1 -1
  308. package/dist/server/handlers/mcp.cjs +11 -11
  309. package/dist/server/handlers/mcp.js +1 -1
  310. package/dist/server/handlers/memory.cjs +27 -27
  311. package/dist/server/handlers/memory.d.ts +49 -30
  312. package/dist/server/handlers/memory.d.ts.map +1 -1
  313. package/dist/server/handlers/memory.js +1 -1
  314. package/dist/server/handlers/observability-new-endpoints.d.ts +2 -2
  315. package/dist/server/handlers/processors.cjs +4 -4
  316. package/dist/server/handlers/processors.d.ts +10 -10
  317. package/dist/server/handlers/processors.js +1 -1
  318. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  319. package/dist/server/handlers/prompt-block-versions.js +1 -1
  320. package/dist/server/handlers/responses.cjs +4 -4
  321. package/dist/server/handlers/responses.js +1 -1
  322. package/dist/server/handlers/scorer-versions.cjs +8 -8
  323. package/dist/server/handlers/scorer-versions.js +1 -1
  324. package/dist/server/handlers/scores.cjs +7 -7
  325. package/dist/server/handlers/scores.js +1 -1
  326. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  327. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  328. package/dist/server/handlers/stored-agents.cjs +10 -10
  329. package/dist/server/handlers/stored-agents.js +1 -1
  330. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  331. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  332. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  333. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  334. package/dist/server/handlers/stored-scorers.cjs +6 -6
  335. package/dist/server/handlers/stored-scorers.js +1 -1
  336. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  337. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  338. package/dist/server/handlers/stored-skills.cjs +7 -7
  339. package/dist/server/handlers/stored-skills.js +1 -1
  340. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  341. package/dist/server/handlers/stored-workspaces.js +1 -1
  342. package/dist/server/handlers/system.cjs +3 -3
  343. package/dist/server/handlers/system.js +1 -1
  344. package/dist/server/handlers/tools.cjs +6 -6
  345. package/dist/server/handlers/tools.d.ts +8 -8
  346. package/dist/server/handlers/tools.d.ts.map +1 -1
  347. package/dist/server/handlers/tools.js +1 -1
  348. package/dist/server/handlers/vector.cjs +16 -16
  349. package/dist/server/handlers/vector.d.ts +4 -4
  350. package/dist/server/handlers/vector.d.ts.map +1 -1
  351. package/dist/server/handlers/vector.js +1 -1
  352. package/dist/server/handlers/voice.cjs +8 -8
  353. package/dist/server/handlers/voice.js +1 -1
  354. package/dist/server/handlers/workflows.cjs +27 -27
  355. package/dist/server/handlers/workflows.d.ts +46 -46
  356. package/dist/server/handlers/workflows.d.ts.map +1 -1
  357. package/dist/server/handlers/workflows.js +1 -1
  358. package/dist/server/handlers.cjs +26 -26
  359. package/dist/server/handlers.js +13 -13
  360. package/dist/server/schemas/a2a.d.ts +1 -1
  361. package/dist/server/schemas/agents.d.ts +217 -284
  362. package/dist/server/schemas/agents.d.ts.map +1 -1
  363. package/dist/server/schemas/background-tasks.d.ts +1 -1
  364. package/dist/server/schemas/background-tasks.d.ts.map +1 -1
  365. package/dist/server/schemas/common.d.ts +18 -2
  366. package/dist/server/schemas/common.d.ts.map +1 -1
  367. package/dist/server/schemas/datasets.d.ts +39 -39
  368. package/dist/server/schemas/index.cjs +419 -415
  369. package/dist/server/schemas/index.js +26 -26
  370. package/dist/server/schemas/logs.d.ts +3 -3
  371. package/dist/server/schemas/memory.d.ts +23 -11
  372. package/dist/server/schemas/memory.d.ts.map +1 -1
  373. package/dist/server/schemas/processors.d.ts +5 -5
  374. package/dist/server/schemas/vectors.d.ts +2 -2
  375. package/dist/server/schemas/workflows.d.ts +7 -6
  376. package/dist/server/schemas/workflows.d.ts.map +1 -1
  377. package/dist/server/server-adapter/index.cjs +18 -18
  378. package/dist/server/server-adapter/index.cjs.map +1 -1
  379. package/dist/server/server-adapter/index.d.ts +2 -1
  380. package/dist/server/server-adapter/index.d.ts.map +1 -1
  381. package/dist/server/server-adapter/index.js +6 -6
  382. package/dist/server/server-adapter/index.js.map +1 -1
  383. package/dist/server/server-adapter/routes/agent-builder.d.ts +20 -20
  384. package/dist/server/server-adapter/routes/datasets.d.ts +78 -78
  385. package/dist/server/server-adapter/routes/legacy.d.ts +376 -140
  386. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -1
  387. package/dist/server/server-adapter/routes/logs.d.ts +12 -12
  388. package/dist/server/server-adapter/routes/memory.d.ts +49 -30
  389. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  390. package/dist/server/server-adapter/routes/observability.d.ts +1 -1
  391. package/dist/server/server-adapter/routes/processors.d.ts +10 -10
  392. package/dist/server/server-adapter/routes/tools.d.ts +4 -4
  393. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -1
  394. package/dist/server/server-adapter/routes/vectors.d.ts +4 -4
  395. package/dist/server/server-adapter/routes/workflows.d.ts +42 -42
  396. package/package.json +6 -6
  397. package/dist/chunk-2YY3EMMS.js.map +0 -1
  398. package/dist/chunk-32W4T4GH.js.map +0 -1
  399. package/dist/chunk-7PXSB34V.js.map +0 -1
  400. package/dist/chunk-ACEAX7PT.cjs.map +0 -1
  401. package/dist/chunk-DIG2K5CV.cjs.map +0 -1
  402. package/dist/chunk-E4ANVQ27.cjs.map +0 -1
  403. package/dist/chunk-FGKZYVVB.cjs.map +0 -1
  404. package/dist/chunk-FMXQN3T3.js.map +0 -1
  405. package/dist/chunk-HVOQ7C45.js.map +0 -1
  406. package/dist/chunk-J6TRVKBB.cjs.map +0 -1
  407. package/dist/chunk-K4HCNNHA.js.map +0 -1
  408. package/dist/chunk-NNKRBMNJ.js.map +0 -1
  409. package/dist/chunk-OVXNC7WH.cjs.map +0 -1
  410. package/dist/chunk-PTPMBE6M.cjs.map +0 -1
  411. package/dist/chunk-Q6FMYSXG.js.map +0 -1
  412. package/dist/chunk-QEMLXLXV.cjs +0 -744
  413. package/dist/chunk-QJHZIGQG.js.map +0 -1
  414. package/dist/chunk-QQF22Q32.cjs.map +0 -1
  415. package/dist/chunk-XSP2SAMP.cjs.map +0 -1
  416. package/dist/chunk-YFY6IWPM.js.map +0 -1
  417. package/dist/chunk-ZIBI62YT.cjs.map +0 -1
  418. package/dist/dist-JZJF3WBI.cjs.map +0 -1
  419. package/dist/dist-Q4R5SHIK.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/agent-controller.ts"],"names":["controller"],"mappings":"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","file":"chunk-FMXQN3T3.js","sourcesContent":["import type { Agent } from '@mastra/core/agent';\nimport type { AgentController, Session } from '@mastra/core/agent-controller';\n// Type-only import: erased at runtime, so this cannot crash against an older\n// @mastra/core that lacks the `./agent-controller` subpath export. Controller\n// resolution at runtime goes through mastra.getAgentController?.(), never a\n// value import.\nimport { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n/**\n * AgentController session routes.\n *\n * An AgentController registered on a Mastra instance (via\n * `new Mastra({ agentControllers })`) exposes its sessions over HTTP so\n * non-terminal clients — e.g. a browser-based MastraCode — can create sessions,\n * send messages, stream events, and drive run-control. Each route resolves its\n * target AgentController by id, then operates on a session bound to a\n * `resourceId` (get-or-create, so reconnects resume rather than fork the\n * conversation).\n */\n\n/**\n * Internal thread-metadata keys that `Session.loadMetadata()` reads back as\n * runtime bookkeeping (selected model/mode, observer/reflector config, token\n * usage). They share the flat thread `metadata` bag with user-provided session\n * scoping tags, so they must never be treated as tags here.\n *\n * Mirrors core's `isReservedThreadMetadataKey`; kept local because importing the\n * value from `@mastra/core` would exceed this package's peer-dependency floor.\n */\nfunction isReservedThreadMetadataKey(key: string): boolean {\n return (\n key === 'currentModelId' ||\n key === 'currentModeId' ||\n key === 'observerModelId' ||\n key === 'reflectorModelId' ||\n key === 'observationThreshold' ||\n key === 'reflectionThreshold' ||\n key === 'tokenUsage' ||\n key.startsWith('modeModelId_')\n );\n}\n\n/**\n * Resolves a controller by id via the canonical `mastra.getAgentController`\n * accessor, throwing a 404 if no controller is registered under that id.\n */\nfunction getAgentControllerOrThrow(\n mastra: {\n getAgentController?: (id: string) => AgentController<any> | undefined;\n },\n controllerId: string,\n): AgentController<any> {\n const controller = mastra.getAgentController?.(controllerId);\n if (!controller) {\n throw new HTTPException(404, { message: `agent controller \"${controllerId}\" not found` });\n }\n return controller;\n}\n\nasync function getSession(\n controller: AgentController<any>,\n resourceId: string,\n options?: { tags?: Record<string, string>; scope?: string },\n): Promise<Session<any>> {\n await controller.init();\n const { tags, scope } = options ?? {};\n // Scoped sessions are independent sessions over the same resource (e.g. one\n // per git worktree), so qualify the stable session id with the scope to keep\n // their identities distinct as well.\n const id = scope ? `${resourceId}::${scope}` : resourceId;\n return controller.createSession({ resourceId, id, ownerId: controller.id, tags, scope });\n}\n\n// ---------------------------------------------------------------------------\n// Schemas\n// ---------------------------------------------------------------------------\n\nconst controllerIdPathParams = z.object({ controllerId: z.string() });\nconst sessionPathParams = z.object({ controllerId: z.string(), resourceId: z.string() });\n/**\n * Optional session scope (mirrors `AgentController.createSession`'s `scope`):\n * requests with the same resourceId but different scopes address independent\n * sessions (e.g. one per git worktree). Sent as a `sessionScope` query param\n * on session routes; named to avoid colliding with the model-switch `scope`.\n */\nconst sessionScopeQuerySchema = z.object({ sessionScope: z.string().optional() });\n\nconst createSessionBodySchema = z.object({\n resourceId: z.string(),\n tags: z.record(z.string(), z.string()).optional(),\n sessionScope: z.string().optional(),\n});\n// Server-side attachment limits mirroring the web composer caps (10MB per\n// file, 20MB total), adjusted for base64 overhead (~4/3x).\nconst MAX_FILE_DATA_LENGTH = 14 * 1024 * 1024;\nconst MAX_TOTAL_FILE_DATA_LENGTH = 28 * 1024 * 1024;\n/**\n * Optional client-supplied request context, merged into the server-derived\n * request context by the adapter context middleware (reserved keys are\n * server-controlled). Declared on run-triggering body schemas so the OpenAPI\n * spec documents it.\n */\nconst bodyRequestContextSchema = z.record(z.string(), z.any()).optional();\n\nconst sendMessageBodySchema = z.object({\n message: z.string(),\n requestContext: bodyRequestContextSchema,\n // Optional attachments (e.g. pasted images). `data` is base64-encoded.\n files: z\n .array(\n z.object({\n data: z.string().max(MAX_FILE_DATA_LENGTH),\n mediaType: z.string(),\n filename: z.string().optional(),\n }),\n )\n .max(20)\n .refine(files => files.reduce((total, file) => total + file.data.length, 0) <= MAX_TOTAL_FILE_DATA_LENGTH, {\n message: 'Total attachment size exceeds limit',\n })\n .optional(),\n});\nconst steerBodySchema = z.object({ message: z.string(), requestContext: bodyRequestContextSchema });\nconst toolApprovalBodySchema = z.object({\n toolCallId: z.string(),\n approved: z.boolean(),\n requestContext: bodyRequestContextSchema,\n});\nconst toolSuspensionBodySchema = z.object({\n toolCallId: z.string(),\n // Free-form resume payload. For ask_user this is a string (or string[] for\n // multi-select); for submit_plan it's `{ action, feedback? }`; for\n // request_access it's \"Yes\"/\"No\".\n resumeData: z.any(),\n requestContext: bodyRequestContextSchema,\n});\nconst switchModeBodySchema = z.object({ modeId: z.string() });\nconst switchModelBodySchema = z.object({\n modelId: z.string(),\n scope: z.enum(['global', 'thread']).optional(),\n modeId: z.string().optional(),\n});\nconst switchThreadBodySchema = z.object({ threadId: z.string() });\nconst createThreadBodySchema = z.object({ title: z.string().optional() });\nconst renameThreadBodySchema = z.object({ title: z.string() });\nconst threadPathParams = z.object({ controllerId: z.string(), resourceId: z.string(), threadId: z.string() });\nconst cloneThreadBodySchema = z.object({\n sourceThreadId: z.string().optional(),\n title: z.string().optional(),\n});\nconst listMessagesQuerySchema = z.object({ limit: z.coerce.number().optional(), sessionScope: z.string().optional() });\n/**\n * `tags` arrives as a JSON-encoded object in the query string (query params are\n * flat strings). It scopes the listing to threads whose metadata matches every\n * tag — e.g. `{ projectPath }` so git worktrees sharing a resourceId each see\n * only their own threads. Malformed JSON is treated as \"no filter\".\n */\nconst listThreadsQuerySchema = z.object({\n limit: z.coerce.number().optional(),\n sessionScope: z.string().optional(),\n tags: z\n .preprocess(value => {\n if (typeof value !== 'string' || value.length === 0) return undefined;\n try {\n return JSON.parse(value);\n } catch {\n return undefined;\n }\n }, z.record(z.string(), z.string()).optional())\n .optional(),\n});\nconst followUpBodySchema = z.object({ message: z.string(), requestContext: bodyRequestContextSchema });\n\nconst sendNotificationBodySchema = z.object({\n source: z.string(),\n kind: z.string(),\n summary: z.string(),\n priority: z.enum(['low', 'medium', 'high', 'urgent']).optional(),\n payload: z.any().optional(),\n sourceId: z.string().optional(),\n dedupeKey: z.string().optional(),\n coalesceKey: z.string().optional(),\n attributes: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst listAgentControllersResponseSchema = z.object({\n agentControllers: z.array(z.object({ id: z.string() })),\n});\nconst createSessionResponseSchema = z.object({\n controllerId: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n});\nconst ackResponseSchema = z.object({ ok: z.boolean() });\n/**\n * Status-line relevant slice of the session's observational-memory progress.\n * Mirrors the TUI status line: `msg pending/threshold ↓removal` (the active\n * message window before an observation fires) and `mem observed/reflection\n * ↓savings` (accumulated observations before a reflection fires).\n */\nconst omProgressSummarySchema = z.object({\n status: z.string(),\n pendingTokens: z.number(),\n threshold: z.number(),\n thresholdPercent: z.number(),\n observationTokens: z.number(),\n reflectionThreshold: z.number(),\n reflectionThresholdPercent: z.number(),\n /** Tokens the next observation will remove from the message window. */\n projectedMessageRemoval: z.number(),\n /** Tokens the next reflection is projected to save. */\n projectedReflectionSavings: z.number(),\n});\nconst sessionSettingsSchema = z.object({\n yolo: z.boolean(),\n thinkingLevel: z.enum(['off', 'low', 'medium', 'high', 'xhigh']),\n notifications: z.enum(['off', 'bell', 'system', 'both']),\n smartEditing: z.boolean(),\n});\nconst sessionStateResponseSchema = z.object({\n controllerId: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n modeId: z.string(),\n modelId: z.string(),\n /** Whether the agent is currently executing a run (for initial UI hydration). */\n running: z.boolean().optional(),\n omProgress: omProgressSummarySchema.optional(),\n tokenUsage: z.record(z.string(), z.unknown()).optional(),\n settings: sessionSettingsSchema.optional(),\n});\nconst listModesResponseSchema = z.object({\n modes: z.array(z.object({ id: z.string(), name: z.string().optional() })),\n});\nconst listThreadsResponseSchema = z.object({\n threads: z.array(\n z.object({\n id: z.string(),\n title: z.string().optional(),\n updatedAt: z.string().optional(),\n /** The session scoping tags stamped on this thread (e.g. `{ projectPath }`). */\n tags: z.record(z.string(), z.string()).optional(),\n /** Whether a run is currently executing on this thread ('active') or not ('idle'). */\n state: z.enum(['active', 'idle']).optional(),\n }),\n ),\n});\nconst threadResponseSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n resourceId: z.string().optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n});\nconst messagePartSchema = z\n .object({\n type: z.string(),\n })\n .passthrough();\n// Mirrors the persisted `MastraMessageContentV2` shape (AI-SDK-v4 `UIMessage`-style):\n// `format: 2` plus a nested `parts` array, with optional companion fields preserved.\nconst messageContentV2Schema = z\n .object({\n format: z.literal(2),\n parts: z.array(messagePartSchema),\n })\n .passthrough();\nconst listMessagesResponseSchema = z.object({\n messages: z.array(\n z.object({\n id: z.string(),\n role: z.enum(['user', 'assistant', 'system', 'tool', 'signal']),\n content: messageContentV2Schema,\n createdAt: z.string().optional(),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n type: z.string().optional(),\n }),\n ),\n});\nconst listModelsResponseSchema = z.object({\n models: z.array(\n z.object({\n id: z.string(),\n provider: z.string(),\n modelName: z.string(),\n hasApiKey: z.boolean(),\n useCount: z.number(),\n }),\n ),\n});\nconst workspaceStatusResponseSchema = z.object({\n hasWorkspace: z.boolean(),\n isReady: z.boolean(),\n});\nconst omRecordResponseSchema = z.object({\n record: z.any().optional(),\n});\nconst permissionPolicyEnum = z.enum(['allow', 'ask', 'deny']);\nconst toolCategoryEnum = z.enum(['read', 'edit', 'execute', 'mcp', 'other']);\nconst permissionRulesResponseSchema = z.object({\n categories: z.record(z.string(), permissionPolicyEnum).optional(),\n tools: z.record(z.string(), permissionPolicyEnum).optional(),\n});\nconst setCategoryPermissionBodySchema = z.object({\n category: toolCategoryEnum,\n policy: permissionPolicyEnum,\n});\nconst setToolPermissionBodySchema = z.object({\n toolName: z.string(),\n policy: permissionPolicyEnum,\n});\n\n// ---------------------------------------------------------------------------\n// Routes\n// ---------------------------------------------------------------------------\n\nexport const LIST_AGENT_CONTROLLERS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller',\n responseType: 'json' as const,\n responseSchema: listAgentControllersResponseSchema,\n summary: 'List agent controllers',\n description: 'Lists the agent controllers hosted on this Mastra instance.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra }) => {\n try {\n const ids = new Set<string>();\n if (mastra.listAgentControllers) {\n for (const id of Object.keys(mastra.listAgentControllers())) ids.add(id);\n }\n return { agentControllers: Array.from(ids).map(id => ({ id })) };\n } catch (error) {\n return handleError(error, 'error listing agent controllers');\n }\n },\n});\n\nexport const CREATE_AGENT_CONTROLLER_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions',\n responseType: 'json' as const,\n pathParamSchema: controllerIdPathParams,\n bodySchema: createSessionBodySchema,\n responseSchema: createSessionResponseSchema,\n summary: 'Create or resume a controller session',\n description:\n 'Creates a session for the given resourceId, or returns the existing one (get-or-create), so reconnects resume the conversation.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, tags }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { tags, scope: sessionScope });\n return {\n controllerId,\n resourceId,\n threadId: session.thread.getId() ?? undefined,\n };\n } catch (error) {\n return handleError(error, 'error creating controller session');\n }\n },\n});\n\n/**\n * Session `error` events carry an `Error` instance whose `message`/`name` are\n * non-enumerable, so JSON serialization in the SSE adapter would send\n * `\"error\": {}` and clients could only render a generic \"Error\". Flatten the\n * Error into a plain object so the actual failure reaches the client.\n */\nfunction toWireEvent(event: unknown): unknown {\n if (\n typeof event === 'object' &&\n event !== null &&\n (event as { type?: unknown }).type === 'error' &&\n (event as { error?: unknown }).error instanceof Error\n ) {\n const error = (event as { error: Error }).error;\n return { ...event, error: { name: error.name, message: error.message } };\n }\n return event;\n}\n\nexport const STREAM_AGENT_CONTROLLER_SESSION_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n sseFlushOnConnect: true,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n summary: 'Stream controller session events',\n description: 'Subscribes to a session\\u2019s event bus and streams events to the client over SSE.',\n tags: ['AgentController', 'Streaming'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, abortSignal }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n\n let cleanedUp = false;\n let heartbeat: ReturnType<typeof setTimeout> | undefined;\n let unsubscribe: (() => void) | undefined;\n const clearHeartbeat = () => {\n if (heartbeat) {\n clearTimeout(heartbeat);\n heartbeat = undefined;\n }\n };\n const cleanup = (controller?: ReadableStreamDefaultController) => {\n if (cleanedUp) return;\n cleanedUp = true;\n clearHeartbeat();\n unsubscribe?.();\n if (controller) {\n try {\n controller.close();\n } catch {}\n }\n };\n\n // The stream yields raw event objects plus `:`-prefixed SSE comments\n // (heartbeats); the server adapter frames events and passes comments\n // through verbatim.\n return new ReadableStream<unknown>({\n start(controller) {\n const scheduleHeartbeat = () => {\n if (cleanedUp) return;\n clearHeartbeat();\n heartbeat = setTimeout(() => {\n heartbeat = undefined;\n if (cleanedUp) return;\n try {\n controller.enqueue(': heartbeat\\n\\n');\n } catch {\n cleanup();\n return;\n }\n scheduleHeartbeat();\n }, 25_000);\n };\n\n unsubscribe = session.subscribe(event => {\n if (cleanedUp) return;\n try {\n // Enqueue the raw event object. The server adapter is responsible\n // for SSE framing (`data: <json>\\n\\n`); enqueuing a pre-framed\n // string here would double-encode it.\n controller.enqueue(toWireEvent(event));\n scheduleHeartbeat();\n } catch {\n cleanup();\n }\n });\n\n const abortCleanup = () => cleanup(controller);\n abortSignal?.addEventListener('abort', abortCleanup, { once: true });\n scheduleHeartbeat();\n },\n cancel() {\n cleanup();\n },\n });\n } catch (error) {\n return handleError(error, 'error streaming controller session');\n }\n },\n});\n\nexport const SEND_AGENT_CONTROLLER_MESSAGE_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/messages',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: sendMessageBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Send a message to a controller session',\n description: 'Sends a user message to the session. The reply streams as events on the session\\u2019s SSE stream.',\n tags: ['AgentController', 'Streaming'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, message, files, requestContext }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n // Forward the server middleware's requestContext so identity injected in\n // `server.middleware` reaches dynamic instructions and tools (same as the\n // plain agent message route).\n void session.sendMessage({ content: message, files, requestContext });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error sending controller message');\n }\n },\n});\n\nexport const ABORT_AGENT_CONTROLLER_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/abort',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: ackResponseSchema,\n summary: 'Abort a controller session run',\n description: 'Aborts the in-flight run for the session, if any.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n session.abort();\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error aborting controller session');\n }\n },\n});\n\nexport const AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/tool-approval',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: toolApprovalBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Respond to a controller tool approval',\n description: 'Approves or declines a pending tool call surfaced by the session.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, toolCallId, approved, requestContext }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n // Resolve the parked approval gate so the session's own run loop drives the\n // continuation and emits its events to subscribers (the open SSE stream).\n // Calling approveToolCall/declineToolCall directly would bypass the gate,\n // leaving the run loop hung and duplicating the resumed stream.\n // Pass toolCallId so a stale request cannot resolve a different pending gate.\n session.respondToToolApproval({ toolCallId, decision: approved ? 'approve' : 'decline', requestContext });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error responding to controller tool approval');\n }\n },\n});\n\nexport const AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/tool-suspension',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: toolSuspensionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Respond to a suspended controller tool',\n description:\n 'Resumes a suspended interactive tool (ask_user, request_access, submit_plan) with the provided resume data.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, toolCallId, resumeData, requestContext }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.respondToToolSuspension({ toolCallId, resumeData, requestContext });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error responding to controller tool suspension');\n }\n },\n});\n\nexport const STEER_AGENT_CONTROLLER_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/steer',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: steerBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Steer the in-flight run',\n description: 'Injects a message into the running turn (interjection) without starting a new run.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, message, requestContext }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n void session.steer({ content: message, requestContext });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error steering controller session');\n }\n },\n});\n\nexport const SWITCH_AGENT_CONTROLLER_MODE_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/mode',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: switchModeBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session mode',\n description: 'Switches the active mode (e.g. build, plan) for the session.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, modeId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.mode.switch({ modeId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching controller mode');\n }\n },\n});\n\nexport const SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/model',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: switchModelBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session model',\n description: 'Switches the model for the session, scoped to the thread by default.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, modelId, scope, modeId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.model.switch({ modelId, scope, modeId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching controller model');\n }\n },\n});\n\nexport const SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/thread',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: switchThreadBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session thread',\n description: 'Switches the session to an existing thread (rebinding its stream and state).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n if (session.thread.getId() !== threadId) {\n await session.thread.switch({ threadId });\n }\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching controller thread');\n }\n },\n});\n\nexport const GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: sessionStateResponseSchema,\n summary: 'Get session state',\n description: 'Returns the current mode, model, and thread for the session (for initial UI hydration).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const ds = session.displayState.get();\n const om = ds.omProgress;\n const reflectionSavings =\n om.buffered.reflection.inputObservationTokens - om.buffered.reflection.observationTokens;\n const st = session.state.get() as Record<string, unknown>;\n const oneOf = <T extends string>(value: unknown, allowed: readonly T[], fallback: T): T =>\n allowed.includes(value as T) ? (value as T) : fallback;\n return {\n controllerId,\n resourceId,\n threadId: session.thread.getId() ?? undefined,\n modeId: session.mode.get(),\n modelId: session.model.get(),\n running: ds.isRunning === true,\n omProgress: {\n status: om.status,\n pendingTokens: om.pendingTokens,\n threshold: om.threshold,\n thresholdPercent: om.thresholdPercent,\n observationTokens: om.observationTokens,\n reflectionThreshold: om.reflectionThreshold,\n reflectionThresholdPercent: om.reflectionThresholdPercent,\n projectedMessageRemoval: om.buffered.observations.projectedMessageRemoval,\n projectedReflectionSavings: reflectionSavings > 0 ? reflectionSavings : 0,\n },\n tokenUsage: ds.tokenUsage as unknown as Record<string, unknown>,\n settings: {\n yolo: st.yolo === true,\n thinkingLevel: oneOf(st.thinkingLevel, ['off', 'low', 'medium', 'high', 'xhigh'] as const, 'off'),\n notifications: oneOf(st.notifications, ['off', 'bell', 'system', 'both'] as const, 'off'),\n smartEditing: st.smartEditing !== false,\n },\n };\n } catch (error) {\n return handleError(error, 'error reading controller session state');\n }\n },\n});\n\nexport const LIST_AGENT_CONTROLLER_MODES_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/modes',\n responseType: 'json' as const,\n pathParamSchema: controllerIdPathParams,\n responseSchema: listModesResponseSchema,\n summary: 'List controller modes',\n description: 'Lists the modes configured on the controller (e.g. build, plan).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n return {\n modes: controller.listModes().map(mode => ({ id: mode.id, name: mode.name })),\n };\n } catch (error) {\n return handleError(error, 'error listing controller modes');\n }\n },\n});\n\nexport const LIST_AGENT_CONTROLLER_THREADS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: listThreadsQuerySchema,\n responseSchema: listThreadsResponseSchema,\n summary: 'List session threads',\n description:\n 'Lists the threads for the session\\u2019s resource, most-recently-updated first. Pass `limit` to return only the newest N (e.g. for a sidebar). Pass `tags` (a JSON-encoded object) to scope the list to threads matching every tag \\u2014 e.g. `{ projectPath }` so git worktrees sharing a resourceId each see only their own threads.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, limit, tags }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const threads = await session.thread.list();\n // A thread's metadata mixes the session scoping tags (stamped at creation,\n // e.g. `projectPath`) with internal session bookkeeping that\n // `Session.loadMetadata()` reads back (selected model/mode, observer/\n // reflector config, token usage). Return only the string-valued scoping\n // tags, skipping reserved internal keys so they never leak out as \"tags\"\n // or become matchable via the `tags` filter.\n const getTags = (t: { metadata?: unknown }): Record<string, string> => {\n const metadata = (t.metadata as Record<string, unknown> | undefined) ?? {};\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(metadata)) {\n if (typeof value === 'string' && !isReservedThreadMetadataKey(key)) result[key] = value;\n }\n return result;\n };\n // A single resourceId can be shared across git worktrees of the same repo\n // (the id is derived from the git URL). When tags are supplied, scope to\n // threads whose metadata matches every tag and drop the rest, so worktree A\n // never shows worktree B's threads. Mirrors the controller's tag-aware\n // selection and the TUI's worktree-strict listing. Reserved internal keys\n // are ignored as filter tags so callers can't match on session bookkeeping.\n const tagEntries = tags ? Object.entries(tags).filter(([key]) => !isReservedThreadMetadataKey(key)) : [];\n const scoped =\n tagEntries.length > 0\n ? threads.filter(t => {\n const metadata = (t.metadata as Record<string, unknown> | undefined) ?? {};\n return tagEntries.every(([key, value]) => metadata[key] === value);\n })\n : threads;\n const toTime = (t: { updatedAt?: Date; createdAt?: Date }) => (t.updatedAt ?? t.createdAt)?.getTime() ?? 0;\n const sorted = [...scoped].sort((a, b) => toTime(b) - toTime(a));\n const max = Number(limit);\n const limited = Number.isFinite(max) && max > 0 ? sorted.slice(0, max) : sorted;\n // Thread run state comes from the agent thread-stream runtime (the same\n // per-thread active/idle tracking the signals `ifIdle` path uses). It is\n // keyed by resourceId + threadId, so it covers runs started by any\n // session on this resource — including sessions scoped to other git\n // worktrees — letting one listing report activity across all of them.\n const agent = controller.getCurrentAgent(session);\n return {\n threads: limited.map(t => {\n const threadTags = getTags(t);\n return {\n id: t.id,\n title: t.title,\n tags: Object.keys(threadTags).length > 0 ? threadTags : undefined,\n updatedAt: t.updatedAt instanceof Date ? t.updatedAt.toISOString() : undefined,\n state: agent.getActiveThreadRunId({ resourceId, threadId: t.id }) ? ('active' as const) : ('idle' as const),\n };\n }),\n };\n } catch (error) {\n return handleError(error, 'error listing controller threads');\n }\n },\n});\n\nexport const SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/notifications',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: sendNotificationBodySchema,\n responseSchema: z.object({\n accepted: z.boolean(),\n notificationId: z.string().optional(),\n decision: z.string().optional(),\n runId: z.string().optional(),\n }),\n summary: 'Send a notification signal to a session',\n description:\n 'Delivers a notification to the session\\u2019s current agent/thread. The agent\\u2019s delivery policy determines whether the notification wakes an idle thread, is summarised, or is persisted for later.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({\n mastra,\n controllerId,\n resourceId,\n sessionScope,\n source,\n kind,\n summary,\n priority,\n payload,\n sourceId,\n dedupeKey,\n coalesceKey,\n attributes,\n metadata,\n }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const result = await session.sendNotificationSignal({\n source,\n kind,\n summary,\n priority,\n payload,\n sourceId,\n dedupeKey,\n coalesceKey,\n attributes: attributes as Record<string, string | number | boolean | null | undefined> | undefined,\n metadata,\n });\n return {\n accepted: result.accepted !== undefined,\n notificationId: result.record?.id,\n decision: result.decision?.action,\n runId: result.runId,\n };\n } catch (error) {\n return handleError(error, 'error sending controller notification');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Thread lifecycle\n// ---------------------------------------------------------------------------\n\nexport const CREATE_AGENT_CONTROLLER_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: createThreadBodySchema,\n responseSchema: threadResponseSchema,\n summary: 'Create a new thread',\n description: 'Creates a new thread in the session (unbinds the previous thread, binds the new one).',\n tags: ['AgentController', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, title }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const thread = await session.thread.create({ title });\n return {\n id: thread.id,\n title: thread.title,\n resourceId: thread.resourceId,\n createdAt: thread.createdAt instanceof Date ? thread.createdAt.toISOString() : undefined,\n updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : undefined,\n };\n } catch (error) {\n return handleError(error, 'error creating controller thread');\n }\n },\n});\n\nexport const DELETE_AGENT_CONTROLLER_THREAD_ROUTE = createRoute({\n method: 'DELETE',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: ackResponseSchema,\n summary: 'Delete a thread',\n description: 'Deletes a thread. If the deleted thread is the active one, the session is unbound.',\n tags: ['AgentController', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.thread.delete({ threadId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error deleting controller thread');\n }\n },\n});\n\nexport const RENAME_AGENT_CONTROLLER_THREAD_ROUTE = createRoute({\n method: 'PUT',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: renameThreadBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Rename a thread',\n description: 'Renames the specified thread.',\n tags: ['AgentController', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId, title }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n // Ensure the thread is the active one (switch if not)\n if (session.thread.getId() !== threadId) {\n await session.thread.switch({ threadId });\n }\n await session.thread.rename({ title });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error renaming controller thread');\n }\n },\n});\n\nexport const CLONE_AGENT_CONTROLLER_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads/clone',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: cloneThreadBodySchema,\n responseSchema: threadResponseSchema,\n summary: 'Clone a thread',\n description: 'Clones a thread (and its messages). The session binds to the new clone.',\n tags: ['AgentController', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, sourceThreadId, title }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const thread = await session.thread.clone({ sourceThreadId, title });\n return {\n id: thread.id,\n title: thread.title,\n resourceId: thread.resourceId,\n createdAt: thread.createdAt instanceof Date ? thread.createdAt.toISOString() : undefined,\n updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : undefined,\n };\n } catch (error) {\n return handleError(error, 'error cloning controller thread');\n }\n },\n});\n\nexport const LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId/messages',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n queryParamSchema: listMessagesQuerySchema,\n responseSchema: listMessagesResponseSchema,\n summary: 'List thread messages',\n description: 'Lists messages for a specific thread. Returns most recent messages first.',\n tags: ['AgentController', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId, limit }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const messages = await session.thread.listMessages({ threadId, limit });\n return {\n messages: messages.map(m => ({\n id: m.id,\n role: m.role,\n content: m.content as { format: 2; parts: Array<{ type: string; [key: string]: unknown }> },\n createdAt: m.createdAt instanceof Date ? m.createdAt.toISOString() : undefined,\n threadId: m.threadId,\n resourceId: m.resourceId,\n type: m.type,\n })),\n };\n } catch (error) {\n return handleError(error, 'error listing controller thread messages');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Follow-up\n// ---------------------------------------------------------------------------\n\nexport const FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/follow-up',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: followUpBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Queue a follow-up message',\n description:\n 'Queues a follow-up message. If the session is idle it sends immediately; if a run is active it queues for after completion.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, message, requestContext }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n void session.followUp({ content: message, requestContext });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error queuing controller follow-up');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Models\n// ---------------------------------------------------------------------------\n\nexport const LIST_AGENT_CONTROLLER_MODELS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/models',\n responseType: 'json' as const,\n pathParamSchema: controllerIdPathParams,\n responseSchema: listModelsResponseSchema,\n summary: 'List available models',\n description: 'Lists all models available on this controller (with auth status and use counts).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n await controller.init();\n const models = await controller.listAvailableModels();\n return {\n models: models.map(m => ({\n id: m.id,\n provider: m.provider,\n modelName: m.modelName,\n hasApiKey: m.hasApiKey,\n useCount: m.useCount,\n })),\n };\n } catch (error) {\n return handleError(error, 'error listing controller models');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Workspace status\n// ---------------------------------------------------------------------------\n\nexport const GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/workspace',\n responseType: 'json' as const,\n pathParamSchema: controllerIdPathParams,\n responseSchema: workspaceStatusResponseSchema,\n summary: 'Get workspace status',\n description: 'Returns whether the controller has a workspace configured and whether it is ready.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n await controller.init();\n return {\n hasWorkspace: controller.hasWorkspace(),\n isReady: controller.isWorkspaceReady(),\n };\n } catch (error) {\n return handleError(error, 'error reading controller workspace status');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Observational Memory\n// ---------------------------------------------------------------------------\n\nexport const GET_AGENT_CONTROLLER_OM_RECORD_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/om',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: omRecordResponseSchema,\n summary: 'Get observational memory record',\n description: 'Returns the current observational memory record for the session\\u2019s thread/resource.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const record = await controller.getObservationalMemoryRecord(session);\n return { record: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error reading controller OM record');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Resource identity\n// ---------------------------------------------------------------------------\n\nexport const SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/resource',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: z.object({ newResourceId: z.string() }),\n responseSchema: ackResponseSchema,\n summary: 'Change the session resource ID',\n description: 'Updates the session\\u2019s resource identity (e.g. when a user logs in).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, newResourceId }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await controller.setResourceId(session, { resourceId: newResourceId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting controller resource ID');\n }\n },\n});\n\nexport const GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/resources',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: z.object({ resourceIds: z.array(z.string()) }),\n summary: 'Get known resource IDs',\n description: 'Lists the resource IDs known to this session (from threads).',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const resourceIds = await controller.getKnownResourceIds(session);\n return { resourceIds };\n } catch (error) {\n return handleError(error, 'error listing controller resource IDs');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Goals\n// ---------------------------------------------------------------------------\n\nconst setGoalBodySchema = z.object({\n objective: z.string(),\n judgeModelId: z.string().optional(),\n maxRuns: z.number().optional(),\n});\nconst updateGoalBodySchema = z.object({\n judgeModelId: z.string().optional(),\n maxRuns: z.number().optional(),\n status: z.enum(['active', 'paused', 'done']).optional(),\n});\nconst goalRecordSchema = z.object({\n id: z.string().optional(),\n objective: z.string(),\n status: z.enum(['active', 'paused', 'done']),\n runsUsed: z.number(),\n maxRuns: z.number().optional(),\n judgeModelId: z.string().optional(),\n startedAt: z.number(),\n updatedAt: z.number(),\n pausedReason: z.string().optional(),\n});\nconst goalResponseSchema = z.object({ goal: goalRecordSchema.optional() });\n\nfunction getAgentForSession(controller: AgentController<any>, session: Session<any>): Agent {\n return controller.getCurrentAgent(session);\n}\n\nexport const GET_AGENT_CONTROLLER_GOAL_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: goalResponseSchema,\n summary: 'Get the current goal',\n description: 'Returns the active/paused/done goal objective for the session\\u2019s thread, if any.',\n tags: ['AgentController', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const threadId = session.thread.getId();\n if (!threadId) return { goal: undefined };\n const agent = getAgentForSession(controller, session);\n const record = await agent.getObjective({ threadId });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error reading controller goal');\n }\n },\n});\n\nexport const SET_AGENT_CONTROLLER_GOAL_ROUTE = createRoute({\n method: 'POST',\n path: '/agent-controller/:controllerId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: setGoalBodySchema,\n responseSchema: goalResponseSchema,\n summary: 'Set a goal',\n description:\n 'Sets a new objective for the session\\u2019s thread. The agent\\u2019s in-loop goal judge evaluates progress after each turn.',\n tags: ['AgentController', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, objective, judgeModelId, maxRuns }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(controller, session);\n const record = await agent.setObjective(objective, {\n threadId,\n resourceId: session.identity.getResourceId(),\n ...(judgeModelId ? { judgeModelId } : {}),\n ...(maxRuns != null ? { maxRuns } : {}),\n });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error setting controller goal');\n }\n },\n});\n\nexport const UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = createRoute({\n method: 'PUT',\n path: '/agent-controller/:controllerId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: updateGoalBodySchema,\n responseSchema: goalResponseSchema,\n summary: 'Update goal options',\n description: 'Updates the judge model, max runs, or status of the active goal. No-op when no goal is set.',\n tags: ['AgentController', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, judgeModelId, maxRuns, status }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(controller, session);\n const record = await agent.updateObjectiveOptions({\n threadId,\n ...(judgeModelId !== undefined ? { judgeModelId } : {}),\n ...(maxRuns !== undefined ? { maxRuns } : {}),\n ...(status !== undefined ? { status } : {}),\n });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error updating controller goal');\n }\n },\n});\n\nexport const CLEAR_AGENT_CONTROLLER_GOAL_ROUTE = createRoute({\n method: 'DELETE',\n path: '/agent-controller/:controllerId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: ackResponseSchema,\n summary: 'Clear the goal',\n description: 'Removes the active goal from the session\\u2019s thread.',\n tags: ['AgentController', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(controller, session);\n await agent.clearObjective({ threadId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error clearing controller goal');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Permissions\n// ---------------------------------------------------------------------------\n\nexport const GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/agent-controller/:controllerId/sessions/:resourceId/permissions',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n responseSchema: permissionRulesResponseSchema,\n summary: 'Get permission rules',\n description: 'Returns the current permission rules (per-category and per-tool policies) for the session.',\n tags: ['AgentController', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:read',\n handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n const rules = session.permissions.getRules();\n return {\n categories: rules.categories as Record<string, 'allow' | 'ask' | 'deny'> | undefined,\n tools: rules.tools as Record<string, 'allow' | 'ask' | 'deny'> | undefined,\n };\n } catch (error) {\n return handleError(error, 'error getting controller permissions');\n }\n },\n});\n\nexport const SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE = createRoute({\n method: 'PUT',\n path: '/agent-controller/:controllerId/sessions/:resourceId/permissions/category',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: setCategoryPermissionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set permission for a tool category',\n description: 'Sets the approval policy (allow/ask/deny) for all tools in a category.',\n tags: ['AgentController', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, category, policy }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.permissions.setForCategory({ category, policy });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting controller category permission');\n }\n },\n});\n\nexport const SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE = createRoute({\n method: 'PUT',\n path: '/agent-controller/:controllerId/sessions/:resourceId/permissions/tool',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: setToolPermissionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set permission for a specific tool',\n description:\n 'Sets the approval policy (allow/ask/deny) for a specific tool by name. Per-tool overrides take precedence over category policies.',\n tags: ['AgentController', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, toolName, policy }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.permissions.setForTool({ toolName, policy });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting controller tool permission');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Session State\n// ---------------------------------------------------------------------------\n\nconst setSessionStateBodySchema = z.object({ state: z.record(z.string(), z.unknown()) });\n\nexport const SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = createRoute({\n method: 'PUT',\n path: '/agent-controller/:controllerId/sessions/:resourceId/state',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: sessionScopeQuerySchema,\n bodySchema: setSessionStateBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set session state',\n description:\n 'Merges the provided key-value pairs into the session state. Existing keys not in the payload are preserved.',\n tags: ['AgentController'],\n requiresAuth: true,\n requiresPermission: 'agent-controller:execute',\n handler: async ({ mastra, controllerId, resourceId, sessionScope, state }) => {\n try {\n const controller = getAgentControllerOrThrow(mastra, controllerId);\n const session = await getSession(controller, resourceId, { scope: sessionScope });\n await session.state.set(state as Record<string, unknown>);\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting controller session state');\n }\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/schemas/agents.ts"],"names":[],"mappings":"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","file":"chunk-HVOQ7C45.js","sourcesContent":["import { z } from 'zod/v4';\nimport { tracingOptionsSchema, coreMessageSchema, messageResponseSchema } from './common';\nimport { defaultOptionsSchema } from './default-options';\n\nexport {\n generateSpeechBodySchema,\n getListenerResponseSchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n voiceSpeakersResponseSchema,\n} from '@internal/voice/routes';\n\ntype JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(jsonValueSchema),\n z.record(z.string(), jsonValueSchema),\n ]),\n);\nconst jsonRecordSchema = z.record(z.string(), jsonValueSchema);\n\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null(), z.undefined()]),\n);\n\nconst baseSignalSchema = z.object({\n id: z.string().optional(),\n createdAt: z.union([z.string(), z.date()]).optional(),\n metadata: jsonRecordSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\nconst partProviderOptionsSchema = z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional();\n\nconst signalTextPartSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst signalFilePartSchema = z.object({\n type: z.literal('file'),\n data: z.string(),\n mediaType: z.string(),\n filename: z.string().optional(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst userMessageSignalContentsSchema = z.union([\n z.string(),\n z.array(z.union([signalTextPartSchema, signalFilePartSchema])),\n]);\n\nconst agentMessageInputObjectSchema = z.object({\n contents: userMessageSignalContentsSchema,\n attributes: signalAttributesSchema.optional(),\n metadata: jsonRecordSchema.optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\nconst agentMessageInputSchema = z.union([userMessageSignalContentsSchema, agentMessageInputObjectSchema]);\n\nconst agentSignalSchema = baseSignalSchema.extend({\n type: z.enum(['user', 'state', 'reactive', 'notification', 'user-message', 'system-reminder']),\n tagName: z.string().optional(),\n contents: userMessageSignalContentsSchema,\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\n// Path parameter schemas\nexport const agentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * Query params for GET /agents/:agentId — controls which stored config version is used for overrides.\n * Use either `status` or `versionId`, not both.\n * - `status` — 'draft' (latest version, default) or 'published' (active published version).\n * - `versionId` — Resolve with a specific version ID.\n */\nexport const agentVersionQuerySchema = z.object({\n status: z\n .enum(['draft', 'published'])\n .optional()\n .describe(\n 'Which stored config version to resolve: draft (latest, default) or published (active version). Mutually exclusive with versionId.',\n ),\n versionId: z\n .string()\n .optional()\n .describe(\n 'Specific version ID to resolve. Mutually exclusive with status — if both are provided, versionId takes precedence.',\n ),\n});\n\nexport const toolIdPathParams = z.object({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentToolPathParams = agentIdPathParams.extend({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentSkillPathParams = agentIdPathParams.extend({\n skillName: z.string().describe('Name of the skill'),\n});\n\nexport const modelConfigIdPathParams = agentIdPathParams.extend({\n modelConfigId: z.string().describe('Unique identifier for the model configuration'),\n});\n\n/**\n * Schema for serialized processor metadata\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\n\n/**\n * Schema for serialized tool with JSON schemas\n * Uses passthrough() to allow additional tool properties beyond core fields\n */\nexport const serializedToolSchema = z.object({\n id: z.string(),\n description: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n requireApproval: z.boolean().optional(),\n});\n\n/**\n * Schema for serialized workflow with steps\n */\nexport const serializedWorkflowSchema = z.object({\n name: z.string(),\n steps: z\n .record(\n z.string(),\n z.object({\n id: z.string(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n});\n\n/**\n * Schema for serialized agent definition (referenced by other agents)\n */\nexport const serializedAgentDefinitionSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Schema for SystemMessage type\n * Can be string, string[], or various message objects\n */\nconst systemMessageSchema = z.union([\n z.string(),\n z.array(z.string()),\n z.any(), // CoreSystemMessage or SystemModelMessage\n z.array(z.any()),\n]);\n\n/**\n * Schema for model configuration in model list\n */\nconst modelConfigSchema = z.object({\n model: z.object({\n modelId: z.string(),\n provider: z.string(),\n modelVersion: z.string(),\n }),\n // Additional fields from AgentModelManagerConfig can be added here\n});\n\nconst agentEditorConfigSchema = z.union([\n z.literal(false),\n z.object({\n instructions: z.boolean().optional(),\n tools: z.union([z.boolean(), z.object({ description: z.boolean().optional() })]).optional(),\n }),\n]);\n\n/**\n * Main schema for serialized agent representation\n */\nexport const serializedAgentSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n instructions: systemMessageSchema.optional(),\n tools: z.record(z.string(), serializedToolSchema),\n agents: z.record(z.string(), serializedAgentDefinitionSchema),\n workflows: z.record(z.string(), serializedWorkflowSchema),\n inputProcessors: z.array(serializedProcessorSchema),\n outputProcessors: z.array(serializedProcessorSchema),\n provider: z.string().optional(),\n modelId: z.string().optional(),\n modelVersion: z.string().optional(),\n supportsMemory: z.boolean().optional(),\n modelList: z.array(modelConfigSchema).optional(),\n defaultOptions: defaultOptionsSchema.optional(),\n defaultGenerateOptionsLegacy: z.record(z.string(), z.any()).optional(),\n defaultStreamOptionsLegacy: z.record(z.string(), z.any()).optional(),\n source: z.enum(['code', 'stored', 'fs']).optional(),\n status: z.enum(['draft', 'published', 'archived']).optional(),\n activeVersionId: z.string().optional(),\n hasDraft: z.boolean().optional(),\n editor: agentEditorConfigSchema.optional(),\n});\n\n/**\n * Schema for agent with ID\n */\nexport const serializedAgentWithIdSchema = serializedAgentSchema.extend({\n id: z.string(),\n});\n\n/**\n * Schema for individual provider information\n */\nexport const providerSchema = z.object({\n id: z.string(),\n name: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n envVar: z.union([z.string(), z.array(z.string())]),\n connected: z.boolean(),\n docUrl: z.string().optional(),\n models: z.array(z.string()),\n});\n\n/**\n * Schema for providers endpoint response\n */\nexport const providersResponseSchema = z.object({\n providers: z.array(providerSchema),\n});\n\nexport type ProviderListItem = z.infer<typeof providerSchema>;\n\n/**\n * Schema for list agents endpoint response\n * Returns a record of agent ID to serialized agent\n */\nexport const listAgentsResponseSchema = z.record(z.string(), serializedAgentSchema);\n\n/**\n * Schema for list tools endpoint response\n * Returns a record of tool ID to serialized tool\n */\nexport const listToolsResponseSchema = z.record(z.string(), serializedToolSchema);\n\n// ============================================================================\n// Agent Execution Body Schemas\n// ============================================================================\n\n/**\n * Schema for agent memory option\n */\nconst agentMemoryOptionSchema = z.object({\n thread: z.union([z.string(), z.object({ id: z.string() }).passthrough()]),\n /**\n * Optional so authenticated setups can rely on the server-derived resource ID\n * (`mapUserToResourceId` sets MASTRA_RESOURCE_ID_KEY in the request context, which\n * takes precedence over this value). Handlers return a 400 when neither the body\n * nor the request context provides a resource ID.\n */\n resource: z.string().optional(),\n options: z.record(z.string(), z.any()).optional(),\n readOnly: z.boolean().optional(),\n});\n\n/**\n * Schema for tool choice configuration\n */\nconst toolChoiceSchema = z.union([\n z.enum(['auto', 'none', 'required']),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n]);\n\n/**\n * Comprehensive body schema for agent generate and stream endpoints\n * Validates common fields while using passthrough for complex nested objects\n *\n * EXCLUDED FIELDS (not serializable):\n * - Callbacks: onStepFinish, onFinish, onChunk, onError, onAbort, prepareStep\n * - Class instances: inputProcessors, outputProcessors\n * - Non-serializable: abortSignal, tracingContext\n */\nexport const agentExecutionBodySchema = z\n .object({\n // REQUIRED\n messages: z.union([\n z.array(coreMessageSchema), // Array of messages\n z.string(), // Single user message shorthand\n ]),\n\n // Message Configuration\n instructions: systemMessageSchema.optional(),\n system: systemMessageSchema.optional(),\n context: z.array(coreMessageSchema).optional(),\n\n // Memory & Persistence\n memory: agentMemoryOptionSchema.optional(),\n runId: z.string().optional(),\n savePerStep: z.boolean().optional(),\n\n // Request Context (handler-specific field - merged with server's requestContext)\n requestContext: z.record(z.string(), z.any()).optional(),\n\n // Version overrides for sub-agents (and future primitives)\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n\n // Execution Control\n maxSteps: z.number().optional(),\n stopWhen: z.any().optional(),\n\n // Model Configuration\n providerOptions: z\n .object({\n anthropic: z.record(z.string(), z.any()).optional(),\n google: z.record(z.string(), z.any()).optional(),\n openai: z.record(z.string(), z.any()).optional(),\n xai: z.record(z.string(), z.any()).optional(),\n })\n .optional(),\n modelSettings: z.any().optional(),\n\n // Tool Configuration\n activeTools: z.array(z.string()).optional(),\n toolsets: z.record(z.string(), z.any()).optional(),\n clientTools: z.record(z.string(), z.any()).optional(),\n toolChoice: toolChoiceSchema.optional(),\n requireToolApproval: z.boolean().optional(),\n\n // Evaluation\n scorers: z\n .union([\n z.record(z.string(), z.any()),\n z.record(\n z.string(),\n z.object({\n scorer: z.string(),\n sampling: z.any().optional(),\n }),\n ),\n ])\n .optional(),\n returnScorerData: z.boolean().optional(),\n\n // Observability\n tracingOptions: tracingOptionsSchema.optional(),\n\n // Structured Output\n output: z.any().optional(), // Zod schema, JSON schema, or structured output object\n structuredOutput: z\n .object({\n schema: z.object({}).passthrough(),\n model: z.union([z.string(), z.any()]).optional(),\n instructions: z.string().optional(),\n jsonPromptInjection: z.boolean().optional(),\n errorStrategy: z.enum(['strict', 'warn', 'fallback']).optional(),\n fallbackValue: z.any().optional(),\n })\n .optional(),\n\n // Idle-loop streaming (collapses streamUntilIdle into stream)\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n })\n .passthrough(); // Allow additional fields for forward compatibility\n\n/**\n * Legacy body schema for deprecated endpoints that still use threadId/resourceId\n * Used by /agents/:agentId/generate-legacy and /agents/:agentId/stream-legacy\n */\nexport const agentExecutionLegacyBodySchema = agentExecutionBodySchema.extend({\n resourceId: z.string().optional(),\n resourceid: z.string().optional(), // lowercase variant\n threadId: z.string().optional(),\n});\n\nexport const streamUntilIdleBodySchema = agentExecutionBodySchema.extend({\n maxIdleMs: z.number().int().positive().optional(),\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n});\n\nexport const resumeStreamUntilIdleBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n maxIdleMs: z.number().int().positive().optional(),\n});\n/**\n * Body schema for tool execute endpoint\n * Simple schema - tool validates its own input data\n * Note: Using z.unknown().refine() instead of z.any() to ensure data is required\n * (z.any() is treated as optional by Zod)\n */\nconst executeToolDataBodySchema = z.object({\n data: z.unknown().refine(x => x !== undefined, { message: 'data is required' }),\n});\n\nexport const executeToolBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\nexport const executeToolContextBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\n// ============================================================================\n// Tool Approval Schemas\n// ============================================================================\n\n/**\n * Base schema for tool approval/decline operations\n * Both approve and decline use the same parameters\n */\nconst toolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n toolCallId: z.string(),\n format: z.string().optional(),\n});\nconst networkToolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n format: z.string().optional(),\n});\n\n/**\n * Body schema for approving tool call\n */\nexport const approveToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for declining tool call\n */\nexport const declineToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for approving network tool call\n */\nexport const approveNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Body schema for declining network tool call\n */\nexport const declineNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Response schema for tool approval/decline\n */\nexport const toolCallResponseSchema = z.object({\n fullStream: z.any(), // ReadableStream\n});\n\nexport const sendToolApprovalResponseSchema = z.object({\n accepted: z.literal(true),\n runId: z.string(),\n toolCallId: z.string().optional(),\n});\n\n/**\n * Query schema for listing suspended agent runs\n */\nexport const listSuspendedRunsQuerySchema = z\n .object({\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n perPage: z.coerce.number().int().positive().optional(),\n // page is zero-indexed, so 0 is valid\n page: z.coerce.number().int().nonnegative().optional(),\n })\n .refine(data => !data.fromDate || !data.toDate || data.fromDate <= data.toDate, {\n message: 'fromDate must be less than or equal to toDate',\n path: ['fromDate'],\n });\n\n/**\n * Response schema for listing suspended agent runs\n */\nexport const listSuspendedRunsResponseSchema = z.object({\n runs: z.array(\n z.object({\n runId: z.string(),\n status: z.literal('suspended'),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n suspendedAt: z.date(),\n toolCalls: z.array(\n z.object({\n toolCallId: z.string().optional(),\n toolName: z.string().optional(),\n args: z.unknown().optional(),\n requiresApproval: z.boolean(),\n suspendPayload: z.unknown().optional(),\n }),\n ),\n }),\n ),\n total: z.number().int().nonnegative(),\n});\n\n// ============================================================================\n// Resume Stream Schema\n// ============================================================================\n\n/**\n * Body schema for resuming a suspended agent stream with custom data.\n * Extends the agent execution body without messages, since resume\n * continues from a prior suspension point rather than starting fresh.\n */\nexport const resumeStreamBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n});\n\n// ============================================================================\n// Recover Schema\n// ============================================================================\n\n/**\n * Body schema for recovering an orphaned RUNNING durable-agent run.\n * Thread and resource are read from the persisted snapshot, so we only accept\n * the runId plus request-context / version overrides needed for auth and\n * routing.\n */\nexport const recoverBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n});\n\n// ============================================================================\n// Model Management Schemas\n// ============================================================================\n\n/**\n * Body schema for updating agent model\n */\nexport const updateAgentModelBodySchema = z.object({\n modelId: z.string(),\n provider: z.string(),\n});\n\n/**\n * Body schema for reordering agent model list\n */\nexport const reorderAgentModelListBodySchema = z.object({\n reorderedModelIds: z.array(z.string()),\n});\n\n/**\n * Body schema for updating model in model list\n */\nexport const updateAgentModelInModelListBodySchema = z.object({\n model: z\n .object({\n modelId: z.string(),\n provider: z.string(),\n })\n .optional(),\n maxRetries: z.number().optional(),\n enabled: z.boolean().optional(),\n});\n\n/**\n * Response schema for model management operations\n */\nexport const modelManagementResponseSchema = messageResponseSchema;\n\n// ============================================================================\n// Response schemas for agent generation endpoints\n// These return AI SDK types which have complex structures\n// ============================================================================\n\nexport const generateResponseSchema = z.any(); // AI SDK GenerateResult type\nexport const streamResponseSchema = z.any(); // AI SDK StreamResult type\nexport const executeToolResponseSchema = z.any(); // Tool execution result varies by tool\n\n// ============================================================================\n// Instruction Enhancement Schemas\n// ============================================================================\n\n/**\n * Body schema for enhancing agent instructions\n */\nexport const enhanceInstructionsBodySchema = z.object({\n instructions: z.string().describe('The current agent instructions to enhance'),\n comment: z.string().describe('User comment describing how to enhance the instructions'),\n});\n\n/**\n * Response schema for enhanced instructions\n */\nexport const enhanceInstructionsResponseSchema = z.object({\n explanation: z.string().describe('Explanation of the changes made'),\n new_prompt: z.string().describe('The enhanced instructions'),\n});\n\n// ============================================================================\n// Observe (Resumable Streams) Schemas\n// ============================================================================\n\n/**\n * Body schema for observing an agent stream\n * Used to reconnect to an existing stream and receive missed events\n */\nexport const observeAgentBodySchema = z.object({\n runId: z.string().describe('The run ID to observe/reconnect to'),\n offset: z.number().optional().describe('Resume from this event index (0-based). If omitted, replays all events.'),\n});\n\nconst signalActiveBehaviorSchema = z.enum(['deliver', 'persist', 'discard']);\nconst signalIdleBehaviorSchema = z.enum(['wake', 'persist', 'discard']);\n\nconst signalTargetBaseBodySchema = z.object({\n ifActive: z\n .object({\n behavior: signalActiveBehaviorSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n});\n\nconst signalTargetBodySchema = z.union([\n signalTargetBaseBodySchema.extend({\n runId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n ifIdle: z.undefined().optional(),\n }),\n signalTargetBaseBodySchema.extend({\n runId: z.undefined().optional(),\n resourceId: z.string(),\n threadId: z.string(),\n ifIdle: z\n .object({\n behavior: signalIdleBehaviorSchema.optional(),\n streamOptions: agentExecutionBodySchema.omit({ messages: true }).optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n }),\n]);\n\nexport const sendAgentSignalBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ signal: agentSignalSchema }),\n signalTargetBodySchema.options[1].extend({ signal: agentSignalSchema }),\n]);\n\nexport const sendAgentMessageBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ message: agentMessageInputSchema }),\n signalTargetBodySchema.options[1].extend({ message: agentMessageInputSchema }),\n]);\n\nexport const queueAgentMessageBodySchema = sendAgentMessageBodySchema;\n\nexport const subscribeAgentThreadBodySchema = z.object({\n resourceId: z.string().optional(),\n threadId: z.string(),\n});\n\nexport const abortAgentThreadBodySchema = subscribeAgentThreadBodySchema;\n\nexport const sendToolApprovalBodySchema = z.object({\n resourceId: z.string(),\n threadId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n toolCallId: z.string(),\n approved: z.boolean(),\n resumeData: z.any().optional(),\n format: z.string().optional(),\n messages: z.array(coreMessageSchema).optional(),\n streamOptions: z.any().optional(),\n});\n\nexport const abortAgentThreadResponseSchema = z.object({\n aborted: z.boolean(),\n});\n\n/**\n * Response schema for observe endpoint (streaming response)\n */\nexport const observeAgentResponseSchema = z.any(); // Streaming response\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/vector.ts"],"names":["__export","HTTPException","handleError","createRoute","vectorNamePathParams","upsertVectorsBodySchema","upsertVectorsResponseSchema","createIndexBodySchema","createIndexResponseSchema","queryVectorsBodySchema","queryVectorsResponseSchema","listIndexesResponseSchema","vectorIndexPathParams","describeIndexResponseSchema","deleteIndexResponseSchema","listVectorsResponseSchema","listEmbeddersResponseSchema","EMBEDDING_MODELS"],"mappings":"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","file":"chunk-J6TRVKBB.cjs","sourcesContent":["import { EMBEDDING_MODELS } from '@mastra/core/llm';\nimport type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport {\n vectorNamePathParams,\n vectorIndexPathParams,\n upsertVectorsBodySchema,\n upsertVectorsResponseSchema,\n createIndexBodySchema,\n createIndexResponseSchema,\n queryVectorsBodySchema,\n queryVectorsResponseSchema,\n listIndexesResponseSchema,\n describeIndexResponseSchema,\n deleteIndexResponseSchema,\n listVectorsResponseSchema,\n listEmbeddersResponseSchema,\n} from '../schemas/vectors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({\n mastra,\n vectorName,\n indexName,\n vectors,\n metadata,\n ids,\n}: VectorContext & UpsertRequest) {\n try {\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n indexName,\n dimension,\n metric,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & CreateIndexRequest) {\n try {\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n indexName,\n queryVector,\n topK,\n filter,\n includeVector,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & QueryRequest) {\n try {\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n\n// List available vector stores\nexport async function listVectorStores({ mastra }: Pick<VectorContext, 'mastra'>) {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n name,\n id: vector.id || name, // Use the key as fallback when vector has no id property\n type: vector.constructor.name,\n // Add any other metadata that might be useful\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const UPSERT_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/upsert',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: upsertVectorsBodySchema,\n responseSchema: upsertVectorsResponseSchema,\n summary: 'Upsert vectors',\n description: 'Inserts or updates vectors in the specified index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, vectors, metadata, ids } = params;\n\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n },\n});\n\nexport const CREATE_INDEX_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/create-index',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: createIndexBodySchema,\n responseSchema: createIndexResponseSchema,\n summary: 'Create index',\n description: 'Creates a new vector index with the specified dimension and metric',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, dimension, metric } = params;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n },\n});\n\nexport const QUERY_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/query',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: queryVectorsBodySchema,\n responseSchema: queryVectorsResponseSchema,\n summary: 'Query vectors',\n description: 'Performs a similarity search on the vector index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, queryVector, topK, filter, includeVector } = params;\n\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, {\n message: 'Invalid request query. indexName and queryVector array are required.',\n });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n },\n});\n\nexport const LIST_INDEXES_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n responseSchema: listIndexesResponseSchema,\n summary: 'List indexes',\n description: 'Returns a list of all indexes in the vector store',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName }) => {\n try {\n const vector = getVector(mastra, vectorName);\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n },\n});\n\nexport const DESCRIBE_INDEX_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: describeIndexResponseSchema,\n summary: 'Describe index',\n description: 'Returns statistics and metadata for a specific index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName: indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n },\n});\n\nexport const DELETE_INDEX_ROUTE = createRoute({\n method: 'DELETE',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: deleteIndexResponseSchema,\n summary: 'Delete index',\n description: 'Deletes a vector index and all its data',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName: indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n },\n});\n\nexport const LIST_VECTORS_ROUTE = createRoute({\n method: 'GET',\n path: '/vectors',\n responseType: 'json',\n responseSchema: listVectorsResponseSchema,\n summary: 'List vector stores',\n description: 'Returns a list of all configured vector stores',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n id: vector.id || name, // Use the key as the ID since vectors might not have their own id property\n name,\n type: vector.constructor.name,\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n },\n});\n\nexport const LIST_EMBEDDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/embedders',\n responseType: 'json',\n responseSchema: listEmbeddersResponseSchema,\n summary: 'List available embedder models',\n description: 'Returns a list of all available embedding models',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async () => {\n try {\n const embeddersList = EMBEDDING_MODELS.map(model => ({\n id: `${model.provider}/${model.id}`,\n provider: model.provider,\n name: model.id,\n description: model.description || '',\n dimensions: model.dimensions,\n maxInputTokens: model.maxInputTokens,\n }));\n\n return { embedders: embeddersList };\n } catch (error) {\n return handleError(error, 'Error listing embedders');\n }\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/schemas/workflows.ts"],"names":[],"mappings":";;;AAGO,IAAM,uBAAA,GAA0B,EAAE,IAAA,CAAK;AAAA,EAC5C,SAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoC;AACtE,CAAC;AAEM,IAAM,qBAAA,GAAwB,qBAAqB,MAAA,CAAO;AAAA,EAC/D,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC;AACrE,CAAC;AAMD,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EACpC,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAY,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC,CAAA;AAMD,IAAM,6BAAA,GAAgC,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAM,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAA,EAAS,YAAA,EAAc,cAAA,EAAgB,UAAA,EAAY,aAAA,EAAe,MAAA,EAAQ,SAAS,CAAC;AAC5G,CAAC,CAAA;AAMM,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,OAAO,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,EAChD,UAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,EACnD,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,SAAA,EAAW,CAAA,CAAE,KAAA,CAAM,6BAA6B,CAAA;AAAA,EAChD,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,SAAS,CAAA,CAAE,MAAA,CAAO,EAAE,EAAE,QAAA,EAAS;AAAA,EAC/B,mBAAA,EAAqB,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACnC,CAAC;AAMM,IAAM,8BAA8B,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,kBAAkB;AAKlF,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACjC,YAAA,EAAc,EAAE,MAAA,EAAO;AAAA,EACvB,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,UAAU,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,CAAE,OAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAK,CAAA,EAAG,CAAA,CAAE,MAAA,EAAQ,CAAC,CAAA;AAAA,EAC7D,SAAA,EAAW,EAAE,IAAA,EAAK;AAAA,EAClB,SAAA,EAAW,EAAE,IAAA,EAAK;AAAA,EAClB,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC,CAAA;AAMM,IAAM,0BAAA,GAA6B,EAAE,MAAA,CAAO;AAAA,EACjD,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA;AAAA,EAC/B,KAAA,EAAO,EAAE,MAAA;AACX,CAAC;AAOM,IAAM,2BAAA,GAA8B,8BAAA,EAA+B,CAAE,MAAA,CAAO;AAAA,EACjF,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,IAAA,GAAO,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQ,CAAA,CAAE,MAAA,CAAO,IAAA,GAAO,QAAA,EAAS;AAAA,EACjC,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,MAAA,EAAQ,wBAAwB,QAAA;AAClC,CAAC;AAKD,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAC3C,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAW,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAChC,YAAA,EAAc,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACnC,cAAA,EAAgB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,cAAA,EAAgB,qBAAqB,QAAA,EAAS;AAAA,EAC9C,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC,CAAA;AAMM,IAAM,8BAAA,GAAiC;AAMvC,IAAM,wBAAA,GAA2B,4BAA4B,MAAA,CAAO;AAAA,EACzE,cAAA,EAAgB,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC9B,CAAC;AAMM,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,CAAC,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAC1D,UAAA,EAAY,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,cAAA,EAAgB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,cAAA,EAAgB,qBAAqB,QAAA,EAAS;AAAA,EAC9C,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAc,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA;AAC/C,CAAC;AAMM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,cAAA,EAAgB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,cAAA,EAAgB,qBAAqB,QAAA;AACvC,CAAC;AAMM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,SAAA,EAAW,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAChC,UAAA,EAAY,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,YAAA,EAAc,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACnC,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC,CAAC,CAAA;AAAA,EAC/C,OAAA,EAAS,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS;AAAA,EAChD,oBAAoB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAC,EAAE,QAAA,EAAS;AAAA,EACjF,cAAA,EAAgB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,cAAA,EAAgB,qBAAqB,QAAA,EAAS;AAAA,EAC9C,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC;AAKM,IAAM,4BAAA,GAA+B;AAKrC,IAAM,8BAAA,GAAiC,EAAE,MAAA,CAAO;AAAA,EACrD,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAM,EAAE,OAAA;AACV,CAAC;AAGD,IAAM,4BAAA,uBAAmC,GAAA,CAAI;AAAA,EAC3C,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAED,IAAM,4BAAA,GACJ,2GAAA;AAEF,IAAM,wBAAwB,CAAC,WAAA,KAC7B,EACG,MAAA,EAAO,CACP,UAAS,CACT,MAAA;AAAA,EACC,CAAA,KAAA,KAAS;AACP,IAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AACnB,IAAA,MAAM,eAAA,GAAkB,MAAM,KAAA,CAAM,GAAG,EAAE,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,EAAM,CAAA;AAC1D,IAAA,OAAO,gBAAgB,KAAA,CAAM,CAAA,KAAA,KAAS,4BAAA,CAA6B,GAAA,CAAI,KAAK,CAAC,CAAA;AAAA,EAC/E,CAAA;AAAA,EACA,EAAE,SAAS,4BAAA;AACb,CAAA,CACC,SAAS,WAAW,CAAA;AAEzB,IAAM,wBAAA,GAA2B,CAAA,CAC9B,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA,CACtB,QAAA,EAAS,CACT,QAAA,CAAS,0GAA0G,CAAA;AAM/G,IAAM,6BAAA,GAAgC,EAAE,MAAA,CAAO;AAAA,EACpD,MAAA,EAAQ,wBAAwB,QAAA,EAAS;AAAA,EACzC,MAAA,EAAQ,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC5B,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAc,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACnC,KAAA,EAAO,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS;AAAA,EAC9C,eAAA,EAAiB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,mBAAA,EAAqB,CAAA,CAAE,KAAA,CAAM,6BAA6B,EAAE,QAAA;AAC9D,CAAC;AAKM,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,MAAA,EAAQ,qBAAA;AAAA,IACN;AAAA,GACF;AAAA,EACA,mBAAA,EAAqB;AACvB,CAAC;AAMM,IAAM,uBAAA,GAA0B,EAAE,MAAA,CAAO;AAAA;AAAA,EAE9C,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,YAAA,EAAc,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAAA,EAAW,EAAE,IAAA,EAAK;AAAA,EAClB,SAAA,EAAW,EAAE,IAAA,EAAK;AAAA;AAAA,EAGlB,MAAA,EAAQ,uBAAA;AAAA,EACR,YAAA,EAAc,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,MAAA,EAAQ,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC5B,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC9B,KAAA,EAAO,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS;AAAA;AAAA,EAG9C,eAAA,EAAiB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,mBAAA,EAAqB,CAAA,CAAE,KAAA,CAAM,6BAA6B,EAAE,QAAA;AAC9D,CAAC;AAKM,IAAM,6BAAA,GAAgC;AAMtC,IAAM,+BAAA,GAAkC,EAAE,MAAA,CAAO;AAAA,EACtD,KAAA,EAAO,EAAE,MAAA;AACX,CAAC;AAMM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,cAAA,EAAgB,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC9B,CAAC;AAMM,IAAM,0BAAA,GAA6B,EAAE,MAAA,CAAO;AAAA,EACjD,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC1D,MAAA,EAAQ,EAAE,MAAA,CACP,MAAA,GACA,QAAA,EAAS,CACT,SAAS,yEAAyE;AACvF,CAAC","file":"chunk-K4HCNNHA.js","sourcesContent":["import { z } from 'zod/v4';\nimport { createCombinedPaginationSchema, tracingOptionsSchema, messageResponseSchema } from './common';\n\nexport const workflowRunStatusSchema = z.enum([\n 'running',\n 'waiting',\n 'suspended',\n 'success',\n 'failed',\n 'canceled',\n 'pending',\n 'bailed',\n 'tripwire',\n 'paused',\n 'skipped',\n]);\n\n// Path parameter schemas\nexport const workflowIdPathParams = z.object({\n workflowId: z.string().describe('Unique identifier for the workflow'),\n});\n\nexport const workflowRunPathParams = workflowIdPathParams.extend({\n runId: z.string().describe('Unique identifier for the workflow run'),\n});\n\n/**\n * Schema for serialized step\n * Uses passthrough() to allow step-specific fields\n */\nconst serializedStepSchema = z.object({\n id: z.string(),\n description: z.string().optional(),\n stateSchema: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n resumeSchema: z.string().optional(),\n suspendSchema: z.string().optional(),\n component: z.string().optional(),\n isWorkflow: z.boolean().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Schema for serialized step flow entry\n * Represents different step flow types in the workflow graph\n */\nconst serializedStepFlowEntrySchema = z.object({\n type: z.enum(['step', 'sleep', 'sleepUntil', 'waitForEvent', 'parallel', 'conditional', 'loop', 'foreach']),\n});\n\n/**\n * Schema for workflow information\n * Returned by getWorkflowByIdHandler and listWorkflowsHandler\n */\nexport const workflowInfoSchema = z.object({\n steps: z.record(z.string(), serializedStepSchema),\n allSteps: z.record(z.string(), serializedStepSchema),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n stepGraph: z.array(serializedStepFlowEntrySchema),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n stateSchema: z.string().optional(),\n options: z.object({}).optional(),\n isProcessorWorkflow: z.boolean().optional(),\n});\n\n/**\n * Schema for list workflows endpoint response\n * Returns a record of workflow ID to workflow info\n */\nexport const listWorkflowsResponseSchema = z.record(z.string(), workflowInfoSchema);\n\n/**\n * Schema for workflow run object\n */\nconst workflowRunSchema = z.object({\n workflowName: z.string(),\n runId: z.string(),\n snapshot: z.union([z.record(z.string(), z.any()), z.string()]),\n createdAt: z.date(),\n updatedAt: z.date(),\n resourceId: z.string().optional(),\n});\n\n/**\n * Schema for workflow runs response (paginated)\n * Includes runs array and total count\n */\nexport const workflowRunsResponseSchema = z.object({\n runs: z.array(workflowRunSchema),\n total: z.number(),\n});\n\n/**\n * Schema for query parameters when listing workflow runs\n * Supports both page/perPage and limit/offset for backwards compatibility\n * If page/perPage provided, use directly; otherwise convert from limit/offset\n */\nexport const listWorkflowRunsQuerySchema = createCombinedPaginationSchema().extend({\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n resourceId: z.string().optional(),\n status: workflowRunStatusSchema.optional(),\n});\n\n/**\n * Base schema for workflow execution with input data and tracing\n */\nconst workflowExecutionBodySchema = z.object({\n resourceId: z.string().optional(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n tracingOptions: tracingOptionsSchema.optional(),\n perStep: z.boolean().optional(),\n});\n\n/**\n * Schema for legacy stream workflow body (no closeOnSuspend support)\n * Used by /stream-legacy endpoints\n */\nexport const streamLegacyWorkflowBodySchema = workflowExecutionBodySchema;\n\n/**\n * Schema for stream workflow body\n * Used by both /stream and /streamVNext endpoints\n */\nexport const streamWorkflowBodySchema = workflowExecutionBodySchema.extend({\n closeOnSuspend: z.boolean().optional(),\n});\n\n/**\n * Schema for resume workflow body\n * Used by resume-stream, resume-async and resume endpoints\n */\nexport const resumeBodySchema = z.object({\n step: z.union([z.string(), z.array(z.string())]).optional(), // Optional - workflow can auto-resume all suspended steps\n resumeData: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n tracingOptions: tracingOptionsSchema.optional(),\n perStep: z.boolean().optional(),\n forEachIndex: z.number().int().nonnegative().optional(),\n});\n\n/**\n * Schema for restart workflow body\n * Used by restart-async and restart endpoints\n */\nexport const restartBodySchema = z.object({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n tracingOptions: tracingOptionsSchema.optional(),\n});\n\n/**\n * Schema for time travel workflow body\n * Used by time-travel-stream, time-travel-async and time-travel endpoints\n */\nexport const timeTravelBodySchema = z.object({\n inputData: z.unknown().optional(),\n resumeData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n step: z.union([z.string(), z.array(z.string())]),\n context: z.record(z.string(), z.any()).optional(),\n nestedStepsContext: z.record(z.string(), z.record(z.string(), z.any())).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n tracingOptions: tracingOptionsSchema.optional(),\n perStep: z.boolean().optional(),\n});\n\n/**\n * Schema for start async workflow body\n */\nexport const startAsyncWorkflowBodySchema = workflowExecutionBodySchema;\n\n/**\n * Schema for send workflow run event body\n */\nexport const sendWorkflowRunEventBodySchema = z.object({\n event: z.string(),\n data: z.unknown(),\n});\n\n// Shared field validation for workflow result queries\nconst VALID_WORKFLOW_RESULT_FIELDS = new Set([\n 'result',\n 'error',\n 'payload',\n 'steps',\n 'activeStepsPath',\n 'serializedStepGraph',\n]);\n\nconst WORKFLOW_RESULT_FIELDS_ERROR =\n 'Invalid field name. Available fields: result, error, payload, steps, activeStepsPath, serializedStepGraph';\n\nconst createFieldsValidator = (description: string) =>\n z\n .string()\n .optional()\n .refine(\n value => {\n if (!value) return true;\n const requestedFields = value.split(',').map(f => f.trim());\n return requestedFields.every(field => VALID_WORKFLOW_RESULT_FIELDS.has(field));\n },\n { message: WORKFLOW_RESULT_FIELDS_ERROR },\n )\n .describe(description);\n\nconst withNestedWorkflowsField = z\n .enum(['true', 'false'])\n .optional()\n .describe('Whether to include nested workflow data in steps. Defaults to true. Set to false for better performance.');\n\n/**\n * Schema for workflow execution result\n * All fields are optional since field filtering allows requesting specific fields only\n */\nexport const workflowExecutionResultSchema = z.object({\n status: workflowRunStatusSchema.optional(),\n result: z.unknown().optional(),\n error: z.unknown().optional(),\n payload: z.unknown().optional(),\n initialState: z.unknown().optional(),\n steps: z.record(z.string(), z.any()).optional(),\n activeStepsPath: z.record(z.string(), z.array(z.number())).optional(),\n serializedStepGraph: z.array(serializedStepFlowEntrySchema).optional(),\n});\n\n/**\n * Schema for query parameters when getting a unified workflow run result\n */\nexport const workflowRunResultQuerySchema = z.object({\n fields: createFieldsValidator(\n 'Comma-separated list of fields to return. Available fields: result, error, payload, steps, activeStepsPath, serializedStepGraph. Metadata fields (runId, workflowName, resourceId, createdAt, updatedAt) and status are always included.',\n ),\n withNestedWorkflows: withNestedWorkflowsField,\n});\n\n/**\n * Schema for unified workflow run result response\n * Combines metadata and processed execution state\n */\nexport const workflowRunResultSchema = z.object({\n // Metadata - always present\n runId: z.string(),\n workflowName: z.string(),\n resourceId: z.string().optional(),\n createdAt: z.date(),\n updatedAt: z.date(),\n\n // Execution state\n status: workflowRunStatusSchema,\n initialState: z.record(z.string(), z.any()).optional(),\n result: z.unknown().optional(),\n error: z.unknown().optional(),\n payload: z.unknown().optional(),\n steps: z.record(z.string(), z.any()).optional(),\n\n // Optional detailed fields\n activeStepsPath: z.record(z.string(), z.array(z.number())).optional(),\n serializedStepGraph: z.array(serializedStepFlowEntrySchema).optional(),\n});\n\n/**\n * Response schema for workflow control operations\n */\nexport const workflowControlResponseSchema = messageResponseSchema;\n\n/**\n * Response schema for create workflow run operation\n * Returns only the runId after creating a run\n */\nexport const createWorkflowRunResponseSchema = z.object({\n runId: z.string(),\n});\n\n/**\n * Schema for create workflow run body\n * Used by /create-run endpoint\n */\nexport const createWorkflowRunBodySchema = z.object({\n resourceId: z.string().optional(),\n disableScorers: z.boolean().optional(),\n});\n\n/**\n * Schema for observe workflow query params\n * Extends runId with optional offset for efficient resume\n */\nexport const observeWorkflowQuerySchema = z.object({\n runId: z.string().describe('Unique identifier for the run'),\n offset: z.coerce\n .number()\n .optional()\n .describe('Resume from this event index (0-based). If omitted, replays all events.'),\n});\n"]}