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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/dist/chunk-3SFLFUKY.js +116 -0
  3. package/dist/chunk-3SFLFUKY.js.map +1 -0
  4. package/dist/chunk-4W2SM6CG.js +294 -0
  5. package/dist/chunk-4W2SM6CG.js.map +1 -0
  6. package/dist/chunk-5W4RPVTK.cjs +49 -0
  7. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  8. package/dist/{chunk-D7T74TVR.js → chunk-6YWE7UPT.js} +18 -4
  9. package/dist/chunk-6YWE7UPT.js.map +1 -0
  10. package/dist/chunk-7HX4V5Y6.cjs +23268 -0
  11. package/dist/chunk-7HX4V5Y6.cjs.map +1 -0
  12. package/dist/chunk-7N3PD4SV.js +196 -0
  13. package/dist/chunk-7N3PD4SV.js.map +1 -0
  14. package/dist/chunk-AWBBXA36.js +23226 -0
  15. package/dist/chunk-AWBBXA36.js.map +1 -0
  16. package/dist/{chunk-KJIDZQRA.cjs → chunk-C3D3X2L5.cjs} +219 -24
  17. package/dist/chunk-C3D3X2L5.cjs.map +1 -0
  18. package/dist/{chunk-FPBYKMIS.js → chunk-CT5VG7NT.js} +213 -24
  19. package/dist/chunk-CT5VG7NT.js.map +1 -0
  20. package/dist/chunk-DG3INBBQ.js +1061 -0
  21. package/dist/chunk-DG3INBBQ.js.map +1 -0
  22. package/dist/chunk-DHWPHLGF.cjs +211 -0
  23. package/dist/chunk-DHWPHLGF.cjs.map +1 -0
  24. package/dist/chunk-DRUNNM4C.js +328 -0
  25. package/dist/chunk-DRUNNM4C.js.map +1 -0
  26. package/dist/{chunk-TOCYBDP2.js → chunk-ER3QM7DD.js} +4 -4
  27. package/dist/{chunk-TOCYBDP2.js.map → chunk-ER3QM7DD.js.map} +1 -1
  28. package/dist/chunk-ESZ6V5WB.cjs +916 -0
  29. package/dist/chunk-ESZ6V5WB.cjs.map +1 -0
  30. package/dist/chunk-FPCGLPLJ.cjs +297 -0
  31. package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
  32. package/dist/chunk-FYY54HZC.js +310 -0
  33. package/dist/chunk-FYY54HZC.js.map +1 -0
  34. package/dist/chunk-GFF2I6UD.js +354 -0
  35. package/dist/chunk-GFF2I6UD.js.map +1 -0
  36. package/dist/chunk-H2RMXG2Q.cjs +167 -0
  37. package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
  38. package/dist/chunk-HAJOEDNB.js +274 -0
  39. package/dist/chunk-HAJOEDNB.js.map +1 -0
  40. package/dist/chunk-HT4LP3BO.js +75 -0
  41. package/dist/chunk-HT4LP3BO.js.map +1 -0
  42. package/dist/chunk-I6LR6CPC.cjs +125 -0
  43. package/dist/chunk-I6LR6CPC.cjs.map +1 -0
  44. package/dist/chunk-IEYXQTUW.cjs +284 -0
  45. package/dist/chunk-IEYXQTUW.cjs.map +1 -0
  46. package/dist/chunk-MCYD5LW7.cjs +90 -0
  47. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  48. package/dist/chunk-PUFCKXFW.cjs +312 -0
  49. package/dist/chunk-PUFCKXFW.cjs.map +1 -0
  50. package/dist/{chunk-W2KMU354.cjs → chunk-PUSD37LD.cjs} +18 -4
  51. package/dist/chunk-PUSD37LD.cjs.map +1 -0
  52. package/dist/chunk-Q6SVIZLX.js +786 -0
  53. package/dist/chunk-Q6SVIZLX.js.map +1 -0
  54. package/dist/chunk-QNVYGEJ4.js +204 -0
  55. package/dist/chunk-QNVYGEJ4.js.map +1 -0
  56. package/dist/chunk-R56K77E2.cjs +810 -0
  57. package/dist/chunk-R56K77E2.cjs.map +1 -0
  58. package/dist/chunk-S3TIWWQL.cjs +322 -0
  59. package/dist/chunk-S3TIWWQL.cjs.map +1 -0
  60. package/dist/chunk-SXVANU23.js +164 -0
  61. package/dist/chunk-SXVANU23.js.map +1 -0
  62. package/dist/chunk-TYZ6ZISQ.cjs +368 -0
  63. package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
  64. package/dist/chunk-US6Y5RLR.cjs +205 -0
  65. package/dist/chunk-US6Y5RLR.cjs.map +1 -0
  66. package/dist/chunk-UTIOKR5C.js +887 -0
  67. package/dist/chunk-UTIOKR5C.js.map +1 -0
  68. package/dist/{chunk-QU6N55W6.cjs → chunk-V272B7RM.cjs} +11 -12
  69. package/dist/chunk-V272B7RM.cjs.map +1 -0
  70. package/dist/chunk-WE4USCF3.js +226 -0
  71. package/dist/chunk-WE4USCF3.js.map +1 -0
  72. package/dist/chunk-WVAQXM6W.cjs +1105 -0
  73. package/dist/chunk-WVAQXM6W.cjs.map +1 -0
  74. package/dist/chunk-X43DWDXB.cjs +346 -0
  75. package/dist/chunk-X43DWDXB.cjs.map +1 -0
  76. package/dist/chunk-X4QMPCTP.cjs +259 -0
  77. package/dist/chunk-X4QMPCTP.cjs.map +1 -0
  78. package/dist/{chunk-X6C7BUWN.cjs → chunk-XQPJ63ZD.cjs} +4 -4
  79. package/dist/{chunk-X6C7BUWN.cjs.map → chunk-XQPJ63ZD.cjs.map} +1 -1
  80. package/dist/chunk-XW2HXQDO.js +302 -0
  81. package/dist/chunk-XW2HXQDO.js.map +1 -0
  82. package/dist/chunk-XWGAT2DA.js +44 -0
  83. package/dist/chunk-XWGAT2DA.js.map +1 -0
  84. package/dist/{chunk-SHWNNZBL.js → chunk-YP34EWWK.js} +9 -10
  85. package/dist/chunk-YP34EWWK.js.map +1 -0
  86. package/dist/server/auth/defaults.d.ts +3 -0
  87. package/dist/server/auth/defaults.d.ts.map +1 -0
  88. package/dist/server/auth/helpers.d.ts +14 -0
  89. package/dist/server/auth/helpers.d.ts.map +1 -0
  90. package/dist/server/auth/index.cjs +137 -0
  91. package/dist/server/auth/index.cjs.map +1 -0
  92. package/dist/server/auth/index.d.ts +3 -0
  93. package/dist/server/auth/index.d.ts.map +1 -0
  94. package/dist/server/auth/index.js +127 -0
  95. package/dist/server/auth/index.js.map +1 -0
  96. package/dist/server/handlers/a2a.cjs +15 -7
  97. package/dist/server/handlers/a2a.d.ts +482 -0
  98. package/dist/server/handlers/a2a.d.ts.map +1 -1
  99. package/dist/server/handlers/a2a.js +1 -1
  100. package/dist/server/handlers/agent-builder.cjs +37 -37
  101. package/dist/server/handlers/agent-builder.d.ts +599 -77
  102. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  103. package/dist/server/handlers/agent-builder.js +1 -1
  104. package/dist/server/handlers/agents.cjs +53 -37
  105. package/dist/server/handlers/agents.d.ts +3273 -128
  106. package/dist/server/handlers/agents.d.ts.map +1 -1
  107. package/dist/server/handlers/agents.js +1 -1
  108. package/dist/server/handlers/logs.cjs +7 -7
  109. package/dist/server/handlers/logs.d.ts +135 -27
  110. package/dist/server/handlers/logs.d.ts.map +1 -1
  111. package/dist/server/handlers/logs.js +1 -1
  112. package/dist/server/handlers/mcp.cjs +40 -0
  113. package/dist/server/handlers/mcp.cjs.map +1 -0
  114. package/dist/server/handlers/mcp.d.ts +110 -0
  115. package/dist/server/handlers/mcp.d.ts.map +1 -0
  116. package/dist/server/handlers/mcp.js +3 -0
  117. package/dist/server/handlers/mcp.js.map +1 -0
  118. package/dist/server/handlers/memory.cjs +67 -27
  119. package/dist/server/handlers/memory.d.ts +933 -96
  120. package/dist/server/handlers/memory.d.ts.map +1 -1
  121. package/dist/server/handlers/memory.js +1 -1
  122. package/dist/server/handlers/observability.cjs +21 -5
  123. package/dist/server/handlers/observability.d.ts +119 -12
  124. package/dist/server/handlers/observability.d.ts.map +1 -1
  125. package/dist/server/handlers/observability.js +1 -1
  126. package/dist/server/handlers/scores.cjs +13 -13
  127. package/dist/server/handlers/scores.d.ts +110 -141
  128. package/dist/server/handlers/scores.d.ts.map +1 -1
  129. package/dist/server/handlers/scores.js +1 -1
  130. package/dist/server/handlers/stored-agents.cjs +28 -0
  131. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  132. package/dist/server/handlers/stored-agents.d.ts +289 -0
  133. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  134. package/dist/server/handlers/stored-agents.js +3 -0
  135. package/dist/server/handlers/stored-agents.js.map +1 -0
  136. package/dist/server/handlers/test-utils.cjs +15 -0
  137. package/dist/server/handlers/test-utils.cjs.map +1 -0
  138. package/dist/server/handlers/test-utils.d.ts +6 -0
  139. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  140. package/dist/server/handlers/test-utils.js +13 -0
  141. package/dist/server/handlers/test-utils.js.map +1 -0
  142. package/dist/server/handlers/tools.cjs +11 -11
  143. package/dist/server/handlers/tools.d.ts +69 -23
  144. package/dist/server/handlers/tools.d.ts.map +1 -1
  145. package/dist/server/handlers/tools.js +1 -1
  146. package/dist/server/handlers/utils.cjs +11 -3
  147. package/dist/server/handlers/utils.d.ts +5 -0
  148. package/dist/server/handlers/utils.d.ts.map +1 -1
  149. package/dist/server/handlers/utils.js +1 -1
  150. package/dist/server/handlers/vector.cjs +31 -7
  151. package/dist/server/handlers/vector.d.ts +93 -9
  152. package/dist/server/handlers/vector.d.ts.map +1 -1
  153. package/dist/server/handlers/vector.js +1 -1
  154. package/dist/server/handlers/voice.cjs +21 -9
  155. package/dist/server/handlers/voice.d.ts +81 -40
  156. package/dist/server/handlers/voice.d.ts.map +1 -1
  157. package/dist/server/handlers/voice.js +1 -1
  158. package/dist/server/handlers/workflows.cjs +69 -37
  159. package/dist/server/handlers/workflows.d.ts +927 -79
  160. package/dist/server/handlers/workflows.d.ts.map +1 -1
  161. package/dist/server/handlers/workflows.js +1 -1
  162. package/dist/server/handlers.cjs +36 -31
  163. package/dist/server/handlers.d.ts +1 -0
  164. package/dist/server/handlers.d.ts.map +1 -1
  165. package/dist/server/handlers.js +12 -11
  166. package/dist/server/schemas/a2a.d.ts +786 -0
  167. package/dist/server/schemas/a2a.d.ts.map +1 -0
  168. package/dist/server/schemas/agent-builder.d.ts +204 -0
  169. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  170. package/dist/server/schemas/agents.d.ts +1375 -0
  171. package/dist/server/schemas/agents.d.ts.map +1 -0
  172. package/dist/server/schemas/common.d.ts +179 -0
  173. package/dist/server/schemas/common.d.ts.map +1 -0
  174. package/dist/server/schemas/logs.d.ts +124 -0
  175. package/dist/server/schemas/logs.d.ts.map +1 -0
  176. package/dist/server/schemas/mcp.d.ts +299 -0
  177. package/dist/server/schemas/mcp.d.ts.map +1 -0
  178. package/dist/server/schemas/memory.d.ts +998 -0
  179. package/dist/server/schemas/memory.d.ts.map +1 -0
  180. package/dist/server/schemas/observability.d.ts +402 -0
  181. package/dist/server/schemas/observability.d.ts.map +1 -0
  182. package/dist/server/schemas/scores.d.ts +259 -0
  183. package/dist/server/schemas/scores.d.ts.map +1 -0
  184. package/dist/server/schemas/stored-agents.d.ts +792 -0
  185. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  186. package/dist/server/schemas/vectors.d.ts +107 -0
  187. package/dist/server/schemas/vectors.d.ts.map +1 -0
  188. package/dist/server/schemas/workflows.d.ts +602 -0
  189. package/dist/server/schemas/workflows.d.ts.map +1 -0
  190. package/dist/server/server-adapter/index.cjs +481 -0
  191. package/dist/server/server-adapter/index.cjs.map +1 -0
  192. package/dist/server/server-adapter/index.d.ts +91 -0
  193. package/dist/server/server-adapter/index.d.ts.map +1 -0
  194. package/dist/server/server-adapter/index.js +466 -0
  195. package/dist/server/server-adapter/index.js.map +1 -0
  196. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  197. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  198. package/dist/server/server-adapter/redact.d.ts +26 -0
  199. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  200. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  201. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  202. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  203. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  204. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  205. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  206. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  207. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  208. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  209. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  210. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  211. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  212. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  213. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  214. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  215. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  216. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  217. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  218. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  219. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  220. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  221. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  222. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  223. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  224. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  225. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  226. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  227. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  228. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  229. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  230. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  231. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  232. package/dist/server/utils.d.ts +1 -1
  233. package/dist/server/utils.d.ts.map +1 -1
  234. package/dist/token-GVZ7HRD7.js +62 -0
  235. package/dist/{token-C3IMNCC4.js.map → token-GVZ7HRD7.js.map} +1 -1
  236. package/dist/{token-C3IMNCC4.js → token-JGA3ZWAN.js} +5 -6
  237. package/dist/token-JGA3ZWAN.js.map +1 -0
  238. package/dist/token-VFONFWVS.cjs +64 -0
  239. package/dist/{token-375W3LEI.cjs.map → token-VFONFWVS.cjs.map} +1 -1
  240. package/dist/{token-375W3LEI.cjs → token-ZOD6YIQ3.cjs} +7 -8
  241. package/dist/token-ZOD6YIQ3.cjs.map +1 -0
  242. package/dist/token-util-7R2ZFIXO.js +7 -0
  243. package/dist/{token-util-E5QO2RCL.js.map → token-util-7R2ZFIXO.js.map} +1 -1
  244. package/dist/token-util-BLJZJDBZ.cjs +9 -0
  245. package/dist/{token-util-CV3RRG6K.cjs.map → token-util-BLJZJDBZ.cjs.map} +1 -1
  246. package/dist/token-util-VGZUWSNR.cjs +9 -0
  247. package/dist/token-util-VGZUWSNR.cjs.map +1 -0
  248. package/dist/token-util-VKTPZLSE.js +7 -0
  249. package/dist/token-util-VKTPZLSE.js.map +1 -0
  250. package/package.json +30 -5
  251. package/dist/chunk-2IS5WICF.js +0 -23036
  252. package/dist/chunk-2IS5WICF.js.map +0 -1
  253. package/dist/chunk-2YZH5PH6.cjs +0 -200
  254. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  255. package/dist/chunk-3AMNUUZF.js +0 -124
  256. package/dist/chunk-3AMNUUZF.js.map +0 -1
  257. package/dist/chunk-3F52QCI4.js +0 -192
  258. package/dist/chunk-3F52QCI4.js.map +0 -1
  259. package/dist/chunk-4JF5WXPL.js +0 -502
  260. package/dist/chunk-4JF5WXPL.js.map +0 -1
  261. package/dist/chunk-73PAWDM5.js +0 -83
  262. package/dist/chunk-73PAWDM5.js.map +0 -1
  263. package/dist/chunk-A24TSVEZ.cjs +0 -130
  264. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  265. package/dist/chunk-A2NPD5N6.cjs +0 -517
  266. package/dist/chunk-A2NPD5N6.cjs.map +0 -1
  267. package/dist/chunk-B3Z6J745.js +0 -122
  268. package/dist/chunk-B3Z6J745.js.map +0 -1
  269. package/dist/chunk-BTWIR2B7.cjs +0 -28
  270. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  271. package/dist/chunk-D7T74TVR.js.map +0 -1
  272. package/dist/chunk-EHACNWDL.cjs +0 -681
  273. package/dist/chunk-EHACNWDL.cjs.map +0 -1
  274. package/dist/chunk-FPBYKMIS.js.map +0 -1
  275. package/dist/chunk-GLAZTMX3.cjs +0 -128
  276. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  277. package/dist/chunk-ID6JYDNL.cjs +0 -23075
  278. package/dist/chunk-ID6JYDNL.cjs.map +0 -1
  279. package/dist/chunk-KF3RI45U.cjs +0 -172
  280. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  281. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  282. package/dist/chunk-KWH5QBXP.js +0 -123
  283. package/dist/chunk-KWH5QBXP.js.map +0 -1
  284. package/dist/chunk-ND5OKOMT.js +0 -165
  285. package/dist/chunk-ND5OKOMT.js.map +0 -1
  286. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  287. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  288. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  289. package/dist/chunk-S54HNARD.cjs +0 -131
  290. package/dist/chunk-S54HNARD.cjs.map +0 -1
  291. package/dist/chunk-SHWNNZBL.js.map +0 -1
  292. package/dist/chunk-SZIFSF4T.js +0 -25
  293. package/dist/chunk-SZIFSF4T.js.map +0 -1
  294. package/dist/chunk-W2KMU354.cjs.map +0 -1
  295. package/dist/chunk-X3MICMI2.cjs +0 -620
  296. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  297. package/dist/chunk-Z2O5YVHY.js +0 -661
  298. package/dist/chunk-Z2O5YVHY.js.map +0 -1
  299. package/dist/chunk-ZJ6KEY6H.js +0 -600
  300. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  301. package/dist/token-util-CV3RRG6K.cjs +0 -9
  302. package/dist/token-util-E5QO2RCL.js +0 -7
@@ -1,200 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
4
- var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
5
-
6
- // src/server/handlers/scores.ts
7
- var scores_exports = {};
8
- chunkO7I5CWRX_cjs.__export(scores_exports, {
9
- getScorerHandler: () => getScorerHandler,
10
- listScorersHandler: () => listScorersHandler,
11
- listScoresByEntityIdHandler: () => listScoresByEntityIdHandler,
12
- listScoresByRunIdHandler: () => listScoresByRunIdHandler,
13
- listScoresByScorerIdHandler: () => listScoresByScorerIdHandler,
14
- saveScoreHandler: () => saveScoreHandler
15
- });
16
- async function listScorersFromSystem({
17
- mastra,
18
- requestContext
19
- }) {
20
- const agents = mastra.listAgents();
21
- const workflows = mastra.listWorkflows();
22
- const scorersMap = /* @__PURE__ */ new Map();
23
- for (const [_, agent] of Object.entries(agents)) {
24
- const scorers = await agent.listScorers({
25
- requestContext
26
- }) || {};
27
- if (Object.keys(scorers).length > 0) {
28
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
29
- const scorerId = scorer.scorer.id;
30
- if (scorersMap.has(scorerId)) {
31
- scorersMap.get(scorerId)?.agentIds.push(agent.id);
32
- scorersMap.get(scorerId)?.agentNames.push(agent.name);
33
- } else {
34
- scorersMap.set(scorerId, {
35
- workflowIds: [],
36
- ...scorer,
37
- agentNames: [agent.name],
38
- agentIds: [agent.id],
39
- isRegistered: false
40
- });
41
- }
42
- }
43
- }
44
- }
45
- for (const [workflowId, workflow] of Object.entries(workflows)) {
46
- const scorers = await workflow.listScorers({
47
- requestContext
48
- }) || {};
49
- if (Object.keys(scorers).length > 0) {
50
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
51
- const scorerName = scorer.scorer.name;
52
- if (scorersMap.has(scorerName)) {
53
- scorersMap.get(scorerName)?.workflowIds.push(workflowId);
54
- } else {
55
- scorersMap.set(scorerName, {
56
- agentIds: [],
57
- agentNames: [],
58
- ...scorer,
59
- workflowIds: [workflowId],
60
- isRegistered: false
61
- });
62
- }
63
- }
64
- }
65
- }
66
- const registeredScorers = await mastra.listScorers();
67
- for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
68
- const scorerId = scorer.id;
69
- if (scorersMap.has(scorerId)) {
70
- scorersMap.get(scorerId).isRegistered = true;
71
- } else {
72
- scorersMap.set(scorerId, {
73
- scorer,
74
- agentIds: [],
75
- agentNames: [],
76
- workflowIds: [],
77
- isRegistered: true
78
- });
79
- }
80
- }
81
- return Object.fromEntries(scorersMap.entries());
82
- }
83
- async function listScorersHandler({ mastra, requestContext }) {
84
- const scorers = await listScorersFromSystem({
85
- mastra,
86
- requestContext
87
- });
88
- return scorers;
89
- }
90
- async function getScorerHandler({
91
- mastra,
92
- scorerId,
93
- requestContext
94
- }) {
95
- const scorers = await listScorersFromSystem({
96
- mastra,
97
- requestContext
98
- });
99
- const scorer = scorers[scorerId];
100
- if (!scorer) {
101
- return null;
102
- }
103
- return scorer;
104
- }
105
- async function listScoresByRunIdHandler({
106
- mastra,
107
- runId,
108
- pagination
109
- }) {
110
- try {
111
- const scoreResults = await mastra.getStorage()?.listScoresByRunId?.({
112
- runId,
113
- pagination
114
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
115
- return {
116
- pagination: scoreResults.pagination,
117
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
118
- };
119
- } catch (error) {
120
- return chunkV5WWQN7P_cjs.handleError(error, "Error getting scores by run id");
121
- }
122
- }
123
- async function listScoresByScorerIdHandler({
124
- mastra,
125
- scorerId,
126
- pagination,
127
- entityId,
128
- entityType
129
- }) {
130
- try {
131
- const scoreResults = await mastra.getStorage()?.listScoresByScorerId?.({
132
- scorerId,
133
- pagination,
134
- entityId,
135
- entityType
136
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
137
- return {
138
- pagination: scoreResults.pagination,
139
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
140
- };
141
- } catch (error) {
142
- return chunkV5WWQN7P_cjs.handleError(error, "Error getting scores by scorer id");
143
- }
144
- }
145
- async function listScoresByEntityIdHandler({
146
- mastra,
147
- entityId,
148
- entityType,
149
- pagination
150
- }) {
151
- try {
152
- let entityIdToUse = entityId;
153
- if (entityType === "AGENT") {
154
- const agent = mastra.getAgentById(entityId);
155
- entityIdToUse = agent.id;
156
- } else if (entityType === "WORKFLOW") {
157
- const workflow = mastra.getWorkflowById(entityId);
158
- entityIdToUse = workflow.id;
159
- }
160
- const scoreResults = await mastra.getStorage()?.listScoresByEntityId?.({
161
- entityId: entityIdToUse,
162
- entityType,
163
- pagination
164
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
165
- return {
166
- pagination: scoreResults.pagination,
167
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
168
- };
169
- } catch (error) {
170
- return chunkV5WWQN7P_cjs.handleError(error, "Error getting scores by entity id");
171
- }
172
- }
173
- function getTraceDetails(traceIdWithSpanId) {
174
- if (!traceIdWithSpanId) {
175
- return {};
176
- }
177
- const [traceId, spanId] = traceIdWithSpanId.split("-");
178
- return {
179
- ...traceId ? { traceId } : {},
180
- ...spanId ? { spanId } : {}
181
- };
182
- }
183
- async function saveScoreHandler({ mastra, score }) {
184
- try {
185
- const scores = await mastra.getStorage()?.saveScore?.(score) || [];
186
- return scores;
187
- } catch (error) {
188
- return chunkV5WWQN7P_cjs.handleError(error, "Error saving score");
189
- }
190
- }
191
-
192
- exports.getScorerHandler = getScorerHandler;
193
- exports.listScorersHandler = listScorersHandler;
194
- exports.listScoresByEntityIdHandler = listScoresByEntityIdHandler;
195
- exports.listScoresByRunIdHandler = listScoresByRunIdHandler;
196
- exports.listScoresByScorerIdHandler = listScoresByScorerIdHandler;
197
- exports.saveScoreHandler = saveScoreHandler;
198
- exports.scores_exports = scores_exports;
199
- //# sourceMappingURL=chunk-2YZH5PH6.cjs.map
200
- //# sourceMappingURL=chunk-2YZH5PH6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/scores.ts"],"names":["__export","handleError"],"mappings":"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","file":"chunk-2YZH5PH6.cjs","sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & { agentIds: string[]; agentNames: string[]; workflowIds: string[]; isRegistered: boolean }\n >();\n\n for (const [_, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function listScorersHandler({ mastra, requestContext }: Context & { requestContext: RequestContext }) {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n requestContext,\n}: Context & { scorerId: string; requestContext: RequestContext }) {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function listScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scoreResults = (await mastra.getStorage()?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function listScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scoreResults = (await mastra.getStorage()?.listScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function listScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scoreResults = (await mastra.getStorage()?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}
@@ -1,124 +0,0 @@
1
- import { handleError } from './chunk-UXGQZUYZ.js';
2
- import { HTTPException } from './chunk-6QWQZI4Q.js';
3
- import { __export } from './chunk-PR4QN5HX.js';
4
- import { scoreTraces } from '@mastra/core/evals/scoreTraces';
5
-
6
- // src/server/handlers/observability.ts
7
- var observability_exports = {};
8
- __export(observability_exports, {
9
- getTraceHandler: () => getTraceHandler,
10
- getTracesPaginatedHandler: () => getTracesPaginatedHandler,
11
- listScoresBySpan: () => listScoresBySpan,
12
- scoreTracesHandler: () => scoreTracesHandler
13
- });
14
- async function getTraceHandler({ 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.getTrace(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 trace");
30
- }
31
- }
32
- async function getTracesPaginatedHandler({ 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.getTracesPaginated({
58
- pagination,
59
- filters
60
- });
61
- } catch (error) {
62
- handleError(error, "Error getting 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 ID 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.getScorerById(scorerName);
82
- if (!scorer) {
83
- throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });
84
- }
85
- const logger = mastra.getLogger();
86
- scoreTraces({
87
- scorerId: scorer.config.id || scorer.config.name,
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 listScoresBySpan({
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.listScoresBySpan({ traceId, spanId, pagination });
117
- } catch (error) {
118
- return handleError(error, "Error getting scores by span");
119
- }
120
- }
121
-
122
- export { getTraceHandler, getTracesPaginatedHandler, listScoresBySpan, observability_exports, scoreTracesHandler };
123
- //# sourceMappingURL=chunk-3AMNUUZF.js.map
124
- //# sourceMappingURL=chunk-3AMNUUZF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":";;;;;;AAAA,IAAA,qBAAA,GAAA;AAAA,QAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AA0BA,eAAsB,eAAA,CAAgB,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAA+C;AACrG,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,QAAA,CAAS,OAAO,CAAA;AAE5C,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,qBAAqB,CAAA;AAAA,EAC1C;AACF;AAMA,eAAsB,yBAAA,CAA0B,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAyB;AACtF,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,kBAAA,CAAmB;AAAA,MAChC,UAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,EACrD;AACF;AAMA,eAAsB,kBAAA,CAAmB,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAuB;AAC7E,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,EAAE,UAAA,EAAY,OAAA,EAAQ,GAAI,IAAA;AAEhC,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,yBAAyB,CAAA;AAAA,IACnE;AAEA,IAAA,IAAI,CAAC,OAAA,IAAW,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG;AACpC,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mCAAmC,CAAA;AAAA,IAC7E;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,MAAA,GAAS,MAAA,CAAO,aAAA,CAAc,UAAU,CAAA;AAC9C,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,QAAA,EAAW,UAAU,eAAe,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAEhC,IAAA,WAAA,CAAY;AAAA,MACV,QAAA,EAAU,MAAA,CAAO,MAAA,CAAO,EAAA,IAAM,OAAO,MAAA,CAAO,IAAA;AAAA,MAC5C,OAAA;AAAA,MACA;AAAA,KACD,CAAA,CAAE,KAAA,CAAM,CAAA,KAAA,KAAS;AAChB,MAAA,MAAA,EAAQ,KAAA,CAAM,CAAA,iCAAA,EAAoC,KAAA,CAAM,OAAO,IAAI,KAAK,CAAA;AAAA,IAC1E,CAAC,CAAA;AAGD,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,uBAAuB,OAAA,CAAQ,MAAM,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,OAAA,GAAU,QAAQ,CAAA,CAAA;AAAA,MAC3F,YAAY,OAAA,CAAQ;AAAA,KACtB;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,gBAAA,CAAiB;AAAA,EACrC,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAAiF;AAC/E,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,OAAA,IAAW,CAAC,MAAA,EAAQ;AACvB,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,OAAO,MAAM,OAAA,CAAQ,gBAAA,CAAiB,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,CAAA;AAAA,EACvE,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF","file":"chunk-3AMNUUZF.js","sourcesContent":["import { scoreTraces } from '@mastra/core/evals/scoreTraces';\nimport type { TracesPaginatedArg, StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: TracesPaginatedArg;\n}\n\ninterface ScoreTracesContext extends Context {\n body?: {\n // scorer.id\n scorerName: string;\n targets: Array<{\n traceId: string;\n spanId?: string;\n }>;\n };\n}\n\n/**\n * Get a complete trace by trace ID\n * Returns all spans in the trace with their parent-child relationships\n */\nexport async function getTraceHandler({ 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.getTrace(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 trace');\n }\n}\n\n/**\n * Get paginated traces with filtering and pagination\n * Returns only root spans (parent spans) for pagination, not child spans\n */\nexport async function getTracesPaginatedHandler({ 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.getTracesPaginated({\n pagination,\n filters,\n });\n } catch (error) {\n handleError(error, 'Error getting 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 ID 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.getScorerById(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n const logger = mastra.getLogger();\n\n scoreTraces({\n scorerId: scorer.config.id || scorer.config.name,\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 listScoresBySpan({\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.listScoresBySpan({ traceId, spanId, pagination });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n}\n"]}
@@ -1,192 +0,0 @@
1
- import { handleError } from './chunk-UXGQZUYZ.js';
2
- import { __export } from './chunk-PR4QN5HX.js';
3
-
4
- // src/server/handlers/scores.ts
5
- var scores_exports = {};
6
- __export(scores_exports, {
7
- getScorerHandler: () => getScorerHandler,
8
- listScorersHandler: () => listScorersHandler,
9
- listScoresByEntityIdHandler: () => listScoresByEntityIdHandler,
10
- listScoresByRunIdHandler: () => listScoresByRunIdHandler,
11
- listScoresByScorerIdHandler: () => listScoresByScorerIdHandler,
12
- saveScoreHandler: () => saveScoreHandler
13
- });
14
- async function listScorersFromSystem({
15
- mastra,
16
- requestContext
17
- }) {
18
- const agents = mastra.listAgents();
19
- const workflows = mastra.listWorkflows();
20
- const scorersMap = /* @__PURE__ */ new Map();
21
- for (const [_, agent] of Object.entries(agents)) {
22
- const scorers = await agent.listScorers({
23
- requestContext
24
- }) || {};
25
- if (Object.keys(scorers).length > 0) {
26
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
27
- const scorerId = scorer.scorer.id;
28
- if (scorersMap.has(scorerId)) {
29
- scorersMap.get(scorerId)?.agentIds.push(agent.id);
30
- scorersMap.get(scorerId)?.agentNames.push(agent.name);
31
- } else {
32
- scorersMap.set(scorerId, {
33
- workflowIds: [],
34
- ...scorer,
35
- agentNames: [agent.name],
36
- agentIds: [agent.id],
37
- isRegistered: false
38
- });
39
- }
40
- }
41
- }
42
- }
43
- for (const [workflowId, workflow] of Object.entries(workflows)) {
44
- const scorers = await workflow.listScorers({
45
- requestContext
46
- }) || {};
47
- if (Object.keys(scorers).length > 0) {
48
- for (const [_scorerId, scorer] of Object.entries(scorers)) {
49
- const scorerName = scorer.scorer.name;
50
- if (scorersMap.has(scorerName)) {
51
- scorersMap.get(scorerName)?.workflowIds.push(workflowId);
52
- } else {
53
- scorersMap.set(scorerName, {
54
- agentIds: [],
55
- agentNames: [],
56
- ...scorer,
57
- workflowIds: [workflowId],
58
- isRegistered: false
59
- });
60
- }
61
- }
62
- }
63
- }
64
- const registeredScorers = await mastra.listScorers();
65
- for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
66
- const scorerId = scorer.id;
67
- if (scorersMap.has(scorerId)) {
68
- scorersMap.get(scorerId).isRegistered = true;
69
- } else {
70
- scorersMap.set(scorerId, {
71
- scorer,
72
- agentIds: [],
73
- agentNames: [],
74
- workflowIds: [],
75
- isRegistered: true
76
- });
77
- }
78
- }
79
- return Object.fromEntries(scorersMap.entries());
80
- }
81
- async function listScorersHandler({ mastra, requestContext }) {
82
- const scorers = await listScorersFromSystem({
83
- mastra,
84
- requestContext
85
- });
86
- return scorers;
87
- }
88
- async function getScorerHandler({
89
- mastra,
90
- scorerId,
91
- requestContext
92
- }) {
93
- const scorers = await listScorersFromSystem({
94
- mastra,
95
- requestContext
96
- });
97
- const scorer = scorers[scorerId];
98
- if (!scorer) {
99
- return null;
100
- }
101
- return scorer;
102
- }
103
- async function listScoresByRunIdHandler({
104
- mastra,
105
- runId,
106
- pagination
107
- }) {
108
- try {
109
- const scoreResults = await mastra.getStorage()?.listScoresByRunId?.({
110
- runId,
111
- pagination
112
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
113
- return {
114
- pagination: scoreResults.pagination,
115
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
116
- };
117
- } catch (error) {
118
- return handleError(error, "Error getting scores by run id");
119
- }
120
- }
121
- async function listScoresByScorerIdHandler({
122
- mastra,
123
- scorerId,
124
- pagination,
125
- entityId,
126
- entityType
127
- }) {
128
- try {
129
- const scoreResults = await mastra.getStorage()?.listScoresByScorerId?.({
130
- scorerId,
131
- pagination,
132
- entityId,
133
- entityType
134
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
135
- return {
136
- pagination: scoreResults.pagination,
137
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
138
- };
139
- } catch (error) {
140
- return handleError(error, "Error getting scores by scorer id");
141
- }
142
- }
143
- async function listScoresByEntityIdHandler({
144
- mastra,
145
- entityId,
146
- entityType,
147
- pagination
148
- }) {
149
- try {
150
- let entityIdToUse = entityId;
151
- if (entityType === "AGENT") {
152
- const agent = mastra.getAgentById(entityId);
153
- entityIdToUse = agent.id;
154
- } else if (entityType === "WORKFLOW") {
155
- const workflow = mastra.getWorkflowById(entityId);
156
- entityIdToUse = workflow.id;
157
- }
158
- const scoreResults = await mastra.getStorage()?.listScoresByEntityId?.({
159
- entityId: entityIdToUse,
160
- entityType,
161
- pagination
162
- }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
163
- return {
164
- pagination: scoreResults.pagination,
165
- scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
166
- };
167
- } catch (error) {
168
- return handleError(error, "Error getting scores by entity id");
169
- }
170
- }
171
- function getTraceDetails(traceIdWithSpanId) {
172
- if (!traceIdWithSpanId) {
173
- return {};
174
- }
175
- const [traceId, spanId] = traceIdWithSpanId.split("-");
176
- return {
177
- ...traceId ? { traceId } : {},
178
- ...spanId ? { spanId } : {}
179
- };
180
- }
181
- async function saveScoreHandler({ mastra, score }) {
182
- try {
183
- const scores = await mastra.getStorage()?.saveScore?.(score) || [];
184
- return scores;
185
- } catch (error) {
186
- return handleError(error, "Error saving score");
187
- }
188
- }
189
-
190
- export { getScorerHandler, listScorersHandler, listScoresByEntityIdHandler, listScoresByRunIdHandler, listScoresByScorerIdHandler, saveScoreHandler, scores_exports };
191
- //# sourceMappingURL=chunk-3F52QCI4.js.map
192
- //# sourceMappingURL=chunk-3F52QCI4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/scores.ts"],"names":[],"mappings":"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","file":"chunk-3F52QCI4.js","sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & { agentIds: string[]; agentNames: string[]; workflowIds: string[]; isRegistered: boolean }\n >();\n\n for (const [_, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function listScorersHandler({ mastra, requestContext }: Context & { requestContext: RequestContext }) {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n requestContext,\n}: Context & { scorerId: string; requestContext: RequestContext }) {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function listScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scoreResults = (await mastra.getStorage()?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function listScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scoreResults = (await mastra.getStorage()?.listScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function listScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scoreResults = (await mastra.getStorage()?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}