@mastra/server 0.0.0-message-ordering-20250415215612 → 0.0.0-message-list-update-20250715150321

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 (93) hide show
  1. package/LICENSE.md +11 -42
  2. package/README.md +48 -135
  3. package/dist/_tsup-dts-rollup.d.cts +604 -70
  4. package/dist/_tsup-dts-rollup.d.ts +604 -70
  5. package/dist/{chunk-FV45V6WC.cjs → chunk-2KZFMI6P.cjs} +1 -7
  6. package/dist/chunk-2SLFAFTR.cjs +148 -0
  7. package/dist/chunk-3CNDE7QY.cjs +308 -0
  8. package/dist/chunk-4D66QEKC.js +81 -0
  9. package/dist/{chunk-OPP7H5TW.js → chunk-5PQQ42EZ.js} +83 -68
  10. package/dist/chunk-75ZPJI57.cjs +9 -0
  11. package/dist/{chunk-M56ECCHK.cjs → chunk-7TP2LX5L.cjs} +20 -19
  12. package/dist/chunk-B2PAS2IB.cjs +514 -0
  13. package/dist/chunk-BK4XT6EG.js +270 -0
  14. package/dist/{chunk-QN4KF3BH.cjs → chunk-CCGRCYWJ.cjs} +2 -2
  15. package/dist/{chunk-YANVFOYA.js → chunk-CRCR3ZUK.js} +56 -34
  16. package/dist/{chunk-PDC4ZBQW.cjs → chunk-FRVBFMO2.cjs} +28 -26
  17. package/dist/{chunk-CWSDZEZG.cjs → chunk-G7KH752Y.cjs} +18 -12
  18. package/dist/chunk-GHC4YV6R.js +504 -0
  19. package/dist/chunk-H7DMHBKY.js +498 -0
  20. package/dist/chunk-JMLYCXMK.cjs +332 -0
  21. package/dist/{chunk-3RVHWGWO.js → chunk-KHZKYUNR.js} +36 -19
  22. package/dist/{chunk-RBQASTUP.js → chunk-KOHWJYJT.js} +120 -27
  23. package/dist/{chunk-TRDNDNGQ.js → chunk-LCM566I4.js} +2 -7
  24. package/dist/chunk-LF7P5PLR.js +14 -0
  25. package/dist/chunk-LI436ITD.cjs +2042 -0
  26. package/dist/{chunk-UV4WTEH4.js → chunk-LRCAAFUA.js} +11 -9
  27. package/dist/chunk-LZ3VJXSO.cjs +278 -0
  28. package/dist/chunk-MEGCYGBU.js +2039 -0
  29. package/dist/chunk-MLKGABMK.js +7 -0
  30. package/dist/chunk-PZQDCRPV.cjs +16 -0
  31. package/dist/chunk-QGX47B5D.cjs +86 -0
  32. package/dist/{chunk-DVPP5S6I.js → chunk-RG473F6Y.js} +14 -8
  33. package/dist/chunk-RHSWAXKB.cjs +118 -0
  34. package/dist/{chunk-L7XE5QTW.js → chunk-RSEO4XPX.js} +1 -1
  35. package/dist/chunk-SDPGVWQJ.cjs +512 -0
  36. package/dist/{chunk-4JINXASC.js → chunk-WNVFNNWN.js} +5 -4
  37. package/dist/server/handlers/a2a.cjs +30 -0
  38. package/dist/server/handlers/a2a.d.cts +6 -0
  39. package/dist/server/handlers/a2a.d.ts +6 -0
  40. package/dist/server/handlers/a2a.js +1 -0
  41. package/dist/server/handlers/agents.cjs +7 -7
  42. package/dist/server/handlers/agents.js +1 -1
  43. package/dist/server/handlers/error.cjs +2 -2
  44. package/dist/server/handlers/error.js +1 -1
  45. package/dist/server/handlers/legacyWorkflows.cjs +46 -0
  46. package/dist/server/handlers/legacyWorkflows.d.cts +10 -0
  47. package/dist/server/handlers/legacyWorkflows.d.ts +10 -0
  48. package/dist/server/handlers/legacyWorkflows.js +1 -0
  49. package/dist/server/handlers/logs.cjs +4 -4
  50. package/dist/server/handlers/logs.js +1 -1
  51. package/dist/server/handlers/memory.cjs +17 -9
  52. package/dist/server/handlers/memory.d.cts +2 -0
  53. package/dist/server/handlers/memory.d.ts +2 -0
  54. package/dist/server/handlers/memory.js +1 -1
  55. package/dist/server/handlers/network.cjs +5 -5
  56. package/dist/server/handlers/network.js +1 -1
  57. package/dist/server/handlers/telemetry.cjs +3 -3
  58. package/dist/server/handlers/telemetry.js +1 -1
  59. package/dist/server/handlers/tools.cjs +5 -5
  60. package/dist/server/handlers/tools.js +1 -1
  61. package/dist/server/handlers/utils.cjs +2 -2
  62. package/dist/server/handlers/utils.js +1 -1
  63. package/dist/server/handlers/vNextNetwork.cjs +218 -0
  64. package/dist/server/handlers/vNextNetwork.d.cts +6 -0
  65. package/dist/server/handlers/vNextNetwork.d.ts +6 -0
  66. package/dist/server/handlers/vNextNetwork.js +211 -0
  67. package/dist/server/handlers/vector.cjs +7 -7
  68. package/dist/server/handlers/vector.js +1 -1
  69. package/dist/server/handlers/voice.cjs +8 -4
  70. package/dist/server/handlers/voice.d.cts +1 -0
  71. package/dist/server/handlers/voice.d.ts +1 -0
  72. package/dist/server/handlers/voice.js +1 -1
  73. package/dist/server/handlers/workflows.cjs +29 -13
  74. package/dist/server/handlers/workflows.d.cts +6 -2
  75. package/dist/server/handlers/workflows.d.ts +6 -2
  76. package/dist/server/handlers/workflows.js +1 -1
  77. package/dist/server/handlers.cjs +33 -23
  78. package/dist/server/handlers.d.cts +2 -0
  79. package/dist/server/handlers.d.ts +2 -0
  80. package/dist/server/handlers.js +11 -9
  81. package/package.json +15 -14
  82. package/dist/chunk-2FJURXCL.cjs +0 -213
  83. package/dist/chunk-3AHQ5RGN.js +0 -11
  84. package/dist/chunk-3EJZQ6TQ.js +0 -49
  85. package/dist/chunk-67WTHYAV.js +0 -156
  86. package/dist/chunk-A7DF4ETD.cjs +0 -100
  87. package/dist/chunk-B64YROKU.cjs +0 -317
  88. package/dist/chunk-JLDXUWK7.cjs +0 -126
  89. package/dist/chunk-QH6XWSXP.cjs +0 -5579
  90. package/dist/chunk-SKBVVI24.cjs +0 -54
  91. package/dist/chunk-VK6FX47H.js +0 -5576
  92. package/dist/chunk-Z46X3YCB.cjs +0 -164
  93. package/dist/chunk-ZLBRQFDD.cjs +0 -13
@@ -0,0 +1,270 @@
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 { 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
+ return handleError(error, "error streaming agent response");
267
+ }
268
+ }
269
+
270
+ export { agents_exports, generateHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, streamGenerateHandler };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunk2KZFMI6P_cjs = require('./chunk-2KZFMI6P.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 chunk2KZFMI6P_cjs.HTTPException(400, { message: Object.values(errorResponse)[0] });
15
15
  }
16
16
  }
17
17
 
@@ -1,6 +1,7 @@
1
- import { validateBody } from './chunk-L7XE5QTW.js';
2
- import { handleError } from './chunk-3AHQ5RGN.js';
3
- import { __export, HTTPException } from './chunk-TRDNDNGQ.js';
1
+ import { validateBody } from './chunk-RSEO4XPX.js';
2
+ import { handleError } from './chunk-LF7P5PLR.js';
3
+ import { HTTPException } from './chunk-LCM566I4.js';
4
+ import { __export } from './chunk-MLKGABMK.js';
4
5
 
5
6
  // src/server/handlers/network.ts
6
7
  var network_exports = {};
@@ -10,33 +11,48 @@ __export(network_exports, {
10
11
  getNetworksHandler: () => getNetworksHandler,
11
12
  streamGenerateHandler: () => streamGenerateHandler
12
13
  });
13
- async function getNetworksHandler({ mastra }) {
14
+ async function getNetworksHandler({
15
+ mastra,
16
+ runtimeContext
17
+ }) {
14
18
  try {
15
19
  const networks = mastra.getNetworks();
16
- const serializedNetworks = networks.map((network) => {
17
- const routingAgent = network.getRoutingAgent();
18
- const agents = network.getAgents();
19
- return {
20
- id: network.formatAgentId(routingAgent.name),
21
- name: routingAgent.name,
22
- instructions: routingAgent.instructions,
23
- agents: agents.map((agent) => ({
24
- name: agent.name,
25
- provider: agent.llm?.getProvider(),
26
- modelId: agent.llm?.getModelId()
27
- })),
28
- routingModel: {
29
- provider: routingAgent.llm?.getProvider(),
30
- modelId: routingAgent.llm?.getModelId()
31
- }
32
- };
33
- });
20
+ const serializedNetworks = await Promise.all(
21
+ networks.map(async (network) => {
22
+ const routingAgent = network.getRoutingAgent();
23
+ const routingLLM = await routingAgent.getLLM({ runtimeContext });
24
+ const agents = network.getAgents();
25
+ return {
26
+ id: network.formatAgentId(routingAgent.name),
27
+ name: routingAgent.name,
28
+ instructions: routingAgent.instructions,
29
+ agents: await Promise.all(
30
+ agents.map(async (agent) => {
31
+ const llm = await agent.getLLM({ runtimeContext });
32
+ return {
33
+ name: agent.name,
34
+ provider: llm?.getProvider(),
35
+ modelId: llm?.getModelId()
36
+ };
37
+ })
38
+ ),
39
+ routingModel: {
40
+ provider: routingLLM?.getProvider(),
41
+ modelId: routingLLM?.getModelId()
42
+ }
43
+ };
44
+ })
45
+ );
34
46
  return serializedNetworks;
35
47
  } catch (error) {
36
48
  return handleError(error, "Error getting networks");
37
49
  }
38
50
  }
39
- async function getNetworkByIdHandler({ mastra, networkId }) {
51
+ async function getNetworkByIdHandler({
52
+ mastra,
53
+ networkId,
54
+ runtimeContext
55
+ }) {
40
56
  try {
41
57
  const networks = mastra.getNetworks();
42
58
  const network = networks.find((network2) => {
@@ -47,19 +63,25 @@ async function getNetworkByIdHandler({ mastra, networkId }) {
47
63
  throw new HTTPException(404, { message: "Network not found" });
48
64
  }
49
65
  const routingAgent = network.getRoutingAgent();
66
+ const routingLLM = await routingAgent.getLLM({ runtimeContext });
50
67
  const agents = network.getAgents();
51
68
  const serializedNetwork = {
52
69
  id: network.formatAgentId(routingAgent.name),
53
70
  name: routingAgent.name,
54
71
  instructions: routingAgent.instructions,
55
- agents: agents.map((agent) => ({
56
- name: agent.name,
57
- provider: agent.llm?.getProvider(),
58
- modelId: agent.llm?.getModelId()
59
- })),
72
+ agents: await Promise.all(
73
+ agents.map(async (agent) => {
74
+ const llm = await agent.getLLM({ runtimeContext });
75
+ return {
76
+ name: agent.name,
77
+ provider: llm?.getProvider(),
78
+ modelId: llm?.getModelId()
79
+ };
80
+ })
81
+ ),
60
82
  routingModel: {
61
- provider: routingAgent.llm?.getProvider(),
62
- modelId: routingAgent.llm?.getModelId()
83
+ provider: routingLLM?.getProvider(),
84
+ modelId: routingLLM?.getModelId()
63
85
  }
64
86
  };
65
87
  return serializedNetwork;
@@ -69,7 +91,7 @@ async function getNetworkByIdHandler({ mastra, networkId }) {
69
91
  }
70
92
  async function generateHandler({
71
93
  mastra,
72
- container,
94
+ runtimeContext,
73
95
  networkId,
74
96
  body
75
97
  }) {
@@ -80,7 +102,7 @@ async function generateHandler({
80
102
  }
81
103
  validateBody({ messages: body.messages });
82
104
  const { messages, ...rest } = body;
83
- const result = await network.generate(messages, { ...rest, container });
105
+ const result = await network.generate(messages, { ...rest, runtimeContext });
84
106
  return result;
85
107
  } catch (error) {
86
108
  return handleError(error, "Error generating from network");
@@ -90,7 +112,7 @@ async function streamGenerateHandler({
90
112
  mastra,
91
113
  networkId,
92
114
  body,
93
- container
115
+ runtimeContext
94
116
  }) {
95
117
  try {
96
118
  const network = mastra.getNetwork(networkId);
@@ -102,7 +124,7 @@ async function streamGenerateHandler({
102
124
  const streamResult = await network.stream(messages, {
103
125
  output,
104
126
  ...rest,
105
- container
127
+ runtimeContext
106
128
  });
107
129
  const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toDataStreamResponse({
108
130
  sendUsage: true,
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunkQH6XWSXP_cjs = require('./chunk-QH6XWSXP.cjs');
4
- var chunkQN4KF3BH_cjs = require('./chunk-QN4KF3BH.cjs');
5
- var chunkZLBRQFDD_cjs = require('./chunk-ZLBRQFDD.cjs');
6
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
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');
7
8
  var tools = require('@mastra/core/tools');
8
9
 
9
10
  // src/server/handlers/tools.ts
10
11
  var tools_exports = {};
11
- chunkFV45V6WC_cjs.__export(tools_exports, {
12
+ chunk75ZPJI57_cjs.__export(tools_exports, {
12
13
  executeAgentToolHandler: () => executeAgentToolHandler,
13
14
  executeToolHandler: () => executeToolHandler,
14
15
  getToolByIdHandler: () => getToolByIdHandler,
@@ -24,8 +25,8 @@ async function getToolsHandler({ tools }) {
24
25
  const tool = _tool;
25
26
  acc[id] = {
26
27
  ...tool,
27
- inputSchema: tool.inputSchema ? chunkQH6XWSXP_cjs.stringify(chunkQH6XWSXP_cjs.esm_default(tool.inputSchema)) : void 0,
28
- outputSchema: tool.outputSchema ? chunkQH6XWSXP_cjs.stringify(chunkQH6XWSXP_cjs.esm_default(tool.outputSchema)) : void 0
28
+ inputSchema: tool.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(tool.inputSchema)) : void 0,
29
+ outputSchema: tool.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(tool.outputSchema)) : void 0
29
30
  };
30
31
  return acc;
31
32
  },
@@ -33,23 +34,23 @@ async function getToolsHandler({ tools }) {
33
34
  );
34
35
  return serializedTools;
35
36
  } catch (error) {
36
- return chunkZLBRQFDD_cjs.handleError(error, "Error getting tools");
37
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting tools");
37
38
  }
38
39
  }
39
40
  async function getToolByIdHandler({ tools, toolId }) {
40
41
  try {
41
42
  const tool = Object.values(tools || {}).find((tool2) => tool2.id === toolId);
42
43
  if (!tool) {
43
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Tool not found" });
44
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Tool not found" });
44
45
  }
45
46
  const serializedTool = {
46
47
  ...tool,
47
- inputSchema: tool.inputSchema ? chunkQH6XWSXP_cjs.stringify(chunkQH6XWSXP_cjs.esm_default(tool.inputSchema)) : void 0,
48
- outputSchema: tool.outputSchema ? chunkQH6XWSXP_cjs.stringify(chunkQH6XWSXP_cjs.esm_default(tool.outputSchema)) : void 0
48
+ inputSchema: tool.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(tool.inputSchema)) : void 0,
49
+ outputSchema: tool.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(tool.outputSchema)) : void 0
49
50
  };
50
51
  return serializedTool;
51
52
  } catch (error) {
52
- return chunkZLBRQFDD_cjs.handleError(error, "Error getting tool");
53
+ return chunkPZQDCRPV_cjs.handleError(error, "Error getting tool");
53
54
  }
54
55
  }
55
56
  function executeToolHandler(tools$1) {
@@ -58,20 +59,20 @@ function executeToolHandler(tools$1) {
58
59
  runId,
59
60
  toolId,
60
61
  data,
61
- container
62
+ runtimeContext
62
63
  }) => {
63
64
  try {
64
65
  if (!toolId) {
65
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Tool ID is required" });
66
+ throw new chunk2KZFMI6P_cjs.HTTPException(400, { message: "Tool ID is required" });
66
67
  }
67
68
  const tool = Object.values(tools$1 || {}).find((tool2) => tool2.id === toolId);
68
69
  if (!tool) {
69
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Tool not found" });
70
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Tool not found" });
70
71
  }
71
72
  if (!tool?.execute) {
72
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Tool is not executable" });
73
+ throw new chunk2KZFMI6P_cjs.HTTPException(400, { message: "Tool is not executable" });
73
74
  }
74
- chunkQN4KF3BH_cjs.validateBody({ data });
75
+ chunkCCGRCYWJ_cjs.validateBody({ data });
75
76
  if (tools.isVercelTool(tool)) {
76
77
  const result2 = await tool.execute(data);
77
78
  return result2;
@@ -80,11 +81,11 @@ function executeToolHandler(tools$1) {
80
81
  context: data,
81
82
  mastra,
82
83
  runId,
83
- container
84
+ runtimeContext
84
85
  });
85
86
  return result;
86
87
  } catch (error) {
87
- return chunkZLBRQFDD_cjs.handleError(error, "Error executing tool");
88
+ return chunkPZQDCRPV_cjs.handleError(error, "Error executing tool");
88
89
  }
89
90
  };
90
91
  }
@@ -93,29 +94,30 @@ async function executeAgentToolHandler({
93
94
  agentId,
94
95
  toolId,
95
96
  data,
96
- container
97
+ runtimeContext
97
98
  }) {
98
99
  try {
99
100
  const agent = agentId ? mastra.getAgent(agentId) : null;
100
101
  if (!agent) {
101
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Tool not found" });
102
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Tool not found" });
102
103
  }
103
- const tool = Object.values(agent?.tools || {}).find((tool2) => tool2.id === toolId);
104
+ const agentTools = await agent.getTools({ runtimeContext });
105
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
104
106
  if (!tool) {
105
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Tool not found" });
107
+ throw new chunk2KZFMI6P_cjs.HTTPException(404, { message: "Tool not found" });
106
108
  }
107
109
  if (!tool?.execute) {
108
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Tool is not executable" });
110
+ throw new chunk2KZFMI6P_cjs.HTTPException(400, { message: "Tool is not executable" });
109
111
  }
110
112
  const result = await tool.execute({
111
113
  context: data,
112
- container,
114
+ runtimeContext,
113
115
  mastra,
114
116
  runId: agentId
115
117
  });
116
118
  return result;
117
119
  } catch (error) {
118
- return chunkZLBRQFDD_cjs.handleError(error, "Error executing tool");
120
+ return chunkPZQDCRPV_cjs.handleError(error, "Error executing tool");
119
121
  }
120
122
  }
121
123
 
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkZLBRQFDD_cjs = require('./chunk-ZLBRQFDD.cjs');
4
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunkPZQDCRPV_cjs = require('./chunk-PZQDCRPV.cjs');
4
+ var chunk2KZFMI6P_cjs = require('./chunk-2KZFMI6P.cjs');
5
+ var chunk75ZPJI57_cjs = require('./chunk-75ZPJI57.cjs');
5
6
 
6
7
  // src/server/handlers/telemetry.ts
7
8
  var telemetry_exports = {};
8
- chunkFV45V6WC_cjs.__export(telemetry_exports, {
9
+ chunk75ZPJI57_cjs.__export(telemetry_exports, {
9
10
  getTelemetryHandler: () => getTelemetryHandler,
10
11
  storeTelemetryHandler: () => storeTelemetryHandler
11
12
  });
@@ -14,31 +15,33 @@ async function getTelemetryHandler({ mastra, body }) {
14
15
  const telemetry = mastra.getTelemetry();
15
16
  const storage = mastra.getStorage();
16
17
  if (!telemetry) {
17
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Telemetry is not initialized" });
18
+ throw new chunk2KZFMI6P_cjs.HTTPException(400, { message: "Telemetry is not initialized" });
18
19
  }
19
20
  if (!storage) {
20
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Storage is not initialized" });
21
+ return [];
21
22
  }
22
23
  if (!body) {
23
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Body is required" });
24
+ throw new chunk2KZFMI6P_cjs.HTTPException(400, { message: "Body is required" });
24
25
  }
25
- const { name, scope, page, perPage, attribute } = body;
26
+ const { name, scope, page, perPage, attribute, fromDate, toDate } = body;
26
27
  const attributes = attribute ? Object.fromEntries(
27
28
  (Array.isArray(attribute) ? attribute : [attribute]).map((attr) => {
28
29
  const [key, value] = attr.split(":");
29
30
  return [key, value];
30
31
  })
31
32
  ) : void 0;
32
- const traces = await storage.__getTraces({
33
+ const traces = await storage.getTraces({
33
34
  name,
34
35
  scope,
35
36
  page: Number(page ?? 0),
36
37
  perPage: Number(perPage ?? 100),
37
- attributes
38
+ attributes,
39
+ fromDate: fromDate ? new Date(fromDate) : void 0,
40
+ toDate: toDate ? new Date(toDate) : void 0
38
41
  });
39
42
  return traces;
40
43
  } catch (error2) {
41
- return chunkZLBRQFDD_cjs.handleError(error2, "Error getting telemetry");
44
+ return chunkPZQDCRPV_cjs.handleError(error2, "Error getting telemetry");
42
45
  }
43
46
  }
44
47
  async function storeTelemetryHandler({ mastra, body }) {
@@ -46,7 +49,10 @@ async function storeTelemetryHandler({ mastra, body }) {
46
49
  const storage = mastra.getStorage();
47
50
  const logger = mastra.getLogger();
48
51
  if (!storage) {
49
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Storage is not initialized" });
52
+ return {
53
+ status: "error",
54
+ message: "Storage is not initialized"
55
+ };
50
56
  }
51
57
  const now = /* @__PURE__ */ new Date();
52
58
  const items = body?.resourceSpans?.[0]?.scopeSpans;
@@ -107,7 +113,7 @@ async function storeTelemetryHandler({ mastra, body }) {
107
113
  }
108
114
  return acc;
109
115
  }, []);
110
- return storage.__batchTraceInsert({
116
+ return storage.batchTraceInsert({
111
117
  records: allSpans
112
118
  }).then(() => {
113
119
  return {