@mastra/server 1.0.4-alpha.2 → 1.1.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.
- package/CHANGELOG.md +6765 -0
- package/LICENSE.md +11 -42
- package/README.md +45 -137
- package/a2a/store.d.ts +1 -0
- package/auth.d.ts +1 -0
- package/dist/chunk-24SISJRB.js +250 -0
- package/dist/chunk-24SISJRB.js.map +1 -0
- package/dist/chunk-2HAVULC2.cjs +204 -0
- package/dist/chunk-2HAVULC2.cjs.map +1 -0
- package/dist/chunk-2HOMKKY4.cjs +352 -0
- package/dist/chunk-2HOMKKY4.cjs.map +1 -0
- package/dist/chunk-37DO73XV.cjs +33207 -0
- package/dist/chunk-37DO73XV.cjs.map +1 -0
- package/dist/chunk-3AZY5AWI.js +689 -0
- package/dist/chunk-3AZY5AWI.js.map +1 -0
- package/dist/chunk-3OIJLD3O.js +333 -0
- package/dist/chunk-3OIJLD3O.js.map +1 -0
- package/dist/chunk-3QUACCLU.js +1372 -0
- package/dist/chunk-3QUACCLU.js.map +1 -0
- package/dist/chunk-3W67K7YE.js +13 -0
- package/dist/chunk-3W67K7YE.js.map +1 -0
- package/dist/chunk-4HFYR562.cjs +82 -0
- package/dist/chunk-4HFYR562.cjs.map +1 -0
- package/dist/chunk-4JAEBN6N.js +1201 -0
- package/dist/chunk-4JAEBN6N.js.map +1 -0
- package/dist/chunk-4LVJBXI2.cjs +324 -0
- package/dist/chunk-4LVJBXI2.cjs.map +1 -0
- package/dist/{chunk-FV45V6WC.cjs → chunk-64ITUOXI.cjs} +3 -7
- package/dist/chunk-64ITUOXI.cjs.map +1 -0
- package/dist/chunk-6G2RQWKA.cjs +252 -0
- package/dist/chunk-6G2RQWKA.cjs.map +1 -0
- package/dist/chunk-6KC345IN.cjs +708 -0
- package/dist/chunk-6KC345IN.cjs.map +1 -0
- package/dist/{chunk-TRDNDNGQ.js → chunk-6QWQZI4Q.js} +4 -7
- package/dist/chunk-6QWQZI4Q.js.map +1 -0
- package/dist/chunk-7D3UAMQM.cjs +82 -0
- package/dist/chunk-7D3UAMQM.cjs.map +1 -0
- package/dist/chunk-7XIMPDJV.js +442 -0
- package/dist/chunk-7XIMPDJV.js.map +1 -0
- package/dist/chunk-A2K5ZL47.cjs +195 -0
- package/dist/chunk-A2K5ZL47.cjs.map +1 -0
- package/dist/chunk-AAHPYUEC.cjs +211 -0
- package/dist/chunk-AAHPYUEC.cjs.map +1 -0
- package/dist/chunk-AN42MFD5.cjs +1231 -0
- package/dist/chunk-AN42MFD5.cjs.map +1 -0
- package/dist/chunk-AQI6GLTN.cjs +2777 -0
- package/dist/chunk-AQI6GLTN.cjs.map +1 -0
- package/dist/chunk-AV3VZ6S3.cjs +190 -0
- package/dist/chunk-AV3VZ6S3.cjs.map +1 -0
- package/dist/chunk-C4NZAUUW.js +33168 -0
- package/dist/chunk-C4NZAUUW.js.map +1 -0
- package/dist/chunk-D5VCL56B.js +317 -0
- package/dist/chunk-D5VCL56B.js.map +1 -0
- package/dist/chunk-DD7LYNHB.js +596 -0
- package/dist/chunk-DD7LYNHB.js.map +1 -0
- package/dist/chunk-DHDVJ5II.js +334 -0
- package/dist/chunk-DHDVJ5II.js.map +1 -0
- package/dist/chunk-ED6NQBHF.js +190 -0
- package/dist/chunk-ED6NQBHF.js.map +1 -0
- package/dist/chunk-EKFYZUPC.cjs +1404 -0
- package/dist/chunk-EKFYZUPC.cjs.map +1 -0
- package/dist/chunk-EV5H2JQU.js +45 -0
- package/dist/chunk-EV5H2JQU.js.map +1 -0
- package/dist/chunk-F2WTCJ5C.js +1153 -0
- package/dist/chunk-F2WTCJ5C.js.map +1 -0
- package/dist/chunk-FCPLBTHB.js +195 -0
- package/dist/chunk-FCPLBTHB.js.map +1 -0
- package/dist/chunk-FQX5SQO7.js +212 -0
- package/dist/chunk-FQX5SQO7.js.map +1 -0
- package/dist/chunk-FRRHYZR6.cjs +88 -0
- package/dist/chunk-FRRHYZR6.cjs.map +1 -0
- package/dist/chunk-GUG6KRAJ.js +666 -0
- package/dist/chunk-GUG6KRAJ.js.map +1 -0
- package/dist/chunk-GXUBQJ74.js +184 -0
- package/dist/chunk-GXUBQJ74.js.map +1 -0
- package/dist/chunk-H66LLFDL.js +970 -0
- package/dist/chunk-H66LLFDL.js.map +1 -0
- package/dist/chunk-HDGF45K7.cjs +128 -0
- package/dist/chunk-HDGF45K7.cjs.map +1 -0
- package/dist/chunk-HT4LP3BO.js +75 -0
- package/dist/chunk-HT4LP3BO.js.map +1 -0
- package/dist/chunk-HZINLMHL.cjs +252 -0
- package/dist/chunk-HZINLMHL.cjs.map +1 -0
- package/dist/chunk-IS3HHGL4.js +250 -0
- package/dist/chunk-IS3HHGL4.js.map +1 -0
- package/dist/chunk-JLFFAYTC.cjs +252 -0
- package/dist/chunk-JLFFAYTC.cjs.map +1 -0
- package/dist/chunk-JRM3DWRM.cjs +322 -0
- package/dist/chunk-JRM3DWRM.cjs.map +1 -0
- package/dist/chunk-K2SXZLA3.cjs +1049 -0
- package/dist/chunk-K2SXZLA3.cjs.map +1 -0
- package/dist/chunk-K4HSW5ZF.js +77 -0
- package/dist/chunk-K4HSW5ZF.js.map +1 -0
- package/dist/chunk-LFNP3ACE.js +1009 -0
- package/dist/chunk-LFNP3ACE.js.map +1 -0
- package/dist/chunk-LFTVDHOD.js +200 -0
- package/dist/chunk-LFTVDHOD.js.map +1 -0
- package/dist/chunk-LJ6YRVDI.cjs +15 -0
- package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
- package/dist/chunk-LOA7RQYO.js +2774 -0
- package/dist/chunk-LOA7RQYO.js.map +1 -0
- package/dist/chunk-MCYD5LW7.cjs +90 -0
- package/dist/chunk-MCYD5LW7.cjs.map +1 -0
- package/dist/chunk-MZRJNOYJ.cjs +1195 -0
- package/dist/chunk-MZRJNOYJ.cjs.map +1 -0
- package/dist/chunk-O7I5CWRX.cjs +44 -0
- package/dist/chunk-O7I5CWRX.cjs.map +1 -0
- package/dist/chunk-ONN5EA7E.js +26 -0
- package/dist/chunk-ONN5EA7E.js.map +1 -0
- package/dist/chunk-OS7SAIRA.js +250 -0
- package/dist/chunk-OS7SAIRA.js.map +1 -0
- package/dist/chunk-PR4QN5HX.js +39 -0
- package/dist/chunk-PR4QN5HX.js.map +1 -0
- package/dist/chunk-PWXUI3OG.cjs +252 -0
- package/dist/chunk-PWXUI3OG.cjs.map +1 -0
- package/dist/chunk-QOVLJFLX.cjs +680 -0
- package/dist/chunk-QOVLJFLX.cjs.map +1 -0
- package/dist/chunk-QXDNFBJQ.js +220 -0
- package/dist/chunk-QXDNFBJQ.js.map +1 -0
- package/dist/chunk-RIX6WEJ2.js +83 -0
- package/dist/chunk-RIX6WEJ2.js.map +1 -0
- package/dist/chunk-RW66MHXI.js +246 -0
- package/dist/chunk-RW66MHXI.js.map +1 -0
- package/dist/chunk-S4SLHUJ7.cjs +253 -0
- package/dist/chunk-S4SLHUJ7.cjs.map +1 -0
- package/dist/chunk-SONAXR2M.cjs +450 -0
- package/dist/chunk-SONAXR2M.cjs.map +1 -0
- package/dist/chunk-SUKFO7UM.cjs +29 -0
- package/dist/chunk-SUKFO7UM.cjs.map +1 -0
- package/dist/chunk-T5KH32UA.cjs +47 -0
- package/dist/chunk-T5KH32UA.cjs.map +1 -0
- package/dist/chunk-TCWPL26W.js +119 -0
- package/dist/chunk-TCWPL26W.js.map +1 -0
- package/dist/chunk-TGDBGIDA.cjs +623 -0
- package/dist/chunk-TGDBGIDA.cjs.map +1 -0
- package/dist/chunk-USR6JK77.js +62 -0
- package/dist/chunk-USR6JK77.js.map +1 -0
- package/dist/chunk-VNHOYZ56.cjs +219 -0
- package/dist/chunk-VNHOYZ56.cjs.map +1 -0
- package/dist/chunk-VX3VN7FN.cjs +992 -0
- package/dist/chunk-VX3VN7FN.cjs.map +1 -0
- package/dist/chunk-WHC6S3VY.cjs +345 -0
- package/dist/chunk-WHC6S3VY.cjs.map +1 -0
- package/dist/chunk-XKLJYRAA.js +77 -0
- package/dist/chunk-XKLJYRAA.js.map +1 -0
- package/dist/chunk-XUSAKRLX.js +312 -0
- package/dist/chunk-XUSAKRLX.js.map +1 -0
- package/dist/chunk-ZKMVCV4G.cjs +71 -0
- package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
- package/dist/dist-7NTDEVLP.cjs +928 -0
- package/dist/dist-7NTDEVLP.cjs.map +1 -0
- package/dist/dist-B5GMANA6.js +1147 -0
- package/dist/dist-B5GMANA6.js.map +1 -0
- package/dist/dist-EDO7GEGI.js +3 -0
- package/dist/dist-EDO7GEGI.js.map +1 -0
- package/dist/dist-OF24ZMHH.cjs +764 -0
- package/dist/dist-OF24ZMHH.cjs.map +1 -0
- package/dist/dist-P6YSNLL3.cjs +1150 -0
- package/dist/dist-P6YSNLL3.cjs.map +1 -0
- package/dist/dist-SMBO5KVB.js +937 -0
- package/dist/dist-SMBO5KVB.js.map +1 -0
- package/dist/dist-THPMW5QR.js +761 -0
- package/dist/dist-THPMW5QR.js.map +1 -0
- package/dist/dist-VZTG56X2.cjs +940 -0
- package/dist/dist-VZTG56X2.cjs.map +1 -0
- package/dist/dist-ZLC23RVC.cjs +16 -0
- package/dist/dist-ZLC23RVC.cjs.map +1 -0
- package/dist/dist-ZOZ6MHJH.js +925 -0
- package/dist/dist-ZOZ6MHJH.js.map +1 -0
- package/dist/docs/README.md +31 -0
- package/dist/docs/SKILL.md +32 -0
- package/dist/docs/SOURCE_MAP.json +6 -0
- package/dist/docs/server/01-custom-adapters.md +380 -0
- package/dist/docs/server/02-reference.md +833 -0
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/server/a2a/protocol.d.ts +8 -0
- package/dist/server/a2a/protocol.d.ts.map +1 -0
- package/dist/server/a2a/store.cjs +25 -0
- package/dist/server/a2a/store.cjs.map +1 -0
- package/dist/server/a2a/store.d.ts +14 -0
- package/dist/server/a2a/store.d.ts.map +1 -0
- package/dist/server/a2a/store.js +23 -0
- package/dist/server/a2a/store.js.map +1 -0
- package/dist/server/a2a/tasks.d.ts +20 -0
- package/dist/server/a2a/tasks.d.ts.map +1 -0
- package/dist/server/auth/defaults.d.ts +3 -0
- package/dist/server/auth/defaults.d.ts.map +1 -0
- package/dist/server/auth/helpers.d.ts +21 -0
- package/dist/server/auth/helpers.d.ts.map +1 -0
- package/dist/server/auth/index.cjs +48 -0
- package/dist/server/auth/index.cjs.map +1 -0
- package/dist/server/auth/index.d.ts +3 -0
- package/dist/server/auth/index.d.ts.map +1 -0
- package/dist/server/auth/index.js +3 -0
- package/dist/server/auth/index.js.map +1 -0
- package/dist/server/auth/path-pattern.d.ts +43 -0
- package/dist/server/auth/path-pattern.d.ts.map +1 -0
- package/dist/server/constants.d.ts +51 -0
- package/dist/server/constants.d.ts.map +1 -0
- package/dist/server/handlers/a2a.cjs +40 -0
- package/dist/server/handlers/a2a.cjs.map +1 -0
- package/dist/server/handlers/a2a.d.ts +550 -0
- package/dist/server/handlers/a2a.d.ts.map +1 -0
- package/dist/server/handlers/a2a.js +3 -0
- package/dist/server/handlers/a2a.js.map +1 -0
- package/dist/server/handlers/agent-builder.cjs +68 -0
- package/dist/server/handlers/agent-builder.cjs.map +1 -0
- package/dist/server/handlers/agent-builder.d.ts +632 -0
- package/dist/server/handlers/agent-builder.d.ts.map +1 -0
- package/dist/server/handlers/agent-builder.js +3 -0
- package/dist/server/handlers/agent-builder.js.map +1 -0
- package/dist/server/handlers/agent-versions.cjs +60 -0
- package/dist/server/handlers/agent-versions.cjs.map +1 -0
- package/dist/server/handlers/agent-versions.d.ts +479 -0
- package/dist/server/handlers/agent-versions.d.ts.map +1 -0
- package/dist/server/handlers/agent-versions.js +3 -0
- package/dist/server/handlers/agent-versions.js.map +1 -0
- package/dist/server/handlers/agents.cjs +111 -13
- package/dist/server/handlers/agents.cjs.map +1 -0
- package/dist/server/handlers/agents.d.ts +3440 -6
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/agents.js +3 -1
- package/dist/server/handlers/agents.js.map +1 -0
- package/dist/server/handlers/error.cjs +8 -2
- package/dist/server/handlers/error.cjs.map +1 -0
- package/dist/server/handlers/error.d.ts +14 -1
- package/dist/server/handlers/error.d.ts.map +1 -0
- package/dist/server/handlers/error.js +3 -1
- package/dist/server/handlers/error.js.map +1 -0
- package/dist/server/handlers/logs.cjs +9 -7
- package/dist/server/handlers/logs.cjs.map +1 -0
- package/dist/server/handlers/logs.d.ts +142 -3
- package/dist/server/handlers/logs.d.ts.map +1 -0
- package/dist/server/handlers/logs.js +3 -1
- package/dist/server/handlers/logs.js.map +1 -0
- package/dist/server/handlers/mcp.cjs +40 -0
- package/dist/server/handlers/mcp.cjs.map +1 -0
- package/dist/server/handlers/mcp.d.ts +132 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -0
- package/dist/server/handlers/mcp.js +3 -0
- package/dist/server/handlers/mcp.js.map +1 -0
- package/dist/server/handlers/memory.cjs +83 -17
- package/dist/server/handlers/memory.cjs.map +1 -0
- package/dist/server/handlers/memory.d.ts +1089 -8
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/memory.js +3 -1
- package/dist/server/handlers/memory.js.map +1 -0
- package/dist/server/handlers/observability.cjs +24 -0
- package/dist/server/handlers/observability.cjs.map +1 -0
- package/dist/server/handlers/observability.d.ts +154 -0
- package/dist/server/handlers/observability.d.ts.map +1 -0
- package/dist/server/handlers/observability.js +3 -0
- package/dist/server/handlers/observability.js.map +1 -0
- package/dist/server/handlers/processors.cjs +20 -0
- package/dist/server/handlers/processors.cjs.map +1 -0
- package/dist/server/handlers/processors.d.ts +181 -0
- package/dist/server/handlers/processors.d.ts.map +1 -0
- package/dist/server/handlers/processors.js +3 -0
- package/dist/server/handlers/processors.js.map +1 -0
- package/dist/server/handlers/scores.cjs +32 -0
- package/dist/server/handlers/scores.cjs.map +1 -0
- package/dist/server/handlers/scores.d.ts +121 -0
- package/dist/server/handlers/scores.d.ts.map +1 -0
- package/dist/server/handlers/scores.js +3 -0
- package/dist/server/handlers/scores.js.map +1 -0
- package/dist/server/handlers/stored-agents.cjs +28 -0
- package/dist/server/handlers/stored-agents.cjs.map +1 -0
- package/dist/server/handlers/stored-agents.d.ts +317 -0
- package/dist/server/handlers/stored-agents.d.ts.map +1 -0
- package/dist/server/handlers/stored-agents.js +3 -0
- package/dist/server/handlers/stored-agents.js.map +1 -0
- package/dist/server/handlers/system.cjs +12 -0
- package/dist/server/handlers/system.cjs.map +1 -0
- package/dist/server/handlers/system.d.ts +7 -0
- package/dist/server/handlers/system.d.ts.map +1 -0
- package/dist/server/handlers/system.js +3 -0
- package/dist/server/handlers/system.js.map +1 -0
- package/dist/server/handlers/test-utils.cjs +15 -0
- package/dist/server/handlers/test-utils.cjs.map +1 -0
- package/dist/server/handlers/test-utils.d.ts +6 -0
- package/dist/server/handlers/test-utils.d.ts.map +1 -0
- package/dist/server/handlers/test-utils.js +13 -0
- package/dist/server/handlers/test-utils.js.map +1 -0
- package/dist/server/handlers/tools.cjs +15 -9
- package/dist/server/handlers/tools.cjs.map +1 -0
- package/dist/server/handlers/tools.d.ts +71 -4
- package/dist/server/handlers/tools.d.ts.map +1 -0
- package/dist/server/handlers/tools.js +3 -1
- package/dist/server/handlers/tools.js.map +1 -0
- package/dist/server/handlers/utils.cjs +32 -2
- package/dist/server/handlers/utils.cjs.map +1 -0
- package/dist/server/handlers/utils.d.ts +39 -1
- package/dist/server/handlers/utils.d.ts.map +1 -0
- package/dist/server/handlers/utils.js +3 -1
- package/dist/server/handlers/utils.js.map +1 -0
- package/dist/server/handlers/vector.cjs +33 -7
- package/dist/server/handlers/vector.cjs.map +1 -0
- package/dist/server/handlers/vector.d.ts +135 -6
- package/dist/server/handlers/vector.d.ts.map +1 -0
- package/dist/server/handlers/vector.js +3 -1
- package/dist/server/handlers/vector.js.map +1 -0
- package/dist/server/handlers/voice.cjs +25 -7
- package/dist/server/handlers/voice.cjs.map +1 -0
- package/dist/server/handlers/voice.d.ts +82 -3
- package/dist/server/handlers/voice.d.ts.map +1 -0
- package/dist/server/handlers/voice.js +3 -1
- package/dist/server/handlers/voice.js.map +1 -0
- package/dist/server/handlers/workflows.cjs +75 -21
- package/dist/server/handlers/workflows.cjs.map +1 -0
- package/dist/server/handlers/workflows.d.ts +996 -10
- package/dist/server/handlers/workflows.d.ts.map +1 -0
- package/dist/server/handlers/workflows.js +3 -1
- package/dist/server/handlers/workflows.js.map +1 -0
- package/dist/server/handlers/workspace.cjs +80 -0
- package/dist/server/handlers/workspace.cjs.map +1 -0
- package/dist/server/handlers/workspace.d.ts +591 -0
- package/dist/server/handlers/workspace.d.ts.map +1 -0
- package/dist/server/handlers/workspace.js +3 -0
- package/dist/server/handlers/workspace.js.map +1 -0
- package/dist/server/handlers.cjs +41 -24
- package/dist/server/handlers.cjs.map +1 -0
- package/dist/server/handlers.d.ts +13 -9
- package/dist/server/handlers.d.ts.map +1 -0
- package/dist/server/handlers.js +14 -9
- package/dist/server/handlers.js.map +1 -0
- package/dist/server/http-exception.d.ts +82 -0
- package/dist/server/http-exception.d.ts.map +1 -0
- package/dist/server/schemas/a2a.d.ts +786 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -0
- package/dist/server/schemas/agent-builder.d.ts +225 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agent-versions.d.ts +1646 -0
- package/dist/server/schemas/agent-versions.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1815 -0
- package/dist/server/schemas/agents.d.ts.map +1 -0
- package/dist/server/schemas/common.d.ts +179 -0
- package/dist/server/schemas/common.d.ts.map +1 -0
- package/dist/server/schemas/logs.d.ts +124 -0
- package/dist/server/schemas/logs.d.ts.map +1 -0
- package/dist/server/schemas/mcp.d.ts +299 -0
- package/dist/server/schemas/mcp.d.ts.map +1 -0
- package/dist/server/schemas/memory.d.ts +1216 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/processors.d.ts +519 -0
- package/dist/server/schemas/processors.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +259 -0
- package/dist/server/schemas/scores.d.ts.map +1 -0
- package/dist/server/schemas/stored-agents.d.ts +850 -0
- package/dist/server/schemas/stored-agents.d.ts.map +1 -0
- package/dist/server/schemas/system.d.ts +36 -0
- package/dist/server/schemas/system.d.ts.map +1 -0
- package/dist/server/schemas/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +863 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/schemas/workspace.d.ts +1107 -0
- package/dist/server/schemas/workspace.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +661 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +163 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +630 -0
- package/dist/server/server-adapter/index.js.map +1 -0
- package/dist/server/server-adapter/openapi-utils.d.ts +69 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
- package/dist/server/server-adapter/redact.d.ts +26 -0
- package/dist/server/server-adapter/redact.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +3 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +52 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
- package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/logs.d.ts +3 -0
- package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
- package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/memory.d.ts +3 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/observability.d.ts +3 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/processors.d.ts +3 -0
- package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +112 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
- package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/system.d.ts +12 -0
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/tools.d.ts +3 -0
- package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
- package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
- package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
- package/dist/server/types.d.ts +10 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/utils.d.ts +58 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs +63 -0
- package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
- package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js +61 -0
- package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
- package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
- package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
- package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
- package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
- package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
- package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
- package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
- package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
- package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
- package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
- package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
- package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
- package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
- package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
- package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
- package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
- package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
- package/handlers/server/handlers.d.ts +1 -0
- package/handlers.d.ts +1 -0
- package/package.json +74 -20
- package/server-adapter.d.ts +1 -0
- package/dist/_tsup-dts-rollup.d.cts +0 -573
- package/dist/_tsup-dts-rollup.d.ts +0 -573
- package/dist/chunk-2FJURXCL.cjs +0 -213
- package/dist/chunk-3AHQ5RGN.js +0 -11
- package/dist/chunk-3EJZQ6TQ.js +0 -49
- package/dist/chunk-3RVHWGWO.js +0 -95
- package/dist/chunk-4JINXASC.js +0 -120
- package/dist/chunk-67WTHYAV.js +0 -156
- package/dist/chunk-A7DF4ETD.cjs +0 -100
- package/dist/chunk-B64YROKU.cjs +0 -317
- package/dist/chunk-CWSDZEZG.cjs +0 -139
- package/dist/chunk-DVPP5S6I.js +0 -135
- package/dist/chunk-JLDXUWK7.cjs +0 -126
- package/dist/chunk-L7XE5QTW.js +0 -16
- package/dist/chunk-M56ECCHK.cjs +0 -128
- package/dist/chunk-OPP7H5TW.js +0 -305
- package/dist/chunk-PDC4ZBQW.cjs +0 -126
- package/dist/chunk-QH6XWSXP.cjs +0 -5579
- package/dist/chunk-QN4KF3BH.cjs +0 -18
- package/dist/chunk-RBQASTUP.js +0 -203
- package/dist/chunk-SKBVVI24.cjs +0 -54
- package/dist/chunk-UV4WTEH4.js +0 -120
- package/dist/chunk-VK6FX47H.js +0 -5576
- package/dist/chunk-YANVFOYA.js +0 -120
- package/dist/chunk-Z46X3YCB.cjs +0 -164
- package/dist/chunk-ZLBRQFDD.cjs +0 -13
- package/dist/index.d.cts +0 -1
- package/dist/server/handlers/agents.d.cts +0 -6
- package/dist/server/handlers/error.d.cts +0 -1
- package/dist/server/handlers/logs.d.cts +0 -3
- package/dist/server/handlers/memory.d.cts +0 -8
- package/dist/server/handlers/network.cjs +0 -22
- package/dist/server/handlers/network.d.cts +0 -4
- package/dist/server/handlers/network.d.ts +0 -4
- package/dist/server/handlers/network.js +0 -1
- package/dist/server/handlers/telemetry.cjs +0 -14
- package/dist/server/handlers/telemetry.d.cts +0 -2
- package/dist/server/handlers/telemetry.d.ts +0 -2
- package/dist/server/handlers/telemetry.js +0 -1
- package/dist/server/handlers/tools.d.cts +0 -4
- package/dist/server/handlers/utils.d.cts +0 -1
- package/dist/server/handlers/vector.d.cts +0 -6
- package/dist/server/handlers/voice.d.cts +0 -3
- package/dist/server/handlers/workflows.d.cts +0 -10
- package/dist/server/handlers.d.cts +0 -9
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkTGDBGIDA_cjs = require('./chunk-TGDBGIDA.cjs');
|
|
4
|
+
var chunkSUKFO7UM_cjs = require('./chunk-SUKFO7UM.cjs');
|
|
5
|
+
var chunk4LVJBXI2_cjs = require('./chunk-4LVJBXI2.cjs');
|
|
6
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
7
|
+
|
|
8
|
+
// src/server/handlers/stored-agents.ts
|
|
9
|
+
var LIST_STORED_AGENTS_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
10
|
+
method: "GET",
|
|
11
|
+
path: "/stored/agents",
|
|
12
|
+
responseType: "json",
|
|
13
|
+
queryParamSchema: chunkTGDBGIDA_cjs.listStoredAgentsQuerySchema,
|
|
14
|
+
responseSchema: chunkTGDBGIDA_cjs.listStoredAgentsResponseSchema,
|
|
15
|
+
summary: "List stored agents",
|
|
16
|
+
description: "Returns a paginated list of all agents stored in the database",
|
|
17
|
+
tags: ["Stored Agents"],
|
|
18
|
+
requiresAuth: true,
|
|
19
|
+
handler: async ({ mastra, page, perPage, orderBy, ownerId, metadata }) => {
|
|
20
|
+
try {
|
|
21
|
+
const storage = mastra.getStorage();
|
|
22
|
+
if (!storage) {
|
|
23
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
|
|
24
|
+
}
|
|
25
|
+
const agentsStore = await storage.getStore("agents");
|
|
26
|
+
if (!agentsStore) {
|
|
27
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
28
|
+
}
|
|
29
|
+
const result = await agentsStore.listAgents({
|
|
30
|
+
page,
|
|
31
|
+
perPage,
|
|
32
|
+
orderBy,
|
|
33
|
+
ownerId,
|
|
34
|
+
metadata
|
|
35
|
+
});
|
|
36
|
+
return result;
|
|
37
|
+
} catch (error) {
|
|
38
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error listing stored agents");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var GET_STORED_AGENT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
43
|
+
method: "GET",
|
|
44
|
+
path: "/stored/agents/:storedAgentId",
|
|
45
|
+
responseType: "json",
|
|
46
|
+
pathParamSchema: chunkTGDBGIDA_cjs.storedAgentIdPathParams,
|
|
47
|
+
responseSchema: chunkTGDBGIDA_cjs.getStoredAgentResponseSchema,
|
|
48
|
+
summary: "Get stored agent by ID",
|
|
49
|
+
description: "Returns a specific agent from storage by its unique identifier",
|
|
50
|
+
tags: ["Stored Agents"],
|
|
51
|
+
requiresAuth: true,
|
|
52
|
+
handler: async ({ mastra, storedAgentId }) => {
|
|
53
|
+
try {
|
|
54
|
+
const storage = mastra.getStorage();
|
|
55
|
+
if (!storage) {
|
|
56
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
|
|
57
|
+
}
|
|
58
|
+
const agentsStore = await storage.getStore("agents");
|
|
59
|
+
if (!agentsStore) {
|
|
60
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
61
|
+
}
|
|
62
|
+
const agent = await agentsStore.getAgentByIdResolved({ id: storedAgentId });
|
|
63
|
+
if (!agent) {
|
|
64
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
65
|
+
}
|
|
66
|
+
return agent;
|
|
67
|
+
} catch (error) {
|
|
68
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error getting stored agent");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
var CREATE_STORED_AGENT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
73
|
+
method: "POST",
|
|
74
|
+
path: "/stored/agents",
|
|
75
|
+
responseType: "json",
|
|
76
|
+
bodySchema: chunkTGDBGIDA_cjs.createStoredAgentBodySchema,
|
|
77
|
+
responseSchema: chunkTGDBGIDA_cjs.createStoredAgentResponseSchema,
|
|
78
|
+
summary: "Create stored agent",
|
|
79
|
+
description: "Creates a new agent in storage with the provided configuration",
|
|
80
|
+
tags: ["Stored Agents"],
|
|
81
|
+
requiresAuth: true,
|
|
82
|
+
handler: async ({
|
|
83
|
+
mastra,
|
|
84
|
+
id,
|
|
85
|
+
name,
|
|
86
|
+
description,
|
|
87
|
+
instructions,
|
|
88
|
+
model,
|
|
89
|
+
tools,
|
|
90
|
+
defaultOptions,
|
|
91
|
+
workflows,
|
|
92
|
+
agents,
|
|
93
|
+
integrationTools,
|
|
94
|
+
inputProcessors,
|
|
95
|
+
outputProcessors,
|
|
96
|
+
memory,
|
|
97
|
+
scorers,
|
|
98
|
+
metadata,
|
|
99
|
+
ownerId
|
|
100
|
+
}) => {
|
|
101
|
+
try {
|
|
102
|
+
const storage = mastra.getStorage();
|
|
103
|
+
if (!storage) {
|
|
104
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
|
|
105
|
+
}
|
|
106
|
+
const agentsStore = await storage.getStore("agents");
|
|
107
|
+
if (!agentsStore) {
|
|
108
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
109
|
+
}
|
|
110
|
+
const existing = await agentsStore.getAgentById({ id });
|
|
111
|
+
if (existing) {
|
|
112
|
+
throw new chunk64ITUOXI_cjs.HTTPException(409, { message: `Agent with id ${id} already exists` });
|
|
113
|
+
}
|
|
114
|
+
const toolsFromBody = Array.isArray(tools) ? tools : void 0;
|
|
115
|
+
const integrationToolsFromBody = Array.isArray(integrationTools) ? integrationTools : void 0;
|
|
116
|
+
const agent = await agentsStore.createAgent({
|
|
117
|
+
agent: {
|
|
118
|
+
id,
|
|
119
|
+
name,
|
|
120
|
+
description,
|
|
121
|
+
instructions,
|
|
122
|
+
model,
|
|
123
|
+
tools: toolsFromBody,
|
|
124
|
+
defaultOptions,
|
|
125
|
+
workflows,
|
|
126
|
+
agents,
|
|
127
|
+
integrationTools: integrationToolsFromBody,
|
|
128
|
+
inputProcessors,
|
|
129
|
+
outputProcessors,
|
|
130
|
+
memory,
|
|
131
|
+
scorers,
|
|
132
|
+
metadata,
|
|
133
|
+
ownerId
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
return agent;
|
|
137
|
+
} catch (error) {
|
|
138
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error creating stored agent");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
var UPDATE_STORED_AGENT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
143
|
+
method: "PATCH",
|
|
144
|
+
path: "/stored/agents/:storedAgentId",
|
|
145
|
+
responseType: "json",
|
|
146
|
+
pathParamSchema: chunkTGDBGIDA_cjs.storedAgentIdPathParams,
|
|
147
|
+
bodySchema: chunkTGDBGIDA_cjs.updateStoredAgentBodySchema,
|
|
148
|
+
responseSchema: chunkTGDBGIDA_cjs.updateStoredAgentResponseSchema,
|
|
149
|
+
summary: "Update stored agent",
|
|
150
|
+
description: "Updates an existing agent in storage with the provided fields",
|
|
151
|
+
tags: ["Stored Agents"],
|
|
152
|
+
requiresAuth: true,
|
|
153
|
+
handler: async ({
|
|
154
|
+
mastra,
|
|
155
|
+
storedAgentId,
|
|
156
|
+
name,
|
|
157
|
+
description,
|
|
158
|
+
instructions,
|
|
159
|
+
model,
|
|
160
|
+
tools,
|
|
161
|
+
defaultOptions,
|
|
162
|
+
workflows,
|
|
163
|
+
agents,
|
|
164
|
+
integrationTools,
|
|
165
|
+
inputProcessors,
|
|
166
|
+
outputProcessors,
|
|
167
|
+
memory,
|
|
168
|
+
scorers,
|
|
169
|
+
metadata,
|
|
170
|
+
ownerId
|
|
171
|
+
}) => {
|
|
172
|
+
try {
|
|
173
|
+
const storage = mastra.getStorage();
|
|
174
|
+
if (!storage) {
|
|
175
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
|
|
176
|
+
}
|
|
177
|
+
const agentsStore = await storage.getStore("agents");
|
|
178
|
+
if (!agentsStore) {
|
|
179
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
180
|
+
}
|
|
181
|
+
const existing = await agentsStore.getAgentById({ id: storedAgentId });
|
|
182
|
+
if (!existing) {
|
|
183
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
184
|
+
}
|
|
185
|
+
const toolsFromBody = Array.isArray(tools) ? tools : void 0;
|
|
186
|
+
const integrationToolsFromBody = Array.isArray(integrationTools) ? integrationTools : void 0;
|
|
187
|
+
const updatedAgent = await agentsStore.updateAgent({
|
|
188
|
+
id: storedAgentId,
|
|
189
|
+
name,
|
|
190
|
+
description,
|
|
191
|
+
instructions,
|
|
192
|
+
model,
|
|
193
|
+
tools: toolsFromBody,
|
|
194
|
+
defaultOptions,
|
|
195
|
+
workflows,
|
|
196
|
+
agents,
|
|
197
|
+
integrationTools: integrationToolsFromBody,
|
|
198
|
+
inputProcessors,
|
|
199
|
+
outputProcessors,
|
|
200
|
+
memory,
|
|
201
|
+
scorers,
|
|
202
|
+
metadata,
|
|
203
|
+
ownerId
|
|
204
|
+
});
|
|
205
|
+
const { agent } = await chunkTGDBGIDA_cjs.handleAutoVersioning(agentsStore, storedAgentId, existing, updatedAgent);
|
|
206
|
+
mastra.clearStoredAgentCache(storedAgentId);
|
|
207
|
+
return agent;
|
|
208
|
+
} catch (error) {
|
|
209
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error updating stored agent");
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
var DELETE_STORED_AGENT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
214
|
+
method: "DELETE",
|
|
215
|
+
path: "/stored/agents/:storedAgentId",
|
|
216
|
+
responseType: "json",
|
|
217
|
+
pathParamSchema: chunkTGDBGIDA_cjs.storedAgentIdPathParams,
|
|
218
|
+
responseSchema: chunkTGDBGIDA_cjs.deleteStoredAgentResponseSchema,
|
|
219
|
+
summary: "Delete stored agent",
|
|
220
|
+
description: "Deletes an agent from storage by its unique identifier",
|
|
221
|
+
tags: ["Stored Agents"],
|
|
222
|
+
requiresAuth: true,
|
|
223
|
+
handler: async ({ mastra, storedAgentId }) => {
|
|
224
|
+
try {
|
|
225
|
+
const storage = mastra.getStorage();
|
|
226
|
+
if (!storage) {
|
|
227
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
|
|
228
|
+
}
|
|
229
|
+
const agentsStore = await storage.getStore("agents");
|
|
230
|
+
if (!agentsStore) {
|
|
231
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
232
|
+
}
|
|
233
|
+
const existing = await agentsStore.getAgentById({ id: storedAgentId });
|
|
234
|
+
if (!existing) {
|
|
235
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
236
|
+
}
|
|
237
|
+
await agentsStore.deleteAgent({ id: storedAgentId });
|
|
238
|
+
mastra.clearStoredAgentCache(storedAgentId);
|
|
239
|
+
return { success: true, message: `Agent ${storedAgentId} deleted successfully` };
|
|
240
|
+
} catch (error) {
|
|
241
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error deleting stored agent");
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
exports.CREATE_STORED_AGENT_ROUTE = CREATE_STORED_AGENT_ROUTE;
|
|
247
|
+
exports.DELETE_STORED_AGENT_ROUTE = DELETE_STORED_AGENT_ROUTE;
|
|
248
|
+
exports.GET_STORED_AGENT_ROUTE = GET_STORED_AGENT_ROUTE;
|
|
249
|
+
exports.LIST_STORED_AGENTS_ROUTE = LIST_STORED_AGENTS_ROUTE;
|
|
250
|
+
exports.UPDATE_STORED_AGENT_ROUTE = UPDATE_STORED_AGENT_ROUTE;
|
|
251
|
+
//# sourceMappingURL=chunk-JLFFAYTC.cjs.map
|
|
252
|
+
//# sourceMappingURL=chunk-JLFFAYTC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/stored-agents.ts"],"names":["createRoute","listStoredAgentsQuerySchema","listStoredAgentsResponseSchema","HTTPException","handleError","storedAgentIdPathParams","getStoredAgentResponseSchema","createStoredAgentBodySchema","createStoredAgentResponseSchema","updateStoredAgentBodySchema","updateStoredAgentResponseSchema","handleAutoVersioning","deleteStoredAgentResponseSchema"],"mappings":";;;;;;;;AAwBO,IAAM,2BAA2BA,6BAAA,CAAY;AAAA,EAClD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,gBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkBC,6CAAA;AAAA,EAClB,cAAA,EAAgBC,gDAAA;AAAA,EAChB,OAAA,EAAS,oBAAA;AAAA,EACT,WAAA,EAAa,+DAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,MAAM,OAAA,EAAS,OAAA,EAAS,OAAA,EAAS,QAAA,EAAS,KAAM;AACxE,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,WAAA,GAAc,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AACnD,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAEA,MAAA,MAAM,MAAA,GAAS,MAAM,WAAA,CAAY,UAAA,CAAW;AAAA,QAC1C,IAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAKM,IAAM,yBAAyBJ,6BAAA,CAAY;AAAA,EAChD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,+BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,yCAAA;AAAA,EACjB,cAAA,EAAgBC,8CAAA;AAAA,EAChB,OAAA,EAAS,wBAAA;AAAA,EACT,WAAA,EAAa,gEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,eAAc,KAAM;AAC5C,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAElC,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIH,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,WAAA,GAAc,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AACnD,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAGA,MAAA,MAAM,QAAQ,MAAM,WAAA,CAAY,qBAAqB,EAAE,EAAA,EAAI,eAAe,CAAA;AAE1E,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AAEA,MAAA,OAAO,KAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,4BAA4B,CAAA;AAAA,IACxD;AAAA,EACF;AACF,CAAC;AAKM,IAAM,4BAA4BJ,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,gBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAYO,6CAAA;AAAA,EACZ,cAAA,EAAgBC,iDAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,gEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO;AAAA,IACd,MAAA;AAAA,IACA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;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,IAAIL,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,WAAA,GAAc,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AACnD,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAGA,MAAA,MAAM,WAAW,MAAM,WAAA,CAAY,YAAA,CAAa,EAAE,IAAI,CAAA;AACtD,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,cAAA,EAAiB,EAAE,mBAAmB,CAAA;AAAA,MAChF;AAGA,MAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,OAAA,CAAQ,KAAK,IAAI,KAAA,GAAQ,MAAA;AACrD,MAAA,MAAM,wBAAA,GAA2B,KAAA,CAAM,OAAA,CAAQ,gBAAgB,IAAI,gBAAA,GAAmB,MAAA;AAEtF,MAAA,MAAM,KAAA,GAAQ,MAAM,WAAA,CAAY,WAAA,CAAY;AAAA,QAC1C,KAAA,EAAO;AAAA,UACL,EAAA;AAAA,UACA,IAAA;AAAA,UACA,WAAA;AAAA,UACA,YAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA,EAAO,aAAA;AAAA,UACP,cAAA;AAAA,UACA,SAAA;AAAA,UACA,MAAA;AAAA,UACA,gBAAA,EAAkB,wBAAA;AAAA,UAClB,eAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,OAAA;AAAA,UACA,QAAA;AAAA,UACA;AAAA;AACF,OACD,CAAA;AAED,MAAA,OAAO,KAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAKM,IAAM,4BAA4BJ,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,OAAA;AAAA,EACR,IAAA,EAAM,+BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,yCAAA;AAAA,EACjB,UAAA,EAAYI,6CAAA;AAAA,EACZ,cAAA,EAAgBC,iDAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,+DAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO;AAAA,IACd,MAAA;AAAA,IACA,aAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;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,IAAIP,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,MAAM,WAAA,GAAc,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AACnD,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAGA,MAAA,MAAM,WAAW,MAAM,WAAA,CAAY,aAAa,EAAE,EAAA,EAAI,eAAe,CAAA;AACrE,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AAGA,MAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,OAAA,CAAQ,KAAK,IAAI,KAAA,GAAQ,MAAA;AACrD,MAAA,MAAM,wBAAA,GAA2B,KAAA,CAAM,OAAA,CAAQ,gBAAgB,IAAI,gBAAA,GAAmB,MAAA;AAEtF,MAAA,MAAM,YAAA,GAAe,MAAM,WAAA,CAAY,WAAA,CAAY;AAAA,QACjD,EAAA,EAAI,aAAA;AAAA,QACJ,IAAA;AAAA,QACA,WAAA;AAAA,QACA,YAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA,EAAO,aAAA;AAAA,QACP,cAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,gBAAA,EAAkB,wBAAA;AAAA,QAClB,eAAA;AAAA,QACA,gBAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACD,CAAA;AAID,MAAA,MAAM,EAAE,OAAM,GAAI,MAAMQ,uCAAqB,WAAA,EAAa,aAAA,EAAe,UAAU,YAAY,CAAA;AAG/F,MAAA,MAAA,CAAO,sBAAsB,aAAa,CAAA;AAE1C,MAAA,OAAO,KAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOP,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAKM,IAAM,4BAA4BJ,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,+BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBK,yCAAA;AAAA,EACjB,cAAA,EAAgBO,iDAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,wDAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,eAAc,KAAM;AAC5C,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,WAAA,GAAc,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AACnD,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAGA,MAAA,MAAM,WAAW,MAAM,WAAA,CAAY,aAAa,EAAE,EAAA,EAAI,eAAe,CAAA;AACrE,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AAEA,MAAA,MAAM,WAAA,CAAY,WAAA,CAAY,EAAE,EAAA,EAAI,eAAe,CAAA;AAGnD,MAAA,MAAA,CAAO,sBAAsB,aAAa,CAAA;AAE1C,MAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,CAAA,MAAA,EAAS,aAAa,CAAA,qBAAA,CAAA,EAAwB;AAAA,IACjF,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC","file":"chunk-JLFFAYTC.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedAgentIdPathParams,\n listStoredAgentsQuerySchema,\n createStoredAgentBodySchema,\n updateStoredAgentBodySchema,\n listStoredAgentsResponseSchema,\n getStoredAgentResponseSchema,\n createStoredAgentResponseSchema,\n updateStoredAgentResponseSchema,\n deleteStoredAgentResponseSchema,\n} from '../schemas/stored-agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleAutoVersioning } from './agent-versions';\nimport { handleError } from './error';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/agents - List all stored agents\n */\nexport const LIST_STORED_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents',\n responseType: 'json',\n queryParamSchema: listStoredAgentsQuerySchema,\n responseSchema: listStoredAgentsResponseSchema,\n summary: 'List stored agents',\n description: 'Returns a paginated list of all agents stored in the database',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, ownerId, 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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n const result = await agentsStore.listAgents({\n page,\n perPage,\n orderBy,\n ownerId,\n metadata,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored agents');\n }\n },\n});\n\n/**\n * GET /stored/agents/:storedAgentId - Get a stored agent by ID\n */\nexport const GET_STORED_AGENT_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: getStoredAgentResponseSchema,\n summary: 'Get stored agent by ID',\n description: 'Returns a specific agent from storage by its unique identifier',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, storedAgentId }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Use getAgentByIdResolved to automatically resolve from active version\n const agent = await agentsStore.getAgentByIdResolved({ id: storedAgentId });\n\n if (!agent) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error getting stored agent');\n }\n },\n});\n\n/**\n * POST /stored/agents - Create a new stored agent\n */\nexport const CREATE_STORED_AGENT_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents',\n responseType: 'json',\n bodySchema: createStoredAgentBodySchema,\n responseSchema: createStoredAgentResponseSchema,\n summary: 'Create stored agent',\n description: 'Creates a new agent in storage with the provided configuration',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n ownerId,\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Check if agent with this ID already exists\n const existing = await agentsStore.getAgentById({ id });\n if (existing) {\n throw new HTTPException(409, { message: `Agent with id ${id} already exists` });\n }\n\n // Only include tools if it's actually an array from the body (not {} from adapter)\n const toolsFromBody = Array.isArray(tools) ? tools : undefined;\n const integrationToolsFromBody = Array.isArray(integrationTools) ? integrationTools : undefined;\n\n const agent = await agentsStore.createAgent({\n agent: {\n id,\n name,\n description,\n instructions,\n model,\n tools: toolsFromBody,\n defaultOptions,\n workflows,\n agents,\n integrationTools: integrationToolsFromBody,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n ownerId,\n },\n });\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error creating stored agent');\n }\n },\n});\n\n/**\n * PATCH /stored/agents/:storedAgentId - Update a stored agent\n */\nexport const UPDATE_STORED_AGENT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n bodySchema: updateStoredAgentBodySchema,\n responseSchema: updateStoredAgentResponseSchema,\n summary: 'Update stored agent',\n description: 'Updates an existing agent in storage with the provided fields',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedAgentId,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n ownerId,\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Check if agent exists\n const existing = await agentsStore.getAgentById({ id: storedAgentId });\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n // Only include tools/integrationTools if they're actually arrays from the body (not {} from adapter)\n const toolsFromBody = Array.isArray(tools) ? tools : undefined;\n const integrationToolsFromBody = Array.isArray(integrationTools) ? integrationTools : undefined;\n\n const updatedAgent = await agentsStore.updateAgent({\n id: storedAgentId,\n name,\n description,\n instructions,\n model,\n tools: toolsFromBody,\n defaultOptions,\n workflows,\n agents,\n integrationTools: integrationToolsFromBody,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n ownerId,\n });\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a version if there are meaningful changes and updates activeVersionId\n const { agent } = await handleAutoVersioning(agentsStore, storedAgentId, existing, updatedAgent);\n\n // Clear the cached agent instance so the next request gets the updated config\n mastra.clearStoredAgentCache(storedAgentId);\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error updating stored agent');\n }\n },\n});\n\n/**\n * DELETE /stored/agents/:storedAgentId - Delete a stored agent\n */\nexport const DELETE_STORED_AGENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: deleteStoredAgentResponseSchema,\n summary: 'Delete stored agent',\n description: 'Deletes an agent from storage by its unique identifier',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, storedAgentId }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Check if agent exists\n const existing = await agentsStore.getAgentById({ id: storedAgentId });\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n await agentsStore.deleteAgent({ id: storedAgentId });\n\n // Clear the cached agent instance\n mastra.clearStoredAgentCache(storedAgentId);\n\n return { success: true, message: `Agent ${storedAgentId} deleted successfully` };\n } catch (error) {\n return handleError(error, 'Error deleting stored agent');\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkMCYD5LW7_cjs = require('./chunk-MCYD5LW7.cjs');
|
|
4
|
+
var chunk4LVJBXI2_cjs = require('./chunk-4LVJBXI2.cjs');
|
|
5
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
6
|
+
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
7
|
+
var zod = require('zod');
|
|
8
|
+
|
|
9
|
+
// src/server/handlers/mcp.ts
|
|
10
|
+
var mcp_exports = {};
|
|
11
|
+
chunkO7I5CWRX_cjs.__export(mcp_exports, {
|
|
12
|
+
EXECUTE_MCP_SERVER_TOOL_ROUTE: () => EXECUTE_MCP_SERVER_TOOL_ROUTE,
|
|
13
|
+
GET_MCP_SERVER_DETAIL_ROUTE: () => GET_MCP_SERVER_DETAIL_ROUTE,
|
|
14
|
+
GET_MCP_SERVER_TOOL_DETAIL_ROUTE: () => GET_MCP_SERVER_TOOL_DETAIL_ROUTE,
|
|
15
|
+
LIST_MCP_SERVERS_ROUTE: () => LIST_MCP_SERVERS_ROUTE,
|
|
16
|
+
LIST_MCP_SERVER_TOOLS_ROUTE: () => LIST_MCP_SERVER_TOOLS_ROUTE,
|
|
17
|
+
MCP_HTTP_TRANSPORT_ROUTE: () => MCP_HTTP_TRANSPORT_ROUTE,
|
|
18
|
+
MCP_SSE_MESSAGES_ROUTE: () => MCP_SSE_MESSAGES_ROUTE,
|
|
19
|
+
MCP_SSE_TRANSPORT_ROUTE: () => MCP_SSE_TRANSPORT_ROUTE
|
|
20
|
+
});
|
|
21
|
+
var mcpServerIdPathParams = zod.z.object({
|
|
22
|
+
serverId: zod.z.string().describe("MCP server ID")
|
|
23
|
+
});
|
|
24
|
+
var mcpServerDetailPathParams = zod.z.object({
|
|
25
|
+
id: zod.z.string().describe("MCP server ID")
|
|
26
|
+
});
|
|
27
|
+
var mcpServerToolPathParams = zod.z.object({
|
|
28
|
+
serverId: zod.z.string().describe("MCP server ID"),
|
|
29
|
+
toolId: zod.z.string().describe("Tool ID")
|
|
30
|
+
});
|
|
31
|
+
var executeToolBodySchema = zod.z.object({
|
|
32
|
+
data: zod.z.unknown().optional()
|
|
33
|
+
});
|
|
34
|
+
var listMcpServersQuerySchema = chunkMCYD5LW7_cjs.createCombinedPaginationSchema();
|
|
35
|
+
var getMcpServerDetailQuerySchema = zod.z.object({
|
|
36
|
+
version: zod.z.string().optional()
|
|
37
|
+
});
|
|
38
|
+
var versionDetailSchema = zod.z.object({
|
|
39
|
+
version: zod.z.string(),
|
|
40
|
+
release_date: zod.z.string(),
|
|
41
|
+
is_latest: zod.z.boolean()
|
|
42
|
+
});
|
|
43
|
+
var serverInfoSchema = zod.z.object({
|
|
44
|
+
id: zod.z.string(),
|
|
45
|
+
name: zod.z.string(),
|
|
46
|
+
version_detail: versionDetailSchema
|
|
47
|
+
});
|
|
48
|
+
var listMcpServersResponseSchema = zod.z.object({
|
|
49
|
+
servers: zod.z.array(serverInfoSchema),
|
|
50
|
+
total_count: zod.z.number(),
|
|
51
|
+
next: zod.z.string().nullable()
|
|
52
|
+
});
|
|
53
|
+
var serverDetailSchema = zod.z.object({
|
|
54
|
+
id: zod.z.string(),
|
|
55
|
+
name: zod.z.string(),
|
|
56
|
+
description: zod.z.string().optional(),
|
|
57
|
+
version_detail: versionDetailSchema,
|
|
58
|
+
package_canonical: zod.z.string().optional(),
|
|
59
|
+
packages: zod.z.array(zod.z.unknown()).optional(),
|
|
60
|
+
remotes: zod.z.array(zod.z.unknown()).optional()
|
|
61
|
+
});
|
|
62
|
+
var mcpToolInfoSchema = zod.z.object({
|
|
63
|
+
name: zod.z.string(),
|
|
64
|
+
description: zod.z.string().optional(),
|
|
65
|
+
inputSchema: zod.z.unknown(),
|
|
66
|
+
outputSchema: zod.z.unknown().optional(),
|
|
67
|
+
toolType: zod.z.string().optional()
|
|
68
|
+
});
|
|
69
|
+
var listMcpServerToolsResponseSchema = zod.z.object({
|
|
70
|
+
tools: zod.z.array(mcpToolInfoSchema)
|
|
71
|
+
});
|
|
72
|
+
var executeToolResponseSchema = zod.z.object({
|
|
73
|
+
result: zod.z.unknown()
|
|
74
|
+
});
|
|
75
|
+
zod.z.object({
|
|
76
|
+
jsonrpc: zod.z.literal("2.0"),
|
|
77
|
+
error: zod.z.object({
|
|
78
|
+
code: zod.z.number(),
|
|
79
|
+
message: zod.z.string()
|
|
80
|
+
}),
|
|
81
|
+
id: zod.z.null()
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// src/server/handlers/mcp.ts
|
|
85
|
+
var LIST_MCP_SERVERS_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
86
|
+
method: "GET",
|
|
87
|
+
path: "/mcp/v0/servers",
|
|
88
|
+
responseType: "json",
|
|
89
|
+
queryParamSchema: listMcpServersQuerySchema,
|
|
90
|
+
responseSchema: listMcpServersResponseSchema,
|
|
91
|
+
summary: "List MCP servers",
|
|
92
|
+
description: "Returns a list of registered MCP servers with pagination support",
|
|
93
|
+
tags: ["MCP"],
|
|
94
|
+
requiresAuth: true,
|
|
95
|
+
handler: async ({
|
|
96
|
+
mastra,
|
|
97
|
+
routePrefix,
|
|
98
|
+
page,
|
|
99
|
+
perPage,
|
|
100
|
+
limit,
|
|
101
|
+
offset
|
|
102
|
+
}) => {
|
|
103
|
+
if (!mastra || typeof mastra.listMCPServers !== "function") {
|
|
104
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or listMCPServers method not available" });
|
|
105
|
+
}
|
|
106
|
+
const servers = mastra.listMCPServers();
|
|
107
|
+
if (!servers) {
|
|
108
|
+
return { servers: [], total_count: 0, next: null };
|
|
109
|
+
}
|
|
110
|
+
const serverList = Object.values(servers);
|
|
111
|
+
const totalCount = serverList.length;
|
|
112
|
+
const useLegacyFormat = (limit !== void 0 || offset !== void 0) && page === void 0 && perPage === void 0;
|
|
113
|
+
const finalPerPage = perPage ?? limit;
|
|
114
|
+
let finalPage = page;
|
|
115
|
+
if (finalPage === void 0 && offset !== void 0 && finalPerPage !== void 0 && finalPerPage > 0) {
|
|
116
|
+
finalPage = Math.floor(offset / finalPerPage);
|
|
117
|
+
}
|
|
118
|
+
const actualOffset = finalPage !== void 0 && finalPerPage !== void 0 ? finalPage * finalPerPage : 0;
|
|
119
|
+
let paginatedServers = serverList;
|
|
120
|
+
let nextUrl = null;
|
|
121
|
+
if (finalPerPage !== void 0) {
|
|
122
|
+
paginatedServers = serverList.slice(actualOffset, actualOffset + finalPerPage);
|
|
123
|
+
if (actualOffset + finalPerPage < totalCount) {
|
|
124
|
+
const nextPage = (finalPage ?? 0) + 1;
|
|
125
|
+
const prefix = routePrefix ?? "";
|
|
126
|
+
if (useLegacyFormat) {
|
|
127
|
+
const nextOffset = actualOffset + finalPerPage;
|
|
128
|
+
nextUrl = `${prefix}/mcp/v0/servers?limit=${finalPerPage}&offset=${nextOffset}`;
|
|
129
|
+
} else {
|
|
130
|
+
nextUrl = `${prefix}/mcp/v0/servers?perPage=${finalPerPage}&page=${nextPage}`;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const serverInfoList = paginatedServers.map((server) => server.getServerInfo());
|
|
135
|
+
return {
|
|
136
|
+
servers: serverInfoList,
|
|
137
|
+
total_count: totalCount,
|
|
138
|
+
next: nextUrl
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
var GET_MCP_SERVER_DETAIL_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
143
|
+
method: "GET",
|
|
144
|
+
path: "/mcp/v0/servers/:id",
|
|
145
|
+
responseType: "json",
|
|
146
|
+
pathParamSchema: mcpServerDetailPathParams,
|
|
147
|
+
queryParamSchema: getMcpServerDetailQuerySchema,
|
|
148
|
+
responseSchema: serverDetailSchema,
|
|
149
|
+
summary: "Get MCP server details",
|
|
150
|
+
description: "Returns detailed information about a specific MCP server",
|
|
151
|
+
tags: ["MCP"],
|
|
152
|
+
requiresAuth: true,
|
|
153
|
+
handler: async ({ mastra, id, version }) => {
|
|
154
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
155
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
156
|
+
}
|
|
157
|
+
const server = mastra.getMCPServerById(id);
|
|
158
|
+
if (!server) {
|
|
159
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server with ID '${id}' not found` });
|
|
160
|
+
}
|
|
161
|
+
const serverDetail = server.getServerDetail();
|
|
162
|
+
if (version && serverDetail.version_detail.version !== version) {
|
|
163
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, {
|
|
164
|
+
message: `MCP server with ID '${id}' found, but not version '${version}'. Available version: ${serverDetail.version_detail.version}`
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return serverDetail;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
var LIST_MCP_SERVER_TOOLS_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
171
|
+
method: "GET",
|
|
172
|
+
path: "/mcp/:serverId/tools",
|
|
173
|
+
responseType: "json",
|
|
174
|
+
pathParamSchema: mcpServerIdPathParams,
|
|
175
|
+
responseSchema: listMcpServerToolsResponseSchema,
|
|
176
|
+
summary: "List MCP server tools",
|
|
177
|
+
description: "Returns a list of tools available on the specified MCP server",
|
|
178
|
+
tags: ["MCP"],
|
|
179
|
+
requiresAuth: true,
|
|
180
|
+
handler: async ({ mastra, serverId }) => {
|
|
181
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
182
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
183
|
+
}
|
|
184
|
+
const server = mastra.getMCPServerById(serverId);
|
|
185
|
+
if (!server) {
|
|
186
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });
|
|
187
|
+
}
|
|
188
|
+
if (typeof server.getToolListInfo !== "function") {
|
|
189
|
+
throw new chunk64ITUOXI_cjs.HTTPException(501, { message: `Server '${serverId}' cannot list tools in this way.` });
|
|
190
|
+
}
|
|
191
|
+
return server.getToolListInfo();
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
var GET_MCP_SERVER_TOOL_DETAIL_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
195
|
+
method: "GET",
|
|
196
|
+
path: "/mcp/:serverId/tools/:toolId",
|
|
197
|
+
responseType: "json",
|
|
198
|
+
pathParamSchema: mcpServerToolPathParams,
|
|
199
|
+
responseSchema: mcpToolInfoSchema,
|
|
200
|
+
summary: "Get MCP server tool details",
|
|
201
|
+
description: "Returns detailed information about a specific tool on the MCP server",
|
|
202
|
+
tags: ["MCP"],
|
|
203
|
+
requiresAuth: true,
|
|
204
|
+
handler: async ({ mastra, serverId, toolId }) => {
|
|
205
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
206
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
207
|
+
}
|
|
208
|
+
const server = mastra.getMCPServerById(serverId);
|
|
209
|
+
if (!server) {
|
|
210
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });
|
|
211
|
+
}
|
|
212
|
+
if (typeof server.getToolInfo !== "function") {
|
|
213
|
+
throw new chunk64ITUOXI_cjs.HTTPException(501, { message: `Server '${serverId}' cannot provide tool details in this way.` });
|
|
214
|
+
}
|
|
215
|
+
const toolInfo = server.getToolInfo(toolId);
|
|
216
|
+
if (!toolInfo) {
|
|
217
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Tool with ID '${toolId}' not found on MCP server '${serverId}'` });
|
|
218
|
+
}
|
|
219
|
+
return toolInfo;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
var EXECUTE_MCP_SERVER_TOOL_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
223
|
+
method: "POST",
|
|
224
|
+
path: "/mcp/:serverId/tools/:toolId/execute",
|
|
225
|
+
responseType: "json",
|
|
226
|
+
pathParamSchema: mcpServerToolPathParams,
|
|
227
|
+
bodySchema: executeToolBodySchema,
|
|
228
|
+
responseSchema: executeToolResponseSchema,
|
|
229
|
+
summary: "Execute MCP server tool",
|
|
230
|
+
description: "Executes a tool on the specified MCP server with the provided arguments",
|
|
231
|
+
tags: ["MCP"],
|
|
232
|
+
requiresAuth: true,
|
|
233
|
+
handler: async ({
|
|
234
|
+
mastra,
|
|
235
|
+
serverId,
|
|
236
|
+
toolId,
|
|
237
|
+
data
|
|
238
|
+
}) => {
|
|
239
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
240
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
241
|
+
}
|
|
242
|
+
const server = mastra.getMCPServerById(serverId);
|
|
243
|
+
if (!server) {
|
|
244
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });
|
|
245
|
+
}
|
|
246
|
+
if (typeof server.executeTool !== "function") {
|
|
247
|
+
throw new chunk64ITUOXI_cjs.HTTPException(501, { message: `Server '${serverId}' cannot execute tools in this way.` });
|
|
248
|
+
}
|
|
249
|
+
const result = await server.executeTool(toolId, data);
|
|
250
|
+
return { result };
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
var MCP_HTTP_TRANSPORT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
254
|
+
method: "ALL",
|
|
255
|
+
path: "/mcp/:serverId/mcp",
|
|
256
|
+
responseType: "mcp-http",
|
|
257
|
+
pathParamSchema: mcpServerIdPathParams,
|
|
258
|
+
summary: "MCP HTTP Transport",
|
|
259
|
+
description: "Streamable HTTP transport endpoint for MCP protocol communication",
|
|
260
|
+
tags: ["MCP"],
|
|
261
|
+
requiresAuth: true,
|
|
262
|
+
handler: async ({ mastra, serverId }) => {
|
|
263
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
264
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
265
|
+
}
|
|
266
|
+
const server = mastra.getMCPServerById(serverId);
|
|
267
|
+
if (!server) {
|
|
268
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server '${serverId}' not found` });
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
271
|
+
server,
|
|
272
|
+
httpPath: `/mcp/${serverId}/mcp`
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
var MCP_SSE_TRANSPORT_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
277
|
+
method: "ALL",
|
|
278
|
+
path: "/mcp/:serverId/sse",
|
|
279
|
+
responseType: "mcp-sse",
|
|
280
|
+
pathParamSchema: mcpServerIdPathParams,
|
|
281
|
+
summary: "MCP SSE Transport",
|
|
282
|
+
description: "SSE transport endpoint for MCP protocol communication",
|
|
283
|
+
tags: ["MCP"],
|
|
284
|
+
requiresAuth: true,
|
|
285
|
+
handler: async ({ mastra, serverId }) => {
|
|
286
|
+
if (!mastra || typeof mastra.getMCPServerById !== "function") {
|
|
287
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance or getMCPServerById method not available" });
|
|
288
|
+
}
|
|
289
|
+
const server = mastra.getMCPServerById(serverId);
|
|
290
|
+
if (!server) {
|
|
291
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `MCP server '${serverId}' not found` });
|
|
292
|
+
}
|
|
293
|
+
return {
|
|
294
|
+
server,
|
|
295
|
+
ssePath: `/mcp/${serverId}/sse`,
|
|
296
|
+
messagePath: `/mcp/${serverId}/messages`
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
var MCP_SSE_MESSAGES_ROUTE = chunk4LVJBXI2_cjs.createRoute({
|
|
301
|
+
method: "POST",
|
|
302
|
+
path: "/mcp/:serverId/messages",
|
|
303
|
+
responseType: "mcp-sse",
|
|
304
|
+
pathParamSchema: mcpServerIdPathParams,
|
|
305
|
+
summary: "MCP SSE Messages",
|
|
306
|
+
description: "Message endpoint for SSE transport (posts messages to active SSE streams)",
|
|
307
|
+
tags: ["MCP"],
|
|
308
|
+
requiresAuth: true,
|
|
309
|
+
handler: MCP_SSE_TRANSPORT_ROUTE.handler
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
exports.EXECUTE_MCP_SERVER_TOOL_ROUTE = EXECUTE_MCP_SERVER_TOOL_ROUTE;
|
|
313
|
+
exports.GET_MCP_SERVER_DETAIL_ROUTE = GET_MCP_SERVER_DETAIL_ROUTE;
|
|
314
|
+
exports.GET_MCP_SERVER_TOOL_DETAIL_ROUTE = GET_MCP_SERVER_TOOL_DETAIL_ROUTE;
|
|
315
|
+
exports.LIST_MCP_SERVERS_ROUTE = LIST_MCP_SERVERS_ROUTE;
|
|
316
|
+
exports.LIST_MCP_SERVER_TOOLS_ROUTE = LIST_MCP_SERVER_TOOLS_ROUTE;
|
|
317
|
+
exports.MCP_HTTP_TRANSPORT_ROUTE = MCP_HTTP_TRANSPORT_ROUTE;
|
|
318
|
+
exports.MCP_SSE_MESSAGES_ROUTE = MCP_SSE_MESSAGES_ROUTE;
|
|
319
|
+
exports.MCP_SSE_TRANSPORT_ROUTE = MCP_SSE_TRANSPORT_ROUTE;
|
|
320
|
+
exports.mcp_exports = mcp_exports;
|
|
321
|
+
//# sourceMappingURL=chunk-JRM3DWRM.cjs.map
|
|
322
|
+
//# sourceMappingURL=chunk-JRM3DWRM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/mcp.ts","../src/server/schemas/mcp.ts"],"names":["__export","z","createCombinedPaginationSchema","createRoute","HTTPException"],"mappings":"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","file":"chunk-JRM3DWRM.cjs","sourcesContent":["import type { MCPServerBase as MastraMCPServerImplementation, ServerInfo } from '@mastra/core/mcp';\nimport { HTTPException } from '../http-exception';\nimport {\n mcpServerDetailPathParams,\n mcpServerToolPathParams,\n executeToolBodySchema,\n listMcpServersQuerySchema,\n getMcpServerDetailQuerySchema,\n listMcpServersResponseSchema,\n serverDetailSchema,\n mcpServerIdPathParams,\n listMcpServerToolsResponseSchema,\n mcpToolInfoSchema,\n executeToolResponseSchema,\n} from '../schemas/mcp';\nimport type { ServerContext } from '../server-adapter';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\n// ============================================================================\n// Route Definitions (createRoute pattern for server adapters)\n// ============================================================================\n\nexport const LIST_MCP_SERVERS_ROUTE = createRoute({\n method: 'GET',\n path: '/mcp/v0/servers',\n responseType: 'json',\n queryParamSchema: listMcpServersQuerySchema,\n responseSchema: listMcpServersResponseSchema,\n summary: 'List MCP servers',\n description: 'Returns a list of registered MCP servers with pagination support',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({\n mastra,\n routePrefix,\n page,\n perPage,\n limit,\n offset,\n }: ServerContext & { page?: number; perPage?: number; limit?: number; offset?: number }) => {\n if (!mastra || typeof mastra.listMCPServers !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or listMCPServers method not available' });\n }\n\n const servers = mastra.listMCPServers();\n\n if (!servers) {\n return { servers: [], total_count: 0, next: null };\n }\n\n const serverList = Object.values(servers) as MastraMCPServerImplementation[];\n const totalCount = serverList.length;\n\n // Support both page/perPage and limit/offset for backwards compatibility\n // Detect which format user is using - prefer page/perPage if both provided\n const useLegacyFormat =\n (limit !== undefined || offset !== undefined) && page === undefined && perPage === undefined;\n\n // If perPage provided, use it; otherwise fall back to limit\n const finalPerPage = perPage ?? limit;\n // If page provided, use it; otherwise convert from offset\n let finalPage = page;\n if (finalPage === undefined && offset !== undefined && finalPerPage !== undefined && finalPerPage > 0) {\n finalPage = Math.floor(offset / finalPerPage);\n }\n\n // Calculate offset from page/perPage\n const actualOffset = finalPage !== undefined && finalPerPage !== undefined ? finalPage * finalPerPage : 0;\n\n // Apply pagination\n let paginatedServers = serverList;\n let nextUrl: string | null = null;\n\n if (finalPerPage !== undefined) {\n paginatedServers = serverList.slice(actualOffset, actualOffset + finalPerPage);\n\n // Calculate next URL if there are more results\n if (actualOffset + finalPerPage < totalCount) {\n const nextPage = (finalPage ?? 0) + 1;\n // Return next URL in same format as request (legacy limit/offset or page/perPage)\n const prefix = routePrefix ?? '';\n if (useLegacyFormat) {\n const nextOffset = actualOffset + finalPerPage;\n nextUrl = `${prefix}/mcp/v0/servers?limit=${finalPerPage}&offset=${nextOffset}`;\n } else {\n nextUrl = `${prefix}/mcp/v0/servers?perPage=${finalPerPage}&page=${nextPage}`;\n }\n }\n }\n\n // Get server info for each server\n const serverInfoList: ServerInfo[] = paginatedServers.map(server => server.getServerInfo());\n\n return {\n servers: serverInfoList,\n total_count: totalCount,\n next: nextUrl,\n };\n },\n});\n\nexport const GET_MCP_SERVER_DETAIL_ROUTE = createRoute({\n method: 'GET',\n path: '/mcp/v0/servers/:id',\n responseType: 'json',\n pathParamSchema: mcpServerDetailPathParams,\n queryParamSchema: getMcpServerDetailQuerySchema,\n responseSchema: serverDetailSchema,\n summary: 'Get MCP server details',\n description: 'Returns detailed information about a specific MCP server',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({ mastra, id, version }: ServerContext & { id: string; version?: string }) => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(id);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server with ID '${id}' not found` });\n }\n\n const serverDetail = server.getServerDetail();\n\n // If a specific version was requested, check if it matches\n if (version && serverDetail.version_detail.version !== version) {\n throw new HTTPException(404, {\n message: `MCP server with ID '${id}' found, but not version '${version}'. Available version: ${serverDetail.version_detail.version}`,\n });\n }\n\n return serverDetail;\n },\n});\n\nexport const LIST_MCP_SERVER_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/mcp/:serverId/tools',\n responseType: 'json',\n pathParamSchema: mcpServerIdPathParams,\n responseSchema: listMcpServerToolsResponseSchema,\n summary: 'List MCP server tools',\n description: 'Returns a list of tools available on the specified MCP server',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({ mastra, serverId }: ServerContext & { serverId: string }) => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(serverId);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });\n }\n\n if (typeof server.getToolListInfo !== 'function') {\n throw new HTTPException(501, { message: `Server '${serverId}' cannot list tools in this way.` });\n }\n\n return server.getToolListInfo();\n },\n});\n\nexport const GET_MCP_SERVER_TOOL_DETAIL_ROUTE = createRoute({\n method: 'GET',\n path: '/mcp/:serverId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: mcpServerToolPathParams,\n responseSchema: mcpToolInfoSchema,\n summary: 'Get MCP server tool details',\n description: 'Returns detailed information about a specific tool on the MCP server',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({ mastra, serverId, toolId }: ServerContext & { serverId: string; toolId: string }) => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(serverId);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });\n }\n\n if (typeof server.getToolInfo !== 'function') {\n throw new HTTPException(501, { message: `Server '${serverId}' cannot provide tool details in this way.` });\n }\n\n const toolInfo = server.getToolInfo(toolId);\n if (!toolInfo) {\n throw new HTTPException(404, { message: `Tool with ID '${toolId}' not found on MCP server '${serverId}'` });\n }\n\n return toolInfo;\n },\n});\n\nexport const EXECUTE_MCP_SERVER_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/mcp/:serverId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: mcpServerToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute MCP server tool',\n description: 'Executes a tool on the specified MCP server with the provided arguments',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({\n mastra,\n serverId,\n toolId,\n data,\n }: ServerContext & { serverId: string; toolId: string; data?: unknown }) => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(serverId);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server with ID '${serverId}' not found` });\n }\n\n if (typeof server.executeTool !== 'function') {\n throw new HTTPException(501, { message: `Server '${serverId}' cannot execute tools in this way.` });\n }\n\n const result = await server.executeTool(toolId, data);\n return { result };\n },\n});\n\n// ============================================================================\n// MCP Transport Routes (Streamable HTTP and SSE)\n// ============================================================================\n\n/**\n * MCP transport options that can be passed to startHTTP() or startSSE().\n * Includes serverless mode for running in stateless environments like Cloudflare Workers or Vercel Edge.\n */\nexport interface MCPTransportOptions {\n /**\n * When true, runs in stateless mode without session management.\n * Ideal for serverless environments where you can't maintain persistent connections.\n */\n serverless?: boolean;\n /**\n * Custom session ID generator function.\n */\n sessionIdGenerator?: () => string;\n}\n\n/**\n * MCP HTTP Transport response type.\n * Adapters use this to set up the HTTP transport via MCPServer.startHTTP()\n */\nexport interface MCPHttpTransportResult {\n server: MastraMCPServerImplementation;\n httpPath: string;\n /**\n * Optional MCP transport options for this specific route.\n * These override any class-level mcpOptions configured on the adapter.\n */\n mcpOptions?: MCPTransportOptions;\n}\n\n/**\n * MCP SSE Transport response type.\n * Adapters use this to set up the SSE transport via MCPServer.startSSE() or startHonoSSE()\n *\n * Note: SSE transport is inherently stateful and doesn't support serverless mode.\n */\nexport interface MCPSseTransportResult {\n server: MastraMCPServerImplementation;\n ssePath: string;\n messagePath: string;\n}\n\nexport const MCP_HTTP_TRANSPORT_ROUTE = createRoute({\n method: 'ALL',\n path: '/mcp/:serverId/mcp',\n responseType: 'mcp-http',\n pathParamSchema: mcpServerIdPathParams,\n summary: 'MCP HTTP Transport',\n description: 'Streamable HTTP transport endpoint for MCP protocol communication',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({ mastra, serverId }: ServerContext & { serverId: string }): Promise<MCPHttpTransportResult> => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(serverId);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server '${serverId}' not found` });\n }\n\n return {\n server,\n httpPath: `/mcp/${serverId}/mcp`,\n };\n },\n});\n\nexport const MCP_SSE_TRANSPORT_ROUTE = createRoute({\n method: 'ALL',\n path: '/mcp/:serverId/sse',\n responseType: 'mcp-sse',\n pathParamSchema: mcpServerIdPathParams,\n summary: 'MCP SSE Transport',\n description: 'SSE transport endpoint for MCP protocol communication',\n tags: ['MCP'],\n requiresAuth: true,\n handler: async ({ mastra, serverId }: ServerContext & { serverId: string }): Promise<MCPSseTransportResult> => {\n if (!mastra || typeof mastra.getMCPServerById !== 'function') {\n throw new HTTPException(500, { message: 'Mastra instance or getMCPServerById method not available' });\n }\n\n const server = mastra.getMCPServerById(serverId);\n\n if (!server) {\n throw new HTTPException(404, { message: `MCP server '${serverId}' not found` });\n }\n\n return {\n server,\n ssePath: `/mcp/${serverId}/sse`,\n messagePath: `/mcp/${serverId}/messages`,\n };\n },\n});\n\nexport const MCP_SSE_MESSAGES_ROUTE = createRoute({\n method: 'POST',\n path: '/mcp/:serverId/messages',\n responseType: 'mcp-sse',\n pathParamSchema: mcpServerIdPathParams,\n summary: 'MCP SSE Messages',\n description: 'Message endpoint for SSE transport (posts messages to active SSE streams)',\n tags: ['MCP'],\n requiresAuth: true,\n handler: MCP_SSE_TRANSPORT_ROUTE.handler,\n});\n","import { z } from 'zod';\nimport { createCombinedPaginationSchema } from './common';\n\n// Path parameters\nexport const mcpServerIdPathParams = z.object({\n serverId: z.string().describe('MCP server ID'),\n});\n\nexport const mcpServerDetailPathParams = z.object({\n id: z.string().describe('MCP server ID'),\n});\n\nexport const mcpServerToolPathParams = z.object({\n serverId: z.string().describe('MCP server ID'),\n toolId: z.string().describe('Tool ID'),\n});\n\nexport const executeToolBodySchema = z.object({\n data: z.unknown().optional(),\n});\n\n// Query parameters\n// Supports both page/perPage and limit/offset for backwards compatibility\nexport const listMcpServersQuerySchema = createCombinedPaginationSchema();\n\nexport const getMcpServerDetailQuerySchema = z.object({\n version: z.string().optional(),\n});\n\n// Response schemas\nexport const versionDetailSchema = z.object({\n version: z.string(),\n release_date: z.string(),\n is_latest: z.boolean(),\n});\n\nexport const serverInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n version_detail: versionDetailSchema,\n});\n\nexport const listMcpServersResponseSchema = z.object({\n servers: z.array(serverInfoSchema),\n total_count: z.number(),\n next: z.string().nullable(),\n});\n\nexport const serverDetailSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional(),\n version_detail: versionDetailSchema,\n package_canonical: z.string().optional(),\n packages: z.array(z.unknown()).optional(),\n remotes: z.array(z.unknown()).optional(),\n});\n\n// Tool schemas\nexport const mcpToolInfoSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n inputSchema: z.unknown(),\n outputSchema: z.unknown().optional(),\n toolType: z.string().optional(),\n});\n\nexport const listMcpServerToolsResponseSchema = z.object({\n tools: z.array(mcpToolInfoSchema),\n});\n\nexport const executeToolResponseSchema = z.object({\n result: z.unknown(),\n});\n\n// JSON-RPC error response schema\nexport const jsonRpcErrorSchema = z.object({\n jsonrpc: z.literal('2.0'),\n error: z.object({\n code: z.number(),\n message: z.string(),\n }),\n id: z.null(),\n});\n"]}
|