@mastra/server 0.0.0-sidebar-window-undefined-fix-20251029233656 → 0.0.0-span-scorring-test-20251124132129

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 (252) hide show
  1. package/CHANGELOG.md +713 -3
  2. package/README.md +1 -1
  3. package/dist/chunk-2NW6POYK.cjs +89 -0
  4. package/dist/chunk-2NW6POYK.cjs.map +1 -0
  5. package/dist/chunk-35NT4TMQ.cjs +201 -0
  6. package/dist/chunk-35NT4TMQ.cjs.map +1 -0
  7. package/dist/{chunk-MN2TZQ7I.js → chunk-3R5EV3HV.js} +218 -31
  8. package/dist/chunk-3R5EV3HV.js.map +1 -0
  9. package/dist/{chunk-K5T5A3AL.cjs → chunk-4ECGVOJZ.cjs} +224 -31
  10. package/dist/chunk-4ECGVOJZ.cjs.map +1 -0
  11. package/dist/chunk-5PONYNYP.cjs +125 -0
  12. package/dist/chunk-5PONYNYP.cjs.map +1 -0
  13. package/dist/chunk-5W4RPVTK.cjs +49 -0
  14. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  15. package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
  16. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  17. package/dist/{chunk-7HCPO76Z.js → chunk-6BISSAIF.js} +5096 -1150
  18. package/dist/chunk-6BISSAIF.js.map +1 -0
  19. package/dist/chunk-6DTV6NEW.js +116 -0
  20. package/dist/chunk-6DTV6NEW.js.map +1 -0
  21. package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
  22. package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
  23. package/dist/chunk-AEO6IHLK.cjs +368 -0
  24. package/dist/chunk-AEO6IHLK.cjs.map +1 -0
  25. package/dist/chunk-ASZUOBKV.js +310 -0
  26. package/dist/chunk-ASZUOBKV.js.map +1 -0
  27. package/dist/chunk-ECIVTQ4E.js +354 -0
  28. package/dist/chunk-ECIVTQ4E.js.map +1 -0
  29. package/dist/chunk-FAQICBMH.js +164 -0
  30. package/dist/chunk-FAQICBMH.js.map +1 -0
  31. package/dist/chunk-FXDZLX2Y.js +192 -0
  32. package/dist/chunk-FXDZLX2Y.js.map +1 -0
  33. package/dist/{chunk-KSFLUEWV.js → chunk-G7BPNX2V.js} +6 -6
  34. package/dist/chunk-G7BPNX2V.js.map +1 -0
  35. package/dist/chunk-I5VZ5SKG.js +328 -0
  36. package/dist/chunk-I5VZ5SKG.js.map +1 -0
  37. package/dist/chunk-ICANWSEW.js +204 -0
  38. package/dist/chunk-ICANWSEW.js.map +1 -0
  39. package/dist/chunk-KB5NSROG.cjs +211 -0
  40. package/dist/chunk-KB5NSROG.cjs.map +1 -0
  41. package/dist/chunk-MWQQRVQC.cjs +259 -0
  42. package/dist/chunk-MWQQRVQC.cjs.map +1 -0
  43. package/dist/chunk-NDFAQBQD.cjs +792 -0
  44. package/dist/chunk-NDFAQBQD.cjs.map +1 -0
  45. package/dist/chunk-PKRHEXX7.js +74 -0
  46. package/dist/chunk-PKRHEXX7.js.map +1 -0
  47. package/dist/chunk-QGWCNTG6.cjs +797 -0
  48. package/dist/chunk-QGWCNTG6.cjs.map +1 -0
  49. package/dist/chunk-R4M3BSUG.js +226 -0
  50. package/dist/chunk-R4M3BSUG.js.map +1 -0
  51. package/dist/{chunk-KDUHLUK4.cjs → chunk-TBVUN4XN.cjs} +5944 -1992
  52. package/dist/chunk-TBVUN4XN.cjs.map +1 -0
  53. package/dist/chunk-UJNHKFBR.cjs +167 -0
  54. package/dist/chunk-UJNHKFBR.cjs.map +1 -0
  55. package/dist/chunk-UOFV2ZCI.js +878 -0
  56. package/dist/chunk-UOFV2ZCI.js.map +1 -0
  57. package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
  58. package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
  59. package/dist/{chunk-CJFKRVED.cjs → chunk-UZ6CYAOG.cjs} +6 -6
  60. package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
  61. package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
  62. package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
  63. package/dist/chunk-VQAT5HX6.js +756 -0
  64. package/dist/chunk-VQAT5HX6.js.map +1 -0
  65. package/dist/chunk-XWGAT2DA.js +44 -0
  66. package/dist/chunk-XWGAT2DA.js.map +1 -0
  67. package/dist/chunk-YJ3VDL3Z.cjs +346 -0
  68. package/dist/chunk-YJ3VDL3Z.cjs.map +1 -0
  69. package/dist/chunk-Z36N2OQA.cjs +907 -0
  70. package/dist/chunk-Z36N2OQA.cjs.map +1 -0
  71. package/dist/chunk-ZLRTFRL4.js +773 -0
  72. package/dist/chunk-ZLRTFRL4.js.map +1 -0
  73. package/dist/chunk-ZODCSH2W.cjs +322 -0
  74. package/dist/chunk-ZODCSH2W.cjs.map +1 -0
  75. package/dist/server/handlers/a2a.cjs +15 -7
  76. package/dist/server/handlers/a2a.d.ts +492 -10
  77. package/dist/server/handlers/a2a.d.ts.map +1 -1
  78. package/dist/server/handlers/a2a.js +1 -1
  79. package/dist/server/handlers/agent-builder.cjs +43 -31
  80. package/dist/server/handlers/agent-builder.d.ts +592 -84
  81. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  82. package/dist/server/handlers/agent-builder.js +1 -1
  83. package/dist/server/handlers/agents.cjs +51 -39
  84. package/dist/server/handlers/agents.d.ts +3277 -148
  85. package/dist/server/handlers/agents.d.ts.map +1 -1
  86. package/dist/server/handlers/agents.js +1 -1
  87. package/dist/server/handlers/error.cjs +2 -2
  88. package/dist/server/handlers/error.js +1 -1
  89. package/dist/server/handlers/logs.cjs +7 -7
  90. package/dist/server/handlers/logs.d.ts +135 -27
  91. package/dist/server/handlers/logs.d.ts.map +1 -1
  92. package/dist/server/handlers/logs.js +1 -1
  93. package/dist/server/handlers/memory.cjs +63 -31
  94. package/dist/server/handlers/memory.d.ts +934 -103
  95. package/dist/server/handlers/memory.d.ts.map +1 -1
  96. package/dist/server/handlers/memory.js +1 -1
  97. package/dist/server/handlers/observability.cjs +24 -8
  98. package/dist/server/handlers/observability.d.ts +128 -21
  99. package/dist/server/handlers/observability.d.ts.map +1 -1
  100. package/dist/server/handlers/observability.js +1 -1
  101. package/dist/server/handlers/scores.cjs +13 -13
  102. package/dist/server/handlers/scores.d.ts +110 -141
  103. package/dist/server/handlers/scores.d.ts.map +1 -1
  104. package/dist/server/handlers/scores.js +1 -1
  105. package/dist/server/handlers/test-utils.cjs +15 -0
  106. package/dist/server/handlers/test-utils.cjs.map +1 -0
  107. package/dist/server/handlers/test-utils.d.ts +6 -0
  108. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  109. package/dist/server/handlers/test-utils.js +13 -0
  110. package/dist/server/handlers/test-utils.js.map +1 -0
  111. package/dist/server/handlers/tools.cjs +11 -11
  112. package/dist/server/handlers/tools.d.ts +69 -23
  113. package/dist/server/handlers/tools.d.ts.map +1 -1
  114. package/dist/server/handlers/tools.js +1 -1
  115. package/dist/server/handlers/utils.cjs +11 -3
  116. package/dist/server/handlers/utils.d.ts +5 -0
  117. package/dist/server/handlers/utils.d.ts.map +1 -1
  118. package/dist/server/handlers/utils.js +1 -1
  119. package/dist/server/handlers/vector.cjs +31 -7
  120. package/dist/server/handlers/vector.d.ts +93 -9
  121. package/dist/server/handlers/vector.d.ts.map +1 -1
  122. package/dist/server/handlers/vector.js +1 -1
  123. package/dist/server/handlers/voice.cjs +21 -9
  124. package/dist/server/handlers/voice.d.ts +81 -40
  125. package/dist/server/handlers/voice.d.ts.map +1 -1
  126. package/dist/server/handlers/voice.js +1 -1
  127. package/dist/server/handlers/workflows.cjs +37 -45
  128. package/dist/server/handlers/workflows.d.ts +597 -83
  129. package/dist/server/handlers/workflows.d.ts.map +1 -1
  130. package/dist/server/handlers/workflows.js +1 -1
  131. package/dist/server/handlers.cjs +23 -28
  132. package/dist/server/handlers.d.ts +0 -1
  133. package/dist/server/handlers.d.ts.map +1 -1
  134. package/dist/server/handlers.js +11 -12
  135. package/dist/server/http-exception.d.ts +0 -5
  136. package/dist/server/http-exception.d.ts.map +1 -1
  137. package/dist/server/schemas/a2a.d.ts +786 -0
  138. package/dist/server/schemas/a2a.d.ts.map +1 -0
  139. package/dist/server/schemas/agent-builder.d.ts +195 -0
  140. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  141. package/dist/server/schemas/agents.d.ts +1375 -0
  142. package/dist/server/schemas/agents.d.ts.map +1 -0
  143. package/dist/server/schemas/common.d.ts +165 -0
  144. package/dist/server/schemas/common.d.ts.map +1 -0
  145. package/dist/server/schemas/logs.d.ts +124 -0
  146. package/dist/server/schemas/logs.d.ts.map +1 -0
  147. package/dist/server/schemas/memory.d.ts +998 -0
  148. package/dist/server/schemas/memory.d.ts.map +1 -0
  149. package/dist/server/schemas/observability.d.ts +402 -0
  150. package/dist/server/schemas/observability.d.ts.map +1 -0
  151. package/dist/server/schemas/scores.d.ts +259 -0
  152. package/dist/server/schemas/scores.d.ts.map +1 -0
  153. package/dist/server/schemas/vectors.d.ts +107 -0
  154. package/dist/server/schemas/vectors.d.ts.map +1 -0
  155. package/dist/server/schemas/workflows.d.ts +505 -0
  156. package/dist/server/schemas/workflows.d.ts.map +1 -0
  157. package/dist/server/server-adapter/index.cjs +323 -0
  158. package/dist/server/server-adapter/index.cjs.map +1 -0
  159. package/dist/server/server-adapter/index.d.ts +52 -0
  160. package/dist/server/server-adapter/index.d.ts.map +1 -0
  161. package/dist/server/server-adapter/index.js +309 -0
  162. package/dist/server/server-adapter/index.js.map +1 -0
  163. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  164. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  165. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  166. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  167. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  168. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  169. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  170. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  171. package/dist/server/server-adapter/routes/index.d.ts +41 -0
  172. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  173. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  174. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  175. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  176. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  177. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  178. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  179. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  180. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  181. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  182. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  183. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  184. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  185. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  186. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  187. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  188. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  189. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  190. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  191. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  192. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  193. package/dist/server/utils.d.ts +3 -2
  194. package/dist/server/utils.d.ts.map +1 -1
  195. package/package.json +26 -8
  196. package/dist/chunk-2P4VRXBT.js +0 -533
  197. package/dist/chunk-2P4VRXBT.js.map +0 -1
  198. package/dist/chunk-2S4IMB6E.cjs +0 -130
  199. package/dist/chunk-2S4IMB6E.cjs.map +0 -1
  200. package/dist/chunk-3SNGNFUJ.cjs +0 -128
  201. package/dist/chunk-3SNGNFUJ.cjs.map +0 -1
  202. package/dist/chunk-4QCXUEAT.js +0 -25
  203. package/dist/chunk-4QCXUEAT.js.map +0 -1
  204. package/dist/chunk-6VPAV4ZV.js +0 -692
  205. package/dist/chunk-6VPAV4ZV.js.map +0 -1
  206. package/dist/chunk-7HCPO76Z.js.map +0 -1
  207. package/dist/chunk-ABRFV4XP.js +0 -83
  208. package/dist/chunk-ABRFV4XP.js.map +0 -1
  209. package/dist/chunk-AHB4JCIQ.js +0 -160
  210. package/dist/chunk-AHB4JCIQ.js.map +0 -1
  211. package/dist/chunk-AW5BU3RQ.js +0 -192
  212. package/dist/chunk-AW5BU3RQ.js.map +0 -1
  213. package/dist/chunk-B7QWVGQQ.cjs +0 -729
  214. package/dist/chunk-B7QWVGQQ.cjs.map +0 -1
  215. package/dist/chunk-BATEJLED.js +0 -124
  216. package/dist/chunk-BATEJLED.js.map +0 -1
  217. package/dist/chunk-CJFKRVED.cjs.map +0 -1
  218. package/dist/chunk-EP3JQDPD.cjs +0 -131
  219. package/dist/chunk-EP3JQDPD.cjs.map +0 -1
  220. package/dist/chunk-G4PUALCE.cjs +0 -28
  221. package/dist/chunk-G4PUALCE.cjs.map +0 -1
  222. package/dist/chunk-GDUKGVFI.cjs +0 -550
  223. package/dist/chunk-GDUKGVFI.cjs.map +0 -1
  224. package/dist/chunk-I3C4ODGV.cjs +0 -335
  225. package/dist/chunk-I3C4ODGV.cjs.map +0 -1
  226. package/dist/chunk-K5T5A3AL.cjs.map +0 -1
  227. package/dist/chunk-KDUHLUK4.cjs.map +0 -1
  228. package/dist/chunk-KSFLUEWV.js.map +0 -1
  229. package/dist/chunk-LLUOPR3J.js +0 -323
  230. package/dist/chunk-LLUOPR3J.js.map +0 -1
  231. package/dist/chunk-MMROOK5J.js.map +0 -1
  232. package/dist/chunk-MN2TZQ7I.js.map +0 -1
  233. package/dist/chunk-MYR4PVGN.js +0 -123
  234. package/dist/chunk-MYR4PVGN.js.map +0 -1
  235. package/dist/chunk-QQXMIP6C.js +0 -122
  236. package/dist/chunk-QQXMIP6C.js.map +0 -1
  237. package/dist/chunk-SPRRK3P7.cjs +0 -200
  238. package/dist/chunk-SPRRK3P7.cjs.map +0 -1
  239. package/dist/chunk-TRGAMKHX.cjs +0 -167
  240. package/dist/chunk-TRGAMKHX.cjs.map +0 -1
  241. package/dist/chunk-XN74I6VW.cjs +0 -88
  242. package/dist/chunk-XN74I6VW.cjs.map +0 -1
  243. package/dist/chunk-YSHNCC6F.cjs +0 -713
  244. package/dist/chunk-YSHNCC6F.cjs.map +0 -1
  245. package/dist/chunk-ZLBL4NQC.js +0 -707
  246. package/dist/chunk-ZLBL4NQC.js.map +0 -1
  247. package/dist/server/handlers/legacyWorkflows.cjs +0 -48
  248. package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
  249. package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
  250. package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
  251. package/dist/server/handlers/legacyWorkflows.js +0 -3
  252. package/dist/server/handlers/legacyWorkflows.js.map +0 -1
@@ -1,122 +0,0 @@
1
- import { validateBody } from './chunk-4QCXUEAT.js';
2
- import { handleError } from './chunk-CY4TP3FK.js';
3
- import { HTTPException } from './chunk-MMROOK5J.js';
4
- import { __export } from './chunk-PR4QN5HX.js';
5
- import { Readable } from 'stream';
6
- import { MastraError } from '@mastra/core/error';
7
-
8
- // src/server/handlers/voice.ts
9
- var voice_exports = {};
10
- __export(voice_exports, {
11
- generateSpeechHandler: () => generateSpeechHandler,
12
- getListenerHandler: () => getListenerHandler,
13
- getSpeakersHandler: () => getSpeakersHandler,
14
- transcribeSpeechHandler: () => transcribeSpeechHandler
15
- });
16
- async function getSpeakersHandler({ mastra, agentId, runtimeContext }) {
17
- try {
18
- if (!agentId) {
19
- throw new HTTPException(400, { message: "Agent ID is required" });
20
- }
21
- const agent = mastra.getAgent(agentId);
22
- if (!agent) {
23
- throw new HTTPException(404, { message: "Agent not found" });
24
- }
25
- const voice = await agent.getVoice({ runtimeContext });
26
- if (!voice) {
27
- throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
28
- }
29
- const speakers = await voice.getSpeakers();
30
- return speakers;
31
- } catch (error) {
32
- return handleError(error, "Error getting speakers");
33
- }
34
- }
35
- async function generateSpeechHandler({
36
- mastra,
37
- agentId,
38
- body,
39
- runtimeContext
40
- }) {
41
- try {
42
- if (!agentId) {
43
- throw new HTTPException(400, { message: "Agent ID is required" });
44
- }
45
- validateBody({
46
- text: body?.text
47
- });
48
- const agent = mastra.getAgent(agentId);
49
- if (!agent) {
50
- throw new HTTPException(404, { message: "Agent not found" });
51
- }
52
- const voice = await agent.getVoice({ runtimeContext });
53
- if (!voice) {
54
- throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
55
- }
56
- const audioStream = await Promise.resolve().then(() => voice.speak(body.text, { speaker: body.speakerId })).catch((err) => {
57
- if (err instanceof MastraError) {
58
- throw new HTTPException(400, { message: err.message });
59
- }
60
- throw err;
61
- });
62
- if (!audioStream) {
63
- throw new HTTPException(500, { message: "Failed to generate speech" });
64
- }
65
- return audioStream;
66
- } catch (error) {
67
- return handleError(error, "Error generating speech");
68
- }
69
- }
70
- async function transcribeSpeechHandler({
71
- mastra,
72
- agentId,
73
- body,
74
- runtimeContext
75
- }) {
76
- try {
77
- if (!agentId) {
78
- throw new HTTPException(400, { message: "Agent ID is required" });
79
- }
80
- if (!body?.audioData) {
81
- throw new HTTPException(400, { message: "Audio data is required" });
82
- }
83
- const agent = mastra.getAgent(agentId);
84
- if (!agent) {
85
- throw new HTTPException(404, { message: "Agent not found" });
86
- }
87
- const voice = await agent.getVoice({ runtimeContext });
88
- if (!voice) {
89
- throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
90
- }
91
- const audioStream = new Readable();
92
- audioStream.push(body.audioData);
93
- audioStream.push(null);
94
- const text = await voice.listen(audioStream, body.options);
95
- return { text };
96
- } catch (error) {
97
- return handleError(error, "Error transcribing speech");
98
- }
99
- }
100
- async function getListenerHandler({ mastra, agentId, runtimeContext }) {
101
- try {
102
- if (!agentId) {
103
- throw new HTTPException(400, { message: "Agent ID is required" });
104
- }
105
- const agent = mastra.getAgent(agentId);
106
- if (!agent) {
107
- throw new HTTPException(404, { message: "Agent not found" });
108
- }
109
- const voice = await agent.getVoice({ runtimeContext });
110
- if (!voice) {
111
- throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
112
- }
113
- const listeners = await voice.getListener();
114
- return listeners;
115
- } catch (error) {
116
- return handleError(error, "Error getting listeners");
117
- }
118
- }
119
-
120
- export { generateSpeechHandler, getListenerHandler, getSpeakersHandler, transcribeSpeechHandler, voice_exports };
121
- //# sourceMappingURL=chunk-QQXMIP6C.js.map
122
- //# sourceMappingURL=chunk-QQXMIP6C.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-QQXMIP6C.js","sourcesContent":["import { Readable } from 'stream';\nimport type { Agent } from '@mastra/core/agent';\nimport { MastraError } from '@mastra/core/error';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\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 runtimeContext?: RuntimeContext;\n}\n\n/**\n * Get available speakers for an agent\n */\nexport async function getSpeakersHandler({ mastra, agentId, runtimeContext }: 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({ runtimeContext });\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 runtimeContext,\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({ runtimeContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(body!.text!, { speaker: body!.speakerId! }))\n .catch(err => {\n if (err instanceof MastraError) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\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 runtimeContext,\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({ runtimeContext });\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, runtimeContext }: 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({ runtimeContext });\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"]}
@@ -1,200 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
4
- var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
5
-
6
- // src/server/handlers/scores.ts
7
- var scores_exports = {};
8
- chunkO7I5CWRX_cjs.__export(scores_exports, {
9
- getScorerHandler: () => getScorerHandler,
10
- getScorersHandler: () => getScorersHandler,
11
- getScoresByEntityIdHandler: () => getScoresByEntityIdHandler,
12
- getScoresByRunIdHandler: () => getScoresByRunIdHandler,
13
- getScoresByScorerIdHandler: () => getScoresByScorerIdHandler,
14
- saveScoreHandler: () => saveScoreHandler
15
- });
16
- async function getScorersFromSystem({
17
- mastra,
18
- runtimeContext
19
- }) {
20
- const agents = mastra.getAgents();
21
- const workflows = mastra.getWorkflows();
22
- const scorersMap = /* @__PURE__ */ new Map();
23
- for (const [agentId, agent] of Object.entries(agents)) {
24
- const scorers = await agent.getScorers({
25
- runtimeContext
26
- }) || {};
27
- if (Object.keys(scorers).length > 0) {
28
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
29
- const scorerName = scorer.scorer.name;
30
- if (scorersMap.has(scorerName)) {
31
- scorersMap.get(scorerName)?.agentIds.push(agentId);
32
- scorersMap.get(scorerName)?.agentNames.push(agent.name);
33
- } else {
34
- scorersMap.set(scorerName, {
35
- workflowIds: [],
36
- ...scorer,
37
- agentNames: [agent.name],
38
- agentIds: [agentId],
39
- isRegistered: false
40
- });
41
- }
42
- }
43
- }
44
- }
45
- for (const [workflowId, workflow] of Object.entries(workflows)) {
46
- const scorers = await workflow.getScorers({
47
- runtimeContext
48
- }) || {};
49
- if (Object.keys(scorers).length > 0) {
50
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
51
- const scorerName = scorer.scorer.name;
52
- if (scorersMap.has(scorerName)) {
53
- scorersMap.get(scorerName)?.workflowIds.push(workflowId);
54
- } else {
55
- scorersMap.set(scorerName, {
56
- agentIds: [],
57
- agentNames: [],
58
- ...scorer,
59
- workflowIds: [workflowId],
60
- isRegistered: false
61
- });
62
- }
63
- }
64
- }
65
- }
66
- const registeredScorers = await mastra.getScorers();
67
- for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
68
- const scorerName = scorer.name;
69
- if (scorersMap.has(scorerName)) {
70
- scorersMap.get(scorerName).isRegistered = true;
71
- } else {
72
- scorersMap.set(scorerName, {
73
- scorer,
74
- agentIds: [],
75
- agentNames: [],
76
- workflowIds: [],
77
- isRegistered: true
78
- });
79
- }
80
- }
81
- return Object.fromEntries(scorersMap.entries());
82
- }
83
- async function getScorersHandler({ mastra, runtimeContext }) {
84
- const scorers = await getScorersFromSystem({
85
- mastra,
86
- runtimeContext
87
- });
88
- return scorers;
89
- }
90
- async function getScorerHandler({
91
- mastra,
92
- scorerId,
93
- runtimeContext
94
- }) {
95
- const scorers = await getScorersFromSystem({
96
- mastra,
97
- runtimeContext
98
- });
99
- const scorer = scorers[scorerId];
100
- if (!scorer) {
101
- return null;
102
- }
103
- return scorer;
104
- }
105
- async function getScoresByRunIdHandler({
106
- mastra,
107
- runId,
108
- pagination
109
- }) {
110
- try {
111
- const scoreResults = await mastra.getStorage()?.getScoresByRunId?.({
112
- runId,
113
- pagination
114
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
115
- return {
116
- pagination: scoreResults.pagination,
117
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
118
- };
119
- } catch (error) {
120
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by run id");
121
- }
122
- }
123
- async function getScoresByScorerIdHandler({
124
- mastra,
125
- scorerId,
126
- pagination,
127
- entityId,
128
- entityType
129
- }) {
130
- try {
131
- const scoreResults = await mastra.getStorage()?.getScoresByScorerId?.({
132
- scorerId,
133
- pagination,
134
- entityId,
135
- entityType
136
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
137
- return {
138
- pagination: scoreResults.pagination,
139
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
140
- };
141
- } catch (error) {
142
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by scorer id");
143
- }
144
- }
145
- async function getScoresByEntityIdHandler({
146
- mastra,
147
- entityId,
148
- entityType,
149
- pagination
150
- }) {
151
- try {
152
- let entityIdToUse = entityId;
153
- if (entityType === "AGENT") {
154
- const agent = mastra.getAgentById(entityId);
155
- entityIdToUse = agent.id;
156
- } else if (entityType === "WORKFLOW") {
157
- const workflow = mastra.getWorkflowById(entityId);
158
- entityIdToUse = workflow.id;
159
- }
160
- const scoreResults = await mastra.getStorage()?.getScoresByEntityId?.({
161
- entityId: entityIdToUse,
162
- entityType,
163
- pagination
164
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
165
- return {
166
- pagination: scoreResults.pagination,
167
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
168
- };
169
- } catch (error) {
170
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by entity id");
171
- }
172
- }
173
- function getTraceDetails(traceIdWithSpanId) {
174
- if (!traceIdWithSpanId) {
175
- return {};
176
- }
177
- const [traceId, spanId] = traceIdWithSpanId.split("-");
178
- return {
179
- ...traceId ? { traceId } : {},
180
- ...spanId ? { spanId } : {}
181
- };
182
- }
183
- async function saveScoreHandler({ mastra, score }) {
184
- try {
185
- const scores = await mastra.getStorage()?.saveScore?.(score) || [];
186
- return scores;
187
- } catch (error) {
188
- return chunkRE4RPXT2_cjs.handleError(error, "Error saving score");
189
- }
190
- }
191
-
192
- exports.getScorerHandler = getScorerHandler;
193
- exports.getScorersHandler = getScorersHandler;
194
- exports.getScoresByEntityIdHandler = getScoresByEntityIdHandler;
195
- exports.getScoresByRunIdHandler = getScoresByRunIdHandler;
196
- exports.getScoresByScorerIdHandler = getScoresByScorerIdHandler;
197
- exports.saveScoreHandler = saveScoreHandler;
198
- exports.scores_exports = scores_exports;
199
- //# sourceMappingURL=chunk-SPRRK3P7.cjs.map
200
- //# sourceMappingURL=chunk-SPRRK3P7.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/scores.ts"],"names":["__export","handleError"],"mappings":"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","file":"chunk-SPRRK3P7.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { MastraScorerEntry, ScoreRowData } from '@mastra/core/scores';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function getScorersFromSystem({\n mastra,\n runtimeContext,\n}: Context & {\n runtimeContext: RuntimeContext;\n}) {\n const agents = mastra.getAgents();\n const workflows = mastra.getWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & { agentIds: string[]; agentNames: string[]; workflowIds: string[]; isRegistered: boolean }\n >();\n\n for (const [agentId, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.agentIds.push(agentId);\n scorersMap.get(scorerName)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerName, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agentId],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.getScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerName = scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)!.isRegistered = true;\n } else {\n scorersMap.set(scorerName, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function getScorersHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n runtimeContext,\n}: Context & { scorerId: string; runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function getScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scoreResults = (await mastra.getStorage()?.getScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function getScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scoreResults = (await mastra.getStorage()?.getScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function getScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scoreResults = (await mastra.getStorage()?.getScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}
@@ -1,167 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
4
- var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
5
- var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
6
- var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
7
- var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
8
- var tools = require('@mastra/core/tools');
9
- var zodToJson = require('@mastra/core/utils/zod-to-json');
10
-
11
- // src/server/handlers/tools.ts
12
- var tools_exports = {};
13
- chunkO7I5CWRX_cjs.__export(tools_exports, {
14
- executeAgentToolHandler: () => executeAgentToolHandler,
15
- executeToolHandler: () => executeToolHandler,
16
- getAgentToolHandler: () => getAgentToolHandler,
17
- getToolByIdHandler: () => getToolByIdHandler,
18
- getToolsHandler: () => getToolsHandler
19
- });
20
- async function getToolsHandler({ tools }) {
21
- try {
22
- if (!tools) {
23
- return {};
24
- }
25
- const serializedTools = Object.entries(tools).reduce(
26
- (acc, [id, _tool]) => {
27
- const tool = _tool;
28
- acc[id] = {
29
- ...tool,
30
- inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
31
- outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
32
- };
33
- return acc;
34
- },
35
- {}
36
- );
37
- return serializedTools;
38
- } catch (error) {
39
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting tools");
40
- }
41
- }
42
- async function getToolByIdHandler({ tools, toolId }) {
43
- try {
44
- const tool = Object.values(tools || {}).find((tool2) => tool2.id === toolId);
45
- if (!tool) {
46
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
47
- }
48
- const serializedTool = {
49
- ...tool,
50
- inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
51
- outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
52
- };
53
- return serializedTool;
54
- } catch (error) {
55
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting tool");
56
- }
57
- }
58
- function executeToolHandler(tools$1) {
59
- return async ({
60
- mastra,
61
- runId,
62
- toolId,
63
- data,
64
- runtimeContext
65
- }) => {
66
- try {
67
- if (!toolId) {
68
- throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool ID is required" });
69
- }
70
- const tool = Object.values(tools$1 || {}).find((tool2) => tool2.id === toolId);
71
- if (!tool) {
72
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
73
- }
74
- if (!tool?.execute) {
75
- throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool is not executable" });
76
- }
77
- chunkG4PUALCE_cjs.validateBody({ data });
78
- if (tools.isVercelTool(tool)) {
79
- const result2 = await tool.execute(data);
80
- return result2;
81
- }
82
- const result = await tool.execute({
83
- context: data,
84
- mastra,
85
- runId,
86
- runtimeContext,
87
- // TODO: Pass proper tracing context when server API supports tracing
88
- tracingContext: { currentSpan: void 0 },
89
- suspend: async () => {
90
- }
91
- });
92
- return result;
93
- } catch (error) {
94
- return chunkRE4RPXT2_cjs.handleError(error, "Error executing tool");
95
- }
96
- };
97
- }
98
- async function getAgentToolHandler({
99
- mastra,
100
- agentId,
101
- toolId,
102
- runtimeContext
103
- }) {
104
- try {
105
- const agent = agentId ? mastra.getAgent(agentId) : null;
106
- if (!agent) {
107
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
108
- }
109
- const agentTools = await agent.getTools({ runtimeContext });
110
- const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
111
- if (!tool) {
112
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
113
- }
114
- const serializedTool = {
115
- ...tool,
116
- inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
117
- outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
118
- };
119
- return serializedTool;
120
- } catch (error) {
121
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting agent tool");
122
- }
123
- }
124
- async function executeAgentToolHandler({
125
- mastra,
126
- agentId,
127
- toolId,
128
- data,
129
- runtimeContext
130
- }) {
131
- try {
132
- const agent = agentId ? mastra.getAgent(agentId) : null;
133
- if (!agent) {
134
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
135
- }
136
- const agentTools = await agent.getTools({ runtimeContext });
137
- const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
138
- if (!tool) {
139
- throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
140
- }
141
- if (!tool?.execute) {
142
- throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool is not executable" });
143
- }
144
- const result = await tool.execute({
145
- context: data,
146
- runtimeContext,
147
- mastra,
148
- runId: agentId,
149
- // TODO: Pass proper tracing context when server API supports tracing
150
- tracingContext: { currentSpan: void 0 },
151
- suspend: async () => {
152
- }
153
- });
154
- return result;
155
- } catch (error) {
156
- return chunkRE4RPXT2_cjs.handleError(error, "Error executing tool");
157
- }
158
- }
159
-
160
- exports.executeAgentToolHandler = executeAgentToolHandler;
161
- exports.executeToolHandler = executeToolHandler;
162
- exports.getAgentToolHandler = getAgentToolHandler;
163
- exports.getToolByIdHandler = getToolByIdHandler;
164
- exports.getToolsHandler = getToolsHandler;
165
- exports.tools_exports = tools_exports;
166
- //# sourceMappingURL=chunk-TRGAMKHX.cjs.map
167
- //# sourceMappingURL=chunk-TRGAMKHX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","stringify","zodToJsonSchema","handleError","tool","HTTPException","tools","validateBody","isVercelTool","result"],"mappings":"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","file":"chunk-TRGAMKHX.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
@@ -1,88 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkG4PUALCE_cjs = require('./chunk-G4PUALCE.cjs');
4
- var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
5
- var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
6
-
7
- // src/server/handlers/logs.ts
8
- var logs_exports = {};
9
- chunkO7I5CWRX_cjs.__export(logs_exports, {
10
- getLogTransports: () => getLogTransports,
11
- getLogsByRunIdHandler: () => getLogsByRunIdHandler,
12
- getLogsHandler: () => getLogsHandler
13
- });
14
- async function getLogsHandler({
15
- mastra,
16
- transportId,
17
- params
18
- }) {
19
- try {
20
- chunkG4PUALCE_cjs.validateBody({ transportId });
21
- const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
22
- const filters = _filters ? Object.fromEntries(
23
- (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
24
- const [key, value] = attr.split(":");
25
- return [key, value];
26
- })
27
- ) : void 0;
28
- const logs = await mastra.getLogs(transportId, {
29
- fromDate,
30
- toDate,
31
- logLevel,
32
- filters,
33
- page: page ? Number(page) : void 0,
34
- perPage: perPage ? Number(perPage) : void 0
35
- });
36
- return logs;
37
- } catch (error) {
38
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting logs");
39
- }
40
- }
41
- async function getLogsByRunIdHandler({
42
- mastra,
43
- runId,
44
- transportId,
45
- params
46
- }) {
47
- try {
48
- chunkG4PUALCE_cjs.validateBody({ runId, transportId });
49
- const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
50
- const filters = _filters ? Object.fromEntries(
51
- (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
52
- const [key, value] = attr.split(":");
53
- return [key, value];
54
- })
55
- ) : void 0;
56
- const logs = await mastra.getLogsByRunId({
57
- runId,
58
- transportId,
59
- fromDate,
60
- toDate,
61
- logLevel,
62
- filters,
63
- page: page ? Number(page) : void 0,
64
- perPage: perPage ? Number(perPage) : void 0
65
- });
66
- return logs;
67
- } catch (error) {
68
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting logs by run ID");
69
- }
70
- }
71
- async function getLogTransports({ mastra }) {
72
- try {
73
- const logger = mastra.getLogger();
74
- const transports = logger.getTransports();
75
- return {
76
- transports: transports ? [...transports.keys()] : []
77
- };
78
- } catch (error) {
79
- return chunkRE4RPXT2_cjs.handleError(error, "Error getting log Transports");
80
- }
81
- }
82
-
83
- exports.getLogTransports = getLogTransports;
84
- exports.getLogsByRunIdHandler = getLogsByRunIdHandler;
85
- exports.getLogsHandler = getLogsHandler;
86
- exports.logs_exports = logs_exports;
87
- //# sourceMappingURL=chunk-XN74I6VW.cjs.map
88
- //# sourceMappingURL=chunk-XN74I6VW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/logs.ts"],"names":["__export","validateBody","handleError"],"mappings":";;;;;;;AAAA,IAAA,YAAA,GAAA;AAAAA,0BAAA,CAAA,YAAA,EAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,cAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAmBA,eAAsB,cAAA,CAAe;AAAA,EACnC,MAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,EAMG;AACD,EAAA,IAAI;AACF,IAAAC,8BAAA,CAAa,EAAE,aAAa,CAAA;AAE5B,IAAA,MAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,UAAU,IAAA,EAAM,OAAA,EAAQ,GAAI,MAAA,IAAU,EAAC;AAGpF,IAAA,MAAM,OAAA,GAAU,WACZ,MAAA,CAAO,WAAA;AAAA,MAAA,CACJ,KAAA,CAAM,QAAQ,QAAQ,CAAA,GAAI,WAAW,CAAC,QAAQ,CAAA,EAAG,GAAA,CAAI,CAAA,IAAA,KAAQ;AAC5D,QAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,IAAA,CAAK,MAAM,GAAG,CAAA;AACnC,QAAA,OAAO,CAAC,KAAK,KAAK,CAAA;AAAA,MACpB,CAAC;AAAA,KACH,GACA,MAAA;AAEJ,IAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,OAAA,CAAQ,WAAA,EAAc;AAAA,MAC9C,QAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA,EAAM,IAAA,GAAO,MAAA,CAAO,IAAI,CAAA,GAAI,MAAA;AAAA,MAC5B,OAAA,EAAS,OAAA,GAAU,MAAA,CAAO,OAAO,CAAA,GAAI;AAAA,KACtC,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,oBAAoB,CAAA;AAAA,EAChD;AACF;AAEA,eAAsB,qBAAA,CAAsB;AAAA,EAC1C,MAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,EAAqE;AACnE,EAAA,IAAI;AACF,IAAAD,8BAAA,CAAa,EAAE,KAAA,EAAO,WAAA,EAAa,CAAA;AAEnC,IAAA,MAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,UAAU,IAAA,EAAM,OAAA,EAAQ,GAAI,MAAA,IAAU,EAAC;AAGpF,IAAA,MAAM,OAAA,GAAU,WACZ,MAAA,CAAO,WAAA;AAAA,MAAA,CACJ,KAAA,CAAM,QAAQ,QAAQ,CAAA,GAAI,WAAW,CAAC,QAAQ,CAAA,EAAG,GAAA,CAAI,CAAA,IAAA,KAAQ;AAC5D,QAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,IAAA,CAAK,MAAM,GAAG,CAAA;AACnC,QAAA,OAAO,CAAC,KAAK,KAAK,CAAA;AAAA,MACpB,CAAC;AAAA,KACH,GACA,MAAA;AAEJ,IAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,cAAA,CAAe;AAAA,MACvC,KAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA,EAAM,IAAA,GAAO,MAAA,CAAO,IAAI,CAAA,GAAI,MAAA;AAAA,MAC5B,OAAA,EAAS,OAAA,GAAU,MAAA,CAAO,OAAO,CAAA,GAAI;AAAA,KACtC,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF;AAEA,eAAsB,gBAAA,CAAiB,EAAE,MAAA,EAAO,EAAgC;AAC9E,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,MAAM,UAAA,GAAa,OAAO,aAAA,EAAc;AAExC,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,aAAa,CAAC,GAAG,WAAW,IAAA,EAAM,IAAI;AAAC,KACrD;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAOA,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF","file":"chunk-XN74I6VW.cjs","sourcesContent":["import type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ntype LogsContext = {\n mastra: Mastra;\n transportId?: string;\n runId?: string;\n params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: string | string[];\n page?: number;\n perPage?: number;\n };\n};\n\nexport async function getLogsHandler({\n mastra,\n transportId,\n params,\n}: Pick<LogsContext, 'mastra' | 'transportId' | 'params'>): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n}> {\n try {\n validateBody({ transportId });\n\n const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};\n\n // Parse filter query parameter if present\n const filters = _filters\n ? Object.fromEntries(\n (Array.isArray(_filters) ? _filters : [_filters]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const logs = await mastra.getLogs(transportId!, {\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n}\n\nexport async function getLogsByRunIdHandler({\n mastra,\n runId,\n transportId,\n params,\n}: Pick<LogsContext, 'mastra' | 'runId' | 'transportId' | 'params'>) {\n try {\n validateBody({ runId, transportId });\n\n const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};\n\n // Parse filter query parameter if present\n const filters = _filters\n ? Object.fromEntries(\n (Array.isArray(_filters) ? _filters : [_filters]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const logs = await mastra.getLogsByRunId({\n runId: runId!,\n transportId: transportId!,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n}\n\nexport async function getLogTransports({ mastra }: Pick<LogsContext, 'mastra'>) {\n try {\n const logger = mastra.getLogger();\n const transports = logger.getTransports();\n\n return {\n transports: transports ? [...transports.keys()] : [],\n };\n } catch (error) {\n return handleError(error, 'Error getting log Transports');\n }\n}\n"]}