@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.
Files changed (107) hide show
  1. package/CHANGELOG.md +268 -3
  2. package/README.md +0 -5
  3. package/dist/{chunk-GUI3CROV.cjs → chunk-2GDLSAVJ.cjs} +60 -22
  4. package/dist/chunk-2GDLSAVJ.cjs.map +1 -0
  5. package/dist/{chunk-R7NOGUZG.js → chunk-5KRXONRF.js} +43 -4
  6. package/dist/chunk-5KRXONRF.js.map +1 -0
  7. package/dist/{chunk-L265APUD.cjs → chunk-5N724Q2T.cjs} +43 -3
  8. package/dist/chunk-5N724Q2T.cjs.map +1 -0
  9. package/dist/{chunk-5QUKZCEF.js → chunk-6IJWRJZE.js} +4 -3
  10. package/dist/chunk-6IJWRJZE.js.map +1 -0
  11. package/dist/{chunk-M2YFWHSB.js → chunk-BOVFMBXY.js} +231 -79
  12. package/dist/chunk-BOVFMBXY.js.map +1 -0
  13. package/dist/{chunk-6LUKYSWE.cjs → chunk-CML3EOO5.cjs} +96 -119
  14. package/dist/chunk-CML3EOO5.cjs.map +1 -0
  15. package/dist/{chunk-7QEJ5QG5.js → chunk-IYJW2OVQ.js} +60 -22
  16. package/dist/chunk-IYJW2OVQ.js.map +1 -0
  17. package/dist/{chunk-A75S4TDD.js → chunk-JRDEOHAJ.js} +19 -11
  18. package/dist/chunk-JRDEOHAJ.js.map +1 -0
  19. package/dist/{chunk-SYRRSBGL.js → chunk-KM7EJKXV.js} +8 -4
  20. package/dist/chunk-KM7EJKXV.js.map +1 -0
  21. package/dist/{chunk-J7BPKKOG.cjs → chunk-LJFAAEU7.cjs} +8 -4
  22. package/dist/chunk-LJFAAEU7.cjs.map +1 -0
  23. package/dist/{chunk-MLGHQDZZ.js → chunk-N5ID53SA.js} +174 -133
  24. package/dist/chunk-N5ID53SA.js.map +1 -0
  25. package/dist/{chunk-B2V3PUB7.js → chunk-NH7XUTIO.js} +93 -116
  26. package/dist/chunk-NH7XUTIO.js.map +1 -0
  27. package/dist/{chunk-WZC6CIVD.cjs → chunk-NLWACBE7.cjs} +19 -11
  28. package/dist/chunk-NLWACBE7.cjs.map +1 -0
  29. package/dist/{chunk-3THIIWWW.cjs → chunk-OPI3FZYH.cjs} +4 -3
  30. package/dist/chunk-OPI3FZYH.cjs.map +1 -0
  31. package/dist/{chunk-YITREQVN.cjs → chunk-QNWXF57L.cjs} +193 -152
  32. package/dist/chunk-QNWXF57L.cjs.map +1 -0
  33. package/dist/{chunk-RW2D3G4K.cjs → chunk-SXENNNR7.cjs} +233 -78
  34. package/dist/chunk-SXENNNR7.cjs.map +1 -0
  35. package/dist/chunk-VY4ENABS.cjs +135 -0
  36. package/dist/chunk-VY4ENABS.cjs.map +1 -0
  37. package/dist/chunk-YWOK4F5A.js +131 -0
  38. package/dist/chunk-YWOK4F5A.js.map +1 -0
  39. package/dist/index.cjs +4 -0
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.js +3 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/server/handlers/a2a.cjs +7 -7
  44. package/dist/server/handlers/a2a.d.ts.map +1 -1
  45. package/dist/server/handlers/a2a.js +1 -1
  46. package/dist/server/handlers/agent-builder.cjs +16 -16
  47. package/dist/server/handlers/agent-builder.d.ts +5 -4
  48. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  49. package/dist/server/handlers/agent-builder.js +1 -1
  50. package/dist/server/handlers/agents.cjs +26 -14
  51. package/dist/server/handlers/agents.d.ts +64 -8
  52. package/dist/server/handlers/agents.d.ts.map +1 -1
  53. package/dist/server/handlers/agents.js +1 -1
  54. package/dist/server/handlers/observability.cjs +7 -3
  55. package/dist/server/handlers/observability.d.ts +18 -0
  56. package/dist/server/handlers/observability.d.ts.map +1 -1
  57. package/dist/server/handlers/observability.js +1 -1
  58. package/dist/server/handlers/scores.cjs +7 -7
  59. package/dist/server/handlers/scores.d.ts +208 -6
  60. package/dist/server/handlers/scores.d.ts.map +1 -1
  61. package/dist/server/handlers/scores.js +1 -1
  62. package/dist/server/handlers/tools.cjs +6 -6
  63. package/dist/server/handlers/tools.d.ts.map +1 -1
  64. package/dist/server/handlers/tools.js +1 -1
  65. package/dist/server/handlers/vNextNetwork.d.ts +77 -10
  66. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -1
  67. package/dist/server/handlers/voice.cjs +5 -5
  68. package/dist/server/handlers/voice.d.ts +6 -4
  69. package/dist/server/handlers/voice.d.ts.map +1 -1
  70. package/dist/server/handlers/voice.js +1 -1
  71. package/dist/server/handlers/workflows.cjs +24 -16
  72. package/dist/server/handlers/workflows.d.ts +16 -7
  73. package/dist/server/handlers/workflows.d.ts.map +1 -1
  74. package/dist/server/handlers/workflows.js +1 -1
  75. package/dist/server/handlers.cjs +16 -21
  76. package/dist/server/handlers.d.ts +0 -1
  77. package/dist/server/handlers.d.ts.map +1 -1
  78. package/dist/server/handlers.js +8 -9
  79. package/dist/server/utils.d.ts +2 -0
  80. package/dist/server/utils.d.ts.map +1 -1
  81. package/package.json +8 -8
  82. package/dist/chunk-3THIIWWW.cjs.map +0 -1
  83. package/dist/chunk-5QUKZCEF.js.map +0 -1
  84. package/dist/chunk-6LUKYSWE.cjs.map +0 -1
  85. package/dist/chunk-7QEJ5QG5.js.map +0 -1
  86. package/dist/chunk-A75S4TDD.js.map +0 -1
  87. package/dist/chunk-B2V3PUB7.js.map +0 -1
  88. package/dist/chunk-GUI3CROV.cjs.map +0 -1
  89. package/dist/chunk-IY34NOLA.cjs +0 -150
  90. package/dist/chunk-IY34NOLA.cjs.map +0 -1
  91. package/dist/chunk-J7BPKKOG.cjs.map +0 -1
  92. package/dist/chunk-L265APUD.cjs.map +0 -1
  93. package/dist/chunk-M2YFWHSB.js.map +0 -1
  94. package/dist/chunk-MLGHQDZZ.js.map +0 -1
  95. package/dist/chunk-R7NOGUZG.js.map +0 -1
  96. package/dist/chunk-RW2D3G4K.cjs.map +0 -1
  97. package/dist/chunk-SYRRSBGL.js.map +0 -1
  98. package/dist/chunk-U46VIX2V.js +0 -144
  99. package/dist/chunk-U46VIX2V.js.map +0 -1
  100. package/dist/chunk-WZC6CIVD.cjs.map +0 -1
  101. package/dist/chunk-YITREQVN.cjs.map +0 -1
  102. package/dist/server/handlers/network.cjs +0 -24
  103. package/dist/server/handlers/network.cjs.map +0 -1
  104. package/dist/server/handlers/network.d.ts +0 -50
  105. package/dist/server/handlers/network.d.ts.map +0 -1
  106. package/dist/server/handlers/network.js +0 -3
  107. 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
- //# sourceMappingURL=chunk-L265APUD.cjs.map
69
- //# sourceMappingURL=chunk-L265APUD.cjs.map
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-5QUKZCEF.js.map
476
- //# sourceMappingURL=chunk-5QUKZCEF.js.map
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
- const instructions = await agent.getInstructions({ runtimeContext });
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 getAgentByIdHandler({
156
+ async function formatAgent({
118
157
  mastra,
158
+ agent,
119
159
  runtimeContext,
120
- agentId,
121
- isPlayground = false
160
+ isPlayground
122
161
  }) {
123
- try {
124
- const agent = mastra.getAgent(agentId);
125
- if (!agent) {
126
- throw new HTTPException(404, { message: "Agent not found" });
127
- }
128
- const tools = await agent.getTools({ runtimeContext });
129
- const serializedAgentTools = await getSerializedAgentTools(tools);
130
- let serializedAgentWorkflows = {};
131
- if ("getWorkflows" in agent) {
132
- const logger = mastra.getLogger();
133
- try {
134
- const workflows = await agent.getWorkflows({ runtimeContext });
135
- serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
136
- return {
137
- ...acc,
138
- [key]: {
139
- name: workflow.name,
140
- steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
141
- return {
142
- ...acc2,
143
- [key2]: {
144
- id: step.id,
145
- description: step.description
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 16th. Please use generateLegacyHandler if you don't want to upgrade just yet."
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 16th. Please use streamGenerateLegacyHandler if you don't want to upgrade just yet."
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
- let model = providerMap[modelVersionKey][provider];
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-M2YFWHSB.js.map
455
- //# sourceMappingURL=chunk-M2YFWHSB.js.map
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