@mastra/server 0.0.0-mcp-server-deploy-20250507160341 → 0.0.0-memory-system-message-error-20250813233316

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 (226) hide show
  1. package/LICENSE.md +11 -42
  2. package/README.md +48 -135
  3. package/dist/{chunk-5YGDYMRB.cjs → chunk-4CEZIJWJ.cjs} +16 -13
  4. package/dist/chunk-4CEZIJWJ.cjs.map +1 -0
  5. package/dist/chunk-4MQU6AJN.js +83 -0
  6. package/dist/chunk-4MQU6AJN.js.map +1 -0
  7. package/dist/{chunk-QN4KF3BH.cjs → chunk-4QSNRCOT.cjs} +4 -2
  8. package/dist/chunk-4QSNRCOT.cjs.map +1 -0
  9. package/dist/chunk-4US5W7PH.cjs +120 -0
  10. package/dist/chunk-4US5W7PH.cjs.map +1 -0
  11. package/dist/chunk-5AKR33BI.js +333 -0
  12. package/dist/chunk-5AKR33BI.js.map +1 -0
  13. package/dist/chunk-7FHF55WA.js +2041 -0
  14. package/dist/chunk-7FHF55WA.js.map +1 -0
  15. package/dist/{chunk-FV45V6WC.cjs → chunk-7NADHFD2.cjs} +3 -7
  16. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  17. package/dist/chunk-BED2O446.cjs +88 -0
  18. package/dist/chunk-BED2O446.cjs.map +1 -0
  19. package/dist/chunk-BUOJL3MN.js +529 -0
  20. package/dist/chunk-BUOJL3MN.js.map +1 -0
  21. package/dist/chunk-CY4TP3FK.js +16 -0
  22. package/dist/chunk-CY4TP3FK.js.map +1 -0
  23. package/dist/chunk-EBNIUZRY.cjs +344 -0
  24. package/dist/chunk-EBNIUZRY.cjs.map +1 -0
  25. package/dist/{chunk-4JINXASC.js → chunk-G7NVCO5M.js} +7 -4
  26. package/dist/chunk-G7NVCO5M.js.map +1 -0
  27. package/dist/chunk-GX25CWC7.cjs +588 -0
  28. package/dist/chunk-GX25CWC7.cjs.map +1 -0
  29. package/dist/{chunk-Q6SHQECN.js → chunk-HWHKM67I.js} +36 -10
  30. package/dist/chunk-HWHKM67I.js.map +1 -0
  31. package/dist/{chunk-AMVOS7YB.cjs → chunk-ILCWPBYQ.cjs} +14 -8
  32. package/dist/chunk-ILCWPBYQ.cjs.map +1 -0
  33. package/dist/chunk-JGVY3KWV.cjs +334 -0
  34. package/dist/chunk-JGVY3KWV.cjs.map +1 -0
  35. package/dist/chunk-JNWFG7JP.js +476 -0
  36. package/dist/chunk-JNWFG7JP.js.map +1 -0
  37. package/dist/chunk-KXNFZXLG.cjs +484 -0
  38. package/dist/chunk-KXNFZXLG.cjs.map +1 -0
  39. package/dist/chunk-L7YG7WQH.js +151 -0
  40. package/dist/chunk-L7YG7WQH.js.map +1 -0
  41. package/dist/chunk-LRUH33B4.cjs +2044 -0
  42. package/dist/chunk-LRUH33B4.cjs.map +1 -0
  43. package/dist/{chunk-TRDNDNGQ.js → chunk-MMROOK5J.js} +4 -7
  44. package/dist/chunk-MMROOK5J.js.map +1 -0
  45. package/dist/{chunk-M56ECCHK.cjs → chunk-NCS2OXX6.cjs} +22 -19
  46. package/dist/chunk-NCS2OXX6.cjs.map +1 -0
  47. package/dist/{chunk-D3G23FP3.cjs → chunk-O4I563YW.cjs} +26 -22
  48. package/dist/chunk-O4I563YW.cjs.map +1 -0
  49. package/dist/{chunk-L7XE5QTW.js → chunk-OW4FX5TS.js} +3 -1
  50. package/dist/chunk-OW4FX5TS.js.map +1 -0
  51. package/dist/chunk-PZ5AY32C.js +9 -0
  52. package/dist/chunk-PZ5AY32C.js.map +1 -0
  53. package/dist/chunk-Q7SFCCGT.cjs +11 -0
  54. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  55. package/dist/chunk-RE4RPXT2.cjs +18 -0
  56. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  57. package/dist/chunk-RQQNZZAI.cjs +159 -0
  58. package/dist/chunk-RQQNZZAI.cjs.map +1 -0
  59. package/dist/chunk-S37KCGOR.cjs +546 -0
  60. package/dist/chunk-S37KCGOR.cjs.map +1 -0
  61. package/dist/{chunk-BPL2CBLV.js → chunk-SQ7KKIH3.js} +10 -4
  62. package/dist/chunk-SQ7KKIH3.js.map +1 -0
  63. package/dist/{chunk-3XTEV33Q.js → chunk-UVOSITKU.js} +61 -56
  64. package/dist/chunk-UVOSITKU.js.map +1 -0
  65. package/dist/{chunk-QJ3AHN64.js → chunk-Y3J45CVZ.js} +6 -3
  66. package/dist/chunk-Y3J45CVZ.js.map +1 -0
  67. package/dist/{chunk-5JNVY6DU.js → chunk-YS66MFDY.js} +9 -5
  68. package/dist/chunk-YS66MFDY.js.map +1 -0
  69. package/dist/chunk-ZKJZQN24.js +571 -0
  70. package/dist/chunk-ZKJZQN24.js.map +1 -0
  71. package/dist/index.cjs +2 -12
  72. package/dist/index.cjs.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +3 -1
  76. package/dist/index.js.map +1 -0
  77. package/dist/server/a2a/protocol.d.ts +8 -0
  78. package/dist/server/a2a/protocol.d.ts.map +1 -0
  79. package/dist/server/a2a/store.cjs +25 -0
  80. package/dist/server/a2a/store.cjs.map +1 -0
  81. package/dist/server/a2a/store.d.ts +14 -0
  82. package/dist/server/a2a/store.d.ts.map +1 -0
  83. package/dist/server/a2a/store.js +23 -0
  84. package/dist/server/a2a/store.js.map +1 -0
  85. package/dist/server/a2a/tasks.d.ts +20 -0
  86. package/dist/server/a2a/tasks.d.ts.map +1 -0
  87. package/dist/server/handlers/a2a.cjs +32 -0
  88. package/dist/server/handlers/a2a.cjs.map +1 -0
  89. package/dist/server/handlers/a2a.d.ts +68 -0
  90. package/dist/server/handlers/a2a.d.ts.map +1 -0
  91. package/dist/server/handlers/a2a.js +3 -0
  92. package/dist/server/handlers/a2a.js.map +1 -0
  93. package/dist/server/handlers/agents.cjs +21 -7
  94. package/dist/server/handlers/agents.cjs.map +1 -0
  95. package/dist/server/handlers/agents.d.ts +90 -6
  96. package/dist/server/handlers/agents.d.ts.map +1 -0
  97. package/dist/server/handlers/agents.js +3 -1
  98. package/dist/server/handlers/agents.js.map +1 -0
  99. package/dist/server/handlers/error.cjs +4 -2
  100. package/dist/server/handlers/error.cjs.map +1 -0
  101. package/dist/server/handlers/error.d.ts +2 -1
  102. package/dist/server/handlers/error.d.ts.map +1 -0
  103. package/dist/server/handlers/error.js +3 -1
  104. package/dist/server/handlers/error.js.map +1 -0
  105. package/dist/server/handlers/legacyWorkflows.cjs +48 -0
  106. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  107. package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
  108. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  109. package/dist/server/handlers/legacyWorkflows.js +3 -0
  110. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  111. package/dist/server/handlers/logs.cjs +6 -4
  112. package/dist/server/handlers/logs.cjs.map +1 -0
  113. package/dist/server/handlers/logs.d.ts +34 -3
  114. package/dist/server/handlers/logs.d.ts.map +1 -0
  115. package/dist/server/handlers/logs.js +3 -1
  116. package/dist/server/handlers/logs.js.map +1 -0
  117. package/dist/server/handlers/memory.cjs +39 -9
  118. package/dist/server/handlers/memory.cjs.map +1 -0
  119. package/dist/server/handlers/memory.d.ts +119 -8
  120. package/dist/server/handlers/memory.d.ts.map +1 -0
  121. package/dist/server/handlers/memory.js +3 -1
  122. package/dist/server/handlers/memory.js.map +1 -0
  123. package/dist/server/handlers/network.cjs +7 -5
  124. package/dist/server/handlers/network.cjs.map +1 -0
  125. package/dist/server/handlers/network.d.ts +50 -4
  126. package/dist/server/handlers/network.d.ts.map +1 -0
  127. package/dist/server/handlers/network.js +3 -1
  128. package/dist/server/handlers/network.js.map +1 -0
  129. package/dist/server/handlers/scores.cjs +32 -0
  130. package/dist/server/handlers/scores.cjs.map +1 -0
  131. package/dist/server/handlers/scores.d.ts +49 -0
  132. package/dist/server/handlers/scores.d.ts.map +1 -0
  133. package/dist/server/handlers/scores.js +3 -0
  134. package/dist/server/handlers/scores.js.map +1 -0
  135. package/dist/server/handlers/telemetry.cjs +5 -3
  136. package/dist/server/handlers/telemetry.cjs.map +1 -0
  137. package/dist/server/handlers/telemetry.d.ts +32 -2
  138. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  139. package/dist/server/handlers/telemetry.js +3 -1
  140. package/dist/server/handlers/telemetry.js.map +1 -0
  141. package/dist/server/handlers/tools.cjs +7 -5
  142. package/dist/server/handlers/tools.cjs.map +1 -0
  143. package/dist/server/handlers/tools.d.ts +21 -4
  144. package/dist/server/handlers/tools.d.ts.map +1 -0
  145. package/dist/server/handlers/tools.js +3 -1
  146. package/dist/server/handlers/tools.js.map +1 -0
  147. package/dist/server/handlers/utils.cjs +4 -2
  148. package/dist/server/handlers/utils.cjs.map +1 -0
  149. package/dist/server/handlers/utils.d.ts +2 -1
  150. package/dist/server/handlers/utils.d.ts.map +1 -0
  151. package/dist/server/handlers/utils.js +3 -1
  152. package/dist/server/handlers/utils.js.map +1 -0
  153. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  154. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  155. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  156. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  157. package/dist/server/handlers/vNextNetwork.js +213 -0
  158. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  159. package/dist/server/handlers/vector.cjs +9 -7
  160. package/dist/server/handlers/vector.cjs.map +1 -0
  161. package/dist/server/handlers/vector.d.ts +51 -6
  162. package/dist/server/handlers/vector.d.ts.map +1 -0
  163. package/dist/server/handlers/vector.js +3 -1
  164. package/dist/server/handlers/vector.js.map +1 -0
  165. package/dist/server/handlers/voice.cjs +10 -4
  166. package/dist/server/handlers/voice.cjs.map +1 -0
  167. package/dist/server/handlers/voice.d.ts +39 -3
  168. package/dist/server/handlers/voice.d.ts.map +1 -0
  169. package/dist/server/handlers/voice.js +3 -1
  170. package/dist/server/handlers/voice.js.map +1 -0
  171. package/dist/server/handlers/workflows.cjs +35 -13
  172. package/dist/server/handlers/workflows.cjs.map +1 -0
  173. package/dist/server/handlers/workflows.d.ts +88 -10
  174. package/dist/server/handlers/workflows.d.ts.map +1 -0
  175. package/dist/server/handlers/workflows.js +3 -1
  176. package/dist/server/handlers/workflows.js.map +1 -0
  177. package/dist/server/handlers.cjs +42 -30
  178. package/dist/server/handlers.cjs.map +1 -0
  179. package/dist/server/handlers.d.ts +13 -10
  180. package/dist/server/handlers.d.ts.map +1 -0
  181. package/dist/server/handlers.js +14 -10
  182. package/dist/server/handlers.js.map +1 -0
  183. package/dist/server/http-exception.d.ts +87 -0
  184. package/dist/server/http-exception.d.ts.map +1 -0
  185. package/dist/server/types.d.ts +10 -0
  186. package/dist/server/types.d.ts.map +1 -0
  187. package/package.json +31 -18
  188. package/dist/_tsup-dts-rollup.d.cts +0 -748
  189. package/dist/_tsup-dts-rollup.d.ts +0 -748
  190. package/dist/chunk-2FJURXCL.cjs +0 -213
  191. package/dist/chunk-3AHQ5RGN.js +0 -11
  192. package/dist/chunk-3EJZQ6TQ.js +0 -49
  193. package/dist/chunk-4BIX6GMY.cjs +0 -189
  194. package/dist/chunk-55HTWX4C.cjs +0 -93
  195. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  196. package/dist/chunk-74DLDQTQ.cjs +0 -36
  197. package/dist/chunk-CHFORQ7J.cjs +0 -329
  198. package/dist/chunk-FOXHTOQZ.cjs +0 -324
  199. package/dist/chunk-HAA5T7JL.js +0 -33
  200. package/dist/chunk-IQTNZSFP.js +0 -312
  201. package/dist/chunk-OMN3UI6X.js +0 -5576
  202. package/dist/chunk-RBQASTUP.js +0 -203
  203. package/dist/chunk-SKBVVI24.cjs +0 -54
  204. package/dist/chunk-Y3SV5XK4.js +0 -181
  205. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  206. package/dist/index.d.cts +0 -2
  207. package/dist/server/handlers/agents.d.cts +0 -6
  208. package/dist/server/handlers/error.d.cts +0 -1
  209. package/dist/server/handlers/logs.d.cts +0 -3
  210. package/dist/server/handlers/mcp.cjs +0 -14
  211. package/dist/server/handlers/mcp.d.cts +0 -2
  212. package/dist/server/handlers/mcp.d.ts +0 -2
  213. package/dist/server/handlers/mcp.js +0 -1
  214. package/dist/server/handlers/memory.d.cts +0 -8
  215. package/dist/server/handlers/network.d.cts +0 -4
  216. package/dist/server/handlers/telemetry.d.cts +0 -2
  217. package/dist/server/handlers/tools.d.cts +0 -4
  218. package/dist/server/handlers/utils.d.cts +0 -1
  219. package/dist/server/handlers/vNextWorkflows.cjs +0 -46
  220. package/dist/server/handlers/vNextWorkflows.d.cts +0 -10
  221. package/dist/server/handlers/vNextWorkflows.d.ts +0 -10
  222. package/dist/server/handlers/vNextWorkflows.js +0 -1
  223. package/dist/server/handlers/vector.d.cts +0 -6
  224. package/dist/server/handlers/voice.d.cts +0 -3
  225. package/dist/server/handlers/workflows.d.cts +0 -10
  226. package/dist/server/handlers.d.cts +0 -10
@@ -0,0 +1,333 @@
1
+ import { stringify, esm_default } from './chunk-7FHF55WA.js';
2
+ import { validateBody } from './chunk-OW4FX5TS.js';
3
+ import { handleError } from './chunk-CY4TP3FK.js';
4
+ import { HTTPException } from './chunk-MMROOK5J.js';
5
+ import { __export } from './chunk-PZ5AY32C.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
+ getSerializedAgentTools: () => getSerializedAgentTools,
17
+ streamGenerateHandler: () => streamGenerateHandler,
18
+ streamVNextGenerateHandler: () => streamVNextGenerateHandler,
19
+ updateAgentModelHandler: () => updateAgentModelHandler
20
+ });
21
+ async function getSerializedAgentTools(tools) {
22
+ return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
23
+ const _tool = tool;
24
+ const toolId = _tool.id ?? `tool-${key}`;
25
+ let inputSchemaForReturn = void 0;
26
+ if (_tool.inputSchema) {
27
+ if (_tool.inputSchema?.jsonSchema) {
28
+ inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);
29
+ } else {
30
+ inputSchemaForReturn = stringify(esm_default(_tool.inputSchema));
31
+ }
32
+ }
33
+ let outputSchemaForReturn = void 0;
34
+ if (_tool.outputSchema) {
35
+ if (_tool.outputSchema?.jsonSchema) {
36
+ outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);
37
+ } else {
38
+ outputSchemaForReturn = stringify(esm_default(_tool.outputSchema));
39
+ }
40
+ }
41
+ acc[key] = {
42
+ ..._tool,
43
+ id: toolId,
44
+ inputSchema: inputSchemaForReturn,
45
+ outputSchema: outputSchemaForReturn
46
+ };
47
+ return acc;
48
+ }, {});
49
+ }
50
+ async function getAgentsHandler({ mastra, runtimeContext }) {
51
+ try {
52
+ const agents = mastra.getAgents();
53
+ const serializedAgentsMap = await Promise.all(
54
+ Object.entries(agents).map(async ([id, agent]) => {
55
+ const instructions = await agent.getInstructions({ runtimeContext });
56
+ const tools = await agent.getTools({ runtimeContext });
57
+ const llm = await agent.getLLM({ runtimeContext });
58
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
59
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
60
+ const serializedAgentTools = await getSerializedAgentTools(tools);
61
+ let serializedAgentWorkflows = {};
62
+ if ("getWorkflows" in agent) {
63
+ const logger = mastra.getLogger();
64
+ try {
65
+ const workflows = await agent.getWorkflows({ runtimeContext });
66
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
67
+ return {
68
+ ...acc,
69
+ [key]: {
70
+ name: workflow.name
71
+ }
72
+ };
73
+ }, {});
74
+ } catch (error) {
75
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
76
+ }
77
+ }
78
+ return {
79
+ id,
80
+ name: agent.name,
81
+ instructions,
82
+ tools: serializedAgentTools,
83
+ workflows: serializedAgentWorkflows,
84
+ provider: llm?.getProvider(),
85
+ modelId: llm?.getModelId(),
86
+ defaultGenerateOptions,
87
+ defaultStreamOptions
88
+ };
89
+ })
90
+ );
91
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
92
+ acc[id] = rest;
93
+ return acc;
94
+ }, {});
95
+ return serializedAgents;
96
+ } catch (error) {
97
+ return handleError(error, "Error getting agents");
98
+ }
99
+ }
100
+ async function getAgentByIdHandler({
101
+ mastra,
102
+ runtimeContext,
103
+ agentId,
104
+ isPlayground = false
105
+ }) {
106
+ try {
107
+ const agent = mastra.getAgent(agentId);
108
+ if (!agent) {
109
+ throw new HTTPException(404, { message: "Agent not found" });
110
+ }
111
+ const tools = await agent.getTools({ runtimeContext });
112
+ const serializedAgentTools = await getSerializedAgentTools(tools);
113
+ let serializedAgentWorkflows = {};
114
+ if ("getWorkflows" in agent) {
115
+ const logger = mastra.getLogger();
116
+ try {
117
+ const workflows = await agent.getWorkflows({ runtimeContext });
118
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
119
+ return {
120
+ ...acc,
121
+ [key]: {
122
+ name: workflow.name,
123
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
124
+ return {
125
+ ...acc2,
126
+ [key2]: {
127
+ id: step.id,
128
+ description: step.description
129
+ }
130
+ };
131
+ }, {})
132
+ }
133
+ };
134
+ }, {});
135
+ } catch (error) {
136
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
137
+ }
138
+ }
139
+ let proxyRuntimeContext = runtimeContext;
140
+ if (isPlayground) {
141
+ proxyRuntimeContext = new Proxy(runtimeContext, {
142
+ get(target, prop) {
143
+ if (prop === "get") {
144
+ return function(key) {
145
+ const value = target.get(key);
146
+ return value ?? `<${key}>`;
147
+ };
148
+ }
149
+ return Reflect.get(target, prop);
150
+ }
151
+ });
152
+ }
153
+ const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });
154
+ const llm = await agent.getLLM({ runtimeContext });
155
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
156
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
157
+ return {
158
+ name: agent.name,
159
+ instructions,
160
+ tools: serializedAgentTools,
161
+ workflows: serializedAgentWorkflows,
162
+ provider: llm?.getProvider(),
163
+ modelId: llm?.getModelId(),
164
+ defaultGenerateOptions,
165
+ defaultStreamOptions
166
+ };
167
+ } catch (error) {
168
+ return handleError(error, "Error getting agent");
169
+ }
170
+ }
171
+ async function getEvalsByAgentIdHandler({
172
+ mastra,
173
+ runtimeContext,
174
+ agentId
175
+ }) {
176
+ try {
177
+ const agent = mastra.getAgent(agentId);
178
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "test") || [];
179
+ const instructions = await agent.getInstructions({ runtimeContext });
180
+ return {
181
+ id: agentId,
182
+ name: agent.name,
183
+ instructions,
184
+ evals
185
+ };
186
+ } catch (error) {
187
+ return handleError(error, "Error getting test evals");
188
+ }
189
+ }
190
+ async function getLiveEvalsByAgentIdHandler({
191
+ mastra,
192
+ runtimeContext,
193
+ agentId
194
+ }) {
195
+ try {
196
+ const agent = mastra.getAgent(agentId);
197
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "live") || [];
198
+ const instructions = await agent.getInstructions({ runtimeContext });
199
+ return {
200
+ id: agentId,
201
+ name: agent.name,
202
+ instructions,
203
+ evals
204
+ };
205
+ } catch (error) {
206
+ return handleError(error, "Error getting live evals");
207
+ }
208
+ }
209
+ async function generateHandler({
210
+ mastra,
211
+ runtimeContext,
212
+ agentId,
213
+ body,
214
+ abortSignal
215
+ }) {
216
+ try {
217
+ const agent = mastra.getAgent(agentId);
218
+ if (!agent) {
219
+ throw new HTTPException(404, { message: "Agent not found" });
220
+ }
221
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
222
+ const finalResourceId = resourceId ?? resourceid;
223
+ const finalRuntimeContext = new RuntimeContext([
224
+ ...Array.from(runtimeContext.entries()),
225
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
226
+ ]);
227
+ validateBody({ messages });
228
+ const result = await agent.generate(messages, {
229
+ ...rest,
230
+ // @ts-expect-error TODO fix types
231
+ resourceId: finalResourceId,
232
+ runtimeContext: finalRuntimeContext,
233
+ signal: abortSignal
234
+ });
235
+ return result;
236
+ } catch (error) {
237
+ return handleError(error, "Error generating from agent");
238
+ }
239
+ }
240
+ async function streamGenerateHandler({
241
+ mastra,
242
+ runtimeContext,
243
+ agentId,
244
+ body,
245
+ abortSignal
246
+ }) {
247
+ try {
248
+ const agent = mastra.getAgent(agentId);
249
+ if (!agent) {
250
+ throw new HTTPException(404, { message: "Agent not found" });
251
+ }
252
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
253
+ const finalResourceId = resourceId ?? resourceid;
254
+ const finalRuntimeContext = new RuntimeContext([
255
+ ...Array.from(runtimeContext.entries()),
256
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
257
+ ]);
258
+ validateBody({ messages });
259
+ const streamResult = await agent.stream(messages, {
260
+ ...rest,
261
+ // @ts-expect-error TODO fix types
262
+ resourceId: finalResourceId,
263
+ runtimeContext: finalRuntimeContext,
264
+ signal: abortSignal
265
+ });
266
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
267
+ headers: {
268
+ "Transfer-Encoding": "chunked"
269
+ }
270
+ }) : streamResult.toDataStreamResponse({
271
+ sendUsage: true,
272
+ sendReasoning: true,
273
+ getErrorMessage: (error) => {
274
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
275
+ },
276
+ headers: {
277
+ "Transfer-Encoding": "chunked"
278
+ }
279
+ });
280
+ return streamResponse;
281
+ } catch (error) {
282
+ return handleError(error, "error streaming agent response");
283
+ }
284
+ }
285
+ function streamVNextGenerateHandler({
286
+ mastra,
287
+ runtimeContext,
288
+ agentId,
289
+ body,
290
+ abortSignal
291
+ }) {
292
+ try {
293
+ const agent = mastra.getAgent(agentId);
294
+ if (!agent) {
295
+ throw new HTTPException(404, { message: "Agent not found" });
296
+ }
297
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
298
+ const finalRuntimeContext = new RuntimeContext([
299
+ ...Array.from(runtimeContext.entries()),
300
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
301
+ ]);
302
+ validateBody({ messages });
303
+ const streamResult = agent.streamVNext(messages, {
304
+ ...rest,
305
+ runtimeContext: finalRuntimeContext,
306
+ abortSignal
307
+ });
308
+ return streamResult;
309
+ } catch (error) {
310
+ return handleError(error, "error streaming agent response");
311
+ }
312
+ }
313
+ function updateAgentModelHandler({
314
+ mastra,
315
+ agentId,
316
+ body
317
+ }) {
318
+ try {
319
+ const agent = mastra.getAgent(agentId);
320
+ if (!agent) {
321
+ throw new HTTPException(404, { message: "Agent not found" });
322
+ }
323
+ const { model } = body;
324
+ agent.__updateModel({ model });
325
+ return { message: "Agent model updated" };
326
+ } catch (error) {
327
+ return handleError(error, "error updating agent model");
328
+ }
329
+ }
330
+
331
+ export { agents_exports, generateHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, getSerializedAgentTools, streamGenerateHandler, streamVNextGenerateHandler, updateAgentModelHandler };
332
+ //# sourceMappingURL=chunk-5AKR33BI.js.map
333
+ //# sourceMappingURL=chunk-5AKR33BI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["acc","key"],"mappings":";;;;;;;;AAAA,IAAA,cAAA,GAAA;AAAA,QAAA,CAAA,cAAA,EAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,4BAAA,EAAA,MAAA,4BAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,0BAAA,EAAA,MAAA,0BAAA;AAAA,EAAA,uBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAgBA,eAAsB,wBAAwB,KAAA,EAA4B;AACxE,EAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,KAAA,IAAS,EAAE,CAAA,CAAE,MAAA,CAAY,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,IAAI,CAAA,KAAM;AACnE,IAAA,MAAM,KAAA,GAAQ,IAAA;AAEd,IAAA,MAAM,MAAA,GAAS,KAAA,CAAM,EAAA,IAAM,CAAA,KAAA,EAAQ,GAAG,CAAA,CAAA;AAEtC,IAAA,IAAI,oBAAA,GAAuB,MAAA;AAE3B,IAAA,IAAI,MAAM,WAAA,EAAa;AACrB,MAAA,IAAI,KAAA,CAAM,aAAa,UAAA,EAAY;AACjC,QAAA,oBAAA,GAAuB,SAAA,CAAU,KAAA,CAAM,WAAA,CAAY,UAAU,CAAA;AAAA,MAC/D,CAAA,MAAO;AACL,QAAA,oBAAA,GAAuB,SAAA,CAAU,WAAA,CAAgB,KAAA,CAAM,WAAW,CAAC,CAAA;AAAA,MACrE;AAAA,IACF;AAEA,IAAA,IAAI,qBAAA,GAAwB,MAAA;AAE5B,IAAA,IAAI,MAAM,YAAA,EAAc;AACtB,MAAA,IAAI,KAAA,CAAM,cAAc,UAAA,EAAY;AAClC,QAAA,qBAAA,GAAwB,SAAA,CAAU,KAAA,CAAM,YAAA,CAAa,UAAU,CAAA;AAAA,MACjE,CAAA,MAAO;AACL,QAAA,qBAAA,GAAwB,SAAA,CAAU,WAAA,CAAgB,KAAA,CAAM,YAAY,CAAC,CAAA;AAAA,MACvE;AAAA,IACF;AAEA,IAAA,GAAA,CAAI,GAAG,CAAA,GAAI;AAAA,MACT,GAAG,KAAA;AAAA,MACH,EAAA,EAAI,MAAA;AAAA,MACJ,WAAA,EAAa,oBAAA;AAAA,MACb,YAAA,EAAc;AAAA,KAChB;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AACP;AAGA,eAAsB,gBAAA,CAAiB,EAAE,MAAA,EAAQ,cAAA,EAAe,EAAiD;AAC/G,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAEhC,IAAA,MAAM,mBAAA,GAAsB,MAAM,OAAA,CAAQ,GAAA;AAAA,MACxC,MAAA,CAAO,QAAQ,MAAM,CAAA,CAAE,IAAI,OAAO,CAAC,EAAA,EAAI,KAAK,CAAA,KAAM;AAChD,QAAA,MAAM,eAAe,MAAM,KAAA,CAAM,eAAA,CAAgB,EAAE,gBAAgB,CAAA;AACnE,QAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AACrD,QAAA,MAAM,MAAM,MAAM,KAAA,CAAM,MAAA,CAAO,EAAE,gBAAgB,CAAA;AACjD,QAAA,MAAM,yBAAyB,MAAM,KAAA,CAAM,yBAAA,CAA0B,EAAE,gBAAgB,CAAA;AACvF,QAAA,MAAM,uBAAuB,MAAM,KAAA,CAAM,uBAAA,CAAwB,EAAE,gBAAgB,CAAA;AAEnF,QAAA,MAAM,oBAAA,GAAuB,MAAM,uBAAA,CAAwB,KAAK,CAAA;AAEhE,QAAA,IAAI,2BAA2B,EAAC;AAEhC,QAAA,IAAI,kBAAkB,KAAA,EAAO;AAC3B,UAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,UAAA,IAAI;AACF,YAAA,MAAM,YAAY,MAAM,KAAA,CAAM,YAAA,CAAa,EAAE,gBAAgB,CAAA;AAC7D,YAAA,wBAAA,GAA2B,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA,CAAE,MAAA,CAAY,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAC/F,cAAA,OAAO;AAAA,gBACL,GAAG,GAAA;AAAA,gBACH,CAAC,GAAG,GAAG;AAAA,kBACL,MAAM,QAAA,CAAS;AAAA;AACjB,eACF;AAAA,YACF,CAAA,EAAG,EAAE,CAAA;AAAA,UACP,SAAS,KAAA,EAAO;AACd,YAAA,MAAA,CAAO,MAAM,mCAAA,EAAqC,EAAE,WAAW,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,UACpF;AAAA,QACF;AAEA,QAAA,OAAO;AAAA,UACL,EAAA;AAAA,UACA,MAAM,KAAA,CAAM,IAAA;AAAA,UACZ,YAAA;AAAA,UACA,KAAA,EAAO,oBAAA;AAAA,UACP,SAAA,EAAW,wBAAA;AAAA,UACX,QAAA,EAAU,KAAK,WAAA,EAAY;AAAA,UAC3B,OAAA,EAAS,KAAK,UAAA,EAAW;AAAA,UACzB,sBAAA;AAAA,UACA;AAAA,SACF;AAAA,MACF,CAAC;AAAA,KACH;AAEA,IAAA,MAAM,gBAAA,GAAmB,oBAAoB,MAAA,CAE3C,CAAC,KAAK,EAAE,EAAA,EAAI,GAAG,IAAA,EAAK,KAAM;AAC1B,MAAA,GAAA,CAAI,EAAE,CAAA,GAAI,IAAA;AACV,MAAA,OAAO,GAAA;AAAA,IACT,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,OAAO,gBAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,EAClD;AACF;AAEA,eAAsB,mBAAA,CAAoB;AAAA,EACxC,MAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA,GAAe;AACjB,CAAA,EAA0F;AACxF,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAErD,IAAA,MAAM,oBAAA,GAAuB,MAAM,uBAAA,CAAwB,KAAK,CAAA;AAEhE,IAAA,IAAI,2BAA2B,EAAC;AAEhC,IAAA,IAAI,kBAAkB,KAAA,EAAO;AAC3B,MAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,MAAA,IAAI;AACF,QAAA,MAAM,YAAY,MAAM,KAAA,CAAM,YAAA,CAAa,EAAE,gBAAgB,CAAA;AAE7D,QAAA,wBAAA,GAA2B,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA,CAAE,MAAA,CAAY,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAC/F,UAAA,OAAO;AAAA,YACL,GAAG,GAAA;AAAA,YACH,CAAC,GAAG,GAAG;AAAA,cACL,MAAM,QAAA,CAAS,IAAA;AAAA,cACf,KAAA,EAAO,MAAA,CAAO,OAAA,CAAQ,QAAA,CAAS,KAAK,CAAA,CAAE,MAAA,CAAY,CAACA,IAAAA,EAAK,CAACC,IAAAA,EAAK,IAAI,CAAA,KAAM;AACtE,gBAAA,OAAO;AAAA,kBACL,GAAGD,IAAAA;AAAA,kBACH,CAACC,IAAG,GAAG;AAAA,oBACL,IAAI,IAAA,CAAK,EAAA;AAAA,oBACT,aAAa,IAAA,CAAK;AAAA;AACpB,iBACF;AAAA,cACF,CAAA,EAAG,EAAE;AAAA;AACP,WACF;AAAA,QACF,CAAA,EAAG,EAAE,CAAA;AAAA,MACP,SAAS,KAAA,EAAO;AACd,QAAA,MAAA,CAAO,MAAM,mCAAA,EAAqC,EAAE,WAAW,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,MACpF;AAAA,IACF;AAEA,IAAA,IAAI,mBAAA,GAAsB,cAAA;AAC1B,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,mBAAA,GAAsB,IAAI,MAAM,cAAA,EAAgB;AAAA,QAC9C,GAAA,CAAI,QAAQ,IAAA,EAAM;AAChB,UAAA,IAAI,SAAS,KAAA,EAAO;AAClB,YAAA,OAAO,SAAU,GAAA,EAAa;AAC5B,cAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,GAAA,CAAI,GAAG,CAAA;AAC5B,cAAA,OAAO,KAAA,IAAS,IAAI,GAAG,CAAA,CAAA,CAAA;AAAA,YACzB,CAAA;AAAA,UACF;AACA,UAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,IAAI,CAAA;AAAA,QACjC;AAAA,OACD,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,eAAe,MAAM,KAAA,CAAM,gBAAgB,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AACxF,IAAA,MAAM,MAAM,MAAM,KAAA,CAAM,MAAA,CAAO,EAAE,gBAAgB,CAAA;AACjD,IAAA,MAAM,yBAAyB,MAAM,KAAA,CAAM,0BAA0B,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AAC5G,IAAA,MAAM,uBAAuB,MAAM,KAAA,CAAM,wBAAwB,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AAExG,IAAA,OAAO;AAAA,MACL,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAA;AAAA,MACA,KAAA,EAAO,oBAAA;AAAA,MACP,SAAA,EAAW,wBAAA;AAAA,MACX,QAAA,EAAU,KAAK,WAAA,EAAY;AAAA,MAC3B,OAAA,EAAS,KAAK,UAAA,EAAW;AAAA,MACzB,sBAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,qBAAqB,CAAA;AAAA,EACjD;AACF;AAEA,eAAsB,wBAAA,CAAyB;AAAA,EAC7C,MAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAkE;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AACrC,IAAA,MAAM,KAAA,GAAS,MAAM,MAAA,CAAO,UAAA,EAAW,EAAG,sBAAsB,KAAA,CAAM,IAAA,EAAM,MAAM,CAAA,IAAM,EAAC;AACzF,IAAA,MAAM,eAAe,MAAM,KAAA,CAAM,eAAA,CAAgB,EAAE,gBAAgB,CAAA;AACnE,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,OAAA;AAAA,MACJ,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,EACtD;AACF;AAEA,eAAsB,4BAAA,CAA6B;AAAA,EACjD,MAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAkE;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AACrC,IAAA,MAAM,KAAA,GAAS,MAAM,MAAA,CAAO,UAAA,EAAW,EAAG,sBAAsB,KAAA,CAAM,IAAA,EAAM,MAAM,CAAA,IAAM,EAAC;AACzF,IAAA,MAAM,eAAe,MAAM,KAAA,CAAM,eAAA,CAAgB,EAAE,gBAAgB,CAAA;AAEnE,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,OAAA;AAAA,MACJ,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,YAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,EACtD;AACF;AAEA,eAAsB,eAAA,CAAgB;AAAA,EACpC,MAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EASG;AACD,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,EAAE,UAAU,UAAA,EAAY,UAAA,EAAY,gBAAgB,mBAAA,EAAqB,GAAG,MAAK,GAAI,IAAA;AAE3F,IAAA,MAAM,kBAAkB,UAAA,IAAc,UAAA;AAEtC,IAAA,MAAM,mBAAA,GAAsB,IAAI,cAAA,CAAwC;AAAA,MACtE,GAAG,KAAA,CAAM,IAAA,CAAK,cAAA,CAAe,SAAS,CAAA;AAAA,MACtC,GAAG,MAAM,IAAA,CAAK,MAAA,CAAO,QAAQ,mBAAA,IAAuB,EAAE,CAAC;AAAA,KACxD,CAAA;AAED,IAAA,YAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,IAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,QAAA,CAAS,QAAA,EAAU;AAAA,MAC5C,GAAG,IAAA;AAAA;AAAA,MAEH,UAAA,EAAY,eAAA;AAAA,MACZ,cAAA,EAAgB,mBAAA;AAAA,MAChB,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,EACzD;AACF;AAEA,eAAsB,qBAAA,CAAsB;AAAA,EAC1C,MAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EASkC;AAChC,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,EAAE,UAAU,UAAA,EAAY,UAAA,EAAY,gBAAgB,mBAAA,EAAqB,GAAG,MAAK,GAAI,IAAA;AAE3F,IAAA,MAAM,kBAAkB,UAAA,IAAc,UAAA;AAEtC,IAAA,MAAM,mBAAA,GAAsB,IAAI,cAAA,CAAwC;AAAA,MACtE,GAAG,KAAA,CAAM,IAAA,CAAK,cAAA,CAAe,SAAS,CAAA;AAAA,MACtC,GAAG,MAAM,IAAA,CAAK,MAAA,CAAO,QAAQ,mBAAA,IAAuB,EAAE,CAAC;AAAA,KACxD,CAAA;AAED,IAAA,YAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,IAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,MAAA,CAAO,QAAA,EAAU;AAAA,MAChD,GAAG,IAAA;AAAA;AAAA,MAEH,UAAA,EAAY,eAAA;AAAA,MACZ,cAAA,EAAgB,mBAAA;AAAA,MAChB,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,MAAA,GACxB,YAAA,CAAa,oBAAA,CAAqB;AAAA,MAChC,OAAA,EAAS;AAAA,QACP,mBAAA,EAAqB;AAAA;AACvB,KACD,CAAA,GACD,YAAA,CAAa,oBAAA,CAAqB;AAAA,MAChC,SAAA,EAAW,IAAA;AAAA,MACX,aAAA,EAAe,IAAA;AAAA,MACf,eAAA,EAAiB,CAAC,KAAA,KAAe;AAC/B,QAAA,OAAO,CAAA,iDAAA,EAAoD,iBAAiB,KAAA,GAAQ,KAAA,CAAM,UAAU,IAAA,CAAK,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,MAC3H,CAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,mBAAA,EAAqB;AAAA;AACvB,KACD,CAAA;AAEL,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,EAC5D;AACF;AAEO,SAAS,0BAAA,CAA2B;AAAA,EACzC,MAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAOqC;AACnC,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,EAAE,QAAA,EAAU,cAAA,EAAgB,mBAAA,EAAqB,GAAG,MAAK,GAAI,IAAA;AACnE,IAAA,MAAM,mBAAA,GAAsB,IAAI,cAAA,CAAwC;AAAA,MACtE,GAAG,KAAA,CAAM,IAAA,CAAK,cAAA,CAAe,SAAS,CAAA;AAAA,MACtC,GAAG,MAAM,IAAA,CAAK,MAAA,CAAO,QAAQ,mBAAA,IAAuB,EAAE,CAAC;AAAA,KACxD,CAAA;AAED,IAAA,YAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,IAAA,MAAM,YAAA,GAAe,KAAA,CAAM,WAAA,CAAY,QAAA,EAAU;AAAA,MAC/C,GAAG,IAAA;AAAA,MACH,cAAA,EAAgB,mBAAA;AAAA,MAChB;AAAA,KACD,CAAA;AAED,IAAA,OAAO,YAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,EAC5D;AACF;AAEO,SAAS,uBAAA,CAAwB;AAAA,EACtC,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAKwB;AACtB,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,EAAE,OAAM,GAAI,IAAA;AAElB,IAAA,KAAA,CAAM,aAAA,CAAc,EAAE,KAAA,EAAO,CAAA;AAE7B,IAAA,OAAO,EAAE,SAAS,qBAAA,EAAsB;AAAA,EAC1C,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,4BAA4B,CAAA;AAAA,EACxD;AACF","file":"chunk-5AKR33BI.js","sourcesContent":["import type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { 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\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 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\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 return {\n id,\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\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\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\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\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\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 return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\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 async function generateHandler({\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 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 // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n signal: 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 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 // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n signal: abortSignal,\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 };\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 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 });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n model: MastraLanguageModel;\n };\n}): { 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 { model } = body;\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"]}