@mastra/server 0.0.0-span-scorring-test-20251124132129 → 0.0.0-standard-schema-20260123120255

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 (399) hide show
  1. package/CHANGELOG.md +1811 -32
  2. package/README.md +2 -2
  3. package/a2a/store.d.ts +1 -0
  4. package/auth.d.ts +1 -0
  5. package/dist/{chunk-SHWNNZBL.js → chunk-24SISJRB.js} +13 -17
  6. package/dist/chunk-24SISJRB.js.map +1 -0
  7. package/dist/{chunk-G7BPNX2V.js → chunk-2JNW2CLE.js} +64 -14
  8. package/dist/chunk-2JNW2CLE.js.map +1 -0
  9. package/dist/chunk-2UHOWYFV.js +184 -0
  10. package/dist/chunk-2UHOWYFV.js.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/chunk-4HFYR562.cjs +82 -0
  14. package/dist/chunk-4HFYR562.cjs.map +1 -0
  15. package/dist/chunk-55TH4ME5.js +170 -0
  16. package/dist/chunk-55TH4ME5.js.map +1 -0
  17. package/dist/{chunk-Z36N2OQA.cjs → chunk-55XIQCGI.cjs} +358 -137
  18. package/dist/chunk-55XIQCGI.cjs.map +1 -0
  19. package/dist/{chunk-QGWCNTG6.cjs → chunk-5NQ3GWUJ.cjs} +493 -172
  20. package/dist/chunk-5NQ3GWUJ.cjs.map +1 -0
  21. package/dist/{chunk-QU6N55W6.cjs → chunk-6G2RQWKA.cjs} +17 -21
  22. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  23. package/dist/{chunk-KB5NSROG.cjs → chunk-6NLJ5YC3.cjs} +47 -42
  24. package/dist/chunk-6NLJ5YC3.cjs.map +1 -0
  25. package/dist/chunk-6OFKRQQL.js +45 -0
  26. package/dist/chunk-6OFKRQQL.js.map +1 -0
  27. package/dist/{chunk-UXGQZUYZ.js → chunk-7AINN3FK.js} +13 -3
  28. package/dist/chunk-7AINN3FK.js.map +1 -0
  29. package/dist/chunk-7D3UAMQM.cjs +82 -0
  30. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  31. package/dist/{chunk-I5VZ5SKG.js → chunk-7ERB6H6K.js} +17 -11
  32. package/dist/chunk-7ERB6H6K.js.map +1 -0
  33. package/dist/{chunk-NDFAQBQD.cjs → chunk-AEMLCRS5.cjs} +514 -166
  34. package/dist/chunk-AEMLCRS5.cjs.map +1 -0
  35. package/dist/chunk-BLCHLNBT.js +442 -0
  36. package/dist/chunk-BLCHLNBT.js.map +1 -0
  37. package/dist/{chunk-ZLRTFRL4.js → chunk-BSOLG32W.js} +407 -91
  38. package/dist/chunk-BSOLG32W.js.map +1 -0
  39. package/dist/{chunk-ASZUOBKV.js → chunk-CQUWREB2.js} +42 -20
  40. package/dist/chunk-CQUWREB2.js.map +1 -0
  41. package/dist/chunk-CRCXQW5R.cjs +47 -0
  42. package/dist/chunk-CRCXQW5R.cjs.map +1 -0
  43. package/dist/{chunk-3R5EV3HV.js → chunk-CT7S7VRG.js} +36 -29
  44. package/dist/chunk-CT7S7VRG.js.map +1 -0
  45. package/dist/{chunk-FAQICBMH.js → chunk-D23WBCJ6.js} +70 -7
  46. package/dist/chunk-D23WBCJ6.js.map +1 -0
  47. package/dist/{chunk-R4M3BSUG.js → chunk-DOU5IGJB.js} +26 -10
  48. package/dist/chunk-DOU5IGJB.js.map +1 -0
  49. package/dist/chunk-DUTGH2DM.js +31748 -0
  50. package/dist/chunk-DUTGH2DM.js.map +1 -0
  51. package/dist/{chunk-5PONYNYP.cjs → chunk-E2SZSFGZ.cjs} +20 -17
  52. package/dist/chunk-E2SZSFGZ.cjs.map +1 -0
  53. package/dist/chunk-EH45MGLR.cjs +322 -0
  54. package/dist/chunk-EH45MGLR.cjs.map +1 -0
  55. package/dist/chunk-FRRHYZR6.cjs +88 -0
  56. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  57. package/dist/{chunk-ZULZ2752.js → chunk-FXW7MD4U.js} +3 -3
  58. package/dist/chunk-FXW7MD4U.js.map +1 -0
  59. package/dist/{chunk-YJ3VDL3Z.cjs → chunk-GGAV65A7.cjs} +37 -31
  60. package/dist/chunk-GGAV65A7.cjs.map +1 -0
  61. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  62. package/dist/chunk-HT4LP3BO.js.map +1 -0
  63. package/dist/chunk-HZINLMHL.cjs +252 -0
  64. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  65. package/dist/{chunk-RQK4FQUD.js → chunk-IGXRQWNN.js} +6 -48
  66. package/dist/chunk-IGXRQWNN.js.map +1 -0
  67. package/dist/chunk-IROUDQSO.js +246 -0
  68. package/dist/chunk-IROUDQSO.js.map +1 -0
  69. package/dist/chunk-IS3HHGL4.js +250 -0
  70. package/dist/chunk-IS3HHGL4.js.map +1 -0
  71. package/dist/chunk-JJLEVKG7.js +576 -0
  72. package/dist/chunk-JJLEVKG7.js.map +1 -0
  73. package/dist/{chunk-UJNHKFBR.cjs → chunk-K34R4R2T.cjs} +72 -6
  74. package/dist/chunk-K34R4R2T.cjs.map +1 -0
  75. package/dist/chunk-K4HSW5ZF.js +77 -0
  76. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  77. package/dist/{chunk-ZODCSH2W.cjs → chunk-L2U75ERO.cjs} +54 -32
  78. package/dist/chunk-L2U75ERO.cjs.map +1 -0
  79. package/dist/chunk-L2VZFGWH.cjs +31787 -0
  80. package/dist/chunk-L2VZFGWH.cjs.map +1 -0
  81. package/dist/chunk-L7LB66KK.cjs +450 -0
  82. package/dist/chunk-L7LB66KK.cjs.map +1 -0
  83. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  84. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  85. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  86. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  87. package/dist/{chunk-6DTV6NEW.js → chunk-MF4PZE2D.js} +11 -8
  88. package/dist/chunk-MF4PZE2D.js.map +1 -0
  89. package/dist/{chunk-35NT4TMQ.cjs → chunk-MP6TNZXA.cjs} +66 -55
  90. package/dist/chunk-MP6TNZXA.cjs.map +1 -0
  91. package/dist/chunk-MPM2W4IS.js +312 -0
  92. package/dist/chunk-MPM2W4IS.js.map +1 -0
  93. package/dist/chunk-NE4CLM6P.cjs +190 -0
  94. package/dist/chunk-NE4CLM6P.cjs.map +1 -0
  95. package/dist/chunk-NL6ELCFS.cjs +603 -0
  96. package/dist/chunk-NL6ELCFS.cjs.map +1 -0
  97. package/dist/{chunk-MWQQRVQC.cjs → chunk-OD6Y7FEM.cjs} +34 -13
  98. package/dist/chunk-OD6Y7FEM.cjs.map +1 -0
  99. package/dist/chunk-OS7SAIRA.js +250 -0
  100. package/dist/chunk-OS7SAIRA.js.map +1 -0
  101. package/dist/chunk-PWXUI3OG.cjs +252 -0
  102. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  103. package/dist/{chunk-UOFV2ZCI.js → chunk-QAXO2LQT.js} +316 -96
  104. package/dist/chunk-QAXO2LQT.js.map +1 -0
  105. package/dist/chunk-RIX6WEJ2.js +83 -0
  106. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  107. package/dist/{chunk-FXDZLX2Y.js → chunk-RRVA4RVW.js} +37 -26
  108. package/dist/chunk-RRVA4RVW.js.map +1 -0
  109. package/dist/{chunk-LPM6BBAX.cjs → chunk-SLDAFSKJ.cjs} +5 -56
  110. package/dist/chunk-SLDAFSKJ.cjs.map +1 -0
  111. package/dist/{chunk-2PLXW4ZX.cjs → chunk-T6YYVQHJ.cjs} +74 -74
  112. package/dist/chunk-T6YYVQHJ.cjs.map +1 -0
  113. package/dist/chunk-TF4LSD27.cjs +180 -0
  114. package/dist/chunk-TF4LSD27.cjs.map +1 -0
  115. package/dist/chunk-TM6IOINJ.cjs +252 -0
  116. package/dist/chunk-TM6IOINJ.cjs.map +1 -0
  117. package/dist/{chunk-ICANWSEW.js → chunk-UVE6SV6I.js} +25 -20
  118. package/dist/chunk-UVE6SV6I.js.map +1 -0
  119. package/dist/{chunk-V5WWQN7P.cjs → chunk-UWYAL2Z3.cjs} +13 -2
  120. package/dist/chunk-UWYAL2Z3.cjs.map +1 -0
  121. package/dist/{chunk-UZ6CYAOG.cjs → chunk-VES6QKOW.cjs} +64 -14
  122. package/dist/chunk-VES6QKOW.cjs.map +1 -0
  123. package/dist/{chunk-VQAT5HX6.js → chunk-W7HAZD2A.js} +458 -116
  124. package/dist/chunk-W7HAZD2A.js.map +1 -0
  125. package/dist/{chunk-4ECGVOJZ.cjs → chunk-WNQUNLRT.cjs} +40 -33
  126. package/dist/chunk-WNQUNLRT.cjs.map +1 -0
  127. package/dist/chunk-XKLJYRAA.js +77 -0
  128. package/dist/chunk-XKLJYRAA.js.map +1 -0
  129. package/dist/{dist-G2BYZJOC.cjs → dist-2GQKYJ34.cjs} +28 -28
  130. package/dist/dist-2GQKYJ34.cjs.map +1 -0
  131. package/dist/{dist-X7XR3M3Z.js → dist-C6BUHOEE.js} +3 -3
  132. package/dist/dist-C6BUHOEE.js.map +1 -0
  133. package/dist/dist-DGOEFPQD.cjs +16 -0
  134. package/dist/{dist-P4MXBQ3U.cjs.map → dist-DGOEFPQD.cjs.map} +1 -1
  135. package/dist/dist-FT2OR7OS.js +3 -0
  136. package/dist/{dist-YREX2TJT.js.map → dist-FT2OR7OS.js.map} +1 -1
  137. package/dist/{dist-XVBSOGFK.js → dist-G4CR4WYY.js} +3 -3
  138. package/dist/dist-G4CR4WYY.js.map +1 -0
  139. package/dist/{dist-PQZUVLPC.js → dist-G5QFRYLQ.js} +3 -3
  140. package/dist/dist-G5QFRYLQ.js.map +1 -0
  141. package/dist/{dist-4MVGNSRL.cjs → dist-JPQK5S4K.cjs} +20 -20
  142. package/dist/dist-JPQK5S4K.cjs.map +1 -0
  143. package/dist/{dist-R7WYX6LC.js → dist-MIDN25GT.js} +3 -3
  144. package/dist/dist-MIDN25GT.js.map +1 -0
  145. package/dist/{dist-RFMYFILX.cjs → dist-SNKH6NS2.cjs} +30 -30
  146. package/dist/dist-SNKH6NS2.cjs.map +1 -0
  147. package/dist/{dist-FZYCV3VB.cjs → dist-XBQPKAO4.cjs} +26 -26
  148. package/dist/dist-XBQPKAO4.cjs.map +1 -0
  149. package/dist/docs/README.md +31 -0
  150. package/dist/docs/SKILL.md +32 -0
  151. package/dist/docs/SOURCE_MAP.json +6 -0
  152. package/dist/docs/server/01-custom-adapters.md +380 -0
  153. package/dist/docs/server/02-reference.md +819 -0
  154. package/dist/server/auth/defaults.d.ts +3 -0
  155. package/dist/server/auth/defaults.d.ts.map +1 -0
  156. package/dist/server/auth/helpers.d.ts +14 -0
  157. package/dist/server/auth/helpers.d.ts.map +1 -0
  158. package/dist/server/auth/index.cjs +44 -0
  159. package/dist/server/auth/index.cjs.map +1 -0
  160. package/dist/server/auth/index.d.ts +3 -0
  161. package/dist/server/auth/index.d.ts.map +1 -0
  162. package/dist/server/auth/index.js +3 -0
  163. package/dist/server/auth/index.js.map +1 -0
  164. package/dist/server/auth/path-pattern.d.ts +43 -0
  165. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  166. package/dist/server/handlers/a2a.cjs +9 -9
  167. package/dist/server/handlers/a2a.d.ts +34 -420
  168. package/dist/server/handlers/a2a.d.ts.map +1 -1
  169. package/dist/server/handlers/a2a.js +1 -1
  170. package/dist/server/handlers/agent-builder.cjs +16 -28
  171. package/dist/server/handlers/agent-builder.d.ts +154 -460
  172. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  173. package/dist/server/handlers/agent-builder.js +1 -1
  174. package/dist/server/handlers/agent-versions.cjs +60 -0
  175. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  176. package/dist/server/handlers/agent-versions.d.ts +425 -0
  177. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  178. package/dist/server/handlers/agent-versions.js +3 -0
  179. package/dist/server/handlers/agent-versions.js.map +1 -0
  180. package/dist/server/handlers/agents.cjs +43 -23
  181. package/dist/server/handlers/agents.d.ts +362 -2912
  182. package/dist/server/handlers/agents.d.ts.map +1 -1
  183. package/dist/server/handlers/agents.js +1 -1
  184. package/dist/server/handlers/error.cjs +6 -2
  185. package/dist/server/handlers/error.d.ts +22 -0
  186. package/dist/server/handlers/error.d.ts.map +1 -1
  187. package/dist/server/handlers/error.js +1 -1
  188. package/dist/server/handlers/logs.cjs +4 -4
  189. package/dist/server/handlers/logs.d.ts +63 -111
  190. package/dist/server/handlers/logs.d.ts.map +1 -1
  191. package/dist/server/handlers/logs.js +1 -1
  192. package/dist/server/handlers/mcp.cjs +40 -0
  193. package/dist/server/handlers/mcp.cjs.map +1 -0
  194. package/dist/server/handlers/mcp.d.ts +92 -0
  195. package/dist/server/handlers/mcp.d.ts.map +1 -0
  196. package/dist/server/handlers/mcp.js +3 -0
  197. package/dist/server/handlers/mcp.js.map +1 -0
  198. package/dist/server/handlers/memory.cjs +28 -24
  199. package/dist/server/handlers/memory.d.ts +244 -756
  200. package/dist/server/handlers/memory.d.ts.map +1 -1
  201. package/dist/server/handlers/memory.js +1 -1
  202. package/dist/server/handlers/observability.cjs +7 -23
  203. package/dist/server/handlers/observability.d.ts +97 -114
  204. package/dist/server/handlers/observability.d.ts.map +1 -1
  205. package/dist/server/handlers/observability.js +1 -1
  206. package/dist/server/handlers/processors.cjs +20 -0
  207. package/dist/server/handlers/processors.cjs.map +1 -0
  208. package/dist/server/handlers/processors.d.ts +90 -0
  209. package/dist/server/handlers/processors.d.ts.map +1 -0
  210. package/dist/server/handlers/processors.js +3 -0
  211. package/dist/server/handlers/processors.js.map +1 -0
  212. package/dist/server/handlers/scores.cjs +7 -7
  213. package/dist/server/handlers/scores.d.ts +18 -54
  214. package/dist/server/handlers/scores.d.ts.map +1 -1
  215. package/dist/server/handlers/scores.js +1 -1
  216. package/dist/server/handlers/stored-agents.cjs +28 -0
  217. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  218. package/dist/server/handlers/stored-agents.d.ts +214 -0
  219. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  220. package/dist/server/handlers/stored-agents.js +3 -0
  221. package/dist/server/handlers/stored-agents.js.map +1 -0
  222. package/dist/server/handlers/system.cjs +12 -0
  223. package/dist/server/handlers/system.cjs.map +1 -0
  224. package/dist/server/handlers/system.d.ts +7 -0
  225. package/dist/server/handlers/system.d.ts.map +1 -0
  226. package/dist/server/handlers/system.js +3 -0
  227. package/dist/server/handlers/system.js.map +1 -0
  228. package/dist/server/handlers/test-utils.cjs +2 -2
  229. package/dist/server/handlers/test-utils.cjs.map +1 -1
  230. package/dist/server/handlers/test-utils.d.ts +3 -3
  231. package/dist/server/handlers/test-utils.d.ts.map +1 -1
  232. package/dist/server/handlers/test-utils.js +2 -2
  233. package/dist/server/handlers/test-utils.js.map +1 -1
  234. package/dist/server/handlers/tools.cjs +6 -6
  235. package/dist/server/handlers/tools.d.ts +7 -36
  236. package/dist/server/handlers/tools.d.ts.map +1 -1
  237. package/dist/server/handlers/tools.js +1 -1
  238. package/dist/server/handlers/vector.cjs +13 -13
  239. package/dist/server/handlers/vector.d.ts +16 -57
  240. package/dist/server/handlers/vector.d.ts.map +1 -1
  241. package/dist/server/handlers/vector.js +1 -1
  242. package/dist/server/handlers/voice.cjs +8 -8
  243. package/dist/server/handlers/voice.d.ts +18 -56
  244. package/dist/server/handlers/voice.d.ts.map +1 -1
  245. package/dist/server/handlers/voice.js +1 -1
  246. package/dist/server/handlers/workflows.cjs +46 -26
  247. package/dist/server/handlers/workflows.d.ts +358 -533
  248. package/dist/server/handlers/workflows.d.ts.map +1 -1
  249. package/dist/server/handlers/workflows.js +1 -1
  250. package/dist/server/handlers.cjs +36 -31
  251. package/dist/server/handlers.d.ts +1 -0
  252. package/dist/server/handlers.d.ts.map +1 -1
  253. package/dist/server/handlers.js +12 -11
  254. package/dist/server/schemas/a2a.d.ts +56 -700
  255. package/dist/server/schemas/a2a.d.ts.map +1 -1
  256. package/dist/server/schemas/agent-builder.d.ts +26 -143
  257. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  258. package/dist/server/schemas/agent-versions.d.ts +379 -0
  259. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  260. package/dist/server/schemas/agents.d.ts +152 -1031
  261. package/dist/server/schemas/agents.d.ts.map +1 -1
  262. package/dist/server/schemas/common.d.ts +37 -103
  263. package/dist/server/schemas/common.d.ts.map +1 -1
  264. package/dist/server/schemas/logs.d.ts +38 -106
  265. package/dist/server/schemas/logs.d.ts.map +1 -1
  266. package/dist/server/schemas/mcp.d.ts +91 -0
  267. package/dist/server/schemas/mcp.d.ts.map +1 -0
  268. package/dist/server/schemas/memory.d.ts +288 -831
  269. package/dist/server/schemas/memory.d.ts.map +1 -1
  270. package/dist/server/schemas/processors.d.ts +162 -0
  271. package/dist/server/schemas/processors.d.ts.map +1 -0
  272. package/dist/server/schemas/scores.d.ts +31 -213
  273. package/dist/server/schemas/scores.d.ts.map +1 -1
  274. package/dist/server/schemas/stored-agents.d.ts +274 -0
  275. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  276. package/dist/server/schemas/system.d.ts +14 -0
  277. package/dist/server/schemas/system.d.ts.map +1 -0
  278. package/dist/server/schemas/vectors.d.ts +21 -81
  279. package/dist/server/schemas/vectors.d.ts.map +1 -1
  280. package/dist/server/schemas/workflows.d.ts +248 -382
  281. package/dist/server/schemas/workflows.d.ts.map +1 -1
  282. package/dist/server/server-adapter/index.cjs +441 -137
  283. package/dist/server/server-adapter/index.cjs.map +1 -1
  284. package/dist/server/server-adapter/index.d.ts +94 -16
  285. package/dist/server/server-adapter/index.d.ts.map +1 -1
  286. package/dist/server/server-adapter/index.js +325 -35
  287. package/dist/server/server-adapter/index.js.map +1 -1
  288. package/dist/server/server-adapter/redact.d.ts +26 -0
  289. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  290. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  291. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  292. package/dist/server/server-adapter/routes/index.d.ts +18 -7
  293. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  294. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  295. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  296. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  297. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  298. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  299. package/dist/server/server-adapter/routes/route-builder.d.ts +66 -6
  300. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  301. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  302. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  303. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  304. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  305. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  306. package/dist/server/utils.d.ts +1 -1
  307. package/dist/server/utils.d.ts.map +1 -1
  308. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +11 -12
  309. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  310. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +8 -9
  311. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  312. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  313. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  314. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  315. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  316. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  317. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  318. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  319. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  320. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  321. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  322. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  323. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  324. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  325. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  327. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  328. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  329. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  330. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  331. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  332. package/handlers/server/handlers.d.ts +1 -0
  333. package/handlers.d.ts +1 -0
  334. package/package.json +29 -17
  335. package/server-adapter.d.ts +1 -0
  336. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  337. package/dist/chunk-2PLXW4ZX.cjs.map +0 -1
  338. package/dist/chunk-35NT4TMQ.cjs.map +0 -1
  339. package/dist/chunk-3R5EV3HV.js.map +0 -1
  340. package/dist/chunk-4ECGVOJZ.cjs.map +0 -1
  341. package/dist/chunk-5PONYNYP.cjs.map +0 -1
  342. package/dist/chunk-6BISSAIF.js +0 -23494
  343. package/dist/chunk-6BISSAIF.js.map +0 -1
  344. package/dist/chunk-6DTV6NEW.js.map +0 -1
  345. package/dist/chunk-AEO6IHLK.cjs +0 -368
  346. package/dist/chunk-AEO6IHLK.cjs.map +0 -1
  347. package/dist/chunk-ASZUOBKV.js.map +0 -1
  348. package/dist/chunk-ECIVTQ4E.js +0 -354
  349. package/dist/chunk-ECIVTQ4E.js.map +0 -1
  350. package/dist/chunk-FAQICBMH.js.map +0 -1
  351. package/dist/chunk-FXDZLX2Y.js.map +0 -1
  352. package/dist/chunk-G7BPNX2V.js.map +0 -1
  353. package/dist/chunk-I5VZ5SKG.js.map +0 -1
  354. package/dist/chunk-ICANWSEW.js.map +0 -1
  355. package/dist/chunk-KB5NSROG.cjs.map +0 -1
  356. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  357. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  358. package/dist/chunk-NDFAQBQD.cjs.map +0 -1
  359. package/dist/chunk-PKRHEXX7.js.map +0 -1
  360. package/dist/chunk-QGWCNTG6.cjs.map +0 -1
  361. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  362. package/dist/chunk-R4M3BSUG.js.map +0 -1
  363. package/dist/chunk-RQK4FQUD.js.map +0 -1
  364. package/dist/chunk-SHWNNZBL.js.map +0 -1
  365. package/dist/chunk-TBVUN4XN.cjs +0 -23536
  366. package/dist/chunk-TBVUN4XN.cjs.map +0 -1
  367. package/dist/chunk-TOCYBDP2.js +0 -46
  368. package/dist/chunk-TOCYBDP2.js.map +0 -1
  369. package/dist/chunk-UJNHKFBR.cjs.map +0 -1
  370. package/dist/chunk-UOFV2ZCI.js.map +0 -1
  371. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  372. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  373. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  374. package/dist/chunk-VQAT5HX6.js.map +0 -1
  375. package/dist/chunk-X6C7BUWN.cjs +0 -48
  376. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  377. package/dist/chunk-YJ3VDL3Z.cjs.map +0 -1
  378. package/dist/chunk-Z36N2OQA.cjs.map +0 -1
  379. package/dist/chunk-ZLRTFRL4.js.map +0 -1
  380. package/dist/chunk-ZODCSH2W.cjs.map +0 -1
  381. package/dist/chunk-ZULZ2752.js.map +0 -1
  382. package/dist/dist-4MVGNSRL.cjs.map +0 -1
  383. package/dist/dist-FZYCV3VB.cjs.map +0 -1
  384. package/dist/dist-G2BYZJOC.cjs.map +0 -1
  385. package/dist/dist-P4MXBQ3U.cjs +0 -16
  386. package/dist/dist-PQZUVLPC.js.map +0 -1
  387. package/dist/dist-R7WYX6LC.js.map +0 -1
  388. package/dist/dist-RFMYFILX.cjs.map +0 -1
  389. package/dist/dist-X7XR3M3Z.js.map +0 -1
  390. package/dist/dist-XVBSOGFK.js.map +0 -1
  391. package/dist/dist-YREX2TJT.js +0 -3
  392. package/dist/server/schemas/observability.d.ts +0 -402
  393. package/dist/server/schemas/observability.d.ts.map +0 -1
  394. package/dist/token-375W3LEI.cjs.map +0 -1
  395. package/dist/token-C3IMNCC4.js.map +0 -1
  396. package/dist/token-util-CV3RRG6K.cjs +0 -9
  397. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  398. package/dist/token-util-E5QO2RCL.js +0 -7
  399. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/logs.ts","../src/server/schemas/logs.ts"],"names":[],"mappings":"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","file":"chunk-6DTV6NEW.js","sourcesContent":["import { runIdSchema } from '../schemas/common';\nimport { listLogsQuerySchema, listLogsResponseSchema, listLogTransportsResponseSchema } from '../schemas/logs';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { parseFilters, validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_LOG_TRANSPORTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs/transports',\n responseType: 'json',\n responseSchema: listLogTransportsResponseSchema,\n summary: 'List log transports',\n description: 'Returns a list of all available log transports',\n tags: ['Logs'],\n handler: async ({ 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});\n\nexport const LIST_LOGS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs',\n responseType: 'json',\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs',\n description:\n 'Returns logs from a specific transport with optional filtering by date range, log level, and custom filters',\n tags: ['Logs'],\n handler: async ({ mastra, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogs(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});\n\nexport const LIST_LOGS_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs by run ID',\n description: 'Returns all logs for a specific execution run from a transport',\n tags: ['Logs'],\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ runId, transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogsByRunId({\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});\n","import z from 'zod';\nimport { createPagePaginationSchema, baseLogMessageSchema } from './common';\n\n// Query parameter schemas\nexport const listLogsQuerySchema = createPagePaginationSchema().extend({\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n logLevel: z.enum(['debug', 'info', 'warn', 'error', 'silent']).optional(),\n filters: z.union([z.string(), z.array(z.string())]).optional(),\n transportId: z.string(),\n});\n\n// Response schemas\nexport const listLogsResponseSchema = z.object({\n logs: z.array(baseLogMessageSchema),\n total: z.number(),\n page: z.number(),\n perPage: z.union([z.number(), z.literal(false)]),\n hasMore: z.boolean(),\n});\n\nexport const listLogTransportsResponseSchema = z.object({\n transports: z.array(z.string()),\n});\n"]}
@@ -1,368 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk2NW6POYK_cjs = require('./chunk-2NW6POYK.cjs');
4
- var chunkUJNHKFBR_cjs = require('./chunk-UJNHKFBR.cjs');
5
- var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
6
- var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
7
- var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
8
- var scoreTraces = require('@mastra/core/evals/scoreTraces');
9
- var z = require('zod');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var z__default = /*#__PURE__*/_interopDefault(z);
14
-
15
- // src/server/handlers/observability.ts
16
- var observability_exports = {};
17
- chunkO7I5CWRX_cjs.__export(observability_exports, {
18
- GET_TRACES_PAGINATED_ROUTE: () => GET_TRACES_PAGINATED_ROUTE,
19
- GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
20
- LIST_SCORES_BY_SPAN_ROUTE: () => LIST_SCORES_BY_SPAN_ROUTE,
21
- SCORE_TRACES_ROUTE: () => SCORE_TRACES_ROUTE,
22
- getTraceHandler: () => getTraceHandler,
23
- getTracesPaginatedHandler: () => getTracesPaginatedHandler,
24
- listScoresBySpan: () => listScoresBySpan,
25
- scoreTracesHandler: () => scoreTracesHandler
26
- });
27
- var aiSpanTypeSchema = z__default.default.enum([
28
- "agent_run",
29
- "generic",
30
- "model_generation",
31
- "model_step",
32
- "model_chunk",
33
- "mcp_tool_call",
34
- "processor_run",
35
- "tool_call",
36
- "workflow_run",
37
- "workflow_step",
38
- "workflow_conditional",
39
- "workflow_conditional_eval",
40
- "workflow_parallel",
41
- "workflow_loop",
42
- "workflow_sleep",
43
- "workflow_wait_event"
44
- ]);
45
- var aiSpanRecordSchema = z__default.default.object({
46
- traceId: z__default.default.string(),
47
- spanId: z__default.default.string(),
48
- parentSpanId: z__default.default.string().nullable(),
49
- name: z__default.default.string(),
50
- scope: z__default.default.record(z__default.default.string(), z__default.default.any()).nullable(),
51
- spanType: aiSpanTypeSchema,
52
- attributes: z__default.default.record(z__default.default.string(), z__default.default.any()).nullable(),
53
- metadata: z__default.default.record(z__default.default.string(), z__default.default.any()).nullable(),
54
- links: z__default.default.any(),
55
- startedAt: z__default.default.coerce.date(),
56
- endedAt: z__default.default.coerce.date().nullable(),
57
- createdAt: z__default.default.coerce.date(),
58
- updatedAt: z__default.default.coerce.date().nullable(),
59
- input: z__default.default.any(),
60
- output: z__default.default.any(),
61
- error: z__default.default.any(),
62
- isEvent: z__default.default.boolean()
63
- });
64
- var getAITracesPaginatedResponseSchema = z__default.default.object({
65
- pagination: chunk2NW6POYK_cjs.paginationInfoSchema,
66
- spans: z__default.default.array(aiSpanRecordSchema)
67
- });
68
- var traceIdPathParams = z__default.default.object({
69
- traceId: z__default.default.string().describe("Unique identifier for the trace")
70
- });
71
- var traceSpanPathParams = traceIdPathParams.extend({
72
- spanId: z__default.default.string().describe("Unique identifier for the span")
73
- });
74
- var scoreTracesBodySchema = z__default.default.object({
75
- scorerName: z__default.default.string(),
76
- targets: z__default.default.array(
77
- z__default.default.object({
78
- traceId: z__default.default.string(),
79
- spanId: z__default.default.string().optional()
80
- })
81
- )
82
- });
83
- var getAITraceResponseSchema = z__default.default.object({
84
- spans: z__default.default.array(aiSpanRecordSchema)
85
- });
86
- var scoreTracesResponseSchema = z__default.default.object({
87
- status: z__default.default.string(),
88
- message: z__default.default.string(),
89
- traceCount: z__default.default.number()
90
- });
91
- var listScoresBySpanResponseSchema = z__default.default.object({
92
- pagination: chunk2NW6POYK_cjs.paginationInfoSchema,
93
- scores: z__default.default.array(z__default.default.unknown())
94
- });
95
- var listScoresBySpanQuerySchema = chunk2NW6POYK_cjs.createPagePaginationSchema(10);
96
-
97
- // src/server/handlers/observability.ts
98
- async function getTraceHandler({ mastra, traceId }) {
99
- try {
100
- if (!traceId) {
101
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Trace ID is required" });
102
- }
103
- const storage = mastra.getStorage();
104
- if (!storage) {
105
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
106
- }
107
- const trace = await storage.getTrace(traceId);
108
- if (!trace) {
109
- throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
110
- }
111
- return trace;
112
- } catch (error) {
113
- chunkV5WWQN7P_cjs.handleError(error, "Error getting trace");
114
- }
115
- }
116
- async function getTracesPaginatedHandler({ mastra, pagination, filters }) {
117
- try {
118
- const storage = mastra.getStorage();
119
- if (!storage) {
120
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
121
- }
122
- if (pagination?.page && pagination.page < 0) {
123
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Page must be a non-negative integer" });
124
- }
125
- if (pagination?.perPage && pagination.perPage < 0) {
126
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Per page must be a non-negative integer" });
127
- }
128
- if (pagination?.dateRange) {
129
- const { start, end } = pagination.dateRange;
130
- if (start && !(start instanceof Date)) {
131
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Invalid date format in date range" });
132
- }
133
- if (end && !(end instanceof Date)) {
134
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Invalid date format in date range" });
135
- }
136
- }
137
- return storage.getTracesPaginated({
138
- pagination,
139
- filters
140
- });
141
- } catch (error) {
142
- chunkV5WWQN7P_cjs.handleError(error, "Error getting traces paginated");
143
- }
144
- }
145
- async function scoreTracesHandler({ mastra, scorerName, targets }) {
146
- try {
147
- if (!scorerName) {
148
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Scorer ID is required" });
149
- }
150
- if (!targets || targets.length === 0) {
151
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "At least one target is required" });
152
- }
153
- const storage = mastra.getStorage();
154
- if (!storage) {
155
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
156
- }
157
- const scorer = mastra.getScorerById(scorerName);
158
- if (!scorer) {
159
- throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Scorer '${scorerName}' not found` });
160
- }
161
- const logger = mastra.getLogger();
162
- scoreTraces.scoreTraces({
163
- scorerId: scorer.config.id || scorer.config.name,
164
- targets,
165
- mastra
166
- }).catch((error) => {
167
- logger?.error(`Background trace scoring failed: ${error.message}`, error);
168
- });
169
- return {
170
- status: "success",
171
- message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
172
- traceCount: targets.length
173
- };
174
- } catch (error) {
175
- chunkV5WWQN7P_cjs.handleError(error, "Error processing trace scoring");
176
- }
177
- }
178
- async function listScoresBySpan({
179
- mastra,
180
- traceId,
181
- spanId,
182
- page,
183
- perPage
184
- }) {
185
- try {
186
- const storage = mastra.getStorage();
187
- if (!storage) {
188
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
189
- }
190
- if (!traceId || !spanId) {
191
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Trace ID and span ID are required" });
192
- }
193
- return await storage.listScoresBySpan({ traceId, spanId, pagination: { page, perPage } });
194
- } catch (error) {
195
- return chunkV5WWQN7P_cjs.handleError(error, "Error getting scores by span");
196
- }
197
- }
198
- var GET_TRACES_PAGINATED_ROUTE = chunkUJNHKFBR_cjs.createRoute({
199
- method: "GET",
200
- path: "/api/observability/traces",
201
- responseType: "json",
202
- queryParamSchema: z__default.default.object({
203
- page: z__default.default.coerce.number().optional().default(0),
204
- perPage: z__default.default.coerce.number().optional().default(10),
205
- name: z__default.default.string().optional(),
206
- spanType: z__default.default.string().optional(),
207
- dateRange: z__default.default.string().optional(),
208
- entityId: z__default.default.string().optional(),
209
- entityType: z__default.default.string().optional()
210
- }),
211
- responseSchema: getAITracesPaginatedResponseSchema,
212
- summary: "Get AI traces",
213
- description: "Returns a paginated list of AI execution traces with optional filtering by name, type, date range, and entity",
214
- tags: ["Observability"],
215
- handler: async ({ mastra, ...params }) => {
216
- try {
217
- const storage = mastra.getStorage();
218
- if (!storage) {
219
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
220
- }
221
- const { page, perPage, name, spanType, dateRange, entityId, entityType } = params;
222
- const rawDateRange = dateRange ? JSON.parse(dateRange) : void 0;
223
- const pagination = {
224
- page,
225
- perPage,
226
- dateRange: rawDateRange ? {
227
- start: rawDateRange.start ? new Date(rawDateRange.start) : void 0,
228
- end: rawDateRange.end ? new Date(rawDateRange.end) : void 0
229
- } : void 0
230
- };
231
- const filters = Object.fromEntries(
232
- Object.entries({ name, spanType, entityId, entityType }).filter(([_, v]) => v !== void 0)
233
- );
234
- if (pagination?.page && pagination.page < 0) {
235
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Page must be a non-negative integer" });
236
- }
237
- if (pagination?.perPage && pagination.perPage < 0) {
238
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Per page must be a non-negative integer" });
239
- }
240
- if (pagination?.dateRange) {
241
- const { start, end } = pagination.dateRange;
242
- if (start && !(start instanceof Date)) {
243
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Invalid date format in date range" });
244
- }
245
- if (end && !(end instanceof Date)) {
246
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Invalid date format in date range" });
247
- }
248
- }
249
- return storage.getTracesPaginated({ pagination, filters });
250
- } catch (error) {
251
- chunkV5WWQN7P_cjs.handleError(error, "Error getting traces paginated");
252
- }
253
- }
254
- });
255
- var GET_TRACE_ROUTE = chunkUJNHKFBR_cjs.createRoute({
256
- method: "GET",
257
- path: "/api/observability/traces/:traceId",
258
- responseType: "json",
259
- pathParamSchema: traceIdPathParams,
260
- responseSchema: getAITraceResponseSchema,
261
- summary: "Get AI trace by ID",
262
- description: "Returns a complete AI trace with all spans by trace ID",
263
- tags: ["Observability"],
264
- handler: async ({ mastra, traceId }) => {
265
- try {
266
- if (!traceId) {
267
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Trace ID is required" });
268
- }
269
- const storage = mastra.getStorage();
270
- if (!storage) {
271
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
272
- }
273
- const trace = await storage.getTrace(traceId);
274
- if (!trace) {
275
- throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
276
- }
277
- return trace;
278
- } catch (error) {
279
- chunkV5WWQN7P_cjs.handleError(error, "Error getting trace");
280
- }
281
- }
282
- });
283
- var SCORE_TRACES_ROUTE = chunkUJNHKFBR_cjs.createRoute({
284
- method: "POST",
285
- path: "/api/observability/traces/score",
286
- responseType: "json",
287
- bodySchema: scoreTracesBodySchema,
288
- responseSchema: scoreTracesResponseSchema,
289
- summary: "Score traces",
290
- description: "Scores one or more traces using a specified scorer (fire-and-forget)",
291
- tags: ["Observability"],
292
- handler: async ({ mastra, ...params }) => {
293
- try {
294
- const { scorerName, targets } = params;
295
- if (!scorerName) {
296
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Scorer ID is required" });
297
- }
298
- if (!targets || targets.length === 0) {
299
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "At least one target is required" });
300
- }
301
- const storage = mastra.getStorage();
302
- if (!storage) {
303
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
304
- }
305
- const scorer = mastra.getScorerById(scorerName);
306
- if (!scorer) {
307
- throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Scorer '${scorerName}' not found` });
308
- }
309
- const logger = mastra.getLogger();
310
- scoreTraces.scoreTraces({
311
- scorerId: scorer.config.id || scorer.config.name,
312
- targets,
313
- mastra
314
- }).catch((error) => {
315
- logger?.error(`Background trace scoring failed: ${error.message}`, error);
316
- });
317
- return {
318
- status: "success",
319
- message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
320
- traceCount: targets.length
321
- };
322
- } catch (error) {
323
- chunkV5WWQN7P_cjs.handleError(error, "Error processing trace scoring");
324
- }
325
- }
326
- });
327
- var LIST_SCORES_BY_SPAN_ROUTE = chunkUJNHKFBR_cjs.createRoute({
328
- method: "GET",
329
- path: "/api/observability/traces/:traceId/:spanId/scores",
330
- responseType: "json",
331
- pathParamSchema: traceSpanPathParams,
332
- queryParamSchema: listScoresBySpanQuerySchema,
333
- responseSchema: listScoresBySpanResponseSchema,
334
- summary: "List scores by span",
335
- description: "Returns all scores for a specific span within a trace",
336
- tags: ["Observability"],
337
- handler: async ({ mastra, traceId, spanId, ...params }) => {
338
- try {
339
- const storage = mastra.getStorage();
340
- if (!storage) {
341
- throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not available" });
342
- }
343
- if (!traceId || !spanId) {
344
- throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Trace ID and span ID are required" });
345
- }
346
- const { page, perPage } = params;
347
- return await storage.listScoresBySpan({
348
- traceId,
349
- spanId,
350
- pagination: { page: page ?? 0, perPage: perPage ?? 10 }
351
- });
352
- } catch (error) {
353
- return chunkV5WWQN7P_cjs.handleError(error, "Error getting scores by span");
354
- }
355
- }
356
- });
357
-
358
- exports.GET_TRACES_PAGINATED_ROUTE = GET_TRACES_PAGINATED_ROUTE;
359
- exports.GET_TRACE_ROUTE = GET_TRACE_ROUTE;
360
- exports.LIST_SCORES_BY_SPAN_ROUTE = LIST_SCORES_BY_SPAN_ROUTE;
361
- exports.SCORE_TRACES_ROUTE = SCORE_TRACES_ROUTE;
362
- exports.getTraceHandler = getTraceHandler;
363
- exports.getTracesPaginatedHandler = getTracesPaginatedHandler;
364
- exports.listScoresBySpan = listScoresBySpan;
365
- exports.observability_exports = observability_exports;
366
- exports.scoreTracesHandler = scoreTracesHandler;
367
- //# sourceMappingURL=chunk-AEO6IHLK.cjs.map
368
- //# sourceMappingURL=chunk-AEO6IHLK.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/observability.ts","../src/server/schemas/observability.ts"],"names":["__export","z","paginationInfoSchema","createPagePaginationSchema","HTTPException","handleError","scoreTraces","createRoute"],"mappings":"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","file":"chunk-AEO6IHLK.cjs","sourcesContent":["import { scoreTraces } from '@mastra/core/evals/scoreTraces';\nimport type { TracesPaginatedArg, StoragePagination } from '@mastra/core/storage';\nimport z from 'zod';\nimport { HTTPException } from '../http-exception';\nimport {\n getAITracesPaginatedResponseSchema,\n getAITraceResponseSchema,\n scoreTracesBodySchema,\n scoreTracesResponseSchema,\n listScoresBySpanResponseSchema,\n traceIdPathParams,\n traceSpanPathParams,\n listScoresBySpanQuerySchema,\n} from '../schemas/observability';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n pagination?: TracesPaginatedArg['pagination'];\n filters?: TracesPaginatedArg['filters'];\n}\n\ninterface ScoreTracesContext extends Context {\n // scorer.id\n scorerName?: string;\n targets?: Array<{\n traceId: string;\n spanId?: string;\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, pagination, filters }: 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 (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, scorerName, targets }: ScoreTracesContext) {\n try {\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 page,\n perPage,\n}: Context & {\n traceId: string;\n spanId: string;\n page: StoragePagination['page'];\n perPage: StoragePagination['perPage'];\n}) {\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: { page, perPage } });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const GET_TRACES_PAGINATED_ROUTE = createRoute({\n method: 'GET',\n path: '/api/observability/traces',\n responseType: 'json',\n queryParamSchema: z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n name: z.string().optional(),\n spanType: z.string().optional(),\n dateRange: z.string().optional(),\n entityId: z.string().optional(),\n entityType: z.string().optional(),\n }),\n responseSchema: getAITracesPaginatedResponseSchema,\n summary: 'Get AI traces',\n description:\n 'Returns a paginated list of AI execution traces with optional filtering by name, type, date range, and entity',\n tags: ['Observability'],\n handler: async ({ mastra, ...params }) => {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const { page, perPage, name, spanType, dateRange, entityId, entityType } = params;\n\n // Parse and convert dateRange to Date objects\n const rawDateRange = dateRange ? JSON.parse(dateRange) : undefined;\n const pagination = {\n page,\n perPage,\n dateRange: rawDateRange\n ? {\n start: rawDateRange.start ? new Date(rawDateRange.start) : undefined,\n end: rawDateRange.end ? new Date(rawDateRange.end) : undefined,\n }\n : undefined,\n };\n\n const filters = Object.fromEntries(\n Object.entries({ name, spanType, entityId, entityType }).filter(([_, v]) => v !== undefined),\n );\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({ pagination, filters });\n } catch (error) {\n handleError(error, 'Error getting traces paginated');\n }\n },\n});\n\nexport const GET_TRACE_ROUTE = createRoute({\n method: 'GET',\n path: '/api/observability/traces/:traceId',\n responseType: 'json',\n pathParamSchema: traceIdPathParams,\n responseSchema: getAITraceResponseSchema,\n summary: 'Get AI trace by ID',\n description: 'Returns a complete AI trace with all spans by trace ID',\n tags: ['Observability'],\n handler: async ({ mastra, traceId }) => {\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\nexport const SCORE_TRACES_ROUTE = createRoute({\n method: 'POST',\n path: '/api/observability/traces/score',\n responseType: 'json',\n bodySchema: scoreTracesBodySchema,\n responseSchema: scoreTracesResponseSchema,\n summary: 'Score traces',\n description: 'Scores one or more traces using a specified scorer (fire-and-forget)',\n tags: ['Observability'],\n handler: async ({ mastra, ...params }) => {\n try {\n const { scorerName, targets } = params;\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 {\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});\n\nexport const LIST_SCORES_BY_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/api/observability/traces/:traceId/:spanId/scores',\n responseType: 'json',\n pathParamSchema: traceSpanPathParams,\n queryParamSchema: listScoresBySpanQuerySchema,\n responseSchema: listScoresBySpanResponseSchema,\n summary: 'List scores by span',\n description: 'Returns all scores for a specific span within a trace',\n tags: ['Observability'],\n handler: async ({ mastra, traceId, spanId, ...params }) => {\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 const { page, perPage } = params;\n return await storage.listScoresBySpan({\n traceId,\n spanId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n },\n});\n","import z from 'zod';\nimport { createPagePaginationSchema, paginationInfoSchema } from './common';\n\n/**\n * Schema for AI span types\n * Defines all possible span types in the observability system\n */\nexport const aiSpanTypeSchema = z.enum([\n 'agent_run',\n 'generic',\n 'model_generation',\n 'model_step',\n 'model_chunk',\n 'mcp_tool_call',\n 'processor_run',\n 'tool_call',\n 'workflow_run',\n 'workflow_step',\n 'workflow_conditional',\n 'workflow_conditional_eval',\n 'workflow_parallel',\n 'workflow_loop',\n 'workflow_sleep',\n 'workflow_wait_event',\n]);\n\n/**\n * Schema for AI span record\n * Represents a single trace span with all its metadata\n */\nexport const aiSpanRecordSchema = z.object({\n traceId: z.string(),\n spanId: z.string(),\n parentSpanId: z.string().nullable(),\n name: z.string(),\n scope: z.record(z.string(), z.any()).nullable(),\n spanType: aiSpanTypeSchema,\n attributes: z.record(z.string(), z.any()).nullable(),\n metadata: z.record(z.string(), z.any()).nullable(),\n links: z.any(),\n startedAt: z.coerce.date(),\n endedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date().nullable(),\n input: z.any(),\n output: z.any(),\n error: z.any(),\n isEvent: z.boolean(),\n});\n\n/**\n * Schema for paginated AI traces response\n * Returns pagination info and array of trace spans\n */\nexport const getAITracesPaginatedResponseSchema = z.object({\n pagination: paginationInfoSchema,\n spans: z.array(aiSpanRecordSchema),\n});\n\n// Path parameter schemas\nexport const traceIdPathParams = z.object({\n traceId: z.string().describe('Unique identifier for the trace'),\n});\n\nexport const traceSpanPathParams = traceIdPathParams.extend({\n spanId: z.string().describe('Unique identifier for the span'),\n});\n\n// Body schema for scoring traces\nexport const scoreTracesBodySchema = z.object({\n scorerName: z.string(),\n targets: z.array(\n z.object({\n traceId: z.string(),\n spanId: z.string().optional(),\n }),\n ),\n});\n\n// Response schemas\nexport const getAITraceResponseSchema = z.object({\n spans: z.array(aiSpanRecordSchema),\n});\n\nexport const scoreTracesResponseSchema = z.object({\n status: z.string(),\n message: z.string(),\n traceCount: z.number(),\n});\n\nexport const listScoresBySpanResponseSchema = z.object({\n pagination: paginationInfoSchema,\n scores: z.array(z.unknown()),\n});\n\n// Query schema for list scores by span\nexport const listScoresBySpanQuerySchema = createPagePaginationSchema(10);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/scores.ts","../src/server/schemas/scores.ts"],"names":[],"mappings":"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","file":"chunk-ASZUOBKV.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 { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\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\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\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n handler: async ({ mastra, requestContext }) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n },\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/api/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n handler: async ({ mastra, scorerId, 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});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\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});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scoreResults = (await mastra.getStorage()?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\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});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\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 pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\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\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/api/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const result = await mastra.getStorage()?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n","import z from 'zod';\nimport { paginationInfoSchema } from './common';\n\n/**\n * Schema for sampling configuration\n * Using passthrough to allow various sampling config shapes\n */\nconst scoringSamplingConfigSchema = z.object({});\n\n/**\n * Schema for MastraScorer config object\n */\nconst mastraScorerConfigSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n description: z.string(),\n type: z.unknown().optional(),\n judge: z.unknown().optional(),\n});\n\n/**\n * Schema for MastraScorer\n * Only validates public config property, uses passthrough to allow class instance\n */\nconst mastraScorerSchema = z.object({\n config: mastraScorerConfigSchema,\n});\n\n/**\n * Schema for scorer entry with associations to agents and workflows\n */\nexport const scorerEntrySchema = z.object({\n scorer: mastraScorerSchema,\n sampling: scoringSamplingConfigSchema.optional(),\n agentIds: z.array(z.string()),\n agentNames: z.array(z.string()),\n workflowIds: z.array(z.string()),\n isRegistered: z.boolean(),\n});\n\n/**\n * Response schema for list scorers endpoint\n * Returns a record of scorer ID to scorer entry with associations\n */\nexport const listScorersResponseSchema = z.record(z.string(), scorerEntrySchema);\n\n// Path parameter schemas\nexport const scorerIdPathParams = z.object({\n scorerId: z.string().describe('Unique identifier for the scorer'),\n});\n\nexport const entityPathParams = z.object({\n entityType: z.string().describe('Type of the entity (AGENT or WORKFLOW)'),\n entityId: z.string().describe('Unique identifier for the entity'),\n});\n\n// Query parameter schemas\n// HTTP query params must be flat (e.g., ?page=0&perPage=10)\n// Adapters should transform these into nested pagination objects for handlers if needed\n\nexport const listScoresByRunIdQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\nexport const listScoresByScorerIdQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n entityId: z.string().optional(),\n entityType: z.string().optional(),\n});\n\nexport const listScoresByEntityIdQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\n// Body schema for saving scores\nexport const saveScoreBodySchema = z.object({\n score: z.unknown(), // ScoreRowData - complex type\n});\n\n// Response schemas\nexport const scoresWithPaginationResponseSchema = z.object({\n pagination: paginationInfoSchema,\n scores: z.array(z.unknown()), // Array of score records\n});\n\nexport const saveScoreResponseSchema = z.object({\n score: z.unknown(), // ScoreRowData\n});\n"]}