@mastra/server 0.10.13 → 0.10.15-alpha.0

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 (99) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +1107 -0
  2. package/dist/_tsup-dts-rollup.d.ts +1107 -0
  3. package/dist/chunk-2KZFMI6P.cjs +37 -0
  4. package/dist/chunk-2SLFAFTR.cjs +148 -0
  5. package/dist/chunk-3CNDE7QY.cjs +308 -0
  6. package/dist/chunk-4D66QEKC.js +81 -0
  7. package/dist/chunk-5PQQ42EZ.js +320 -0
  8. package/dist/chunk-75ZPJI57.cjs +9 -0
  9. package/dist/chunk-7TP2LX5L.cjs +129 -0
  10. package/dist/chunk-B2PAS2IB.cjs +514 -0
  11. package/dist/chunk-BK4XT6EG.js +270 -0
  12. package/dist/chunk-CCGRCYWJ.cjs +18 -0
  13. package/dist/chunk-CRCR3ZUK.js +142 -0
  14. package/dist/chunk-FRVBFMO2.cjs +128 -0
  15. package/dist/chunk-G7KH752Y.cjs +145 -0
  16. package/dist/chunk-GHC4YV6R.js +504 -0
  17. package/dist/chunk-H7DMHBKY.js +498 -0
  18. package/dist/chunk-JMLYCXMK.cjs +332 -0
  19. package/dist/chunk-KHZKYUNR.js +112 -0
  20. package/dist/chunk-KOHWJYJT.js +296 -0
  21. package/dist/chunk-LCM566I4.js +35 -0
  22. package/dist/chunk-LF7P5PLR.js +14 -0
  23. package/dist/chunk-LI436ITD.cjs +2042 -0
  24. package/dist/chunk-LRCAAFUA.js +122 -0
  25. package/dist/chunk-LZ3VJXSO.cjs +278 -0
  26. package/dist/chunk-MEGCYGBU.js +2039 -0
  27. package/dist/chunk-MLKGABMK.js +7 -0
  28. package/dist/chunk-PZQDCRPV.cjs +16 -0
  29. package/dist/chunk-QGX47B5D.cjs +86 -0
  30. package/dist/chunk-RG473F6Y.js +141 -0
  31. package/dist/chunk-RHSWAXKB.cjs +118 -0
  32. package/dist/chunk-RSEO4XPX.js +16 -0
  33. package/dist/chunk-SDPGVWQJ.cjs +512 -0
  34. package/dist/chunk-WNVFNNWN.js +121 -0
  35. package/dist/index.cjs +2 -0
  36. package/dist/index.d.cts +1 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.js +1 -0
  39. package/dist/server/handlers/a2a.cjs +30 -0
  40. package/dist/server/handlers/a2a.d.cts +6 -0
  41. package/dist/server/handlers/a2a.d.ts +6 -0
  42. package/dist/server/handlers/a2a.js +1 -0
  43. package/dist/server/handlers/agents.cjs +30 -0
  44. package/dist/server/handlers/agents.d.cts +6 -0
  45. package/dist/server/handlers/agents.d.ts +6 -0
  46. package/dist/server/handlers/agents.js +1 -0
  47. package/dist/server/handlers/error.cjs +10 -0
  48. package/dist/server/handlers/error.d.cts +1 -0
  49. package/dist/server/handlers/error.d.ts +1 -0
  50. package/dist/server/handlers/error.js +1 -0
  51. package/dist/server/handlers/legacyWorkflows.cjs +46 -0
  52. package/dist/server/handlers/legacyWorkflows.d.cts +10 -0
  53. package/dist/server/handlers/legacyWorkflows.d.ts +10 -0
  54. package/dist/server/handlers/legacyWorkflows.js +1 -0
  55. package/dist/server/handlers/logs.cjs +18 -0
  56. package/dist/server/handlers/logs.d.cts +3 -0
  57. package/dist/server/handlers/logs.d.ts +3 -0
  58. package/dist/server/handlers/logs.js +1 -0
  59. package/dist/server/handlers/memory.cjs +46 -0
  60. package/dist/server/handlers/memory.d.cts +10 -0
  61. package/dist/server/handlers/memory.d.ts +10 -0
  62. package/dist/server/handlers/memory.js +1 -0
  63. package/dist/server/handlers/network.cjs +22 -0
  64. package/dist/server/handlers/network.d.cts +4 -0
  65. package/dist/server/handlers/network.d.ts +4 -0
  66. package/dist/server/handlers/network.js +1 -0
  67. package/dist/server/handlers/telemetry.cjs +14 -0
  68. package/dist/server/handlers/telemetry.d.cts +2 -0
  69. package/dist/server/handlers/telemetry.d.ts +2 -0
  70. package/dist/server/handlers/telemetry.js +1 -0
  71. package/dist/server/handlers/tools.cjs +22 -0
  72. package/dist/server/handlers/tools.d.cts +4 -0
  73. package/dist/server/handlers/tools.d.ts +4 -0
  74. package/dist/server/handlers/tools.js +1 -0
  75. package/dist/server/handlers/utils.cjs +10 -0
  76. package/dist/server/handlers/utils.d.cts +1 -0
  77. package/dist/server/handlers/utils.d.ts +1 -0
  78. package/dist/server/handlers/utils.js +1 -0
  79. package/dist/server/handlers/vNextNetwork.cjs +218 -0
  80. package/dist/server/handlers/vNextNetwork.d.cts +6 -0
  81. package/dist/server/handlers/vNextNetwork.d.ts +6 -0
  82. package/dist/server/handlers/vNextNetwork.js +211 -0
  83. package/dist/server/handlers/vector.cjs +30 -0
  84. package/dist/server/handlers/vector.d.cts +6 -0
  85. package/dist/server/handlers/vector.d.ts +6 -0
  86. package/dist/server/handlers/vector.js +1 -0
  87. package/dist/server/handlers/voice.cjs +22 -0
  88. package/dist/server/handlers/voice.d.cts +4 -0
  89. package/dist/server/handlers/voice.d.ts +4 -0
  90. package/dist/server/handlers/voice.js +1 -0
  91. package/dist/server/handlers/workflows.cjs +62 -0
  92. package/dist/server/handlers/workflows.d.cts +14 -0
  93. package/dist/server/handlers/workflows.d.ts +14 -0
  94. package/dist/server/handlers/workflows.js +1 -0
  95. package/dist/server/handlers.cjs +60 -0
  96. package/dist/server/handlers.d.cts +11 -0
  97. package/dist/server/handlers.d.ts +11 -0
  98. package/dist/server/handlers.js +11 -0
  99. package/package.json +3 -3
@@ -0,0 +1,122 @@
1
+ import { stringify, esm_default } from './chunk-MEGCYGBU.js';
2
+ import { validateBody } from './chunk-RSEO4XPX.js';
3
+ import { handleError } from './chunk-LF7P5PLR.js';
4
+ import { HTTPException } from './chunk-LCM566I4.js';
5
+ import { __export } from './chunk-MLKGABMK.js';
6
+ import { isVercelTool } from '@mastra/core/tools';
7
+
8
+ // src/server/handlers/tools.ts
9
+ var tools_exports = {};
10
+ __export(tools_exports, {
11
+ executeAgentToolHandler: () => executeAgentToolHandler,
12
+ executeToolHandler: () => executeToolHandler,
13
+ getToolByIdHandler: () => getToolByIdHandler,
14
+ getToolsHandler: () => getToolsHandler
15
+ });
16
+ async function getToolsHandler({ tools }) {
17
+ try {
18
+ if (!tools) {
19
+ return {};
20
+ }
21
+ const serializedTools = Object.entries(tools).reduce(
22
+ (acc, [id, _tool]) => {
23
+ const tool = _tool;
24
+ acc[id] = {
25
+ ...tool,
26
+ inputSchema: tool.inputSchema ? stringify(esm_default(tool.inputSchema)) : void 0,
27
+ outputSchema: tool.outputSchema ? stringify(esm_default(tool.outputSchema)) : void 0
28
+ };
29
+ return acc;
30
+ },
31
+ {}
32
+ );
33
+ return serializedTools;
34
+ } catch (error) {
35
+ return handleError(error, "Error getting tools");
36
+ }
37
+ }
38
+ async function getToolByIdHandler({ tools, toolId }) {
39
+ try {
40
+ const tool = Object.values(tools || {}).find((tool2) => tool2.id === toolId);
41
+ if (!tool) {
42
+ throw new HTTPException(404, { message: "Tool not found" });
43
+ }
44
+ const serializedTool = {
45
+ ...tool,
46
+ inputSchema: tool.inputSchema ? stringify(esm_default(tool.inputSchema)) : void 0,
47
+ outputSchema: tool.outputSchema ? stringify(esm_default(tool.outputSchema)) : void 0
48
+ };
49
+ return serializedTool;
50
+ } catch (error) {
51
+ return handleError(error, "Error getting tool");
52
+ }
53
+ }
54
+ function executeToolHandler(tools) {
55
+ return async ({
56
+ mastra,
57
+ runId,
58
+ toolId,
59
+ data,
60
+ runtimeContext
61
+ }) => {
62
+ try {
63
+ if (!toolId) {
64
+ throw new HTTPException(400, { message: "Tool ID is required" });
65
+ }
66
+ const tool = Object.values(tools || {}).find((tool2) => tool2.id === toolId);
67
+ if (!tool) {
68
+ throw new HTTPException(404, { message: "Tool not found" });
69
+ }
70
+ if (!tool?.execute) {
71
+ throw new HTTPException(400, { message: "Tool is not executable" });
72
+ }
73
+ validateBody({ data });
74
+ if (isVercelTool(tool)) {
75
+ const result2 = await tool.execute(data);
76
+ return result2;
77
+ }
78
+ const result = await tool.execute({
79
+ context: data,
80
+ mastra,
81
+ runId,
82
+ runtimeContext
83
+ });
84
+ return result;
85
+ } catch (error) {
86
+ return handleError(error, "Error executing tool");
87
+ }
88
+ };
89
+ }
90
+ async function executeAgentToolHandler({
91
+ mastra,
92
+ agentId,
93
+ toolId,
94
+ data,
95
+ runtimeContext
96
+ }) {
97
+ try {
98
+ const agent = agentId ? mastra.getAgent(agentId) : null;
99
+ if (!agent) {
100
+ throw new HTTPException(404, { message: "Tool not found" });
101
+ }
102
+ const agentTools = await agent.getTools({ runtimeContext });
103
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
104
+ if (!tool) {
105
+ throw new HTTPException(404, { message: "Tool not found" });
106
+ }
107
+ if (!tool?.execute) {
108
+ throw new HTTPException(400, { message: "Tool is not executable" });
109
+ }
110
+ const result = await tool.execute({
111
+ context: data,
112
+ runtimeContext,
113
+ mastra,
114
+ runId: agentId
115
+ });
116
+ return result;
117
+ } catch (error) {
118
+ return handleError(error, "Error executing tool");
119
+ }
120
+ }
121
+
122
+ export { executeAgentToolHandler, executeToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
@@ -0,0 +1,278 @@
1
+ 'use strict';
2
+
3
+ var chunkLI436ITD_cjs = require('./chunk-LI436ITD.cjs');
4
+ var chunkCCGRCYWJ_cjs = require('./chunk-CCGRCYWJ.cjs');
5
+ var chunkPZQDCRPV_cjs = require('./chunk-PZQDCRPV.cjs');
6
+ var chunk2KZFMI6P_cjs = require('./chunk-2KZFMI6P.cjs');
7
+ var chunk75ZPJI57_cjs = require('./chunk-75ZPJI57.cjs');
8
+ var runtimeContext = require('@mastra/core/runtime-context');
9
+
10
+ // src/server/handlers/agents.ts
11
+ var agents_exports = {};
12
+ chunk75ZPJI57_cjs.__export(agents_exports, {
13
+ generateHandler: () => generateHandler,
14
+ getAgentByIdHandler: () => getAgentByIdHandler,
15
+ getAgentsHandler: () => getAgentsHandler,
16
+ getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
17
+ getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
18
+ streamGenerateHandler: () => streamGenerateHandler
19
+ });
20
+ async function getAgentsHandler({ mastra, runtimeContext }) {
21
+ try {
22
+ const agents = mastra.getAgents();
23
+ const serializedAgentsMap = await Promise.all(
24
+ Object.entries(agents).map(async ([id, agent]) => {
25
+ const instructions = await agent.getInstructions({ runtimeContext });
26
+ const tools = await agent.getTools({ runtimeContext });
27
+ const llm = await agent.getLLM({ runtimeContext });
28
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
29
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
30
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
31
+ const _tool = tool;
32
+ acc[key] = {
33
+ ..._tool,
34
+ inputSchema: _tool.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_tool.inputSchema)) : void 0,
35
+ outputSchema: _tool.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_tool.outputSchema)) : void 0
36
+ };
37
+ return acc;
38
+ }, {});
39
+ let serializedAgentWorkflows = {};
40
+ if ("getWorkflows" in agent) {
41
+ const logger = mastra.getLogger();
42
+ try {
43
+ const workflows = await agent.getWorkflows({ runtimeContext });
44
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
45
+ return {
46
+ ...acc,
47
+ [key]: {
48
+ name: workflow.name
49
+ }
50
+ };
51
+ }, {});
52
+ } catch (error) {
53
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
54
+ }
55
+ }
56
+ return {
57
+ id,
58
+ name: agent.name,
59
+ instructions,
60
+ tools: serializedAgentTools,
61
+ workflows: serializedAgentWorkflows,
62
+ provider: llm?.getProvider(),
63
+ modelId: llm?.getModelId(),
64
+ defaultGenerateOptions,
65
+ defaultStreamOptions
66
+ };
67
+ })
68
+ );
69
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
70
+ acc[id] = rest;
71
+ return acc;
72
+ }, {});
73
+ return serializedAgents;
74
+ } catch (error) {
75
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting agents");
76
+ }
77
+ }
78
+ async function getAgentByIdHandler({
79
+ mastra,
80
+ runtimeContext,
81
+ agentId,
82
+ isPlayground = false
83
+ }) {
84
+ try {
85
+ const agent = mastra.getAgent(agentId);
86
+ if (!agent) {
87
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Agent not found" });
88
+ }
89
+ const tools = await agent.getTools({ runtimeContext });
90
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
91
+ const _tool = tool;
92
+ acc[key] = {
93
+ ..._tool,
94
+ inputSchema: _tool.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_tool.inputSchema)) : void 0,
95
+ outputSchema: _tool.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_tool.outputSchema)) : void 0
96
+ };
97
+ return acc;
98
+ }, {});
99
+ let serializedAgentWorkflows = {};
100
+ if ("getWorkflows" in agent) {
101
+ const logger = mastra.getLogger();
102
+ try {
103
+ const workflows = await agent.getWorkflows({ runtimeContext });
104
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
105
+ return {
106
+ ...acc,
107
+ [key]: {
108
+ name: workflow.name,
109
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
110
+ return {
111
+ ...acc2,
112
+ [key2]: {
113
+ id: step.id,
114
+ description: step.description
115
+ }
116
+ };
117
+ }, {})
118
+ }
119
+ };
120
+ }, {});
121
+ } catch (error) {
122
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
123
+ }
124
+ }
125
+ let proxyRuntimeContext = runtimeContext;
126
+ if (isPlayground) {
127
+ proxyRuntimeContext = new Proxy(runtimeContext, {
128
+ get(target, prop) {
129
+ if (prop === "get") {
130
+ return function(key) {
131
+ const value = target.get(key);
132
+ return value ?? `<${key}>`;
133
+ };
134
+ }
135
+ return Reflect.get(target, prop);
136
+ }
137
+ });
138
+ }
139
+ const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });
140
+ const llm = await agent.getLLM({ runtimeContext });
141
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
142
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
143
+ return {
144
+ name: agent.name,
145
+ instructions,
146
+ tools: serializedAgentTools,
147
+ workflows: serializedAgentWorkflows,
148
+ provider: llm?.getProvider(),
149
+ modelId: llm?.getModelId(),
150
+ defaultGenerateOptions,
151
+ defaultStreamOptions
152
+ };
153
+ } catch (error) {
154
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting agent");
155
+ }
156
+ }
157
+ async function getEvalsByAgentIdHandler({
158
+ mastra,
159
+ runtimeContext,
160
+ agentId
161
+ }) {
162
+ try {
163
+ const agent = mastra.getAgent(agentId);
164
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "test") || [];
165
+ const instructions = await agent.getInstructions({ runtimeContext });
166
+ return {
167
+ id: agentId,
168
+ name: agent.name,
169
+ instructions,
170
+ evals
171
+ };
172
+ } catch (error) {
173
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting test evals");
174
+ }
175
+ }
176
+ async function getLiveEvalsByAgentIdHandler({
177
+ mastra,
178
+ runtimeContext,
179
+ agentId
180
+ }) {
181
+ try {
182
+ const agent = mastra.getAgent(agentId);
183
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "live") || [];
184
+ const instructions = await agent.getInstructions({ runtimeContext });
185
+ return {
186
+ id: agentId,
187
+ name: agent.name,
188
+ instructions,
189
+ evals
190
+ };
191
+ } catch (error) {
192
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting live evals");
193
+ }
194
+ }
195
+ async function generateHandler({
196
+ mastra,
197
+ runtimeContext: runtimeContext$1,
198
+ agentId,
199
+ body,
200
+ abortSignal
201
+ }) {
202
+ try {
203
+ const agent = mastra.getAgent(agentId);
204
+ if (!agent) {
205
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Agent not found" });
206
+ }
207
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
208
+ const finalResourceId = resourceId ?? resourceid;
209
+ const finalRuntimeContext = new runtimeContext.RuntimeContext([
210
+ ...Array.from(runtimeContext$1.entries()),
211
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
212
+ ]);
213
+ chunkCCGRCYWJ_cjs.validateBody({ messages });
214
+ const result = await agent.generate(messages, {
215
+ ...rest,
216
+ // @ts-expect-error TODO fix types
217
+ resourceId: finalResourceId,
218
+ runtimeContext: finalRuntimeContext,
219
+ signal: abortSignal
220
+ });
221
+ return result;
222
+ } catch (error) {
223
+ return chunkPZQDCRPV_cjs.handleError(error, "Error generating from agent");
224
+ }
225
+ }
226
+ async function streamGenerateHandler({
227
+ mastra,
228
+ runtimeContext: runtimeContext$1,
229
+ agentId,
230
+ body,
231
+ abortSignal
232
+ }) {
233
+ try {
234
+ const agent = mastra.getAgent(agentId);
235
+ if (!agent) {
236
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Agent not found" });
237
+ }
238
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
239
+ const finalResourceId = resourceId ?? resourceid;
240
+ const finalRuntimeContext = new runtimeContext.RuntimeContext([
241
+ ...Array.from(runtimeContext$1.entries()),
242
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
243
+ ]);
244
+ chunkCCGRCYWJ_cjs.validateBody({ messages });
245
+ const streamResult = await agent.stream(messages, {
246
+ ...rest,
247
+ // @ts-expect-error TODO fix types
248
+ resourceId: finalResourceId,
249
+ runtimeContext: finalRuntimeContext,
250
+ signal: abortSignal
251
+ });
252
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
253
+ headers: {
254
+ "Transfer-Encoding": "chunked"
255
+ }
256
+ }) : streamResult.toDataStreamResponse({
257
+ sendUsage: true,
258
+ sendReasoning: true,
259
+ getErrorMessage: (error) => {
260
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
261
+ },
262
+ headers: {
263
+ "Transfer-Encoding": "chunked"
264
+ }
265
+ });
266
+ return streamResponse;
267
+ } catch (error) {
268
+ return chunkPZQDCRPV_cjs.handleError(error, "error streaming agent response");
269
+ }
270
+ }
271
+
272
+ exports.agents_exports = agents_exports;
273
+ exports.generateHandler = generateHandler;
274
+ exports.getAgentByIdHandler = getAgentByIdHandler;
275
+ exports.getAgentsHandler = getAgentsHandler;
276
+ exports.getEvalsByAgentIdHandler = getEvalsByAgentIdHandler;
277
+ exports.getLiveEvalsByAgentIdHandler = getLiveEvalsByAgentIdHandler;
278
+ exports.streamGenerateHandler = streamGenerateHandler;