@mastra/server 1.14.0 → 1.15.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 +13 -0
- package/dist/{chunk-MDYMZ4OK.cjs → chunk-2KEASYDU.cjs} +23 -23
- package/dist/{chunk-MDYMZ4OK.cjs.map → chunk-2KEASYDU.cjs.map} +1 -1
- package/dist/{chunk-U7WRAFPO.js → chunk-2ZVOQX2Q.js} +5 -5
- package/dist/{chunk-U7WRAFPO.js.map → chunk-2ZVOQX2Q.js.map} +1 -1
- package/dist/{chunk-4NGWOFN7.cjs → chunk-4ZHBZQXM.cjs} +11 -11
- package/dist/{chunk-4NGWOFN7.cjs.map → chunk-4ZHBZQXM.cjs.map} +1 -1
- package/dist/{chunk-QW2SC6DS.cjs → chunk-53CKJ5MP.cjs} +10 -10
- package/dist/{chunk-QW2SC6DS.cjs.map → chunk-53CKJ5MP.cjs.map} +1 -1
- package/dist/{chunk-LCDFOAST.cjs → chunk-55RZXH3T.cjs} +24 -24
- package/dist/{chunk-LCDFOAST.cjs.map → chunk-55RZXH3T.cjs.map} +1 -1
- package/dist/{chunk-MI6FWWJD.js → chunk-6I3NC77Y.js} +4 -4
- package/dist/{chunk-MI6FWWJD.js.map → chunk-6I3NC77Y.js.map} +1 -1
- package/dist/{chunk-NLI7HQU4.js → chunk-75XLM5YU.js} +4 -4
- package/dist/{chunk-NLI7HQU4.js.map → chunk-75XLM5YU.js.map} +1 -1
- package/dist/{chunk-P6GG3AYA.js → chunk-B2D7XPAW.js} +3 -3
- package/dist/{chunk-P6GG3AYA.js.map → chunk-B2D7XPAW.js.map} +1 -1
- package/dist/{chunk-OJXRWVPG.js → chunk-BISARVCB.js} +3 -3
- package/dist/{chunk-OJXRWVPG.js.map → chunk-BISARVCB.js.map} +1 -1
- package/dist/{chunk-55AD3MAT.js → chunk-BUGOOXLQ.js} +4 -4
- package/dist/{chunk-55AD3MAT.js.map → chunk-BUGOOXLQ.js.map} +1 -1
- package/dist/{chunk-HJEIULHK.cjs → chunk-BUNC6PXE.cjs} +7 -7
- package/dist/{chunk-HJEIULHK.cjs.map → chunk-BUNC6PXE.cjs.map} +1 -1
- package/dist/{chunk-JNZTLQGH.js → chunk-CGHIAHE4.js} +4 -4
- package/dist/{chunk-JNZTLQGH.js.map → chunk-CGHIAHE4.js.map} +1 -1
- package/dist/{chunk-OS326XHH.js → chunk-CQDKHDO5.js} +4 -4
- package/dist/{chunk-OS326XHH.js.map → chunk-CQDKHDO5.js.map} +1 -1
- package/dist/{chunk-YL4WPM3F.cjs → chunk-DDLPCKB2.cjs} +10 -10
- package/dist/{chunk-YL4WPM3F.cjs.map → chunk-DDLPCKB2.cjs.map} +1 -1
- package/dist/{chunk-4XVFN4EB.js → chunk-EQ5FORA4.js} +16 -10
- package/dist/chunk-EQ5FORA4.js.map +1 -0
- package/dist/{chunk-MJUZD7NE.js → chunk-F53VVSTG.js} +4 -4
- package/dist/{chunk-MJUZD7NE.js.map → chunk-F53VVSTG.js.map} +1 -1
- package/dist/{chunk-GEHJZKDB.cjs → chunk-FGVINEGE.cjs} +11 -11
- package/dist/{chunk-GEHJZKDB.cjs.map → chunk-FGVINEGE.cjs.map} +1 -1
- package/dist/{chunk-LE6IX2DD.js → chunk-FMQXIXOI.js} +12 -12
- package/dist/{chunk-LE6IX2DD.js.map → chunk-FMQXIXOI.js.map} +1 -1
- package/dist/{chunk-GRI42AT7.js → chunk-FS7SSMBW.js} +11 -3
- package/dist/chunk-FS7SSMBW.js.map +1 -0
- package/dist/{chunk-24IPFJ5L.js → chunk-G3ITOFN4.js} +3 -3
- package/dist/{chunk-24IPFJ5L.js.map → chunk-G3ITOFN4.js.map} +1 -1
- package/dist/{chunk-46ITQ5XN.cjs → chunk-G6FMIEKX.cjs} +6 -6
- package/dist/{chunk-46ITQ5XN.cjs.map → chunk-G6FMIEKX.cjs.map} +1 -1
- package/dist/{chunk-MSIV5GWW.cjs → chunk-GNW3DGR7.cjs} +29 -29
- package/dist/{chunk-MSIV5GWW.cjs.map → chunk-GNW3DGR7.cjs.map} +1 -1
- package/dist/{chunk-GFC5ZB75.cjs → chunk-HEOJ25V5.cjs} +10 -10
- package/dist/{chunk-GFC5ZB75.cjs.map → chunk-HEOJ25V5.cjs.map} +1 -1
- package/dist/{chunk-4NZHZQ6Q.cjs → chunk-I6ZA2R6M.cjs} +11 -2
- package/dist/chunk-I6ZA2R6M.cjs.map +1 -0
- package/dist/{chunk-L6ANZUEK.cjs → chunk-I7C56OKO.cjs} +96 -96
- package/dist/{chunk-L6ANZUEK.cjs.map → chunk-I7C56OKO.cjs.map} +1 -1
- package/dist/{chunk-4VGZOVOI.js → chunk-IIUQFWJQ.js} +3 -3
- package/dist/{chunk-4VGZOVOI.js.map → chunk-IIUQFWJQ.js.map} +1 -1
- package/dist/{chunk-2CWSPVQF.cjs → chunk-INP5SRVC.cjs} +4 -4
- package/dist/{chunk-2CWSPVQF.cjs.map → chunk-INP5SRVC.cjs.map} +1 -1
- package/dist/{chunk-4HWJ24DT.js → chunk-JMXNHFJT.js} +3 -3
- package/dist/{chunk-4HWJ24DT.js.map → chunk-JMXNHFJT.js.map} +1 -1
- package/dist/{chunk-2FG2J4GI.js → chunk-KEEXFB4G.js} +3 -3
- package/dist/{chunk-2FG2J4GI.js.map → chunk-KEEXFB4G.js.map} +1 -1
- package/dist/{chunk-S5GP7MGR.cjs → chunk-KQHX6XBO.cjs} +6 -6
- package/dist/{chunk-S5GP7MGR.cjs.map → chunk-KQHX6XBO.cjs.map} +1 -1
- package/dist/{chunk-SZABEGPT.cjs → chunk-LBAMGUCK.cjs} +11 -11
- package/dist/{chunk-SZABEGPT.cjs.map → chunk-LBAMGUCK.cjs.map} +1 -1
- package/dist/{chunk-CTQ3HPQI.cjs → chunk-LEN6GOK4.cjs} +11 -11
- package/dist/{chunk-CTQ3HPQI.cjs.map → chunk-LEN6GOK4.cjs.map} +1 -1
- package/dist/{chunk-UHDWOTND.cjs → chunk-LIDMRFHS.cjs} +35 -35
- package/dist/{chunk-UHDWOTND.cjs.map → chunk-LIDMRFHS.cjs.map} +1 -1
- package/dist/{chunk-NFXFCOSV.js → chunk-LKBVN25S.js} +3 -3
- package/dist/{chunk-NFXFCOSV.js.map → chunk-LKBVN25S.js.map} +1 -1
- package/dist/{chunk-7BO2VOGB.cjs → chunk-LM6RQBYB.cjs} +118 -112
- package/dist/chunk-LM6RQBYB.cjs.map +1 -0
- package/dist/{chunk-B4SQM6HA.cjs → chunk-MPS2N4MR.cjs} +28 -28
- package/dist/{chunk-B4SQM6HA.cjs.map → chunk-MPS2N4MR.cjs.map} +1 -1
- package/dist/{chunk-AEBQC6G6.cjs → chunk-NSMUADXN.cjs} +10 -10
- package/dist/{chunk-AEBQC6G6.cjs.map → chunk-NSMUADXN.cjs.map} +1 -1
- package/dist/{chunk-IVANH2RD.cjs → chunk-PR74IWI7.cjs} +10 -10
- package/dist/{chunk-IVANH2RD.cjs.map → chunk-PR74IWI7.cjs.map} +1 -1
- package/dist/{chunk-HPS5GJT3.js → chunk-PY7BK6R5.js} +3 -3
- package/dist/{chunk-HPS5GJT3.js.map → chunk-PY7BK6R5.js.map} +1 -1
- package/dist/{chunk-HTNNOZR2.js → chunk-Q2EPTZ2U.js} +3 -3
- package/dist/{chunk-HTNNOZR2.js.map → chunk-Q2EPTZ2U.js.map} +1 -1
- package/dist/{chunk-XFEA4PH2.js → chunk-QATGBU6M.js} +4 -4
- package/dist/{chunk-XFEA4PH2.js.map → chunk-QATGBU6M.js.map} +1 -1
- package/dist/{chunk-A6HL3JRC.cjs → chunk-QD6VVPVE.cjs} +3 -3
- package/dist/{chunk-A6HL3JRC.cjs.map → chunk-QD6VVPVE.cjs.map} +1 -1
- package/dist/{chunk-VEKRLGNI.cjs → chunk-QLZ77CJP.cjs} +12 -12
- package/dist/{chunk-VEKRLGNI.cjs.map → chunk-QLZ77CJP.cjs.map} +1 -1
- package/dist/{chunk-LYKMLRXD.cjs → chunk-RJIYWHJT.cjs} +10 -10
- package/dist/{chunk-LYKMLRXD.cjs.map → chunk-RJIYWHJT.cjs.map} +1 -1
- package/dist/{chunk-KZAB4IB3.js → chunk-RVLJB7VT.js} +3 -3
- package/dist/{chunk-KZAB4IB3.js.map → chunk-RVLJB7VT.js.map} +1 -1
- package/dist/{chunk-ZCFVL5AI.js → chunk-SDZGXISK.js} +3 -3
- package/dist/{chunk-ZCFVL5AI.js.map → chunk-SDZGXISK.js.map} +1 -1
- package/dist/{chunk-SE7KHXNQ.js → chunk-SVAGXZHK.js} +3 -3
- package/dist/{chunk-SE7KHXNQ.js.map → chunk-SVAGXZHK.js.map} +1 -1
- package/dist/{chunk-SJMWOGHQ.js → chunk-TQSLT72T.js} +3 -3
- package/dist/{chunk-SJMWOGHQ.js.map → chunk-TQSLT72T.js.map} +1 -1
- package/dist/{chunk-OWWZB5LT.js → chunk-U443PPE6.js} +6 -6
- package/dist/{chunk-OWWZB5LT.js.map → chunk-U443PPE6.js.map} +1 -1
- package/dist/{chunk-HTVDOYYQ.cjs → chunk-UHU7XGN5.cjs} +5 -5
- package/dist/{chunk-HTVDOYYQ.cjs.map → chunk-UHU7XGN5.cjs.map} +1 -1
- package/dist/{chunk-OXZCCCIJ.cjs → chunk-URKPHJ3V.cjs} +33 -33
- package/dist/{chunk-OXZCCCIJ.cjs.map → chunk-URKPHJ3V.cjs.map} +1 -1
- package/dist/{chunk-M5KELSDU.js → chunk-US6UOOSR.js} +4 -4
- package/dist/{chunk-M5KELSDU.js.map → chunk-US6UOOSR.js.map} +1 -1
- package/dist/{chunk-LUHJDABR.cjs → chunk-V2KPTU3N.cjs} +30 -30
- package/dist/{chunk-LUHJDABR.cjs.map → chunk-V2KPTU3N.cjs.map} +1 -1
- package/dist/{chunk-CLCXQYFC.js → chunk-V5PP7KDX.js} +3 -3
- package/dist/{chunk-CLCXQYFC.js.map → chunk-V5PP7KDX.js.map} +1 -1
- package/dist/{chunk-C5T7WB4Y.js → chunk-VKXG3BEY.js} +5 -5
- package/dist/{chunk-C5T7WB4Y.js.map → chunk-VKXG3BEY.js.map} +1 -1
- package/dist/{chunk-TNLKHEQX.cjs → chunk-VNM3X7IW.cjs} +11 -11
- package/dist/{chunk-TNLKHEQX.cjs.map → chunk-VNM3X7IW.cjs.map} +1 -1
- package/dist/{chunk-6BXHZVO4.cjs → chunk-VWYXBBBK.cjs} +10 -10
- package/dist/{chunk-6BXHZVO4.cjs.map → chunk-VWYXBBBK.cjs.map} +1 -1
- package/dist/{chunk-3MW2URMC.js → chunk-VXXU2IL3.js} +7 -3
- package/dist/chunk-VXXU2IL3.js.map +1 -0
- package/dist/{chunk-WJCVD3EA.js → chunk-WB6AK7JY.js} +3 -3
- package/dist/{chunk-WJCVD3EA.js.map → chunk-WB6AK7JY.js.map} +1 -1
- package/dist/{chunk-EFSXF23C.cjs → chunk-WBWSO2XP.cjs} +8 -4
- package/dist/chunk-WBWSO2XP.cjs.map +1 -0
- package/dist/{chunk-DEZVQIGB.cjs → chunk-XGPK3HFX.cjs} +10 -10
- package/dist/{chunk-DEZVQIGB.cjs.map → chunk-XGPK3HFX.cjs.map} +1 -1
- package/dist/{chunk-VX62DW2T.cjs → chunk-XQKMLH77.cjs} +6 -6
- package/dist/{chunk-VX62DW2T.cjs.map → chunk-XQKMLH77.cjs.map} +1 -1
- package/dist/{chunk-66TTR3PD.cjs → chunk-XVGLASCJ.cjs} +10 -10
- package/dist/{chunk-66TTR3PD.cjs.map → chunk-XVGLASCJ.cjs.map} +1 -1
- package/dist/{chunk-QSWHYCQJ.cjs → chunk-Z2BIGMS5.cjs} +33 -33
- package/dist/{chunk-QSWHYCQJ.cjs.map → chunk-Z2BIGMS5.cjs.map} +1 -1
- package/dist/{chunk-DRCX2OSH.js → chunk-Z2GTZMB6.js} +3 -3
- package/dist/{chunk-DRCX2OSH.js.map → chunk-Z2GTZMB6.js.map} +1 -1
- package/dist/{chunk-6VXSEVDC.js → chunk-Z5HHA64S.js} +5 -5
- package/dist/{chunk-6VXSEVDC.js.map → chunk-Z5HHA64S.js.map} +1 -1
- package/dist/{chunk-FEV3JR2X.js → chunk-Z72NDEOG.js} +3 -3
- package/dist/{chunk-FEV3JR2X.js.map → chunk-Z72NDEOG.js.map} +1 -1
- package/dist/{chunk-DB2GWK7T.js → chunk-ZQKKKLSE.js} +3 -3
- package/dist/{chunk-DB2GWK7T.js.map → chunk-ZQKKKLSE.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-server-routes.md +28 -8
- package/dist/{observational-memory-UEDVTWS2-TU3KK4ZG.cjs → observational-memory-UEDVTWS2-4W3HN25B.cjs} +18 -18
- package/dist/{observational-memory-UEDVTWS2-TU3KK4ZG.cjs.map → observational-memory-UEDVTWS2-4W3HN25B.cjs.map} +1 -1
- package/dist/{observational-memory-UEDVTWS2-COV6JJZK.js → observational-memory-UEDVTWS2-BX4GF252.js} +3 -3
- package/dist/{observational-memory-UEDVTWS2-COV6JJZK.js.map → observational-memory-UEDVTWS2-BX4GF252.js.map} +1 -1
- package/dist/{probe-image-size-NW5AOXWX.cjs → probe-image-size-7HF7Q24F.cjs} +6 -22
- package/dist/probe-image-size-7HF7Q24F.cjs.map +1 -0
- package/dist/{probe-image-size-VSBN7AG5.js → probe-image-size-M5NYSF5D.js} +6 -22
- package/dist/probe-image-size-M5NYSF5D.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +9 -9
- 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 +33 -33
- package/dist/server/handlers/agents.d.ts +22 -5
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +10 -10
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/datasets.cjs +21 -21
- 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/mcp.cjs +9 -9
- package/dist/server/handlers/mcp.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 +19 -19
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +24 -24
- 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/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 +2 -2
- 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/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 +24 -24
- 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 +26 -26
- package/dist/server/handlers.js +13 -13
- package/dist/server/schemas/agents.d.ts +13 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +44 -40
- package/dist/server/schemas/index.js +1 -1
- package/dist/server/server-adapter/index.cjs +281 -280
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +35 -34
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +75 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/chunk-3MW2URMC.js.map +0 -1
- package/dist/chunk-4NZHZQ6Q.cjs.map +0 -1
- package/dist/chunk-4XVFN4EB.js.map +0 -1
- package/dist/chunk-7BO2VOGB.cjs.map +0 -1
- package/dist/chunk-EFSXF23C.cjs.map +0 -1
- package/dist/chunk-GRI42AT7.js.map +0 -1
- package/dist/probe-image-size-NW5AOXWX.cjs.map +0 -1
- package/dist/probe-image-size-VSBN7AG5.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts","../src/server/constants.ts"],"names":["__export","PROVIDER_REGISTRY","standardSchemaToJSONSchema","toStandardSchema5","stringify","agent","zodToJsonSchema","HTTPException","acc","key","createRoute","z","listAgentsResponseSchema","editor","handleError","agentIdPathParams","agentVersionQuerySchema","serializedAgentSchema","createStoredAgentResponseSchema","toSlug","agentExecutionBodySchema","generateResponseSchema","sanitizeBody","validateBody","getEffectiveResourceId","getEffectiveThreadId","validateThreadOwnership","agentExecutionLegacyBodySchema","streamResponseSchema","providersResponseSchema","approveToolCallBodySchema","toolCallResponseSchema","declineToolCallBodySchema","approveNetworkToolCallBodySchema","declineNetworkToolCallBodySchema","updateAgentModelBodySchema","modelManagementResponseSchema","reorderAgentModelListBodySchema","modelConfigIdPathParams","updateAgentModelInModelListBodySchema","enhanceInstructionsBodySchema","enhanceInstructionsResponseSchema","Agent","MastraError","ErrorCategory","ErrorDomain","agentSkillPathParams","getAgentSkillResponseSchema"],"mappings":"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","file":"chunk-LM6RQBYB.cjs","sourcesContent":["import { Agent } from '@mastra/core/agent';\nimport type { AgentModelManagerConfig } from '@mastra/core/agent';\nimport { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';\nimport { PROVIDER_REGISTRY } from '@mastra/core/llm';\nimport type { ProviderConfig, SystemMessage } from '@mastra/core/llm';\nimport type {\n InputProcessor,\n OutputProcessor,\n InputProcessorOrWorkflow,\n OutputProcessorOrWorkflow,\n} from '@mastra/core/processors';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\nimport { stringify } from 'superjson';\n\nimport { z } from 'zod';\nimport { WORKSPACE_TOOLS, resolveToolConfig } from '../constants';\nimport type { WorkspaceToolName } from '../constants';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n agentSkillPathParams,\n agentVersionQuerySchema,\n listAgentsResponseSchema,\n serializedAgentSchema,\n agentExecutionBodySchema,\n agentExecutionLegacyBodySchema,\n generateResponseSchema,\n streamResponseSchema,\n providersResponseSchema,\n approveToolCallBodySchema,\n declineToolCallBodySchema,\n toolCallResponseSchema,\n updateAgentModelBodySchema,\n reorderAgentModelListBodySchema,\n updateAgentModelInModelListBodySchema,\n modelManagementResponseSchema,\n modelConfigIdPathParams,\n enhanceInstructionsBodySchema,\n enhanceInstructionsResponseSchema,\n approveNetworkToolCallBodySchema,\n declineNetworkToolCallBodySchema,\n} from '../schemas/agents';\nimport { createStoredAgentResponseSchema } from '../schemas/stored-agents';\nimport { getAgentSkillResponseSchema } from '../schemas/workspace';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport {\n sanitizeBody,\n validateBody,\n getEffectiveResourceId,\n getEffectiveThreadId,\n validateThreadOwnership,\n} from './utils';\n\n/**\n * Checks if a provider has its required API key environment variable(s) configured.\n * Handles provider IDs with suffixes (e.g., \"openai.chat\" -> \"openai\").\n * Also handles custom gateway providers that are stored with gateway prefix (e.g., \"acme/acme-openai\").\n * @param providerId - The provider identifier (may include a suffix like \".chat\" or be from a custom gateway)\n * @param customProviders - Optional record of custom gateway providers to check\n * @returns true if all required environment variables are set, false otherwise\n */\nexport function isProviderConnected(providerId: string, customProviders?: Record<string, ProviderConfig>): boolean {\n // Clean provider ID (e.g., \"openai.chat\" -> \"openai\")\n const cleanId = providerId.includes('.') ? providerId.split('.')[0]! : providerId;\n\n // First, try direct lookup in static registry\n let provider: ProviderConfig | undefined = PROVIDER_REGISTRY[cleanId as keyof typeof PROVIDER_REGISTRY];\n\n // If not found, check custom providers\n if (!provider && customProviders) {\n provider = customProviders[cleanId];\n }\n\n // If not found and doesn't contain a slash, check if it exists with a gateway prefix\n // This handles custom gateway providers stored as \"gateway/provider\" in the registry\n if (!provider && !cleanId.includes('/')) {\n // Search for a provider ID that matches the pattern \"*/cleanId\"\n const registryKeys = Object.keys(PROVIDER_REGISTRY);\n const matchingKey = registryKeys.find(key => {\n // Check if the key matches the pattern \"gateway/providerId\"\n const parts = key.split('/');\n return parts.length === 2 && parts[1] === cleanId;\n });\n\n if (matchingKey) {\n provider = PROVIDER_REGISTRY[matchingKey as keyof typeof PROVIDER_REGISTRY];\n }\n\n if (!provider && customProviders) {\n const customMatchingKey = Object.keys(customProviders).find(key => {\n const parts = key.split('/');\n return parts.length === 2 && parts[1] === cleanId;\n });\n if (customMatchingKey) {\n provider = customProviders[customMatchingKey];\n }\n }\n }\n\n if (!provider) return false;\n\n const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];\n return envVars.every(envVar => !!process.env[envVar]);\n}\n\nexport interface SerializedProcessor {\n id: string;\n name?: string;\n}\n\nexport interface SerializedSkill {\n name: string;\n description: string;\n license?: string;\n}\n\nexport interface SerializedTool {\n id: string;\n description?: string;\n inputSchema?: string;\n outputSchema?: string;\n requestContextSchema?: string;\n requireApproval?: boolean;\n}\n\ninterface SerializedToolInput {\n id?: string;\n description?: string;\n inputSchema?: { jsonSchema?: unknown } | unknown;\n outputSchema?: { jsonSchema?: unknown } | unknown;\n requestContextSchema?: { jsonSchema?: unknown } | unknown;\n}\n\nfunction resolveLazySchema(schema: unknown): unknown {\n if (typeof schema === 'function') {\n return resolveLazySchema(schema());\n }\n return schema;\n}\n\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) {\n return undefined;\n }\n\n return standardSchemaToJSONSchema(toStandardSchema(schema), { target: 'draft-2020-12' });\n}\n\nexport interface SerializedWorkflow {\n name: string;\n steps?: Record<string, { id: string; description?: string }>;\n}\n\nexport interface SerializedAgent {\n name: string;\n description?: string;\n instructions?: SystemMessage;\n tools: Record<string, SerializedTool>;\n agents: Record<string, SerializedAgentDefinition>;\n workflows: Record<string, SerializedWorkflow>;\n skills: SerializedSkill[];\n workspaceTools: string[];\n /** ID of the agent's workspace (if configured) */\n workspaceId?: string;\n inputProcessors: SerializedProcessor[];\n outputProcessors: SerializedProcessor[];\n provider?: string;\n modelId?: string;\n modelVersion?: string;\n modelList?: Array<\n Omit<AgentModelManagerConfig, 'model'> & {\n model: {\n modelId: string;\n provider: string;\n modelVersion: string;\n };\n }\n >;\n // We can't use the true types here because they are not serializable\n defaultOptions?: Record<string, unknown>;\n defaultGenerateOptionsLegacy?: Record<string, unknown>;\n defaultStreamOptionsLegacy?: Record<string, unknown>;\n /** Serialized JSON schema for request context validation */\n requestContextSchema?: string;\n source?: 'code' | 'stored';\n status?: 'draft' | 'published' | 'archived';\n activeVersionId?: string;\n hasDraft?: boolean;\n}\n\nexport interface SerializedAgentWithId extends SerializedAgent {\n id: string;\n}\n\nexport async function getSerializedAgentTools(\n tools: Record<string, SerializedToolInput>,\n partial: boolean = false,\n): Promise<Record<string, SerializedTool>> {\n return Object.entries(tools || {}).reduce<Record<string, SerializedTool>>((acc, [key, tool]) => {\n const toolId = tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn: string | undefined = undefined;\n let outputSchemaForReturn: string | undefined = undefined;\n let requestContextSchemaForReturn: string | undefined = undefined;\n\n // Only process schemas if not in partial mode\n if (!partial) {\n try {\n const inputSchema = schemaToJsonSchema(\n resolveLazySchema(tool.inputSchema) as PublicSchema<unknown> | undefined,\n );\n if (inputSchema !== undefined) {\n inputSchemaForReturn = stringify(inputSchema);\n }\n\n const outputSchema = schemaToJsonSchema(\n resolveLazySchema(tool.outputSchema) as PublicSchema<unknown> | undefined,\n );\n if (outputSchema !== undefined) {\n outputSchemaForReturn = stringify(outputSchema);\n }\n\n const requestContextSchema = schemaToJsonSchema(\n resolveLazySchema(tool.requestContextSchema) as PublicSchema<unknown> | undefined,\n );\n if (requestContextSchema !== undefined) {\n requestContextSchemaForReturn = stringify(requestContextSchema);\n }\n } catch (error) {\n console.error(`Error getting serialized tool`, {\n toolId: tool.id,\n error,\n });\n }\n }\n\n acc[key] = {\n ...tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n requestContextSchema: requestContextSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nexport function getSerializedProcessors(\n processors: (InputProcessor | OutputProcessor | InputProcessorOrWorkflow | OutputProcessorOrWorkflow)[],\n): SerializedProcessor[] {\n return processors.map(processor => {\n // Processors are class instances or objects with a name property\n // Use the name property if available, otherwise fall back to constructor name\n return {\n id: processor.id,\n name: processor.name || processor.constructor.name,\n };\n });\n}\n\n/**\n * Extract skills from agent's workspace.\n * Uses agent.getWorkspace() to get the workspace and then workspace.skills.list().\n */\nexport async function getSerializedSkillsFromAgent(\n agent: Agent,\n requestContext?: RequestContext,\n): Promise<SerializedSkill[]> {\n try {\n const workspace = await agent.getWorkspace({ requestContext });\n if (!workspace?.skills) {\n return [];\n }\n\n const skillsList = await workspace.skills.list();\n return skillsList.map(skill => ({\n name: skill.name,\n description: skill.description,\n license: skill.license,\n }));\n } catch {\n return [];\n }\n}\n\n/**\n * Get the list of available workspace tools for an agent.\n *\n * Tries to use core's `createWorkspaceTools` for an accurate tool list that\n * respects runtime availability (e.g. `@ast-grep/napi` for ast_edit).\n * Falls back to inlined config-based logic for older core versions that don't\n * export `createWorkspaceTools`.\n */\nexport async function getWorkspaceToolsFromAgent(agent: Agent, requestContext?: RequestContext): Promise<string[]> {\n try {\n const workspace = await agent.getWorkspace({ requestContext });\n if (!workspace) {\n return [];\n }\n\n // Try core's createWorkspaceTools — it checks runtime dep availability\n try {\n const mod = await import('@mastra/core/workspace');\n if (typeof mod.createWorkspaceTools === 'function') {\n return Object.keys(mod.createWorkspaceTools(workspace));\n }\n } catch {\n // Older core version without workspace module — fall through\n }\n\n // Fallback: inlined logic for older core versions.\n // Does not include AST_EDIT — only available via createWorkspaceTools above.\n const tools: string[] = [];\n const isReadOnly = workspace.filesystem?.readOnly ?? false;\n const toolsConfig = workspace.getToolsConfig();\n\n // Helper to check if a tool is enabled\n const isEnabled = (toolName: WorkspaceToolName) => {\n return resolveToolConfig(toolsConfig, toolName).enabled;\n };\n\n // Filesystem tools\n if (workspace.filesystem) {\n // Read tools\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.READ_FILE);\n }\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES);\n }\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT);\n }\n\n // Write tools only if not readonly\n if (!isReadOnly) {\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE);\n }\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE);\n }\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.DELETE)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.DELETE);\n }\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.MKDIR)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.MKDIR);\n }\n }\n\n // Grep tool (filesystem-based, not BM25/vector)\n if (isEnabled(WORKSPACE_TOOLS.FILESYSTEM.GREP)) {\n tools.push(WORKSPACE_TOOLS.FILESYSTEM.GREP);\n }\n }\n\n // Search tools (available if BM25 or vector search is enabled)\n if (workspace.canBM25 || workspace.canVector) {\n if (isEnabled(WORKSPACE_TOOLS.SEARCH.SEARCH)) {\n tools.push(WORKSPACE_TOOLS.SEARCH.SEARCH);\n }\n if (!isReadOnly && isEnabled(WORKSPACE_TOOLS.SEARCH.INDEX)) {\n tools.push(WORKSPACE_TOOLS.SEARCH.INDEX);\n }\n }\n\n // Sandbox tools\n if (workspace.sandbox) {\n if (workspace.sandbox.executeCommand && isEnabled(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND)) {\n tools.push(WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND);\n }\n }\n\n return tools;\n } catch {\n return [];\n }\n}\n\ninterface SerializedAgentDefinition {\n id: string;\n name: string;\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n requestContext,\n}: {\n agent: Agent;\n requestContext: RequestContext;\n}): Promise<Record<string, SerializedAgentDefinition>> {\n let serializedAgentAgents: Record<string, SerializedAgentDefinition> = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ requestContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<Record<string, SerializedAgentDefinition>>(\n (acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n },\n {},\n );\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n requestContext,\n partial = false,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n partial?: boolean;\n}): Promise<SerializedAgentWithId> {\n const description = agent.getDescription();\n const instructions = await agent.getInstructions({ requestContext });\n const tools = await agent.listTools({ requestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext });\n const serializedAgentTools = await getSerializedAgentTools(tools, partial);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps?: Record<string, { id: string; description?: string }> }\n > = {};\n\n const logger = mastra.getLogger();\n\n if ('listWorkflows' in agent) {\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps?: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });\n\n // Get and serialize only user-configured processors (excludes memory-derived processors)\n // This ensures the UI only shows processors explicitly configured by the user\n let serializedInputProcessors: ReturnType<typeof getSerializedProcessors> = [];\n let serializedOutputProcessors: ReturnType<typeof getSerializedProcessors> = [];\n try {\n const configuredProcessorWorkflows = await agent.getConfiguredProcessorWorkflows();\n const inputProcessorWorkflows = configuredProcessorWorkflows.filter(w => w.id.endsWith('-input-processor'));\n const outputProcessorWorkflows = configuredProcessorWorkflows.filter(w => w.id.endsWith('-output-processor'));\n serializedInputProcessors = getSerializedProcessors(inputProcessorWorkflows);\n serializedOutputProcessors = getSerializedProcessors(outputProcessorWorkflows);\n } catch (error) {\n logger.error('Error getting configured processors for agent', { agentName: agent.name, error });\n }\n\n // Extract skills, workspace tools, and workspaceId from agent's workspace\n const serializedSkills = await getSerializedSkillsFromAgent(agent, requestContext);\n const workspaceTools = await getWorkspaceToolsFromAgent(agent, requestContext);\n\n // Get workspaceId if agent has a workspace\n let workspaceId: string | undefined;\n try {\n const workspace = await agent.getWorkspace({ requestContext });\n workspaceId = workspace?.id;\n } catch {\n // Agent doesn't have a workspace or can't access it\n }\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n // Serialize requestContextSchema if present\n let serializedRequestContextSchema: string | undefined;\n if (agent.requestContextSchema) {\n try {\n serializedRequestContextSchema = stringify(zodToJsonSchema(agent.requestContextSchema));\n } catch (error) {\n logger.error('Error serializing requestContextSchema for agent', { agentName: agent.name, error });\n }\n }\n\n return {\n id: agent.id || id,\n name: agent.name,\n description,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n skills: serializedSkills,\n workspaceTools,\n workspaceId,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultOptions,\n modelList,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n requestContextSchema: serializedRequestContextSchema,\n source: (agent as any).source ?? 'code',\n ...(agent.toRawConfig()?.status\n ? { status: agent.toRawConfig()!.status as 'draft' | 'published' | 'archived' }\n : {}),\n ...(agent.toRawConfig()?.activeVersionId\n ? { activeVersionId: agent.toRawConfig()!.activeVersionId as string }\n : {}),\n hasDraft: !!(\n agent.toRawConfig()?.resolvedVersionId &&\n agent.toRawConfig()?.activeVersionId &&\n agent.toRawConfig()!.resolvedVersionId !== agent.toRawConfig()!.activeVersionId\n ),\n };\n}\n\nexport async function getAgentFromSystem({\n mastra,\n agentId,\n versionOptions,\n}: {\n mastra: Context['mastra'];\n agentId: string;\n versionOptions?: { status?: 'draft' | 'published' } | { versionId: string };\n}) {\n const logger = mastra.getLogger();\n\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n let agent;\n\n try {\n agent = mastra.getAgentById(agentId);\n } catch (error) {\n logger.debug('Error getting agent from mastra, searching agents for agent', error);\n }\n\n if (!agent) {\n logger.debug(`Agent ${agentId} not found, looking through sub-agents`);\n const agents = mastra.listAgents();\n if (Object.keys(agents || {}).length) {\n for (const [_, ag] of Object.entries(agents)) {\n try {\n const subAgents = await ag.listAgents();\n\n if (subAgents[agentId]) {\n agent = subAgents[agentId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting agent from agent', error);\n }\n }\n }\n }\n\n // If a code-defined agent was found, apply stored config overrides (if any)\n if (agent && mastra.getEditor) {\n try {\n const editorAgent = mastra.getEditor()?.agent;\n if (editorAgent) {\n agent = await editorAgent.applyStoredOverrides(agent, versionOptions);\n }\n } catch (error) {\n logger.debug('Error applying stored overrides to code agent', error);\n }\n }\n\n // If still not found, try to get stored agent\n if (!agent) {\n logger.debug(`Agent ${agentId} not found in code-defined agents, looking in stored agents`);\n try {\n agent = (await mastra.getEditor()?.agent.getById(agentId)) ?? null;\n } catch (error) {\n logger.debug('Error getting stored agent', error);\n }\n }\n\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n\n return agent;\n}\n\nasync function formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n isStudio: boolean;\n}): Promise<SerializedAgent> {\n const description = agent.getDescription();\n\n const tools = await agent.listTools({ requestContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n steps: Object.entries(workflow.steps).reduce<Record<string, { id: string; description?: string }>>(\n (acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n },\n {},\n ),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRequestContext = requestContext;\n if (isStudio) {\n proxyRequestContext = new Proxy(requestContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({\n requestContext: proxyRequestContext,\n });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });\n\n // Get and serialize only user-configured processors (excludes memory-derived processors)\n // This ensures the UI only shows processors explicitly configured by the user\n let serializedInputProcessors: ReturnType<typeof getSerializedProcessors> = [];\n let serializedOutputProcessors: ReturnType<typeof getSerializedProcessors> = [];\n try {\n const configuredProcessorWorkflows = await agent.getConfiguredProcessorWorkflows();\n const inputProcessorWorkflows = configuredProcessorWorkflows.filter(w => w.id.endsWith('-input-processor'));\n const outputProcessorWorkflows = configuredProcessorWorkflows.filter(w => w.id.endsWith('-output-processor'));\n serializedInputProcessors = getSerializedProcessors(inputProcessorWorkflows);\n serializedOutputProcessors = getSerializedProcessors(outputProcessorWorkflows);\n } catch (error) {\n mastra.getLogger().error('Error getting configured processors for agent', { agentName: agent.name, error });\n }\n\n // Extract skills, workspace tools, and workspaceId from agent's workspace\n const serializedSkills = await getSerializedSkillsFromAgent(agent, proxyRequestContext);\n const workspaceTools = await getWorkspaceToolsFromAgent(agent, proxyRequestContext);\n\n // Get workspaceId if agent has a workspace\n let workspaceId: string | undefined;\n try {\n const workspace = await agent.getWorkspace({ requestContext: proxyRequestContext });\n workspaceId = workspace?.id;\n } catch {\n // Agent doesn't have a workspace or can't access it\n }\n\n // Serialize requestContextSchema if present\n let serializedRequestContextSchema: string | undefined;\n if (agent.requestContextSchema) {\n try {\n serializedRequestContextSchema = stringify(zodToJsonSchema(agent.requestContextSchema));\n } catch (error) {\n mastra.getLogger().error('Error serializing requestContextSchema for agent', { agentName: agent.name, error });\n }\n }\n\n return {\n name: agent.name,\n description,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n skills: serializedSkills,\n workspaceTools,\n workspaceId,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultOptions,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n requestContextSchema: serializedRequestContextSchema,\n source: (agent as any).source ?? 'code',\n ...(agent.toRawConfig()?.status\n ? { status: agent.toRawConfig()!.status as 'draft' | 'published' | 'archived' }\n : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/agents',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listAgentsResponseSchema,\n summary: 'List all agents',\n description: 'Returns a list of all available agents in the system (both code-defined and stored)',\n tags: ['Agents'],\n requiresAuth: true,\n requiresPermission: 'agents:read',\n handler: async ({ mastra, requestContext, partial }) => {\n try {\n const codeAgents = mastra.listAgents();\n\n const isPartial = partial === 'true';\n\n // Apply stored config overrides to code-defined agents before serializing\n const editor = mastra.getEditor?.();\n const serializedCodeAgentsMap = await Promise.all(\n Object.entries(codeAgents).map(async ([id, agent]) => {\n let mergedAgent = agent;\n if (editor) {\n try {\n mergedAgent = await editor.agent.applyStoredOverrides(agent);\n } catch {\n // If overrides fail, use the original code agent\n }\n }\n return formatAgentList({ id, mastra, agent: mergedAgent, requestContext, partial: isPartial });\n }),\n );\n\n const serializedAgents = serializedCodeAgentsMap.reduce<Record<string, (typeof serializedCodeAgentsMap)[number]>>(\n (acc, { id, ...rest }) => {\n acc[id] = { id, ...rest };\n return acc;\n },\n {},\n );\n\n // Also fetch and include stored agents\n try {\n const editor = mastra.getEditor();\n\n let storedAgentsResult;\n try {\n storedAgentsResult = await editor?.agent.list();\n } catch (error) {\n console.error('Error listing stored agents:', error);\n storedAgentsResult = null;\n }\n\n if (storedAgentsResult?.agents) {\n // Process each agent individually to avoid one bad agent breaking the whole list\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id, { status: 'draft' });\n if (!agent) continue;\n\n const serialized = await formatAgentList({\n id: agent.id,\n mastra,\n agent,\n requestContext,\n partial: isPartial,\n });\n\n // Don't overwrite code-defined agents with same ID\n if (!serializedAgents[serialized.id]) {\n serializedAgents[serialized.id] = serialized;\n }\n } catch (agentError) {\n // Log but continue with other agents\n const logger = mastra.getLogger();\n logger.warn('Failed to serialize stored agent', { agentId: storedAgentConfig.id, error: agentError });\n }\n }\n }\n } catch (storageError) {\n // Storage not configured or doesn't support agents - log and ignore\n const logger = mastra.getLogger();\n logger.debug('Could not fetch stored agents', { error: storageError });\n }\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n },\n});\n\nexport const GET_AGENT_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n queryParamSchema: agentVersionQuerySchema,\n responseSchema: serializedAgentSchema,\n summary: 'Get agent by ID',\n description:\n 'Returns details for a specific agent including configuration, tools, and memory settings. Use query params to control which stored config version is used for overrides: ?status=draft (latest, default), ?status=published (active version), or ?versionId=<id> (specific version). Use either status or versionId, not both.',\n tags: ['Agents'],\n requiresAuth: true,\n requiresPermission: 'agents:read',\n handler: async ({ agentId, mastra, requestContext, status, versionId }) => {\n try {\n const versionOptions = versionId ? { versionId } : status ? { status } : undefined;\n const agent = await getAgentFromSystem({ mastra, agentId, versionOptions });\n const isStudio = false; // TODO: Get from context if needed\n const result = await formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n },\n});\n\n/**\n * POST /agents/:agentId/clone - Clone an agent to a stored agent\n */\nexport const CLONE_AGENT_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/clone',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: z.object({\n newId: z.string().optional().describe('ID for the cloned agent. If not provided, derived from agent ID.'),\n newName: z.string().optional().describe('Name for the cloned agent. Defaults to \"{name} (Clone)\".'),\n metadata: z.record(z.string(), z.unknown()).optional(),\n authorId: z.string().optional(),\n }),\n responseSchema: createStoredAgentResponseSchema,\n summary: 'Clone agent',\n description: 'Clones a code-defined or stored agent to a new stored agent in the database',\n tags: ['Agents'],\n requiresAuth: true,\n handler: async ({ agentId, mastra, newId, newName, metadata, authorId, requestContext }) => {\n try {\n const editor = mastra.getEditor();\n if (!editor) {\n return handleError(new Error('Editor is not configured on the Mastra instance'), 'Error cloning agent');\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const cloneId = toSlug(newId || `${agentId}-clone`);\n\n const result = await editor.agent.clone(agent, {\n newId: cloneId,\n newName,\n metadata,\n authorId,\n requestContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error cloning agent');\n }\n },\n});\n\nexport const GENERATE_AGENT_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/generate',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate agent response',\n description: 'Executes an agent with the provided messages and returns the complete response',\n tags: ['Agents'],\n requiresAuth: true,\n requiresPermission: 'agents:execute',\n handler: async ({ agentId, mastra, abortSignal, requestContext: serverRequestContext, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;\n\n validateBody({ messages });\n\n // Merge body's requestContext values into the server's RequestContext instance\n // Only set values that don't already exist on the server context to prevent\n // clients from overwriting server-populated auth/tenant values\n if (bodyRequestContext && typeof bodyRequestContext === 'object') {\n for (const [key, value] of Object.entries(bodyRequestContext)) {\n if (serverRequestContext.get(key) === undefined) {\n serverRequestContext.set(key, value);\n }\n }\n }\n\n // Authorization: apply context overrides to memory option if present\n let authorizedMemoryOption = memoryOption;\n if (memoryOption) {\n const clientThreadId = typeof memoryOption.thread === 'string' ? memoryOption.thread : memoryOption.thread?.id;\n\n const effectiveResourceId = getEffectiveResourceId(serverRequestContext, memoryOption.resource);\n const effectiveThreadId = getEffectiveThreadId(serverRequestContext, clientThreadId);\n\n // Validate thread ownership if accessing an existing thread\n if (effectiveThreadId && effectiveResourceId) {\n const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });\n if (memoryInstance) {\n const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });\n await validateThreadOwnership(thread, effectiveResourceId);\n }\n }\n\n // Build authorized memory option with effective values\n authorizedMemoryOption = {\n ...memoryOption,\n resource: effectiveResourceId ?? memoryOption.resource,\n thread: effectiveThreadId ?? memoryOption.thread,\n };\n }\n\n const { structuredOutput, ...restOptions } = rest;\n\n const options = {\n ...restOptions,\n requestContext: serverRequestContext,\n memory: authorizedMemoryOption,\n abortSignal,\n };\n\n const result = structuredOutput\n ? await agent.generate(messages, { ...options, structuredOutput })\n : await agent.generate(messages, options);\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/generate-legacy',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionLegacyBodySchema,\n responseSchema: generateResponseSchema,\n summary: '[DEPRECATED] Generate with legacy format',\n description: 'Legacy endpoint for generating agent responses. Use /agents/:agentId/generate instead.',\n tags: ['Agents', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const clientResourceId = resourceId ?? resourceid;\n\n // Authorization: context values take precedence over client-provided values\n const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);\n const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);\n\n validateBody({ messages });\n\n if ((effectiveThreadId && !effectiveResourceId) || (!effectiveThreadId && effectiveResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n // Validate thread ownership if accessing an existing thread\n if (effectiveThreadId && effectiveResourceId) {\n const memory = await agent.getMemory({ requestContext });\n if (memory) {\n const thread = await memory.getThreadById({ threadId: effectiveThreadId });\n await validateThreadOwnership(thread, effectiveResourceId);\n }\n }\n\n const result = await agent.generateLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: effectiveResourceId ?? '',\n threadId: effectiveThreadId ?? '',\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\nexport const STREAM_GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/stream-legacy',\n responseType: 'datastream-response' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionLegacyBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream with legacy format',\n description: 'Legacy endpoint for streaming agent responses. Use /agents/:agentId/stream instead.',\n tags: ['Agents', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, requestContext, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const clientResourceId = resourceId ?? resourceid;\n\n // Authorization: context values take precedence over client-provided values\n const effectiveResourceId = getEffectiveResourceId(requestContext, clientResourceId);\n const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);\n\n validateBody({ messages });\n\n if ((effectiveThreadId && !effectiveResourceId) || (!effectiveThreadId && effectiveResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n // Validate thread ownership if accessing an existing thread\n if (effectiveThreadId && effectiveResourceId) {\n const memory = await agent.getMemory({ requestContext });\n if (memory) {\n const thread = await memory.getThreadById({ threadId: effectiveThreadId });\n await validateThreadOwnership(thread, effectiveResourceId);\n }\n }\n\n const streamResult = await agent.streamLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: effectiveResourceId ?? '',\n threadId: effectiveThreadId ?? '',\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const GET_PROVIDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/providers',\n responseType: 'json',\n responseSchema: providersResponseSchema,\n summary: 'List AI providers',\n description: 'Returns a list of all configured AI model providers',\n tags: ['Agents'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const allProviders: Record<string, ProviderConfig> = {};\n\n for (const [id, provider] of Object.entries(PROVIDER_REGISTRY)) {\n allProviders[id] = provider;\n }\n\n if (mastra) {\n const customGateways = mastra.listGateways();\n if (customGateways) {\n for (const gateway of Object.values(customGateways)) {\n try {\n const customProviders = await gateway.fetchProviders();\n for (const [providerId, config] of Object.entries(customProviders)) {\n allProviders[providerId] = config;\n }\n } catch (error) {\n console.warn(`Failed to fetch providers from gateway \"${gateway.id}\":`, error);\n }\n }\n }\n }\n\n const providers = Object.entries(allProviders).map(([id, provider]) => {\n return {\n id,\n name: provider.name,\n label: (provider as any).label || provider.name,\n description: (provider as any).description || '',\n envVar: provider.apiKeyEnvVar,\n connected: isProviderConnected(id, allProviders),\n docUrl: provider.docUrl,\n models: [...provider.models],\n };\n });\n return { providers };\n } catch (error) {\n return handleError(error, 'Error fetching providers');\n }\n },\n});\n\nexport const GENERATE_AGENT_VNEXT_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/generate/vnext',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate a response from an agent',\n description: 'Generate a response from an agent',\n tags: ['Agents'],\n requiresAuth: true,\n handler: GENERATE_AGENT_ROUTE.handler,\n});\n\nexport const STREAM_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent response',\n description: 'Executes an agent with the provided messages and streams the response in real-time',\n tags: ['Agents'],\n requiresAuth: true,\n requiresPermission: 'agents:execute',\n handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;\n validateBody({ messages });\n\n // Merge body's requestContext values into the server's RequestContext instance\n // Only set values that don't already exist on the server context to prevent\n // clients from overwriting server-populated auth/tenant values\n if (bodyRequestContext && typeof bodyRequestContext === 'object') {\n for (const [key, value] of Object.entries(bodyRequestContext)) {\n if (serverRequestContext.get(key) === undefined) {\n serverRequestContext.set(key, value);\n }\n }\n }\n\n // Authorization: apply context overrides to memory option if present\n let authorizedMemoryOption = memoryOption;\n if (memoryOption) {\n const clientThreadId = typeof memoryOption.thread === 'string' ? memoryOption.thread : memoryOption.thread?.id;\n\n const effectiveResourceId = getEffectiveResourceId(serverRequestContext, memoryOption.resource);\n const effectiveThreadId = getEffectiveThreadId(serverRequestContext, clientThreadId);\n\n // Validate thread ownership if accessing an existing thread\n if (effectiveThreadId && effectiveResourceId) {\n const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });\n if (memoryInstance) {\n const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });\n await validateThreadOwnership(thread, effectiveResourceId);\n }\n }\n\n // Build authorized memory option with effective values\n authorizedMemoryOption = {\n ...memoryOption,\n resource: effectiveResourceId ?? memoryOption.resource,\n thread: effectiveThreadId ?? memoryOption.thread,\n };\n }\n\n const { structuredOutput, ...restOptions } = rest;\n\n const options = {\n ...restOptions,\n requestContext: serverRequestContext,\n memory: authorizedMemoryOption,\n abortSignal,\n };\n\n const streamResult = structuredOutput\n ? await agent.stream(messages, { ...options, structuredOutput })\n : await agent.stream(messages, options);\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/stream/vnext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n requiresAuth: true,\n deprecated: true,\n handler: STREAM_GENERATE_ROUTE.handler,\n});\n\nexport const APPROVE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/approve-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Approve tool call',\n description: 'Approves a pending tool call and continues agent execution',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error approving tool call');\n }\n },\n});\n\nexport const DECLINE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/decline-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Decline tool call',\n description: 'Declines a pending tool call and continues agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error declining tool call');\n }\n },\n});\n\nexport const APPROVE_TOOL_CALL_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/approve-tool-call-generate',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveToolCallBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Approve tool call (non-streaming)',\n description: 'Approves a pending tool call and returns the complete response',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const result = await agent.approveToolCallGenerate({\n ...params,\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'error approving tool call');\n }\n },\n});\n\nexport const DECLINE_TOOL_CALL_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/decline-tool-call-generate',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineToolCallBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Decline tool call (non-streaming)',\n description: 'Declines a pending tool call and returns the complete response',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const result = await agent.declineToolCallGenerate({\n ...params,\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'error declining tool call');\n }\n },\n});\n\nexport const STREAM_NETWORK_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/network',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent network',\n description: 'Executes an agent network with multiple agents and streams the response',\n tags: ['Agents'],\n requiresAuth: true,\n handler: async ({ mastra, messages, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n validateBody({ messages });\n\n const streamResult = await agent.network(messages, {\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n },\n});\n\nexport const APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/approve-network-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveNetworkToolCallBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Approve network tool call',\n description: 'Approves a pending network tool call and continues network agent execution',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveNetworkToolCall({\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error approving network tool call');\n }\n },\n});\n\nexport const DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/decline-network-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineNetworkToolCallBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Decline network tool call',\n description: 'Declines a pending network tool call and continues network agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineNetworkToolCall({\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error declining network tool call');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/model',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: updateAgentModelBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update agent model',\n description: 'Updates the AI model used by the agent',\n tags: ['Agents', 'Models'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, modelId, provider }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Use the universal Mastra router format: provider/model\n const newModel = `${provider}/${modelId}`;\n\n // Update the model in-memory only (for temporary testing)\n // This allows users to test different models without persisting\n // To save permanently, users should use the Edit agent dialog\n agent.__updateModel({ model: newModel });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n },\n});\n\nexport const RESET_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/model/reset',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reset agent model',\n description: 'Resets the agent model to its original configuration',\n tags: ['Agents', 'Models'],\n requiresAuth: true,\n handler: async ({ mastra, agentId }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n agent.__resetToOriginalModel();\n\n return { message: 'Agent model reset to original' };\n } catch (error) {\n return handleError(error, 'error resetting agent model');\n }\n },\n});\n\nexport const REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/models/reorder',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: reorderAgentModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reorder agent model list',\n description: 'Reorders the model list for agents with multiple model configurations',\n tags: ['Agents', 'Models'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, reorderedModelIds }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n agent.reorderModels(reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/models/:modelConfigId',\n responseType: 'json',\n pathParamSchema: modelConfigIdPathParams,\n bodySchema: updateAgentModelInModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update model in model list',\n description: 'Updates a specific model configuration in the agent model list',\n tags: ['Agents', 'Models'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n const modelConfig = modelList.find(config => config.id === modelConfigId);\n if (!modelConfig) {\n throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });\n }\n\n const newModel =\n bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;\n\n const updated = {\n ...modelConfig,\n model: newModel,\n ...(maxRetries !== undefined ? { maxRetries } : {}),\n ...(enabled !== undefined ? { enabled } : {}),\n };\n\n agent.updateModelInModelList(updated);\n\n return { message: 'Model updated in model list' };\n } catch (error) {\n return handleError(error, 'error updating model in model list');\n }\n },\n});\n\nconst ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS = `You are an expert system prompt engineer, specialized in analyzing and enhancing instructions to create clear, effective, and comprehensive system prompts. Your goal is to help users transform their basic instructions into well-structured system prompts that will guide AI behavior effectively.\n\nFollow these steps to analyze and enhance the instructions:\n\n1. ANALYSIS PHASE\n- Identify the core purpose and goals\n- Extract key constraints and requirements\n- Recognize domain-specific terminology and concepts\n- Note any implicit assumptions that should be made explicit\n\n2. PROMPT STRUCTURE\nCreate a system prompt with these components:\na) ROLE DEFINITION\n - Clear statement of the AI's role and purpose\n - Key responsibilities and scope\n - Primary stakeholders and users\nb) CORE CAPABILITIES\n - Main functions and abilities\n - Specific domain knowledge required\n - Tools and resources available\nc) BEHAVIORAL GUIDELINES\n - Communication style and tone\n - Decision-making framework\n - Error handling approach\n - Ethical considerations\nd) CONSTRAINTS & BOUNDARIES\n - Explicit limitations\n - Out-of-scope activities\n - Security and privacy considerations\ne) SUCCESS CRITERIA\n - Quality standards\n - Expected outcomes\n - Performance metrics\n\n3. QUALITY CHECKS\nEnsure the prompt is:\n- Clear and unambiguous\n- Comprehensive yet concise\n- Properly scoped\n- Technically accurate\n- Ethically sound\n\n4. OUTPUT FORMAT\nReturn your response as JSON with exactly these two fields:\n- explanation: A brief explanation of the changes you made and why\n- new_prompt: The complete enhanced system prompt as a single string\n\nRemember: A good system prompt should be specific enough to guide behavior but flexible enough to handle edge cases. Focus on creating prompts that are clear, actionable, and aligned with the intended use case.`;\n\n// Helper to find the first model with a connected provider\nasync function findConnectedModel(agent: Agent): Promise<Awaited<ReturnType<Agent['getModel']>> | null> {\n const modelList = await agent.getModelList();\n\n if (modelList && modelList.length > 0) {\n // Find the first enabled model with a connected provider\n for (const modelConfig of modelList) {\n if (modelConfig.enabled !== false) {\n const model = modelConfig.model;\n if (isProviderConnected(model.provider)) {\n return model;\n }\n }\n }\n return null;\n }\n\n // No model list, check the default model\n const defaultModel = await agent.getModel();\n if (isProviderConnected(defaultModel.provider)) {\n return defaultModel;\n }\n return null;\n}\n\ntype EnhanceInstructionsResponse = z.infer<typeof enhanceInstructionsResponseSchema>;\n\nexport const ENHANCE_INSTRUCTIONS_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/instructions/enhance',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: enhanceInstructionsBodySchema,\n responseSchema: enhanceInstructionsResponseSchema,\n summary: 'Enhance agent instructions',\n description: 'Uses AI to enhance or modify agent instructions based on user feedback',\n tags: ['Agents'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, instructions, comment }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Find the first model with a connected provider (similar to how chat works)\n const model = await findConnectedModel(agent);\n if (!model) {\n throw new HTTPException(400, {\n message:\n 'No model with a configured API key found. Please set the required environment variable for your model provider.',\n });\n }\n\n const systemPromptAgent = new Agent({\n id: 'system-prompt-enhancer',\n name: 'system-prompt-enhancer',\n instructions: ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS,\n model,\n });\n\n const result = await systemPromptAgent.generate(\n `We need to improve the system prompt.\nCurrent: ${instructions}\n${comment ? `User feedback: ${comment}` : ''}`,\n {\n structuredOutput: {\n schema: enhanceInstructionsResponseSchema,\n },\n },\n );\n\n return (await result.object) as unknown as EnhanceInstructionsResponse;\n } catch (error) {\n return handleError(error, 'Error enhancing instructions');\n }\n },\n});\n\nexport const STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/streamVNext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n requiresAuth: true,\n deprecated: true,\n handler: async () => {\n throw new HTTPException(410, { message: 'This endpoint is deprecated. Please use /stream instead.' });\n },\n});\n\nexport const STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/stream/vnext/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n requiresAuth: true,\n deprecated: true,\n handler: async () => {\n try {\n throw new MastraError({\n category: ErrorCategory.USER,\n domain: ErrorDomain.MASTRA_SERVER,\n id: 'DEPRECATED_ENDPOINT',\n text: 'This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations',\n });\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/stream/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n requiresAuth: true,\n deprecated: true,\n handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler,\n});\n\n// ============================================================================\n// Agent Skill Routes\n// ============================================================================\n\nexport const GET_AGENT_SKILL_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/skills/:skillName',\n responseType: 'json',\n pathParamSchema: agentSkillPathParams,\n responseSchema: getAgentSkillResponseSchema,\n summary: 'Get agent skill',\n description: 'Returns details for a specific skill available to the agent via its workspace',\n tags: ['Agents', 'Skills'],\n handler: async ({ mastra, agentId, skillName, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // Get the agent's workspace\n const workspace = await agent.getWorkspace({ requestContext });\n if (!workspace?.skills) {\n throw new HTTPException(404, { message: 'Agent does not have skills configured' });\n }\n\n // Get the skill from the workspace\n const skill = await workspace.skills.get(skillName);\n if (!skill) {\n throw new HTTPException(404, { message: `Skill \"${skillName}\" not found` });\n }\n\n return {\n name: skill.name,\n description: skill.description,\n license: skill.license,\n compatibility: skill.compatibility,\n metadata: skill.metadata,\n path: skill.path,\n instructions: skill.instructions,\n source: skill.source,\n references: skill.references,\n scripts: skill.scripts,\n assets: skill.assets,\n };\n } catch (error) {\n return handleError(error, 'Error getting agent skill');\n }\n },\n});\n","/**\n * Workspace tool constants and utilities.\n *\n * Inlined from @mastra/core/workspace to avoid import compatibility\n * issues with older core versions that don't have the workspace module.\n */\n\nexport const WORKSPACE_TOOLS_PREFIX = 'mastra_workspace' as const;\n\nexport const WORKSPACE_TOOLS = {\n FILESYSTEM: {\n READ_FILE: `${WORKSPACE_TOOLS_PREFIX}_read_file` as const,\n WRITE_FILE: `${WORKSPACE_TOOLS_PREFIX}_write_file` as const,\n EDIT_FILE: `${WORKSPACE_TOOLS_PREFIX}_edit_file` as const,\n LIST_FILES: `${WORKSPACE_TOOLS_PREFIX}_list_files` as const,\n DELETE: `${WORKSPACE_TOOLS_PREFIX}_delete` as const,\n FILE_STAT: `${WORKSPACE_TOOLS_PREFIX}_file_stat` as const,\n MKDIR: `${WORKSPACE_TOOLS_PREFIX}_mkdir` as const,\n GREP: `${WORKSPACE_TOOLS_PREFIX}_grep` as const,\n },\n SANDBOX: {\n EXECUTE_COMMAND: `${WORKSPACE_TOOLS_PREFIX}_execute_command` as const,\n },\n SEARCH: {\n SEARCH: `${WORKSPACE_TOOLS_PREFIX}_search` as const,\n INDEX: `${WORKSPACE_TOOLS_PREFIX}_index` as const,\n },\n} as const;\n\nexport type WorkspaceToolName =\n | (typeof WORKSPACE_TOOLS.FILESYSTEM)[keyof typeof WORKSPACE_TOOLS.FILESYSTEM]\n | (typeof WORKSPACE_TOOLS.SEARCH)[keyof typeof WORKSPACE_TOOLS.SEARCH]\n | (typeof WORKSPACE_TOOLS.SANDBOX)[keyof typeof WORKSPACE_TOOLS.SANDBOX];\n\n/**\n * Configuration for a single workspace tool.\n */\nexport interface WorkspaceToolConfig {\n enabled?: boolean;\n requireApproval?: boolean;\n requireReadBeforeWrite?: boolean;\n}\n\n/**\n * Configuration for workspace tools.\n */\nexport type WorkspaceToolsConfig = {\n enabled?: boolean;\n requireApproval?: boolean;\n} & Partial<Record<WorkspaceToolName, WorkspaceToolConfig>>;\n\n/**\n * Resolve the effective configuration for a workspace tool.\n * Inlined from @mastra/core/workspace for compatibility.\n */\nexport function resolveToolConfig(\n toolsConfig: WorkspaceToolsConfig | undefined,\n toolName: WorkspaceToolName,\n): { enabled: boolean; requireApproval: boolean; requireReadBeforeWrite?: boolean } {\n let enabled = true;\n let requireApproval = false;\n let requireReadBeforeWrite: boolean | undefined;\n\n if (toolsConfig) {\n if (toolsConfig.enabled !== undefined) {\n enabled = toolsConfig.enabled;\n }\n if (toolsConfig.requireApproval !== undefined) {\n requireApproval = toolsConfig.requireApproval;\n }\n\n const perToolConfig = toolsConfig[toolName];\n if (perToolConfig) {\n if (perToolConfig.enabled !== undefined) {\n enabled = perToolConfig.enabled;\n }\n if (perToolConfig.requireApproval !== undefined) {\n requireApproval = perToolConfig.requireApproval;\n }\n if (perToolConfig.requireReadBeforeWrite !== undefined) {\n requireReadBeforeWrite = perToolConfig.requireReadBeforeWrite;\n }\n }\n }\n\n return { enabled, requireApproval, requireReadBeforeWrite };\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var chunkEU4WZ6EN_cjs = require('./chunk-EU4WZ6EN.cjs');
|
|
4
4
|
var chunkZKMVCV4G_cjs = require('./chunk-ZKMVCV4G.cjs');
|
|
5
5
|
var chunkY2BKW5ND_cjs = require('./chunk-Y2BKW5ND.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkWBWSO2XP_cjs = require('./chunk-WBWSO2XP.cjs');
|
|
7
7
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
8
8
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
9
9
|
var utils = require('@mastra/core/utils');
|
|
@@ -200,7 +200,7 @@ async function getOMStatus(memoryStorage, resourceId, threadId) {
|
|
|
200
200
|
return null;
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
|
-
var GET_MEMORY_STATUS_ROUTE =
|
|
203
|
+
var GET_MEMORY_STATUS_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
204
204
|
method: "GET",
|
|
205
205
|
path: "/memory/status",
|
|
206
206
|
responseType: "json",
|
|
@@ -256,7 +256,7 @@ var GET_MEMORY_STATUS_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
});
|
|
259
|
-
var GET_MEMORY_CONFIG_ROUTE =
|
|
259
|
+
var GET_MEMORY_CONFIG_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
260
260
|
method: "GET",
|
|
261
261
|
path: "/memory/config",
|
|
262
262
|
responseType: "json",
|
|
@@ -289,7 +289,7 @@ var GET_MEMORY_CONFIG_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
});
|
|
292
|
-
var GET_OBSERVATIONAL_MEMORY_ROUTE =
|
|
292
|
+
var GET_OBSERVATIONAL_MEMORY_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
293
293
|
method: "GET",
|
|
294
294
|
path: "/memory/observational-memory",
|
|
295
295
|
responseType: "json",
|
|
@@ -338,7 +338,7 @@ var GET_OBSERVATIONAL_MEMORY_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
});
|
|
341
|
-
var AWAIT_BUFFER_STATUS_ROUTE =
|
|
341
|
+
var AWAIT_BUFFER_STATUS_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
342
342
|
method: "POST",
|
|
343
343
|
path: "/memory/observational-memory/buffer-status",
|
|
344
344
|
responseType: "json",
|
|
@@ -389,7 +389,7 @@ var AWAIT_BUFFER_STATUS_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
});
|
|
392
|
-
var LIST_THREADS_ROUTE =
|
|
392
|
+
var LIST_THREADS_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
393
393
|
method: "GET",
|
|
394
394
|
path: "/memory/threads",
|
|
395
395
|
responseType: "json",
|
|
@@ -440,7 +440,7 @@ var LIST_THREADS_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
});
|
|
443
|
-
var GET_THREAD_BY_ID_ROUTE =
|
|
443
|
+
var GET_THREAD_BY_ID_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
444
444
|
method: "GET",
|
|
445
445
|
path: "/memory/threads/:threadId",
|
|
446
446
|
responseType: "json",
|
|
@@ -485,7 +485,7 @@ var GET_THREAD_BY_ID_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
487
|
});
|
|
488
|
-
var LIST_MESSAGES_ROUTE =
|
|
488
|
+
var LIST_MESSAGES_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
489
489
|
method: "GET",
|
|
490
490
|
path: "/memory/threads/:threadId/messages",
|
|
491
491
|
responseType: "json",
|
|
@@ -562,7 +562,7 @@ var LIST_MESSAGES_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
562
562
|
}
|
|
563
563
|
})
|
|
564
564
|
});
|
|
565
|
-
var GET_WORKING_MEMORY_ROUTE =
|
|
565
|
+
var GET_WORKING_MEMORY_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
566
566
|
method: "GET",
|
|
567
567
|
path: "/memory/threads/:threadId/working-memory",
|
|
568
568
|
responseType: "json",
|
|
@@ -602,7 +602,7 @@ var GET_WORKING_MEMORY_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
602
602
|
}
|
|
603
603
|
}
|
|
604
604
|
});
|
|
605
|
-
var SAVE_MESSAGES_ROUTE =
|
|
605
|
+
var SAVE_MESSAGES_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
606
606
|
method: "POST",
|
|
607
607
|
path: "/memory/save-messages",
|
|
608
608
|
responseType: "json",
|
|
@@ -657,7 +657,7 @@ var SAVE_MESSAGES_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
657
657
|
}
|
|
658
658
|
}
|
|
659
659
|
});
|
|
660
|
-
var CREATE_THREAD_ROUTE =
|
|
660
|
+
var CREATE_THREAD_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
661
661
|
method: "POST",
|
|
662
662
|
path: "/memory/threads",
|
|
663
663
|
responseType: "json",
|
|
@@ -688,7 +688,7 @@ var CREATE_THREAD_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
688
688
|
}
|
|
689
689
|
}
|
|
690
690
|
});
|
|
691
|
-
var UPDATE_THREAD_ROUTE =
|
|
691
|
+
var UPDATE_THREAD_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
692
692
|
method: "PATCH",
|
|
693
693
|
path: "/memory/threads/:threadId",
|
|
694
694
|
responseType: "json",
|
|
@@ -734,7 +734,7 @@ var UPDATE_THREAD_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
734
734
|
}
|
|
735
735
|
}
|
|
736
736
|
});
|
|
737
|
-
var DELETE_THREAD_ROUTE =
|
|
737
|
+
var DELETE_THREAD_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
738
738
|
method: "DELETE",
|
|
739
739
|
path: "/memory/threads/:threadId",
|
|
740
740
|
responseType: "json",
|
|
@@ -766,7 +766,7 @@ var DELETE_THREAD_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
768
|
});
|
|
769
|
-
var CLONE_THREAD_ROUTE =
|
|
769
|
+
var CLONE_THREAD_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
770
770
|
method: "POST",
|
|
771
771
|
path: "/memory/threads/:threadId/clone",
|
|
772
772
|
responseType: "json",
|
|
@@ -807,7 +807,7 @@ var CLONE_THREAD_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
807
807
|
}
|
|
808
808
|
}
|
|
809
809
|
});
|
|
810
|
-
var UPDATE_WORKING_MEMORY_ROUTE =
|
|
810
|
+
var UPDATE_WORKING_MEMORY_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
811
811
|
method: "POST",
|
|
812
812
|
path: "/memory/threads/:threadId/working-memory",
|
|
813
813
|
responseType: "json",
|
|
@@ -845,7 +845,7 @@ var UPDATE_WORKING_MEMORY_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
845
845
|
}
|
|
846
846
|
}
|
|
847
847
|
});
|
|
848
|
-
var DELETE_MESSAGES_ROUTE =
|
|
848
|
+
var DELETE_MESSAGES_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
849
849
|
method: "POST",
|
|
850
850
|
path: "/memory/messages/delete",
|
|
851
851
|
responseType: "json",
|
|
@@ -916,7 +916,7 @@ var DELETE_MESSAGES_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
916
916
|
}
|
|
917
917
|
}
|
|
918
918
|
});
|
|
919
|
-
var SEARCH_MEMORY_ROUTE =
|
|
919
|
+
var SEARCH_MEMORY_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
920
920
|
method: "GET",
|
|
921
921
|
path: "/memory/search",
|
|
922
922
|
responseType: "json",
|
|
@@ -1041,7 +1041,7 @@ var SEARCH_MEMORY_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1041
1041
|
}
|
|
1042
1042
|
}
|
|
1043
1043
|
});
|
|
1044
|
-
var GET_MEMORY_STATUS_NETWORK_ROUTE =
|
|
1044
|
+
var GET_MEMORY_STATUS_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1045
1045
|
method: "GET",
|
|
1046
1046
|
path: "/memory/network/status",
|
|
1047
1047
|
responseType: "json",
|
|
@@ -1053,7 +1053,7 @@ var GET_MEMORY_STATUS_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1053
1053
|
requiresAuth: true,
|
|
1054
1054
|
handler: GET_MEMORY_STATUS_ROUTE.handler
|
|
1055
1055
|
});
|
|
1056
|
-
var LIST_THREADS_NETWORK_ROUTE =
|
|
1056
|
+
var LIST_THREADS_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1057
1057
|
method: "GET",
|
|
1058
1058
|
path: "/memory/network/threads",
|
|
1059
1059
|
responseType: "json",
|
|
@@ -1065,7 +1065,7 @@ var LIST_THREADS_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1065
1065
|
requiresAuth: true,
|
|
1066
1066
|
handler: LIST_THREADS_ROUTE.handler
|
|
1067
1067
|
});
|
|
1068
|
-
var GET_THREAD_BY_ID_NETWORK_ROUTE =
|
|
1068
|
+
var GET_THREAD_BY_ID_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1069
1069
|
method: "GET",
|
|
1070
1070
|
path: "/memory/network/threads/:threadId",
|
|
1071
1071
|
responseType: "json",
|
|
@@ -1078,7 +1078,7 @@ var GET_THREAD_BY_ID_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1078
1078
|
requiresAuth: true,
|
|
1079
1079
|
handler: GET_THREAD_BY_ID_ROUTE.handler
|
|
1080
1080
|
});
|
|
1081
|
-
var LIST_MESSAGES_NETWORK_ROUTE =
|
|
1081
|
+
var LIST_MESSAGES_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1082
1082
|
method: "GET",
|
|
1083
1083
|
path: "/memory/network/threads/:threadId/messages",
|
|
1084
1084
|
responseType: "json",
|
|
@@ -1091,7 +1091,7 @@ var LIST_MESSAGES_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1091
1091
|
requiresAuth: true,
|
|
1092
1092
|
handler: LIST_MESSAGES_ROUTE.handler
|
|
1093
1093
|
});
|
|
1094
|
-
var SAVE_MESSAGES_NETWORK_ROUTE =
|
|
1094
|
+
var SAVE_MESSAGES_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1095
1095
|
method: "POST",
|
|
1096
1096
|
path: "/memory/network/save-messages",
|
|
1097
1097
|
responseType: "json",
|
|
@@ -1104,7 +1104,7 @@ var SAVE_MESSAGES_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1104
1104
|
requiresAuth: true,
|
|
1105
1105
|
handler: SAVE_MESSAGES_ROUTE.handler
|
|
1106
1106
|
});
|
|
1107
|
-
var CREATE_THREAD_NETWORK_ROUTE =
|
|
1107
|
+
var CREATE_THREAD_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1108
1108
|
method: "POST",
|
|
1109
1109
|
path: "/memory/network/threads",
|
|
1110
1110
|
responseType: "json",
|
|
@@ -1117,7 +1117,7 @@ var CREATE_THREAD_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1117
1117
|
requiresAuth: true,
|
|
1118
1118
|
handler: CREATE_THREAD_ROUTE.handler
|
|
1119
1119
|
});
|
|
1120
|
-
var UPDATE_THREAD_NETWORK_ROUTE =
|
|
1120
|
+
var UPDATE_THREAD_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1121
1121
|
method: "PATCH",
|
|
1122
1122
|
path: "/memory/network/threads/:threadId",
|
|
1123
1123
|
responseType: "json",
|
|
@@ -1131,7 +1131,7 @@ var UPDATE_THREAD_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1131
1131
|
requiresAuth: true,
|
|
1132
1132
|
handler: UPDATE_THREAD_ROUTE.handler
|
|
1133
1133
|
});
|
|
1134
|
-
var DELETE_THREAD_NETWORK_ROUTE =
|
|
1134
|
+
var DELETE_THREAD_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1135
1135
|
method: "DELETE",
|
|
1136
1136
|
path: "/memory/network/threads/:threadId",
|
|
1137
1137
|
responseType: "json",
|
|
@@ -1144,7 +1144,7 @@ var DELETE_THREAD_NETWORK_ROUTE = chunkEFSXF23C_cjs.createRoute({
|
|
|
1144
1144
|
requiresAuth: true,
|
|
1145
1145
|
handler: DELETE_THREAD_ROUTE.handler
|
|
1146
1146
|
});
|
|
1147
|
-
var DELETE_MESSAGES_NETWORK_ROUTE =
|
|
1147
|
+
var DELETE_MESSAGES_NETWORK_ROUTE = chunkWBWSO2XP_cjs.createRoute({
|
|
1148
1148
|
method: "POST",
|
|
1149
1149
|
path: "/memory/network/messages/delete",
|
|
1150
1150
|
responseType: "json",
|
|
@@ -1185,5 +1185,5 @@ exports.UPDATE_THREAD_ROUTE = UPDATE_THREAD_ROUTE;
|
|
|
1185
1185
|
exports.UPDATE_WORKING_MEMORY_ROUTE = UPDATE_WORKING_MEMORY_ROUTE;
|
|
1186
1186
|
exports.getTextContent = getTextContent;
|
|
1187
1187
|
exports.memory_exports = memory_exports;
|
|
1188
|
-
//# sourceMappingURL=chunk-
|
|
1189
|
-
//# sourceMappingURL=chunk-
|
|
1188
|
+
//# sourceMappingURL=chunk-MPS2N4MR.cjs.map
|
|
1189
|
+
//# sourceMappingURL=chunk-MPS2N4MR.cjs.map
|