@mastra/server 0.0.0-vnext-inngest-20250508131921 → 0.0.0-vnext-20251104230439

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 (269) hide show
  1. package/CHANGELOG.md +4403 -0
  2. package/LICENSE.md +11 -42
  3. package/README.md +1 -6
  4. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  5. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  6. package/dist/chunk-46Z2KDQL.js +124 -0
  7. package/dist/chunk-46Z2KDQL.js.map +1 -0
  8. package/dist/{chunk-FV45V6WC.cjs → chunk-64ITUOXI.cjs} +3 -7
  9. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  10. package/dist/{chunk-TRDNDNGQ.js → chunk-6QWQZI4Q.js} +4 -7
  11. package/dist/chunk-6QWQZI4Q.js.map +1 -0
  12. package/dist/chunk-73PAWDM5.js +83 -0
  13. package/dist/chunk-73PAWDM5.js.map +1 -0
  14. package/dist/chunk-AEVI2HIU.cjs +651 -0
  15. package/dist/chunk-AEVI2HIU.cjs.map +1 -0
  16. package/dist/chunk-ALOLTNSO.js +477 -0
  17. package/dist/chunk-ALOLTNSO.js.map +1 -0
  18. package/dist/chunk-B6NK4KI5.cjs +128 -0
  19. package/dist/chunk-B6NK4KI5.cjs.map +1 -0
  20. package/dist/chunk-BANGX6SC.cjs +200 -0
  21. package/dist/chunk-BANGX6SC.cjs.map +1 -0
  22. package/dist/chunk-BHQH5QXD.cjs +172 -0
  23. package/dist/chunk-BHQH5QXD.cjs.map +1 -0
  24. package/dist/chunk-BTWIR2B7.cjs +28 -0
  25. package/dist/chunk-BTWIR2B7.cjs.map +1 -0
  26. package/dist/chunk-DNUO33HF.js +129 -0
  27. package/dist/chunk-DNUO33HF.js.map +1 -0
  28. package/dist/chunk-FKZVCLOY.js +527 -0
  29. package/dist/chunk-FKZVCLOY.js.map +1 -0
  30. package/dist/chunk-GTZOYEAU.cjs +130 -0
  31. package/dist/chunk-GTZOYEAU.cjs.map +1 -0
  32. package/dist/chunk-GU4EWMZB.cjs +769 -0
  33. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  34. package/dist/chunk-IGOWG5V5.js +192 -0
  35. package/dist/chunk-IGOWG5V5.js.map +1 -0
  36. package/dist/chunk-JIIVA4BA.cjs +23087 -0
  37. package/dist/chunk-JIIVA4BA.cjs.map +1 -0
  38. package/dist/chunk-JO2AZFJN.js +165 -0
  39. package/dist/chunk-JO2AZFJN.js.map +1 -0
  40. package/dist/chunk-JZ65BJ6H.cjs +678 -0
  41. package/dist/chunk-JZ65BJ6H.cjs.map +1 -0
  42. package/dist/chunk-KCP6I5F3.js +23047 -0
  43. package/dist/chunk-KCP6I5F3.js.map +1 -0
  44. package/dist/{chunk-4JINXASC.js → chunk-KWH5QBXP.js} +7 -4
  45. package/dist/chunk-KWH5QBXP.js.map +1 -0
  46. package/dist/chunk-LF2ZLOFP.js +767 -0
  47. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  48. package/dist/{chunk-Q6SHQECN.js → chunk-LPCK5MAF.js} +47 -13
  49. package/dist/chunk-LPCK5MAF.js.map +1 -0
  50. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  51. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  52. package/dist/chunk-LWLSQ2W4.cjs +133 -0
  53. package/dist/chunk-LWLSQ2W4.cjs.map +1 -0
  54. package/dist/chunk-O7I5CWRX.cjs +44 -0
  55. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  56. package/dist/chunk-PPMIB3FQ.cjs +88 -0
  57. package/dist/chunk-PPMIB3FQ.cjs.map +1 -0
  58. package/dist/chunk-PR4QN5HX.js +39 -0
  59. package/dist/chunk-PR4QN5HX.js.map +1 -0
  60. package/dist/chunk-QFGNUBOA.cjs +543 -0
  61. package/dist/chunk-QFGNUBOA.cjs.map +1 -0
  62. package/dist/chunk-QU6N55W6.cjs +256 -0
  63. package/dist/chunk-QU6N55W6.cjs.map +1 -0
  64. package/dist/chunk-R6OQFR47.js +630 -0
  65. package/dist/chunk-R6OQFR47.js.map +1 -0
  66. package/dist/chunk-RQK4FQUD.js +1012 -0
  67. package/dist/chunk-RQK4FQUD.js.map +1 -0
  68. package/dist/{chunk-M56ECCHK.cjs → chunk-S54HNARD.cjs} +22 -19
  69. package/dist/chunk-S54HNARD.cjs.map +1 -0
  70. package/dist/chunk-SHWNNZBL.js +254 -0
  71. package/dist/chunk-SHWNNZBL.js.map +1 -0
  72. package/dist/{chunk-L7XE5QTW.js → chunk-SZIFSF4T.js} +11 -2
  73. package/dist/chunk-SZIFSF4T.js.map +1 -0
  74. package/dist/chunk-TOCYBDP2.js +46 -0
  75. package/dist/chunk-TOCYBDP2.js.map +1 -0
  76. package/dist/chunk-UXGQZUYZ.js +16 -0
  77. package/dist/chunk-UXGQZUYZ.js.map +1 -0
  78. package/dist/chunk-V5WWQN7P.cjs +18 -0
  79. package/dist/chunk-V5WWQN7P.cjs.map +1 -0
  80. package/dist/chunk-VYR3SAFM.js +658 -0
  81. package/dist/chunk-VYR3SAFM.js.map +1 -0
  82. package/dist/chunk-X6C7BUWN.cjs +48 -0
  83. package/dist/chunk-X6C7BUWN.cjs.map +1 -0
  84. package/dist/chunk-XXGID4PQ.cjs +485 -0
  85. package/dist/chunk-XXGID4PQ.cjs.map +1 -0
  86. package/dist/chunk-ZULZ2752.js +2774 -0
  87. package/dist/chunk-ZULZ2752.js.map +1 -0
  88. package/dist/dist-4MVGNSRL.cjs +1150 -0
  89. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  90. package/dist/dist-FZYCV3VB.cjs +940 -0
  91. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  92. package/dist/dist-G2BYZJOC.cjs +928 -0
  93. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  94. package/dist/dist-P4MXBQ3U.cjs +16 -0
  95. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  96. package/dist/dist-PQZUVLPC.js +937 -0
  97. package/dist/dist-PQZUVLPC.js.map +1 -0
  98. package/dist/dist-R7WYX6LC.js +925 -0
  99. package/dist/dist-R7WYX6LC.js.map +1 -0
  100. package/dist/dist-RFMYFILX.cjs +764 -0
  101. package/dist/dist-RFMYFILX.cjs.map +1 -0
  102. package/dist/dist-X7XR3M3Z.js +1147 -0
  103. package/dist/dist-X7XR3M3Z.js.map +1 -0
  104. package/dist/dist-XVBSOGFK.js +761 -0
  105. package/dist/dist-XVBSOGFK.js.map +1 -0
  106. package/dist/dist-YREX2TJT.js +3 -0
  107. package/dist/dist-YREX2TJT.js.map +1 -0
  108. package/dist/index.cjs +6 -0
  109. package/dist/index.cjs.map +1 -0
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +5 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/server/a2a/protocol.d.ts +8 -0
  115. package/dist/server/a2a/protocol.d.ts.map +1 -0
  116. package/dist/server/a2a/store.cjs +25 -0
  117. package/dist/server/a2a/store.cjs.map +1 -0
  118. package/dist/server/a2a/store.d.ts +14 -0
  119. package/dist/server/a2a/store.d.ts.map +1 -0
  120. package/dist/server/a2a/store.js +23 -0
  121. package/dist/server/a2a/store.js.map +1 -0
  122. package/dist/server/a2a/tasks.d.ts +20 -0
  123. package/dist/server/a2a/tasks.d.ts.map +1 -0
  124. package/dist/server/handlers/a2a.cjs +32 -0
  125. package/dist/server/handlers/a2a.cjs.map +1 -0
  126. package/dist/server/handlers/a2a.d.ts +68 -0
  127. package/dist/server/handlers/a2a.d.ts.map +1 -0
  128. package/dist/server/handlers/a2a.js +3 -0
  129. package/dist/server/handlers/a2a.js.map +1 -0
  130. package/dist/server/handlers/agent-builder.cjs +84 -0
  131. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  132. package/dist/server/handlers/agent-builder.d.ts +91 -0
  133. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  134. package/dist/server/handlers/agent-builder.js +3 -0
  135. package/dist/server/handlers/agent-builder.js.map +1 -0
  136. package/dist/server/handlers/agents.cjs +60 -10
  137. package/dist/server/handlers/agents.cjs.map +1 -0
  138. package/dist/server/handlers/agents.d.ts +194 -6
  139. package/dist/server/handlers/agents.d.ts.map +1 -0
  140. package/dist/server/handlers/agents.js +3 -1
  141. package/dist/server/handlers/agents.js.map +1 -0
  142. package/dist/server/handlers/error.cjs +4 -2
  143. package/dist/server/handlers/error.cjs.map +1 -0
  144. package/dist/server/handlers/error.d.ts +2 -1
  145. package/dist/server/handlers/error.d.ts.map +1 -0
  146. package/dist/server/handlers/error.js +3 -1
  147. package/dist/server/handlers/error.js.map +1 -0
  148. package/dist/server/handlers/logs.cjs +9 -7
  149. package/dist/server/handlers/logs.cjs.map +1 -0
  150. package/dist/server/handlers/logs.d.ts +34 -3
  151. package/dist/server/handlers/logs.d.ts.map +1 -0
  152. package/dist/server/handlers/logs.js +3 -1
  153. package/dist/server/handlers/logs.js.map +1 -0
  154. package/dist/server/handlers/memory.cjs +36 -10
  155. package/dist/server/handlers/memory.cjs.map +1 -0
  156. package/dist/server/handlers/memory.d.ts +116 -8
  157. package/dist/server/handlers/memory.d.ts.map +1 -0
  158. package/dist/server/handlers/memory.js +3 -1
  159. package/dist/server/handlers/memory.js.map +1 -0
  160. package/dist/server/handlers/observability.cjs +24 -0
  161. package/dist/server/handlers/observability.cjs.map +1 -0
  162. package/dist/server/handlers/observability.d.ts +49 -0
  163. package/dist/server/handlers/observability.d.ts.map +1 -0
  164. package/dist/server/handlers/observability.js +3 -0
  165. package/dist/server/handlers/observability.js.map +1 -0
  166. package/dist/server/handlers/scores.cjs +32 -0
  167. package/dist/server/handlers/scores.cjs.map +1 -0
  168. package/dist/server/handlers/scores.d.ts +152 -0
  169. package/dist/server/handlers/scores.d.ts.map +1 -0
  170. package/dist/server/handlers/scores.js +3 -0
  171. package/dist/server/handlers/scores.js.map +1 -0
  172. package/dist/server/handlers/tools.cjs +12 -6
  173. package/dist/server/handlers/tools.cjs.map +1 -0
  174. package/dist/server/handlers/tools.d.ts +25 -4
  175. package/dist/server/handlers/tools.d.ts.map +1 -0
  176. package/dist/server/handlers/tools.js +3 -1
  177. package/dist/server/handlers/tools.js.map +1 -0
  178. package/dist/server/handlers/utils.cjs +8 -2
  179. package/dist/server/handlers/utils.cjs.map +1 -0
  180. package/dist/server/handlers/utils.d.ts +8 -1
  181. package/dist/server/handlers/utils.d.ts.map +1 -0
  182. package/dist/server/handlers/utils.js +3 -1
  183. package/dist/server/handlers/utils.js.map +1 -0
  184. package/dist/server/handlers/vector.cjs +9 -7
  185. package/dist/server/handlers/vector.cjs.map +1 -0
  186. package/dist/server/handlers/vector.d.ts +51 -6
  187. package/dist/server/handlers/vector.d.ts.map +1 -0
  188. package/dist/server/handlers/vector.js +3 -1
  189. package/dist/server/handlers/vector.js.map +1 -0
  190. package/dist/server/handlers/voice.cjs +10 -4
  191. package/dist/server/handlers/voice.cjs.map +1 -0
  192. package/dist/server/handlers/voice.d.ts +41 -3
  193. package/dist/server/handlers/voice.d.ts.map +1 -0
  194. package/dist/server/handlers/voice.js +3 -1
  195. package/dist/server/handlers/voice.js.map +1 -0
  196. package/dist/server/handlers/workflows.cjs +54 -16
  197. package/dist/server/handlers/workflows.cjs.map +1 -0
  198. package/dist/server/handlers/workflows.d.ts +94 -10
  199. package/dist/server/handlers/workflows.d.ts.map +1 -0
  200. package/dist/server/handlers/workflows.js +3 -1
  201. package/dist/server/handlers/workflows.js.map +1 -0
  202. package/dist/server/handlers.cjs +37 -30
  203. package/dist/server/handlers.cjs.map +1 -0
  204. package/dist/server/handlers.d.ts +12 -10
  205. package/dist/server/handlers.d.ts.map +1 -0
  206. package/dist/server/handlers.js +13 -10
  207. package/dist/server/handlers.js.map +1 -0
  208. package/dist/server/http-exception.d.ts +82 -0
  209. package/dist/server/http-exception.d.ts.map +1 -0
  210. package/dist/server/types.d.ts +10 -0
  211. package/dist/server/types.d.ts.map +1 -0
  212. package/dist/server/utils.d.ts +44 -0
  213. package/dist/server/utils.d.ts.map +1 -0
  214. package/dist/token-375W3LEI.cjs +64 -0
  215. package/dist/token-375W3LEI.cjs.map +1 -0
  216. package/dist/token-C3IMNCC4.js +62 -0
  217. package/dist/token-C3IMNCC4.js.map +1 -0
  218. package/dist/token-util-CV3RRG6K.cjs +9 -0
  219. package/dist/token-util-CV3RRG6K.cjs.map +1 -0
  220. package/dist/token-util-E5QO2RCL.js +7 -0
  221. package/dist/token-util-E5QO2RCL.js.map +1 -0
  222. package/package.json +43 -19
  223. package/dist/_tsup-dts-rollup.d.cts +0 -670
  224. package/dist/_tsup-dts-rollup.d.ts +0 -670
  225. package/dist/chunk-2FJURXCL.cjs +0 -213
  226. package/dist/chunk-3AHQ5RGN.js +0 -11
  227. package/dist/chunk-3EJZQ6TQ.js +0 -49
  228. package/dist/chunk-3XTEV33Q.js +0 -317
  229. package/dist/chunk-55HTWX4C.cjs +0 -93
  230. package/dist/chunk-5JNVY6DU.js +0 -120
  231. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  232. package/dist/chunk-5YGDYMRB.cjs +0 -147
  233. package/dist/chunk-6Q7UXAYJ.cjs +0 -198
  234. package/dist/chunk-AMVOS7YB.cjs +0 -141
  235. package/dist/chunk-BPL2CBLV.js +0 -137
  236. package/dist/chunk-CHFORQ7J.cjs +0 -329
  237. package/dist/chunk-D3G23FP3.cjs +0 -126
  238. package/dist/chunk-GVBJ5I2S.js +0 -190
  239. package/dist/chunk-M2RXDCPV.cjs +0 -324
  240. package/dist/chunk-OMN3UI6X.js +0 -5576
  241. package/dist/chunk-OWNA6I2H.js +0 -312
  242. package/dist/chunk-QJ3AHN64.js +0 -141
  243. package/dist/chunk-QN4KF3BH.cjs +0 -18
  244. package/dist/chunk-RBQASTUP.js +0 -203
  245. package/dist/chunk-SKBVVI24.cjs +0 -54
  246. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  247. package/dist/index.d.cts +0 -1
  248. package/dist/server/handlers/agents.d.cts +0 -6
  249. package/dist/server/handlers/error.d.cts +0 -1
  250. package/dist/server/handlers/logs.d.cts +0 -3
  251. package/dist/server/handlers/memory.d.cts +0 -8
  252. package/dist/server/handlers/network.cjs +0 -22
  253. package/dist/server/handlers/network.d.cts +0 -4
  254. package/dist/server/handlers/network.d.ts +0 -4
  255. package/dist/server/handlers/network.js +0 -1
  256. package/dist/server/handlers/telemetry.cjs +0 -14
  257. package/dist/server/handlers/telemetry.d.cts +0 -2
  258. package/dist/server/handlers/telemetry.d.ts +0 -2
  259. package/dist/server/handlers/telemetry.js +0 -1
  260. package/dist/server/handlers/tools.d.cts +0 -4
  261. package/dist/server/handlers/utils.d.cts +0 -1
  262. package/dist/server/handlers/vNextWorkflows.cjs +0 -46
  263. package/dist/server/handlers/vNextWorkflows.d.cts +0 -10
  264. package/dist/server/handlers/vNextWorkflows.d.ts +0 -10
  265. package/dist/server/handlers/vNextWorkflows.js +0 -1
  266. package/dist/server/handlers/vector.d.cts +0 -6
  267. package/dist/server/handlers/voice.d.cts +0 -3
  268. package/dist/server/handlers/workflows.d.cts +0 -10
  269. package/dist/server/handlers.d.cts +0 -10
@@ -0,0 +1,658 @@
1
+ import { stringify } from './chunk-LF2ZLOFP.js';
2
+ import { sanitizeBody, validateBody } from './chunk-SZIFSF4T.js';
3
+ import { handleError } from './chunk-UXGQZUYZ.js';
4
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
5
+ import { __export } from './chunk-PR4QN5HX.js';
6
+ import { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';
7
+ import { PROVIDER_REGISTRY } from '@mastra/core/llm';
8
+ import { RequestContext } from '@mastra/core/request-context';
9
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
10
+
11
+ // src/server/handlers/agents.ts
12
+ var agents_exports = {};
13
+ __export(agents_exports, {
14
+ approveToolCallHandler: () => approveToolCallHandler,
15
+ declineToolCallHandler: () => declineToolCallHandler,
16
+ generateHandler: () => generateHandler,
17
+ generateLegacyHandler: () => generateLegacyHandler,
18
+ getAgentByIdHandler: () => getAgentByIdHandler,
19
+ getAgentFromSystem: () => getAgentFromSystem,
20
+ getProvidersHandler: () => getProvidersHandler,
21
+ getSerializedAgentTools: () => getSerializedAgentTools,
22
+ getSerializedProcessors: () => getSerializedProcessors,
23
+ listAgentsHandler: () => listAgentsHandler,
24
+ reorderAgentModelListHandler: () => reorderAgentModelListHandler,
25
+ resetAgentModelHandler: () => resetAgentModelHandler,
26
+ streamGenerateHandler: () => streamGenerateHandler,
27
+ streamGenerateLegacyHandler: () => streamGenerateLegacyHandler,
28
+ streamNetworkHandler: () => streamNetworkHandler,
29
+ streamUIMessageHandler: () => streamUIMessageHandler,
30
+ updateAgentModelHandler: () => updateAgentModelHandler,
31
+ updateAgentModelInModelListHandler: () => updateAgentModelInModelListHandler
32
+ });
33
+ async function getSerializedAgentTools(tools) {
34
+ return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
35
+ const _tool = tool;
36
+ const toolId = _tool.id ?? `tool-${key}`;
37
+ let inputSchemaForReturn = void 0;
38
+ let outputSchemaForReturn = void 0;
39
+ try {
40
+ if (_tool.inputSchema) {
41
+ if (_tool.inputSchema && typeof _tool.inputSchema === "object" && "jsonSchema" in _tool.inputSchema) {
42
+ inputSchemaForReturn = stringify(_tool.inputSchema.jsonSchema);
43
+ } else if (typeof _tool.inputSchema === "function") {
44
+ const inputSchema = _tool.inputSchema();
45
+ if (inputSchema && inputSchema.jsonSchema) {
46
+ inputSchemaForReturn = stringify(inputSchema.jsonSchema);
47
+ }
48
+ } else if (_tool.inputSchema) {
49
+ inputSchemaForReturn = stringify(zodToJsonSchema(_tool.inputSchema));
50
+ }
51
+ }
52
+ if (_tool.outputSchema) {
53
+ if (_tool.outputSchema && typeof _tool.outputSchema === "object" && "jsonSchema" in _tool.outputSchema) {
54
+ outputSchemaForReturn = stringify(_tool.outputSchema.jsonSchema);
55
+ } else if (typeof _tool.outputSchema === "function") {
56
+ const outputSchema = _tool.outputSchema();
57
+ if (outputSchema && outputSchema.jsonSchema) {
58
+ outputSchemaForReturn = stringify(outputSchema.jsonSchema);
59
+ }
60
+ } else if (_tool.outputSchema) {
61
+ outputSchemaForReturn = stringify(
62
+ zodToJsonSchema(_tool.outputSchema)
63
+ );
64
+ }
65
+ }
66
+ } catch (error) {
67
+ console.error(`Error getting serialized tool`, {
68
+ toolId: _tool.id,
69
+ error
70
+ });
71
+ }
72
+ acc[key] = {
73
+ ..._tool,
74
+ id: toolId,
75
+ inputSchema: inputSchemaForReturn,
76
+ outputSchema: outputSchemaForReturn
77
+ };
78
+ return acc;
79
+ }, {});
80
+ }
81
+ function getSerializedProcessors(processors) {
82
+ return processors.map((processor) => {
83
+ return {
84
+ id: processor.id,
85
+ name: processor.name || processor.constructor.name
86
+ };
87
+ });
88
+ }
89
+ async function getSerializedAgentDefinition({
90
+ agent,
91
+ requestContext
92
+ }) {
93
+ let serializedAgentAgents = {};
94
+ if ("listAgents" in agent) {
95
+ const agents = await agent.listAgents({ requestContext });
96
+ serializedAgentAgents = Object.entries(agents || {}).reduce(
97
+ (acc, [key, agent2]) => {
98
+ return {
99
+ ...acc,
100
+ [key]: { id: agent2.id, name: agent2.name }
101
+ };
102
+ },
103
+ {}
104
+ );
105
+ }
106
+ return serializedAgentAgents;
107
+ }
108
+ async function formatAgentList({
109
+ id,
110
+ mastra,
111
+ agent,
112
+ requestContext
113
+ }) {
114
+ const description = agent.getDescription();
115
+ const instructions = await agent.getInstructions({ requestContext });
116
+ const tools = await agent.listTools({ requestContext });
117
+ const llm = await agent.getLLM({ requestContext });
118
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });
119
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });
120
+ const defaultOptions = await agent.getDefaultOptions({ requestContext });
121
+ const serializedAgentTools = await getSerializedAgentTools(tools);
122
+ let serializedAgentWorkflows = {};
123
+ if ("listWorkflows" in agent) {
124
+ const logger = mastra.getLogger();
125
+ try {
126
+ const workflows = await agent.listWorkflows({ requestContext });
127
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
128
+ return {
129
+ ...acc,
130
+ [key]: {
131
+ name: workflow.name || "Unnamed workflow"
132
+ }
133
+ };
134
+ }, {});
135
+ } catch (error) {
136
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
137
+ }
138
+ }
139
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });
140
+ const inputProcessors = await agent.listInputProcessors(requestContext);
141
+ const outputProcessors = await agent.listOutputProcessors(requestContext);
142
+ const serializedInputProcessors = getSerializedProcessors(inputProcessors);
143
+ const serializedOutputProcessors = getSerializedProcessors(outputProcessors);
144
+ const model = llm?.getModel();
145
+ const models = await agent.getModelList(requestContext);
146
+ const modelList = models?.map((md) => ({
147
+ ...md,
148
+ model: {
149
+ modelId: md.model.modelId,
150
+ provider: md.model.provider,
151
+ modelVersion: md.model.specificationVersion
152
+ }
153
+ }));
154
+ return {
155
+ id,
156
+ name: agent.name,
157
+ description,
158
+ instructions,
159
+ agents: serializedAgentAgents,
160
+ tools: serializedAgentTools,
161
+ workflows: serializedAgentWorkflows,
162
+ inputProcessors: serializedInputProcessors,
163
+ outputProcessors: serializedOutputProcessors,
164
+ provider: llm?.getProvider(),
165
+ modelId: llm?.getModelId(),
166
+ modelVersion: model?.specificationVersion,
167
+ defaultOptions,
168
+ modelList,
169
+ defaultGenerateOptionsLegacy,
170
+ defaultStreamOptionsLegacy
171
+ };
172
+ }
173
+ async function getAgentFromSystem({ mastra, agentId }) {
174
+ const logger = mastra.getLogger();
175
+ if (!agentId) {
176
+ throw new HTTPException(400, { message: "Agent ID is required" });
177
+ }
178
+ let agent;
179
+ try {
180
+ agent = mastra.getAgent(agentId);
181
+ } catch (error) {
182
+ logger.debug("Error getting agent from mastra, searching agents for agent", error);
183
+ }
184
+ if (!agent) {
185
+ logger.debug(`Agent ${agentId} not found, looking through sub-agents`);
186
+ const agents = mastra.listAgents();
187
+ if (Object.keys(agents || {}).length) {
188
+ for (const [_, ag] of Object.entries(agents)) {
189
+ try {
190
+ const subAgents = await ag.listAgents();
191
+ if (subAgents[agentId]) {
192
+ agent = subAgents[agentId];
193
+ break;
194
+ }
195
+ } catch (error) {
196
+ logger.debug("Error getting agent from agent", error);
197
+ }
198
+ }
199
+ }
200
+ }
201
+ if (!agent) {
202
+ throw new HTTPException(404, { message: `Agent with name ${agentId} not found` });
203
+ }
204
+ return agent;
205
+ }
206
+ async function listAgentsHandler({
207
+ mastra,
208
+ requestContext
209
+ }) {
210
+ try {
211
+ const agents = mastra.listAgents();
212
+ const serializedAgentsMap = await Promise.all(
213
+ Object.entries(agents).map(async ([id, agent]) => {
214
+ return formatAgentList({ id, mastra, agent, requestContext });
215
+ })
216
+ );
217
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
218
+ acc[id] = rest;
219
+ return acc;
220
+ }, {});
221
+ return serializedAgents;
222
+ } catch (error) {
223
+ return handleError(error, "Error getting agents");
224
+ }
225
+ }
226
+ async function formatAgent({
227
+ mastra,
228
+ agent,
229
+ requestContext,
230
+ isPlayground
231
+ }) {
232
+ const description = agent.getDescription();
233
+ const tools = await agent.listTools({ requestContext });
234
+ const serializedAgentTools = await getSerializedAgentTools(tools);
235
+ let serializedAgentWorkflows = {};
236
+ if ("listWorkflows" in agent) {
237
+ const logger = mastra.getLogger();
238
+ try {
239
+ const workflows = await agent.listWorkflows({ requestContext });
240
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
241
+ return {
242
+ ...acc,
243
+ [key]: {
244
+ name: workflow.name || "Unnamed workflow",
245
+ steps: Object.entries(workflow.steps).reduce(
246
+ (acc2, [key2, step]) => {
247
+ return {
248
+ ...acc2,
249
+ [key2]: {
250
+ id: step.id,
251
+ description: step.description
252
+ }
253
+ };
254
+ },
255
+ {}
256
+ )
257
+ }
258
+ };
259
+ }, {});
260
+ } catch (error) {
261
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
262
+ }
263
+ }
264
+ let proxyRequestContext = requestContext;
265
+ if (isPlayground) {
266
+ proxyRequestContext = new Proxy(requestContext, {
267
+ get(target, prop) {
268
+ if (prop === "get") {
269
+ return function(key) {
270
+ const value = target.get(key);
271
+ return value ?? `<${key}>`;
272
+ };
273
+ }
274
+ return Reflect.get(target, prop);
275
+ }
276
+ });
277
+ }
278
+ const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });
279
+ const llm = await agent.getLLM({ requestContext });
280
+ const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({
281
+ requestContext: proxyRequestContext
282
+ });
283
+ const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });
284
+ const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });
285
+ const model = llm?.getModel();
286
+ const models = await agent.getModelList(requestContext);
287
+ const modelList = models?.map((md) => ({
288
+ ...md,
289
+ model: {
290
+ modelId: md.model.modelId,
291
+ provider: md.model.provider,
292
+ modelVersion: md.model.specificationVersion
293
+ }
294
+ }));
295
+ const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });
296
+ const inputProcessors = await agent.listInputProcessors(proxyRequestContext);
297
+ const outputProcessors = await agent.listOutputProcessors(proxyRequestContext);
298
+ const serializedInputProcessors = getSerializedProcessors(inputProcessors);
299
+ const serializedOutputProcessors = getSerializedProcessors(outputProcessors);
300
+ return {
301
+ name: agent.name,
302
+ description,
303
+ instructions,
304
+ tools: serializedAgentTools,
305
+ agents: serializedAgentAgents,
306
+ workflows: serializedAgentWorkflows,
307
+ inputProcessors: serializedInputProcessors,
308
+ outputProcessors: serializedOutputProcessors,
309
+ provider: llm?.getProvider(),
310
+ modelId: llm?.getModelId(),
311
+ modelVersion: model?.specificationVersion,
312
+ modelList,
313
+ defaultOptions,
314
+ defaultGenerateOptionsLegacy,
315
+ defaultStreamOptionsLegacy
316
+ };
317
+ }
318
+ async function getAgentByIdHandler({
319
+ mastra,
320
+ requestContext,
321
+ agentId,
322
+ isPlayground = false
323
+ }) {
324
+ try {
325
+ const agent = await getAgentFromSystem({ mastra, agentId });
326
+ return formatAgent({ mastra, agent, requestContext, isPlayground });
327
+ } catch (error) {
328
+ return handleError(error, "Error getting agent");
329
+ }
330
+ }
331
+ async function generateLegacyHandler({
332
+ mastra,
333
+ requestContext,
334
+ agentId,
335
+ body,
336
+ abortSignal
337
+ }) {
338
+ try {
339
+ const agent = await getAgentFromSystem({ mastra, agentId });
340
+ sanitizeBody(body, ["tools"]);
341
+ const { messages, resourceId, resourceid, requestContext: agentRequestContext, ...rest } = body;
342
+ const finalResourceId = resourceId ?? resourceid;
343
+ const finalRequestContext = new RequestContext([
344
+ ...Array.from(requestContext.entries()),
345
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
346
+ ]);
347
+ validateBody({ messages });
348
+ const result = await agent.generateLegacy(messages, {
349
+ ...rest,
350
+ abortSignal,
351
+ // @ts-expect-error TODO fix types
352
+ resourceId: finalResourceId,
353
+ requestContext: finalRequestContext
354
+ });
355
+ return result;
356
+ } catch (error) {
357
+ return handleError(error, "Error generating from agent");
358
+ }
359
+ }
360
+ async function generateHandler({
361
+ mastra,
362
+ requestContext,
363
+ agentId,
364
+ body,
365
+ abortSignal
366
+ }) {
367
+ try {
368
+ const agent = await getAgentFromSystem({ mastra, agentId });
369
+ sanitizeBody(body, ["tools"]);
370
+ const { messages, requestContext: agentRequestContext, ...rest } = body;
371
+ const finalRequestContext = new RequestContext([
372
+ ...Array.from(requestContext.entries()),
373
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
374
+ ]);
375
+ validateBody({ messages });
376
+ const result = await agent.generate(messages, {
377
+ ...rest,
378
+ requestContext: finalRequestContext,
379
+ abortSignal
380
+ });
381
+ return result;
382
+ } catch (error) {
383
+ return handleError(error, "Error generating from agent");
384
+ }
385
+ }
386
+ async function streamGenerateLegacyHandler({
387
+ mastra,
388
+ requestContext,
389
+ agentId,
390
+ body,
391
+ abortSignal
392
+ }) {
393
+ try {
394
+ const agent = await getAgentFromSystem({ mastra, agentId });
395
+ const { messages, resourceId, resourceid, requestContext: agentRequestContext, ...rest } = body;
396
+ const finalResourceId = resourceId ?? resourceid;
397
+ const finalRequestContext = new RequestContext([
398
+ ...Array.from(requestContext.entries()),
399
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
400
+ ]);
401
+ validateBody({ messages });
402
+ const streamResult = await agent.streamLegacy(messages, {
403
+ ...rest,
404
+ abortSignal,
405
+ // @ts-expect-error TODO fix types
406
+ resourceId: finalResourceId,
407
+ requestContext: finalRequestContext
408
+ });
409
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
410
+ headers: {
411
+ "Transfer-Encoding": "chunked"
412
+ }
413
+ }) : streamResult.toDataStreamResponse({
414
+ sendUsage: true,
415
+ sendReasoning: true,
416
+ getErrorMessage: (error) => {
417
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
418
+ },
419
+ headers: {
420
+ "Transfer-Encoding": "chunked"
421
+ }
422
+ });
423
+ return streamResponse;
424
+ } catch (error) {
425
+ return handleError(error, "error streaming agent response");
426
+ }
427
+ }
428
+ async function streamGenerateHandler({
429
+ mastra,
430
+ requestContext,
431
+ agentId,
432
+ body,
433
+ abortSignal
434
+ }) {
435
+ try {
436
+ const agent = await getAgentFromSystem({ mastra, agentId });
437
+ sanitizeBody(body, ["tools"]);
438
+ const { messages, requestContext: agentRequestContext, ...rest } = body;
439
+ const finalRequestContext = new RequestContext([
440
+ ...Array.from(requestContext.entries()),
441
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
442
+ ]);
443
+ validateBody({ messages });
444
+ const streamResult = agent.stream(messages, {
445
+ ...rest,
446
+ requestContext: finalRequestContext,
447
+ abortSignal
448
+ });
449
+ return streamResult;
450
+ } catch (error) {
451
+ return handleError(error, "error streaming agent response");
452
+ }
453
+ }
454
+ async function approveToolCallHandler({
455
+ mastra,
456
+ requestContext,
457
+ agentId,
458
+ body,
459
+ abortSignal
460
+ }) {
461
+ try {
462
+ const agent = await getAgentFromSystem({ mastra, agentId });
463
+ if (!body.runId) {
464
+ throw new HTTPException(400, { message: "Run id is required" });
465
+ }
466
+ if (!body.toolCallId) {
467
+ throw new HTTPException(400, { message: "Tool call id is required" });
468
+ }
469
+ sanitizeBody(body, ["tools"]);
470
+ const { runId, requestContext: agentRequestContext, ...rest } = body;
471
+ const finalRequestContext = new RequestContext([
472
+ ...Array.from(requestContext.entries()),
473
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
474
+ ]);
475
+ const streamResult = agent.approveToolCall({
476
+ ...rest,
477
+ runId,
478
+ requestContext: finalRequestContext,
479
+ abortSignal
480
+ });
481
+ return streamResult;
482
+ } catch (error) {
483
+ return handleError(error, "error streaming agent response");
484
+ }
485
+ }
486
+ async function declineToolCallHandler({
487
+ mastra,
488
+ requestContext,
489
+ agentId,
490
+ body,
491
+ abortSignal
492
+ }) {
493
+ try {
494
+ const agent = await getAgentFromSystem({ mastra, agentId });
495
+ if (!body.runId) {
496
+ throw new HTTPException(400, { message: "Run id is required" });
497
+ }
498
+ if (!body.toolCallId) {
499
+ throw new HTTPException(400, { message: "Tool call id is required" });
500
+ }
501
+ sanitizeBody(body, ["tools"]);
502
+ const { runId, requestContext: agentRequestContext, ...rest } = body;
503
+ const finalRequestContext = new RequestContext([
504
+ ...Array.from(requestContext.entries()),
505
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
506
+ ]);
507
+ const streamResult = agent.declineToolCall({
508
+ ...rest,
509
+ runId,
510
+ requestContext: finalRequestContext,
511
+ abortSignal
512
+ });
513
+ return streamResult;
514
+ } catch (error) {
515
+ return handleError(error, "error streaming agent response");
516
+ }
517
+ }
518
+ async function streamNetworkHandler({
519
+ mastra,
520
+ requestContext,
521
+ agentId,
522
+ body
523
+ // abortSignal,
524
+ }) {
525
+ try {
526
+ const agent = await getAgentFromSystem({ mastra, agentId });
527
+ sanitizeBody(body, ["tools"]);
528
+ const { messages, requestContext: agentRequestContext, ...rest } = body;
529
+ const finalRequestContext = new RequestContext([
530
+ ...Array.from(requestContext.entries()),
531
+ ...Array.from(Object.entries(agentRequestContext ?? {}))
532
+ ]);
533
+ validateBody({ messages });
534
+ const streamResult = agent.network(messages, {
535
+ ...rest,
536
+ memory: {
537
+ thread: rest.thread ?? "",
538
+ resource: rest.resourceId ?? "",
539
+ options: rest.memory?.options ?? {}
540
+ },
541
+ requestContext: finalRequestContext
542
+ });
543
+ return streamResult;
544
+ } catch (error) {
545
+ return handleError(error, "error streaming agent loop response");
546
+ }
547
+ }
548
+ async function streamUIMessageHandler(_params) {
549
+ try {
550
+ throw new MastraError({
551
+ category: ErrorCategory.USER,
552
+ domain: ErrorDomain.MASTRA_SERVER,
553
+ id: "DEPRECATED_ENDPOINT",
554
+ text: "This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations"
555
+ });
556
+ } catch (error) {
557
+ return handleError(error, "error streaming agent response");
558
+ }
559
+ }
560
+ async function updateAgentModelHandler({
561
+ mastra,
562
+ agentId,
563
+ body
564
+ }) {
565
+ try {
566
+ const agent = await getAgentFromSystem({ mastra, agentId });
567
+ const { modelId, provider } = body;
568
+ const newModel = `${provider}/${modelId}`;
569
+ agent.__updateModel({ model: newModel });
570
+ return { message: "Agent model updated" };
571
+ } catch (error) {
572
+ return handleError(error, "error updating agent model");
573
+ }
574
+ }
575
+ async function resetAgentModelHandler({
576
+ mastra,
577
+ agentId
578
+ }) {
579
+ try {
580
+ const agent = await getAgentFromSystem({ mastra, agentId });
581
+ agent.__resetToOriginalModel();
582
+ return { message: "Agent model reset to original" };
583
+ } catch (error) {
584
+ return handleError(error, "error resetting agent model");
585
+ }
586
+ }
587
+ async function reorderAgentModelListHandler({
588
+ mastra,
589
+ agentId,
590
+ body
591
+ }) {
592
+ try {
593
+ const agent = await getAgentFromSystem({ mastra, agentId });
594
+ const modelList = await agent.getModelList();
595
+ if (!modelList || modelList.length === 0) {
596
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
597
+ }
598
+ agent.reorderModels(body.reorderedModelIds);
599
+ return { message: "Model list reordered" };
600
+ } catch (error) {
601
+ return handleError(error, "error reordering model list");
602
+ }
603
+ }
604
+ async function updateAgentModelInModelListHandler({
605
+ mastra,
606
+ agentId,
607
+ modelConfigId,
608
+ body
609
+ }) {
610
+ try {
611
+ const agent = await getAgentFromSystem({ mastra, agentId });
612
+ const { model: bodyModel, maxRetries, enabled } = body;
613
+ if (!modelConfigId) {
614
+ throw new HTTPException(400, { message: "Model id is required" });
615
+ }
616
+ const modelList = await agent.getModelList();
617
+ if (!modelList || modelList.length === 0) {
618
+ throw new HTTPException(400, { message: "Agent model list is not found or empty" });
619
+ }
620
+ const modelToUpdate = modelList.find((m) => m.id === modelConfigId);
621
+ if (!modelToUpdate) {
622
+ throw new HTTPException(400, { message: "Model to update is not found in agent model list" });
623
+ }
624
+ let model;
625
+ if (bodyModel) {
626
+ const { modelId, provider } = bodyModel;
627
+ model = `${provider}/${modelId}`;
628
+ }
629
+ agent.updateModelInModelList({ id: modelConfigId, model, maxRetries, enabled });
630
+ return { message: "Model list updated" };
631
+ } catch (error) {
632
+ return handleError(error, "error updating model list");
633
+ }
634
+ }
635
+ async function getProvidersHandler() {
636
+ try {
637
+ const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {
638
+ const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];
639
+ const connected = envVars.every((envVar) => !!process.env[envVar]);
640
+ return {
641
+ id,
642
+ name: provider.name,
643
+ envVar: provider.apiKeyEnvVar,
644
+ connected,
645
+ docUrl: provider.docUrl,
646
+ models: [...provider.models]
647
+ // Convert readonly array to regular array
648
+ };
649
+ });
650
+ return { providers };
651
+ } catch (error) {
652
+ return handleError(error, "error fetching providers");
653
+ }
654
+ }
655
+
656
+ export { agents_exports, approveToolCallHandler, declineToolCallHandler, generateHandler, generateLegacyHandler, getAgentByIdHandler, getAgentFromSystem, getProvidersHandler, getSerializedAgentTools, getSerializedProcessors, listAgentsHandler, reorderAgentModelListHandler, resetAgentModelHandler, streamGenerateHandler, streamGenerateLegacyHandler, streamNetworkHandler, streamUIMessageHandler, updateAgentModelHandler, updateAgentModelInModelListHandler };
657
+ //# sourceMappingURL=chunk-VYR3SAFM.js.map
658
+ //# sourceMappingURL=chunk-VYR3SAFM.js.map