@mastra/server 1.28.0 → 1.29.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/{chunk-7E2JRYIE.js → chunk-2GPURBXZ.js} +4 -4
  3. package/dist/{chunk-7E2JRYIE.js.map → chunk-2GPURBXZ.js.map} +1 -1
  4. package/dist/{chunk-CYHUMFMF.js → chunk-2L2EQ2WP.js} +6 -6
  5. package/dist/{chunk-CYHUMFMF.js.map → chunk-2L2EQ2WP.js.map} +1 -1
  6. package/dist/{chunk-4NNHGY7L.js → chunk-2NEECBQR.js} +4 -4
  7. package/dist/{chunk-4NNHGY7L.js.map → chunk-2NEECBQR.js.map} +1 -1
  8. package/dist/{chunk-B7SBAXEP.cjs → chunk-2Q4IAQP6.cjs} +7 -7
  9. package/dist/{chunk-B7SBAXEP.cjs.map → chunk-2Q4IAQP6.cjs.map} +1 -1
  10. package/dist/{chunk-DKGUCZ2Q.js → chunk-2R7PRLUL.js} +5 -5
  11. package/dist/{chunk-DKGUCZ2Q.js.map → chunk-2R7PRLUL.js.map} +1 -1
  12. package/dist/{chunk-6WELN3FO.cjs → chunk-2UIZWSQ4.cjs} +5 -5
  13. package/dist/{chunk-6WELN3FO.cjs.map → chunk-2UIZWSQ4.cjs.map} +1 -1
  14. package/dist/{chunk-FIP7YYSO.js → chunk-3LCPUJA3.js} +4 -4
  15. package/dist/{chunk-FIP7YYSO.js.map → chunk-3LCPUJA3.js.map} +1 -1
  16. package/dist/{chunk-SYCS74J5.js → chunk-3NMXW3ID.js} +4 -4
  17. package/dist/{chunk-SYCS74J5.js.map → chunk-3NMXW3ID.js.map} +1 -1
  18. package/dist/{chunk-5FSPMG6T.cjs → chunk-3QNC76KL.cjs} +12 -12
  19. package/dist/{chunk-5FSPMG6T.cjs.map → chunk-3QNC76KL.cjs.map} +1 -1
  20. package/dist/{chunk-OV64VJ5L.js → chunk-42XOE7XV.js} +3 -3
  21. package/dist/{chunk-OV64VJ5L.js.map → chunk-42XOE7XV.js.map} +1 -1
  22. package/dist/{chunk-65MQD7JR.js → chunk-46UPTG2T.js} +5 -5
  23. package/dist/{chunk-65MQD7JR.js.map → chunk-46UPTG2T.js.map} +1 -1
  24. package/dist/{chunk-LWK57QIA.cjs → chunk-4WDBN7FE.cjs} +3 -3
  25. package/dist/{chunk-LWK57QIA.cjs.map → chunk-4WDBN7FE.cjs.map} +1 -1
  26. package/dist/{chunk-4Y5P2GYV.js → chunk-5KQVWRID.js} +4 -4
  27. package/dist/{chunk-4Y5P2GYV.js.map → chunk-5KQVWRID.js.map} +1 -1
  28. package/dist/{chunk-NRFMMYTG.js → chunk-74E7YQ6N.js} +3 -3
  29. package/dist/{chunk-NRFMMYTG.js.map → chunk-74E7YQ6N.js.map} +1 -1
  30. package/dist/{chunk-ENKXDV52.cjs → chunk-7ZAQD3XO.cjs} +185 -105
  31. package/dist/chunk-7ZAQD3XO.cjs.map +1 -0
  32. package/dist/{chunk-YNLANUVE.cjs → chunk-AIJJSCV4.cjs} +27 -27
  33. package/dist/{chunk-YNLANUVE.cjs.map → chunk-AIJJSCV4.cjs.map} +1 -1
  34. package/dist/{chunk-2MWLNHBG.cjs → chunk-BORB3KIW.cjs} +3 -3
  35. package/dist/{chunk-2MWLNHBG.cjs.map → chunk-BORB3KIW.cjs.map} +1 -1
  36. package/dist/{chunk-6NHGGSHC.cjs → chunk-CPPHHMG7.cjs} +8 -2
  37. package/dist/chunk-CPPHHMG7.cjs.map +1 -0
  38. package/dist/{chunk-VLNRGJEM.js → chunk-CT2AKZPZ.js} +3 -3
  39. package/dist/{chunk-VLNRGJEM.js.map → chunk-CT2AKZPZ.js.map} +1 -1
  40. package/dist/{chunk-H23VTK56.js → chunk-DAFGZEU3.js} +3 -3
  41. package/dist/{chunk-H23VTK56.js.map → chunk-DAFGZEU3.js.map} +1 -1
  42. package/dist/{chunk-AE47SCBQ.js → chunk-DSZXOCSK.js} +5 -5
  43. package/dist/{chunk-AE47SCBQ.js.map → chunk-DSZXOCSK.js.map} +1 -1
  44. package/dist/{chunk-2CI3G2FS.js → chunk-FRD3ENZK.js} +5 -5
  45. package/dist/{chunk-2CI3G2FS.js.map → chunk-FRD3ENZK.js.map} +1 -1
  46. package/dist/{chunk-LTLTS3RN.js → chunk-H2MUDA4C.js} +3 -3
  47. package/dist/{chunk-LTLTS3RN.js.map → chunk-H2MUDA4C.js.map} +1 -1
  48. package/dist/{chunk-4Z5OSMQB.cjs → chunk-H5RPTYTP.cjs} +42 -42
  49. package/dist/{chunk-4Z5OSMQB.cjs.map → chunk-H5RPTYTP.cjs.map} +1 -1
  50. package/dist/{chunk-CB5KNGCV.js → chunk-HI5I7TAN.js} +8 -3
  51. package/dist/chunk-HI5I7TAN.js.map +1 -0
  52. package/dist/{chunk-JOC7WKJ2.cjs → chunk-HTITP2OM.cjs} +49 -49
  53. package/dist/{chunk-JOC7WKJ2.cjs.map → chunk-HTITP2OM.cjs.map} +1 -1
  54. package/dist/{chunk-WC4RIS4D.js → chunk-INGHVKDO.js} +3 -3
  55. package/dist/{chunk-WC4RIS4D.js.map → chunk-INGHVKDO.js.map} +1 -1
  56. package/dist/{chunk-RUUWZTQN.js → chunk-IUDQQ6QI.js} +6 -6
  57. package/dist/{chunk-RUUWZTQN.js.map → chunk-IUDQQ6QI.js.map} +1 -1
  58. package/dist/{chunk-5KM5P23Q.cjs → chunk-J5JAOQ2A.cjs} +3 -3
  59. package/dist/{chunk-5KM5P23Q.cjs.map → chunk-J5JAOQ2A.cjs.map} +1 -1
  60. package/dist/{chunk-245BXYGJ.cjs → chunk-K2MVNOUC.cjs} +5 -5
  61. package/dist/{chunk-245BXYGJ.cjs.map → chunk-K2MVNOUC.cjs.map} +1 -1
  62. package/dist/{chunk-7VXUWPHS.cjs → chunk-L5N6WKOZ.cjs} +4 -4
  63. package/dist/{chunk-7VXUWPHS.cjs.map → chunk-L5N6WKOZ.cjs.map} +1 -1
  64. package/dist/{chunk-P7QF3UG4.js → chunk-MT5NBKHP.js} +4 -4
  65. package/dist/{chunk-P7QF3UG4.js.map → chunk-MT5NBKHP.js.map} +1 -1
  66. package/dist/{chunk-VD2MZSOE.cjs → chunk-OQX4IR6X.cjs} +25 -25
  67. package/dist/{chunk-VD2MZSOE.cjs.map → chunk-OQX4IR6X.cjs.map} +1 -1
  68. package/dist/{chunk-2QNJHTKM.cjs → chunk-P4MLFOXM.cjs} +3 -3
  69. package/dist/{chunk-2QNJHTKM.cjs.map → chunk-P4MLFOXM.cjs.map} +1 -1
  70. package/dist/{chunk-NUGBBASK.js → chunk-PKGKTNYI.js} +3 -3
  71. package/dist/{chunk-NUGBBASK.js.map → chunk-PKGKTNYI.js.map} +1 -1
  72. package/dist/{chunk-MROI3O6S.cjs → chunk-PMEZVTMY.cjs} +4 -4
  73. package/dist/{chunk-MROI3O6S.cjs.map → chunk-PMEZVTMY.cjs.map} +1 -1
  74. package/dist/{chunk-VGR4DSXQ.cjs → chunk-PXNWHW4Y.cjs} +3 -3
  75. package/dist/{chunk-VGR4DSXQ.cjs.map → chunk-PXNWHW4Y.cjs.map} +1 -1
  76. package/dist/{chunk-JRQ7KMHH.cjs → chunk-PZRKR3F6.cjs} +20 -20
  77. package/dist/{chunk-JRQ7KMHH.cjs.map → chunk-PZRKR3F6.cjs.map} +1 -1
  78. package/dist/{chunk-Q2N5GR7X.cjs → chunk-QSNA4LRZ.cjs} +3 -3
  79. package/dist/{chunk-Q2N5GR7X.cjs.map → chunk-QSNA4LRZ.cjs.map} +1 -1
  80. package/dist/{chunk-2NRS4YYI.cjs → chunk-QWBZJSUT.cjs} +18 -18
  81. package/dist/{chunk-2NRS4YYI.cjs.map → chunk-QWBZJSUT.cjs.map} +1 -1
  82. package/dist/{chunk-S7REEERK.cjs → chunk-RRVHQ72N.cjs} +3 -3
  83. package/dist/{chunk-S7REEERK.cjs.map → chunk-RRVHQ72N.cjs.map} +1 -1
  84. package/dist/{chunk-TNNU7IZK.cjs → chunk-TC6OUECX.cjs} +3 -3
  85. package/dist/{chunk-TNNU7IZK.cjs.map → chunk-TC6OUECX.cjs.map} +1 -1
  86. package/dist/{chunk-7GNVIWZY.js → chunk-TEL2DC3C.js} +4 -4
  87. package/dist/{chunk-7GNVIWZY.js.map → chunk-TEL2DC3C.js.map} +1 -1
  88. package/dist/{chunk-MDEUJYIM.js → chunk-VCPZAU2M.js} +87 -8
  89. package/dist/chunk-VCPZAU2M.js.map +1 -0
  90. package/dist/{chunk-U2Z2LTLP.js → chunk-VG6PHTVS.js} +6 -6
  91. package/dist/{chunk-U2Z2LTLP.js.map → chunk-VG6PHTVS.js.map} +1 -1
  92. package/dist/{chunk-HWK6K3DW.cjs → chunk-VRBXYEOH.cjs} +8 -8
  93. package/dist/{chunk-HWK6K3DW.cjs.map → chunk-VRBXYEOH.cjs.map} +1 -1
  94. package/dist/{chunk-DY6OYCMG.js → chunk-XEXHCRV3.js} +3 -3
  95. package/dist/{chunk-DY6OYCMG.js.map → chunk-XEXHCRV3.js.map} +1 -1
  96. package/dist/{chunk-EETF75CE.cjs → chunk-YWJQERAH.cjs} +4 -4
  97. package/dist/{chunk-EETF75CE.cjs.map → chunk-YWJQERAH.cjs.map} +1 -1
  98. package/dist/{chunk-KYO2AXNE.cjs → chunk-YWL5BE5R.cjs} +7 -7
  99. package/dist/{chunk-KYO2AXNE.cjs.map → chunk-YWL5BE5R.cjs.map} +1 -1
  100. package/dist/{chunk-HSU5D2KT.js → chunk-ZVLKCQ4A.js} +3 -3
  101. package/dist/{chunk-HSU5D2KT.js.map → chunk-ZVLKCQ4A.js.map} +1 -1
  102. package/dist/docs/SKILL.md +1 -1
  103. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  104. package/dist/docs/references/reference-server-routes.md +9 -8
  105. package/dist/server/handlers/a2a.cjs +9 -9
  106. package/dist/server/handlers/a2a.js +1 -1
  107. package/dist/server/handlers/agent-builder.cjs +16 -16
  108. package/dist/server/handlers/agent-builder.js +1 -1
  109. package/dist/server/handlers/agent-versions.cjs +8 -8
  110. package/dist/server/handlers/agent-versions.js +1 -1
  111. package/dist/server/handlers/agents.cjs +39 -35
  112. package/dist/server/handlers/agents.d.ts +155 -0
  113. package/dist/server/handlers/agents.d.ts.map +1 -1
  114. package/dist/server/handlers/agents.js +1 -1
  115. package/dist/server/handlers/conversations.cjs +5 -5
  116. package/dist/server/handlers/conversations.js +1 -1
  117. package/dist/server/handlers/datasets.cjs +26 -26
  118. package/dist/server/handlers/datasets.js +1 -1
  119. package/dist/server/handlers/logs.cjs +4 -4
  120. package/dist/server/handlers/logs.js +1 -1
  121. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  122. package/dist/server/handlers/mcp-client-versions.js +1 -1
  123. package/dist/server/handlers/memory.cjs +27 -27
  124. package/dist/server/handlers/memory.js +1 -1
  125. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  126. package/dist/server/handlers/prompt-block-versions.js +1 -1
  127. package/dist/server/handlers/responses.cjs +4 -4
  128. package/dist/server/handlers/responses.js +1 -1
  129. package/dist/server/handlers/responses.storage.cjs +8 -8
  130. package/dist/server/handlers/responses.storage.js +1 -1
  131. package/dist/server/handlers/scorer-versions.cjs +8 -8
  132. package/dist/server/handlers/scorer-versions.js +1 -1
  133. package/dist/server/handlers/scores.cjs +7 -7
  134. package/dist/server/handlers/scores.js +1 -1
  135. package/dist/server/handlers/stored-agents.cjs +7 -7
  136. package/dist/server/handlers/stored-agents.js +1 -1
  137. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  138. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  139. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  140. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  141. package/dist/server/handlers/stored-scorers.cjs +6 -6
  142. package/dist/server/handlers/stored-scorers.js +1 -1
  143. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  144. package/dist/server/handlers/stored-workspaces.js +1 -1
  145. package/dist/server/handlers/tools.cjs +6 -6
  146. package/dist/server/handlers/tools.js +1 -1
  147. package/dist/server/handlers/utils.cjs +9 -9
  148. package/dist/server/handlers/utils.js +1 -1
  149. package/dist/server/handlers/voice.cjs +8 -8
  150. package/dist/server/handlers/voice.js +1 -1
  151. package/dist/server/handlers/workflows.cjs +24 -24
  152. package/dist/server/handlers/workflows.js +1 -1
  153. package/dist/server/handlers/workspace.cjs +26 -26
  154. package/dist/server/handlers/workspace.js +1 -1
  155. package/dist/server/handlers.cjs +35 -35
  156. package/dist/server/handlers.js +12 -12
  157. package/dist/server/schemas/agents.d.ts +81 -0
  158. package/dist/server/schemas/agents.d.ts.map +1 -1
  159. package/dist/server/schemas/index.cjs +272 -268
  160. package/dist/server/schemas/index.js +10 -10
  161. package/dist/server/server-adapter/index.cjs +222 -221
  162. package/dist/server/server-adapter/index.cjs.map +1 -1
  163. package/dist/server/server-adapter/index.js +25 -24
  164. package/dist/server/server-adapter/index.js.map +1 -1
  165. package/dist/server/server-adapter/routes/agents.d.ts +2 -1
  166. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  167. package/package.json +3 -3
  168. package/dist/chunk-6NHGGSHC.cjs.map +0 -1
  169. package/dist/chunk-CB5KNGCV.js.map +0 -1
  170. package/dist/chunk-ENKXDV52.cjs.map +0 -1
  171. package/dist/chunk-MDEUJYIM.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { listMCPClientVersionsResponseSchema, listMCPClientVersionsQuerySchema, mcpClientVersionPathParams, createMCPClientVersionResponseSchema, createMCPClientVersionBodySchema, getMCPClientVersionResponseSchema, mcpClientVersionIdPathParams, activateMCPClientVersionResponseSchema, restoreMCPClientVersionResponseSchema, deleteMCPClientVersionResponseSchema, compareMCPClientVersionsResponseSchema, compareMCPClientVersionsQuerySchema } from './chunk-EFJIK2PW.js';
2
1
  import { extractConfigFromVersion, MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS, calculateChangedFields, createVersionWithRetry, enforceRetentionLimit, computeVersionDiffs } from './chunk-33QPJPK4.js';
2
+ import { listMCPClientVersionsResponseSchema, listMCPClientVersionsQuerySchema, mcpClientVersionPathParams, createMCPClientVersionResponseSchema, createMCPClientVersionBodySchema, getMCPClientVersionResponseSchema, mcpClientVersionIdPathParams, activateMCPClientVersionResponseSchema, restoreMCPClientVersionResponseSchema, deleteMCPClientVersionResponseSchema, compareMCPClientVersionsResponseSchema, compareMCPClientVersionsQuerySchema } from './chunk-EFJIK2PW.js';
3
3
  import { createRoute } from './chunk-PA2BYLKF.js';
4
4
  import { handleError } from './chunk-P23KBWKB.js';
5
5
  import { HTTPException } from './chunk-6QWQZI4Q.js';
@@ -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-LTLTS3RN.js.map
384
- //# sourceMappingURL=chunk-LTLTS3RN.js.map
383
+ //# sourceMappingURL=chunk-H2MUDA4C.js.map
384
+ //# sourceMappingURL=chunk-H2MUDA4C.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/mcp-client-versions.ts"],"names":[],"mappings":"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","file":"chunk-LTLTS3RN.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-H2MUDA4C.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,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDIX6JWN4_cjs = require('./chunk-DIX6JWN4.cjs');
4
- var chunk6NHGGSHC_cjs = require('./chunk-6NHGGSHC.cjs');
5
4
  var chunkYJQYJ5WD_cjs = require('./chunk-YJQYJ5WD.cjs');
6
- var chunkLWK57QIA_cjs = require('./chunk-LWK57QIA.cjs');
7
- var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
5
+ var chunk4WDBN7FE_cjs = require('./chunk-4WDBN7FE.cjs');
8
6
  var chunk5UKYK7YK_cjs = require('./chunk-5UKYK7YK.cjs');
9
7
  var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
10
8
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
+ var chunkCPPHHMG7_cjs = require('./chunk-CPPHHMG7.cjs');
10
+ var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
11
11
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
12
12
  var web = require('stream/web');
13
13
  var v4 = require('zod/v4');
@@ -148,7 +148,7 @@ var LIST_WORKFLOW_RUNS_ROUTE = chunk5UKYK7YK_cjs.createRoute({
148
148
  requestContext
149
149
  }) => {
150
150
  try {
151
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, resourceId);
151
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, resourceId);
152
152
  if (!workflowId) {
153
153
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
154
154
  }
@@ -200,7 +200,7 @@ var GET_WORKFLOW_RUN_BY_ID_ROUTE = chunk5UKYK7YK_cjs.createRoute({
200
200
  requiresAuth: true,
201
201
  handler: async ({ mastra, workflowId, runId, fields, withNestedWorkflows, requestContext }) => {
202
202
  try {
203
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
203
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
204
204
  if (!workflowId) {
205
205
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
206
206
  }
@@ -220,7 +220,7 @@ var GET_WORKFLOW_RUN_BY_ID_ROUTE = chunk5UKYK7YK_cjs.createRoute({
220
220
  if (!run) {
221
221
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
222
222
  }
223
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
223
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
224
224
  return run;
225
225
  } catch (error) {
226
226
  return chunkB34S64RC_cjs.handleError(error, "Error getting workflow run");
@@ -239,7 +239,7 @@ var DELETE_WORKFLOW_RUN_BY_ID_ROUTE = chunk5UKYK7YK_cjs.createRoute({
239
239
  requiresAuth: true,
240
240
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
241
241
  try {
242
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
242
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
243
243
  if (!workflowId) {
244
244
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
245
245
  }
@@ -254,7 +254,7 @@ var DELETE_WORKFLOW_RUN_BY_ID_ROUTE = chunk5UKYK7YK_cjs.createRoute({
254
254
  if (!run) {
255
255
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
256
256
  }
257
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
257
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
258
258
  await workflow.deleteWorkflowRunById(runId);
259
259
  return { message: "Workflow run deleted" };
260
260
  } catch (error) {
@@ -276,7 +276,7 @@ var CREATE_WORKFLOW_RUN_ROUTE = chunk5UKYK7YK_cjs.createRoute({
276
276
  requiresAuth: true,
277
277
  handler: async ({ mastra, workflowId, runId, resourceId, disableScorers, requestContext }) => {
278
278
  try {
279
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, resourceId);
279
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, resourceId);
280
280
  if (!workflowId) {
281
281
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
282
282
  }
@@ -304,7 +304,7 @@ var STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
304
304
  requiresAuth: true,
305
305
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
306
306
  try {
307
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, resourceId);
307
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, resourceId);
308
308
  if (!workflowId) {
309
309
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
310
310
  }
@@ -342,14 +342,14 @@ var RESUME_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
342
342
  pathParamSchema: chunkDIX6JWN4_cjs.workflowIdPathParams,
343
343
  queryParamSchema: chunkDIG2K5CV_cjs.runIdSchema,
344
344
  bodySchema: chunkDIX6JWN4_cjs.resumeBodySchema,
345
- responseSchema: chunk6NHGGSHC_cjs.streamResponseSchema,
345
+ responseSchema: chunkCPPHHMG7_cjs.streamResponseSchema,
346
346
  summary: "Resume workflow stream",
347
347
  description: "Resumes a suspended workflow execution and continues streaming results",
348
348
  tags: ["Workflows"],
349
349
  requiresAuth: true,
350
350
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
351
351
  try {
352
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
352
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
353
353
  if (!workflowId) {
354
354
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
355
355
  }
@@ -364,7 +364,7 @@ var RESUME_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
364
364
  if (!run) {
365
365
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
366
366
  }
367
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
367
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
368
368
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
369
369
  const serverCache = mastra.getServerCache();
370
370
  const stream = _run.resumeStream({ ...params, requestContext }).fullStream.pipeThrough(
@@ -399,7 +399,7 @@ var START_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
399
399
  requiresAuth: true,
400
400
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
401
401
  try {
402
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, resourceId);
402
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, resourceId);
403
403
  if (!workflowId) {
404
404
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
405
405
  }
@@ -429,7 +429,7 @@ var START_WORKFLOW_RUN_ROUTE = chunk5UKYK7YK_cjs.createRoute({
429
429
  requiresAuth: true,
430
430
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
431
431
  try {
432
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
432
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
433
433
  if (!workflowId) {
434
434
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
435
435
  }
@@ -444,7 +444,7 @@ var START_WORKFLOW_RUN_ROUTE = chunk5UKYK7YK_cjs.createRoute({
444
444
  if (!run) {
445
445
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
446
446
  }
447
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
447
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
448
448
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
449
449
  void _run.start({
450
450
  ...params,
@@ -462,14 +462,14 @@ var OBSERVE_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
462
462
  responseType: "stream",
463
463
  pathParamSchema: chunkDIX6JWN4_cjs.workflowIdPathParams,
464
464
  queryParamSchema: chunkDIG2K5CV_cjs.runIdSchema,
465
- responseSchema: chunk6NHGGSHC_cjs.streamResponseSchema,
465
+ responseSchema: chunkCPPHHMG7_cjs.streamResponseSchema,
466
466
  summary: "Observe workflow stream",
467
467
  description: "Observes and streams updates from an already running workflow execution",
468
468
  tags: ["Workflows"],
469
469
  requiresAuth: true,
470
470
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
471
471
  try {
472
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
472
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
473
473
  if (!workflowId) {
474
474
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
475
475
  }
@@ -484,7 +484,7 @@ var OBSERVE_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
484
484
  if (!run) {
485
485
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
486
486
  }
487
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
487
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
488
488
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
489
489
  const serverCache = mastra.getServerCache();
490
490
  if (!serverCache) {
@@ -543,7 +543,7 @@ var RESUME_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
543
543
  requiresAuth: true,
544
544
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
545
545
  try {
546
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
546
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
547
547
  if (!workflowId) {
548
548
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
549
549
  }
@@ -558,7 +558,7 @@ var RESUME_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
558
558
  if (!run) {
559
559
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
560
560
  }
561
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
561
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
562
562
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
563
563
  const result = await _run.resume({ ...params, requestContext });
564
564
  return result;
@@ -581,7 +581,7 @@ var RESUME_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
581
581
  requiresAuth: true,
582
582
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
583
583
  try {
584
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
584
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
585
585
  if (!workflowId) {
586
586
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
587
587
  }
@@ -596,7 +596,7 @@ var RESUME_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
596
596
  if (!run) {
597
597
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
598
598
  }
599
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
599
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
600
600
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
601
601
  void _run.resume({ ...params, requestContext });
602
602
  return { message: "Workflow run resumed" };
@@ -619,7 +619,7 @@ var RESTART_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
619
619
  requiresAuth: true,
620
620
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
621
621
  try {
622
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
622
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
623
623
  if (!workflowId) {
624
624
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
625
625
  }
@@ -634,7 +634,7 @@ var RESTART_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
634
634
  if (!run) {
635
635
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
636
636
  }
637
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
637
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
638
638
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
639
639
  const result = await _run.restart({ ...params, requestContext });
640
640
  return result;
@@ -657,7 +657,7 @@ var RESTART_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
657
657
  requiresAuth: true,
658
658
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
659
659
  try {
660
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
660
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
661
661
  if (!workflowId) {
662
662
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
663
663
  }
@@ -672,7 +672,7 @@ var RESTART_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
672
672
  if (!run) {
673
673
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
674
674
  }
675
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
675
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
676
676
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
677
677
  void _run.restart({ ...params, requestContext });
678
678
  return { message: "Workflow run restarted" };
@@ -747,7 +747,7 @@ var TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
747
747
  requiresAuth: true,
748
748
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
749
749
  try {
750
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
750
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
751
751
  if (!workflowId) {
752
752
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
753
753
  }
@@ -762,7 +762,7 @@ var TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
762
762
  if (!run) {
763
763
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
764
764
  }
765
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
765
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
766
766
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
767
767
  const result = await _run.timeTravel({ ...params, requestContext });
768
768
  return result;
@@ -785,7 +785,7 @@ var TIME_TRAVEL_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
785
785
  requiresAuth: true,
786
786
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
787
787
  try {
788
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
788
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
789
789
  if (!workflowId) {
790
790
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
791
791
  }
@@ -800,7 +800,7 @@ var TIME_TRAVEL_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
800
800
  if (!run) {
801
801
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
802
802
  }
803
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
803
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
804
804
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
805
805
  void _run.timeTravel({ ...params, requestContext });
806
806
  return { message: "Workflow run time travel started" };
@@ -822,7 +822,7 @@ var TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
822
822
  requiresAuth: true,
823
823
  handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {
824
824
  try {
825
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
825
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
826
826
  if (!workflowId) {
827
827
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
828
828
  }
@@ -837,7 +837,7 @@ var TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
837
837
  if (!existingRun) {
838
838
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
839
839
  }
840
- await chunkLWK57QIA_cjs.validateRunOwnership(existingRun, effectiveResourceId);
840
+ await chunk4WDBN7FE_cjs.validateRunOwnership(existingRun, effectiveResourceId);
841
841
  const serverCache = mastra.getServerCache();
842
842
  const run = await workflow.createRun({ runId, resourceId: existingRun.resourceId });
843
843
  const result = run.timeTravelStream({ ...params, requestContext });
@@ -870,7 +870,7 @@ var CANCEL_WORKFLOW_RUN_ROUTE = chunk5UKYK7YK_cjs.createRoute({
870
870
  requiresAuth: true,
871
871
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
872
872
  try {
873
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
873
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
874
874
  if (!workflowId) {
875
875
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
876
876
  }
@@ -885,7 +885,7 @@ var CANCEL_WORKFLOW_RUN_ROUTE = chunk5UKYK7YK_cjs.createRoute({
885
885
  if (!run) {
886
886
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
887
887
  }
888
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
888
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
889
889
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
890
890
  await _run.cancel();
891
891
  return { message: "Workflow run cancelled" };
@@ -901,14 +901,14 @@ var STREAM_LEGACY_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
901
901
  pathParamSchema: chunkDIX6JWN4_cjs.workflowIdPathParams,
902
902
  queryParamSchema: chunkDIG2K5CV_cjs.runIdSchema,
903
903
  bodySchema: chunkDIX6JWN4_cjs.streamWorkflowBodySchema,
904
- responseSchema: chunk6NHGGSHC_cjs.streamResponseSchema,
904
+ responseSchema: chunkCPPHHMG7_cjs.streamResponseSchema,
905
905
  summary: "[DEPRECATED] Stream workflow with legacy format",
906
906
  description: "Legacy endpoint for streaming workflow execution. Use /workflows/:workflowId/stream instead.",
907
907
  tags: ["Workflows", "Legacy"],
908
908
  requiresAuth: true,
909
909
  handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {
910
910
  try {
911
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, resourceId);
911
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, resourceId);
912
912
  if (!workflowId) {
913
913
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
914
914
  }
@@ -943,14 +943,14 @@ var OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
943
943
  responseType: "stream",
944
944
  pathParamSchema: chunkDIX6JWN4_cjs.workflowIdPathParams,
945
945
  queryParamSchema: chunkDIG2K5CV_cjs.runIdSchema,
946
- responseSchema: chunk6NHGGSHC_cjs.streamResponseSchema,
946
+ responseSchema: chunkCPPHHMG7_cjs.streamResponseSchema,
947
947
  summary: "[DEPRECATED] Observe workflow stream with legacy format",
948
948
  description: "Legacy endpoint for observing workflow stream. Use /workflows/:workflowId/observe instead.",
949
949
  tags: ["Workflows", "Legacy"],
950
950
  requiresAuth: true,
951
951
  handler: async ({ mastra, workflowId, runId, requestContext }) => {
952
952
  try {
953
- const effectiveResourceId = chunkLWK57QIA_cjs.getEffectiveResourceId(requestContext, void 0);
953
+ const effectiveResourceId = chunk4WDBN7FE_cjs.getEffectiveResourceId(requestContext, void 0);
954
954
  if (!workflowId) {
955
955
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Workflow ID is required" });
956
956
  }
@@ -965,7 +965,7 @@ var OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = chunk5UKYK7YK_cjs.createRoute({
965
965
  if (!run) {
966
966
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Workflow run not found" });
967
967
  }
968
- await chunkLWK57QIA_cjs.validateRunOwnership(run, effectiveResourceId);
968
+ await chunk4WDBN7FE_cjs.validateRunOwnership(run, effectiveResourceId);
969
969
  const _run = await workflow.createRun({ runId, resourceId: run.resourceId });
970
970
  const serverCache = mastra.getServerCache();
971
971
  if (!serverCache) {
@@ -1010,5 +1010,5 @@ exports.TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE;
1010
1010
  exports.TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = TIME_TRAVEL_STREAM_WORKFLOW_ROUTE;
1011
1011
  exports.TIME_TRAVEL_WORKFLOW_ROUTE = TIME_TRAVEL_WORKFLOW_ROUTE;
1012
1012
  exports.workflows_exports = workflows_exports;
1013
- //# sourceMappingURL=chunk-4Z5OSMQB.cjs.map
1014
- //# sourceMappingURL=chunk-4Z5OSMQB.cjs.map
1013
+ //# sourceMappingURL=chunk-H5RPTYTP.cjs.map
1014
+ //# sourceMappingURL=chunk-H5RPTYTP.cjs.map