@mastra/server 0.0.0-remove-unused-import-20250909212718 → 0.0.0-roamin-openaivoice-speak-options-passing-20250926163614
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 +268 -3
- package/README.md +0 -5
- package/dist/{chunk-GUI3CROV.cjs → chunk-2GDLSAVJ.cjs} +60 -22
- package/dist/chunk-2GDLSAVJ.cjs.map +1 -0
- package/dist/{chunk-R7NOGUZG.js → chunk-5KRXONRF.js} +43 -4
- package/dist/chunk-5KRXONRF.js.map +1 -0
- package/dist/{chunk-L265APUD.cjs → chunk-5N724Q2T.cjs} +43 -3
- package/dist/chunk-5N724Q2T.cjs.map +1 -0
- package/dist/{chunk-5QUKZCEF.js → chunk-6IJWRJZE.js} +4 -3
- package/dist/chunk-6IJWRJZE.js.map +1 -0
- package/dist/{chunk-M2YFWHSB.js → chunk-BOVFMBXY.js} +231 -79
- package/dist/chunk-BOVFMBXY.js.map +1 -0
- package/dist/{chunk-6LUKYSWE.cjs → chunk-CML3EOO5.cjs} +96 -119
- package/dist/chunk-CML3EOO5.cjs.map +1 -0
- package/dist/{chunk-7QEJ5QG5.js → chunk-IYJW2OVQ.js} +60 -22
- package/dist/chunk-IYJW2OVQ.js.map +1 -0
- package/dist/{chunk-A75S4TDD.js → chunk-JRDEOHAJ.js} +19 -11
- package/dist/chunk-JRDEOHAJ.js.map +1 -0
- package/dist/{chunk-SYRRSBGL.js → chunk-KM7EJKXV.js} +8 -4
- package/dist/chunk-KM7EJKXV.js.map +1 -0
- package/dist/{chunk-J7BPKKOG.cjs → chunk-LJFAAEU7.cjs} +8 -4
- package/dist/chunk-LJFAAEU7.cjs.map +1 -0
- package/dist/{chunk-MLGHQDZZ.js → chunk-N5ID53SA.js} +174 -133
- package/dist/chunk-N5ID53SA.js.map +1 -0
- package/dist/{chunk-B2V3PUB7.js → chunk-NH7XUTIO.js} +93 -116
- package/dist/chunk-NH7XUTIO.js.map +1 -0
- package/dist/{chunk-WZC6CIVD.cjs → chunk-NLWACBE7.cjs} +19 -11
- package/dist/chunk-NLWACBE7.cjs.map +1 -0
- package/dist/{chunk-3THIIWWW.cjs → chunk-OPI3FZYH.cjs} +4 -3
- package/dist/chunk-OPI3FZYH.cjs.map +1 -0
- package/dist/{chunk-YITREQVN.cjs → chunk-QNWXF57L.cjs} +193 -152
- package/dist/chunk-QNWXF57L.cjs.map +1 -0
- package/dist/{chunk-RW2D3G4K.cjs → chunk-SXENNNR7.cjs} +233 -78
- package/dist/chunk-SXENNNR7.cjs.map +1 -0
- package/dist/chunk-VY4ENABS.cjs +135 -0
- package/dist/chunk-VY4ENABS.cjs.map +1 -0
- package/dist/chunk-YWOK4F5A.js +131 -0
- package/dist/chunk-YWOK4F5A.js.map +1 -0
- package/dist/index.cjs +4 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/server/handlers/a2a.cjs +7 -7
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.d.ts +5 -4
- 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 +26 -14
- package/dist/server/handlers/agents.d.ts +64 -8
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/observability.cjs +7 -3
- package/dist/server/handlers/observability.d.ts +18 -0
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.d.ts +208 -6
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/vNextNetwork.d.ts +77 -10
- package/dist/server/handlers/vNextNetwork.d.ts.map +1 -1
- package/dist/server/handlers/voice.cjs +5 -5
- package/dist/server/handlers/voice.d.ts +6 -4
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +24 -16
- package/dist/server/handlers/workflows.d.ts +16 -7
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +16 -21
- package/dist/server/handlers.d.ts +0 -1
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +8 -9
- package/dist/server/utils.d.ts +2 -0
- package/dist/server/utils.d.ts.map +1 -1
- package/package.json +8 -8
- package/dist/chunk-3THIIWWW.cjs.map +0 -1
- package/dist/chunk-5QUKZCEF.js.map +0 -1
- package/dist/chunk-6LUKYSWE.cjs.map +0 -1
- package/dist/chunk-7QEJ5QG5.js.map +0 -1
- package/dist/chunk-A75S4TDD.js.map +0 -1
- package/dist/chunk-B2V3PUB7.js.map +0 -1
- package/dist/chunk-GUI3CROV.cjs.map +0 -1
- package/dist/chunk-IY34NOLA.cjs +0 -150
- package/dist/chunk-IY34NOLA.cjs.map +0 -1
- package/dist/chunk-J7BPKKOG.cjs.map +0 -1
- package/dist/chunk-L265APUD.cjs.map +0 -1
- package/dist/chunk-M2YFWHSB.js.map +0 -1
- package/dist/chunk-MLGHQDZZ.js.map +0 -1
- package/dist/chunk-R7NOGUZG.js.map +0 -1
- package/dist/chunk-RW2D3G4K.cjs.map +0 -1
- package/dist/chunk-SYRRSBGL.js.map +0 -1
- package/dist/chunk-U46VIX2V.js +0 -144
- package/dist/chunk-U46VIX2V.js.map +0 -1
- package/dist/chunk-WZC6CIVD.cjs.map +0 -1
- package/dist/chunk-YITREQVN.cjs.map +0 -1
- package/dist/server/handlers/network.cjs +0 -24
- package/dist/server/handlers/network.cjs.map +0 -1
- package/dist/server/handlers/network.d.ts +0 -50
- package/dist/server/handlers/network.d.ts.map +0 -1
- package/dist/server/handlers/network.js +0 -3
- package/dist/server/handlers/network.js.map +0 -1
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
4
4
|
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
5
5
|
var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
|
|
6
|
+
var scoreTraces = require('@mastra/core/scores/scoreTraces');
|
|
6
7
|
|
|
7
8
|
// src/server/handlers/observability.ts
|
|
8
9
|
var observability_exports = {};
|
|
9
10
|
chunkEMMSS5I5_cjs.__export(observability_exports, {
|
|
10
11
|
getAITraceHandler: () => getAITraceHandler,
|
|
11
|
-
getAITracesPaginatedHandler: () => getAITracesPaginatedHandler
|
|
12
|
+
getAITracesPaginatedHandler: () => getAITracesPaginatedHandler,
|
|
13
|
+
scoreTracesHandler: () => scoreTracesHandler
|
|
12
14
|
});
|
|
13
15
|
async function getAITraceHandler({ mastra, traceId }) {
|
|
14
16
|
try {
|
|
@@ -61,9 +63,47 @@ async function getAITracesPaginatedHandler({ mastra, body }) {
|
|
|
61
63
|
chunkRE4RPXT2_cjs.handleError(error, "Error getting AI traces paginated");
|
|
62
64
|
}
|
|
63
65
|
}
|
|
66
|
+
async function scoreTracesHandler({ mastra, body }) {
|
|
67
|
+
try {
|
|
68
|
+
if (!body) {
|
|
69
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Request body is required" });
|
|
70
|
+
}
|
|
71
|
+
const { scorerName, targets } = body;
|
|
72
|
+
if (!scorerName) {
|
|
73
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Scorer Name is required" });
|
|
74
|
+
}
|
|
75
|
+
if (!targets || targets.length === 0) {
|
|
76
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "At least one target is required" });
|
|
77
|
+
}
|
|
78
|
+
const storage = mastra.getStorage();
|
|
79
|
+
if (!storage) {
|
|
80
|
+
throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Storage is not available" });
|
|
81
|
+
}
|
|
82
|
+
const scorer = mastra.getScorerByName(scorerName);
|
|
83
|
+
if (!scorer) {
|
|
84
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: `Scorer '${scorerName}' not found` });
|
|
85
|
+
}
|
|
86
|
+
const logger = mastra.getLogger();
|
|
87
|
+
scoreTraces.scoreTraces({
|
|
88
|
+
scorerName,
|
|
89
|
+
targets,
|
|
90
|
+
mastra
|
|
91
|
+
}).catch((error) => {
|
|
92
|
+
logger?.error(`Background trace scoring failed: ${error.message}`, error);
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
status: "success",
|
|
96
|
+
message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
|
|
97
|
+
traceCount: targets.length
|
|
98
|
+
};
|
|
99
|
+
} catch (error) {
|
|
100
|
+
chunkRE4RPXT2_cjs.handleError(error, "Error processing trace scoring");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
64
103
|
|
|
65
104
|
exports.getAITraceHandler = getAITraceHandler;
|
|
66
105
|
exports.getAITracesPaginatedHandler = getAITracesPaginatedHandler;
|
|
67
106
|
exports.observability_exports = observability_exports;
|
|
68
|
-
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
exports.scoreTracesHandler = scoreTracesHandler;
|
|
108
|
+
//# sourceMappingURL=chunk-5N724Q2T.cjs.map
|
|
109
|
+
//# sourceMappingURL=chunk-5N724Q2T.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/observability.ts"],"names":["__export","HTTPException","handleError","scoreTraces"],"mappings":"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","file":"chunk-5N724Q2T.cjs","sourcesContent":["import type { AITracesPaginatedArg } from '@mastra/core';\nimport { scoreTraces } from '@mastra/core/scores/scoreTraces';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: AITracesPaginatedArg;\n}\n\ninterface ScoreTracesContext extends Context {\n body?: {\n scorerName: string;\n targets: Array<{\n traceId: string;\n spanId?: string;\n }>;\n };\n}\n\n/**\n * Get a complete AI trace by trace ID\n * Returns all spans in the trace with their parent-child relationships\n */\nexport async function getAITraceHandler({ mastra, traceId }: ObservabilityContext & { traceId: string }) {\n try {\n if (!traceId) {\n throw new HTTPException(400, { message: 'Trace ID is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const trace = await storage.getAITrace(traceId);\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n handleError(error, 'Error getting AI trace');\n }\n}\n\n/**\n * Get paginated AI traces with filtering and pagination\n * Returns only root spans (parent spans) for pagination, not child spans\n */\nexport async function getAITracesPaginatedHandler({ mastra, body }: ObservabilityContext) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { filters, pagination } = body;\n\n if (pagination?.page && pagination.page < 0) {\n throw new HTTPException(400, { message: 'Page must be a non-negative integer' });\n }\n\n if (pagination?.perPage && pagination.perPage < 0) {\n throw new HTTPException(400, { message: 'Per page must be a non-negative integer' });\n }\n\n if (pagination?.dateRange) {\n const { start, end } = pagination.dateRange;\n\n if (start && !(start instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n\n if (end && !(end instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n }\n\n return storage.getAITracesPaginated({\n pagination,\n filters,\n });\n } catch (error) {\n handleError(error, 'Error getting AI traces paginated');\n }\n}\n\n/**\n * Score traces using a specified scorer\n * Fire-and-forget approach - returns immediately while scoring runs in background\n */\nexport async function scoreTracesHandler({ mastra, body }: ScoreTracesContext) {\n try {\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { scorerName, targets } = body;\n\n if (!scorerName) {\n throw new HTTPException(400, { message: 'Scorer Name is required' });\n }\n\n if (!targets || targets.length === 0) {\n throw new HTTPException(400, { message: 'At least one target is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const scorer = mastra.getScorerByName(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n const logger = mastra.getLogger();\n scoreTraces({\n scorerName,\n targets,\n mastra,\n }).catch(error => {\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n // Return immediate response\n return {\n status: 'success',\n message: `Scoring started for ${targets.length} ${targets.length === 1 ? 'trace' : 'traces'}`,\n traceCount: targets.length,\n };\n } catch (error) {\n handleError(error, 'Error processing trace scoring');\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { convertInstructionsToString } from './chunk-YWOK4F5A.js';
|
|
1
2
|
import { __export } from './chunk-G3PMV62Z.js';
|
|
2
3
|
import { MastraA2AError } from '@mastra/core/a2a';
|
|
3
4
|
import { z } from 'zod';
|
|
@@ -218,7 +219,7 @@ async function getAgentCardByIdHandler({
|
|
|
218
219
|
]);
|
|
219
220
|
const agentCard = {
|
|
220
221
|
name: agent.id || agentId,
|
|
221
|
-
description: instructions,
|
|
222
|
+
description: convertInstructionsToString(instructions),
|
|
222
223
|
url: executionUrl,
|
|
223
224
|
provider,
|
|
224
225
|
version,
|
|
@@ -472,5 +473,5 @@ async function getAgentExecutionHandler({
|
|
|
472
473
|
}
|
|
473
474
|
|
|
474
475
|
export { a2a_exports, getAgentCardByIdHandler, getAgentExecutionHandler, handleMessageSend, handleMessageStream, handleTaskCancel, handleTaskGet };
|
|
475
|
-
//# sourceMappingURL=chunk-
|
|
476
|
-
//# sourceMappingURL=chunk-
|
|
476
|
+
//# sourceMappingURL=chunk-6IJWRJZE.js.map
|
|
477
|
+
//# sourceMappingURL=chunk-6IJWRJZE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/a2a.ts","../src/server/a2a/protocol.ts","../src/server/a2a/tasks.ts"],"names":["MastraA2AError","result"],"mappings":"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","file":"chunk-6IJWRJZE.js","sourcesContent":["import { MastraA2AError } from '@mastra/core/a2a';\nimport type {\n MessageSendParams,\n TaskQueryParams,\n TaskIdParams,\n AgentCard,\n TaskStatus,\n TaskState,\n} from '@mastra/core/a2a';\nimport type { Agent } from '@mastra/core/agent';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport { z } from 'zod';\nimport { convertToCoreMessage, normalizeError, createSuccessResponse, createErrorResponse } from '../a2a/protocol';\nimport type { InMemoryTaskStore } from '../a2a/store';\nimport { applyUpdateToTask, createTaskContext, loadOrCreateTask } from '../a2a/tasks';\nimport type { Context } from '../types';\nimport { convertInstructionsToString } from '../utils';\n\nconst messageSendParamsSchema = z.object({\n message: z.object({\n role: z.enum(['user', 'agent']),\n parts: z.array(\n z.object({\n kind: z.enum(['text']),\n text: z.string(),\n }),\n ),\n kind: z.literal('message'),\n messageId: z.string(),\n contextId: z.string().optional(),\n taskId: z.string().optional(),\n referenceTaskIds: z.array(z.string()).optional(),\n extensions: z.array(z.string()).optional(),\n metadata: z.record(z.any()).optional(),\n }),\n});\n\nexport async function getAgentCardByIdHandler({\n mastra,\n agentId,\n executionUrl = `/a2a/${agentId}`,\n provider = {\n organization: 'Mastra',\n url: 'https://mastra.ai',\n },\n version = '1.0',\n runtimeContext,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: keyof ReturnType<typeof mastra.getAgents>;\n executionUrl?: string;\n version?: string;\n provider?: {\n organization: string;\n url: string;\n };\n}): Promise<AgentCard> {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new Error(`Agent with ID ${agentId} not found`);\n }\n\n const [instructions, tools] = await Promise.all([\n agent.getInstructions({ runtimeContext }),\n agent.getTools({ runtimeContext }),\n ]);\n\n // Extract agent information to create the AgentCard\n const agentCard: AgentCard = {\n name: agent.id || agentId,\n description: convertInstructionsToString(instructions),\n url: executionUrl,\n provider,\n version,\n capabilities: {\n streaming: true, // All agents support streaming\n pushNotifications: false,\n stateTransitionHistory: false,\n },\n defaultInputModes: ['text'],\n defaultOutputModes: ['text'],\n // Convert agent tools to skills format for A2A protocol\n skills: Object.entries(tools).map(([toolId, tool]) => ({\n id: toolId,\n name: toolId,\n description: tool.description || `Tool: ${toolId}`,\n // Optional fields\n tags: ['tool'],\n })),\n };\n\n return agentCard;\n}\n\nfunction validateMessageSendParams(params: MessageSendParams) {\n try {\n messageSendParamsSchema.parse(params);\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw MastraA2AError.invalidParams((error as z.ZodError).errors[0]!.message);\n }\n\n throw error;\n }\n}\n\nexport async function handleMessageSend({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n runtimeContext,\n}: {\n requestId: string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n runtimeContext: RuntimeContext;\n}) {\n validateMessageSendParams(params);\n\n const { message, metadata } = params;\n const { contextId } = message;\n const taskId = message.taskId || crypto.randomUUID();\n\n // Load or create task\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n // Use the new TaskContext definition, passing history\n const context = createTaskContext({\n task: currentData,\n userMessage: message,\n history: currentData.history || [],\n activeCancellations: taskStore.activeCancellations,\n });\n\n try {\n const { text } = await agent.generate([convertToCoreMessage(message)], {\n runId: taskId,\n runtimeContext,\n });\n\n currentData = applyUpdateToTask(currentData, {\n state: 'completed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: text,\n },\n ],\n kind: 'message',\n },\n });\n\n await taskStore.save({ agentId, data: currentData });\n context.task = currentData;\n } catch (handlerError) {\n // If handler throws, apply 'failed' status, save, and rethrow\n const failureStatusUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'failed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`,\n },\n ],\n kind: 'message',\n },\n };\n currentData = applyUpdateToTask(currentData, failureStatusUpdate);\n\n try {\n await taskStore.save({ agentId, data: currentData });\n } catch (saveError) {\n // @ts-expect-error saveError is an unknown error\n logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);\n }\n\n return normalizeError(handlerError, requestId, currentData.id, logger); // Rethrow original error\n }\n\n // The loop finished, send the final task state\n return createSuccessResponse(requestId, currentData);\n}\n\nexport async function handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n}: {\n requestId: string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n}) {\n const task = await taskStore.load({ agentId, taskId });\n\n if (!task) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n return createSuccessResponse(requestId, task);\n}\n\nexport async function* handleMessageStream({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n runtimeContext,\n}: {\n requestId: string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n runtimeContext: RuntimeContext;\n}) {\n yield createSuccessResponse(requestId, {\n state: 'working',\n message: {\n messageId: crypto.randomUUID(),\n kind: 'message',\n role: 'agent',\n parts: [{ kind: 'text', text: 'Generating response...' }],\n },\n });\n\n let result;\n try {\n result = await handleMessageSend({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n runtimeContext,\n logger,\n });\n } catch (err) {\n if (!(err instanceof MastraA2AError)) {\n throw err;\n }\n\n result = createErrorResponse(requestId, err.toJSONRPCError());\n }\n\n yield result;\n}\n\nexport async function handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId,\n logger,\n}: {\n requestId: string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n logger?: IMastraLogger;\n}) {\n // Load task and history\n let data = await taskStore.load({\n agentId,\n taskId,\n });\n\n if (!data) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n // Check if cancelable (not already in a final state)\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(data.status.state)) {\n logger?.info(`Task ${taskId} already in final state ${data.status.state}, cannot cancel.`);\n return createSuccessResponse(requestId, data);\n }\n\n // Signal cancellation\n taskStore.activeCancellations.add(taskId);\n\n // Apply 'canceled' state update\n const cancelUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'canceled',\n message: {\n role: 'agent',\n parts: [{ kind: 'text', text: 'Task cancelled by request.' }],\n kind: 'message',\n messageId: crypto.randomUUID(),\n },\n };\n\n data = applyUpdateToTask(data, cancelUpdate);\n\n // Save the updated state\n await taskStore.save({ agentId, data });\n\n // Remove from active cancellations *after* saving\n taskStore.activeCancellations.delete(taskId);\n\n // Return the updated task object\n return createSuccessResponse(requestId, data);\n}\n\nexport async function getAgentExecutionHandler({\n requestId,\n mastra,\n agentId,\n runtimeContext,\n method,\n params,\n taskStore,\n logger,\n}: Context & {\n requestId: string;\n runtimeContext: RuntimeContext;\n agentId: string;\n method: 'message/send' | 'message/stream' | 'tasks/get' | 'tasks/cancel';\n params: MessageSendParams | TaskQueryParams | TaskIdParams;\n taskStore: InMemoryTaskStore;\n logger?: IMastraLogger;\n}): Promise<any> {\n const agent = mastra.getAgent(agentId);\n\n let taskId: string | undefined; // For error context\n\n try {\n // Attempt to get task ID early for error context. Cast params to any to access id.\n // Proper validation happens within specific handlers.\n taskId = 'id' in params ? params.id : params.message?.taskId || 'No task ID provided';\n\n // 2. Route based on method\n switch (method) {\n case 'message/send': {\n const result = await handleMessageSend({\n requestId,\n params: params as MessageSendParams,\n taskStore,\n agent,\n agentId,\n runtimeContext,\n });\n return result;\n }\n case 'message/stream':\n const result = await handleMessageStream({\n requestId,\n taskStore,\n params: params as MessageSendParams,\n agent,\n agentId,\n runtimeContext,\n });\n return result;\n\n case 'tasks/get': {\n const result = await handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n });\n\n return result;\n }\n case 'tasks/cancel': {\n const result = await handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId,\n });\n\n return result;\n }\n default:\n throw MastraA2AError.methodNotFound(method);\n }\n } catch (error) {\n if (error instanceof MastraA2AError && taskId && !error.taskId) {\n error.taskId = taskId; // Add task ID context if missing\n }\n\n return normalizeError(error, requestId, taskId, logger);\n }\n}\n","import { MastraA2AError } from '@mastra/core/a2a';\n\nimport type { JSONRPCError, JSONRPCResponse, Message, Part } from '@mastra/core/a2a';\nimport type { CoreMessage } from '@mastra/core/llm';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function normalizeError(\n error: any,\n reqId: number | string | null,\n taskId?: string,\n logger?: IMastraLogger,\n): JSONRPCResponse<null, unknown> {\n let a2aError: MastraA2AError;\n if (error instanceof MastraA2AError) {\n a2aError = error;\n } else if (error instanceof Error) {\n // Generic JS error\n a2aError = MastraA2AError.internalError(error.message, { stack: error.stack });\n } else {\n // Unknown error type\n a2aError = MastraA2AError.internalError('An unknown error occurred.', error);\n }\n\n // Ensure Task ID context is present if possible\n if (taskId && !a2aError.taskId) {\n a2aError.taskId = taskId;\n }\n\n logger?.error(`Error processing request (Task: ${a2aError.taskId ?? 'N/A'}, ReqID: ${reqId ?? 'N/A'}):`, a2aError);\n\n return createErrorResponse(reqId, a2aError.toJSONRPCError());\n}\n\nexport function createErrorResponse(\n id: number | string | null,\n error: JSONRPCError<unknown>,\n): JSONRPCResponse<null, unknown> {\n // For errors, ID should be the same as request ID, or null if that couldn't be determined\n return {\n jsonrpc: '2.0',\n id: id, // Can be null if request ID was invalid/missing\n error: error,\n };\n}\n\nexport function createSuccessResponse<T>(id: number | string | null, result: T): JSONRPCResponse<T> {\n if (!id) {\n // This shouldn't happen for methods that expect a response, but safeguard\n throw MastraA2AError.internalError('Cannot create success response for null ID.');\n }\n\n return {\n jsonrpc: '2.0',\n id: id,\n result: result,\n };\n}\n\nexport function convertToCoreMessage(message: Message): CoreMessage {\n return {\n role: message.role === 'user' ? 'user' : 'assistant',\n content: message.parts.map(msg => convertToCoreMessagePart(msg)),\n };\n}\n\nfunction convertToCoreMessagePart(part: Part) {\n switch (part.kind) {\n case 'text':\n return {\n type: 'text',\n text: part.text,\n } as const;\n case 'file':\n return {\n type: 'file',\n data: 'uri' in part.file ? new URL(part.file.uri) : part.file.bytes,\n mimeType: part.file.mimeType!,\n } as const;\n case 'data':\n throw new Error('Data parts are not supported in core messages');\n }\n}\n","import type {\n Message,\n Task,\n TaskState,\n TaskStatus,\n TaskContext,\n TaskArtifactUpdateEvent,\n Artifact,\n} from '@mastra/core/a2a';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { InMemoryTaskStore } from './store';\n\nfunction isTaskStatusUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is Omit<TaskStatus, 'timestamp'> {\n return 'state' in update && !('parts' in update);\n}\n\nfunction isArtifactUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is TaskArtifactUpdateEvent {\n return 'kind' in update && update.kind === 'artifact-update';\n}\n\nexport function applyUpdateToTask(\n current: Task,\n update: Omit<TaskStatus, 'timestamp'> | TaskArtifactUpdateEvent,\n): Task {\n let newTask = structuredClone(current);\n\n if (isTaskStatusUpdate(update)) {\n // Merge status update\n newTask.status = {\n ...newTask.status, // Keep existing properties if not overwritten\n ...update, // Apply updates\n timestamp: new Date().toISOString(),\n };\n } else if (isArtifactUpdate(update)) {\n // Handle artifact update\n if (!newTask.artifacts) {\n newTask.artifacts = [];\n } else {\n // Ensure we're working with a copy of the artifacts array\n newTask.artifacts = [...newTask.artifacts];\n }\n\n const artifact = update.artifact;\n const existingIndex = newTask.artifacts.findIndex(a => a.name === artifact.name);\n const existingArtifact = newTask.artifacts[existingIndex];\n\n if (existingArtifact) {\n if (update.append) {\n // Create a deep copy for modification to avoid mutating original\n const appendedArtifact = JSON.parse(JSON.stringify(existingArtifact)) as Artifact;\n appendedArtifact.parts.push(...artifact.parts);\n if (artifact.metadata) {\n appendedArtifact.metadata = {\n ...(appendedArtifact.metadata || {}),\n ...artifact.metadata,\n };\n }\n if (artifact.description) appendedArtifact.description = artifact.description;\n newTask.artifacts[existingIndex] = appendedArtifact; // Replace with appended version\n } else {\n // Overwrite artifact at index (with a copy of the update)\n newTask.artifacts[existingIndex] = { ...artifact };\n }\n } else {\n newTask.artifacts.push({ ...artifact });\n }\n }\n\n return newTask;\n}\n\nexport async function loadOrCreateTask({\n agentId,\n taskId,\n taskStore,\n message,\n contextId,\n metadata,\n logger,\n}: {\n agentId: string;\n taskId: string;\n taskStore: InMemoryTaskStore;\n message: Message;\n contextId?: string;\n metadata?: Record<string, unknown>;\n logger?: IMastraLogger;\n}): Promise<Task> {\n const data = await taskStore.load({ agentId, taskId });\n\n // Create new task if none exists\n if (!data) {\n const initialTask: Task = {\n id: taskId,\n contextId: contextId || crypto.randomUUID(),\n status: {\n state: 'submitted',\n timestamp: new Date().toISOString(),\n message: undefined,\n },\n artifacts: [],\n history: [message],\n metadata: metadata,\n kind: 'task',\n };\n\n logger?.info(`[Task ${taskId}] Created new task.`);\n await taskStore.save({ agentId, data: initialTask });\n\n return initialTask;\n }\n\n // Handle existing task\n logger?.info(`[Task ${taskId}] Loaded existing task.`);\n\n // Add message to history and prepare updated data\n let updatedData = data;\n updatedData.history = [...(data.history || []), message];\n\n // Handle state transitions\n const { status } = data;\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(status.state)) {\n logger?.warn(`[Task ${taskId}] Received message for task in final state ${status.state}. Restarting.`);\n updatedData = applyUpdateToTask(updatedData, {\n state: 'submitted',\n message: undefined,\n });\n } else if (status.state === 'input-required') {\n logger?.info(`[Task ${taskId}] Changing state from 'input-required' to 'working'.`);\n updatedData = applyUpdateToTask(updatedData, { state: 'working' });\n } else if (status.state === 'working') {\n logger?.warn(`[Task ${taskId}] Received message while already 'working'. Proceeding.`);\n }\n\n await taskStore.save({ agentId, data: updatedData });\n\n return updatedData;\n}\n\nexport function createTaskContext({\n task,\n userMessage,\n history,\n activeCancellations,\n}: {\n task: Task;\n userMessage: Message;\n history: Message[];\n activeCancellations: Set<string>;\n}): TaskContext {\n return {\n task: structuredClone(task),\n userMessage,\n history: structuredClone(history),\n isCancelled: () => activeCancellations.has(task.id),\n };\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { xai as xai$1 } from './chunk-P7CIEIJ3.js';
|
|
2
1
|
import { google as google$1 } from './chunk-FQNT7PI4.js';
|
|
3
2
|
import { anthropic } from './chunk-RCHEPTZZ.js';
|
|
4
3
|
import { groq } from './chunk-EMNGA4R4.js';
|
|
@@ -6,6 +5,7 @@ import { xai } from './chunk-IOQGI4ML.js';
|
|
|
6
5
|
import { google } from './chunk-OGW6HHVI.js';
|
|
7
6
|
import { anthropic as anthropic$1 } from './chunk-LYPU75T6.js';
|
|
8
7
|
import { groq as groq$1 } from './chunk-66YYHFGF.js';
|
|
8
|
+
import { xai as xai$1 } from './chunk-P7CIEIJ3.js';
|
|
9
9
|
import { sanitizeBody, validateBody } from './chunk-4QCXUEAT.js';
|
|
10
10
|
import { openai } from './chunk-4RRMWXQ2.js';
|
|
11
11
|
import { openai as openai$1 } from './chunk-6GMFZ5LK.js';
|
|
@@ -27,11 +27,14 @@ __export(agents_exports, {
|
|
|
27
27
|
getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
|
|
28
28
|
getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
|
|
29
29
|
getSerializedAgentTools: () => getSerializedAgentTools,
|
|
30
|
+
reorderAgentModelListHandler: () => reorderAgentModelListHandler,
|
|
30
31
|
streamGenerateHandler: () => streamGenerateHandler,
|
|
31
32
|
streamGenerateLegacyHandler: () => streamGenerateLegacyHandler,
|
|
33
|
+
streamNetworkHandler: () => streamNetworkHandler,
|
|
32
34
|
streamVNextGenerateHandler: () => streamVNextGenerateHandler,
|
|
33
35
|
streamVNextUIMessageHandler: () => streamVNextUIMessageHandler,
|
|
34
|
-
updateAgentModelHandler: () => updateAgentModelHandler
|
|
36
|
+
updateAgentModelHandler: () => updateAgentModelHandler,
|
|
37
|
+
updateAgentModelInModelListHandler: () => updateAgentModelInModelListHandler
|
|
35
38
|
});
|
|
36
39
|
async function getSerializedAgentTools(tools) {
|
|
37
40
|
return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
|
|
@@ -62,47 +65,83 @@ async function getSerializedAgentTools(tools) {
|
|
|
62
65
|
return acc;
|
|
63
66
|
}, {});
|
|
64
67
|
}
|
|
68
|
+
async function getSerializedAgentDefinition({
|
|
69
|
+
agent,
|
|
70
|
+
runtimeContext
|
|
71
|
+
}) {
|
|
72
|
+
let serializedAgentAgents = {};
|
|
73
|
+
if ("listAgents" in agent) {
|
|
74
|
+
const agents = await agent.listAgents({ runtimeContext });
|
|
75
|
+
serializedAgentAgents = Object.entries(agents || {}).reduce((acc, [key, agent2]) => {
|
|
76
|
+
return {
|
|
77
|
+
...acc,
|
|
78
|
+
[key]: { id: agent2.id, name: agent2.name }
|
|
79
|
+
};
|
|
80
|
+
}, {});
|
|
81
|
+
}
|
|
82
|
+
return serializedAgentAgents;
|
|
83
|
+
}
|
|
84
|
+
async function formatAgentList({
|
|
85
|
+
id,
|
|
86
|
+
mastra,
|
|
87
|
+
agent,
|
|
88
|
+
runtimeContext
|
|
89
|
+
}) {
|
|
90
|
+
const instructions = await agent.getInstructions({ runtimeContext });
|
|
91
|
+
const tools = await agent.getTools({ runtimeContext });
|
|
92
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
93
|
+
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
|
|
94
|
+
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
|
|
95
|
+
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
96
|
+
let serializedAgentWorkflows = {};
|
|
97
|
+
if ("getWorkflows" in agent) {
|
|
98
|
+
const logger = mastra.getLogger();
|
|
99
|
+
try {
|
|
100
|
+
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
101
|
+
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
102
|
+
return {
|
|
103
|
+
...acc,
|
|
104
|
+
[key]: {
|
|
105
|
+
name: workflow.name
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}, {});
|
|
109
|
+
} catch (error) {
|
|
110
|
+
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext });
|
|
114
|
+
const model = llm?.getModel();
|
|
115
|
+
const models = await agent.getModelList(runtimeContext);
|
|
116
|
+
const modelList = models?.map((md) => ({
|
|
117
|
+
...md,
|
|
118
|
+
model: {
|
|
119
|
+
modelId: md.model.modelId,
|
|
120
|
+
provider: md.model.provider,
|
|
121
|
+
modelVersion: md.model.specificationVersion
|
|
122
|
+
}
|
|
123
|
+
}));
|
|
124
|
+
return {
|
|
125
|
+
id,
|
|
126
|
+
name: agent.name,
|
|
127
|
+
instructions,
|
|
128
|
+
agents: serializedAgentAgents,
|
|
129
|
+
tools: serializedAgentTools,
|
|
130
|
+
workflows: serializedAgentWorkflows,
|
|
131
|
+
provider: llm?.getProvider(),
|
|
132
|
+
modelId: llm?.getModelId(),
|
|
133
|
+
modelVersion: model?.specificationVersion,
|
|
134
|
+
defaultGenerateOptions,
|
|
135
|
+
defaultStreamOptions,
|
|
136
|
+
modelList
|
|
137
|
+
};
|
|
138
|
+
}
|
|
65
139
|
async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
66
140
|
try {
|
|
67
141
|
const agents = mastra.getAgents();
|
|
68
142
|
const serializedAgentsMap = await Promise.all(
|
|
69
143
|
Object.entries(agents).map(async ([id, agent]) => {
|
|
70
|
-
|
|
71
|
-
const tools = await agent.getTools({ runtimeContext });
|
|
72
|
-
const llm = await agent.getLLM({ runtimeContext });
|
|
73
|
-
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
|
|
74
|
-
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
|
|
75
|
-
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
76
|
-
let serializedAgentWorkflows = {};
|
|
77
|
-
if ("getWorkflows" in agent) {
|
|
78
|
-
const logger = mastra.getLogger();
|
|
79
|
-
try {
|
|
80
|
-
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
81
|
-
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
82
|
-
return {
|
|
83
|
-
...acc,
|
|
84
|
-
[key]: {
|
|
85
|
-
name: workflow.name
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
}, {});
|
|
89
|
-
} catch (error) {
|
|
90
|
-
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
const model = llm?.getModel();
|
|
94
|
-
return {
|
|
95
|
-
id,
|
|
96
|
-
name: agent.name,
|
|
97
|
-
instructions,
|
|
98
|
-
tools: serializedAgentTools,
|
|
99
|
-
workflows: serializedAgentWorkflows,
|
|
100
|
-
provider: llm?.getProvider(),
|
|
101
|
-
modelId: llm?.getModelId(),
|
|
102
|
-
modelVersion: model?.specificationVersion,
|
|
103
|
-
defaultGenerateOptions,
|
|
104
|
-
defaultStreamOptions
|
|
105
|
-
};
|
|
144
|
+
return formatAgentList({ id, mastra, agent, runtimeContext });
|
|
106
145
|
})
|
|
107
146
|
);
|
|
108
147
|
const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
|
|
@@ -114,44 +153,38 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
|
114
153
|
return handleError(error, "Error getting agents");
|
|
115
154
|
}
|
|
116
155
|
}
|
|
117
|
-
async function
|
|
156
|
+
async function formatAgent({
|
|
118
157
|
mastra,
|
|
158
|
+
agent,
|
|
119
159
|
runtimeContext,
|
|
120
|
-
|
|
121
|
-
isPlayground = false
|
|
160
|
+
isPlayground
|
|
122
161
|
}) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
}, {});
|
|
152
|
-
} catch (error) {
|
|
153
|
-
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
154
|
-
}
|
|
162
|
+
const tools = await agent.getTools({ runtimeContext });
|
|
163
|
+
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
164
|
+
let serializedAgentWorkflows = {};
|
|
165
|
+
if ("getWorkflows" in agent) {
|
|
166
|
+
const logger = mastra.getLogger();
|
|
167
|
+
try {
|
|
168
|
+
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
169
|
+
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
170
|
+
return {
|
|
171
|
+
...acc,
|
|
172
|
+
[key]: {
|
|
173
|
+
name: workflow.name,
|
|
174
|
+
steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
|
|
175
|
+
return {
|
|
176
|
+
...acc2,
|
|
177
|
+
[key2]: {
|
|
178
|
+
id: step.id,
|
|
179
|
+
description: step.description
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
}, {})
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}, {});
|
|
186
|
+
} catch (error) {
|
|
187
|
+
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
155
188
|
}
|
|
156
189
|
let proxyRuntimeContext = runtimeContext;
|
|
157
190
|
if (isPlayground) {
|
|
@@ -172,17 +205,43 @@ async function getAgentByIdHandler({
|
|
|
172
205
|
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
|
|
173
206
|
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
|
|
174
207
|
const model = llm?.getModel();
|
|
208
|
+
const models = await agent.getModelList(runtimeContext);
|
|
209
|
+
const modelList = models?.map((md) => ({
|
|
210
|
+
...md,
|
|
211
|
+
model: {
|
|
212
|
+
modelId: md.model.modelId,
|
|
213
|
+
provider: md.model.provider,
|
|
214
|
+
modelVersion: md.model.specificationVersion
|
|
215
|
+
}
|
|
216
|
+
}));
|
|
217
|
+
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext: proxyRuntimeContext });
|
|
175
218
|
return {
|
|
176
219
|
name: agent.name,
|
|
177
220
|
instructions,
|
|
178
221
|
tools: serializedAgentTools,
|
|
222
|
+
agents: serializedAgentAgents,
|
|
179
223
|
workflows: serializedAgentWorkflows,
|
|
180
224
|
provider: llm?.getProvider(),
|
|
181
225
|
modelId: llm?.getModelId(),
|
|
182
226
|
modelVersion: model?.specificationVersion,
|
|
227
|
+
modelList,
|
|
183
228
|
defaultGenerateOptions,
|
|
184
229
|
defaultStreamOptions
|
|
185
230
|
};
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
async function getAgentByIdHandler({
|
|
234
|
+
mastra,
|
|
235
|
+
runtimeContext,
|
|
236
|
+
agentId,
|
|
237
|
+
isPlayground = false
|
|
238
|
+
}) {
|
|
239
|
+
try {
|
|
240
|
+
const agent = mastra.getAgent(agentId);
|
|
241
|
+
if (!agent) {
|
|
242
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
243
|
+
}
|
|
244
|
+
return formatAgent({ mastra, agent, runtimeContext, isPlayground });
|
|
186
245
|
} catch (error) {
|
|
187
246
|
return handleError(error, "Error getting agent");
|
|
188
247
|
}
|
|
@@ -231,7 +290,7 @@ function generateHandler({
|
|
|
231
290
|
}) {
|
|
232
291
|
const logger = mastra.getLogger();
|
|
233
292
|
logger?.warn(
|
|
234
|
-
"Deprecation NOTICE:\nGenerate method will switch to use generateVNext implementation September
|
|
293
|
+
"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."
|
|
235
294
|
);
|
|
236
295
|
return generateLegacyHandler({ mastra, ...args });
|
|
237
296
|
}
|
|
@@ -303,7 +362,7 @@ async function streamGenerateHandler({
|
|
|
303
362
|
}) {
|
|
304
363
|
const logger = mastra.getLogger();
|
|
305
364
|
logger?.warn(
|
|
306
|
-
"Deprecation NOTICE:\n Stream method will switch to use streamVNext implementation September
|
|
365
|
+
"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."
|
|
307
366
|
);
|
|
308
367
|
return streamGenerateLegacyHandler({ mastra, ...args });
|
|
309
368
|
}
|
|
@@ -382,6 +441,38 @@ function streamVNextGenerateHandler({
|
|
|
382
441
|
return handleError(error, "error streaming agent response");
|
|
383
442
|
}
|
|
384
443
|
}
|
|
444
|
+
function streamNetworkHandler({
|
|
445
|
+
mastra,
|
|
446
|
+
runtimeContext,
|
|
447
|
+
agentId,
|
|
448
|
+
body
|
|
449
|
+
// abortSignal,
|
|
450
|
+
}) {
|
|
451
|
+
try {
|
|
452
|
+
const agent = mastra.getAgent(agentId);
|
|
453
|
+
if (!agent) {
|
|
454
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
455
|
+
}
|
|
456
|
+
sanitizeBody(body, ["tools"]);
|
|
457
|
+
const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
|
|
458
|
+
const finalRuntimeContext = new RuntimeContext([
|
|
459
|
+
...Array.from(runtimeContext.entries()),
|
|
460
|
+
...Array.from(Object.entries(agentRuntimeContext ?? {}))
|
|
461
|
+
]);
|
|
462
|
+
validateBody({ messages });
|
|
463
|
+
const streamResult = agent.network(messages, {
|
|
464
|
+
...rest,
|
|
465
|
+
memory: {
|
|
466
|
+
thread: rest.thread ?? "",
|
|
467
|
+
resource: rest.resourceId ?? ""
|
|
468
|
+
},
|
|
469
|
+
runtimeContext: finalRuntimeContext
|
|
470
|
+
});
|
|
471
|
+
return streamResult;
|
|
472
|
+
} catch (error) {
|
|
473
|
+
return handleError(error, "error streaming agent loop response");
|
|
474
|
+
}
|
|
475
|
+
}
|
|
385
476
|
async function streamVNextUIMessageHandler({
|
|
386
477
|
mastra,
|
|
387
478
|
runtimeContext,
|
|
@@ -442,14 +533,75 @@ async function updateAgentModelHandler({
|
|
|
442
533
|
}
|
|
443
534
|
};
|
|
444
535
|
const modelVersionKey = modelVersion === "v2" ? "v2" : "v1";
|
|
445
|
-
|
|
536
|
+
const model = providerMap[modelVersionKey][provider];
|
|
446
537
|
agent.__updateModel({ model });
|
|
447
538
|
return { message: "Agent model updated" };
|
|
448
539
|
} catch (error) {
|
|
449
540
|
return handleError(error, "error updating agent model");
|
|
450
541
|
}
|
|
451
542
|
}
|
|
543
|
+
async function reorderAgentModelListHandler({
|
|
544
|
+
mastra,
|
|
545
|
+
agentId,
|
|
546
|
+
body
|
|
547
|
+
}) {
|
|
548
|
+
try {
|
|
549
|
+
const agent = mastra.getAgent(agentId);
|
|
550
|
+
if (!agent) {
|
|
551
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
552
|
+
}
|
|
553
|
+
const modelList = await agent.getModelList();
|
|
554
|
+
if (!modelList || modelList.length === 0) {
|
|
555
|
+
throw new HTTPException(400, { message: "Agent model list is not found or empty" });
|
|
556
|
+
}
|
|
557
|
+
agent.reorderModels(body.reorderedModelIds);
|
|
558
|
+
return { message: "Model list reordered" };
|
|
559
|
+
} catch (error) {
|
|
560
|
+
return handleError(error, "error reordering model list");
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
async function updateAgentModelInModelListHandler({
|
|
564
|
+
mastra,
|
|
565
|
+
agentId,
|
|
566
|
+
modelConfigId,
|
|
567
|
+
body
|
|
568
|
+
}) {
|
|
569
|
+
try {
|
|
570
|
+
const agent = mastra.getAgent(agentId);
|
|
571
|
+
if (!agent) {
|
|
572
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
573
|
+
}
|
|
574
|
+
const { model: bodyModel, maxRetries, enabled } = body;
|
|
575
|
+
if (!modelConfigId) {
|
|
576
|
+
throw new HTTPException(400, { message: "Model id is required" });
|
|
577
|
+
}
|
|
578
|
+
const modelList = await agent.getModelList();
|
|
579
|
+
if (!modelList || modelList.length === 0) {
|
|
580
|
+
throw new HTTPException(400, { message: "Agent model list is not found or empty" });
|
|
581
|
+
}
|
|
582
|
+
const modelToUpdate = modelList.find((m) => m.id === modelConfigId);
|
|
583
|
+
if (!modelToUpdate) {
|
|
584
|
+
throw new HTTPException(400, { message: "Model to update is not found in agent model list" });
|
|
585
|
+
}
|
|
586
|
+
let model;
|
|
587
|
+
if (bodyModel) {
|
|
588
|
+
const { modelId, provider } = bodyModel;
|
|
589
|
+
const providerMap = {
|
|
590
|
+
openai: openai(modelId),
|
|
591
|
+
anthropic: anthropic(modelId),
|
|
592
|
+
groq: groq(modelId),
|
|
593
|
+
xai: xai(modelId),
|
|
594
|
+
google: google(modelId)
|
|
595
|
+
};
|
|
596
|
+
model = providerMap[provider];
|
|
597
|
+
}
|
|
598
|
+
agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });
|
|
599
|
+
return { message: "Model list updated" };
|
|
600
|
+
} catch (error) {
|
|
601
|
+
return handleError(error, "error updating model list");
|
|
602
|
+
}
|
|
603
|
+
}
|
|
452
604
|
|
|
453
|
-
export { agents_exports, generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, streamGenerateHandler, streamGenerateLegacyHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler };
|
|
454
|
-
//# sourceMappingURL=chunk-
|
|
455
|
-
//# sourceMappingURL=chunk-
|
|
605
|
+
export { agents_exports, generateHandler, generateLegacyHandler, generateVNextHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, reorderAgentModelListHandler, streamGenerateHandler, streamGenerateLegacyHandler, streamNetworkHandler, streamVNextGenerateHandler, streamVNextUIMessageHandler, updateAgentModelHandler, updateAgentModelInModelListHandler };
|
|
606
|
+
//# sourceMappingURL=chunk-BOVFMBXY.js.map
|
|
607
|
+
//# sourceMappingURL=chunk-BOVFMBXY.js.map
|