@mastra/server 0.0.0-remove-tiktoken-20250415231938 → 0.0.0-remove-unused-import-20250909212718

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 (328) hide show
  1. package/CHANGELOG.md +3541 -0
  2. package/LICENSE.md +11 -42
  3. package/README.md +48 -135
  4. package/dist/chunk-3THIIWWW.cjs +484 -0
  5. package/dist/chunk-3THIIWWW.cjs.map +1 -0
  6. package/dist/{chunk-L7XE5QTW.js → chunk-4QCXUEAT.js} +11 -2
  7. package/dist/chunk-4QCXUEAT.js.map +1 -0
  8. package/dist/chunk-4RRMWXQ2.js +3522 -0
  9. package/dist/chunk-4RRMWXQ2.js.map +1 -0
  10. package/dist/chunk-5DP5XZH6.cjs +928 -0
  11. package/dist/chunk-5DP5XZH6.cjs.map +1 -0
  12. package/dist/chunk-5QUKZCEF.js +476 -0
  13. package/dist/chunk-5QUKZCEF.js.map +1 -0
  14. package/dist/chunk-66YYHFGF.js +761 -0
  15. package/dist/chunk-66YYHFGF.js.map +1 -0
  16. package/dist/chunk-6GMFZ5LK.js +2774 -0
  17. package/dist/chunk-6GMFZ5LK.js.map +1 -0
  18. package/dist/chunk-6LUKYSWE.cjs +610 -0
  19. package/dist/chunk-6LUKYSWE.cjs.map +1 -0
  20. package/dist/chunk-743UIDHI.cjs +2013 -0
  21. package/dist/chunk-743UIDHI.cjs.map +1 -0
  22. package/dist/{chunk-FV45V6WC.cjs → chunk-7NADHFD2.cjs} +3 -7
  23. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  24. package/dist/chunk-7QEJ5QG5.js +151 -0
  25. package/dist/chunk-7QEJ5QG5.js.map +1 -0
  26. package/dist/chunk-A3AL7EWJ.js +83 -0
  27. package/dist/chunk-A3AL7EWJ.js.map +1 -0
  28. package/dist/{chunk-3RVHWGWO.js → chunk-A75S4TDD.js} +38 -19
  29. package/dist/chunk-A75S4TDD.js.map +1 -0
  30. package/dist/chunk-AK2FXLLB.cjs +849 -0
  31. package/dist/chunk-AK2FXLLB.cjs.map +1 -0
  32. package/dist/chunk-B2V3PUB7.js +591 -0
  33. package/dist/chunk-B2V3PUB7.js.map +1 -0
  34. package/dist/chunk-CY4TP3FK.js +16 -0
  35. package/dist/chunk-CY4TP3FK.js.map +1 -0
  36. package/dist/chunk-EMMSS5I5.cjs +37 -0
  37. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  38. package/dist/chunk-EMNGA4R4.js +845 -0
  39. package/dist/chunk-EMNGA4R4.js.map +1 -0
  40. package/dist/chunk-FALVL2VV.cjs +3525 -0
  41. package/dist/chunk-FALVL2VV.cjs.map +1 -0
  42. package/dist/chunk-FQNT7PI4.js +937 -0
  43. package/dist/chunk-FQNT7PI4.js.map +1 -0
  44. package/dist/chunk-G3PMV62Z.js +33 -0
  45. package/dist/chunk-G3PMV62Z.js.map +1 -0
  46. package/dist/chunk-G4PUALCE.cjs +28 -0
  47. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  48. package/dist/chunk-GU4EWMZB.cjs +769 -0
  49. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  50. package/dist/chunk-GUI3CROV.cjs +159 -0
  51. package/dist/chunk-GUI3CROV.cjs.map +1 -0
  52. package/dist/chunk-HJQKWRKQ.cjs +764 -0
  53. package/dist/chunk-HJQKWRKQ.cjs.map +1 -0
  54. package/dist/chunk-HVBBFCDH.cjs +2321 -0
  55. package/dist/chunk-HVBBFCDH.cjs.map +1 -0
  56. package/dist/chunk-HZJRQ5L3.cjs +1411 -0
  57. package/dist/chunk-HZJRQ5L3.cjs.map +1 -0
  58. package/dist/chunk-IGFMAZZ5.cjs +1150 -0
  59. package/dist/chunk-IGFMAZZ5.cjs.map +1 -0
  60. package/dist/chunk-IOQGI4ML.js +931 -0
  61. package/dist/chunk-IOQGI4ML.js.map +1 -0
  62. package/dist/chunk-IY34NOLA.cjs +150 -0
  63. package/dist/chunk-IY34NOLA.cjs.map +1 -0
  64. package/dist/chunk-J7BPKKOG.cjs +163 -0
  65. package/dist/chunk-J7BPKKOG.cjs.map +1 -0
  66. package/dist/chunk-KNGXRN26.cjs +335 -0
  67. package/dist/chunk-KNGXRN26.cjs.map +1 -0
  68. package/dist/{chunk-DVPP5S6I.js → chunk-KV6VHX4V.js} +35 -10
  69. package/dist/chunk-KV6VHX4V.js.map +1 -0
  70. package/dist/chunk-L265APUD.cjs +69 -0
  71. package/dist/chunk-L265APUD.cjs.map +1 -0
  72. package/dist/chunk-LF2ZLOFP.js +767 -0
  73. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  74. package/dist/chunk-LYPU75T6.js +1147 -0
  75. package/dist/chunk-LYPU75T6.js.map +1 -0
  76. package/dist/chunk-M2YFWHSB.js +455 -0
  77. package/dist/chunk-M2YFWHSB.js.map +1 -0
  78. package/dist/chunk-MLGHQDZZ.js +15671 -0
  79. package/dist/chunk-MLGHQDZZ.js.map +1 -0
  80. package/dist/{chunk-TRDNDNGQ.js → chunk-MMROOK5J.js} +4 -7
  81. package/dist/chunk-MMROOK5J.js.map +1 -0
  82. package/dist/chunk-N7F33WAD.js +2290 -0
  83. package/dist/chunk-N7F33WAD.js.map +1 -0
  84. package/dist/chunk-NG5IVLEZ.js +1012 -0
  85. package/dist/chunk-NG5IVLEZ.js.map +1 -0
  86. package/dist/chunk-OGW6HHVI.js +1408 -0
  87. package/dist/chunk-OGW6HHVI.js.map +1 -0
  88. package/dist/chunk-OZLRIVC4.cjs +588 -0
  89. package/dist/chunk-OZLRIVC4.cjs.map +1 -0
  90. package/dist/chunk-P7CIEIJ3.js +925 -0
  91. package/dist/chunk-P7CIEIJ3.js.map +1 -0
  92. package/dist/chunk-P7RBMCBE.cjs +934 -0
  93. package/dist/chunk-P7RBMCBE.cjs.map +1 -0
  94. package/dist/chunk-PPYGWINI.cjs +2777 -0
  95. package/dist/chunk-PPYGWINI.cjs.map +1 -0
  96. package/dist/{chunk-CWSDZEZG.cjs → chunk-PWTXZZTR.cjs} +39 -13
  97. package/dist/chunk-PWTXZZTR.cjs.map +1 -0
  98. package/dist/chunk-R7NOGUZG.js +65 -0
  99. package/dist/chunk-R7NOGUZG.js.map +1 -0
  100. package/dist/chunk-RCHEPTZZ.js +2006 -0
  101. package/dist/chunk-RCHEPTZZ.js.map +1 -0
  102. package/dist/chunk-RE4RPXT2.cjs +18 -0
  103. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  104. package/dist/chunk-RW2D3G4K.cjs +470 -0
  105. package/dist/chunk-RW2D3G4K.cjs.map +1 -0
  106. package/dist/chunk-SIGXR3JT.cjs +1043 -0
  107. package/dist/chunk-SIGXR3JT.cjs.map +1 -0
  108. package/dist/chunk-SPLSYTYW.cjs +88 -0
  109. package/dist/chunk-SPLSYTYW.cjs.map +1 -0
  110. package/dist/chunk-SQY4T6EJ.js +571 -0
  111. package/dist/chunk-SQY4T6EJ.js.map +1 -0
  112. package/dist/{chunk-UV4WTEH4.js → chunk-SYRRSBGL.js} +51 -15
  113. package/dist/chunk-SYRRSBGL.js.map +1 -0
  114. package/dist/{chunk-M56ECCHK.cjs → chunk-T3TIA3O6.cjs} +22 -19
  115. package/dist/chunk-T3TIA3O6.cjs.map +1 -0
  116. package/dist/{chunk-OPP7H5TW.js → chunk-TTHEEIZ3.js} +92 -74
  117. package/dist/chunk-TTHEEIZ3.js.map +1 -0
  118. package/dist/chunk-TVSIG4JE.cjs +940 -0
  119. package/dist/chunk-TVSIG4JE.cjs.map +1 -0
  120. package/dist/{chunk-YANVFOYA.js → chunk-U46VIX2V.js} +58 -34
  121. package/dist/chunk-U46VIX2V.js.map +1 -0
  122. package/dist/{chunk-4JINXASC.js → chunk-WHN4VX55.js} +7 -4
  123. package/dist/chunk-WHN4VX55.js.map +1 -0
  124. package/dist/chunk-WZC6CIVD.cjs +120 -0
  125. package/dist/chunk-WZC6CIVD.cjs.map +1 -0
  126. package/dist/chunk-YITREQVN.cjs +15707 -0
  127. package/dist/chunk-YITREQVN.cjs.map +1 -0
  128. package/dist/dist-26HWEQY6.js +3 -0
  129. package/dist/dist-26HWEQY6.js.map +1 -0
  130. package/dist/dist-3A5DXB37.cjs +20 -0
  131. package/dist/dist-3A5DXB37.cjs.map +1 -0
  132. package/dist/dist-3SJKQJGY.cjs +16 -0
  133. package/dist/dist-3SJKQJGY.cjs.map +1 -0
  134. package/dist/dist-4ZQSPE5K.js +3 -0
  135. package/dist/dist-4ZQSPE5K.js.map +1 -0
  136. package/dist/dist-5W5QNRTD.js +3 -0
  137. package/dist/dist-5W5QNRTD.js.map +1 -0
  138. package/dist/dist-653SRMPL.js +3 -0
  139. package/dist/dist-653SRMPL.js.map +1 -0
  140. package/dist/dist-6U6EFC5C.cjs +16 -0
  141. package/dist/dist-6U6EFC5C.cjs.map +1 -0
  142. package/dist/dist-7IHNNYMF.cjs +16 -0
  143. package/dist/dist-7IHNNYMF.cjs.map +1 -0
  144. package/dist/dist-B5IPRF6W.js +3 -0
  145. package/dist/dist-B5IPRF6W.js.map +1 -0
  146. package/dist/dist-EOMYFT4Y.cjs +16 -0
  147. package/dist/dist-EOMYFT4Y.cjs.map +1 -0
  148. package/dist/dist-EZZMMMNT.cjs +16 -0
  149. package/dist/dist-EZZMMMNT.cjs.map +1 -0
  150. package/dist/dist-F2ET4MNO.cjs +16 -0
  151. package/dist/dist-F2ET4MNO.cjs.map +1 -0
  152. package/dist/dist-H64VX6DE.js +3 -0
  153. package/dist/dist-H64VX6DE.js.map +1 -0
  154. package/dist/dist-HY7RMLJQ.cjs +16 -0
  155. package/dist/dist-HY7RMLJQ.cjs.map +1 -0
  156. package/dist/dist-M6S4P3FJ.js +3 -0
  157. package/dist/dist-M6S4P3FJ.js.map +1 -0
  158. package/dist/dist-NR7QSCQT.js +3 -0
  159. package/dist/dist-NR7QSCQT.js.map +1 -0
  160. package/dist/dist-QLFMCMCX.js +3 -0
  161. package/dist/dist-QLFMCMCX.js.map +1 -0
  162. package/dist/dist-UY46BFRP.js +3 -0
  163. package/dist/dist-UY46BFRP.js.map +1 -0
  164. package/dist/dist-WCQDRTIV.cjs +16 -0
  165. package/dist/dist-WCQDRTIV.cjs.map +1 -0
  166. package/dist/dist-WKYB3LTJ.cjs +16 -0
  167. package/dist/dist-WKYB3LTJ.cjs.map +1 -0
  168. package/dist/index.cjs +2 -0
  169. package/dist/index.cjs.map +1 -0
  170. package/dist/index.d.ts +1 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +2 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/server/a2a/protocol.d.ts +8 -0
  175. package/dist/server/a2a/protocol.d.ts.map +1 -0
  176. package/dist/server/a2a/store.cjs +25 -0
  177. package/dist/server/a2a/store.cjs.map +1 -0
  178. package/dist/server/a2a/store.d.ts +14 -0
  179. package/dist/server/a2a/store.d.ts.map +1 -0
  180. package/dist/server/a2a/store.js +23 -0
  181. package/dist/server/a2a/store.js.map +1 -0
  182. package/dist/server/a2a/tasks.d.ts +20 -0
  183. package/dist/server/a2a/tasks.d.ts.map +1 -0
  184. package/dist/server/handlers/a2a.cjs +32 -0
  185. package/dist/server/handlers/a2a.cjs.map +1 -0
  186. package/dist/server/handlers/a2a.d.ts +68 -0
  187. package/dist/server/handlers/a2a.d.ts.map +1 -0
  188. package/dist/server/handlers/a2a.js +3 -0
  189. package/dist/server/handlers/a2a.js.map +1 -0
  190. package/dist/server/handlers/agent-builder.cjs +68 -0
  191. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  192. package/dist/server/handlers/agent-builder.d.ts +87 -0
  193. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  194. package/dist/server/handlers/agent-builder.js +3 -0
  195. package/dist/server/handlers/agent-builder.js.map +1 -0
  196. package/dist/server/handlers/agents.cjs +37 -7
  197. package/dist/server/handlers/agents.cjs.map +1 -0
  198. package/dist/server/handlers/agents.d.ts +129 -6
  199. package/dist/server/handlers/agents.d.ts.map +1 -0
  200. package/dist/server/handlers/agents.js +3 -1
  201. package/dist/server/handlers/agents.js.map +1 -0
  202. package/dist/server/handlers/error.cjs +4 -2
  203. package/dist/server/handlers/error.cjs.map +1 -0
  204. package/dist/server/handlers/error.d.ts +2 -1
  205. package/dist/server/handlers/error.d.ts.map +1 -0
  206. package/dist/server/handlers/error.js +3 -1
  207. package/dist/server/handlers/error.js.map +1 -0
  208. package/dist/server/handlers/legacyWorkflows.cjs +48 -0
  209. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  210. package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
  211. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  212. package/dist/server/handlers/legacyWorkflows.js +3 -0
  213. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  214. package/dist/server/handlers/logs.cjs +6 -4
  215. package/dist/server/handlers/logs.cjs.map +1 -0
  216. package/dist/server/handlers/logs.d.ts +34 -3
  217. package/dist/server/handlers/logs.d.ts.map +1 -0
  218. package/dist/server/handlers/logs.js +3 -1
  219. package/dist/server/handlers/logs.js.map +1 -0
  220. package/dist/server/handlers/memory.cjs +39 -9
  221. package/dist/server/handlers/memory.cjs.map +1 -0
  222. package/dist/server/handlers/memory.d.ts +118 -8
  223. package/dist/server/handlers/memory.d.ts.map +1 -0
  224. package/dist/server/handlers/memory.js +3 -1
  225. package/dist/server/handlers/memory.js.map +1 -0
  226. package/dist/server/handlers/network.cjs +7 -5
  227. package/dist/server/handlers/network.cjs.map +1 -0
  228. package/dist/server/handlers/network.d.ts +50 -4
  229. package/dist/server/handlers/network.d.ts.map +1 -0
  230. package/dist/server/handlers/network.js +3 -1
  231. package/dist/server/handlers/network.js.map +1 -0
  232. package/dist/server/handlers/observability.cjs +16 -0
  233. package/dist/server/handlers/observability.cjs.map +1 -0
  234. package/dist/server/handlers/observability.d.ts +23 -0
  235. package/dist/server/handlers/observability.d.ts.map +1 -0
  236. package/dist/server/handlers/observability.js +3 -0
  237. package/dist/server/handlers/observability.js.map +1 -0
  238. package/dist/server/handlers/scores.cjs +32 -0
  239. package/dist/server/handlers/scores.cjs.map +1 -0
  240. package/dist/server/handlers/scores.d.ts +49 -0
  241. package/dist/server/handlers/scores.d.ts.map +1 -0
  242. package/dist/server/handlers/scores.js +3 -0
  243. package/dist/server/handlers/scores.js.map +1 -0
  244. package/dist/server/handlers/telemetry.cjs +9 -3
  245. package/dist/server/handlers/telemetry.cjs.map +1 -0
  246. package/dist/server/handlers/telemetry.d.ts +33 -2
  247. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  248. package/dist/server/handlers/telemetry.js +3 -1
  249. package/dist/server/handlers/telemetry.js.map +1 -0
  250. package/dist/server/handlers/tools.cjs +11 -5
  251. package/dist/server/handlers/tools.cjs.map +1 -0
  252. package/dist/server/handlers/tools.d.ts +25 -4
  253. package/dist/server/handlers/tools.d.ts.map +1 -0
  254. package/dist/server/handlers/tools.js +3 -1
  255. package/dist/server/handlers/tools.js.map +1 -0
  256. package/dist/server/handlers/utils.cjs +8 -2
  257. package/dist/server/handlers/utils.cjs.map +1 -0
  258. package/dist/server/handlers/utils.d.ts +8 -1
  259. package/dist/server/handlers/utils.d.ts.map +1 -0
  260. package/dist/server/handlers/utils.js +3 -1
  261. package/dist/server/handlers/utils.js.map +1 -0
  262. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  263. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  264. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  265. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  266. package/dist/server/handlers/vNextNetwork.js +213 -0
  267. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  268. package/dist/server/handlers/vector.cjs +9 -7
  269. package/dist/server/handlers/vector.cjs.map +1 -0
  270. package/dist/server/handlers/vector.d.ts +51 -6
  271. package/dist/server/handlers/vector.d.ts.map +1 -0
  272. package/dist/server/handlers/vector.js +3 -1
  273. package/dist/server/handlers/vector.js.map +1 -0
  274. package/dist/server/handlers/voice.cjs +10 -4
  275. package/dist/server/handlers/voice.cjs.map +1 -0
  276. package/dist/server/handlers/voice.d.ts +39 -3
  277. package/dist/server/handlers/voice.d.ts.map +1 -0
  278. package/dist/server/handlers/voice.js +3 -1
  279. package/dist/server/handlers/voice.js.map +1 -0
  280. package/dist/server/handlers/workflows.cjs +35 -13
  281. package/dist/server/handlers/workflows.cjs.map +1 -0
  282. package/dist/server/handlers/workflows.d.ts +73 -10
  283. package/dist/server/handlers/workflows.d.ts.map +1 -0
  284. package/dist/server/handlers/workflows.js +3 -1
  285. package/dist/server/handlers/workflows.js.map +1 -0
  286. package/dist/server/handlers.cjs +53 -26
  287. package/dist/server/handlers.cjs.map +1 -0
  288. package/dist/server/handlers.d.ts +15 -9
  289. package/dist/server/handlers.d.ts.map +1 -0
  290. package/dist/server/handlers.js +16 -9
  291. package/dist/server/handlers.js.map +1 -0
  292. package/dist/server/http-exception.d.ts +87 -0
  293. package/dist/server/http-exception.d.ts.map +1 -0
  294. package/dist/server/types.d.ts +10 -0
  295. package/dist/server/types.d.ts.map +1 -0
  296. package/dist/server/utils.d.ts +42 -0
  297. package/dist/server/utils.d.ts.map +1 -0
  298. package/package.json +51 -19
  299. package/dist/_tsup-dts-rollup.d.cts +0 -573
  300. package/dist/_tsup-dts-rollup.d.ts +0 -573
  301. package/dist/chunk-2FJURXCL.cjs +0 -213
  302. package/dist/chunk-3AHQ5RGN.js +0 -11
  303. package/dist/chunk-3EJZQ6TQ.js +0 -49
  304. package/dist/chunk-67WTHYAV.js +0 -156
  305. package/dist/chunk-A7DF4ETD.cjs +0 -100
  306. package/dist/chunk-B64YROKU.cjs +0 -317
  307. package/dist/chunk-JLDXUWK7.cjs +0 -126
  308. package/dist/chunk-PDC4ZBQW.cjs +0 -126
  309. package/dist/chunk-QH6XWSXP.cjs +0 -5579
  310. package/dist/chunk-QN4KF3BH.cjs +0 -18
  311. package/dist/chunk-RBQASTUP.js +0 -203
  312. package/dist/chunk-SKBVVI24.cjs +0 -54
  313. package/dist/chunk-VK6FX47H.js +0 -5576
  314. package/dist/chunk-Z46X3YCB.cjs +0 -164
  315. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  316. package/dist/index.d.cts +0 -1
  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/logs.d.cts +0 -3
  320. package/dist/server/handlers/memory.d.cts +0 -8
  321. package/dist/server/handlers/network.d.cts +0 -4
  322. package/dist/server/handlers/telemetry.d.cts +0 -2
  323. package/dist/server/handlers/tools.d.cts +0 -4
  324. package/dist/server/handlers/utils.d.cts +0 -1
  325. package/dist/server/handlers/vector.d.cts +0 -6
  326. package/dist/server/handlers/voice.d.cts +0 -3
  327. package/dist/server/handlers/workflows.d.cts +0 -10
  328. package/dist/server/handlers.d.cts +0 -9
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkZLBRQFDD_cjs = require('./chunk-ZLBRQFDD.cjs');
4
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
4
+ var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
5
+ var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
5
6
 
6
7
  // src/server/handlers/telemetry.ts
7
8
  var telemetry_exports = {};
8
- chunkFV45V6WC_cjs.__export(telemetry_exports, {
9
+ chunkEMMSS5I5_cjs.__export(telemetry_exports, {
10
+ collectParentSpanIds: () => collectParentSpanIds,
9
11
  getTelemetryHandler: () => getTelemetryHandler,
10
12
  storeTelemetryHandler: () => storeTelemetryHandler
11
13
  });
@@ -14,31 +16,33 @@ async function getTelemetryHandler({ mastra, body }) {
14
16
  const telemetry = mastra.getTelemetry();
15
17
  const storage = mastra.getStorage();
16
18
  if (!telemetry) {
17
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Telemetry is not initialized" });
19
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Telemetry is not initialized" });
18
20
  }
19
21
  if (!storage) {
20
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Storage is not initialized" });
22
+ return [];
21
23
  }
22
24
  if (!body) {
23
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Body is required" });
25
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Body is required" });
24
26
  }
25
- const { name, scope, page, perPage, attribute } = body;
27
+ const { name, scope, page, perPage, attribute, fromDate, toDate } = body;
26
28
  const attributes = attribute ? Object.fromEntries(
27
29
  (Array.isArray(attribute) ? attribute : [attribute]).map((attr) => {
28
30
  const [key, value] = attr.split(":");
29
31
  return [key, value];
30
32
  })
31
33
  ) : void 0;
32
- const traces = await storage.__getTraces({
34
+ const traces = await storage.getTraces({
33
35
  name,
34
36
  scope,
35
37
  page: Number(page ?? 0),
36
38
  perPage: Number(perPage ?? 100),
37
- attributes
39
+ attributes,
40
+ fromDate: fromDate ? new Date(fromDate) : void 0,
41
+ toDate: toDate ? new Date(toDate) : void 0
38
42
  });
39
43
  return traces;
40
44
  } catch (error2) {
41
- return chunkZLBRQFDD_cjs.handleError(error2, "Error getting telemetry");
45
+ return chunkRE4RPXT2_cjs.handleError(error2, "Error getting telemetry");
42
46
  }
43
47
  }
44
48
  async function storeTelemetryHandler({ mastra, body }) {
@@ -46,7 +50,10 @@ async function storeTelemetryHandler({ mastra, body }) {
46
50
  const storage = mastra.getStorage();
47
51
  const logger = mastra.getLogger();
48
52
  if (!storage) {
49
- throw new chunkFV45V6WC_cjs.HTTPException(400, { message: "Storage is not initialized" });
53
+ return {
54
+ status: "error",
55
+ message: "Storage is not initialized"
56
+ };
50
57
  }
51
58
  const now = /* @__PURE__ */ new Date();
52
59
  const items = body?.resourceSpans?.[0]?.scopeSpans;
@@ -61,8 +68,12 @@ async function storeTelemetryHandler({ mastra, body }) {
61
68
  traceCount: 0
62
69
  };
63
70
  }
71
+ const parentSpanIds = collectParentSpanIds(items);
64
72
  const allSpans = items.reduce((acc, scopedSpans) => {
65
73
  const { scope, spans } = scopedSpans;
74
+ if (scope.name === "@opentelemetry/instrumentation-http") {
75
+ return acc;
76
+ }
66
77
  for (const span of spans) {
67
78
  const {
68
79
  spanId,
@@ -82,7 +93,7 @@ async function storeTelemetryHandler({ mastra, body }) {
82
93
  const endTime = Number(BigInt(endTimeUnixNano) / 1000n);
83
94
  acc.push({
84
95
  id: spanId,
85
- parentSpanId,
96
+ parentSpanId: parentSpanIds.has(parentSpanId) ? null : parentSpanId,
86
97
  traceId,
87
98
  name,
88
99
  scope: scope.name,
@@ -107,7 +118,7 @@ async function storeTelemetryHandler({ mastra, body }) {
107
118
  }
108
119
  return acc;
109
120
  }, []);
110
- return storage.__batchTraceInsert({
121
+ return storage.batchTraceInsert({
111
122
  records: allSpans
112
123
  }).then(() => {
113
124
  return {
@@ -133,7 +144,22 @@ async function storeTelemetryHandler({ mastra, body }) {
133
144
  };
134
145
  }
135
146
  }
147
+ var collectParentSpanIds = (items) => {
148
+ const result = /* @__PURE__ */ new Set();
149
+ for (const { scope, spans } of items) {
150
+ if (scope.name !== "@opentelemetry/instrumentation-http") {
151
+ continue;
152
+ }
153
+ for (const span of spans) {
154
+ result.add(span.spanId);
155
+ }
156
+ }
157
+ return result;
158
+ };
136
159
 
160
+ exports.collectParentSpanIds = collectParentSpanIds;
137
161
  exports.getTelemetryHandler = getTelemetryHandler;
138
162
  exports.storeTelemetryHandler = storeTelemetryHandler;
139
163
  exports.telemetry_exports = telemetry_exports;
164
+ //# sourceMappingURL=chunk-PWTXZZTR.cjs.map
165
+ //# sourceMappingURL=chunk-PWTXZZTR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/telemetry.ts"],"names":["__export","HTTPException","error","handleError","acc"],"mappings":"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","file":"chunk-PWTXZZTR.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface TelemetryContext extends Context {\n body?: {\n name?: string;\n scope?: string;\n page?: number;\n perPage?: number;\n attribute?: string | string[];\n fromDate?: Date;\n toDate?: Date;\n };\n}\n\nexport async function getTelemetryHandler({ mastra, body }: TelemetryContext) {\n try {\n const telemetry = mastra.getTelemetry();\n const storage = mastra.getStorage();\n\n if (!telemetry) {\n throw new HTTPException(400, { message: 'Telemetry is not initialized' });\n }\n\n if (!storage) {\n return [];\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Body is required' });\n }\n\n const { name, scope, page, perPage, attribute, fromDate, toDate } = body;\n\n // Parse attribute query parameter if present\n const attributes = attribute\n ? Object.fromEntries(\n (Array.isArray(attribute) ? attribute : [attribute]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const traces = await storage.getTraces({\n name,\n scope,\n page: Number(page ?? 0),\n perPage: Number(perPage ?? 100),\n attributes,\n fromDate: fromDate ? new Date(fromDate) : undefined,\n toDate: toDate ? new Date(toDate) : undefined,\n });\n\n return traces;\n } catch (error) {\n return handleError(error, 'Error getting telemetry');\n }\n}\n\nexport async function storeTelemetryHandler({ mastra, body }: Context & { body: { resourceSpans: any[] } }) {\n try {\n const storage = mastra.getStorage();\n const logger = mastra.getLogger();\n\n if (!storage) {\n return {\n status: 'error',\n message: 'Storage is not initialized',\n };\n }\n\n const now = new Date();\n\n const items = body?.resourceSpans?.[0]?.scopeSpans;\n logger.debug('[Telemetry Handler] Received spans:', {\n totalSpans: items?.reduce((acc: number, scope: { spans: any[] }) => acc + scope.spans.length, 0) || 0,\n timestamp: now.toISOString(),\n });\n if (!items?.length) {\n return {\n status: 'success',\n message: 'No spans to process',\n traceCount: 0,\n };\n }\n\n const parentSpanIds = collectParentSpanIds(items);\n const allSpans: any[] = items.reduce((acc: any, scopedSpans: any) => {\n const { scope, spans } = scopedSpans;\n\n // HTTP instrumentation spans are root spans but are not useful.\n // Remove them entirely and promote their direct children to root spans.\n if (scope.name === '@opentelemetry/instrumentation-http') {\n return acc;\n }\n\n for (const span of spans) {\n const {\n spanId,\n parentSpanId,\n traceId,\n name,\n kind,\n attributes,\n status,\n events,\n links,\n startTimeUnixNano,\n endTimeUnixNano,\n ...rest\n } = span;\n\n const startTime = Number(BigInt(startTimeUnixNano) / 1000n);\n const endTime = Number(BigInt(endTimeUnixNano) / 1000n);\n\n acc.push({\n id: spanId,\n parentSpanId: parentSpanIds.has(parentSpanId) ? null : parentSpanId,\n traceId,\n name,\n scope: scope.name,\n kind,\n status: JSON.stringify(status),\n events: JSON.stringify(events),\n links: JSON.stringify(links),\n attributes: JSON.stringify(\n attributes.reduce((acc: Record<string, any>, attr: any) => {\n const valueKey = Object.keys(attr.value)[0];\n if (valueKey) {\n acc[attr.key] = attr.value[valueKey];\n }\n return acc;\n }, {}),\n ),\n startTime,\n endTime,\n other: JSON.stringify(rest),\n createdAt: now,\n });\n }\n return acc;\n }, []);\n\n return storage\n .batchTraceInsert({\n records: allSpans,\n })\n .then(() => {\n return {\n status: 'success',\n message: 'Traces received and processed successfully',\n traceCount: body.resourceSpans?.length || 0,\n };\n })\n .catch(() => {\n return {\n status: 'error',\n message: 'Failed to process traces',\n // @ts-ignore\n error: error.message,\n };\n });\n\n // Return a simple response\n } catch (error) {\n console.error('Error processing traces:', error);\n return {\n status: 'error',\n message: 'Failed to process traces',\n // @ts-ignore\n error: error.message,\n };\n }\n}\n\nexport const collectParentSpanIds = (items: any[]) => {\n const result = new Set<string>();\n for (const { scope, spans } of items) {\n if (scope.name !== '@opentelemetry/instrumentation-http') {\n continue;\n }\n\n for (const span of spans) {\n result.add(span.spanId);\n }\n }\n\n return result;\n};\n"]}
@@ -0,0 +1,65 @@
1
+ import { handleError } from './chunk-CY4TP3FK.js';
2
+ import { HTTPException } from './chunk-MMROOK5J.js';
3
+ import { __export } from './chunk-G3PMV62Z.js';
4
+
5
+ // src/server/handlers/observability.ts
6
+ var observability_exports = {};
7
+ __export(observability_exports, {
8
+ getAITraceHandler: () => getAITraceHandler,
9
+ getAITracesPaginatedHandler: () => getAITracesPaginatedHandler
10
+ });
11
+ async function getAITraceHandler({ mastra, traceId }) {
12
+ try {
13
+ if (!traceId) {
14
+ throw new HTTPException(400, { message: "Trace ID is required" });
15
+ }
16
+ const storage = mastra.getStorage();
17
+ if (!storage) {
18
+ throw new HTTPException(500, { message: "Storage is not available" });
19
+ }
20
+ const trace = await storage.getAITrace(traceId);
21
+ if (!trace) {
22
+ throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
23
+ }
24
+ return trace;
25
+ } catch (error) {
26
+ handleError(error, "Error getting AI trace");
27
+ }
28
+ }
29
+ async function getAITracesPaginatedHandler({ mastra, body }) {
30
+ try {
31
+ const storage = mastra.getStorage();
32
+ if (!storage) {
33
+ throw new HTTPException(500, { message: "Storage is not available" });
34
+ }
35
+ if (!body) {
36
+ throw new HTTPException(400, { message: "Request body is required" });
37
+ }
38
+ const { filters, pagination } = body;
39
+ if (pagination?.page && pagination.page < 0) {
40
+ throw new HTTPException(400, { message: "Page must be a non-negative integer" });
41
+ }
42
+ if (pagination?.perPage && pagination.perPage < 0) {
43
+ throw new HTTPException(400, { message: "Per page must be a non-negative integer" });
44
+ }
45
+ if (pagination?.dateRange) {
46
+ const { start, end } = pagination.dateRange;
47
+ if (start && !(start instanceof Date)) {
48
+ throw new HTTPException(400, { message: "Invalid date format in date range" });
49
+ }
50
+ if (end && !(end instanceof Date)) {
51
+ throw new HTTPException(400, { message: "Invalid date format in date range" });
52
+ }
53
+ }
54
+ return storage.getAITracesPaginated({
55
+ pagination,
56
+ filters
57
+ });
58
+ } catch (error) {
59
+ handleError(error, "Error getting AI traces paginated");
60
+ }
61
+ }
62
+
63
+ export { getAITraceHandler, getAITracesPaginatedHandler, observability_exports };
64
+ //# sourceMappingURL=chunk-R7NOGUZG.js.map
65
+ //# sourceMappingURL=chunk-R7NOGUZG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":";;;;;AAAA,IAAA,qBAAA,GAAA;AAAA,QAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,2BAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAeA,eAAsB,iBAAA,CAAkB,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAA+C;AACvG,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,IAClE;AAEA,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA;AAE9C,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,OAAO,eAAe,CAAA;AAAA,IAClF;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,wBAAwB,CAAA;AAAA,EAC7C;AACF;AAMA,eAAsB,2BAAA,CAA4B,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAyB;AACxF,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAW,GAAI,IAAA;AAEhC,IAAA,IAAI,UAAA,EAAY,IAAA,IAAQ,UAAA,CAAW,IAAA,GAAO,CAAA,EAAG;AAC3C,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,uCAAuC,CAAA;AAAA,IACjF;AAEA,IAAA,IAAI,UAAA,EAAY,OAAA,IAAW,UAAA,CAAW,OAAA,GAAU,CAAA,EAAG;AACjD,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2CAA2C,CAAA;AAAA,IACrF;AAEA,IAAA,IAAI,YAAY,SAAA,EAAW;AACzB,MAAA,MAAM,EAAE,KAAA,EAAO,GAAA,EAAI,GAAI,UAAA,CAAW,SAAA;AAElC,MAAA,IAAI,KAAA,IAAS,EAAE,KAAA,YAAiB,IAAA,CAAA,EAAO;AACrC,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,MAC/E;AAEA,MAAA,IAAI,GAAA,IAAO,EAAE,GAAA,YAAe,IAAA,CAAA,EAAO;AACjC,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,MAC/E;AAAA,IACF;AAEA,IAAA,OAAO,QAAQ,oBAAA,CAAqB;AAAA,MAClC,UAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,mCAAmC,CAAA;AAAA,EACxD;AACF","file":"chunk-R7NOGUZG.js","sourcesContent":["import type { AITracesPaginatedArg } from '@mastra/core';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: AITracesPaginatedArg;\n}\n\n/**\n * Get a complete AI trace by trace ID\n * Returns all spans in the trace with their parent-child relationships\n */\nexport async function getAITraceHandler({ mastra, traceId }: ObservabilityContext & { traceId: string }) {\n try {\n if (!traceId) {\n throw new HTTPException(400, { message: 'Trace ID is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const trace = await storage.getAITrace(traceId);\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n handleError(error, 'Error getting AI trace');\n }\n}\n\n/**\n * Get paginated AI traces with filtering and pagination\n * Returns only root spans (parent spans) for pagination, not child spans\n */\nexport async function getAITracesPaginatedHandler({ mastra, body }: ObservabilityContext) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { filters, pagination } = body;\n\n if (pagination?.page && pagination.page < 0) {\n throw new HTTPException(400, { message: 'Page must be a non-negative integer' });\n }\n\n if (pagination?.perPage && pagination.perPage < 0) {\n throw new HTTPException(400, { message: 'Per page must be a non-negative integer' });\n }\n\n if (pagination?.dateRange) {\n const { start, end } = pagination.dateRange;\n\n if (start && !(start instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n\n if (end && !(end instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n }\n\n return storage.getAITracesPaginated({\n pagination,\n filters,\n });\n } catch (error) {\n handleError(error, 'Error getting AI traces paginated');\n }\n}\n"]}