@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.
- package/CHANGELOG.md +7 -0
- package/dist/{api-schema-manifest-CX3NL6JS.cjs → api-schema-manifest-DAVSYP7S.cjs} +4 -4
- package/dist/{api-schema-manifest-CX3NL6JS.cjs.map → api-schema-manifest-DAVSYP7S.cjs.map} +1 -1
- package/dist/{api-schema-manifest-IK5MQPAL.js → api-schema-manifest-XFGCTZQI.js} +3 -3
- package/dist/{api-schema-manifest-IK5MQPAL.js.map → api-schema-manifest-XFGCTZQI.js.map} +1 -1
- package/dist/{chunk-W5B34RLN.cjs → chunk-22HQDEJS.cjs} +3 -3
- package/dist/{chunk-W5B34RLN.cjs.map → chunk-22HQDEJS.cjs.map} +1 -1
- package/dist/{chunk-SEMTGEAA.js → chunk-23SS3KHR.js} +4 -4
- package/dist/{chunk-SEMTGEAA.js.map → chunk-23SS3KHR.js.map} +1 -1
- package/dist/{chunk-B3CHYE7C.js → chunk-26XBPHLY.js} +3 -3
- package/dist/{chunk-B3CHYE7C.js.map → chunk-26XBPHLY.js.map} +1 -1
- package/dist/{chunk-FD3TJOO6.js → chunk-2CXXD77Z.js} +8 -8
- package/dist/{chunk-FD3TJOO6.js.map → chunk-2CXXD77Z.js.map} +1 -1
- package/dist/{chunk-26PANWAR.js → chunk-2L4CZREW.js} +7 -7
- package/dist/{chunk-26PANWAR.js.map → chunk-2L4CZREW.js.map} +1 -1
- package/dist/{chunk-OB4NE2YX.cjs → chunk-2WN5INZT.cjs} +5 -5
- package/dist/{chunk-OB4NE2YX.cjs.map → chunk-2WN5INZT.cjs.map} +1 -1
- package/dist/{chunk-DDF3ZASL.cjs → chunk-2XBOJWX6.cjs} +39 -39
- package/dist/{chunk-DDF3ZASL.cjs.map → chunk-2XBOJWX6.cjs.map} +1 -1
- package/dist/{chunk-4NVC7TM6.cjs → chunk-3PVYHM4V.cjs} +4 -4
- package/dist/{chunk-4NVC7TM6.cjs.map → chunk-3PVYHM4V.cjs.map} +1 -1
- package/dist/{chunk-KXZBJDFG.js → chunk-4BC5KLOR.js} +3 -3
- package/dist/{chunk-KXZBJDFG.js.map → chunk-4BC5KLOR.js.map} +1 -1
- package/dist/{chunk-NOQ45USI.cjs → chunk-4Z43J2NI.cjs} +5 -5
- package/dist/{chunk-NOQ45USI.cjs.map → chunk-4Z43J2NI.cjs.map} +1 -1
- package/dist/chunk-5RJA64TI.cjs +636 -0
- package/dist/{chunk-KUCITIUY.cjs.map → chunk-5RJA64TI.cjs.map} +1 -1
- package/dist/{chunk-EN45CWWM.cjs → chunk-6P2SSFBG.cjs} +10 -10
- package/dist/{chunk-EN45CWWM.cjs.map → chunk-6P2SSFBG.cjs.map} +1 -1
- package/dist/{chunk-LNV75BVN.cjs → chunk-745QEKXS.cjs} +3 -3
- package/dist/{chunk-LNV75BVN.cjs.map → chunk-745QEKXS.cjs.map} +1 -1
- package/dist/{chunk-3DQGNGSK.js → chunk-7I7FD6ZN.js} +5 -5
- package/dist/{chunk-3DQGNGSK.js.map → chunk-7I7FD6ZN.js.map} +1 -1
- package/dist/{chunk-GJ3BKRTZ.js → chunk-7MJVRDXM.js} +7 -7
- package/dist/{chunk-GJ3BKRTZ.js.map → chunk-7MJVRDXM.js.map} +1 -1
- package/dist/{chunk-7PDQ67ZY.js → chunk-7QLWKUN5.js} +6 -6
- package/dist/{chunk-7PDQ67ZY.js.map → chunk-7QLWKUN5.js.map} +1 -1
- package/dist/{chunk-7LGTEZBD.js → chunk-ABI3C4IO.js} +5 -5
- package/dist/{chunk-7LGTEZBD.js.map → chunk-ABI3C4IO.js.map} +1 -1
- package/dist/{chunk-3AKQRYDF.js → chunk-APFQBTJ4.js} +5 -5
- package/dist/{chunk-3AKQRYDF.js.map → chunk-APFQBTJ4.js.map} +1 -1
- package/dist/{chunk-XFDVU6GZ.cjs → chunk-ARXEAN4R.cjs} +32 -32
- package/dist/{chunk-XFDVU6GZ.cjs.map → chunk-ARXEAN4R.cjs.map} +1 -1
- package/dist/{chunk-BZ3NR3IS.js → chunk-B5IEITDG.js} +34 -34
- package/dist/{chunk-BZ3NR3IS.js.map → chunk-B5IEITDG.js.map} +1 -1
- package/dist/{chunk-LKVE4QAW.cjs → chunk-BFL6JXZ5.cjs} +3 -3
- package/dist/{chunk-LKVE4QAW.cjs.map → chunk-BFL6JXZ5.cjs.map} +1 -1
- package/dist/{chunk-GIMDOFRR.js → chunk-BJLZSJMY.js} +5 -5
- package/dist/{chunk-GIMDOFRR.js.map → chunk-BJLZSJMY.js.map} +1 -1
- package/dist/{chunk-VQSY4I4H.js → chunk-BVRJ7SIO.js} +4 -4
- package/dist/{chunk-VQSY4I4H.js.map → chunk-BVRJ7SIO.js.map} +1 -1
- package/dist/{chunk-YE56LUEI.cjs → chunk-BXCFRUU6.cjs} +13 -13
- package/dist/{chunk-YE56LUEI.cjs.map → chunk-BXCFRUU6.cjs.map} +1 -1
- package/dist/{chunk-E7IOQCUP.cjs → chunk-CIY3D5PJ.cjs} +4 -4
- package/dist/{chunk-E7IOQCUP.cjs.map → chunk-CIY3D5PJ.cjs.map} +1 -1
- package/dist/{chunk-TTJ3DYZH.cjs → chunk-D47RSSPG.cjs} +7 -7
- package/dist/{chunk-TTJ3DYZH.cjs.map → chunk-D47RSSPG.cjs.map} +1 -1
- package/dist/{chunk-5WYCXPDY.js → chunk-DCKEXVVR.js} +5 -5
- package/dist/{chunk-5WYCXPDY.js.map → chunk-DCKEXVVR.js.map} +1 -1
- package/dist/{chunk-UBOLRYFV.js → chunk-DIGIMNZN.js} +3 -3
- package/dist/{chunk-UBOLRYFV.js.map → chunk-DIGIMNZN.js.map} +1 -1
- package/dist/{chunk-SFJOG2BT.js → chunk-EDAQ2XMN.js} +3 -3
- package/dist/{chunk-SFJOG2BT.js.map → chunk-EDAQ2XMN.js.map} +1 -1
- package/dist/{chunk-GV2J3XQ4.cjs → chunk-EOENI5I2.cjs} +23 -23
- package/dist/{chunk-GV2J3XQ4.cjs.map → chunk-EOENI5I2.cjs.map} +1 -1
- package/dist/{chunk-ANIIJVPR.js → chunk-F2D6QQYI.js} +4 -4
- package/dist/{chunk-ANIIJVPR.js.map → chunk-F2D6QQYI.js.map} +1 -1
- package/dist/{chunk-BK2PTTTN.js → chunk-HCCJ4RDW.js} +5 -5
- package/dist/{chunk-BK2PTTTN.js.map → chunk-HCCJ4RDW.js.map} +1 -1
- package/dist/{chunk-CG3AAC7C.js → chunk-HLRHVRCC.js} +6 -6
- package/dist/{chunk-CG3AAC7C.js.map → chunk-HLRHVRCC.js.map} +1 -1
- package/dist/{chunk-JOUPK2UV.js → chunk-I4PTYMZO.js} +3 -3
- package/dist/{chunk-JOUPK2UV.js.map → chunk-I4PTYMZO.js.map} +1 -1
- package/dist/{chunk-L742HQNI.cjs → chunk-ICJHOMSN.cjs} +4 -4
- package/dist/{chunk-L742HQNI.cjs.map → chunk-ICJHOMSN.cjs.map} +1 -1
- package/dist/{chunk-6JP6Q64G.cjs → chunk-IO6ZYBLC.cjs} +4 -4
- package/dist/{chunk-6JP6Q64G.cjs.map → chunk-IO6ZYBLC.cjs.map} +1 -1
- package/dist/{chunk-VYXPIZJE.js → chunk-IOHENFKZ.js} +3 -3
- package/dist/{chunk-VYXPIZJE.js.map → chunk-IOHENFKZ.js.map} +1 -1
- package/dist/{chunk-6V2NUA6I.js → chunk-JHZ6A7UZ.js} +5 -5
- package/dist/{chunk-6V2NUA6I.js.map → chunk-JHZ6A7UZ.js.map} +1 -1
- package/dist/{chunk-VOBSGFM5.cjs → chunk-JIHHJ4GI.cjs} +4 -4
- package/dist/{chunk-VOBSGFM5.cjs.map → chunk-JIHHJ4GI.cjs.map} +1 -1
- package/dist/{chunk-RYOD3GP4.js → chunk-KPK6F3OS.js} +5 -5
- package/dist/{chunk-RYOD3GP4.js.map → chunk-KPK6F3OS.js.map} +1 -1
- package/dist/{chunk-W6LHLN5M.cjs → chunk-L4MG45WI.cjs} +3 -3
- package/dist/{chunk-W6LHLN5M.cjs.map → chunk-L4MG45WI.cjs.map} +1 -1
- package/dist/{chunk-GOXW7A5J.cjs → chunk-L7L75NRN.cjs} +4 -4
- package/dist/{chunk-GOXW7A5J.cjs.map → chunk-L7L75NRN.cjs.map} +1 -1
- package/dist/{chunk-27VZ5B4Q.cjs → chunk-LA6ODA4O.cjs} +53 -53
- package/dist/{chunk-27VZ5B4Q.cjs.map → chunk-LA6ODA4O.cjs.map} +1 -1
- package/dist/{chunk-DPGNOE7R.js → chunk-LNHVRSMV.js} +3 -3
- package/dist/{chunk-DPGNOE7R.js.map → chunk-LNHVRSMV.js.map} +1 -1
- package/dist/{chunk-JLH5BHLT.cjs → chunk-MJS57D3F.cjs} +5 -5
- package/dist/{chunk-JLH5BHLT.cjs.map → chunk-MJS57D3F.cjs.map} +1 -1
- package/dist/{chunk-BNONPEW6.cjs → chunk-N5VTBHLF.cjs} +3 -3
- package/dist/{chunk-BNONPEW6.cjs.map → chunk-N5VTBHLF.cjs.map} +1 -1
- package/dist/{chunk-FJZ67HHA.js → chunk-NBYC7LRK.js} +3 -3
- package/dist/{chunk-FJZ67HHA.js.map → chunk-NBYC7LRK.js.map} +1 -1
- package/dist/{chunk-WWOML5Y4.cjs → chunk-NFY5I7J7.cjs} +5 -5
- package/dist/{chunk-WWOML5Y4.cjs.map → chunk-NFY5I7J7.cjs.map} +1 -1
- package/dist/{chunk-EFQBRUA4.js → chunk-NG6ETDLL.js} +3 -3
- package/dist/{chunk-EFQBRUA4.js.map → chunk-NG6ETDLL.js.map} +1 -1
- package/dist/{chunk-GNQ5SKPB.cjs → chunk-Q4MVDWQP.cjs} +3 -3
- package/dist/{chunk-GNQ5SKPB.cjs.map → chunk-Q4MVDWQP.cjs.map} +1 -1
- package/dist/{chunk-ITIAC2TC.js → chunk-QNVSISW7.js} +4 -4
- package/dist/{chunk-ITIAC2TC.js.map → chunk-QNVSISW7.js.map} +1 -1
- package/dist/{chunk-GSL72DOW.js → chunk-QQVZ6MBB.js} +4 -4
- package/dist/{chunk-GSL72DOW.js.map → chunk-QQVZ6MBB.js.map} +1 -1
- package/dist/{chunk-P3TJ7MI6.cjs → chunk-QYUEG7GK.cjs} +6 -6
- package/dist/{chunk-P3TJ7MI6.cjs.map → chunk-QYUEG7GK.cjs.map} +1 -1
- package/dist/{chunk-QLJYRTD2.js → chunk-RIDGG66B.js} +4 -4
- package/dist/{chunk-QLJYRTD2.js.map → chunk-RIDGG66B.js.map} +1 -1
- package/dist/{chunk-MZ3RKQKS.cjs → chunk-RLG4SNKV.cjs} +4 -4
- package/dist/{chunk-MZ3RKQKS.cjs.map → chunk-RLG4SNKV.cjs.map} +1 -1
- package/dist/{chunk-UVLX3WSX.cjs → chunk-RSEAK6CZ.cjs} +9 -9
- package/dist/{chunk-UVLX3WSX.cjs.map → chunk-RSEAK6CZ.cjs.map} +1 -1
- package/dist/{chunk-ALOM42GR.cjs → chunk-SAO5OUDV.cjs} +4 -4
- package/dist/{chunk-ALOM42GR.cjs.map → chunk-SAO5OUDV.cjs.map} +1 -1
- package/dist/{chunk-QFGTTQFQ.js → chunk-SJMLVGDJ.js} +4 -4
- package/dist/{chunk-QFGTTQFQ.js.map → chunk-SJMLVGDJ.js.map} +1 -1
- package/dist/{chunk-7SVSAMG4.js → chunk-T2JGWULY.js} +5 -5
- package/dist/{chunk-7SVSAMG4.js.map → chunk-T2JGWULY.js.map} +1 -1
- package/dist/{chunk-YGNA75MT.js → chunk-TGX2KAGG.js} +6 -6
- package/dist/{chunk-YGNA75MT.js.map → chunk-TGX2KAGG.js.map} +1 -1
- package/dist/{chunk-4ZO2MLW5.cjs → chunk-TKL3TH2H.cjs} +10 -10
- package/dist/{chunk-4ZO2MLW5.cjs.map → chunk-TKL3TH2H.cjs.map} +1 -1
- package/dist/{chunk-72W42JL4.cjs → chunk-VZXZYFJQ.cjs} +3 -3
- package/dist/{chunk-72W42JL4.cjs.map → chunk-VZXZYFJQ.cjs.map} +1 -1
- package/dist/{chunk-PYGX3GUB.cjs → chunk-W5EXV5QT.cjs} +21 -21
- package/dist/{chunk-PYGX3GUB.cjs.map → chunk-W5EXV5QT.cjs.map} +1 -1
- package/dist/{chunk-RYXKJ55A.cjs → chunk-WS74GHGL.cjs} +6 -6
- package/dist/{chunk-RYXKJ55A.cjs.map → chunk-WS74GHGL.cjs.map} +1 -1
- package/dist/{chunk-PPCGMD6N.cjs → chunk-WSGBL2OF.cjs} +3 -3
- package/dist/{chunk-PPCGMD6N.cjs.map → chunk-WSGBL2OF.cjs.map} +1 -1
- package/dist/{chunk-3SRLGVLX.js → chunk-Y2D4IW6S.js} +8 -8
- package/dist/{chunk-3SRLGVLX.js.map → chunk-Y2D4IW6S.js.map} +1 -1
- package/dist/{chunk-DC7NOATT.js → chunk-YMITHLC7.js} +4 -4
- package/dist/{chunk-DC7NOATT.js.map → chunk-YMITHLC7.js.map} +1 -1
- package/dist/{chunk-PUAKBO3Q.js → chunk-YOLWJGGN.js} +7 -7
- package/dist/{chunk-PUAKBO3Q.js.map → chunk-YOLWJGGN.js.map} +1 -1
- package/dist/{chunk-M62Z4EEY.cjs → chunk-YTRLYSPD.cjs} +51 -51
- package/dist/{chunk-M62Z4EEY.cjs.map → chunk-YTRLYSPD.cjs.map} +1 -1
- package/dist/{chunk-NKYIWTT3.cjs → chunk-ZWAO22PF.cjs} +8 -8
- package/dist/{chunk-NKYIWTT3.cjs.map → chunk-ZWAO22PF.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +39 -39
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +38 -38
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/processor-providers.cjs +3 -3
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +4 -4
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +8 -8
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +5 -5
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +16 -16
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +26 -26
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers/workspace.cjs +26 -26
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +37 -37
- package/dist/server/handlers.js +14 -14
- package/dist/server/schemas/index.cjs +185 -185
- package/dist/server/schemas/index.js +5 -5
- package/dist/server/server-adapter/index.cjs +33 -33
- package/dist/server/server-adapter/index.js +6 -6
- package/package.json +5 -5
- 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-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
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-
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
232
|
-
//# sourceMappingURL=chunk-
|
|
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":";;;;;;;;;;;AA2BO,IAAM,gCAAgCA,6BAAA,CAAY;AAAA,EACvD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,qBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkBC,iDAAA;AAAA,EAClB,cAAA,EAAgBC,oDAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,kFAAA;AAAA,EACb,IAAA,EAAM,CAAC,oBAAoB,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,SAAS,OAAA,EAAS,MAAA,EAAQ,QAAA,EAAU,QAAA,EAAS,KAAM;AACjF,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA;AAC1D,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,MACzF;AAEA,MAAA,MAAM,MAAA,GAAS,MAAM,cAAA,CAAe,YAAA,CAAa;AAAA,QAC/C,IAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,IAC9D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,8BAA8BJ,6BAAA,CAAY;AAAA,EACrD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,6CAAA;AAAA,EACjB,gBAAA,EAAkBC,mCAAA;AAAA,EAClB,cAAA,EAAgBC,kDAAA;AAAA,EAChB,OAAA,EAAS,6BAAA;AAAA,EACT,WAAA,EACE,qMAAA;AAAA,EACF,IAAA,EAAM,CAAC,oBAAoB,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,iBAAA,EAAmB,QAAO,KAAM;AACxD,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIJ,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA;AAC1D,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,MACzF;AAEA,MAAA,MAAM,YAAY,MAAM,cAAA,CAAe,gBAAgB,iBAAA,EAAmB,EAAE,QAAQ,CAAA;AAEpF,MAAA,IAAI,CAAC,SAAA,EAAW;AACd,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,0BAAA,EAA6B,iBAAiB,cAAc,CAAA;AAAA,MACtG;AAEA,MAAA,OAAO,SAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,IAC7D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,iCAAiCJ,6BAAA,CAAY;AAAA,EACxD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,qBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAYQ,iDAAA;AAAA,EACZ,cAAA,EAAgBC,qDAAA;AAAA,EAChB,OAAA,EAAS,0BAAA;AAAA,EACT,WAAA,EAAa,6EAAA;AAAA,EACb,IAAA,EAAM,CAAC,oBAAoB,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,EAAA,EAAI,UAAA,EAAY,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,WAAA,EAAa,OAAA,EAAQ,KAAM;AAC7F,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIN,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA;AAC1D,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,MACzF;AAGA,MAAA,MAAM,EAAA,GAAK,UAAA,IAAcO,wBAAA,CAAO,IAAI,CAAA;AAEpC,MAAA,IAAI,CAAC,EAAA,EAAI;AACP,QAAA,MAAM,IAAIP,gCAAc,GAAA,EAAK;AAAA,UAC3B,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,MACH;AAGA,MAAA,MAAM,QAAA,GAAW,MAAM,cAAA,CAAe,OAAA,CAAQ,EAAE,CAAA;AAChD,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,mBAAA,EAAsB,EAAE,mBAAmB,CAAA;AAAA,MACrF;AAEA,MAAA,MAAM,eAAe,MAAA,CAAO;AAAA,QAC1B,SAAA,EAAW;AAAA,UACT,EAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA;AAAA,UACA,IAAA;AAAA,UACA,WAAA;AAAA,UACA;AAAA;AACF,OACD,CAAA;AAID,MAAA,MAAM,QAAA,GAAW,MAAM,cAAA,CAAe,eAAA,CAAgB,IAAI,EAAE,MAAA,EAAQ,SAAS,CAAA;AAC7E,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wCAAwC,CAAA;AAAA,MAClF;AAEA,MAAA,OAAO,QAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,IAC9D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,iCAAiCJ,6BAAA,CAAY;AAAA,EACxD,MAAA,EAAQ,OAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,6CAAA;AAAA,EACjB,UAAA,EAAYM,iDAAA;AAAA,EACZ,cAAA,EAAgBC,qDAAA;AAAA,EAChB,OAAA,EAAS,0BAAA;AAAA,EACT,WAAA,EAAa,oEAAA;AAAA,EACb,IAAA,EAAM,CAAC,oBAAoB,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO;AAAA,IACd,MAAA;AAAA,IACA,iBAAA;AAAA;AAAA,IAEA,QAAA;AAAA,IACA,QAAA;AAAA;AAAA,IAEA,IAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF,KAAM;AACJ,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIT,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA;AAC1D,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,MACzF;AAGA,MAAA,MAAM,QAAA,GAAW,MAAM,cAAA,CAAe,OAAA,CAAQ,iBAAiB,CAAA;AAC/D,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,0BAAA,EAA6B,iBAAiB,cAAc,CAAA;AAAA,MACtG;AAGA,MAAA,MAAM,gBAAA,GAAmB,MAAM,cAAA,CAAe,MAAA,CAAO;AAAA,QACnD,EAAA,EAAI,iBAAA;AAAA,QACJ,QAAA;AAAA,QACA,QAAA;AAAA,QACA,IAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACD,CAAA;AAGD,MAAA,MAAM,YAAA,GAAe,EAAE,IAAA,EAAM,WAAA,EAAa,OAAA,EAAQ;AAGlD,MAAA,MAAM,oBAAA,GAAuB,MAAA,CAAO,WAAA,CAAY,MAAA,CAAO,QAAQ,YAAY,CAAA,CAAE,MAAA,CAAO,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,KAAM,CAAA,KAAM,MAAS,CAAC,CAAA;AAKhH,MAAA,MAAMU,sCAAA;AAAA,QACJ,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,aAAA;AAAA,QACAC,mDAAA;AAAA,QACA,QAAA;AAAA,QACA,gBAAA;AAAA,QACA;AAAA,OACF;AAGA,MAAA,MAAM,QAAA,GAAW,MAAM,cAAA,CAAe,eAAA,CAAgB,mBAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAC5F,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIX,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wCAAwC,CAAA;AAAA,MAClF;AAEA,MAAA,OAAO,QAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,IAC9D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,iCAAiCJ,6BAAA,CAAY;AAAA,EACxD,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,6CAAA;AAAA,EACjB,cAAA,EAAgBU,qDAAA;AAAA,EAChB,OAAA,EAAS,0BAAA;AAAA,EACT,WAAA,EAAa,6DAAA;AAAA,EACb,IAAA,EAAM,CAAC,oBAAoB,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,mBAAkB,KAAM;AAChD,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIZ,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA;AAC1D,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,MACzF;AAGA,MAAA,MAAM,QAAA,GAAW,MAAM,cAAA,CAAe,OAAA,CAAQ,iBAAiB,CAAA;AAC/D,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,0BAAA,EAA6B,iBAAiB,cAAc,CAAA;AAAA,MACtG;AAEA,MAAA,MAAM,cAAA,CAAe,OAAO,iBAAiB,CAAA;AAE7C,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,OAAA,EAAS,cAAc,iBAAiB,CAAA,qBAAA;AAAA,OAC1C;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,IAC9D;AAAA,EACF;AACF,CAAC","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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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-
|
|
1101
|
-
//# sourceMappingURL=chunk-
|
|
1100
|
+
//# sourceMappingURL=chunk-2XBOJWX6.cjs.map
|
|
1101
|
+
//# sourceMappingURL=chunk-2XBOJWX6.cjs.map
|