@mastra/server 0.0.0-switch-to-core-20250424015131 → 0.0.0-tool-call-parts-20250630193309

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 (86) hide show
  1. package/README.md +48 -135
  2. package/dist/_tsup-dts-rollup.d.cts +541 -51
  3. package/dist/_tsup-dts-rollup.d.ts +541 -51
  4. package/dist/chunk-2BCWG3EZ.js +270 -0
  5. package/dist/{chunk-4JINXASC.js → chunk-55DOQLP6.js} +5 -4
  6. package/dist/{chunk-QN4KF3BH.cjs → chunk-57CJTIPW.cjs} +2 -2
  7. package/dist/{chunk-ZLBRQFDD.cjs → chunk-64U3UDTH.cjs} +2 -2
  8. package/dist/chunk-72LOJGUV.js +421 -0
  9. package/dist/chunk-75ZPJI57.cjs +9 -0
  10. package/dist/{chunk-7IWQE76Z.cjs → chunk-B4MQFJ7G.cjs} +16 -10
  11. package/dist/{chunk-WTHDCRMY.js → chunk-BFOA2QQY.js} +12 -6
  12. package/dist/{chunk-M56ECCHK.cjs → chunk-BNEY4P4P.cjs} +20 -19
  13. package/dist/{chunk-RE6YL32K.js → chunk-C7564HUT.js} +52 -30
  14. package/dist/{chunk-LFOBHRFO.js → chunk-E2LP4J6K.js} +69 -54
  15. package/dist/chunk-EP3XVEVC.cjs +278 -0
  16. package/dist/{chunk-5JNVY6DU.js → chunk-EWLR2PNT.js} +7 -5
  17. package/dist/chunk-GHC4YV6R.js +504 -0
  18. package/dist/{chunk-L7XE5QTW.js → chunk-H5PTF3Y4.js} +1 -1
  19. package/dist/chunk-IMBY5XUG.cjs +86 -0
  20. package/dist/chunk-L3VURYKY.cjs +435 -0
  21. package/dist/chunk-LI436ITD.cjs +2042 -0
  22. package/dist/{chunk-3AHQ5RGN.js → chunk-M5ABIP7D.js} +1 -1
  23. package/dist/chunk-MEGCYGBU.js +2039 -0
  24. package/dist/chunk-MLKGABMK.js +7 -0
  25. package/dist/chunk-NGHSYB5B.cjs +332 -0
  26. package/dist/{chunk-TRDNDNGQ.js → chunk-NYN7KFXL.js} +1 -7
  27. package/dist/{chunk-FV45V6WC.cjs → chunk-OCWPVYNI.cjs} +0 -7
  28. package/dist/chunk-QLG2PFHE.js +81 -0
  29. package/dist/{chunk-Q6SHQECN.js → chunk-R5VGYBV6.js} +34 -10
  30. package/dist/{chunk-2FJURXCL.cjs → chunk-RQ2Z56EC.cjs} +93 -55
  31. package/dist/chunk-SDPGVWQJ.cjs +512 -0
  32. package/dist/{chunk-FPIWDH5Y.cjs → chunk-VPNDC2DI.cjs} +62 -40
  33. package/dist/chunk-WJY57THV.cjs +118 -0
  34. package/dist/{chunk-RBQASTUP.js → chunk-XUIJ7WRT.js} +63 -25
  35. package/dist/{chunk-D3G23FP3.cjs → chunk-Z3PTO2AK.cjs} +24 -22
  36. package/dist/server/handlers/a2a.cjs +30 -0
  37. package/dist/server/handlers/a2a.d.cts +6 -0
  38. package/dist/server/handlers/a2a.d.ts +6 -0
  39. package/dist/server/handlers/a2a.js +1 -0
  40. package/dist/server/handlers/agents.cjs +7 -7
  41. package/dist/server/handlers/agents.js +1 -1
  42. package/dist/server/handlers/error.cjs +2 -2
  43. package/dist/server/handlers/error.js +1 -1
  44. package/dist/server/handlers/legacyWorkflows.cjs +46 -0
  45. package/dist/server/handlers/legacyWorkflows.d.cts +10 -0
  46. package/dist/server/handlers/legacyWorkflows.d.ts +10 -0
  47. package/dist/server/handlers/legacyWorkflows.js +1 -0
  48. package/dist/server/handlers/logs.cjs +4 -4
  49. package/dist/server/handlers/logs.js +1 -1
  50. package/dist/server/handlers/memory.cjs +9 -9
  51. package/dist/server/handlers/memory.js +1 -1
  52. package/dist/server/handlers/network.cjs +5 -5
  53. package/dist/server/handlers/network.js +1 -1
  54. package/dist/server/handlers/telemetry.cjs +3 -3
  55. package/dist/server/handlers/telemetry.js +1 -1
  56. package/dist/server/handlers/tools.cjs +5 -5
  57. package/dist/server/handlers/tools.js +1 -1
  58. package/dist/server/handlers/utils.cjs +2 -2
  59. package/dist/server/handlers/utils.js +1 -1
  60. package/dist/server/handlers/vNextNetwork.cjs +218 -0
  61. package/dist/server/handlers/vNextNetwork.d.cts +6 -0
  62. package/dist/server/handlers/vNextNetwork.d.ts +6 -0
  63. package/dist/server/handlers/vNextNetwork.js +211 -0
  64. package/dist/server/handlers/vector.cjs +7 -7
  65. package/dist/server/handlers/vector.js +1 -1
  66. package/dist/server/handlers/voice.cjs +8 -4
  67. package/dist/server/handlers/voice.d.cts +1 -0
  68. package/dist/server/handlers/voice.d.ts +1 -0
  69. package/dist/server/handlers/voice.js +1 -1
  70. package/dist/server/handlers/workflows.cjs +21 -13
  71. package/dist/server/handlers/workflows.d.cts +4 -2
  72. package/dist/server/handlers/workflows.d.ts +4 -2
  73. package/dist/server/handlers/workflows.js +1 -1
  74. package/dist/server/handlers.cjs +33 -23
  75. package/dist/server/handlers.d.cts +2 -0
  76. package/dist/server/handlers.d.ts +2 -0
  77. package/dist/server/handlers.js +11 -9
  78. package/package.json +13 -12
  79. package/dist/chunk-3EJZQ6TQ.js +0 -49
  80. package/dist/chunk-55HTWX4C.cjs +0 -93
  81. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  82. package/dist/chunk-HCOPJZ4A.cjs +0 -164
  83. package/dist/chunk-OMN3UI6X.js +0 -5576
  84. package/dist/chunk-R4J7XQYU.js +0 -156
  85. package/dist/chunk-SKBVVI24.cjs +0 -54
  86. package/dist/chunk-TZK63M5N.cjs +0 -317
@@ -0,0 +1,270 @@
1
+ import { stringify, esm_default } from './chunk-MEGCYGBU.js';
2
+ import { validateBody } from './chunk-H5PTF3Y4.js';
3
+ import { handleError } from './chunk-M5ABIP7D.js';
4
+ import { HTTPException } from './chunk-NYN7KFXL.js';
5
+ import { __export } from './chunk-MLKGABMK.js';
6
+ import { RuntimeContext } from '@mastra/core/runtime-context';
7
+
8
+ // src/server/handlers/agents.ts
9
+ var agents_exports = {};
10
+ __export(agents_exports, {
11
+ generateHandler: () => generateHandler,
12
+ getAgentByIdHandler: () => getAgentByIdHandler,
13
+ getAgentsHandler: () => getAgentsHandler,
14
+ getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
15
+ getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
16
+ streamGenerateHandler: () => streamGenerateHandler
17
+ });
18
+ async function getAgentsHandler({ mastra, runtimeContext }) {
19
+ try {
20
+ const agents = mastra.getAgents();
21
+ const serializedAgentsMap = await Promise.all(
22
+ Object.entries(agents).map(async ([id, agent]) => {
23
+ const instructions = await agent.getInstructions({ runtimeContext });
24
+ const tools = await agent.getTools({ runtimeContext });
25
+ const llm = await agent.getLLM({ runtimeContext });
26
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
27
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
28
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
29
+ const _tool = tool;
30
+ acc[key] = {
31
+ ..._tool,
32
+ inputSchema: _tool.inputSchema ? stringify(esm_default(_tool.inputSchema)) : void 0,
33
+ outputSchema: _tool.outputSchema ? stringify(esm_default(_tool.outputSchema)) : void 0
34
+ };
35
+ return acc;
36
+ }, {});
37
+ let serializedAgentWorkflows = {};
38
+ if ("getWorkflows" in agent) {
39
+ const logger = mastra.getLogger();
40
+ try {
41
+ const workflows = await agent.getWorkflows({ runtimeContext });
42
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
43
+ return {
44
+ ...acc,
45
+ [key]: {
46
+ name: workflow.name
47
+ }
48
+ };
49
+ }, {});
50
+ } catch (error) {
51
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
52
+ }
53
+ }
54
+ return {
55
+ id,
56
+ name: agent.name,
57
+ instructions,
58
+ tools: serializedAgentTools,
59
+ workflows: serializedAgentWorkflows,
60
+ provider: llm?.getProvider(),
61
+ modelId: llm?.getModelId(),
62
+ defaultGenerateOptions,
63
+ defaultStreamOptions
64
+ };
65
+ })
66
+ );
67
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
68
+ acc[id] = rest;
69
+ return acc;
70
+ }, {});
71
+ return serializedAgents;
72
+ } catch (error) {
73
+ return handleError(error, "Error getting agents");
74
+ }
75
+ }
76
+ async function getAgentByIdHandler({
77
+ mastra,
78
+ runtimeContext,
79
+ agentId,
80
+ isPlayground = false
81
+ }) {
82
+ try {
83
+ const agent = mastra.getAgent(agentId);
84
+ if (!agent) {
85
+ throw new HTTPException(404, { message: "Agent not found" });
86
+ }
87
+ const tools = await agent.getTools({ runtimeContext });
88
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
89
+ const _tool = tool;
90
+ acc[key] = {
91
+ ..._tool,
92
+ inputSchema: _tool.inputSchema ? stringify(esm_default(_tool.inputSchema)) : void 0,
93
+ outputSchema: _tool.outputSchema ? stringify(esm_default(_tool.outputSchema)) : void 0
94
+ };
95
+ return acc;
96
+ }, {});
97
+ let serializedAgentWorkflows = {};
98
+ if ("getWorkflows" in agent) {
99
+ const logger = mastra.getLogger();
100
+ try {
101
+ const workflows = await agent.getWorkflows({ runtimeContext });
102
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
103
+ return {
104
+ ...acc,
105
+ [key]: {
106
+ name: workflow.name,
107
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
108
+ return {
109
+ ...acc2,
110
+ [key2]: {
111
+ id: step.id,
112
+ description: step.description
113
+ }
114
+ };
115
+ }, {})
116
+ }
117
+ };
118
+ }, {});
119
+ } catch (error) {
120
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
121
+ }
122
+ }
123
+ let proxyRuntimeContext = runtimeContext;
124
+ if (isPlayground) {
125
+ proxyRuntimeContext = new Proxy(runtimeContext, {
126
+ get(target, prop) {
127
+ if (prop === "get") {
128
+ return function(key) {
129
+ const value = target.get(key);
130
+ return value ?? `<${key}>`;
131
+ };
132
+ }
133
+ return Reflect.get(target, prop);
134
+ }
135
+ });
136
+ }
137
+ const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });
138
+ const llm = await agent.getLLM({ runtimeContext });
139
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
140
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
141
+ return {
142
+ name: agent.name,
143
+ instructions,
144
+ tools: serializedAgentTools,
145
+ workflows: serializedAgentWorkflows,
146
+ provider: llm?.getProvider(),
147
+ modelId: llm?.getModelId(),
148
+ defaultGenerateOptions,
149
+ defaultStreamOptions
150
+ };
151
+ } catch (error) {
152
+ return handleError(error, "Error getting agent");
153
+ }
154
+ }
155
+ async function getEvalsByAgentIdHandler({
156
+ mastra,
157
+ runtimeContext,
158
+ agentId
159
+ }) {
160
+ try {
161
+ const agent = mastra.getAgent(agentId);
162
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "test") || [];
163
+ const instructions = await agent.getInstructions({ runtimeContext });
164
+ return {
165
+ id: agentId,
166
+ name: agent.name,
167
+ instructions,
168
+ evals
169
+ };
170
+ } catch (error) {
171
+ return handleError(error, "Error getting test evals");
172
+ }
173
+ }
174
+ async function getLiveEvalsByAgentIdHandler({
175
+ mastra,
176
+ runtimeContext,
177
+ agentId
178
+ }) {
179
+ try {
180
+ const agent = mastra.getAgent(agentId);
181
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "live") || [];
182
+ const instructions = await agent.getInstructions({ runtimeContext });
183
+ return {
184
+ id: agentId,
185
+ name: agent.name,
186
+ instructions,
187
+ evals
188
+ };
189
+ } catch (error) {
190
+ return handleError(error, "Error getting live evals");
191
+ }
192
+ }
193
+ async function generateHandler({
194
+ mastra,
195
+ runtimeContext,
196
+ agentId,
197
+ body,
198
+ abortSignal
199
+ }) {
200
+ try {
201
+ const agent = mastra.getAgent(agentId);
202
+ if (!agent) {
203
+ throw new HTTPException(404, { message: "Agent not found" });
204
+ }
205
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
206
+ const finalResourceId = resourceId ?? resourceid;
207
+ const finalRuntimeContext = new RuntimeContext([
208
+ ...Array.from(runtimeContext.entries()),
209
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
210
+ ]);
211
+ validateBody({ messages });
212
+ const result = await agent.generate(messages, {
213
+ ...rest,
214
+ // @ts-expect-error TODO fix types
215
+ resourceId: finalResourceId,
216
+ runtimeContext: finalRuntimeContext,
217
+ signal: abortSignal
218
+ });
219
+ return result;
220
+ } catch (error) {
221
+ return handleError(error, "Error generating from agent");
222
+ }
223
+ }
224
+ async function streamGenerateHandler({
225
+ mastra,
226
+ runtimeContext,
227
+ agentId,
228
+ body,
229
+ abortSignal
230
+ }) {
231
+ try {
232
+ const agent = mastra.getAgent(agentId);
233
+ if (!agent) {
234
+ throw new HTTPException(404, { message: "Agent not found" });
235
+ }
236
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
237
+ const finalResourceId = resourceId ?? resourceid;
238
+ const finalRuntimeContext = new RuntimeContext([
239
+ ...Array.from(runtimeContext.entries()),
240
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
241
+ ]);
242
+ validateBody({ messages });
243
+ const streamResult = await agent.stream(messages, {
244
+ ...rest,
245
+ // @ts-expect-error TODO fix types
246
+ resourceId: finalResourceId,
247
+ runtimeContext: finalRuntimeContext,
248
+ signal: abortSignal
249
+ });
250
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
251
+ headers: {
252
+ "Transfer-Encoding": "chunked"
253
+ }
254
+ }) : streamResult.toDataStreamResponse({
255
+ sendUsage: true,
256
+ sendReasoning: true,
257
+ getErrorMessage: (error) => {
258
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
259
+ },
260
+ headers: {
261
+ "Transfer-Encoding": "chunked"
262
+ }
263
+ });
264
+ return streamResponse;
265
+ } catch (error) {
266
+ throw new HTTPException(error?.status ?? 500, { message: error?.message ?? "Error streaming from agent" });
267
+ }
268
+ }
269
+
270
+ export { agents_exports, generateHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, streamGenerateHandler };
@@ -1,5 +1,6 @@
1
- import { handleError } from './chunk-3AHQ5RGN.js';
2
- import { __export, HTTPException } from './chunk-TRDNDNGQ.js';
1
+ import { handleError } from './chunk-M5ABIP7D.js';
2
+ import { HTTPException } from './chunk-NYN7KFXL.js';
3
+ import { __export } from './chunk-MLKGABMK.js';
3
4
 
4
5
  // src/server/handlers/vector.ts
5
6
  var vector_exports = {};
@@ -90,7 +91,7 @@ async function describeIndex({
90
91
  throw new HTTPException(400, { message: "Index name is required" });
91
92
  }
92
93
  const vector = getVector(mastra, vectorName);
93
- const stats = await vector.describeIndex(indexName);
94
+ const stats = await vector.describeIndex({ indexName });
94
95
  return {
95
96
  dimension: stats.dimension,
96
97
  count: stats.count,
@@ -110,7 +111,7 @@ async function deleteIndex({
110
111
  throw new HTTPException(400, { message: "Index name is required" });
111
112
  }
112
113
  const vector = getVector(mastra, vectorName);
113
- await vector.deleteIndex(indexName);
114
+ await vector.deleteIndex({ indexName });
114
115
  return { success: true };
115
116
  } catch (error) {
116
117
  return handleError(error, "Error deleting index");
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunkOCWPVYNI_cjs = require('./chunk-OCWPVYNI.cjs');
4
4
 
5
5
  // src/server/handlers/utils.ts
6
6
  function validateBody(body) {
@@ -11,7 +11,7 @@ function validateBody(body) {
11
11
  return acc;
12
12
  }, {});
13
13
  if (Object.keys(errorResponse).length > 0) {
14
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: Object.values(errorResponse)[0] });
14
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: Object.values(errorResponse)[0] });
15
15
  }
16
16
  }
17
17
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunkOCWPVYNI_cjs = require('./chunk-OCWPVYNI.cjs');
4
4
 
5
5
  // src/server/handlers/error.ts
6
6
  function handleError(error, defaultMessage) {
7
7
  const apiError = error;
8
- throw new chunkFV45V6WC_cjs.HTTPException(apiError.status || 500, {
8
+ throw new chunkOCWPVYNI_cjs.HTTPException(apiError.status || 500, {
9
9
  message: apiError.message || defaultMessage
10
10
  });
11
11
  }