@mastra/server 0.0.0-fix-cloud-peer-deps-libsql-20250929202200 → 0.0.0-fix-cloud-peer-deps-loggers-20250929204101
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 +2 -2
- package/dist/{chunk-KM7EJKXV.js → chunk-B2TTVQPU.js} +3 -3
- package/dist/{chunk-KM7EJKXV.js.map → chunk-B2TTVQPU.js.map} +1 -1
- package/dist/{chunk-LJFAAEU7.cjs → chunk-OG4WYE3D.cjs} +3 -3
- package/dist/{chunk-LJFAAEU7.cjs.map → chunk-OG4WYE3D.cjs.map} +1 -1
- package/dist/{chunk-SXENNNR7.cjs → chunk-T32RFB35.cjs} +3 -3
- package/dist/{chunk-SXENNNR7.cjs.map → chunk-T32RFB35.cjs.map} +1 -1
- package/dist/{chunk-BOVFMBXY.js → chunk-XBXOPSNQ.js} +3 -3
- package/dist/{chunk-BOVFMBXY.js.map → chunk-XBXOPSNQ.js.map} +1 -1
- package/dist/server/handlers/agents.cjs +17 -17
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/vNextNetwork.cjs +1 -1
- package/dist/server/handlers/vNextNetwork.js +1 -1
- package/dist/server/handlers.cjs +14 -14
- package/dist/server/handlers.js +4 -4
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mastra/server
|
|
2
2
|
|
|
3
|
-
## 0.0.0-fix-cloud-peer-deps-
|
|
3
|
+
## 0.0.0-fix-cloud-peer-deps-loggers-20250929204101
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- Add server apis to get scores by span ([#8237](https://github.com/mastra-ai/mastra/pull/8237))
|
|
16
16
|
|
|
17
17
|
- Updated dependencies [[`dc099b4`](https://github.com/mastra-ai/mastra/commit/dc099b40fb31147ba3f362f98d991892033c4c67), [`504438b`](https://github.com/mastra-ai/mastra/commit/504438b961bde211071186bba63a842c4e3db879), [`b342a68`](https://github.com/mastra-ai/mastra/commit/b342a68e1399cf1ece9ba11bda112db89d21118c), [`7fceb0a`](https://github.com/mastra-ai/mastra/commit/7fceb0a327d678e812f90f5387c5bc4f38bd039e), [`303a9c0`](https://github.com/mastra-ai/mastra/commit/303a9c0d7dd58795915979f06a0512359e4532fb), [`370f8a6`](https://github.com/mastra-ai/mastra/commit/370f8a6480faec70fef18d72e5f7538f27004301), [`809eea0`](https://github.com/mastra-ai/mastra/commit/809eea092fa80c3f69b9eaf078d843b57fd2a88e), [`623ffaf`](https://github.com/mastra-ai/mastra/commit/623ffaf2d969e11e99a0224633cf7b5a0815c857), [`9fc1613`](https://github.com/mastra-ai/mastra/commit/9fc16136400186648880fd990119ac15f7c02ee4), [`61f62aa`](https://github.com/mastra-ai/mastra/commit/61f62aa31bc88fe4ddf8da6240dbcfbeb07358bd), [`db1891a`](https://github.com/mastra-ai/mastra/commit/db1891a4707443720b7cd8a260dc7e1d49b3609c), [`e8f379d`](https://github.com/mastra-ai/mastra/commit/e8f379d390efa264c4e0874f9ac0cf8839b07777), [`3e292ba`](https://github.com/mastra-ai/mastra/commit/3e292ba00837886d5d68a34cbc0d9b703c991883), [`418c136`](https://github.com/mastra-ai/mastra/commit/418c1366843d88e491bca3f87763899ce855ca29), [`c84b7d0`](https://github.com/mastra-ai/mastra/commit/c84b7d093c4657772140cbfd2b15ef72f3315ed5)]:
|
|
18
|
-
- @mastra/core@0.0.0-fix-cloud-peer-deps-
|
|
18
|
+
- @mastra/core@0.0.0-fix-cloud-peer-deps-loggers-20250929204101
|
|
19
19
|
|
|
20
20
|
## 0.18.1-alpha.0
|
|
21
21
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { validateBody } from './chunk-4QCXUEAT.js';
|
|
2
1
|
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
2
|
+
import { validateBody } from './chunk-4QCXUEAT.js';
|
|
3
3
|
import { handleError } from './chunk-CY4TP3FK.js';
|
|
4
4
|
import { HTTPException } from './chunk-MMROOK5J.js';
|
|
5
5
|
import { __export } from './chunk-G3PMV62Z.js';
|
|
@@ -156,5 +156,5 @@ async function executeAgentToolHandler({
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
export { executeAgentToolHandler, executeToolHandler, getAgentToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-B2TTVQPU.js.map
|
|
160
|
+
//# sourceMappingURL=chunk-B2TTVQPU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool","result"],"mappings":"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","file":"chunk-KM7EJKXV.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool","result"],"mappings":"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","file":"chunk-B2TTVQPU.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
|
|
4
3
|
var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
|
|
4
|
+
var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
|
|
5
5
|
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
6
6
|
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
7
7
|
var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
|
|
@@ -163,5 +163,5 @@ exports.getAgentToolHandler = getAgentToolHandler;
|
|
|
163
163
|
exports.getToolByIdHandler = getToolByIdHandler;
|
|
164
164
|
exports.getToolsHandler = getToolsHandler;
|
|
165
165
|
exports.tools_exports = tools_exports;
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
167
|
-
//# sourceMappingURL=chunk-
|
|
166
|
+
//# sourceMappingURL=chunk-OG4WYE3D.cjs.map
|
|
167
|
+
//# sourceMappingURL=chunk-OG4WYE3D.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","stringify","zodToJsonSchema","handleError","tool","HTTPException","tools","validateBody","isVercelTool","result"],"mappings":";;;;;;;;;;;AAAA,IAAA,aAAA,GAAA;AAAAA,0BAAA,CAAA,aAAA,EAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,eAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAkBA,eAAsB,eAAA,CAAgB,EAAE,KAAA,EAAM,EAAgC;AAC5E,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,OAAO,EAAC;AAAA,IACV;AAEA,IAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA;AAAA,MAC5C,CAAC,GAAA,EAAK,CAAC,EAAA,EAAI,KAAK,CAAA,KAAM;AACpB,QAAA,MAAM,IAAA,GAAO,KAAA;AACb,QAAA,GAAA,CAAI,EAAE,CAAA,GAAI;AAAA,UACR,GAAG,IAAA;AAAA,UACH,WAAA,EAAa,KAAK,WAAA,GAAcC,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,UAC/E,YAAA,EAAc,KAAK,YAAA,GAAeD,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI;AAAA,SACpF;AACA,QAAA,OAAO,GAAA;AAAA,MACT,CAAA;AAAA,MACA;AAAC,KACH;AAEA,IAAA,OAAO,eAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,qBAAqB,CAAA;AAAA,EACjD;AACF;AAEA,eAAsB,kBAAA,CAAmB,EAAE,KAAA,EAAO,MAAA,EAAO,EAA2C;AAClG,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAO,KAAA,IAAS,EAAE,CAAA,CAAE,IAAA,CAAK,CAACC,KAAAA,KAAcA,KAAAA,CAAK,EAAA,KAAO,MAAM,CAAA;AAE9E,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,IAC5D;AAEA,IAAA,MAAM,cAAA,GAAiB;AAAA,MACrB,GAAG,IAAA;AAAA,MACH,WAAA,EAAa,KAAK,WAAA,GAAcJ,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,MAC/E,YAAA,EAAc,KAAK,YAAA,GAAeD,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI;AAAA,KACpF;AAEA,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,oBAAoB,CAAA;AAAA,EAChD;AACF;AAEO,SAAS,mBAAmBG,OAAA,EAA8B;AAC/D,EAAA,OAAO,OAAO;AAAA,IACZ,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,MAAM,IAAID,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,uBAAuB,CAAA;AAAA,MACjE;AAEA,MAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAOC,OAAA,IAAS,EAAE,CAAA,CAAE,IAAA,CAAK,CAACF,KAAAA,KAAcA,KAAAA,CAAK,EAAA,KAAO,MAAM,CAAA;AAE9E,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,MAC5D;AAEA,MAAA,IAAI,CAAC,MAAM,OAAA,EAAS;AAClB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,MACpE;AAEA,MAAAE,8BAAA,CAAa,EAAE,MAAM,CAAA;AAErB,MAAA,IAAIC,kBAAA,CAAa,IAAI,CAAA,EAAG;AACtB,QAAA,MAAMC,OAAAA,GAAS,MAAO,IAAA,CAAa,OAAA,CAAQ,IAAI,CAAA;AAC/C,QAAA,OAAOA,OAAAA;AAAA,MACT;AAEA,MAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,OAAA,CAAQ;AAAA,QAChC,OAAA,EAAS,IAAA;AAAA,QACT,MAAA;AAAA,QACA,KAAA;AAAA,QACA,cAAA;AAAA;AAAA,QAEA,cAAA,EAAgB,EAAE,WAAA,EAAa,MAAA,EAAU;AAAA,QACzC,SAAS,YAAY;AAAA,QAAC;AAAA,OACvB,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAON,6BAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,IAClD;AAAA,EACF,CAAA;AACF;AAEA,eAAsB,mBAAA,CAAoB;AAAA,EACxC,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA,GAAI,IAAA;AACnD,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIE,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,aAAa,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAE1D,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAO,UAAA,IAAc,EAAE,CAAA,CAAE,IAAA,CAAK,CAACD,KAAAA,KAAcA,KAAAA,CAAK,EAAA,KAAO,MAAM,CAAA;AAEnF,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,IAC5D;AAEA,IAAA,MAAM,cAAA,GAAiB;AAAA,MACrB,GAAG,IAAA;AAAA,MACH,WAAA,EAAa,KAAK,WAAA,GAAcJ,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,MAC/E,YAAA,EAAc,KAAK,YAAA,GAAeD,2BAAA,CAAUC,0BAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI;AAAA,KACpF;AAEA,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,EACtD;AACF;AAEA,eAAsB,uBAAA,CAAwB;AAAA,EAC5C,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA,GAAI,IAAA;AACnD,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIE,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,IAC5D;AAEA,IAAA,MAAM,aAAa,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAE1D,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAO,UAAA,IAAc,EAAE,CAAA,CAAE,IAAA,CAAK,CAACD,KAAAA,KAAcA,KAAAA,CAAK,EAAA,KAAO,MAAM,CAAA;AAEnF,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,IAC5D;AAEA,IAAA,IAAI,CAAC,MAAM,OAAA,EAAS;AAClB,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAOA,IAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,OAAA,CAAQ;AAAA,MAChC,OAAA,EAAS,IAAA;AAAA,MACT,cAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA,EAAO,OAAA;AAAA;AAAA,MAEP,cAAA,EAAgB,EAAE,WAAA,EAAa,MAAA,EAAU;AAAA,MACzC,SAAS,YAAY;AAAA,MAAC;AAAA,KACvB,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOF,6BAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,EAClD;AACF","file":"chunk-LJFAAEU7.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","stringify","zodToJsonSchema","handleError","tool","HTTPException","tools","validateBody","isVercelTool","result"],"mappings":"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","file":"chunk-OG4WYE3D.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
@@ -8,10 +8,10 @@ var chunkHZJRQ5L3_cjs = require('./chunk-HZJRQ5L3.cjs');
|
|
|
8
8
|
var chunkIGFMAZZ5_cjs = require('./chunk-IGFMAZZ5.cjs');
|
|
9
9
|
var chunkHJQKWRKQ_cjs = require('./chunk-HJQKWRKQ.cjs');
|
|
10
10
|
var chunk5DP5XZH6_cjs = require('./chunk-5DP5XZH6.cjs');
|
|
11
|
-
var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
|
|
12
11
|
var chunkFALVL2VV_cjs = require('./chunk-FALVL2VV.cjs');
|
|
13
12
|
var chunkPPYGWINI_cjs = require('./chunk-PPYGWINI.cjs');
|
|
14
13
|
var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
|
|
14
|
+
var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
|
|
15
15
|
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
16
16
|
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
17
17
|
var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
|
|
@@ -621,5 +621,5 @@ exports.streamVNextGenerateHandler = streamVNextGenerateHandler;
|
|
|
621
621
|
exports.streamVNextUIMessageHandler = streamVNextUIMessageHandler;
|
|
622
622
|
exports.updateAgentModelHandler = updateAgentModelHandler;
|
|
623
623
|
exports.updateAgentModelInModelListHandler = updateAgentModelInModelListHandler;
|
|
624
|
-
//# sourceMappingURL=chunk-
|
|
625
|
-
//# sourceMappingURL=chunk-
|
|
624
|
+
//# sourceMappingURL=chunk-T32RFB35.cjs.map
|
|
625
|
+
//# sourceMappingURL=chunk-T32RFB35.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","stringify","zodToJsonSchema","agent","handleError","acc","key","HTTPException","runtimeContext","sanitizeBody","RuntimeContext","validateBody","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-SXENNNR7.cjs","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport type {\n StreamTextOnFinishCallback,\n StreamTextOnStepFinishCallback,\n} from '../../../../core/dist/llm/model/base.types';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n runtimeContext,\n}: {\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n let serializedAgentAgents = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ runtimeContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<any>((acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n }, {});\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n runtimeContext,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\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, runtimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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 return {\n id,\n name: agent.name,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n modelList,\n };\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, runtimeContext });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nasync function formatAgent({\n mastra,\n agent,\n runtimeContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n isPlayground: boolean;\n}) {\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\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({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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, runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n return formatAgent({ mastra, agent, runtimeContext, isPlayground });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\nGenerate method will switch to use generateVNext implementation September 30th, 2025. Please use generateLegacyHandler if you don't want to upgrade just yet.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\n Stream method will switch to use streamVNext implementation September 30th, 2025. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\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\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamNetworkHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n // abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'network'> & {\n thread?: string;\n resourceId?: string;\n };\n // abortSignal?: AbortSignal;\n}): ReturnType<Agent['network']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.network(messages, {\n ...rest,\n memory: {\n thread: rest.thread ?? '',\n resource: rest.resourceId ?? '',\n },\n runtimeContext: finalRuntimeContext,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: Omit<GetBody<'streamVNext'>, 'onStepFinish' | 'onFinish' | 'output'> & {\n runtimeContext?: string;\n onStepFinish?: StreamTextOnStepFinishCallback<any>;\n onFinish?: StreamTextOnFinishCallback<any>;\n output?: undefined;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n const model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n\nexport async function reorderAgentModelListHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n reorderedModelIds: Array<string>;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\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(body.reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n}\n\nexport async function updateAgentModelInModelListHandler({\n mastra,\n agentId,\n modelConfigId,\n body,\n}: Context & {\n agentId: string;\n modelConfigId: string;\n body: {\n model?: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n maxRetries?: number;\n enabled?: boolean;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n const { model: bodyModel, maxRetries, enabled } = body;\n\n if (!modelConfigId) {\n throw new HTTPException(400, { message: 'Model id is required' });\n }\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 modelToUpdate = modelList.find(m => m.id === modelConfigId);\n if (!modelToUpdate) {\n throw new HTTPException(400, { message: 'Model to update is not found in agent model list' });\n }\n\n let model: MastraLanguageModel | undefined;\n if (bodyModel) {\n const { modelId, provider } = bodyModel;\n const providerMap = {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n };\n\n model = providerMap[provider];\n }\n\n agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });\n\n return { message: 'Model list updated' };\n } catch (error) {\n return handleError(error, 'error updating model list');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","stringify","zodToJsonSchema","agent","handleError","acc","key","HTTPException","runtimeContext","sanitizeBody","RuntimeContext","validateBody","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-T32RFB35.cjs","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport type {\n StreamTextOnFinishCallback,\n StreamTextOnStepFinishCallback,\n} from '../../../../core/dist/llm/model/base.types';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n runtimeContext,\n}: {\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n let serializedAgentAgents = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ runtimeContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<any>((acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n }, {});\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n runtimeContext,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\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, runtimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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 return {\n id,\n name: agent.name,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n modelList,\n };\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, runtimeContext });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nasync function formatAgent({\n mastra,\n agent,\n runtimeContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n isPlayground: boolean;\n}) {\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\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({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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, runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n return formatAgent({ mastra, agent, runtimeContext, isPlayground });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\nGenerate method will switch to use generateVNext implementation September 30th, 2025. Please use generateLegacyHandler if you don't want to upgrade just yet.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\n Stream method will switch to use streamVNext implementation September 30th, 2025. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\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\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamNetworkHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n // abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'network'> & {\n thread?: string;\n resourceId?: string;\n };\n // abortSignal?: AbortSignal;\n}): ReturnType<Agent['network']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.network(messages, {\n ...rest,\n memory: {\n thread: rest.thread ?? '',\n resource: rest.resourceId ?? '',\n },\n runtimeContext: finalRuntimeContext,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: Omit<GetBody<'streamVNext'>, 'onStepFinish' | 'onFinish' | 'output'> & {\n runtimeContext?: string;\n onStepFinish?: StreamTextOnStepFinishCallback<any>;\n onFinish?: StreamTextOnFinishCallback<any>;\n output?: undefined;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n const model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n\nexport async function reorderAgentModelListHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n reorderedModelIds: Array<string>;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\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(body.reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n}\n\nexport async function updateAgentModelInModelListHandler({\n mastra,\n agentId,\n modelConfigId,\n body,\n}: Context & {\n agentId: string;\n modelConfigId: string;\n body: {\n model?: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n maxRetries?: number;\n enabled?: boolean;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n const { model: bodyModel, maxRetries, enabled } = body;\n\n if (!modelConfigId) {\n throw new HTTPException(400, { message: 'Model id is required' });\n }\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 modelToUpdate = modelList.find(m => m.id === modelConfigId);\n if (!modelToUpdate) {\n throw new HTTPException(400, { message: 'Model to update is not found in agent model list' });\n }\n\n let model: MastraLanguageModel | undefined;\n if (bodyModel) {\n const { modelId, provider } = bodyModel;\n const providerMap = {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n };\n\n model = providerMap[provider];\n }\n\n agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });\n\n return { message: 'Model list updated' };\n } catch (error) {\n return handleError(error, 'error updating model list');\n }\n}\n"]}
|
|
@@ -6,10 +6,10 @@ import { google } from './chunk-OGW6HHVI.js';
|
|
|
6
6
|
import { anthropic as anthropic$1 } from './chunk-LYPU75T6.js';
|
|
7
7
|
import { groq as groq$1 } from './chunk-66YYHFGF.js';
|
|
8
8
|
import { xai as xai$1 } from './chunk-P7CIEIJ3.js';
|
|
9
|
-
import { sanitizeBody, validateBody } from './chunk-4QCXUEAT.js';
|
|
10
9
|
import { openai } from './chunk-4RRMWXQ2.js';
|
|
11
10
|
import { openai as openai$1 } from './chunk-6GMFZ5LK.js';
|
|
12
11
|
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
12
|
+
import { sanitizeBody, validateBody } from './chunk-4QCXUEAT.js';
|
|
13
13
|
import { handleError } from './chunk-CY4TP3FK.js';
|
|
14
14
|
import { HTTPException } from './chunk-MMROOK5J.js';
|
|
15
15
|
import { __export } from './chunk-G3PMV62Z.js';
|
|
@@ -603,5 +603,5 @@ async function updateAgentModelInModelListHandler({
|
|
|
603
603
|
}
|
|
604
604
|
|
|
605
605
|
export { agents_exports, generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, reorderAgentModelListHandler, streamGenerateHandler, streamGenerateLegacyHandler, streamNetworkHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler, updateAgentModelInModelListHandler };
|
|
606
|
-
//# sourceMappingURL=chunk-
|
|
607
|
-
//# sourceMappingURL=chunk-
|
|
606
|
+
//# sourceMappingURL=chunk-XBXOPSNQ.js.map
|
|
607
|
+
//# sourceMappingURL=chunk-XBXOPSNQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["agent","acc","key","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-BOVFMBXY.js","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport type {\n StreamTextOnFinishCallback,\n StreamTextOnStepFinishCallback,\n} from '../../../../core/dist/llm/model/base.types';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n runtimeContext,\n}: {\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n let serializedAgentAgents = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ runtimeContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<any>((acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n }, {});\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n runtimeContext,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\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, runtimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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 return {\n id,\n name: agent.name,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n modelList,\n };\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, runtimeContext });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nasync function formatAgent({\n mastra,\n agent,\n runtimeContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n isPlayground: boolean;\n}) {\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\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({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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, runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n return formatAgent({ mastra, agent, runtimeContext, isPlayground });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\nGenerate method will switch to use generateVNext implementation September 30th, 2025. Please use generateLegacyHandler if you don't want to upgrade just yet.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\n Stream method will switch to use streamVNext implementation September 30th, 2025. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\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\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamNetworkHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n // abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'network'> & {\n thread?: string;\n resourceId?: string;\n };\n // abortSignal?: AbortSignal;\n}): ReturnType<Agent['network']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.network(messages, {\n ...rest,\n memory: {\n thread: rest.thread ?? '',\n resource: rest.resourceId ?? '',\n },\n runtimeContext: finalRuntimeContext,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: Omit<GetBody<'streamVNext'>, 'onStepFinish' | 'onFinish' | 'output'> & {\n runtimeContext?: string;\n onStepFinish?: StreamTextOnStepFinishCallback<any>;\n onFinish?: StreamTextOnFinishCallback<any>;\n output?: undefined;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n const model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n\nexport async function reorderAgentModelListHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n reorderedModelIds: Array<string>;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\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(body.reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n}\n\nexport async function updateAgentModelInModelListHandler({\n mastra,\n agentId,\n modelConfigId,\n body,\n}: Context & {\n agentId: string;\n modelConfigId: string;\n body: {\n model?: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n maxRetries?: number;\n enabled?: boolean;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n const { model: bodyModel, maxRetries, enabled } = body;\n\n if (!modelConfigId) {\n throw new HTTPException(400, { message: 'Model id is required' });\n }\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 modelToUpdate = modelList.find(m => m.id === modelConfigId);\n if (!modelToUpdate) {\n throw new HTTPException(400, { message: 'Model to update is not found in agent model list' });\n }\n\n let model: MastraLanguageModel | undefined;\n if (bodyModel) {\n const { modelId, provider } = bodyModel;\n const providerMap = {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n };\n\n model = providerMap[provider];\n }\n\n agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });\n\n return { message: 'Model list updated' };\n } catch (error) {\n return handleError(error, 'error updating model list');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["agent","acc","key","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-XBXOPSNQ.js","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport type {\n StreamTextOnFinishCallback,\n StreamTextOnStepFinishCallback,\n} from '../../../../core/dist/llm/model/base.types';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n runtimeContext,\n}: {\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n let serializedAgentAgents = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ runtimeContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<any>((acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n }, {});\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n runtimeContext,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\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, runtimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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 return {\n id,\n name: agent.name,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n modelList,\n };\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, runtimeContext });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nasync function formatAgent({\n mastra,\n agent,\n runtimeContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n isPlayground: boolean;\n}) {\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\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({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\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, runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n return formatAgent({ mastra, agent, runtimeContext, isPlayground });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\nGenerate method will switch to use generateVNext implementation September 30th, 2025. Please use generateLegacyHandler if you don't want to upgrade just yet.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"Deprecation NOTICE:\\n Stream method will switch to use streamVNext implementation September 30th, 2025. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\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\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamNetworkHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n // abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'network'> & {\n thread?: string;\n resourceId?: string;\n };\n // abortSignal?: AbortSignal;\n}): ReturnType<Agent['network']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.network(messages, {\n ...rest,\n memory: {\n thread: rest.thread ?? '',\n resource: rest.resourceId ?? '',\n },\n runtimeContext: finalRuntimeContext,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: Omit<GetBody<'streamVNext'>, 'onStepFinish' | 'onFinish' | 'output'> & {\n runtimeContext?: string;\n onStepFinish?: StreamTextOnStepFinishCallback<any>;\n onFinish?: StreamTextOnFinishCallback<any>;\n output?: undefined;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\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(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n const model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n\nexport async function reorderAgentModelListHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n reorderedModelIds: Array<string>;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\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(body.reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n}\n\nexport async function updateAgentModelInModelListHandler({\n mastra,\n agentId,\n modelConfigId,\n body,\n}: Context & {\n agentId: string;\n modelConfigId: string;\n body: {\n model?: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n maxRetries?: number;\n enabled?: boolean;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n const { model: bodyModel, maxRetries, enabled } = body;\n\n if (!modelConfigId) {\n throw new HTTPException(400, { message: 'Model id is required' });\n }\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 modelToUpdate = modelList.find(m => m.id === modelConfigId);\n if (!modelToUpdate) {\n throw new HTTPException(400, { message: 'Model to update is not found in agent model list' });\n }\n\n let model: MastraLanguageModel | undefined;\n if (bodyModel) {\n const { modelId, provider } = bodyModel;\n const providerMap = {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n };\n\n model = providerMap[provider];\n }\n\n agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });\n\n return { message: 'Model list updated' };\n } catch (error) {\n return handleError(error, 'error updating model list');\n }\n}\n"]}
|
|
@@ -1,72 +1,72 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkT32RFB35_cjs = require('../../chunk-T32RFB35.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "generateHandler", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkT32RFB35_cjs.generateHandler; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "generateLegacyHandler", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkT32RFB35_cjs.generateLegacyHandler; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "generateVNextHandler", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkT32RFB35_cjs.generateVNextHandler; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "getAgentByIdHandler", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkT32RFB35_cjs.getAgentByIdHandler; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "getAgentsHandler", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkT32RFB35_cjs.getAgentsHandler; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "getEvalsByAgentIdHandler", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkT32RFB35_cjs.getEvalsByAgentIdHandler; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "getLiveEvalsByAgentIdHandler", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkT32RFB35_cjs.getLiveEvalsByAgentIdHandler; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "getSerializedAgentTools", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkT32RFB35_cjs.getSerializedAgentTools; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "reorderAgentModelListHandler", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkT32RFB35_cjs.reorderAgentModelListHandler; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "streamGenerateHandler", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkT32RFB35_cjs.streamGenerateHandler; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "streamGenerateLegacyHandler", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkT32RFB35_cjs.streamGenerateLegacyHandler; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "streamNetworkHandler", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkT32RFB35_cjs.streamNetworkHandler; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "streamVNextGenerateHandler", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkT32RFB35_cjs.streamVNextGenerateHandler; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "streamVNextUIMessageHandler", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkT32RFB35_cjs.streamVNextUIMessageHandler; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "updateAgentModelHandler", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkT32RFB35_cjs.updateAgentModelHandler; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "updateAgentModelInModelListHandler", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkT32RFB35_cjs.updateAgentModelInModelListHandler; }
|
|
70
70
|
});
|
|
71
71
|
//# sourceMappingURL=agents.cjs.map
|
|
72
72
|
//# sourceMappingURL=agents.cjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, reorderAgentModelListHandler, streamGenerateHandler, streamGenerateLegacyHandler, streamNetworkHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler, updateAgentModelInModelListHandler } from '../../chunk-
|
|
1
|
+
export { generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, reorderAgentModelListHandler, streamGenerateHandler, streamGenerateLegacyHandler, streamNetworkHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler, updateAgentModelInModelListHandler } from '../../chunk-XBXOPSNQ.js';
|
|
2
2
|
//# sourceMappingURL=agents.js.map
|
|
3
3
|
//# sourceMappingURL=agents.js.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkOG4WYE3D_cjs = require('../../chunk-OG4WYE3D.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "executeAgentToolHandler", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkOG4WYE3D_cjs.executeAgentToolHandler; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "executeToolHandler", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkOG4WYE3D_cjs.executeToolHandler; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "getAgentToolHandler", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkOG4WYE3D_cjs.getAgentToolHandler; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "getToolByIdHandler", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkOG4WYE3D_cjs.getToolByIdHandler; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "getToolsHandler", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkOG4WYE3D_cjs.getToolsHandler; }
|
|
26
26
|
});
|
|
27
27
|
//# sourceMappingURL=tools.cjs.map
|
|
28
28
|
//# sourceMappingURL=tools.cjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { executeAgentToolHandler, executeToolHandler, getAgentToolHandler, getToolByIdHandler, getToolsHandler } from '../../chunk-
|
|
1
|
+
export { executeAgentToolHandler, executeToolHandler, getAgentToolHandler, getToolByIdHandler, getToolsHandler } from '../../chunk-B2TTVQPU.js';
|
|
2
2
|
//# sourceMappingURL=tools.js.map
|
|
3
3
|
//# sourceMappingURL=tools.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkG4PUALCE_cjs = require('../../chunk-G4PUALCE.cjs');
|
|
4
3
|
var chunkGU4EWMZB_cjs = require('../../chunk-GU4EWMZB.cjs');
|
|
4
|
+
var chunkG4PUALCE_cjs = require('../../chunk-G4PUALCE.cjs');
|
|
5
5
|
var chunkRE4RPXT2_cjs = require('../../chunk-RE4RPXT2.cjs');
|
|
6
6
|
var chunk7NADHFD2_cjs = require('../../chunk-7NADHFD2.cjs');
|
|
7
7
|
var zodToJson = require('@mastra/core/utils/zod-to-json');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { validateBody } from '../../chunk-4QCXUEAT.js';
|
|
2
1
|
import { stringify } from '../../chunk-LF2ZLOFP.js';
|
|
2
|
+
import { validateBody } from '../../chunk-4QCXUEAT.js';
|
|
3
3
|
import { handleError } from '../../chunk-CY4TP3FK.js';
|
|
4
4
|
import { HTTPException } from '../../chunk-MMROOK5J.js';
|
|
5
5
|
import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
|
package/dist/server/handlers.cjs
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkT3TIA3O6_cjs = require('../chunk-T3TIA3O6.cjs');
|
|
4
3
|
var chunkNLWACBE7_cjs = require('../chunk-NLWACBE7.cjs');
|
|
5
|
-
var chunkSPLSYTYW_cjs = require('../chunk-SPLSYTYW.cjs');
|
|
6
4
|
var chunkOZLRIVC4_cjs = require('../chunk-OZLRIVC4.cjs');
|
|
7
5
|
var chunk52UP7DFT_cjs = require('../chunk-52UP7DFT.cjs');
|
|
8
6
|
var chunkBKCWZLEL_cjs = require('../chunk-BKCWZLEL.cjs');
|
|
9
7
|
var chunkPWTXZZTR_cjs = require('../chunk-PWTXZZTR.cjs');
|
|
10
|
-
var
|
|
8
|
+
var chunkOG4WYE3D_cjs = require('../chunk-OG4WYE3D.cjs');
|
|
9
|
+
var chunkT3TIA3O6_cjs = require('../chunk-T3TIA3O6.cjs');
|
|
11
10
|
var chunkOPI3FZYH_cjs = require('../chunk-OPI3FZYH.cjs');
|
|
12
11
|
var chunkQNWXF57L_cjs = require('../chunk-QNWXF57L.cjs');
|
|
13
12
|
var chunkCML3EOO5_cjs = require('../chunk-CML3EOO5.cjs');
|
|
14
|
-
var
|
|
13
|
+
var chunkT32RFB35_cjs = require('../chunk-T32RFB35.cjs');
|
|
15
14
|
var chunkKNGXRN26_cjs = require('../chunk-KNGXRN26.cjs');
|
|
15
|
+
var chunkSPLSYTYW_cjs = require('../chunk-SPLSYTYW.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
Object.defineProperty(exports, "vector", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return chunkT3TIA3O6_cjs.vector_exports; }
|
|
22
|
-
});
|
|
23
19
|
Object.defineProperty(exports, "voice", {
|
|
24
20
|
enumerable: true,
|
|
25
21
|
get: function () { return chunkNLWACBE7_cjs.voice_exports; }
|
|
26
22
|
});
|
|
27
|
-
Object.defineProperty(exports, "logs", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
get: function () { return chunkSPLSYTYW_cjs.logs_exports; }
|
|
30
|
-
});
|
|
31
23
|
Object.defineProperty(exports, "memory", {
|
|
32
24
|
enumerable: true,
|
|
33
25
|
get: function () { return chunkOZLRIVC4_cjs.memory_exports; }
|
|
@@ -46,7 +38,11 @@ Object.defineProperty(exports, "telemetry", {
|
|
|
46
38
|
});
|
|
47
39
|
Object.defineProperty(exports, "tools", {
|
|
48
40
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkOG4WYE3D_cjs.tools_exports; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "vector", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return chunkT3TIA3O6_cjs.vector_exports; }
|
|
50
46
|
});
|
|
51
47
|
Object.defineProperty(exports, "a2a", {
|
|
52
48
|
enumerable: true,
|
|
@@ -62,11 +58,15 @@ Object.defineProperty(exports, "workflows", {
|
|
|
62
58
|
});
|
|
63
59
|
Object.defineProperty(exports, "agents", {
|
|
64
60
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkT32RFB35_cjs.agents_exports; }
|
|
66
62
|
});
|
|
67
63
|
Object.defineProperty(exports, "legacyWorkflows", {
|
|
68
64
|
enumerable: true,
|
|
69
65
|
get: function () { return chunkKNGXRN26_cjs.legacyWorkflows_exports; }
|
|
70
66
|
});
|
|
67
|
+
Object.defineProperty(exports, "logs", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () { return chunkSPLSYTYW_cjs.logs_exports; }
|
|
70
|
+
});
|
|
71
71
|
//# sourceMappingURL=handlers.cjs.map
|
|
72
72
|
//# sourceMappingURL=handlers.cjs.map
|
package/dist/server/handlers.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { vector_exports as vector } from '../chunk-WHN4VX55.js';
|
|
2
1
|
export { voice_exports as voice } from '../chunk-JRDEOHAJ.js';
|
|
3
|
-
export { logs_exports as logs } from '../chunk-A3AL7EWJ.js';
|
|
4
2
|
export { memory_exports as memory } from '../chunk-SQY4T6EJ.js';
|
|
5
3
|
export { observability_exports as observability } from '../chunk-WUJLVNLU.js';
|
|
6
4
|
export { scores_exports as scores } from '../chunk-XJOYGRTN.js';
|
|
7
5
|
export { telemetry_exports as telemetry } from '../chunk-KV6VHX4V.js';
|
|
8
|
-
export { tools_exports as tools } from '../chunk-
|
|
6
|
+
export { tools_exports as tools } from '../chunk-B2TTVQPU.js';
|
|
7
|
+
export { vector_exports as vector } from '../chunk-WHN4VX55.js';
|
|
9
8
|
export { a2a_exports as a2a } from '../chunk-6IJWRJZE.js';
|
|
10
9
|
export { agent_builder_exports as agentBuilder } from '../chunk-N5ID53SA.js';
|
|
11
10
|
export { workflows_exports as workflows } from '../chunk-NH7XUTIO.js';
|
|
12
|
-
export { agents_exports as agents } from '../chunk-
|
|
11
|
+
export { agents_exports as agents } from '../chunk-XBXOPSNQ.js';
|
|
13
12
|
export { legacyWorkflows_exports as legacyWorkflows } from '../chunk-TTHEEIZ3.js';
|
|
13
|
+
export { logs_exports as logs } from '../chunk-A3AL7EWJ.js';
|
|
14
14
|
//# sourceMappingURL=handlers.js.map
|
|
15
15
|
//# sourceMappingURL=handlers.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/server",
|
|
3
|
-
"version": "0.0.0-fix-cloud-peer-deps-
|
|
3
|
+
"version": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"license": "Apache-2.0",
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"zod": "^3.25.0 || ^4.0.0",
|
|
60
|
-
"@mastra/core": "0.0.0-fix-cloud-peer-deps-
|
|
60
|
+
"@mastra/core": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@ai-sdk/anthropic": "^1.2.12",
|
|
@@ -78,11 +78,11 @@
|
|
|
78
78
|
"typescript": "^5.8.3",
|
|
79
79
|
"vitest": "^3.2.4",
|
|
80
80
|
"zod": "^3.25.76",
|
|
81
|
-
"@
|
|
81
|
+
"@internal/lint": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101",
|
|
82
82
|
"@internal/storage-test-utils": "0.0.38",
|
|
83
|
-
"@mastra/
|
|
84
|
-
"@internal/types-builder": "0.0.0-fix-cloud-peer-deps-
|
|
85
|
-
"@
|
|
83
|
+
"@mastra/core": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101",
|
|
84
|
+
"@internal/types-builder": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101",
|
|
85
|
+
"@mastra/agent-builder": "0.0.0-fix-cloud-peer-deps-loggers-20250929204101"
|
|
86
86
|
},
|
|
87
87
|
"homepage": "https://mastra.ai",
|
|
88
88
|
"repository": {
|