@mastra/server 1.12.0-alpha.1 → 1.13.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/chunk-2AUSWWKT.js +75 -0
  3. package/dist/chunk-2AUSWWKT.js.map +1 -0
  4. package/dist/{chunk-RLZPX2YZ.js → chunk-2E5ZB7FH.js} +7 -5
  5. package/dist/{chunk-RLZPX2YZ.js.map → chunk-2E5ZB7FH.js.map} +1 -1
  6. package/dist/chunk-2ERW3HSX.js +71 -0
  7. package/dist/chunk-2ERW3HSX.js.map +1 -0
  8. package/dist/{chunk-QRQAZI3Q.js → chunk-2GOCJDE2.js} +6 -73
  9. package/dist/chunk-2GOCJDE2.js.map +1 -0
  10. package/dist/{chunk-SVQNZ6U2.js → chunk-2OBRONRW.js} +4 -15
  11. package/dist/chunk-2OBRONRW.js.map +1 -0
  12. package/dist/chunk-43MOXX6D.cjs +74 -0
  13. package/dist/chunk-43MOXX6D.cjs.map +1 -0
  14. package/dist/chunk-47RDD2HN.js +61 -0
  15. package/dist/chunk-47RDD2HN.js.map +1 -0
  16. package/dist/{chunk-S7BVUW44.cjs → chunk-4NZHZQ6Q.cjs} +13 -8
  17. package/dist/chunk-4NZHZQ6Q.cjs.map +1 -0
  18. package/dist/{chunk-HFOR62M4.js → chunk-4V5MHFM6.js} +4 -343
  19. package/dist/chunk-4V5MHFM6.js.map +1 -0
  20. package/dist/chunk-574U64WA.cjs +103 -0
  21. package/dist/chunk-574U64WA.cjs.map +1 -0
  22. package/dist/chunk-5HJQACVQ.cjs +32 -0
  23. package/dist/chunk-5HJQACVQ.cjs.map +1 -0
  24. package/dist/chunk-5N4O5XJZ.js +259 -0
  25. package/dist/chunk-5N4O5XJZ.js.map +1 -0
  26. package/dist/chunk-5WFMCDP6.cjs +42 -0
  27. package/dist/chunk-5WFMCDP6.cjs.map +1 -0
  28. package/dist/{chunk-NBYRUVSE.cjs → chunk-6LFZL6QU.cjs} +100 -443
  29. package/dist/chunk-6LFZL6QU.cjs.map +1 -0
  30. package/dist/{chunk-D6AEONK2.js → chunk-6LTXNJU5.js} +4 -4
  31. package/dist/chunk-6LTXNJU5.js.map +1 -0
  32. package/dist/{chunk-VKBYR4V4.js → chunk-6M6OX2GI.js} +5 -5
  33. package/dist/{chunk-VKBYR4V4.js.map → chunk-6M6OX2GI.js.map} +1 -1
  34. package/dist/chunk-6P7P7Y5U.cjs +11959 -0
  35. package/dist/chunk-6P7P7Y5U.cjs.map +1 -0
  36. package/dist/{chunk-E4NYFEOQ.cjs → chunk-6T2DK2GP.cjs} +16 -71
  37. package/dist/chunk-6T2DK2GP.cjs.map +1 -0
  38. package/dist/chunk-7D3YBNO6.cjs +76 -0
  39. package/dist/chunk-7D3YBNO6.cjs.map +1 -0
  40. package/dist/chunk-7NDOPT3W.js +73 -0
  41. package/dist/chunk-7NDOPT3W.js.map +1 -0
  42. package/dist/{chunk-XQURD55R.js → chunk-7RVXUWRC.js} +4 -33
  43. package/dist/chunk-7RVXUWRC.js.map +1 -0
  44. package/dist/{chunk-S5SBIVKP.js → chunk-A37KSL6V.js} +4 -69
  45. package/dist/chunk-A37KSL6V.js.map +1 -0
  46. package/dist/{chunk-Y6UBLYBC.cjs → chunk-ALE53JHX.cjs} +13 -13
  47. package/dist/{chunk-Y6UBLYBC.cjs.map → chunk-ALE53JHX.cjs.map} +1 -1
  48. package/dist/chunk-AUPN3AM6.js +34 -0
  49. package/dist/chunk-AUPN3AM6.js.map +1 -0
  50. package/dist/chunk-BAECEBZY.cjs +117 -0
  51. package/dist/chunk-BAECEBZY.cjs.map +1 -0
  52. package/dist/{chunk-ELLQE6XA.js → chunk-BBMSARPV.js} +4 -46
  53. package/dist/chunk-BBMSARPV.js.map +1 -0
  54. package/dist/chunk-BNJI7YMJ.cjs +89 -0
  55. package/dist/chunk-BNJI7YMJ.cjs.map +1 -0
  56. package/dist/chunk-BOIOGPBE.js +24 -0
  57. package/dist/chunk-BOIOGPBE.js.map +1 -0
  58. package/dist/chunk-BTRFBBRF.js +102 -0
  59. package/dist/chunk-BTRFBBRF.js.map +1 -0
  60. package/dist/{chunk-RCEX4V4N.cjs → chunk-C3U5LR4X.cjs} +24 -124
  61. package/dist/chunk-C3U5LR4X.cjs.map +1 -0
  62. package/dist/{chunk-GAATB3SN.cjs → chunk-CMGZD5UE.cjs} +29 -94
  63. package/dist/chunk-CMGZD5UE.cjs.map +1 -0
  64. package/dist/chunk-CWPZX27X.cjs +88 -0
  65. package/dist/chunk-CWPZX27X.cjs.map +1 -0
  66. package/dist/{chunk-DX7T3ZCH.js → chunk-D64GTBXM.js} +5 -5
  67. package/dist/{chunk-DX7T3ZCH.js.map → chunk-D64GTBXM.js.map} +1 -1
  68. package/dist/{chunk-IXWCFFVU.cjs → chunk-DK4A344H.cjs} +28 -74
  69. package/dist/chunk-DK4A344H.cjs.map +1 -0
  70. package/dist/{chunk-VFRQX7CD.cjs → chunk-DMAGP2MP.cjs} +28 -79
  71. package/dist/chunk-DMAGP2MP.cjs.map +1 -0
  72. package/dist/{chunk-3P34AJWW.js → chunk-DWDLH2Q5.js} +5 -60
  73. package/dist/chunk-DWDLH2Q5.js.map +1 -0
  74. package/dist/{chunk-DRFNY77Q.cjs → chunk-EFX5WYRT.cjs} +12 -10
  75. package/dist/chunk-EFX5WYRT.cjs.map +1 -0
  76. package/dist/{chunk-S46TMT6A.cjs → chunk-F4HPG2WH.cjs} +35 -152
  77. package/dist/chunk-F4HPG2WH.cjs.map +1 -0
  78. package/dist/{chunk-DW6ZTEJ4.cjs → chunk-FBIKXU4U.cjs} +29 -88
  79. package/dist/chunk-FBIKXU4U.cjs.map +1 -0
  80. package/dist/chunk-FU22BXAG.cjs +29 -0
  81. package/dist/chunk-FU22BXAG.cjs.map +1 -0
  82. package/dist/{chunk-PYO3IWOR.js → chunk-GESVIYWC.js} +74 -388
  83. package/dist/chunk-GESVIYWC.js.map +1 -0
  84. package/dist/{chunk-43WGLEEB.js → chunk-GRI42AT7.js} +5 -5
  85. package/dist/chunk-GRI42AT7.js.map +1 -0
  86. package/dist/{chunk-BAWISNLT.cjs → chunk-GU5KJAMA.cjs} +14 -37
  87. package/dist/chunk-GU5KJAMA.cjs.map +1 -0
  88. package/dist/{chunk-MOR4VVBW.js → chunk-H4AABNBB.js} +4 -4
  89. package/dist/chunk-H4AABNBB.js.map +1 -0
  90. package/dist/{chunk-B5JKQOIU.cjs → chunk-HERQV6YY.cjs} +22 -22
  91. package/dist/{chunk-B5JKQOIU.cjs.map → chunk-HERQV6YY.cjs.map} +1 -1
  92. package/dist/{chunk-BZMWUSOF.js → chunk-HMUJSYUR.js} +4 -4
  93. package/dist/chunk-HMUJSYUR.js.map +1 -0
  94. package/dist/{chunk-WQWSVABP.cjs → chunk-HOAPZDJV.cjs} +81 -81
  95. package/dist/{chunk-WQWSVABP.cjs.map → chunk-HOAPZDJV.cjs.map} +1 -1
  96. package/dist/{chunk-KJ3H6ED4.js → chunk-HWOBV3IH.js} +11 -176
  97. package/dist/{chunk-KJ3H6ED4.js.map → chunk-HWOBV3IH.js.map} +1 -1
  98. package/dist/chunk-I4THGZHE.js +52 -0
  99. package/dist/chunk-I4THGZHE.js.map +1 -0
  100. package/dist/chunk-II6TN6MR.js +171 -0
  101. package/dist/chunk-II6TN6MR.js.map +1 -0
  102. package/dist/chunk-J3SEZ24R.cjs +70 -0
  103. package/dist/chunk-J3SEZ24R.cjs.map +1 -0
  104. package/dist/{chunk-CPEJA5XY.cjs → chunk-JGK2MALT.cjs} +9 -42
  105. package/dist/chunk-JGK2MALT.cjs.map +1 -0
  106. package/dist/{chunk-MWWNB5KJ.js → chunk-JK3GI25F.js} +6 -102
  107. package/dist/chunk-JK3GI25F.js.map +1 -0
  108. package/dist/{chunk-QYPZ4IND.js → chunk-JTAGYRQP.js} +3 -3
  109. package/dist/chunk-JTAGYRQP.js.map +1 -0
  110. package/dist/{chunk-7F2JBD7F.cjs → chunk-JWCTCYDF.cjs} +13 -81
  111. package/dist/chunk-JWCTCYDF.cjs.map +1 -0
  112. package/dist/{chunk-OBA7KIAW.js → chunk-KF2QGKT3.js} +4 -68
  113. package/dist/chunk-KF2QGKT3.js.map +1 -0
  114. package/dist/chunk-KPMEA5UE.js +121 -0
  115. package/dist/chunk-KPMEA5UE.js.map +1 -0
  116. package/dist/chunk-KTKTSTDR.cjs +297 -0
  117. package/dist/chunk-KTKTSTDR.cjs.map +1 -0
  118. package/dist/chunk-KXXILK3T.cjs +134 -0
  119. package/dist/chunk-KXXILK3T.cjs.map +1 -0
  120. package/dist/chunk-LCP4G5CT.cjs +83 -0
  121. package/dist/chunk-LCP4G5CT.cjs.map +1 -0
  122. package/dist/{chunk-2RQXCCD4.js → chunk-LIPXZWEY.js} +7 -7
  123. package/dist/{chunk-2RQXCCD4.js.map → chunk-LIPXZWEY.js.map} +1 -1
  124. package/dist/{chunk-GDE4YNSF.cjs → chunk-LKBYAMJS.cjs} +31 -31
  125. package/dist/{chunk-GDE4YNSF.cjs.map → chunk-LKBYAMJS.cjs.map} +1 -1
  126. package/dist/{chunk-LIXI3MOA.cjs → chunk-LNIERC4T.cjs} +27 -87
  127. package/dist/chunk-LNIERC4T.cjs.map +1 -0
  128. package/dist/chunk-LOA2QO6H.cjs +391 -0
  129. package/dist/chunk-LOA2QO6H.cjs.map +1 -0
  130. package/dist/{chunk-UH6RBD57.cjs → chunk-LTJHINYX.cjs} +19 -102
  131. package/dist/chunk-LTJHINYX.cjs.map +1 -0
  132. package/dist/chunk-LU7HU7KW.cjs +65 -0
  133. package/dist/chunk-LU7HU7KW.cjs.map +1 -0
  134. package/dist/chunk-LW2FKUW5.js +94 -0
  135. package/dist/chunk-LW2FKUW5.js.map +1 -0
  136. package/dist/chunk-NLMVQMCR.js +85 -0
  137. package/dist/chunk-NLMVQMCR.js.map +1 -0
  138. package/dist/{chunk-LFB6AUDW.js → chunk-NOT4JSQJ.js} +7 -7
  139. package/dist/chunk-NOT4JSQJ.js.map +1 -0
  140. package/dist/{chunk-OQG4AAGQ.cjs → chunk-NSB6AGO3.cjs} +27 -92
  141. package/dist/chunk-NSB6AGO3.cjs.map +1 -0
  142. package/dist/chunk-O272KKXN.cjs +111 -0
  143. package/dist/chunk-O272KKXN.cjs.map +1 -0
  144. package/dist/chunk-OLKVMPNB.js +11943 -0
  145. package/dist/chunk-OLKVMPNB.js.map +1 -0
  146. package/dist/{chunk-O26N7P6R.js → chunk-ONORVWSC.js} +3 -3
  147. package/dist/{chunk-O26N7P6R.js.map → chunk-ONORVWSC.js.map} +1 -1
  148. package/dist/chunk-OP626LZY.js +61 -0
  149. package/dist/chunk-OP626LZY.js.map +1 -0
  150. package/dist/chunk-P2ZMGGHF.cjs +19 -0
  151. package/dist/chunk-P2ZMGGHF.cjs.map +1 -0
  152. package/dist/{chunk-V4RWTVRV.cjs → chunk-P445W4ET.cjs} +76 -334
  153. package/dist/chunk-P445W4ET.cjs.map +1 -0
  154. package/dist/{chunk-OWZQBVC3.js → chunk-P4GHYEST.js} +4 -3
  155. package/dist/chunk-P4GHYEST.js.map +1 -0
  156. package/dist/chunk-PALNMAC6.js +1 -1
  157. package/dist/{chunk-JSX4LRMG.cjs → chunk-PEG4SKER.cjs} +33 -33
  158. package/dist/{chunk-JSX4LRMG.cjs.map → chunk-PEG4SKER.cjs.map} +1 -1
  159. package/dist/{chunk-27QSSHGX.js → chunk-PGABFIYY.js} +4 -51
  160. package/dist/chunk-PGABFIYY.js.map +1 -0
  161. package/dist/chunk-PNJPBMSY.js +69 -0
  162. package/dist/chunk-PNJPBMSY.js.map +1 -0
  163. package/dist/chunk-PONEV4T5.js +47 -0
  164. package/dist/chunk-PONEV4T5.js.map +1 -0
  165. package/dist/{chunk-LIMSH6CA.js → chunk-Q7KDJZGD.js} +23 -136
  166. package/dist/chunk-Q7KDJZGD.js.map +1 -0
  167. package/dist/chunk-QB3ZGAO4.js +57 -0
  168. package/dist/chunk-QB3ZGAO4.js.map +1 -0
  169. package/dist/{chunk-YHXHZINI.js → chunk-QGDZ4IB6.js} +6 -62
  170. package/dist/chunk-QGDZ4IB6.js.map +1 -0
  171. package/dist/chunk-QIP5UCDX.js +16 -0
  172. package/dist/chunk-QIP5UCDX.js.map +1 -0
  173. package/dist/{chunk-5OOQPDVS.cjs → chunk-QOLNS6MT.cjs} +109 -291
  174. package/dist/chunk-QOLNS6MT.cjs.map +1 -0
  175. package/dist/{chunk-MKIO7LCE.cjs → chunk-QQGEBRIG.cjs} +6 -17
  176. package/dist/chunk-QQGEBRIG.cjs.map +1 -0
  177. package/dist/chunk-QTBCX6KF.cjs +84 -0
  178. package/dist/chunk-QTBCX6KF.cjs.map +1 -0
  179. package/dist/{chunk-BRYWV375.cjs → chunk-QVMLEJ63.cjs} +4 -3
  180. package/dist/chunk-QVMLEJ63.cjs.map +1 -0
  181. package/dist/{chunk-TRIYMJ4C.cjs → chunk-R2DKW2EK.cjs} +26 -120
  182. package/dist/chunk-R2DKW2EK.cjs.map +1 -0
  183. package/dist/{chunk-W7PA7IJX.js → chunk-R3SMI5BC.js} +5 -259
  184. package/dist/chunk-R3SMI5BC.js.map +1 -0
  185. package/dist/{chunk-E2UIA7IY.cjs → chunk-RCSPGNEZ.cjs} +3 -2
  186. package/dist/chunk-RCSPGNEZ.cjs.map +1 -0
  187. package/dist/{chunk-SAHA4QAC.js → chunk-RKKIUW52.js} +6 -75
  188. package/dist/chunk-RKKIUW52.js.map +1 -0
  189. package/dist/{chunk-R3WEUP7P.cjs → chunk-SE3VUDBK.cjs} +14 -3
  190. package/dist/chunk-SE3VUDBK.cjs.map +1 -0
  191. package/dist/{chunk-6JJCLDVS.cjs → chunk-SI3B7F4U.cjs} +28 -98
  192. package/dist/chunk-SI3B7F4U.cjs.map +1 -0
  193. package/dist/{chunk-ONKZNI7W.cjs → chunk-STHQS3QR.cjs} +116 -116
  194. package/dist/chunk-STHQS3QR.cjs.map +1 -0
  195. package/dist/chunk-TB3QXBEC.js +65 -0
  196. package/dist/chunk-TB3QXBEC.js.map +1 -0
  197. package/dist/chunk-TJIN7OPG.js +69 -0
  198. package/dist/chunk-TJIN7OPG.js.map +1 -0
  199. package/dist/{chunk-SCSCPEXU.cjs → chunk-TKBRQY5C.cjs} +24 -97
  200. package/dist/chunk-TKBRQY5C.cjs.map +1 -0
  201. package/dist/{chunk-TOAWPUWG.cjs → chunk-TSMZEPL3.cjs} +27 -27
  202. package/dist/chunk-TSMZEPL3.cjs.map +1 -0
  203. package/dist/{chunk-4Q3QO4MB.cjs → chunk-U3PO2SCK.cjs} +6 -5
  204. package/dist/chunk-U3PO2SCK.cjs.map +1 -0
  205. package/dist/chunk-U4YUXGDH.cjs +195 -0
  206. package/dist/chunk-U4YUXGDH.cjs.map +1 -0
  207. package/dist/chunk-ULL6VJ5E.cjs +90 -0
  208. package/dist/chunk-ULL6VJ5E.cjs.map +1 -0
  209. package/dist/{chunk-6ELBMP6Q.js → chunk-UOJM27PI.js} +6 -89
  210. package/dist/chunk-UOJM27PI.js.map +1 -0
  211. package/dist/{chunk-U53P5KGY.js → chunk-URPQ6FHZ.js} +6 -6
  212. package/dist/chunk-URPQ6FHZ.js.map +1 -0
  213. package/dist/{chunk-R6M5RX3R.cjs → chunk-USD6C4ZL.cjs} +25 -16
  214. package/dist/chunk-USD6C4ZL.cjs.map +1 -0
  215. package/dist/{chunk-5CRPJSGU.js → chunk-USZD5AX2.js} +4 -4
  216. package/dist/chunk-USZD5AX2.js.map +1 -0
  217. package/dist/chunk-V7DWWIJ6.js +18 -0
  218. package/dist/chunk-V7DWWIJ6.js.map +1 -0
  219. package/dist/chunk-VDG7SNSS.js +343 -0
  220. package/dist/chunk-VDG7SNSS.js.map +1 -0
  221. package/dist/{chunk-Z3LL4AAE.js → chunk-VKTJMAUK.js} +6 -8
  222. package/dist/chunk-VKTJMAUK.js.map +1 -0
  223. package/dist/{chunk-KD3YOO6V.cjs → chunk-VTHT3PPM.cjs} +7 -5
  224. package/dist/chunk-VTHT3PPM.cjs.map +1 -0
  225. package/dist/{chunk-BJ7PYBAM.cjs → chunk-W34IV6DV.cjs} +24 -95
  226. package/dist/chunk-W34IV6DV.cjs.map +1 -0
  227. package/dist/{chunk-42NL52FN.js → chunk-WAWVGCSA.js} +5 -24
  228. package/dist/chunk-WAWVGCSA.js.map +1 -0
  229. package/dist/chunk-WOMVBFIP.cjs +81 -0
  230. package/dist/chunk-WOMVBFIP.cjs.map +1 -0
  231. package/dist/{chunk-6WDBVMGU.js → chunk-WXS6DNFY.js} +4 -65
  232. package/dist/chunk-WXS6DNFY.js.map +1 -0
  233. package/dist/{chunk-OFVMF4SA.js → chunk-X2UK65IJ.js} +5 -95
  234. package/dist/chunk-X2UK65IJ.js.map +1 -0
  235. package/dist/{chunk-Q5HPZJ5K.js → chunk-YEGGGHMD.js} +4 -4
  236. package/dist/{chunk-Q5HPZJ5K.js.map → chunk-YEGGGHMD.js.map} +1 -1
  237. package/dist/chunk-YUWWXTL2.cjs +69 -0
  238. package/dist/chunk-YUWWXTL2.cjs.map +1 -0
  239. package/dist/{chunk-WQW3XWRQ.js → chunk-YVN3HW3L.js} +4 -55
  240. package/dist/chunk-YVN3HW3L.js.map +1 -0
  241. package/dist/{chunk-AILL53XB.cjs → chunk-Z2QBLWUE.cjs} +1008 -1325
  242. package/dist/chunk-Z2QBLWUE.cjs.map +1 -0
  243. package/dist/{chunk-QTII22RU.js → chunk-ZMQY23MO.js} +4 -70
  244. package/dist/chunk-ZMQY23MO.js.map +1 -0
  245. package/dist/{chunk-RWLJZWDL.cjs → chunk-ZYXDUS6Q.cjs} +4 -3
  246. package/dist/chunk-ZYXDUS6Q.cjs.map +1 -0
  247. package/dist/dist-47C5ZLC7.js +1 -1
  248. package/dist/dist-BSWYTOHE.js +1 -1
  249. package/dist/dist-GKNLMW5G.js +1 -1
  250. package/dist/dist-RVKG65AN.js +1 -1
  251. package/dist/docs/SKILL.md +1 -1
  252. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  253. package/dist/{observational-memory-YRWU6CY3-OSS4UPF4.cjs → observational-memory-XXD6E2SO-3I4EZBKC.cjs} +308 -40
  254. package/dist/observational-memory-XXD6E2SO-3I4EZBKC.cjs.map +1 -0
  255. package/dist/{observational-memory-YRWU6CY3-I7PD5THQ.js → observational-memory-XXD6E2SO-QVSLOLI6.js} +308 -40
  256. package/dist/observational-memory-XXD6E2SO-QVSLOLI6.js.map +1 -0
  257. package/dist/server/auth/helpers.d.ts.map +1 -1
  258. package/dist/server/auth/index.cjs +12 -12
  259. package/dist/server/auth/index.js +1 -1
  260. package/dist/server/handlers/a2a.cjs +9 -9
  261. package/dist/server/handlers/a2a.d.ts +95 -2
  262. package/dist/server/handlers/a2a.d.ts.map +1 -1
  263. package/dist/server/handlers/a2a.js +1 -1
  264. package/dist/server/handlers/agent-builder.cjs +16 -16
  265. package/dist/server/handlers/agent-builder.d.ts +377 -15
  266. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  267. package/dist/server/handlers/agent-builder.js +1 -1
  268. package/dist/server/handlers/agent-versions.cjs +8 -8
  269. package/dist/server/handlers/agent-versions.d.ts +13233 -2792
  270. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  271. package/dist/server/handlers/agent-versions.js +1 -1
  272. package/dist/server/handlers/agents.cjs +33 -33
  273. package/dist/server/handlers/agents.d.ts +4721 -134
  274. package/dist/server/handlers/agents.d.ts.map +1 -1
  275. package/dist/server/handlers/agents.js +1 -1
  276. package/dist/server/handlers/auth.cjs +10 -10
  277. package/dist/server/handlers/auth.d.ts +152 -13
  278. package/dist/server/handlers/auth.d.ts.map +1 -1
  279. package/dist/server/handlers/auth.js +1 -1
  280. package/dist/server/handlers/datasets.cjs +21 -21
  281. package/dist/server/handlers/datasets.d.ts +416 -20
  282. package/dist/server/handlers/datasets.d.ts.map +1 -1
  283. package/dist/server/handlers/datasets.js +1 -1
  284. package/dist/server/handlers/logs.cjs +4 -4
  285. package/dist/server/handlers/logs.d.ts +105 -3
  286. package/dist/server/handlers/logs.d.ts.map +1 -1
  287. package/dist/server/handlers/logs.js +1 -1
  288. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  289. package/dist/server/handlers/mcp-client-versions.d.ts +197 -7
  290. package/dist/server/handlers/mcp-client-versions.d.ts.map +1 -1
  291. package/dist/server/handlers/mcp-client-versions.js +1 -1
  292. package/dist/server/handlers/mcp.cjs +9 -9
  293. package/dist/server/handlers/mcp.d.ts +73 -8
  294. package/dist/server/handlers/mcp.d.ts.map +1 -1
  295. package/dist/server/handlers/mcp.js +1 -1
  296. package/dist/server/handlers/memory.cjs +27 -27
  297. package/dist/server/handlers/memory.d.ts +579 -25
  298. package/dist/server/handlers/memory.d.ts.map +1 -1
  299. package/dist/server/handlers/memory.js +1 -1
  300. package/dist/server/handlers/observability.cjs +5 -5
  301. package/dist/server/handlers/observability.d.ts +181 -10
  302. package/dist/server/handlers/observability.d.ts.map +1 -1
  303. package/dist/server/handlers/observability.js +1 -1
  304. package/dist/server/handlers/processor-providers.cjs +3 -3
  305. package/dist/server/handlers/processor-providers.d.ts +29 -2
  306. package/dist/server/handlers/processor-providers.d.ts.map +1 -1
  307. package/dist/server/handlers/processor-providers.js +1 -1
  308. package/dist/server/handlers/processors.cjs +4 -4
  309. package/dist/server/handlers/processors.d.ts +113 -3
  310. package/dist/server/handlers/processors.d.ts.map +1 -1
  311. package/dist/server/handlers/processors.js +1 -1
  312. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  313. package/dist/server/handlers/prompt-block-versions.d.ts +563 -7
  314. package/dist/server/handlers/prompt-block-versions.d.ts.map +1 -1
  315. package/dist/server/handlers/prompt-block-versions.js +1 -1
  316. package/dist/server/handlers/scorer-versions.cjs +8 -8
  317. package/dist/server/handlers/scorer-versions.d.ts +311 -7
  318. package/dist/server/handlers/scorer-versions.d.ts.map +1 -1
  319. package/dist/server/handlers/scorer-versions.js +1 -1
  320. package/dist/server/handlers/scores.cjs +7 -7
  321. package/dist/server/handlers/scores.d.ts +84 -6
  322. package/dist/server/handlers/scores.d.ts.map +1 -1
  323. package/dist/server/handlers/scores.js +1 -1
  324. package/dist/server/handlers/stored-agents.cjs +7 -7
  325. package/dist/server/handlers/stored-agents.d.ts +5965 -6883
  326. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  327. package/dist/server/handlers/stored-agents.js +1 -1
  328. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  329. package/dist/server/handlers/stored-mcp-clients.d.ts +191 -5
  330. package/dist/server/handlers/stored-mcp-clients.d.ts.map +1 -1
  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.d.ts +561 -5
  334. package/dist/server/handlers/stored-prompt-blocks.d.ts.map +1 -1
  335. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  336. package/dist/server/handlers/stored-scorers.cjs +6 -6
  337. package/dist/server/handlers/stored-scorers.d.ts +305 -5
  338. package/dist/server/handlers/stored-scorers.d.ts.map +1 -1
  339. package/dist/server/handlers/stored-scorers.js +1 -1
  340. package/dist/server/handlers/stored-skills.cjs +7 -7
  341. package/dist/server/handlers/stored-skills.d.ts +235 -6
  342. package/dist/server/handlers/stored-skills.d.ts.map +1 -1
  343. package/dist/server/handlers/stored-skills.js +1 -1
  344. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  345. package/dist/server/handlers/stored-workspaces.d.ts +331 -5
  346. package/dist/server/handlers/stored-workspaces.d.ts.map +1 -1
  347. package/dist/server/handlers/stored-workspaces.js +1 -1
  348. package/dist/server/handlers/system.cjs +2 -2
  349. package/dist/server/handlers/system.d.ts +8 -1
  350. package/dist/server/handlers/system.d.ts.map +1 -1
  351. package/dist/server/handlers/system.js +1 -1
  352. package/dist/server/handlers/tool-providers.cjs +5 -5
  353. package/dist/server/handlers/tool-providers.d.ts +48 -4
  354. package/dist/server/handlers/tool-providers.d.ts.map +1 -1
  355. package/dist/server/handlers/tool-providers.js +1 -1
  356. package/dist/server/handlers/tools.cjs +6 -6
  357. package/dist/server/handlers/tools.d.ts +41 -5
  358. package/dist/server/handlers/tools.d.ts.map +1 -1
  359. package/dist/server/handlers/tools.js +1 -1
  360. package/dist/server/handlers/vector.cjs +16 -16
  361. package/dist/server/handlers/vector.d.ts +67 -8
  362. package/dist/server/handlers/vector.d.ts.map +1 -1
  363. package/dist/server/handlers/vector.js +1 -1
  364. package/dist/server/handlers/voice.cjs +8 -8
  365. package/dist/server/handlers/voice.d.ts +41 -7
  366. package/dist/server/handlers/voice.d.ts.map +1 -1
  367. package/dist/server/handlers/voice.js +1 -1
  368. package/dist/server/handlers/workflows.cjs +24 -24
  369. package/dist/server/handlers/workflows.d.ts +551 -23
  370. package/dist/server/handlers/workflows.d.ts.map +1 -1
  371. package/dist/server/handlers/workflows.js +1 -1
  372. package/dist/server/handlers/workspace.cjs +26 -26
  373. package/dist/server/handlers/workspace.d.ts +664 -39
  374. package/dist/server/handlers/workspace.d.ts.map +1 -1
  375. package/dist/server/handlers/workspace.js +1 -1
  376. package/dist/server/handlers.cjs +26 -26
  377. package/dist/server/handlers.js +13 -13
  378. package/dist/server/schemas/__tests__/route-contracts.typetest.d.ts +2 -0
  379. package/dist/server/schemas/__tests__/route-contracts.typetest.d.ts.map +1 -0
  380. package/dist/server/schemas/index.cjs +1717 -0
  381. package/dist/server/schemas/index.cjs.map +1 -0
  382. package/dist/server/schemas/index.d.ts +33 -0
  383. package/dist/server/schemas/index.d.ts.map +1 -0
  384. package/dist/server/schemas/index.js +32 -0
  385. package/dist/server/schemas/index.js.map +1 -0
  386. package/dist/server/schemas/route-contracts.d.ts +74 -0
  387. package/dist/server/schemas/route-contracts.d.ts.map +1 -0
  388. package/dist/server/server-adapter/index.cjs +292 -296
  389. package/dist/server/server-adapter/index.cjs.map +1 -1
  390. package/dist/server/server-adapter/index.d.ts +4 -0
  391. package/dist/server/server-adapter/index.d.ts.map +1 -1
  392. package/dist/server/server-adapter/index.js +66 -70
  393. package/dist/server/server-adapter/index.js.map +1 -1
  394. package/dist/server/server-adapter/openapi-utils.d.ts +2 -2
  395. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  396. package/dist/server/server-adapter/routes/a2a.d.ts +187 -2
  397. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  398. package/dist/server/server-adapter/routes/agent-builder.d.ts +607 -2
  399. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  400. package/dist/server/server-adapter/routes/agents.d.ts +43 -1
  401. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  402. package/dist/server/server-adapter/routes/datasets.d.ts +768 -2
  403. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  404. package/dist/server/server-adapter/routes/index.d.ts +75 -4
  405. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  406. package/dist/server/server-adapter/routes/legacy.d.ts +347 -2
  407. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -1
  408. package/dist/server/server-adapter/routes/logs.d.ts +193 -2
  409. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -1
  410. package/dist/server/server-adapter/routes/mcp.d.ts +131 -2
  411. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -1
  412. package/dist/server/server-adapter/routes/memory.d.ts +1082 -2
  413. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  414. package/dist/server/server-adapter/routes/observability.d.ts +308 -2
  415. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  416. package/dist/server/server-adapter/routes/processor-providers.d.ts +43 -2
  417. package/dist/server/server-adapter/routes/processor-providers.d.ts.map +1 -1
  418. package/dist/server/server-adapter/routes/processors.d.ts +197 -2
  419. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -1
  420. package/dist/server/server-adapter/routes/route-builder.d.ts +6 -6
  421. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  422. package/dist/server/server-adapter/routes/scorers.d.ts +157 -2
  423. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -1
  424. package/dist/server/server-adapter/routes/stored-agents.d.ts +22 -1
  425. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  426. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts +720 -2
  427. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts.map +1 -1
  428. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts +1697 -2
  429. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts.map +1 -1
  430. package/dist/server/server-adapter/routes/stored-scorers.d.ts +1077 -2
  431. package/dist/server/server-adapter/routes/stored-scorers.d.ts.map +1 -1
  432. package/dist/server/server-adapter/routes/stored-skills.d.ts +459 -2
  433. package/dist/server/server-adapter/routes/stored-skills.d.ts.map +1 -1
  434. package/dist/server/server-adapter/routes/stored-workspaces.d.ts +653 -2
  435. package/dist/server/server-adapter/routes/stored-workspaces.d.ts.map +1 -1
  436. package/dist/server/server-adapter/routes/system.d.ts +8 -1
  437. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  438. package/dist/server/server-adapter/routes/tool-providers.d.ts +89 -2
  439. package/dist/server/server-adapter/routes/tool-providers.d.ts.map +1 -1
  440. package/dist/server/server-adapter/routes/tools.d.ts +43 -2
  441. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -1
  442. package/dist/server/server-adapter/routes/vectors.d.ts +119 -2
  443. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -1
  444. package/dist/server/server-adapter/routes/workflows.d.ts +897 -2
  445. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  446. package/dist/server/server-adapter/routes/workspace.d.ts +650 -2
  447. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -1
  448. package/package.json +19 -9
  449. package/schemas.d.ts +1 -0
  450. package/dist/chunk-27QSSHGX.js.map +0 -1
  451. package/dist/chunk-3P34AJWW.js.map +0 -1
  452. package/dist/chunk-42NL52FN.js.map +0 -1
  453. package/dist/chunk-43WGLEEB.js.map +0 -1
  454. package/dist/chunk-4Q3QO4MB.cjs.map +0 -1
  455. package/dist/chunk-5CRPJSGU.js.map +0 -1
  456. package/dist/chunk-5OOQPDVS.cjs.map +0 -1
  457. package/dist/chunk-6ELBMP6Q.js.map +0 -1
  458. package/dist/chunk-6JJCLDVS.cjs.map +0 -1
  459. package/dist/chunk-6WDBVMGU.js.map +0 -1
  460. package/dist/chunk-7F2JBD7F.cjs.map +0 -1
  461. package/dist/chunk-AILL53XB.cjs.map +0 -1
  462. package/dist/chunk-BAWISNLT.cjs.map +0 -1
  463. package/dist/chunk-BJ7PYBAM.cjs.map +0 -1
  464. package/dist/chunk-BRYWV375.cjs.map +0 -1
  465. package/dist/chunk-BZMWUSOF.js.map +0 -1
  466. package/dist/chunk-CPEJA5XY.cjs.map +0 -1
  467. package/dist/chunk-D6AEONK2.js.map +0 -1
  468. package/dist/chunk-DRFNY77Q.cjs.map +0 -1
  469. package/dist/chunk-DW6ZTEJ4.cjs.map +0 -1
  470. package/dist/chunk-E2UIA7IY.cjs.map +0 -1
  471. package/dist/chunk-E4NYFEOQ.cjs.map +0 -1
  472. package/dist/chunk-ELLQE6XA.js.map +0 -1
  473. package/dist/chunk-GAATB3SN.cjs.map +0 -1
  474. package/dist/chunk-GTFXCNM6.cjs +0 -343
  475. package/dist/chunk-GTFXCNM6.cjs.map +0 -1
  476. package/dist/chunk-HFOR62M4.js.map +0 -1
  477. package/dist/chunk-IXWCFFVU.cjs.map +0 -1
  478. package/dist/chunk-KD3YOO6V.cjs.map +0 -1
  479. package/dist/chunk-LFB6AUDW.js.map +0 -1
  480. package/dist/chunk-LIMSH6CA.js.map +0 -1
  481. package/dist/chunk-LIXI3MOA.cjs.map +0 -1
  482. package/dist/chunk-MKIO7LCE.cjs.map +0 -1
  483. package/dist/chunk-MOR4VVBW.js.map +0 -1
  484. package/dist/chunk-MWWNB5KJ.js.map +0 -1
  485. package/dist/chunk-NBYRUVSE.cjs.map +0 -1
  486. package/dist/chunk-OBA7KIAW.js.map +0 -1
  487. package/dist/chunk-OFVMF4SA.js.map +0 -1
  488. package/dist/chunk-ONKZNI7W.cjs.map +0 -1
  489. package/dist/chunk-OQG4AAGQ.cjs.map +0 -1
  490. package/dist/chunk-OWZQBVC3.js.map +0 -1
  491. package/dist/chunk-PYO3IWOR.js.map +0 -1
  492. package/dist/chunk-QG276LOL.js +0 -335
  493. package/dist/chunk-QG276LOL.js.map +0 -1
  494. package/dist/chunk-QRQAZI3Q.js.map +0 -1
  495. package/dist/chunk-QTII22RU.js.map +0 -1
  496. package/dist/chunk-QYPZ4IND.js.map +0 -1
  497. package/dist/chunk-R3WEUP7P.cjs.map +0 -1
  498. package/dist/chunk-R6M5RX3R.cjs.map +0 -1
  499. package/dist/chunk-RCEX4V4N.cjs.map +0 -1
  500. package/dist/chunk-RWLJZWDL.cjs.map +0 -1
  501. package/dist/chunk-S46TMT6A.cjs.map +0 -1
  502. package/dist/chunk-S5SBIVKP.js.map +0 -1
  503. package/dist/chunk-S7BVUW44.cjs.map +0 -1
  504. package/dist/chunk-SAHA4QAC.js.map +0 -1
  505. package/dist/chunk-SCSCPEXU.cjs.map +0 -1
  506. package/dist/chunk-SVQNZ6U2.js.map +0 -1
  507. package/dist/chunk-TOAWPUWG.cjs.map +0 -1
  508. package/dist/chunk-TRIYMJ4C.cjs.map +0 -1
  509. package/dist/chunk-U53P5KGY.js.map +0 -1
  510. package/dist/chunk-UH6RBD57.cjs.map +0 -1
  511. package/dist/chunk-V4RWTVRV.cjs.map +0 -1
  512. package/dist/chunk-VFRQX7CD.cjs.map +0 -1
  513. package/dist/chunk-W7PA7IJX.js.map +0 -1
  514. package/dist/chunk-WQW3XWRQ.js.map +0 -1
  515. package/dist/chunk-XQURD55R.js.map +0 -1
  516. package/dist/chunk-YHXHZINI.js.map +0 -1
  517. package/dist/chunk-Z3LL4AAE.js.map +0 -1
  518. package/dist/observational-memory-YRWU6CY3-I7PD5THQ.js.map +0 -1
  519. package/dist/observational-memory-YRWU6CY3-OSS4UPF4.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/schemas/prompt-block-versions.ts","../src/server/handlers/prompt-block-versions.ts"],"names":[],"mappings":"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","file":"chunk-ELLQE6XA.js","sourcesContent":["import z from 'zod';\nimport { ruleGroupSchema } from './rule-group';\nimport {\n listVersionsQuerySchema,\n compareVersionsQuerySchema,\n createVersionBodySchema,\n activateVersionResponseSchema,\n deleteVersionResponseSchema,\n versionDiffEntrySchema,\n createListVersionsResponseSchema,\n createCompareVersionsResponseSchema,\n} from './version-common';\n\n// Re-export shared schemas under domain-specific names\nexport const listPromptBlockVersionsQuerySchema = listVersionsQuerySchema;\nexport const comparePromptBlockVersionsQuerySchema = compareVersionsQuerySchema;\nexport const createPromptBlockVersionBodySchema = createVersionBodySchema;\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const promptBlockVersionPathParams = z.object({\n promptBlockId: z.string().describe('Unique identifier for the stored prompt block'),\n});\n\nexport const promptBlockVersionIdPathParams = z.object({\n promptBlockId: z.string().describe('Unique identifier for the stored prompt block'),\n versionId: z.string().describe('Unique identifier for the version (UUID)'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nexport const promptBlockVersionSchema = z.object({\n id: z.string().describe('Unique identifier for the version (UUID)'),\n blockId: z.string().describe('ID of the prompt block this version belongs to'),\n versionNumber: z.number().describe('Sequential version number (1, 2, 3, ...)'),\n // Snapshot config fields\n name: z.string().describe('Display name of the prompt block'),\n description: z.string().optional().describe('Purpose description'),\n content: z.string().describe('Template content with {{variable}} interpolation'),\n rules: ruleGroupSchema.optional().describe('Rules for conditional inclusion'),\n requestContextSchema: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('JSON Schema defining available variables for {{variableName}} interpolation and conditions'),\n // Version metadata\n changedFields: z.array(z.string()).optional().describe('Array of field names that changed from the previous version'),\n changeMessage: z.string().optional().describe('Optional message describing the changes'),\n createdAt: z.coerce.date().describe('When this version was created'),\n});\n\nexport const listPromptBlockVersionsResponseSchema = createListVersionsResponseSchema(promptBlockVersionSchema);\n\nexport const getPromptBlockVersionResponseSchema = promptBlockVersionSchema;\n\nexport const createPromptBlockVersionResponseSchema = promptBlockVersionSchema.partial().merge(\n z.object({\n id: z.string(),\n blockId: z.string(),\n versionNumber: z.number(),\n createdAt: z.coerce.date(),\n }),\n);\n\nexport const activatePromptBlockVersionResponseSchema = activateVersionResponseSchema;\n\nexport const restorePromptBlockVersionResponseSchema = promptBlockVersionSchema;\n\nexport const deletePromptBlockVersionResponseSchema = deleteVersionResponseSchema;\n\nexport const comparePromptBlockVersionsResponseSchema = createCompareVersionsResponseSchema(promptBlockVersionSchema);\n\nexport { versionDiffEntrySchema };\n","import { HTTPException } from '../http-exception';\nimport {\n promptBlockVersionPathParams,\n promptBlockVersionIdPathParams,\n listPromptBlockVersionsQuerySchema,\n createPromptBlockVersionBodySchema,\n comparePromptBlockVersionsQuerySchema,\n listPromptBlockVersionsResponseSchema,\n getPromptBlockVersionResponseSchema,\n createPromptBlockVersionResponseSchema,\n activatePromptBlockVersionResponseSchema,\n restorePromptBlockVersionResponseSchema,\n deletePromptBlockVersionResponseSchema,\n comparePromptBlockVersionsResponseSchema,\n} from '../schemas/prompt-block-versions';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst SNAPSHOT_CONFIG_FIELDS = ['name', 'description', 'content', 'rules'] as const;\n\n/**\n * GET /stored/prompt-blocks/:promptBlockId/versions - List all versions for a prompt block\n */\nexport const LIST_PROMPT_BLOCK_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:promptBlockId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionPathParams,\n queryParamSchema: listPromptBlockVersionsQuerySchema,\n responseSchema: listPromptBlockVersionsResponseSchema,\n summary: 'List prompt block versions',\n description: 'Returns a paginated list of all versions for a stored prompt block',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, page, perPage, orderBy }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getById(promptBlockId);\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });\n }\n\n const result = await promptBlockStore.listVersions({\n blockId: promptBlockId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing prompt block versions');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks/:promptBlockId/versions - Create a new version snapshot\n */\nexport const CREATE_PROMPT_BLOCK_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks/:promptBlockId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionPathParams,\n bodySchema: createPromptBlockVersionBodySchema,\n responseSchema: createPromptBlockVersionResponseSchema,\n summary: 'Create prompt block version',\n description: 'Creates a new version snapshot of the current prompt block configuration',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, changeMessage }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getById(promptBlockId);\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });\n }\n\n let currentConfig: Record<string, unknown> = {};\n if (promptBlock.activeVersionId) {\n const activeVersion = await promptBlockStore.getVersion(promptBlock.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(promptBlockId);\n\n // If no activeVersionId, fall back to latest version config\n if (!promptBlock.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n const { versionId } = await createVersionWithRetry(\n promptBlockStore as unknown as VersionedStoreInterface,\n promptBlockId,\n 'blockId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n const version = await promptBlockStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n promptBlockStore as unknown as VersionedStoreInterface,\n promptBlockId,\n 'blockId',\n promptBlock.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating prompt block version');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:promptBlockId/versions/:versionId - Get a specific version\n */\nexport const GET_PROMPT_BLOCK_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:promptBlockId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionIdPathParams,\n responseSchema: getPromptBlockVersionResponseSchema,\n summary: 'Get prompt block version',\n description: 'Returns a specific version of a prompt block by its version ID',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const version = await promptBlockStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n if (version.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for prompt block ${promptBlockId}`,\n });\n }\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting prompt block version');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks/:promptBlockId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks/:promptBlockId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionIdPathParams,\n responseSchema: activatePromptBlockVersionResponseSchema,\n summary: 'Activate prompt block version',\n description: 'Sets a specific version as the active version for the prompt block',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getById(promptBlockId);\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });\n }\n\n const version = await promptBlockStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for prompt block ${promptBlockId}`,\n });\n }\n\n await promptBlockStore.update({\n id: promptBlockId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.prompt.clearCache(promptBlockId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} is now active`,\n activeVersionId: versionId,\n };\n } catch (error) {\n return handleError(error, 'Error activating prompt block version');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks/:promptBlockId/versions/:versionId/restore - Restore prompt block to a version\n */\nexport const RESTORE_PROMPT_BLOCK_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks/:promptBlockId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionIdPathParams,\n responseSchema: restorePromptBlockVersionResponseSchema,\n summary: 'Restore prompt block version',\n description: 'Restores the prompt block configuration from a version, creating a new version',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getById(promptBlockId);\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });\n }\n\n const versionToRestore = await promptBlockStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for prompt block ${promptBlockId}`,\n });\n }\n\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n await promptBlockStore.update({\n id: promptBlockId,\n ...restoredConfig,\n });\n\n const latestVersion = await promptBlockStore.getLatestVersion(promptBlockId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n const { versionId: newVersionId } = await createVersionWithRetry(\n promptBlockStore as unknown as VersionedStoreInterface,\n promptBlockId,\n 'blockId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n const newVersion = await promptBlockStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n promptBlockStore as unknown as VersionedStoreInterface,\n promptBlockId,\n 'blockId',\n promptBlock.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.prompt.clearCache(promptBlockId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring prompt block version');\n }\n },\n});\n\n/**\n * DELETE /stored/prompt-blocks/:promptBlockId/versions/:versionId - Delete a version\n */\nexport const DELETE_PROMPT_BLOCK_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/prompt-blocks/:promptBlockId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionIdPathParams,\n responseSchema: deletePromptBlockVersionResponseSchema,\n summary: 'Delete prompt block version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getById(promptBlockId);\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });\n }\n\n const version = await promptBlockStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for prompt block ${promptBlockId}`,\n });\n }\n\n if (promptBlock.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await promptBlockStore.deleteVersion(versionId);\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.prompt.clearCache(promptBlockId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting prompt block version');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:promptBlockId/versions/compare - Compare two versions\n */\nexport const COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:promptBlockId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: promptBlockVersionPathParams,\n queryParamSchema: comparePromptBlockVersionsQuerySchema,\n responseSchema: comparePromptBlockVersionsResponseSchema,\n summary: 'Compare prompt block versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['Prompt Block Versions'],\n handler: async ({ mastra, promptBlockId, from, to }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const fromVersion = await promptBlockStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${from} not found for prompt block ${promptBlockId}`,\n });\n }\n\n const toVersion = await promptBlockStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.blockId !== promptBlockId) {\n throw new HTTPException(404, {\n message: `Version with id ${to} not found for prompt block ${promptBlockId}`,\n });\n }\n\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n const diffs = computeVersionDiffs(fromConfig, toConfig);\n\n return {\n diffs,\n fromVersion,\n toVersion,\n };\n } catch (error) {\n return handleError(error, 'Error comparing prompt block versions');\n }\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/vector.ts","../src/server/schemas/vectors.ts"],"names":["__export","z","successResponseSchema","HTTPException","handleError","createRoute","EMBEDDING_MODELS"],"mappings":"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","file":"chunk-GAATB3SN.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,\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","import z from 'zod';\nimport { successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const vectorNamePathParams = z.object({\n vectorName: z.string().describe('Name of the vector store'),\n});\n\nexport const vectorIndexPathParams = vectorNamePathParams.extend({\n indexName: z.string().describe('Name of the index'),\n});\n\n// Body schemas\n// Base schema for operations that require an index name\nconst indexBodyBaseSchema = z.object({\n indexName: z.string(),\n});\n\nexport const upsertVectorsBodySchema = indexBodyBaseSchema.extend({\n vectors: z.array(z.array(z.number())),\n metadata: z.array(z.record(z.string(), z.any())).optional(),\n ids: z.array(z.string()).optional(),\n});\n\nexport const createIndexBodySchema = indexBodyBaseSchema.extend({\n dimension: z.number(),\n metric: z.enum(['cosine', 'euclidean', 'dotproduct']).optional(),\n});\n\nexport const queryVectorsBodySchema = indexBodyBaseSchema.extend({\n queryVector: z.array(z.number()),\n topK: z.number().optional(),\n filter: z.record(z.string(), z.any()).optional(),\n includeVector: z.boolean().optional(),\n});\n\n// Response schemas\nexport const upsertVectorsResponseSchema = z.object({\n ids: z.array(z.string()),\n});\n\nexport const createIndexResponseSchema = successResponseSchema;\n\nexport const queryVectorsResponseSchema = z.array(z.unknown()); // QueryResult[]\n\nexport const listIndexesResponseSchema = z.array(z.string());\n\nexport const describeIndexResponseSchema = z.object({\n dimension: z.number(),\n count: z.number(),\n metric: z.string().optional(),\n});\n\nexport const deleteIndexResponseSchema = successResponseSchema;\n\nexport const listVectorsResponseSchema = z.object({\n vectors: z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n description: z.string().optional(),\n }),\n ),\n});\n\nexport const listEmbeddersResponseSchema = z.object({\n embedders: z.array(\n z.object({\n id: z.string(),\n provider: z.string(),\n name: z.string(),\n description: z.string(),\n dimensions: z.number(),\n maxInputTokens: z.number(),\n }),\n ),\n});\n"]}
@@ -1,343 +0,0 @@
1
- 'use strict';
2
-
3
- var schema = require('@mastra/core/schema');
4
- var zodToJson = require('@mastra/core/utils/zod-to-json');
5
- var schemaCompat = require('@mastra/schema-compat');
6
- var zod = require('zod');
7
-
8
- // src/server/server-adapter/openapi-utils.ts
9
- function generateRouteOpenAPI({
10
- method,
11
- path,
12
- summary,
13
- description,
14
- tags = [],
15
- pathParamSchema,
16
- queryParamSchema,
17
- bodySchema,
18
- responseSchema,
19
- deprecated
20
- }) {
21
- const route = {
22
- summary: summary || `${method} ${path}`,
23
- description,
24
- tags,
25
- deprecated,
26
- responses: {
27
- 200: {
28
- description: "Successful response"
29
- }
30
- }
31
- };
32
- if (pathParamSchema || queryParamSchema) {
33
- route.requestParams = {};
34
- if (pathParamSchema) {
35
- route.requestParams.path = pathParamSchema;
36
- }
37
- if (queryParamSchema) {
38
- route.requestParams.query = queryParamSchema;
39
- }
40
- }
41
- if (bodySchema) {
42
- route.requestBody = {
43
- content: {
44
- "application/json": {
45
- schema: bodySchema
46
- }
47
- }
48
- };
49
- }
50
- if (responseSchema) {
51
- route.responses[200] = {
52
- description: "Successful response",
53
- content: {
54
- "application/json": {
55
- schema: responseSchema
56
- }
57
- }
58
- };
59
- }
60
- return route;
61
- }
62
- function schemaToJsonSchema(schema$1) {
63
- const standardSchema = schema.toStandardSchema(schema$1);
64
- return schemaCompat.standardSchemaToJSONSchema(standardSchema);
65
- }
66
- function convertToJsonSchema(spec) {
67
- const converted = {
68
- summary: spec.summary,
69
- description: spec.description,
70
- tags: spec.tags,
71
- responses: {}
72
- };
73
- const parameters = [];
74
- if (spec.requestParams?.path) {
75
- const pathSchema = schemaToJsonSchema(spec.requestParams.path);
76
- const properties = pathSchema.properties || {};
77
- Object.entries(properties).forEach(([name, schema]) => {
78
- parameters.push({
79
- name,
80
- in: "path",
81
- required: true,
82
- description: schema.description || `The ${name} parameter`,
83
- schema
84
- });
85
- });
86
- }
87
- if (spec.requestParams?.query) {
88
- const querySchema = schemaToJsonSchema(spec.requestParams.query);
89
- const properties = querySchema.properties || {};
90
- const required = querySchema.required || [];
91
- Object.entries(properties).forEach(([name, schema]) => {
92
- parameters.push({
93
- name,
94
- in: "query",
95
- required: required.includes(name),
96
- description: schema.description || `Query parameter: ${name}`,
97
- schema
98
- });
99
- });
100
- }
101
- if (parameters.length > 0) {
102
- converted.parameters = parameters;
103
- }
104
- if (spec.requestBody?.content?.["application/json"]?.schema) {
105
- converted.requestBody = {
106
- required: true,
107
- content: {
108
- "application/json": {
109
- schema: schemaToJsonSchema(spec.requestBody.content["application/json"].schema)
110
- }
111
- }
112
- };
113
- }
114
- Object.entries(spec.responses).forEach(([statusCode, response]) => {
115
- converted.responses[statusCode] = {
116
- description: response.description
117
- };
118
- if (response.content?.["application/json"]?.schema) {
119
- converted.responses[statusCode].content = {
120
- "application/json": {
121
- schema: schemaToJsonSchema(response.content["application/json"].schema)
122
- }
123
- };
124
- }
125
- });
126
- return converted;
127
- }
128
- function generateOpenAPIDocument(routes, info) {
129
- const paths = {};
130
- routes.forEach((route) => {
131
- if (!route.openapi) return;
132
- const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
133
- if (!paths[openapiPath]) {
134
- paths[openapiPath] = {};
135
- }
136
- paths[openapiPath][route.method.toLowerCase()] = convertToJsonSchema(route.openapi);
137
- });
138
- return {
139
- openapi: "3.1.0",
140
- info: {
141
- title: info.title,
142
- version: info.version,
143
- description: info.description
144
- },
145
- paths
146
- };
147
- }
148
- function convertCustomRoutesToOpenAPIPaths(routes) {
149
- const paths = {};
150
- for (const route of routes) {
151
- if (!route.openapi || route.openapi.hide) {
152
- continue;
153
- }
154
- if (route.method === "ALL") {
155
- continue;
156
- }
157
- const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
158
- if (!paths[openapiPath]) {
159
- paths[openapiPath] = {};
160
- }
161
- const method = route.method.toLowerCase();
162
- const openapi = route.openapi;
163
- const operation = {
164
- summary: openapi.summary || `${route.method} ${route.path}`,
165
- description: openapi.description,
166
- tags: openapi.tags || ["custom"],
167
- deprecated: openapi.deprecated,
168
- externalDocs: openapi.externalDocs,
169
- security: openapi.security,
170
- servers: openapi.servers
171
- };
172
- if (openapi.parameters && Array.isArray(openapi.parameters)) {
173
- operation.parameters = openapi.parameters.map((param) => {
174
- if (param.schema && typeof param.schema === "object" && "_def" in param.schema) {
175
- return {
176
- ...param,
177
- schema: zodToJson.zodToJsonSchema(param.schema, "openApi3", "none")
178
- };
179
- }
180
- return param;
181
- });
182
- }
183
- if (openapi.requestBody) {
184
- const requestBody = openapi.requestBody;
185
- operation.requestBody = { ...requestBody };
186
- if (requestBody.content) {
187
- operation.requestBody.content = {};
188
- for (const [mediaType, mediaContent] of Object.entries(requestBody.content)) {
189
- if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) {
190
- operation.requestBody.content[mediaType] = {
191
- ...mediaContent,
192
- schema: zodToJson.zodToJsonSchema(mediaContent.schema, "openApi3", "none")
193
- };
194
- } else {
195
- operation.requestBody.content[mediaType] = mediaContent;
196
- }
197
- }
198
- }
199
- }
200
- if (openapi.responses) {
201
- operation.responses = {};
202
- for (const [statusCode, response] of Object.entries(openapi.responses)) {
203
- if (!response) continue;
204
- if ("$ref" in response) {
205
- operation.responses[statusCode] = response;
206
- continue;
207
- }
208
- operation.responses[statusCode] = { ...response };
209
- if (response.content) {
210
- operation.responses[statusCode].content = {};
211
- for (const [mediaType, mediaContent] of Object.entries(response.content)) {
212
- if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) {
213
- operation.responses[statusCode].content[mediaType] = {
214
- ...mediaContent,
215
- schema: zodToJson.zodToJsonSchema(mediaContent.schema, "openApi3", "none")
216
- };
217
- } else {
218
- operation.responses[statusCode].content[mediaType] = mediaContent;
219
- }
220
- }
221
- }
222
- }
223
- } else {
224
- operation.responses = {
225
- 200: {
226
- description: "Successful response"
227
- }
228
- };
229
- }
230
- Object.keys(operation).forEach((key) => {
231
- if (operation[key] === void 0) {
232
- delete operation[key];
233
- }
234
- });
235
- paths[openapiPath][method] = operation;
236
- }
237
- return paths;
238
- }
239
- function pickParams(schema, params) {
240
- const keys = Object.keys(schema.shape);
241
- const result = {};
242
- for (const key of keys) {
243
- if (key in params) {
244
- result[key] = params[key];
245
- }
246
- }
247
- return result;
248
- }
249
- function jsonQueryParam(schema) {
250
- return zod.z.union([
251
- schema,
252
- // Already the expected type (non-string input)
253
- zod.z.string().transform((val, ctx) => {
254
- try {
255
- const parsed = JSON.parse(val);
256
- const result = schema.safeParse(parsed);
257
- if (!result.success) {
258
- for (const issue of result.error.issues) {
259
- ctx.addIssue({
260
- code: zod.z.ZodIssueCode.custom,
261
- message: issue.message,
262
- path: issue.path
263
- });
264
- }
265
- return zod.z.NEVER;
266
- }
267
- return result.data;
268
- } catch (e) {
269
- ctx.addIssue({
270
- code: zod.z.ZodIssueCode.custom,
271
- message: `Invalid JSON: ${e instanceof Error ? e.message : "parse error"}`
272
- });
273
- return zod.z.NEVER;
274
- }
275
- })
276
- ]);
277
- }
278
- function getZodTypeName(schema) {
279
- const schemaAny = schema;
280
- const def = schemaAny?._def ?? schemaAny?.def;
281
- return def?.typeName ?? def?.type;
282
- }
283
- function isComplexType(schema) {
284
- let inner = schema;
285
- let typeName = getZodTypeName(inner);
286
- while (typeName === "ZodOptional" || typeName === "ZodNullable" || typeName === "optional" || typeName === "nullable") {
287
- const innerDef = inner._def ?? inner.def;
288
- inner = innerDef.innerType;
289
- typeName = getZodTypeName(inner);
290
- }
291
- return typeName === "ZodArray" || typeName === "ZodRecord" || typeName === "ZodObject" || typeName === "array" || typeName === "record" || typeName === "object";
292
- }
293
- function wrapSchemaForQueryParams(schema) {
294
- const newShape = {};
295
- const shape = schema.shape;
296
- for (const [key, fieldSchema] of Object.entries(shape)) {
297
- if (isComplexType(fieldSchema)) {
298
- newShape[key] = jsonQueryParam(fieldSchema);
299
- } else {
300
- newShape[key] = fieldSchema;
301
- }
302
- }
303
- return zod.z.object(newShape);
304
- }
305
- function createRoute(config) {
306
- const { summary, description, tags, deprecated, requiresAuth, requiresPermission, onValidationError, ...baseRoute } = config;
307
- const openapi = config.method !== "ALL" ? generateRouteOpenAPI({
308
- method: config.method,
309
- path: config.path,
310
- summary,
311
- description,
312
- tags,
313
- pathParamSchema: config.pathParamSchema,
314
- queryParamSchema: config.queryParamSchema,
315
- bodySchema: config.bodySchema,
316
- responseSchema: config.responseSchema,
317
- deprecated
318
- }) : void 0;
319
- return {
320
- ...baseRoute,
321
- openapi,
322
- deprecated,
323
- requiresAuth,
324
- requiresPermission,
325
- onValidationError
326
- };
327
- }
328
- function createPublicRoute(config) {
329
- return createRoute({
330
- ...config,
331
- requiresAuth: false
332
- });
333
- }
334
-
335
- exports.convertCustomRoutesToOpenAPIPaths = convertCustomRoutesToOpenAPIPaths;
336
- exports.createPublicRoute = createPublicRoute;
337
- exports.createRoute = createRoute;
338
- exports.generateOpenAPIDocument = generateOpenAPIDocument;
339
- exports.jsonQueryParam = jsonQueryParam;
340
- exports.pickParams = pickParams;
341
- exports.wrapSchemaForQueryParams = wrapSchemaForQueryParams;
342
- //# sourceMappingURL=chunk-GTFXCNM6.cjs.map
343
- //# sourceMappingURL=chunk-GTFXCNM6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/server-adapter/openapi-utils.ts","../src/server/server-adapter/routes/route-builder.ts"],"names":["schema","toStandardSchema","standardSchemaToJSONSchema","zodToJsonSchema","z"],"mappings":"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","file":"chunk-GTFXCNM6.cjs","sourcesContent":["import type { PublicSchema } from '@mastra/core/schema';\nimport { toStandardSchema } from '@mastra/core/schema';\nimport type { ApiRoute } from '@mastra/core/server';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { standardSchemaToJSONSchema } from '@mastra/schema-compat';\nimport type { JSONSchema7 } from '@mastra/schema-compat';\nimport type { ServerRoute } from './routes';\n\ninterface RouteOpenAPIConfig {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n summary?: string;\n description?: string;\n tags?: string[];\n pathParamSchema?: PublicSchema<unknown>;\n queryParamSchema?: PublicSchema<unknown>;\n bodySchema?: PublicSchema<unknown>;\n responseSchema?: PublicSchema<unknown>;\n deprecated?: boolean;\n}\n\ninterface OpenAPIRoute {\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n requestParams?: {\n path?: PublicSchema<unknown>;\n query?: PublicSchema<unknown>;\n };\n requestBody?: {\n content: {\n 'application/json': {\n schema: PublicSchema<unknown>;\n };\n };\n };\n responses: {\n [statusCode: string]: {\n description: string;\n content?: {\n 'application/json': {\n schema: PublicSchema<unknown>;\n };\n };\n };\n };\n}\n\n/**\n * Generates OpenAPI specification for a single route\n * Extracts path parameters, query parameters, request body, and response schemas\n */\nexport function generateRouteOpenAPI({\n method,\n path,\n summary,\n description,\n tags = [],\n pathParamSchema,\n queryParamSchema,\n bodySchema,\n responseSchema,\n deprecated,\n}: RouteOpenAPIConfig): OpenAPIRoute {\n const route: OpenAPIRoute = {\n summary: summary || `${method} ${path}`,\n description,\n tags,\n deprecated,\n responses: {\n 200: {\n description: 'Successful response',\n },\n },\n };\n\n // Add path and query parameters\n if (pathParamSchema || queryParamSchema) {\n route.requestParams = {};\n\n if (pathParamSchema) {\n route.requestParams.path = pathParamSchema;\n }\n\n if (queryParamSchema) {\n route.requestParams.query = queryParamSchema;\n }\n }\n\n // Add request body with raw Zod schema\n if (bodySchema) {\n route.requestBody = {\n content: {\n 'application/json': {\n schema: bodySchema,\n },\n },\n };\n }\n\n // Add response schema with raw Zod schema\n if (responseSchema) {\n route.responses[200] = {\n description: 'Successful response',\n content: {\n 'application/json': {\n schema: responseSchema,\n },\n },\n };\n }\n\n return route;\n}\n\n/**\n * Helper to convert any PublicSchema to JSON Schema for OpenAPI\n */\nfunction schemaToJsonSchema(schema: PublicSchema<unknown>): JSONSchema7 {\n const standardSchema = toStandardSchema(schema);\n\n return standardSchemaToJSONSchema(standardSchema);\n}\n\n/**\n * Converts an OpenAPI route spec with PublicSchema to one with JSON Schema\n */\nfunction convertToJsonSchema(spec: OpenAPIRoute): any {\n const converted: any = {\n summary: spec.summary,\n description: spec.description,\n tags: spec.tags,\n responses: {},\n };\n\n const parameters: any[] = [];\n\n // Convert path parameters\n if (spec.requestParams?.path) {\n const pathSchema = schemaToJsonSchema(spec.requestParams.path) as any;\n const properties = pathSchema.properties || {};\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'path',\n required: true,\n description: (schema as any).description || `The ${name} parameter`,\n schema,\n });\n });\n }\n\n // Convert query parameters\n if (spec.requestParams?.query) {\n const querySchema = schemaToJsonSchema(spec.requestParams.query) as any;\n const properties = querySchema.properties || {};\n const required = querySchema.required || [];\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'query',\n required: required.includes(name),\n description: (schema as any).description || `Query parameter: ${name}`,\n schema,\n });\n });\n }\n\n if (parameters.length > 0) {\n converted.parameters = parameters;\n }\n\n // Convert request body\n if (spec.requestBody?.content?.['application/json']?.schema) {\n converted.requestBody = {\n required: true,\n content: {\n 'application/json': {\n schema: schemaToJsonSchema(spec.requestBody.content['application/json'].schema),\n },\n },\n };\n }\n\n // Convert response schemas\n Object.entries(spec.responses).forEach(([statusCode, response]) => {\n converted.responses[statusCode] = {\n description: response.description,\n };\n\n if (response.content?.['application/json']?.schema) {\n converted.responses[statusCode].content = {\n 'application/json': {\n schema: schemaToJsonSchema(response.content['application/json'].schema),\n },\n };\n }\n });\n\n return converted;\n}\n\n/**\n * Generates a complete OpenAPI 3.1.0 document from server routes\n * @param routes - Array of ServerRoute objects with OpenAPI specifications\n * @param info - API metadata (title, version, description)\n * @returns Complete OpenAPI 3.1.0 document\n */\nexport function generateOpenAPIDocument(\n routes: ServerRoute[],\n info: { title: string; version: string; description?: string },\n): any {\n const paths: Record<string, any> = {};\n\n // Build paths object from routes\n // Convert Express-style :param to OpenAPI-style {param}\n routes.forEach(route => {\n if (!route.openapi) return;\n\n const openapiPath = route.path.replace(/:(\\w+)/g, '{$1}');\n if (!paths[openapiPath]) {\n paths[openapiPath] = {};\n }\n\n // Convert Zod schemas to JSON Schema\n paths[openapiPath][route.method.toLowerCase()] = convertToJsonSchema(route.openapi);\n });\n\n return {\n openapi: '3.1.0',\n info: {\n title: info.title,\n version: info.version,\n description: info.description,\n },\n paths,\n };\n}\n\n/**\n * Converts custom API routes with DescribeRouteOptions to OpenAPI path entries.\n * The DescribeRouteOptions from hono-openapi extends OpenAPIV3_1.OperationObject,\n * so it already has the standard OpenAPI structure (parameters, requestBody, responses, etc.).\n *\n * @param routes - Array of ApiRoute objects with optional openapi specifications\n * @returns OpenAPI paths object to be merged into the main spec\n */\nexport function convertCustomRoutesToOpenAPIPaths(routes: ApiRoute[]): Record<string, any> {\n const paths: Record<string, any> = {};\n\n for (const route of routes) {\n // Skip routes without openapi metadata or routes marked as hidden\n if (!route.openapi || route.openapi.hide) {\n continue;\n }\n\n // Skip routes with method 'ALL' as they don't map well to OpenAPI\n if (route.method === 'ALL') {\n continue;\n }\n\n // Convert Express-style :param to OpenAPI-style {param}\n const openapiPath = route.path.replace(/:(\\w+)/g, '{$1}');\n\n if (!paths[openapiPath]) {\n paths[openapiPath] = {};\n }\n\n const method = route.method.toLowerCase();\n const openapi = route.openapi;\n\n // Build the OpenAPI operation object from DescribeRouteOptions\n // DescribeRouteOptions extends OpenAPIV3_1.OperationObject, so it already has:\n // - summary, description, tags, deprecated, externalDocs, operationId\n // - parameters (array of OpenAPIV3_1.ParameterObject)\n // - requestBody (OpenAPIV3_1.RequestBodyObject)\n // - responses (OpenAPIV3_1.ResponsesObject)\n // - security, servers, callbacks\n const operation: Record<string, any> = {\n summary: openapi.summary || `${route.method} ${route.path}`,\n description: openapi.description,\n tags: openapi.tags || ['custom'],\n deprecated: openapi.deprecated,\n externalDocs: openapi.externalDocs,\n security: openapi.security,\n servers: openapi.servers,\n };\n\n // Copy parameters directly if provided (already in OpenAPI format)\n if (openapi.parameters && Array.isArray(openapi.parameters)) {\n operation.parameters = openapi.parameters.map((param: any) => {\n // Convert Zod schemas in parameter schemas if needed\n if (param.schema && typeof param.schema === 'object' && '_def' in param.schema) {\n return {\n ...param,\n schema: zodToJsonSchema(param.schema, 'openApi3', 'none'),\n };\n }\n return param;\n });\n }\n\n // Handle request body - convert Zod schemas if needed\n if (openapi.requestBody) {\n const requestBody = openapi.requestBody as any;\n operation.requestBody = { ...requestBody };\n\n // Convert Zod schemas in requestBody content\n if (requestBody.content) {\n operation.requestBody.content = {};\n for (const [mediaType, mediaContent] of Object.entries(requestBody.content as Record<string, any>)) {\n if (mediaContent?.schema && typeof mediaContent.schema === 'object' && '_def' in mediaContent.schema) {\n operation.requestBody.content[mediaType] = {\n ...mediaContent,\n schema: zodToJsonSchema(mediaContent.schema, 'openApi3', 'none'),\n };\n } else {\n operation.requestBody.content[mediaType] = mediaContent;\n }\n }\n }\n }\n\n // Handle responses - convert Zod schemas if needed\n if (openapi.responses) {\n operation.responses = {};\n for (const [statusCode, response] of Object.entries(openapi.responses as Record<string, any>)) {\n if (!response) continue;\n\n // Handle reference objects\n if ('$ref' in response) {\n operation.responses[statusCode] = response;\n continue;\n }\n\n operation.responses[statusCode] = { ...response };\n\n // Convert Zod schemas in response content\n if (response.content) {\n operation.responses[statusCode].content = {};\n for (const [mediaType, mediaContent] of Object.entries(response.content as Record<string, any>)) {\n if (mediaContent?.schema && typeof mediaContent.schema === 'object' && '_def' in mediaContent.schema) {\n operation.responses[statusCode].content[mediaType] = {\n ...mediaContent,\n schema: zodToJsonSchema(mediaContent.schema, 'openApi3', 'none'),\n };\n } else {\n operation.responses[statusCode].content[mediaType] = mediaContent;\n }\n }\n }\n }\n } else {\n // Provide default response if none specified\n operation.responses = {\n 200: {\n description: 'Successful response',\n },\n };\n }\n\n // Remove undefined values\n Object.keys(operation).forEach(key => {\n if (operation[key] === undefined) {\n delete operation[key];\n }\n });\n\n paths[openapiPath][method] = operation;\n }\n\n return paths;\n}\n","import type { ValidationErrorHook } from '@mastra/core/server';\nimport { z } from 'zod';\nimport type { ZodObject, ZodRawShape, ZodTypeAny } from 'zod';\nimport { generateRouteOpenAPI } from '../openapi-utils';\nimport type { InferParams, ResponseType, ServerRoute, ServerRouteHandler } from './index';\n\n/**\n * Extracts parameters matching a Zod schema's shape from a params object.\n * Useful for separating schema-defined params from ServerContext in handlers.\n *\n * @example\n * ```typescript\n * const querySchema = z.object({ page: z.number(), name: z.string() });\n *\n * handler: async (params) => {\n * const query = pickParams(querySchema, params);\n * // query is typed as { page: number, name: string }\n * }\n * ```\n */\nexport function pickParams<T extends z.ZodRawShape, P extends Record<string, unknown>>(\n schema: z.ZodObject<T>,\n params: P,\n): z.infer<z.ZodObject<T>> {\n const keys = Object.keys(schema.shape);\n const result = {} as z.infer<z.ZodObject<T>>;\n for (const key of keys) {\n if (key in params) {\n (result as any)[key] = params[key];\n }\n }\n return result;\n}\n\n/**\n * Wraps a Zod schema to accept either the expected type OR a JSON string.\n * Used for complex query parameters (arrays, objects) that are serialized as JSON in URLs.\n *\n * - If input is already the expected type, passes through to schema validation\n * - If input is a string, attempts JSON.parse then validates\n * - Provides clear error messages for JSON parse failures\n *\n * @example\n * ```typescript\n * const tagsSchema = jsonQueryParam(z.array(z.string()));\n * // Accepts: [\"tag1\", \"tag2\"] OR '[\"tag1\", \"tag2\"]'\n *\n * const dateRangeSchema = jsonQueryParam(z.object({ gte: z.coerce.date() }));\n * // Accepts: { gte: \"2024-01-01\" } OR '{\"gte\": \"2024-01-01\"}'\n * ```\n */\nexport function jsonQueryParam<T extends ZodTypeAny>(schema: T): z.ZodType<z.infer<T>> {\n return z.union([\n schema, // Already the expected type (non-string input)\n z.string().transform((val, ctx) => {\n try {\n const parsed = JSON.parse(val);\n const result = schema.safeParse(parsed);\n if (!result.success) {\n for (const issue of result.error.issues) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: issue.message,\n path: issue.path,\n });\n }\n return z.NEVER;\n }\n return result.data;\n } catch (e) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Invalid JSON: ${e instanceof Error ? e.message : 'parse error'}`,\n });\n return z.NEVER;\n }\n }),\n ]) as z.ZodType<z.infer<T>>;\n}\n\n/**\n * Gets the type name from a Zod schema's internal definition.\n * Works across zod v3 and v4 by checking _def.typeName (v3) and _def.type (v4).\n */\nfunction getZodTypeName(schema: ZodTypeAny): string | undefined {\n const schemaAny = schema as any;\n const def = schemaAny?._def ?? schemaAny?.def;\n return def?.typeName ?? def?.type;\n}\n\n/**\n * Checks if a Zod schema represents a complex type that needs JSON parsing from query strings.\n * Complex types: arrays, objects, records (these can't be represented as simple strings)\n * Simple types: strings, numbers, booleans, enums (can use z.coerce for conversion)\n *\n * Uses _def.typeName string comparison instead of instanceof to support both zod v3 and v4,\n * since instanceof checks fail across different zod versions in bundled code.\n */\nfunction isComplexType(schema: ZodTypeAny): boolean {\n // Unwrap all optional/nullable layers to check the inner type\n // Note: .partial() can create nested optionals (e.g., ZodOptional<ZodOptional<ZodObject>>)\n let inner: ZodTypeAny = schema;\n let typeName = getZodTypeName(inner);\n\n while (\n typeName === 'ZodOptional' ||\n typeName === 'ZodNullable' ||\n typeName === 'optional' ||\n typeName === 'nullable'\n ) {\n // Access innerType from internals to avoid version-specific method differences\n const innerDef = (inner as any)._def ?? (inner as any).def;\n inner = innerDef.innerType;\n typeName = getZodTypeName(inner);\n }\n\n // Complex types that need JSON parsing\n return (\n typeName === 'ZodArray' ||\n typeName === 'ZodRecord' ||\n typeName === 'ZodObject' ||\n typeName === 'array' ||\n typeName === 'record' ||\n typeName === 'object'\n );\n}\n\n/**\n * Wraps a Zod object schema for HTTP query parameter handling.\n * Automatically detects complex fields (arrays, objects, records) and wraps them\n * with jsonQueryParam() to accept JSON strings from query parameters.\n *\n * Simple fields (strings, numbers, booleans, enums) are left unchanged and should\n * use z.coerce for string-to-type conversion.\n *\n * @example\n * ```typescript\n * // Base schema (for internal/storage use)\n * const tracesFilterSchema = z.object({\n * tags: z.array(z.string()).optional(),\n * startedAt: dateRangeSchema.optional(),\n * perPage: z.coerce.number().optional(),\n * });\n *\n * // HTTP schema (accepts JSON strings for complex fields)\n * const httpTracesFilterSchema = wrapSchemaForQueryParams(tracesFilterSchema);\n *\n * // Now accepts:\n * // ?tags=[\"tag1\",\"tag2\"]&startedAt={\"gte\":\"2024-01-01\"}&perPage=10\n * ```\n */\nexport function wrapSchemaForQueryParams<T extends ZodRawShape>(schema: ZodObject<T>): ZodObject<ZodRawShape> {\n const newShape: Record<string, ZodTypeAny> = {};\n\n // schema.shape is Readonly in Zod v4, so we need to create a mutable copy\n const shape = schema.shape as unknown as Record<string, ZodTypeAny>;\n for (const [key, fieldSchema] of Object.entries(shape)) {\n if (isComplexType(fieldSchema)) {\n // Wrap complex types to accept JSON strings\n newShape[key] = jsonQueryParam(fieldSchema);\n } else {\n // Keep simple types as-is\n newShape[key] = fieldSchema;\n }\n }\n\n return z.object(newShape);\n}\n\ninterface RouteConfig<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n> {\n method: ServerRoute['method'];\n path: string;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream'\n handler: ServerRouteHandler<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n >;\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n maxBodySize?: number;\n requiresAuth?: boolean; // Explicit auth requirement for this route\n /**\n * Permission required to access this route (EE feature).\n * If set, the user must have this permission to access the route.\n * Uses the format: `resource:action` or `resource:action:resourceId`\n */\n requiresPermission?: string;\n onValidationError?: ValidationErrorHook;\n}\n\n/**\n * Creates a server route with auto-generated OpenAPI specification and type-safe handler inference.\n *\n * ## Permission System\n *\n * Routes use a convention-based permission system. Permissions are automatically derived\n * from the route path and method using the format: `{resource}:{action}`\n *\n * - **resource**: First path segment (e.g., 'agents', 'workflows', 'memory')\n * - **action**: Derived from HTTP method:\n * - GET → 'read'\n * - POST → 'write' (or 'execute' for operation endpoints like /generate, /stream)\n * - PUT/PATCH → 'write'\n * - DELETE → 'delete'\n *\n * ### Examples:\n * - `GET /agents/:id` → `agents:read`\n * - `POST /agents/:id/generate` → `agents:execute`\n * - `DELETE /workflows/:id` → `workflows:delete`\n *\n * ### Overriding:\n * - Use `requiresPermission` to explicitly set a custom permission\n * - Use `createPublicRoute()` for routes that should bypass auth entirely\n *\n * The handler parameters are automatically inferred from the provided schemas:\n * - pathParamSchema: Infers path parameter types (e.g., :agentId)\n * - queryParamSchema: Infers query parameter types\n * - bodySchema: Infers request body types\n * - Runtime context (mastra, requestContext, tools, taskStore) is always available\n *\n * @param config - Route configuration including schemas, handler, and metadata\n * @returns Complete ServerRoute with OpenAPI spec\n *\n * @example\n * ```typescript\n * // Protected route (default) - permission auto-derived as 'agents:read'\n * export const getAgentRoute = createRoute({\n * method: 'GET',\n * path: '/agents/:agentId',\n * responseType: 'json',\n * pathParamSchema: z.object({ agentId: z.string() }),\n * responseSchema: serializedAgentSchema,\n * handler: async ({ agentId, mastra, requestContext }) => {\n * return mastra.getAgentById(agentId);\n * },\n * summary: 'Get agent by ID',\n * tags: ['Agents'],\n * });\n *\n * // Protected route with explicit permission override\n * export const adminRoute = createRoute({\n * method: 'POST',\n * path: '/agents/:agentId/admin-action',\n * responseType: 'json',\n * requiresPermission: 'agents:admin', // Override derived 'agents:write'\n * handler: async (ctx) => { ... },\n * });\n * ```\n */\nexport function createRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n>(\n config: RouteConfig<TPathSchema, TQuerySchema, TBodySchema, TResponseSchema, TResponseType>,\n): ServerRoute<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n> {\n const { summary, description, tags, deprecated, requiresAuth, requiresPermission, onValidationError, ...baseRoute } =\n config;\n\n // Generate OpenAPI specification from the route config\n // Skip OpenAPI generation for 'ALL' method as it doesn't map to OpenAPI\n const openapi =\n config.method !== 'ALL'\n ? generateRouteOpenAPI({\n method: config.method as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',\n path: config.path,\n summary,\n description,\n tags,\n pathParamSchema: config.pathParamSchema,\n queryParamSchema: config.queryParamSchema,\n bodySchema: config.bodySchema,\n responseSchema: config.responseSchema,\n deprecated,\n })\n : undefined;\n\n return {\n ...baseRoute,\n openapi: openapi as any,\n deprecated,\n requiresAuth,\n requiresPermission,\n onValidationError,\n };\n}\n\n/**\n * Creates a public server route that bypasses authentication and authorization.\n *\n * Use this for routes that must be accessible without authentication, such as:\n * - Auth endpoints (login, logout, OAuth callbacks)\n * - Health checks\n * - Public API endpoints\n *\n * This is equivalent to calling `createRoute({ ...config, requiresAuth: false })`.\n *\n * @param config - Route configuration (same as createRoute, but requiresAuth is forced to false)\n * @returns Complete ServerRoute marked as public\n *\n * @example\n * ```typescript\n * // Public route - no authentication required\n * export const healthCheckRoute = createPublicRoute({\n * method: 'GET',\n * path: '/health',\n * responseType: 'json',\n * handler: async () => ({ status: 'ok' }),\n * summary: 'Health check',\n * tags: ['System'],\n * });\n *\n * // Auth callback - must be public for OAuth flow\n * export const ssoCallbackRoute = createPublicRoute({\n * method: 'GET',\n * path: '/auth/sso/callback',\n * responseType: 'datastream-response',\n * handler: async (ctx) => { ... },\n * summary: 'Handle SSO callback',\n * tags: ['Auth'],\n * });\n * ```\n */\nexport function createPublicRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n>(\n config: Omit<RouteConfig<TPathSchema, TQuerySchema, TBodySchema, TResponseSchema, TResponseType>, 'requiresAuth'>,\n): ServerRoute<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n> {\n return createRoute({\n ...config,\n requiresAuth: false,\n });\n}\n"]}