@mastra/server 0.0.0-message-list-update-20250715150321 → 0.0.0-monorepo-binary-20251013210052

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 (279) hide show
  1. package/CHANGELOG.md +4009 -0
  2. package/README.md +0 -5
  3. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  4. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  5. package/dist/chunk-2S4IMB6E.cjs +130 -0
  6. package/dist/chunk-2S4IMB6E.cjs.map +1 -0
  7. package/dist/chunk-3LGGSMCC.cjs +256 -0
  8. package/dist/chunk-3LGGSMCC.cjs.map +1 -0
  9. package/dist/chunk-3LTO44EP.cjs +570 -0
  10. package/dist/chunk-3LTO44EP.cjs.map +1 -0
  11. package/dist/chunk-3SNGNFUJ.cjs +128 -0
  12. package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
  13. package/dist/{chunk-RSEO4XPX.js → chunk-4QCXUEAT.js} +11 -2
  14. package/dist/chunk-4QCXUEAT.js.map +1 -0
  15. package/dist/chunk-5BNQIYQN.js +189 -0
  16. package/dist/chunk-5BNQIYQN.js.map +1 -0
  17. package/dist/{chunk-RG473F6Y.js → chunk-67GYDFSB.js} +24 -5
  18. package/dist/chunk-67GYDFSB.js.map +1 -0
  19. package/dist/chunk-6BMOC6SA.cjs +48 -0
  20. package/dist/chunk-6BMOC6SA.cjs.map +1 -0
  21. package/dist/{chunk-G7KH752Y.cjs → chunk-6ZR275MD.cjs} +28 -8
  22. package/dist/chunk-6ZR275MD.cjs.map +1 -0
  23. package/dist/{chunk-2KZFMI6P.cjs → chunk-7NADHFD2.cjs} +2 -0
  24. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  25. package/dist/{chunk-4D66QEKC.js → chunk-ABRFV4XP.js} +5 -3
  26. package/dist/chunk-ABRFV4XP.js.map +1 -0
  27. package/dist/{chunk-LRCAAFUA.js → chunk-AHB4JCIQ.js} +50 -12
  28. package/dist/chunk-AHB4JCIQ.js.map +1 -0
  29. package/dist/chunk-BATEJLED.js +124 -0
  30. package/dist/chunk-BATEJLED.js.map +1 -0
  31. package/dist/chunk-BZLZFHAT.cjs +682 -0
  32. package/dist/chunk-BZLZFHAT.cjs.map +1 -0
  33. package/dist/{chunk-LF7P5PLR.js → chunk-CY4TP3FK.js} +3 -1
  34. package/dist/chunk-CY4TP3FK.js.map +1 -0
  35. package/dist/{chunk-H7DMHBKY.js → chunk-DB63UMTV.js} +249 -87
  36. package/dist/chunk-DB63UMTV.js.map +1 -0
  37. package/dist/chunk-DTBJ3D22.js +19480 -0
  38. package/dist/chunk-DTBJ3D22.js.map +1 -0
  39. package/dist/{chunk-7TP2LX5L.cjs → chunk-EP3JQDPD.cjs} +20 -18
  40. package/dist/chunk-EP3JQDPD.cjs.map +1 -0
  41. package/dist/chunk-G4PUALCE.cjs +28 -0
  42. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  43. package/dist/chunk-GU4EWMZB.cjs +769 -0
  44. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  45. package/dist/chunk-H2CO44WB.js +46 -0
  46. package/dist/chunk-H2CO44WB.js.map +1 -0
  47. package/dist/{chunk-GHC4YV6R.js → chunk-HPXAM2PG.js} +109 -136
  48. package/dist/chunk-HPXAM2PG.js.map +1 -0
  49. package/dist/{chunk-JMLYCXMK.cjs → chunk-I3C4ODGV.cjs} +48 -45
  50. package/dist/chunk-I3C4ODGV.cjs.map +1 -0
  51. package/dist/chunk-JSLAYFEW.js +662 -0
  52. package/dist/chunk-JSLAYFEW.js.map +1 -0
  53. package/dist/chunk-KQZPT7AO.js +254 -0
  54. package/dist/chunk-KQZPT7AO.js.map +1 -0
  55. package/dist/chunk-LF2ZLOFP.js +767 -0
  56. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  57. package/dist/{chunk-5PQQ42EZ.js → chunk-LLUOPR3J.js} +13 -10
  58. package/dist/chunk-LLUOPR3J.js.map +1 -0
  59. package/dist/chunk-LNT5N7XW.cjs +197 -0
  60. package/dist/chunk-LNT5N7XW.cjs.map +1 -0
  61. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  62. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  63. package/dist/{chunk-LCM566I4.js → chunk-MMROOK5J.js} +2 -0
  64. package/dist/chunk-MMROOK5J.js.map +1 -0
  65. package/dist/chunk-MQDBNHBT.cjs +680 -0
  66. package/dist/chunk-MQDBNHBT.cjs.map +1 -0
  67. package/dist/{chunk-WNVFNNWN.js → chunk-MYR4PVGN.js} +5 -3
  68. package/dist/chunk-MYR4PVGN.js.map +1 -0
  69. package/dist/chunk-O7I5CWRX.cjs +44 -0
  70. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  71. package/dist/chunk-OEOGYAQC.js +553 -0
  72. package/dist/chunk-OEOGYAQC.js.map +1 -0
  73. package/dist/chunk-PR4QN5HX.js +39 -0
  74. package/dist/chunk-PR4QN5HX.js.map +1 -0
  75. package/dist/{chunk-KHZKYUNR.js → chunk-QQXMIP6C.js} +23 -13
  76. package/dist/chunk-QQXMIP6C.js.map +1 -0
  77. package/dist/{chunk-PZQDCRPV.cjs → chunk-RE4RPXT2.cjs} +4 -2
  78. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  79. package/dist/chunk-RQK4FQUD.js +1012 -0
  80. package/dist/chunk-RQK4FQUD.js.map +1 -0
  81. package/dist/chunk-SBWOUCO3.cjs +19516 -0
  82. package/dist/chunk-SBWOUCO3.cjs.map +1 -0
  83. package/dist/{chunk-SDPGVWQJ.cjs → chunk-TOP25AIO.cjs} +110 -137
  84. package/dist/chunk-TOP25AIO.cjs.map +1 -0
  85. package/dist/chunk-TRGAMKHX.cjs +167 -0
  86. package/dist/chunk-TRGAMKHX.cjs.map +1 -0
  87. package/dist/chunk-VY4ENABS.cjs +135 -0
  88. package/dist/chunk-VY4ENABS.cjs.map +1 -0
  89. package/dist/{chunk-QGX47B5D.cjs → chunk-XN74I6VW.cjs} +11 -9
  90. package/dist/chunk-XN74I6VW.cjs.map +1 -0
  91. package/dist/chunk-YWOK4F5A.js +131 -0
  92. package/dist/chunk-YWOK4F5A.js.map +1 -0
  93. package/dist/chunk-ZULZ2752.js +2774 -0
  94. package/dist/chunk-ZULZ2752.js.map +1 -0
  95. package/dist/dist-4MVGNSRL.cjs +1150 -0
  96. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  97. package/dist/dist-FZYCV3VB.cjs +940 -0
  98. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  99. package/dist/dist-G2BYZJOC.cjs +928 -0
  100. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  101. package/dist/dist-P4MXBQ3U.cjs +16 -0
  102. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  103. package/dist/dist-PQZUVLPC.js +937 -0
  104. package/dist/dist-PQZUVLPC.js.map +1 -0
  105. package/dist/dist-R7WYX6LC.js +925 -0
  106. package/dist/dist-R7WYX6LC.js.map +1 -0
  107. package/dist/dist-RFMYFILX.cjs +764 -0
  108. package/dist/dist-RFMYFILX.cjs.map +1 -0
  109. package/dist/dist-X7XR3M3Z.js +1147 -0
  110. package/dist/dist-X7XR3M3Z.js.map +1 -0
  111. package/dist/dist-XVBSOGFK.js +761 -0
  112. package/dist/dist-XVBSOGFK.js.map +1 -0
  113. package/dist/dist-YREX2TJT.js +3 -0
  114. package/dist/dist-YREX2TJT.js.map +1 -0
  115. package/dist/index.cjs +6 -0
  116. package/dist/index.cjs.map +1 -0
  117. package/dist/index.d.ts +1 -0
  118. package/dist/index.d.ts.map +1 -0
  119. package/dist/index.js +5 -0
  120. package/dist/index.js.map +1 -0
  121. package/dist/server/a2a/protocol.d.ts +8 -0
  122. package/dist/server/a2a/protocol.d.ts.map +1 -0
  123. package/dist/server/a2a/store.cjs +25 -0
  124. package/dist/server/a2a/store.cjs.map +1 -0
  125. package/dist/server/a2a/store.d.ts +14 -0
  126. package/dist/server/a2a/store.d.ts.map +1 -0
  127. package/dist/server/a2a/store.js +23 -0
  128. package/dist/server/a2a/store.js.map +1 -0
  129. package/dist/server/a2a/tasks.d.ts +20 -0
  130. package/dist/server/a2a/tasks.d.ts.map +1 -0
  131. package/dist/server/handlers/a2a.cjs +13 -11
  132. package/dist/server/handlers/a2a.cjs.map +1 -0
  133. package/dist/server/handlers/a2a.d.ts +68 -6
  134. package/dist/server/handlers/a2a.d.ts.map +1 -0
  135. package/dist/server/handlers/a2a.js +3 -1
  136. package/dist/server/handlers/a2a.js.map +1 -0
  137. package/dist/server/handlers/agent-builder.cjs +68 -0
  138. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  139. package/dist/server/handlers/agent-builder.d.ts +94 -0
  140. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  141. package/dist/server/handlers/agent-builder.js +3 -0
  142. package/dist/server/handlers/agent-builder.js.map +1 -0
  143. package/dist/server/handlers/agents.cjs +57 -7
  144. package/dist/server/handlers/agents.cjs.map +1 -0
  145. package/dist/server/handlers/agents.d.ts +204 -6
  146. package/dist/server/handlers/agents.d.ts.map +1 -0
  147. package/dist/server/handlers/agents.js +3 -1
  148. package/dist/server/handlers/agents.js.map +1 -0
  149. package/dist/server/handlers/error.cjs +4 -2
  150. package/dist/server/handlers/error.cjs.map +1 -0
  151. package/dist/server/handlers/error.d.ts +2 -1
  152. package/dist/server/handlers/error.d.ts.map +1 -0
  153. package/dist/server/handlers/error.js +3 -1
  154. package/dist/server/handlers/error.js.map +1 -0
  155. package/dist/server/handlers/legacyWorkflows.cjs +13 -11
  156. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  157. package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
  158. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  159. package/dist/server/handlers/legacyWorkflows.js +3 -1
  160. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  161. package/dist/server/handlers/logs.cjs +6 -4
  162. package/dist/server/handlers/logs.cjs.map +1 -0
  163. package/dist/server/handlers/logs.d.ts +34 -3
  164. package/dist/server/handlers/logs.d.ts.map +1 -0
  165. package/dist/server/handlers/logs.js +3 -1
  166. package/dist/server/handlers/logs.js.map +1 -0
  167. package/dist/server/handlers/memory.cjs +33 -11
  168. package/dist/server/handlers/memory.cjs.map +1 -0
  169. package/dist/server/handlers/memory.d.ts +118 -10
  170. package/dist/server/handlers/memory.d.ts.map +1 -0
  171. package/dist/server/handlers/memory.js +3 -1
  172. package/dist/server/handlers/memory.js.map +1 -0
  173. package/dist/server/handlers/observability.cjs +24 -0
  174. package/dist/server/handlers/observability.cjs.map +1 -0
  175. package/dist/server/handlers/observability.d.ts +49 -0
  176. package/dist/server/handlers/observability.d.ts.map +1 -0
  177. package/dist/server/handlers/observability.js +3 -0
  178. package/dist/server/handlers/observability.js.map +1 -0
  179. package/dist/server/handlers/scores.cjs +32 -0
  180. package/dist/server/handlers/scores.cjs.map +1 -0
  181. package/dist/server/handlers/scores.d.ts +251 -0
  182. package/dist/server/handlers/scores.d.ts.map +1 -0
  183. package/dist/server/handlers/scores.js +3 -0
  184. package/dist/server/handlers/scores.js.map +1 -0
  185. package/dist/server/handlers/telemetry.cjs +9 -3
  186. package/dist/server/handlers/telemetry.cjs.map +1 -0
  187. package/dist/server/handlers/telemetry.d.ts +33 -2
  188. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  189. package/dist/server/handlers/telemetry.js +3 -1
  190. package/dist/server/handlers/telemetry.js.map +1 -0
  191. package/dist/server/handlers/tools.cjs +11 -5
  192. package/dist/server/handlers/tools.cjs.map +1 -0
  193. package/dist/server/handlers/tools.d.ts +25 -4
  194. package/dist/server/handlers/tools.d.ts.map +1 -0
  195. package/dist/server/handlers/tools.js +3 -1
  196. package/dist/server/handlers/tools.js.map +1 -0
  197. package/dist/server/handlers/utils.cjs +8 -2
  198. package/dist/server/handlers/utils.cjs.map +1 -0
  199. package/dist/server/handlers/utils.d.ts +8 -1
  200. package/dist/server/handlers/utils.d.ts.map +1 -0
  201. package/dist/server/handlers/utils.js +3 -1
  202. package/dist/server/handlers/utils.js.map +1 -0
  203. package/dist/server/handlers/vector.cjs +9 -7
  204. package/dist/server/handlers/vector.cjs.map +1 -0
  205. package/dist/server/handlers/vector.d.ts +51 -6
  206. package/dist/server/handlers/vector.d.ts.map +1 -0
  207. package/dist/server/handlers/vector.js +3 -1
  208. package/dist/server/handlers/vector.js.map +1 -0
  209. package/dist/server/handlers/voice.cjs +7 -5
  210. package/dist/server/handlers/voice.cjs.map +1 -0
  211. package/dist/server/handlers/voice.d.ts +41 -4
  212. package/dist/server/handlers/voice.d.ts.map +1 -0
  213. package/dist/server/handlers/voice.js +3 -1
  214. package/dist/server/handlers/voice.js.map +1 -0
  215. package/dist/server/handlers/workflows.cjs +33 -15
  216. package/dist/server/handlers/workflows.cjs.map +1 -0
  217. package/dist/server/handlers/workflows.d.ts +91 -14
  218. package/dist/server/handlers/workflows.d.ts.map +1 -0
  219. package/dist/server/handlers/workflows.js +3 -1
  220. package/dist/server/handlers/workflows.js.map +1 -0
  221. package/dist/server/handlers.cjs +44 -32
  222. package/dist/server/handlers.cjs.map +1 -0
  223. package/dist/server/handlers.d.ts +14 -11
  224. package/dist/server/handlers.d.ts.map +1 -0
  225. package/dist/server/handlers.js +15 -11
  226. package/dist/server/handlers.js.map +1 -0
  227. package/dist/server/http-exception.d.ts +87 -0
  228. package/dist/server/http-exception.d.ts.map +1 -0
  229. package/dist/server/types.d.ts +10 -0
  230. package/dist/server/types.d.ts.map +1 -0
  231. package/dist/server/utils.d.ts +44 -0
  232. package/dist/server/utils.d.ts.map +1 -0
  233. package/dist/token-352SFL4N.js +62 -0
  234. package/dist/token-352SFL4N.js.map +1 -0
  235. package/dist/token-JT637FZG.cjs +64 -0
  236. package/dist/token-JT637FZG.cjs.map +1 -0
  237. package/dist/token-util-75OQWZ4W.js +7 -0
  238. package/dist/token-util-75OQWZ4W.js.map +1 -0
  239. package/dist/token-util-WGALAXWM.cjs +9 -0
  240. package/dist/token-util-WGALAXWM.cjs.map +1 -0
  241. package/package.json +37 -14
  242. package/dist/_tsup-dts-rollup.d.cts +0 -1107
  243. package/dist/_tsup-dts-rollup.d.ts +0 -1107
  244. package/dist/chunk-2SLFAFTR.cjs +0 -148
  245. package/dist/chunk-3CNDE7QY.cjs +0 -308
  246. package/dist/chunk-75ZPJI57.cjs +0 -9
  247. package/dist/chunk-B2PAS2IB.cjs +0 -514
  248. package/dist/chunk-BK4XT6EG.js +0 -270
  249. package/dist/chunk-CCGRCYWJ.cjs +0 -18
  250. package/dist/chunk-CRCR3ZUK.js +0 -142
  251. package/dist/chunk-FRVBFMO2.cjs +0 -128
  252. package/dist/chunk-KOHWJYJT.js +0 -296
  253. package/dist/chunk-LI436ITD.cjs +0 -2042
  254. package/dist/chunk-LZ3VJXSO.cjs +0 -278
  255. package/dist/chunk-MEGCYGBU.js +0 -2039
  256. package/dist/chunk-MLKGABMK.js +0 -7
  257. package/dist/chunk-RHSWAXKB.cjs +0 -118
  258. package/dist/index.d.cts +0 -1
  259. package/dist/server/handlers/a2a.d.cts +0 -6
  260. package/dist/server/handlers/agents.d.cts +0 -6
  261. package/dist/server/handlers/error.d.cts +0 -1
  262. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  263. package/dist/server/handlers/logs.d.cts +0 -3
  264. package/dist/server/handlers/memory.d.cts +0 -10
  265. package/dist/server/handlers/network.cjs +0 -22
  266. package/dist/server/handlers/network.d.cts +0 -4
  267. package/dist/server/handlers/network.d.ts +0 -4
  268. package/dist/server/handlers/network.js +0 -1
  269. package/dist/server/handlers/telemetry.d.cts +0 -2
  270. package/dist/server/handlers/tools.d.cts +0 -4
  271. package/dist/server/handlers/utils.d.cts +0 -1
  272. package/dist/server/handlers/vNextNetwork.cjs +0 -218
  273. package/dist/server/handlers/vNextNetwork.d.cts +0 -6
  274. package/dist/server/handlers/vNextNetwork.d.ts +0 -6
  275. package/dist/server/handlers/vNextNetwork.js +0 -211
  276. package/dist/server/handlers/vector.d.cts +0 -6
  277. package/dist/server/handlers/voice.d.cts +0 -4
  278. package/dist/server/handlers/workflows.d.cts +0 -14
  279. package/dist/server/handlers.d.cts +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/http-exception.ts"],"names":[],"mappings":";;;AAgHO,IAAM,aAAA,GAAN,cAA4B,KAAA,CAAM;AAAA,EAC9B,GAAA;AAAA,EACA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,WAAA,CAAY,MAAA,GAAqB,GAAA,EAAK,OAAA,EAAgC;AACpE,IAAA,KAAA,CAAM,SAAS,OAAA,EAAS,EAAE,KAAA,EAAO,OAAA,EAAS,OAAO,CAAA;AACjD,IAAA,IAAA,CAAK,MAAM,OAAA,EAAS,GAAA;AACpB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,KAAA,GAAQ,OAAA,EAAS,KAAA,IAAS,IAAA,CAAK,KAAA;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAA,GAAwB;AACtB,IAAA,IAAI,KAAK,GAAA,EAAK;AACZ,MAAA,MAAM,WAAA,GAAc,IAAI,QAAA,CAAS,IAAA,CAAK,IAAI,IAAA,EAAM;AAAA,QAC9C,QAAQ,IAAA,CAAK,MAAA;AAAA,QACb,OAAA,EAAS,KAAK,GAAA,CAAI;AAAA,OACnB,CAAA;AACD,MAAA,OAAO,WAAA;AAAA,IACT;AACA,IAAA,OAAO,IAAI,QAAA,CAAS,IAAA,CAAK,OAAA,EAAS;AAAA,MAChC,QAAQ,IAAA,CAAK;AAAA,KACd,CAAA;AAAA,EACH;AACF","file":"chunk-7NADHFD2.cjs","sourcesContent":["// Copied from https://github.com/honojs/hono/blob/main/packages/hono/src/http-exception.ts\n\n/**\n * @module\n * This module provides the `HTTPException` class.\n */\n\ntype InfoStatusCode = 100 | 101 | 102 | 103;\ntype SuccessStatusCode = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;\ntype DeprecatedStatusCode = 305 | 306;\ntype RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | DeprecatedStatusCode | 307 | 308;\ntype ClientErrorStatusCode =\n | 400\n | 401\n | 402\n | 403\n | 404\n | 405\n | 406\n | 407\n | 408\n | 409\n | 410\n | 411\n | 412\n | 413\n | 414\n | 415\n | 416\n | 417\n | 418\n | 421\n | 422\n | 423\n | 424\n | 425\n | 426\n | 428\n | 429\n | 431\n | 451;\ntype ServerErrorStatusCode = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;\n\n/**\n * `UnofficialStatusCode` can be used to specify an unofficial status code.\n * @example\n *\n * ```ts\n * app.get('/unknown', (c) => {\n * return c.text(\"Unknown Error\", 520 as UnofficialStatusCode)\n * })\n * ```\n */\nexport type UnofficialStatusCode = -1;\n\n/**\n * @deprecated\n * Use `UnofficialStatusCode` instead.\n */\nexport type UnOfficalStatusCode = UnofficialStatusCode;\n\n/**\n * If you want to use an unofficial status, use `UnofficialStatusCode`.\n */\nexport type StatusCode =\n | InfoStatusCode\n | SuccessStatusCode\n | RedirectStatusCode\n | ClientErrorStatusCode\n | ServerErrorStatusCode\n | UnofficialStatusCode;\n\n/**\n * Options for creating an `HTTPException`.\n * @property res - Optional response object to use.\n * @property message - Optional custom error message.\n * @property cause - Optional cause of the error.\n * @property stack - Optional stack trace for the error.\n */\ntype HTTPExceptionOptions = {\n res?: Response;\n message?: string;\n cause?: unknown;\n stack?: string;\n};\n\n/**\n * `HTTPException` must be used when a fatal error such as authentication failure occurs.\n *\n * @see {@link https://hono.dev/docs/api/exception}\n *\n * @param {StatusCode} status - status code of HTTPException\n * @param {HTTPExceptionOptions} options - options of HTTPException\n * @param {HTTPExceptionOptions[\"res\"]} options.res - response of options of HTTPException\n * @param {HTTPExceptionOptions[\"message\"]} options.message - message of options of HTTPException\n * @param {HTTPExceptionOptions[\"cause\"]} options.cause - cause of options of HTTPException\n *\n * @example\n * ```ts\n * import { HTTPException } from 'hono/http-exception'\n *\n * // ...\n *\n * app.post('/auth', async (c, next) => {\n * // authentication\n * if (authorized === false) {\n * throw new HTTPException(401, { message: 'Custom error message' })\n * }\n * await next()\n * })\n * ```\n */\nexport class HTTPException extends Error {\n readonly res?: Response;\n readonly status: StatusCode;\n\n /**\n * Creates an instance of `HTTPException`.\n * @param status - HTTP status code for the exception. Defaults to 500.\n * @param options - Additional options for the exception.\n */\n constructor(status: StatusCode = 500, options?: HTTPExceptionOptions) {\n super(options?.message, { cause: options?.cause });\n this.res = options?.res;\n this.status = status;\n this.stack = options?.stack || this.stack;\n }\n\n /**\n * Returns the response object associated with the exception.\n * If a response object is not provided, a new response is created with the error message and status code.\n * @returns The response object.\n */\n getResponse(): Response {\n if (this.res) {\n const newResponse = new Response(this.res.body, {\n status: this.status,\n headers: this.res.headers,\n });\n return newResponse;\n }\n return new Response(this.message, {\n status: this.status,\n });\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { validateBody } from './chunk-RSEO4XPX.js';
2
- import { handleError } from './chunk-LF7P5PLR.js';
3
- import { __export } from './chunk-MLKGABMK.js';
1
+ import { validateBody } from './chunk-4QCXUEAT.js';
2
+ import { handleError } from './chunk-CY4TP3FK.js';
3
+ import { __export } from './chunk-PR4QN5HX.js';
4
4
 
5
5
  // src/server/handlers/logs.ts
6
6
  var logs_exports = {};
@@ -79,3 +79,5 @@ async function getLogTransports({ mastra }) {
79
79
  }
80
80
 
81
81
  export { getLogTransports, getLogsByRunIdHandler, getLogsHandler, logs_exports };
82
+ //# sourceMappingURL=chunk-ABRFV4XP.js.map
83
+ //# sourceMappingURL=chunk-ABRFV4XP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/logs.ts"],"names":[],"mappings":"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","file":"chunk-ABRFV4XP.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,15 +1,17 @@
1
- import { stringify, esm_default } from './chunk-MEGCYGBU.js';
2
- import { validateBody } from './chunk-RSEO4XPX.js';
3
- import { handleError } from './chunk-LF7P5PLR.js';
4
- import { HTTPException } from './chunk-LCM566I4.js';
5
- import { __export } from './chunk-MLKGABMK.js';
1
+ import { validateBody } from './chunk-4QCXUEAT.js';
2
+ import { stringify } from './chunk-LF2ZLOFP.js';
3
+ import { handleError } from './chunk-CY4TP3FK.js';
4
+ import { HTTPException } from './chunk-MMROOK5J.js';
5
+ import { __export } from './chunk-PR4QN5HX.js';
6
6
  import { isVercelTool } from '@mastra/core/tools';
7
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
7
8
 
8
9
  // src/server/handlers/tools.ts
9
10
  var tools_exports = {};
10
11
  __export(tools_exports, {
11
12
  executeAgentToolHandler: () => executeAgentToolHandler,
12
13
  executeToolHandler: () => executeToolHandler,
14
+ getAgentToolHandler: () => getAgentToolHandler,
13
15
  getToolByIdHandler: () => getToolByIdHandler,
14
16
  getToolsHandler: () => getToolsHandler
15
17
  });
@@ -23,8 +25,8 @@ async function getToolsHandler({ tools }) {
23
25
  const tool = _tool;
24
26
  acc[id] = {
25
27
  ...tool,
26
- inputSchema: tool.inputSchema ? stringify(esm_default(tool.inputSchema)) : void 0,
27
- outputSchema: tool.outputSchema ? stringify(esm_default(tool.outputSchema)) : void 0
28
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
29
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
28
30
  };
29
31
  return acc;
30
32
  },
@@ -43,8 +45,8 @@ async function getToolByIdHandler({ tools, toolId }) {
43
45
  }
44
46
  const serializedTool = {
45
47
  ...tool,
46
- inputSchema: tool.inputSchema ? stringify(esm_default(tool.inputSchema)) : void 0,
47
- outputSchema: tool.outputSchema ? stringify(esm_default(tool.outputSchema)) : void 0
48
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
49
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
48
50
  };
49
51
  return serializedTool;
50
52
  } catch (error) {
@@ -79,7 +81,11 @@ function executeToolHandler(tools) {
79
81
  context: data,
80
82
  mastra,
81
83
  runId,
82
- runtimeContext
84
+ runtimeContext,
85
+ // TODO: Pass proper tracing context when server API supports tracing
86
+ tracingContext: { currentSpan: void 0 },
87
+ suspend: async () => {
88
+ }
83
89
  });
84
90
  return result;
85
91
  } catch (error) {
@@ -87,6 +93,32 @@ function executeToolHandler(tools) {
87
93
  }
88
94
  };
89
95
  }
96
+ async function getAgentToolHandler({
97
+ mastra,
98
+ agentId,
99
+ toolId,
100
+ runtimeContext
101
+ }) {
102
+ try {
103
+ const agent = agentId ? mastra.getAgent(agentId) : null;
104
+ if (!agent) {
105
+ throw new HTTPException(404, { message: "Agent not found" });
106
+ }
107
+ const agentTools = await agent.getTools({ runtimeContext });
108
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
109
+ if (!tool) {
110
+ throw new HTTPException(404, { message: "Tool not found" });
111
+ }
112
+ const serializedTool = {
113
+ ...tool,
114
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
115
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
116
+ };
117
+ return serializedTool;
118
+ } catch (error) {
119
+ return handleError(error, "Error getting agent tool");
120
+ }
121
+ }
90
122
  async function executeAgentToolHandler({
91
123
  mastra,
92
124
  agentId,
@@ -111,7 +143,11 @@ async function executeAgentToolHandler({
111
143
  context: data,
112
144
  runtimeContext,
113
145
  mastra,
114
- runId: agentId
146
+ runId: agentId,
147
+ // TODO: Pass proper tracing context when server API supports tracing
148
+ tracingContext: { currentSpan: void 0 },
149
+ suspend: async () => {
150
+ }
115
151
  });
116
152
  return result;
117
153
  } catch (error) {
@@ -119,4 +155,6 @@ async function executeAgentToolHandler({
119
155
  }
120
156
  }
121
157
 
122
- export { executeAgentToolHandler, executeToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
158
+ export { executeAgentToolHandler, executeToolHandler, getAgentToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
159
+ //# sourceMappingURL=chunk-AHB4JCIQ.js.map
160
+ //# sourceMappingURL=chunk-AHB4JCIQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool","result"],"mappings":"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","file":"chunk-AHB4JCIQ.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
@@ -0,0 +1,124 @@
1
+ import { handleError } from './chunk-CY4TP3FK.js';
2
+ import { HTTPException } from './chunk-MMROOK5J.js';
3
+ import { __export } from './chunk-PR4QN5HX.js';
4
+ import { scoreTraces } from '@mastra/core/scores/scoreTraces';
5
+
6
+ // src/server/handlers/observability.ts
7
+ var observability_exports = {};
8
+ __export(observability_exports, {
9
+ getAITraceHandler: () => getAITraceHandler,
10
+ getAITracesPaginatedHandler: () => getAITracesPaginatedHandler,
11
+ getScoresBySpan: () => getScoresBySpan,
12
+ scoreTracesHandler: () => scoreTracesHandler
13
+ });
14
+ async function getAITraceHandler({ mastra, traceId }) {
15
+ try {
16
+ if (!traceId) {
17
+ throw new HTTPException(400, { message: "Trace ID is required" });
18
+ }
19
+ const storage = mastra.getStorage();
20
+ if (!storage) {
21
+ throw new HTTPException(500, { message: "Storage is not available" });
22
+ }
23
+ const trace = await storage.getAITrace(traceId);
24
+ if (!trace) {
25
+ throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
26
+ }
27
+ return trace;
28
+ } catch (error) {
29
+ handleError(error, "Error getting AI trace");
30
+ }
31
+ }
32
+ async function getAITracesPaginatedHandler({ mastra, body }) {
33
+ try {
34
+ const storage = mastra.getStorage();
35
+ if (!storage) {
36
+ throw new HTTPException(500, { message: "Storage is not available" });
37
+ }
38
+ if (!body) {
39
+ throw new HTTPException(400, { message: "Request body is required" });
40
+ }
41
+ const { filters, pagination } = body;
42
+ if (pagination?.page && pagination.page < 0) {
43
+ throw new HTTPException(400, { message: "Page must be a non-negative integer" });
44
+ }
45
+ if (pagination?.perPage && pagination.perPage < 0) {
46
+ throw new HTTPException(400, { message: "Per page must be a non-negative integer" });
47
+ }
48
+ if (pagination?.dateRange) {
49
+ const { start, end } = pagination.dateRange;
50
+ if (start && !(start instanceof Date)) {
51
+ throw new HTTPException(400, { message: "Invalid date format in date range" });
52
+ }
53
+ if (end && !(end instanceof Date)) {
54
+ throw new HTTPException(400, { message: "Invalid date format in date range" });
55
+ }
56
+ }
57
+ return storage.getAITracesPaginated({
58
+ pagination,
59
+ filters
60
+ });
61
+ } catch (error) {
62
+ handleError(error, "Error getting AI traces paginated");
63
+ }
64
+ }
65
+ async function scoreTracesHandler({ mastra, body }) {
66
+ try {
67
+ if (!body) {
68
+ throw new HTTPException(400, { message: "Request body is required" });
69
+ }
70
+ const { scorerName, targets } = body;
71
+ if (!scorerName) {
72
+ throw new HTTPException(400, { message: "Scorer Name is required" });
73
+ }
74
+ if (!targets || targets.length === 0) {
75
+ throw new HTTPException(400, { message: "At least one target is required" });
76
+ }
77
+ const storage = mastra.getStorage();
78
+ if (!storage) {
79
+ throw new HTTPException(500, { message: "Storage is not available" });
80
+ }
81
+ const scorer = mastra.getScorerByName(scorerName);
82
+ if (!scorer) {
83
+ throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });
84
+ }
85
+ const logger = mastra.getLogger();
86
+ scoreTraces({
87
+ scorerName,
88
+ targets,
89
+ mastra
90
+ }).catch((error) => {
91
+ logger?.error(`Background trace scoring failed: ${error.message}`, error);
92
+ });
93
+ return {
94
+ status: "success",
95
+ message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
96
+ traceCount: targets.length
97
+ };
98
+ } catch (error) {
99
+ handleError(error, "Error processing trace scoring");
100
+ }
101
+ }
102
+ async function getScoresBySpan({
103
+ mastra,
104
+ traceId,
105
+ spanId,
106
+ pagination
107
+ }) {
108
+ try {
109
+ const storage = mastra.getStorage();
110
+ if (!storage) {
111
+ throw new HTTPException(500, { message: "Storage is not available" });
112
+ }
113
+ if (!traceId || !spanId) {
114
+ throw new HTTPException(400, { message: "Trace ID and span ID are required" });
115
+ }
116
+ return await storage.getScoresBySpan({ traceId, spanId, pagination });
117
+ } catch (error) {
118
+ return handleError(error, "Error getting scores by span");
119
+ }
120
+ }
121
+
122
+ export { getAITraceHandler, getAITracesPaginatedHandler, getScoresBySpan, observability_exports, scoreTracesHandler };
123
+ //# sourceMappingURL=chunk-BATEJLED.js.map
124
+ //# sourceMappingURL=chunk-BATEJLED.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":"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","file":"chunk-BATEJLED.js","sourcesContent":["import type { AITracesPaginatedArg, StoragePagination } from '@mastra/core';\nimport { scoreTraces } from '@mastra/core/scores/scoreTraces';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: AITracesPaginatedArg;\n}\n\ninterface ScoreTracesContext extends Context {\n body?: {\n scorerName: string;\n targets: Array<{\n traceId: string;\n spanId?: string;\n }>;\n };\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\n/**\n * Score traces using a specified scorer\n * Fire-and-forget approach - returns immediately while scoring runs in background\n */\nexport async function scoreTracesHandler({ mastra, body }: ScoreTracesContext) {\n try {\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { scorerName, targets } = body;\n\n if (!scorerName) {\n throw new HTTPException(400, { message: 'Scorer Name is required' });\n }\n\n if (!targets || targets.length === 0) {\n throw new HTTPException(400, { message: 'At least one target 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 scorer = mastra.getScorerByName(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n const logger = mastra.getLogger();\n scoreTraces({\n scorerName,\n targets,\n mastra,\n }).catch(error => {\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n // Return immediate response\n return {\n status: 'success',\n message: `Scoring started for ${targets.length} ${targets.length === 1 ? 'trace' : 'traces'}`,\n traceCount: targets.length,\n };\n } catch (error) {\n handleError(error, 'Error processing trace scoring');\n }\n}\n\nexport async function getScoresBySpan({\n mastra,\n traceId,\n spanId,\n pagination,\n}: Context & { traceId: string; spanId: string; pagination: StoragePagination }) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!traceId || !spanId) {\n throw new HTTPException(400, { message: 'Trace ID and span ID are required' });\n }\n\n return await storage.getScoresBySpan({ traceId, spanId, pagination });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n}\n"]}