@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
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunk5DP5XZH6_cjs = require('./chunk-5DP5XZH6.cjs');
|
|
4
3
|
var chunkTVSIG4JE_cjs = require('./chunk-TVSIG4JE.cjs');
|
|
5
4
|
var chunk743UIDHI_cjs = require('./chunk-743UIDHI.cjs');
|
|
6
5
|
var chunkAK2FXLLB_cjs = require('./chunk-AK2FXLLB.cjs');
|
|
@@ -8,6 +7,7 @@ var chunkP7RBMCBE_cjs = require('./chunk-P7RBMCBE.cjs');
|
|
|
8
7
|
var chunkHZJRQ5L3_cjs = require('./chunk-HZJRQ5L3.cjs');
|
|
9
8
|
var chunkIGFMAZZ5_cjs = require('./chunk-IGFMAZZ5.cjs');
|
|
10
9
|
var chunkHJQKWRKQ_cjs = require('./chunk-HJQKWRKQ.cjs');
|
|
10
|
+
var chunk5DP5XZH6_cjs = require('./chunk-5DP5XZH6.cjs');
|
|
11
11
|
var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
|
|
12
12
|
var chunkFALVL2VV_cjs = require('./chunk-FALVL2VV.cjs');
|
|
13
13
|
var chunkPPYGWINI_cjs = require('./chunk-PPYGWINI.cjs');
|
|
@@ -29,11 +29,14 @@ chunkEMMSS5I5_cjs.__export(agents_exports, {
|
|
|
29
29
|
getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
|
|
30
30
|
getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
|
|
31
31
|
getSerializedAgentTools: () => getSerializedAgentTools,
|
|
32
|
+
reorderAgentModelListHandler: () => reorderAgentModelListHandler,
|
|
32
33
|
streamGenerateHandler: () => streamGenerateHandler,
|
|
33
34
|
streamGenerateLegacyHandler: () => streamGenerateLegacyHandler,
|
|
35
|
+
streamNetworkHandler: () => streamNetworkHandler,
|
|
34
36
|
streamVNextGenerateHandler: () => streamVNextGenerateHandler,
|
|
35
37
|
streamVNextUIMessageHandler: () => streamVNextUIMessageHandler,
|
|
36
|
-
updateAgentModelHandler: () => updateAgentModelHandler
|
|
38
|
+
updateAgentModelHandler: () => updateAgentModelHandler,
|
|
39
|
+
updateAgentModelInModelListHandler: () => updateAgentModelInModelListHandler
|
|
37
40
|
});
|
|
38
41
|
async function getSerializedAgentTools(tools) {
|
|
39
42
|
return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
|
|
@@ -64,47 +67,83 @@ async function getSerializedAgentTools(tools) {
|
|
|
64
67
|
return acc;
|
|
65
68
|
}, {});
|
|
66
69
|
}
|
|
70
|
+
async function getSerializedAgentDefinition({
|
|
71
|
+
agent,
|
|
72
|
+
runtimeContext
|
|
73
|
+
}) {
|
|
74
|
+
let serializedAgentAgents = {};
|
|
75
|
+
if ("listAgents" in agent) {
|
|
76
|
+
const agents = await agent.listAgents({ runtimeContext });
|
|
77
|
+
serializedAgentAgents = Object.entries(agents || {}).reduce((acc, [key, agent2]) => {
|
|
78
|
+
return {
|
|
79
|
+
...acc,
|
|
80
|
+
[key]: { id: agent2.id, name: agent2.name }
|
|
81
|
+
};
|
|
82
|
+
}, {});
|
|
83
|
+
}
|
|
84
|
+
return serializedAgentAgents;
|
|
85
|
+
}
|
|
86
|
+
async function formatAgentList({
|
|
87
|
+
id,
|
|
88
|
+
mastra,
|
|
89
|
+
agent,
|
|
90
|
+
runtimeContext
|
|
91
|
+
}) {
|
|
92
|
+
const instructions = await agent.getInstructions({ runtimeContext });
|
|
93
|
+
const tools = await agent.getTools({ runtimeContext });
|
|
94
|
+
const llm = await agent.getLLM({ runtimeContext });
|
|
95
|
+
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
|
|
96
|
+
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
|
|
97
|
+
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
98
|
+
let serializedAgentWorkflows = {};
|
|
99
|
+
if ("getWorkflows" in agent) {
|
|
100
|
+
const logger = mastra.getLogger();
|
|
101
|
+
try {
|
|
102
|
+
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
103
|
+
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
104
|
+
return {
|
|
105
|
+
...acc,
|
|
106
|
+
[key]: {
|
|
107
|
+
name: workflow.name
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}, {});
|
|
111
|
+
} catch (error) {
|
|
112
|
+
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext });
|
|
116
|
+
const model = llm?.getModel();
|
|
117
|
+
const models = await agent.getModelList(runtimeContext);
|
|
118
|
+
const modelList = models?.map((md) => ({
|
|
119
|
+
...md,
|
|
120
|
+
model: {
|
|
121
|
+
modelId: md.model.modelId,
|
|
122
|
+
provider: md.model.provider,
|
|
123
|
+
modelVersion: md.model.specificationVersion
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
return {
|
|
127
|
+
id,
|
|
128
|
+
name: agent.name,
|
|
129
|
+
instructions,
|
|
130
|
+
agents: serializedAgentAgents,
|
|
131
|
+
tools: serializedAgentTools,
|
|
132
|
+
workflows: serializedAgentWorkflows,
|
|
133
|
+
provider: llm?.getProvider(),
|
|
134
|
+
modelId: llm?.getModelId(),
|
|
135
|
+
modelVersion: model?.specificationVersion,
|
|
136
|
+
defaultGenerateOptions,
|
|
137
|
+
defaultStreamOptions,
|
|
138
|
+
modelList
|
|
139
|
+
};
|
|
140
|
+
}
|
|
67
141
|
async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
68
142
|
try {
|
|
69
143
|
const agents = mastra.getAgents();
|
|
70
144
|
const serializedAgentsMap = await Promise.all(
|
|
71
145
|
Object.entries(agents).map(async ([id, agent]) => {
|
|
72
|
-
|
|
73
|
-
const tools = await agent.getTools({ runtimeContext });
|
|
74
|
-
const llm = await agent.getLLM({ runtimeContext });
|
|
75
|
-
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
|
|
76
|
-
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
|
|
77
|
-
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
78
|
-
let serializedAgentWorkflows = {};
|
|
79
|
-
if ("getWorkflows" in agent) {
|
|
80
|
-
const logger = mastra.getLogger();
|
|
81
|
-
try {
|
|
82
|
-
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
83
|
-
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
84
|
-
return {
|
|
85
|
-
...acc,
|
|
86
|
-
[key]: {
|
|
87
|
-
name: workflow.name
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
}, {});
|
|
91
|
-
} catch (error) {
|
|
92
|
-
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
const model = llm?.getModel();
|
|
96
|
-
return {
|
|
97
|
-
id,
|
|
98
|
-
name: agent.name,
|
|
99
|
-
instructions,
|
|
100
|
-
tools: serializedAgentTools,
|
|
101
|
-
workflows: serializedAgentWorkflows,
|
|
102
|
-
provider: llm?.getProvider(),
|
|
103
|
-
modelId: llm?.getModelId(),
|
|
104
|
-
modelVersion: model?.specificationVersion,
|
|
105
|
-
defaultGenerateOptions,
|
|
106
|
-
defaultStreamOptions
|
|
107
|
-
};
|
|
146
|
+
return formatAgentList({ id, mastra, agent, runtimeContext });
|
|
108
147
|
})
|
|
109
148
|
);
|
|
110
149
|
const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
|
|
@@ -116,44 +155,38 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
|
116
155
|
return chunkRE4RPXT2_cjs.handleError(error, "Error getting agents");
|
|
117
156
|
}
|
|
118
157
|
}
|
|
119
|
-
async function
|
|
158
|
+
async function formatAgent({
|
|
120
159
|
mastra,
|
|
160
|
+
agent,
|
|
121
161
|
runtimeContext,
|
|
122
|
-
|
|
123
|
-
isPlayground = false
|
|
162
|
+
isPlayground
|
|
124
163
|
}) {
|
|
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
|
-
};
|
|
153
|
-
}, {});
|
|
154
|
-
} catch (error) {
|
|
155
|
-
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
156
|
-
}
|
|
164
|
+
const tools = await agent.getTools({ runtimeContext });
|
|
165
|
+
const serializedAgentTools = await getSerializedAgentTools(tools);
|
|
166
|
+
let serializedAgentWorkflows = {};
|
|
167
|
+
if ("getWorkflows" in agent) {
|
|
168
|
+
const logger = mastra.getLogger();
|
|
169
|
+
try {
|
|
170
|
+
const workflows = await agent.getWorkflows({ runtimeContext });
|
|
171
|
+
serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
|
|
172
|
+
return {
|
|
173
|
+
...acc,
|
|
174
|
+
[key]: {
|
|
175
|
+
name: workflow.name,
|
|
176
|
+
steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
|
|
177
|
+
return {
|
|
178
|
+
...acc2,
|
|
179
|
+
[key2]: {
|
|
180
|
+
id: step.id,
|
|
181
|
+
description: step.description
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}, {})
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}, {});
|
|
188
|
+
} catch (error) {
|
|
189
|
+
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
157
190
|
}
|
|
158
191
|
let proxyRuntimeContext = runtimeContext;
|
|
159
192
|
if (isPlayground) {
|
|
@@ -174,17 +207,43 @@ async function getAgentByIdHandler({
|
|
|
174
207
|
const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
|
|
175
208
|
const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
|
|
176
209
|
const model = llm?.getModel();
|
|
210
|
+
const models = await agent.getModelList(runtimeContext);
|
|
211
|
+
const modelList = models?.map((md) => ({
|
|
212
|
+
...md,
|
|
213
|
+
model: {
|
|
214
|
+
modelId: md.model.modelId,
|
|
215
|
+
provider: md.model.provider,
|
|
216
|
+
modelVersion: md.model.specificationVersion
|
|
217
|
+
}
|
|
218
|
+
}));
|
|
219
|
+
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext: proxyRuntimeContext });
|
|
177
220
|
return {
|
|
178
221
|
name: agent.name,
|
|
179
222
|
instructions,
|
|
180
223
|
tools: serializedAgentTools,
|
|
224
|
+
agents: serializedAgentAgents,
|
|
181
225
|
workflows: serializedAgentWorkflows,
|
|
182
226
|
provider: llm?.getProvider(),
|
|
183
227
|
modelId: llm?.getModelId(),
|
|
184
228
|
modelVersion: model?.specificationVersion,
|
|
229
|
+
modelList,
|
|
185
230
|
defaultGenerateOptions,
|
|
186
231
|
defaultStreamOptions
|
|
187
232
|
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
async function getAgentByIdHandler({
|
|
236
|
+
mastra,
|
|
237
|
+
runtimeContext,
|
|
238
|
+
agentId,
|
|
239
|
+
isPlayground = false
|
|
240
|
+
}) {
|
|
241
|
+
try {
|
|
242
|
+
const agent = mastra.getAgent(agentId);
|
|
243
|
+
if (!agent) {
|
|
244
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
245
|
+
}
|
|
246
|
+
return formatAgent({ mastra, agent, runtimeContext, isPlayground });
|
|
188
247
|
} catch (error) {
|
|
189
248
|
return chunkRE4RPXT2_cjs.handleError(error, "Error getting agent");
|
|
190
249
|
}
|
|
@@ -233,7 +292,7 @@ function generateHandler({
|
|
|
233
292
|
}) {
|
|
234
293
|
const logger = mastra.getLogger();
|
|
235
294
|
logger?.warn(
|
|
236
|
-
"Deprecation NOTICE:\nGenerate method will switch to use generateVNext implementation September
|
|
295
|
+
"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."
|
|
237
296
|
);
|
|
238
297
|
return generateLegacyHandler({ mastra, ...args });
|
|
239
298
|
}
|
|
@@ -305,7 +364,7 @@ async function streamGenerateHandler({
|
|
|
305
364
|
}) {
|
|
306
365
|
const logger = mastra.getLogger();
|
|
307
366
|
logger?.warn(
|
|
308
|
-
"Deprecation NOTICE:\n Stream method will switch to use streamVNext implementation September
|
|
367
|
+
"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."
|
|
309
368
|
);
|
|
310
369
|
return streamGenerateLegacyHandler({ mastra, ...args });
|
|
311
370
|
}
|
|
@@ -384,6 +443,38 @@ function streamVNextGenerateHandler({
|
|
|
384
443
|
return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent response");
|
|
385
444
|
}
|
|
386
445
|
}
|
|
446
|
+
function streamNetworkHandler({
|
|
447
|
+
mastra,
|
|
448
|
+
runtimeContext: runtimeContext$1,
|
|
449
|
+
agentId,
|
|
450
|
+
body
|
|
451
|
+
// abortSignal,
|
|
452
|
+
}) {
|
|
453
|
+
try {
|
|
454
|
+
const agent = mastra.getAgent(agentId);
|
|
455
|
+
if (!agent) {
|
|
456
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
457
|
+
}
|
|
458
|
+
chunkG4PUALCE_cjs.sanitizeBody(body, ["tools"]);
|
|
459
|
+
const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
|
|
460
|
+
const finalRuntimeContext = new runtimeContext.RuntimeContext([
|
|
461
|
+
...Array.from(runtimeContext$1.entries()),
|
|
462
|
+
...Array.from(Object.entries(agentRuntimeContext ?? {}))
|
|
463
|
+
]);
|
|
464
|
+
chunkG4PUALCE_cjs.validateBody({ messages });
|
|
465
|
+
const streamResult = agent.network(messages, {
|
|
466
|
+
...rest,
|
|
467
|
+
memory: {
|
|
468
|
+
thread: rest.thread ?? "",
|
|
469
|
+
resource: rest.resourceId ?? ""
|
|
470
|
+
},
|
|
471
|
+
runtimeContext: finalRuntimeContext
|
|
472
|
+
});
|
|
473
|
+
return streamResult;
|
|
474
|
+
} catch (error) {
|
|
475
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent loop response");
|
|
476
|
+
}
|
|
477
|
+
}
|
|
387
478
|
async function streamVNextUIMessageHandler({
|
|
388
479
|
mastra,
|
|
389
480
|
runtimeContext: runtimeContext$1,
|
|
@@ -444,13 +535,74 @@ async function updateAgentModelHandler({
|
|
|
444
535
|
}
|
|
445
536
|
};
|
|
446
537
|
const modelVersionKey = modelVersion === "v2" ? "v2" : "v1";
|
|
447
|
-
|
|
538
|
+
const model = providerMap[modelVersionKey][provider];
|
|
448
539
|
agent.__updateModel({ model });
|
|
449
540
|
return { message: "Agent model updated" };
|
|
450
541
|
} catch (error) {
|
|
451
542
|
return chunkRE4RPXT2_cjs.handleError(error, "error updating agent model");
|
|
452
543
|
}
|
|
453
544
|
}
|
|
545
|
+
async function reorderAgentModelListHandler({
|
|
546
|
+
mastra,
|
|
547
|
+
agentId,
|
|
548
|
+
body
|
|
549
|
+
}) {
|
|
550
|
+
try {
|
|
551
|
+
const agent = mastra.getAgent(agentId);
|
|
552
|
+
if (!agent) {
|
|
553
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
554
|
+
}
|
|
555
|
+
const modelList = await agent.getModelList();
|
|
556
|
+
if (!modelList || modelList.length === 0) {
|
|
557
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Agent model list is not found or empty" });
|
|
558
|
+
}
|
|
559
|
+
agent.reorderModels(body.reorderedModelIds);
|
|
560
|
+
return { message: "Model list reordered" };
|
|
561
|
+
} catch (error) {
|
|
562
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error reordering model list");
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
async function updateAgentModelInModelListHandler({
|
|
566
|
+
mastra,
|
|
567
|
+
agentId,
|
|
568
|
+
modelConfigId,
|
|
569
|
+
body
|
|
570
|
+
}) {
|
|
571
|
+
try {
|
|
572
|
+
const agent = mastra.getAgent(agentId);
|
|
573
|
+
if (!agent) {
|
|
574
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
575
|
+
}
|
|
576
|
+
const { model: bodyModel, maxRetries, enabled } = body;
|
|
577
|
+
if (!modelConfigId) {
|
|
578
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Model id is required" });
|
|
579
|
+
}
|
|
580
|
+
const modelList = await agent.getModelList();
|
|
581
|
+
if (!modelList || modelList.length === 0) {
|
|
582
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Agent model list is not found or empty" });
|
|
583
|
+
}
|
|
584
|
+
const modelToUpdate = modelList.find((m) => m.id === modelConfigId);
|
|
585
|
+
if (!modelToUpdate) {
|
|
586
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Model to update is not found in agent model list" });
|
|
587
|
+
}
|
|
588
|
+
let model;
|
|
589
|
+
if (bodyModel) {
|
|
590
|
+
const { modelId, provider } = bodyModel;
|
|
591
|
+
const providerMap = {
|
|
592
|
+
openai: chunkFALVL2VV_cjs.openai(modelId),
|
|
593
|
+
anthropic: chunk743UIDHI_cjs.anthropic(modelId),
|
|
594
|
+
groq: chunkAK2FXLLB_cjs.groq(modelId),
|
|
595
|
+
xai: chunkP7RBMCBE_cjs.xai(modelId),
|
|
596
|
+
google: chunkHZJRQ5L3_cjs.google(modelId)
|
|
597
|
+
};
|
|
598
|
+
model = providerMap[provider];
|
|
599
|
+
}
|
|
600
|
+
agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });
|
|
601
|
+
return { message: "Model list updated" };
|
|
602
|
+
} catch (error) {
|
|
603
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error updating model list");
|
|
604
|
+
}
|
|
605
|
+
}
|
|
454
606
|
|
|
455
607
|
exports.agents_exports = agents_exports;
|
|
456
608
|
exports.generateHandler = generateHandler;
|
|
@@ -461,10 +613,13 @@ exports.getAgentsHandler = getAgentsHandler;
|
|
|
461
613
|
exports.getEvalsByAgentIdHandler = getEvalsByAgentIdHandler;
|
|
462
614
|
exports.getLiveEvalsByAgentIdHandler = getLiveEvalsByAgentIdHandler;
|
|
463
615
|
exports.getSerializedAgentTools = getSerializedAgentTools;
|
|
616
|
+
exports.reorderAgentModelListHandler = reorderAgentModelListHandler;
|
|
464
617
|
exports.streamGenerateHandler = streamGenerateHandler;
|
|
465
618
|
exports.streamGenerateLegacyHandler = streamGenerateLegacyHandler;
|
|
619
|
+
exports.streamNetworkHandler = streamNetworkHandler;
|
|
466
620
|
exports.streamVNextGenerateHandler = streamVNextGenerateHandler;
|
|
467
621
|
exports.streamVNextUIMessageHandler = streamVNextUIMessageHandler;
|
|
468
622
|
exports.updateAgentModelHandler = updateAgentModelHandler;
|
|
469
|
-
|
|
470
|
-
//# sourceMappingURL=chunk-
|
|
623
|
+
exports.updateAgentModelInModelListHandler = updateAgentModelInModelListHandler;
|
|
624
|
+
//# sourceMappingURL=chunk-SXENNNR7.cjs.map
|
|
625
|
+
//# sourceMappingURL=chunk-SXENNNR7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","stringify","zodToJsonSchema","agent","handleError","acc","key","HTTPException","runtimeContext","sanitizeBody","RuntimeContext","validateBody","openai","anthropic","groq","xai","google"],"mappings":"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","file":"chunk-SXENNNR7.cjs","sourcesContent":["import { anthropic } from '@ai-sdk/anthropic';\nimport { anthropic as anthropicV5 } from '@ai-sdk/anthropic-v5';\nimport { google } from '@ai-sdk/google';\nimport { google as googleV5 } from '@ai-sdk/google-v5';\nimport { groq } from '@ai-sdk/groq';\nimport { groq as groqV5 } from '@ai-sdk/groq-v5';\nimport { openai } from '@ai-sdk/openai';\nimport { openai as openaiV5 } from '@ai-sdk/openai-v5';\nimport { xai } from '@ai-sdk/xai';\nimport { xai as xaiV5 } from '@ai-sdk/xai-v5';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\n\nimport type {\n StreamTextOnFinishCallback,\n StreamTextOnStepFinishCallback,\n} from '../../../../core/dist/llm/model/base.types';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\nexport async function getSerializedAgentTools(tools: Record<string, any>) {\n return Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n\n const toolId = _tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn = undefined;\n\n if (_tool.inputSchema) {\n if (_tool.inputSchema?.jsonSchema) {\n inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);\n } else {\n inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));\n }\n }\n\n let outputSchemaForReturn = undefined;\n\n if (_tool.outputSchema) {\n if (_tool.outputSchema?.jsonSchema) {\n outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);\n } else {\n outputSchemaForReturn = stringify(zodToJsonSchema(_tool.outputSchema));\n }\n }\n\n acc[key] = {\n ..._tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n runtimeContext,\n}: {\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n let serializedAgentAgents = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ runtimeContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<any>((acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n }, {});\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n runtimeContext,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n}) {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n return {\n id,\n name: agent.name,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n modelList,\n };\n}\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, runtimeContext });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nasync function formatAgent({\n mastra,\n agent,\n runtimeContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n runtimeContext: RuntimeContext;\n isPlayground: boolean;\n}) {\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(runtimeContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n return formatAgent({ mastra, agent, runtimeContext, isPlayground });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport function generateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"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.\",\n );\n return generateLegacyHandler({ mastra, ...args });\n}\n\nexport async function generateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function generateVNextHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generateVNext'> & {\n runtimeContext?: Record<string, unknown>;\n format?: 'mastra' | 'aisdk';\n };\n abortSignal?: AbortSignal;\n}): Promise<ReturnType<Agent['generateVNext']>> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generateVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n format: rest.format || 'mastra',\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n ...args\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}) {\n const logger = mastra.getLogger();\n logger?.warn(\n \"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.\",\n );\n\n return streamGenerateLegacyHandler({ mastra, ...args });\n}\nexport async function streamGenerateLegacyHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n format?: 'aisdk' | 'mastra';\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: body.format ?? 'mastra',\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamNetworkHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n // abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'network'> & {\n thread?: string;\n resourceId?: string;\n };\n // abortSignal?: AbortSignal;\n}): ReturnType<Agent['network']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.network(messages, {\n ...rest,\n memory: {\n thread: rest.thread ?? '',\n resource: rest.resourceId ?? '',\n },\n runtimeContext: finalRuntimeContext,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n}\n\nexport async function streamVNextUIMessageHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: Omit<GetBody<'streamVNext'>, 'onStepFinish' | 'onFinish' | 'output'> & {\n runtimeContext?: string;\n onStepFinish?: StreamTextOnStepFinishCallback<any>;\n onFinish?: StreamTextOnFinishCallback<any>;\n output?: undefined;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(body, ['tools']);\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n format: 'aisdk',\n });\n\n return streamResult.toUIMessageStreamResponse();\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport async function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentModel = await agent.getModel();\n const modelVersion = agentModel.specificationVersion;\n\n const { modelId, provider } = body;\n\n const providerMap = {\n v1: {\n openai: openai(modelId),\n anthropic: anthropic(modelId),\n groq: groq(modelId),\n xai: xai(modelId),\n google: google(modelId),\n },\n v2: {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n },\n };\n\n const modelVersionKey = modelVersion === 'v2' ? 'v2' : 'v1';\n\n const model = providerMap[modelVersionKey][provider];\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n\nexport async function reorderAgentModelListHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n reorderedModelIds: Array<string>;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n agent.reorderModels(body.reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n}\n\nexport async function updateAgentModelInModelListHandler({\n mastra,\n agentId,\n modelConfigId,\n body,\n}: Context & {\n agentId: string;\n modelConfigId: string;\n body: {\n model?: {\n modelId: string;\n provider: 'openai' | 'anthropic' | 'groq' | 'xai' | 'google';\n };\n maxRetries?: number;\n enabled?: boolean;\n };\n}): Promise<{ message: string }> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n const { model: bodyModel, maxRetries, enabled } = body;\n\n if (!modelConfigId) {\n throw new HTTPException(400, { message: 'Model id is required' });\n }\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n const modelToUpdate = modelList.find(m => m.id === modelConfigId);\n if (!modelToUpdate) {\n throw new HTTPException(400, { message: 'Model to update is not found in agent model list' });\n }\n\n let model: MastraLanguageModel | undefined;\n if (bodyModel) {\n const { modelId, provider } = bodyModel;\n const providerMap = {\n openai: openaiV5(modelId),\n anthropic: anthropicV5(modelId),\n groq: groqV5(modelId),\n xai: xaiV5(modelId),\n google: googleV5(modelId),\n };\n\n model = providerMap[provider];\n }\n\n agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });\n\n return { message: 'Model list updated' };\n } catch (error) {\n return handleError(error, 'error updating model list');\n }\n}\n"]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
|
|
4
|
+
var zodToJson = require('@mastra/core/utils/zod-to-json');
|
|
5
|
+
|
|
6
|
+
function getSteps(steps, path) {
|
|
7
|
+
return Object.entries(steps).reduce((acc, [key, step]) => {
|
|
8
|
+
const fullKey = path ? `${path}.${key}` : key;
|
|
9
|
+
acc[fullKey] = {
|
|
10
|
+
id: step.id,
|
|
11
|
+
description: step.description,
|
|
12
|
+
inputSchema: step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.inputSchema)) : void 0,
|
|
13
|
+
outputSchema: step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.outputSchema)) : void 0,
|
|
14
|
+
resumeSchema: step.resumeSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.resumeSchema)) : void 0,
|
|
15
|
+
suspendSchema: step.suspendSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.suspendSchema)) : void 0,
|
|
16
|
+
isWorkflow: step.component === "WORKFLOW",
|
|
17
|
+
component: step.component
|
|
18
|
+
};
|
|
19
|
+
if (step.component === "WORKFLOW" && step.steps) {
|
|
20
|
+
const nestedSteps = getSteps(step.steps, fullKey) || {};
|
|
21
|
+
acc = { ...acc, ...nestedSteps };
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, {});
|
|
25
|
+
}
|
|
26
|
+
function getWorkflowInfo(workflow) {
|
|
27
|
+
return {
|
|
28
|
+
name: workflow.name,
|
|
29
|
+
description: workflow.description,
|
|
30
|
+
steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
|
|
31
|
+
acc[key] = {
|
|
32
|
+
id: step.id,
|
|
33
|
+
description: step.description,
|
|
34
|
+
inputSchema: step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.inputSchema)) : void 0,
|
|
35
|
+
outputSchema: step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.outputSchema)) : void 0,
|
|
36
|
+
resumeSchema: step.resumeSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.resumeSchema)) : void 0,
|
|
37
|
+
suspendSchema: step.suspendSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.suspendSchema)) : void 0,
|
|
38
|
+
component: step.component
|
|
39
|
+
};
|
|
40
|
+
return acc;
|
|
41
|
+
}, {}),
|
|
42
|
+
allSteps: getSteps(workflow.steps) || {},
|
|
43
|
+
stepGraph: workflow.serializedStepGraph,
|
|
44
|
+
inputSchema: workflow.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.inputSchema)) : void 0,
|
|
45
|
+
outputSchema: workflow.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.outputSchema)) : void 0
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var WorkflowRegistry = class {
|
|
49
|
+
static additionalWorkflows = {};
|
|
50
|
+
/**
|
|
51
|
+
* Register a workflow temporarily
|
|
52
|
+
*/
|
|
53
|
+
static registerTemporaryWorkflow(id, workflow) {
|
|
54
|
+
this.additionalWorkflows[id] = workflow;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Register all workflows from map
|
|
58
|
+
*/
|
|
59
|
+
static registerTemporaryWorkflows(workflows, mastra) {
|
|
60
|
+
for (const [id, workflow] of Object.entries(workflows)) {
|
|
61
|
+
if (mastra) {
|
|
62
|
+
workflow.__registerMastra(mastra);
|
|
63
|
+
workflow.__registerPrimitives({
|
|
64
|
+
logger: mastra.getLogger(),
|
|
65
|
+
telemetry: mastra.getTelemetry(),
|
|
66
|
+
storage: mastra.getStorage(),
|
|
67
|
+
memory: mastra.getMemory(),
|
|
68
|
+
agents: mastra.getAgents(),
|
|
69
|
+
tts: mastra.getTTS(),
|
|
70
|
+
vectors: mastra.getVectors()
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
this.additionalWorkflows[id] = workflow;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get a workflow by ID from the registry (returns undefined if not found)
|
|
78
|
+
*/
|
|
79
|
+
static getWorkflow(workflowId) {
|
|
80
|
+
return this.additionalWorkflows[workflowId];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get all workflows from the registry
|
|
84
|
+
*/
|
|
85
|
+
static getAllWorkflows() {
|
|
86
|
+
return { ...this.additionalWorkflows };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Clean up a temporary workflow
|
|
90
|
+
*/
|
|
91
|
+
static cleanupTemporaryWorkflow(workflowId) {
|
|
92
|
+
delete this.additionalWorkflows[workflowId];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clean up all registered workflows
|
|
96
|
+
*/
|
|
97
|
+
static cleanup() {
|
|
98
|
+
this.additionalWorkflows = {};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if a workflow ID is a valid agent-builder workflow
|
|
102
|
+
*/
|
|
103
|
+
static isAgentBuilderWorkflow(workflowId) {
|
|
104
|
+
return workflowId in this.additionalWorkflows;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get all registered temporary workflow IDs (for debugging)
|
|
108
|
+
*/
|
|
109
|
+
static getRegisteredWorkflowIds() {
|
|
110
|
+
return Object.keys(this.additionalWorkflows);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
function convertInstructionsToString(message) {
|
|
114
|
+
if (!message) {
|
|
115
|
+
return "";
|
|
116
|
+
}
|
|
117
|
+
if (typeof message === "string") {
|
|
118
|
+
return message;
|
|
119
|
+
}
|
|
120
|
+
if (Array.isArray(message)) {
|
|
121
|
+
return message.map((m) => {
|
|
122
|
+
if (typeof m === "string") {
|
|
123
|
+
return m;
|
|
124
|
+
}
|
|
125
|
+
return typeof m.content === "string" ? m.content : "";
|
|
126
|
+
}).filter((content) => content).join("\n");
|
|
127
|
+
}
|
|
128
|
+
return typeof message.content === "string" ? message.content : "";
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
exports.WorkflowRegistry = WorkflowRegistry;
|
|
132
|
+
exports.convertInstructionsToString = convertInstructionsToString;
|
|
133
|
+
exports.getWorkflowInfo = getWorkflowInfo;
|
|
134
|
+
//# sourceMappingURL=chunk-VY4ENABS.cjs.map
|
|
135
|
+
//# sourceMappingURL=chunk-VY4ENABS.cjs.map
|