@mastra/server 1.14.0 → 1.15.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{chunk-LUHJDABR.cjs → chunk-2SQXNXDG.cjs} +30 -30
  3. package/dist/{chunk-LUHJDABR.cjs.map → chunk-2SQXNXDG.cjs.map} +1 -1
  4. package/dist/{chunk-DEZVQIGB.cjs → chunk-3CUUB624.cjs} +10 -10
  5. package/dist/{chunk-DEZVQIGB.cjs.map → chunk-3CUUB624.cjs.map} +1 -1
  6. package/dist/{chunk-U7WRAFPO.js → chunk-45KP7ENX.js} +5 -5
  7. package/dist/{chunk-U7WRAFPO.js.map → chunk-45KP7ENX.js.map} +1 -1
  8. package/dist/{chunk-M5KELSDU.js → chunk-4AUZJETY.js} +4 -4
  9. package/dist/{chunk-M5KELSDU.js.map → chunk-4AUZJETY.js.map} +1 -1
  10. package/dist/{chunk-CTQ3HPQI.cjs → chunk-4H646L2Z.cjs} +11 -11
  11. package/dist/{chunk-CTQ3HPQI.cjs.map → chunk-4H646L2Z.cjs.map} +1 -1
  12. package/dist/{chunk-NFXFCOSV.js → chunk-5A232FX3.js} +3 -3
  13. package/dist/{chunk-NFXFCOSV.js.map → chunk-5A232FX3.js.map} +1 -1
  14. package/dist/{chunk-3MW2URMC.js → chunk-5BBO2RHV.js} +10 -4
  15. package/dist/chunk-5BBO2RHV.js.map +1 -0
  16. package/dist/{chunk-S5GP7MGR.cjs → chunk-5OJTF4BH.cjs} +6 -6
  17. package/dist/{chunk-S5GP7MGR.cjs.map → chunk-5OJTF4BH.cjs.map} +1 -1
  18. package/dist/{chunk-46ITQ5XN.cjs → chunk-6AXJQ6UB.cjs} +6 -6
  19. package/dist/{chunk-46ITQ5XN.cjs.map → chunk-6AXJQ6UB.cjs.map} +1 -1
  20. package/dist/{chunk-DRCX2OSH.js → chunk-6INBDRFJ.js} +3 -3
  21. package/dist/{chunk-DRCX2OSH.js.map → chunk-6INBDRFJ.js.map} +1 -1
  22. package/dist/{chunk-NLI7HQU4.js → chunk-6QUGCOP5.js} +4 -4
  23. package/dist/{chunk-NLI7HQU4.js.map → chunk-6QUGCOP5.js.map} +1 -1
  24. package/dist/{chunk-UHDWOTND.cjs → chunk-7KSSSSLW.cjs} +35 -35
  25. package/dist/{chunk-UHDWOTND.cjs.map → chunk-7KSSSSLW.cjs.map} +1 -1
  26. package/dist/{chunk-4HWJ24DT.js → chunk-7WP6LX5N.js} +3 -3
  27. package/dist/{chunk-4HWJ24DT.js.map → chunk-7WP6LX5N.js.map} +1 -1
  28. package/dist/{chunk-QSWHYCQJ.cjs → chunk-AJWYRQFD.cjs} +33 -33
  29. package/dist/{chunk-QSWHYCQJ.cjs.map → chunk-AJWYRQFD.cjs.map} +1 -1
  30. package/dist/{chunk-FEV3JR2X.js → chunk-B4YTCF2Y.js} +3 -3
  31. package/dist/{chunk-FEV3JR2X.js.map → chunk-B4YTCF2Y.js.map} +1 -1
  32. package/dist/{chunk-4XVFN4EB.js → chunk-BMNO4KOI.js} +16 -10
  33. package/dist/chunk-BMNO4KOI.js.map +1 -0
  34. package/dist/{chunk-TNLKHEQX.cjs → chunk-BWTGKLXJ.cjs} +11 -11
  35. package/dist/{chunk-TNLKHEQX.cjs.map → chunk-BWTGKLXJ.cjs.map} +1 -1
  36. package/dist/{chunk-OJXRWVPG.js → chunk-CCEVYU3X.js} +3 -3
  37. package/dist/{chunk-OJXRWVPG.js.map → chunk-CCEVYU3X.js.map} +1 -1
  38. package/dist/{chunk-WJCVD3EA.js → chunk-CLXK74N7.js} +3 -3
  39. package/dist/{chunk-WJCVD3EA.js.map → chunk-CLXK74N7.js.map} +1 -1
  40. package/dist/{chunk-OS326XHH.js → chunk-CSSSPADR.js} +4 -4
  41. package/dist/{chunk-OS326XHH.js.map → chunk-CSSSPADR.js.map} +1 -1
  42. package/dist/{chunk-QW2SC6DS.cjs → chunk-DUWAI5L3.cjs} +10 -10
  43. package/dist/{chunk-QW2SC6DS.cjs.map → chunk-DUWAI5L3.cjs.map} +1 -1
  44. package/dist/{chunk-VX62DW2T.cjs → chunk-DWJI2VL3.cjs} +6 -6
  45. package/dist/{chunk-VX62DW2T.cjs.map → chunk-DWJI2VL3.cjs.map} +1 -1
  46. package/dist/{chunk-SZABEGPT.cjs → chunk-E4RLL73F.cjs} +11 -11
  47. package/dist/{chunk-SZABEGPT.cjs.map → chunk-E4RLL73F.cjs.map} +1 -1
  48. package/dist/{chunk-55AD3MAT.js → chunk-EYPXYWPY.js} +4 -4
  49. package/dist/{chunk-55AD3MAT.js.map → chunk-EYPXYWPY.js.map} +1 -1
  50. package/dist/{chunk-AEBQC6G6.cjs → chunk-FLTCEG6J.cjs} +10 -10
  51. package/dist/{chunk-AEBQC6G6.cjs.map → chunk-FLTCEG6J.cjs.map} +1 -1
  52. package/dist/{chunk-GRI42AT7.js → chunk-FS7SSMBW.js} +11 -3
  53. package/dist/chunk-FS7SSMBW.js.map +1 -0
  54. package/dist/{chunk-6BXHZVO4.cjs → chunk-G4FSJJAS.cjs} +10 -10
  55. package/dist/{chunk-6BXHZVO4.cjs.map → chunk-G4FSJJAS.cjs.map} +1 -1
  56. package/dist/{chunk-CLCXQYFC.js → chunk-GHPFPYUG.js} +3 -3
  57. package/dist/{chunk-CLCXQYFC.js.map → chunk-GHPFPYUG.js.map} +1 -1
  58. package/dist/{chunk-4VGZOVOI.js → chunk-H37CMPNZ.js} +3 -3
  59. package/dist/{chunk-4VGZOVOI.js.map → chunk-H37CMPNZ.js.map} +1 -1
  60. package/dist/{chunk-MI6FWWJD.js → chunk-H7ZHZE4B.js} +4 -4
  61. package/dist/{chunk-MI6FWWJD.js.map → chunk-H7ZHZE4B.js.map} +1 -1
  62. package/dist/{chunk-HTVDOYYQ.cjs → chunk-HMJCSYZW.cjs} +5 -5
  63. package/dist/{chunk-HTVDOYYQ.cjs.map → chunk-HMJCSYZW.cjs.map} +1 -1
  64. package/dist/{chunk-6VXSEVDC.js → chunk-HMOE6YKM.js} +5 -5
  65. package/dist/{chunk-6VXSEVDC.js.map → chunk-HMOE6YKM.js.map} +1 -1
  66. package/dist/{chunk-KZAB4IB3.js → chunk-HPJ2CRVK.js} +208 -40
  67. package/dist/chunk-HPJ2CRVK.js.map +1 -0
  68. package/dist/{chunk-JNZTLQGH.js → chunk-HRVCVRIR.js} +4 -4
  69. package/dist/{chunk-JNZTLQGH.js.map → chunk-HRVCVRIR.js.map} +1 -1
  70. package/dist/{chunk-4NZHZQ6Q.cjs → chunk-I6ZA2R6M.cjs} +11 -2
  71. package/dist/chunk-I6ZA2R6M.cjs.map +1 -0
  72. package/dist/{chunk-HPS5GJT3.js → chunk-IB2ZR7T7.js} +3 -3
  73. package/dist/{chunk-HPS5GJT3.js.map → chunk-IB2ZR7T7.js.map} +1 -1
  74. package/dist/{chunk-IVANH2RD.cjs → chunk-IGZADYRV.cjs} +10 -10
  75. package/dist/{chunk-IVANH2RD.cjs.map → chunk-IGZADYRV.cjs.map} +1 -1
  76. package/dist/{chunk-L6ANZUEK.cjs → chunk-IPQTQESA.cjs} +97 -96
  77. package/dist/chunk-IPQTQESA.cjs.map +1 -0
  78. package/dist/{chunk-GFC5ZB75.cjs → chunk-JKUQ3PWM.cjs} +10 -10
  79. package/dist/{chunk-GFC5ZB75.cjs.map → chunk-JKUQ3PWM.cjs.map} +1 -1
  80. package/dist/{chunk-66TTR3PD.cjs → chunk-JLIHQAX7.cjs} +10 -10
  81. package/dist/{chunk-66TTR3PD.cjs.map → chunk-JLIHQAX7.cjs.map} +1 -1
  82. package/dist/{chunk-A6HL3JRC.cjs → chunk-KH7BZQVQ.cjs} +208 -40
  83. package/dist/chunk-KH7BZQVQ.cjs.map +1 -0
  84. package/dist/{chunk-MJUZD7NE.js → chunk-KKFLSWNW.js} +4 -4
  85. package/dist/{chunk-MJUZD7NE.js.map → chunk-KKFLSWNW.js.map} +1 -1
  86. package/dist/{chunk-DB2GWK7T.js → chunk-L4VJYJCY.js} +3 -3
  87. package/dist/{chunk-DB2GWK7T.js.map → chunk-L4VJYJCY.js.map} +1 -1
  88. package/dist/{chunk-LYKMLRXD.cjs → chunk-LPLSDJEE.cjs} +10 -10
  89. package/dist/{chunk-LYKMLRXD.cjs.map → chunk-LPLSDJEE.cjs.map} +1 -1
  90. package/dist/{chunk-MDYMZ4OK.cjs → chunk-M2PIFW7O.cjs} +23 -23
  91. package/dist/{chunk-MDYMZ4OK.cjs.map → chunk-M2PIFW7O.cjs.map} +1 -1
  92. package/dist/{chunk-GEHJZKDB.cjs → chunk-M3ZNPNN2.cjs} +11 -11
  93. package/dist/{chunk-GEHJZKDB.cjs.map → chunk-M3ZNPNN2.cjs.map} +1 -1
  94. package/dist/{chunk-SJMWOGHQ.js → chunk-MN45G3GB.js} +3 -3
  95. package/dist/{chunk-SJMWOGHQ.js.map → chunk-MN45G3GB.js.map} +1 -1
  96. package/dist/{chunk-VEKRLGNI.cjs → chunk-NBF6ZWSZ.cjs} +12 -12
  97. package/dist/{chunk-VEKRLGNI.cjs.map → chunk-NBF6ZWSZ.cjs.map} +1 -1
  98. package/dist/{chunk-24IPFJ5L.js → chunk-NDI2C7UD.js} +3 -3
  99. package/dist/{chunk-24IPFJ5L.js.map → chunk-NDI2C7UD.js.map} +1 -1
  100. package/dist/{chunk-LCDFOAST.cjs → chunk-NHTUBHMO.cjs} +24 -24
  101. package/dist/{chunk-LCDFOAST.cjs.map → chunk-NHTUBHMO.cjs.map} +1 -1
  102. package/dist/{chunk-OWWZB5LT.js → chunk-NPNFRMTB.js} +6 -6
  103. package/dist/{chunk-OWWZB5LT.js.map → chunk-NPNFRMTB.js.map} +1 -1
  104. package/dist/{chunk-C5T7WB4Y.js → chunk-OH2TKHUS.js} +5 -5
  105. package/dist/{chunk-C5T7WB4Y.js.map → chunk-OH2TKHUS.js.map} +1 -1
  106. package/dist/{chunk-LE6IX2DD.js → chunk-OV64H74M.js} +13 -12
  107. package/dist/chunk-OV64H74M.js.map +1 -0
  108. package/dist/{chunk-HTNNOZR2.js → chunk-P63CP2ZR.js} +3 -3
  109. package/dist/{chunk-HTNNOZR2.js.map → chunk-P63CP2ZR.js.map} +1 -1
  110. package/dist/{chunk-B4SQM6HA.cjs → chunk-Q2X6FP4W.cjs} +28 -28
  111. package/dist/{chunk-B4SQM6HA.cjs.map → chunk-Q2X6FP4W.cjs.map} +1 -1
  112. package/dist/{chunk-4NGWOFN7.cjs → chunk-RRQAOK3A.cjs} +11 -11
  113. package/dist/{chunk-4NGWOFN7.cjs.map → chunk-RRQAOK3A.cjs.map} +1 -1
  114. package/dist/{chunk-MSIV5GWW.cjs → chunk-S3DMOFGG.cjs} +29 -29
  115. package/dist/{chunk-MSIV5GWW.cjs.map → chunk-S3DMOFGG.cjs.map} +1 -1
  116. package/dist/{chunk-2FG2J4GI.js → chunk-TZTKWB74.js} +3 -3
  117. package/dist/{chunk-2FG2J4GI.js.map → chunk-TZTKWB74.js.map} +1 -1
  118. package/dist/{chunk-ZCFVL5AI.js → chunk-UQALKED3.js} +3 -3
  119. package/dist/{chunk-ZCFVL5AI.js.map → chunk-UQALKED3.js.map} +1 -1
  120. package/dist/{chunk-P6GG3AYA.js → chunk-W7I2JHCT.js} +3 -3
  121. package/dist/{chunk-P6GG3AYA.js.map → chunk-W7I2JHCT.js.map} +1 -1
  122. package/dist/{chunk-HJEIULHK.cjs → chunk-WCZPCP3F.cjs} +7 -7
  123. package/dist/{chunk-HJEIULHK.cjs.map → chunk-WCZPCP3F.cjs.map} +1 -1
  124. package/dist/{chunk-7BO2VOGB.cjs → chunk-WDECR2C2.cjs} +118 -112
  125. package/dist/chunk-WDECR2C2.cjs.map +1 -0
  126. package/dist/{chunk-YL4WPM3F.cjs → chunk-WQCIZSIK.cjs} +10 -10
  127. package/dist/{chunk-YL4WPM3F.cjs.map → chunk-WQCIZSIK.cjs.map} +1 -1
  128. package/dist/{chunk-SE7KHXNQ.js → chunk-X7USLRKI.js} +3 -3
  129. package/dist/{chunk-SE7KHXNQ.js.map → chunk-X7USLRKI.js.map} +1 -1
  130. package/dist/{chunk-OXZCCCIJ.cjs → chunk-XJ4C64FH.cjs} +33 -33
  131. package/dist/{chunk-OXZCCCIJ.cjs.map → chunk-XJ4C64FH.cjs.map} +1 -1
  132. package/dist/{chunk-XFEA4PH2.js → chunk-YIVUIIWJ.js} +4 -4
  133. package/dist/{chunk-XFEA4PH2.js.map → chunk-YIVUIIWJ.js.map} +1 -1
  134. package/dist/{chunk-EFSXF23C.cjs → chunk-YJLDMFSE.cjs} +11 -5
  135. package/dist/chunk-YJLDMFSE.cjs.map +1 -0
  136. package/dist/{chunk-2CWSPVQF.cjs → chunk-ZHKXVTMQ.cjs} +4 -4
  137. package/dist/{chunk-2CWSPVQF.cjs.map → chunk-ZHKXVTMQ.cjs.map} +1 -1
  138. package/dist/docs/SKILL.md +1 -1
  139. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  140. package/dist/docs/references/reference-server-routes.md +28 -8
  141. package/dist/{observational-memory-UEDVTWS2-TU3KK4ZG.cjs → observational-memory-5NFPG6M3-L7EU4ABW.cjs} +18 -18
  142. package/dist/{observational-memory-UEDVTWS2-TU3KK4ZG.cjs.map → observational-memory-5NFPG6M3-L7EU4ABW.cjs.map} +1 -1
  143. package/dist/{observational-memory-UEDVTWS2-COV6JJZK.js → observational-memory-5NFPG6M3-MG2OMRFW.js} +3 -3
  144. package/dist/{observational-memory-UEDVTWS2-COV6JJZK.js.map → observational-memory-5NFPG6M3-MG2OMRFW.js.map} +1 -1
  145. package/dist/{probe-image-size-NW5AOXWX.cjs → probe-image-size-7HF7Q24F.cjs} +6 -22
  146. package/dist/probe-image-size-7HF7Q24F.cjs.map +1 -0
  147. package/dist/{probe-image-size-VSBN7AG5.js → probe-image-size-M5NYSF5D.js} +6 -22
  148. package/dist/probe-image-size-M5NYSF5D.js.map +1 -0
  149. package/dist/server/handlers/a2a.cjs +9 -9
  150. package/dist/server/handlers/a2a.js +1 -1
  151. package/dist/server/handlers/agent-builder.cjs +16 -16
  152. package/dist/server/handlers/agent-builder.js +1 -1
  153. package/dist/server/handlers/agent-versions.cjs +8 -8
  154. package/dist/server/handlers/agent-versions.js +1 -1
  155. package/dist/server/handlers/agents.cjs +33 -33
  156. package/dist/server/handlers/agents.d.ts +22 -5
  157. package/dist/server/handlers/agents.d.ts.map +1 -1
  158. package/dist/server/handlers/agents.js +1 -1
  159. package/dist/server/handlers/auth.cjs +10 -10
  160. package/dist/server/handlers/auth.js +1 -1
  161. package/dist/server/handlers/datasets.cjs +21 -21
  162. package/dist/server/handlers/datasets.js +1 -1
  163. package/dist/server/handlers/logs.cjs +4 -4
  164. package/dist/server/handlers/logs.js +1 -1
  165. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  166. package/dist/server/handlers/mcp-client-versions.js +1 -1
  167. package/dist/server/handlers/mcp.cjs +9 -9
  168. package/dist/server/handlers/mcp.js +1 -1
  169. package/dist/server/handlers/memory.cjs +27 -27
  170. package/dist/server/handlers/memory.js +1 -1
  171. package/dist/server/handlers/observability-new-endpoints.cjs +19 -19
  172. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  173. package/dist/server/handlers/observability.cjs +24 -24
  174. package/dist/server/handlers/observability.js +2 -2
  175. package/dist/server/handlers/processor-providers.cjs +3 -3
  176. package/dist/server/handlers/processor-providers.js +1 -1
  177. package/dist/server/handlers/processors.cjs +4 -4
  178. package/dist/server/handlers/processors.js +1 -1
  179. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  180. package/dist/server/handlers/prompt-block-versions.js +1 -1
  181. package/dist/server/handlers/scorer-versions.cjs +8 -8
  182. package/dist/server/handlers/scorer-versions.js +1 -1
  183. package/dist/server/handlers/scores.cjs +7 -7
  184. package/dist/server/handlers/scores.js +1 -1
  185. package/dist/server/handlers/stored-agents.cjs +7 -7
  186. package/dist/server/handlers/stored-agents.js +1 -1
  187. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  188. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  189. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  190. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  191. package/dist/server/handlers/stored-scorers.cjs +6 -6
  192. package/dist/server/handlers/stored-scorers.js +1 -1
  193. package/dist/server/handlers/stored-skills.cjs +7 -7
  194. package/dist/server/handlers/stored-skills.js +1 -1
  195. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  196. package/dist/server/handlers/stored-workspaces.js +1 -1
  197. package/dist/server/handlers/system.cjs +2 -2
  198. package/dist/server/handlers/system.js +1 -1
  199. package/dist/server/handlers/tool-providers.cjs +5 -5
  200. package/dist/server/handlers/tool-providers.js +1 -1
  201. package/dist/server/handlers/tools.cjs +6 -6
  202. package/dist/server/handlers/tools.js +1 -1
  203. package/dist/server/handlers/vector.cjs +16 -16
  204. package/dist/server/handlers/vector.js +1 -1
  205. package/dist/server/handlers/voice.cjs +8 -8
  206. package/dist/server/handlers/voice.js +1 -1
  207. package/dist/server/handlers/workflows.cjs +24 -24
  208. package/dist/server/handlers/workflows.js +1 -1
  209. package/dist/server/handlers/workspace.cjs +26 -26
  210. package/dist/server/handlers/workspace.js +1 -1
  211. package/dist/server/handlers.cjs +26 -26
  212. package/dist/server/handlers.js +13 -13
  213. package/dist/server/schemas/agents.d.ts +13 -0
  214. package/dist/server/schemas/agents.d.ts.map +1 -1
  215. package/dist/server/schemas/index.cjs +44 -40
  216. package/dist/server/schemas/index.js +1 -1
  217. package/dist/server/server-adapter/index.cjs +281 -280
  218. package/dist/server/server-adapter/index.cjs.map +1 -1
  219. package/dist/server/server-adapter/index.js +35 -34
  220. package/dist/server/server-adapter/index.js.map +1 -1
  221. package/dist/server/server-adapter/routes/observability.d.ts +75 -0
  222. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  223. package/package.json +6 -6
  224. package/dist/chunk-3MW2URMC.js.map +0 -1
  225. package/dist/chunk-4NZHZQ6Q.cjs.map +0 -1
  226. package/dist/chunk-4XVFN4EB.js.map +0 -1
  227. package/dist/chunk-7BO2VOGB.cjs.map +0 -1
  228. package/dist/chunk-A6HL3JRC.cjs.map +0 -1
  229. package/dist/chunk-EFSXF23C.cjs.map +0 -1
  230. package/dist/chunk-GRI42AT7.js.map +0 -1
  231. package/dist/chunk-KZAB4IB3.js.map +0 -1
  232. package/dist/chunk-L6ANZUEK.cjs.map +0 -1
  233. package/dist/chunk-LE6IX2DD.js.map +0 -1
  234. package/dist/probe-image-size-NW5AOXWX.cjs.map +0 -1
  235. package/dist/probe-image-size-VSBN7AG5.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { listStoredPromptBlocksResponseSchema, listStoredPromptBlocksQuerySchema, getStoredPromptBlockResponseSchema, storedPromptBlockIdPathParams, createStoredPromptBlockResponseSchema, createStoredPromptBlockBodySchema, updateStoredPromptBlockResponseSchema, updateStoredPromptBlockBodySchema, deleteStoredPromptBlockResponseSchema } from './chunk-7NDOPT3W.js';
2
2
  import { handleAutoVersioning } from './chunk-33QPJPK4.js';
3
- import { toSlug } from './chunk-2FG2J4GI.js';
3
+ import { toSlug } from './chunk-TZTKWB74.js';
4
4
  import { statusQuerySchema } from './chunk-USZD5AX2.js';
5
5
  import { handleError } from './chunk-NA7LKQPZ.js';
6
- import { createRoute } from './chunk-3MW2URMC.js';
6
+ import { createRoute } from './chunk-5BBO2RHV.js';
7
7
  import { HTTPException } from './chunk-6QWQZI4Q.js';
8
8
 
9
9
  // src/server/handlers/stored-prompt-blocks.ts
@@ -259,5 +259,5 @@ var DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({
259
259
  });
260
260
 
261
261
  export { CREATE_STORED_PROMPT_BLOCK_ROUTE, DELETE_STORED_PROMPT_BLOCK_ROUTE, GET_STORED_PROMPT_BLOCK_ROUTE, LIST_STORED_PROMPT_BLOCKS_ROUTE, UPDATE_STORED_PROMPT_BLOCK_ROUTE };
262
- //# sourceMappingURL=chunk-JNZTLQGH.js.map
263
- //# sourceMappingURL=chunk-JNZTLQGH.js.map
262
+ //# sourceMappingURL=chunk-HRVCVRIR.js.map
263
+ //# sourceMappingURL=chunk-HRVCVRIR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/stored-prompt-blocks.ts"],"names":[],"mappings":"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","file":"chunk-JNZTLQGH.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedPromptBlockIdPathParams,\n statusQuerySchema,\n listStoredPromptBlocksQuerySchema,\n createStoredPromptBlockBodySchema,\n updateStoredPromptBlockBodySchema,\n listStoredPromptBlocksResponseSchema,\n getStoredPromptBlockResponseSchema,\n createStoredPromptBlockResponseSchema,\n updateStoredPromptBlockResponseSchema,\n deleteStoredPromptBlockResponseSchema,\n} from '../schemas/stored-prompt-blocks';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'content',\n 'rules',\n 'requestContextSchema',\n] as const;\n\n/** Computes whether a prompt block has an unpublished draft version. */\nfunction computeHasDraft(\n latestVersion: { id: string } | null | undefined,\n activeVersionId: string | null | undefined,\n): boolean {\n return !!(latestVersion && (!activeVersionId || latestVersion.id !== activeVersionId));\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/prompt-blocks - List all stored prompt blocks\n */\nexport const LIST_STORED_PROMPT_BLOCKS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n queryParamSchema: listStoredPromptBlocksQuerySchema,\n responseSchema: listStoredPromptBlocksResponseSchema,\n summary: 'List stored prompt blocks',\n description: 'Returns a paginated list of all prompt blocks stored in the database',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata }) => {\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 result = await promptBlockStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n // For each block, fetch the latest version to compute hasDraft.\n // resolvedVersionId from listResolved defaults to 'published' resolution,\n // so we need the actual latest version to detect unpublished drafts.\n const promptBlocks = await Promise.all(\n result.promptBlocks.map(async (block: (typeof result.promptBlocks)[number]) => {\n const latestVersion = await promptBlockStore.getLatestVersion(block.id);\n return { ...block, hasDraft: computeHasDraft(latestVersion, block.activeVersionId) };\n }),\n );\n\n return { ...result, promptBlocks };\n } catch (error) {\n return handleError(error, 'Error listing stored prompt blocks');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:storedPromptBlockId - Get a stored prompt block by ID\n */\nexport const GET_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredPromptBlockResponseSchema,\n summary: 'Get stored prompt block by ID',\n description:\n 'Returns a specific prompt block 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 Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId, status }) => {\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.getByIdResolved(storedPromptBlockId, { status });\n\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n\n return { ...promptBlock, hasDraft: computeHasDraft(latestVersion, promptBlock.activeVersionId) };\n } catch (error) {\n return handleError(error, 'Error getting stored prompt block');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks - Create a new stored prompt block\n */\nexport const CREATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n bodySchema: createStoredPromptBlockBodySchema,\n responseSchema: createStoredPromptBlockResponseSchema,\n summary: 'Create stored prompt block',\n description: 'Creates a new prompt block in storage with the provided configuration',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\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 promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks 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 prompt block ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if prompt block with this ID already exists\n const existing = await promptBlockStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Prompt block with id ${id} already exists` });\n }\n\n await promptBlockStore.create({\n promptBlock: {\n id,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n },\n });\n\n // Return the resolved prompt block (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await promptBlockStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(id);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error creating stored prompt block');\n }\n },\n});\n\n/**\n * PATCH /stored/prompt-blocks/:storedPromptBlockId - Update a stored prompt block\n */\nexport const UPDATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n bodySchema: updateStoredPromptBlockBodySchema,\n responseSchema: updateStoredPromptBlockResponseSchema,\n summary: 'Update stored prompt block',\n description: 'Updates an existing prompt block in storage with the provided fields',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedPromptBlockId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n content,\n rules,\n requestContextSchema,\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 promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n // Update the prompt block with both metadata-level and config-level fields\n const updatedPromptBlock = await promptBlockStore.update({\n id: storedPromptBlockId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, content, rules, requestContextSchema };\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 promptBlockStore as unknown as VersionedStoreInterface,\n storedPromptBlockId,\n 'blockId',\n PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedPromptBlock,\n providedConfigFields,\n );\n\n // Return the resolved prompt block with the latest (draft) version so the UI sees its edits\n const resolved = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error updating stored prompt block');\n }\n },\n});\n\n/**\n * DELETE /stored/prompt-blocks/:storedPromptBlockId - Delete a stored prompt block\n */\nexport const DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n responseSchema: deleteStoredPromptBlockResponseSchema,\n summary: 'Delete stored prompt block',\n description: 'Deletes a prompt block from storage by its unique identifier',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId }) => {\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 // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n await promptBlockStore.delete(storedPromptBlockId);\n\n return {\n success: true,\n message: `Prompt block ${storedPromptBlockId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored prompt block');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/stored-prompt-blocks.ts"],"names":[],"mappings":"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","file":"chunk-HRVCVRIR.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedPromptBlockIdPathParams,\n statusQuerySchema,\n listStoredPromptBlocksQuerySchema,\n createStoredPromptBlockBodySchema,\n updateStoredPromptBlockBodySchema,\n listStoredPromptBlocksResponseSchema,\n getStoredPromptBlockResponseSchema,\n createStoredPromptBlockResponseSchema,\n updateStoredPromptBlockResponseSchema,\n deleteStoredPromptBlockResponseSchema,\n} from '../schemas/stored-prompt-blocks';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'content',\n 'rules',\n 'requestContextSchema',\n] as const;\n\n/** Computes whether a prompt block has an unpublished draft version. */\nfunction computeHasDraft(\n latestVersion: { id: string } | null | undefined,\n activeVersionId: string | null | undefined,\n): boolean {\n return !!(latestVersion && (!activeVersionId || latestVersion.id !== activeVersionId));\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/prompt-blocks - List all stored prompt blocks\n */\nexport const LIST_STORED_PROMPT_BLOCKS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n queryParamSchema: listStoredPromptBlocksQuerySchema,\n responseSchema: listStoredPromptBlocksResponseSchema,\n summary: 'List stored prompt blocks',\n description: 'Returns a paginated list of all prompt blocks stored in the database',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata }) => {\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 result = await promptBlockStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n // For each block, fetch the latest version to compute hasDraft.\n // resolvedVersionId from listResolved defaults to 'published' resolution,\n // so we need the actual latest version to detect unpublished drafts.\n const promptBlocks = await Promise.all(\n result.promptBlocks.map(async (block: (typeof result.promptBlocks)[number]) => {\n const latestVersion = await promptBlockStore.getLatestVersion(block.id);\n return { ...block, hasDraft: computeHasDraft(latestVersion, block.activeVersionId) };\n }),\n );\n\n return { ...result, promptBlocks };\n } catch (error) {\n return handleError(error, 'Error listing stored prompt blocks');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:storedPromptBlockId - Get a stored prompt block by ID\n */\nexport const GET_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredPromptBlockResponseSchema,\n summary: 'Get stored prompt block by ID',\n description:\n 'Returns a specific prompt block 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 Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId, status }) => {\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.getByIdResolved(storedPromptBlockId, { status });\n\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n\n return { ...promptBlock, hasDraft: computeHasDraft(latestVersion, promptBlock.activeVersionId) };\n } catch (error) {\n return handleError(error, 'Error getting stored prompt block');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks - Create a new stored prompt block\n */\nexport const CREATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n bodySchema: createStoredPromptBlockBodySchema,\n responseSchema: createStoredPromptBlockResponseSchema,\n summary: 'Create stored prompt block',\n description: 'Creates a new prompt block in storage with the provided configuration',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\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 promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks 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 prompt block ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if prompt block with this ID already exists\n const existing = await promptBlockStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Prompt block with id ${id} already exists` });\n }\n\n await promptBlockStore.create({\n promptBlock: {\n id,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n },\n });\n\n // Return the resolved prompt block (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await promptBlockStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(id);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error creating stored prompt block');\n }\n },\n});\n\n/**\n * PATCH /stored/prompt-blocks/:storedPromptBlockId - Update a stored prompt block\n */\nexport const UPDATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n bodySchema: updateStoredPromptBlockBodySchema,\n responseSchema: updateStoredPromptBlockResponseSchema,\n summary: 'Update stored prompt block',\n description: 'Updates an existing prompt block in storage with the provided fields',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedPromptBlockId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n content,\n rules,\n requestContextSchema,\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 promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n // Update the prompt block with both metadata-level and config-level fields\n const updatedPromptBlock = await promptBlockStore.update({\n id: storedPromptBlockId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, content, rules, requestContextSchema };\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 promptBlockStore as unknown as VersionedStoreInterface,\n storedPromptBlockId,\n 'blockId',\n PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedPromptBlock,\n providedConfigFields,\n );\n\n // Return the resolved prompt block with the latest (draft) version so the UI sees its edits\n const resolved = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error updating stored prompt block');\n }\n },\n});\n\n/**\n * DELETE /stored/prompt-blocks/:storedPromptBlockId - Delete a stored prompt block\n */\nexport const DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n responseSchema: deleteStoredPromptBlockResponseSchema,\n summary: 'Delete stored prompt block',\n description: 'Deletes a prompt block from storage by its unique identifier',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId }) => {\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 // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n await promptBlockStore.delete(storedPromptBlockId);\n\n return {\n success: true,\n message: `Prompt block ${storedPromptBlockId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored prompt block');\n }\n },\n});\n"]}
@@ -11,6 +11,14 @@ var z__default = /*#__PURE__*/_interopDefault(z);
11
11
  var agentIdPathParams = z__default.default.object({
12
12
  agentId: z__default.default.string().describe("Unique identifier for the agent")
13
13
  });
14
+ var agentVersionQuerySchema = z__default.default.object({
15
+ status: z__default.default.enum(["draft", "published"]).optional().describe(
16
+ "Which stored config version to resolve: draft (latest, default) or published (active version). Mutually exclusive with versionId."
17
+ ),
18
+ versionId: z__default.default.string().optional().describe(
19
+ "Specific version ID to resolve. Mutually exclusive with status \u2014 if both are provided, versionId takes precedence."
20
+ )
21
+ });
14
22
  var toolIdPathParams = z__default.default.object({
15
23
  toolId: z__default.default.string().describe("Unique identifier for the tool")
16
24
  });
@@ -255,6 +263,7 @@ exports.agentExecutionLegacyBodySchema = agentExecutionLegacyBodySchema;
255
263
  exports.agentIdPathParams = agentIdPathParams;
256
264
  exports.agentSkillPathParams = agentSkillPathParams;
257
265
  exports.agentToolPathParams = agentToolPathParams;
266
+ exports.agentVersionQuerySchema = agentVersionQuerySchema;
258
267
  exports.approveNetworkToolCallBodySchema = approveNetworkToolCallBodySchema;
259
268
  exports.approveToolCallBodySchema = approveToolCallBodySchema;
260
269
  exports.declineNetworkToolCallBodySchema = declineNetworkToolCallBodySchema;
@@ -289,5 +298,5 @@ exports.transcribeSpeechResponseSchema = transcribeSpeechResponseSchema;
289
298
  exports.updateAgentModelBodySchema = updateAgentModelBodySchema;
290
299
  exports.updateAgentModelInModelListBodySchema = updateAgentModelInModelListBodySchema;
291
300
  exports.voiceSpeakersResponseSchema = voiceSpeakersResponseSchema;
292
- //# sourceMappingURL=chunk-4NZHZQ6Q.cjs.map
293
- //# sourceMappingURL=chunk-4NZHZQ6Q.cjs.map
301
+ //# sourceMappingURL=chunk-I6ZA2R6M.cjs.map
302
+ //# sourceMappingURL=chunk-I6ZA2R6M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/agents.ts"],"names":["z","defaultOptionsSchema","coreMessageSchema","tracingOptionsSchema","messageResponseSchema"],"mappings":"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","file":"chunk-I6ZA2R6M.cjs","sourcesContent":["import z from 'zod';\nimport { tracingOptionsSchema, coreMessageSchema, messageResponseSchema } from './common';\nimport { defaultOptionsSchema } from './default-options';\n\n// Path parameter schemas\nexport const agentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * Query params for GET /agents/:agentId — controls which stored config version is used for overrides.\n * Use either `status` or `versionId`, not both.\n * - `status` — 'draft' (latest version, default) or 'published' (active published version).\n * - `versionId` — Resolve with a specific version ID.\n */\nexport const agentVersionQuerySchema = z.object({\n status: z\n .enum(['draft', 'published'])\n .optional()\n .describe(\n 'Which stored config version to resolve: draft (latest, default) or published (active version). Mutually exclusive with versionId.',\n ),\n versionId: z\n .string()\n .optional()\n .describe(\n 'Specific version ID to resolve. Mutually exclusive with status — if both are provided, versionId takes precedence.',\n ),\n});\n\nexport const toolIdPathParams = z.object({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentToolPathParams = agentIdPathParams.extend({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentSkillPathParams = agentIdPathParams.extend({\n skillName: z.string().describe('Name of the skill'),\n});\n\nexport const modelConfigIdPathParams = agentIdPathParams.extend({\n modelConfigId: z.string().describe('Unique identifier for the model configuration'),\n});\n\n/**\n * Schema for serialized processor metadata\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\n\n/**\n * Schema for serialized tool with JSON schemas\n * Uses passthrough() to allow additional tool properties beyond core fields\n */\nexport const serializedToolSchema = z.object({\n id: z.string(),\n description: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n requireApproval: z.boolean().optional(),\n});\n\n/**\n * Schema for serialized workflow with steps\n */\nexport const serializedWorkflowSchema = z.object({\n name: z.string(),\n steps: z\n .record(\n z.string(),\n z.object({\n id: z.string(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n});\n\n/**\n * Schema for serialized agent definition (referenced by other agents)\n */\nexport const serializedAgentDefinitionSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Schema for SystemMessage type\n * Can be string, string[], or various message objects\n */\nconst systemMessageSchema = z.union([\n z.string(),\n z.array(z.string()),\n z.any(), // CoreSystemMessage or SystemModelMessage\n z.array(z.any()),\n]);\n\n/**\n * Schema for model configuration in model list\n */\nconst modelConfigSchema = z.object({\n model: z.object({\n modelId: z.string(),\n provider: z.string(),\n modelVersion: z.string(),\n }),\n // Additional fields from AgentModelManagerConfig can be added here\n});\n\n/**\n * Main schema for serialized agent representation\n */\nexport const serializedAgentSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n instructions: systemMessageSchema.optional(),\n tools: z.record(z.string(), serializedToolSchema),\n agents: z.record(z.string(), serializedAgentDefinitionSchema),\n workflows: z.record(z.string(), serializedWorkflowSchema),\n inputProcessors: z.array(serializedProcessorSchema),\n outputProcessors: z.array(serializedProcessorSchema),\n provider: z.string().optional(),\n modelId: z.string().optional(),\n modelVersion: z.string().optional(),\n modelList: z.array(modelConfigSchema).optional(),\n defaultOptions: defaultOptionsSchema.optional(),\n defaultGenerateOptionsLegacy: z.record(z.string(), z.any()).optional(),\n defaultStreamOptionsLegacy: z.record(z.string(), z.any()).optional(),\n status: z.enum(['draft', 'published', 'archived']).optional(),\n activeVersionId: z.string().optional(),\n hasDraft: z.boolean().optional(),\n});\n\n/**\n * Schema for agent with ID\n */\nexport const serializedAgentWithIdSchema = serializedAgentSchema.extend({\n id: z.string(),\n});\n\n/**\n * Schema for individual provider information\n */\nexport const providerSchema = z.object({\n id: z.string(),\n name: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n});\n\n/**\n * Schema for providers endpoint response\n */\nexport const providersResponseSchema = z.object({\n providers: z.array(providerSchema),\n});\n\n/**\n * Schema for list agents endpoint response\n * Returns a record of agent ID to serialized agent\n */\nexport const listAgentsResponseSchema = z.record(z.string(), serializedAgentSchema);\n\n/**\n * Schema for list tools endpoint response\n * Returns a record of tool ID to serialized tool\n */\nexport const listToolsResponseSchema = z.record(z.string(), serializedToolSchema);\n\n// ============================================================================\n// Agent Execution Body Schemas\n// ============================================================================\n\n/**\n * Schema for agent memory option\n */\nconst agentMemoryOptionSchema = z.object({\n thread: z.union([z.string(), z.object({ id: z.string() }).passthrough()]),\n resource: z.string(),\n options: z.record(z.string(), z.any()).optional(),\n readOnly: z.boolean().optional(),\n});\n\n/**\n * Schema for tool choice configuration\n */\nconst toolChoiceSchema = z.union([\n z.enum(['auto', 'none', 'required']),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n]);\n\n/**\n * Comprehensive body schema for agent generate and stream endpoints\n * Validates common fields while using passthrough for complex nested objects\n *\n * EXCLUDED FIELDS (not serializable):\n * - Callbacks: onStepFinish, onFinish, onChunk, onError, onAbort, prepareStep\n * - Class instances: inputProcessors, outputProcessors\n * - Non-serializable: abortSignal, tracingContext\n */\nexport const agentExecutionBodySchema = z\n .object({\n // REQUIRED\n messages: z.union([\n z.array(coreMessageSchema), // Array of messages\n z.string(), // Single user message shorthand\n ]),\n\n // Message Configuration\n instructions: systemMessageSchema.optional(),\n system: systemMessageSchema.optional(),\n context: z.array(coreMessageSchema).optional(),\n\n // Memory & Persistence\n memory: agentMemoryOptionSchema.optional(),\n runId: z.string().optional(),\n savePerStep: z.boolean().optional(),\n\n // Request Context (handler-specific field - merged with server's requestContext)\n requestContext: z.record(z.string(), z.any()).optional(),\n\n // Execution Control\n maxSteps: z.number().optional(),\n stopWhen: z.any().optional(),\n\n // Model Configuration\n providerOptions: z\n .object({\n anthropic: z.record(z.string(), z.any()).optional(),\n google: z.record(z.string(), z.any()).optional(),\n openai: z.record(z.string(), z.any()).optional(),\n xai: z.record(z.string(), z.any()).optional(),\n })\n .optional(),\n modelSettings: z.any().optional(),\n\n // Tool Configuration\n activeTools: z.array(z.string()).optional(),\n toolsets: z.record(z.string(), z.any()).optional(),\n clientTools: z.record(z.string(), z.any()).optional(),\n toolChoice: toolChoiceSchema.optional(),\n requireToolApproval: z.boolean().optional(),\n\n // Evaluation\n scorers: z\n .union([\n z.record(z.string(), z.any()),\n z.record(\n z.string(),\n z.object({\n scorer: z.string(),\n sampling: z.any().optional(),\n }),\n ),\n ])\n .optional(),\n returnScorerData: z.boolean().optional(),\n\n // Observability\n tracingOptions: tracingOptionsSchema.optional(),\n\n // Structured Output\n output: z.any().optional(), // Zod schema, JSON schema, or structured output object\n structuredOutput: z\n .object({\n schema: z.object({}).passthrough(),\n model: z.union([z.string(), z.any()]).optional(),\n instructions: z.string().optional(),\n jsonPromptInjection: z.boolean().optional(),\n errorStrategy: z.enum(['strict', 'warn', 'fallback']).optional(),\n fallbackValue: z.any().optional(),\n })\n .optional(),\n })\n .passthrough(); // Allow additional fields for forward compatibility\n\n/**\n * Legacy body schema for deprecated endpoints that still use threadId/resourceId\n * Used by /agents/:agentId/generate-legacy and /agents/:agentId/stream-legacy\n */\nexport const agentExecutionLegacyBodySchema = agentExecutionBodySchema.extend({\n resourceId: z.string().optional(),\n resourceid: z.string().optional(), // lowercase variant\n threadId: z.string().optional(),\n});\n\n/**\n * Body schema for tool execute endpoint\n * Simple schema - tool validates its own input data\n * Note: Using z.unknown().refine() instead of z.any() to ensure data is required\n * (z.any() is treated as optional by Zod)\n */\nconst executeToolDataBodySchema = z.object({\n data: z.unknown().refine(x => x !== undefined, { message: 'data is required' }),\n});\n\nexport const executeToolBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\nexport const executeToolContextBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\n/**\n * Response schema for voice speakers endpoint\n * Flexible to accommodate provider-specific metadata\n */\nexport const voiceSpeakersResponseSchema = z.array(\n z\n .object({\n voiceId: z.string(),\n })\n .passthrough(), // Allow provider-specific fields like name, language, etc.\n);\n\n// ============================================================================\n// Tool Approval Schemas\n// ============================================================================\n\n/**\n * Base schema for tool approval/decline operations\n * Both approve and decline use the same parameters\n */\nconst toolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n toolCallId: z.string(),\n format: z.string().optional(),\n});\nconst networkToolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n format: z.string().optional(),\n});\n\n/**\n * Body schema for approving tool call\n */\nexport const approveToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for declining tool call\n */\nexport const declineToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for approving network tool call\n */\nexport const approveNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Body schema for declining network tool call\n */\nexport const declineNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Response schema for tool approval/decline\n */\nexport const toolCallResponseSchema = z.object({\n fullStream: z.any(), // ReadableStream\n});\n\n// ============================================================================\n// Model Management Schemas\n// ============================================================================\n\n/**\n * Body schema for updating agent model\n */\nexport const updateAgentModelBodySchema = z.object({\n modelId: z.string(),\n provider: z.string(),\n});\n\n/**\n * Body schema for reordering agent model list\n */\nexport const reorderAgentModelListBodySchema = z.object({\n reorderedModelIds: z.array(z.string()),\n});\n\n/**\n * Body schema for updating model in model list\n */\nexport const updateAgentModelInModelListBodySchema = z.object({\n model: z\n .object({\n modelId: z.string(),\n provider: z.string(),\n })\n .optional(),\n maxRetries: z.number().optional(),\n enabled: z.boolean().optional(),\n});\n\n/**\n * Response schema for model management operations\n */\nexport const modelManagementResponseSchema = messageResponseSchema;\n\n// ============================================================================\n// Voice Schemas\n// ============================================================================\n\n/**\n * Body schema for generating speech\n */\nexport const generateSpeechBodySchema = z.object({\n text: z.string(),\n speakerId: z.string().optional(),\n});\n\n/**\n * Body schema for transcribing speech\n */\nexport const transcribeSpeechBodySchema = z.object({\n audio: z.any(), // Buffer\n options: z.record(z.string(), z.any()).optional(),\n});\n\n/**\n * Response schema for transcribe speech\n */\nexport const transcribeSpeechResponseSchema = z.object({\n text: z.string(),\n});\n\n/**\n * Response schema for get listener\n */\nexport const getListenerResponseSchema = z.any(); // Listener info structure varies\n\n/**\n * Response schema for agent generation endpoints\n * These return AI SDK types which have complex structures\n */\nexport const generateResponseSchema = z.any(); // AI SDK GenerateResult type\nexport const streamResponseSchema = z.any(); // AI SDK StreamResult type\nexport const speakResponseSchema = z.any(); // Voice synthesis result\nexport const executeToolResponseSchema = z.any(); // Tool execution result varies by tool\n\n// ============================================================================\n// Instruction Enhancement Schemas\n// ============================================================================\n\n/**\n * Body schema for enhancing agent instructions\n */\nexport const enhanceInstructionsBodySchema = z.object({\n instructions: z.string().describe('The current agent instructions to enhance'),\n comment: z.string().describe('User comment describing how to enhance the instructions'),\n});\n\n/**\n * Response schema for enhanced instructions\n */\nexport const enhanceInstructionsResponseSchema = z.object({\n explanation: z.string().describe('Explanation of the changes made'),\n new_prompt: z.string().describe('The enhanced instructions'),\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  import { listMCPClientVersionsResponseSchema, listMCPClientVersionsQuerySchema, mcpClientVersionPathParams, createMCPClientVersionResponseSchema, createMCPClientVersionBodySchema, getMCPClientVersionResponseSchema, mcpClientVersionIdPathParams, activateMCPClientVersionResponseSchema, restoreMCPClientVersionResponseSchema, deleteMCPClientVersionResponseSchema, compareMCPClientVersionsResponseSchema, compareMCPClientVersionsQuerySchema } from './chunk-I4THGZHE.js';
2
2
  import { extractConfigFromVersion, MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS, calculateChangedFields, createVersionWithRetry, enforceRetentionLimit, computeVersionDiffs } from './chunk-33QPJPK4.js';
3
3
  import { handleError } from './chunk-NA7LKQPZ.js';
4
- import { createRoute } from './chunk-3MW2URMC.js';
4
+ import { createRoute } from './chunk-5BBO2RHV.js';
5
5
  import { HTTPException } from './chunk-6QWQZI4Q.js';
6
6
 
7
7
  // src/server/handlers/mcp-client-versions.ts
@@ -380,5 +380,5 @@ var COMPARE_MCP_CLIENT_VERSIONS_ROUTE = createRoute({
380
380
  });
381
381
 
382
382
  export { ACTIVATE_MCP_CLIENT_VERSION_ROUTE, COMPARE_MCP_CLIENT_VERSIONS_ROUTE, CREATE_MCP_CLIENT_VERSION_ROUTE, DELETE_MCP_CLIENT_VERSION_ROUTE, GET_MCP_CLIENT_VERSION_ROUTE, LIST_MCP_CLIENT_VERSIONS_ROUTE, RESTORE_MCP_CLIENT_VERSION_ROUTE };
383
- //# sourceMappingURL=chunk-HPS5GJT3.js.map
384
- //# sourceMappingURL=chunk-HPS5GJT3.js.map
383
+ //# sourceMappingURL=chunk-IB2ZR7T7.js.map
384
+ //# sourceMappingURL=chunk-IB2ZR7T7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/mcp-client-versions.ts"],"names":[],"mappings":"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","file":"chunk-HPS5GJT3.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n mcpClientVersionPathParams,\n mcpClientVersionIdPathParams,\n listMCPClientVersionsQuerySchema,\n createMCPClientVersionBodySchema,\n compareMCPClientVersionsQuerySchema,\n listMCPClientVersionsResponseSchema,\n getMCPClientVersionResponseSchema,\n createMCPClientVersionResponseSchema,\n activateMCPClientVersionResponseSchema,\n restoreMCPClientVersionResponseSchema,\n deleteMCPClientVersionResponseSchema,\n compareMCPClientVersionsResponseSchema,\n} from '../schemas/mcp-client-versions';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions - List all versions for an MCP client\n */\nexport const LIST_MCP_CLIENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n queryParamSchema: listMCPClientVersionsQuerySchema,\n responseSchema: listMCPClientVersionsResponseSchema,\n summary: 'List MCP client versions',\n description: 'Returns a paginated list of all versions for a stored MCP client',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, page, perPage, orderBy }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const result = await mcpClientStore.listVersions({\n mcpClientId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing MCP client versions');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions - Create a new version snapshot\n */\nexport const CREATE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n bodySchema: createMCPClientVersionBodySchema,\n responseSchema: createMCPClientVersionResponseSchema,\n summary: 'Create MCP client version',\n description: 'Creates a new version snapshot of the current MCP client configuration',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, changeMessage }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n let currentConfig: Record<string, unknown> = {};\n if (mcpClient.activeVersionId) {\n const activeVersion = await mcpClientStore.getVersion(mcpClient.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n const latestVersion = await mcpClientStore.getLatestVersion(mcpClientId);\n\n // If no activeVersionId, fall back to latest version config\n if (!mcpClient.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n )\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n const { versionId } = await createVersionWithRetry(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n mcpClient.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating MCP client version');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions/:versionId - Get a specific version\n */\nexport const GET_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: getMCPClientVersionResponseSchema,\n summary: 'Get MCP client version',\n description: 'Returns a specific version of an MCP client by its version ID',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting MCP client version');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: activateMCPClientVersionResponseSchema,\n summary: 'Activate MCP client version',\n description: 'Sets a specific version as the active version for the MCP client',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n await mcpClientStore.update({\n id: mcpClientId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\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 MCP client version');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions/:versionId/restore - Restore MCP client to a version\n */\nexport const RESTORE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: restoreMCPClientVersionResponseSchema,\n summary: 'Restore MCP client version',\n description: 'Restores the MCP client configuration from a version, creating a new version',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const versionToRestore = await mcpClientStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n\n await mcpClientStore.update({\n id: mcpClientId,\n ...restoredConfig,\n });\n\n const latestVersion = await mcpClientStore.getLatestVersion(mcpClientId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n )\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n const { versionId: newVersionId } = await createVersionWithRetry(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n const newVersion = await mcpClientStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n mcpClient.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring MCP client version');\n }\n },\n});\n\n/**\n * DELETE /stored/mcp-clients/:mcpClientId/versions/:versionId - Delete a version\n */\nexport const DELETE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: deleteMCPClientVersionResponseSchema,\n summary: 'Delete MCP client version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n if (mcpClient.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await mcpClientStore.deleteVersion(versionId);\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting MCP client version');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions/compare - Compare two versions\n */\nexport const COMPARE_MCP_CLIENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n queryParamSchema: compareMCPClientVersionsQuerySchema,\n responseSchema: compareMCPClientVersionsResponseSchema,\n summary: 'Compare MCP client versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, from, to }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const fromVersion = await mcpClientStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${from} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const toVersion = await mcpClientStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${to} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_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 MCP client versions');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/mcp-client-versions.ts"],"names":[],"mappings":"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","file":"chunk-IB2ZR7T7.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n mcpClientVersionPathParams,\n mcpClientVersionIdPathParams,\n listMCPClientVersionsQuerySchema,\n createMCPClientVersionBodySchema,\n compareMCPClientVersionsQuerySchema,\n listMCPClientVersionsResponseSchema,\n getMCPClientVersionResponseSchema,\n createMCPClientVersionResponseSchema,\n activateMCPClientVersionResponseSchema,\n restoreMCPClientVersionResponseSchema,\n deleteMCPClientVersionResponseSchema,\n compareMCPClientVersionsResponseSchema,\n} from '../schemas/mcp-client-versions';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions - List all versions for an MCP client\n */\nexport const LIST_MCP_CLIENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n queryParamSchema: listMCPClientVersionsQuerySchema,\n responseSchema: listMCPClientVersionsResponseSchema,\n summary: 'List MCP client versions',\n description: 'Returns a paginated list of all versions for a stored MCP client',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, page, perPage, orderBy }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const result = await mcpClientStore.listVersions({\n mcpClientId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing MCP client versions');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions - Create a new version snapshot\n */\nexport const CREATE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n bodySchema: createMCPClientVersionBodySchema,\n responseSchema: createMCPClientVersionResponseSchema,\n summary: 'Create MCP client version',\n description: 'Creates a new version snapshot of the current MCP client configuration',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, changeMessage }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n let currentConfig: Record<string, unknown> = {};\n if (mcpClient.activeVersionId) {\n const activeVersion = await mcpClientStore.getVersion(mcpClient.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n const latestVersion = await mcpClientStore.getLatestVersion(mcpClientId);\n\n // If no activeVersionId, fall back to latest version config\n if (!mcpClient.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n )\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n const { versionId } = await createVersionWithRetry(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n mcpClient.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating MCP client version');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions/:versionId - Get a specific version\n */\nexport const GET_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: getMCPClientVersionResponseSchema,\n summary: 'Get MCP client version',\n description: 'Returns a specific version of an MCP client by its version ID',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting MCP client version');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: activateMCPClientVersionResponseSchema,\n summary: 'Activate MCP client version',\n description: 'Sets a specific version as the active version for the MCP client',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n await mcpClientStore.update({\n id: mcpClientId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\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 MCP client version');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients/:mcpClientId/versions/:versionId/restore - Restore MCP client to a version\n */\nexport const RESTORE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: restoreMCPClientVersionResponseSchema,\n summary: 'Restore MCP client version',\n description: 'Restores the MCP client configuration from a version, creating a new version',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const versionToRestore = await mcpClientStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n\n await mcpClientStore.update({\n id: mcpClientId,\n ...restoredConfig,\n });\n\n const latestVersion = await mcpClientStore.getLatestVersion(mcpClientId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n )\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n const { versionId: newVersionId } = await createVersionWithRetry(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n const newVersion = await mcpClientStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n await enforceRetentionLimit(\n mcpClientStore as unknown as VersionedStoreInterface,\n mcpClientId,\n 'mcpClientId',\n mcpClient.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring MCP client version');\n }\n },\n});\n\n/**\n * DELETE /stored/mcp-clients/:mcpClientId/versions/:versionId - Delete a version\n */\nexport const DELETE_MCP_CLIENT_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/mcp-clients/:mcpClientId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionIdPathParams,\n responseSchema: deleteMCPClientVersionResponseSchema,\n summary: 'Delete MCP client version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, versionId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getById(mcpClientId);\n if (!mcpClient) {\n throw new HTTPException(404, { message: `MCP client with id ${mcpClientId} not found` });\n }\n\n const version = await mcpClientStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${versionId} not found for MCP client ${mcpClientId}`,\n });\n }\n\n if (mcpClient.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await mcpClientStore.deleteVersion(versionId);\n\n // Clear the editor cache so subsequent requests see the updated config\n mastra.getEditor()?.mcp.clearCache(mcpClientId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting MCP client version');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:mcpClientId/versions/compare - Compare two versions\n */\nexport const COMPARE_MCP_CLIENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:mcpClientId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: mcpClientVersionPathParams,\n queryParamSchema: compareMCPClientVersionsQuerySchema,\n responseSchema: compareMCPClientVersionsResponseSchema,\n summary: 'Compare MCP client versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['MCP Client Versions'],\n handler: async ({ mastra, mcpClientId, from, to }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const fromVersion = await mcpClientStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${from} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const toVersion = await mcpClientStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.mcpClientId !== mcpClientId) {\n throw new HTTPException(404, {\n message: `Version with id ${to} not found for MCP client ${mcpClientId}`,\n });\n }\n\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n MCP_CLIENT_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 MCP client versions');\n }\n },\n});\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunk574U64WA_cjs = require('./chunk-574U64WA.cjs');
4
4
  var chunkY2BKW5ND_cjs = require('./chunk-Y2BKW5ND.cjs');
5
- var chunkEFSXF23C_cjs = require('./chunk-EFSXF23C.cjs');
5
+ var chunkYJLDMFSE_cjs = require('./chunk-YJLDMFSE.cjs');
6
6
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
7
7
 
8
8
  // src/server/handlers/auth.ts
@@ -40,7 +40,7 @@ function getRBACProvider(mastra) {
40
40
  function implementsInterface(auth, method) {
41
41
  return auth !== null && typeof auth === "object" && method in auth;
42
42
  }
43
- var GET_AUTH_CAPABILITIES_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
43
+ var GET_AUTH_CAPABILITIES_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
44
44
  method: "GET",
45
45
  path: "/auth/capabilities",
46
46
  responseType: "json",
@@ -67,7 +67,7 @@ var GET_AUTH_CAPABILITIES_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
67
67
  }
68
68
  }
69
69
  });
70
- var GET_CURRENT_USER_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
70
+ var GET_CURRENT_USER_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
71
71
  method: "GET",
72
72
  path: "/auth/me",
73
73
  responseType: "json",
@@ -107,7 +107,7 @@ var GET_CURRENT_USER_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
107
107
  }
108
108
  }
109
109
  });
110
- var GET_SSO_LOGIN_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
110
+ var GET_SSO_LOGIN_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
111
111
  method: "GET",
112
112
  path: "/auth/sso/login",
113
113
  responseType: "datastream-response",
@@ -163,7 +163,7 @@ var GET_SSO_LOGIN_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
163
163
  }
164
164
  }
165
165
  });
166
- var GET_SSO_CALLBACK_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
166
+ var GET_SSO_CALLBACK_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
167
167
  method: "GET",
168
168
  path: "/auth/sso/callback",
169
169
  responseType: "datastream-response",
@@ -239,7 +239,7 @@ var GET_SSO_CALLBACK_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
239
239
  }
240
240
  }
241
241
  });
242
- var POST_LOGOUT_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
242
+ var POST_LOGOUT_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
243
243
  method: "POST",
244
244
  path: "/auth/logout",
245
245
  responseType: "datastream-response",
@@ -284,7 +284,7 @@ var POST_LOGOUT_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
284
284
  }
285
285
  }
286
286
  });
287
- var POST_CREDENTIALS_SIGN_IN_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
287
+ var POST_CREDENTIALS_SIGN_IN_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
288
288
  method: "POST",
289
289
  path: "/auth/credentials/sign-in",
290
290
  responseType: "datastream-response",
@@ -325,7 +325,7 @@ var POST_CREDENTIALS_SIGN_IN_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
325
325
  }
326
326
  }
327
327
  });
328
- var POST_CREDENTIALS_SIGN_UP_ROUTE = chunkEFSXF23C_cjs.createPublicRoute({
328
+ var POST_CREDENTIALS_SIGN_UP_ROUTE = chunkYJLDMFSE_cjs.createPublicRoute({
329
329
  method: "POST",
330
330
  path: "/auth/credentials/sign-up",
331
331
  responseType: "datastream-response",
@@ -389,5 +389,5 @@ exports.POST_CREDENTIALS_SIGN_IN_ROUTE = POST_CREDENTIALS_SIGN_IN_ROUTE;
389
389
  exports.POST_CREDENTIALS_SIGN_UP_ROUTE = POST_CREDENTIALS_SIGN_UP_ROUTE;
390
390
  exports.POST_LOGOUT_ROUTE = POST_LOGOUT_ROUTE;
391
391
  exports.getPublicOrigin = getPublicOrigin;
392
- //# sourceMappingURL=chunk-IVANH2RD.cjs.map
393
- //# sourceMappingURL=chunk-IVANH2RD.cjs.map
392
+ //# sourceMappingURL=chunk-IGZADYRV.cjs.map
393
+ //# sourceMappingURL=chunk-IGZADYRV.cjs.map