@mastra/server 0.0.0-inject-middleware-20250528213451 → 0.0.0-interpolate-reporter-url-20250910180021

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 (329) hide show
  1. package/CHANGELOG.md +3569 -0
  2. package/LICENSE.md +11 -42
  3. package/dist/{chunk-5SN4U5AC.cjs → chunk-3THIIWWW.cjs} +113 -137
  4. package/dist/chunk-3THIIWWW.cjs.map +1 -0
  5. package/dist/{chunk-H5PTF3Y4.js → chunk-4QCXUEAT.js} +11 -2
  6. package/dist/chunk-4QCXUEAT.js.map +1 -0
  7. package/dist/chunk-4RRMWXQ2.js +3522 -0
  8. package/dist/chunk-4RRMWXQ2.js.map +1 -0
  9. package/dist/chunk-5DP5XZH6.cjs +928 -0
  10. package/dist/chunk-5DP5XZH6.cjs.map +1 -0
  11. package/dist/{chunk-P6SCPDYW.js → chunk-5QUKZCEF.js} +112 -136
  12. package/dist/chunk-5QUKZCEF.js.map +1 -0
  13. package/dist/chunk-66YYHFGF.js +761 -0
  14. package/dist/chunk-66YYHFGF.js.map +1 -0
  15. package/dist/chunk-6GMFZ5LK.js +2774 -0
  16. package/dist/chunk-6GMFZ5LK.js.map +1 -0
  17. package/dist/chunk-6LUKYSWE.cjs +610 -0
  18. package/dist/chunk-6LUKYSWE.cjs.map +1 -0
  19. package/dist/chunk-743UIDHI.cjs +2013 -0
  20. package/dist/chunk-743UIDHI.cjs.map +1 -0
  21. package/dist/{chunk-OCWPVYNI.cjs → chunk-7NADHFD2.cjs} +3 -0
  22. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  23. package/dist/chunk-7QEJ5QG5.js +151 -0
  24. package/dist/chunk-7QEJ5QG5.js.map +1 -0
  25. package/dist/chunk-A3AL7EWJ.js +83 -0
  26. package/dist/chunk-A3AL7EWJ.js.map +1 -0
  27. package/dist/{chunk-HFWCEP5S.js → chunk-A75S4TDD.js} +36 -11
  28. package/dist/chunk-A75S4TDD.js.map +1 -0
  29. package/dist/chunk-AK2FXLLB.cjs +849 -0
  30. package/dist/chunk-AK2FXLLB.cjs.map +1 -0
  31. package/dist/chunk-B2V3PUB7.js +591 -0
  32. package/dist/chunk-B2V3PUB7.js.map +1 -0
  33. package/dist/chunk-CY4TP3FK.js +16 -0
  34. package/dist/chunk-CY4TP3FK.js.map +1 -0
  35. package/dist/chunk-EMMSS5I5.cjs +37 -0
  36. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  37. package/dist/chunk-EMNGA4R4.js +845 -0
  38. package/dist/chunk-EMNGA4R4.js.map +1 -0
  39. package/dist/chunk-FALVL2VV.cjs +3525 -0
  40. package/dist/chunk-FALVL2VV.cjs.map +1 -0
  41. package/dist/chunk-FQNT7PI4.js +937 -0
  42. package/dist/chunk-FQNT7PI4.js.map +1 -0
  43. package/dist/chunk-G3PMV62Z.js +33 -0
  44. package/dist/chunk-G3PMV62Z.js.map +1 -0
  45. package/dist/chunk-G4PUALCE.cjs +28 -0
  46. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  47. package/dist/chunk-GU4EWMZB.cjs +769 -0
  48. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  49. package/dist/chunk-GUI3CROV.cjs +159 -0
  50. package/dist/chunk-GUI3CROV.cjs.map +1 -0
  51. package/dist/chunk-HJQKWRKQ.cjs +764 -0
  52. package/dist/chunk-HJQKWRKQ.cjs.map +1 -0
  53. package/dist/{chunk-YWLUOY3D.cjs → chunk-HVBBFCDH.cjs} +1110 -793
  54. package/dist/chunk-HVBBFCDH.cjs.map +1 -0
  55. package/dist/chunk-HZJRQ5L3.cjs +1411 -0
  56. package/dist/chunk-HZJRQ5L3.cjs.map +1 -0
  57. package/dist/chunk-IGFMAZZ5.cjs +1150 -0
  58. package/dist/chunk-IGFMAZZ5.cjs.map +1 -0
  59. package/dist/chunk-IOQGI4ML.js +931 -0
  60. package/dist/chunk-IOQGI4ML.js.map +1 -0
  61. package/dist/{chunk-VPNDC2DI.cjs → chunk-IY34NOLA.cjs} +16 -14
  62. package/dist/chunk-IY34NOLA.cjs.map +1 -0
  63. package/dist/chunk-J7BPKKOG.cjs +163 -0
  64. package/dist/chunk-J7BPKKOG.cjs.map +1 -0
  65. package/dist/{chunk-YIOVBYZH.cjs → chunk-KNGXRN26.cjs} +48 -45
  66. package/dist/chunk-KNGXRN26.cjs.map +1 -0
  67. package/dist/{chunk-OR3CIE2H.js → chunk-KV6VHX4V.js} +29 -7
  68. package/dist/chunk-KV6VHX4V.js.map +1 -0
  69. package/dist/chunk-L265APUD.cjs +69 -0
  70. package/dist/chunk-L265APUD.cjs.map +1 -0
  71. package/dist/chunk-LF2ZLOFP.js +767 -0
  72. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  73. package/dist/chunk-LYPU75T6.js +1147 -0
  74. package/dist/chunk-LYPU75T6.js.map +1 -0
  75. package/dist/chunk-M2YFWHSB.js +455 -0
  76. package/dist/chunk-M2YFWHSB.js.map +1 -0
  77. package/dist/chunk-MLGHQDZZ.js +15671 -0
  78. package/dist/chunk-MLGHQDZZ.js.map +1 -0
  79. package/dist/{chunk-NYN7KFXL.js → chunk-MMROOK5J.js} +3 -0
  80. package/dist/chunk-MMROOK5J.js.map +1 -0
  81. package/dist/{chunk-LIVAK2DM.js → chunk-N7F33WAD.js} +1083 -794
  82. package/dist/chunk-N7F33WAD.js.map +1 -0
  83. package/dist/chunk-NG5IVLEZ.js +1012 -0
  84. package/dist/chunk-NG5IVLEZ.js.map +1 -0
  85. package/dist/chunk-OGW6HHVI.js +1408 -0
  86. package/dist/chunk-OGW6HHVI.js.map +1 -0
  87. package/dist/chunk-OZLRIVC4.cjs +588 -0
  88. package/dist/chunk-OZLRIVC4.cjs.map +1 -0
  89. package/dist/chunk-P7CIEIJ3.js +925 -0
  90. package/dist/chunk-P7CIEIJ3.js.map +1 -0
  91. package/dist/chunk-P7RBMCBE.cjs +934 -0
  92. package/dist/chunk-P7RBMCBE.cjs.map +1 -0
  93. package/dist/chunk-PPYGWINI.cjs +2777 -0
  94. package/dist/chunk-PPYGWINI.cjs.map +1 -0
  95. package/dist/{chunk-MHKNLNAN.cjs → chunk-PWTXZZTR.cjs} +33 -10
  96. package/dist/chunk-PWTXZZTR.cjs.map +1 -0
  97. package/dist/chunk-R7NOGUZG.js +65 -0
  98. package/dist/chunk-R7NOGUZG.js.map +1 -0
  99. package/dist/chunk-RCHEPTZZ.js +2006 -0
  100. package/dist/chunk-RCHEPTZZ.js.map +1 -0
  101. package/dist/chunk-RE4RPXT2.cjs +18 -0
  102. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  103. package/dist/chunk-RW2D3G4K.cjs +470 -0
  104. package/dist/chunk-RW2D3G4K.cjs.map +1 -0
  105. package/dist/chunk-SIGXR3JT.cjs +1043 -0
  106. package/dist/chunk-SIGXR3JT.cjs.map +1 -0
  107. package/dist/chunk-SPLSYTYW.cjs +88 -0
  108. package/dist/chunk-SPLSYTYW.cjs.map +1 -0
  109. package/dist/chunk-SQY4T6EJ.js +571 -0
  110. package/dist/chunk-SQY4T6EJ.js.map +1 -0
  111. package/dist/{chunk-TJKLBTFB.js → chunk-SYRRSBGL.js} +51 -27
  112. package/dist/chunk-SYRRSBGL.js.map +1 -0
  113. package/dist/{chunk-BNEY4P4P.cjs → chunk-T3TIA3O6.cjs} +20 -18
  114. package/dist/chunk-T3TIA3O6.cjs.map +1 -0
  115. package/dist/{chunk-W7VCKPAD.js → chunk-TTHEEIZ3.js} +19 -16
  116. package/dist/chunk-TTHEEIZ3.js.map +1 -0
  117. package/dist/chunk-TVSIG4JE.cjs +940 -0
  118. package/dist/chunk-TVSIG4JE.cjs.map +1 -0
  119. package/dist/{chunk-C7564HUT.js → chunk-U46VIX2V.js} +6 -4
  120. package/dist/chunk-U46VIX2V.js.map +1 -0
  121. package/dist/{chunk-55DOQLP6.js → chunk-WHN4VX55.js} +5 -3
  122. package/dist/chunk-WHN4VX55.js.map +1 -0
  123. package/dist/chunk-WZC6CIVD.cjs +120 -0
  124. package/dist/chunk-WZC6CIVD.cjs.map +1 -0
  125. package/dist/chunk-YITREQVN.cjs +15707 -0
  126. package/dist/chunk-YITREQVN.cjs.map +1 -0
  127. package/dist/dist-26HWEQY6.js +3 -0
  128. package/dist/dist-26HWEQY6.js.map +1 -0
  129. package/dist/dist-3A5DXB37.cjs +20 -0
  130. package/dist/dist-3A5DXB37.cjs.map +1 -0
  131. package/dist/dist-3SJKQJGY.cjs +16 -0
  132. package/dist/dist-3SJKQJGY.cjs.map +1 -0
  133. package/dist/dist-4ZQSPE5K.js +3 -0
  134. package/dist/dist-4ZQSPE5K.js.map +1 -0
  135. package/dist/dist-5W5QNRTD.js +3 -0
  136. package/dist/dist-5W5QNRTD.js.map +1 -0
  137. package/dist/dist-653SRMPL.js +3 -0
  138. package/dist/dist-653SRMPL.js.map +1 -0
  139. package/dist/dist-6U6EFC5C.cjs +16 -0
  140. package/dist/dist-6U6EFC5C.cjs.map +1 -0
  141. package/dist/dist-7IHNNYMF.cjs +16 -0
  142. package/dist/dist-7IHNNYMF.cjs.map +1 -0
  143. package/dist/dist-B5IPRF6W.js +3 -0
  144. package/dist/dist-B5IPRF6W.js.map +1 -0
  145. package/dist/dist-EOMYFT4Y.cjs +16 -0
  146. package/dist/dist-EOMYFT4Y.cjs.map +1 -0
  147. package/dist/dist-EZZMMMNT.cjs +16 -0
  148. package/dist/dist-EZZMMMNT.cjs.map +1 -0
  149. package/dist/dist-F2ET4MNO.cjs +16 -0
  150. package/dist/dist-F2ET4MNO.cjs.map +1 -0
  151. package/dist/dist-H64VX6DE.js +3 -0
  152. package/dist/dist-H64VX6DE.js.map +1 -0
  153. package/dist/dist-HY7RMLJQ.cjs +16 -0
  154. package/dist/dist-HY7RMLJQ.cjs.map +1 -0
  155. package/dist/dist-M6S4P3FJ.js +3 -0
  156. package/dist/dist-M6S4P3FJ.js.map +1 -0
  157. package/dist/dist-NR7QSCQT.js +3 -0
  158. package/dist/dist-NR7QSCQT.js.map +1 -0
  159. package/dist/dist-QLFMCMCX.js +3 -0
  160. package/dist/dist-QLFMCMCX.js.map +1 -0
  161. package/dist/dist-UY46BFRP.js +3 -0
  162. package/dist/dist-UY46BFRP.js.map +1 -0
  163. package/dist/dist-WCQDRTIV.cjs +16 -0
  164. package/dist/dist-WCQDRTIV.cjs.map +1 -0
  165. package/dist/dist-WKYB3LTJ.cjs +16 -0
  166. package/dist/dist-WKYB3LTJ.cjs.map +1 -0
  167. package/dist/index.cjs +2 -0
  168. package/dist/index.cjs.map +1 -0
  169. package/dist/index.d.ts +1 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +2 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/server/a2a/protocol.d.ts +8 -0
  174. package/dist/server/a2a/protocol.d.ts.map +1 -0
  175. package/dist/server/a2a/store.cjs +25 -0
  176. package/dist/server/a2a/store.cjs.map +1 -0
  177. package/dist/server/a2a/store.d.ts +14 -0
  178. package/dist/server/a2a/store.d.ts.map +1 -0
  179. package/dist/server/a2a/store.js +23 -0
  180. package/dist/server/a2a/store.js.map +1 -0
  181. package/dist/server/a2a/tasks.d.ts +20 -0
  182. package/dist/server/a2a/tasks.d.ts.map +1 -0
  183. package/dist/server/handlers/a2a.cjs +13 -11
  184. package/dist/server/handlers/a2a.cjs.map +1 -0
  185. package/dist/server/handlers/a2a.d.ts +68 -6
  186. package/dist/server/handlers/a2a.d.ts.map +1 -0
  187. package/dist/server/handlers/a2a.js +3 -1
  188. package/dist/server/handlers/a2a.js.map +1 -0
  189. package/dist/server/handlers/agent-builder.cjs +68 -0
  190. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  191. package/dist/server/handlers/agent-builder.d.ts +87 -0
  192. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  193. package/dist/server/handlers/agent-builder.js +3 -0
  194. package/dist/server/handlers/agent-builder.js.map +1 -0
  195. package/dist/server/handlers/agents.cjs +37 -7
  196. package/dist/server/handlers/agents.cjs.map +1 -0
  197. package/dist/server/handlers/agents.d.ts +129 -6
  198. package/dist/server/handlers/agents.d.ts.map +1 -0
  199. package/dist/server/handlers/agents.js +3 -1
  200. package/dist/server/handlers/agents.js.map +1 -0
  201. package/dist/server/handlers/error.cjs +4 -2
  202. package/dist/server/handlers/error.cjs.map +1 -0
  203. package/dist/server/handlers/error.d.ts +2 -1
  204. package/dist/server/handlers/error.d.ts.map +1 -0
  205. package/dist/server/handlers/error.js +3 -1
  206. package/dist/server/handlers/error.js.map +1 -0
  207. package/dist/server/handlers/legacyWorkflows.cjs +13 -11
  208. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  209. package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
  210. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  211. package/dist/server/handlers/legacyWorkflows.js +3 -1
  212. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  213. package/dist/server/handlers/logs.cjs +6 -4
  214. package/dist/server/handlers/logs.cjs.map +1 -0
  215. package/dist/server/handlers/logs.d.ts +34 -3
  216. package/dist/server/handlers/logs.d.ts.map +1 -0
  217. package/dist/server/handlers/logs.js +3 -1
  218. package/dist/server/handlers/logs.js.map +1 -0
  219. package/dist/server/handlers/memory.cjs +39 -9
  220. package/dist/server/handlers/memory.cjs.map +1 -0
  221. package/dist/server/handlers/memory.d.ts +118 -8
  222. package/dist/server/handlers/memory.d.ts.map +1 -0
  223. package/dist/server/handlers/memory.js +3 -1
  224. package/dist/server/handlers/memory.js.map +1 -0
  225. package/dist/server/handlers/network.cjs +7 -5
  226. package/dist/server/handlers/network.cjs.map +1 -0
  227. package/dist/server/handlers/network.d.ts +50 -4
  228. package/dist/server/handlers/network.d.ts.map +1 -0
  229. package/dist/server/handlers/network.js +3 -1
  230. package/dist/server/handlers/network.js.map +1 -0
  231. package/dist/server/handlers/observability.cjs +16 -0
  232. package/dist/server/handlers/observability.cjs.map +1 -0
  233. package/dist/server/handlers/observability.d.ts +23 -0
  234. package/dist/server/handlers/observability.d.ts.map +1 -0
  235. package/dist/server/handlers/observability.js +3 -0
  236. package/dist/server/handlers/observability.js.map +1 -0
  237. package/dist/server/handlers/scores.cjs +32 -0
  238. package/dist/server/handlers/scores.cjs.map +1 -0
  239. package/dist/server/handlers/scores.d.ts +49 -0
  240. package/dist/server/handlers/scores.d.ts.map +1 -0
  241. package/dist/server/handlers/scores.js +3 -0
  242. package/dist/server/handlers/scores.js.map +1 -0
  243. package/dist/server/handlers/telemetry.cjs +9 -3
  244. package/dist/server/handlers/telemetry.cjs.map +1 -0
  245. package/dist/server/handlers/telemetry.d.ts +33 -2
  246. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  247. package/dist/server/handlers/telemetry.js +3 -1
  248. package/dist/server/handlers/telemetry.js.map +1 -0
  249. package/dist/server/handlers/tools.cjs +11 -5
  250. package/dist/server/handlers/tools.cjs.map +1 -0
  251. package/dist/server/handlers/tools.d.ts +25 -4
  252. package/dist/server/handlers/tools.d.ts.map +1 -0
  253. package/dist/server/handlers/tools.js +3 -1
  254. package/dist/server/handlers/tools.js.map +1 -0
  255. package/dist/server/handlers/utils.cjs +8 -2
  256. package/dist/server/handlers/utils.cjs.map +1 -0
  257. package/dist/server/handlers/utils.d.ts +8 -1
  258. package/dist/server/handlers/utils.d.ts.map +1 -0
  259. package/dist/server/handlers/utils.js +3 -1
  260. package/dist/server/handlers/utils.js.map +1 -0
  261. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  262. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  263. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  264. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  265. package/dist/server/handlers/vNextNetwork.js +213 -0
  266. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  267. package/dist/server/handlers/vector.cjs +9 -7
  268. package/dist/server/handlers/vector.cjs.map +1 -0
  269. package/dist/server/handlers/vector.d.ts +51 -6
  270. package/dist/server/handlers/vector.d.ts.map +1 -0
  271. package/dist/server/handlers/vector.js +3 -1
  272. package/dist/server/handlers/vector.js.map +1 -0
  273. package/dist/server/handlers/voice.cjs +10 -4
  274. package/dist/server/handlers/voice.cjs.map +1 -0
  275. package/dist/server/handlers/voice.d.ts +39 -3
  276. package/dist/server/handlers/voice.d.ts.map +1 -0
  277. package/dist/server/handlers/voice.js +3 -1
  278. package/dist/server/handlers/voice.js.map +1 -0
  279. package/dist/server/handlers/workflows.cjs +30 -12
  280. package/dist/server/handlers/workflows.cjs.map +1 -0
  281. package/dist/server/handlers/workflows.d.ts +73 -11
  282. package/dist/server/handlers/workflows.d.ts.map +1 -0
  283. package/dist/server/handlers/workflows.js +3 -1
  284. package/dist/server/handlers/workflows.js.map +1 -0
  285. package/dist/server/handlers.cjs +49 -32
  286. package/dist/server/handlers.cjs.map +1 -0
  287. package/dist/server/handlers.d.ts +15 -11
  288. package/dist/server/handlers.d.ts.map +1 -0
  289. package/dist/server/handlers.js +16 -11
  290. package/dist/server/handlers.js.map +1 -0
  291. package/dist/server/http-exception.d.ts +87 -0
  292. package/dist/server/http-exception.d.ts.map +1 -0
  293. package/dist/server/types.d.ts +10 -0
  294. package/dist/server/types.d.ts.map +1 -0
  295. package/dist/server/utils.d.ts +42 -0
  296. package/dist/server/utils.d.ts.map +1 -0
  297. package/package.json +51 -21
  298. package/dist/_tsup-dts-rollup.d.cts +0 -830
  299. package/dist/_tsup-dts-rollup.d.ts +0 -830
  300. package/dist/chunk-57CJTIPW.cjs +0 -18
  301. package/dist/chunk-64U3UDTH.cjs +0 -13
  302. package/dist/chunk-75ZPJI57.cjs +0 -9
  303. package/dist/chunk-A3KDUGS7.cjs +0 -239
  304. package/dist/chunk-DJJIUEL2.js +0 -211
  305. package/dist/chunk-DQLE3DVM.js +0 -49
  306. package/dist/chunk-J3PKLB3A.js +0 -231
  307. package/dist/chunk-KUNQFY2W.js +0 -365
  308. package/dist/chunk-M5ABIP7D.js +0 -11
  309. package/dist/chunk-MLKGABMK.js +0 -7
  310. package/dist/chunk-MMO2HDM6.cjs +0 -378
  311. package/dist/chunk-NEOOQUKW.cjs +0 -54
  312. package/dist/chunk-Y7UWRW5X.cjs +0 -221
  313. package/dist/chunk-YBVOQN4M.cjs +0 -94
  314. package/dist/chunk-ZE5AAC4I.cjs +0 -138
  315. package/dist/index.d.cts +0 -1
  316. package/dist/server/handlers/a2a.d.cts +0 -6
  317. package/dist/server/handlers/agents.d.cts +0 -6
  318. package/dist/server/handlers/error.d.cts +0 -1
  319. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  320. package/dist/server/handlers/logs.d.cts +0 -3
  321. package/dist/server/handlers/memory.d.cts +0 -8
  322. package/dist/server/handlers/network.d.cts +0 -4
  323. package/dist/server/handlers/telemetry.d.cts +0 -2
  324. package/dist/server/handlers/tools.d.cts +0 -4
  325. package/dist/server/handlers/utils.d.cts +0 -1
  326. package/dist/server/handlers/vector.d.cts +0 -6
  327. package/dist/server/handlers/voice.d.cts +0 -3
  328. package/dist/server/handlers/workflows.d.cts +0 -11
  329. package/dist/server/handlers.d.cts +0 -11
@@ -0,0 +1,83 @@
1
+ import { validateBody } from './chunk-4QCXUEAT.js';
2
+ import { handleError } from './chunk-CY4TP3FK.js';
3
+ import { __export } from './chunk-G3PMV62Z.js';
4
+
5
+ // src/server/handlers/logs.ts
6
+ var logs_exports = {};
7
+ __export(logs_exports, {
8
+ getLogTransports: () => getLogTransports,
9
+ getLogsByRunIdHandler: () => getLogsByRunIdHandler,
10
+ getLogsHandler: () => getLogsHandler
11
+ });
12
+ async function getLogsHandler({
13
+ mastra,
14
+ transportId,
15
+ params
16
+ }) {
17
+ try {
18
+ validateBody({ transportId });
19
+ const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
20
+ const filters = _filters ? Object.fromEntries(
21
+ (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
22
+ const [key, value] = attr.split(":");
23
+ return [key, value];
24
+ })
25
+ ) : void 0;
26
+ const logs = await mastra.getLogs(transportId, {
27
+ fromDate,
28
+ toDate,
29
+ logLevel,
30
+ filters,
31
+ page: page ? Number(page) : void 0,
32
+ perPage: perPage ? Number(perPage) : void 0
33
+ });
34
+ return logs;
35
+ } catch (error) {
36
+ return handleError(error, "Error getting logs");
37
+ }
38
+ }
39
+ async function getLogsByRunIdHandler({
40
+ mastra,
41
+ runId,
42
+ transportId,
43
+ params
44
+ }) {
45
+ try {
46
+ validateBody({ runId, transportId });
47
+ const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
48
+ const filters = _filters ? Object.fromEntries(
49
+ (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
50
+ const [key, value] = attr.split(":");
51
+ return [key, value];
52
+ })
53
+ ) : void 0;
54
+ const logs = await mastra.getLogsByRunId({
55
+ runId,
56
+ transportId,
57
+ fromDate,
58
+ toDate,
59
+ logLevel,
60
+ filters,
61
+ page: page ? Number(page) : void 0,
62
+ perPage: perPage ? Number(perPage) : void 0
63
+ });
64
+ return logs;
65
+ } catch (error) {
66
+ return handleError(error, "Error getting logs by run ID");
67
+ }
68
+ }
69
+ async function getLogTransports({ mastra }) {
70
+ try {
71
+ const logger = mastra.getLogger();
72
+ const transports = logger.getTransports();
73
+ return {
74
+ transports: transports ? [...transports.keys()] : []
75
+ };
76
+ } catch (error) {
77
+ return handleError(error, "Error getting log Transports");
78
+ }
79
+ }
80
+
81
+ export { getLogTransports, getLogsByRunIdHandler, getLogsHandler, logs_exports };
82
+ //# sourceMappingURL=chunk-A3AL7EWJ.js.map
83
+ //# sourceMappingURL=chunk-A3AL7EWJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/logs.ts"],"names":[],"mappings":"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","file":"chunk-A3AL7EWJ.js","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"]}
@@ -1,13 +1,14 @@
1
- import { validateBody } from './chunk-H5PTF3Y4.js';
2
- import { handleError } from './chunk-M5ABIP7D.js';
3
- import { HTTPException } from './chunk-NYN7KFXL.js';
4
- import { __export } from './chunk-MLKGABMK.js';
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-G3PMV62Z.js';
5
5
  import { Readable } from 'stream';
6
6
 
7
7
  // src/server/handlers/voice.ts
8
8
  var voice_exports = {};
9
9
  __export(voice_exports, {
10
10
  generateSpeechHandler: () => generateSpeechHandler,
11
+ getListenerHandler: () => getListenerHandler,
11
12
  getSpeakersHandler: () => getSpeakersHandler,
12
13
  transcribeSpeechHandler: () => transcribeSpeechHandler
13
14
  });
@@ -20,10 +21,11 @@ async function getSpeakersHandler({ mastra, agentId }) {
20
21
  if (!agent) {
21
22
  throw new HTTPException(404, { message: "Agent not found" });
22
23
  }
23
- if (!agent.voice) {
24
+ const voice = await agent.getVoice();
25
+ if (!voice) {
24
26
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
25
27
  }
26
- const speakers = await agent.voice.getSpeakers();
28
+ const speakers = await voice.getSpeakers();
27
29
  return speakers;
28
30
  } catch (error) {
29
31
  return handleError(error, "Error getting speakers");
@@ -45,10 +47,11 @@ async function generateSpeechHandler({
45
47
  if (!agent) {
46
48
  throw new HTTPException(404, { message: "Agent not found" });
47
49
  }
48
- if (!agent.voice) {
50
+ const voice = await agent.getVoice();
51
+ if (!voice) {
49
52
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
50
53
  }
51
- const audioStream = await agent.voice.speak(body.text, { speaker: body.speakerId });
54
+ const audioStream = await voice.speak(body.text, { speaker: body.speakerId });
52
55
  if (!audioStream) {
53
56
  throw new HTTPException(500, { message: "Failed to generate speech" });
54
57
  }
@@ -73,17 +76,39 @@ async function transcribeSpeechHandler({
73
76
  if (!agent) {
74
77
  throw new HTTPException(404, { message: "Agent not found" });
75
78
  }
76
- if (!agent.voice) {
79
+ const voice = await agent.getVoice();
80
+ if (!voice) {
77
81
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
78
82
  }
79
83
  const audioStream = new Readable();
80
84
  audioStream.push(body.audioData);
81
85
  audioStream.push(null);
82
- const text = await agent.voice.listen(audioStream, body.options);
86
+ const text = await voice.listen(audioStream, body.options);
83
87
  return { text };
84
88
  } catch (error) {
85
89
  return handleError(error, "Error transcribing speech");
86
90
  }
87
91
  }
92
+ async function getListenerHandler({ mastra, agentId }) {
93
+ try {
94
+ if (!agentId) {
95
+ throw new HTTPException(400, { message: "Agent ID is required" });
96
+ }
97
+ const agent = mastra.getAgent(agentId);
98
+ if (!agent) {
99
+ throw new HTTPException(404, { message: "Agent not found" });
100
+ }
101
+ const voice = await agent.getVoice();
102
+ if (!voice) {
103
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
104
+ }
105
+ const listeners = await voice.getListener();
106
+ return listeners;
107
+ } catch (error) {
108
+ return handleError(error, "Error getting listeners");
109
+ }
110
+ }
88
111
 
89
- export { generateSpeechHandler, getSpeakersHandler, transcribeSpeechHandler, voice_exports };
112
+ export { generateSpeechHandler, getListenerHandler, getSpeakersHandler, transcribeSpeechHandler, voice_exports };
113
+ //# sourceMappingURL=chunk-A75S4TDD.js.map
114
+ //# sourceMappingURL=chunk-A75S4TDD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-A75S4TDD.js","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"]}