@mastra/server 1.0.0-beta.2 → 1.0.0-beta.20

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 (394) hide show
  1. package/CHANGELOG.md +691 -0
  2. package/README.md +2 -2
  3. package/dist/chunk-3MN73W4B.cjs +326 -0
  4. package/dist/chunk-3MN73W4B.cjs.map +1 -0
  5. package/dist/chunk-3OUPQHSX.js +314 -0
  6. package/dist/chunk-3OUPQHSX.js.map +1 -0
  7. package/dist/chunk-3PZVR6W3.cjs +1117 -0
  8. package/dist/chunk-3PZVR6W3.cjs.map +1 -0
  9. package/dist/{chunk-SHWNNZBL.js → chunk-3REGEJEN.js} +13 -17
  10. package/dist/chunk-3REGEJEN.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-4EYONQIW.cjs +82 -0
  14. package/dist/chunk-4EYONQIW.cjs.map +1 -0
  15. package/dist/chunk-5NFRDYFN.js +77 -0
  16. package/dist/chunk-5NFRDYFN.js.map +1 -0
  17. package/dist/chunk-5NXQ6QXL.js +116 -0
  18. package/dist/chunk-5NXQ6QXL.js.map +1 -0
  19. package/dist/chunk-5W4RPVTK.cjs +49 -0
  20. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  21. package/dist/chunk-6HKMJXTF.js +234 -0
  22. package/dist/chunk-6HKMJXTF.js.map +1 -0
  23. package/dist/{chunk-2PLXW4ZX.cjs → chunk-AQI6GLTN.cjs} +74 -74
  24. package/dist/{chunk-2PLXW4ZX.cjs.map → chunk-AQI6GLTN.cjs.map} +1 -1
  25. package/dist/chunk-AVOFMAUS.cjs +125 -0
  26. package/dist/chunk-AVOFMAUS.cjs.map +1 -0
  27. package/dist/chunk-B35F4QEM.cjs +346 -0
  28. package/dist/chunk-B35F4QEM.cjs.map +1 -0
  29. package/dist/chunk-DUZRZLVR.js +302 -0
  30. package/dist/chunk-DUZRZLVR.js.map +1 -0
  31. package/dist/chunk-DVSCJECS.js +250 -0
  32. package/dist/chunk-DVSCJECS.js.map +1 -0
  33. package/dist/chunk-EUBTCHQC.js +83 -0
  34. package/dist/chunk-EUBTCHQC.js.map +1 -0
  35. package/dist/chunk-FEEM6QFN.js +219 -0
  36. package/dist/chunk-FEEM6QFN.js.map +1 -0
  37. package/dist/chunk-FWSKVWS7.cjs +88 -0
  38. package/dist/chunk-FWSKVWS7.cjs.map +1 -0
  39. package/dist/chunk-G2AMUTU4.js +250 -0
  40. package/dist/chunk-G2AMUTU4.js.map +1 -0
  41. package/dist/chunk-G3KUL3RL.cjs +211 -0
  42. package/dist/chunk-G3KUL3RL.cjs.map +1 -0
  43. package/dist/{chunk-W2KMU354.cjs → chunk-GWLR6K3H.cjs} +23 -4
  44. package/dist/chunk-GWLR6K3H.cjs.map +1 -0
  45. package/dist/{chunk-RQK4FQUD.js → chunk-H66LLFDL.js} +4 -46
  46. package/dist/chunk-H66LLFDL.js.map +1 -0
  47. package/dist/chunk-HT4LP3BO.js +75 -0
  48. package/dist/chunk-HT4LP3BO.js.map +1 -0
  49. package/dist/chunk-IMPZBQ5U.cjs +33025 -0
  50. package/dist/chunk-IMPZBQ5U.cjs.map +1 -0
  51. package/dist/chunk-IQEVRCM6.cjs +205 -0
  52. package/dist/chunk-IQEVRCM6.cjs.map +1 -0
  53. package/dist/{chunk-FPBYKMIS.js → chunk-J6DCK7KG.js} +222 -30
  54. package/dist/chunk-J6DCK7KG.js.map +1 -0
  55. package/dist/chunk-JQPDZZLI.js +1018 -0
  56. package/dist/chunk-JQPDZZLI.js.map +1 -0
  57. package/dist/chunk-JXPRNYUC.js +279 -0
  58. package/dist/chunk-JXPRNYUC.js.map +1 -0
  59. package/dist/chunk-K3LMK4KU.js +180 -0
  60. package/dist/chunk-K3LMK4KU.js.map +1 -0
  61. package/dist/chunk-KEW7MXUS.cjs +312 -0
  62. package/dist/chunk-KEW7MXUS.cjs.map +1 -0
  63. package/dist/chunk-KXYDJIKD.cjs +1048 -0
  64. package/dist/chunk-KXYDJIKD.cjs.map +1 -0
  65. package/dist/{chunk-QU6N55W6.cjs → chunk-L2E5RUVT.cjs} +17 -21
  66. package/dist/chunk-L2E5RUVT.cjs.map +1 -0
  67. package/dist/chunk-L7ZFPOGS.js +44 -0
  68. package/dist/chunk-L7ZFPOGS.js.map +1 -0
  69. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  70. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  71. package/dist/{chunk-ZULZ2752.js → chunk-LOA7RQYO.js} +3 -3
  72. package/dist/{chunk-ZULZ2752.js.map → chunk-LOA7RQYO.js.map} +1 -1
  73. package/dist/chunk-MCYD5LW7.cjs +90 -0
  74. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  75. package/dist/chunk-OKURLPIJ.js +32986 -0
  76. package/dist/chunk-OKURLPIJ.js.map +1 -0
  77. package/dist/{chunk-UXGQZUYZ.js → chunk-ONN5EA7E.js} +13 -3
  78. package/dist/chunk-ONN5EA7E.js.map +1 -0
  79. package/dist/chunk-P3H4AZKI.cjs +252 -0
  80. package/dist/chunk-P3H4AZKI.cjs.map +1 -0
  81. package/dist/chunk-PNZQCQY4.cjs +252 -0
  82. package/dist/chunk-PNZQCQY4.cjs.map +1 -0
  83. package/dist/chunk-Q4BOUQ2O.js +1075 -0
  84. package/dist/chunk-Q4BOUQ2O.js.map +1 -0
  85. package/dist/{chunk-D7T74TVR.js → chunk-QKXZF7YS.js} +23 -4
  86. package/dist/chunk-QKXZF7YS.js.map +1 -0
  87. package/dist/chunk-R25YJP3Y.cjs +269 -0
  88. package/dist/chunk-R25YJP3Y.cjs.map +1 -0
  89. package/dist/chunk-SEP5QUTR.js +196 -0
  90. package/dist/chunk-SEP5QUTR.js.map +1 -0
  91. package/dist/{chunk-V5WWQN7P.cjs → chunk-SUKFO7UM.cjs} +13 -2
  92. package/dist/chunk-SUKFO7UM.cjs.map +1 -0
  93. package/dist/chunk-T3ZHTCEI.cjs +928 -0
  94. package/dist/chunk-T3ZHTCEI.cjs.map +1 -0
  95. package/dist/chunk-T4SPG2GP.cjs +82 -0
  96. package/dist/chunk-T4SPG2GP.cjs.map +1 -0
  97. package/dist/chunk-TOGG5Q45.js +328 -0
  98. package/dist/chunk-TOGG5Q45.js.map +1 -0
  99. package/dist/chunk-UKRDDBXY.cjs +225 -0
  100. package/dist/chunk-UKRDDBXY.cjs.map +1 -0
  101. package/dist/chunk-V3RILBZM.cjs +186 -0
  102. package/dist/chunk-V3RILBZM.cjs.map +1 -0
  103. package/dist/chunk-VJNZJAIO.cjs +289 -0
  104. package/dist/chunk-VJNZJAIO.cjs.map +1 -0
  105. package/dist/{chunk-LPM6BBAX.cjs → chunk-VX3VN7FN.cjs} +3 -54
  106. package/dist/chunk-VX3VN7FN.cjs.map +1 -0
  107. package/dist/chunk-X5KAQFOV.js +204 -0
  108. package/dist/chunk-X5KAQFOV.js.map +1 -0
  109. package/dist/chunk-XAVPSRSG.cjs +46 -0
  110. package/dist/chunk-XAVPSRSG.cjs.map +1 -0
  111. package/dist/chunk-XOUK3IYU.js +77 -0
  112. package/dist/chunk-XOUK3IYU.js.map +1 -0
  113. package/dist/chunk-XWGAT2DA.js +44 -0
  114. package/dist/chunk-XWGAT2DA.js.map +1 -0
  115. package/dist/{chunk-KJIDZQRA.cjs → chunk-Y3VSCOCE.cjs} +228 -30
  116. package/dist/chunk-Y3VSCOCE.cjs.map +1 -0
  117. package/dist/chunk-ZRBZESWG.js +903 -0
  118. package/dist/chunk-ZRBZESWG.js.map +1 -0
  119. package/dist/{dist-G2BYZJOC.cjs → dist-7NTDEVLP.cjs} +28 -28
  120. package/dist/{dist-G2BYZJOC.cjs.map → dist-7NTDEVLP.cjs.map} +1 -1
  121. package/dist/{dist-X7XR3M3Z.js → dist-B5GMANA6.js} +3 -3
  122. package/dist/{dist-X7XR3M3Z.js.map → dist-B5GMANA6.js.map} +1 -1
  123. package/dist/dist-EDO7GEGI.js +3 -0
  124. package/dist/{dist-YREX2TJT.js.map → dist-EDO7GEGI.js.map} +1 -1
  125. package/dist/{dist-RFMYFILX.cjs → dist-OF24ZMHH.cjs} +30 -30
  126. package/dist/{dist-RFMYFILX.cjs.map → dist-OF24ZMHH.cjs.map} +1 -1
  127. package/dist/{dist-4MVGNSRL.cjs → dist-P6YSNLL3.cjs} +20 -20
  128. package/dist/{dist-4MVGNSRL.cjs.map → dist-P6YSNLL3.cjs.map} +1 -1
  129. package/dist/{dist-PQZUVLPC.js → dist-SMBO5KVB.js} +3 -3
  130. package/dist/{dist-PQZUVLPC.js.map → dist-SMBO5KVB.js.map} +1 -1
  131. package/dist/{dist-XVBSOGFK.js → dist-THPMW5QR.js} +3 -3
  132. package/dist/{dist-XVBSOGFK.js.map → dist-THPMW5QR.js.map} +1 -1
  133. package/dist/{dist-FZYCV3VB.cjs → dist-VZTG56X2.cjs} +26 -26
  134. package/dist/{dist-FZYCV3VB.cjs.map → dist-VZTG56X2.cjs.map} +1 -1
  135. package/dist/dist-ZLC23RVC.cjs +16 -0
  136. package/dist/{dist-P4MXBQ3U.cjs.map → dist-ZLC23RVC.cjs.map} +1 -1
  137. package/dist/{dist-R7WYX6LC.js → dist-ZOZ6MHJH.js} +3 -3
  138. package/dist/{dist-R7WYX6LC.js.map → dist-ZOZ6MHJH.js.map} +1 -1
  139. package/dist/docs/README.md +31 -0
  140. package/dist/docs/SKILL.md +32 -0
  141. package/dist/docs/SOURCE_MAP.json +6 -0
  142. package/dist/docs/server/01-custom-adapters.md +377 -0
  143. package/dist/docs/server/02-reference.md +828 -0
  144. package/dist/server/auth/defaults.d.ts +3 -0
  145. package/dist/server/auth/defaults.d.ts.map +1 -0
  146. package/dist/server/auth/helpers.d.ts +14 -0
  147. package/dist/server/auth/helpers.d.ts.map +1 -0
  148. package/dist/server/auth/index.cjs +137 -0
  149. package/dist/server/auth/index.cjs.map +1 -0
  150. package/dist/server/auth/index.d.ts +3 -0
  151. package/dist/server/auth/index.d.ts.map +1 -0
  152. package/dist/server/auth/index.js +127 -0
  153. package/dist/server/auth/index.js.map +1 -0
  154. package/dist/server/handlers/a2a.cjs +15 -7
  155. package/dist/server/handlers/a2a.d.ts +482 -0
  156. package/dist/server/handlers/a2a.d.ts.map +1 -1
  157. package/dist/server/handlers/a2a.js +1 -1
  158. package/dist/server/handlers/agent-builder.cjs +31 -43
  159. package/dist/server/handlers/agent-builder.d.ts +624 -77
  160. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  161. package/dist/server/handlers/agent-builder.js +1 -1
  162. package/dist/server/handlers/agents.cjs +57 -37
  163. package/dist/server/handlers/agents.d.ts +3296 -131
  164. package/dist/server/handlers/agents.d.ts.map +1 -1
  165. package/dist/server/handlers/agents.js +1 -1
  166. package/dist/server/handlers/error.cjs +6 -2
  167. package/dist/server/handlers/error.d.ts +12 -0
  168. package/dist/server/handlers/error.d.ts.map +1 -1
  169. package/dist/server/handlers/error.js +1 -1
  170. package/dist/server/handlers/logs.cjs +7 -7
  171. package/dist/server/handlers/logs.d.ts +135 -27
  172. package/dist/server/handlers/logs.d.ts.map +1 -1
  173. package/dist/server/handlers/logs.js +1 -1
  174. package/dist/server/handlers/mcp.cjs +40 -0
  175. package/dist/server/handlers/mcp.cjs.map +1 -0
  176. package/dist/server/handlers/mcp.d.ts +110 -0
  177. package/dist/server/handlers/mcp.d.ts.map +1 -0
  178. package/dist/server/handlers/mcp.js +3 -0
  179. package/dist/server/handlers/mcp.js.map +1 -0
  180. package/dist/server/handlers/memory.cjs +71 -27
  181. package/dist/server/handlers/memory.d.ts +1016 -95
  182. package/dist/server/handlers/memory.d.ts.map +1 -1
  183. package/dist/server/handlers/memory.js +1 -1
  184. package/dist/server/handlers/observability.cjs +9 -9
  185. package/dist/server/handlers/observability.d.ts +146 -42
  186. package/dist/server/handlers/observability.d.ts.map +1 -1
  187. package/dist/server/handlers/observability.js +1 -1
  188. package/dist/server/handlers/scores.cjs +13 -13
  189. package/dist/server/handlers/scores.d.ts +110 -141
  190. package/dist/server/handlers/scores.d.ts.map +1 -1
  191. package/dist/server/handlers/scores.js +1 -1
  192. package/dist/server/handlers/stored-agents.cjs +28 -0
  193. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  194. package/dist/server/handlers/stored-agents.d.ts +289 -0
  195. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  196. package/dist/server/handlers/stored-agents.js +3 -0
  197. package/dist/server/handlers/stored-agents.js.map +1 -0
  198. package/dist/server/handlers/system.cjs +12 -0
  199. package/dist/server/handlers/system.cjs.map +1 -0
  200. package/dist/server/handlers/system.d.ts +7 -0
  201. package/dist/server/handlers/system.d.ts.map +1 -0
  202. package/dist/server/handlers/system.js +3 -0
  203. package/dist/server/handlers/system.js.map +1 -0
  204. package/dist/server/handlers/test-utils.cjs +15 -0
  205. package/dist/server/handlers/test-utils.cjs.map +1 -0
  206. package/dist/server/handlers/test-utils.d.ts +6 -0
  207. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  208. package/dist/server/handlers/test-utils.js +13 -0
  209. package/dist/server/handlers/test-utils.js.map +1 -0
  210. package/dist/server/handlers/tools.cjs +11 -11
  211. package/dist/server/handlers/tools.d.ts +69 -23
  212. package/dist/server/handlers/tools.d.ts.map +1 -1
  213. package/dist/server/handlers/tools.js +1 -1
  214. package/dist/server/handlers/utils.cjs +11 -3
  215. package/dist/server/handlers/utils.d.ts +5 -0
  216. package/dist/server/handlers/utils.d.ts.map +1 -1
  217. package/dist/server/handlers/utils.js +1 -1
  218. package/dist/server/handlers/vector.cjs +31 -7
  219. package/dist/server/handlers/vector.d.ts +93 -9
  220. package/dist/server/handlers/vector.d.ts.map +1 -1
  221. package/dist/server/handlers/vector.js +1 -1
  222. package/dist/server/handlers/voice.cjs +21 -9
  223. package/dist/server/handlers/voice.d.ts +81 -40
  224. package/dist/server/handlers/voice.d.ts.map +1 -1
  225. package/dist/server/handlers/voice.js +1 -1
  226. package/dist/server/handlers/workflows.cjs +57 -37
  227. package/dist/server/handlers/workflows.d.ts +980 -74
  228. package/dist/server/handlers/workflows.d.ts.map +1 -1
  229. package/dist/server/handlers/workflows.js +1 -1
  230. package/dist/server/handlers.cjs +36 -31
  231. package/dist/server/handlers.d.ts +1 -0
  232. package/dist/server/handlers.d.ts.map +1 -1
  233. package/dist/server/handlers.js +12 -11
  234. package/dist/server/schemas/a2a.d.ts +786 -0
  235. package/dist/server/schemas/a2a.d.ts.map +1 -0
  236. package/dist/server/schemas/agent-builder.d.ts +225 -0
  237. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  238. package/dist/server/schemas/agents.d.ts +1401 -0
  239. package/dist/server/schemas/agents.d.ts.map +1 -0
  240. package/dist/server/schemas/common.d.ts +179 -0
  241. package/dist/server/schemas/common.d.ts.map +1 -0
  242. package/dist/server/schemas/logs.d.ts +124 -0
  243. package/dist/server/schemas/logs.d.ts.map +1 -0
  244. package/dist/server/schemas/mcp.d.ts +299 -0
  245. package/dist/server/schemas/mcp.d.ts.map +1 -0
  246. package/dist/server/schemas/memory.d.ts +1128 -0
  247. package/dist/server/schemas/memory.d.ts.map +1 -0
  248. package/dist/server/schemas/scores.d.ts +259 -0
  249. package/dist/server/schemas/scores.d.ts.map +1 -0
  250. package/dist/server/schemas/stored-agents.d.ts +792 -0
  251. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  252. package/dist/server/schemas/system.d.ts +36 -0
  253. package/dist/server/schemas/system.d.ts.map +1 -0
  254. package/dist/server/schemas/vectors.d.ts +107 -0
  255. package/dist/server/schemas/vectors.d.ts.map +1 -0
  256. package/dist/server/schemas/workflows.d.ts +863 -0
  257. package/dist/server/schemas/workflows.d.ts.map +1 -0
  258. package/dist/server/server-adapter/index.cjs +510 -0
  259. package/dist/server/server-adapter/index.cjs.map +1 -0
  260. package/dist/server/server-adapter/index.d.ts +109 -0
  261. package/dist/server/server-adapter/index.d.ts.map +1 -0
  262. package/dist/server/server-adapter/index.js +482 -0
  263. package/dist/server/server-adapter/index.js.map +1 -0
  264. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  265. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  266. package/dist/server/server-adapter/redact.d.ts +26 -0
  267. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  268. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  269. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  270. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  271. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  272. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  273. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  274. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  275. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  276. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  277. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  278. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  279. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  280. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  281. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  282. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  283. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  284. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  285. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  286. package/dist/server/server-adapter/routes/route-builder.d.ts +111 -0
  287. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  288. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  289. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  290. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  291. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  293. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  294. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  295. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  296. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  297. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  299. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  300. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  301. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  302. package/dist/server/utils.d.ts +1 -1
  303. package/dist/server/utils.d.ts.map +1 -1
  304. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs} +11 -12
  305. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +1 -0
  306. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-K2BTU23I-NW33N3NU.js} +8 -9
  307. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +1 -0
  308. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs +63 -0
  309. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
  310. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js +61 -0
  311. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
  312. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js +61 -0
  313. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +1 -0
  314. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs +63 -0
  315. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +1 -0
  316. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
  317. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
  318. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
  319. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
  320. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +10 -0
  321. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map +1 -0
  322. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +8 -0
  323. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +10 -0
  325. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
  327. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map +1 -0
  328. package/package.json +35 -10
  329. package/dist/chunk-2IS5WICF.js +0 -23036
  330. package/dist/chunk-2IS5WICF.js.map +0 -1
  331. package/dist/chunk-2YZH5PH6.cjs +0 -200
  332. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  333. package/dist/chunk-3AMNUUZF.js +0 -124
  334. package/dist/chunk-3AMNUUZF.js.map +0 -1
  335. package/dist/chunk-3F52QCI4.js +0 -192
  336. package/dist/chunk-3F52QCI4.js.map +0 -1
  337. package/dist/chunk-4JF5WXPL.js +0 -502
  338. package/dist/chunk-4JF5WXPL.js.map +0 -1
  339. package/dist/chunk-73PAWDM5.js +0 -83
  340. package/dist/chunk-73PAWDM5.js.map +0 -1
  341. package/dist/chunk-A24TSVEZ.cjs +0 -130
  342. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  343. package/dist/chunk-A2NPD5N6.cjs +0 -517
  344. package/dist/chunk-A2NPD5N6.cjs.map +0 -1
  345. package/dist/chunk-B3Z6J745.js +0 -122
  346. package/dist/chunk-B3Z6J745.js.map +0 -1
  347. package/dist/chunk-BTWIR2B7.cjs +0 -28
  348. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  349. package/dist/chunk-D7T74TVR.js.map +0 -1
  350. package/dist/chunk-EHACNWDL.cjs +0 -681
  351. package/dist/chunk-EHACNWDL.cjs.map +0 -1
  352. package/dist/chunk-FPBYKMIS.js.map +0 -1
  353. package/dist/chunk-GLAZTMX3.cjs +0 -128
  354. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  355. package/dist/chunk-ID6JYDNL.cjs +0 -23075
  356. package/dist/chunk-ID6JYDNL.cjs.map +0 -1
  357. package/dist/chunk-KF3RI45U.cjs +0 -172
  358. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  359. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  360. package/dist/chunk-KWH5QBXP.js +0 -123
  361. package/dist/chunk-KWH5QBXP.js.map +0 -1
  362. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  363. package/dist/chunk-ND5OKOMT.js +0 -165
  364. package/dist/chunk-ND5OKOMT.js.map +0 -1
  365. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  366. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  367. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  368. package/dist/chunk-RQK4FQUD.js.map +0 -1
  369. package/dist/chunk-S54HNARD.cjs +0 -131
  370. package/dist/chunk-S54HNARD.cjs.map +0 -1
  371. package/dist/chunk-SHWNNZBL.js.map +0 -1
  372. package/dist/chunk-SZIFSF4T.js +0 -25
  373. package/dist/chunk-SZIFSF4T.js.map +0 -1
  374. package/dist/chunk-TOCYBDP2.js +0 -46
  375. package/dist/chunk-TOCYBDP2.js.map +0 -1
  376. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  377. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  378. package/dist/chunk-W2KMU354.cjs.map +0 -1
  379. package/dist/chunk-X3MICMI2.cjs +0 -620
  380. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  381. package/dist/chunk-X6C7BUWN.cjs +0 -48
  382. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  383. package/dist/chunk-Z2O5YVHY.js +0 -661
  384. package/dist/chunk-Z2O5YVHY.js.map +0 -1
  385. package/dist/chunk-ZJ6KEY6H.js +0 -600
  386. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  387. package/dist/dist-P4MXBQ3U.cjs +0 -16
  388. package/dist/dist-YREX2TJT.js +0 -3
  389. package/dist/token-375W3LEI.cjs.map +0 -1
  390. package/dist/token-C3IMNCC4.js.map +0 -1
  391. package/dist/token-util-CV3RRG6K.cjs +0 -9
  392. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  393. package/dist/token-util-E5QO2RCL.js +0 -7
  394. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -0,0 +1,314 @@
1
+ import { paginationInfoSchema, runIdSchema } from './chunk-HT4LP3BO.js';
2
+ import { createRoute } from './chunk-FEEM6QFN.js';
3
+ import { handleError } from './chunk-ONN5EA7E.js';
4
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
5
+ import { __export } from './chunk-PR4QN5HX.js';
6
+ import z from 'zod';
7
+
8
+ // src/server/handlers/scores.ts
9
+ var scores_exports = {};
10
+ __export(scores_exports, {
11
+ GET_SCORER_ROUTE: () => GET_SCORER_ROUTE,
12
+ LIST_SCORERS_ROUTE: () => LIST_SCORERS_ROUTE,
13
+ LIST_SCORES_BY_ENTITY_ID_ROUTE: () => LIST_SCORES_BY_ENTITY_ID_ROUTE,
14
+ LIST_SCORES_BY_RUN_ID_ROUTE: () => LIST_SCORES_BY_RUN_ID_ROUTE,
15
+ LIST_SCORES_BY_SCORER_ID_ROUTE: () => LIST_SCORES_BY_SCORER_ID_ROUTE,
16
+ SAVE_SCORE_ROUTE: () => SAVE_SCORE_ROUTE
17
+ });
18
+ var scoringSamplingConfigSchema = z.object({});
19
+ var mastraScorerConfigSchema = z.object({
20
+ id: z.string(),
21
+ name: z.string().optional(),
22
+ description: z.string(),
23
+ type: z.unknown().optional(),
24
+ judge: z.unknown().optional()
25
+ });
26
+ var mastraScorerSchema = z.object({
27
+ config: mastraScorerConfigSchema
28
+ });
29
+ var scorerEntrySchema = z.object({
30
+ scorer: mastraScorerSchema,
31
+ sampling: scoringSamplingConfigSchema.optional(),
32
+ agentIds: z.array(z.string()),
33
+ agentNames: z.array(z.string()),
34
+ workflowIds: z.array(z.string()),
35
+ isRegistered: z.boolean()
36
+ });
37
+ var listScorersResponseSchema = z.record(z.string(), scorerEntrySchema);
38
+ var scorerIdPathParams = z.object({
39
+ scorerId: z.string().describe("Unique identifier for the scorer")
40
+ });
41
+ var entityPathParams = z.object({
42
+ entityType: z.string().describe("Type of the entity (AGENT or WORKFLOW)"),
43
+ entityId: z.string().describe("Unique identifier for the entity")
44
+ });
45
+ var listScoresByRunIdQuerySchema = z.object({
46
+ page: z.coerce.number().optional().default(0),
47
+ perPage: z.coerce.number().optional().default(10)
48
+ });
49
+ var listScoresByScorerIdQuerySchema = z.object({
50
+ page: z.coerce.number().optional().default(0),
51
+ perPage: z.coerce.number().optional().default(10),
52
+ entityId: z.string().optional(),
53
+ entityType: z.string().optional()
54
+ });
55
+ var listScoresByEntityIdQuerySchema = z.object({
56
+ page: z.coerce.number().optional().default(0),
57
+ perPage: z.coerce.number().optional().default(10)
58
+ });
59
+ var saveScoreBodySchema = z.object({
60
+ score: z.unknown()
61
+ // ScoreRowData - complex type
62
+ });
63
+ var scoresWithPaginationResponseSchema = z.object({
64
+ pagination: paginationInfoSchema,
65
+ scores: z.array(z.unknown())
66
+ // Array of score records
67
+ });
68
+ var saveScoreResponseSchema = z.object({
69
+ score: z.unknown()
70
+ // ScoreRowData
71
+ });
72
+
73
+ // src/server/handlers/scores.ts
74
+ async function listScorersFromSystem({
75
+ mastra,
76
+ requestContext
77
+ }) {
78
+ const agents = mastra.listAgents();
79
+ const workflows = mastra.listWorkflows();
80
+ const scorersMap = /* @__PURE__ */ new Map();
81
+ for (const [_, agent] of Object.entries(agents)) {
82
+ const scorers = await agent.listScorers({
83
+ requestContext
84
+ }) || {};
85
+ if (Object.keys(scorers).length > 0) {
86
+ for (const [_scorerId, scorer] of Object.entries(scorers)) {
87
+ const scorerId = scorer.scorer.id;
88
+ if (scorersMap.has(scorerId)) {
89
+ scorersMap.get(scorerId)?.agentIds.push(agent.id);
90
+ scorersMap.get(scorerId)?.agentNames.push(agent.name);
91
+ } else {
92
+ scorersMap.set(scorerId, {
93
+ workflowIds: [],
94
+ ...scorer,
95
+ agentNames: [agent.name],
96
+ agentIds: [agent.id],
97
+ isRegistered: false
98
+ });
99
+ }
100
+ }
101
+ }
102
+ }
103
+ for (const [workflowId, workflow] of Object.entries(workflows)) {
104
+ const scorers = await workflow.listScorers({
105
+ requestContext
106
+ }) || {};
107
+ if (Object.keys(scorers).length > 0) {
108
+ for (const [_scorerId, scorer] of Object.entries(scorers)) {
109
+ const scorerName = scorer.scorer.name;
110
+ if (scorersMap.has(scorerName)) {
111
+ scorersMap.get(scorerName)?.workflowIds.push(workflowId);
112
+ } else {
113
+ scorersMap.set(scorerName, {
114
+ agentIds: [],
115
+ agentNames: [],
116
+ ...scorer,
117
+ workflowIds: [workflowId],
118
+ isRegistered: false
119
+ });
120
+ }
121
+ }
122
+ }
123
+ }
124
+ const registeredScorers = await mastra.listScorers();
125
+ for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
126
+ const scorerId = scorer.id;
127
+ if (scorersMap.has(scorerId)) {
128
+ scorersMap.get(scorerId).isRegistered = true;
129
+ } else {
130
+ scorersMap.set(scorerId, {
131
+ scorer,
132
+ agentIds: [],
133
+ agentNames: [],
134
+ workflowIds: [],
135
+ isRegistered: true
136
+ });
137
+ }
138
+ }
139
+ return Object.fromEntries(scorersMap.entries());
140
+ }
141
+ function getTraceDetails(traceIdWithSpanId) {
142
+ if (!traceIdWithSpanId) {
143
+ return {};
144
+ }
145
+ const [traceId, spanId] = traceIdWithSpanId.split("-");
146
+ return {
147
+ ...traceId ? { traceId } : {},
148
+ ...spanId ? { spanId } : {}
149
+ };
150
+ }
151
+ var LIST_SCORERS_ROUTE = createRoute({
152
+ method: "GET",
153
+ path: "/api/scores/scorers",
154
+ responseType: "json",
155
+ responseSchema: listScorersResponseSchema,
156
+ summary: "List all scorers",
157
+ description: "Returns a list of all registered scorers with their configuration and associated agents and workflows",
158
+ tags: ["Scoring"],
159
+ handler: async ({ mastra, requestContext }) => {
160
+ const scorers = await listScorersFromSystem({
161
+ mastra,
162
+ requestContext
163
+ });
164
+ return scorers;
165
+ }
166
+ });
167
+ var GET_SCORER_ROUTE = createRoute({
168
+ method: "GET",
169
+ path: "/api/scores/scorers/:scorerId",
170
+ responseType: "json",
171
+ pathParamSchema: scorerIdPathParams,
172
+ responseSchema: scorerEntrySchema.nullable(),
173
+ summary: "Get scorer by ID",
174
+ description: "Returns details for a specific scorer including its configuration and associations",
175
+ tags: ["Scoring"],
176
+ handler: async ({ mastra, scorerId, requestContext }) => {
177
+ const scorers = await listScorersFromSystem({
178
+ mastra,
179
+ requestContext
180
+ });
181
+ const scorer = scorers[scorerId];
182
+ if (!scorer) {
183
+ return null;
184
+ }
185
+ return scorer;
186
+ }
187
+ });
188
+ var LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({
189
+ method: "GET",
190
+ path: "/api/scores/run/:runId",
191
+ responseType: "json",
192
+ pathParamSchema: runIdSchema,
193
+ queryParamSchema: listScoresByRunIdQuerySchema,
194
+ responseSchema: scoresWithPaginationResponseSchema,
195
+ summary: "List scores by run ID",
196
+ description: "Returns all scores for a specific execution run",
197
+ tags: ["Scoring"],
198
+ handler: async ({ mastra, runId, ...params }) => {
199
+ try {
200
+ const { page, perPage } = params;
201
+ const pagination = {
202
+ page: page ?? 0,
203
+ perPage: perPage ?? 10
204
+ };
205
+ const scores = await mastra.getStorage()?.getStore("scores");
206
+ const scoreResults = await scores?.listScoresByRunId?.({
207
+ runId,
208
+ pagination
209
+ }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
210
+ return {
211
+ pagination: scoreResults.pagination,
212
+ scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
213
+ };
214
+ } catch (error) {
215
+ return handleError(error, "Error getting scores by run id");
216
+ }
217
+ }
218
+ });
219
+ var LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({
220
+ method: "GET",
221
+ path: "/api/scores/scorer/:scorerId",
222
+ responseType: "json",
223
+ pathParamSchema: scorerIdPathParams,
224
+ queryParamSchema: listScoresByScorerIdQuerySchema,
225
+ responseSchema: scoresWithPaginationResponseSchema,
226
+ summary: "List scores by scorer ID",
227
+ description: "Returns all scores generated by a specific scorer",
228
+ tags: ["Scoring"],
229
+ handler: async ({ mastra, scorerId, ...params }) => {
230
+ try {
231
+ const { page, perPage, entityId, entityType } = params;
232
+ const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== void 0));
233
+ const scores = await mastra.getStorage()?.getStore("scores");
234
+ const scoreResults = await scores?.listScoresByScorerId?.({
235
+ scorerId,
236
+ pagination: { page: page ?? 0, perPage: perPage ?? 10 },
237
+ ...filters
238
+ }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
239
+ return {
240
+ pagination: scoreResults.pagination,
241
+ scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
242
+ };
243
+ } catch (error) {
244
+ return handleError(error, "Error getting scores by scorer id");
245
+ }
246
+ }
247
+ });
248
+ var LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({
249
+ method: "GET",
250
+ path: "/api/scores/entity/:entityType/:entityId",
251
+ responseType: "json",
252
+ pathParamSchema: entityPathParams,
253
+ queryParamSchema: listScoresByEntityIdQuerySchema,
254
+ responseSchema: scoresWithPaginationResponseSchema,
255
+ summary: "List scores by entity ID",
256
+ description: "Returns all scores for a specific entity (agent or workflow)",
257
+ tags: ["Scoring"],
258
+ handler: async ({ mastra, entityId, entityType, ...params }) => {
259
+ try {
260
+ const { page, perPage } = params;
261
+ let entityIdToUse = entityId;
262
+ if (entityType === "AGENT") {
263
+ const agent = mastra.getAgentById(entityId);
264
+ entityIdToUse = agent.id;
265
+ } else if (entityType === "WORKFLOW") {
266
+ const workflow = mastra.getWorkflowById(entityId);
267
+ entityIdToUse = workflow.id;
268
+ }
269
+ const pagination = {
270
+ page: page ?? 0,
271
+ perPage: perPage ?? 10
272
+ };
273
+ const scoresStore = await mastra.getStorage()?.getStore("scores");
274
+ const scoreResults = await scoresStore?.listScoresByEntityId?.({
275
+ entityId: entityIdToUse,
276
+ entityType,
277
+ pagination
278
+ }) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
279
+ return {
280
+ pagination: scoreResults.pagination,
281
+ scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
282
+ };
283
+ } catch (error) {
284
+ return handleError(error, "Error getting scores by entity id");
285
+ }
286
+ }
287
+ });
288
+ var SAVE_SCORE_ROUTE = createRoute({
289
+ method: "POST",
290
+ path: "/api/scores",
291
+ responseType: "json",
292
+ bodySchema: saveScoreBodySchema,
293
+ responseSchema: saveScoreResponseSchema,
294
+ summary: "Save score",
295
+ description: "Saves a new score record to storage",
296
+ tags: ["Scoring"],
297
+ handler: async ({ mastra, ...params }) => {
298
+ try {
299
+ const { score } = params;
300
+ const scoresStore = await mastra.getStorage()?.getStore("scores");
301
+ const result = await scoresStore?.saveScore?.(score);
302
+ if (!result) {
303
+ throw new HTTPException(500, { message: "Storage not configured" });
304
+ }
305
+ return result;
306
+ } catch (error) {
307
+ return handleError(error, "Error saving score");
308
+ }
309
+ }
310
+ });
311
+
312
+ export { GET_SCORER_ROUTE, LIST_SCORERS_ROUTE, LIST_SCORES_BY_ENTITY_ID_ROUTE, LIST_SCORES_BY_RUN_ID_ROUTE, LIST_SCORES_BY_SCORER_ID_ROUTE, SAVE_SCORE_ROUTE, scores_exports };
313
+ //# sourceMappingURL=chunk-3OUPQHSX.js.map
314
+ //# sourceMappingURL=chunk-3OUPQHSX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/scores.ts","../src/server/schemas/scores.ts"],"names":[],"mappings":"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","file":"chunk-3OUPQHSX.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 scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.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: ScoreRowData) => ({ ...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 scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.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: ScoreRowData) => ({ ...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 scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.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: ScoreRowData) => ({ ...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 scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.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"]}