@mastra/server 1.36.1-alpha.0 → 1.37.0-alpha.2

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 (318) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7608 -0
  3. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +9043 -0
  4. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-v6/dist/index.d.ts +13682 -0
  5. package/dist/_types/@mastra_schema-compat/dist/_types/@standard-schema_spec/dist/index.d.ts +119 -0
  6. package/dist/_types/@mastra_schema-compat/dist/index.d.ts +19 -0
  7. package/dist/_types/@mastra_schema-compat/dist/null-to-undefined.d.ts +24 -0
  8. package/dist/_types/@mastra_schema-compat/dist/provider-compats/anthropic.d.ts +20 -0
  9. package/dist/_types/@mastra_schema-compat/dist/provider-compats/deepseek.d.ts +21 -0
  10. package/dist/_types/@mastra_schema-compat/dist/provider-compats/google.d.ts +23 -0
  11. package/dist/_types/@mastra_schema-compat/dist/provider-compats/meta.d.ts +21 -0
  12. package/dist/_types/@mastra_schema-compat/dist/provider-compats/openai-reasoning.d.ts +10 -0
  13. package/dist/_types/@mastra_schema-compat/dist/provider-compats/openai.d.ts +25 -0
  14. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility-v3.d.ts +315 -0
  15. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility-v4.d.ts +304 -0
  16. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility.d.ts +147 -0
  17. package/dist/_types/@mastra_schema-compat/dist/schema.d.ts +4 -0
  18. package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +19 -0
  19. package/dist/_types/@mastra_schema-compat/dist/standard-schema/standard-schema.d.ts +107 -0
  20. package/dist/_types/@mastra_schema-compat/dist/standard-schema/standard-schema.types.d.ts +24 -0
  21. package/dist/_types/@mastra_schema-compat/dist/standard-schema-compat.d.ts +74 -0
  22. package/dist/_types/@mastra_schema-compat/dist/types.d.ts +6 -0
  23. package/dist/_types/@mastra_schema-compat/dist/utils.d.ts +96 -0
  24. package/dist/_types/@mastra_schema-compat/dist/zod-to-json.d.ts +17 -0
  25. package/dist/{api-schema-manifest-Q6PMJOZ7.js → api-schema-manifest-QGETGMBO.js} +4 -4
  26. package/dist/{api-schema-manifest-Q6PMJOZ7.js.map → api-schema-manifest-QGETGMBO.js.map} +1 -1
  27. package/dist/{api-schema-manifest-LPJBQXPS.cjs → api-schema-manifest-QSCOKBA7.cjs} +6 -6
  28. package/dist/{api-schema-manifest-LPJBQXPS.cjs.map → api-schema-manifest-QSCOKBA7.cjs.map} +1 -1
  29. package/dist/{chunk-KFG4YQ6B.js → chunk-226WXBRR.js} +5 -5
  30. package/dist/{chunk-KFG4YQ6B.js.map → chunk-226WXBRR.js.map} +1 -1
  31. package/dist/{chunk-4KSV4WWQ.js → chunk-42P4N3DD.js} +3 -3
  32. package/dist/{chunk-4KSV4WWQ.js.map → chunk-42P4N3DD.js.map} +1 -1
  33. package/dist/{chunk-G5LQCOFZ.js → chunk-4TOPLN4A.js} +4 -4
  34. package/dist/{chunk-G5LQCOFZ.js.map → chunk-4TOPLN4A.js.map} +1 -1
  35. package/dist/{chunk-IVH5F5HB.cjs → chunk-4WDE5KPN.cjs} +68 -68
  36. package/dist/{chunk-IVH5F5HB.cjs.map → chunk-4WDE5KPN.cjs.map} +1 -1
  37. package/dist/{chunk-2JXX4IPC.js → chunk-5AHL2NUD.js} +3 -3
  38. package/dist/{chunk-2JXX4IPC.js.map → chunk-5AHL2NUD.js.map} +1 -1
  39. package/dist/{chunk-4G7S52U3.cjs → chunk-5MXFNG6G.cjs} +5 -5
  40. package/dist/{chunk-4G7S52U3.cjs.map → chunk-5MXFNG6G.cjs.map} +1 -1
  41. package/dist/{chunk-6JCLSYOU.js → chunk-5PDA7RRM.js} +3 -3
  42. package/dist/{chunk-6JCLSYOU.js.map → chunk-5PDA7RRM.js.map} +1 -1
  43. package/dist/{chunk-UAMUMYGG.js → chunk-5V23VBXY.js} +6 -6
  44. package/dist/{chunk-UAMUMYGG.js.map → chunk-5V23VBXY.js.map} +1 -1
  45. package/dist/{chunk-V52ODUI3.js → chunk-5X52OI5N.js} +5 -5
  46. package/dist/{chunk-V52ODUI3.js.map → chunk-5X52OI5N.js.map} +1 -1
  47. package/dist/{chunk-CHOCR4YO.cjs → chunk-657QZ5WB.cjs} +34 -34
  48. package/dist/{chunk-CHOCR4YO.cjs.map → chunk-657QZ5WB.cjs.map} +1 -1
  49. package/dist/{chunk-4UFLVROK.cjs → chunk-6GNW5SFN.cjs} +13 -13
  50. package/dist/{chunk-4UFLVROK.cjs.map → chunk-6GNW5SFN.cjs.map} +1 -1
  51. package/dist/{chunk-OGYYXNGI.js → chunk-6L6ZOGEE.js} +3 -3
  52. package/dist/{chunk-OGYYXNGI.js.map → chunk-6L6ZOGEE.js.map} +1 -1
  53. package/dist/{chunk-PZCVWJ2I.js → chunk-6NT2SU7C.js} +5 -5
  54. package/dist/{chunk-PZCVWJ2I.js.map → chunk-6NT2SU7C.js.map} +1 -1
  55. package/dist/{chunk-QUVYOHFH.js → chunk-7TTCVVVF.js} +4 -4
  56. package/dist/{chunk-QUVYOHFH.js.map → chunk-7TTCVVVF.js.map} +1 -1
  57. package/dist/{chunk-DG5OAPEF.cjs → chunk-A73CYKBV.cjs} +6 -6
  58. package/dist/{chunk-DG5OAPEF.cjs.map → chunk-A73CYKBV.cjs.map} +1 -1
  59. package/dist/{chunk-5GI232FP.cjs → chunk-AFCYWNZO.cjs} +8 -8
  60. package/dist/{chunk-5GI232FP.cjs.map → chunk-AFCYWNZO.cjs.map} +1 -1
  61. package/dist/{chunk-G5YFX7SD.cjs → chunk-ANCX7VWY.cjs} +46 -46
  62. package/dist/{chunk-G5YFX7SD.cjs.map → chunk-ANCX7VWY.cjs.map} +1 -1
  63. package/dist/{chunk-NRSWA4Z5.js → chunk-ANQ4YGDG.js} +8 -8
  64. package/dist/{chunk-NRSWA4Z5.js.map → chunk-ANQ4YGDG.js.map} +1 -1
  65. package/dist/{chunk-CCL4C2ZO.js → chunk-B33WOUWI.js} +3 -3
  66. package/dist/{chunk-CCL4C2ZO.js.map → chunk-B33WOUWI.js.map} +1 -1
  67. package/dist/{chunk-DLRY7A4X.js → chunk-B62YX6H5.js} +6 -6
  68. package/dist/{chunk-DLRY7A4X.js.map → chunk-B62YX6H5.js.map} +1 -1
  69. package/dist/{chunk-UKZEL5TK.js → chunk-BCLXE5A6.js} +4 -4
  70. package/dist/{chunk-UKZEL5TK.js.map → chunk-BCLXE5A6.js.map} +1 -1
  71. package/dist/{chunk-V4ATNZXG.cjs → chunk-BQBKRPLD.cjs} +4 -4
  72. package/dist/{chunk-V4ATNZXG.cjs.map → chunk-BQBKRPLD.cjs.map} +1 -1
  73. package/dist/{chunk-XTFWFQZ7.cjs → chunk-BXTQ4QZA.cjs} +5 -5
  74. package/dist/{chunk-XTFWFQZ7.cjs.map → chunk-BXTQ4QZA.cjs.map} +1 -1
  75. package/dist/{chunk-YI3WMF2D.cjs → chunk-CZDLWIPQ.cjs} +3 -3
  76. package/dist/{chunk-YI3WMF2D.cjs.map → chunk-CZDLWIPQ.cjs.map} +1 -1
  77. package/dist/{chunk-WYP25ZMM.js → chunk-DSWUKENK.js} +3 -3
  78. package/dist/{chunk-WYP25ZMM.js.map → chunk-DSWUKENK.js.map} +1 -1
  79. package/dist/{chunk-FKQCQSXF.js → chunk-E5ZGN7GA.js} +5 -5
  80. package/dist/{chunk-FKQCQSXF.js.map → chunk-E5ZGN7GA.js.map} +1 -1
  81. package/dist/{chunk-SPGVPADY.js → chunk-EDKDBIHS.js} +3 -3
  82. package/dist/{chunk-SPGVPADY.js.map → chunk-EDKDBIHS.js.map} +1 -1
  83. package/dist/{chunk-KUPT7YFR.cjs → chunk-EGWQ36XF.cjs} +13 -13
  84. package/dist/{chunk-KUPT7YFR.cjs.map → chunk-EGWQ36XF.cjs.map} +1 -1
  85. package/dist/{chunk-XR3CGVKU.cjs → chunk-FTFHM5UT.cjs} +5 -5
  86. package/dist/{chunk-XR3CGVKU.cjs.map → chunk-FTFHM5UT.cjs.map} +1 -1
  87. package/dist/{chunk-WKUSPOUB.js → chunk-FWO6WNFE.js} +8 -8
  88. package/dist/{chunk-WKUSPOUB.js.map → chunk-FWO6WNFE.js.map} +1 -1
  89. package/dist/{chunk-F2FAL5CZ.js → chunk-G6NTGBOW.js} +3 -3
  90. package/dist/{chunk-F2FAL5CZ.js.map → chunk-G6NTGBOW.js.map} +1 -1
  91. package/dist/{chunk-AOWOCCSV.js → chunk-GAGNFJYS.js} +40 -40
  92. package/dist/{chunk-AOWOCCSV.js.map → chunk-GAGNFJYS.js.map} +1 -1
  93. package/dist/{chunk-FI5FIBFG.cjs → chunk-HLXI3E4I.cjs} +28 -28
  94. package/dist/{chunk-FI5FIBFG.cjs.map → chunk-HLXI3E4I.cjs.map} +1 -1
  95. package/dist/{chunk-X2IH3GWC.cjs → chunk-IPRUOF7I.cjs} +19 -19
  96. package/dist/{chunk-X2IH3GWC.cjs.map → chunk-IPRUOF7I.cjs.map} +1 -1
  97. package/dist/{chunk-CGBDH32D.cjs → chunk-J3BXNA2G.cjs} +10 -10
  98. package/dist/{chunk-CGBDH32D.cjs.map → chunk-J3BXNA2G.cjs.map} +1 -1
  99. package/dist/{chunk-CIAFOGUT.js → chunk-JA7S4TJR.js} +4 -4
  100. package/dist/{chunk-CIAFOGUT.js.map → chunk-JA7S4TJR.js.map} +1 -1
  101. package/dist/{chunk-KLESMQPZ.js → chunk-JGRMPXAX.js} +5 -5
  102. package/dist/{chunk-KLESMQPZ.js.map → chunk-JGRMPXAX.js.map} +1 -1
  103. package/dist/{chunk-FP3SA3LK.cjs → chunk-JHG52CBB.cjs} +28 -28
  104. package/dist/{chunk-FP3SA3LK.cjs.map → chunk-JHG52CBB.cjs.map} +1 -1
  105. package/dist/{chunk-X5I45TOD.cjs → chunk-JI66GIIH.cjs} +20 -20
  106. package/dist/{chunk-X5I45TOD.cjs.map → chunk-JI66GIIH.cjs.map} +1 -1
  107. package/dist/{chunk-V2NLRL23.cjs → chunk-JTGGDYGY.cjs} +28 -28
  108. package/dist/{chunk-V2NLRL23.cjs.map → chunk-JTGGDYGY.cjs.map} +1 -1
  109. package/dist/{chunk-P5ZWPVC2.js → chunk-JWJ4FFVU.js} +3 -3
  110. package/dist/{chunk-P5ZWPVC2.js.map → chunk-JWJ4FFVU.js.map} +1 -1
  111. package/dist/{chunk-UWUPLXZN.js → chunk-K66OW2AA.js} +6 -6
  112. package/dist/{chunk-UWUPLXZN.js.map → chunk-K66OW2AA.js.map} +1 -1
  113. package/dist/{chunk-HGRG2WVX.js → chunk-KHEQHKTJ.js} +4 -4
  114. package/dist/{chunk-HGRG2WVX.js.map → chunk-KHEQHKTJ.js.map} +1 -1
  115. package/dist/{chunk-7NM7SE7Y.js → chunk-KJBLUTJT.js} +6 -6
  116. package/dist/{chunk-7NM7SE7Y.js.map → chunk-KJBLUTJT.js.map} +1 -1
  117. package/dist/{chunk-ANHJG3Z7.js → chunk-KP6VDSWV.js} +5 -5
  118. package/dist/{chunk-ANHJG3Z7.js.map → chunk-KP6VDSWV.js.map} +1 -1
  119. package/dist/{chunk-QZ6UFQ7V.cjs → chunk-KT66JFSR.cjs} +6 -6
  120. package/dist/{chunk-QZ6UFQ7V.cjs.map → chunk-KT66JFSR.cjs.map} +1 -1
  121. package/dist/{chunk-6HR2SJBP.js → chunk-L3WLRWTC.js} +5 -5
  122. package/dist/{chunk-6HR2SJBP.js.map → chunk-L3WLRWTC.js.map} +1 -1
  123. package/dist/{chunk-O7B3P2AT.cjs → chunk-LIJBEWEH.cjs} +18 -18
  124. package/dist/{chunk-O7B3P2AT.cjs.map → chunk-LIJBEWEH.cjs.map} +1 -1
  125. package/dist/{chunk-CXEQO3RE.js → chunk-LLZOPVQQ.js} +4 -4
  126. package/dist/{chunk-CXEQO3RE.js.map → chunk-LLZOPVQQ.js.map} +1 -1
  127. package/dist/{chunk-WNPUO7IZ.cjs → chunk-M45EEUJT.cjs} +23 -35
  128. package/dist/chunk-M45EEUJT.cjs.map +1 -0
  129. package/dist/{chunk-H5CDBXA4.cjs → chunk-N3IC7S4L.cjs} +20 -20
  130. package/dist/{chunk-H5CDBXA4.cjs.map → chunk-N3IC7S4L.cjs.map} +1 -1
  131. package/dist/{chunk-57H2WB7S.cjs → chunk-NE7ZXK3A.cjs} +19 -19
  132. package/dist/{chunk-57H2WB7S.cjs.map → chunk-NE7ZXK3A.cjs.map} +1 -1
  133. package/dist/{chunk-G4N6PYWY.cjs → chunk-NPMVIREN.cjs} +29 -29
  134. package/dist/{chunk-G4N6PYWY.cjs.map → chunk-NPMVIREN.cjs.map} +1 -1
  135. package/dist/{chunk-6PZLOV6Z.js → chunk-NPW7GUAP.js} +8 -8
  136. package/dist/{chunk-6PZLOV6Z.js.map → chunk-NPW7GUAP.js.map} +1 -1
  137. package/dist/{chunk-UCKK7LPQ.js → chunk-NRTOCZP6.js} +3 -3
  138. package/dist/{chunk-UCKK7LPQ.js.map → chunk-NRTOCZP6.js.map} +1 -1
  139. package/dist/{chunk-3U2E4IZQ.cjs → chunk-NVNFVNEU.cjs} +12 -12
  140. package/dist/{chunk-3U2E4IZQ.cjs.map → chunk-NVNFVNEU.cjs.map} +1 -1
  141. package/dist/{chunk-5S77OUMY.js → chunk-O4377FUW.js} +5 -5
  142. package/dist/{chunk-5S77OUMY.js.map → chunk-O4377FUW.js.map} +1 -1
  143. package/dist/{chunk-3AWUH2DT.cjs → chunk-OHOYDTN5.cjs} +71 -71
  144. package/dist/{chunk-3AWUH2DT.cjs.map → chunk-OHOYDTN5.cjs.map} +1 -1
  145. package/dist/{chunk-BZHOSRJY.cjs → chunk-OX6RKP5C.cjs} +19 -19
  146. package/dist/{chunk-BZHOSRJY.cjs.map → chunk-OX6RKP5C.cjs.map} +1 -1
  147. package/dist/{chunk-REJUB2HI.cjs → chunk-PB6X5Q6F.cjs} +11 -11
  148. package/dist/{chunk-REJUB2HI.cjs.map → chunk-PB6X5Q6F.cjs.map} +1 -1
  149. package/dist/{chunk-JUYUBEMU.js → chunk-PECE2GUW.js} +3 -3
  150. package/dist/{chunk-JUYUBEMU.js.map → chunk-PECE2GUW.js.map} +1 -1
  151. package/dist/{chunk-JUGZSL24.cjs → chunk-PQHYTLZY.cjs} +9 -9
  152. package/dist/{chunk-JUGZSL24.cjs.map → chunk-PQHYTLZY.cjs.map} +1 -1
  153. package/dist/{chunk-77A2RTNZ.js → chunk-QUNI7GBZ.js} +6 -6
  154. package/dist/{chunk-77A2RTNZ.js.map → chunk-QUNI7GBZ.js.map} +1 -1
  155. package/dist/{chunk-UGJBURIS.cjs → chunk-R7XGET77.cjs} +7 -7
  156. package/dist/{chunk-UGJBURIS.cjs.map → chunk-R7XGET77.cjs.map} +1 -1
  157. package/dist/{chunk-DA3GPZIW.js → chunk-RULY5YHQ.js} +7 -7
  158. package/dist/{chunk-DA3GPZIW.js.map → chunk-RULY5YHQ.js.map} +1 -1
  159. package/dist/{chunk-YMWAMFXW.cjs → chunk-RVGOGUYD.cjs} +7 -7
  160. package/dist/{chunk-YMWAMFXW.cjs.map → chunk-RVGOGUYD.cjs.map} +1 -1
  161. package/dist/{chunk-HTP3LBWI.cjs → chunk-SDKNFKPO.cjs} +19 -19
  162. package/dist/{chunk-HTP3LBWI.cjs.map → chunk-SDKNFKPO.cjs.map} +1 -1
  163. package/dist/{chunk-HZNJ4B7D.cjs → chunk-SSWC72OL.cjs} +24 -24
  164. package/dist/{chunk-HZNJ4B7D.cjs.map → chunk-SSWC72OL.cjs.map} +1 -1
  165. package/dist/{chunk-QJU62KP2.cjs → chunk-TFYH42DN.cjs} +10 -10
  166. package/dist/{chunk-QJU62KP2.cjs.map → chunk-TFYH42DN.cjs.map} +1 -1
  167. package/dist/{chunk-EAPGRYRG.cjs → chunk-UBMQFIZ5.cjs} +6 -6
  168. package/dist/{chunk-EAPGRYRG.cjs.map → chunk-UBMQFIZ5.cjs.map} +1 -1
  169. package/dist/{chunk-ZJVB5TZ4.js → chunk-UHMBTZ44.js} +23 -35
  170. package/dist/chunk-UHMBTZ44.js.map +1 -0
  171. package/dist/{chunk-OSN3DL34.js → chunk-V2PFC4GN.js} +3 -3
  172. package/dist/{chunk-OSN3DL34.js.map → chunk-V2PFC4GN.js.map} +1 -1
  173. package/dist/{chunk-XNR667MS.cjs → chunk-VCDXVUAX.cjs} +11 -11
  174. package/dist/{chunk-XNR667MS.cjs.map → chunk-VCDXVUAX.cjs.map} +1 -1
  175. package/dist/{chunk-J24FU42I.cjs → chunk-VEYIFLKP.cjs} +12 -12
  176. package/dist/{chunk-J24FU42I.cjs.map → chunk-VEYIFLKP.cjs.map} +1 -1
  177. package/dist/{chunk-U72BY62E.cjs → chunk-VKB5Q73O.cjs} +101 -101
  178. package/dist/{chunk-U72BY62E.cjs.map → chunk-VKB5Q73O.cjs.map} +1 -1
  179. package/dist/{chunk-4DUHTOLC.js → chunk-VM3RA22B.js} +3 -3
  180. package/dist/{chunk-4DUHTOLC.js.map → chunk-VM3RA22B.js.map} +1 -1
  181. package/dist/{chunk-XLPKT7N6.js → chunk-W6LUEOTA.js} +6 -6
  182. package/dist/{chunk-XLPKT7N6.js.map → chunk-W6LUEOTA.js.map} +1 -1
  183. package/dist/{chunk-7EDTSUCY.js → chunk-WEF5ZJPT.js} +3 -3
  184. package/dist/{chunk-7EDTSUCY.js.map → chunk-WEF5ZJPT.js.map} +1 -1
  185. package/dist/{chunk-TSF3GTOO.js → chunk-WMLAEHP2.js} +5 -5
  186. package/dist/{chunk-TSF3GTOO.js.map → chunk-WMLAEHP2.js.map} +1 -1
  187. package/dist/{chunk-UBYGPC2S.cjs → chunk-XCJ6SARN.cjs} +7 -7
  188. package/dist/{chunk-UBYGPC2S.cjs.map → chunk-XCJ6SARN.cjs.map} +1 -1
  189. package/dist/{chunk-ORWZ4QJZ.cjs → chunk-XETDRAF5.cjs} +19 -19
  190. package/dist/{chunk-ORWZ4QJZ.cjs.map → chunk-XETDRAF5.cjs.map} +1 -1
  191. package/dist/{chunk-7L6BZOXB.cjs → chunk-XIKIYQZC.cjs} +20 -20
  192. package/dist/{chunk-7L6BZOXB.cjs.map → chunk-XIKIYQZC.cjs.map} +1 -1
  193. package/dist/{chunk-Z4PDJRZT.cjs → chunk-Y2SHDKEU.cjs} +4 -4
  194. package/dist/{chunk-Z4PDJRZT.cjs.map → chunk-Y2SHDKEU.cjs.map} +1 -1
  195. package/dist/{chunk-I6WBJDRP.cjs → chunk-YM6HFQMA.cjs} +6 -6
  196. package/dist/{chunk-I6WBJDRP.cjs.map → chunk-YM6HFQMA.cjs.map} +1 -1
  197. package/dist/{chunk-TM3DGZGZ.js → chunk-YMZUKCL2.js} +7 -7
  198. package/dist/{chunk-TM3DGZGZ.js.map → chunk-YMZUKCL2.js.map} +1 -1
  199. package/dist/{chunk-MEIFOELG.js → chunk-YQABFBMF.js} +5 -5
  200. package/dist/{chunk-MEIFOELG.js.map → chunk-YQABFBMF.js.map} +1 -1
  201. package/dist/{chunk-PJFYMAGO.js → chunk-YX6VTUXY.js} +3 -3
  202. package/dist/{chunk-PJFYMAGO.js.map → chunk-YX6VTUXY.js.map} +1 -1
  203. package/dist/{chunk-4XSWMZTL.js → chunk-Z7WKF2EJ.js} +3 -3
  204. package/dist/{chunk-4XSWMZTL.js.map → chunk-Z7WKF2EJ.js.map} +1 -1
  205. package/dist/{chunk-26W4C7FO.cjs → chunk-ZA7GER4D.cjs} +15 -15
  206. package/dist/{chunk-26W4C7FO.cjs.map → chunk-ZA7GER4D.cjs.map} +1 -1
  207. package/dist/chunk-ZDQDDOKJ.cjs +655 -0
  208. package/dist/{chunk-AHVAFHUK.cjs.map → chunk-ZDQDDOKJ.cjs.map} +1 -1
  209. package/dist/{chunk-UU3HHGLK.js → chunk-ZITE7JQB.js} +4 -4
  210. package/dist/{chunk-UU3HHGLK.js.map → chunk-ZITE7JQB.js.map} +1 -1
  211. package/dist/{chunk-23BRCQHZ.cjs → chunk-ZX6LOGME.cjs} +12 -12
  212. package/dist/{chunk-23BRCQHZ.cjs.map → chunk-ZX6LOGME.cjs.map} +1 -1
  213. package/dist/{dist-HR6TOFJM.cjs → dist-TVEBMXRT.cjs} +25 -25
  214. package/dist/{dist-HR6TOFJM.cjs.map → dist-TVEBMXRT.cjs.map} +1 -1
  215. package/dist/{dist-7I6EPNH3.js → dist-ZGTEPXPM.js} +6 -6
  216. package/dist/{dist-7I6EPNH3.js.map → dist-ZGTEPXPM.js.map} +1 -1
  217. package/dist/docs/SKILL.md +1 -1
  218. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  219. package/dist/{observational-memory-KFKHBTCB-RX2CEPSU.js → observational-memory-CSI3OZXQ-74TPCOGT.js} +3 -3
  220. package/dist/{observational-memory-KFKHBTCB-RX2CEPSU.js.map → observational-memory-CSI3OZXQ-74TPCOGT.js.map} +1 -1
  221. package/dist/{observational-memory-KFKHBTCB-RMGPISAP.cjs → observational-memory-CSI3OZXQ-DQZZQVVM.cjs} +26 -26
  222. package/dist/{observational-memory-KFKHBTCB-RMGPISAP.cjs.map → observational-memory-CSI3OZXQ-DQZZQVVM.cjs.map} +1 -1
  223. package/dist/server/handlers/a2a.cjs +14 -14
  224. package/dist/server/handlers/a2a.js +1 -1
  225. package/dist/server/handlers/agent-builder.cjs +16 -16
  226. package/dist/server/handlers/agent-builder.js +1 -1
  227. package/dist/server/handlers/agent-versions.cjs +8 -8
  228. package/dist/server/handlers/agent-versions.js +1 -1
  229. package/dist/server/handlers/agents.cjs +41 -41
  230. package/dist/server/handlers/agents.js +1 -1
  231. package/dist/server/handlers/auth.cjs +12 -12
  232. package/dist/server/handlers/auth.js +1 -1
  233. package/dist/server/handlers/background-tasks.cjs +4 -4
  234. package/dist/server/handlers/background-tasks.js +1 -1
  235. package/dist/server/handlers/builder-registry.cjs +6 -6
  236. package/dist/server/handlers/builder-registry.js +1 -1
  237. package/dist/server/handlers/channels.cjs +5 -5
  238. package/dist/server/handlers/channels.js +1 -1
  239. package/dist/server/handlers/conversations.cjs +5 -5
  240. package/dist/server/handlers/conversations.js +1 -1
  241. package/dist/server/handlers/datasets.cjs +26 -26
  242. package/dist/server/handlers/datasets.js +1 -1
  243. package/dist/server/handlers/editor-builder.cjs +5 -5
  244. package/dist/server/handlers/editor-builder.js +1 -1
  245. package/dist/server/handlers/favorites-enrichment.cjs +3 -3
  246. package/dist/server/handlers/favorites-enrichment.js +1 -1
  247. package/dist/server/handlers/logs.cjs +4 -4
  248. package/dist/server/handlers/logs.js +1 -1
  249. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  250. package/dist/server/handlers/mcp-client-versions.js +1 -1
  251. package/dist/server/handlers/mcp.cjs +11 -11
  252. package/dist/server/handlers/mcp.js +1 -1
  253. package/dist/server/handlers/memory.cjs +27 -27
  254. package/dist/server/handlers/memory.js +1 -1
  255. package/dist/server/handlers/observability-new-endpoints.cjs +29 -29
  256. package/dist/server/handlers/observability-new-endpoints.d.ts +232 -232
  257. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  258. package/dist/server/handlers/observability-shared.cjs +9 -9
  259. package/dist/server/handlers/observability-shared.js +1 -1
  260. package/dist/server/handlers/observability.cjs +40 -40
  261. package/dist/server/handlers/observability.js +2 -2
  262. package/dist/server/handlers/processor-providers.cjs +3 -3
  263. package/dist/server/handlers/processor-providers.js +1 -1
  264. package/dist/server/handlers/processors.cjs +4 -4
  265. package/dist/server/handlers/processors.js +1 -1
  266. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  267. package/dist/server/handlers/prompt-block-versions.js +1 -1
  268. package/dist/server/handlers/responses.cjs +4 -4
  269. package/dist/server/handlers/responses.js +1 -1
  270. package/dist/server/handlers/schedules.cjs +6 -6
  271. package/dist/server/handlers/schedules.js +1 -1
  272. package/dist/server/handlers/scorer-versions.cjs +8 -8
  273. package/dist/server/handlers/scorer-versions.js +1 -1
  274. package/dist/server/handlers/scores.cjs +7 -7
  275. package/dist/server/handlers/scores.js +1 -1
  276. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  277. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  278. package/dist/server/handlers/stored-agents.cjs +7 -7
  279. package/dist/server/handlers/stored-agents.js +1 -1
  280. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  281. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  282. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  283. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  284. package/dist/server/handlers/stored-scorers.cjs +6 -6
  285. package/dist/server/handlers/stored-scorers.js +1 -1
  286. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  287. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  288. package/dist/server/handlers/stored-skills.cjs +7 -7
  289. package/dist/server/handlers/stored-skills.js +1 -1
  290. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  291. package/dist/server/handlers/stored-workspaces.js +1 -1
  292. package/dist/server/handlers/system.cjs +3 -3
  293. package/dist/server/handlers/system.js +1 -1
  294. package/dist/server/handlers/tool-providers.cjs +5 -5
  295. package/dist/server/handlers/tool-providers.js +1 -1
  296. package/dist/server/handlers/tools.cjs +6 -6
  297. package/dist/server/handlers/tools.js +1 -1
  298. package/dist/server/handlers/vector.cjs +16 -16
  299. package/dist/server/handlers/vector.js +1 -1
  300. package/dist/server/handlers/voice.cjs +8 -8
  301. package/dist/server/handlers/voice.js +1 -1
  302. package/dist/server/handlers/workflows.cjs +26 -26
  303. package/dist/server/handlers/workflows.js +1 -1
  304. package/dist/server/handlers/workspace.cjs +26 -26
  305. package/dist/server/handlers/workspace.js +1 -1
  306. package/dist/server/handlers.cjs +33 -33
  307. package/dist/server/handlers.js +15 -15
  308. package/dist/server/schemas/index.cjs +462 -462
  309. package/dist/server/schemas/index.js +7 -7
  310. package/dist/server/server-adapter/api-schema-manifest.d.ts +1 -1
  311. package/dist/server/server-adapter/index.cjs +25 -25
  312. package/dist/server/server-adapter/index.js +6 -6
  313. package/dist/server/server-adapter/openapi-utils.d.ts +1 -1
  314. package/dist/server/server-adapter/routes/observability.d.ts +116 -116
  315. package/package.json +5 -5
  316. package/dist/chunk-AHVAFHUK.cjs +0 -655
  317. package/dist/chunk-WNPUO7IZ.cjs.map +0 -1
  318. package/dist/chunk-ZJVB5TZ4.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
4
3
  var chunkPWGPLCL4_cjs = require('./chunk-PWGPLCL4.cjs');
5
- var chunkQZ6UFQ7V_cjs = require('./chunk-QZ6UFQ7V.cjs');
4
+ var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
5
+ var chunkKT66JFSR_cjs = require('./chunk-KT66JFSR.cjs');
6
+ var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
6
7
  var chunkYNSUYESL_cjs = require('./chunk-YNSUYESL.cjs');
7
- var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
8
+ var chunkBXTQ4QZA_cjs = require('./chunk-BXTQ4QZA.cjs');
8
9
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
- var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
10
10
 
11
11
  // src/server/handlers/stored-scorers.ts
12
12
  var SCORER_SNAPSHOT_CONFIG_FIELDS = [
@@ -19,7 +19,7 @@ var SCORER_SNAPSHOT_CONFIG_FIELDS = [
19
19
  "presetConfig",
20
20
  "defaultSampling"
21
21
  ];
22
- var LIST_STORED_SCORERS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
22
+ var LIST_STORED_SCORERS_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
23
23
  method: "GET",
24
24
  path: "/stored/scorers",
25
25
  responseType: "json",
@@ -39,14 +39,14 @@ var LIST_STORED_SCORERS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
39
39
  if (!scorerStore) {
40
40
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Scorer definitions storage domain is not available" });
41
41
  }
42
- const scope = await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext);
42
+ const scope = await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext);
43
43
  const result = await scorerStore.listResolved({
44
44
  page,
45
45
  perPage,
46
46
  orderBy,
47
47
  status,
48
48
  authorId,
49
- metadata: chunkQZ6UFQ7V_cjs.scopeStoredResourceMetadata(metadata, scope)
49
+ metadata: chunkKT66JFSR_cjs.scopeStoredResourceMetadata(metadata, scope)
50
50
  });
51
51
  return result;
52
52
  } catch (error) {
@@ -54,7 +54,7 @@ var LIST_STORED_SCORERS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
54
54
  }
55
55
  }
56
56
  });
57
- var GET_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
57
+ var GET_STORED_SCORER_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
58
58
  method: "GET",
59
59
  path: "/stored/scorers/:storedScorerId",
60
60
  responseType: "json",
@@ -79,14 +79,14 @@ var GET_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
79
79
  if (!scorer) {
80
80
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });
81
81
  }
82
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(scorer, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
82
+ chunkKT66JFSR_cjs.assertStoredResourceScope(scorer, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
83
83
  return scorer;
84
84
  } catch (error) {
85
85
  return chunkYNSUYESL_cjs.handleError(error, "Error getting stored scorer definition");
86
86
  }
87
87
  }
88
88
  });
89
- var CREATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
89
+ var CREATE_STORED_SCORER_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
90
90
  method: "POST",
91
91
  path: "/stored/scorers",
92
92
  responseType: "json",
@@ -120,7 +120,7 @@ var CREATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
120
120
  if (!scorerStore) {
121
121
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Scorer definitions storage domain is not available" });
122
122
  }
123
- const id = providedId || chunkQZ6UFQ7V_cjs.toSlug(name);
123
+ const id = providedId || chunkKT66JFSR_cjs.toSlug(name);
124
124
  if (!id) {
125
125
  throw new chunk64ITUOXI_cjs.HTTPException(400, {
126
126
  message: "Could not derive scorer definition ID from name. Please provide an explicit id."
@@ -134,7 +134,7 @@ var CREATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
134
134
  scorerDefinition: {
135
135
  id,
136
136
  authorId,
137
- metadata: chunkQZ6UFQ7V_cjs.scopeStoredResourceMetadata(metadata, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext)),
137
+ metadata: chunkKT66JFSR_cjs.scopeStoredResourceMetadata(metadata, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext)),
138
138
  name,
139
139
  description,
140
140
  type,
@@ -155,7 +155,7 @@ var CREATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
155
155
  }
156
156
  }
157
157
  });
158
- var UPDATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
158
+ var UPDATE_STORED_SCORER_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
159
159
  method: "PATCH",
160
160
  path: "/stored/scorers/:storedScorerId",
161
161
  responseType: "json",
@@ -196,9 +196,9 @@ var UPDATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
196
196
  if (!existing) {
197
197
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });
198
198
  }
199
- const scope = await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext);
200
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(existing, scope);
201
- const scopedMetadata = metadata !== void 0 ? chunkQZ6UFQ7V_cjs.scopeStoredResourceMetadata({ ...existing.metadata ?? {}, ...metadata }, scope) : void 0;
199
+ const scope = await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext);
200
+ chunkKT66JFSR_cjs.assertStoredResourceScope(existing, scope);
201
+ const scopedMetadata = metadata !== void 0 ? chunkKT66JFSR_cjs.scopeStoredResourceMetadata({ ...existing.metadata ?? {}, ...metadata }, scope) : void 0;
202
202
  const updatedScorer = await scorerStore.update({
203
203
  id: storedScorerId,
204
204
  authorId,
@@ -246,7 +246,7 @@ var UPDATE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
246
246
  }
247
247
  }
248
248
  });
249
- var DELETE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
249
+ var DELETE_STORED_SCORER_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
250
250
  method: "DELETE",
251
251
  path: "/stored/scorers/:storedScorerId",
252
252
  responseType: "json",
@@ -270,7 +270,7 @@ var DELETE_STORED_SCORER_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
270
270
  if (!existing) {
271
271
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });
272
272
  }
273
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(existing, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
273
+ chunkKT66JFSR_cjs.assertStoredResourceScope(existing, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
274
274
  await scorerStore.delete(storedScorerId);
275
275
  mastra.getEditor()?.scorer.clearCache(storedScorerId);
276
276
  return { success: true, message: `Scorer definition ${storedScorerId} deleted successfully` };
@@ -285,5 +285,5 @@ exports.DELETE_STORED_SCORER_ROUTE = DELETE_STORED_SCORER_ROUTE;
285
285
  exports.GET_STORED_SCORER_ROUTE = GET_STORED_SCORER_ROUTE;
286
286
  exports.LIST_STORED_SCORERS_ROUTE = LIST_STORED_SCORERS_ROUTE;
287
287
  exports.UPDATE_STORED_SCORER_ROUTE = UPDATE_STORED_SCORER_ROUTE;
288
- //# sourceMappingURL=chunk-H5CDBXA4.cjs.map
289
- //# sourceMappingURL=chunk-H5CDBXA4.cjs.map
288
+ //# sourceMappingURL=chunk-N3IC7S4L.cjs.map
289
+ //# sourceMappingURL=chunk-N3IC7S4L.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/stored-scorers.ts"],"names":["createRoute","listStoredScorersQuerySchema","listStoredScorersResponseSchema","HTTPException","getStoredResourceScope","scopeStoredResourceMetadata","handleError","storedScorerIdPathParams","statusQuerySchema","getStoredScorerResponseSchema","assertStoredResourceScope","createStoredScorerBodySchema","createStoredScorerResponseSchema","toSlug","updateStoredScorerBodySchema","updateStoredScorerResponseSchema","handleAutoVersioning","deleteStoredScorerResponseSchema"],"mappings":"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","file":"chunk-H5CDBXA4.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedScorerIdPathParams,\n statusQuerySchema,\n listStoredScorersQuerySchema,\n createStoredScorerBodySchema,\n updateStoredScorerBodySchema,\n listStoredScorersResponseSchema,\n getStoredScorerResponseSchema,\n createStoredScorerResponseSchema,\n updateStoredScorerResponseSchema,\n deleteStoredScorerResponseSchema,\n} from '../schemas/stored-scorers';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope, scopeStoredResourceMetadata, toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst SCORER_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'type',\n 'model',\n 'instructions',\n 'scoreRange',\n 'presetConfig',\n 'defaultSampling',\n] as const;\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/scorers - List all stored scorer definitions\n */\nexport const LIST_STORED_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/scorers',\n responseType: 'json',\n queryParamSchema: listStoredScorersQuerySchema,\n responseSchema: listStoredScorersResponseSchema,\n summary: 'List stored scorer definitions',\n description: 'Returns a paginated list of all scorer definitions stored in the database',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n const scope = await getStoredResourceScope(mastra, requestContext);\n const result = await scorerStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata: scopeStoredResourceMetadata(metadata, scope),\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored scorer definitions');\n }\n },\n});\n\n/**\n * GET /stored/scorers/:storedScorerId - Get a stored scorer definition by ID\n */\nexport const GET_STORED_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredScorerResponseSchema,\n summary: 'Get stored scorer definition by ID',\n description:\n 'Returns a specific scorer definition from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, storedScorerId, status, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n const scorer = await scorerStore.getByIdResolved(storedScorerId, { status });\n\n if (!scorer) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n assertStoredResourceScope(scorer, await getStoredResourceScope(mastra, requestContext));\n\n return scorer;\n } catch (error) {\n return handleError(error, 'Error getting stored scorer definition');\n }\n },\n});\n\n/**\n * POST /stored/scorers - Create a new stored scorer definition\n */\nexport const CREATE_STORED_SCORER_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/scorers',\n responseType: 'json',\n bodySchema: createStoredScorerBodySchema,\n responseSchema: createStoredScorerResponseSchema,\n summary: 'Create stored scorer definition',\n description: 'Creates a new scorer definition in storage with the provided configuration',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n requestContext,\n }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive scorer definition ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if scorer definition with this ID already exists\n const existing = await scorerStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Scorer definition with id ${id} already exists` });\n }\n\n await scorerStore.create({\n scorerDefinition: {\n id,\n authorId,\n metadata: scopeStoredResourceMetadata(metadata, await getStoredResourceScope(mastra, requestContext)),\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n },\n });\n\n // Return the resolved scorer definition (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await scorerStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created scorer definition' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error creating stored scorer definition');\n }\n },\n});\n\n/**\n * PATCH /stored/scorers/:storedScorerId - Update a stored scorer definition\n */\nexport const UPDATE_STORED_SCORER_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n bodySchema: updateStoredScorerBodySchema,\n responseSchema: updateStoredScorerResponseSchema,\n summary: 'Update stored scorer definition',\n description: 'Updates an existing scorer definition in storage with the provided fields',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedScorerId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n requestContext,\n }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Check if scorer definition exists\n const existing = await scorerStore.getById(storedScorerId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n const scope = await getStoredResourceScope(mastra, requestContext);\n assertStoredResourceScope(existing, scope);\n const scopedMetadata =\n metadata !== undefined\n ? scopeStoredResourceMetadata({ ...(existing.metadata ?? {}), ...metadata }, scope)\n : undefined;\n\n // Update the scorer definition with both metadata-level and config-level fields\n const updatedScorer = await scorerStore.update({\n id: storedScorerId,\n authorId,\n ...(scopedMetadata !== undefined ? { metadata: scopedMetadata } : {}),\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = {\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n // It does NOT update activeVersionId — the version stays as a draft until explicitly published.\n await handleAutoVersioning(\n scorerStore as unknown as VersionedStoreInterface,\n storedScorerId,\n 'scorerDefinitionId',\n SCORER_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedScorer,\n providedConfigFields,\n );\n\n // Clear the cached scorer instance so the next request gets the updated config\n const editor = mastra.getEditor();\n if (editor) {\n editor.scorer.clearCache(storedScorerId);\n }\n\n // Return the resolved scorer definition with the latest (draft) version so the UI sees its edits\n const resolved = await scorerStore.getByIdResolved(storedScorerId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated scorer definition' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error updating stored scorer definition');\n }\n },\n});\n\n/**\n * DELETE /stored/scorers/:storedScorerId - Delete a stored scorer definition\n */\nexport const DELETE_STORED_SCORER_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n responseSchema: deleteStoredScorerResponseSchema,\n summary: 'Delete stored scorer definition',\n description: 'Deletes a scorer definition from storage by its unique identifier',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, storedScorerId, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Check if scorer definition exists\n const existing = await scorerStore.getById(storedScorerId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n assertStoredResourceScope(existing, await getStoredResourceScope(mastra, requestContext));\n\n await scorerStore.delete(storedScorerId);\n\n // Clear the cached scorer instance\n mastra.getEditor()?.scorer.clearCache(storedScorerId);\n\n return { success: true, message: `Scorer definition ${storedScorerId} deleted successfully` };\n } catch (error) {\n return handleError(error, 'Error deleting stored scorer definition');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/stored-scorers.ts"],"names":["createRoute","listStoredScorersQuerySchema","listStoredScorersResponseSchema","HTTPException","getStoredResourceScope","scopeStoredResourceMetadata","handleError","storedScorerIdPathParams","statusQuerySchema","getStoredScorerResponseSchema","assertStoredResourceScope","createStoredScorerBodySchema","createStoredScorerResponseSchema","toSlug","updateStoredScorerBodySchema","updateStoredScorerResponseSchema","handleAutoVersioning","deleteStoredScorerResponseSchema"],"mappings":"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","file":"chunk-N3IC7S4L.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedScorerIdPathParams,\n statusQuerySchema,\n listStoredScorersQuerySchema,\n createStoredScorerBodySchema,\n updateStoredScorerBodySchema,\n listStoredScorersResponseSchema,\n getStoredScorerResponseSchema,\n createStoredScorerResponseSchema,\n updateStoredScorerResponseSchema,\n deleteStoredScorerResponseSchema,\n} from '../schemas/stored-scorers';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope, scopeStoredResourceMetadata, toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst SCORER_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'type',\n 'model',\n 'instructions',\n 'scoreRange',\n 'presetConfig',\n 'defaultSampling',\n] as const;\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/scorers - List all stored scorer definitions\n */\nexport const LIST_STORED_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/scorers',\n responseType: 'json',\n queryParamSchema: listStoredScorersQuerySchema,\n responseSchema: listStoredScorersResponseSchema,\n summary: 'List stored scorer definitions',\n description: 'Returns a paginated list of all scorer definitions stored in the database',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n const scope = await getStoredResourceScope(mastra, requestContext);\n const result = await scorerStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata: scopeStoredResourceMetadata(metadata, scope),\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored scorer definitions');\n }\n },\n});\n\n/**\n * GET /stored/scorers/:storedScorerId - Get a stored scorer definition by ID\n */\nexport const GET_STORED_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredScorerResponseSchema,\n summary: 'Get stored scorer definition by ID',\n description:\n 'Returns a specific scorer definition from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, storedScorerId, status, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n const scorer = await scorerStore.getByIdResolved(storedScorerId, { status });\n\n if (!scorer) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n assertStoredResourceScope(scorer, await getStoredResourceScope(mastra, requestContext));\n\n return scorer;\n } catch (error) {\n return handleError(error, 'Error getting stored scorer definition');\n }\n },\n});\n\n/**\n * POST /stored/scorers - Create a new stored scorer definition\n */\nexport const CREATE_STORED_SCORER_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/scorers',\n responseType: 'json',\n bodySchema: createStoredScorerBodySchema,\n responseSchema: createStoredScorerResponseSchema,\n summary: 'Create stored scorer definition',\n description: 'Creates a new scorer definition in storage with the provided configuration',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n requestContext,\n }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive scorer definition ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if scorer definition with this ID already exists\n const existing = await scorerStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Scorer definition with id ${id} already exists` });\n }\n\n await scorerStore.create({\n scorerDefinition: {\n id,\n authorId,\n metadata: scopeStoredResourceMetadata(metadata, await getStoredResourceScope(mastra, requestContext)),\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n },\n });\n\n // Return the resolved scorer definition (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await scorerStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created scorer definition' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error creating stored scorer definition');\n }\n },\n});\n\n/**\n * PATCH /stored/scorers/:storedScorerId - Update a stored scorer definition\n */\nexport const UPDATE_STORED_SCORER_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n bodySchema: updateStoredScorerBodySchema,\n responseSchema: updateStoredScorerResponseSchema,\n summary: 'Update stored scorer definition',\n description: 'Updates an existing scorer definition in storage with the provided fields',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedScorerId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n requestContext,\n }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Check if scorer definition exists\n const existing = await scorerStore.getById(storedScorerId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n const scope = await getStoredResourceScope(mastra, requestContext);\n assertStoredResourceScope(existing, scope);\n const scopedMetadata =\n metadata !== undefined\n ? scopeStoredResourceMetadata({ ...(existing.metadata ?? {}), ...metadata }, scope)\n : undefined;\n\n // Update the scorer definition with both metadata-level and config-level fields\n const updatedScorer = await scorerStore.update({\n id: storedScorerId,\n authorId,\n ...(scopedMetadata !== undefined ? { metadata: scopedMetadata } : {}),\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = {\n name,\n description,\n type,\n model,\n instructions,\n scoreRange,\n presetConfig,\n defaultSampling,\n };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n // It does NOT update activeVersionId — the version stays as a draft until explicitly published.\n await handleAutoVersioning(\n scorerStore as unknown as VersionedStoreInterface,\n storedScorerId,\n 'scorerDefinitionId',\n SCORER_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedScorer,\n providedConfigFields,\n );\n\n // Clear the cached scorer instance so the next request gets the updated config\n const editor = mastra.getEditor();\n if (editor) {\n editor.scorer.clearCache(storedScorerId);\n }\n\n // Return the resolved scorer definition with the latest (draft) version so the UI sees its edits\n const resolved = await scorerStore.getByIdResolved(storedScorerId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated scorer definition' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error updating stored scorer definition');\n }\n },\n});\n\n/**\n * DELETE /stored/scorers/:storedScorerId - Delete a stored scorer definition\n */\nexport const DELETE_STORED_SCORER_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/scorers/:storedScorerId',\n responseType: 'json',\n pathParamSchema: storedScorerIdPathParams,\n responseSchema: deleteStoredScorerResponseSchema,\n summary: 'Delete stored scorer definition',\n description: 'Deletes a scorer definition from storage by its unique identifier',\n tags: ['Stored Scorers'],\n requiresAuth: true,\n handler: async ({ mastra, storedScorerId, requestContext }) => {\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 scorerStore = await storage.getStore('scorerDefinitions');\n if (!scorerStore) {\n throw new HTTPException(500, { message: 'Scorer definitions storage domain is not available' });\n }\n\n // Check if scorer definition exists\n const existing = await scorerStore.getById(storedScorerId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored scorer definition with id ${storedScorerId} not found` });\n }\n assertStoredResourceScope(existing, await getStoredResourceScope(mastra, requestContext));\n\n await scorerStore.delete(storedScorerId);\n\n // Clear the cached scorer instance\n mastra.getEditor()?.scorer.clearCache(storedScorerId);\n\n return { success: true, message: `Scorer definition ${storedScorerId} deleted successfully` };\n } catch (error) {\n return handleError(error, 'Error deleting stored scorer definition');\n }\n },\n});\n"]}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
4
3
  var chunkTXM2XTUT_cjs = require('./chunk-TXM2XTUT.cjs');
5
- var chunkQZ6UFQ7V_cjs = require('./chunk-QZ6UFQ7V.cjs');
4
+ var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
5
+ var chunkKT66JFSR_cjs = require('./chunk-KT66JFSR.cjs');
6
6
  var chunkYNSUYESL_cjs = require('./chunk-YNSUYESL.cjs');
7
- var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
7
+ var chunkBXTQ4QZA_cjs = require('./chunk-BXTQ4QZA.cjs');
8
8
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
9
 
10
10
  // src/server/handlers/prompt-block-versions.ts
11
11
  var SNAPSHOT_CONFIG_FIELDS = ["name", "description", "content", "rules"];
12
- var LIST_PROMPT_BLOCK_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
12
+ var LIST_PROMPT_BLOCK_VERSIONS_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
13
13
  method: "GET",
14
14
  path: "/stored/prompt-blocks/:promptBlockId/versions",
15
15
  requiresAuth: true,
@@ -34,7 +34,7 @@ var LIST_PROMPT_BLOCK_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
34
34
  if (!promptBlock) {
35
35
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });
36
36
  }
37
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
37
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
38
38
  const result = await promptBlockStore.listVersions({
39
39
  blockId: promptBlockId,
40
40
  page,
@@ -47,7 +47,7 @@ var LIST_PROMPT_BLOCK_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
47
47
  }
48
48
  }
49
49
  });
50
- var CREATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
50
+ var CREATE_PROMPT_BLOCK_VERSION_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
51
51
  method: "POST",
52
52
  path: "/stored/prompt-blocks/:promptBlockId/versions",
53
53
  requiresAuth: true,
@@ -72,7 +72,7 @@ var CREATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
72
72
  if (!promptBlock) {
73
73
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });
74
74
  }
75
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
75
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
76
76
  let currentConfig = {};
77
77
  if (promptBlock.activeVersionId) {
78
78
  const activeVersion = await promptBlockStore.getVersion(promptBlock.activeVersionId);
@@ -116,7 +116,7 @@ var CREATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
116
116
  }
117
117
  }
118
118
  });
119
- var GET_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
119
+ var GET_PROMPT_BLOCK_VERSION_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
120
120
  method: "GET",
121
121
  path: "/stored/prompt-blocks/:promptBlockId/versions/:versionId",
122
122
  requiresAuth: true,
@@ -146,14 +146,14 @@ var GET_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
146
146
  });
147
147
  }
148
148
  const promptBlock = await promptBlockStore.getById(promptBlockId);
149
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
149
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
150
150
  return version;
151
151
  } catch (error) {
152
152
  return chunkYNSUYESL_cjs.handleError(error, "Error getting prompt block version");
153
153
  }
154
154
  }
155
155
  });
156
- var ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
156
+ var ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
157
157
  method: "POST",
158
158
  path: "/stored/prompt-blocks/:promptBlockId/versions/:versionId/activate",
159
159
  requiresAuth: true,
@@ -177,7 +177,7 @@ var ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
177
177
  if (!promptBlock) {
178
178
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });
179
179
  }
180
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
180
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
181
181
  const version = await promptBlockStore.getVersion(versionId);
182
182
  if (!version) {
183
183
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -203,7 +203,7 @@ var ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
203
203
  }
204
204
  }
205
205
  });
206
- var RESTORE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
206
+ var RESTORE_PROMPT_BLOCK_VERSION_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
207
207
  method: "POST",
208
208
  path: "/stored/prompt-blocks/:promptBlockId/versions/:versionId/restore",
209
209
  requiresAuth: true,
@@ -227,7 +227,7 @@ var RESTORE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
227
227
  if (!promptBlock) {
228
228
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });
229
229
  }
230
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
230
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
231
231
  const versionToRestore = await promptBlockStore.getVersion(versionId);
232
232
  if (!versionToRestore) {
233
233
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -275,7 +275,7 @@ var RESTORE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
275
275
  }
276
276
  }
277
277
  });
278
- var DELETE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
278
+ var DELETE_PROMPT_BLOCK_VERSION_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
279
279
  method: "DELETE",
280
280
  path: "/stored/prompt-blocks/:promptBlockId/versions/:versionId",
281
281
  requiresAuth: true,
@@ -299,7 +299,7 @@ var DELETE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
299
299
  if (!promptBlock) {
300
300
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Prompt block with id ${promptBlockId} not found` });
301
301
  }
302
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
302
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
303
303
  const version = await promptBlockStore.getVersion(versionId);
304
304
  if (!version) {
305
305
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -325,7 +325,7 @@ var DELETE_PROMPT_BLOCK_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
325
325
  }
326
326
  }
327
327
  });
328
- var COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
328
+ var COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
329
329
  method: "GET",
330
330
  path: "/stored/prompt-blocks/:promptBlockId/versions/compare",
331
331
  requiresAuth: true,
@@ -347,7 +347,7 @@ var COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
347
347
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Prompt blocks storage domain is not available" });
348
348
  }
349
349
  const promptBlock = await promptBlockStore.getById(promptBlockId);
350
- chunkQZ6UFQ7V_cjs.assertStoredResourceScope(promptBlock, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
350
+ chunkKT66JFSR_cjs.assertStoredResourceScope(promptBlock, await chunkKT66JFSR_cjs.getStoredResourceScope(mastra, requestContext));
351
351
  const fromVersion = await promptBlockStore.getVersion(from);
352
352
  if (!fromVersion) {
353
353
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${from} not found` });
@@ -393,5 +393,5 @@ exports.DELETE_PROMPT_BLOCK_VERSION_ROUTE = DELETE_PROMPT_BLOCK_VERSION_ROUTE;
393
393
  exports.GET_PROMPT_BLOCK_VERSION_ROUTE = GET_PROMPT_BLOCK_VERSION_ROUTE;
394
394
  exports.LIST_PROMPT_BLOCK_VERSIONS_ROUTE = LIST_PROMPT_BLOCK_VERSIONS_ROUTE;
395
395
  exports.RESTORE_PROMPT_BLOCK_VERSION_ROUTE = RESTORE_PROMPT_BLOCK_VERSION_ROUTE;
396
- //# sourceMappingURL=chunk-57H2WB7S.cjs.map
397
- //# sourceMappingURL=chunk-57H2WB7S.cjs.map
396
+ //# sourceMappingURL=chunk-NE7ZXK3A.cjs.map
397
+ //# sourceMappingURL=chunk-NE7ZXK3A.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/prompt-block-versions.ts"],"names":["createRoute","promptBlockVersionPathParams","listPromptBlockVersionsQuerySchema","listPromptBlockVersionsResponseSchema","HTTPException","assertStoredResourceScope","getStoredResourceScope","handleError","createPromptBlockVersionBodySchema","createPromptBlockVersionResponseSchema","extractConfigFromVersion","calculateChangedFields","createVersionWithRetry","enforceRetentionLimit","promptBlockVersionIdPathParams","getPromptBlockVersionResponseSchema","activatePromptBlockVersionResponseSchema","restorePromptBlockVersionResponseSchema","deletePromptBlockVersionResponseSchema","comparePromptBlockVersionsQuerySchema","comparePromptBlockVersionsResponseSchema","computeVersionDiffs"],"mappings":"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","file":"chunk-57H2WB7S.cjs","sourcesContent":["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';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 const promptBlock = await promptBlockStore.getById(promptBlockId);\n assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 const promptBlock = await promptBlockStore.getById(promptBlockId);\n assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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
+ {"version":3,"sources":["../src/server/handlers/prompt-block-versions.ts"],"names":["createRoute","promptBlockVersionPathParams","listPromptBlockVersionsQuerySchema","listPromptBlockVersionsResponseSchema","HTTPException","assertStoredResourceScope","getStoredResourceScope","handleError","createPromptBlockVersionBodySchema","createPromptBlockVersionResponseSchema","extractConfigFromVersion","calculateChangedFields","createVersionWithRetry","enforceRetentionLimit","promptBlockVersionIdPathParams","getPromptBlockVersionResponseSchema","activatePromptBlockVersionResponseSchema","restorePromptBlockVersionResponseSchema","deletePromptBlockVersionResponseSchema","comparePromptBlockVersionsQuerySchema","comparePromptBlockVersionsResponseSchema","computeVersionDiffs"],"mappings":"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","file":"chunk-NE7ZXK3A.cjs","sourcesContent":["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';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 const promptBlock = await promptBlockStore.getById(promptBlockId);\n assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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, requestContext }) => {\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 const promptBlock = await promptBlockStore.getById(promptBlockId);\n assertStoredResourceScope(promptBlock, await getStoredResourceScope(mastra, requestContext));\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"]}