@mastra/server 1.33.0-alpha.8 → 1.33.0-alpha.9

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 (223) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{api-schema-manifest-CX3NL6JS.cjs → api-schema-manifest-DAVSYP7S.cjs} +4 -4
  3. package/dist/{api-schema-manifest-CX3NL6JS.cjs.map → api-schema-manifest-DAVSYP7S.cjs.map} +1 -1
  4. package/dist/{api-schema-manifest-IK5MQPAL.js → api-schema-manifest-XFGCTZQI.js} +3 -3
  5. package/dist/{api-schema-manifest-IK5MQPAL.js.map → api-schema-manifest-XFGCTZQI.js.map} +1 -1
  6. package/dist/{chunk-W5B34RLN.cjs → chunk-22HQDEJS.cjs} +3 -3
  7. package/dist/{chunk-W5B34RLN.cjs.map → chunk-22HQDEJS.cjs.map} +1 -1
  8. package/dist/{chunk-SEMTGEAA.js → chunk-23SS3KHR.js} +4 -4
  9. package/dist/{chunk-SEMTGEAA.js.map → chunk-23SS3KHR.js.map} +1 -1
  10. package/dist/{chunk-B3CHYE7C.js → chunk-26XBPHLY.js} +3 -3
  11. package/dist/{chunk-B3CHYE7C.js.map → chunk-26XBPHLY.js.map} +1 -1
  12. package/dist/{chunk-FD3TJOO6.js → chunk-2CXXD77Z.js} +8 -8
  13. package/dist/{chunk-FD3TJOO6.js.map → chunk-2CXXD77Z.js.map} +1 -1
  14. package/dist/{chunk-26PANWAR.js → chunk-2L4CZREW.js} +7 -7
  15. package/dist/{chunk-26PANWAR.js.map → chunk-2L4CZREW.js.map} +1 -1
  16. package/dist/{chunk-OB4NE2YX.cjs → chunk-2WN5INZT.cjs} +5 -5
  17. package/dist/{chunk-OB4NE2YX.cjs.map → chunk-2WN5INZT.cjs.map} +1 -1
  18. package/dist/{chunk-DDF3ZASL.cjs → chunk-2XBOJWX6.cjs} +39 -39
  19. package/dist/{chunk-DDF3ZASL.cjs.map → chunk-2XBOJWX6.cjs.map} +1 -1
  20. package/dist/{chunk-4NVC7TM6.cjs → chunk-3PVYHM4V.cjs} +4 -4
  21. package/dist/{chunk-4NVC7TM6.cjs.map → chunk-3PVYHM4V.cjs.map} +1 -1
  22. package/dist/{chunk-KXZBJDFG.js → chunk-4BC5KLOR.js} +3 -3
  23. package/dist/{chunk-KXZBJDFG.js.map → chunk-4BC5KLOR.js.map} +1 -1
  24. package/dist/{chunk-NOQ45USI.cjs → chunk-4Z43J2NI.cjs} +5 -5
  25. package/dist/{chunk-NOQ45USI.cjs.map → chunk-4Z43J2NI.cjs.map} +1 -1
  26. package/dist/chunk-5RJA64TI.cjs +636 -0
  27. package/dist/{chunk-KUCITIUY.cjs.map → chunk-5RJA64TI.cjs.map} +1 -1
  28. package/dist/{chunk-EN45CWWM.cjs → chunk-6P2SSFBG.cjs} +10 -10
  29. package/dist/{chunk-EN45CWWM.cjs.map → chunk-6P2SSFBG.cjs.map} +1 -1
  30. package/dist/{chunk-LNV75BVN.cjs → chunk-745QEKXS.cjs} +3 -3
  31. package/dist/{chunk-LNV75BVN.cjs.map → chunk-745QEKXS.cjs.map} +1 -1
  32. package/dist/{chunk-3DQGNGSK.js → chunk-7I7FD6ZN.js} +5 -5
  33. package/dist/{chunk-3DQGNGSK.js.map → chunk-7I7FD6ZN.js.map} +1 -1
  34. package/dist/{chunk-GJ3BKRTZ.js → chunk-7MJVRDXM.js} +7 -7
  35. package/dist/{chunk-GJ3BKRTZ.js.map → chunk-7MJVRDXM.js.map} +1 -1
  36. package/dist/{chunk-7PDQ67ZY.js → chunk-7QLWKUN5.js} +6 -6
  37. package/dist/{chunk-7PDQ67ZY.js.map → chunk-7QLWKUN5.js.map} +1 -1
  38. package/dist/{chunk-7LGTEZBD.js → chunk-ABI3C4IO.js} +5 -5
  39. package/dist/{chunk-7LGTEZBD.js.map → chunk-ABI3C4IO.js.map} +1 -1
  40. package/dist/{chunk-3AKQRYDF.js → chunk-APFQBTJ4.js} +5 -5
  41. package/dist/{chunk-3AKQRYDF.js.map → chunk-APFQBTJ4.js.map} +1 -1
  42. package/dist/{chunk-XFDVU6GZ.cjs → chunk-ARXEAN4R.cjs} +32 -32
  43. package/dist/{chunk-XFDVU6GZ.cjs.map → chunk-ARXEAN4R.cjs.map} +1 -1
  44. package/dist/{chunk-BZ3NR3IS.js → chunk-B5IEITDG.js} +34 -34
  45. package/dist/{chunk-BZ3NR3IS.js.map → chunk-B5IEITDG.js.map} +1 -1
  46. package/dist/{chunk-LKVE4QAW.cjs → chunk-BFL6JXZ5.cjs} +3 -3
  47. package/dist/{chunk-LKVE4QAW.cjs.map → chunk-BFL6JXZ5.cjs.map} +1 -1
  48. package/dist/{chunk-GIMDOFRR.js → chunk-BJLZSJMY.js} +5 -5
  49. package/dist/{chunk-GIMDOFRR.js.map → chunk-BJLZSJMY.js.map} +1 -1
  50. package/dist/{chunk-VQSY4I4H.js → chunk-BVRJ7SIO.js} +4 -4
  51. package/dist/{chunk-VQSY4I4H.js.map → chunk-BVRJ7SIO.js.map} +1 -1
  52. package/dist/{chunk-YE56LUEI.cjs → chunk-BXCFRUU6.cjs} +13 -13
  53. package/dist/{chunk-YE56LUEI.cjs.map → chunk-BXCFRUU6.cjs.map} +1 -1
  54. package/dist/{chunk-E7IOQCUP.cjs → chunk-CIY3D5PJ.cjs} +4 -4
  55. package/dist/{chunk-E7IOQCUP.cjs.map → chunk-CIY3D5PJ.cjs.map} +1 -1
  56. package/dist/{chunk-TTJ3DYZH.cjs → chunk-D47RSSPG.cjs} +7 -7
  57. package/dist/{chunk-TTJ3DYZH.cjs.map → chunk-D47RSSPG.cjs.map} +1 -1
  58. package/dist/{chunk-5WYCXPDY.js → chunk-DCKEXVVR.js} +5 -5
  59. package/dist/{chunk-5WYCXPDY.js.map → chunk-DCKEXVVR.js.map} +1 -1
  60. package/dist/{chunk-UBOLRYFV.js → chunk-DIGIMNZN.js} +3 -3
  61. package/dist/{chunk-UBOLRYFV.js.map → chunk-DIGIMNZN.js.map} +1 -1
  62. package/dist/{chunk-SFJOG2BT.js → chunk-EDAQ2XMN.js} +3 -3
  63. package/dist/{chunk-SFJOG2BT.js.map → chunk-EDAQ2XMN.js.map} +1 -1
  64. package/dist/{chunk-GV2J3XQ4.cjs → chunk-EOENI5I2.cjs} +23 -23
  65. package/dist/{chunk-GV2J3XQ4.cjs.map → chunk-EOENI5I2.cjs.map} +1 -1
  66. package/dist/{chunk-ANIIJVPR.js → chunk-F2D6QQYI.js} +4 -4
  67. package/dist/{chunk-ANIIJVPR.js.map → chunk-F2D6QQYI.js.map} +1 -1
  68. package/dist/{chunk-BK2PTTTN.js → chunk-HCCJ4RDW.js} +5 -5
  69. package/dist/{chunk-BK2PTTTN.js.map → chunk-HCCJ4RDW.js.map} +1 -1
  70. package/dist/{chunk-CG3AAC7C.js → chunk-HLRHVRCC.js} +6 -6
  71. package/dist/{chunk-CG3AAC7C.js.map → chunk-HLRHVRCC.js.map} +1 -1
  72. package/dist/{chunk-JOUPK2UV.js → chunk-I4PTYMZO.js} +3 -3
  73. package/dist/{chunk-JOUPK2UV.js.map → chunk-I4PTYMZO.js.map} +1 -1
  74. package/dist/{chunk-L742HQNI.cjs → chunk-ICJHOMSN.cjs} +4 -4
  75. package/dist/{chunk-L742HQNI.cjs.map → chunk-ICJHOMSN.cjs.map} +1 -1
  76. package/dist/{chunk-6JP6Q64G.cjs → chunk-IO6ZYBLC.cjs} +4 -4
  77. package/dist/{chunk-6JP6Q64G.cjs.map → chunk-IO6ZYBLC.cjs.map} +1 -1
  78. package/dist/{chunk-VYXPIZJE.js → chunk-IOHENFKZ.js} +3 -3
  79. package/dist/{chunk-VYXPIZJE.js.map → chunk-IOHENFKZ.js.map} +1 -1
  80. package/dist/{chunk-6V2NUA6I.js → chunk-JHZ6A7UZ.js} +5 -5
  81. package/dist/{chunk-6V2NUA6I.js.map → chunk-JHZ6A7UZ.js.map} +1 -1
  82. package/dist/{chunk-VOBSGFM5.cjs → chunk-JIHHJ4GI.cjs} +4 -4
  83. package/dist/{chunk-VOBSGFM5.cjs.map → chunk-JIHHJ4GI.cjs.map} +1 -1
  84. package/dist/{chunk-RYOD3GP4.js → chunk-KPK6F3OS.js} +5 -5
  85. package/dist/{chunk-RYOD3GP4.js.map → chunk-KPK6F3OS.js.map} +1 -1
  86. package/dist/{chunk-W6LHLN5M.cjs → chunk-L4MG45WI.cjs} +3 -3
  87. package/dist/{chunk-W6LHLN5M.cjs.map → chunk-L4MG45WI.cjs.map} +1 -1
  88. package/dist/{chunk-GOXW7A5J.cjs → chunk-L7L75NRN.cjs} +4 -4
  89. package/dist/{chunk-GOXW7A5J.cjs.map → chunk-L7L75NRN.cjs.map} +1 -1
  90. package/dist/{chunk-27VZ5B4Q.cjs → chunk-LA6ODA4O.cjs} +53 -53
  91. package/dist/{chunk-27VZ5B4Q.cjs.map → chunk-LA6ODA4O.cjs.map} +1 -1
  92. package/dist/{chunk-DPGNOE7R.js → chunk-LNHVRSMV.js} +3 -3
  93. package/dist/{chunk-DPGNOE7R.js.map → chunk-LNHVRSMV.js.map} +1 -1
  94. package/dist/{chunk-JLH5BHLT.cjs → chunk-MJS57D3F.cjs} +5 -5
  95. package/dist/{chunk-JLH5BHLT.cjs.map → chunk-MJS57D3F.cjs.map} +1 -1
  96. package/dist/{chunk-BNONPEW6.cjs → chunk-N5VTBHLF.cjs} +3 -3
  97. package/dist/{chunk-BNONPEW6.cjs.map → chunk-N5VTBHLF.cjs.map} +1 -1
  98. package/dist/{chunk-FJZ67HHA.js → chunk-NBYC7LRK.js} +3 -3
  99. package/dist/{chunk-FJZ67HHA.js.map → chunk-NBYC7LRK.js.map} +1 -1
  100. package/dist/{chunk-WWOML5Y4.cjs → chunk-NFY5I7J7.cjs} +5 -5
  101. package/dist/{chunk-WWOML5Y4.cjs.map → chunk-NFY5I7J7.cjs.map} +1 -1
  102. package/dist/{chunk-EFQBRUA4.js → chunk-NG6ETDLL.js} +3 -3
  103. package/dist/{chunk-EFQBRUA4.js.map → chunk-NG6ETDLL.js.map} +1 -1
  104. package/dist/{chunk-GNQ5SKPB.cjs → chunk-Q4MVDWQP.cjs} +3 -3
  105. package/dist/{chunk-GNQ5SKPB.cjs.map → chunk-Q4MVDWQP.cjs.map} +1 -1
  106. package/dist/{chunk-ITIAC2TC.js → chunk-QNVSISW7.js} +4 -4
  107. package/dist/{chunk-ITIAC2TC.js.map → chunk-QNVSISW7.js.map} +1 -1
  108. package/dist/{chunk-GSL72DOW.js → chunk-QQVZ6MBB.js} +4 -4
  109. package/dist/{chunk-GSL72DOW.js.map → chunk-QQVZ6MBB.js.map} +1 -1
  110. package/dist/{chunk-P3TJ7MI6.cjs → chunk-QYUEG7GK.cjs} +6 -6
  111. package/dist/{chunk-P3TJ7MI6.cjs.map → chunk-QYUEG7GK.cjs.map} +1 -1
  112. package/dist/{chunk-QLJYRTD2.js → chunk-RIDGG66B.js} +4 -4
  113. package/dist/{chunk-QLJYRTD2.js.map → chunk-RIDGG66B.js.map} +1 -1
  114. package/dist/{chunk-MZ3RKQKS.cjs → chunk-RLG4SNKV.cjs} +4 -4
  115. package/dist/{chunk-MZ3RKQKS.cjs.map → chunk-RLG4SNKV.cjs.map} +1 -1
  116. package/dist/{chunk-UVLX3WSX.cjs → chunk-RSEAK6CZ.cjs} +9 -9
  117. package/dist/{chunk-UVLX3WSX.cjs.map → chunk-RSEAK6CZ.cjs.map} +1 -1
  118. package/dist/{chunk-ALOM42GR.cjs → chunk-SAO5OUDV.cjs} +4 -4
  119. package/dist/{chunk-ALOM42GR.cjs.map → chunk-SAO5OUDV.cjs.map} +1 -1
  120. package/dist/{chunk-QFGTTQFQ.js → chunk-SJMLVGDJ.js} +4 -4
  121. package/dist/{chunk-QFGTTQFQ.js.map → chunk-SJMLVGDJ.js.map} +1 -1
  122. package/dist/{chunk-7SVSAMG4.js → chunk-T2JGWULY.js} +5 -5
  123. package/dist/{chunk-7SVSAMG4.js.map → chunk-T2JGWULY.js.map} +1 -1
  124. package/dist/{chunk-YGNA75MT.js → chunk-TGX2KAGG.js} +6 -6
  125. package/dist/{chunk-YGNA75MT.js.map → chunk-TGX2KAGG.js.map} +1 -1
  126. package/dist/{chunk-4ZO2MLW5.cjs → chunk-TKL3TH2H.cjs} +10 -10
  127. package/dist/{chunk-4ZO2MLW5.cjs.map → chunk-TKL3TH2H.cjs.map} +1 -1
  128. package/dist/{chunk-72W42JL4.cjs → chunk-VZXZYFJQ.cjs} +3 -3
  129. package/dist/{chunk-72W42JL4.cjs.map → chunk-VZXZYFJQ.cjs.map} +1 -1
  130. package/dist/{chunk-PYGX3GUB.cjs → chunk-W5EXV5QT.cjs} +21 -21
  131. package/dist/{chunk-PYGX3GUB.cjs.map → chunk-W5EXV5QT.cjs.map} +1 -1
  132. package/dist/{chunk-RYXKJ55A.cjs → chunk-WS74GHGL.cjs} +6 -6
  133. package/dist/{chunk-RYXKJ55A.cjs.map → chunk-WS74GHGL.cjs.map} +1 -1
  134. package/dist/{chunk-PPCGMD6N.cjs → chunk-WSGBL2OF.cjs} +3 -3
  135. package/dist/{chunk-PPCGMD6N.cjs.map → chunk-WSGBL2OF.cjs.map} +1 -1
  136. package/dist/{chunk-3SRLGVLX.js → chunk-Y2D4IW6S.js} +8 -8
  137. package/dist/{chunk-3SRLGVLX.js.map → chunk-Y2D4IW6S.js.map} +1 -1
  138. package/dist/{chunk-DC7NOATT.js → chunk-YMITHLC7.js} +4 -4
  139. package/dist/{chunk-DC7NOATT.js.map → chunk-YMITHLC7.js.map} +1 -1
  140. package/dist/{chunk-PUAKBO3Q.js → chunk-YOLWJGGN.js} +7 -7
  141. package/dist/{chunk-PUAKBO3Q.js.map → chunk-YOLWJGGN.js.map} +1 -1
  142. package/dist/{chunk-M62Z4EEY.cjs → chunk-YTRLYSPD.cjs} +51 -51
  143. package/dist/{chunk-M62Z4EEY.cjs.map → chunk-YTRLYSPD.cjs.map} +1 -1
  144. package/dist/{chunk-NKYIWTT3.cjs → chunk-ZWAO22PF.cjs} +8 -8
  145. package/dist/{chunk-NKYIWTT3.cjs.map → chunk-ZWAO22PF.cjs.map} +1 -1
  146. package/dist/docs/SKILL.md +1 -1
  147. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  148. package/dist/server/handlers/a2a.cjs +14 -14
  149. package/dist/server/handlers/a2a.js +1 -1
  150. package/dist/server/handlers/agent-builder.cjs +16 -16
  151. package/dist/server/handlers/agent-builder.js +1 -1
  152. package/dist/server/handlers/agent-versions.cjs +8 -8
  153. package/dist/server/handlers/agent-versions.js +1 -1
  154. package/dist/server/handlers/agents.cjs +39 -39
  155. package/dist/server/handlers/agents.js +1 -1
  156. package/dist/server/handlers/auth.cjs +11 -11
  157. package/dist/server/handlers/auth.js +1 -1
  158. package/dist/server/handlers/channels.cjs +5 -5
  159. package/dist/server/handlers/channels.js +1 -1
  160. package/dist/server/handlers/conversations.cjs +5 -5
  161. package/dist/server/handlers/conversations.js +1 -1
  162. package/dist/server/handlers/datasets.cjs +26 -26
  163. package/dist/server/handlers/datasets.js +1 -1
  164. package/dist/server/handlers/logs.cjs +4 -4
  165. package/dist/server/handlers/logs.js +1 -1
  166. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  167. package/dist/server/handlers/mcp-client-versions.js +1 -1
  168. package/dist/server/handlers/memory.cjs +27 -27
  169. package/dist/server/handlers/memory.js +1 -1
  170. package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
  171. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  172. package/dist/server/handlers/observability.cjs +38 -38
  173. package/dist/server/handlers/observability.js +2 -2
  174. package/dist/server/handlers/processor-providers.cjs +3 -3
  175. package/dist/server/handlers/processor-providers.js +1 -1
  176. package/dist/server/handlers/processors.cjs +4 -4
  177. package/dist/server/handlers/processors.js +1 -1
  178. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  179. package/dist/server/handlers/prompt-block-versions.js +1 -1
  180. package/dist/server/handlers/responses.cjs +4 -4
  181. package/dist/server/handlers/responses.js +1 -1
  182. package/dist/server/handlers/responses.storage.cjs +8 -8
  183. package/dist/server/handlers/responses.storage.js +1 -1
  184. package/dist/server/handlers/scorer-versions.cjs +8 -8
  185. package/dist/server/handlers/scorer-versions.js +1 -1
  186. package/dist/server/handlers/scores.cjs +7 -7
  187. package/dist/server/handlers/scores.js +1 -1
  188. package/dist/server/handlers/stored-agents.cjs +7 -7
  189. package/dist/server/handlers/stored-agents.js +1 -1
  190. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  191. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  192. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  193. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  194. package/dist/server/handlers/stored-scorers.cjs +6 -6
  195. package/dist/server/handlers/stored-scorers.js +1 -1
  196. package/dist/server/handlers/stored-skills.cjs +7 -7
  197. package/dist/server/handlers/stored-skills.js +1 -1
  198. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  199. package/dist/server/handlers/stored-workspaces.js +1 -1
  200. package/dist/server/handlers/system.cjs +3 -3
  201. package/dist/server/handlers/system.js +1 -1
  202. package/dist/server/handlers/tool-providers.cjs +5 -5
  203. package/dist/server/handlers/tool-providers.js +1 -1
  204. package/dist/server/handlers/tools.cjs +6 -6
  205. package/dist/server/handlers/tools.js +1 -1
  206. package/dist/server/handlers/utils.cjs +10 -10
  207. package/dist/server/handlers/utils.js +1 -1
  208. package/dist/server/handlers/vector.cjs +16 -16
  209. package/dist/server/handlers/vector.js +1 -1
  210. package/dist/server/handlers/voice.cjs +8 -8
  211. package/dist/server/handlers/voice.js +1 -1
  212. package/dist/server/handlers/workflows.cjs +26 -26
  213. package/dist/server/handlers/workflows.js +1 -1
  214. package/dist/server/handlers/workspace.cjs +26 -26
  215. package/dist/server/handlers/workspace.js +1 -1
  216. package/dist/server/handlers.cjs +37 -37
  217. package/dist/server/handlers.js +14 -14
  218. package/dist/server/schemas/index.cjs +185 -185
  219. package/dist/server/schemas/index.js +5 -5
  220. package/dist/server/server-adapter/index.cjs +33 -33
  221. package/dist/server/server-adapter/index.js +6 -6
  222. package/package.json +5 -5
  223. package/dist/chunk-KUCITIUY.cjs +0 -636
@@ -1,11 +1,11 @@
1
- import { conversationObjectSchema, createConversationBodySchema, conversationIdPathParams, conversationItemsListSchema, conversationDeletedSchema } from './chunk-HX5WL5ZF.js';
2
1
  import { mapMastraMessagesToConversationItems } from './chunk-TLLV2JP5.js';
3
- import { getAgentMemoryStore, findConversationThreadAcrossAgents } from './chunk-B3CHYE7C.js';
4
- import { getAgentFromSystem } from './chunk-3SRLGVLX.js';
5
- import { getEffectiveResourceId } from './chunk-JOUPK2UV.js';
2
+ import { getAgentMemoryStore, findConversationThreadAcrossAgents } from './chunk-26XBPHLY.js';
3
+ import { conversationObjectSchema, createConversationBodySchema, conversationIdPathParams, conversationItemsListSchema, conversationDeletedSchema } from './chunk-HX5WL5ZF.js';
4
+ import { getAgentFromSystem } from './chunk-Y2D4IW6S.js';
5
+ import { getEffectiveResourceId } from './chunk-I4PTYMZO.js';
6
6
  import { MastraFGAPermissions } from './chunk-6KDKASVR.js';
7
- import { createRoute } from './chunk-VMF4AV2C.js';
8
7
  import { handleError } from './chunk-P23KBWKB.js';
8
+ import { createRoute } from './chunk-VMF4AV2C.js';
9
9
  import { HTTPException } from './chunk-6QWQZI4Q.js';
10
10
  import { __export } from './chunk-PR4QN5HX.js';
11
11
  import { randomUUID } from 'crypto';
@@ -156,5 +156,5 @@ var DELETE_CONVERSATION_ROUTE = createRoute({
156
156
  });
157
157
 
158
158
  export { CREATE_CONVERSATION_ROUTE, DELETE_CONVERSATION_ROUTE, GET_CONVERSATION_ITEMS_ROUTE, GET_CONVERSATION_ROUTE, conversations_exports };
159
- //# sourceMappingURL=chunk-26PANWAR.js.map
160
- //# sourceMappingURL=chunk-26PANWAR.js.map
159
+ //# sourceMappingURL=chunk-2L4CZREW.js.map
160
+ //# sourceMappingURL=chunk-2L4CZREW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/conversations.ts"],"names":[],"mappings":"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","file":"chunk-26PANWAR.js","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n conversationDeletedSchema,\n conversationIdPathParams,\n conversationItemsListSchema,\n conversationObjectSchema,\n createConversationBodySchema,\n} from '../schemas/conversations';\nimport type { ConversationDeleted, ConversationItemsList, ConversationObject } from '../schemas/conversations';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { mapMastraMessagesToConversationItems } from './responses.adapter';\nimport { findConversationThreadAcrossAgents, getAgentMemoryStore } from './responses.storage';\nimport { getEffectiveResourceId } from './utils';\n\nfunction buildConversationObject({ thread }: { thread: ConversationObject['thread'] }): ConversationObject {\n return {\n id: thread.id,\n object: 'conversation',\n thread,\n };\n}\n\nfunction buildConversationItemsList(items: ConversationItemsList['data']): ConversationItemsList {\n return {\n object: 'list',\n data: items,\n first_id: items[0]?.id ?? null,\n last_id: items.at(-1)?.id ?? null,\n has_more: false,\n };\n}\n\nfunction buildConversationDeleted(conversationId: string): ConversationDeleted {\n return {\n id: conversationId,\n object: 'conversation.deleted',\n deleted: true,\n };\n}\n\nexport const CREATE_CONVERSATION_ROUTE = createRoute({\n method: 'POST',\n path: '/v1/conversations',\n responseType: 'json',\n bodySchema: createConversationBodySchema,\n responseSchema: conversationObjectSchema,\n summary: 'Create a conversation',\n description: 'Creates a new thread-backed conversation for agent-backed Responses API requests',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_CREATE,\n handler: async ({ mastra, requestContext, agent_id, conversation_id, resource_id, title, metadata }) => {\n try {\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for conversations' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId: agent_id });\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n throw new HTTPException(400, { message: `Agent \"${agent.id}\" does not have memory configured` });\n }\n if (!(await getAgentMemoryStore({ agent, requestContext }))) {\n throw new HTTPException(400, { message: `Memory storage is not configured for agent \"${agent.id}\"` });\n }\n\n const threadId = conversation_id ?? randomUUID();\n const resourceId = getEffectiveResourceId(requestContext, resource_id) ?? threadId;\n const thread = await memory.createThread({\n threadId,\n resourceId,\n title,\n metadata,\n });\n\n return buildConversationObject({ thread });\n } catch (error) {\n return handleError(error, 'Error creating conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationObjectSchema,\n summary: 'Retrieve a conversation',\n description: 'Returns a conversation object backed by a Mastra memory thread',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n return buildConversationObject({ thread: match.thread });\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId/items',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationItemsListSchema,\n summary: 'List conversation items',\n description: 'Returns OpenAI-style conversation items derived from the stored thread messages',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n const { messages } = await match.memoryStore.listMessages({\n threadId: conversationId,\n page: 0,\n perPage: 1000,\n });\n\n return buildConversationItemsList(mapMastraMessagesToConversationItems(messages));\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const DELETE_CONVERSATION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationDeletedSchema,\n summary: 'Delete a conversation',\n description: 'Deletes a thread-backed conversation and its stored items',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_DELETE,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n await match.memoryStore.deleteThread({ threadId: conversationId });\n\n return buildConversationDeleted(conversationId);\n } catch (error) {\n return handleError(error, 'Error deleting conversation');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/conversations.ts"],"names":[],"mappings":"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","file":"chunk-2L4CZREW.js","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n conversationDeletedSchema,\n conversationIdPathParams,\n conversationItemsListSchema,\n conversationObjectSchema,\n createConversationBodySchema,\n} from '../schemas/conversations';\nimport type { ConversationDeleted, ConversationItemsList, ConversationObject } from '../schemas/conversations';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { mapMastraMessagesToConversationItems } from './responses.adapter';\nimport { findConversationThreadAcrossAgents, getAgentMemoryStore } from './responses.storage';\nimport { getEffectiveResourceId } from './utils';\n\nfunction buildConversationObject({ thread }: { thread: ConversationObject['thread'] }): ConversationObject {\n return {\n id: thread.id,\n object: 'conversation',\n thread,\n };\n}\n\nfunction buildConversationItemsList(items: ConversationItemsList['data']): ConversationItemsList {\n return {\n object: 'list',\n data: items,\n first_id: items[0]?.id ?? null,\n last_id: items.at(-1)?.id ?? null,\n has_more: false,\n };\n}\n\nfunction buildConversationDeleted(conversationId: string): ConversationDeleted {\n return {\n id: conversationId,\n object: 'conversation.deleted',\n deleted: true,\n };\n}\n\nexport const CREATE_CONVERSATION_ROUTE = createRoute({\n method: 'POST',\n path: '/v1/conversations',\n responseType: 'json',\n bodySchema: createConversationBodySchema,\n responseSchema: conversationObjectSchema,\n summary: 'Create a conversation',\n description: 'Creates a new thread-backed conversation for agent-backed Responses API requests',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_CREATE,\n handler: async ({ mastra, requestContext, agent_id, conversation_id, resource_id, title, metadata }) => {\n try {\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for conversations' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId: agent_id });\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n throw new HTTPException(400, { message: `Agent \"${agent.id}\" does not have memory configured` });\n }\n if (!(await getAgentMemoryStore({ agent, requestContext }))) {\n throw new HTTPException(400, { message: `Memory storage is not configured for agent \"${agent.id}\"` });\n }\n\n const threadId = conversation_id ?? randomUUID();\n const resourceId = getEffectiveResourceId(requestContext, resource_id) ?? threadId;\n const thread = await memory.createThread({\n threadId,\n resourceId,\n title,\n metadata,\n });\n\n return buildConversationObject({ thread });\n } catch (error) {\n return handleError(error, 'Error creating conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationObjectSchema,\n summary: 'Retrieve a conversation',\n description: 'Returns a conversation object backed by a Mastra memory thread',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n return buildConversationObject({ thread: match.thread });\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId/items',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationItemsListSchema,\n summary: 'List conversation items',\n description: 'Returns OpenAI-style conversation items derived from the stored thread messages',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n const { messages } = await match.memoryStore.listMessages({\n threadId: conversationId,\n page: 0,\n perPage: 1000,\n });\n\n return buildConversationItemsList(mapMastraMessagesToConversationItems(messages));\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const DELETE_CONVERSATION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationDeletedSchema,\n summary: 'Delete a conversation',\n description: 'Deletes a thread-backed conversation and its stored items',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_DELETE,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n await match.memoryStore.deleteThread({ threadId: conversationId });\n\n return buildConversationDeleted(conversationId);\n } catch (error) {\n return handleError(error, 'Error deleting conversation');\n }\n },\n});\n"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
3
4
  var chunkWIOYCLJC_cjs = require('./chunk-WIOYCLJC.cjs');
4
5
  var chunkJ62R54QE_cjs = require('./chunk-J62R54QE.cjs');
5
- var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
6
- var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
7
- var chunkPJDFXAOL_cjs = require('./chunk-PJDFXAOL.cjs');
8
6
  var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
7
+ var chunkPJDFXAOL_cjs = require('./chunk-PJDFXAOL.cjs');
9
8
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
+ var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
10
10
 
11
11
  // src/server/handlers/stored-mcp-clients.ts
12
12
  var LIST_STORED_MCP_CLIENTS_ROUTE = chunkPJDFXAOL_cjs.createRoute({
@@ -228,5 +228,5 @@ exports.DELETE_STORED_MCP_CLIENT_ROUTE = DELETE_STORED_MCP_CLIENT_ROUTE;
228
228
  exports.GET_STORED_MCP_CLIENT_ROUTE = GET_STORED_MCP_CLIENT_ROUTE;
229
229
  exports.LIST_STORED_MCP_CLIENTS_ROUTE = LIST_STORED_MCP_CLIENTS_ROUTE;
230
230
  exports.UPDATE_STORED_MCP_CLIENT_ROUTE = UPDATE_STORED_MCP_CLIENT_ROUTE;
231
- //# sourceMappingURL=chunk-OB4NE2YX.cjs.map
232
- //# sourceMappingURL=chunk-OB4NE2YX.cjs.map
231
+ //# sourceMappingURL=chunk-2WN5INZT.cjs.map
232
+ //# sourceMappingURL=chunk-2WN5INZT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/stored-mcp-clients.ts"],"names":["createRoute","listStoredMCPClientsQuerySchema","listStoredMCPClientsResponseSchema","HTTPException","handleError","storedMCPClientIdPathParams","statusQuerySchema","getStoredMCPClientResponseSchema","createStoredMCPClientBodySchema","createStoredMCPClientResponseSchema","toSlug","updateStoredMCPClientBodySchema","updateStoredMCPClientResponseSchema","handleAutoVersioning","MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS","deleteStoredMCPClientResponseSchema"],"mappings":"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","file":"chunk-OB4NE2YX.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedMCPClientIdPathParams,\n statusQuerySchema,\n listStoredMCPClientsQuerySchema,\n createStoredMCPClientBodySchema,\n updateStoredMCPClientBodySchema,\n listStoredMCPClientsResponseSchema,\n getStoredMCPClientResponseSchema,\n createStoredMCPClientResponseSchema,\n updateStoredMCPClientResponseSchema,\n deleteStoredMCPClientResponseSchema,\n} from '../schemas/stored-mcp-clients';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning, MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/mcp-clients - List all stored MCP clients\n */\nexport const LIST_STORED_MCP_CLIENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients',\n responseType: 'json',\n queryParamSchema: listStoredMCPClientsQuerySchema,\n responseSchema: listStoredMCPClientsResponseSchema,\n summary: 'List stored MCP clients',\n description: 'Returns a paginated list of all MCP client configurations stored in the database',\n tags: ['Stored MCP Clients'],\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 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 result = await mcpClientStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored MCP clients');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:storedMCPClientId - Get a stored MCP client by ID\n */\nexport const GET_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredMCPClientResponseSchema,\n summary: 'Get stored MCP client by ID',\n description:\n 'Returns a specific MCP client 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 MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId, 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 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.getByIdResolved(storedMCPClientId, { status });\n\n if (!mcpClient) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n return mcpClient;\n } catch (error) {\n return handleError(error, 'Error getting stored MCP client');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients - Create a new stored MCP client\n */\nexport const CREATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients',\n responseType: 'json',\n bodySchema: createStoredMCPClientBodySchema,\n responseSchema: createStoredMCPClientResponseSchema,\n summary: 'Create stored MCP client',\n description: 'Creates a new MCP client configuration in storage with the provided servers',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, id: providedId, authorId, metadata, name, description, servers }) => {\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 // 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 MCP client ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if MCP client with this ID already exists\n const existing = await mcpClientStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `MCP client with id ${id} already exists` });\n }\n\n await mcpClientStore.create({\n mcpClient: {\n id,\n authorId,\n metadata,\n name,\n description,\n servers,\n },\n });\n\n // Return the resolved MCP client (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await mcpClientStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error creating stored MCP client');\n }\n },\n});\n\n/**\n * PATCH /stored/mcp-clients/:storedMCPClientId - Update a stored MCP client\n */\nexport const UPDATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n bodySchema: updateStoredMCPClientBodySchema,\n responseSchema: updateStoredMCPClientResponseSchema,\n summary: 'Update stored MCP client',\n description: 'Updates an existing MCP client in storage with the provided fields',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedMCPClientId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n servers,\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 mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n // Update the MCP client with both metadata-level and config-level fields\n const updatedMCPClient = await mcpClientStore.update({\n id: storedMCPClientId,\n authorId,\n metadata,\n name,\n description,\n servers,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, servers };\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 mcpClientStore as unknown as VersionedStoreInterface,\n storedMCPClientId,\n 'mcpClientId',\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedMCPClient,\n providedConfigFields,\n );\n\n // Return the resolved MCP client with the latest (draft) version so the UI sees its edits\n const resolved = await mcpClientStore.getByIdResolved(storedMCPClientId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error updating stored MCP client');\n }\n },\n});\n\n/**\n * DELETE /stored/mcp-clients/:storedMCPClientId - Delete a stored MCP client\n */\nexport const DELETE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n responseSchema: deleteStoredMCPClientResponseSchema,\n summary: 'Delete stored MCP client',\n description: 'Deletes an MCP client from storage by its unique identifier',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId }) => {\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 // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n await mcpClientStore.delete(storedMCPClientId);\n\n return {\n success: true,\n message: `MCP client ${storedMCPClientId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored MCP client');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/stored-mcp-clients.ts"],"names":["createRoute","listStoredMCPClientsQuerySchema","listStoredMCPClientsResponseSchema","HTTPException","handleError","storedMCPClientIdPathParams","statusQuerySchema","getStoredMCPClientResponseSchema","createStoredMCPClientBodySchema","createStoredMCPClientResponseSchema","toSlug","updateStoredMCPClientBodySchema","updateStoredMCPClientResponseSchema","handleAutoVersioning","MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS","deleteStoredMCPClientResponseSchema"],"mappings":"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","file":"chunk-2WN5INZT.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedMCPClientIdPathParams,\n statusQuerySchema,\n listStoredMCPClientsQuerySchema,\n createStoredMCPClientBodySchema,\n updateStoredMCPClientBodySchema,\n listStoredMCPClientsResponseSchema,\n getStoredMCPClientResponseSchema,\n createStoredMCPClientResponseSchema,\n updateStoredMCPClientResponseSchema,\n deleteStoredMCPClientResponseSchema,\n} from '../schemas/stored-mcp-clients';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning, MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/mcp-clients - List all stored MCP clients\n */\nexport const LIST_STORED_MCP_CLIENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients',\n responseType: 'json',\n queryParamSchema: listStoredMCPClientsQuerySchema,\n responseSchema: listStoredMCPClientsResponseSchema,\n summary: 'List stored MCP clients',\n description: 'Returns a paginated list of all MCP client configurations stored in the database',\n tags: ['Stored MCP Clients'],\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 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 result = await mcpClientStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored MCP clients');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:storedMCPClientId - Get a stored MCP client by ID\n */\nexport const GET_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredMCPClientResponseSchema,\n summary: 'Get stored MCP client by ID',\n description:\n 'Returns a specific MCP client 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 MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId, 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 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.getByIdResolved(storedMCPClientId, { status });\n\n if (!mcpClient) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n return mcpClient;\n } catch (error) {\n return handleError(error, 'Error getting stored MCP client');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients - Create a new stored MCP client\n */\nexport const CREATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients',\n responseType: 'json',\n bodySchema: createStoredMCPClientBodySchema,\n responseSchema: createStoredMCPClientResponseSchema,\n summary: 'Create stored MCP client',\n description: 'Creates a new MCP client configuration in storage with the provided servers',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, id: providedId, authorId, metadata, name, description, servers }) => {\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 // 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 MCP client ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if MCP client with this ID already exists\n const existing = await mcpClientStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `MCP client with id ${id} already exists` });\n }\n\n await mcpClientStore.create({\n mcpClient: {\n id,\n authorId,\n metadata,\n name,\n description,\n servers,\n },\n });\n\n // Return the resolved MCP client (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await mcpClientStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error creating stored MCP client');\n }\n },\n});\n\n/**\n * PATCH /stored/mcp-clients/:storedMCPClientId - Update a stored MCP client\n */\nexport const UPDATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n bodySchema: updateStoredMCPClientBodySchema,\n responseSchema: updateStoredMCPClientResponseSchema,\n summary: 'Update stored MCP client',\n description: 'Updates an existing MCP client in storage with the provided fields',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedMCPClientId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n servers,\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 mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n // Update the MCP client with both metadata-level and config-level fields\n const updatedMCPClient = await mcpClientStore.update({\n id: storedMCPClientId,\n authorId,\n metadata,\n name,\n description,\n servers,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, servers };\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 mcpClientStore as unknown as VersionedStoreInterface,\n storedMCPClientId,\n 'mcpClientId',\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedMCPClient,\n providedConfigFields,\n );\n\n // Return the resolved MCP client with the latest (draft) version so the UI sees its edits\n const resolved = await mcpClientStore.getByIdResolved(storedMCPClientId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error updating stored MCP client');\n }\n },\n});\n\n/**\n * DELETE /stored/mcp-clients/:storedMCPClientId - Delete a stored MCP client\n */\nexport const DELETE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n responseSchema: deleteStoredMCPClientResponseSchema,\n summary: 'Delete stored MCP client',\n description: 'Deletes an MCP client from storage by its unique identifier',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId }) => {\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 // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n await mcpClientStore.delete(storedMCPClientId);\n\n return {\n success: true,\n message: `MCP client ${storedMCPClientId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored MCP client');\n }\n },\n});\n"]}
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkTF7NSMHW_cjs = require('./chunk-TF7NSMHW.cjs');
4
- var chunk4QZCXU3A_cjs = require('./chunk-4QZCXU3A.cjs');
5
4
  var chunkJ62R54QE_cjs = require('./chunk-J62R54QE.cjs');
6
- var chunk72W42JL4_cjs = require('./chunk-72W42JL4.cjs');
5
+ var chunkVZXZYFJQ_cjs = require('./chunk-VZXZYFJQ.cjs');
7
6
  var chunkL4M23OMB_cjs = require('./chunk-L4M23OMB.cjs');
8
- var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
9
- var chunkPJDFXAOL_cjs = require('./chunk-PJDFXAOL.cjs');
10
7
  var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
8
+ var chunkPJDFXAOL_cjs = require('./chunk-PJDFXAOL.cjs');
11
9
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
10
+ var chunk4QZCXU3A_cjs = require('./chunk-4QZCXU3A.cjs');
11
+ var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
12
12
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
13
13
  var stream = require('@mastra/core/stream');
14
14
  var v4 = require('zod/v4');
@@ -172,7 +172,7 @@ var LIST_WORKFLOW_RUNS_ROUTE = chunkPJDFXAOL_cjs.createRoute({
172
172
  requestContext
173
173
  }) => {
174
174
  try {
175
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, resourceId);
175
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, resourceId);
176
176
  if (!workflowId) {
177
177
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
178
178
  }
@@ -224,7 +224,7 @@ var GET_WORKFLOW_RUN_BY_ID_ROUTE = chunkPJDFXAOL_cjs.createRoute({
224
224
  requiresAuth: true,
225
225
  handler: async ({ mastra, workflowId, runId, fields, withNestedWorkflows, requestContext }) => {
226
226
  try {
227
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
227
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
228
228
  if (!workflowId) {
229
229
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
230
230
  }
@@ -244,7 +244,7 @@ var GET_WORKFLOW_RUN_BY_ID_ROUTE = chunkPJDFXAOL_cjs.createRoute({
244
244
  if (!run) {
245
245
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
246
246
  }
247
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
247
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
248
248
  return run;
249
249
  } catch (error) {
250
250
  return chunkB34S64RC_cjs.handleError(error, "Error getting workflow run");
@@ -263,7 +263,7 @@ var DELETE_WORKFLOW_RUN_BY_ID_ROUTE = chunkPJDFXAOL_cjs.createRoute({
263
263
  requiresAuth: true,
264
264
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
265
265
  try {
266
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
266
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
267
267
  if (!workflowId) {
268
268
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
269
269
  }
@@ -278,7 +278,7 @@ var DELETE_WORKFLOW_RUN_BY_ID_ROUTE = chunkPJDFXAOL_cjs.createRoute({
278
278
  if (!run) {
279
279
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
280
280
  }
281
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
281
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
282
282
  await workflow.deleteWorkflowRunById(runId);
283
283
  return { message: "Workflow run deleted" };
284
284
  } catch (error) {
@@ -300,7 +300,7 @@ var CREATE_WORKFLOW_RUN_ROUTE = chunkPJDFXAOL_cjs.createRoute({
300
300
  requiresAuth: true,
301
301
  handler: async ({ mastra, workflowId, runId, resourceId, disableScorers, requestContext }) => {
302
302
  try {
303
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, resourceId);
303
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, resourceId);
304
304
  if (!workflowId) {
305
305
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
306
306
  }
@@ -328,7 +328,7 @@ var STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
328
328
  requiresAuth: true,
329
329
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
330
330
  try {
331
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, resourceId);
331
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, resourceId);
332
332
  if (!workflowId) {
333
333
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
334
334
  }
@@ -369,7 +369,7 @@ var RESUME_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
369
369
  requiresAuth: true,
370
370
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
371
371
  try {
372
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
372
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
373
373
  if (!workflowId) {
374
374
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
375
375
  }
@@ -384,7 +384,7 @@ var RESUME_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
384
384
  if (!run) {
385
385
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
386
386
  }
387
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
387
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
388
388
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
389
389
  const serverCache = mastra.getServerCache();
390
390
  const resumeResult = _run.resumeStream({ ...params, requestContext });
@@ -415,7 +415,7 @@ var START_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
415
415
  requiresAuth: true,
416
416
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
417
417
  try {
418
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, resourceId);
418
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, resourceId);
419
419
  if (!workflowId) {
420
420
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
421
421
  }
@@ -445,7 +445,7 @@ var START_WORKFLOW_RUN_ROUTE = chunkPJDFXAOL_cjs.createRoute({
445
445
  requiresAuth: true,
446
446
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
447
447
  try {
448
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
448
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
449
449
  if (!workflowId) {
450
450
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
451
451
  }
@@ -460,7 +460,7 @@ var START_WORKFLOW_RUN_ROUTE = chunkPJDFXAOL_cjs.createRoute({
460
460
  if (!run) {
461
461
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
462
462
  }
463
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
463
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
464
464
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
465
465
  void _run.start({
466
466
  ...params,
@@ -485,7 +485,7 @@ var OBSERVE_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
485
485
  requiresAuth: true,
486
486
  handler: async ({ mastra, workflowId, runId, offset, requestContext }) => {
487
487
  try {
488
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
488
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
489
489
  if (!workflowId) {
490
490
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
491
491
  }
@@ -500,7 +500,7 @@ var OBSERVE_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
500
500
  if (!run) {
501
501
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
502
502
  }
503
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
503
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
504
504
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
505
505
  const serverCache = mastra.getServerCache();
506
506
  if (!serverCache) {
@@ -532,7 +532,7 @@ var RESUME_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
532
532
  requiresAuth: true,
533
533
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
534
534
  try {
535
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
535
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
536
536
  if (!workflowId) {
537
537
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
538
538
  }
@@ -547,7 +547,7 @@ var RESUME_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
547
547
  if (!run) {
548
548
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
549
549
  }
550
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
550
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
551
551
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
552
552
  const result = await _run.resume({ ...params, requestContext });
553
553
  return result;
@@ -570,7 +570,7 @@ var RESUME_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
570
570
  requiresAuth: true,
571
571
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
572
572
  try {
573
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
573
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
574
574
  if (!workflowId) {
575
575
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
576
576
  }
@@ -585,7 +585,7 @@ var RESUME_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
585
585
  if (!run) {
586
586
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
587
587
  }
588
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
588
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
589
589
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
590
590
  void _run.resume({ ...params, requestContext });
591
591
  return { message: "Workflow run resumed" };
@@ -608,7 +608,7 @@ var RESTART_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
608
608
  requiresAuth: true,
609
609
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
610
610
  try {
611
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
611
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
612
612
  if (!workflowId) {
613
613
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
614
614
  }
@@ -623,7 +623,7 @@ var RESTART_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
623
623
  if (!run) {
624
624
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
625
625
  }
626
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
626
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
627
627
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
628
628
  const result = await _run.restart({ ...params, requestContext });
629
629
  return result;
@@ -646,7 +646,7 @@ var RESTART_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
646
646
  requiresAuth: true,
647
647
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
648
648
  try {
649
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
649
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
650
650
  if (!workflowId) {
651
651
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
652
652
  }
@@ -661,7 +661,7 @@ var RESTART_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
661
661
  if (!run) {
662
662
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
663
663
  }
664
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
664
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
665
665
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
666
666
  void _run.restart({ ...params, requestContext });
667
667
  return { message: "Workflow run restarted" };
@@ -736,7 +736,7 @@ var TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
736
736
  requiresAuth: true,
737
737
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
738
738
  try {
739
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
739
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
740
740
  if (!workflowId) {
741
741
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
742
742
  }
@@ -751,7 +751,7 @@ var TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
751
751
  if (!run) {
752
752
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
753
753
  }
754
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
754
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
755
755
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
756
756
  const result = await _run.timeTravel({ ...params, requestContext });
757
757
  return result;
@@ -774,7 +774,7 @@ var TIME_TRAVEL_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
774
774
  requiresAuth: true,
775
775
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
776
776
  try {
777
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
777
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
778
778
  if (!workflowId) {
779
779
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
780
780
  }
@@ -789,7 +789,7 @@ var TIME_TRAVEL_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
789
789
  if (!run) {
790
790
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
791
791
  }
792
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
792
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
793
793
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
794
794
  void _run.timeTravel({ ...params, requestContext });
795
795
  return { message: "Workflow run time travel started" };
@@ -811,7 +811,7 @@ var TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
811
811
  requiresAuth: true,
812
812
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
813
813
  try {
814
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
814
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
815
815
  if (!workflowId) {
816
816
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
817
817
  }
@@ -826,7 +826,7 @@ var TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
826
826
  if (!existingRun) {
827
827
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
828
828
  }
829
- await chunk72W42JL4_cjs.validateRunOwnership(existingRun, effectiveResourceId);
829
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(existingRun, effectiveResourceId);
830
830
  const serverCache = mastra.getServerCache();
831
831
  const run = await workflow.createRun({ runId, resourceId: existingRun.resourceId });
832
832
  const result = run.timeTravelStream({ ...params, requestContext });
@@ -855,7 +855,7 @@ var CANCEL_WORKFLOW_RUN_ROUTE = chunkPJDFXAOL_cjs.createRoute({
855
855
  requiresAuth: true,
856
856
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
857
857
  try {
858
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
858
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
859
859
  if (!workflowId) {
860
860
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
861
861
  }
@@ -870,7 +870,7 @@ var CANCEL_WORKFLOW_RUN_ROUTE = chunkPJDFXAOL_cjs.createRoute({
870
870
  if (!run) {
871
871
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
872
872
  }
873
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
873
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
874
874
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
875
875
  await _run.cancel();
876
876
  return { message: "Workflow run cancelled" };
@@ -893,7 +893,7 @@ var STREAM_LEGACY_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
893
893
  requiresAuth: true,
894
894
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
895
895
  try {
896
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, resourceId);
896
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, resourceId);
897
897
  if (!workflowId) {
898
898
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
899
899
  }
@@ -935,7 +935,7 @@ var OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
935
935
  requiresAuth: true,
936
936
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
937
937
  try {
938
- const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
938
+ const effectiveResourceId = chunkVZXZYFJQ_cjs.getEffectiveResourceId(requestContext, void 0);
939
939
  if (!workflowId) {
940
940
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
941
941
  }
@@ -950,7 +950,7 @@ var OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = chunkPJDFXAOL_cjs.createRoute({
950
950
  if (!run) {
951
951
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
952
952
  }
953
- await chunk72W42JL4_cjs.validateRunOwnership(run, effectiveResourceId);
953
+ await chunkVZXZYFJQ_cjs.validateRunOwnership(run, effectiveResourceId);
954
954
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
955
955
  const serverCache = mastra.getServerCache();
956
956
  if (!serverCache) {
@@ -1097,5 +1097,5 @@ exports.TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE;
1097
1097
  exports.TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = TIME_TRAVEL_STREAM_WORKFLOW_ROUTE;
1098
1098
  exports.TIME_TRAVEL_WORKFLOW_ROUTE = TIME_TRAVEL_WORKFLOW_ROUTE;
1099
1099
  exports.workflows_exports = workflows_exports;
1100
- //# sourceMappingURL=chunk-DDF3ZASL.cjs.map
1101
- //# sourceMappingURL=chunk-DDF3ZASL.cjs.map
1100
+ //# sourceMappingURL=chunk-2XBOJWX6.cjs.map
1101
+ //# sourceMappingURL=chunk-2XBOJWX6.cjs.map