@mastra/server 1.33.0-alpha.2 → 1.33.0-alpha.4

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 (321) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +9 -1
  3. package/dist/api-schema-manifest-MWMQI6TE.cjs +58 -0
  4. package/dist/api-schema-manifest-MWMQI6TE.cjs.map +1 -0
  5. package/dist/api-schema-manifest-OBRC34LA.js +56 -0
  6. package/dist/api-schema-manifest-OBRC34LA.js.map +1 -0
  7. package/dist/{chunk-KUCUFXLD.js → chunk-247ZCPZW.js} +6 -6
  8. package/dist/{chunk-KUCUFXLD.js.map → chunk-247ZCPZW.js.map} +1 -1
  9. package/dist/{chunk-DSJM7F5A.js → chunk-27MTROCI.js} +5 -5
  10. package/dist/{chunk-DSJM7F5A.js.map → chunk-27MTROCI.js.map} +1 -1
  11. package/dist/{chunk-GSURMQA2.js → chunk-2RX6OJBY.js} +4 -4
  12. package/dist/{chunk-GSURMQA2.js.map → chunk-2RX6OJBY.js.map} +1 -1
  13. package/dist/{chunk-QAFWIUAD.cjs → chunk-2X3CMUG3.cjs} +6 -6
  14. package/dist/{chunk-QAFWIUAD.cjs.map → chunk-2X3CMUG3.cjs.map} +1 -1
  15. package/dist/{chunk-SRJJBXTO.cjs → chunk-2XNLZANZ.cjs} +11 -11
  16. package/dist/{chunk-SRJJBXTO.cjs.map → chunk-2XNLZANZ.cjs.map} +1 -1
  17. package/dist/{chunk-UWBU3GWI.cjs → chunk-32OIQVBN.cjs} +8 -8
  18. package/dist/{chunk-UWBU3GWI.cjs.map → chunk-32OIQVBN.cjs.map} +1 -1
  19. package/dist/{chunk-ALVHNIDP.js → chunk-3J5YIIAC.js} +4 -4
  20. package/dist/{chunk-ALVHNIDP.js.map → chunk-3J5YIIAC.js.map} +1 -1
  21. package/dist/{chunk-MI3PFFAR.js → chunk-3S77SMGK.js} +97 -6
  22. package/dist/chunk-3S77SMGK.js.map +1 -0
  23. package/dist/{chunk-SAOJYYFE.cjs → chunk-42WZN6MM.cjs} +10 -6
  24. package/dist/chunk-42WZN6MM.cjs.map +1 -0
  25. package/dist/{chunk-NVM46NSG.js → chunk-4OJDWKDW.js} +50 -11
  26. package/dist/chunk-4OJDWKDW.js.map +1 -0
  27. package/dist/chunk-4PB6LUYQ.js +46 -0
  28. package/dist/chunk-4PB6LUYQ.js.map +1 -0
  29. package/dist/{chunk-GUWIV3ZN.cjs → chunk-4QZCXU3A.cjs} +9 -2
  30. package/dist/chunk-4QZCXU3A.cjs.map +1 -0
  31. package/dist/{chunk-F22H7Z7L.cjs → chunk-6Y4L2O5X.cjs} +10 -10
  32. package/dist/{chunk-F22H7Z7L.cjs.map → chunk-6Y4L2O5X.cjs.map} +1 -1
  33. package/dist/{chunk-QCSBOQGP.cjs → chunk-6ZSBLNO2.cjs} +10 -10
  34. package/dist/{chunk-QCSBOQGP.cjs.map → chunk-6ZSBLNO2.cjs.map} +1 -1
  35. package/dist/{chunk-WZKXMP2U.cjs → chunk-767P6IDT.cjs} +212 -120
  36. package/dist/chunk-767P6IDT.cjs.map +1 -0
  37. package/dist/{chunk-RFKNM47Y.js → chunk-76TPFVVB.js} +3 -3
  38. package/dist/{chunk-RFKNM47Y.js.map → chunk-76TPFVVB.js.map} +1 -1
  39. package/dist/{chunk-7LAFXMXB.cjs → chunk-7756JXUH.cjs} +3 -2
  40. package/dist/{chunk-7LAFXMXB.cjs.map → chunk-7756JXUH.cjs.map} +1 -1
  41. package/dist/{chunk-Y32L6Z5V.cjs → chunk-7BXQ2HFG.cjs} +33 -33
  42. package/dist/{chunk-Y32L6Z5V.cjs.map → chunk-7BXQ2HFG.cjs.map} +1 -1
  43. package/dist/{chunk-ABCXNCRJ.js → chunk-A3SH6O3E.js} +3 -3
  44. package/dist/{chunk-ABCXNCRJ.js.map → chunk-A3SH6O3E.js.map} +1 -1
  45. package/dist/{chunk-APVIDF5T.cjs → chunk-AH7FPYBH.cjs} +7 -7
  46. package/dist/{chunk-APVIDF5T.cjs.map → chunk-AH7FPYBH.cjs.map} +1 -1
  47. package/dist/{chunk-JHUXQK47.cjs → chunk-AJV6ZSUS.cjs} +11 -11
  48. package/dist/{chunk-JHUXQK47.cjs.map → chunk-AJV6ZSUS.cjs.map} +1 -1
  49. package/dist/{chunk-EPYO4OC5.js → chunk-AN5GEDCI.js} +3 -3
  50. package/dist/{chunk-EPYO4OC5.js.map → chunk-AN5GEDCI.js.map} +1 -1
  51. package/dist/{chunk-FZSDG2KA.cjs → chunk-AV3ZGKEA.cjs} +10 -10
  52. package/dist/{chunk-FZSDG2KA.cjs.map → chunk-AV3ZGKEA.cjs.map} +1 -1
  53. package/dist/{chunk-6NY3T42O.js → chunk-BIUL4Y6W.js} +10 -6
  54. package/dist/chunk-BIUL4Y6W.js.map +1 -0
  55. package/dist/{chunk-YH452QGH.js → chunk-BMACQWOU.js} +3 -3
  56. package/dist/{chunk-YH452QGH.js.map → chunk-BMACQWOU.js.map} +1 -1
  57. package/dist/{chunk-X37VNBBB.cjs → chunk-BQDKIKTT.cjs} +28 -28
  58. package/dist/{chunk-X37VNBBB.cjs.map → chunk-BQDKIKTT.cjs.map} +1 -1
  59. package/dist/{chunk-CNTWPG57.cjs → chunk-CXAJPAJ2.cjs} +9 -2
  60. package/dist/chunk-CXAJPAJ2.cjs.map +1 -0
  61. package/dist/{chunk-FE2MMCKW.js → chunk-D4XVXXDX.js} +5 -5
  62. package/dist/{chunk-FE2MMCKW.js.map → chunk-D4XVXXDX.js.map} +1 -1
  63. package/dist/{chunk-URRUDXO5.cjs → chunk-D5H4LH6V.cjs} +35 -35
  64. package/dist/{chunk-URRUDXO5.cjs.map → chunk-D5H4LH6V.cjs.map} +1 -1
  65. package/dist/{chunk-CJ2LC5EE.cjs → chunk-DBY645PQ.cjs} +164 -19
  66. package/dist/chunk-DBY645PQ.cjs.map +1 -0
  67. package/dist/{chunk-F6MVX6E6.cjs → chunk-DWQGAKMB.cjs} +11 -11
  68. package/dist/{chunk-F6MVX6E6.cjs.map → chunk-DWQGAKMB.cjs.map} +1 -1
  69. package/dist/{chunk-4QGPES7N.js → chunk-E5BDG6JI.js} +3 -3
  70. package/dist/{chunk-4QGPES7N.js.map → chunk-E5BDG6JI.js.map} +1 -1
  71. package/dist/chunk-E7UDPLDF.cjs +53 -0
  72. package/dist/chunk-E7UDPLDF.cjs.map +1 -0
  73. package/dist/{chunk-OGFJRI4R.js → chunk-EIJLTW5X.js} +19 -5
  74. package/dist/chunk-EIJLTW5X.js.map +1 -0
  75. package/dist/{chunk-KDUX3YN3.js → chunk-GDACR4PY.js} +3 -3
  76. package/dist/{chunk-KDUX3YN3.js.map → chunk-GDACR4PY.js.map} +1 -1
  77. package/dist/{chunk-V4DZUIDM.cjs → chunk-GG537BE6.cjs} +28 -28
  78. package/dist/{chunk-V4DZUIDM.cjs.map → chunk-GG537BE6.cjs.map} +1 -1
  79. package/dist/{chunk-BSGOXMAI.js → chunk-GI74MHRA.js} +3 -3
  80. package/dist/{chunk-BSGOXMAI.js.map → chunk-GI74MHRA.js.map} +1 -1
  81. package/dist/{chunk-QXG537D5.cjs → chunk-GTHHWVCO.cjs} +11 -11
  82. package/dist/{chunk-QXG537D5.cjs.map → chunk-GTHHWVCO.cjs.map} +1 -1
  83. package/dist/{chunk-44K6EWHN.cjs → chunk-GWLMGMHI.cjs} +528 -342
  84. package/dist/chunk-GWLMGMHI.cjs.map +1 -0
  85. package/dist/{chunk-LS5NHYVW.js → chunk-HX5WL5ZF.js} +3 -3
  86. package/dist/{chunk-LS5NHYVW.js.map → chunk-HX5WL5ZF.js.map} +1 -1
  87. package/dist/{chunk-H656FJUZ.js → chunk-I45VWZBS.js} +3 -3
  88. package/dist/{chunk-H656FJUZ.js.map → chunk-I45VWZBS.js.map} +1 -1
  89. package/dist/{chunk-UEACXZ5C.cjs → chunk-IIGNRK55.cjs} +4 -4
  90. package/dist/{chunk-UEACXZ5C.cjs.map → chunk-IIGNRK55.cjs.map} +1 -1
  91. package/dist/{chunk-V5AXCSSN.js → chunk-ING7J2GB.js} +4 -4
  92. package/dist/{chunk-V5AXCSSN.js.map → chunk-ING7J2GB.js.map} +1 -1
  93. package/dist/{chunk-SXARBGNQ.js → chunk-IQAV36GV.js} +3 -3
  94. package/dist/{chunk-SXARBGNQ.js.map → chunk-IQAV36GV.js.map} +1 -1
  95. package/dist/{chunk-K7IVZQKI.cjs → chunk-IQMLYFOO.cjs} +6 -6
  96. package/dist/{chunk-K7IVZQKI.cjs.map → chunk-IQMLYFOO.cjs.map} +1 -1
  97. package/dist/{chunk-GQOWV33T.js → chunk-IUXM3WA2.js} +9 -5
  98. package/dist/chunk-IUXM3WA2.js.map +1 -0
  99. package/dist/{chunk-R3DQGOTC.cjs → chunk-J4FVO25L.cjs} +12 -8
  100. package/dist/chunk-J4FVO25L.cjs.map +1 -0
  101. package/dist/{chunk-JU54MAJE.js → chunk-JNIAMBSQ.js} +4 -4
  102. package/dist/{chunk-JU54MAJE.js.map → chunk-JNIAMBSQ.js.map} +1 -1
  103. package/dist/{chunk-MJXZZQ5O.js → chunk-JX5CEUXO.js} +3 -3
  104. package/dist/{chunk-MJXZZQ5O.js.map → chunk-JX5CEUXO.js.map} +1 -1
  105. package/dist/{chunk-43CWQ4M3.js → chunk-KCVOCZXG.js} +9 -3
  106. package/dist/chunk-KCVOCZXG.js.map +1 -0
  107. package/dist/{chunk-TJNZEYLA.js → chunk-KEE6UMGC.js} +9 -2
  108. package/dist/chunk-KEE6UMGC.js.map +1 -0
  109. package/dist/{chunk-KUEMDK4R.js → chunk-LVWQGVPZ.js} +3 -3
  110. package/dist/{chunk-KUEMDK4R.js.map → chunk-LVWQGVPZ.js.map} +1 -1
  111. package/dist/{chunk-MMHEXUTF.cjs → chunk-LWBJ5GUU.cjs} +7 -7
  112. package/dist/{chunk-MMHEXUTF.cjs.map → chunk-LWBJ5GUU.cjs.map} +1 -1
  113. package/dist/{chunk-XBT4ZT22.js → chunk-LYDIFPB2.js} +4 -4
  114. package/dist/{chunk-XBT4ZT22.js.map → chunk-LYDIFPB2.js.map} +1 -1
  115. package/dist/{chunk-I34RGOPQ.js → chunk-MF6GSHTO.js} +4 -4
  116. package/dist/{chunk-I34RGOPQ.js.map → chunk-MF6GSHTO.js.map} +1 -1
  117. package/dist/{chunk-GXSML4LI.js → chunk-MLEUYQFZ.js} +3 -3
  118. package/dist/{chunk-GXSML4LI.js.map → chunk-MLEUYQFZ.js.map} +1 -1
  119. package/dist/{chunk-YF6DVWNN.cjs → chunk-MOH4DZJP.cjs} +60 -21
  120. package/dist/chunk-MOH4DZJP.cjs.map +1 -0
  121. package/dist/{chunk-EXVKDDKD.cjs → chunk-MUMWXLVB.cjs} +10 -10
  122. package/dist/{chunk-EXVKDDKD.cjs.map → chunk-MUMWXLVB.cjs.map} +1 -1
  123. package/dist/{chunk-VIX5OA2V.cjs → chunk-MW23D33F.cjs} +42 -40
  124. package/dist/chunk-MW23D33F.cjs.map +1 -0
  125. package/dist/{chunk-SMAUVMWQ.cjs → chunk-MZFFAVXZ.cjs} +10 -10
  126. package/dist/{chunk-SMAUVMWQ.cjs.map → chunk-MZFFAVXZ.cjs.map} +1 -1
  127. package/dist/{chunk-XI4WY2MX.cjs → chunk-N2JR3ER7.cjs} +28 -28
  128. package/dist/{chunk-XI4WY2MX.cjs.map → chunk-N2JR3ER7.cjs.map} +1 -1
  129. package/dist/{chunk-3KIFZFY7.js → chunk-NHQKZEVJ.js} +134 -9
  130. package/dist/chunk-NHQKZEVJ.js.map +1 -0
  131. package/dist/{chunk-DTCRA7JS.js → chunk-NPNRCLYK.js} +445 -259
  132. package/dist/chunk-NPNRCLYK.js.map +1 -0
  133. package/dist/{chunk-YWORLTQM.js → chunk-OCFLDDPE.js} +7 -5
  134. package/dist/chunk-OCFLDDPE.js.map +1 -0
  135. package/dist/{chunk-W5JSRJAK.js → chunk-OMOR5OUN.js} +5 -5
  136. package/dist/{chunk-W5JSRJAK.js.map → chunk-OMOR5OUN.js.map} +1 -1
  137. package/dist/{chunk-YEAIZPBY.js → chunk-OSXOHBCO.js} +4 -4
  138. package/dist/{chunk-YEAIZPBY.js.map → chunk-OSXOHBCO.js.map} +1 -1
  139. package/dist/{chunk-R6JGZX7Q.cjs → chunk-P2QL4REX.cjs} +13 -13
  140. package/dist/{chunk-R6JGZX7Q.cjs.map → chunk-P2QL4REX.cjs.map} +1 -1
  141. package/dist/{chunk-EUJHJEM6.cjs → chunk-QICD4OAR.cjs} +10 -10
  142. package/dist/{chunk-EUJHJEM6.cjs.map → chunk-QICD4OAR.cjs.map} +1 -1
  143. package/dist/{chunk-P6DRWWFU.cjs → chunk-RNRF4YCD.cjs} +24 -24
  144. package/dist/{chunk-P6DRWWFU.cjs.map → chunk-RNRF4YCD.cjs.map} +1 -1
  145. package/dist/{chunk-ELU7GCBF.cjs → chunk-SZOC7JGR.cjs} +52 -52
  146. package/dist/{chunk-ELU7GCBF.cjs.map → chunk-SZOC7JGR.cjs.map} +1 -1
  147. package/dist/{chunk-HTSSEM5Z.cjs → chunk-TRB4NGQ3.cjs} +21 -6
  148. package/dist/chunk-TRB4NGQ3.cjs.map +1 -0
  149. package/dist/{chunk-VF2DSR6J.js → chunk-TZFIX2NI.js} +4 -4
  150. package/dist/{chunk-VF2DSR6J.js.map → chunk-TZFIX2NI.js.map} +1 -1
  151. package/dist/{chunk-SOJ2UNB6.js → chunk-UP6HQJYH.js} +3 -3
  152. package/dist/{chunk-SOJ2UNB6.js.map → chunk-UP6HQJYH.js.map} +1 -1
  153. package/dist/chunk-UVLQSMYF.js +628 -0
  154. package/dist/chunk-UVLQSMYF.js.map +1 -0
  155. package/dist/{chunk-XCIJHMUE.js → chunk-UWN75FKT.js} +3 -3
  156. package/dist/{chunk-XCIJHMUE.js.map → chunk-UWN75FKT.js.map} +1 -1
  157. package/dist/{chunk-ZV7XANBD.cjs → chunk-V67XVMFK.cjs} +10 -10
  158. package/dist/{chunk-ZV7XANBD.cjs.map → chunk-V67XVMFK.cjs.map} +1 -1
  159. package/dist/{chunk-JLRBUMQA.cjs → chunk-VQMQBGDO.cjs} +10 -10
  160. package/dist/{chunk-JLRBUMQA.cjs.map → chunk-VQMQBGDO.cjs.map} +1 -1
  161. package/dist/{chunk-LYXVNT6L.cjs → chunk-WC3F3EA5.cjs} +18 -18
  162. package/dist/{chunk-LYXVNT6L.cjs.map → chunk-WC3F3EA5.cjs.map} +1 -1
  163. package/dist/{chunk-5APP5R3R.cjs → chunk-WYH3OM52.cjs} +5 -5
  164. package/dist/{chunk-5APP5R3R.cjs.map → chunk-WYH3OM52.cjs.map} +1 -1
  165. package/dist/{chunk-MG4EE3KA.cjs → chunk-XCXGX26I.cjs} +11 -11
  166. package/dist/{chunk-MG4EE3KA.cjs.map → chunk-XCXGX26I.cjs.map} +1 -1
  167. package/dist/{chunk-CFK4R6LE.js → chunk-XKGJU4H3.js} +3 -3
  168. package/dist/{chunk-CFK4R6LE.js.map → chunk-XKGJU4H3.js.map} +1 -1
  169. package/dist/{chunk-DK46ZSF7.js → chunk-XMHZ4DSE.js} +3 -3
  170. package/dist/{chunk-DK46ZSF7.js.map → chunk-XMHZ4DSE.js.map} +1 -1
  171. package/dist/{chunk-RRS33WBW.cjs → chunk-XOQX6DBB.cjs} +6 -6
  172. package/dist/{chunk-RRS33WBW.cjs.map → chunk-XOQX6DBB.cjs.map} +1 -1
  173. package/dist/chunk-Y5FNAVOR.cjs +634 -0
  174. package/dist/chunk-Y5FNAVOR.cjs.map +1 -0
  175. package/dist/{chunk-X2LYM3QK.js → chunk-YCL2MS5R.js} +3 -3
  176. package/dist/{chunk-X2LYM3QK.js.map → chunk-YCL2MS5R.js.map} +1 -1
  177. package/dist/{chunk-GTERDDNK.js → chunk-ZMQTGPEU.js} +3 -3
  178. package/dist/{chunk-GTERDDNK.js.map → chunk-ZMQTGPEU.js.map} +1 -1
  179. package/dist/docs/SKILL.md +1 -1
  180. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  181. package/dist/server/a2a/agent-card-signing.d.ts +7 -0
  182. package/dist/server/a2a/agent-card-signing.d.ts.map +1 -0
  183. package/dist/server/handlers/a2a.cjs +14 -14
  184. package/dist/server/handlers/a2a.d.ts +10 -0
  185. package/dist/server/handlers/a2a.d.ts.map +1 -1
  186. package/dist/server/handlers/a2a.js +1 -1
  187. package/dist/server/handlers/agent-builder.cjs +16 -16
  188. package/dist/server/handlers/agent-builder.js +1 -1
  189. package/dist/server/handlers/agent-versions.cjs +8 -8
  190. package/dist/server/handlers/agent-versions.js +1 -1
  191. package/dist/server/handlers/agents.cjs +42 -38
  192. package/dist/server/handlers/agents.d.ts +157 -0
  193. package/dist/server/handlers/agents.d.ts.map +1 -1
  194. package/dist/server/handlers/agents.js +1 -1
  195. package/dist/server/handlers/auth.cjs +11 -11
  196. package/dist/server/handlers/auth.js +1 -1
  197. package/dist/server/handlers/background-tasks.cjs +4 -4
  198. package/dist/server/handlers/background-tasks.d.ts +18 -5
  199. package/dist/server/handlers/background-tasks.d.ts.map +1 -1
  200. package/dist/server/handlers/background-tasks.js +1 -1
  201. package/dist/server/handlers/channels.cjs +5 -5
  202. package/dist/server/handlers/channels.js +1 -1
  203. package/dist/server/handlers/conversations.cjs +5 -5
  204. package/dist/server/handlers/conversations.js +1 -1
  205. package/dist/server/handlers/datasets.cjs +26 -26
  206. package/dist/server/handlers/datasets.js +1 -1
  207. package/dist/server/handlers/logs.cjs +4 -4
  208. package/dist/server/handlers/logs.js +1 -1
  209. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  210. package/dist/server/handlers/mcp-client-versions.js +1 -1
  211. package/dist/server/handlers/mcp.cjs +11 -11
  212. package/dist/server/handlers/mcp.js +1 -1
  213. package/dist/server/handlers/memory.cjs +27 -27
  214. package/dist/server/handlers/memory.js +1 -1
  215. package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
  216. package/dist/server/handlers/observability-new-endpoints.d.ts +18 -6
  217. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  218. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  219. package/dist/server/handlers/observability.cjs +38 -38
  220. package/dist/server/handlers/observability.js +2 -2
  221. package/dist/server/handlers/processor-providers.cjs +3 -3
  222. package/dist/server/handlers/processor-providers.js +1 -1
  223. package/dist/server/handlers/processors.cjs +4 -4
  224. package/dist/server/handlers/processors.js +1 -1
  225. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  226. package/dist/server/handlers/prompt-block-versions.js +1 -1
  227. package/dist/server/handlers/responses.cjs +4 -4
  228. package/dist/server/handlers/responses.d.ts +8 -2
  229. package/dist/server/handlers/responses.d.ts.map +1 -1
  230. package/dist/server/handlers/responses.js +1 -1
  231. package/dist/server/handlers/schedules.cjs +6 -6
  232. package/dist/server/handlers/schedules.js +1 -1
  233. package/dist/server/handlers/scorer-versions.cjs +8 -8
  234. package/dist/server/handlers/scorer-versions.js +1 -1
  235. package/dist/server/handlers/scores.cjs +7 -7
  236. package/dist/server/handlers/scores.js +1 -1
  237. package/dist/server/handlers/stored-agents.cjs +7 -7
  238. package/dist/server/handlers/stored-agents.js +1 -1
  239. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  240. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  241. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  242. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  243. package/dist/server/handlers/stored-scorers.cjs +6 -6
  244. package/dist/server/handlers/stored-scorers.js +1 -1
  245. package/dist/server/handlers/stored-skills.cjs +7 -7
  246. package/dist/server/handlers/stored-skills.js +1 -1
  247. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  248. package/dist/server/handlers/stored-workspaces.js +1 -1
  249. package/dist/server/handlers/system.cjs +6 -2
  250. package/dist/server/handlers/system.d.ts +39 -0
  251. package/dist/server/handlers/system.d.ts.map +1 -1
  252. package/dist/server/handlers/system.js +1 -1
  253. package/dist/server/handlers/tool-providers.cjs +5 -5
  254. package/dist/server/handlers/tool-providers.js +1 -1
  255. package/dist/server/handlers/tools.cjs +6 -6
  256. package/dist/server/handlers/tools.js +1 -1
  257. package/dist/server/handlers/vector.cjs +16 -16
  258. package/dist/server/handlers/vector.js +1 -1
  259. package/dist/server/handlers/voice.cjs +8 -8
  260. package/dist/server/handlers/voice.js +1 -1
  261. package/dist/server/handlers/workflows.cjs +24 -24
  262. package/dist/server/handlers/workflows.js +1 -1
  263. package/dist/server/handlers/workspace.cjs +26 -26
  264. package/dist/server/handlers/workspace.js +1 -1
  265. package/dist/server/handlers.cjs +30 -30
  266. package/dist/server/handlers.js +15 -15
  267. package/dist/server/schemas/a2a.d.ts +5 -0
  268. package/dist/server/schemas/a2a.d.ts.map +1 -1
  269. package/dist/server/schemas/agents.d.ts +77 -0
  270. package/dist/server/schemas/agents.d.ts.map +1 -1
  271. package/dist/server/schemas/background-tasks.d.ts +11 -0
  272. package/dist/server/schemas/background-tasks.d.ts.map +1 -1
  273. package/dist/server/schemas/index.cjs +99 -83
  274. package/dist/server/schemas/index.js +5 -5
  275. package/dist/server/schemas/responses.d.ts +3 -1
  276. package/dist/server/schemas/responses.d.ts.map +1 -1
  277. package/dist/server/schemas/system.d.ts +54 -0
  278. package/dist/server/schemas/system.d.ts.map +1 -1
  279. package/dist/server/server-adapter/api-schema-manifest.d.ts +23 -0
  280. package/dist/server/server-adapter/api-schema-manifest.d.ts.map +1 -0
  281. package/dist/server/server-adapter/index.cjs +37 -644
  282. package/dist/server/server-adapter/index.cjs.map +1 -1
  283. package/dist/server/server-adapter/index.js +7 -628
  284. package/dist/server/server-adapter/index.js.map +1 -1
  285. package/dist/server/server-adapter/openapi-utils.d.ts +5 -0
  286. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  287. package/dist/server/server-adapter/routes/a2a.d.ts +10 -0
  288. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  289. package/dist/server/server-adapter/routes/agents.d.ts +2 -1
  290. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  291. package/dist/server/server-adapter/routes/observability.d.ts +9 -3
  292. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  293. package/dist/server/server-adapter/routes/responses.d.ts +8 -2
  294. package/dist/server/server-adapter/routes/responses.d.ts.map +1 -1
  295. package/dist/server/server-adapter/routes/system.d.ts +39 -1
  296. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  297. package/package.json +8 -6
  298. package/dist/chunk-3KIFZFY7.js.map +0 -1
  299. package/dist/chunk-43CWQ4M3.js.map +0 -1
  300. package/dist/chunk-44K6EWHN.cjs.map +0 -1
  301. package/dist/chunk-4P7D66VB.cjs +0 -30
  302. package/dist/chunk-4P7D66VB.cjs.map +0 -1
  303. package/dist/chunk-6NY3T42O.js.map +0 -1
  304. package/dist/chunk-CJ2LC5EE.cjs.map +0 -1
  305. package/dist/chunk-CNTWPG57.cjs.map +0 -1
  306. package/dist/chunk-DTCRA7JS.js.map +0 -1
  307. package/dist/chunk-GGCDSOHW.js +0 -26
  308. package/dist/chunk-GGCDSOHW.js.map +0 -1
  309. package/dist/chunk-GQOWV33T.js.map +0 -1
  310. package/dist/chunk-GUWIV3ZN.cjs.map +0 -1
  311. package/dist/chunk-HTSSEM5Z.cjs.map +0 -1
  312. package/dist/chunk-MI3PFFAR.js.map +0 -1
  313. package/dist/chunk-NVM46NSG.js.map +0 -1
  314. package/dist/chunk-OGFJRI4R.js.map +0 -1
  315. package/dist/chunk-R3DQGOTC.cjs.map +0 -1
  316. package/dist/chunk-SAOJYYFE.cjs.map +0 -1
  317. package/dist/chunk-TJNZEYLA.js.map +0 -1
  318. package/dist/chunk-VIX5OA2V.cjs.map +0 -1
  319. package/dist/chunk-WZKXMP2U.cjs.map +0 -1
  320. package/dist/chunk-YF6DVWNN.cjs.map +0 -1
  321. package/dist/chunk-YWORLTQM.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { conversationItemSchema } from './chunk-6NY3T42O.js';
1
+ import { conversationItemSchema } from './chunk-BIUL4Y6W.js';
2
2
  import { getThreadByIdResponseSchema } from './chunk-CJFSLVFA.js';
3
3
  import z from 'zod';
4
4
 
@@ -31,5 +31,5 @@ var conversationItemsListSchema = z.object({
31
31
  });
32
32
 
33
33
  export { conversationDeletedSchema, conversationIdPathParams, conversationItemsListSchema, conversationObjectSchema, createConversationBodySchema };
34
- //# sourceMappingURL=chunk-LS5NHYVW.js.map
35
- //# sourceMappingURL=chunk-LS5NHYVW.js.map
34
+ //# sourceMappingURL=chunk-HX5WL5ZF.js.map
35
+ //# sourceMappingURL=chunk-HX5WL5ZF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":[],"mappings":";;;;AAIO,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAa,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQ;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,EACpC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAU,EAAE,OAAA;AACd,CAAC","file":"chunk-LS5NHYVW.js","sourcesContent":["import z from 'zod';\nimport { getThreadByIdResponseSchema } from './memory';\nimport { conversationItemSchema } from './responses';\n\nexport const conversationIdPathParams = z.object({\n conversationId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\nexport const createConversationBodySchema = z.object({\n agent_id: z.string().describe('Mastra agent ID used to create the conversation thread'),\n conversation_id: z.string().optional().describe('Optional conversation ID to use as the raw threadId'),\n resource_id: z.string().optional().describe('Optional resource ID to associate with the conversation'),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\n\nexport const conversationObjectSchema = z.object({\n id: z.string(),\n object: z.literal('conversation'),\n thread: getThreadByIdResponseSchema,\n});\n\nexport const conversationDeletedSchema = z.object({\n id: z.string(),\n object: z.literal('conversation.deleted'),\n deleted: z.literal(true),\n});\n\nexport const conversationItemsListSchema = z.object({\n object: z.literal('list'),\n data: z.array(conversationItemSchema),\n first_id: z.string().nullable(),\n last_id: z.string().nullable(),\n has_more: z.boolean(),\n});\n\nexport type ConversationObject = z.infer<typeof conversationObjectSchema>;\nexport type ConversationItemsList = z.infer<typeof conversationItemsListSchema>;\nexport type ConversationDeleted = z.infer<typeof conversationDeletedSchema>;\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":[],"mappings":";;;;AAIO,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAa,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQ;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,EACpC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAU,EAAE,OAAA;AACd,CAAC","file":"chunk-HX5WL5ZF.js","sourcesContent":["import z from 'zod';\nimport { getThreadByIdResponseSchema } from './memory';\nimport { conversationItemSchema } from './responses';\n\nexport const conversationIdPathParams = z.object({\n conversationId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\nexport const createConversationBodySchema = z.object({\n agent_id: z.string().describe('Mastra agent ID used to create the conversation thread'),\n conversation_id: z.string().optional().describe('Optional conversation ID to use as the raw threadId'),\n resource_id: z.string().optional().describe('Optional resource ID to associate with the conversation'),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\n\nexport const conversationObjectSchema = z.object({\n id: z.string(),\n object: z.literal('conversation'),\n thread: getThreadByIdResponseSchema,\n});\n\nexport const conversationDeletedSchema = z.object({\n id: z.string(),\n object: z.literal('conversation.deleted'),\n deleted: z.literal(true),\n});\n\nexport const conversationItemsListSchema = z.object({\n object: z.literal('list'),\n data: z.array(conversationItemSchema),\n first_id: z.string().nullable(),\n last_id: z.string().nullable(),\n has_more: z.boolean(),\n});\n\nexport type ConversationObject = z.infer<typeof conversationObjectSchema>;\nexport type ConversationItemsList = z.infer<typeof conversationItemsListSchema>;\nexport type ConversationDeleted = z.infer<typeof conversationDeletedSchema>;\n"]}
@@ -1,5 +1,5 @@
1
1
  import { computeNextFireAt } from './chunk-KMGGICVD.js';
2
- import { createRoute } from './chunk-KDUX3YN3.js';
2
+ import { createRoute } from './chunk-GDACR4PY.js';
3
3
  import { HTTPException } from './chunk-6QWQZI4Q.js';
4
4
  import { z } from 'zod';
5
5
 
@@ -270,5 +270,5 @@ var RESUME_SCHEDULE_ROUTE = createRoute({
270
270
  });
271
271
 
272
272
  export { GET_SCHEDULE_ROUTE, LIST_SCHEDULES_ROUTE, LIST_SCHEDULE_TRIGGERS_ROUTE, PAUSE_SCHEDULE_ROUTE, RESUME_SCHEDULE_ROUTE };
273
- //# sourceMappingURL=chunk-H656FJUZ.js.map
274
- //# sourceMappingURL=chunk-H656FJUZ.js.map
273
+ //# sourceMappingURL=chunk-I45VWZBS.js.map
274
+ //# sourceMappingURL=chunk-I45VWZBS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/schedules.ts","../src/server/handlers/schedules.ts"],"names":[],"mappings":"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","file":"chunk-H656FJUZ.js","sourcesContent":["import { z } from 'zod';\n\nexport const scheduleStatusSchema = z.enum(['active', 'paused']);\n\nexport const scheduleTargetSchema = z.object({\n type: z.literal('workflow'),\n workflowId: z.string(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const workflowRunStatusSchema = z.enum([\n 'running',\n 'success',\n 'failed',\n 'tripwire',\n 'suspended',\n 'waiting',\n 'pending',\n 'canceled',\n 'bailed',\n 'paused',\n]);\n\nexport const scheduleRunSummarySchema = z.object({\n status: workflowRunStatusSchema,\n startedAt: z.number().optional(),\n completedAt: z.number().optional(),\n durationMs: z.number().optional(),\n error: z.string().optional(),\n});\n\nexport const scheduleResponseSchema = z.object({\n id: z.string(),\n target: scheduleTargetSchema,\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n lastRun: scheduleRunSummarySchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n ownerType: z.string().optional(),\n ownerId: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\nexport const scheduleTriggerOutcomeSchema = z.enum([\n 'published',\n 'failed',\n 'skipped',\n 'acked',\n 'alerted',\n 'deferred',\n 'appended-from-queue',\n 'dropped-stale',\n 'dropped-superseded',\n 'dropped-busy',\n]);\n\nexport const scheduleTriggerKindSchema = z.enum(['schedule-fire', 'queue-drain']);\n\nexport const scheduleTriggerResponseSchema = z.object({\n id: z.string().optional(),\n scheduleId: z.string(),\n runId: z.string().nullable(),\n scheduledFireAt: z.number(),\n actualFireAt: z.number(),\n outcome: scheduleTriggerOutcomeSchema,\n error: z.string().optional(),\n triggerKind: scheduleTriggerKindSchema.optional(),\n parentTriggerId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n run: scheduleRunSummarySchema.optional(),\n});\n\nexport const listSchedulesQuerySchema = z\n .object({\n workflowId: z.string().optional(),\n status: scheduleStatusSchema.optional(),\n ownerType: z.string().optional(),\n ownerId: z.string().optional(),\n })\n .refine(data => data.ownerId === undefined || data.ownerType !== undefined, {\n message: 'ownerId can only be used together with ownerType',\n path: ['ownerId'],\n });\n\nexport const listSchedulesResponseSchema = z.object({\n schedules: z.array(scheduleResponseSchema),\n});\n\nexport const scheduleIdPathParams = z.object({\n scheduleId: z.string(),\n});\n\nexport const listScheduleTriggersQuerySchema = z.object({\n limit: z.coerce.number().int().positive().optional(),\n fromActualFireAt: z.coerce.number().int().nonnegative().optional(),\n toActualFireAt: z.coerce.number().int().nonnegative().optional(),\n});\n\nexport const listScheduleTriggersResponseSchema = z.object({\n triggers: z.array(scheduleTriggerResponseSchema),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { WorkflowRunState } from '@mastra/core/workflows';\n// `computeNextFireAt` is new in @mastra/core@1.32.0; route it through a shim\n// that tolerates older cores (see ./schedules-workflows-shim.ts).\nimport { HTTPException } from '../http-exception';\nimport {\n listSchedulesQuerySchema,\n listSchedulesResponseSchema,\n scheduleIdPathParams,\n scheduleResponseSchema,\n listScheduleTriggersQuerySchema,\n listScheduleTriggersResponseSchema,\n} from '../schemas/schedules';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { computeNextFireAt } from './schedules-workflows-shim';\n\ntype RunSummary = {\n status: WorkflowRunState['status'];\n startedAt?: number;\n completedAt?: number;\n durationMs?: number;\n error?: string;\n};\n\nfunction snapshotToRunSummary(run: {\n snapshot: WorkflowRunState | string;\n createdAt: Date;\n updatedAt: Date;\n}): RunSummary | undefined {\n const snapshot = typeof run.snapshot === 'string' ? null : run.snapshot;\n if (!snapshot) return undefined;\n const startedAt = run.createdAt instanceof Date ? run.createdAt.getTime() : undefined;\n const isTerminal =\n snapshot.status === 'success' ||\n snapshot.status === 'failed' ||\n snapshot.status === 'canceled' ||\n snapshot.status === 'bailed' ||\n snapshot.status === 'tripwire';\n const completedAt = isTerminal ? (run.updatedAt instanceof Date ? run.updatedAt.getTime() : undefined) : undefined;\n const durationMs = startedAt !== undefined && completedAt !== undefined ? completedAt - startedAt : undefined;\n return {\n status: snapshot.status,\n startedAt,\n completedAt,\n durationMs,\n error: snapshot.error?.message,\n };\n}\n\nasync function fetchRunSummary(mastra: Mastra, workflowName: string, runId: string): Promise<RunSummary | undefined> {\n try {\n const workflowsStore = await mastra.getStorage()?.getStore('workflows');\n const run = await workflowsStore?.getWorkflowRunById({ runId, workflowName });\n if (!run) return undefined;\n return snapshotToRunSummary(run);\n } catch {\n return undefined;\n }\n}\n\nasync function hydrateScheduleResponse<T extends { lastRunId?: string; target: { type: string; workflowId?: string } }>(\n mastra: Mastra,\n schedule: T,\n): Promise<T & { lastRun?: RunSummary }> {\n if (!schedule.lastRunId || schedule.target.type !== 'workflow' || !schedule.target.workflowId) {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.target.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n}\n\nexport const LIST_SCHEDULES_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules',\n responseType: 'json' as const,\n queryParamSchema: listSchedulesQuerySchema,\n responseSchema: listSchedulesResponseSchema,\n summary: 'List workflow schedules',\n description: 'Returns the configured schedules, optionally filtered by workflowId or status.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, status, ownerType, ownerId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n // Schedules domain not configured — there are no schedules to return.\n return { schedules: [] };\n }\n const schedules = await schedulesStore.listSchedules({ workflowId, status, ownerType, ownerId });\n // Filter out owned schedules (e.g. heartbeats) unless caller explicitly\n // asks for them via ownerType/ownerId. The /schedules surface is for\n // workflow schedules; owned schedules have dedicated UIs.\n const visible =\n ownerType !== undefined || ownerId !== undefined ? schedules : schedules.filter(s => s.ownerType == null);\n const hydrated = await Promise.all(\n visible.map(async schedule => {\n if (!schedule.lastRunId || schedule.target.type !== 'workflow') {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.target.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n }),\n );\n return { schedules: hydrated };\n },\n});\n\nexport const GET_SCHEDULE_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Get a workflow schedule by ID',\n description: 'Returns a single schedule row by its storage id.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const schedule = await schedulesStore.getSchedule(scheduleId);\n if (!schedule) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n return hydrateScheduleResponse(mastra, schedule);\n },\n});\n\nexport const LIST_SCHEDULE_TRIGGERS_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId/triggers',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n queryParamSchema: listScheduleTriggersQuerySchema,\n responseSchema: listScheduleTriggersResponseSchema,\n summary: 'List trigger history for a schedule',\n description: 'Returns the audit trail of trigger attempts for a schedule, ordered by actualFireAt descending.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, limit, fromActualFireAt, toActualFireAt }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n return { triggers: [] };\n }\n const schedule = await schedulesStore.getSchedule(scheduleId);\n const triggers = await schedulesStore.listTriggers(scheduleId, { limit, fromActualFireAt, toActualFireAt });\n if (!schedule || schedule.target.type !== 'workflow') {\n return { triggers };\n }\n const workflowName = schedule.target.workflowId;\n const hydrated = await Promise.all(\n triggers.map(async trigger => {\n if (trigger.outcome !== 'published' || !trigger.runId) return trigger;\n const run = await fetchRunSummary(mastra, workflowName, trigger.runId);\n return run ? { ...trigger, run } : trigger;\n }),\n );\n return { triggers: hydrated };\n },\n});\n\nexport const PAUSE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/pause',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Pause a workflow schedule',\n description:\n 'Marks the schedule as paused. The scheduler tick loop will skip paused schedules. Idempotent — pausing an already-paused schedule returns the current state unchanged. Pause status survives redeploys.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const existing = await schedulesStore.getSchedule(scheduleId);\n if (!existing) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n if (existing.status === 'paused') {\n return hydrateScheduleResponse(mastra, existing);\n }\n const updated = await schedulesStore.updateSchedule(scheduleId, { status: 'paused' });\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RESUME_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/resume',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Resume a paused workflow schedule',\n description:\n 'Marks the schedule as active and recomputes nextFireAt from \"now\" so a long-paused schedule does not fire a backlog. Idempotent — resuming an already-active schedule returns the current state unchanged.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const existing = await schedulesStore.getSchedule(scheduleId);\n if (!existing) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n if (existing.status === 'active') {\n return hydrateScheduleResponse(mastra, existing);\n }\n const nextFireAt = computeNextFireAt(existing.cron, {\n timezone: existing.timezone,\n after: Date.now(),\n });\n const updated = await schedulesStore.updateSchedule(scheduleId, { status: 'active', nextFireAt });\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/schedules.ts","../src/server/handlers/schedules.ts"],"names":[],"mappings":"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","file":"chunk-I45VWZBS.js","sourcesContent":["import { z } from 'zod';\n\nexport const scheduleStatusSchema = z.enum(['active', 'paused']);\n\nexport const scheduleTargetSchema = z.object({\n type: z.literal('workflow'),\n workflowId: z.string(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const workflowRunStatusSchema = z.enum([\n 'running',\n 'success',\n 'failed',\n 'tripwire',\n 'suspended',\n 'waiting',\n 'pending',\n 'canceled',\n 'bailed',\n 'paused',\n]);\n\nexport const scheduleRunSummarySchema = z.object({\n status: workflowRunStatusSchema,\n startedAt: z.number().optional(),\n completedAt: z.number().optional(),\n durationMs: z.number().optional(),\n error: z.string().optional(),\n});\n\nexport const scheduleResponseSchema = z.object({\n id: z.string(),\n target: scheduleTargetSchema,\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n lastRun: scheduleRunSummarySchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n ownerType: z.string().optional(),\n ownerId: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\nexport const scheduleTriggerOutcomeSchema = z.enum([\n 'published',\n 'failed',\n 'skipped',\n 'acked',\n 'alerted',\n 'deferred',\n 'appended-from-queue',\n 'dropped-stale',\n 'dropped-superseded',\n 'dropped-busy',\n]);\n\nexport const scheduleTriggerKindSchema = z.enum(['schedule-fire', 'queue-drain']);\n\nexport const scheduleTriggerResponseSchema = z.object({\n id: z.string().optional(),\n scheduleId: z.string(),\n runId: z.string().nullable(),\n scheduledFireAt: z.number(),\n actualFireAt: z.number(),\n outcome: scheduleTriggerOutcomeSchema,\n error: z.string().optional(),\n triggerKind: scheduleTriggerKindSchema.optional(),\n parentTriggerId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n run: scheduleRunSummarySchema.optional(),\n});\n\nexport const listSchedulesQuerySchema = z\n .object({\n workflowId: z.string().optional(),\n status: scheduleStatusSchema.optional(),\n ownerType: z.string().optional(),\n ownerId: z.string().optional(),\n })\n .refine(data => data.ownerId === undefined || data.ownerType !== undefined, {\n message: 'ownerId can only be used together with ownerType',\n path: ['ownerId'],\n });\n\nexport const listSchedulesResponseSchema = z.object({\n schedules: z.array(scheduleResponseSchema),\n});\n\nexport const scheduleIdPathParams = z.object({\n scheduleId: z.string(),\n});\n\nexport const listScheduleTriggersQuerySchema = z.object({\n limit: z.coerce.number().int().positive().optional(),\n fromActualFireAt: z.coerce.number().int().nonnegative().optional(),\n toActualFireAt: z.coerce.number().int().nonnegative().optional(),\n});\n\nexport const listScheduleTriggersResponseSchema = z.object({\n triggers: z.array(scheduleTriggerResponseSchema),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { WorkflowRunState } from '@mastra/core/workflows';\n// `computeNextFireAt` is new in @mastra/core@1.32.0; route it through a shim\n// that tolerates older cores (see ./schedules-workflows-shim.ts).\nimport { HTTPException } from '../http-exception';\nimport {\n listSchedulesQuerySchema,\n listSchedulesResponseSchema,\n scheduleIdPathParams,\n scheduleResponseSchema,\n listScheduleTriggersQuerySchema,\n listScheduleTriggersResponseSchema,\n} from '../schemas/schedules';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { computeNextFireAt } from './schedules-workflows-shim';\n\ntype RunSummary = {\n status: WorkflowRunState['status'];\n startedAt?: number;\n completedAt?: number;\n durationMs?: number;\n error?: string;\n};\n\nfunction snapshotToRunSummary(run: {\n snapshot: WorkflowRunState | string;\n createdAt: Date;\n updatedAt: Date;\n}): RunSummary | undefined {\n const snapshot = typeof run.snapshot === 'string' ? null : run.snapshot;\n if (!snapshot) return undefined;\n const startedAt = run.createdAt instanceof Date ? run.createdAt.getTime() : undefined;\n const isTerminal =\n snapshot.status === 'success' ||\n snapshot.status === 'failed' ||\n snapshot.status === 'canceled' ||\n snapshot.status === 'bailed' ||\n snapshot.status === 'tripwire';\n const completedAt = isTerminal ? (run.updatedAt instanceof Date ? run.updatedAt.getTime() : undefined) : undefined;\n const durationMs = startedAt !== undefined && completedAt !== undefined ? completedAt - startedAt : undefined;\n return {\n status: snapshot.status,\n startedAt,\n completedAt,\n durationMs,\n error: snapshot.error?.message,\n };\n}\n\nasync function fetchRunSummary(mastra: Mastra, workflowName: string, runId: string): Promise<RunSummary | undefined> {\n try {\n const workflowsStore = await mastra.getStorage()?.getStore('workflows');\n const run = await workflowsStore?.getWorkflowRunById({ runId, workflowName });\n if (!run) return undefined;\n return snapshotToRunSummary(run);\n } catch {\n return undefined;\n }\n}\n\nasync function hydrateScheduleResponse<T extends { lastRunId?: string; target: { type: string; workflowId?: string } }>(\n mastra: Mastra,\n schedule: T,\n): Promise<T & { lastRun?: RunSummary }> {\n if (!schedule.lastRunId || schedule.target.type !== 'workflow' || !schedule.target.workflowId) {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.target.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n}\n\nexport const LIST_SCHEDULES_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules',\n responseType: 'json' as const,\n queryParamSchema: listSchedulesQuerySchema,\n responseSchema: listSchedulesResponseSchema,\n summary: 'List workflow schedules',\n description: 'Returns the configured schedules, optionally filtered by workflowId or status.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, status, ownerType, ownerId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n // Schedules domain not configured — there are no schedules to return.\n return { schedules: [] };\n }\n const schedules = await schedulesStore.listSchedules({ workflowId, status, ownerType, ownerId });\n // Filter out owned schedules (e.g. heartbeats) unless caller explicitly\n // asks for them via ownerType/ownerId. The /schedules surface is for\n // workflow schedules; owned schedules have dedicated UIs.\n const visible =\n ownerType !== undefined || ownerId !== undefined ? schedules : schedules.filter(s => s.ownerType == null);\n const hydrated = await Promise.all(\n visible.map(async schedule => {\n if (!schedule.lastRunId || schedule.target.type !== 'workflow') {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.target.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n }),\n );\n return { schedules: hydrated };\n },\n});\n\nexport const GET_SCHEDULE_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Get a workflow schedule by ID',\n description: 'Returns a single schedule row by its storage id.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const schedule = await schedulesStore.getSchedule(scheduleId);\n if (!schedule) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n return hydrateScheduleResponse(mastra, schedule);\n },\n});\n\nexport const LIST_SCHEDULE_TRIGGERS_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId/triggers',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n queryParamSchema: listScheduleTriggersQuerySchema,\n responseSchema: listScheduleTriggersResponseSchema,\n summary: 'List trigger history for a schedule',\n description: 'Returns the audit trail of trigger attempts for a schedule, ordered by actualFireAt descending.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, limit, fromActualFireAt, toActualFireAt }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n return { triggers: [] };\n }\n const schedule = await schedulesStore.getSchedule(scheduleId);\n const triggers = await schedulesStore.listTriggers(scheduleId, { limit, fromActualFireAt, toActualFireAt });\n if (!schedule || schedule.target.type !== 'workflow') {\n return { triggers };\n }\n const workflowName = schedule.target.workflowId;\n const hydrated = await Promise.all(\n triggers.map(async trigger => {\n if (trigger.outcome !== 'published' || !trigger.runId) return trigger;\n const run = await fetchRunSummary(mastra, workflowName, trigger.runId);\n return run ? { ...trigger, run } : trigger;\n }),\n );\n return { triggers: hydrated };\n },\n});\n\nexport const PAUSE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/pause',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Pause a workflow schedule',\n description:\n 'Marks the schedule as paused. The scheduler tick loop will skip paused schedules. Idempotent — pausing an already-paused schedule returns the current state unchanged. Pause status survives redeploys.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const existing = await schedulesStore.getSchedule(scheduleId);\n if (!existing) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n if (existing.status === 'paused') {\n return hydrateScheduleResponse(mastra, existing);\n }\n const updated = await schedulesStore.updateSchedule(scheduleId, { status: 'paused' });\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RESUME_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/resume',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleResponseSchema,\n summary: 'Resume a paused workflow schedule',\n description:\n 'Marks the schedule as active and recomputes nextFireAt from \"now\" so a long-paused schedule does not fire a backlog. Idempotent — resuming an already-active schedule returns the current state unchanged.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n const existing = await schedulesStore.getSchedule(scheduleId);\n if (!existing) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n if (existing.status === 'active') {\n return hydrateScheduleResponse(mastra, existing);\n }\n const nextFireAt = computeNextFireAt(existing.cron, {\n timezone: existing.timezone,\n after: Date.now(),\n });\n const updated = await schedulesStore.updateSchedule(scheduleId, { status: 'active', nextFireAt });\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkSAOJYYFE_cjs = require('./chunk-SAOJYYFE.cjs');
3
+ var chunk42WZN6MM_cjs = require('./chunk-42WZN6MM.cjs');
4
4
  var chunkBYX5LHPW_cjs = require('./chunk-BYX5LHPW.cjs');
5
5
  var z = require('zod');
6
6
 
@@ -30,7 +30,7 @@ var conversationDeletedSchema = z__default.default.object({
30
30
  });
31
31
  var conversationItemsListSchema = z__default.default.object({
32
32
  object: z__default.default.literal("list"),
33
- data: z__default.default.array(chunkSAOJYYFE_cjs.conversationItemSchema),
33
+ data: z__default.default.array(chunk42WZN6MM_cjs.conversationItemSchema),
34
34
  first_id: z__default.default.string().nullable(),
35
35
  last_id: z__default.default.string().nullable(),
36
36
  has_more: z__default.default.boolean()
@@ -41,5 +41,5 @@ exports.conversationIdPathParams = conversationIdPathParams;
41
41
  exports.conversationItemsListSchema = conversationItemsListSchema;
42
42
  exports.conversationObjectSchema = conversationObjectSchema;
43
43
  exports.createConversationBodySchema = createConversationBodySchema;
44
- //# sourceMappingURL=chunk-UEACXZ5C.cjs.map
45
- //# sourceMappingURL=chunk-UEACXZ5C.cjs.map
44
+ //# sourceMappingURL=chunk-IIGNRK55.cjs.map
45
+ //# sourceMappingURL=chunk-IIGNRK55.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":["z","getThreadByIdResponseSchema","conversationItemSchema"],"mappings":";;;;;;;;;;AAIO,IAAM,wBAAA,GAA2BA,mBAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgBA,kBAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+BA,mBAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUA,kBAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiBA,kBAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAaA,kBAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAOA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,kBAAA,CAAE,MAAA,CAAOA,kBAAA,CAAE,MAAA,IAAUA,kBAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2BA,mBAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAIA,mBAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQC;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4BD,mBAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAIA,mBAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAASA,kBAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8BA,mBAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAMA,kBAAA,CAAE,KAAA,CAAME,wCAAsB,CAAA;AAAA,EACpC,QAAA,EAAUF,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAASA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAUA,mBAAE,OAAA;AACd,CAAC","file":"chunk-UEACXZ5C.cjs","sourcesContent":["import z from 'zod';\nimport { getThreadByIdResponseSchema } from './memory';\nimport { conversationItemSchema } from './responses';\n\nexport const conversationIdPathParams = z.object({\n conversationId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\nexport const createConversationBodySchema = z.object({\n agent_id: z.string().describe('Mastra agent ID used to create the conversation thread'),\n conversation_id: z.string().optional().describe('Optional conversation ID to use as the raw threadId'),\n resource_id: z.string().optional().describe('Optional resource ID to associate with the conversation'),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\n\nexport const conversationObjectSchema = z.object({\n id: z.string(),\n object: z.literal('conversation'),\n thread: getThreadByIdResponseSchema,\n});\n\nexport const conversationDeletedSchema = z.object({\n id: z.string(),\n object: z.literal('conversation.deleted'),\n deleted: z.literal(true),\n});\n\nexport const conversationItemsListSchema = z.object({\n object: z.literal('list'),\n data: z.array(conversationItemSchema),\n first_id: z.string().nullable(),\n last_id: z.string().nullable(),\n has_more: z.boolean(),\n});\n\nexport type ConversationObject = z.infer<typeof conversationObjectSchema>;\nexport type ConversationItemsList = z.infer<typeof conversationItemsListSchema>;\nexport type ConversationDeleted = z.infer<typeof conversationDeletedSchema>;\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":["z","getThreadByIdResponseSchema","conversationItemSchema"],"mappings":";;;;;;;;;;AAIO,IAAM,wBAAA,GAA2BA,mBAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgBA,kBAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+BA,mBAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUA,kBAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiBA,kBAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAaA,kBAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAOA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,kBAAA,CAAE,MAAA,CAAOA,kBAAA,CAAE,MAAA,IAAUA,kBAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2BA,mBAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAIA,mBAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQC;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4BD,mBAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAIA,mBAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAASA,kBAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8BA,mBAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQA,kBAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAMA,kBAAA,CAAE,KAAA,CAAME,wCAAsB,CAAA;AAAA,EACpC,QAAA,EAAUF,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAASA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAUA,mBAAE,OAAA;AACd,CAAC","file":"chunk-IIGNRK55.cjs","sourcesContent":["import z from 'zod';\nimport { getThreadByIdResponseSchema } from './memory';\nimport { conversationItemSchema } from './responses';\n\nexport const conversationIdPathParams = z.object({\n conversationId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\nexport const createConversationBodySchema = z.object({\n agent_id: z.string().describe('Mastra agent ID used to create the conversation thread'),\n conversation_id: z.string().optional().describe('Optional conversation ID to use as the raw threadId'),\n resource_id: z.string().optional().describe('Optional resource ID to associate with the conversation'),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\n\nexport const conversationObjectSchema = z.object({\n id: z.string(),\n object: z.literal('conversation'),\n thread: getThreadByIdResponseSchema,\n});\n\nexport const conversationDeletedSchema = z.object({\n id: z.string(),\n object: z.literal('conversation.deleted'),\n deleted: z.literal(true),\n});\n\nexport const conversationItemsListSchema = z.object({\n object: z.literal('list'),\n data: z.array(conversationItemSchema),\n first_id: z.string().nullable(),\n last_id: z.string().nullable(),\n has_more: z.boolean(),\n});\n\nexport type ConversationObject = z.infer<typeof conversationObjectSchema>;\nexport type ConversationItemsList = z.infer<typeof conversationItemsListSchema>;\nexport type ConversationDeleted = z.infer<typeof conversationDeletedSchema>;\n"]}
@@ -1,7 +1,7 @@
1
- import { NEW_ROUTES, LIST_SCORES, LIST_LOGS, LIST_FEEDBACK, GET_TAGS, GET_SERVICE_NAMES, GET_SCORE_TIME_SERIES, GET_SCORE_PERCENTILES, GET_SCORE_BREAKDOWN, GET_SCORE_AGGREGATE, GET_SCORE, GET_METRIC_TIME_SERIES, GET_METRIC_PERCENTILES, GET_METRIC_NAMES, GET_METRIC_LABEL_VALUES, GET_METRIC_LABEL_KEYS, GET_METRIC_BREAKDOWN, GET_METRIC_AGGREGATE, GET_FEEDBACK_TIME_SERIES, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_AGGREGATE, GET_ENVIRONMENTS, GET_ENTITY_TYPES, GET_ENTITY_NAMES, CREATE_SCORE, CREATE_FEEDBACK } from './chunk-YWORLTQM.js';
1
+ import { NEW_ROUTES, LIST_SCORES, LIST_LOGS, LIST_FEEDBACK, GET_TAGS, GET_SERVICE_NAMES, GET_SCORE_TIME_SERIES, GET_SCORE_PERCENTILES, GET_SCORE_BREAKDOWN, GET_SCORE_AGGREGATE, GET_SCORE, GET_METRIC_TIME_SERIES, GET_METRIC_PERCENTILES, GET_METRIC_NAMES, GET_METRIC_LABEL_VALUES, GET_METRIC_LABEL_KEYS, GET_METRIC_BREAKDOWN, GET_METRIC_AGGREGATE, GET_FEEDBACK_TIME_SERIES, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_AGGREGATE, GET_ENVIRONMENTS, GET_ENTITY_TYPES, GET_ENTITY_NAMES, CREATE_SCORE, CREATE_FEEDBACK } from './chunk-OCFLDDPE.js';
2
2
  import { getObservabilityStore, getStorage } from './chunk-4L2UVFJO.js';
3
3
  import { listBranchesResponseSchema, branchesFilterSchema, branchesOrderBySchema, getBranchResponseSchema, getBranchArgsSchema } from './chunk-NF5SYJHK.js';
4
- import { createRoute, pickParams, wrapSchemaForQueryParams } from './chunk-KDUX3YN3.js';
4
+ import { createRoute, pickParams, wrapSchemaForQueryParams } from './chunk-GDACR4PY.js';
5
5
  import { handleError } from './chunk-P23KBWKB.js';
6
6
  import { HTTPException } from './chunk-6QWQZI4Q.js';
7
7
  import { __export } from './chunk-PR4QN5HX.js';
@@ -324,5 +324,5 @@ var LIST_SCORES_BY_SPAN_ROUTE = createRoute({
324
324
  });
325
325
 
326
326
  export { GET_BRANCH_ROUTE, GET_SPAN_ROUTE, GET_TRACE_LIGHT_ROUTE, GET_TRACE_ROUTE, GET_TRACE_TRAJECTORY_ROUTE, LIST_BRANCHES_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE, observability_exports };
327
- //# sourceMappingURL=chunk-V5AXCSSN.js.map
328
- //# sourceMappingURL=chunk-V5AXCSSN.js.map
327
+ //# sourceMappingURL=chunk-ING7J2GB.js.map
328
+ //# sourceMappingURL=chunk-ING7J2GB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":"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","file":"chunk-V5AXCSSN.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} 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\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: 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 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/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
+ {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":"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","file":"chunk-ING7J2GB.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} 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\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: 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 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/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,5 +1,5 @@
1
1
  import { upsertVectorsResponseSchema, upsertVectorsBodySchema, vectorNamePathParams, createIndexResponseSchema, createIndexBodySchema, queryVectorsResponseSchema, queryVectorsBodySchema, listIndexesResponseSchema, describeIndexResponseSchema, vectorIndexPathParams, deleteIndexResponseSchema, listVectorsResponseSchema, listEmbeddersResponseSchema } from './chunk-RVICRXZF.js';
2
- import { createRoute } from './chunk-KDUX3YN3.js';
2
+ import { createRoute } from './chunk-GDACR4PY.js';
3
3
  import { handleError } from './chunk-P23KBWKB.js';
4
4
  import { HTTPException } from './chunk-6QWQZI4Q.js';
5
5
  import { __export } from './chunk-PR4QN5HX.js';
@@ -365,5 +365,5 @@ var LIST_EMBEDDERS_ROUTE = createRoute({
365
365
  });
366
366
 
367
367
  export { CREATE_INDEX_ROUTE, DELETE_INDEX_ROUTE, DESCRIBE_INDEX_ROUTE, LIST_EMBEDDERS_ROUTE, LIST_INDEXES_ROUTE, LIST_VECTORS_ROUTE, QUERY_VECTORS_ROUTE, UPSERT_VECTORS_ROUTE, createIndex, deleteIndex, describeIndex, listIndexes, listVectorStores, queryVectors, upsertVectors, vector_exports };
368
- //# sourceMappingURL=chunk-SXARBGNQ.js.map
369
- //# sourceMappingURL=chunk-SXARBGNQ.js.map
368
+ //# sourceMappingURL=chunk-IQAV36GV.js.map
369
+ //# sourceMappingURL=chunk-IQAV36GV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/vector.ts"],"names":[],"mappings":"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","file":"chunk-SXARBGNQ.js","sourcesContent":["import { EMBEDDING_MODELS } from '@mastra/core/llm';\nimport type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport {\n vectorNamePathParams,\n vectorIndexPathParams,\n upsertVectorsBodySchema,\n upsertVectorsResponseSchema,\n createIndexBodySchema,\n createIndexResponseSchema,\n queryVectorsBodySchema,\n queryVectorsResponseSchema,\n listIndexesResponseSchema,\n describeIndexResponseSchema,\n deleteIndexResponseSchema,\n listVectorsResponseSchema,\n listEmbeddersResponseSchema,\n} from '../schemas/vectors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({\n mastra,\n vectorName,\n indexName,\n vectors,\n metadata,\n ids,\n}: VectorContext & UpsertRequest) {\n try {\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n indexName,\n dimension,\n metric,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & CreateIndexRequest) {\n try {\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n indexName,\n queryVector,\n topK,\n filter,\n includeVector,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & QueryRequest) {\n try {\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n\n// List available vector stores\nexport async function listVectorStores({ mastra }: Pick<VectorContext, 'mastra'>) {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n name,\n id: vector.id || name, // Use the key as fallback when vector has no id property\n type: vector.constructor.name,\n // Add any other metadata that might be useful\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const UPSERT_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/upsert',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: upsertVectorsBodySchema,\n responseSchema: upsertVectorsResponseSchema,\n summary: 'Upsert vectors',\n description: 'Inserts or updates vectors in the specified index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, vectors, metadata, ids } = params;\n\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n },\n});\n\nexport const CREATE_INDEX_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/create-index',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: createIndexBodySchema,\n responseSchema: createIndexResponseSchema,\n summary: 'Create index',\n description: 'Creates a new vector index with the specified dimension and metric',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, dimension, metric } = params;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n },\n});\n\nexport const QUERY_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/query',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: queryVectorsBodySchema,\n responseSchema: queryVectorsResponseSchema,\n summary: 'Query vectors',\n description: 'Performs a similarity search on the vector index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, queryVector, topK, filter, includeVector } = params;\n\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, {\n message: 'Invalid request query. indexName and queryVector array are required.',\n });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n },\n});\n\nexport const LIST_INDEXES_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n responseSchema: listIndexesResponseSchema,\n summary: 'List indexes',\n description: 'Returns a list of all indexes in the vector store',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName }) => {\n try {\n const vector = getVector(mastra, vectorName);\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n },\n});\n\nexport const DESCRIBE_INDEX_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: describeIndexResponseSchema,\n summary: 'Describe index',\n description: 'Returns statistics and metadata for a specific index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName: indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n },\n});\n\nexport const DELETE_INDEX_ROUTE = createRoute({\n method: 'DELETE',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: deleteIndexResponseSchema,\n summary: 'Delete index',\n description: 'Deletes a vector index and all its data',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName: indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n },\n});\n\nexport const LIST_VECTORS_ROUTE = createRoute({\n method: 'GET',\n path: '/vectors',\n responseType: 'json',\n responseSchema: listVectorsResponseSchema,\n summary: 'List vector stores',\n description: 'Returns a list of all configured vector stores',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n id: vector.id || name, // Use the key as the ID since vectors might not have their own id property\n name,\n type: vector.constructor.name,\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n },\n});\n\nexport const LIST_EMBEDDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/embedders',\n responseType: 'json',\n responseSchema: listEmbeddersResponseSchema,\n summary: 'List available embedder models',\n description: 'Returns a list of all available embedding models',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async () => {\n try {\n const embeddersList = EMBEDDING_MODELS.map(model => ({\n id: `${model.provider}/${model.id}`,\n provider: model.provider,\n name: model.id,\n description: model.description || '',\n dimensions: model.dimensions,\n maxInputTokens: model.maxInputTokens,\n }));\n\n return { embedders: embeddersList };\n } catch (error) {\n return handleError(error, 'Error listing embedders');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/vector.ts"],"names":[],"mappings":"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","file":"chunk-IQAV36GV.js","sourcesContent":["import { EMBEDDING_MODELS } from '@mastra/core/llm';\nimport type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport {\n vectorNamePathParams,\n vectorIndexPathParams,\n upsertVectorsBodySchema,\n upsertVectorsResponseSchema,\n createIndexBodySchema,\n createIndexResponseSchema,\n queryVectorsBodySchema,\n queryVectorsResponseSchema,\n listIndexesResponseSchema,\n describeIndexResponseSchema,\n deleteIndexResponseSchema,\n listVectorsResponseSchema,\n listEmbeddersResponseSchema,\n} from '../schemas/vectors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({\n mastra,\n vectorName,\n indexName,\n vectors,\n metadata,\n ids,\n}: VectorContext & UpsertRequest) {\n try {\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n indexName,\n dimension,\n metric,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & CreateIndexRequest) {\n try {\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n indexName,\n queryVector,\n topK,\n filter,\n includeVector,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & QueryRequest) {\n try {\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n\n// List available vector stores\nexport async function listVectorStores({ mastra }: Pick<VectorContext, 'mastra'>) {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n name,\n id: vector.id || name, // Use the key as fallback when vector has no id property\n type: vector.constructor.name,\n // Add any other metadata that might be useful\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const UPSERT_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/upsert',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: upsertVectorsBodySchema,\n responseSchema: upsertVectorsResponseSchema,\n summary: 'Upsert vectors',\n description: 'Inserts or updates vectors in the specified index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, vectors, metadata, ids } = params;\n\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n },\n});\n\nexport const CREATE_INDEX_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/create-index',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: createIndexBodySchema,\n responseSchema: createIndexResponseSchema,\n summary: 'Create index',\n description: 'Creates a new vector index with the specified dimension and metric',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, dimension, metric } = params;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n },\n});\n\nexport const QUERY_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/vector/:vectorName/query',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: queryVectorsBodySchema,\n responseSchema: queryVectorsResponseSchema,\n summary: 'Query vectors',\n description: 'Performs a similarity search on the vector index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, queryVector, topK, filter, includeVector } = params;\n\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, {\n message: 'Invalid request query. indexName and queryVector array are required.',\n });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n },\n});\n\nexport const LIST_INDEXES_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n responseSchema: listIndexesResponseSchema,\n summary: 'List indexes',\n description: 'Returns a list of all indexes in the vector store',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName }) => {\n try {\n const vector = getVector(mastra, vectorName);\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n },\n});\n\nexport const DESCRIBE_INDEX_ROUTE = createRoute({\n method: 'GET',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: describeIndexResponseSchema,\n summary: 'Describe index',\n description: 'Returns statistics and metadata for a specific index',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName: indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n },\n});\n\nexport const DELETE_INDEX_ROUTE = createRoute({\n method: 'DELETE',\n path: '/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: deleteIndexResponseSchema,\n summary: 'Delete index',\n description: 'Deletes a vector index and all its data',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName: indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n },\n});\n\nexport const LIST_VECTORS_ROUTE = createRoute({\n method: 'GET',\n path: '/vectors',\n responseType: 'json',\n responseSchema: listVectorsResponseSchema,\n summary: 'List vector stores',\n description: 'Returns a list of all configured vector stores',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const vectors = mastra.listVectors();\n if (!vectors) {\n return { vectors: [] };\n }\n\n // Convert to array and extract metadata\n const vectorList = Object.entries(vectors).map(([name, vector]) => ({\n id: vector.id || name, // Use the key as the ID since vectors might not have their own id property\n name,\n type: vector.constructor.name,\n }));\n\n return { vectors: vectorList };\n } catch (error) {\n return handleError(error, 'Error listing vector stores');\n }\n },\n});\n\nexport const LIST_EMBEDDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/embedders',\n responseType: 'json',\n responseSchema: listEmbeddersResponseSchema,\n summary: 'List available embedder models',\n description: 'Returns a list of all available embedding models',\n tags: ['Vectors'],\n requiresAuth: true,\n handler: async () => {\n try {\n const embeddersList = EMBEDDING_MODELS.map(model => ({\n id: `${model.provider}/${model.id}`,\n provider: model.provider,\n name: model.id,\n description: model.description || '',\n dimensions: model.dimensions,\n maxInputTokens: model.maxInputTokens,\n }));\n\n return { embedders: embeddersList };\n } catch (error) {\n return handleError(error, 'Error listing embedders');\n }\n },\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk7LAFXMXB_cjs = require('./chunk-7LAFXMXB.cjs');
3
+ var chunk7756JXUH_cjs = require('./chunk-7756JXUH.cjs');
4
4
 
5
5
  // ../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/double-indexed-kv.js
6
6
  var DoubleIndexedKV = class {
@@ -799,8 +799,8 @@ var stringify = SuperJSON.stringify;
799
799
  // src/server/utils.ts
800
800
  function schemaToJsonSchema(schema) {
801
801
  if (!schema) return void 0;
802
- const standardSchema = chunk7LAFXMXB_cjs.toStandardSchema5(schema);
803
- return chunk7LAFXMXB_cjs.standardSchemaToJSONSchema(standardSchema);
802
+ const standardSchema = chunk7756JXUH_cjs.toStandardSchema5(schema);
803
+ return chunk7756JXUH_cjs.standardSchemaToJSONSchema(standardSchema);
804
804
  }
805
805
  function normalizeRoutePath(path) {
806
806
  let normalized = path.trim();
@@ -822,7 +822,7 @@ function normalizeRoutePath(path) {
822
822
  function looksLikeProcessorStepSchema(schema) {
823
823
  if (!schema) return false;
824
824
  try {
825
- const jsonSchema = chunk7LAFXMXB_cjs.standardSchemaToJSONSchema(chunk7LAFXMXB_cjs.toStandardSchema5(schema));
825
+ const jsonSchema = chunk7756JXUH_cjs.standardSchemaToJSONSchema(chunk7756JXUH_cjs.toStandardSchema5(schema));
826
826
  if (!jsonSchema) return false;
827
827
  const variants = jsonSchema.anyOf || jsonSchema.oneOf;
828
828
  if (!variants || !Array.isArray(variants)) return false;
@@ -998,5 +998,5 @@ exports.getWorkflowInfo = getWorkflowInfo;
998
998
  exports.normalizeRoutePath = normalizeRoutePath;
999
999
  exports.stringify = stringify;
1000
1000
  exports.toSlug = toSlug;
1001
- //# sourceMappingURL=chunk-K7IVZQKI.cjs.map
1002
- //# sourceMappingURL=chunk-K7IVZQKI.cjs.map
1001
+ //# sourceMappingURL=chunk-IQMLYFOO.cjs.map
1002
+ //# sourceMappingURL=chunk-IQMLYFOO.cjs.map