@mastra/server 0.0.0-update-scorers-api-20250801170445 → 0.0.0-usechat-duplicate-20251016110554

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 (234) hide show
  1. package/CHANGELOG.md +4048 -0
  2. package/README.md +0 -5
  3. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  4. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  5. package/dist/chunk-2S4IMB6E.cjs +130 -0
  6. package/dist/chunk-2S4IMB6E.cjs.map +1 -0
  7. package/dist/{chunk-X5SDJOY6.cjs → chunk-3LTO44EP.cjs} +66 -53
  8. package/dist/chunk-3LTO44EP.cjs.map +1 -0
  9. package/dist/{chunk-4US5W7PH.cjs → chunk-3SNGNFUJ.cjs} +23 -15
  10. package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
  11. package/dist/{chunk-OW4FX5TS.js → chunk-4QCXUEAT.js} +10 -3
  12. package/dist/chunk-4QCXUEAT.js.map +1 -0
  13. package/dist/{chunk-SQ7KKIH3.js → chunk-67GYDFSB.js} +22 -5
  14. package/dist/chunk-67GYDFSB.js.map +1 -0
  15. package/dist/{chunk-ILCWPBYQ.cjs → chunk-6ZR275MD.cjs} +23 -5
  16. package/dist/chunk-6ZR275MD.cjs.map +1 -0
  17. package/dist/chunk-7HDOBOGG.cjs +17517 -0
  18. package/dist/chunk-7HDOBOGG.cjs.map +1 -0
  19. package/dist/{chunk-4MQU6AJN.js → chunk-ABRFV4XP.js} +4 -4
  20. package/dist/{chunk-4MQU6AJN.js.map → chunk-ABRFV4XP.js.map} +1 -1
  21. package/dist/{chunk-YS66MFDY.js → chunk-AHB4JCIQ.js} +48 -12
  22. package/dist/chunk-AHB4JCIQ.js.map +1 -0
  23. package/dist/{chunk-TXAQU2XN.js → chunk-AW5BU3RQ.js} +63 -22
  24. package/dist/chunk-AW5BU3RQ.js.map +1 -0
  25. package/dist/chunk-BATEJLED.js +124 -0
  26. package/dist/chunk-BATEJLED.js.map +1 -0
  27. package/dist/chunk-BZLZFHAT.cjs +682 -0
  28. package/dist/chunk-BZLZFHAT.cjs.map +1 -0
  29. package/dist/{chunk-BUOJL3MN.js → chunk-DB63UMTV.js} +220 -89
  30. package/dist/chunk-DB63UMTV.js.map +1 -0
  31. package/dist/{chunk-NCS2OXX6.cjs → chunk-EP3JQDPD.cjs} +4 -4
  32. package/dist/{chunk-NCS2OXX6.cjs.map → chunk-EP3JQDPD.cjs.map} +1 -1
  33. package/dist/chunk-FWO7VQDC.js +17481 -0
  34. package/dist/chunk-FWO7VQDC.js.map +1 -0
  35. package/dist/chunk-FZNS32WJ.js +46 -0
  36. package/dist/chunk-FZNS32WJ.js.map +1 -0
  37. package/dist/{chunk-4QSNRCOT.cjs → chunk-G4PUALCE.cjs} +10 -2
  38. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  39. package/dist/chunk-GU4EWMZB.cjs +769 -0
  40. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  41. package/dist/{chunk-TRWPUPGD.js → chunk-HPXAM2PG.js} +109 -138
  42. package/dist/chunk-HPXAM2PG.js.map +1 -0
  43. package/dist/{chunk-JGVY3KWV.cjs → chunk-I3C4ODGV.cjs} +12 -11
  44. package/dist/chunk-I3C4ODGV.cjs.map +1 -0
  45. package/dist/chunk-JSLAYFEW.js +662 -0
  46. package/dist/chunk-JSLAYFEW.js.map +1 -0
  47. package/dist/chunk-LF2ZLOFP.js +767 -0
  48. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  49. package/dist/{chunk-UVOSITKU.js → chunk-LLUOPR3J.js} +11 -10
  50. package/dist/chunk-LLUOPR3J.js.map +1 -0
  51. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  52. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  53. package/dist/{chunk-S37KCGOR.cjs → chunk-MQDBNHBT.cjs} +222 -88
  54. package/dist/chunk-MQDBNHBT.cjs.map +1 -0
  55. package/dist/{chunk-G7NVCO5M.js → chunk-MYR4PVGN.js} +3 -3
  56. package/dist/{chunk-G7NVCO5M.js.map → chunk-MYR4PVGN.js.map} +1 -1
  57. package/dist/chunk-O7I5CWRX.cjs +44 -0
  58. package/dist/{chunk-Q7SFCCGT.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
  59. package/dist/{chunk-HXIOPAHT.js → chunk-OEOGYAQC.js} +54 -42
  60. package/dist/chunk-OEOGYAQC.js.map +1 -0
  61. package/dist/chunk-OYL5TBJW.cjs +48 -0
  62. package/dist/chunk-OYL5TBJW.cjs.map +1 -0
  63. package/dist/chunk-PR4QN5HX.js +39 -0
  64. package/dist/{chunk-PZ5AY32C.js.map → chunk-PR4QN5HX.js.map} +1 -1
  65. package/dist/{chunk-HWHKM67I.js → chunk-QQXMIP6C.js} +21 -13
  66. package/dist/chunk-QQXMIP6C.js.map +1 -0
  67. package/dist/chunk-RQK4FQUD.js +1012 -0
  68. package/dist/chunk-RQK4FQUD.js.map +1 -0
  69. package/dist/chunk-SIW6CYO3.js +254 -0
  70. package/dist/chunk-SIW6CYO3.js.map +1 -0
  71. package/dist/{chunk-VIGPWTDA.cjs → chunk-SPRRK3P7.cjs} +64 -23
  72. package/dist/chunk-SPRRK3P7.cjs.map +1 -0
  73. package/dist/{chunk-GASWM5HJ.cjs → chunk-TOP25AIO.cjs} +110 -139
  74. package/dist/chunk-TOP25AIO.cjs.map +1 -0
  75. package/dist/{chunk-O4I563YW.cjs → chunk-TRGAMKHX.cjs} +50 -13
  76. package/dist/chunk-TRGAMKHX.cjs.map +1 -0
  77. package/dist/chunk-VY4ENABS.cjs +135 -0
  78. package/dist/chunk-VY4ENABS.cjs.map +1 -0
  79. package/dist/{chunk-BED2O446.cjs → chunk-XN74I6VW.cjs} +7 -7
  80. package/dist/{chunk-BED2O446.cjs.map → chunk-XN74I6VW.cjs.map} +1 -1
  81. package/dist/chunk-XVPBGW6Y.cjs +256 -0
  82. package/dist/chunk-XVPBGW6Y.cjs.map +1 -0
  83. package/dist/chunk-YWOK4F5A.js +131 -0
  84. package/dist/chunk-YWOK4F5A.js.map +1 -0
  85. package/dist/chunk-ZULZ2752.js +2774 -0
  86. package/dist/chunk-ZULZ2752.js.map +1 -0
  87. package/dist/dist-4MVGNSRL.cjs +1150 -0
  88. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  89. package/dist/dist-FZYCV3VB.cjs +940 -0
  90. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  91. package/dist/dist-G2BYZJOC.cjs +928 -0
  92. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  93. package/dist/dist-P4MXBQ3U.cjs +16 -0
  94. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  95. package/dist/dist-PQZUVLPC.js +937 -0
  96. package/dist/dist-PQZUVLPC.js.map +1 -0
  97. package/dist/dist-R7WYX6LC.js +925 -0
  98. package/dist/dist-R7WYX6LC.js.map +1 -0
  99. package/dist/dist-RFMYFILX.cjs +764 -0
  100. package/dist/dist-RFMYFILX.cjs.map +1 -0
  101. package/dist/dist-X7XR3M3Z.js +1147 -0
  102. package/dist/dist-X7XR3M3Z.js.map +1 -0
  103. package/dist/dist-XVBSOGFK.js +761 -0
  104. package/dist/dist-XVBSOGFK.js.map +1 -0
  105. package/dist/dist-YREX2TJT.js +3 -0
  106. package/dist/dist-YREX2TJT.js.map +1 -0
  107. package/dist/index.cjs +4 -0
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.js +3 -0
  110. package/dist/index.js.map +1 -1
  111. package/dist/server/a2a/store.cjs +25 -0
  112. package/dist/server/a2a/store.cjs.map +1 -0
  113. package/dist/server/a2a/store.d.ts +3 -3
  114. package/dist/server/a2a/store.d.ts.map +1 -1
  115. package/dist/server/a2a/store.js +23 -0
  116. package/dist/server/a2a/store.js.map +1 -0
  117. package/dist/server/a2a/tasks.d.ts +7 -7
  118. package/dist/server/a2a/tasks.d.ts.map +1 -1
  119. package/dist/server/handlers/a2a.cjs +11 -11
  120. package/dist/server/handlers/a2a.d.ts +17 -15
  121. package/dist/server/handlers/a2a.d.ts.map +1 -1
  122. package/dist/server/handlers/a2a.js +1 -1
  123. package/dist/server/handlers/agent-builder.cjs +68 -0
  124. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  125. package/dist/server/handlers/agent-builder.d.ts +94 -0
  126. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  127. package/dist/server/handlers/agent-builder.js +3 -0
  128. package/dist/server/handlers/agent-builder.js.map +1 -0
  129. package/dist/server/handlers/agents.cjs +53 -9
  130. package/dist/server/handlers/agents.d.ts +156 -33
  131. package/dist/server/handlers/agents.d.ts.map +1 -1
  132. package/dist/server/handlers/agents.js +1 -1
  133. package/dist/server/handlers/legacyWorkflows.cjs +11 -11
  134. package/dist/server/handlers/legacyWorkflows.d.ts +1 -1
  135. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -1
  136. package/dist/server/handlers/legacyWorkflows.js +1 -1
  137. package/dist/server/handlers/logs.cjs +4 -4
  138. package/dist/server/handlers/logs.js +1 -1
  139. package/dist/server/handlers/memory.cjs +19 -15
  140. package/dist/server/handlers/memory.d.ts +24 -19
  141. package/dist/server/handlers/memory.d.ts.map +1 -1
  142. package/dist/server/handlers/memory.js +1 -1
  143. package/dist/server/handlers/observability.cjs +24 -0
  144. package/dist/server/handlers/observability.cjs.map +1 -0
  145. package/dist/server/handlers/observability.d.ts +49 -0
  146. package/dist/server/handlers/observability.d.ts.map +1 -0
  147. package/dist/server/handlers/observability.js +3 -0
  148. package/dist/server/handlers/observability.js.map +1 -0
  149. package/dist/server/handlers/scores.cjs +7 -7
  150. package/dist/server/handlers/scores.d.ts +110 -7
  151. package/dist/server/handlers/scores.d.ts.map +1 -1
  152. package/dist/server/handlers/scores.js +1 -1
  153. package/dist/server/handlers/telemetry.cjs +7 -3
  154. package/dist/server/handlers/telemetry.d.ts +2 -1
  155. package/dist/server/handlers/telemetry.d.ts.map +1 -1
  156. package/dist/server/handlers/telemetry.js +1 -1
  157. package/dist/server/handlers/tools.cjs +9 -5
  158. package/dist/server/handlers/tools.d.ts +5 -1
  159. package/dist/server/handlers/tools.d.ts.map +1 -1
  160. package/dist/server/handlers/tools.js +1 -1
  161. package/dist/server/handlers/utils.cjs +6 -2
  162. package/dist/server/handlers/utils.d.ts +6 -0
  163. package/dist/server/handlers/utils.d.ts.map +1 -1
  164. package/dist/server/handlers/utils.js +1 -1
  165. package/dist/server/handlers/vector.cjs +7 -7
  166. package/dist/server/handlers/vector.d.ts +1 -1
  167. package/dist/server/handlers/vector.js +1 -1
  168. package/dist/server/handlers/voice.cjs +5 -5
  169. package/dist/server/handlers/voice.d.ts +7 -5
  170. package/dist/server/handlers/voice.d.ts.map +1 -1
  171. package/dist/server/handlers/voice.js +1 -1
  172. package/dist/server/handlers/workflows.cjs +28 -16
  173. package/dist/server/handlers/workflows.d.ts +37 -34
  174. package/dist/server/handlers/workflows.d.ts.map +1 -1
  175. package/dist/server/handlers/workflows.js +1 -1
  176. package/dist/server/handlers.cjs +38 -33
  177. package/dist/server/handlers.d.ts +13 -12
  178. package/dist/server/handlers.d.ts.map +1 -1
  179. package/dist/server/handlers.js +13 -12
  180. package/dist/server/utils.d.ts +44 -0
  181. package/dist/server/utils.d.ts.map +1 -0
  182. package/dist/token-53CFGXUO.cjs +64 -0
  183. package/dist/token-53CFGXUO.cjs.map +1 -0
  184. package/dist/token-WAEKDUVY.js +62 -0
  185. package/dist/token-WAEKDUVY.js.map +1 -0
  186. package/dist/token-util-LY37VCIN.js +7 -0
  187. package/dist/token-util-LY37VCIN.js.map +1 -0
  188. package/dist/token-util-S4A355II.cjs +9 -0
  189. package/dist/token-util-S4A355II.cjs.map +1 -0
  190. package/package.json +36 -14
  191. package/dist/chunk-2XIJW7SV.cjs +0 -310
  192. package/dist/chunk-2XIJW7SV.cjs.map +0 -1
  193. package/dist/chunk-4CEZIJWJ.cjs +0 -150
  194. package/dist/chunk-4CEZIJWJ.cjs.map +0 -1
  195. package/dist/chunk-4QSNRCOT.cjs.map +0 -1
  196. package/dist/chunk-4US5W7PH.cjs.map +0 -1
  197. package/dist/chunk-7FHF55WA.js +0 -2041
  198. package/dist/chunk-7FHF55WA.js.map +0 -1
  199. package/dist/chunk-BUOJL3MN.js.map +0 -1
  200. package/dist/chunk-GASWM5HJ.cjs.map +0 -1
  201. package/dist/chunk-HWHKM67I.js.map +0 -1
  202. package/dist/chunk-HXIOPAHT.js.map +0 -1
  203. package/dist/chunk-ILCWPBYQ.cjs.map +0 -1
  204. package/dist/chunk-JGVY3KWV.cjs.map +0 -1
  205. package/dist/chunk-LRUH33B4.cjs +0 -2044
  206. package/dist/chunk-LRUH33B4.cjs.map +0 -1
  207. package/dist/chunk-O4I563YW.cjs.map +0 -1
  208. package/dist/chunk-OW4FX5TS.js.map +0 -1
  209. package/dist/chunk-PZ5AY32C.js +0 -9
  210. package/dist/chunk-Q7SFCCGT.cjs +0 -11
  211. package/dist/chunk-S37KCGOR.cjs.map +0 -1
  212. package/dist/chunk-SQ7KKIH3.js.map +0 -1
  213. package/dist/chunk-TRWPUPGD.js.map +0 -1
  214. package/dist/chunk-TXAQU2XN.js.map +0 -1
  215. package/dist/chunk-UVOSITKU.js.map +0 -1
  216. package/dist/chunk-VIGPWTDA.cjs.map +0 -1
  217. package/dist/chunk-VOY6MGKA.js +0 -301
  218. package/dist/chunk-VOY6MGKA.js.map +0 -1
  219. package/dist/chunk-X5SDJOY6.cjs.map +0 -1
  220. package/dist/chunk-Y3J45CVZ.js +0 -144
  221. package/dist/chunk-Y3J45CVZ.js.map +0 -1
  222. package/dist/chunk-YS66MFDY.js.map +0 -1
  223. package/dist/server/handlers/network.cjs +0 -24
  224. package/dist/server/handlers/network.cjs.map +0 -1
  225. package/dist/server/handlers/network.d.ts +0 -50
  226. package/dist/server/handlers/network.d.ts.map +0 -1
  227. package/dist/server/handlers/network.js +0 -3
  228. package/dist/server/handlers/network.js.map +0 -1
  229. package/dist/server/handlers/vNextNetwork.cjs +0 -220
  230. package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
  231. package/dist/server/handlers/vNextNetwork.d.ts +0 -179
  232. package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
  233. package/dist/server/handlers/vNextNetwork.js +0 -213
  234. package/dist/server/handlers/vNextNetwork.js.map +0 -1
@@ -1,150 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk4QSNRCOT_cjs = require('./chunk-4QSNRCOT.cjs');
4
- var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
5
- var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
6
- var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
7
-
8
- // src/server/handlers/network.ts
9
- var network_exports = {};
10
- chunkQ7SFCCGT_cjs.__export(network_exports, {
11
- generateHandler: () => generateHandler,
12
- getNetworkByIdHandler: () => getNetworkByIdHandler,
13
- getNetworksHandler: () => getNetworksHandler,
14
- streamGenerateHandler: () => streamGenerateHandler
15
- });
16
- async function getNetworksHandler({
17
- mastra,
18
- runtimeContext
19
- }) {
20
- try {
21
- const networks = mastra.getNetworks();
22
- const serializedNetworks = await Promise.all(
23
- networks.map(async (network) => {
24
- const routingAgent = network.getRoutingAgent();
25
- const routingLLM = await routingAgent.getLLM({ runtimeContext });
26
- const agents = network.getAgents();
27
- return {
28
- id: network.formatAgentId(routingAgent.name),
29
- name: routingAgent.name,
30
- instructions: routingAgent.instructions,
31
- agents: await Promise.all(
32
- agents.map(async (agent) => {
33
- const llm = await agent.getLLM({ runtimeContext });
34
- return {
35
- name: agent.name,
36
- provider: llm?.getProvider(),
37
- modelId: llm?.getModelId()
38
- };
39
- })
40
- ),
41
- routingModel: {
42
- provider: routingLLM?.getProvider(),
43
- modelId: routingLLM?.getModelId()
44
- }
45
- };
46
- })
47
- );
48
- return serializedNetworks;
49
- } catch (error) {
50
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting networks");
51
- }
52
- }
53
- async function getNetworkByIdHandler({
54
- mastra,
55
- networkId,
56
- runtimeContext
57
- }) {
58
- try {
59
- const networks = mastra.getNetworks();
60
- const network = networks.find((network2) => {
61
- const routingAgent2 = network2.getRoutingAgent();
62
- return network2.formatAgentId(routingAgent2.name) === networkId;
63
- });
64
- if (!network) {
65
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Network not found" });
66
- }
67
- const routingAgent = network.getRoutingAgent();
68
- const routingLLM = await routingAgent.getLLM({ runtimeContext });
69
- const agents = network.getAgents();
70
- const serializedNetwork = {
71
- id: network.formatAgentId(routingAgent.name),
72
- name: routingAgent.name,
73
- instructions: routingAgent.instructions,
74
- agents: await Promise.all(
75
- agents.map(async (agent) => {
76
- const llm = await agent.getLLM({ runtimeContext });
77
- return {
78
- name: agent.name,
79
- provider: llm?.getProvider(),
80
- modelId: llm?.getModelId()
81
- };
82
- })
83
- ),
84
- routingModel: {
85
- provider: routingLLM?.getProvider(),
86
- modelId: routingLLM?.getModelId()
87
- }
88
- };
89
- return serializedNetwork;
90
- } catch (error) {
91
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting network by ID");
92
- }
93
- }
94
- async function generateHandler({
95
- mastra,
96
- runtimeContext,
97
- networkId,
98
- body
99
- }) {
100
- try {
101
- const network = mastra.getNetwork(networkId);
102
- if (!network) {
103
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Network not found" });
104
- }
105
- chunk4QSNRCOT_cjs.validateBody({ messages: body.messages });
106
- const { messages, ...rest } = body;
107
- const result = await network.generate(messages, { ...rest, runtimeContext });
108
- return result;
109
- } catch (error) {
110
- return chunkRE4RPXT2_cjs.handleError(error, "Error generating from network");
111
- }
112
- }
113
- async function streamGenerateHandler({
114
- mastra,
115
- networkId,
116
- body,
117
- runtimeContext
118
- }) {
119
- try {
120
- const network = mastra.getNetwork(networkId);
121
- if (!network) {
122
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Network not found" });
123
- }
124
- chunk4QSNRCOT_cjs.validateBody({ messages: body.messages });
125
- const { messages, output, ...rest } = body;
126
- const streamResult = await network.stream(messages, {
127
- output,
128
- ...rest,
129
- runtimeContext
130
- });
131
- const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toDataStreamResponse({
132
- sendUsage: true,
133
- sendReasoning: true,
134
- getErrorMessage: (error) => {
135
- return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
136
- }
137
- });
138
- return streamResponse;
139
- } catch (error) {
140
- return chunkRE4RPXT2_cjs.handleError(error, "Error streaming from network");
141
- }
142
- }
143
-
144
- exports.generateHandler = generateHandler;
145
- exports.getNetworkByIdHandler = getNetworkByIdHandler;
146
- exports.getNetworksHandler = getNetworksHandler;
147
- exports.network_exports = network_exports;
148
- exports.streamGenerateHandler = streamGenerateHandler;
149
- //# sourceMappingURL=chunk-4CEZIJWJ.cjs.map
150
- //# sourceMappingURL=chunk-4CEZIJWJ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/network.ts"],"names":["__export","handleError","network","routingAgent","HTTPException","validateBody"],"mappings":"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","file":"chunk-4CEZIJWJ.cjs","sourcesContent":["import type { AgentStreamOptions } from '@mastra/core/agent';\nimport type { GenerateReturn } from '@mastra/core/llm';\nimport type { AgentNetwork } from '@mastra/core/network';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface NetworkContext extends Context {\n networkId?: string;\n runtimeContext: RuntimeContext;\n}\n\nexport async function getNetworksHandler({\n mastra,\n runtimeContext,\n}: Pick<NetworkContext, 'mastra' | 'runtimeContext'>) {\n try {\n const networks = mastra.getNetworks();\n\n const serializedNetworks = await Promise.all(\n networks.map(async network => {\n const routingAgent = network.getRoutingAgent();\n const routingLLM = await routingAgent.getLLM({ runtimeContext });\n const agents = network.getAgents();\n return {\n id: network.formatAgentId(routingAgent.name),\n name: routingAgent.name,\n instructions: routingAgent.instructions,\n agents: await Promise.all(\n agents.map(async agent => {\n const llm = await agent.getLLM({ runtimeContext });\n return {\n name: agent.name,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n };\n }),\n ),\n routingModel: {\n provider: routingLLM?.getProvider(),\n modelId: routingLLM?.getModelId(),\n },\n };\n }),\n );\n\n return serializedNetworks;\n } catch (error) {\n return handleError(error, 'Error getting networks');\n }\n}\n\nexport async function getNetworkByIdHandler({\n mastra,\n networkId,\n runtimeContext,\n}: Pick<NetworkContext, 'mastra' | 'networkId' | 'runtimeContext'>) {\n try {\n const networks = mastra.getNetworks();\n\n const network = networks.find(network => {\n const routingAgent = network.getRoutingAgent();\n return network.formatAgentId(routingAgent.name) === networkId;\n });\n\n if (!network) {\n throw new HTTPException(404, { message: 'Network not found' });\n }\n\n const routingAgent = network.getRoutingAgent();\n const routingLLM = await routingAgent.getLLM({ runtimeContext });\n const agents = network.getAgents();\n\n const serializedNetwork = {\n id: network.formatAgentId(routingAgent.name),\n name: routingAgent.name,\n instructions: routingAgent.instructions,\n agents: await Promise.all(\n agents.map(async agent => {\n const llm = await agent.getLLM({ runtimeContext });\n return {\n name: agent.name,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n };\n }),\n ),\n routingModel: {\n provider: routingLLM?.getProvider(),\n modelId: routingLLM?.getModelId(),\n },\n };\n\n return serializedNetwork;\n } catch (error) {\n return handleError(error, 'Error getting network by ID');\n }\n}\n\nexport async function generateHandler({\n mastra,\n runtimeContext,\n networkId,\n body,\n}: NetworkContext & {\n runtimeContext: RuntimeContext;\n body: { messages?: Parameters<AgentNetwork['generate']>[0] } & Parameters<AgentNetwork['generate']>[1];\n}): Promise<GenerateReturn<any, any, any>> {\n try {\n const network = mastra.getNetwork(networkId!);\n\n if (!network) {\n throw new HTTPException(404, { message: 'Network not found' });\n }\n\n validateBody({ messages: body.messages });\n\n const { messages, ...rest } = body;\n const result = await network.generate(messages!, { ...rest, runtimeContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from network');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n networkId,\n body,\n runtimeContext,\n}: NetworkContext & {\n runtimeContext: RuntimeContext;\n body: { messages?: Parameters<AgentNetwork['stream']>[0] } & Parameters<AgentNetwork['stream']>[1];\n}) {\n try {\n const network = mastra.getNetwork(networkId!);\n\n if (!network) {\n throw new HTTPException(404, { message: 'Network not found' });\n }\n\n validateBody({ messages: body.messages });\n\n const { messages, output, ...rest } = body;\n const streamResult = await network.stream(messages!, {\n output: output as any,\n ...rest,\n runtimeContext,\n } as AgentStreamOptions<any, any>);\n\n const streamResponse = output\n ? streamResult.toTextStreamResponse()\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 });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'Error streaming from network');\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/utils.ts"],"names":["HTTPException"],"mappings":";;;;;AAGO,SAAS,aAAa,IAAA,EAA+B;AAC1D,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,CAAE,MAAA,CAA+B,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAC/F,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,GAAA,CAAI,GAAG,CAAA,GAAI,CAAA,UAAA,EAAa,GAAG,CAAA,aAAA,CAAA;AAAA,IAC7B;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,SAAS,CAAA,EAAG;AACzC,IAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,aAAa,CAAA,CAAE,CAAC,CAAA,EAAG,CAAA;AAAA,EAC3E;AACF","file":"chunk-4QSNRCOT.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `Argument \"${key}\" is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: Object.values(errorResponse)[0] });\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":["__export","HTTPException","handleError","validateBody","Readable"],"mappings":"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","file":"chunk-4US5W7PH.cjs","sourcesContent":["import { Readable } from 'stream';\nimport type { Agent } from '@mastra/core/agent';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface VoiceContext extends Context {\n agentId?: string;\n}\n\n/**\n * Get available speakers for an agent\n */\nexport async function getSpeakersHandler({ mastra, agentId }: VoiceContext) {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice();\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const speakers = await voice.getSpeakers();\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n}\n\n/**\n * Generate speech from text\n */\nexport async function generateSpeechHandler({\n mastra,\n agentId,\n body,\n}: VoiceContext & {\n body?: {\n text?: string;\n speakerId?: string;\n };\n}) {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({\n text: body?.text,\n });\n\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice();\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await voice.speak(body!.text!, { speaker: body!.speakerId! });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n return audioStream;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n}\n\n/**\n * Transcribe speech to text\n */\nexport async function transcribeSpeechHandler({\n mastra,\n agentId,\n body,\n}: VoiceContext & {\n body?: {\n audioData?: Buffer;\n options?: Parameters<NonNullable<Agent['voice']>['listen']>[1];\n };\n}) {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!body?.audioData) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice();\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(body.audioData);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, body.options);\n return { text };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n}\n\n/**\n * Get available listeners for an agent\n */\nexport async function getListenerHandler({ mastra, agentId }: VoiceContext) {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice();\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const listeners = await voice.getListener();\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n}\n"]}