@mastra/server 1.0.0-beta.0 → 1.0.0-beta.10

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 (302) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/dist/chunk-3SFLFUKY.js +116 -0
  3. package/dist/chunk-3SFLFUKY.js.map +1 -0
  4. package/dist/chunk-4W2SM6CG.js +294 -0
  5. package/dist/chunk-4W2SM6CG.js.map +1 -0
  6. package/dist/chunk-5W4RPVTK.cjs +49 -0
  7. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  8. package/dist/{chunk-D7T74TVR.js → chunk-6YWE7UPT.js} +18 -4
  9. package/dist/chunk-6YWE7UPT.js.map +1 -0
  10. package/dist/chunk-7HX4V5Y6.cjs +23268 -0
  11. package/dist/chunk-7HX4V5Y6.cjs.map +1 -0
  12. package/dist/chunk-7N3PD4SV.js +196 -0
  13. package/dist/chunk-7N3PD4SV.js.map +1 -0
  14. package/dist/chunk-AWBBXA36.js +23226 -0
  15. package/dist/chunk-AWBBXA36.js.map +1 -0
  16. package/dist/{chunk-KJIDZQRA.cjs → chunk-C3D3X2L5.cjs} +219 -24
  17. package/dist/chunk-C3D3X2L5.cjs.map +1 -0
  18. package/dist/{chunk-FPBYKMIS.js → chunk-CT5VG7NT.js} +213 -24
  19. package/dist/chunk-CT5VG7NT.js.map +1 -0
  20. package/dist/chunk-DG3INBBQ.js +1061 -0
  21. package/dist/chunk-DG3INBBQ.js.map +1 -0
  22. package/dist/chunk-DHWPHLGF.cjs +211 -0
  23. package/dist/chunk-DHWPHLGF.cjs.map +1 -0
  24. package/dist/chunk-DRUNNM4C.js +328 -0
  25. package/dist/chunk-DRUNNM4C.js.map +1 -0
  26. package/dist/{chunk-TOCYBDP2.js → chunk-ER3QM7DD.js} +4 -4
  27. package/dist/{chunk-TOCYBDP2.js.map → chunk-ER3QM7DD.js.map} +1 -1
  28. package/dist/chunk-ESZ6V5WB.cjs +916 -0
  29. package/dist/chunk-ESZ6V5WB.cjs.map +1 -0
  30. package/dist/chunk-FPCGLPLJ.cjs +297 -0
  31. package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
  32. package/dist/chunk-FYY54HZC.js +310 -0
  33. package/dist/chunk-FYY54HZC.js.map +1 -0
  34. package/dist/chunk-GFF2I6UD.js +354 -0
  35. package/dist/chunk-GFF2I6UD.js.map +1 -0
  36. package/dist/chunk-H2RMXG2Q.cjs +167 -0
  37. package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
  38. package/dist/chunk-HAJOEDNB.js +274 -0
  39. package/dist/chunk-HAJOEDNB.js.map +1 -0
  40. package/dist/chunk-HT4LP3BO.js +75 -0
  41. package/dist/chunk-HT4LP3BO.js.map +1 -0
  42. package/dist/chunk-I6LR6CPC.cjs +125 -0
  43. package/dist/chunk-I6LR6CPC.cjs.map +1 -0
  44. package/dist/chunk-IEYXQTUW.cjs +284 -0
  45. package/dist/chunk-IEYXQTUW.cjs.map +1 -0
  46. package/dist/chunk-MCYD5LW7.cjs +90 -0
  47. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  48. package/dist/chunk-PUFCKXFW.cjs +312 -0
  49. package/dist/chunk-PUFCKXFW.cjs.map +1 -0
  50. package/dist/{chunk-W2KMU354.cjs → chunk-PUSD37LD.cjs} +18 -4
  51. package/dist/chunk-PUSD37LD.cjs.map +1 -0
  52. package/dist/chunk-Q6SVIZLX.js +786 -0
  53. package/dist/chunk-Q6SVIZLX.js.map +1 -0
  54. package/dist/chunk-QNVYGEJ4.js +204 -0
  55. package/dist/chunk-QNVYGEJ4.js.map +1 -0
  56. package/dist/chunk-R56K77E2.cjs +810 -0
  57. package/dist/chunk-R56K77E2.cjs.map +1 -0
  58. package/dist/chunk-S3TIWWQL.cjs +322 -0
  59. package/dist/chunk-S3TIWWQL.cjs.map +1 -0
  60. package/dist/chunk-SXVANU23.js +164 -0
  61. package/dist/chunk-SXVANU23.js.map +1 -0
  62. package/dist/chunk-TYZ6ZISQ.cjs +368 -0
  63. package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
  64. package/dist/chunk-US6Y5RLR.cjs +205 -0
  65. package/dist/chunk-US6Y5RLR.cjs.map +1 -0
  66. package/dist/chunk-UTIOKR5C.js +887 -0
  67. package/dist/chunk-UTIOKR5C.js.map +1 -0
  68. package/dist/{chunk-QU6N55W6.cjs → chunk-V272B7RM.cjs} +11 -12
  69. package/dist/chunk-V272B7RM.cjs.map +1 -0
  70. package/dist/chunk-WE4USCF3.js +226 -0
  71. package/dist/chunk-WE4USCF3.js.map +1 -0
  72. package/dist/chunk-WVAQXM6W.cjs +1105 -0
  73. package/dist/chunk-WVAQXM6W.cjs.map +1 -0
  74. package/dist/chunk-X43DWDXB.cjs +346 -0
  75. package/dist/chunk-X43DWDXB.cjs.map +1 -0
  76. package/dist/chunk-X4QMPCTP.cjs +259 -0
  77. package/dist/chunk-X4QMPCTP.cjs.map +1 -0
  78. package/dist/{chunk-X6C7BUWN.cjs → chunk-XQPJ63ZD.cjs} +4 -4
  79. package/dist/{chunk-X6C7BUWN.cjs.map → chunk-XQPJ63ZD.cjs.map} +1 -1
  80. package/dist/chunk-XW2HXQDO.js +302 -0
  81. package/dist/chunk-XW2HXQDO.js.map +1 -0
  82. package/dist/chunk-XWGAT2DA.js +44 -0
  83. package/dist/chunk-XWGAT2DA.js.map +1 -0
  84. package/dist/{chunk-SHWNNZBL.js → chunk-YP34EWWK.js} +9 -10
  85. package/dist/chunk-YP34EWWK.js.map +1 -0
  86. package/dist/server/auth/defaults.d.ts +3 -0
  87. package/dist/server/auth/defaults.d.ts.map +1 -0
  88. package/dist/server/auth/helpers.d.ts +14 -0
  89. package/dist/server/auth/helpers.d.ts.map +1 -0
  90. package/dist/server/auth/index.cjs +137 -0
  91. package/dist/server/auth/index.cjs.map +1 -0
  92. package/dist/server/auth/index.d.ts +3 -0
  93. package/dist/server/auth/index.d.ts.map +1 -0
  94. package/dist/server/auth/index.js +127 -0
  95. package/dist/server/auth/index.js.map +1 -0
  96. package/dist/server/handlers/a2a.cjs +15 -7
  97. package/dist/server/handlers/a2a.d.ts +482 -0
  98. package/dist/server/handlers/a2a.d.ts.map +1 -1
  99. package/dist/server/handlers/a2a.js +1 -1
  100. package/dist/server/handlers/agent-builder.cjs +37 -37
  101. package/dist/server/handlers/agent-builder.d.ts +599 -77
  102. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  103. package/dist/server/handlers/agent-builder.js +1 -1
  104. package/dist/server/handlers/agents.cjs +53 -37
  105. package/dist/server/handlers/agents.d.ts +3273 -128
  106. package/dist/server/handlers/agents.d.ts.map +1 -1
  107. package/dist/server/handlers/agents.js +1 -1
  108. package/dist/server/handlers/logs.cjs +7 -7
  109. package/dist/server/handlers/logs.d.ts +135 -27
  110. package/dist/server/handlers/logs.d.ts.map +1 -1
  111. package/dist/server/handlers/logs.js +1 -1
  112. package/dist/server/handlers/mcp.cjs +40 -0
  113. package/dist/server/handlers/mcp.cjs.map +1 -0
  114. package/dist/server/handlers/mcp.d.ts +110 -0
  115. package/dist/server/handlers/mcp.d.ts.map +1 -0
  116. package/dist/server/handlers/mcp.js +3 -0
  117. package/dist/server/handlers/mcp.js.map +1 -0
  118. package/dist/server/handlers/memory.cjs +67 -27
  119. package/dist/server/handlers/memory.d.ts +933 -96
  120. package/dist/server/handlers/memory.d.ts.map +1 -1
  121. package/dist/server/handlers/memory.js +1 -1
  122. package/dist/server/handlers/observability.cjs +21 -5
  123. package/dist/server/handlers/observability.d.ts +119 -12
  124. package/dist/server/handlers/observability.d.ts.map +1 -1
  125. package/dist/server/handlers/observability.js +1 -1
  126. package/dist/server/handlers/scores.cjs +13 -13
  127. package/dist/server/handlers/scores.d.ts +110 -141
  128. package/dist/server/handlers/scores.d.ts.map +1 -1
  129. package/dist/server/handlers/scores.js +1 -1
  130. package/dist/server/handlers/stored-agents.cjs +28 -0
  131. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  132. package/dist/server/handlers/stored-agents.d.ts +289 -0
  133. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  134. package/dist/server/handlers/stored-agents.js +3 -0
  135. package/dist/server/handlers/stored-agents.js.map +1 -0
  136. package/dist/server/handlers/test-utils.cjs +15 -0
  137. package/dist/server/handlers/test-utils.cjs.map +1 -0
  138. package/dist/server/handlers/test-utils.d.ts +6 -0
  139. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  140. package/dist/server/handlers/test-utils.js +13 -0
  141. package/dist/server/handlers/test-utils.js.map +1 -0
  142. package/dist/server/handlers/tools.cjs +11 -11
  143. package/dist/server/handlers/tools.d.ts +69 -23
  144. package/dist/server/handlers/tools.d.ts.map +1 -1
  145. package/dist/server/handlers/tools.js +1 -1
  146. package/dist/server/handlers/utils.cjs +11 -3
  147. package/dist/server/handlers/utils.d.ts +5 -0
  148. package/dist/server/handlers/utils.d.ts.map +1 -1
  149. package/dist/server/handlers/utils.js +1 -1
  150. package/dist/server/handlers/vector.cjs +31 -7
  151. package/dist/server/handlers/vector.d.ts +93 -9
  152. package/dist/server/handlers/vector.d.ts.map +1 -1
  153. package/dist/server/handlers/vector.js +1 -1
  154. package/dist/server/handlers/voice.cjs +21 -9
  155. package/dist/server/handlers/voice.d.ts +81 -40
  156. package/dist/server/handlers/voice.d.ts.map +1 -1
  157. package/dist/server/handlers/voice.js +1 -1
  158. package/dist/server/handlers/workflows.cjs +69 -37
  159. package/dist/server/handlers/workflows.d.ts +927 -79
  160. package/dist/server/handlers/workflows.d.ts.map +1 -1
  161. package/dist/server/handlers/workflows.js +1 -1
  162. package/dist/server/handlers.cjs +36 -31
  163. package/dist/server/handlers.d.ts +1 -0
  164. package/dist/server/handlers.d.ts.map +1 -1
  165. package/dist/server/handlers.js +12 -11
  166. package/dist/server/schemas/a2a.d.ts +786 -0
  167. package/dist/server/schemas/a2a.d.ts.map +1 -0
  168. package/dist/server/schemas/agent-builder.d.ts +204 -0
  169. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  170. package/dist/server/schemas/agents.d.ts +1375 -0
  171. package/dist/server/schemas/agents.d.ts.map +1 -0
  172. package/dist/server/schemas/common.d.ts +179 -0
  173. package/dist/server/schemas/common.d.ts.map +1 -0
  174. package/dist/server/schemas/logs.d.ts +124 -0
  175. package/dist/server/schemas/logs.d.ts.map +1 -0
  176. package/dist/server/schemas/mcp.d.ts +299 -0
  177. package/dist/server/schemas/mcp.d.ts.map +1 -0
  178. package/dist/server/schemas/memory.d.ts +998 -0
  179. package/dist/server/schemas/memory.d.ts.map +1 -0
  180. package/dist/server/schemas/observability.d.ts +402 -0
  181. package/dist/server/schemas/observability.d.ts.map +1 -0
  182. package/dist/server/schemas/scores.d.ts +259 -0
  183. package/dist/server/schemas/scores.d.ts.map +1 -0
  184. package/dist/server/schemas/stored-agents.d.ts +792 -0
  185. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  186. package/dist/server/schemas/vectors.d.ts +107 -0
  187. package/dist/server/schemas/vectors.d.ts.map +1 -0
  188. package/dist/server/schemas/workflows.d.ts +602 -0
  189. package/dist/server/schemas/workflows.d.ts.map +1 -0
  190. package/dist/server/server-adapter/index.cjs +481 -0
  191. package/dist/server/server-adapter/index.cjs.map +1 -0
  192. package/dist/server/server-adapter/index.d.ts +91 -0
  193. package/dist/server/server-adapter/index.d.ts.map +1 -0
  194. package/dist/server/server-adapter/index.js +466 -0
  195. package/dist/server/server-adapter/index.js.map +1 -0
  196. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  197. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  198. package/dist/server/server-adapter/redact.d.ts +26 -0
  199. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  200. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  201. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  202. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  203. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  204. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  205. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  206. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  207. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  208. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  209. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  210. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  211. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  212. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  213. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  214. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  215. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  216. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  217. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  218. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  219. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  220. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  221. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  222. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  223. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  224. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  225. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  226. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  227. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  228. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  229. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  230. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  231. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  232. package/dist/server/utils.d.ts +1 -1
  233. package/dist/server/utils.d.ts.map +1 -1
  234. package/dist/token-GVZ7HRD7.js +62 -0
  235. package/dist/{token-C3IMNCC4.js.map → token-GVZ7HRD7.js.map} +1 -1
  236. package/dist/{token-C3IMNCC4.js → token-JGA3ZWAN.js} +5 -6
  237. package/dist/token-JGA3ZWAN.js.map +1 -0
  238. package/dist/token-VFONFWVS.cjs +64 -0
  239. package/dist/{token-375W3LEI.cjs.map → token-VFONFWVS.cjs.map} +1 -1
  240. package/dist/{token-375W3LEI.cjs → token-ZOD6YIQ3.cjs} +7 -8
  241. package/dist/token-ZOD6YIQ3.cjs.map +1 -0
  242. package/dist/token-util-7R2ZFIXO.js +7 -0
  243. package/dist/{token-util-E5QO2RCL.js.map → token-util-7R2ZFIXO.js.map} +1 -1
  244. package/dist/token-util-BLJZJDBZ.cjs +9 -0
  245. package/dist/{token-util-CV3RRG6K.cjs.map → token-util-BLJZJDBZ.cjs.map} +1 -1
  246. package/dist/token-util-VGZUWSNR.cjs +9 -0
  247. package/dist/token-util-VGZUWSNR.cjs.map +1 -0
  248. package/dist/token-util-VKTPZLSE.js +7 -0
  249. package/dist/token-util-VKTPZLSE.js.map +1 -0
  250. package/package.json +30 -5
  251. package/dist/chunk-2IS5WICF.js +0 -23036
  252. package/dist/chunk-2IS5WICF.js.map +0 -1
  253. package/dist/chunk-2YZH5PH6.cjs +0 -200
  254. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  255. package/dist/chunk-3AMNUUZF.js +0 -124
  256. package/dist/chunk-3AMNUUZF.js.map +0 -1
  257. package/dist/chunk-3F52QCI4.js +0 -192
  258. package/dist/chunk-3F52QCI4.js.map +0 -1
  259. package/dist/chunk-4JF5WXPL.js +0 -502
  260. package/dist/chunk-4JF5WXPL.js.map +0 -1
  261. package/dist/chunk-73PAWDM5.js +0 -83
  262. package/dist/chunk-73PAWDM5.js.map +0 -1
  263. package/dist/chunk-A24TSVEZ.cjs +0 -130
  264. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  265. package/dist/chunk-A2NPD5N6.cjs +0 -517
  266. package/dist/chunk-A2NPD5N6.cjs.map +0 -1
  267. package/dist/chunk-B3Z6J745.js +0 -122
  268. package/dist/chunk-B3Z6J745.js.map +0 -1
  269. package/dist/chunk-BTWIR2B7.cjs +0 -28
  270. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  271. package/dist/chunk-D7T74TVR.js.map +0 -1
  272. package/dist/chunk-EHACNWDL.cjs +0 -681
  273. package/dist/chunk-EHACNWDL.cjs.map +0 -1
  274. package/dist/chunk-FPBYKMIS.js.map +0 -1
  275. package/dist/chunk-GLAZTMX3.cjs +0 -128
  276. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  277. package/dist/chunk-ID6JYDNL.cjs +0 -23075
  278. package/dist/chunk-ID6JYDNL.cjs.map +0 -1
  279. package/dist/chunk-KF3RI45U.cjs +0 -172
  280. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  281. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  282. package/dist/chunk-KWH5QBXP.js +0 -123
  283. package/dist/chunk-KWH5QBXP.js.map +0 -1
  284. package/dist/chunk-ND5OKOMT.js +0 -165
  285. package/dist/chunk-ND5OKOMT.js.map +0 -1
  286. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  287. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  288. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  289. package/dist/chunk-S54HNARD.cjs +0 -131
  290. package/dist/chunk-S54HNARD.cjs.map +0 -1
  291. package/dist/chunk-SHWNNZBL.js.map +0 -1
  292. package/dist/chunk-SZIFSF4T.js +0 -25
  293. package/dist/chunk-SZIFSF4T.js.map +0 -1
  294. package/dist/chunk-W2KMU354.cjs.map +0 -1
  295. package/dist/chunk-X3MICMI2.cjs +0 -620
  296. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  297. package/dist/chunk-Z2O5YVHY.js +0 -661
  298. package/dist/chunk-Z2O5YVHY.js.map +0 -1
  299. package/dist/chunk-ZJ6KEY6H.js +0 -600
  300. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  301. package/dist/token-util-CV3RRG6K.cjs +0 -9
  302. package/dist/token-util-E5QO2RCL.js +0 -7
@@ -0,0 +1,205 @@
1
+ 'use strict';
2
+
3
+ var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
4
+ var chunkX4QMPCTP_cjs = require('./chunk-X4QMPCTP.cjs');
5
+ var chunkH2RMXG2Q_cjs = require('./chunk-H2RMXG2Q.cjs');
6
+ var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
7
+ var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
8
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
9
+ var stream = require('stream');
10
+ var error = require('@mastra/core/error');
11
+
12
+ // src/server/handlers/voice.ts
13
+ var voice_exports = {};
14
+ chunkO7I5CWRX_cjs.__export(voice_exports, {
15
+ GENERATE_SPEECH_DEPRECATED_ROUTE: () => GENERATE_SPEECH_DEPRECATED_ROUTE,
16
+ GENERATE_SPEECH_ROUTE: () => GENERATE_SPEECH_ROUTE,
17
+ GET_LISTENER_ROUTE: () => GET_LISTENER_ROUTE,
18
+ GET_SPEAKERS_DEPRECATED_ROUTE: () => GET_SPEAKERS_DEPRECATED_ROUTE,
19
+ GET_SPEAKERS_ROUTE: () => GET_SPEAKERS_ROUTE,
20
+ TRANSCRIBE_SPEECH_DEPRECATED_ROUTE: () => TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,
21
+ TRANSCRIBE_SPEECH_ROUTE: () => TRANSCRIBE_SPEECH_ROUTE
22
+ });
23
+ var GET_SPEAKERS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
24
+ method: "GET",
25
+ path: "/api/agents/:agentId/voice/speakers",
26
+ responseType: "json",
27
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
28
+ responseSchema: chunkX4QMPCTP_cjs.voiceSpeakersResponseSchema,
29
+ summary: "Get voice speakers",
30
+ description: "Returns available voice speakers for the specified agent",
31
+ tags: ["Agents", "Voice"],
32
+ handler: async ({ mastra, agentId, requestContext }) => {
33
+ try {
34
+ if (!agentId) {
35
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
36
+ }
37
+ const agent = mastra.getAgentById(agentId);
38
+ if (!agent) {
39
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
40
+ }
41
+ const voice = await agent.getVoice({ requestContext });
42
+ const speakers = await Promise.resolve().then(() => voice.getSpeakers()).catch((err) => {
43
+ if (err instanceof error.MastraError) {
44
+ return [];
45
+ }
46
+ throw err;
47
+ });
48
+ return speakers;
49
+ } catch (error) {
50
+ return chunkV5WWQN7P_cjs.handleError(error, "Error getting speakers");
51
+ }
52
+ }
53
+ });
54
+ var GET_SPEAKERS_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
55
+ method: "GET",
56
+ path: "/api/agents/:agentId/speakers",
57
+ responseType: "json",
58
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
59
+ responseSchema: chunkX4QMPCTP_cjs.voiceSpeakersResponseSchema,
60
+ summary: "Get available speakers for an agent",
61
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent",
62
+ tags: ["Agents", "Voice"],
63
+ handler: GET_SPEAKERS_ROUTE.handler
64
+ });
65
+ var GENERATE_SPEECH_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
66
+ method: "POST",
67
+ path: "/api/agents/:agentId/voice/speak",
68
+ responseType: "stream",
69
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
70
+ bodySchema: chunkX4QMPCTP_cjs.generateSpeechBodySchema,
71
+ responseSchema: chunkX4QMPCTP_cjs.speakResponseSchema,
72
+ summary: "Generate speech",
73
+ description: "Generates speech audio from text using the agent voice configuration",
74
+ tags: ["Agents", "Voice"],
75
+ handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {
76
+ try {
77
+ if (!agentId) {
78
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
79
+ }
80
+ chunk5W4RPVTK_cjs.validateBody({ text });
81
+ const agent = mastra.getAgentById(agentId);
82
+ if (!agent) {
83
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
84
+ }
85
+ const voice = await agent.getVoice({ requestContext });
86
+ if (!voice) {
87
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
88
+ }
89
+ const audioStream = await Promise.resolve().then(() => voice.speak(text, { speaker: speakerId })).catch((err) => {
90
+ if (err instanceof error.MastraError) {
91
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: err.message });
92
+ }
93
+ throw err;
94
+ });
95
+ if (!audioStream) {
96
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to generate speech" });
97
+ }
98
+ return audioStream;
99
+ } catch (error) {
100
+ return chunkV5WWQN7P_cjs.handleError(error, "Error generating speech");
101
+ }
102
+ }
103
+ });
104
+ var GENERATE_SPEECH_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
105
+ method: "POST",
106
+ path: "/api/agents/:agentId/speak",
107
+ responseType: "stream",
108
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
109
+ bodySchema: chunkX4QMPCTP_cjs.generateSpeechBodySchema,
110
+ responseSchema: chunkX4QMPCTP_cjs.speakResponseSchema,
111
+ summary: "Convert text to speech",
112
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider",
113
+ tags: ["Agents", "Voice"],
114
+ handler: GENERATE_SPEECH_ROUTE.handler
115
+ });
116
+ var TRANSCRIBE_SPEECH_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
117
+ method: "POST",
118
+ path: "/api/agents/:agentId/voice/listen",
119
+ responseType: "json",
120
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
121
+ bodySchema: chunkX4QMPCTP_cjs.transcribeSpeechBodySchema,
122
+ responseSchema: chunkX4QMPCTP_cjs.transcribeSpeechResponseSchema,
123
+ summary: "Transcribe speech",
124
+ description: "Transcribes speech audio to text using the agent voice configuration",
125
+ tags: ["Agents", "Voice"],
126
+ handler: async ({ mastra, agentId, audioData, options, requestContext }) => {
127
+ try {
128
+ if (!agentId) {
129
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
130
+ }
131
+ if (!audioData) {
132
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Audio data is required" });
133
+ }
134
+ const agent = mastra.getAgentById(agentId);
135
+ if (!agent) {
136
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
137
+ }
138
+ const voice = await agent.getVoice({ requestContext });
139
+ if (!voice) {
140
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
141
+ }
142
+ const audioStream = new stream.Readable();
143
+ audioStream.push(audioData);
144
+ audioStream.push(null);
145
+ const text = await voice.listen(audioStream, options);
146
+ return { text };
147
+ } catch (error) {
148
+ return chunkV5WWQN7P_cjs.handleError(error, "Error transcribing speech");
149
+ }
150
+ }
151
+ });
152
+ var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
153
+ method: "POST",
154
+ path: "/api/agents/:agentId/listen",
155
+ responseType: "json",
156
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
157
+ bodySchema: chunkX4QMPCTP_cjs.transcribeSpeechBodySchema,
158
+ responseSchema: chunkX4QMPCTP_cjs.transcribeSpeechResponseSchema,
159
+ summary: "Convert speech to text",
160
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.",
161
+ tags: ["Agents", "Voice"],
162
+ handler: TRANSCRIBE_SPEECH_ROUTE.handler
163
+ });
164
+ var GET_LISTENER_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
165
+ method: "GET",
166
+ path: "/api/agents/:agentId/voice/listener",
167
+ responseType: "json",
168
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
169
+ responseSchema: chunkX4QMPCTP_cjs.getListenerResponseSchema,
170
+ summary: "Get voice listener",
171
+ description: "Returns the voice listener configuration for the agent",
172
+ tags: ["Agents", "Voice"],
173
+ handler: async ({ mastra, agentId, requestContext }) => {
174
+ try {
175
+ if (!agentId) {
176
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
177
+ }
178
+ const agent = mastra.getAgentById(agentId);
179
+ if (!agent) {
180
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
181
+ }
182
+ const voice = await agent.getVoice({ requestContext });
183
+ const listeners = await Promise.resolve().then(() => voice.getListener()).catch((err) => {
184
+ if (err instanceof error.MastraError) {
185
+ return { enabled: false };
186
+ }
187
+ throw err;
188
+ });
189
+ return listeners;
190
+ } catch (error) {
191
+ return chunkV5WWQN7P_cjs.handleError(error, "Error getting listeners");
192
+ }
193
+ }
194
+ });
195
+
196
+ exports.GENERATE_SPEECH_DEPRECATED_ROUTE = GENERATE_SPEECH_DEPRECATED_ROUTE;
197
+ exports.GENERATE_SPEECH_ROUTE = GENERATE_SPEECH_ROUTE;
198
+ exports.GET_LISTENER_ROUTE = GET_LISTENER_ROUTE;
199
+ exports.GET_SPEAKERS_DEPRECATED_ROUTE = GET_SPEAKERS_DEPRECATED_ROUTE;
200
+ exports.GET_SPEAKERS_ROUTE = GET_SPEAKERS_ROUTE;
201
+ exports.TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = TRANSCRIBE_SPEECH_DEPRECATED_ROUTE;
202
+ exports.TRANSCRIBE_SPEECH_ROUTE = TRANSCRIBE_SPEECH_ROUTE;
203
+ exports.voice_exports = voice_exports;
204
+ //# sourceMappingURL=chunk-US6Y5RLR.cjs.map
205
+ //# sourceMappingURL=chunk-US6Y5RLR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":["__export","createRoute","agentIdPathParams","voiceSpeakersResponseSchema","HTTPException","MastraError","handleError","generateSpeechBodySchema","speakResponseSchema","validateBody","transcribeSpeechBodySchema","transcribeSpeechResponseSchema","Readable","getListenerResponseSchema"],"mappings":"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","file":"chunk-US6Y5RLR.cjs","sourcesContent":["import { Readable } from 'node:stream';\nimport { MastraError } from '@mastra/core/error';\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n voiceSpeakersResponseSchema,\n generateSpeechBodySchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n getListenerResponseSchema,\n} from '../schemas/agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Objects\n// ============================================================================\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const speakers = await Promise.resolve()\n .then(() => voice.getSpeakers())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured, return empty array\n return [];\n }\n throw err;\n });\n\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\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(text!, { speaker: 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 as unknown as ReadableStream<any>;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, audioData, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audioData) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\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(audioData);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/listener',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const listeners = await Promise.resolve()\n .then(() => voice.getListener())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured\n return { enabled: false };\n }\n throw err;\n });\n\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}