@mastra/server 1.36.0-alpha.0 → 1.36.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +506 -28
  3. package/dist/{api-schema-manifest-FWK7OIXL.cjs → api-schema-manifest-4VHMCJM3.cjs} +6 -6
  4. package/dist/{api-schema-manifest-FWK7OIXL.cjs.map → api-schema-manifest-4VHMCJM3.cjs.map} +1 -1
  5. package/dist/{api-schema-manifest-AUYKZJAA.js → api-schema-manifest-DZFKQXHM.js} +4 -4
  6. package/dist/{api-schema-manifest-AUYKZJAA.js.map → api-schema-manifest-DZFKQXHM.js.map} +1 -1
  7. package/dist/{chunk-YARY4I5U.js → chunk-23S37FLK.js} +9 -3
  8. package/dist/chunk-23S37FLK.js.map +1 -0
  9. package/dist/{chunk-NG62OLVA.js → chunk-2JXX4IPC.js} +3 -3
  10. package/dist/{chunk-NG62OLVA.js.map → chunk-2JXX4IPC.js.map} +1 -1
  11. package/dist/{chunk-BYX5LHPW.cjs → chunk-2R76OYDZ.cjs} +22 -5
  12. package/dist/chunk-2R76OYDZ.cjs.map +1 -0
  13. package/dist/{chunk-3Y7SOTAS.js → chunk-2SMGXJZJ.js} +42 -8
  14. package/dist/chunk-2SMGXJZJ.js.map +1 -0
  15. package/dist/chunk-2YUSBWAC.js +101 -0
  16. package/dist/chunk-2YUSBWAC.js.map +1 -0
  17. package/dist/{chunk-SBGAKEDX.js → chunk-32CLLOUG.js} +5 -5
  18. package/dist/{chunk-SBGAKEDX.js.map → chunk-32CLLOUG.js.map} +1 -1
  19. package/dist/{chunk-NIX5VQJ6.cjs → chunk-35SOHRUB.cjs} +251 -251
  20. package/dist/{chunk-NIX5VQJ6.cjs.map → chunk-35SOHRUB.cjs.map} +1 -1
  21. package/dist/{chunk-SUNXO2H2.cjs → chunk-3AKG5KEE.cjs} +44 -36
  22. package/dist/chunk-3AKG5KEE.cjs.map +1 -0
  23. package/dist/{chunk-NPMJ6FRL.cjs → chunk-3AWUH2DT.cjs} +113 -86
  24. package/dist/chunk-3AWUH2DT.cjs.map +1 -0
  25. package/dist/{chunk-NONHI6TJ.js → chunk-3HMSFYGA.js} +81 -41
  26. package/dist/chunk-3HMSFYGA.js.map +1 -0
  27. package/dist/{chunk-Y5LNMKEY.cjs → chunk-43KD3CRE.cjs} +21 -7
  28. package/dist/chunk-43KD3CRE.cjs.map +1 -0
  29. package/dist/{chunk-RUKCZLXN.cjs → chunk-4BLUIUHS.cjs} +5 -5
  30. package/dist/{chunk-RUKCZLXN.cjs.map → chunk-4BLUIUHS.cjs.map} +1 -1
  31. package/dist/{chunk-FRFWWBSS.js → chunk-4DUHTOLC.js} +4 -4
  32. package/dist/{chunk-FRFWWBSS.js.map → chunk-4DUHTOLC.js.map} +1 -1
  33. package/dist/chunk-4G7S52U3.cjs +356 -0
  34. package/dist/chunk-4G7S52U3.cjs.map +1 -0
  35. package/dist/{chunk-MJBD3YYS.js → chunk-4KSV4WWQ.js} +6 -6
  36. package/dist/{chunk-MJBD3YYS.js.map → chunk-4KSV4WWQ.js.map} +1 -1
  37. package/dist/{chunk-CJFSLVFA.js → chunk-4RLRTJ5M.js} +22 -5
  38. package/dist/chunk-4RLRTJ5M.js.map +1 -0
  39. package/dist/{chunk-XHA6OBT3.cjs → chunk-4UFLVROK.cjs} +13 -13
  40. package/dist/{chunk-XHA6OBT3.cjs.map → chunk-4UFLVROK.cjs.map} +1 -1
  41. package/dist/{chunk-YHRGDSTK.js → chunk-4XSWMZTL.js} +40 -3
  42. package/dist/chunk-4XSWMZTL.js.map +1 -0
  43. package/dist/{chunk-GPLCXP3B.cjs → chunk-5GI232FP.cjs} +8 -8
  44. package/dist/{chunk-GPLCXP3B.cjs.map → chunk-5GI232FP.cjs.map} +1 -1
  45. package/dist/{chunk-IIGNRK55.cjs → chunk-5OGVOPLG.cjs} +4 -4
  46. package/dist/{chunk-IIGNRK55.cjs.map → chunk-5OGVOPLG.cjs.map} +1 -1
  47. package/dist/{chunk-JMFAOQYF.cjs → chunk-5R2TJISH.cjs} +34 -34
  48. package/dist/{chunk-JMFAOQYF.cjs.map → chunk-5R2TJISH.cjs.map} +1 -1
  49. package/dist/{chunk-5XW4MKE6.cjs → chunk-65T6KVYX.cjs} +11 -2
  50. package/dist/chunk-65T6KVYX.cjs.map +1 -0
  51. package/dist/{chunk-OMODGV6O.js → chunk-6GMGCV74.js} +5 -5
  52. package/dist/{chunk-OMODGV6O.js.map → chunk-6GMGCV74.js.map} +1 -1
  53. package/dist/chunk-6HR2SJBP.js +101 -0
  54. package/dist/chunk-6HR2SJBP.js.map +1 -0
  55. package/dist/chunk-6JCLSYOU.js +351 -0
  56. package/dist/chunk-6JCLSYOU.js.map +1 -0
  57. package/dist/{chunk-WWXG4HNX.js → chunk-6NIQROP2.js} +22 -12
  58. package/dist/chunk-6NIQROP2.js.map +1 -0
  59. package/dist/chunk-753JFAF2.js +134 -0
  60. package/dist/chunk-753JFAF2.js.map +1 -0
  61. package/dist/{chunk-LQRPDQCE.js → chunk-7EDTSUCY.js} +4 -4
  62. package/dist/{chunk-LQRPDQCE.js.map → chunk-7EDTSUCY.js.map} +1 -1
  63. package/dist/chunk-7U7OWTR2.js +149 -0
  64. package/dist/chunk-7U7OWTR2.js.map +1 -0
  65. package/dist/{chunk-VTMAYC4R.js → chunk-AAZDGIDJ.js} +22 -12
  66. package/dist/chunk-AAZDGIDJ.js.map +1 -0
  67. package/dist/{chunk-I63ON7JW.js → chunk-ADCOCQN6.js} +5 -5
  68. package/dist/{chunk-I63ON7JW.js.map → chunk-ADCOCQN6.js.map} +1 -1
  69. package/dist/{chunk-KME4O3RJ.cjs → chunk-ADOALG4G.cjs} +3 -2
  70. package/dist/chunk-ADOALG4G.cjs.map +1 -0
  71. package/dist/chunk-APCBVLVG.js +497 -0
  72. package/dist/chunk-APCBVLVG.js.map +1 -0
  73. package/dist/chunk-AR7VSXHH.cjs +143 -0
  74. package/dist/chunk-AR7VSXHH.cjs.map +1 -0
  75. package/dist/{chunk-OG3CV6IN.cjs → chunk-AY3ZP465.cjs} +35 -25
  76. package/dist/chunk-AY3ZP465.cjs.map +1 -0
  77. package/dist/{chunk-T2YPTXXE.js → chunk-BWNJBSXL.js} +3 -3
  78. package/dist/{chunk-T2YPTXXE.js.map → chunk-BWNJBSXL.js.map} +1 -1
  79. package/dist/{chunk-AFVKVAJZ.cjs → chunk-BXXP2OVD.cjs} +8 -8
  80. package/dist/{chunk-AFVKVAJZ.cjs.map → chunk-BXXP2OVD.cjs.map} +1 -1
  81. package/dist/{chunk-JW4P6OFG.js → chunk-CCL4C2ZO.js} +4 -4
  82. package/dist/{chunk-JW4P6OFG.js.map → chunk-CCL4C2ZO.js.map} +1 -1
  83. package/dist/{chunk-7LBBDT4S.js → chunk-CGB327L6.js} +3 -3
  84. package/dist/{chunk-7LBBDT4S.js.map → chunk-CGB327L6.js.map} +1 -1
  85. package/dist/{chunk-2CT57Y5S.cjs → chunk-CUCQCEE7.cjs} +115 -115
  86. package/dist/{chunk-2CT57Y5S.cjs.map → chunk-CUCQCEE7.cjs.map} +1 -1
  87. package/dist/{chunk-73MISLDN.cjs → chunk-D774EZRN.cjs} +16 -16
  88. package/dist/{chunk-73MISLDN.cjs.map → chunk-D774EZRN.cjs.map} +1 -1
  89. package/dist/{chunk-MFBQYZP2.cjs → chunk-DYXX34YU.cjs} +56 -21
  90. package/dist/chunk-DYXX34YU.cjs.map +1 -0
  91. package/dist/{chunk-DZWFQD53.cjs → chunk-EAPGRYRG.cjs} +6 -6
  92. package/dist/{chunk-DZWFQD53.cjs.map → chunk-EAPGRYRG.cjs.map} +1 -1
  93. package/dist/{chunk-PCOJOGO5.cjs → chunk-EQICIFWJ.cjs} +40 -40
  94. package/dist/{chunk-PCOJOGO5.cjs.map → chunk-EQICIFWJ.cjs.map} +1 -1
  95. package/dist/{chunk-4WXROF2X.cjs → chunk-ESZN7NKS.cjs} +32 -24
  96. package/dist/chunk-ESZN7NKS.cjs.map +1 -0
  97. package/dist/{chunk-E53AJNZB.js → chunk-F2FAL5CZ.js} +2 -2
  98. package/dist/{chunk-E53AJNZB.js.map → chunk-F2FAL5CZ.js.map} +1 -1
  99. package/dist/{chunk-7BM2AIKU.js → chunk-FKQCQSXF.js} +44 -17
  100. package/dist/chunk-FKQCQSXF.js.map +1 -0
  101. package/dist/{chunk-Y65G4C35.cjs → chunk-FP3SA3LK.cjs} +177 -177
  102. package/dist/{chunk-Y65G4C35.cjs.map → chunk-FP3SA3LK.cjs.map} +1 -1
  103. package/dist/chunk-G5LQCOFZ.js +292 -0
  104. package/dist/chunk-G5LQCOFZ.js.map +1 -0
  105. package/dist/{chunk-53OYU4CP.js → chunk-G6W3FFTU.js} +226 -40
  106. package/dist/chunk-G6W3FFTU.js.map +1 -0
  107. package/dist/chunk-GA4BG5JK.js +46 -0
  108. package/dist/chunk-GA4BG5JK.js.map +1 -0
  109. package/dist/{chunk-YPXOTWND.js → chunk-GAGC4WDU.js} +3 -3
  110. package/dist/{chunk-YPXOTWND.js.map → chunk-GAGC4WDU.js.map} +1 -1
  111. package/dist/{chunk-KEAF4TVC.cjs → chunk-GAL7C4Y5.cjs} +35 -25
  112. package/dist/chunk-GAL7C4Y5.cjs.map +1 -0
  113. package/dist/{chunk-UT2JT5GC.js → chunk-GFZR6THV.js} +3 -3
  114. package/dist/{chunk-UT2JT5GC.js.map → chunk-GFZR6THV.js.map} +1 -1
  115. package/dist/{chunk-72Q6PR4Q.js → chunk-GYC5P37S.js} +8 -8
  116. package/dist/{chunk-72Q6PR4Q.js.map → chunk-GYC5P37S.js.map} +1 -1
  117. package/dist/{chunk-XL55VCXM.cjs → chunk-GZ4HIOSP.cjs} +98 -98
  118. package/dist/{chunk-XL55VCXM.cjs.map → chunk-GZ4HIOSP.cjs.map} +1 -1
  119. package/dist/{chunk-SWCWNQL5.js → chunk-HGRG2WVX.js} +35 -18
  120. package/dist/chunk-HGRG2WVX.js.map +1 -0
  121. package/dist/chunk-HMJL3C3H.js +36 -0
  122. package/dist/chunk-HMJL3C3H.js.map +1 -0
  123. package/dist/{chunk-JGTLNFH2.js → chunk-HNGYUI5N.js} +21 -13
  124. package/dist/chunk-HNGYUI5N.js.map +1 -0
  125. package/dist/{chunk-R3R6VJRM.cjs → chunk-HZNJ4B7D.cjs} +32 -32
  126. package/dist/{chunk-R3R6VJRM.cjs.map → chunk-HZNJ4B7D.cjs.map} +1 -1
  127. package/dist/{chunk-UQ2H32RT.cjs → chunk-I6WBJDRP.cjs} +10 -10
  128. package/dist/{chunk-UQ2H32RT.cjs.map → chunk-I6WBJDRP.cjs.map} +1 -1
  129. package/dist/{chunk-2OEEHCXR.js → chunk-JHFU2P6Z.js} +5 -5
  130. package/dist/{chunk-2OEEHCXR.js.map → chunk-JHFU2P6Z.js.map} +1 -1
  131. package/dist/{chunk-ZRU7KWNW.cjs → chunk-JIB75MHZ.cjs} +7 -3
  132. package/dist/chunk-JIB75MHZ.cjs.map +1 -0
  133. package/dist/chunk-JUYUBEMU.js +28 -0
  134. package/dist/chunk-JUYUBEMU.js.map +1 -0
  135. package/dist/{chunk-XAHATWVE.js → chunk-K2KT5JNX.js} +8 -8
  136. package/dist/{chunk-XAHATWVE.js.map → chunk-K2KT5JNX.js.map} +1 -1
  137. package/dist/{chunk-KWJC4MNT.js → chunk-K5ED24PC.js} +7 -7
  138. package/dist/{chunk-KWJC4MNT.js.map → chunk-K5ED24PC.js.map} +1 -1
  139. package/dist/{chunk-7ASFLZZ6.cjs → chunk-KE4V4LJE.cjs} +7 -7
  140. package/dist/{chunk-7ASFLZZ6.cjs.map → chunk-KE4V4LJE.cjs.map} +1 -1
  141. package/dist/chunk-KIR4MF3S.cjs +655 -0
  142. package/dist/chunk-KIR4MF3S.cjs.map +1 -0
  143. package/dist/{chunk-JTMIZMGO.cjs → chunk-LEIV627E.cjs} +15 -15
  144. package/dist/{chunk-JTMIZMGO.cjs.map → chunk-LEIV627E.cjs.map} +1 -1
  145. package/dist/{chunk-AIRSK4QU.js → chunk-LH5Y7AJF.js} +46 -7
  146. package/dist/chunk-LH5Y7AJF.js.map +1 -0
  147. package/dist/{chunk-KWREVMMS.js → chunk-LO3JBCO6.js} +7 -3
  148. package/dist/chunk-LO3JBCO6.js.map +1 -0
  149. package/dist/{chunk-5TTCUSSA.js → chunk-LPFE6YTG.js} +3 -3
  150. package/dist/{chunk-5TTCUSSA.js.map → chunk-LPFE6YTG.js.map} +1 -1
  151. package/dist/{chunk-7GX35QLL.cjs → chunk-LRIYO7KQ.cjs} +30 -30
  152. package/dist/{chunk-7GX35QLL.cjs.map → chunk-LRIYO7KQ.cjs.map} +1 -1
  153. package/dist/{chunk-WYLVJSGR.cjs → chunk-LTRLD33R.cjs} +47 -8
  154. package/dist/chunk-LTRLD33R.cjs.map +1 -0
  155. package/dist/{chunk-CXI6IIFZ.cjs → chunk-M2CPNUSL.cjs} +16 -16
  156. package/dist/{chunk-CXI6IIFZ.cjs.map → chunk-M2CPNUSL.cjs.map} +1 -1
  157. package/dist/{chunk-UH3MHVDF.cjs → chunk-M4B42JGO.cjs} +6 -3
  158. package/dist/chunk-M4B42JGO.cjs.map +1 -0
  159. package/dist/{chunk-2M7CLYTM.js → chunk-MRG75BLC.js} +9 -9
  160. package/dist/{chunk-2M7CLYTM.js.map → chunk-MRG75BLC.js.map} +1 -1
  161. package/dist/{chunk-CIPZ4VOZ.cjs → chunk-N6RQC4Z3.cjs} +4 -4
  162. package/dist/{chunk-CIPZ4VOZ.cjs.map → chunk-N6RQC4Z3.cjs.map} +1 -1
  163. package/dist/chunk-NHJWT4KF.cjs +104 -0
  164. package/dist/chunk-NHJWT4KF.cjs.map +1 -0
  165. package/dist/{chunk-FIWR56T7.cjs → chunk-NVWA33MV.cjs} +88 -88
  166. package/dist/{chunk-FIWR56T7.cjs.map → chunk-NVWA33MV.cjs.map} +1 -1
  167. package/dist/chunk-O4O2EJF7.cjs +13 -0
  168. package/dist/chunk-O4O2EJF7.cjs.map +1 -0
  169. package/dist/{chunk-PG4IJL7T.cjs → chunk-O7B3P2AT.cjs} +57 -40
  170. package/dist/chunk-O7B3P2AT.cjs.map +1 -0
  171. package/dist/{chunk-L2RZNUOW.js → chunk-OGYYXNGI.js} +4 -4
  172. package/dist/{chunk-L2RZNUOW.js.map → chunk-OGYYXNGI.js.map} +1 -1
  173. package/dist/{chunk-M7DF3D2M.js → chunk-OJNVSXOF.js} +19 -5
  174. package/dist/chunk-OJNVSXOF.js.map +1 -0
  175. package/dist/{chunk-5PPFITJ3.js → chunk-OKKJPM5N.js} +19 -12
  176. package/dist/chunk-OKKJPM5N.js.map +1 -0
  177. package/dist/{chunk-Z6C7SDXA.js → chunk-ONCDLJUQ.js} +6 -3
  178. package/dist/chunk-ONCDLJUQ.js.map +1 -0
  179. package/dist/{chunk-HX5WL5ZF.js → chunk-OORAVFI4.js} +3 -3
  180. package/dist/{chunk-HX5WL5ZF.js.map → chunk-OORAVFI4.js.map} +1 -1
  181. package/dist/{chunk-M7CTMLXS.js → chunk-OSN3DL34.js} +4 -4
  182. package/dist/{chunk-M7CTMLXS.js.map → chunk-OSN3DL34.js.map} +1 -1
  183. package/dist/{chunk-ZIR2AE52.js → chunk-P5ZWPVC2.js} +4 -4
  184. package/dist/{chunk-ZIR2AE52.js.map → chunk-P5ZWPVC2.js.map} +1 -1
  185. package/dist/{chunk-HDBLTBJ4.js → chunk-P673H7LK.js} +6 -6
  186. package/dist/{chunk-HDBLTBJ4.js.map → chunk-P673H7LK.js.map} +1 -1
  187. package/dist/{chunk-LXXKGWXS.js → chunk-PQ37PNAE.js} +21 -11
  188. package/dist/chunk-PQ37PNAE.js.map +1 -0
  189. package/dist/{chunk-5JX72ECO.cjs → chunk-PQKBBJOP.cjs} +12 -12
  190. package/dist/{chunk-5JX72ECO.cjs.map → chunk-PQKBBJOP.cjs.map} +1 -1
  191. package/dist/{chunk-DRNCUSSM.cjs → chunk-PWGPLCL4.cjs} +5 -5
  192. package/dist/{chunk-DRNCUSSM.cjs.map → chunk-PWGPLCL4.cjs.map} +1 -1
  193. package/dist/chunk-QJU62KP2.cjs +298 -0
  194. package/dist/chunk-QJU62KP2.cjs.map +1 -0
  195. package/dist/{chunk-AY5TY4EN.js → chunk-QUVYOHFH.js} +178 -52
  196. package/dist/chunk-QUVYOHFH.js.map +1 -0
  197. package/dist/{chunk-LTYRUL3Q.cjs → chunk-QZ6UFQ7V.cjs} +42 -2
  198. package/dist/chunk-QZ6UFQ7V.cjs.map +1 -0
  199. package/dist/{chunk-ULDCHPOZ.cjs → chunk-RDR3XN2X.cjs} +36 -36
  200. package/dist/{chunk-ULDCHPOZ.cjs.map → chunk-RDR3XN2X.cjs.map} +1 -1
  201. package/dist/chunk-REJUB2HI.cjs +104 -0
  202. package/dist/chunk-REJUB2HI.cjs.map +1 -0
  203. package/dist/chunk-RJUQQE46.cjs +551 -0
  204. package/dist/chunk-RJUQQE46.cjs.map +1 -0
  205. package/dist/{chunk-EG3QNCBQ.cjs → chunk-RYPLQO4Z.cjs} +30 -23
  206. package/dist/chunk-RYPLQO4Z.cjs.map +1 -0
  207. package/dist/chunk-S77FIEDZ.cjs +504 -0
  208. package/dist/chunk-S77FIEDZ.cjs.map +1 -0
  209. package/dist/{chunk-KD46CAJV.js → chunk-SAPM56NU.js} +7 -7
  210. package/dist/{chunk-KD46CAJV.js.map → chunk-SAPM56NU.js.map} +1 -1
  211. package/dist/chunk-SFPN7SHZ.js +11 -0
  212. package/dist/chunk-SFPN7SHZ.js.map +1 -0
  213. package/dist/{chunk-LBEQ4EE4.js → chunk-SPGVPADY.js} +3 -3
  214. package/dist/{chunk-LBEQ4EE4.js.map → chunk-SPGVPADY.js.map} +1 -1
  215. package/dist/{chunk-Q2B7W7GA.cjs → chunk-T3C54LPX.cjs} +57 -5
  216. package/dist/chunk-T3C54LPX.cjs.map +1 -0
  217. package/dist/{chunk-3BL73LS3.cjs → chunk-U72BY62E.cjs} +260 -133
  218. package/dist/chunk-U72BY62E.cjs.map +1 -0
  219. package/dist/{chunk-DZXHO72E.cjs → chunk-UBYGPC2S.cjs} +12 -12
  220. package/dist/{chunk-DZXHO72E.cjs.map → chunk-UBYGPC2S.cjs.map} +1 -1
  221. package/dist/{chunk-IDUFQ5HG.js → chunk-UCKK7LPQ.js} +3 -3
  222. package/dist/{chunk-IDUFQ5HG.js.map → chunk-UCKK7LPQ.js.map} +1 -1
  223. package/dist/{chunk-JX4UGU4A.cjs → chunk-UGJBURIS.cjs} +12 -12
  224. package/dist/{chunk-JX4UGU4A.cjs.map → chunk-UGJBURIS.cjs.map} +1 -1
  225. package/dist/{chunk-PDHGJ7GP.js → chunk-UIRQU4GW.js} +54 -6
  226. package/dist/chunk-UIRQU4GW.js.map +1 -0
  227. package/dist/chunk-V4ATNZXG.cjs +31 -0
  228. package/dist/chunk-V4ATNZXG.cjs.map +1 -0
  229. package/dist/{chunk-IFYVRBFS.js → chunk-VVLD43MX.js} +3 -2
  230. package/dist/chunk-VVLD43MX.js.map +1 -0
  231. package/dist/chunk-VX3MJR4P.cjs +161 -0
  232. package/dist/chunk-VX3MJR4P.cjs.map +1 -0
  233. package/dist/{chunk-M7VWAJP3.cjs → chunk-WLGC3IWY.cjs} +48 -38
  234. package/dist/chunk-WLGC3IWY.cjs.map +1 -0
  235. package/dist/{chunk-Z35VW4BM.cjs → chunk-WNPUO7IZ.cjs} +141 -26
  236. package/dist/chunk-WNPUO7IZ.cjs.map +1 -0
  237. package/dist/{chunk-4L2UVFJO.js → chunk-WYP25ZMM.js} +120 -5
  238. package/dist/chunk-WYP25ZMM.js.map +1 -0
  239. package/dist/{chunk-LL2CVXJG.js → chunk-XI3XH4G7.js} +21 -11
  240. package/dist/chunk-XI3XH4G7.js.map +1 -0
  241. package/dist/{chunk-PYZAUXQX.cjs → chunk-XNR667MS.cjs} +27 -27
  242. package/dist/{chunk-PYZAUXQX.cjs.map → chunk-XNR667MS.cjs.map} +1 -1
  243. package/dist/{chunk-Y6MWNLAA.cjs → chunk-XR3CGVKU.cjs} +8 -8
  244. package/dist/{chunk-Y6MWNLAA.cjs.map → chunk-XR3CGVKU.cjs.map} +1 -1
  245. package/dist/{chunk-AZORAK4H.cjs → chunk-XTFWFQZ7.cjs} +2 -2
  246. package/dist/{chunk-AZORAK4H.cjs.map → chunk-XTFWFQZ7.cjs.map} +1 -1
  247. package/dist/{chunk-B34S64RC.cjs → chunk-YNSUYESL.cjs} +23 -3
  248. package/dist/chunk-YNSUYESL.cjs.map +1 -0
  249. package/dist/chunk-YRLCLLKR.js +14 -0
  250. package/dist/chunk-YRLCLLKR.js.map +1 -0
  251. package/dist/{chunk-M5H6F2QB.js → chunk-YZPXWF6M.js} +7 -7
  252. package/dist/{chunk-M5H6F2QB.js.map → chunk-YZPXWF6M.js.map} +1 -1
  253. package/dist/{chunk-SUT6SU4I.cjs → chunk-Z4PDJRZT.cjs} +124 -5
  254. package/dist/chunk-Z4PDJRZT.cjs.map +1 -0
  255. package/dist/{chunk-BVZLX6R4.cjs → chunk-Z772ZUYH.cjs} +53 -43
  256. package/dist/chunk-Z772ZUYH.cjs.map +1 -0
  257. package/dist/chunk-ZCX2J552.cjs +38 -0
  258. package/dist/chunk-ZCX2J552.cjs.map +1 -0
  259. package/dist/{chunk-M4IITA2G.js → chunk-ZHS2QDGO.js} +22 -14
  260. package/dist/chunk-ZHS2QDGO.js.map +1 -0
  261. package/dist/{chunk-U2HTITB4.js → chunk-ZJVB5TZ4.js} +141 -26
  262. package/dist/chunk-ZJVB5TZ4.js.map +1 -0
  263. package/dist/chunk-ZNP74O27.cjs +19 -0
  264. package/dist/chunk-ZNP74O27.cjs.map +1 -0
  265. package/dist/{chunk-TINX42C4.js → chunk-ZUWPQVWA.js} +8 -8
  266. package/dist/{chunk-TINX42C4.js.map → chunk-ZUWPQVWA.js.map} +1 -1
  267. package/dist/{dist-PWSP7TGP.js → dist-7I6EPNH3.js} +5 -5
  268. package/dist/{dist-PWSP7TGP.js.map → dist-7I6EPNH3.js.map} +1 -1
  269. package/dist/{dist-5GW5WUSJ.cjs → dist-HR6TOFJM.cjs} +20 -20
  270. package/dist/{dist-5GW5WUSJ.cjs.map → dist-HR6TOFJM.cjs.map} +1 -1
  271. package/dist/docs/SKILL.md +1 -1
  272. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  273. package/dist/docs/references/docs-agents-a2a.md +115 -88
  274. package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs → observational-memory-KFKHBTCB-RMGPISAP.cjs} +26 -26
  275. package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs.map → observational-memory-KFKHBTCB-RMGPISAP.cjs.map} +1 -1
  276. package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js → observational-memory-KFKHBTCB-RX2CEPSU.js} +3 -3
  277. package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js.map → observational-memory-KFKHBTCB-RX2CEPSU.js.map} +1 -1
  278. package/dist/server/auth/helpers.d.ts +3 -0
  279. package/dist/server/auth/helpers.d.ts.map +1 -1
  280. package/dist/server/auth/index.cjs +28 -15
  281. package/dist/server/auth/index.js +2 -1
  282. package/dist/server/browser-stream/index.cjs +6 -3
  283. package/dist/server/browser-stream/index.cjs.map +1 -1
  284. package/dist/server/browser-stream/index.js +6 -3
  285. package/dist/server/browser-stream/index.js.map +1 -1
  286. package/dist/server/browser-stream/input-handler.d.ts +2 -2
  287. package/dist/server/browser-stream/input-handler.d.ts.map +1 -1
  288. package/dist/server/browser-stream/types.d.ts +10 -1
  289. package/dist/server/browser-stream/types.d.ts.map +1 -1
  290. package/dist/server/browser-stream/viewer-registry.d.ts.map +1 -1
  291. package/dist/server/constants.d.ts +3 -0
  292. package/dist/server/constants.d.ts.map +1 -1
  293. package/dist/server/handlers/a2a.cjs +14 -14
  294. package/dist/server/handlers/a2a.js +1 -1
  295. package/dist/server/handlers/agent-builder.cjs +16 -16
  296. package/dist/server/handlers/agent-builder.js +1 -1
  297. package/dist/server/handlers/agent-versions.cjs +8 -8
  298. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  299. package/dist/server/handlers/agent-versions.js +1 -1
  300. package/dist/server/handlers/agents.cjs +41 -41
  301. package/dist/server/handlers/agents.d.ts +193 -0
  302. package/dist/server/handlers/agents.d.ts.map +1 -1
  303. package/dist/server/handlers/agents.js +1 -1
  304. package/dist/server/handlers/auth.cjs +15 -11
  305. package/dist/server/handlers/auth.d.ts +168 -146
  306. package/dist/server/handlers/auth.d.ts.map +1 -1
  307. package/dist/server/handlers/auth.js +1 -1
  308. package/dist/server/handlers/authorship.cjs +52 -0
  309. package/dist/server/handlers/authorship.cjs.map +1 -0
  310. package/dist/server/handlers/authorship.d.ts +176 -0
  311. package/dist/server/handlers/authorship.d.ts.map +1 -0
  312. package/dist/server/handlers/authorship.js +3 -0
  313. package/dist/server/handlers/authorship.js.map +1 -0
  314. package/dist/server/handlers/background-tasks.cjs +4 -4
  315. package/dist/server/handlers/background-tasks.js +1 -1
  316. package/dist/server/handlers/builder-registry.cjs +28 -0
  317. package/dist/server/handlers/builder-registry.cjs.map +1 -0
  318. package/dist/server/handlers/builder-registry.d.ts +170 -0
  319. package/dist/server/handlers/builder-registry.d.ts.map +1 -0
  320. package/dist/server/handlers/builder-registry.js +3 -0
  321. package/dist/server/handlers/builder-registry.js.map +1 -0
  322. package/dist/server/handlers/channels.cjs +5 -5
  323. package/dist/server/handlers/channels.js +1 -1
  324. package/dist/server/handlers/conversations.cjs +5 -5
  325. package/dist/server/handlers/conversations.js +1 -1
  326. package/dist/server/handlers/datasets.cjs +26 -26
  327. package/dist/server/handlers/datasets.d.ts +2 -0
  328. package/dist/server/handlers/datasets.d.ts.map +1 -1
  329. package/dist/server/handlers/datasets.js +1 -1
  330. package/dist/server/handlers/editor-builder.cjs +24 -0
  331. package/dist/server/handlers/editor-builder.cjs.map +1 -0
  332. package/dist/server/handlers/editor-builder.d.ts +259 -0
  333. package/dist/server/handlers/editor-builder.d.ts.map +1 -0
  334. package/dist/server/handlers/editor-builder.js +3 -0
  335. package/dist/server/handlers/editor-builder.js.map +1 -0
  336. package/dist/server/handlers/error.cjs +3 -3
  337. package/dist/server/handlers/error.d.ts.map +1 -1
  338. package/dist/server/handlers/error.js +1 -1
  339. package/dist/server/handlers/favorites-enrichment.cjs +16 -0
  340. package/dist/server/handlers/favorites-enrichment.cjs.map +1 -0
  341. package/dist/server/handlers/favorites-enrichment.d.ts +27 -0
  342. package/dist/server/handlers/favorites-enrichment.d.ts.map +1 -0
  343. package/dist/server/handlers/favorites-enrichment.js +3 -0
  344. package/dist/server/handlers/favorites-enrichment.js.map +1 -0
  345. package/dist/server/handlers/logs.cjs +4 -4
  346. package/dist/server/handlers/logs.js +1 -1
  347. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  348. package/dist/server/handlers/mcp-client-versions.d.ts.map +1 -1
  349. package/dist/server/handlers/mcp-client-versions.js +1 -1
  350. package/dist/server/handlers/mcp.cjs +11 -11
  351. package/dist/server/handlers/mcp.js +1 -1
  352. package/dist/server/handlers/memory.cjs +27 -27
  353. package/dist/server/handlers/memory.d.ts +36 -36
  354. package/dist/server/handlers/memory.js +1 -1
  355. package/dist/server/handlers/observability-list-query-schemas.cjs +24 -0
  356. package/dist/server/handlers/observability-list-query-schemas.cjs.map +1 -0
  357. package/dist/server/handlers/observability-list-query-schemas.d.ts +29 -0
  358. package/dist/server/handlers/observability-list-query-schemas.d.ts.map +1 -0
  359. package/dist/server/handlers/observability-list-query-schemas.js +3 -0
  360. package/dist/server/handlers/observability-list-query-schemas.js.map +1 -0
  361. package/dist/server/handlers/observability-new-endpoints.cjs +32 -28
  362. package/dist/server/handlers/observability-new-endpoints.d.ts +326 -48
  363. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  364. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  365. package/dist/server/handlers/observability-shared.cjs +23 -7
  366. package/dist/server/handlers/observability-shared.d.ts +22 -1
  367. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  368. package/dist/server/handlers/observability-shared.js +1 -1
  369. package/dist/server/handlers/observability.cjs +43 -39
  370. package/dist/server/handlers/observability.d.ts +18 -8
  371. package/dist/server/handlers/observability.d.ts.map +1 -1
  372. package/dist/server/handlers/observability.js +2 -2
  373. package/dist/server/handlers/processor-providers.cjs +3 -3
  374. package/dist/server/handlers/processor-providers.js +1 -1
  375. package/dist/server/handlers/processors.cjs +4 -4
  376. package/dist/server/handlers/processors.js +1 -1
  377. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  378. package/dist/server/handlers/prompt-block-versions.d.ts.map +1 -1
  379. package/dist/server/handlers/prompt-block-versions.js +1 -1
  380. package/dist/server/handlers/responses.cjs +4 -4
  381. package/dist/server/handlers/responses.js +1 -1
  382. package/dist/server/handlers/responses.storage.cjs +8 -8
  383. package/dist/server/handlers/responses.storage.js +1 -1
  384. package/dist/server/handlers/schedules.cjs +6 -6
  385. package/dist/server/handlers/schedules.js +1 -1
  386. package/dist/server/handlers/scorer-versions.cjs +8 -8
  387. package/dist/server/handlers/scorer-versions.d.ts.map +1 -1
  388. package/dist/server/handlers/scorer-versions.js +1 -1
  389. package/dist/server/handlers/scores.cjs +7 -7
  390. package/dist/server/handlers/scores.js +1 -1
  391. package/dist/server/handlers/skills-sh-shared.cjs +40 -0
  392. package/dist/server/handlers/skills-sh-shared.cjs.map +1 -0
  393. package/dist/server/handlers/skills-sh-shared.d.ts +89 -0
  394. package/dist/server/handlers/skills-sh-shared.d.ts.map +1 -0
  395. package/dist/server/handlers/skills-sh-shared.js +3 -0
  396. package/dist/server/handlers/skills-sh-shared.js.map +1 -0
  397. package/dist/server/handlers/stored-agent-favorites.cjs +16 -0
  398. package/dist/server/handlers/stored-agent-favorites.cjs.map +1 -0
  399. package/dist/server/handlers/stored-agent-favorites.d.ts +29 -0
  400. package/dist/server/handlers/stored-agent-favorites.d.ts.map +1 -0
  401. package/dist/server/handlers/stored-agent-favorites.js +3 -0
  402. package/dist/server/handlers/stored-agent-favorites.js.map +1 -0
  403. package/dist/server/handlers/stored-agents.cjs +7 -7
  404. package/dist/server/handlers/stored-agents.d.ts +390 -0
  405. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  406. package/dist/server/handlers/stored-agents.js +1 -1
  407. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  408. package/dist/server/handlers/stored-mcp-clients.d.ts.map +1 -1
  409. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  410. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  411. package/dist/server/handlers/stored-prompt-blocks.d.ts.map +1 -1
  412. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  413. package/dist/server/handlers/stored-scorers.cjs +6 -6
  414. package/dist/server/handlers/stored-scorers.d.ts.map +1 -1
  415. package/dist/server/handlers/stored-scorers.js +1 -1
  416. package/dist/server/handlers/stored-skill-favorites.cjs +16 -0
  417. package/dist/server/handlers/stored-skill-favorites.cjs.map +1 -0
  418. package/dist/server/handlers/stored-skill-favorites.d.ts +29 -0
  419. package/dist/server/handlers/stored-skill-favorites.d.ts.map +1 -0
  420. package/dist/server/handlers/stored-skill-favorites.js +3 -0
  421. package/dist/server/handlers/stored-skill-favorites.js.map +1 -0
  422. package/dist/server/handlers/stored-skills.cjs +7 -7
  423. package/dist/server/handlers/stored-skills.d.ts +117 -0
  424. package/dist/server/handlers/stored-skills.d.ts.map +1 -1
  425. package/dist/server/handlers/stored-skills.js +1 -1
  426. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  427. package/dist/server/handlers/stored-workspaces.d.ts +2 -0
  428. package/dist/server/handlers/stored-workspaces.d.ts.map +1 -1
  429. package/dist/server/handlers/stored-workspaces.js +1 -1
  430. package/dist/server/handlers/system.cjs +3 -3
  431. package/dist/server/handlers/system.js +1 -1
  432. package/dist/server/handlers/tool-providers.cjs +5 -5
  433. package/dist/server/handlers/tool-providers.js +1 -1
  434. package/dist/server/handlers/tools.cjs +6 -6
  435. package/dist/server/handlers/tools.js +1 -1
  436. package/dist/server/handlers/utils.cjs +10 -10
  437. package/dist/server/handlers/utils.d.ts +1 -1
  438. package/dist/server/handlers/utils.js +1 -1
  439. package/dist/server/handlers/validate-avatar.cjs +12 -0
  440. package/dist/server/handlers/validate-avatar.cjs.map +1 -0
  441. package/dist/server/handlers/validate-avatar.d.ts +7 -0
  442. package/dist/server/handlers/validate-avatar.d.ts.map +1 -0
  443. package/dist/server/handlers/validate-avatar.js +3 -0
  444. package/dist/server/handlers/validate-avatar.js.map +1 -0
  445. package/dist/server/handlers/vector.cjs +16 -16
  446. package/dist/server/handlers/vector.js +1 -1
  447. package/dist/server/handlers/voice.cjs +8 -8
  448. package/dist/server/handlers/voice.js +1 -1
  449. package/dist/server/handlers/workflows.cjs +26 -26
  450. package/dist/server/handlers/workflows.js +1 -1
  451. package/dist/server/handlers/workspace.cjs +26 -26
  452. package/dist/server/handlers/workspace.js +1 -1
  453. package/dist/server/handlers.cjs +37 -37
  454. package/dist/server/handlers.js +16 -16
  455. package/dist/server/schemas/agents.d.ts +8 -0
  456. package/dist/server/schemas/agents.d.ts.map +1 -1
  457. package/dist/server/schemas/builder-registry.d.ts +73 -0
  458. package/dist/server/schemas/builder-registry.d.ts.map +1 -0
  459. package/dist/server/schemas/datasets.d.ts +2 -0
  460. package/dist/server/schemas/datasets.d.ts.map +1 -1
  461. package/dist/server/schemas/editor-builder.d.ts +288 -0
  462. package/dist/server/schemas/editor-builder.d.ts.map +1 -0
  463. package/dist/server/schemas/favorites.d.ts +9 -0
  464. package/dist/server/schemas/favorites.d.ts.map +1 -0
  465. package/dist/server/schemas/index.cjs +285 -269
  466. package/dist/server/schemas/index.js +10 -10
  467. package/dist/server/schemas/memory.d.ts +25 -19
  468. package/dist/server/schemas/memory.d.ts.map +1 -1
  469. package/dist/server/schemas/stored-agents.d.ts +1066 -94
  470. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  471. package/dist/server/schemas/stored-skills.d.ts +111 -0
  472. package/dist/server/schemas/stored-skills.d.ts.map +1 -1
  473. package/dist/server/schemas/stored-workspaces.d.ts +1 -0
  474. package/dist/server/schemas/stored-workspaces.d.ts.map +1 -1
  475. package/dist/server/server-adapter/index.cjs +212 -136
  476. package/dist/server/server-adapter/index.cjs.map +1 -1
  477. package/dist/server/server-adapter/index.d.ts +9 -1
  478. package/dist/server/server-adapter/index.d.ts.map +1 -1
  479. package/dist/server/server-adapter/index.js +175 -99
  480. package/dist/server/server-adapter/index.js.map +1 -1
  481. package/dist/server/server-adapter/routes/datasets.d.ts +2 -0
  482. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  483. package/dist/server/server-adapter/routes/editor-builder.d.ts +353 -0
  484. package/dist/server/server-adapter/routes/editor-builder.d.ts.map +1 -0
  485. package/dist/server/server-adapter/routes/fga-manifest.d.ts +4 -0
  486. package/dist/server/server-adapter/routes/fga-manifest.d.ts.map +1 -0
  487. package/dist/server/server-adapter/routes/index.d.ts +7 -1
  488. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  489. package/dist/server/server-adapter/routes/memory.d.ts +36 -36
  490. package/dist/server/server-adapter/routes/observability.d.ts +176 -28
  491. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  492. package/dist/server/server-adapter/routes/permissions.d.ts +8 -3
  493. package/dist/server/server-adapter/routes/permissions.d.ts.map +1 -1
  494. package/dist/server/server-adapter/routes/route-builder.d.ts +3 -1
  495. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  496. package/dist/server/server-adapter/routes/stored-agents.d.ts +4 -1
  497. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  498. package/dist/server/server-adapter/routes/stored-skills.d.ts +138 -1
  499. package/dist/server/server-adapter/routes/stored-skills.d.ts.map +1 -1
  500. package/dist/server/server-adapter/routes/stored-workspaces.d.ts +2 -0
  501. package/dist/server/server-adapter/routes/stored-workspaces.d.ts.map +1 -1
  502. package/dist/server/utils/resolve-builder-model-policy.d.ts +17 -0
  503. package/dist/server/utils/resolve-builder-model-policy.d.ts.map +1 -0
  504. package/dist/server/utils.d.ts +11 -0
  505. package/dist/server/utils.d.ts.map +1 -1
  506. package/package.json +8 -8
  507. package/dist/chunk-3BL73LS3.cjs.map +0 -1
  508. package/dist/chunk-3Y7SOTAS.js.map +0 -1
  509. package/dist/chunk-4L2UVFJO.js.map +0 -1
  510. package/dist/chunk-4WXROF2X.cjs.map +0 -1
  511. package/dist/chunk-53OYU4CP.js.map +0 -1
  512. package/dist/chunk-5PPFITJ3.js.map +0 -1
  513. package/dist/chunk-5XW4MKE6.cjs.map +0 -1
  514. package/dist/chunk-7BM2AIKU.js.map +0 -1
  515. package/dist/chunk-AIRSK4QU.js.map +0 -1
  516. package/dist/chunk-AY5TY4EN.js.map +0 -1
  517. package/dist/chunk-B34S64RC.cjs.map +0 -1
  518. package/dist/chunk-BVZLX6R4.cjs.map +0 -1
  519. package/dist/chunk-BYX5LHPW.cjs.map +0 -1
  520. package/dist/chunk-CJFSLVFA.js.map +0 -1
  521. package/dist/chunk-EG3QNCBQ.cjs.map +0 -1
  522. package/dist/chunk-IFYVRBFS.js.map +0 -1
  523. package/dist/chunk-JGTLNFH2.js.map +0 -1
  524. package/dist/chunk-KEAF4TVC.cjs.map +0 -1
  525. package/dist/chunk-KME4O3RJ.cjs.map +0 -1
  526. package/dist/chunk-KWREVMMS.js.map +0 -1
  527. package/dist/chunk-LL2CVXJG.js.map +0 -1
  528. package/dist/chunk-LTYRUL3Q.cjs.map +0 -1
  529. package/dist/chunk-LXXKGWXS.js.map +0 -1
  530. package/dist/chunk-M4IITA2G.js.map +0 -1
  531. package/dist/chunk-M7DF3D2M.js.map +0 -1
  532. package/dist/chunk-M7VWAJP3.cjs.map +0 -1
  533. package/dist/chunk-MFBQYZP2.cjs.map +0 -1
  534. package/dist/chunk-NONHI6TJ.js.map +0 -1
  535. package/dist/chunk-NPMJ6FRL.cjs.map +0 -1
  536. package/dist/chunk-OG3CV6IN.cjs.map +0 -1
  537. package/dist/chunk-OMLB6EMJ.cjs +0 -313
  538. package/dist/chunk-OMLB6EMJ.cjs.map +0 -1
  539. package/dist/chunk-P23KBWKB.js +0 -26
  540. package/dist/chunk-P23KBWKB.js.map +0 -1
  541. package/dist/chunk-PDHGJ7GP.js.map +0 -1
  542. package/dist/chunk-PG4IJL7T.cjs.map +0 -1
  543. package/dist/chunk-Q2B7W7GA.cjs.map +0 -1
  544. package/dist/chunk-SUNXO2H2.cjs.map +0 -1
  545. package/dist/chunk-SUT6SU4I.cjs.map +0 -1
  546. package/dist/chunk-SWCWNQL5.js.map +0 -1
  547. package/dist/chunk-U2HTITB4.js.map +0 -1
  548. package/dist/chunk-UH3MHVDF.cjs.map +0 -1
  549. package/dist/chunk-URAYY3ZG.cjs +0 -365
  550. package/dist/chunk-URAYY3ZG.cjs.map +0 -1
  551. package/dist/chunk-VTMAYC4R.js.map +0 -1
  552. package/dist/chunk-WWXG4HNX.js.map +0 -1
  553. package/dist/chunk-WYLVJSGR.cjs.map +0 -1
  554. package/dist/chunk-XT5ZVU5J.js +0 -306
  555. package/dist/chunk-XT5ZVU5J.js.map +0 -1
  556. package/dist/chunk-Y344MAUV.cjs +0 -615
  557. package/dist/chunk-Y344MAUV.cjs.map +0 -1
  558. package/dist/chunk-Y5LNMKEY.cjs.map +0 -1
  559. package/dist/chunk-YARY4I5U.js.map +0 -1
  560. package/dist/chunk-YHRGDSTK.js.map +0 -1
  561. package/dist/chunk-Z35VW4BM.cjs.map +0 -1
  562. package/dist/chunk-Z6C7SDXA.js.map +0 -1
  563. package/dist/chunk-ZRU7KWNW.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/stored-mcp-clients.ts"],"names":[],"mappings":"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","file":"chunk-5PPFITJ3.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedMCPClientIdPathParams,\n statusQuerySchema,\n listStoredMCPClientsQuerySchema,\n createStoredMCPClientBodySchema,\n updateStoredMCPClientBodySchema,\n listStoredMCPClientsResponseSchema,\n getStoredMCPClientResponseSchema,\n createStoredMCPClientResponseSchema,\n updateStoredMCPClientResponseSchema,\n deleteStoredMCPClientResponseSchema,\n} from '../schemas/stored-mcp-clients';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning, MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/mcp-clients - List all stored MCP clients\n */\nexport const LIST_STORED_MCP_CLIENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients',\n responseType: 'json',\n queryParamSchema: listStoredMCPClientsQuerySchema,\n responseSchema: listStoredMCPClientsResponseSchema,\n summary: 'List stored MCP clients',\n description: 'Returns a paginated list of all MCP client configurations stored in the database',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const result = await mcpClientStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored MCP clients');\n }\n },\n});\n\n/**\n * GET /stored/mcp-clients/:storedMCPClientId - Get a stored MCP client by ID\n */\nexport const GET_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredMCPClientResponseSchema,\n summary: 'Get stored MCP client by ID',\n description:\n 'Returns a specific MCP client from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId, status }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n const mcpClient = await mcpClientStore.getByIdResolved(storedMCPClientId, { status });\n\n if (!mcpClient) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n return mcpClient;\n } catch (error) {\n return handleError(error, 'Error getting stored MCP client');\n }\n },\n});\n\n/**\n * POST /stored/mcp-clients - Create a new stored MCP client\n */\nexport const CREATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/mcp-clients',\n responseType: 'json',\n bodySchema: createStoredMCPClientBodySchema,\n responseSchema: createStoredMCPClientResponseSchema,\n summary: 'Create stored MCP client',\n description: 'Creates a new MCP client configuration in storage with the provided servers',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, id: providedId, authorId, metadata, name, description, servers }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive MCP client ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if MCP client with this ID already exists\n const existing = await mcpClientStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `MCP client with id ${id} already exists` });\n }\n\n await mcpClientStore.create({\n mcpClient: {\n id,\n authorId,\n metadata,\n name,\n description,\n servers,\n },\n });\n\n // Return the resolved MCP client (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await mcpClientStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error creating stored MCP client');\n }\n },\n});\n\n/**\n * PATCH /stored/mcp-clients/:storedMCPClientId - Update a stored MCP client\n */\nexport const UPDATE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n bodySchema: updateStoredMCPClientBodySchema,\n responseSchema: updateStoredMCPClientResponseSchema,\n summary: 'Update stored MCP client',\n description: 'Updates an existing MCP client in storage with the provided fields',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedMCPClientId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n servers,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n // Update the MCP client with both metadata-level and config-level fields\n const updatedMCPClient = await mcpClientStore.update({\n id: storedMCPClientId,\n authorId,\n metadata,\n name,\n description,\n servers,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, servers };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n // It does NOT update activeVersionId — the version stays as a draft until explicitly published.\n await handleAutoVersioning(\n mcpClientStore as unknown as VersionedStoreInterface,\n storedMCPClientId,\n 'mcpClientId',\n MCP_CLIENT_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedMCPClient,\n providedConfigFields,\n );\n\n // Return the resolved MCP client with the latest (draft) version so the UI sees its edits\n const resolved = await mcpClientStore.getByIdResolved(storedMCPClientId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated MCP client' });\n }\n\n return resolved;\n } catch (error) {\n return handleError(error, 'Error updating stored MCP client');\n }\n },\n});\n\n/**\n * DELETE /stored/mcp-clients/:storedMCPClientId - Delete a stored MCP client\n */\nexport const DELETE_STORED_MCP_CLIENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/mcp-clients/:storedMCPClientId',\n responseType: 'json',\n pathParamSchema: storedMCPClientIdPathParams,\n responseSchema: deleteStoredMCPClientResponseSchema,\n summary: 'Delete stored MCP client',\n description: 'Deletes an MCP client from storage by its unique identifier',\n tags: ['Stored MCP Clients'],\n requiresAuth: true,\n handler: async ({ mastra, storedMCPClientId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const mcpClientStore = await storage.getStore('mcpClients');\n if (!mcpClientStore) {\n throw new HTTPException(500, { message: 'MCP clients storage domain is not available' });\n }\n\n // Check if MCP client exists\n const existing = await mcpClientStore.getById(storedMCPClientId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored MCP client with id ${storedMCPClientId} not found` });\n }\n\n await mcpClientStore.delete(storedMCPClientId);\n\n return {\n success: true,\n message: `MCP client ${storedMCPClientId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored MCP client');\n }\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/constants.ts"],"names":[],"mappings":"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","file":"chunk-5XW4MKE6.cjs","sourcesContent":["/**\n * Constants inlined from @mastra/core to avoid import compatibility\n * issues with older core versions that don't export them yet.\n *\n * - Reserved RequestContext keys are inlined from @mastra/core/request-context.\n * - Workspace tool constants are inlined from @mastra/core/workspace.\n */\n\nexport const MASTRA_RESOURCE_ID_KEY = 'mastra__resourceId';\n\nexport const MASTRA_THREAD_ID_KEY = 'mastra__threadId';\n\nexport const MASTRA_AUTH_TOKEN_KEY = 'mastra__authToken';\n\nexport const MASTRA_IS_STUDIO_KEY = 'mastra__isStudio';\n\nexport const MASTRA_CLIENT_TYPE_HEADER = 'x-mastra-client-type';\n\nexport const MASTRA_STUDIO_CLIENT_TYPE = 'studio';\n\nconst RESERVED_CONTEXT_KEYS = new Set([\n MASTRA_RESOURCE_ID_KEY,\n MASTRA_THREAD_ID_KEY,\n MASTRA_AUTH_TOKEN_KEY,\n MASTRA_IS_STUDIO_KEY,\n]);\n\nexport function isReservedRequestContextKey(key: string): boolean {\n return RESERVED_CONTEXT_KEYS.has(key);\n}\n\nexport function isStudioClientTypeHeader(value: string | undefined): boolean {\n return value?.toLowerCase() === MASTRA_STUDIO_CLIENT_TYPE;\n}\n\nexport const WORKSPACE_TOOLS_PREFIX = 'mastra_workspace' as const;\n\nexport const WORKSPACE_TOOLS = {\n FILESYSTEM: {\n READ_FILE: `${WORKSPACE_TOOLS_PREFIX}_read_file` as const,\n WRITE_FILE: `${WORKSPACE_TOOLS_PREFIX}_write_file` as const,\n EDIT_FILE: `${WORKSPACE_TOOLS_PREFIX}_edit_file` as const,\n LIST_FILES: `${WORKSPACE_TOOLS_PREFIX}_list_files` as const,\n DELETE: `${WORKSPACE_TOOLS_PREFIX}_delete` as const,\n FILE_STAT: `${WORKSPACE_TOOLS_PREFIX}_file_stat` as const,\n MKDIR: `${WORKSPACE_TOOLS_PREFIX}_mkdir` as const,\n GREP: `${WORKSPACE_TOOLS_PREFIX}_grep` as const,\n },\n SANDBOX: {\n EXECUTE_COMMAND: `${WORKSPACE_TOOLS_PREFIX}_execute_command` as const,\n },\n SEARCH: {\n SEARCH: `${WORKSPACE_TOOLS_PREFIX}_search` as const,\n INDEX: `${WORKSPACE_TOOLS_PREFIX}_index` as const,\n },\n} as const;\n\nexport type WorkspaceToolName =\n | (typeof WORKSPACE_TOOLS.FILESYSTEM)[keyof typeof WORKSPACE_TOOLS.FILESYSTEM]\n | (typeof WORKSPACE_TOOLS.SEARCH)[keyof typeof WORKSPACE_TOOLS.SEARCH]\n | (typeof WORKSPACE_TOOLS.SANDBOX)[keyof typeof WORKSPACE_TOOLS.SANDBOX];\n\n/**\n * A tool config value that may be a static boolean or a dynamic function.\n * Inlined from @mastra/core/workspace for compatibility.\n *\n * Uses `(...args: any[]) => any` for the function branch so it stays\n * assignable from all core context variants (ToolConfigContext,\n * ToolConfigWithArgsContext) without importing them.\n */\n\ntype DynamicToolConfigValue = boolean | ((...args: any[]) => any);\n\n/**\n * Configuration for a single workspace tool.\n */\nexport interface WorkspaceToolConfig {\n enabled?: DynamicToolConfigValue;\n requireApproval?: DynamicToolConfigValue;\n requireReadBeforeWrite?: DynamicToolConfigValue;\n}\n\n/**\n * Configuration for workspace tools.\n */\nexport type WorkspaceToolsConfig = {\n enabled?: DynamicToolConfigValue;\n requireApproval?: DynamicToolConfigValue;\n} & Partial<Record<WorkspaceToolName, WorkspaceToolConfig>>;\n\n/**\n * Safely resolve a dynamic config value (boolean or async function) to a boolean.\n * Falls back to `safeDefault` when no context is available or the function throws.\n */\nasync function resolveDynamicValue(\n value: DynamicToolConfigValue | undefined,\n context: { workspace: object; requestContext: Record<string, unknown> } | undefined,\n safeDefault: boolean,\n): Promise<boolean> {\n if (value === undefined) return safeDefault;\n if (typeof value === 'boolean') return value;\n if (!context) return safeDefault;\n try {\n return await value(context);\n } catch (error) {\n console.warn('[Workspace Tools] Dynamic config function threw, using safe default:', error);\n return safeDefault;\n }\n}\n\n/**\n * Resolve the effective configuration for a workspace tool.\n * Inlined from @mastra/core/workspace for compatibility.\n *\n * Dynamic function values are resolved by calling them with the provided\n * workspace and requestContext. If a function throws, safe defaults are used\n * (enabled → false, requireApproval → true, requireReadBeforeWrite → true).\n */\nexport async function resolveToolConfig(\n toolsConfig: WorkspaceToolsConfig | undefined,\n toolName: WorkspaceToolName,\n context?: { workspace: object; requestContext: Record<string, unknown> },\n): Promise<{ enabled: boolean; requireApproval: boolean; requireReadBeforeWrite?: boolean }> {\n let enabled: DynamicToolConfigValue = true;\n let requireApproval: DynamicToolConfigValue = false;\n let requireReadBeforeWrite: DynamicToolConfigValue | undefined;\n\n if (toolsConfig) {\n if (toolsConfig.enabled !== undefined) {\n enabled = toolsConfig.enabled;\n }\n if (toolsConfig.requireApproval !== undefined) {\n requireApproval = toolsConfig.requireApproval;\n }\n\n const perToolConfig = toolsConfig[toolName];\n if (perToolConfig) {\n if (perToolConfig.enabled !== undefined) {\n enabled = perToolConfig.enabled;\n }\n if (perToolConfig.requireApproval !== undefined) {\n requireApproval = perToolConfig.requireApproval;\n }\n if (perToolConfig.requireReadBeforeWrite !== undefined) {\n requireReadBeforeWrite = perToolConfig.requireReadBeforeWrite;\n }\n }\n }\n\n return {\n enabled: await resolveDynamicValue(enabled, context, false),\n requireApproval: await resolveDynamicValue(requireApproval, context, true),\n requireReadBeforeWrite:\n requireReadBeforeWrite !== undefined\n ? await resolveDynamicValue(requireReadBeforeWrite, context, true)\n : undefined,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,IAAA,qBAAA,GAAA;AAAA,QAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,SAAA,EAAA,MAAA,SAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,0BAAA,EAAA,MAAA,0BAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,aAAA,EAAA,MAAA,aAAA;AAAA,EAAA,SAAA,EAAA,MAAA,SAAA;AAAA,EAAA,WAAA,EAAA,MAAA,WAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,UAAA,EAAA,MAAA,UAAA;AAAA,EAAA,kBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AA8CA,IAAM,uBAAA,GAA0B,EAAE,MAAA,CAAO;AAAA;AAAA,EAEvC,SAAA,EAAW,gBAAgB,QAAA,EAAS;AAAA;AAAA,EAEpC,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAE1B,UAAA,EAAY,CAAA,CAAE,UAAA,CAAW,CAAA,GAAA,KAAQ,GAAA,KAAQ,UAAA,GAAa,cAAA,GAAiB,GAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAU;AACpG,CAAC,CAAA;AASD,SAAS,sBAAsB,MAAA,EAA0D;AACvF,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,MAAA,EAAO;AAG3B,EAAA,IAAI,MAAA,CAAO,eAAe,UAAA,EAAY;AACpC,IAAA,MAAA,CAAO,UAAA,GAAa,cAAA;AAAA,EACtB;AAGA,EAAA,IAAI,MAAA,CAAO,SAAA,IAAa,CAAC,MAAA,CAAO,SAAA,EAAW;AACzC,IAAA,MAAA,CAAO,YAAY,MAAA,CAAO,SAAA;AAC1B,IAAA,OAAO,MAAA,CAAO,SAAA;AAAA,EAChB;AAIA,EAAA,IAAI,OAAO,MAAA,CAAO,IAAA,KAAS,QAAA,IAAY,CAAC,OAAO,QAAA,EAAU;AACvD,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,wBAAwB,CAAA;AAC7D,IAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,2BAA2B,CAAA;AAEnE,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,MAAA,CAAO,QAAA,GAAW,WAAW,CAAC,CAAA;AAC9B,MAAA,MAAA,CAAO,UAAA,GAAa,OAAA;AAAA,IACtB,WAAW,aAAA,EAAe;AACxB,MAAA,MAAA,CAAO,QAAA,GAAW,cAAc,CAAC,CAAA;AACjC,MAAA,MAAA,CAAO,UAAA,GAAa,cAAA;AAAA,IACtB;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB;AAEA,EAAA,OAAO,MAAA;AACT;AAMA,eAAe,eAAe,MAAA,EAAwC;AACpE,EAAA,MAAM,OAAA,GAAU,WAAW,MAAM,CAAA;AACjC,EAAA,MAAM,MAAA,GAAS,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AAC9C,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,EACpF;AACA,EAAA,OAAO,MAAA;AACT;AAEA,IAAM,0BAAA,GAA6B,wBAAA;AAAA,EACjC,kBAAA,CACG,MAAA,CAAO,oBAAA,CAAqB,KAAK,CAAA,CACjC,MAAA,CAAO,mBAAA,CAAoB,KAAK,CAAA,CAChC,MAAA,CAAO,uBAAA,CAAwB,KAAK,EACpC,OAAA;AACL,CAAA;AAGO,IAAM,oBAAoB,WAAA,CAAY;AAAA,EAC3C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,uBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkB,0BAAA;AAAA,EAClB,cAAA,EAAgB,wBAAA;AAAA,EAChB,OAAA,EAAS,aAAA;AAAA,EACT,WAAA,EAAa,wEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AAEF,MAAA,MAAM,iBAAA,GAAoB,sBAAsB,MAAM,CAAA;AAEtD,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,kBAAA,EAAoB,iBAAiB,CAAA;AAChE,MAAA,MAAM,UAAA,GAAa,UAAA,CAAW,oBAAA,EAAsB,iBAAiB,CAAA;AACrE,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,mBAAA,EAAqB,iBAAiB,CAAA;AAEjE,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,OAAO,MAAM,kBAAA,CAAmB,UAAA,CAAW,EAAE,OAAA,EAAS,UAAA,EAAY,SAAS,CAAA;AAAA,IAC7E,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,IAClD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,0BAA0B,WAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,6BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkB,0BAAA;AAAA,EAClB,cAAA,EAAgB,6BAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,oFAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AACF,MAAA,MAAM,iBAAA,GAAoB,sBAAsB,MAAM,CAAA;AAEtD,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,kBAAA,EAAoB,iBAAiB,CAAA;AAChE,MAAA,MAAM,UAAA,GAAa,UAAA,CAAW,oBAAA,EAAsB,iBAAiB,CAAA;AACrE,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,mBAAA,EAAqB,iBAAiB,CAAA;AAEjE,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAO7D,MAAA,MAAM,KAAA,GAAQ,kBAAA;AACd,MAAA,IAAI,OAAO,KAAA,CAAM,eAAA,KAAoB,UAAA,EAAY;AAC/C,QAAA,OAAO,MAAM,kBAAA,CAAmB,UAAA,CAAW,EAAE,OAAA,EAAS,UAAA,EAAY,SAAS,CAAA;AAAA,MAC7E;AACA,MAAA,OAAO,MAAM,kBAAA,CAAmB,eAAA,CAAgB,EAAE,OAAA,EAAS,UAAA,EAAY,SAAS,CAAA;AAAA,IAClF,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,IAC9D;AAAA,EACF;AACF,CAAC;AAGM,IAAM,sBAAsB,WAAA,CAAY;AAAA,EAC7C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,yBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkB,wBAAA;AAAA,IAChB,oBAAA,CAAqB,OAAO,oBAAA,CAAqB,KAAK,EAAE,MAAA,CAAO,qBAAA,CAAsB,KAAK,CAAA,CAAE,OAAA;AAAQ,GACtG;AAAA,EACA,cAAA,EAAgB,0BAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EACE,gQAAA;AAAA,EACF,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,oBAAA,EAAsB,MAAM,CAAA;AACvD,MAAA,MAAM,UAAA,GAAa,UAAA,CAAW,oBAAA,EAAsB,MAAM,CAAA;AAC1D,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,qBAAA,EAAuB,MAAM,CAAA;AAExD,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,OAAO,MAAM,kBAAA,CAAmB,YAAA,CAAa,EAAE,OAAA,EAAS,UAAA,EAAY,SAAS,CAAA;AAAA,IAC/E,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,wBAAwB,CAAA;AAAA,IACpD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,mBAAmB,WAAA,CAAY;AAAA,EAC1C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,iDAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,oBAAoB,IAAA,CAAK,EAAE,SAAS,IAAA,EAAM,MAAA,EAAQ,MAAM,CAAA;AAAA,EACzE,gBAAA,EAAkB,yBAAyB,mBAAA,CAAoB,IAAA,CAAK,EAAE,KAAA,EAAO,IAAA,EAAM,CAAC,CAAA;AAAA,EACpF,cAAA,EAAgB,uBAAA;AAAA,EAChB,OAAA,EAAS,6BAAA;AAAA,EACT,WAAA,EACE,8KAAA;AAAA,EACF,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,QAAQ,OAAA,EAAS,MAAA,EAAQ,OAAM,KAAM;AACrD,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,MAAM,MAAA,GAAS,MAAM,kBAAA,CAAmB,SAAA,CAAU,EAAE,OAAA,EAAS,MAAA,EAAQ,OAAO,CAAA;AAE5E,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,8BAA8B,MAAM,CAAA,YAAA,EAAe,OAAO,CAAA,CAAA,CAAA,EAAK,CAAA;AAAA,MACzG;AAEA,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,IAClD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,kBAAkB,WAAA,CAAY;AAAA,EACzC,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,gCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,kBAAA;AAAA,EACjB,cAAA,EAAgB,sBAAA;AAAA,EAChB,OAAA,EAAS,oBAAA;AAAA,EACT,WAAA,EAAa,wDAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAQ,KAAM;AACtC,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,QAAA,CAAS,EAAE,SAAS,CAAA;AAE3D,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,OAAO,eAAe,CAAA;AAAA,MAClF;AAEA,MAAA,OAAO,KAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,qBAAqB,CAAA;AAAA,IACjD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,wBAAwB,WAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,sCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,kBAAA;AAAA,EACjB,cAAA,EAAgB,2BAAA;AAAA,EAChB,OAAA,EAAS,gCAAA;AAAA,EACT,WAAA,EACE,yHAAA;AAAA,EACF,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAQ,KAAM;AACtC,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,aAAA,CAAc,EAAE,SAAS,CAAA;AAEhE,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,OAAO,eAAe,CAAA;AAAA,MAClF;AAEA,MAAA,OAAO,KAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,IAC7D;AAAA,EACF;AACF,CAAC;AAGM,IAAM,iBAAiB,WAAA,CAAY;AAAA,EACxC,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,8CAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,iBAAA;AAAA,EACjB,cAAA,EAAgB,qBAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,yEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,QAAO,KAAM;AAC9C,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,MAAM,OAAO,MAAM,kBAAA,CAAmB,QAAQ,EAAE,OAAA,EAAS,QAAQ,CAAA;AAEjE,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,kBAAkB,CAAA;AAAA,MAC5D;AAEA,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,oBAAoB,CAAA;AAAA,IAChD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,6BAA6B,WAAA,CAAY;AAAA,EACpD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,2CAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,kBAAA;AAAA,EACjB,cAAA,EAAgB,EAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,SAAS,CAAA;AAAA,IAC1B,eAAA,EAAiB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACrC,SAAA,EAAW,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IAChC,iBAAA,EAAmB,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,GACzC,CAAA;AAAA,EACD,OAAA,EAAS,+BAAA;AAAA,EACT,WAAA,EAAa,sFAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAQ,KAAM;AACtC,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,GAAqB,MAAM,qBAAA,CAAsB,MAAM,CAAA;AAC7D,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,QAAA,CAAS,EAAE,SAAS,CAAA;AAE3D,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,OAAO,eAAe,CAAA;AAAA,MAClF;AAEA,MAAA,MAAM,UAAA,GAAa,0BAAA,CAA2B,KAAA,CAAM,KAAK,CAAA;AACzD,MAAA,OAAO,UAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,wCAAwC,CAAA;AAAA,IACpE;AAAA,EACF;AACF,CAAC;AAGM,IAAM,qBAAqB,WAAA,CAAY;AAAA,EAC5C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,6BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAY,wBAAA;AAAA,EACZ,cAAA,EAAgB,yBAAA;AAAA,EAChB,OAAA,EAAS,cAAA;AAAA,EACT,WAAA,EAAa,sEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AAEF,MAAA,UAAA,CAAW,MAAM,CAAA;AAEjB,MAAA,MAAM,EAAE,UAAA,EAAY,OAAA,EAAQ,GAAI,MAAA;AAEhC,MAAA,MAAM,MAAA,GAAS,MAAA,CAAO,aAAA,CAAc,UAAU,CAAA;AAC9C,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,QAAA,EAAW,UAAU,eAAe,CAAA;AAAA,MAC9E;AAEA,MAAA,WAAA,CAAY;AAAA,QACV,QAAA,EAAU,MAAA,CAAO,MAAA,CAAO,EAAA,IAAM,OAAO,MAAA,CAAO,IAAA;AAAA,QAC5C,OAAA;AAAA,QACA;AAAA,OACD,CAAA,CAAE,KAAA,CAAM,CAAA,KAAA,KAAS;AAChB,QAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,QAAA,MAAA,EAAQ,KAAA,CAAM,CAAA,iCAAA,EAAoC,KAAA,CAAM,OAAO,IAAI,KAAK,CAAA;AAAA,MAC1E,CAAC,CAAA;AAED,MAAA,OAAO;AAAA,QACL,MAAA,EAAQ,SAAA;AAAA,QACR,OAAA,EAAS,uBAAuB,OAAA,CAAQ,MAAM,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,OAAA,GAAU,QAAQ,CAAA,CAAA;AAAA,QAC3F,YAAY,OAAA,CAAQ;AAAA,OACtB;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,IAC5D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,4BAA4B,WAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,+CAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,aAAA;AAAA;AAAA,EAEjB,gBAAA,EAAkB,wBAAA,CAAyB,oBAAA,CAAqB,OAAA,EAAS,CAAA;AAAA,EACzE,cAAA,EAAgB,wBAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,uDAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AACF,MAAA,MAAM,UAAA,GAAa,UAAA,CAAW,oBAAA,EAAsB,MAAM,CAAA;AAC1D,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,aAAA,EAAe,MAAM,CAAA;AAEhD,MAAA,MAAM,WAAA,GAAc,MAAM,cAAA,CAAe,MAAM,CAAA;AAE/C,MAAA,OAAO,MAAM,YAAY,gBAAA,CAAiB;AAAA,QACxC,GAAG,OAAA;AAAA,QACH;AAAA,OACD,CAAA;AAAA,IACH,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,IAC1D;AAAA,EACF;AACF,CAAC","file":"chunk-7BM2AIKU.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport { extractTrajectoryFromTrace, listScoresResponseSchema } from '@mastra/core/evals';\nimport { scoreTraces } from '@mastra/core/evals/scoreTraces';\nimport type { ScoresStorage } from '@mastra/core/storage';\nimport {\n tracesFilterSchema,\n tracesOrderBySchema,\n paginationArgsSchema,\n spanIdsSchema,\n listTracesResponseSchema,\n scoreTracesRequestSchema,\n scoreTracesResponseSchema,\n getTraceArgsSchema,\n getTraceResponseSchema,\n getTraceLightResponseSchema,\n getSpanArgsSchema,\n getSpanResponseSchema,\n dateRangeSchema,\n} from '@mastra/core/storage';\n// `branches*`, `listBranches*`, and `getBranch*` schemas are new in\n// @mastra/core@1.32.0; route them through a shim that tolerates older cores\n// (see ./observability-storage-schemas.ts for full rationale).\nimport { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { getObservabilityStore, getStorage } from './observability-shared';\nimport {\n branchesFilterSchema,\n branchesOrderBySchema,\n listBranchesResponseSchema,\n getBranchArgsSchema,\n getBranchResponseSchema,\n listTracesLightResponseSchema,\n} from './observability-storage-schemas';\n\nexport * from './observability-new-endpoints';\n\n// ============================================================================\n// Legacy Parameter Support (backward compatibility with main branch API)\n// ============================================================================\n\n/**\n * Legacy query parameters from the old API (main branch).\n * These are accepted for backward compatibility and transformed to new format.\n */\nconst legacyQueryParamsSchema = z.object({\n // Old: dateRange was in pagination, now it's startedAt in filters\n dateRange: dateRangeSchema.optional(),\n // Old: name matched span names like \"agent run: 'myAgent'\"\n name: z.string().optional(),\n // entityType needs preprocessing to handle legacy 'workflow' value\n entityType: z.preprocess(val => (val === 'workflow' ? 'workflow_run' : val), z.string().optional()),\n});\n\n/**\n * Transforms legacy query parameters to the new format.\n * - dateRange -> startedAt (if startedAt not already set)\n * - name=\"agent run: 'x'\" -> entityId='x', entityType='agent'\n * - name=\"workflow run: 'x'\" -> entityId='x', entityType='workflow_run'\n * - entityType='workflow' -> entityType='workflow_run' (enum value fix)\n */\nfunction transformLegacyParams(params: Record<string, unknown>): Record<string, unknown> {\n const result = { ...params };\n\n // Transform old entityType='workflow' -> 'workflow_run' to support direct handler usage in tests\n if (result.entityType === 'workflow') {\n result.entityType = 'workflow_run';\n }\n\n // Transform old dateRange -> new startedAt\n if (params.dateRange && !params.startedAt) {\n result.startedAt = params.dateRange;\n delete result.dateRange;\n }\n\n // Transform old name -> entityId + entityType\n // Old format: name matched span names like \"agent run: 'myAgent'\" or \"workflow run: 'myWorkflow'\"\n if (typeof params.name === 'string' && !params.entityId) {\n const agentMatch = params.name.match(/^agent run: '([^']+)'$/);\n const workflowMatch = params.name.match(/^workflow run: '([^']+)'$/);\n\n if (agentMatch) {\n result.entityId = agentMatch[1];\n result.entityType = 'agent';\n } else if (workflowMatch) {\n result.entityId = workflowMatch[1];\n result.entityType = 'workflow_run';\n }\n delete result.name;\n }\n\n return result;\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nasync function getScoresStore(mastra: Mastra): Promise<ScoresStorage> {\n const storage = getStorage(mastra);\n const scores = await storage.getStore('scores');\n if (!scores) {\n throw new HTTPException(500, { message: 'Scores storage domain is not available' });\n }\n return scores;\n}\n\nconst listTracesQueryParamSchema = wrapSchemaForQueryParams(\n tracesFilterSchema\n .extend(paginationArgsSchema.shape)\n .extend(tracesOrderBySchema.shape)\n .extend(legacyQueryParamsSchema.shape) // Accept legacy params for backward compatibility\n .partial(),\n);\n\n/** Route: GET /observability/traces - paginated trace listing with filtering and sorting. */\nexport const LIST_TRACES_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces',\n responseType: 'json',\n queryParamSchema: listTracesQueryParamSchema,\n responseSchema: listTracesResponseSchema,\n summary: 'List traces',\n description: 'Returns a paginated list of traces with optional filtering and sorting',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Transform legacy params to new format before processing\n const transformedParams = transformLegacyParams(params);\n\n const filters = pickParams(tracesFilterSchema, transformedParams);\n const pagination = pickParams(paginationArgsSchema, transformedParams);\n const orderBy = pickParams(tracesOrderBySchema, transformedParams);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listTraces({ filters, pagination, orderBy });\n } catch (error) {\n return handleError(error, 'Error listing traces');\n }\n },\n});\n\n/** Route: GET /observability/traces/light - paginated lightweight trace listing with filtering and sorting. */\nexport const LIST_TRACES_LIGHT_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/light',\n responseType: 'json',\n queryParamSchema: listTracesQueryParamSchema,\n responseSchema: listTracesLightResponseSchema,\n summary: 'List lightweight traces',\n description: 'Returns a paginated list of lightweight traces with optional filtering and sorting',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const transformedParams = transformLegacyParams(params);\n\n const filters = pickParams(tracesFilterSchema, transformedParams);\n const pagination = pickParams(paginationArgsSchema, transformedParams);\n const orderBy = pickParams(tracesOrderBySchema, transformedParams);\n\n const observabilityStore = await getObservabilityStore(mastra);\n // `listTracesLight` was added in `@mastra/core` alongside this route.\n // When this `@mastra/server` is paired with an older `@mastra/core`,\n // the base `ObservabilityStorage` class doesn't declare\n // `listTracesLight` at all, so calling it on a store instance throws\n // `TypeError: ... is not a function`. Detect that case and fall back\n // to the full `listTraces` call so consumers still get a response.\n const store = observabilityStore as { listTracesLight?: unknown };\n if (typeof store.listTracesLight !== 'function') {\n return await observabilityStore.listTraces({ filters, pagination, orderBy });\n }\n return await observabilityStore.listTracesLight({ filters, pagination, orderBy });\n } catch (error) {\n return handleError(error, 'Error listing lightweight traces');\n }\n },\n});\n\n/** Route: GET /observability/branches - paginated branch-anchor span listing across all traces. */\nexport const LIST_BRANCHES_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/branches',\n responseType: 'json',\n queryParamSchema: wrapSchemaForQueryParams(\n branchesFilterSchema.extend(paginationArgsSchema.shape).extend(branchesOrderBySchema.shape).partial(),\n ),\n responseSchema: listBranchesResponseSchema,\n summary: 'List trace branches',\n description:\n 'Returns a paginated list of branch-anchor spans (e.g., AGENT_RUN, WORKFLOW_RUN, TOOL_CALL) across all traces. Unlike listTraces (one row per root-rooted trace), each row here is a single anchor span -- including ones nested under a different root entity.',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const filters = pickParams(branchesFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(branchesOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listBranches({ filters, pagination, orderBy });\n } catch (error) {\n return handleError(error, 'Error listing branches');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/branches/:spanId - retrieve the subtree rooted at a span. */\nexport const GET_BRANCH_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/branches/:spanId',\n responseType: 'json',\n pathParamSchema: getBranchArgsSchema.pick({ traceId: true, spanId: true }),\n queryParamSchema: wrapSchemaForQueryParams(getBranchArgsSchema.pick({ depth: true })),\n responseSchema: getBranchResponseSchema,\n summary: 'Get trace branch by span ID',\n description:\n 'Returns the subtree of spans rooted at the given span. The optional `depth` query param bounds descendant levels below the anchor (0 = anchor only; omitted = full subtree).',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId, spanId, depth }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const branch = await observabilityStore.getBranch({ traceId, spanId, depth });\n\n if (!branch) {\n throw new HTTPException(404, { message: `Branch not found for span '${spanId}' in trace '${traceId}'` });\n }\n\n return branch;\n } catch (error) {\n return handleError(error, 'Error getting branch');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId - retrieve a single trace with all spans. */\nexport const GET_TRACE_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: getTraceResponseSchema,\n summary: 'Get AI trace by ID',\n description: 'Returns a complete AI trace with all spans by trace ID',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.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 return handleError(error, 'Error getting trace');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/light - lightweight trace for timeline rendering. */\nexport const GET_TRACE_LIGHT_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/light',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: getTraceLightResponseSchema,\n summary: 'Get lightweight AI trace by ID',\n description:\n 'Returns a trace with lightweight span data (timeline fields only, excludes input/output/attributes/metadata/tags/links)',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTraceLight({ 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 return handleError(error, 'Error getting lightweight trace');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/spans/:spanId - get a single span with full details. */\nexport const GET_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/spans/:spanId',\n responseType: 'json',\n pathParamSchema: getSpanArgsSchema,\n responseSchema: getSpanResponseSchema,\n summary: 'Get a single span by ID',\n description: 'Returns a complete span record with all details by trace ID and span ID',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId, spanId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const span = await observabilityStore.getSpan({ traceId, spanId });\n\n if (!span) {\n throw new HTTPException(404, { message: `Span not found` });\n }\n\n return span;\n } catch (error) {\n return handleError(error, 'Error getting span');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/trajectory - extract trajectory from a trace. */\nexport const GET_TRACE_TRAJECTORY_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/trajectory',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: z.object({\n steps: z.array(z.unknown()),\n totalDurationMs: z.number().optional(),\n rawOutput: z.unknown().optional(),\n rawWorkflowResult: z.unknown().optional(),\n }),\n summary: 'Extract trajectory from trace',\n description: 'Extracts a structured trajectory (ordered steps) from a trace by analyzing its spans',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTrace({ traceId });\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n const trajectory = extractTrajectoryFromTrace(trace.spans);\n return trajectory;\n } catch (error) {\n return handleError(error, 'Error extracting trajectory from trace');\n }\n },\n});\n\n/** Route: POST /observability/traces/score - score traces using a specified scorer (fire-and-forget). */\nexport const SCORE_TRACES_ROUTE = createRoute({\n method: 'POST',\n path: '/observability/traces/score',\n responseType: 'json',\n bodySchema: scoreTracesRequestSchema,\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 requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Validate storage exists before starting background task\n getStorage(mastra);\n\n const { scorerName, targets } = params;\n\n const scorer = mastra.getScorerById(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n scoreTraces({\n scorerId: scorer.config.id || scorer.config.name,\n targets,\n mastra,\n }).catch(error => {\n const logger = mastra.getLogger();\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 return handleError(error, 'Error processing trace scoring');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/:spanId/scores',\n responseType: 'json',\n pathParamSchema: spanIdsSchema,\n // List endpoints accept optional query params; use partial() to allow empty queries.\n queryParamSchema: wrapSchemaForQueryParams(paginationArgsSchema.partial()),\n responseSchema: listScoresResponseSchema,\n summary: 'List scores by span',\n description: 'Returns all scores for a specific span within a trace',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const pagination = pickParams(paginationArgsSchema, params);\n const spanIds = pickParams(spanIdsSchema, params);\n\n const scoresStore = await getScoresStore(mastra);\n\n return await scoresStore.listScoresBySpan({\n ...spanIds,\n pagination,\n });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/schemas/memory-config.ts","../src/server/schemas/stored-agents.ts"],"names":["z","snapshotConfigSchema"],"mappings":"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","file":"chunk-AIRSK4QU.js","sourcesContent":["import { z } from 'zod/v4';\n\n/**\n * Shared memory configuration schemas for agent storage\n * These schemas match the SerializedMemoryConfig type from @mastra/core\n */\n\n/**\n * Semantic recall configuration for vector-based memory retrieval\n */\nexport const semanticRecallSchema = z.object({\n topK: z.number().describe('Number of semantically similar messages to retrieve'),\n messageRange: z\n .union([\n z.number(),\n z.object({\n before: z.number(),\n after: z.number(),\n }),\n ])\n .describe('Amount of surrounding context to include with each retrieved message'),\n scope: z.enum(['thread', 'resource']).optional().describe('Scope for semantic search queries'),\n threshold: z.number().min(0).max(1).optional().describe('Minimum similarity score threshold'),\n indexName: z.string().optional().describe('Index name for the vector store'),\n});\n\n/**\n * Title generation configuration\n * When stored, the model is serialized as a ModelRouterModelId string (provider/model-name format)\n */\nexport const titleGenerationSchema = z.union([\n z.boolean(),\n z.object({\n model: z.string().describe('Model ID in format provider/model-name (ModelRouterModelId)'),\n instructions: z.string().optional().describe('Custom instructions for title generation'),\n }),\n]);\n\n/**\n * Observation step configuration for observational memory\n */\nexport const serializedObservationConfigSchema = z.object({\n model: z.string().optional().describe('Observer model ID'),\n messageTokens: z.number().optional().describe('Token threshold that triggers observation'),\n modelSettings: z.record(z.string(), z.unknown()).optional().describe('Model settings (temperature, etc.)'),\n providerOptions: z\n .record(z.string(), z.record(z.string(), z.unknown()).optional())\n .optional()\n .describe('Provider-specific options'),\n maxTokensPerBatch: z.number().optional().describe('Maximum tokens per batch'),\n bufferTokens: z\n .union([z.number(), z.literal(false)])\n .optional()\n .describe('Async buffering interval or false'),\n bufferActivation: z.number().optional().describe('Ratio of buffered observations to activate'),\n blockAfter: z.number().optional().describe('Token threshold for synchronous blocking'),\n});\n\n/**\n * Reflection step configuration for observational memory\n */\nexport const serializedReflectionConfigSchema = z.object({\n model: z.string().optional().describe('Reflector model ID'),\n observationTokens: z.number().optional().describe('Token threshold that triggers reflection'),\n modelSettings: z.record(z.string(), z.unknown()).optional().describe('Model settings (temperature, etc.)'),\n providerOptions: z\n .record(z.string(), z.record(z.string(), z.unknown()).optional())\n .optional()\n .describe('Provider-specific options'),\n blockAfter: z.number().optional().describe('Token threshold for synchronous blocking'),\n bufferActivation: z.number().optional().describe('Ratio for async reflection buffering'),\n});\n\n/**\n * Serialized observational memory configuration\n */\nexport const serializedObservationalMemoryConfigObjectSchema = z.object({\n model: z.string().optional().describe('Model ID for both Observer and Reflector'),\n scope: z.enum(['resource', 'thread']).optional().describe('Memory scope'),\n shareTokenBudget: z.boolean().optional().describe('Share token budget between messages and observations'),\n observation: serializedObservationConfigSchema.optional().describe('Observation step configuration'),\n reflection: serializedReflectionConfigSchema.optional().describe('Reflection step configuration'),\n});\n\nexport const serializedObservationalMemoryConfigSchema = z.union([\n z.boolean(),\n serializedObservationalMemoryConfigObjectSchema,\n]);\n\n/**\n * Serialized memory configuration matching SerializedMemoryConfig from @mastra/core\n *\n * Note: workingMemory and threads are omitted as they are not part of SerializedMemoryConfig\n * @see packages/core/src/memory/types.ts\n */\nexport const serializedMemoryConfigSchema = z\n .object({\n vector: z\n .union([z.string(), z.literal(false)])\n .optional()\n .describe('Vector database identifier or false to disable'),\n options: z\n .object({\n readOnly: z.boolean().optional(),\n lastMessages: z.union([z.number(), z.literal(false)]).optional(),\n semanticRecall: z.union([z.boolean(), semanticRecallSchema]).optional(),\n generateTitle: titleGenerationSchema.optional(),\n })\n .optional()\n .describe('Memory behavior configuration, excluding workingMemory and threads'),\n embedder: z\n .string()\n .optional()\n .describe('Embedding model ID in the format \"provider/model\" (e.g., \"openai/text-embedding-3-small\")'),\n embedderOptions: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('Options to pass to the embedder, omitting telemetry'),\n observationalMemory: serializedObservationalMemoryConfigSchema\n .optional()\n .describe('Serialized observational memory configuration'),\n })\n .refine(\n data => {\n // If semanticRecall is enabled (true or object), both vector and embedder are required\n const semanticRecall = data.options?.semanticRecall;\n const semanticRecallEnabled =\n semanticRecall === true || (typeof semanticRecall === 'object' && semanticRecall !== null);\n\n if (semanticRecallEnabled) {\n // vector must be a string (not false or undefined)\n const hasVector = typeof data.vector === 'string' && data.vector.length > 0;\n // embedder must be defined\n const hasEmbedder = typeof data.embedder === 'string' && data.embedder.length > 0;\n\n return hasVector && hasEmbedder;\n }\n return true;\n },\n {\n message: 'Semantic recall requires both vector and embedder to be configured',\n path: ['options', 'semanticRecall'],\n },\n );\n","import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema, statusQuerySchema } from './common';\nimport { defaultOptionsSchema } from './default-options';\nimport { serializedMemoryConfigSchema } from './memory-config';\nimport { ruleGroupSchema } from './rule-group';\nimport { workspaceSnapshotConfigSchema } from './stored-workspaces';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\n/**\n * Path parameter for stored agent ID\n */\nexport const storedAgentIdPathParams = z.object({\n storedAgentId: z.string().describe('Unique identifier for the stored agent'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\n/**\n * Storage order by configuration\n */\nconst storageOrderBySchema = z.object({\n field: z.enum(['createdAt', 'updatedAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n});\n\nexport { statusQuerySchema };\n\n/**\n * GET /stored/agents - List stored agents\n */\nexport const listStoredAgentsQuerySchema = createPagePaginationSchema(100).extend({\n orderBy: storageOrderBySchema.optional(),\n status: z\n .enum(['draft', 'published', 'archived'])\n .optional()\n .default('published')\n .describe('Filter agents by status (defaults to published)'),\n authorId: z.string().optional().describe('Filter agents by author identifier'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Filter agents by metadata key-value pairs'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\n/**\n * Scorer config schema with optional sampling and rules\n */\nconst scorerConfigSchema = z.object({\n description: z.string().optional(),\n sampling: z\n .union([\n z.object({ type: z.literal('none') }),\n z.object({ type: z.literal('ratio'), rate: z.number().min(0).max(1) }),\n ])\n .optional(),\n rules: ruleGroupSchema.optional(),\n});\n\n/**\n * Agent instruction block schema for prompt-block-based instructions.\n */\nconst agentInstructionBlockSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), content: z.string() }),\n z.object({ type: z.literal('prompt_block_ref'), id: z.string() }),\n z.object({ type: z.literal('prompt_block'), content: z.string(), rules: ruleGroupSchema.optional() }),\n]);\n\n/**\n * Creates a schema for a field that can be either a static value or an array of conditional variants.\n * Each variant has a `value` and an optional `rules` (RuleGroup) that determines when it applies.\n */\nfunction conditionalFieldSchema<T extends z.ZodTypeAny>(valueSchema: T) {\n const variantSchema = z.object({\n value: valueSchema,\n rules: ruleGroupSchema.optional(),\n });\n return z.union([valueSchema, z.array(variantSchema)]);\n}\n\n/**\n * Instructions can be a plain string or an array of instruction blocks (text + prompt_block references).\n */\nexport const instructionsSchema = z\n .union([z.string(), z.array(agentInstructionBlockSchema)])\n .describe('System instructions for the agent (string or array of instruction blocks)');\n\n/** Base model config schema (reused across snapshot and response schemas) */\nconst modelConfigSchema = z\n .object({\n provider: z.string().describe('Model provider (e.g., openai, anthropic)'),\n name: z.string().describe('Model name (e.g., gpt-4o, claude-3-opus)'),\n })\n .passthrough();\n\n/** Per-tool config schema */\nconst toolConfigSchema = z.object({ description: z.string().optional(), rules: ruleGroupSchema.optional() });\n\n/** Base tools config schema */\nconst toolsConfigSchema = z.record(z.string(), toolConfigSchema);\n\n/** MCP client tools config schema — specifies which tools to use from an MCP client/server */\nconst mcpClientToolsConfigSchema = z.object({\n tools: z.record(z.string(), toolConfigSchema).optional(),\n});\n\n/** Per-skill config schema */\nconst skillConfigSchema = z.object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n pin: z.string().optional(),\n strategy: z.enum(['latest', 'live']).optional(),\n});\n\n/** Skills config: skill IDs mapped to per-skill config */\nconst skillsConfigSchema = z.record(z.string(), skillConfigSchema);\n\n/** Workspace reference: either a stored workspace ID or an inline config */\nconst workspaceRefSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('id'), workspaceId: z.string() }),\n z.object({ type: z.literal('inline'), config: workspaceSnapshotConfigSchema }),\n]);\n\n/**\n * Processor phase enum matching ProcessorPhase type\n */\nconst processorPhaseSchema = z.enum([\n 'processInput',\n 'processInputStep',\n 'processOutputStream',\n 'processOutputResult',\n 'processOutputStep',\n]);\n\n/**\n * A single processor step in a stored processor graph.\n */\nconst processorGraphStepSchema = z.object({\n id: z.string().describe('Unique ID for this step within the graph'),\n providerId: z.string().describe('ProcessorProvider ID that creates this processor'),\n config: z.record(z.string(), z.unknown()).describe('Configuration matching the provider configSchema'),\n enabledPhases: z.array(processorPhaseSchema).min(1).describe('Which processor phases to enable'),\n});\n\n/**\n * Processor graph entry schema.\n * Simplified version of SerializedStepFlowEntry, supporting step, parallel, and conditional.\n *\n * Uses a fixed nesting depth (3 levels) to avoid infinite recursion\n * when converting to JSON Schema / OpenAPI.\n */\n\n/** Depth 3 (leaf): only step entries allowed */\nconst processorGraphEntryDepth3 = z.discriminatedUnion('type', [\n z.object({ type: z.literal('step'), step: processorGraphStepSchema }),\n]);\n\n/** Depth 2: step, parallel, and conditional — children limited to depth 3 */\nconst processorGraphEntryDepth2 = z.discriminatedUnion('type', [\n z.object({ type: z.literal('step'), step: processorGraphStepSchema }),\n z.object({ type: z.literal('parallel'), branches: z.array(z.array(processorGraphEntryDepth3)) }),\n z.object({\n type: z.literal('conditional'),\n conditions: z.array(\n z.object({\n steps: z.array(processorGraphEntryDepth3),\n rules: ruleGroupSchema.optional(),\n }),\n ),\n }),\n]);\n\n/** Depth 1 (top-level): step, parallel, and conditional — children limited to depth 2 */\nconst processorGraphEntrySchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('step'), step: processorGraphStepSchema }),\n z.object({ type: z.literal('parallel'), branches: z.array(z.array(processorGraphEntryDepth2)) }),\n z.object({\n type: z.literal('conditional'),\n conditions: z.array(\n z.object({\n steps: z.array(processorGraphEntryDepth2),\n rules: ruleGroupSchema.optional(),\n }),\n ),\n }),\n]);\n\n/**\n * A stored processor graph representing a pipeline of processors.\n */\nconst storedProcessorGraphSchema = z.object({\n steps: z.array(processorGraphEntrySchema).describe('Ordered list of processor graph entries'),\n});\n\n/**\n * Agent snapshot config fields (name, description, instructions, model, tools, etc.)\n * These live in version snapshots, not on the thin agent record.\n *\n * Fields that support conditional variants (StorageConditionalField) can be either\n * a static value OR an array of { value, rules? } variants evaluated at request time.\n */\nconst snapshotConfigSchema = z.object({\n name: z.string().describe('Name of the agent'),\n description: z.string().optional().describe('Description of the agent'),\n instructions: instructionsSchema,\n model: conditionalFieldSchema(modelConfigSchema).describe(\n 'Model configuration — static value or array of conditional variants',\n ),\n tools: conditionalFieldSchema(toolsConfigSchema)\n .optional()\n .describe('Tool keys mapped to per-tool config — static or conditional'),\n defaultOptions: conditionalFieldSchema(defaultOptionsSchema)\n .optional()\n .describe('Default options for generate/stream calls — static or conditional'),\n workflows: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Workflow keys with optional per-workflow config — static or conditional'),\n agents: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Agent keys with optional per-agent config — static or conditional'),\n integrationTools: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of tool provider IDs to their tool configurations — static or conditional'),\n mcpClients: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of stored MCP client IDs to their tool configurations — static or conditional'),\n inputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Input processor graph — static or conditional'),\n outputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Output processor graph — static or conditional'),\n memory: conditionalFieldSchema(serializedMemoryConfigSchema)\n .optional()\n .describe('Memory configuration — static or conditional'),\n scorers: conditionalFieldSchema(z.record(z.string(), scorerConfigSchema))\n .optional()\n .describe('Scorer keys with optional sampling config — static or conditional'),\n skills: conditionalFieldSchema(skillsConfigSchema)\n .optional()\n .describe('Skill IDs mapped to per-skill config — static or conditional'),\n workspace: conditionalFieldSchema(workspaceRefSchema)\n .optional()\n .describe('Workspace reference (stored ID or inline config) — static or conditional'),\n requestContextSchema: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('JSON Schema defining valid request context variables for conditional rule evaluation'),\n});\n\n/**\n * Agent metadata fields (authorId, metadata) that live on the thin agent record.\n */\nconst agentMetadataSchema = z.object({\n authorId: z.string().optional().describe('Author identifier for multi-tenant filtering'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata for the agent'),\n});\n\n/**\n * POST /stored/agents - Create stored agent body\n * Flat union of agent-record fields + config fields\n * The id is optional — if not provided, it will be derived from the agent name via slugify.\n */\nexport const createStoredAgentBodySchema = z\n .object({\n id: z.string().optional().describe('Unique identifier for the agent. If not provided, derived from name.'),\n authorId: z.string().optional().describe('Author identifier for multi-tenant filtering'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata for the agent'),\n })\n .merge(snapshotConfigSchema);\n\n/**\n * Snapshot config schema for updates where nullable fields (like memory) can be set to null to clear them.\n */\nconst snapshotConfigUpdateSchema = snapshotConfigSchema.extend({\n memory: z\n .union([conditionalFieldSchema(serializedMemoryConfigSchema), z.null()])\n .optional()\n .describe('Memory configuration — static, conditional, or null to disable memory'),\n});\n\n/**\n * PATCH /stored/agents/:storedAgentId - Update stored agent body\n * Optional metadata-level fields + optional config fields\n */\nexport const updateStoredAgentBodySchema = agentMetadataSchema\n .partial()\n .merge(snapshotConfigUpdateSchema.partial())\n .extend({\n changeMessage: z\n .string()\n .trim()\n .max(500)\n .optional()\n .describe('Optional message describing the changes for the auto-created version'),\n });\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Stored agent object schema (resolved response: thin record + version config)\n * Represents StorageResolvedAgentType\n */\nexport const storedAgentSchema = z.object({\n // Thin agent record fields\n id: z.string(),\n status: z.string().describe('Agent status: draft or published'),\n activeVersionId: z.string().optional(),\n authorId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n // Version snapshot config fields (resolved from active version)\n name: z.string().describe('Name of the agent'),\n description: z.string().optional().describe('Description of the agent'),\n instructions: instructionsSchema,\n model: conditionalFieldSchema(modelConfigSchema).describe(\n 'Model configuration — static value or array of conditional variants',\n ),\n tools: conditionalFieldSchema(toolsConfigSchema)\n .optional()\n .describe('Tool keys mapped to per-tool config — static or conditional'),\n defaultOptions: conditionalFieldSchema(defaultOptionsSchema)\n .optional()\n .describe('Default options for generate/stream calls — static or conditional'),\n workflows: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Workflow keys with optional per-workflow config — static or conditional'),\n agents: conditionalFieldSchema(z.record(z.string(), toolConfigSchema))\n .optional()\n .describe('Agent keys with optional per-agent config — static or conditional'),\n integrationTools: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of tool provider IDs to their tool configurations — static or conditional'),\n mcpClients: conditionalFieldSchema(z.record(z.string(), mcpClientToolsConfigSchema))\n .optional()\n .describe('Map of stored MCP client IDs to their tool configurations — static or conditional'),\n inputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Input processor graph — static or conditional'),\n outputProcessors: conditionalFieldSchema(storedProcessorGraphSchema)\n .optional()\n .describe('Output processor graph — static or conditional'),\n memory: conditionalFieldSchema(serializedMemoryConfigSchema)\n .optional()\n .describe('Memory configuration — static or conditional'),\n scorers: conditionalFieldSchema(z.record(z.string(), scorerConfigSchema))\n .optional()\n .describe('Scorer keys with optional sampling config — static or conditional'),\n skills: conditionalFieldSchema(skillsConfigSchema)\n .optional()\n .describe('Skill IDs mapped to per-skill config — static or conditional'),\n workspace: conditionalFieldSchema(workspaceRefSchema)\n .optional()\n .describe('Workspace reference (stored ID or inline config) — static or conditional'),\n requestContextSchema: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('JSON Schema defining valid request context variables'),\n});\n\n/**\n * Response for GET /stored/agents\n */\nexport const listStoredAgentsResponseSchema = paginationInfoSchema.extend({\n agents: z.array(storedAgentSchema),\n});\n\n/**\n * Response for GET /stored/agents/:storedAgentId\n */\nexport const getStoredAgentResponseSchema = storedAgentSchema;\n\n/**\n * Response for POST /stored/agents\n */\nexport const createStoredAgentResponseSchema = storedAgentSchema;\n\n/**\n * Response for PATCH /stored/agents/:storedAgentId\n *\n * The response can be either:\n * 1. A thin agent record (no version) - only has id, status, dates, etc.\n * 2. A resolved agent (with version) - has all config fields from the version\n *\n * We use a union to handle both cases properly.\n */\nexport const updateStoredAgentResponseSchema = z.union([\n // Thin agent record (no version config)\n z.object({\n id: z.string(),\n status: z.string(),\n activeVersionId: z.string().optional(),\n authorId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n }),\n // Resolved agent (thin record + version config)\n storedAgentSchema,\n]);\n\n/**\n * Response for DELETE /stored/agents/:storedAgentId\n */\nexport const deleteStoredAgentResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n\n// ============================================================================\n// Preview Instructions Schemas\n// ============================================================================\n\n/**\n * POST /stored/agents/preview-instructions - Preview resolved instructions\n */\nexport const previewInstructionsBodySchema = z.object({\n blocks: z.array(agentInstructionBlockSchema).describe('Array of instruction blocks to resolve'),\n context: z\n .record(z.string(), z.unknown())\n .optional()\n .default({})\n .describe('Request context for variable interpolation and rule evaluation'),\n});\n\n/**\n * Response for POST /stored/agents/preview-instructions\n */\nexport const previewInstructionsResponseSchema = z.object({\n result: z.string().describe('The resolved instructions string'),\n});\n\n/**\n * Exported for use in agent-versions.ts schemas\n */\nexport {\n snapshotConfigSchema,\n scorerConfigSchema,\n conditionalFieldSchema,\n modelConfigSchema,\n storedProcessorGraphSchema,\n processorGraphStepSchema,\n processorGraphEntrySchema,\n processorPhaseSchema,\n toolConfigSchema,\n toolsConfigSchema,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../_internal-core/src/storage/domains/shared.ts","../../_internal-core/src/storage/domains/observability/logs.ts","../../_internal-core/src/storage/domains/observability/scores.ts","../../_internal-core/src/storage/domains/observability/feedback.ts","../../_internal-core/src/storage/domains/observability/metrics.ts","../../_internal-core/src/storage/domains/observability/discovery.ts","../src/server/handlers/observability-new-endpoints.ts"],"names":["EntityType","z"],"mappings":"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","file":"chunk-AY5TY4EN.js","sourcesContent":["import { z } from 'zod/v4';\n\n/** Types of entities that can produce observability spans. */\nexport enum EntityType {\n /** Agent/Model execution */\n AGENT = 'agent',\n /** Scorer definition/execution */\n SCORER = 'scorer',\n /** RAG ingestion pipeline execution */\n RAG_INGESTION = 'rag_ingestion',\n /** Trajectory evaluation target */\n TRAJECTORY = 'trajectory',\n /** Input Processor */\n INPUT_PROCESSOR = 'input_processor',\n /** Input Step Processor */\n INPUT_STEP_PROCESSOR = 'input_step_processor',\n /** Output Processor */\n OUTPUT_PROCESSOR = 'output_processor',\n /** Output Step Processor */\n OUTPUT_STEP_PROCESSOR = 'output_step_processor',\n /** Workflow Step */\n WORKFLOW_STEP = 'workflow_step',\n /** Tool */\n TOOL = 'tool',\n /** Workflow */\n WORKFLOW_RUN = 'workflow_run',\n /** Memory */\n MEMORY = 'memory',\n}\n\n/**\n * Common DB fields\n */\nexport const createdAtField = z.date().describe('Database record creation time');\n\nexport const updatedAtField = z.date().describe('Database record last update time');\n\nexport const dbTimestamps = {\n createdAt: createdAtField,\n updatedAt: updatedAtField.nullable(),\n} as const satisfies z.ZodRawShape;\n\n/**\n * Pagination arguments for list queries (page and perPage only)\n * Uses z.coerce to handle string → number conversion from query params\n */\nexport const paginationArgsSchema = z\n .object({\n page: z.coerce.number().int().min(0).optional().default(0).describe('Zero-indexed page number'),\n perPage: z.coerce.number().int().min(1).max(100).optional().default(10).describe('Number of items per page'),\n })\n .describe('Pagination options for list queries');\n\n/** Input type for pagination arguments (page and perPage). */\nexport type PaginationArgs = z.input<typeof paginationArgsSchema>;\n\n/**\n * Pagination response info\n * Used across all paginated endpoints\n */\nexport const paginationInfoSchema = z.object({\n total: z.number().describe('Total number of items available'),\n page: z.number().describe('Current page'),\n perPage: z\n .union([z.number(), z.literal(false)])\n .describe('Number of items per page, or false if pagination is disabled'),\n hasMore: z.boolean().describe('True if more pages are available'),\n});\n\n/**\n * Date range for filtering by time\n * Uses z.coerce to handle ISO string → Date conversion from query params\n */\nexport const dateRangeSchema = z\n .object({\n start: z.coerce.date().optional().describe('Start of date range (inclusive by default)'),\n end: z.coerce.date().optional().describe('End of date range (inclusive by default)'),\n startExclusive: z\n .boolean()\n .optional()\n .describe('When true, excludes the start date from results (uses > instead of >=)'),\n endExclusive: z\n .boolean()\n .optional()\n .describe('When true, excludes the end date from results (uses < instead of <=)'),\n })\n .describe('Date range filter for timestamps');\n\n/** Date range with optional inclusive/exclusive boundaries. */\nexport type DateRange = z.input<typeof dateRangeSchema>;\n\nexport const sortDirectionSchema = z.enum(['ASC', 'DESC']).describe(\"Sort direction: 'ASC' | 'DESC'\");\n\n/** Aggregation type schema shared across OLAP-style observability queries. */\nexport const aggregationTypeSchema = z\n .enum(['sum', 'avg', 'min', 'max', 'count', 'count_distinct', 'last'])\n .describe('Aggregation function');\nexport type AggregationType = z.infer<typeof aggregationTypeSchema>;\n\n/** Aggregation interval schema shared across OLAP-style observability queries. */\nexport const aggregationIntervalSchema = z.enum(['1m', '5m', '15m', '1h', '1d']).describe('Time bucket interval');\nexport type AggregationInterval = z.infer<typeof aggregationIntervalSchema>;\n\n/** Compare period for aggregate queries with period-over-period comparison. */\nexport const comparePeriodSchema = z\n .enum(['previous_period', 'previous_day', 'previous_week'])\n .describe('Comparison period for aggregate queries');\nexport type ComparePeriod = z.infer<typeof comparePeriodSchema>;\n\n/** Shared groupBy schema for OLAP-style breakdown and time-series queries. */\nexport const groupBySchema = z.array(z.string()).min(1).describe('Fields to group by');\nexport type GroupBy = z.infer<typeof groupBySchema>;\n\n/** Shared percentiles schema for percentile queries. */\nexport const percentilesSchema = z.array(z.number().min(0).max(1)).min(1).describe('Percentile values (0-1)');\nexport type Percentiles = z.infer<typeof percentilesSchema>;\n\n/** Shared fields for aggregate OLAP responses across observability signals. */\nexport const aggregateResponseFields = {\n value: z.number().nullable().describe('Aggregated value'),\n previousValue: z.number().nullable().optional().describe('Value from comparison period'),\n changePercent: z.number().nullable().optional().describe('Percentage change from comparison period'),\n} as const;\n\n/** Shared field for OLAP breakdown dimension values. */\nexport const dimensionsField = z.record(z.string(), z.string().nullable()).describe('Dimension values for this group');\n\n/** Shared field for non-null OLAP aggregated values. */\nexport const aggregatedValueField = z.number().describe('Aggregated value');\n\n/** Shared field for OLAP bucket timestamps. */\nexport const bucketTimestampField = z.date().describe('Bucket timestamp');\n\n/** Shared field for percentile identifiers in OLAP responses. */\nexport const percentileField = z.number().describe('Percentile value');\n\n/** Shared field for percentile values within a time bucket. */\nexport const percentileBucketValueField = z.number().describe('Percentile value at this bucket');\n\nexport const entityTypeField = z\n .nativeEnum(EntityType)\n .describe(`Entity type (e.g., 'agent' | 'processor' | 'tool' | 'workflow')`);\n\nexport const entityIdField = z.string().describe('ID of the entity (e.g., \"weatherAgent\", \"orderWorkflow\")');\n\nexport const entityNameField = z.string().describe('Name of the entity');\n\nexport const userIdField = z.string().describe('Human end-user who triggered execution');\n\nexport const organizationIdField = z.string().describe('Multi-tenant organization/account');\n\nexport const resourceIdField = z.string().describe('Broader resource context (Mastra memory compatibility)');\n\nexport const runIdField = z.string().describe('Unique execution run identifier');\n\nexport const sessionIdField = z.string().describe('Session identifier for grouping traces');\n\nexport const threadIdField = z.string().describe('Conversation thread identifier');\n\nexport const requestIdField = z.string().describe('HTTP request ID for log correlation');\n\nexport const environmentField = z.string().describe(`Environment (e.g., \"production\" | \"staging\" | \"development\")`);\n\nexport const sourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\nexport const executionSourceField = z.string().describe(`Source of execution (e.g., \"local\" | \"cloud\" | \"ci\")`);\n\nexport const serviceNameField = z.string().describe('Name of the service');\n\n// Parent entity hierarchy fields\nexport const parentEntityTypeField = z.nativeEnum(EntityType).describe('Entity type of the parent entity');\nexport const parentEntityIdField = z.string().describe('ID of the parent entity');\nexport const parentEntityNameField = z.string().describe('Name of the parent entity');\n\n// Root entity hierarchy fields\nexport const rootEntityTypeField = z.nativeEnum(EntityType).describe('Entity type of the root entity');\nexport const rootEntityIdField = z.string().describe('ID of the root entity');\nexport const rootEntityNameField = z.string().describe('Name of the root entity');\n\n// Entity versioning\nexport const entityVersionIdField = z\n .string()\n .describe('Version ID of the entity that produced this signal (e.g., agent version, workflow version)');\nexport const parentEntityVersionIdField = z\n .string()\n .describe('Version ID of the parent entity that produced this signal');\nexport const rootEntityVersionIdField = z.string().describe('Version ID of the root entity that produced this signal');\n\n// Experimentation\nexport const experimentIdField = z.string().describe('Experiment or eval run identifier');\n\n// ============================================================================\n// Common observability fields (shared across tracing, metrics, logs)\n// ============================================================================\n\nexport const scopeField = z\n .record(z.string(), z.unknown())\n .describe('Arbitrary package/app version info (e.g., {\"core\": \"1.0.0\", \"memory\": \"1.0.0\", \"gitSha\": \"abcd1234\"})');\n\nexport const metadataField = z.record(z.string(), z.unknown()).describe('User-defined metadata for custom filtering');\n\nexport const tagsField = z.array(z.string()).describe('Labels for filtering');\n\n/**\n * Base context fields shared across tracing and non-tracing observability records.\n * Source/provenance is intentionally excluded because tracing uses `source`\n * while signals use `executionSource`.\n */\nconst contextFieldsBase = {\n // Entity identification\n entityType: entityTypeField.nullish(),\n entityId: entityIdField.nullish(),\n entityName: entityNameField.nullish(),\n\n // Parent entity hierarchy\n parentEntityType: parentEntityTypeField.nullish(),\n parentEntityId: parentEntityIdField.nullish(),\n parentEntityName: parentEntityNameField.nullish(),\n\n // Root entity hierarchy\n rootEntityType: rootEntityTypeField.nullish(),\n rootEntityId: rootEntityIdField.nullish(),\n rootEntityName: rootEntityNameField.nullish(),\n\n // Identity & tenancy\n userId: userIdField.nullish(),\n organizationId: organizationIdField.nullish(),\n resourceId: resourceIdField.nullish(),\n\n // Correlation IDs\n runId: runIdField.nullish(),\n sessionId: sessionIdField.nullish(),\n threadId: threadIdField.nullish(),\n requestId: requestIdField.nullish(),\n\n // Deployment context\n environment: environmentField.nullish(),\n serviceName: serviceNameField.nullish(),\n scope: scopeField.nullish(),\n\n // Entity versioning\n entityVersionId: entityVersionIdField.nullish(),\n parentEntityVersionId: parentEntityVersionIdField.nullish(),\n rootEntityVersionId: rootEntityVersionIdField.nullish(),\n\n // Experimentation\n experimentId: experimentIdField.nullish(),\n} as const;\n\n/**\n * Context fields shared across observability signals other than spans (metrics, logs, scores, feedback).\n * These use `executionSource` to avoid colliding with signal-specific provenance fields.\n */\nexport const contextFields = {\n ...contextFieldsBase,\n executionSource: executionSourceField.nullish(),\n tags: tagsField.nullish(),\n} as const;\n\n/**\n * Context fields used by tracing/span records.\n * Tracing continues to expose execution provenance as `source`.\n */\nexport const spanContextFields = {\n ...contextFieldsBase,\n source: sourceField.nullish(),\n} as const;\n\n/**\n * Common filter fields shared across observability signal filters (metrics, logs, scores, feedback).\n * All fields are optional — each signal extends this with signal-specific filters.\n */\nexport const commonFilterFields = {\n timestamp: dateRangeSchema.optional().describe('Filter by timestamp range'),\n traceId: z.string().optional().describe('Filter by trace ID'),\n spanId: z.string().optional().describe('Filter by span ID'),\n entityType: entityTypeField.optional(),\n entityName: entityNameField.optional(),\n entityVersionId: entityVersionIdField.optional(),\n parentEntityVersionId: parentEntityVersionIdField.optional(),\n rootEntityVersionId: rootEntityVersionIdField.optional(),\n userId: userIdField.optional(),\n organizationId: organizationIdField.optional(),\n experimentId: experimentIdField.optional(),\n serviceName: serviceNameField.optional(),\n environment: environmentField.optional(),\n parentEntityType: parentEntityTypeField.optional(),\n parentEntityName: parentEntityNameField.optional(),\n rootEntityType: rootEntityTypeField.optional(),\n rootEntityName: rootEntityNameField.optional(),\n resourceId: resourceIdField.optional(),\n runId: runIdField.optional(),\n sessionId: sessionIdField.optional(),\n threadId: threadIdField.optional(),\n requestId: requestIdField.optional(),\n executionSource: executionSourceField.optional(),\n tags: z.array(z.string()).optional().describe('Filter by tags (must have all specified tags)'),\n} as const;\n\n// ============================================================================\n// Tracing identifier fields (shared across scores, feedback, metrics)\n// ============================================================================\n\n/** Zod schema for trace ID field */\nexport const traceIdField = z.string().describe('Unique trace identifier');\n\n/** Zod schema for span ID field */\nexport const spanIdField = z.string().describe('Unique span identifier within a trace');\n","import { z } from 'zod/v4';\nimport {\n commonFilterFields,\n contextFields,\n metadataField,\n paginationArgsSchema,\n paginationInfoSchema,\n sortDirectionSchema,\n spanIdField,\n tagsField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\n/** Log level schema for validation */\nexport const logLevelSchema = z.enum(['debug', 'info', 'warn', 'error', 'fatal']);\n\nconst messageField = z.string().describe('Log message');\nconst logDataField = z.record(z.string(), z.unknown()).describe('Structured data attached to the log');\n\n// ============================================================================\n// LogRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for logs as stored in the database.\n * Includes all fields from ExportedLog plus storage-specific fields.\n */\nexport const logRecordSchema = z\n .object({\n logId: z.string().nullish().describe('Unique id for this log event'),\n timestamp: z.date().describe('When the log was created'),\n level: logLevelSchema.describe('Log severity level'),\n message: messageField,\n data: logDataField.nullish(),\n\n // Correlation\n traceId: traceIdField.nullish(),\n spanId: spanIdField.nullish(),\n\n // Context fields\n ...contextFields,\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().nullish().describe('Execution source'),\n\n metadata: metadataField.nullish(),\n })\n .describe('Log record as stored in the database');\n\n/** Log record type for storage */\nexport type LogRecord = z.infer<typeof logRecordSchema>;\n\n// ============================================================================\n// LogRecordInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided log input (minimal required fields).\n * The logger enriches this with context before emitting ExportedLog.\n */\nexport const logRecordInputSchema = z\n .object({\n level: logLevelSchema,\n message: messageField,\n data: logDataField.optional(),\n tags: tagsField.optional(),\n })\n .describe('User-provided log input');\n\n/** User-facing log input type */\nexport type LogRecordInput = z.infer<typeof logRecordInputSchema>;\n\n// ============================================================================\n// Create Log Schemas\n// ============================================================================\n\n/** Schema for creating a log record */\nexport const createLogRecordSchema = logRecordSchema;\n\n/** Log record for creation (excludes db timestamps) */\nexport type CreateLogRecord = z.infer<typeof createLogRecordSchema>;\n\n/** Schema for batchCreateLogs operation arguments */\nexport const batchCreateLogsArgsSchema = z\n .object({\n logs: z.array(createLogRecordSchema),\n })\n .describe('Arguments for batch creating logs');\n\n/** Arguments for batch creating logs */\nexport type BatchCreateLogsArgs = z.infer<typeof batchCreateLogsArgsSchema>;\n\n// ============================================================================\n// Log Filter Schema\n// ============================================================================\n\n/** Schema for filtering logs in list queries */\nexport const logsFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Log-specific filters\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().optional().describe('Filter by execution source'),\n level: z\n .union([logLevelSchema, z.array(logLevelSchema)])\n .optional()\n .describe('Filter by log level(s)'),\n })\n .describe('Filters for querying logs');\n\n/** Filters for querying logs */\nexport type LogsFilter = z.infer<typeof logsFilterSchema>;\n\n// ============================================================================\n// List Logs Schemas\n// ============================================================================\n\n/** Fields available for ordering log results */\nexport const logsOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for log queries */\nexport const logsOrderBySchema = z\n .object({\n field: logsOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listLogs operation arguments */\nexport const listLogsArgsSchema = z\n .object({\n filters: logsFilterSchema.optional().describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: logsOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing logs');\n\n/** Arguments for listing logs */\nexport type ListLogsArgs = z.input<typeof listLogsArgsSchema>;\n\n/** Schema for listLogs operation response */\nexport const listLogsResponseSchema = z.object({\n pagination: paginationInfoSchema,\n logs: z.array(logRecordSchema),\n});\n\n/** Response containing paginated logs */\nexport type ListLogsResponse = z.infer<typeof listLogsResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n aggregateResponseFields,\n aggregationIntervalSchema,\n aggregationTypeSchema,\n aggregatedValueField,\n bucketTimestampField,\n comparePeriodSchema,\n commonFilterFields,\n experimentIdField,\n contextFields,\n dimensionsField,\n entityTypeField,\n groupBySchema,\n paginationArgsSchema,\n paginationInfoSchema,\n percentileField,\n percentileBucketValueField,\n percentilesSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\nconst scorerIdField = z.string().describe('Identifier of the scorer (e.g., relevance, accuracy)');\nconst scorerNameField = z.string().describe('Display name of the scorer');\nconst scorerVersionField = z.string().describe('Version of the scorer');\nconst scoreSourceField = z.string().describe('How the score was produced (e.g., manual, automated, experiment)');\nconst scoreValueField = z.number().describe('Score value (range defined by scorer)');\nconst scoreReasonField = z.string().describe('Explanation for the score');\n\n// ============================================================================\n// ScoreRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for scores as stored in the database.\n * Includes all fields from ExportedScore plus storage-specific fields.\n */\nexport const scoreRecordSchema = z\n .object({\n scoreId: z.string().nullish().describe('Unique id for this score event'),\n timestamp: z.date().describe('When the score was recorded'),\n\n // Target\n traceId: traceIdField.nullish().describe('Trace that anchors the scored target when available'),\n spanId: spanIdField.nullish().describe('Span ID this score applies to'),\n\n // Score data\n scorerId: scorerIdField,\n scorerName: scorerNameField.nullish(),\n scorerVersion: scorerVersionField.nullish(),\n scoreSource: scoreSourceField.nullish(),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.nullish(),\n score: scoreValueField,\n reason: scoreReasonField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n\n /** Trace ID of the scoring run (links to trace that generated this score) */\n scoreTraceId: z.string().nullish().describe('Trace ID of the scoring run for debugging score generation'),\n\n // User-defined metadata (context fields stored here)\n metadata: z.record(z.string(), z.unknown()).nullish().describe('User-defined metadata'),\n })\n .describe('Score record as stored in the database');\n\n/** Score record type for storage */\nexport type ScoreRecord = z.infer<typeof scoreRecordSchema>;\n\n// ============================================================================\n// ScoreInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided score input (minimal required fields).\n * The span/trace context adds traceId/spanId before emitting ExportedScore.\n */\nexport const scoreInputSchema = z\n .object({\n scorerId: scorerIdField,\n scorerName: scorerNameField.optional(),\n scorerVersion: scorerVersionField.optional(),\n scoreSource: scoreSourceField.optional(),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.optional(),\n score: scoreValueField,\n reason: scoreReasonField.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional scorer-specific metadata'),\n experimentId: experimentIdField.optional(),\n scoreTraceId: z.string().optional().describe('Trace ID of the scoring run for debugging score generation'),\n targetEntityType: entityTypeField.optional().describe('Entity type the scorer evaluated when known'),\n })\n .describe('User-provided score input');\n\n/** User-facing score input type */\nexport type ScoreInput = z.infer<typeof scoreInputSchema>;\n\n// ============================================================================\n// Create Score Schemas\n// ============================================================================\n\n/** Schema for creating a score record */\nexport const createScoreRecordSchema = scoreRecordSchema;\n\n/** Score record for creation */\nexport type CreateScoreRecord = z.infer<typeof createScoreRecordSchema>;\n\n/** Schema for createScore operation arguments */\nexport const createScoreArgsSchema = z\n .object({\n score: createScoreRecordSchema,\n })\n .describe('Arguments for creating a score');\n\n/** Arguments for creating a score */\nexport type CreateScoreArgs = z.infer<typeof createScoreArgsSchema>;\n\n/** Schema for createScore operation body in client/server */\nexport const createScoreBodySchema = z\n .object({\n score: createScoreRecordSchema.omit({ timestamp: true }),\n })\n .describe('Arguments for creating a score');\n\n/** Body for creating a score in client/server */\nexport type CreateScoreBody = z.infer<typeof createScoreBodySchema>;\n\n/** Schema for createScore operation response */\nexport const createScoreResponseSchema = z.object({ success: z.boolean() }).describe('Response from creating a score');\n\n/** Response from creating a score */\nexport type CreateScoreResponse = z.infer<typeof createScoreResponseSchema>;\n\n/** Schema for batchCreateScores operation arguments */\nexport const batchCreateScoresArgsSchema = z\n .object({\n scores: z.array(createScoreRecordSchema),\n })\n .describe('Arguments for batch recording scores');\n\n/** Arguments for batch creating scores */\nexport type BatchCreateScoresArgs = z.infer<typeof batchCreateScoresArgsSchema>;\n\n// ============================================================================\n// Score Filter Schema\n// ============================================================================\n\n/** Schema for filtering scores in list queries */\nexport const scoresFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Score-specific filters\n scorerId: z\n .union([z.string(), z.array(z.string())])\n .optional()\n .describe('Filter by scorer ID(s)'),\n scoreSource: scoreSourceField.optional().describe('Filter by how the score was produced'),\n /**\n * @deprecated Use `scoreSource` instead.\n */\n source: scoreSourceField.optional().describe('Filter by how the score was produced'),\n })\n .describe('Filters for querying scores');\n\n/** Filters for querying scores */\nexport type ScoresFilter = z.infer<typeof scoresFilterSchema>;\n\n// ============================================================================\n// List Scores Schemas\n// ============================================================================\n\n/** Fields available for ordering score results */\nexport const scoresOrderByFieldSchema = z\n .enum(['timestamp', 'score'])\n .describe(\"Field to order by: 'timestamp' | 'score'\");\n\n/** Order by configuration for score queries */\nexport const scoresOrderBySchema = z\n .object({\n field: scoresOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listScores operation arguments */\nexport const listScoresArgsSchema = z\n .object({\n filters: scoresFilterSchema.optional(),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: scoresOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing scores');\n\n/** Arguments for listing scores */\nexport type ListScoresArgs = z.input<typeof listScoresArgsSchema>;\n\n/** Schema for listScores operation response */\nexport const listScoresResponseSchema = z.object({\n pagination: paginationInfoSchema,\n scores: z.array(scoreRecordSchema),\n});\n\n/** Response containing paginated scores */\nexport type ListScoresResponse = z.infer<typeof listScoresResponseSchema>;\n\n// ============================================================================\n// OLAP Query Schemas\n// ============================================================================\n\nexport const getScoreAggregateArgsSchema = z\n .object({\n scorerId: scorerIdField,\n scoreSource: scoreSourceField.optional(),\n aggregation: aggregationTypeSchema,\n filters: scoresFilterSchema.optional(),\n comparePeriod: comparePeriodSchema.optional(),\n })\n .describe('Arguments for getting a score aggregate');\n\nexport type GetScoreAggregateArgs = z.infer<typeof getScoreAggregateArgsSchema>;\n\nexport const getScoreAggregateResponseSchema = z.object(aggregateResponseFields);\n\nexport type GetScoreAggregateResponse = z.infer<typeof getScoreAggregateResponseSchema>;\n\nexport const getScoreBreakdownArgsSchema = z\n .object({\n scorerId: scorerIdField,\n scoreSource: scoreSourceField.optional(),\n groupBy: groupBySchema,\n aggregation: aggregationTypeSchema,\n filters: scoresFilterSchema.optional(),\n })\n .describe('Arguments for getting a score breakdown');\n\nexport type GetScoreBreakdownArgs = z.infer<typeof getScoreBreakdownArgsSchema>;\n\nexport const getScoreBreakdownResponseSchema = z.object({\n groups: z.array(\n z.object({\n dimensions: dimensionsField,\n value: aggregatedValueField,\n }),\n ),\n});\n\nexport type GetScoreBreakdownResponse = z.infer<typeof getScoreBreakdownResponseSchema>;\n\nexport const getScoreTimeSeriesArgsSchema = z\n .object({\n scorerId: scorerIdField,\n scoreSource: scoreSourceField.optional(),\n interval: aggregationIntervalSchema,\n aggregation: aggregationTypeSchema,\n filters: scoresFilterSchema.optional(),\n groupBy: groupBySchema.optional(),\n })\n .describe('Arguments for getting score time series');\n\nexport type GetScoreTimeSeriesArgs = z.infer<typeof getScoreTimeSeriesArgsSchema>;\n\nexport const getScoreTimeSeriesResponseSchema = z.object({\n series: z.array(\n z.object({\n name: z.string().describe('Series name (scorer ID or group key)'),\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: aggregatedValueField,\n }),\n ),\n }),\n ),\n});\n\nexport type GetScoreTimeSeriesResponse = z.infer<typeof getScoreTimeSeriesResponseSchema>;\n\nexport const getScorePercentilesArgsSchema = z\n .object({\n scorerId: scorerIdField,\n scoreSource: scoreSourceField.optional(),\n percentiles: percentilesSchema,\n interval: aggregationIntervalSchema,\n filters: scoresFilterSchema.optional(),\n })\n .describe('Arguments for getting score percentiles');\n\nexport type GetScorePercentilesArgs = z.infer<typeof getScorePercentilesArgsSchema>;\n\nexport const getScorePercentilesResponseSchema = z.object({\n series: z.array(\n z.object({\n percentile: percentileField,\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: percentileBucketValueField,\n }),\n ),\n }),\n ),\n});\n\nexport type GetScorePercentilesResponse = z.infer<typeof getScorePercentilesResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n aggregateResponseFields,\n aggregationIntervalSchema,\n aggregationTypeSchema,\n aggregatedValueField,\n bucketTimestampField,\n comparePeriodSchema,\n commonFilterFields,\n experimentIdField,\n contextFields,\n dimensionsField,\n groupBySchema,\n paginationArgsSchema,\n paginationInfoSchema,\n percentileField,\n percentileBucketValueField,\n percentilesSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n} from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\nconst feedbackSourceField = z.string().describe(\"Source of feedback (e.g., 'user', 'system', 'manual')\");\nconst feedbackTypeField = z.string().describe(\"Type of feedback (e.g., 'thumbs', 'rating', 'correction')\");\nconst feedbackValueField = z\n .union([z.number(), z.string()])\n .describe('Feedback value (rating number or correction text)');\nconst feedbackCommentField = z.string().describe('Additional comment or context');\nconst feedbackUserIdField = z.string().describe('User who provided the feedback');\n\nfunction normalizeLegacyFeedbackActor<T>(input: T): T {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n return input;\n }\n\n const record = { ...(input as Record<string, unknown>) };\n if (typeof record.userId === 'string' && record.feedbackUserId == null) {\n record.feedbackUserId = record.userId;\n delete record.userId;\n }\n\n return record as T;\n}\n\n// ============================================================================\n// FeedbackRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for feedback as stored in the database.\n * Includes all fields from ExportedFeedback plus storage-specific fields.\n */\nconst feedbackRecordObjectSchema = z.object({\n feedbackId: z.string().nullish().describe('Unique id for this feedback event'),\n timestamp: z.date().describe('When the feedback was recorded'),\n\n // Target\n traceId: traceIdField.nullish().describe('Trace that anchors the feedback target when available'),\n spanId: spanIdField.nullish().describe('Span ID this feedback applies to'),\n\n // Feedback data\n feedbackSource: feedbackSourceField.nullish(),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.nullish(),\n feedbackType: feedbackTypeField,\n value: feedbackValueField,\n comment: feedbackCommentField.nullish(),\n\n // Feedback actor identity\n feedbackUserId: feedbackUserIdField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n\n // Source linkage (e.g. dataset item result ID)\n sourceId: z\n .string()\n .nullish()\n .describe('ID of the source record this feedback is linked to (e.g. experiment result ID)'),\n\n // User-defined metadata (context fields stored here)\n metadata: z.record(z.string(), z.unknown()).nullish().describe('User-defined metadata'),\n});\n\nexport const feedbackRecordSchema = z\n .object(feedbackRecordObjectSchema.shape)\n .describe('Feedback record as stored in the database');\n\n/** Feedback record type for storage */\nexport type FeedbackRecord = z.infer<typeof feedbackRecordSchema>;\n\n// ============================================================================\n// FeedbackInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided feedback input (minimal required fields).\n * The span/trace context adds traceId/spanId before emitting ExportedFeedback.\n */\nconst feedbackInputObjectSchema = z.object({\n feedbackSource: feedbackSourceField.optional(),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.optional(),\n feedbackType: feedbackTypeField,\n value: feedbackValueField,\n comment: feedbackCommentField.optional(),\n feedbackUserId: feedbackUserIdField.optional(),\n /**\n * @deprecated Use `feedbackUserId` instead.\n */\n userId: feedbackUserIdField.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional feedback-specific metadata'),\n experimentId: experimentIdField.optional(),\n sourceId: z.string().optional().describe('ID of the source record this feedback is linked to'),\n});\n\nexport const feedbackInputSchema = z.object(feedbackInputObjectSchema.shape).describe('User-provided feedback input');\n\n/** User-facing feedback input type */\nexport type FeedbackInput = z.infer<typeof feedbackInputSchema>;\n\n// ============================================================================\n// Create Feedback Schemas\n// ============================================================================\n\n/** Schema for creating a feedback record */\nexport const createFeedbackRecordSchema = feedbackRecordSchema;\n\n/** Feedback record for creation */\nexport type CreateFeedbackRecord = z.infer<typeof createFeedbackRecordSchema>;\n\n/** Schema for createFeedback operation arguments */\nexport const createFeedbackArgsSchema = z\n .object({\n feedback: z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema),\n })\n .describe('Arguments for creating feedback');\n\n/** Arguments for creating feedback */\nexport type CreateFeedbackArgs = z.infer<typeof createFeedbackArgsSchema>;\n\n/** Schema for createFeedback operation body in client/server */\nexport const createFeedbackBodySchema = z\n .object({\n feedback: feedbackRecordObjectSchema.omit({ timestamp: true }),\n })\n .describe('Arguments for creating feedback');\n\n/** Body for creating feedback in client/server */\nexport type CreateFeedbackBody = z.infer<typeof createFeedbackBodySchema>;\n\n/** Schema for createFeedback operation response */\nexport const createFeedbackResponseSchema = z\n .object({ success: z.boolean() })\n .describe('Response from creating feedback');\n\n/** Response from creating feedback */\nexport type CreateFeedbackResponse = z.infer<typeof createFeedbackResponseSchema>;\n\n/** Schema for batchCreateFeedback operation arguments */\nexport const batchCreateFeedbackArgsSchema = z\n .object({\n feedbacks: z.array(z.preprocess(normalizeLegacyFeedbackActor, feedbackRecordObjectSchema)),\n })\n .describe('Arguments for batch recording feedback');\n\n/** Arguments for batch creating feedback */\nexport type BatchCreateFeedbackArgs = z.infer<typeof batchCreateFeedbackArgsSchema>;\n\n// ============================================================================\n// Feedback Filter Schema\n// ============================================================================\n\n/** Schema for filtering feedback in list queries */\nconst feedbackFilterObjectSchema = z.object({\n ...commonFilterFields,\n\n // Feedback-specific filters\n feedbackType: z\n .union([z.string(), z.array(z.string())])\n .optional()\n .describe('Filter by feedback type(s)'),\n feedbackSource: feedbackSourceField.optional(),\n /**\n * @deprecated Use `feedbackSource` instead.\n */\n source: feedbackSourceField.optional(),\n feedbackUserId: feedbackUserIdField.optional(),\n});\n\nexport const feedbackFilterSchema = z\n .object(feedbackFilterObjectSchema.shape)\n .describe('Filters for querying feedback');\n\n/** Filters for querying feedback */\nexport type FeedbackFilter = z.infer<typeof feedbackFilterSchema>;\n\n// ============================================================================\n// List Feedback Schemas\n// ============================================================================\n\n/** Fields available for ordering feedback results */\nexport const feedbackOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for feedback queries */\nexport const feedbackOrderBySchema = z\n .object({\n field: feedbackOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listFeedback operation arguments */\nexport const listFeedbackArgsSchema = z\n .object({\n filters: z\n .preprocess(normalizeLegacyFeedbackActor, feedbackFilterObjectSchema)\n .optional()\n .describe('Optional filters to apply'),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: feedbackOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing feedback');\n\n/** Arguments for listing feedback */\nexport type ListFeedbackArgs = z.input<typeof listFeedbackArgsSchema>;\n\n/** Schema for listFeedback operation response */\nexport const listFeedbackResponseSchema = z.object({\n pagination: paginationInfoSchema,\n feedback: z.array(feedbackRecordSchema),\n});\n\n/** Response containing paginated feedback */\nexport type ListFeedbackResponse = z.infer<typeof listFeedbackResponseSchema>;\n\n// ============================================================================\n// OLAP Query Schemas\n// ============================================================================\n\nexport const getFeedbackAggregateArgsSchema = z\n .object({\n feedbackType: feedbackTypeField,\n feedbackSource: feedbackSourceField.optional(),\n aggregation: aggregationTypeSchema,\n filters: feedbackFilterSchema.optional(),\n comparePeriod: comparePeriodSchema.optional(),\n })\n .describe('Arguments for getting a feedback aggregate over numeric values');\n\nexport type GetFeedbackAggregateArgs = z.infer<typeof getFeedbackAggregateArgsSchema>;\n\nexport const getFeedbackAggregateResponseSchema = z.object(aggregateResponseFields);\n\nexport type GetFeedbackAggregateResponse = z.infer<typeof getFeedbackAggregateResponseSchema>;\n\nexport const getFeedbackBreakdownArgsSchema = z\n .object({\n feedbackType: feedbackTypeField,\n feedbackSource: feedbackSourceField.optional(),\n groupBy: groupBySchema,\n aggregation: aggregationTypeSchema,\n filters: feedbackFilterSchema.optional(),\n })\n .describe('Arguments for getting a feedback breakdown over numeric values');\n\nexport type GetFeedbackBreakdownArgs = z.infer<typeof getFeedbackBreakdownArgsSchema>;\n\nexport const getFeedbackBreakdownResponseSchema = z.object({\n groups: z.array(\n z.object({\n dimensions: dimensionsField,\n value: aggregatedValueField,\n }),\n ),\n});\n\nexport type GetFeedbackBreakdownResponse = z.infer<typeof getFeedbackBreakdownResponseSchema>;\n\nexport const getFeedbackTimeSeriesArgsSchema = z\n .object({\n feedbackType: feedbackTypeField,\n feedbackSource: feedbackSourceField.optional(),\n interval: aggregationIntervalSchema,\n aggregation: aggregationTypeSchema,\n filters: feedbackFilterSchema.optional(),\n groupBy: groupBySchema.optional(),\n })\n .describe('Arguments for getting feedback time series over numeric values');\n\nexport type GetFeedbackTimeSeriesArgs = z.infer<typeof getFeedbackTimeSeriesArgsSchema>;\n\nexport const getFeedbackTimeSeriesResponseSchema = z.object({\n series: z.array(\n z.object({\n name: z.string().describe('Series name (feedback type or group key)'),\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: aggregatedValueField,\n }),\n ),\n }),\n ),\n});\n\nexport type GetFeedbackTimeSeriesResponse = z.infer<typeof getFeedbackTimeSeriesResponseSchema>;\n\nexport const getFeedbackPercentilesArgsSchema = z\n .object({\n feedbackType: feedbackTypeField,\n feedbackSource: feedbackSourceField.optional(),\n percentiles: percentilesSchema,\n interval: aggregationIntervalSchema,\n filters: feedbackFilterSchema.optional(),\n })\n .describe('Arguments for getting feedback percentiles over numeric values');\n\nexport type GetFeedbackPercentilesArgs = z.infer<typeof getFeedbackPercentilesArgsSchema>;\n\nexport const getFeedbackPercentilesResponseSchema = z.object({\n series: z.array(\n z.object({\n percentile: percentileField,\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: percentileBucketValueField,\n }),\n ),\n }),\n ),\n});\n\nexport type GetFeedbackPercentilesResponse = z.infer<typeof getFeedbackPercentilesResponseSchema>;\n","import { z } from 'zod/v4';\nimport {\n aggregateResponseFields,\n aggregationIntervalSchema,\n aggregationTypeSchema,\n aggregatedValueField,\n bucketTimestampField,\n comparePeriodSchema,\n commonFilterFields,\n contextFields,\n dimensionsField,\n groupBySchema,\n paginationArgsSchema,\n paginationInfoSchema,\n percentileField,\n percentileBucketValueField,\n percentilesSchema,\n sortDirectionSchema,\n spanIdField,\n traceIdField,\n metadataField,\n} from '../shared';\nimport type { AggregationType } from '../shared';\n\n// ============================================================================\n// Field Schemas\n// ============================================================================\n\n/**\n * @deprecated MetricType is no longer stored. All metrics are raw events\n * with aggregation determined at query time.\n */\nexport const metricTypeSchema = z.enum(['counter', 'gauge', 'histogram']);\n\nconst metricNameField = z.string().describe('Metric name (e.g., mastra_agent_duration_ms)');\nconst metricValueField = z.number().describe('Metric value');\nconst labelsField = z.record(z.string(), z.string()).describe('Metric labels for dimensional filtering');\nconst providerField = z.string().describe('Model provider');\nconst modelField = z.string().describe('Model');\nconst estimatedCostField = z.number().describe('Estimated cost');\nconst costUnitField = z.string().describe('Unit for the estimated cost (e.g., usd)');\nconst costMetadField = z.record(z.string(), z.unknown()).nullish().describe('Structured costing metadata');\n\n// ============================================================================\n// MetricRecord Schema (Storage Format)\n// ============================================================================\n\n/**\n * Schema for metrics as stored in the database.\n * Each record is a single metric observation.\n */\nexport const metricRecordSchema = z\n .object({\n metricId: z.string().nullish().describe('Unique id for this metric event'),\n timestamp: z.date().describe('When the metric was recorded'),\n name: metricNameField,\n value: metricValueField,\n\n // Correlation\n traceId: traceIdField.nullish(),\n spanId: spanIdField.nullish(),\n\n // Context (entity hierarchy, identity, correlation, deployment, experimentation)\n ...contextFields,\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().nullish().describe('Execution source'),\n\n // Canonical costing fields\n provider: providerField.nullish(),\n model: modelField.nullish(),\n\n // Estimated cost related fields\n estimatedCost: estimatedCostField.nullish(),\n costUnit: costUnitField.nullish(),\n costMetadata: costMetadField.nullish(),\n\n // User-defined labels used for filtering\n labels: labelsField.default({}),\n\n // User-defined metadata\n metadata: metadataField.nullish(),\n })\n .describe('Metric record as stored in the database');\n\n/** Metric record type for storage */\nexport type MetricRecord = z.infer<typeof metricRecordSchema>;\n\n// ============================================================================\n// MetricInput Schema (User-Facing API)\n// ============================================================================\n\n/**\n * Schema for user-provided metric input (minimal required fields).\n * The metrics context enriches this with environment before emitting ExportedMetric.\n */\nexport const metricInputSchema = z\n .object({\n name: metricNameField,\n value: metricValueField,\n labels: labelsField.optional(),\n })\n .describe('User-provided metric input');\n\n/** User-facing metric input type */\nexport type MetricInput = z.infer<typeof metricInputSchema>;\n\n// ============================================================================\n// Create Metric Schemas\n// ============================================================================\n\n/** Schema for creating a metric record (without db timestamps) */\nexport const createMetricRecordSchema = metricRecordSchema;\n\n/** Metric record for creation (excludes db timestamps) */\nexport type CreateMetricRecord = z.infer<typeof createMetricRecordSchema>;\n\n/** Schema for batchCreateMetrics operation arguments */\nexport const batchCreateMetricsArgsSchema = z\n .object({\n metrics: z.array(createMetricRecordSchema),\n })\n .describe('Arguments for batch recording metrics');\n\n/** Arguments for batch recording metrics */\nexport type BatchCreateMetricsArgs = z.infer<typeof batchCreateMetricsArgsSchema>;\n\n// ============================================================================\n// Metric Aggregation Schemas\n// ============================================================================\n\n/** Schema for metric aggregation configuration */\nexport const metricsAggregationSchema = z\n .object({\n type: aggregationTypeSchema,\n interval: aggregationIntervalSchema.optional(),\n groupBy: groupBySchema.optional(),\n })\n .describe('Metrics aggregation configuration');\n\n/** Metrics aggregation configuration type */\nexport type MetricsAggregation = z.infer<typeof metricsAggregationSchema>;\n\n// ============================================================================\n// Metric Filter Schema\n// ============================================================================\n\n/** Schema for filtering metrics in queries */\nexport const metricsFilterSchema = z\n .object({\n ...commonFilterFields,\n\n // Metric identification\n name: z.array(z.string()).nonempty().optional().describe('Filter by metric name(s)'),\n\n /**\n * @deprecated Use `executionSource` instead.\n */\n source: z.string().optional().describe('Filter by execution source'),\n\n // Canonical costing filters\n provider: providerField.optional(),\n model: modelField.optional(),\n costUnit: costUnitField.optional(),\n\n // Label filters (exact match on label values)\n labels: z.record(z.string(), z.string()).optional().describe('Exact match on label key-value pairs'),\n })\n .describe('Filters for querying metrics');\n\n/** Filters for querying metrics */\nexport type MetricsFilter = z.infer<typeof metricsFilterSchema>;\n\n/** Fields available for ordering metric list results */\nexport const metricsOrderByFieldSchema = z.enum(['timestamp']).describe(\"Field to order by: 'timestamp'\");\n\n/** Order by configuration for metric list queries */\nexport const metricsOrderBySchema = z\n .object({\n field: metricsOrderByFieldSchema.default('timestamp').describe('Field to order by'),\n direction: sortDirectionSchema.default('DESC').describe('Sort direction'),\n })\n .describe('Order by configuration');\n\n/** Schema for listMetrics operation arguments */\nexport const listMetricsArgsSchema = z\n .object({\n filters: metricsFilterSchema.optional(),\n pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe('Pagination settings'),\n orderBy: metricsOrderBySchema\n .default({ field: 'timestamp', direction: 'DESC' })\n .describe('Ordering configuration (defaults to timestamp desc)'),\n })\n .describe('Arguments for listing metrics');\n\n/** Arguments for listing metrics */\nexport type ListMetricsArgs = z.input<typeof listMetricsArgsSchema>;\n\n/** Schema for listMetrics operation response */\nexport const listMetricsResponseSchema = z.object({\n pagination: paginationInfoSchema,\n metrics: z.array(metricRecordSchema),\n});\n\n/** Response containing paginated metrics */\nexport type ListMetricsResponse = z.infer<typeof listMetricsResponseSchema>;\n\n// ============================================================================\n// OLAP Query Schemas\n// ============================================================================\n\n/**\n * Columns eligible for `count_distinct`.\n *\n * Restricted to low/medium-cardinality categorical attributes. ID columns are\n * intentionally excluded — approximate distinct count over near-unique values\n * converges to the row count and is rarely a useful KPI.\n */\nexport const METRIC_DISTINCT_COLUMNS = [\n 'entityType',\n 'entityName',\n 'parentEntityType',\n 'parentEntityName',\n 'rootEntityType',\n 'rootEntityName',\n 'name',\n 'provider',\n 'model',\n 'environment',\n 'executionSource',\n 'serviceName',\n 'threadId',\n 'resourceId',\n] as const;\n\nexport type MetricDistinctColumn = (typeof METRIC_DISTINCT_COLUMNS)[number];\n\nexport const distinctColumnSchema = z\n .enum(METRIC_DISTINCT_COLUMNS)\n .optional()\n .describe(\n \"Column to apply count_distinct over (required when aggregation is 'count_distinct'). Restricted to allowlisted metric dimensions.\",\n );\n\n// --- getMetricAggregate ---\n\nconst requireDistinctColumnRefinement = {\n check: (data: { aggregation: AggregationType; distinctColumn?: string | undefined }) =>\n data.aggregation !== 'count_distinct' || data.distinctColumn !== undefined,\n options: {\n message: \"distinctColumn is required when aggregation is 'count_distinct'\",\n path: ['distinctColumn'],\n },\n};\n\nexport const getMetricAggregateArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s) to aggregate'),\n aggregation: aggregationTypeSchema,\n distinctColumn: distinctColumnSchema,\n filters: metricsFilterSchema.optional(),\n comparePeriod: comparePeriodSchema.optional(),\n })\n .refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options)\n .describe('Arguments for getting a metric aggregate');\n\nexport type GetMetricAggregateArgs = z.infer<typeof getMetricAggregateArgsSchema>;\n\nexport const getMetricAggregateResponseSchema = z.object({\n ...aggregateResponseFields,\n estimatedCost: z.number().nullable().optional().describe('Aggregated estimated cost from the same filtered row set'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for the aggregated rows, or null when mixed/unknown'),\n previousEstimatedCost: z\n .number()\n .nullable()\n .optional()\n .describe('Aggregated estimated cost from the comparison period'),\n costChangePercent: z\n .number()\n .nullable()\n .optional()\n .describe('Percentage change in estimated cost from comparison period'),\n});\n\nexport type GetMetricAggregateResponse = z.infer<typeof getMetricAggregateResponseSchema>;\n\n// --- getMetricBreakdown ---\n\nexport const getMetricBreakdownArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s) to break down'),\n groupBy: groupBySchema,\n aggregation: aggregationTypeSchema,\n distinctColumn: distinctColumnSchema,\n filters: metricsFilterSchema.optional(),\n limit: z\n .number()\n .int()\n .positive()\n .max(1000)\n .optional()\n .describe('Maximum number of groups to return (server-side TopK). Required for high-cardinality groupBy.'),\n orderDirection: sortDirectionSchema\n .optional()\n .describe(\n \"Sort direction for the aggregated value (defaults to 'DESC' at the storage layer; pairs with limit for top/bottom-N).\",\n ),\n })\n .refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options)\n .describe('Arguments for getting a metric breakdown');\n\nexport type GetMetricBreakdownArgs = z.infer<typeof getMetricBreakdownArgsSchema>;\n\nexport const getMetricBreakdownResponseSchema = z.object({\n groups: z.array(\n z.object({\n dimensions: dimensionsField,\n value: aggregatedValueField,\n estimatedCost: z.number().nullable().optional().describe('Summed estimated cost for this group'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for this group, or null when mixed/unknown'),\n }),\n ),\n});\n\nexport type GetMetricBreakdownResponse = z.infer<typeof getMetricBreakdownResponseSchema>;\n\n// --- getMetricTimeSeries ---\n\nexport const getMetricTimeSeriesArgsSchema = z\n .object({\n name: z.array(z.string()).nonempty().describe('Metric name(s)'),\n interval: aggregationIntervalSchema,\n aggregation: aggregationTypeSchema,\n distinctColumn: distinctColumnSchema,\n filters: metricsFilterSchema.optional(),\n groupBy: groupBySchema.optional(),\n })\n .refine(requireDistinctColumnRefinement.check, requireDistinctColumnRefinement.options)\n .describe('Arguments for getting metric time series');\n\nexport type GetMetricTimeSeriesArgs = z.infer<typeof getMetricTimeSeriesArgsSchema>;\n\nexport const getMetricTimeSeriesResponseSchema = z.object({\n series: z.array(\n z.object({\n name: z.string().describe('Series name (metric name or group key)'),\n costUnit: z\n .string()\n .nullable()\n .optional()\n .describe('Shared cost unit for this series, or null when mixed/unknown'),\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: aggregatedValueField,\n estimatedCost: z.number().nullable().optional().describe('Summed estimated cost in this bucket'),\n }),\n ),\n }),\n ),\n});\n\nexport type GetMetricTimeSeriesResponse = z.infer<typeof getMetricTimeSeriesResponseSchema>;\n\n// --- getMetricPercentiles ---\n\nexport const getMetricPercentilesArgsSchema = z\n .object({\n name: z.string().describe('Metric name'),\n percentiles: percentilesSchema,\n interval: aggregationIntervalSchema,\n filters: metricsFilterSchema.optional(),\n })\n .describe('Arguments for getting metric percentiles');\n\nexport type GetMetricPercentilesArgs = z.infer<typeof getMetricPercentilesArgsSchema>;\n\nexport const getMetricPercentilesResponseSchema = z.object({\n series: z.array(\n z.object({\n percentile: percentileField,\n points: z.array(\n z.object({\n timestamp: bucketTimestampField,\n value: percentileBucketValueField,\n }),\n ),\n }),\n ),\n});\n\nexport type GetMetricPercentilesResponse = z.infer<typeof getMetricPercentilesResponseSchema>;\n","import { z } from 'zod/v4';\nimport { entityTypeField } from '../shared';\n\n// ============================================================================\n// Metric Discovery\n// ============================================================================\n\n// --- getMetricNames ---\n\nexport const getMetricNamesArgsSchema = z\n .object({\n prefix: z.string().optional().describe('Filter metric names by prefix'),\n limit: z.coerce.number().int().min(1).optional().describe('Maximum number of names to return'),\n })\n .describe('Arguments for getting metric names');\n\nexport type GetMetricNamesArgs = z.infer<typeof getMetricNamesArgsSchema>;\n\nexport const getMetricNamesResponseSchema = z.object({\n names: z.array(z.string()).describe('Distinct metric names'),\n});\n\nexport type GetMetricNamesResponse = z.infer<typeof getMetricNamesResponseSchema>;\n\n// --- getMetricLabelKeys ---\n\nexport const getMetricLabelKeysArgsSchema = z\n .object({\n metricName: z.string().describe('Metric name to get label keys for'),\n })\n .describe('Arguments for getting metric label keys');\n\nexport type GetMetricLabelKeysArgs = z.infer<typeof getMetricLabelKeysArgsSchema>;\n\nexport const getMetricLabelKeysResponseSchema = z.object({\n keys: z.array(z.string()).describe('Distinct label keys for the metric'),\n});\n\nexport type GetMetricLabelKeysResponse = z.infer<typeof getMetricLabelKeysResponseSchema>;\n\n// --- getMetricLabelValues ---\n\nexport const getMetricLabelValuesArgsSchema = z\n .object({\n metricName: z.string().describe('Metric name'),\n labelKey: z.string().describe('Label key to get values for'),\n prefix: z.string().optional().describe('Filter values by prefix'),\n limit: z.coerce.number().int().min(1).optional().describe('Maximum number of values to return'),\n })\n .describe('Arguments for getting label values');\n\nexport type GetMetricLabelValuesArgs = z.infer<typeof getMetricLabelValuesArgsSchema>;\n\nexport const getMetricLabelValuesResponseSchema = z.object({\n values: z.array(z.string()).describe('Distinct label values'),\n});\n\nexport type GetMetricLabelValuesResponse = z.infer<typeof getMetricLabelValuesResponseSchema>;\n\n// ============================================================================\n// Entity & Environment Discovery\n// ============================================================================\n\n// --- getEntityTypes ---\n\nexport const getEntityTypesArgsSchema = z.object({}).describe('Arguments for getting entity types');\n\nexport type GetEntityTypesArgs = z.infer<typeof getEntityTypesArgsSchema>;\n\nexport const getEntityTypesResponseSchema = z.object({\n entityTypes: z.array(entityTypeField).describe('Distinct entity types'),\n});\n\nexport type GetEntityTypesResponse = z.infer<typeof getEntityTypesResponseSchema>;\n\n// --- getEntityNames ---\n\n// TODO(observability): Extend entity-name discovery with query/prefix and limit support.\n// The current UI autocomplete can only refine against a capped result set, which is\n// enough for \"take the top hit\" but not enough for globally-correct shell-style\n// completion. A richer discovery contract should support prefix filtering and bounded\n// result windows, and may also want a root-only mode for root-entity name UX.\nexport const getEntityNamesArgsSchema = z\n .object({\n entityType: entityTypeField.optional().describe('Optional entity type filter'),\n })\n .describe('Arguments for getting entity names');\n\nexport type GetEntityNamesArgs = z.infer<typeof getEntityNamesArgsSchema>;\n\nexport const getEntityNamesResponseSchema = z.object({\n names: z.array(z.string()).describe('Distinct entity names'),\n});\n\nexport type GetEntityNamesResponse = z.infer<typeof getEntityNamesResponseSchema>;\n\n// --- getServiceNames ---\n\nexport const getServiceNamesArgsSchema = z.object({}).describe('Arguments for getting service names');\n\nexport type GetServiceNamesArgs = z.infer<typeof getServiceNamesArgsSchema>;\n\nexport const getServiceNamesResponseSchema = z.object({\n serviceNames: z.array(z.string()).describe('Distinct service names'),\n});\n\nexport type GetServiceNamesResponse = z.infer<typeof getServiceNamesResponseSchema>;\n\n// --- getEnvironments ---\n\nexport const getEnvironmentsArgsSchema = z.object({}).describe('Arguments for getting environments');\n\nexport type GetEnvironmentsArgs = z.infer<typeof getEnvironmentsArgsSchema>;\n\nexport const getEnvironmentsResponseSchema = z.object({\n environments: z.array(z.string()).describe('Distinct environments'),\n});\n\nexport type GetEnvironmentsResponse = z.infer<typeof getEnvironmentsResponseSchema>;\n\n// --- getTags ---\n\nexport const getTagsArgsSchema = z\n .object({\n entityType: entityTypeField.optional().describe('Optional entity type filter'),\n })\n .describe('Arguments for getting tags');\n\nexport type GetTagsArgs = z.infer<typeof getTagsArgsSchema>;\n\nexport const getTagsResponseSchema = z.object({\n tags: z.array(z.string()).describe('Distinct tags'),\n});\n\nexport type GetTagsResponse = z.infer<typeof getTagsResponseSchema>;\n","import {\n // Logs\n logsFilterSchema,\n logsOrderBySchema,\n listLogsResponseSchema,\n // Scores (observability)\n scoresFilterSchema,\n scoresOrderBySchema,\n listScoresResponseSchema as obsListScoresResponseSchema,\n createScoreBodySchema,\n createScoreResponseSchema,\n scoreRecordSchema,\n getScoreAggregateArgsSchema,\n getScoreAggregateResponseSchema,\n getScoreBreakdownArgsSchema,\n getScoreBreakdownResponseSchema,\n getScoreTimeSeriesArgsSchema,\n getScoreTimeSeriesResponseSchema,\n getScorePercentilesArgsSchema,\n getScorePercentilesResponseSchema,\n // Feedback\n feedbackFilterSchema,\n feedbackOrderBySchema,\n listFeedbackResponseSchema,\n createFeedbackBodySchema,\n createFeedbackResponseSchema,\n getFeedbackAggregateArgsSchema,\n getFeedbackAggregateResponseSchema,\n getFeedbackBreakdownArgsSchema,\n getFeedbackBreakdownResponseSchema,\n getFeedbackTimeSeriesArgsSchema,\n getFeedbackTimeSeriesResponseSchema,\n getFeedbackPercentilesArgsSchema,\n getFeedbackPercentilesResponseSchema,\n // Metrics OLAP\n getMetricAggregateArgsSchema,\n getMetricAggregateResponseSchema,\n getMetricBreakdownArgsSchema,\n getMetricBreakdownResponseSchema,\n getMetricTimeSeriesArgsSchema,\n getMetricTimeSeriesResponseSchema,\n getMetricPercentilesArgsSchema,\n getMetricPercentilesResponseSchema,\n // Discovery\n getMetricNamesArgsSchema,\n getMetricNamesResponseSchema,\n getMetricLabelKeysArgsSchema,\n getMetricLabelKeysResponseSchema,\n getMetricLabelValuesArgsSchema,\n getMetricLabelValuesResponseSchema,\n getEntityTypesResponseSchema,\n getEntityNamesArgsSchema,\n getEntityNamesResponseSchema,\n getServiceNamesResponseSchema,\n getEnvironmentsResponseSchema,\n getTagsArgsSchema,\n getTagsResponseSchema,\n paginationArgsSchema,\n} from '@internal/core/storage';\nimport { coreFeatures } from '@mastra/core/features';\nimport { generateSignalId } from '@mastra/core/observability';\nimport { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport type { InferParams, ServerContext, ServerRouteHandler } from '../server-adapter/routes';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { getObservabilityStore, NEW_ROUTE_DEFS } from './observability-shared';\nimport type { RouteDetails } from './observability-shared';\n\nfunction createNewRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n>(\n def: RouteDetails,\n config: {\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n handler: ServerRouteHandler<InferParams<TPathSchema, TQuerySchema, TBodySchema>>;\n },\n) {\n const { handler, ...schemas } = config;\n return createRoute({\n ...def,\n ...schemas,\n responseType: 'json' as const,\n tags: ['Observability'],\n requiresAuth: true,\n handler: (async (params: InferParams<TPathSchema, TQuerySchema, TBodySchema> & ServerContext) => {\n if (!coreFeatures.has('observability:v1.13.2')) {\n throw new HTTPException(501, {\n message: 'New observability endpoints require @mastra/core >= 1.13.2, please upgrade.',\n });\n }\n\n try {\n return await handler(params);\n } catch (error) {\n return handleError(error, `Error calling: '${def.summary.toLocaleLowerCase()}'`);\n }\n }) as ServerRouteHandler<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n 'json'\n >,\n });\n}\n\n// ============================================================================\n// Log Routes\n// ============================================================================\n\nexport const LIST_LOGS = createNewRoute(NEW_ROUTE_DEFS.LIST_LOGS, {\n queryParamSchema: wrapSchemaForQueryParams(\n logsFilterSchema.extend(paginationArgsSchema.shape).extend(logsOrderBySchema.shape).partial(),\n ),\n responseSchema: listLogsResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(logsFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(logsOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listLogs({ filters, pagination, orderBy });\n },\n});\n\n// ============================================================================\n// Score Routes\n// ============================================================================\n\nexport const LIST_SCORES = createNewRoute(NEW_ROUTE_DEFS.LIST_SCORES, {\n queryParamSchema: wrapSchemaForQueryParams(\n scoresFilterSchema.extend(paginationArgsSchema.shape).extend(scoresOrderBySchema.shape).partial(),\n ),\n responseSchema: obsListScoresResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(scoresFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(scoresOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listScores({ filters, pagination, orderBy });\n },\n});\n\nexport const CREATE_SCORE = createNewRoute(NEW_ROUTE_DEFS.CREATE_SCORE, {\n bodySchema: createScoreBodySchema,\n responseSchema: createScoreResponseSchema,\n handler: async ({ mastra, score }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.createScore({\n score: { ...score, scoreId: score.scoreId ?? generateSignalId(), timestamp: new Date() },\n });\n return { success: true };\n },\n});\n\nexport const GET_SCORE = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE, {\n pathParamSchema: z.object({ scoreId: z.string() }),\n responseSchema: z.object({ score: scoreRecordSchema.nullable() }),\n handler: async ({ mastra, scoreId }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n const score = await observabilityStore.getScoreById(scoreId);\n return { score: score ?? null };\n },\n});\n\nexport const GET_SCORE_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_AGGREGATE, {\n bodySchema: getScoreAggregateArgsSchema,\n responseSchema: getScoreAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreAggregate(args);\n },\n});\n\nexport const GET_SCORE_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_BREAKDOWN, {\n bodySchema: getScoreBreakdownArgsSchema,\n responseSchema: getScoreBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreBreakdown(args);\n },\n});\n\nexport const GET_SCORE_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_TIME_SERIES, {\n bodySchema: getScoreTimeSeriesArgsSchema,\n responseSchema: getScoreTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScoreTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScoreTimeSeries(args);\n },\n});\n\nexport const GET_SCORE_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_SCORE_PERCENTILES, {\n bodySchema: getScorePercentilesArgsSchema,\n responseSchema: getScorePercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getScorePercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getScorePercentiles(args);\n },\n});\n\n// ============================================================================\n// Feedback Routes\n// ============================================================================\n\nexport const LIST_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.LIST_FEEDBACK, {\n queryParamSchema: wrapSchemaForQueryParams(\n feedbackFilterSchema.extend(paginationArgsSchema.shape).extend(feedbackOrderBySchema.shape).partial(),\n ),\n responseSchema: listFeedbackResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const filters = pickParams(feedbackFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(feedbackOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listFeedback({ filters, pagination, orderBy });\n },\n});\n\nexport const CREATE_FEEDBACK = createNewRoute(NEW_ROUTE_DEFS.CREATE_FEEDBACK, {\n bodySchema: createFeedbackBodySchema,\n responseSchema: createFeedbackResponseSchema,\n handler: async ({ mastra, feedback }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n await observabilityStore.createFeedback({\n feedback: { ...feedback, feedbackId: feedback.feedbackId ?? generateSignalId(), timestamp: new Date() },\n });\n return { success: true };\n },\n});\n\nexport const GET_FEEDBACK_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_AGGREGATE, {\n bodySchema: getFeedbackAggregateArgsSchema,\n responseSchema: getFeedbackAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackAggregate(args);\n },\n});\n\nexport const GET_FEEDBACK_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_BREAKDOWN, {\n bodySchema: getFeedbackBreakdownArgsSchema,\n responseSchema: getFeedbackBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackBreakdown(args);\n },\n});\n\nexport const GET_FEEDBACK_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_TIME_SERIES, {\n bodySchema: getFeedbackTimeSeriesArgsSchema,\n responseSchema: getFeedbackTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackTimeSeries(args);\n },\n});\n\nexport const GET_FEEDBACK_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_FEEDBACK_PERCENTILES, {\n bodySchema: getFeedbackPercentilesArgsSchema,\n responseSchema: getFeedbackPercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getFeedbackPercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getFeedbackPercentiles(args);\n },\n});\n\n// ============================================================================\n// Metrics Routes\n// ============================================================================\n\nexport const GET_METRIC_AGGREGATE = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_AGGREGATE, {\n bodySchema: getMetricAggregateArgsSchema,\n responseSchema: getMetricAggregateResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricAggregateArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricAggregate(args);\n },\n});\n\nexport const GET_METRIC_BREAKDOWN = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_BREAKDOWN, {\n bodySchema: getMetricBreakdownArgsSchema,\n responseSchema: getMetricBreakdownResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricBreakdownArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricBreakdown(args);\n },\n});\n\nexport const GET_METRIC_TIME_SERIES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_TIME_SERIES, {\n bodySchema: getMetricTimeSeriesArgsSchema,\n responseSchema: getMetricTimeSeriesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricTimeSeriesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricTimeSeries(args);\n },\n});\n\nexport const GET_METRIC_PERCENTILES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_PERCENTILES, {\n bodySchema: getMetricPercentilesArgsSchema,\n responseSchema: getMetricPercentilesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = pickParams(getMetricPercentilesArgsSchema, params);\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricPercentiles(args);\n },\n});\n\n// ============================================================================\n// Discovery Routes\n// ============================================================================\n\nexport const GET_METRIC_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_NAMES, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricNamesArgsSchema.partial()),\n responseSchema: getMetricNamesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricNamesArgsSchema.parse(pickParams(getMetricNamesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricNames(args);\n },\n});\n\nexport const GET_METRIC_LABEL_KEYS = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_LABEL_KEYS, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricLabelKeysArgsSchema),\n responseSchema: getMetricLabelKeysResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricLabelKeysArgsSchema.parse(pickParams(getMetricLabelKeysArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricLabelKeys(args);\n },\n});\n\nexport const GET_METRIC_LABEL_VALUES = createNewRoute(NEW_ROUTE_DEFS.GET_METRIC_LABEL_VALUES, {\n queryParamSchema: wrapSchemaForQueryParams(getMetricLabelValuesArgsSchema),\n responseSchema: getMetricLabelValuesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getMetricLabelValuesArgsSchema.parse(pickParams(getMetricLabelValuesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getMetricLabelValues(args);\n },\n});\n\nexport const GET_ENTITY_TYPES = createNewRoute(NEW_ROUTE_DEFS.GET_ENTITY_TYPES, {\n responseSchema: getEntityTypesResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEntityTypes({});\n },\n});\n\nexport const GET_ENTITY_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_ENTITY_NAMES, {\n queryParamSchema: wrapSchemaForQueryParams(getEntityNamesArgsSchema.partial()),\n responseSchema: getEntityNamesResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getEntityNamesArgsSchema.parse(pickParams(getEntityNamesArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEntityNames(args);\n },\n});\n\nexport const GET_SERVICE_NAMES = createNewRoute(NEW_ROUTE_DEFS.GET_SERVICE_NAMES, {\n responseSchema: getServiceNamesResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getServiceNames({});\n },\n});\n\nexport const GET_ENVIRONMENTS = createNewRoute(NEW_ROUTE_DEFS.GET_ENVIRONMENTS, {\n responseSchema: getEnvironmentsResponseSchema,\n handler: async ({ mastra }) => {\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.getEnvironments({});\n },\n});\n\nexport const GET_TAGS = createNewRoute(NEW_ROUTE_DEFS.GET_TAGS, {\n queryParamSchema: wrapSchemaForQueryParams(getTagsArgsSchema.partial()),\n responseSchema: getTagsResponseSchema,\n handler: async ({ mastra, ...params }) => {\n const args = getTagsArgsSchema.parse(pickParams(getTagsArgsSchema, params));\n const observabilityStore = await getObservabilityStore(mastra);\n try {\n return await observabilityStore.getTags(args);\n } catch (error) {\n // Some storage providers (e.g. LibSQL) don't support tag discovery\n if (error instanceof Error && error.message.includes('does not support tag discovery')) {\n return { tags: [] };\n }\n throw error;\n }\n },\n});\n\nexport const NEW_ROUTES = {\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/error.ts"],"names":["HTTPException"],"mappings":";;;;;AAmBO,SAAS,cAAA,CACd,OACA,OAAA,EACsE;AACtE,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,MAAA,CAAO,GAAA,CAAI,CAAA,CAAA,MAAM;AAAA,IACpC,KAAA,EAAO,CAAA,CAAE,IAAA,CAAK,MAAA,GAAS,IAAI,CAAA,CAAE,IAAA,CAAK,GAAA,CAAI,CAAA,CAAA,KAAK,OAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AAAA,IAClE,SAAS,CAAA,CAAE;AAAA,GACb,CAAE,CAAA;AAEF,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,WAAW,OAAO,CAAA,CAAA;AAAA,IACzB;AAAA,GACF;AACF;AAGO,SAAS,WAAA,CAAY,OAAgB,cAAA,EAA+B;AACzE,EAAA,MAAM,QAAA,GAAW,KAAA;AAEjB,EAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,SAAS,MAAA,IAAU,GAAA;AAEtE,EAAA,MAAM,IAAIA,gCAAc,cAAA,EAA8B;AAAA,IACpD,OAAA,EAAS,SAAS,OAAA,IAAW,cAAA;AAAA,IAC7B,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,OAAO,QAAA,CAAS;AAAA,GACjB,CAAA;AACH","file":"chunk-B34S64RC.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\ninterface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"]}