@mastra/server 1.0.0-beta.10 → 1.0.0-beta.13
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 +58 -0
- package/README.md +2 -2
- package/dist/{chunk-PUSD37LD.cjs → chunk-3XI22UQR.cjs} +4 -3
- package/dist/chunk-3XI22UQR.cjs.map +1 -0
- package/dist/{chunk-7HX4V5Y6.cjs → chunk-4MNOLEZO.cjs} +22767 -18491
- package/dist/chunk-4MNOLEZO.cjs.map +1 -0
- package/dist/{chunk-WVAQXM6W.cjs → chunk-4TDHAYN7.cjs} +26 -18
- package/dist/chunk-4TDHAYN7.cjs.map +1 -0
- package/dist/{chunk-7N3PD4SV.js → chunk-6V57U52D.js} +3 -3
- package/dist/{chunk-7N3PD4SV.js.map → chunk-6V57U52D.js.map} +1 -1
- package/dist/{chunk-R56K77E2.cjs → chunk-7KOS32XA.cjs} +175 -57
- package/dist/chunk-7KOS32XA.cjs.map +1 -0
- package/dist/{chunk-C3D3X2L5.cjs → chunk-7O3KPUJ4.cjs} +5 -5
- package/dist/{chunk-C3D3X2L5.cjs.map → chunk-7O3KPUJ4.cjs.map} +1 -1
- package/dist/chunk-AZIH2QEC.js +83 -0
- package/dist/chunk-AZIH2QEC.js.map +1 -0
- package/dist/{chunk-LPM6BBAX.cjs → chunk-BMLUV4BH.cjs} +2 -53
- package/dist/chunk-BMLUV4BH.cjs.map +1 -0
- package/dist/{chunk-X4QMPCTP.cjs → chunk-BMYZ4DO6.cjs} +12 -2
- package/dist/chunk-BMYZ4DO6.cjs.map +1 -0
- package/dist/{chunk-DHWPHLGF.cjs → chunk-BNGT3NIC.cjs} +14 -14
- package/dist/{chunk-DHWPHLGF.cjs.map → chunk-BNGT3NIC.cjs.map} +1 -1
- package/dist/{chunk-ESZ6V5WB.cjs → chunk-C3UIIRAT.cjs} +8 -4
- package/dist/chunk-C3UIIRAT.cjs.map +1 -0
- package/dist/{chunk-YP34EWWK.js → chunk-DVSCJECS.js} +11 -14
- package/dist/chunk-DVSCJECS.js.map +1 -0
- package/dist/{chunk-4W2SM6CG.js → chunk-DW3WE4M4.js} +14 -58
- package/dist/chunk-DW3WE4M4.js.map +1 -0
- package/dist/{chunk-RQK4FQUD.js → chunk-E646Y4FQ.js} +3 -45
- package/dist/chunk-E646Y4FQ.js.map +1 -0
- package/dist/{chunk-AWBBXA36.js → chunk-EEORY4VR.js} +22072 -17796
- package/dist/chunk-EEORY4VR.js.map +1 -0
- package/dist/chunk-EUBTCHQC.js +83 -0
- package/dist/chunk-EUBTCHQC.js.map +1 -0
- package/dist/chunk-FWSKVWS7.cjs +88 -0
- package/dist/chunk-FWSKVWS7.cjs.map +1 -0
- package/dist/{chunk-2PLXW4ZX.cjs → chunk-K73YS7YB.cjs} +74 -74
- package/dist/{chunk-2PLXW4ZX.cjs.map → chunk-K73YS7YB.cjs.map} +1 -1
- package/dist/{chunk-CT5VG7NT.js → chunk-KEXR53KI.js} +3 -3
- package/dist/{chunk-CT5VG7NT.js.map → chunk-KEXR53KI.js.map} +1 -1
- package/dist/{chunk-WE4USCF3.js → chunk-KPSSRYGH.js} +11 -3
- package/dist/{chunk-X4QMPCTP.cjs.map → chunk-KPSSRYGH.js.map} +1 -1
- package/dist/{chunk-V272B7RM.cjs → chunk-LKTCAPBD.cjs} +15 -18
- package/dist/chunk-LKTCAPBD.cjs.map +1 -0
- package/dist/{chunk-US6Y5RLR.cjs → chunk-LQSZ4FJJ.cjs} +21 -21
- package/dist/{chunk-US6Y5RLR.cjs.map → chunk-LQSZ4FJJ.cjs.map} +1 -1
- package/dist/{chunk-UTIOKR5C.js → chunk-MQLS6Z7A.js} +8 -4
- package/dist/chunk-MQLS6Z7A.js.map +1 -0
- package/dist/{chunk-FPCGLPLJ.cjs → chunk-P3H4AZKI.cjs} +17 -62
- package/dist/chunk-P3H4AZKI.cjs.map +1 -0
- package/dist/chunk-Q7NPRJRV.cjs +88 -0
- package/dist/chunk-Q7NPRJRV.cjs.map +1 -0
- package/dist/{chunk-QNVYGEJ4.js → chunk-SRQY5IWD.js} +3 -3
- package/dist/{chunk-QNVYGEJ4.js.map → chunk-SRQY5IWD.js.map} +1 -1
- package/dist/{chunk-ZULZ2752.js → chunk-SV4AUWGY.js} +3 -3
- package/dist/{chunk-ZULZ2752.js.map → chunk-SV4AUWGY.js.map} +1 -1
- package/dist/{chunk-Q6SVIZLX.js → chunk-UWRAKVAJ.js} +124 -7
- package/dist/chunk-UWRAKVAJ.js.map +1 -0
- package/dist/{chunk-6YWE7UPT.js → chunk-WBLT2HL3.js} +4 -3
- package/dist/chunk-WBLT2HL3.js.map +1 -0
- package/dist/{chunk-DG3INBBQ.js → chunk-YD5BSLPJ.js} +18 -10
- package/dist/chunk-YD5BSLPJ.js.map +1 -0
- package/dist/dist-2J26LQO2.cjs +16 -0
- package/dist/{dist-P4MXBQ3U.cjs.map → dist-2J26LQO2.cjs.map} +1 -1
- package/dist/{dist-X7XR3M3Z.js → dist-4CMHRWC4.js} +3 -3
- package/dist/{dist-X7XR3M3Z.js.map → dist-4CMHRWC4.js.map} +1 -1
- package/dist/{dist-PQZUVLPC.js → dist-AEJONJSS.js} +3 -3
- package/dist/{dist-PQZUVLPC.js.map → dist-AEJONJSS.js.map} +1 -1
- package/dist/{dist-G2BYZJOC.cjs → dist-AF7EUPXA.cjs} +28 -28
- package/dist/{dist-G2BYZJOC.cjs.map → dist-AF7EUPXA.cjs.map} +1 -1
- package/dist/dist-MEN73GGI.js +3 -0
- package/dist/{dist-YREX2TJT.js.map → dist-MEN73GGI.js.map} +1 -1
- package/dist/{dist-FZYCV3VB.cjs → dist-NVXXJWBO.cjs} +26 -26
- package/dist/{dist-FZYCV3VB.cjs.map → dist-NVXXJWBO.cjs.map} +1 -1
- package/dist/{dist-RFMYFILX.cjs → dist-Q2ST4SUQ.cjs} +30 -30
- package/dist/{dist-RFMYFILX.cjs.map → dist-Q2ST4SUQ.cjs.map} +1 -1
- package/dist/{dist-XVBSOGFK.js → dist-TE7XRSWH.js} +3 -3
- package/dist/{dist-XVBSOGFK.js.map → dist-TE7XRSWH.js.map} +1 -1
- package/dist/{dist-R7WYX6LC.js → dist-VPYZNWNG.js} +3 -3
- package/dist/{dist-R7WYX6LC.js.map → dist-VPYZNWNG.js.map} +1 -1
- package/dist/{dist-4MVGNSRL.cjs → dist-Y5SYUVLY.cjs} +20 -20
- package/dist/{dist-4MVGNSRL.cjs.map → dist-Y5SYUVLY.cjs.map} +1 -1
- package/dist/server/handlers/a2a.cjs +9 -9
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +19 -19
- package/dist/server/handlers/agent-builder.d.ts +23 -6
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +27 -23
- package/dist/server/handlers/agents.d.ts +23 -3
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/memory.cjs +24 -24
- package/dist/server/handlers/memory.d.ts +20 -20
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +27 -27
- package/dist/server/handlers/workflows.d.ts +35 -9
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +14 -14
- package/dist/server/handlers.js +7 -7
- package/dist/server/schemas/agent-builder.d.ts +9 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -1
- package/dist/server/schemas/agents.d.ts +26 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/memory.d.ts +20 -20
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/schemas/workflows.d.ts +36 -7
- package/dist/server/schemas/workflows.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +109 -105
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +3 -3
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +12 -8
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/index.d.ts +2 -2
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/{token-VFONFWVS.cjs → token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs} +11 -12
- package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
- package/dist/{token-JGA3ZWAN.js → token-6GSAFR2W-KVDFAJ2M-LNX5VF3I.js} +8 -8
- package/dist/token-6GSAFR2W-KVDFAJ2M-LNX5VF3I.js.map +1 -0
- package/dist/{token-ZOD6YIQ3.cjs → token-6GSAFR2W-KVDFAJ2M-SDYXODLX.cjs} +11 -11
- package/dist/token-6GSAFR2W-KVDFAJ2M-SDYXODLX.cjs.map +1 -0
- package/dist/{token-GVZ7HRD7.js → token-6GSAFR2W-KVDFAJ2M-VW443KIA.js} +8 -9
- package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-BSQMRUEW.js +8 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-BSQMRUEW.js.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-MFJRDVVF.cjs +10 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-MFJRDVVF.cjs.map +1 -0
- package/package.json +4 -5
- package/dist/chunk-4W2SM6CG.js.map +0 -1
- package/dist/chunk-6YWE7UPT.js.map +0 -1
- package/dist/chunk-7HX4V5Y6.cjs.map +0 -1
- package/dist/chunk-AWBBXA36.js.map +0 -1
- package/dist/chunk-DG3INBBQ.js.map +0 -1
- package/dist/chunk-ER3QM7DD.js +0 -46
- package/dist/chunk-ER3QM7DD.js.map +0 -1
- package/dist/chunk-ESZ6V5WB.cjs.map +0 -1
- package/dist/chunk-FPCGLPLJ.cjs.map +0 -1
- package/dist/chunk-LPM6BBAX.cjs.map +0 -1
- package/dist/chunk-PUSD37LD.cjs.map +0 -1
- package/dist/chunk-Q6SVIZLX.js.map +0 -1
- package/dist/chunk-R56K77E2.cjs.map +0 -1
- package/dist/chunk-RQK4FQUD.js.map +0 -1
- package/dist/chunk-UTIOKR5C.js.map +0 -1
- package/dist/chunk-V272B7RM.cjs.map +0 -1
- package/dist/chunk-WE4USCF3.js.map +0 -1
- package/dist/chunk-WVAQXM6W.cjs.map +0 -1
- package/dist/chunk-XQPJ63ZD.cjs +0 -48
- package/dist/chunk-XQPJ63ZD.cjs.map +0 -1
- package/dist/chunk-YP34EWWK.js.map +0 -1
- package/dist/dist-P4MXBQ3U.cjs +0 -16
- package/dist/dist-YREX2TJT.js +0 -3
- package/dist/token-GVZ7HRD7.js.map +0 -1
- package/dist/token-JGA3ZWAN.js.map +0 -1
- package/dist/token-VFONFWVS.cjs.map +0 -1
- package/dist/token-ZOD6YIQ3.cjs.map +0 -1
- package/dist/token-util-7R2ZFIXO.js +0 -7
- package/dist/token-util-7R2ZFIXO.js.map +0 -1
- package/dist/token-util-BLJZJDBZ.cjs +0 -9
- package/dist/token-util-BLJZJDBZ.cjs.map +0 -1
- package/dist/token-util-VGZUWSNR.cjs +0 -9
- package/dist/token-util-VGZUWSNR.cjs.map +0 -1
- package/dist/token-util-VKTPZLSE.js +0 -7
- package/dist/token-util-VKTPZLSE.js.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkBMYZ4DO6_cjs = require('./chunk-BMYZ4DO6.cjs');
|
|
5
5
|
var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
|
|
6
6
|
var chunkH2RMXG2Q_cjs = require('./chunk-H2RMXG2Q.cjs');
|
|
7
7
|
var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
|
|
8
8
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
9
9
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
10
|
+
var agent = require('@mastra/core/agent');
|
|
10
11
|
var error = require('@mastra/core/error');
|
|
11
12
|
var llm = require('@mastra/core/llm');
|
|
12
13
|
var zodToJson = require('@mastra/core/utils/zod-to-json');
|
|
@@ -17,6 +18,7 @@ var agents_exports = {};
|
|
|
17
18
|
chunkO7I5CWRX_cjs.__export(agents_exports, {
|
|
18
19
|
APPROVE_TOOL_CALL_ROUTE: () => APPROVE_TOOL_CALL_ROUTE,
|
|
19
20
|
DECLINE_TOOL_CALL_ROUTE: () => DECLINE_TOOL_CALL_ROUTE,
|
|
21
|
+
ENHANCE_INSTRUCTIONS_ROUTE: () => ENHANCE_INSTRUCTIONS_ROUTE,
|
|
20
22
|
GENERATE_AGENT_ROUTE: () => GENERATE_AGENT_ROUTE,
|
|
21
23
|
GENERATE_AGENT_VNEXT_ROUTE: () => GENERATE_AGENT_VNEXT_ROUTE,
|
|
22
24
|
GENERATE_LEGACY_ROUTE: () => GENERATE_LEGACY_ROUTE,
|
|
@@ -38,6 +40,13 @@ chunkO7I5CWRX_cjs.__export(agents_exports, {
|
|
|
38
40
|
getSerializedAgentTools: () => getSerializedAgentTools,
|
|
39
41
|
getSerializedProcessors: () => getSerializedProcessors
|
|
40
42
|
});
|
|
43
|
+
function isProviderConnected(providerId) {
|
|
44
|
+
const cleanId = providerId.includes(".") ? providerId.split(".")[0] : providerId;
|
|
45
|
+
const provider = llm.PROVIDER_REGISTRY[cleanId];
|
|
46
|
+
if (!provider) return false;
|
|
47
|
+
const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];
|
|
48
|
+
return envVars.every((envVar) => !!process.env[envVar]);
|
|
49
|
+
}
|
|
41
50
|
async function getSerializedAgentTools(tools, partial = false) {
|
|
42
51
|
return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
|
|
43
52
|
const toolId = tool.id ?? `tool-${key}`;
|
|
@@ -301,7 +310,7 @@ var LIST_AGENTS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
301
310
|
queryParamSchema: zod.z.object({
|
|
302
311
|
partial: zod.z.string().optional()
|
|
303
312
|
}),
|
|
304
|
-
responseSchema:
|
|
313
|
+
responseSchema: chunkBMYZ4DO6_cjs.listAgentsResponseSchema,
|
|
305
314
|
summary: "List all agents",
|
|
306
315
|
description: "Returns a list of all available agents in the system",
|
|
307
316
|
tags: ["Agents"],
|
|
@@ -331,8 +340,8 @@ var GET_AGENT_BY_ID_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
331
340
|
method: "GET",
|
|
332
341
|
path: "/api/agents/:agentId",
|
|
333
342
|
responseType: "json",
|
|
334
|
-
pathParamSchema:
|
|
335
|
-
responseSchema:
|
|
343
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
344
|
+
responseSchema: chunkBMYZ4DO6_cjs.serializedAgentSchema,
|
|
336
345
|
summary: "Get agent by ID",
|
|
337
346
|
description: "Returns details for a specific agent including configuration, tools, and memory settings",
|
|
338
347
|
tags: ["Agents"],
|
|
@@ -356,9 +365,9 @@ var GENERATE_AGENT_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
356
365
|
method: "POST",
|
|
357
366
|
path: "/api/agents/:agentId/generate",
|
|
358
367
|
responseType: "json",
|
|
359
|
-
pathParamSchema:
|
|
360
|
-
bodySchema:
|
|
361
|
-
responseSchema:
|
|
368
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
369
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
370
|
+
responseSchema: chunkBMYZ4DO6_cjs.generateResponseSchema,
|
|
362
371
|
summary: "Generate agent response",
|
|
363
372
|
description: "Executes an agent with the provided messages and returns the complete response",
|
|
364
373
|
tags: ["Agents"],
|
|
@@ -382,9 +391,9 @@ var GENERATE_LEGACY_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
382
391
|
method: "POST",
|
|
383
392
|
path: "/api/agents/:agentId/generate-legacy",
|
|
384
393
|
responseType: "json",
|
|
385
|
-
pathParamSchema:
|
|
386
|
-
bodySchema:
|
|
387
|
-
responseSchema:
|
|
394
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
395
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
396
|
+
responseSchema: chunkBMYZ4DO6_cjs.generateResponseSchema,
|
|
388
397
|
summary: "[DEPRECATED] Generate with legacy format",
|
|
389
398
|
description: "Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.",
|
|
390
399
|
tags: ["Agents", "Legacy"],
|
|
@@ -414,9 +423,9 @@ var STREAM_GENERATE_LEGACY_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
414
423
|
method: "POST",
|
|
415
424
|
path: "/api/agents/:agentId/stream-legacy",
|
|
416
425
|
responseType: "datastream-response",
|
|
417
|
-
pathParamSchema:
|
|
418
|
-
bodySchema:
|
|
419
|
-
responseSchema:
|
|
426
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
427
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
428
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
420
429
|
summary: "[DEPRECATED] Stream with legacy format",
|
|
421
430
|
description: "Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.",
|
|
422
431
|
tags: ["Agents", "Legacy"],
|
|
@@ -460,22 +469,20 @@ var GET_PROVIDERS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
460
469
|
method: "GET",
|
|
461
470
|
path: "/api/agents/providers",
|
|
462
471
|
responseType: "json",
|
|
463
|
-
responseSchema:
|
|
472
|
+
responseSchema: chunkBMYZ4DO6_cjs.providersResponseSchema,
|
|
464
473
|
summary: "List AI providers",
|
|
465
474
|
description: "Returns a list of all configured AI model providers",
|
|
466
475
|
tags: ["Agents"],
|
|
467
476
|
handler: async () => {
|
|
468
477
|
try {
|
|
469
478
|
const providers = Object.entries(llm.PROVIDER_REGISTRY).map(([id, provider]) => {
|
|
470
|
-
const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];
|
|
471
|
-
const connected = envVars.every((envVar) => !!process.env[envVar]);
|
|
472
479
|
return {
|
|
473
480
|
id,
|
|
474
481
|
name: provider.name,
|
|
475
482
|
label: provider.label || provider.name,
|
|
476
483
|
description: provider.description || "",
|
|
477
484
|
envVar: provider.apiKeyEnvVar,
|
|
478
|
-
connected,
|
|
485
|
+
connected: isProviderConnected(id),
|
|
479
486
|
docUrl: provider.docUrl,
|
|
480
487
|
models: [...provider.models]
|
|
481
488
|
// Convert readonly array to regular array
|
|
@@ -491,9 +498,9 @@ var GENERATE_AGENT_VNEXT_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
491
498
|
method: "POST",
|
|
492
499
|
path: "/api/agents/:agentId/generate/vnext",
|
|
493
500
|
responseType: "json",
|
|
494
|
-
pathParamSchema:
|
|
495
|
-
bodySchema:
|
|
496
|
-
responseSchema:
|
|
501
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
502
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
503
|
+
responseSchema: chunkBMYZ4DO6_cjs.generateResponseSchema,
|
|
497
504
|
summary: "Generate a response from an agent",
|
|
498
505
|
description: "Generate a response from an agent",
|
|
499
506
|
tags: ["Agents"],
|
|
@@ -504,9 +511,9 @@ var STREAM_GENERATE_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
504
511
|
path: "/api/agents/:agentId/stream",
|
|
505
512
|
responseType: "stream",
|
|
506
513
|
streamFormat: "sse",
|
|
507
|
-
pathParamSchema:
|
|
508
|
-
bodySchema:
|
|
509
|
-
responseSchema:
|
|
514
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
515
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
516
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
510
517
|
summary: "Stream agent response",
|
|
511
518
|
description: "Executes an agent with the provided messages and streams the response in real-time",
|
|
512
519
|
tags: ["Agents"],
|
|
@@ -530,9 +537,9 @@ var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
530
537
|
method: "POST",
|
|
531
538
|
path: "/api/agents/:agentId/stream/vnext",
|
|
532
539
|
responseType: "stream",
|
|
533
|
-
pathParamSchema:
|
|
534
|
-
bodySchema:
|
|
535
|
-
responseSchema:
|
|
540
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
541
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
542
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
536
543
|
summary: "Stream a response from an agent",
|
|
537
544
|
description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
|
|
538
545
|
tags: ["Agents"],
|
|
@@ -544,9 +551,9 @@ var APPROVE_TOOL_CALL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
544
551
|
path: "/api/agents/:agentId/approve-tool-call",
|
|
545
552
|
responseType: "stream",
|
|
546
553
|
streamFormat: "sse",
|
|
547
|
-
pathParamSchema:
|
|
548
|
-
bodySchema:
|
|
549
|
-
responseSchema:
|
|
554
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
555
|
+
bodySchema: chunkBMYZ4DO6_cjs.approveToolCallBodySchema,
|
|
556
|
+
responseSchema: chunkBMYZ4DO6_cjs.toolCallResponseSchema,
|
|
550
557
|
summary: "Approve tool call",
|
|
551
558
|
description: "Approves a pending tool call and continues agent execution",
|
|
552
559
|
tags: ["Agents", "Tools"],
|
|
@@ -575,9 +582,9 @@ var DECLINE_TOOL_CALL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
575
582
|
path: "/api/agents/:agentId/decline-tool-call",
|
|
576
583
|
responseType: "stream",
|
|
577
584
|
streamFormat: "sse",
|
|
578
|
-
pathParamSchema:
|
|
579
|
-
bodySchema:
|
|
580
|
-
responseSchema:
|
|
585
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
586
|
+
bodySchema: chunkBMYZ4DO6_cjs.declineToolCallBodySchema,
|
|
587
|
+
responseSchema: chunkBMYZ4DO6_cjs.toolCallResponseSchema,
|
|
581
588
|
summary: "Decline tool call",
|
|
582
589
|
description: "Declines a pending tool call and continues agent execution without executing the tool",
|
|
583
590
|
tags: ["Agents", "Tools"],
|
|
@@ -606,9 +613,9 @@ var STREAM_NETWORK_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
606
613
|
path: "/api/agents/:agentId/network",
|
|
607
614
|
responseType: "stream",
|
|
608
615
|
streamFormat: "sse",
|
|
609
|
-
pathParamSchema:
|
|
610
|
-
bodySchema:
|
|
611
|
-
responseSchema:
|
|
616
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
617
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema.extend({ thread: zod.z.string().optional() }),
|
|
618
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
612
619
|
summary: "Stream agent network",
|
|
613
620
|
description: "Executes an agent network with multiple agents and streams the response",
|
|
614
621
|
tags: ["Agents"],
|
|
@@ -635,9 +642,9 @@ var UPDATE_AGENT_MODEL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
635
642
|
method: "POST",
|
|
636
643
|
path: "/api/agents/:agentId/model",
|
|
637
644
|
responseType: "json",
|
|
638
|
-
pathParamSchema:
|
|
639
|
-
bodySchema:
|
|
640
|
-
responseSchema:
|
|
645
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
646
|
+
bodySchema: chunkBMYZ4DO6_cjs.updateAgentModelBodySchema,
|
|
647
|
+
responseSchema: chunkBMYZ4DO6_cjs.modelManagementResponseSchema,
|
|
641
648
|
summary: "Update agent model",
|
|
642
649
|
description: "Updates the AI model used by the agent",
|
|
643
650
|
tags: ["Agents", "Models"],
|
|
@@ -656,8 +663,8 @@ var RESET_AGENT_MODEL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
656
663
|
method: "POST",
|
|
657
664
|
path: "/api/agents/:agentId/model/reset",
|
|
658
665
|
responseType: "json",
|
|
659
|
-
pathParamSchema:
|
|
660
|
-
responseSchema:
|
|
666
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
667
|
+
responseSchema: chunkBMYZ4DO6_cjs.modelManagementResponseSchema,
|
|
661
668
|
summary: "Reset agent model",
|
|
662
669
|
description: "Resets the agent model to its original configuration",
|
|
663
670
|
tags: ["Agents", "Models"],
|
|
@@ -675,9 +682,9 @@ var REORDER_AGENT_MODEL_LIST_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
675
682
|
method: "POST",
|
|
676
683
|
path: "/api/agents/:agentId/models/reorder",
|
|
677
684
|
responseType: "json",
|
|
678
|
-
pathParamSchema:
|
|
679
|
-
bodySchema:
|
|
680
|
-
responseSchema:
|
|
685
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
686
|
+
bodySchema: chunkBMYZ4DO6_cjs.reorderAgentModelListBodySchema,
|
|
687
|
+
responseSchema: chunkBMYZ4DO6_cjs.modelManagementResponseSchema,
|
|
681
688
|
summary: "Reorder agent model list",
|
|
682
689
|
description: "Reorders the model list for agents with multiple model configurations",
|
|
683
690
|
tags: ["Agents", "Models"],
|
|
@@ -699,9 +706,9 @@ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
699
706
|
method: "POST",
|
|
700
707
|
path: "/api/agents/:agentId/models/:modelConfigId",
|
|
701
708
|
responseType: "json",
|
|
702
|
-
pathParamSchema:
|
|
703
|
-
bodySchema:
|
|
704
|
-
responseSchema:
|
|
709
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.modelConfigIdPathParams,
|
|
710
|
+
bodySchema: chunkBMYZ4DO6_cjs.updateAgentModelInModelListBodySchema,
|
|
711
|
+
responseSchema: chunkBMYZ4DO6_cjs.modelManagementResponseSchema,
|
|
705
712
|
summary: "Update model in model list",
|
|
706
713
|
description: "Updates a specific model configuration in the agent model list",
|
|
707
714
|
tags: ["Agents", "Models"],
|
|
@@ -730,13 +737,123 @@ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
730
737
|
}
|
|
731
738
|
}
|
|
732
739
|
});
|
|
740
|
+
var ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS = `You are an expert system prompt engineer, specialized in analyzing and enhancing instructions to create clear, effective, and comprehensive system prompts. Your goal is to help users transform their basic instructions into well-structured system prompts that will guide AI behavior effectively.
|
|
741
|
+
|
|
742
|
+
Follow these steps to analyze and enhance the instructions:
|
|
743
|
+
|
|
744
|
+
1. ANALYSIS PHASE
|
|
745
|
+
- Identify the core purpose and goals
|
|
746
|
+
- Extract key constraints and requirements
|
|
747
|
+
- Recognize domain-specific terminology and concepts
|
|
748
|
+
- Note any implicit assumptions that should be made explicit
|
|
749
|
+
|
|
750
|
+
2. PROMPT STRUCTURE
|
|
751
|
+
Create a system prompt with these components:
|
|
752
|
+
a) ROLE DEFINITION
|
|
753
|
+
- Clear statement of the AI's role and purpose
|
|
754
|
+
- Key responsibilities and scope
|
|
755
|
+
- Primary stakeholders and users
|
|
756
|
+
b) CORE CAPABILITIES
|
|
757
|
+
- Main functions and abilities
|
|
758
|
+
- Specific domain knowledge required
|
|
759
|
+
- Tools and resources available
|
|
760
|
+
c) BEHAVIORAL GUIDELINES
|
|
761
|
+
- Communication style and tone
|
|
762
|
+
- Decision-making framework
|
|
763
|
+
- Error handling approach
|
|
764
|
+
- Ethical considerations
|
|
765
|
+
d) CONSTRAINTS & BOUNDARIES
|
|
766
|
+
- Explicit limitations
|
|
767
|
+
- Out-of-scope activities
|
|
768
|
+
- Security and privacy considerations
|
|
769
|
+
e) SUCCESS CRITERIA
|
|
770
|
+
- Quality standards
|
|
771
|
+
- Expected outcomes
|
|
772
|
+
- Performance metrics
|
|
773
|
+
|
|
774
|
+
3. QUALITY CHECKS
|
|
775
|
+
Ensure the prompt is:
|
|
776
|
+
- Clear and unambiguous
|
|
777
|
+
- Comprehensive yet concise
|
|
778
|
+
- Properly scoped
|
|
779
|
+
- Technically accurate
|
|
780
|
+
- Ethically sound
|
|
781
|
+
|
|
782
|
+
4. OUTPUT FORMAT
|
|
783
|
+
Return a structured response with:
|
|
784
|
+
- Enhanced system prompt
|
|
785
|
+
- Analysis of key components
|
|
786
|
+
- Identified goals and constraints
|
|
787
|
+
- Core domain concepts
|
|
788
|
+
|
|
789
|
+
Remember: A good system prompt should be specific enough to guide behavior but flexible enough to handle edge cases. Focus on creating prompts that are clear, actionable, and aligned with the intended use case.`;
|
|
790
|
+
async function findConnectedModel(agent) {
|
|
791
|
+
const modelList = await agent.getModelList();
|
|
792
|
+
if (modelList && modelList.length > 0) {
|
|
793
|
+
for (const modelConfig of modelList) {
|
|
794
|
+
if (modelConfig.enabled !== false) {
|
|
795
|
+
const model = modelConfig.model;
|
|
796
|
+
if (isProviderConnected(model.provider)) {
|
|
797
|
+
return model;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
return null;
|
|
802
|
+
}
|
|
803
|
+
const defaultModel = await agent.getModel();
|
|
804
|
+
if (isProviderConnected(defaultModel.provider)) {
|
|
805
|
+
return defaultModel;
|
|
806
|
+
}
|
|
807
|
+
return null;
|
|
808
|
+
}
|
|
809
|
+
var ENHANCE_INSTRUCTIONS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
810
|
+
method: "POST",
|
|
811
|
+
path: "/api/agents/:agentId/instructions/enhance",
|
|
812
|
+
responseType: "json",
|
|
813
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
814
|
+
bodySchema: chunkBMYZ4DO6_cjs.enhanceInstructionsBodySchema,
|
|
815
|
+
responseSchema: chunkBMYZ4DO6_cjs.enhanceInstructionsResponseSchema,
|
|
816
|
+
summary: "Enhance agent instructions",
|
|
817
|
+
description: "Uses AI to enhance or modify agent instructions based on user feedback",
|
|
818
|
+
tags: ["Agents"],
|
|
819
|
+
handler: async ({ mastra, agentId, instructions, comment }) => {
|
|
820
|
+
try {
|
|
821
|
+
const agent$1 = await getAgentFromSystem({ mastra, agentId });
|
|
822
|
+
const model = await findConnectedModel(agent$1);
|
|
823
|
+
if (!model) {
|
|
824
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
825
|
+
message: "No model with a configured API key found. Please set the required environment variable for your model provider."
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
const systemPromptAgent = new agent.Agent({
|
|
829
|
+
id: "system-prompt-enhancer",
|
|
830
|
+
name: "system-prompt-enhancer",
|
|
831
|
+
instructions: ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS,
|
|
832
|
+
model
|
|
833
|
+
});
|
|
834
|
+
const result = await systemPromptAgent.generate(
|
|
835
|
+
`We need to improve the system prompt.
|
|
836
|
+
Current: ${instructions}
|
|
837
|
+
${comment ? `User feedback: ${comment}` : ""}`,
|
|
838
|
+
{
|
|
839
|
+
structuredOutput: {
|
|
840
|
+
schema: chunkBMYZ4DO6_cjs.enhanceInstructionsResponseSchema
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
);
|
|
844
|
+
return await result.object;
|
|
845
|
+
} catch (error) {
|
|
846
|
+
return chunkV5WWQN7P_cjs.handleError(error, "Error enhancing instructions");
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
});
|
|
733
850
|
var STREAM_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
734
851
|
method: "POST",
|
|
735
852
|
path: "/api/agents/:agentId/streamVNext",
|
|
736
853
|
responseType: "stream",
|
|
737
|
-
pathParamSchema:
|
|
738
|
-
bodySchema:
|
|
739
|
-
responseSchema:
|
|
854
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
855
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
856
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
740
857
|
summary: "Stream a response from an agent",
|
|
741
858
|
description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
|
|
742
859
|
tags: ["Agents"],
|
|
@@ -749,9 +866,9 @@ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
749
866
|
method: "POST",
|
|
750
867
|
path: "/api/agents/:agentId/stream/vnext/ui",
|
|
751
868
|
responseType: "stream",
|
|
752
|
-
pathParamSchema:
|
|
753
|
-
bodySchema:
|
|
754
|
-
responseSchema:
|
|
869
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
870
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
871
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
755
872
|
summary: "Stream UI messages from an agent",
|
|
756
873
|
description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
|
|
757
874
|
tags: ["Agents"],
|
|
@@ -773,9 +890,9 @@ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
773
890
|
method: "POST",
|
|
774
891
|
path: "/api/agents/:agentId/stream/ui",
|
|
775
892
|
responseType: "stream",
|
|
776
|
-
pathParamSchema:
|
|
777
|
-
bodySchema:
|
|
778
|
-
responseSchema:
|
|
893
|
+
pathParamSchema: chunkBMYZ4DO6_cjs.agentIdPathParams,
|
|
894
|
+
bodySchema: chunkBMYZ4DO6_cjs.agentExecutionBodySchema,
|
|
895
|
+
responseSchema: chunkBMYZ4DO6_cjs.streamResponseSchema,
|
|
779
896
|
summary: "Stream UI messages from an agent",
|
|
780
897
|
description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
|
|
781
898
|
tags: ["Agents"],
|
|
@@ -785,6 +902,7 @@ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
785
902
|
|
|
786
903
|
exports.APPROVE_TOOL_CALL_ROUTE = APPROVE_TOOL_CALL_ROUTE;
|
|
787
904
|
exports.DECLINE_TOOL_CALL_ROUTE = DECLINE_TOOL_CALL_ROUTE;
|
|
905
|
+
exports.ENHANCE_INSTRUCTIONS_ROUTE = ENHANCE_INSTRUCTIONS_ROUTE;
|
|
788
906
|
exports.GENERATE_AGENT_ROUTE = GENERATE_AGENT_ROUTE;
|
|
789
907
|
exports.GENERATE_AGENT_VNEXT_ROUTE = GENERATE_AGENT_VNEXT_ROUTE;
|
|
790
908
|
exports.GENERATE_LEGACY_ROUTE = GENERATE_LEGACY_ROUTE;
|
|
@@ -806,5 +924,5 @@ exports.agents_exports = agents_exports;
|
|
|
806
924
|
exports.getAgentFromSystem = getAgentFromSystem;
|
|
807
925
|
exports.getSerializedAgentTools = getSerializedAgentTools;
|
|
808
926
|
exports.getSerializedProcessors = getSerializedProcessors;
|
|
809
|
-
//# sourceMappingURL=chunk-
|
|
810
|
-
//# sourceMappingURL=chunk-
|
|
927
|
+
//# sourceMappingURL=chunk-7KOS32XA.cjs.map
|
|
928
|
+
//# sourceMappingURL=chunk-7KOS32XA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","PROVIDER_REGISTRY","stringify","zodToJsonSchema","agent","HTTPException","acc","key","createRoute","z","listAgentsResponseSchema","handleError","agentIdPathParams","serializedAgentSchema","agentExecutionBodySchema","generateResponseSchema","sanitizeBody","validateBody","streamResponseSchema","providersResponseSchema","approveToolCallBodySchema","toolCallResponseSchema","declineToolCallBodySchema","updateAgentModelBodySchema","modelManagementResponseSchema","reorderAgentModelListBodySchema","modelConfigIdPathParams","updateAgentModelInModelListBodySchema","enhanceInstructionsBodySchema","enhanceInstructionsResponseSchema","Agent","MastraError","ErrorCategory","ErrorDomain"],"mappings":"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","file":"chunk-7KOS32XA.cjs","sourcesContent":["import { Agent } from '@mastra/core/agent';\nimport type { AgentModelManagerConfig } from '@mastra/core/agent';\nimport { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';\nimport { PROVIDER_REGISTRY } from '@mastra/core/llm';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport type {\n InputProcessor,\n OutputProcessor,\n InputProcessorOrWorkflow,\n OutputProcessorOrWorkflow,\n} from '@mastra/core/processors';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { z } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n listAgentsResponseSchema,\n serializedAgentSchema,\n agentExecutionBodySchema,\n generateResponseSchema,\n streamResponseSchema,\n providersResponseSchema,\n approveToolCallBodySchema,\n declineToolCallBodySchema,\n toolCallResponseSchema,\n updateAgentModelBodySchema,\n reorderAgentModelListBodySchema,\n updateAgentModelInModelListBodySchema,\n modelManagementResponseSchema,\n modelConfigIdPathParams,\n enhanceInstructionsBodySchema,\n enhanceInstructionsResponseSchema,\n} from '../schemas/agents';\nimport type { ServerRoute } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\n/**\n * Checks if a provider has its required API key environment variable(s) configured.\n * Handles provider IDs with suffixes (e.g., \"openai.chat\" -> \"openai\").\n * @param providerId - The provider identifier (may include a suffix like \".chat\")\n * @returns true if all required environment variables are set, false otherwise\n */\nfunction isProviderConnected(providerId: string): boolean {\n // Clean provider ID (e.g., \"openai.chat\" -> \"openai\")\n const cleanId = providerId.includes('.') ? providerId.split('.')[0]! : providerId;\n const provider = PROVIDER_REGISTRY[cleanId as keyof typeof PROVIDER_REGISTRY];\n if (!provider) return false;\n\n const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];\n return envVars.every(envVar => !!process.env[envVar]);\n}\n\nexport interface SerializedProcessor {\n id: string;\n name?: string;\n}\n\nexport interface SerializedTool {\n id: string;\n description?: string;\n inputSchema?: string;\n outputSchema?: string;\n requireApproval?: boolean;\n}\n\ninterface SerializedToolInput {\n id?: string;\n description?: string;\n inputSchema?: { jsonSchema?: unknown } | unknown;\n outputSchema?: { jsonSchema?: unknown } | unknown;\n}\n\nexport interface SerializedWorkflow {\n name: string;\n steps?: Record<string, { id: string; description?: string }>;\n}\n\nexport interface SerializedAgent {\n name: string;\n description?: string;\n instructions?: SystemMessage;\n tools: Record<string, SerializedTool>;\n agents: Record<string, SerializedAgentDefinition>;\n workflows: Record<string, SerializedWorkflow>;\n inputProcessors: SerializedProcessor[];\n outputProcessors: SerializedProcessor[];\n provider?: string;\n modelId?: string;\n modelVersion?: string;\n modelList?: Array<\n Omit<AgentModelManagerConfig, 'model'> & {\n model: {\n modelId: string;\n provider: string;\n modelVersion: string;\n };\n }\n >;\n // We can't use the true types here because they are not serializable\n defaultOptions?: Record<string, unknown>;\n defaultGenerateOptionsLegacy?: Record<string, unknown>;\n defaultStreamOptionsLegacy?: Record<string, unknown>;\n}\n\nexport interface SerializedAgentWithId extends SerializedAgent {\n id: string;\n}\n\nexport async function getSerializedAgentTools(\n tools: Record<string, SerializedToolInput>,\n partial: boolean = false,\n): Promise<Record<string, SerializedTool>> {\n return Object.entries(tools || {}).reduce<Record<string, SerializedTool>>((acc, [key, tool]) => {\n const toolId = tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn: string | undefined = undefined;\n let outputSchemaForReturn: string | undefined = undefined;\n\n // Only process schemas if not in partial mode\n if (!partial) {\n try {\n if (tool.inputSchema) {\n if (tool.inputSchema && typeof tool.inputSchema === 'object' && 'jsonSchema' in tool.inputSchema) {\n inputSchemaForReturn = stringify(tool.inputSchema.jsonSchema);\n } else if (typeof tool.inputSchema === 'function') {\n const inputSchema = tool.inputSchema();\n if (inputSchema && inputSchema.jsonSchema) {\n inputSchemaForReturn = stringify(inputSchema.jsonSchema);\n }\n } else if (tool.inputSchema) {\n inputSchemaForReturn = stringify(\n zodToJsonSchema(tool.inputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n\n if (tool.outputSchema) {\n if (tool.outputSchema && typeof tool.outputSchema === 'object' && 'jsonSchema' in tool.outputSchema) {\n outputSchemaForReturn = stringify(tool.outputSchema.jsonSchema);\n } else if (typeof tool.outputSchema === 'function') {\n const outputSchema = tool.outputSchema();\n if (outputSchema && outputSchema.jsonSchema) {\n outputSchemaForReturn = stringify(outputSchema.jsonSchema);\n }\n } else if (tool.outputSchema) {\n outputSchemaForReturn = stringify(\n zodToJsonSchema(tool.outputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n } catch (error) {\n console.error(`Error getting serialized tool`, {\n toolId: tool.id,\n error,\n });\n }\n }\n\n acc[key] = {\n ...tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nexport function getSerializedProcessors(\n processors: (InputProcessor | OutputProcessor | InputProcessorOrWorkflow | OutputProcessorOrWorkflow)[],\n): SerializedProcessor[] {\n return processors.map(processor => {\n // Processors are class instances or objects with a name property\n // Use the name property if available, otherwise fall back to constructor name\n return {\n id: processor.id,\n name: processor.name || processor.constructor.name,\n };\n });\n}\n\ninterface SerializedAgentDefinition {\n id: string;\n name: string;\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n requestContext,\n}: {\n agent: Agent;\n requestContext: RequestContext;\n}): Promise<Record<string, SerializedAgentDefinition>> {\n let serializedAgentAgents: Record<string, SerializedAgentDefinition> = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ requestContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<Record<string, SerializedAgentDefinition>>(\n (acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n },\n {},\n );\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n requestContext,\n partial = false,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n partial?: boolean;\n}): Promise<SerializedAgentWithId> {\n const description = agent.getDescription();\n const instructions = await agent.getInstructions({ requestContext });\n const tools = await agent.listTools({ requestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext });\n const serializedAgentTools = await getSerializedAgentTools(tools, partial);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps?: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps?: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(requestContext);\n const outputProcessors = await agent.listOutputProcessors(requestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n return {\n id: agent.id || id,\n name: agent.name,\n description,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultOptions,\n modelList,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\nexport async function getAgentFromSystem({ mastra, agentId }: { mastra: Context['mastra']; agentId: string }) {\n const logger = mastra.getLogger();\n\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n let agent;\n\n try {\n agent = mastra.getAgentById(agentId);\n } catch (error) {\n logger.debug('Error getting agent from mastra, searching agents for agent', error);\n }\n\n if (!agent) {\n logger.debug(`Agent ${agentId} not found, looking through sub-agents`);\n const agents = mastra.listAgents();\n if (Object.keys(agents || {}).length) {\n for (const [_, ag] of Object.entries(agents)) {\n try {\n const subAgents = await ag.listAgents();\n\n if (subAgents[agentId]) {\n agent = subAgents[agentId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting agent from agent', error);\n }\n }\n }\n }\n\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n\n return agent;\n}\n\nasync function formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n isStudio: boolean;\n}): Promise<SerializedAgent> {\n const description = agent.getDescription();\n const tools = await agent.listTools({ requestContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n steps: Object.entries(workflow.steps).reduce<Record<string, { id: string; description?: string }>>(\n (acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n },\n {},\n ),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRequestContext = requestContext;\n if (isStudio) {\n proxyRequestContext = new Proxy(requestContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({\n requestContext: proxyRequestContext,\n });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(proxyRequestContext);\n const outputProcessors = await agent.listOutputProcessors(proxyRequestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n return {\n name: agent.name,\n description,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultOptions,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listAgentsResponseSchema,\n summary: 'List all agents',\n description: 'Returns a list of all available agents in the system',\n tags: ['Agents'],\n handler: async ({ mastra, requestContext, partial }) => {\n try {\n const agents = mastra.listAgents();\n\n const isPartial = partial === 'true';\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<Record<string, (typeof serializedAgentsMap)[number]>>(\n (acc, { id, ...rest }) => {\n acc[id] = { id, ...rest };\n return acc;\n },\n {},\n );\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n },\n});\n\nexport const GET_AGENT_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: serializedAgentSchema,\n summary: 'Get agent by ID',\n description: 'Returns details for a specific agent including configuration, tools, and memory settings',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, requestContext }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n const isStudio = false; // TODO: Get from context if needed\n const result = await formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n },\n});\n\nexport const GENERATE_AGENT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate agent response',\n description: 'Executes an agent with the provided messages and returns the complete response',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate-legacy',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: '[DEPRECATED] Generate with legacy format',\n description: 'Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const result = await agent.generateLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\nexport const STREAM_GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream-legacy',\n responseType: 'datastream-response' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream with legacy format',\n description: 'Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const streamResult = await agent.streamLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const GET_PROVIDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/providers',\n responseType: 'json',\n responseSchema: providersResponseSchema,\n summary: 'List AI providers',\n description: 'Returns a list of all configured AI model providers',\n tags: ['Agents'],\n handler: async () => {\n try {\n const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {\n return {\n id,\n name: provider.name,\n label: (provider as any).label || provider.name,\n description: (provider as any).description || '',\n envVar: provider.apiKeyEnvVar,\n connected: isProviderConnected(id),\n docUrl: provider.docUrl,\n models: [...provider.models], // Convert readonly array to regular array\n };\n });\n return { providers };\n } catch (error) {\n return handleError(error, 'Error fetching providers');\n }\n },\n});\n\nexport const GENERATE_AGENT_VNEXT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate/vnext',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate a response from an agent',\n description: 'Generate a response from an agent',\n tags: ['Agents'],\n handler: GENERATE_AGENT_ROUTE.handler,\n});\n\nexport const STREAM_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent response',\n description: 'Executes an agent with the provided messages and streams the response in real-time',\n tags: ['Agents'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_GENERATE_ROUTE.handler,\n});\n\nexport const APPROVE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/approve-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Approve tool call',\n description: 'Approves a pending tool call and continues agent execution',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error approving tool call');\n }\n },\n});\n\nexport const DECLINE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/decline-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Decline tool call',\n description: 'Declines a pending tool call and continues agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error declining tool call');\n }\n },\n});\n\nexport const STREAM_NETWORK_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/network',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema.extend({ thread: z.string().optional() }),\n responseSchema: streamResponseSchema,\n summary: 'Stream agent network',\n description: 'Executes an agent network with multiple agents and streams the response',\n tags: ['Agents'],\n handler: async ({ mastra, messages, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n validateBody({ messages });\n\n const streamResult = await agent.network(messages, {\n ...params,\n memory: {\n thread: params.thread ?? params.threadId ?? '',\n resource: params.resourceId ?? '',\n options: params.memory?.options ?? {},\n },\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: updateAgentModelBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update agent model',\n description: 'Updates the AI model used by the agent',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelId, provider }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Use the universal Mastra router format: provider/model\n const newModel = `${provider}/${modelId}`;\n\n agent.__updateModel({ model: newModel });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n },\n});\n\nexport const RESET_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model/reset',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reset agent model',\n description: 'Resets the agent model to its original configuration',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n agent.__resetToOriginalModel();\n\n return { message: 'Agent model reset to original' };\n } catch (error) {\n return handleError(error, 'error resetting agent model');\n }\n },\n});\n\nexport const REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/reorder',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: reorderAgentModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reorder agent model list',\n description: 'Reorders the model list for agents with multiple model configurations',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, reorderedModelIds }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n agent.reorderModels(reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/:modelConfigId',\n responseType: 'json',\n pathParamSchema: modelConfigIdPathParams,\n bodySchema: updateAgentModelInModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update model in model list',\n description: 'Updates a specific model configuration in the agent model list',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n const modelConfig = modelList.find(config => config.id === modelConfigId);\n if (!modelConfig) {\n throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });\n }\n\n const newModel =\n bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;\n\n const updated = {\n ...modelConfig,\n model: newModel,\n ...(maxRetries !== undefined ? { maxRetries } : {}),\n ...(enabled !== undefined ? { enabled } : {}),\n };\n\n agent.updateModelInModelList(updated);\n\n return { message: 'Model updated in model list' };\n } catch (error) {\n return handleError(error, 'error updating model in model list');\n }\n },\n});\n\nconst ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS = `You are an expert system prompt engineer, specialized in analyzing and enhancing instructions to create clear, effective, and comprehensive system prompts. Your goal is to help users transform their basic instructions into well-structured system prompts that will guide AI behavior effectively.\n\nFollow these steps to analyze and enhance the instructions:\n\n1. ANALYSIS PHASE\n- Identify the core purpose and goals\n- Extract key constraints and requirements\n- Recognize domain-specific terminology and concepts\n- Note any implicit assumptions that should be made explicit\n\n2. PROMPT STRUCTURE\nCreate a system prompt with these components:\na) ROLE DEFINITION\n - Clear statement of the AI's role and purpose\n - Key responsibilities and scope\n - Primary stakeholders and users\nb) CORE CAPABILITIES\n - Main functions and abilities\n - Specific domain knowledge required\n - Tools and resources available\nc) BEHAVIORAL GUIDELINES\n - Communication style and tone\n - Decision-making framework\n - Error handling approach\n - Ethical considerations\nd) CONSTRAINTS & BOUNDARIES\n - Explicit limitations\n - Out-of-scope activities\n - Security and privacy considerations\ne) SUCCESS CRITERIA\n - Quality standards\n - Expected outcomes\n - Performance metrics\n\n3. QUALITY CHECKS\nEnsure the prompt is:\n- Clear and unambiguous\n- Comprehensive yet concise\n- Properly scoped\n- Technically accurate\n- Ethically sound\n\n4. OUTPUT FORMAT\nReturn a structured response with:\n- Enhanced system prompt\n- Analysis of key components\n- Identified goals and constraints\n- Core domain concepts\n\nRemember: A good system prompt should be specific enough to guide behavior but flexible enough to handle edge cases. Focus on creating prompts that are clear, actionable, and aligned with the intended use case.`;\n\n// Helper to find the first model with a connected provider\nasync function findConnectedModel(agent: Agent): Promise<Awaited<ReturnType<Agent['getModel']>> | null> {\n const modelList = await agent.getModelList();\n\n if (modelList && modelList.length > 0) {\n // Find the first enabled model with a connected provider\n for (const modelConfig of modelList) {\n if (modelConfig.enabled !== false) {\n const model = modelConfig.model;\n if (isProviderConnected(model.provider)) {\n return model;\n }\n }\n }\n return null;\n }\n\n // No model list, check the default model\n const defaultModel = await agent.getModel();\n if (isProviderConnected(defaultModel.provider)) {\n return defaultModel;\n }\n return null;\n}\n\nexport const ENHANCE_INSTRUCTIONS_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/instructions/enhance',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: enhanceInstructionsBodySchema,\n responseSchema: enhanceInstructionsResponseSchema,\n summary: 'Enhance agent instructions',\n description: 'Uses AI to enhance or modify agent instructions based on user feedback',\n tags: ['Agents'],\n handler: async ({ mastra, agentId, instructions, comment }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Find the first model with a connected provider (similar to how chat works)\n const model = await findConnectedModel(agent);\n if (!model) {\n throw new HTTPException(400, {\n message:\n 'No model with a configured API key found. Please set the required environment variable for your model provider.',\n });\n }\n\n const systemPromptAgent = new Agent({\n id: 'system-prompt-enhancer',\n name: 'system-prompt-enhancer',\n instructions: ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS,\n model,\n });\n\n const result = await systemPromptAgent.generate(\n `We need to improve the system prompt.\nCurrent: ${instructions}\n${comment ? `User feedback: ${comment}` : ''}`,\n {\n structuredOutput: {\n schema: enhanceInstructionsResponseSchema,\n },\n },\n );\n\n return await result.object;\n } catch (error) {\n return handleError(error, 'Error enhancing instructions');\n }\n },\n});\n\nexport const STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/streamVNext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n throw new HTTPException(410, { message: 'This endpoint is deprecated. Please use /stream instead.' });\n },\n});\n\nexport const STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n try {\n throw new MastraError({\n category: ErrorCategory.USER,\n domain: ErrorDomain.MASTRA_SERVER,\n id: 'DEPRECATED_ENDPOINT',\n text: 'This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations',\n });\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler,\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk3XI22UQR_cjs = require('./chunk-3XI22UQR.cjs');
|
|
4
4
|
var chunkH2RMXG2Q_cjs = require('./chunk-H2RMXG2Q.cjs');
|
|
5
5
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
6
6
|
var a2a = require('@mastra/core/a2a');
|
|
@@ -342,7 +342,7 @@ async function getAgentCardByIdHandler({
|
|
|
342
342
|
]);
|
|
343
343
|
const agentCard = {
|
|
344
344
|
name: agent.id || agentId,
|
|
345
|
-
description:
|
|
345
|
+
description: chunk3XI22UQR_cjs.convertInstructionsToString(instructions),
|
|
346
346
|
url: executionUrl,
|
|
347
347
|
provider,
|
|
348
348
|
version,
|
|
@@ -622,7 +622,7 @@ var GET_AGENT_CARD_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
|
622
622
|
]);
|
|
623
623
|
const agentCard = {
|
|
624
624
|
name: agent.id || agentId,
|
|
625
|
-
description:
|
|
625
|
+
description: chunk3XI22UQR_cjs.convertInstructionsToString(instructions),
|
|
626
626
|
url: executionUrl,
|
|
627
627
|
provider,
|
|
628
628
|
version,
|
|
@@ -676,5 +676,5 @@ exports.handleMessageSend = handleMessageSend;
|
|
|
676
676
|
exports.handleMessageStream = handleMessageStream;
|
|
677
677
|
exports.handleTaskCancel = handleTaskCancel;
|
|
678
678
|
exports.handleTaskGet = handleTaskGet;
|
|
679
|
-
//# sourceMappingURL=chunk-
|
|
680
|
-
//# sourceMappingURL=chunk-
|
|
679
|
+
//# sourceMappingURL=chunk-7O3KPUJ4.cjs.map
|
|
680
|
+
//# sourceMappingURL=chunk-7O3KPUJ4.cjs.map
|