@mastra/server 1.37.0-alpha.1 → 1.37.0-alpha.2

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 (318) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7608 -0
  3. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +9043 -0
  4. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-v6/dist/index.d.ts +13682 -0
  5. package/dist/_types/@mastra_schema-compat/dist/_types/@standard-schema_spec/dist/index.d.ts +119 -0
  6. package/dist/_types/@mastra_schema-compat/dist/index.d.ts +19 -0
  7. package/dist/_types/@mastra_schema-compat/dist/null-to-undefined.d.ts +24 -0
  8. package/dist/_types/@mastra_schema-compat/dist/provider-compats/anthropic.d.ts +20 -0
  9. package/dist/_types/@mastra_schema-compat/dist/provider-compats/deepseek.d.ts +21 -0
  10. package/dist/_types/@mastra_schema-compat/dist/provider-compats/google.d.ts +23 -0
  11. package/dist/_types/@mastra_schema-compat/dist/provider-compats/meta.d.ts +21 -0
  12. package/dist/_types/@mastra_schema-compat/dist/provider-compats/openai-reasoning.d.ts +10 -0
  13. package/dist/_types/@mastra_schema-compat/dist/provider-compats/openai.d.ts +25 -0
  14. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility-v3.d.ts +315 -0
  15. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility-v4.d.ts +304 -0
  16. package/dist/_types/@mastra_schema-compat/dist/schema-compatibility.d.ts +147 -0
  17. package/dist/_types/@mastra_schema-compat/dist/schema.d.ts +4 -0
  18. package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +19 -0
  19. package/dist/_types/@mastra_schema-compat/dist/standard-schema/standard-schema.d.ts +107 -0
  20. package/dist/_types/@mastra_schema-compat/dist/standard-schema/standard-schema.types.d.ts +24 -0
  21. package/dist/_types/@mastra_schema-compat/dist/standard-schema-compat.d.ts +74 -0
  22. package/dist/_types/@mastra_schema-compat/dist/types.d.ts +6 -0
  23. package/dist/_types/@mastra_schema-compat/dist/utils.d.ts +96 -0
  24. package/dist/_types/@mastra_schema-compat/dist/zod-to-json.d.ts +17 -0
  25. package/dist/{api-schema-manifest-Z2JHGSRM.js → api-schema-manifest-QGETGMBO.js} +4 -4
  26. package/dist/{api-schema-manifest-Z2JHGSRM.js.map → api-schema-manifest-QGETGMBO.js.map} +1 -1
  27. package/dist/{api-schema-manifest-5TBFFQY7.cjs → api-schema-manifest-QSCOKBA7.cjs} +6 -6
  28. package/dist/{api-schema-manifest-5TBFFQY7.cjs.map → api-schema-manifest-QSCOKBA7.cjs.map} +1 -1
  29. package/dist/{chunk-KFG4YQ6B.js → chunk-226WXBRR.js} +5 -5
  30. package/dist/{chunk-KFG4YQ6B.js.map → chunk-226WXBRR.js.map} +1 -1
  31. package/dist/{chunk-4KSV4WWQ.js → chunk-42P4N3DD.js} +3 -3
  32. package/dist/{chunk-4KSV4WWQ.js.map → chunk-42P4N3DD.js.map} +1 -1
  33. package/dist/{chunk-5SPGEEYA.js → chunk-4TOPLN4A.js} +5 -5
  34. package/dist/{chunk-5SPGEEYA.js.map → chunk-4TOPLN4A.js.map} +1 -1
  35. package/dist/{chunk-TDLWDKJT.cjs → chunk-4WDE5KPN.cjs} +68 -68
  36. package/dist/{chunk-TDLWDKJT.cjs.map → chunk-4WDE5KPN.cjs.map} +1 -1
  37. package/dist/{chunk-2JXX4IPC.js → chunk-5AHL2NUD.js} +3 -3
  38. package/dist/{chunk-2JXX4IPC.js.map → chunk-5AHL2NUD.js.map} +1 -1
  39. package/dist/{chunk-4G7S52U3.cjs → chunk-5MXFNG6G.cjs} +5 -5
  40. package/dist/{chunk-4G7S52U3.cjs.map → chunk-5MXFNG6G.cjs.map} +1 -1
  41. package/dist/{chunk-6JCLSYOU.js → chunk-5PDA7RRM.js} +3 -3
  42. package/dist/{chunk-6JCLSYOU.js.map → chunk-5PDA7RRM.js.map} +1 -1
  43. package/dist/{chunk-UAMUMYGG.js → chunk-5V23VBXY.js} +6 -6
  44. package/dist/{chunk-UAMUMYGG.js.map → chunk-5V23VBXY.js.map} +1 -1
  45. package/dist/{chunk-V52ODUI3.js → chunk-5X52OI5N.js} +5 -5
  46. package/dist/{chunk-V52ODUI3.js.map → chunk-5X52OI5N.js.map} +1 -1
  47. package/dist/{chunk-CHOCR4YO.cjs → chunk-657QZ5WB.cjs} +34 -34
  48. package/dist/{chunk-CHOCR4YO.cjs.map → chunk-657QZ5WB.cjs.map} +1 -1
  49. package/dist/{chunk-4UFLVROK.cjs → chunk-6GNW5SFN.cjs} +13 -13
  50. package/dist/{chunk-4UFLVROK.cjs.map → chunk-6GNW5SFN.cjs.map} +1 -1
  51. package/dist/{chunk-OGYYXNGI.js → chunk-6L6ZOGEE.js} +3 -3
  52. package/dist/{chunk-OGYYXNGI.js.map → chunk-6L6ZOGEE.js.map} +1 -1
  53. package/dist/{chunk-PZCVWJ2I.js → chunk-6NT2SU7C.js} +5 -5
  54. package/dist/{chunk-PZCVWJ2I.js.map → chunk-6NT2SU7C.js.map} +1 -1
  55. package/dist/{chunk-QUVYOHFH.js → chunk-7TTCVVVF.js} +4 -4
  56. package/dist/{chunk-QUVYOHFH.js.map → chunk-7TTCVVVF.js.map} +1 -1
  57. package/dist/{chunk-ZRVRA2PY.cjs → chunk-A73CYKBV.cjs} +6 -6
  58. package/dist/{chunk-ZRVRA2PY.cjs.map → chunk-A73CYKBV.cjs.map} +1 -1
  59. package/dist/{chunk-5GI232FP.cjs → chunk-AFCYWNZO.cjs} +8 -8
  60. package/dist/{chunk-5GI232FP.cjs.map → chunk-AFCYWNZO.cjs.map} +1 -1
  61. package/dist/{chunk-DYWRKLPU.cjs → chunk-ANCX7VWY.cjs} +47 -47
  62. package/dist/{chunk-DYWRKLPU.cjs.map → chunk-ANCX7VWY.cjs.map} +1 -1
  63. package/dist/{chunk-5WCQI3QY.js → chunk-ANQ4YGDG.js} +8 -8
  64. package/dist/{chunk-5WCQI3QY.js.map → chunk-ANQ4YGDG.js.map} +1 -1
  65. package/dist/{chunk-T4UU7EJX.js → chunk-B33WOUWI.js} +4 -4
  66. package/dist/{chunk-T4UU7EJX.js.map → chunk-B33WOUWI.js.map} +1 -1
  67. package/dist/{chunk-5H52FP2S.js → chunk-B62YX6H5.js} +6 -6
  68. package/dist/{chunk-5H52FP2S.js.map → chunk-B62YX6H5.js.map} +1 -1
  69. package/dist/{chunk-JE2ZMOKB.js → chunk-BCLXE5A6.js} +4 -4
  70. package/dist/{chunk-JE2ZMOKB.js.map → chunk-BCLXE5A6.js.map} +1 -1
  71. package/dist/{chunk-V4ATNZXG.cjs → chunk-BQBKRPLD.cjs} +4 -4
  72. package/dist/{chunk-V4ATNZXG.cjs.map → chunk-BQBKRPLD.cjs.map} +1 -1
  73. package/dist/{chunk-XTFWFQZ7.cjs → chunk-BXTQ4QZA.cjs} +5 -5
  74. package/dist/{chunk-XTFWFQZ7.cjs.map → chunk-BXTQ4QZA.cjs.map} +1 -1
  75. package/dist/{chunk-YI3WMF2D.cjs → chunk-CZDLWIPQ.cjs} +3 -3
  76. package/dist/{chunk-YI3WMF2D.cjs.map → chunk-CZDLWIPQ.cjs.map} +1 -1
  77. package/dist/{chunk-WYP25ZMM.js → chunk-DSWUKENK.js} +3 -3
  78. package/dist/{chunk-WYP25ZMM.js.map → chunk-DSWUKENK.js.map} +1 -1
  79. package/dist/{chunk-FKQCQSXF.js → chunk-E5ZGN7GA.js} +5 -5
  80. package/dist/{chunk-FKQCQSXF.js.map → chunk-E5ZGN7GA.js.map} +1 -1
  81. package/dist/{chunk-SPGVPADY.js → chunk-EDKDBIHS.js} +3 -3
  82. package/dist/{chunk-SPGVPADY.js.map → chunk-EDKDBIHS.js.map} +1 -1
  83. package/dist/{chunk-NYPBCQOT.cjs → chunk-EGWQ36XF.cjs} +14 -14
  84. package/dist/{chunk-NYPBCQOT.cjs.map → chunk-EGWQ36XF.cjs.map} +1 -1
  85. package/dist/{chunk-XR3CGVKU.cjs → chunk-FTFHM5UT.cjs} +5 -5
  86. package/dist/{chunk-XR3CGVKU.cjs.map → chunk-FTFHM5UT.cjs.map} +1 -1
  87. package/dist/{chunk-QC4USGJS.js → chunk-FWO6WNFE.js} +8 -8
  88. package/dist/{chunk-QC4USGJS.js.map → chunk-FWO6WNFE.js.map} +1 -1
  89. package/dist/{chunk-F2FAL5CZ.js → chunk-G6NTGBOW.js} +3 -3
  90. package/dist/{chunk-F2FAL5CZ.js.map → chunk-G6NTGBOW.js.map} +1 -1
  91. package/dist/{chunk-HYYIE4HE.js → chunk-GAGNFJYS.js} +40 -40
  92. package/dist/{chunk-HYYIE4HE.js.map → chunk-GAGNFJYS.js.map} +1 -1
  93. package/dist/{chunk-OHJRP6K7.cjs → chunk-HLXI3E4I.cjs} +29 -29
  94. package/dist/{chunk-OHJRP6K7.cjs.map → chunk-HLXI3E4I.cjs.map} +1 -1
  95. package/dist/{chunk-X2IH3GWC.cjs → chunk-IPRUOF7I.cjs} +19 -19
  96. package/dist/{chunk-X2IH3GWC.cjs.map → chunk-IPRUOF7I.cjs.map} +1 -1
  97. package/dist/{chunk-DVRI2PQV.cjs → chunk-J3BXNA2G.cjs} +10 -10
  98. package/dist/{chunk-DVRI2PQV.cjs.map → chunk-J3BXNA2G.cjs.map} +1 -1
  99. package/dist/{chunk-2NAY2LUJ.js → chunk-JA7S4TJR.js} +5 -5
  100. package/dist/{chunk-2NAY2LUJ.js.map → chunk-JA7S4TJR.js.map} +1 -1
  101. package/dist/{chunk-I5WPFNWX.js → chunk-JGRMPXAX.js} +5 -5
  102. package/dist/{chunk-I5WPFNWX.js.map → chunk-JGRMPXAX.js.map} +1 -1
  103. package/dist/{chunk-FP3SA3LK.cjs → chunk-JHG52CBB.cjs} +28 -28
  104. package/dist/{chunk-FP3SA3LK.cjs.map → chunk-JHG52CBB.cjs.map} +1 -1
  105. package/dist/{chunk-X5I45TOD.cjs → chunk-JI66GIIH.cjs} +20 -20
  106. package/dist/{chunk-X5I45TOD.cjs.map → chunk-JI66GIIH.cjs.map} +1 -1
  107. package/dist/{chunk-V2NLRL23.cjs → chunk-JTGGDYGY.cjs} +28 -28
  108. package/dist/{chunk-V2NLRL23.cjs.map → chunk-JTGGDYGY.cjs.map} +1 -1
  109. package/dist/{chunk-P5ZWPVC2.js → chunk-JWJ4FFVU.js} +3 -3
  110. package/dist/{chunk-P5ZWPVC2.js.map → chunk-JWJ4FFVU.js.map} +1 -1
  111. package/dist/{chunk-UWUPLXZN.js → chunk-K66OW2AA.js} +6 -6
  112. package/dist/{chunk-UWUPLXZN.js.map → chunk-K66OW2AA.js.map} +1 -1
  113. package/dist/{chunk-R5CX6VIT.js → chunk-KHEQHKTJ.js} +5 -5
  114. package/dist/{chunk-R5CX6VIT.js.map → chunk-KHEQHKTJ.js.map} +1 -1
  115. package/dist/{chunk-7NM7SE7Y.js → chunk-KJBLUTJT.js} +6 -6
  116. package/dist/{chunk-7NM7SE7Y.js.map → chunk-KJBLUTJT.js.map} +1 -1
  117. package/dist/{chunk-ANHJG3Z7.js → chunk-KP6VDSWV.js} +5 -5
  118. package/dist/{chunk-ANHJG3Z7.js.map → chunk-KP6VDSWV.js.map} +1 -1
  119. package/dist/{chunk-QZ6UFQ7V.cjs → chunk-KT66JFSR.cjs} +6 -6
  120. package/dist/{chunk-QZ6UFQ7V.cjs.map → chunk-KT66JFSR.cjs.map} +1 -1
  121. package/dist/{chunk-LYGOXXXA.js → chunk-L3WLRWTC.js} +6 -6
  122. package/dist/{chunk-LYGOXXXA.js.map → chunk-L3WLRWTC.js.map} +1 -1
  123. package/dist/{chunk-CU2IRRTR.cjs → chunk-LIJBEWEH.cjs} +19 -19
  124. package/dist/{chunk-CU2IRRTR.cjs.map → chunk-LIJBEWEH.cjs.map} +1 -1
  125. package/dist/{chunk-CXEQO3RE.js → chunk-LLZOPVQQ.js} +4 -4
  126. package/dist/{chunk-CXEQO3RE.js.map → chunk-LLZOPVQQ.js.map} +1 -1
  127. package/dist/{chunk-WNPUO7IZ.cjs → chunk-M45EEUJT.cjs} +23 -35
  128. package/dist/chunk-M45EEUJT.cjs.map +1 -0
  129. package/dist/{chunk-H5CDBXA4.cjs → chunk-N3IC7S4L.cjs} +20 -20
  130. package/dist/{chunk-H5CDBXA4.cjs.map → chunk-N3IC7S4L.cjs.map} +1 -1
  131. package/dist/{chunk-57H2WB7S.cjs → chunk-NE7ZXK3A.cjs} +19 -19
  132. package/dist/{chunk-57H2WB7S.cjs.map → chunk-NE7ZXK3A.cjs.map} +1 -1
  133. package/dist/{chunk-G4N6PYWY.cjs → chunk-NPMVIREN.cjs} +29 -29
  134. package/dist/{chunk-G4N6PYWY.cjs.map → chunk-NPMVIREN.cjs.map} +1 -1
  135. package/dist/{chunk-AZKOTAON.js → chunk-NPW7GUAP.js} +9 -9
  136. package/dist/{chunk-AZKOTAON.js.map → chunk-NPW7GUAP.js.map} +1 -1
  137. package/dist/{chunk-UCKK7LPQ.js → chunk-NRTOCZP6.js} +3 -3
  138. package/dist/{chunk-UCKK7LPQ.js.map → chunk-NRTOCZP6.js.map} +1 -1
  139. package/dist/{chunk-RF7P3524.cjs → chunk-NVNFVNEU.cjs} +12 -12
  140. package/dist/{chunk-RF7P3524.cjs.map → chunk-NVNFVNEU.cjs.map} +1 -1
  141. package/dist/{chunk-EO6MLUAA.js → chunk-O4377FUW.js} +5 -5
  142. package/dist/{chunk-EO6MLUAA.js.map → chunk-O4377FUW.js.map} +1 -1
  143. package/dist/{chunk-3AWUH2DT.cjs → chunk-OHOYDTN5.cjs} +71 -71
  144. package/dist/{chunk-3AWUH2DT.cjs.map → chunk-OHOYDTN5.cjs.map} +1 -1
  145. package/dist/{chunk-BZHOSRJY.cjs → chunk-OX6RKP5C.cjs} +19 -19
  146. package/dist/{chunk-BZHOSRJY.cjs.map → chunk-OX6RKP5C.cjs.map} +1 -1
  147. package/dist/{chunk-N7ZFWAFJ.cjs → chunk-PB6X5Q6F.cjs} +12 -12
  148. package/dist/{chunk-N7ZFWAFJ.cjs.map → chunk-PB6X5Q6F.cjs.map} +1 -1
  149. package/dist/{chunk-JUYUBEMU.js → chunk-PECE2GUW.js} +3 -3
  150. package/dist/{chunk-JUYUBEMU.js.map → chunk-PECE2GUW.js.map} +1 -1
  151. package/dist/{chunk-LWPPY3XE.cjs → chunk-PQHYTLZY.cjs} +9 -9
  152. package/dist/{chunk-LWPPY3XE.cjs.map → chunk-PQHYTLZY.cjs.map} +1 -1
  153. package/dist/{chunk-77A2RTNZ.js → chunk-QUNI7GBZ.js} +6 -6
  154. package/dist/{chunk-77A2RTNZ.js.map → chunk-QUNI7GBZ.js.map} +1 -1
  155. package/dist/{chunk-UGJBURIS.cjs → chunk-R7XGET77.cjs} +7 -7
  156. package/dist/{chunk-UGJBURIS.cjs.map → chunk-R7XGET77.cjs.map} +1 -1
  157. package/dist/{chunk-K46WKGGZ.js → chunk-RULY5YHQ.js} +8 -8
  158. package/dist/{chunk-K46WKGGZ.js.map → chunk-RULY5YHQ.js.map} +1 -1
  159. package/dist/{chunk-YMWAMFXW.cjs → chunk-RVGOGUYD.cjs} +7 -7
  160. package/dist/{chunk-YMWAMFXW.cjs.map → chunk-RVGOGUYD.cjs.map} +1 -1
  161. package/dist/{chunk-LXOKTLBF.cjs → chunk-SDKNFKPO.cjs} +19 -19
  162. package/dist/{chunk-LXOKTLBF.cjs.map → chunk-SDKNFKPO.cjs.map} +1 -1
  163. package/dist/{chunk-OR4OZJUW.cjs → chunk-SSWC72OL.cjs} +25 -25
  164. package/dist/{chunk-OR4OZJUW.cjs.map → chunk-SSWC72OL.cjs.map} +1 -1
  165. package/dist/{chunk-JWYT5XYO.cjs → chunk-TFYH42DN.cjs} +11 -11
  166. package/dist/{chunk-JWYT5XYO.cjs.map → chunk-TFYH42DN.cjs.map} +1 -1
  167. package/dist/{chunk-EAPGRYRG.cjs → chunk-UBMQFIZ5.cjs} +6 -6
  168. package/dist/{chunk-EAPGRYRG.cjs.map → chunk-UBMQFIZ5.cjs.map} +1 -1
  169. package/dist/{chunk-ZJVB5TZ4.js → chunk-UHMBTZ44.js} +23 -35
  170. package/dist/chunk-UHMBTZ44.js.map +1 -0
  171. package/dist/{chunk-OSN3DL34.js → chunk-V2PFC4GN.js} +3 -3
  172. package/dist/{chunk-OSN3DL34.js.map → chunk-V2PFC4GN.js.map} +1 -1
  173. package/dist/{chunk-XNR667MS.cjs → chunk-VCDXVUAX.cjs} +11 -11
  174. package/dist/{chunk-XNR667MS.cjs.map → chunk-VCDXVUAX.cjs.map} +1 -1
  175. package/dist/{chunk-DRHETQDI.cjs → chunk-VEYIFLKP.cjs} +12 -12
  176. package/dist/{chunk-DRHETQDI.cjs.map → chunk-VEYIFLKP.cjs.map} +1 -1
  177. package/dist/{chunk-U72BY62E.cjs → chunk-VKB5Q73O.cjs} +101 -101
  178. package/dist/{chunk-U72BY62E.cjs.map → chunk-VKB5Q73O.cjs.map} +1 -1
  179. package/dist/{chunk-4DUHTOLC.js → chunk-VM3RA22B.js} +3 -3
  180. package/dist/{chunk-4DUHTOLC.js.map → chunk-VM3RA22B.js.map} +1 -1
  181. package/dist/{chunk-XLPKT7N6.js → chunk-W6LUEOTA.js} +6 -6
  182. package/dist/{chunk-XLPKT7N6.js.map → chunk-W6LUEOTA.js.map} +1 -1
  183. package/dist/{chunk-7EDTSUCY.js → chunk-WEF5ZJPT.js} +3 -3
  184. package/dist/{chunk-7EDTSUCY.js.map → chunk-WEF5ZJPT.js.map} +1 -1
  185. package/dist/{chunk-QVGUEAP6.js → chunk-WMLAEHP2.js} +5 -5
  186. package/dist/{chunk-QVGUEAP6.js.map → chunk-WMLAEHP2.js.map} +1 -1
  187. package/dist/{chunk-UBYGPC2S.cjs → chunk-XCJ6SARN.cjs} +7 -7
  188. package/dist/{chunk-UBYGPC2S.cjs.map → chunk-XCJ6SARN.cjs.map} +1 -1
  189. package/dist/{chunk-ORWZ4QJZ.cjs → chunk-XETDRAF5.cjs} +19 -19
  190. package/dist/{chunk-ORWZ4QJZ.cjs.map → chunk-XETDRAF5.cjs.map} +1 -1
  191. package/dist/{chunk-7L6BZOXB.cjs → chunk-XIKIYQZC.cjs} +20 -20
  192. package/dist/{chunk-7L6BZOXB.cjs.map → chunk-XIKIYQZC.cjs.map} +1 -1
  193. package/dist/{chunk-Z4PDJRZT.cjs → chunk-Y2SHDKEU.cjs} +4 -4
  194. package/dist/{chunk-Z4PDJRZT.cjs.map → chunk-Y2SHDKEU.cjs.map} +1 -1
  195. package/dist/{chunk-I6WBJDRP.cjs → chunk-YM6HFQMA.cjs} +6 -6
  196. package/dist/{chunk-I6WBJDRP.cjs.map → chunk-YM6HFQMA.cjs.map} +1 -1
  197. package/dist/{chunk-TM3DGZGZ.js → chunk-YMZUKCL2.js} +7 -7
  198. package/dist/{chunk-TM3DGZGZ.js.map → chunk-YMZUKCL2.js.map} +1 -1
  199. package/dist/{chunk-PR6OZGWN.js → chunk-YQABFBMF.js} +5 -5
  200. package/dist/{chunk-PR6OZGWN.js.map → chunk-YQABFBMF.js.map} +1 -1
  201. package/dist/{chunk-PJFYMAGO.js → chunk-YX6VTUXY.js} +3 -3
  202. package/dist/{chunk-PJFYMAGO.js.map → chunk-YX6VTUXY.js.map} +1 -1
  203. package/dist/{chunk-4XSWMZTL.js → chunk-Z7WKF2EJ.js} +3 -3
  204. package/dist/{chunk-4XSWMZTL.js.map → chunk-Z7WKF2EJ.js.map} +1 -1
  205. package/dist/{chunk-PQ74DA4K.cjs → chunk-ZA7GER4D.cjs} +15 -15
  206. package/dist/{chunk-PQ74DA4K.cjs.map → chunk-ZA7GER4D.cjs.map} +1 -1
  207. package/dist/chunk-ZDQDDOKJ.cjs +655 -0
  208. package/dist/{chunk-YW5L7LRF.cjs.map → chunk-ZDQDDOKJ.cjs.map} +1 -1
  209. package/dist/{chunk-UU3HHGLK.js → chunk-ZITE7JQB.js} +4 -4
  210. package/dist/{chunk-UU3HHGLK.js.map → chunk-ZITE7JQB.js.map} +1 -1
  211. package/dist/{chunk-23BRCQHZ.cjs → chunk-ZX6LOGME.cjs} +12 -12
  212. package/dist/{chunk-23BRCQHZ.cjs.map → chunk-ZX6LOGME.cjs.map} +1 -1
  213. package/dist/{dist-HR6TOFJM.cjs → dist-TVEBMXRT.cjs} +25 -25
  214. package/dist/{dist-HR6TOFJM.cjs.map → dist-TVEBMXRT.cjs.map} +1 -1
  215. package/dist/{dist-7I6EPNH3.js → dist-ZGTEPXPM.js} +6 -6
  216. package/dist/{dist-7I6EPNH3.js.map → dist-ZGTEPXPM.js.map} +1 -1
  217. package/dist/docs/SKILL.md +1 -1
  218. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  219. package/dist/{observational-memory-KFKHBTCB-RX2CEPSU.js → observational-memory-CSI3OZXQ-74TPCOGT.js} +3 -3
  220. package/dist/{observational-memory-KFKHBTCB-RX2CEPSU.js.map → observational-memory-CSI3OZXQ-74TPCOGT.js.map} +1 -1
  221. package/dist/{observational-memory-KFKHBTCB-RMGPISAP.cjs → observational-memory-CSI3OZXQ-DQZZQVVM.cjs} +26 -26
  222. package/dist/{observational-memory-KFKHBTCB-RMGPISAP.cjs.map → observational-memory-CSI3OZXQ-DQZZQVVM.cjs.map} +1 -1
  223. package/dist/server/handlers/a2a.cjs +14 -14
  224. package/dist/server/handlers/a2a.js +1 -1
  225. package/dist/server/handlers/agent-builder.cjs +16 -16
  226. package/dist/server/handlers/agent-builder.js +1 -1
  227. package/dist/server/handlers/agent-versions.cjs +8 -8
  228. package/dist/server/handlers/agent-versions.js +1 -1
  229. package/dist/server/handlers/agents.cjs +41 -41
  230. package/dist/server/handlers/agents.js +1 -1
  231. package/dist/server/handlers/auth.cjs +12 -12
  232. package/dist/server/handlers/auth.js +1 -1
  233. package/dist/server/handlers/background-tasks.cjs +4 -4
  234. package/dist/server/handlers/background-tasks.js +1 -1
  235. package/dist/server/handlers/builder-registry.cjs +6 -6
  236. package/dist/server/handlers/builder-registry.js +1 -1
  237. package/dist/server/handlers/channels.cjs +5 -5
  238. package/dist/server/handlers/channels.js +1 -1
  239. package/dist/server/handlers/conversations.cjs +5 -5
  240. package/dist/server/handlers/conversations.js +1 -1
  241. package/dist/server/handlers/datasets.cjs +26 -26
  242. package/dist/server/handlers/datasets.js +1 -1
  243. package/dist/server/handlers/editor-builder.cjs +5 -5
  244. package/dist/server/handlers/editor-builder.js +1 -1
  245. package/dist/server/handlers/favorites-enrichment.cjs +3 -3
  246. package/dist/server/handlers/favorites-enrichment.js +1 -1
  247. package/dist/server/handlers/logs.cjs +4 -4
  248. package/dist/server/handlers/logs.js +1 -1
  249. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  250. package/dist/server/handlers/mcp-client-versions.js +1 -1
  251. package/dist/server/handlers/mcp.cjs +11 -11
  252. package/dist/server/handlers/mcp.js +1 -1
  253. package/dist/server/handlers/memory.cjs +27 -27
  254. package/dist/server/handlers/memory.js +1 -1
  255. package/dist/server/handlers/observability-new-endpoints.cjs +29 -29
  256. package/dist/server/handlers/observability-new-endpoints.d.ts +232 -232
  257. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  258. package/dist/server/handlers/observability-shared.cjs +9 -9
  259. package/dist/server/handlers/observability-shared.js +1 -1
  260. package/dist/server/handlers/observability.cjs +40 -40
  261. package/dist/server/handlers/observability.js +2 -2
  262. package/dist/server/handlers/processor-providers.cjs +3 -3
  263. package/dist/server/handlers/processor-providers.js +1 -1
  264. package/dist/server/handlers/processors.cjs +4 -4
  265. package/dist/server/handlers/processors.js +1 -1
  266. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  267. package/dist/server/handlers/prompt-block-versions.js +1 -1
  268. package/dist/server/handlers/responses.cjs +4 -4
  269. package/dist/server/handlers/responses.js +1 -1
  270. package/dist/server/handlers/schedules.cjs +6 -6
  271. package/dist/server/handlers/schedules.js +1 -1
  272. package/dist/server/handlers/scorer-versions.cjs +8 -8
  273. package/dist/server/handlers/scorer-versions.js +1 -1
  274. package/dist/server/handlers/scores.cjs +7 -7
  275. package/dist/server/handlers/scores.js +1 -1
  276. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  277. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  278. package/dist/server/handlers/stored-agents.cjs +7 -7
  279. package/dist/server/handlers/stored-agents.js +1 -1
  280. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  281. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  282. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  283. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  284. package/dist/server/handlers/stored-scorers.cjs +6 -6
  285. package/dist/server/handlers/stored-scorers.js +1 -1
  286. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  287. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  288. package/dist/server/handlers/stored-skills.cjs +7 -7
  289. package/dist/server/handlers/stored-skills.js +1 -1
  290. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  291. package/dist/server/handlers/stored-workspaces.js +1 -1
  292. package/dist/server/handlers/system.cjs +3 -3
  293. package/dist/server/handlers/system.js +1 -1
  294. package/dist/server/handlers/tool-providers.cjs +5 -5
  295. package/dist/server/handlers/tool-providers.js +1 -1
  296. package/dist/server/handlers/tools.cjs +6 -6
  297. package/dist/server/handlers/tools.js +1 -1
  298. package/dist/server/handlers/vector.cjs +16 -16
  299. package/dist/server/handlers/vector.js +1 -1
  300. package/dist/server/handlers/voice.cjs +8 -8
  301. package/dist/server/handlers/voice.js +1 -1
  302. package/dist/server/handlers/workflows.cjs +26 -26
  303. package/dist/server/handlers/workflows.js +1 -1
  304. package/dist/server/handlers/workspace.cjs +26 -26
  305. package/dist/server/handlers/workspace.js +1 -1
  306. package/dist/server/handlers.cjs +43 -43
  307. package/dist/server/handlers.js +15 -15
  308. package/dist/server/schemas/index.cjs +630 -630
  309. package/dist/server/schemas/index.js +10 -10
  310. package/dist/server/server-adapter/api-schema-manifest.d.ts +1 -1
  311. package/dist/server/server-adapter/index.cjs +26 -26
  312. package/dist/server/server-adapter/index.js +7 -7
  313. package/dist/server/server-adapter/openapi-utils.d.ts +1 -1
  314. package/dist/server/server-adapter/routes/observability.d.ts +116 -116
  315. package/package.json +6 -6
  316. package/dist/chunk-WNPUO7IZ.cjs.map +0 -1
  317. package/dist/chunk-YW5L7LRF.cjs +0 -655
  318. package/dist/chunk-ZJVB5TZ4.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { listProcessorsResponseSchema, serializedProcessorDetailSchema, processorIdPathParams, executeProcessorResponseSchema, executeProcessorBodySchema } from './chunk-2R5GLZJD.js';
2
2
  import { handleError } from './chunk-GA4BG5JK.js';
3
- import { createRoute } from './chunk-F2FAL5CZ.js';
3
+ import { createRoute } from './chunk-G6NTGBOW.js';
4
4
  import { HTTPException } from './chunk-6QWQZI4Q.js';
5
5
  import { MessageList } from '@mastra/core/agent';
6
6
  import { isProcessorWorkflow } from '@mastra/core/processors';
@@ -395,5 +395,5 @@ var EXECUTE_PROCESSOR_ROUTE = createRoute({
395
395
  });
396
396
 
397
397
  export { EXECUTE_PROCESSOR_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, LIST_PROCESSORS_ROUTE };
398
- //# sourceMappingURL=chunk-4DUHTOLC.js.map
399
- //# sourceMappingURL=chunk-4DUHTOLC.js.map
398
+ //# sourceMappingURL=chunk-VM3RA22B.js.map
399
+ //# sourceMappingURL=chunk-VM3RA22B.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/processors.ts"],"names":[],"mappings":"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","file":"chunk-4DUHTOLC.js","sourcesContent":["import { MessageList } from '@mastra/core/agent';\nimport type { MessageInput } from '@mastra/core/agent/message-list';\nimport { isProcessorWorkflow } from '@mastra/core/processors';\nimport type { Processor, ProcessorWorkflow } from '@mastra/core/processors';\n\nimport { HTTPException } from '../http-exception';\nimport {\n listProcessorsResponseSchema,\n serializedProcessorDetailSchema,\n processorIdPathParams,\n executeProcessorBodySchema,\n executeProcessorResponseSchema,\n} from '../schemas/processors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\ntype ProcessorPhase = 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep';\n\n/**\n * Helper to extract text from messages for outputStep testing.\n * In real usage, the `text` field contains the assistant's response text.\n */\nfunction extractTextFromMessages(messages: unknown[]): string {\n if (!messages || !Array.isArray(messages) || messages.length === 0) {\n return '';\n }\n const firstMessage = messages[0] as any;\n if (firstMessage?.content?.parts) {\n const textParts = firstMessage.content.parts\n .filter((part: any) => part?.type === 'text')\n .map((part: any) => part?.text || '');\n return textParts.join('');\n }\n return '';\n}\n\n/**\n * Helper to detect phases for a processor.\n * For individual processors, checks which methods are implemented.\n * For workflow processors, returns all phases since createStep handles each phase\n * and it's a no-op if the underlying processor doesn't implement it.\n */\nfunction detectProcessorPhases(processor: any): ProcessorPhase[] {\n // Check if it's a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Workflow processors can potentially handle all phases\n // The createStep in workflows handles each phase and it's a no-op if not implemented\n return ['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep'];\n }\n\n // For individual processors, detect by checking which methods exist\n const phases: ProcessorPhase[] = [];\n if (typeof processor.processInput === 'function') {\n phases.push('input');\n }\n if (typeof processor.processInputStep === 'function') {\n phases.push('inputStep');\n }\n if (typeof processor.processOutputStream === 'function') {\n phases.push('outputStream');\n }\n if (typeof processor.processOutputResult === 'function') {\n phases.push('outputResult');\n }\n if (typeof processor.processOutputStep === 'function') {\n phases.push('outputStep');\n }\n return phases;\n}\n\nexport const LIST_PROCESSORS_ROUTE = createRoute({\n method: 'GET',\n path: '/processors',\n responseType: 'json',\n responseSchema: listProcessorsResponseSchema,\n summary: 'List all processors',\n description: 'Returns a list of all available individual processors',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const processors = mastra.listProcessors() || {};\n const processorConfigurations = mastra.listProcessorConfigurations();\n const result: Record<\n string,\n {\n id: string;\n name?: string;\n description?: string;\n phases: ProcessorPhase[];\n agentIds: string[];\n configurations: Array<{ agentId: string; type: 'input' | 'output' }>;\n isWorkflow: boolean;\n }\n > = {};\n\n // Iterate through all individual processors registered with Mastra\n for (const [processorKey, processorEntry] of Object.entries(processors)) {\n const processor = processorEntry as Processor | ProcessorWorkflow;\n const processorId = processor.id || processorKey;\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processor);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processor);\n\n // Get agent configurations for this processor\n const configs = processorConfigurations.get(processorId) || [];\n const agentIds = [...new Set(configs.map(c => c.agentId))];\n const configurations = configs.map(c => ({ agentId: c.agentId, type: c.type }));\n\n result[processorId] = {\n id: processorId,\n name: processor.name || processorId,\n description: processor.description,\n phases,\n agentIds,\n configurations,\n isWorkflow,\n };\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error getting processors');\n }\n },\n});\n\nexport const GET_PROCESSOR_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/processors/:processorId',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n responseSchema: serializedProcessorDetailSchema,\n summary: 'Get processor by ID',\n description: 'Returns details for a specific processor including its phases and configurations',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra, processorId }) => {\n try {\n // Get the processor from Mastra's registered processors\n let processorEntry: Processor | ProcessorWorkflow | undefined;\n try {\n processorEntry = mastra.getProcessorById(processorId) as Processor | ProcessorWorkflow;\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processorEntry = processors[processorId as keyof typeof processors] as Processor | ProcessorWorkflow;\n }\n\n if (!processorEntry) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processorEntry);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processorEntry);\n\n // Get agent configurations for this processor\n const configs = mastra.getProcessorConfigurations(processorId);\n const agents = mastra.listAgents() || {};\n const configurations = configs.map(c => ({\n agentId: c.agentId,\n agentName: agents[c.agentId]?.name || c.agentId,\n type: c.type,\n }));\n\n return {\n id: processorEntry.id,\n name: processorEntry.name || processorEntry.id,\n description: processorEntry.description,\n phases,\n configurations,\n isWorkflow,\n };\n } catch (error) {\n return handleError(error, 'Error getting processor');\n }\n },\n});\n\nexport const EXECUTE_PROCESSOR_ROUTE = createRoute({\n method: 'POST',\n path: '/processors/:processorId/execute',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n bodySchema: executeProcessorBodySchema,\n responseSchema: executeProcessorResponseSchema,\n summary: 'Execute processor',\n description: 'Executes a specific processor with the provided input data',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra, processorId, ...bodyParams }) => {\n try {\n const { phase, messages } = bodyParams;\n\n if (!processorId) {\n throw new HTTPException(400, { message: 'Processor ID is required' });\n }\n\n if (!phase) {\n throw new HTTPException(400, { message: 'Phase is required' });\n }\n\n if (!messages || !Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages array is required' });\n }\n\n // Get the processor from Mastra's registered processors\n let processor;\n try {\n processor = mastra.getProcessorById(processorId);\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processor = processors[processorId as keyof typeof processors];\n }\n\n if (!processor) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n const messageList = new MessageList();\n messageList.add(messages as unknown as MessageInput[], 'input');\n\n // Check if this is a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Execute workflow processor\n try {\n // Build inputData based on phase - each phase has different required fields\n const baseInputData = {\n phase: phase as 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep',\n messages: messageList.get.all.db(),\n messageList,\n retryCount: 0,\n };\n let inputData: typeof baseInputData & Record<string, unknown> = baseInputData;\n\n // Add phase-specific fields\n switch (phase) {\n case 'input':\n inputData = {\n ...inputData,\n systemMessages: [],\n };\n break;\n case 'inputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n model: '',\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n };\n break;\n case 'outputResult':\n inputData = {\n ...inputData,\n state: {},\n result: {\n text: extractTextFromMessages(messages),\n usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },\n finishReason: 'unknown',\n steps: [],\n },\n };\n break;\n case 'outputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n };\n break;\n case 'outputStream':\n inputData = {\n ...inputData,\n part: null,\n streamParts: [],\n state: {},\n };\n break;\n }\n\n const run = await processor.createRun();\n const result = await run.start({\n inputData,\n });\n\n // Check for tripwire status\n if (result.status === 'tripwire') {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: result.tripwire.reason || `Tripwire triggered in workflow ${processor.id}`,\n metadata: result.tripwire.metadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n\n // Check for execution failure\n if (result.status !== 'success') {\n throw new HTTPException(500, {\n message: `Processor workflow ${processor.id} failed with status: ${result.status}`,\n });\n }\n\n // Extract output from workflow result\n const output = result.result;\n let outputMessages = messages;\n\n if (output && typeof output === 'object') {\n if ('messages' in output && Array.isArray(output.messages)) {\n outputMessages = output.messages;\n } else if ('messageList' in output && output.messageList instanceof MessageList) {\n outputMessages = output.messageList.get.all.db();\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Re-throw HTTP exceptions\n if (error instanceof HTTPException) {\n throw error;\n }\n throw new HTTPException(500, {\n message: `Error executing processor workflow: ${error.message}`,\n });\n }\n }\n\n // Handle individual processor execution\n // Create the abort function for tripwire support\n let tripwireTriggered = false;\n let tripwireReason: string | undefined;\n let tripwireMetadata: unknown;\n\n const abort = (reason?: string, options?: { retry?: boolean; metadata?: unknown }) => {\n tripwireTriggered = true;\n tripwireReason = reason;\n tripwireMetadata = options?.metadata;\n throw new Error(`TRIPWIRE:${reason || 'Processor aborted'}`);\n };\n\n // Build the context based on phase\n const baseContext = {\n abort,\n retryCount: 0,\n messages: messageList.get.all.db(),\n messageList,\n state: {},\n };\n\n try {\n let result: any;\n\n // Execute the specific phase method on the individual processor\n switch (phase) {\n case 'input':\n if (!processor.processInput) {\n throw new HTTPException(400, { message: 'Processor does not support input phase' });\n }\n result = await processor.processInput({\n ...baseContext,\n systemMessages: [],\n });\n break;\n\n case 'inputStep':\n if (!processor.processInputStep) {\n throw new HTTPException(400, { message: 'Processor does not support inputStep phase' });\n }\n result = await processor.processInputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n // Pass empty/default values for all inputStep fields\n model: '' as any,\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n });\n break;\n\n case 'outputResult':\n if (!processor.processOutputResult) {\n throw new HTTPException(400, { message: 'Processor does not support outputResult phase' });\n }\n result = await processor.processOutputResult({\n ...baseContext,\n state: {},\n result: {\n text: extractTextFromMessages(messages),\n usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },\n finishReason: 'unknown',\n steps: [],\n },\n });\n break;\n\n case 'outputStep':\n if (!processor.processOutputStep) {\n throw new HTTPException(400, { message: 'Processor does not support outputStep phase' });\n }\n result = await processor.processOutputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n usage: { inputTokens: undefined, outputTokens: undefined, totalTokens: undefined },\n });\n break;\n\n case 'outputStream':\n // outputStream is for streaming chunks, not a simple execute\n throw new HTTPException(400, {\n message: 'outputStream phase cannot be executed directly. Use streaming instead.',\n });\n\n default:\n throw new HTTPException(400, { message: `Unknown phase: ${phase}` });\n }\n\n // Process the result\n let outputMessages = messages;\n if (result) {\n if (Array.isArray(result)) {\n outputMessages = result;\n } else if (result.get && result.get.all && typeof result.get.all.db === 'function') {\n // It's a MessageList\n outputMessages = result.get.all.db();\n } else if (result.messages) {\n outputMessages = result.messages;\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Check if it's a tripwire\n if (tripwireTriggered || error.message?.startsWith('TRIPWIRE:')) {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: tripwireReason || error.message?.replace('TRIPWIRE:', ''),\n metadata: tripwireMetadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n throw error;\n }\n } catch (error) {\n return handleError(error, 'Error executing processor');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/processors.ts"],"names":[],"mappings":";;;;;;;AA0BA,SAAS,wBAAwB,QAAA,EAA6B;AAC5D,EAAA,IAAI,CAAC,YAAY,CAAC,KAAA,CAAM,QAAQ,QAAQ,CAAA,IAAK,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG;AAClE,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,MAAM,YAAA,GAAe,SAAS,CAAC,CAAA;AAC/B,EAAA,IAAI,YAAA,EAAc,SAAS,KAAA,EAAO;AAChC,IAAA,MAAM,YAAY,YAAA,CAAa,OAAA,CAAQ,KAAA,CACpC,MAAA,CAAO,CAAC,IAAA,KAAc,IAAA,EAAM,IAAA,KAAS,MAAM,EAC3C,GAAA,CAAI,CAAC,IAAA,KAAc,IAAA,EAAM,QAAQ,EAAE,CAAA;AACtC,IAAA,OAAO,SAAA,CAAU,KAAK,EAAE,CAAA;AAAA,EAC1B;AACA,EAAA,OAAO,EAAA;AACT;AAQA,SAAS,sBAAsB,SAAA,EAAkC;AAE/D,EAAA,IAAI,mBAAA,CAAoB,SAAS,CAAA,EAAG;AAGlC,IAAA,OAAO,CAAC,OAAA,EAAS,WAAA,EAAa,cAAA,EAAgB,gBAAgB,YAAY,CAAA;AAAA,EAC5E;AAGA,EAAA,MAAM,SAA2B,EAAC;AAClC,EAAA,IAAI,OAAO,SAAA,CAAU,YAAA,KAAiB,UAAA,EAAY;AAChD,IAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA,EACrB;AACA,EAAA,IAAI,OAAO,SAAA,CAAU,gBAAA,KAAqB,UAAA,EAAY;AACpD,IAAA,MAAA,CAAO,KAAK,WAAW,CAAA;AAAA,EACzB;AACA,EAAA,IAAI,OAAO,SAAA,CAAU,mBAAA,KAAwB,UAAA,EAAY;AACvD,IAAA,MAAA,CAAO,KAAK,cAAc,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,OAAO,SAAA,CAAU,mBAAA,KAAwB,UAAA,EAAY;AACvD,IAAA,MAAA,CAAO,KAAK,cAAc,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,OAAO,SAAA,CAAU,iBAAA,KAAsB,UAAA,EAAY;AACrD,IAAA,MAAA,CAAO,KAAK,YAAY,CAAA;AAAA,EAC1B;AACA,EAAA,OAAO,MAAA;AACT;AAEO,IAAM,wBAAwB,WAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,aAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,cAAA,EAAgB,4BAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,uDAAA;AAAA,EACb,IAAA,EAAM,CAAC,YAAY,CAAA;AAAA,EACnB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,IAAA,IAAI;AACF,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,cAAA,EAAe,IAAK,EAAC;AAC/C,MAAA,MAAM,uBAAA,GAA0B,OAAO,2BAAA,EAA4B;AACnE,MAAA,MAAM,SAWF,EAAC;AAGL,MAAA,KAAA,MAAW,CAAC,YAAA,EAAc,cAAc,KAAK,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,EAAG;AACvE,QAAA,MAAM,SAAA,GAAY,cAAA;AAClB,QAAA,MAAM,WAAA,GAAc,UAAU,EAAA,IAAM,YAAA;AAGpC,QAAA,MAAM,UAAA,GAAa,oBAAoB,SAAS,CAAA;AAGhD,QAAA,MAAM,MAAA,GAAS,sBAAsB,SAAS,CAAA;AAG9C,QAAA,MAAM,OAAA,GAAU,uBAAA,CAAwB,GAAA,CAAI,WAAW,KAAK,EAAC;AAC7D,QAAA,MAAM,QAAA,GAAW,CAAC,GAAG,IAAI,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,OAAO,CAAC,CAAC,CAAA;AACzD,QAAA,MAAM,cAAA,GAAiB,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAA,MAAM,EAAE,OAAA,EAAS,CAAA,CAAE,OAAA,EAAS,IAAA,EAAM,CAAA,CAAE,IAAA,EAAK,CAAE,CAAA;AAE9E,QAAA,MAAA,CAAO,WAAW,CAAA,GAAI;AAAA,UACpB,EAAA,EAAI,WAAA;AAAA,UACJ,IAAA,EAAM,UAAU,IAAA,IAAQ,WAAA;AAAA,UACxB,aAAa,SAAA,CAAU,WAAA;AAAA,UACvB,MAAA;AAAA,UACA,QAAA;AAAA,UACA,cAAA;AAAA,UACA;AAAA,SACF;AAAA,MACF;AAEA,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,IACtD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,4BAA4B,WAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,0BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,qBAAA;AAAA,EACjB,cAAA,EAAgB,+BAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,kFAAA;AAAA,EACb,IAAA,EAAM,CAAC,YAAY,CAAA;AAAA,EACnB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,aAAY,KAAM;AAC1C,IAAA,IAAI;AAEF,MAAA,IAAI,cAAA;AACJ,MAAA,IAAI;AACF,QAAA,cAAA,GAAiB,MAAA,CAAO,iBAAiB,WAAW,CAAA;AAAA,MACtD,CAAA,CAAA,MAAQ;AAEN,QAAA,MAAM,UAAA,GAAa,MAAA,CAAO,cAAA,EAAe,IAAK,EAAC;AAC/C,QAAA,cAAA,GAAiB,WAAW,WAAsC,CAAA;AAAA,MACpE;AAEA,MAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,uBAAuB,CAAA;AAAA,MACjE;AAGA,MAAA,MAAM,UAAA,GAAa,oBAAoB,cAAc,CAAA;AAGrD,MAAA,MAAM,MAAA,GAAS,sBAAsB,cAAc,CAAA;AAGnD,MAAA,MAAM,OAAA,GAAU,MAAA,CAAO,0BAAA,CAA2B,WAAW,CAAA;AAC7D,MAAA,MAAM,MAAA,GAAS,MAAA,CAAO,UAAA,EAAW,IAAK,EAAC;AACvC,MAAA,MAAM,cAAA,GAAiB,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAA,MAAM;AAAA,QACvC,SAAS,CAAA,CAAE,OAAA;AAAA,QACX,WAAW,MAAA,CAAO,CAAA,CAAE,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAE,OAAA;AAAA,QACxC,MAAM,CAAA,CAAE;AAAA,OACV,CAAE,CAAA;AAEF,MAAA,OAAO;AAAA,QACL,IAAI,cAAA,CAAe,EAAA;AAAA,QACnB,IAAA,EAAM,cAAA,CAAe,IAAA,IAAQ,cAAA,CAAe,EAAA;AAAA,QAC5C,aAAa,cAAA,CAAe,WAAA;AAAA,QAC5B,MAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,IACrD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,0BAA0B,WAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,kCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,qBAAA;AAAA,EACjB,UAAA,EAAY,0BAAA;AAAA,EACZ,cAAA,EAAgB,8BAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,4DAAA;AAAA,EACb,IAAA,EAAM,CAAC,YAAY,CAAA;AAAA,EACnB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,QAAQ,WAAA,EAAa,GAAG,YAAW,KAAM;AACzD,IAAA,IAAI;AACF,MAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAS,GAAI,UAAA;AAE5B,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,MACtE;AAEA,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qBAAqB,CAAA;AAAA,MAC/D;AAEA,MAAA,IAAI,CAAC,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACzC,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,8BAA8B,CAAA;AAAA,MACxE;AAGA,MAAA,IAAI,SAAA;AACJ,MAAA,IAAI;AACF,QAAA,SAAA,GAAY,MAAA,CAAO,iBAAiB,WAAW,CAAA;AAAA,MACjD,CAAA,CAAA,MAAQ;AAEN,QAAA,MAAM,UAAA,GAAa,MAAA,CAAO,cAAA,EAAe,IAAK,EAAC;AAC/C,QAAA,SAAA,GAAY,WAAW,WAAsC,CAAA;AAAA,MAC/D;AAEA,MAAA,IAAI,CAAC,SAAA,EAAW;AACd,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,uBAAuB,CAAA;AAAA,MACjE;AAEA,MAAA,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAA,WAAA,CAAY,GAAA,CAAI,UAAuC,OAAO,CAAA;AAG9D,MAAA,IAAI,mBAAA,CAAoB,SAAS,CAAA,EAAG;AAElC,QAAA,IAAI;AAEF,UAAA,MAAM,aAAA,GAAgB;AAAA,YACpB,KAAA;AAAA,YACA,QAAA,EAAU,WAAA,CAAY,GAAA,CAAI,GAAA,CAAI,EAAA,EAAG;AAAA,YACjC,WAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AACA,UAAA,IAAI,SAAA,GAA4D,aAAA;AAGhE,UAAA,QAAQ,KAAA;AAAO,YACb,KAAK,OAAA;AACH,cAAA,SAAA,GAAY;AAAA,gBACV,GAAG,SAAA;AAAA,gBACH,gBAAgB;AAAC,eACnB;AACA,cAAA;AAAA,YACF,KAAK,WAAA;AACH,cAAA,SAAA,GAAY;AAAA,gBACV,GAAG,SAAA;AAAA,gBACH,UAAA,EAAY,CAAA;AAAA,gBACZ,gBAAgB,EAAC;AAAA,gBACjB,OAAO,EAAC;AAAA,gBACR,KAAA,EAAO,EAAA;AAAA,gBACP,OAAO,EAAC;AAAA,gBACR,UAAA,EAAY,MAAA;AAAA,gBACZ,aAAa,EAAC;AAAA,gBACd,eAAA,EAAiB,MAAA;AAAA,gBACjB,aAAA,EAAe,MAAA;AAAA,gBACf,gBAAA,EAAkB;AAAA,eACpB;AACA,cAAA;AAAA,YACF,KAAK,cAAA;AACH,cAAA,SAAA,GAAY;AAAA,gBACV,GAAG,SAAA;AAAA,gBACH,OAAO,EAAC;AAAA,gBACR,MAAA,EAAQ;AAAA,kBACN,IAAA,EAAM,wBAAwB,QAAQ,CAAA;AAAA,kBACtC,OAAO,EAAE,WAAA,EAAa,GAAG,YAAA,EAAc,CAAA,EAAG,aAAa,CAAA,EAAE;AAAA,kBACzD,YAAA,EAAc,SAAA;AAAA,kBACd,OAAO;AAAC;AACV,eACF;AACA,cAAA;AAAA,YACF,KAAK,YAAA;AACH,cAAA,SAAA,GAAY;AAAA,gBACV,GAAG,SAAA;AAAA,gBACH,UAAA,EAAY,CAAA;AAAA,gBACZ,gBAAgB,EAAC;AAAA,gBACjB,OAAO,EAAC;AAAA,gBACR,YAAA,EAAc,MAAA;AAAA,gBACd,WAAW,EAAC;AAAA,gBACZ,IAAA,EAAM,wBAAwB,QAAQ;AAAA,eACxC;AACA,cAAA;AAAA,YACF,KAAK,cAAA;AACH,cAAA,SAAA,GAAY;AAAA,gBACV,GAAG,SAAA;AAAA,gBACH,IAAA,EAAM,IAAA;AAAA,gBACN,aAAa,EAAC;AAAA,gBACd,OAAO;AAAC,eACV;AACA,cAAA;AAAA;AAGJ,UAAA,MAAM,GAAA,GAAM,MAAM,SAAA,CAAU,SAAA,EAAU;AACtC,UAAA,MAAM,MAAA,GAAS,MAAM,GAAA,CAAI,KAAA,CAAM;AAAA,YAC7B;AAAA,WACD,CAAA;AAGD,UAAA,IAAI,MAAA,CAAO,WAAW,UAAA,EAAY;AAChC,YAAA,OAAO;AAAA,cACL,OAAA,EAAS,KAAA;AAAA,cACT,KAAA;AAAA,cACA,QAAA,EAAU;AAAA,gBACR,SAAA,EAAW,IAAA;AAAA,gBACX,QAAQ,MAAA,CAAO,QAAA,CAAS,MAAA,IAAU,CAAA,+BAAA,EAAkC,UAAU,EAAE,CAAA,CAAA;AAAA,gBAChF,QAAA,EAAU,OAAO,QAAA,CAAS;AAAA,eAC5B;AAAA,cACA,QAAA;AAAA,cACA,WAAA,EAAa;AAAA,gBACX;AAAA;AACF,aACF;AAAA,UACF;AAGA,UAAA,IAAI,MAAA,CAAO,WAAW,SAAA,EAAW;AAC/B,YAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,cAC3B,SAAS,CAAA,mBAAA,EAAsB,SAAA,CAAU,EAAE,CAAA,qBAAA,EAAwB,OAAO,MAAM,CAAA;AAAA,aACjF,CAAA;AAAA,UACH;AAGA,UAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AACtB,UAAA,IAAI,cAAA,GAAiB,QAAA;AAErB,UAAA,IAAI,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,EAAU;AACxC,YAAA,IAAI,cAAc,MAAA,IAAU,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA,EAAG;AAC1D,cAAA,cAAA,GAAiB,MAAA,CAAO,QAAA;AAAA,YAC1B,CAAA,MAAA,IAAW,aAAA,IAAiB,MAAA,IAAU,MAAA,CAAO,uBAAuB,WAAA,EAAa;AAC/E,cAAA,cAAA,GAAiB,MAAA,CAAO,WAAA,CAAY,GAAA,CAAI,GAAA,CAAI,EAAA,EAAG;AAAA,YACjD;AAAA,UACF;AAEA,UAAA,OAAO;AAAA,YACL,OAAA,EAAS,IAAA;AAAA,YACT,KAAA;AAAA,YACA,QAAA,EAAU,cAAA;AAAA,YACV,WAAA,EAAa;AAAA,cACX,QAAA,EAAU;AAAA;AACZ,WACF;AAAA,QACF,SAAS,KAAA,EAAY;AAEnB,UAAA,IAAI,iBAAiB,aAAA,EAAe;AAClC,YAAA,MAAM,KAAA;AAAA,UACR;AACA,UAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,YAC3B,OAAA,EAAS,CAAA,oCAAA,EAAuC,KAAA,CAAM,OAAO,CAAA;AAAA,WAC9D,CAAA;AAAA,QACH;AAAA,MACF;AAIA,MAAA,IAAI,iBAAA,GAAoB,KAAA;AACxB,MAAA,IAAI,cAAA;AACJ,MAAA,IAAI,gBAAA;AAEJ,MAAA,MAAM,KAAA,GAAQ,CAAC,MAAA,EAAiB,OAAA,KAAsD;AACpF,QAAA,iBAAA,GAAoB,IAAA;AACpB,QAAA,cAAA,GAAiB,MAAA;AACjB,QAAA,gBAAA,GAAmB,OAAA,EAAS,QAAA;AAC5B,QAAA,MAAM,IAAI,KAAA,CAAM,CAAA,SAAA,EAAY,MAAA,IAAU,mBAAmB,CAAA,CAAE,CAAA;AAAA,MAC7D,CAAA;AAGA,MAAA,MAAM,WAAA,GAAc;AAAA,QAClB,KAAA;AAAA,QACA,UAAA,EAAY,CAAA;AAAA,QACZ,QAAA,EAAU,WAAA,CAAY,GAAA,CAAI,GAAA,CAAI,EAAA,EAAG;AAAA,QACjC,WAAA;AAAA,QACA,OAAO;AAAC,OACV;AAEA,MAAA,IAAI;AACF,QAAA,IAAI,MAAA;AAGJ,QAAA,QAAQ,KAAA;AAAO,UACb,KAAK,OAAA;AACH,YAAA,IAAI,CAAC,UAAU,YAAA,EAAc;AAC3B,cAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,YACpF;AACA,YAAA,MAAA,GAAS,MAAM,UAAU,YAAA,CAAa;AAAA,cACpC,GAAG,WAAA;AAAA,cACH,gBAAgB;AAAC,aAClB,CAAA;AACD,YAAA;AAAA,UAEF,KAAK,WAAA;AACH,YAAA,IAAI,CAAC,UAAU,gBAAA,EAAkB;AAC/B,cAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,8CAA8C,CAAA;AAAA,YACxF;AACA,YAAA,MAAA,GAAS,MAAM,UAAU,gBAAA,CAAiB;AAAA,cACxC,GAAG,WAAA;AAAA,cACH,gBAAgB,EAAC;AAAA,cACjB,UAAA,EAAY,CAAA;AAAA,cACZ,OAAO,EAAC;AAAA;AAAA,cAER,KAAA,EAAO,EAAA;AAAA,cACP,OAAO,EAAC;AAAA,cACR,UAAA,EAAY,MAAA;AAAA,cACZ,aAAa,EAAC;AAAA,cACd,eAAA,EAAiB,MAAA;AAAA,cACjB,aAAA,EAAe,MAAA;AAAA,cACf,gBAAA,EAAkB;AAAA,aACnB,CAAA;AACD,YAAA;AAAA,UAEF,KAAK,cAAA;AACH,YAAA,IAAI,CAAC,UAAU,mBAAA,EAAqB;AAClC,cAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,iDAAiD,CAAA;AAAA,YAC3F;AACA,YAAA,MAAA,GAAS,MAAM,UAAU,mBAAA,CAAoB;AAAA,cAC3C,GAAG,WAAA;AAAA,cACH,OAAO,EAAC;AAAA,cACR,MAAA,EAAQ;AAAA,gBACN,IAAA,EAAM,wBAAwB,QAAQ,CAAA;AAAA,gBACtC,OAAO,EAAE,WAAA,EAAa,GAAG,YAAA,EAAc,CAAA,EAAG,aAAa,CAAA,EAAE;AAAA,gBACzD,YAAA,EAAc,SAAA;AAAA,gBACd,OAAO;AAAC;AACV,aACD,CAAA;AACD,YAAA;AAAA,UAEF,KAAK,YAAA;AACH,YAAA,IAAI,CAAC,UAAU,iBAAA,EAAmB;AAChC,cAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+CAA+C,CAAA;AAAA,YACzF;AACA,YAAA,MAAA,GAAS,MAAM,UAAU,iBAAA,CAAkB;AAAA,cACzC,GAAG,WAAA;AAAA,cACH,gBAAgB,EAAC;AAAA,cACjB,UAAA,EAAY,CAAA;AAAA,cACZ,OAAO,EAAC;AAAA,cACR,YAAA,EAAc,MAAA;AAAA,cACd,WAAW,EAAC;AAAA,cACZ,IAAA,EAAM,wBAAwB,QAAQ,CAAA;AAAA,cACtC,OAAO,EAAE,WAAA,EAAa,QAAW,YAAA,EAAc,MAAA,EAAW,aAAa,MAAA;AAAU,aAClF,CAAA;AACD,YAAA;AAAA,UAEF,KAAK,cAAA;AAEH,YAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,cAC3B,OAAA,EAAS;AAAA,aACV,CAAA;AAAA,UAEH;AACE,YAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,KAAK,IAAI,CAAA;AAAA;AAIvE,QAAA,IAAI,cAAA,GAAiB,QAAA;AACrB,QAAA,IAAI,MAAA,EAAQ;AACV,UAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AACzB,YAAA,cAAA,GAAiB,MAAA;AAAA,UACnB,CAAA,MAAA,IAAW,MAAA,CAAO,GAAA,IAAO,MAAA,CAAO,GAAA,CAAI,GAAA,IAAO,OAAO,MAAA,CAAO,GAAA,CAAI,GAAA,CAAI,EAAA,KAAO,UAAA,EAAY;AAElF,YAAA,cAAA,GAAiB,MAAA,CAAO,GAAA,CAAI,GAAA,CAAI,EAAA,EAAG;AAAA,UACrC,CAAA,MAAA,IAAW,OAAO,QAAA,EAAU;AAC1B,YAAA,cAAA,GAAiB,MAAA,CAAO,QAAA;AAAA,UAC1B;AAAA,QACF;AAEA,QAAA,OAAO;AAAA,UACL,OAAA,EAAS,IAAA;AAAA,UACT,KAAA;AAAA,UACA,QAAA,EAAU,cAAA;AAAA,UACV,WAAA,EAAa;AAAA,YACX,QAAA,EAAU;AAAA;AACZ,SACF;AAAA,MACF,SAAS,KAAA,EAAY;AAEnB,QAAA,IAAI,iBAAA,IAAqB,KAAA,CAAM,OAAA,EAAS,UAAA,CAAW,WAAW,CAAA,EAAG;AAC/D,UAAA,OAAO;AAAA,YACL,OAAA,EAAS,KAAA;AAAA,YACT,KAAA;AAAA,YACA,QAAA,EAAU;AAAA,cACR,SAAA,EAAW,IAAA;AAAA,cACX,QAAQ,cAAA,IAAkB,KAAA,CAAM,OAAA,EAAS,OAAA,CAAQ,aAAa,EAAE,CAAA;AAAA,cAChE,QAAA,EAAU;AAAA,aACZ;AAAA,YACA,QAAA;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA;AACF,WACF;AAAA,QACF;AACA,QAAA,MAAM,KAAA;AAAA,MACR;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,2BAA2B,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAC","file":"chunk-VM3RA22B.js","sourcesContent":["import { MessageList } from '@mastra/core/agent';\nimport type { MessageInput } from '@mastra/core/agent/message-list';\nimport { isProcessorWorkflow } from '@mastra/core/processors';\nimport type { Processor, ProcessorWorkflow } from '@mastra/core/processors';\n\nimport { HTTPException } from '../http-exception';\nimport {\n listProcessorsResponseSchema,\n serializedProcessorDetailSchema,\n processorIdPathParams,\n executeProcessorBodySchema,\n executeProcessorResponseSchema,\n} from '../schemas/processors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\ntype ProcessorPhase = 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep';\n\n/**\n * Helper to extract text from messages for outputStep testing.\n * In real usage, the `text` field contains the assistant's response text.\n */\nfunction extractTextFromMessages(messages: unknown[]): string {\n if (!messages || !Array.isArray(messages) || messages.length === 0) {\n return '';\n }\n const firstMessage = messages[0] as any;\n if (firstMessage?.content?.parts) {\n const textParts = firstMessage.content.parts\n .filter((part: any) => part?.type === 'text')\n .map((part: any) => part?.text || '');\n return textParts.join('');\n }\n return '';\n}\n\n/**\n * Helper to detect phases for a processor.\n * For individual processors, checks which methods are implemented.\n * For workflow processors, returns all phases since createStep handles each phase\n * and it's a no-op if the underlying processor doesn't implement it.\n */\nfunction detectProcessorPhases(processor: any): ProcessorPhase[] {\n // Check if it's a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Workflow processors can potentially handle all phases\n // The createStep in workflows handles each phase and it's a no-op if not implemented\n return ['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep'];\n }\n\n // For individual processors, detect by checking which methods exist\n const phases: ProcessorPhase[] = [];\n if (typeof processor.processInput === 'function') {\n phases.push('input');\n }\n if (typeof processor.processInputStep === 'function') {\n phases.push('inputStep');\n }\n if (typeof processor.processOutputStream === 'function') {\n phases.push('outputStream');\n }\n if (typeof processor.processOutputResult === 'function') {\n phases.push('outputResult');\n }\n if (typeof processor.processOutputStep === 'function') {\n phases.push('outputStep');\n }\n return phases;\n}\n\nexport const LIST_PROCESSORS_ROUTE = createRoute({\n method: 'GET',\n path: '/processors',\n responseType: 'json',\n responseSchema: listProcessorsResponseSchema,\n summary: 'List all processors',\n description: 'Returns a list of all available individual processors',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const processors = mastra.listProcessors() || {};\n const processorConfigurations = mastra.listProcessorConfigurations();\n const result: Record<\n string,\n {\n id: string;\n name?: string;\n description?: string;\n phases: ProcessorPhase[];\n agentIds: string[];\n configurations: Array<{ agentId: string; type: 'input' | 'output' }>;\n isWorkflow: boolean;\n }\n > = {};\n\n // Iterate through all individual processors registered with Mastra\n for (const [processorKey, processorEntry] of Object.entries(processors)) {\n const processor = processorEntry as Processor | ProcessorWorkflow;\n const processorId = processor.id || processorKey;\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processor);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processor);\n\n // Get agent configurations for this processor\n const configs = processorConfigurations.get(processorId) || [];\n const agentIds = [...new Set(configs.map(c => c.agentId))];\n const configurations = configs.map(c => ({ agentId: c.agentId, type: c.type }));\n\n result[processorId] = {\n id: processorId,\n name: processor.name || processorId,\n description: processor.description,\n phases,\n agentIds,\n configurations,\n isWorkflow,\n };\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error getting processors');\n }\n },\n});\n\nexport const GET_PROCESSOR_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/processors/:processorId',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n responseSchema: serializedProcessorDetailSchema,\n summary: 'Get processor by ID',\n description: 'Returns details for a specific processor including its phases and configurations',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra, processorId }) => {\n try {\n // Get the processor from Mastra's registered processors\n let processorEntry: Processor | ProcessorWorkflow | undefined;\n try {\n processorEntry = mastra.getProcessorById(processorId) as Processor | ProcessorWorkflow;\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processorEntry = processors[processorId as keyof typeof processors] as Processor | ProcessorWorkflow;\n }\n\n if (!processorEntry) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processorEntry);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processorEntry);\n\n // Get agent configurations for this processor\n const configs = mastra.getProcessorConfigurations(processorId);\n const agents = mastra.listAgents() || {};\n const configurations = configs.map(c => ({\n agentId: c.agentId,\n agentName: agents[c.agentId]?.name || c.agentId,\n type: c.type,\n }));\n\n return {\n id: processorEntry.id,\n name: processorEntry.name || processorEntry.id,\n description: processorEntry.description,\n phases,\n configurations,\n isWorkflow,\n };\n } catch (error) {\n return handleError(error, 'Error getting processor');\n }\n },\n});\n\nexport const EXECUTE_PROCESSOR_ROUTE = createRoute({\n method: 'POST',\n path: '/processors/:processorId/execute',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n bodySchema: executeProcessorBodySchema,\n responseSchema: executeProcessorResponseSchema,\n summary: 'Execute processor',\n description: 'Executes a specific processor with the provided input data',\n tags: ['Processors'],\n requiresAuth: true,\n handler: async ({ mastra, processorId, ...bodyParams }) => {\n try {\n const { phase, messages } = bodyParams;\n\n if (!processorId) {\n throw new HTTPException(400, { message: 'Processor ID is required' });\n }\n\n if (!phase) {\n throw new HTTPException(400, { message: 'Phase is required' });\n }\n\n if (!messages || !Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages array is required' });\n }\n\n // Get the processor from Mastra's registered processors\n let processor;\n try {\n processor = mastra.getProcessorById(processorId);\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processor = processors[processorId as keyof typeof processors];\n }\n\n if (!processor) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n const messageList = new MessageList();\n messageList.add(messages as unknown as MessageInput[], 'input');\n\n // Check if this is a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Execute workflow processor\n try {\n // Build inputData based on phase - each phase has different required fields\n const baseInputData = {\n phase: phase as 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep',\n messages: messageList.get.all.db(),\n messageList,\n retryCount: 0,\n };\n let inputData: typeof baseInputData & Record<string, unknown> = baseInputData;\n\n // Add phase-specific fields\n switch (phase) {\n case 'input':\n inputData = {\n ...inputData,\n systemMessages: [],\n };\n break;\n case 'inputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n model: '',\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n };\n break;\n case 'outputResult':\n inputData = {\n ...inputData,\n state: {},\n result: {\n text: extractTextFromMessages(messages),\n usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },\n finishReason: 'unknown',\n steps: [],\n },\n };\n break;\n case 'outputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n };\n break;\n case 'outputStream':\n inputData = {\n ...inputData,\n part: null,\n streamParts: [],\n state: {},\n };\n break;\n }\n\n const run = await processor.createRun();\n const result = await run.start({\n inputData,\n });\n\n // Check for tripwire status\n if (result.status === 'tripwire') {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: result.tripwire.reason || `Tripwire triggered in workflow ${processor.id}`,\n metadata: result.tripwire.metadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n\n // Check for execution failure\n if (result.status !== 'success') {\n throw new HTTPException(500, {\n message: `Processor workflow ${processor.id} failed with status: ${result.status}`,\n });\n }\n\n // Extract output from workflow result\n const output = result.result;\n let outputMessages = messages;\n\n if (output && typeof output === 'object') {\n if ('messages' in output && Array.isArray(output.messages)) {\n outputMessages = output.messages;\n } else if ('messageList' in output && output.messageList instanceof MessageList) {\n outputMessages = output.messageList.get.all.db();\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Re-throw HTTP exceptions\n if (error instanceof HTTPException) {\n throw error;\n }\n throw new HTTPException(500, {\n message: `Error executing processor workflow: ${error.message}`,\n });\n }\n }\n\n // Handle individual processor execution\n // Create the abort function for tripwire support\n let tripwireTriggered = false;\n let tripwireReason: string | undefined;\n let tripwireMetadata: unknown;\n\n const abort = (reason?: string, options?: { retry?: boolean; metadata?: unknown }) => {\n tripwireTriggered = true;\n tripwireReason = reason;\n tripwireMetadata = options?.metadata;\n throw new Error(`TRIPWIRE:${reason || 'Processor aborted'}`);\n };\n\n // Build the context based on phase\n const baseContext = {\n abort,\n retryCount: 0,\n messages: messageList.get.all.db(),\n messageList,\n state: {},\n };\n\n try {\n let result: any;\n\n // Execute the specific phase method on the individual processor\n switch (phase) {\n case 'input':\n if (!processor.processInput) {\n throw new HTTPException(400, { message: 'Processor does not support input phase' });\n }\n result = await processor.processInput({\n ...baseContext,\n systemMessages: [],\n });\n break;\n\n case 'inputStep':\n if (!processor.processInputStep) {\n throw new HTTPException(400, { message: 'Processor does not support inputStep phase' });\n }\n result = await processor.processInputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n // Pass empty/default values for all inputStep fields\n model: '' as any,\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n });\n break;\n\n case 'outputResult':\n if (!processor.processOutputResult) {\n throw new HTTPException(400, { message: 'Processor does not support outputResult phase' });\n }\n result = await processor.processOutputResult({\n ...baseContext,\n state: {},\n result: {\n text: extractTextFromMessages(messages),\n usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },\n finishReason: 'unknown',\n steps: [],\n },\n });\n break;\n\n case 'outputStep':\n if (!processor.processOutputStep) {\n throw new HTTPException(400, { message: 'Processor does not support outputStep phase' });\n }\n result = await processor.processOutputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n usage: { inputTokens: undefined, outputTokens: undefined, totalTokens: undefined },\n });\n break;\n\n case 'outputStream':\n // outputStream is for streaming chunks, not a simple execute\n throw new HTTPException(400, {\n message: 'outputStream phase cannot be executed directly. Use streaming instead.',\n });\n\n default:\n throw new HTTPException(400, { message: `Unknown phase: ${phase}` });\n }\n\n // Process the result\n let outputMessages = messages;\n if (result) {\n if (Array.isArray(result)) {\n outputMessages = result;\n } else if (result.get && result.get.all && typeof result.get.all.db === 'function') {\n // It's a MessageList\n outputMessages = result.get.all.db();\n } else if (result.messages) {\n outputMessages = result.messages;\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Check if it's a tripwire\n if (tripwireTriggered || error.message?.startsWith('TRIPWIRE:')) {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: tripwireReason || error.message?.replace('TRIPWIRE:', ''),\n metadata: tripwireMetadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n throw error;\n }\n } catch (error) {\n return handleError(error, 'Error executing processor');\n }\n },\n});\n"]}
@@ -1,10 +1,10 @@
1
1
  import { favoriteToggleResponseSchema } from './chunk-SFPN7SHZ.js';
2
- import { requireBuilderFeature } from './chunk-6JCLSYOU.js';
3
- import { getCallerAuthorId, assertReadAccess } from './chunk-7U7OWTR2.js';
4
2
  import { storedSkillIdPathParams } from './chunk-UIRQU4GW.js';
5
- import { assertStoredResourceScope, getStoredResourceScope } from './chunk-4XSWMZTL.js';
3
+ import { requireBuilderFeature } from './chunk-5PDA7RRM.js';
4
+ import { getCallerAuthorId, assertReadAccess } from './chunk-7U7OWTR2.js';
5
+ import { assertStoredResourceScope, getStoredResourceScope } from './chunk-Z7WKF2EJ.js';
6
6
  import { handleError } from './chunk-GA4BG5JK.js';
7
- import { createRoute } from './chunk-F2FAL5CZ.js';
7
+ import { createRoute } from './chunk-G6NTGBOW.js';
8
8
  import { HTTPException } from './chunk-6QWQZI4Q.js';
9
9
 
10
10
  // src/server/handlers/stored-skill-favorites.ts
@@ -97,5 +97,5 @@ var UNFAVORITE_STORED_SKILL_ROUTE = createRoute({
97
97
  });
98
98
 
99
99
  export { FAVORITE_STORED_SKILL_ROUTE, UNFAVORITE_STORED_SKILL_ROUTE };
100
- //# sourceMappingURL=chunk-XLPKT7N6.js.map
101
- //# sourceMappingURL=chunk-XLPKT7N6.js.map
100
+ //# sourceMappingURL=chunk-W6LUEOTA.js.map
101
+ //# sourceMappingURL=chunk-W6LUEOTA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/stored-skill-favorites.ts"],"names":[],"mappings":"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","file":"chunk-XLPKT7N6.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport { favoriteToggleResponseSchema } from '../schemas/favorites';\nimport { storedSkillIdPathParams } from '../schemas/stored-skills';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { assertReadAccess, getCallerAuthorId } from './authorship';\nimport { requireBuilderFeature } from './editor-builder';\nimport { handleError } from './error';\n\n/**\n * Resolves the storage and favorites domains, throwing 500 if unavailable.\n */\nasync function getFavoritesContext(mastra: Parameters<typeof requireBuilderFeature>[0]) {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n const skillStore = await storage.getStore('skills');\n if (!skillStore) {\n throw new HTTPException(500, { message: 'Skills storage domain is not available' });\n }\n const favoritesStore = await storage.getStore('favorites');\n if (!favoritesStore) {\n throw new HTTPException(500, { message: 'Favorites storage domain is not available' });\n }\n return { skillStore, favoritesStore };\n}\n\n/**\n * PUT /stored/skills/:storedSkillId/favorite\n */\nexport const FAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'PUT',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Favorite a stored skill',\n description: 'Marks the stored skill as favorited by the calling user. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n // Throws 404 if the caller cannot read the skill (private + not owner/admin).\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.favorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error favoriting stored skill');\n }\n },\n});\n\n/**\n * DELETE /stored/skills/:storedSkillId/favorite\n */\nexport const UNFAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Unfavorite a stored skill',\n description: 'Removes the caller’s favorite from the stored skill. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.unfavorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error unfavoriting stored skill');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/stored-skill-favorites.ts"],"names":[],"mappings":"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","file":"chunk-W6LUEOTA.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport { favoriteToggleResponseSchema } from '../schemas/favorites';\nimport { storedSkillIdPathParams } from '../schemas/stored-skills';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { assertReadAccess, getCallerAuthorId } from './authorship';\nimport { requireBuilderFeature } from './editor-builder';\nimport { handleError } from './error';\n\n/**\n * Resolves the storage and favorites domains, throwing 500 if unavailable.\n */\nasync function getFavoritesContext(mastra: Parameters<typeof requireBuilderFeature>[0]) {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n const skillStore = await storage.getStore('skills');\n if (!skillStore) {\n throw new HTTPException(500, { message: 'Skills storage domain is not available' });\n }\n const favoritesStore = await storage.getStore('favorites');\n if (!favoritesStore) {\n throw new HTTPException(500, { message: 'Favorites storage domain is not available' });\n }\n return { skillStore, favoritesStore };\n}\n\n/**\n * PUT /stored/skills/:storedSkillId/favorite\n */\nexport const FAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'PUT',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Favorite a stored skill',\n description: 'Marks the stored skill as favorited by the calling user. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n // Throws 404 if the caller cannot read the skill (private + not owner/admin).\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.favorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error favoriting stored skill');\n }\n },\n});\n\n/**\n * DELETE /stored/skills/:storedSkillId/favorite\n */\nexport const UNFAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Unfavorite a stored skill',\n description: 'Removes the caller’s favorite from the stored skill. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.unfavorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error unfavoriting stored skill');\n }\n },\n});\n"]}
@@ -1,5 +1,5 @@
1
1
  import { handleError } from './chunk-GA4BG5JK.js';
2
- import { createRoute } from './chunk-F2FAL5CZ.js';
2
+ import { createRoute } from './chunk-G6NTGBOW.js';
3
3
  import { HTTPException } from './chunk-6QWQZI4Q.js';
4
4
  import { coreFeatures } from '@mastra/core/features';
5
5
  import { z } from 'zod/v4';
@@ -186,5 +186,5 @@ var DISCONNECT_CHANNEL_ROUTE = createRoute({
186
186
  });
187
187
 
188
188
  export { CONNECT_CHANNEL_ROUTE, DISCONNECT_CHANNEL_ROUTE, LIST_CHANNEL_INSTALLATIONS_ROUTE, LIST_CHANNEL_PLATFORMS_ROUTE };
189
- //# sourceMappingURL=chunk-7EDTSUCY.js.map
190
- //# sourceMappingURL=chunk-7EDTSUCY.js.map
189
+ //# sourceMappingURL=chunk-WEF5ZJPT.js.map
190
+ //# sourceMappingURL=chunk-WEF5ZJPT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-7EDTSUCY.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-WEF5ZJPT.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
@@ -1,9 +1,9 @@
1
- import { getAgentFromSystem } from './chunk-K46WKGGZ.js';
1
+ import { getAgentFromSystem } from './chunk-RULY5YHQ.js';
2
+ import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-LO3JBCO6.js';
2
3
  import { validateBody } from './chunk-BWNJBSXL.js';
3
4
  import { handleError } from './chunk-GA4BG5JK.js';
4
- import { createRoute } from './chunk-F2FAL5CZ.js';
5
+ import { createRoute } from './chunk-G6NTGBOW.js';
5
6
  import { HTTPException } from './chunk-6QWQZI4Q.js';
6
- import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-LO3JBCO6.js';
7
7
  import { __export } from './chunk-PR4QN5HX.js';
8
8
  import { Readable } from 'stream';
9
9
  import { MastraError } from '@mastra/core/error';
@@ -191,5 +191,5 @@ var GET_LISTENER_ROUTE = createRoute({
191
191
  });
192
192
 
193
193
  export { GENERATE_SPEECH_DEPRECATED_ROUTE, GENERATE_SPEECH_ROUTE, GET_LISTENER_ROUTE, GET_SPEAKERS_DEPRECATED_ROUTE, GET_SPEAKERS_ROUTE, TRANSCRIBE_SPEECH_DEPRECATED_ROUTE, TRANSCRIBE_SPEECH_ROUTE, voice_exports };
194
- //# sourceMappingURL=chunk-QVGUEAP6.js.map
195
- //# sourceMappingURL=chunk-QVGUEAP6.js.map
194
+ //# sourceMappingURL=chunk-WMLAEHP2.js.map
195
+ //# sourceMappingURL=chunk-WMLAEHP2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-QVGUEAP6.js","sourcesContent":["import { Readable } from 'node:stream';\nimport { MastraError } from '@mastra/core/error';\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n voiceSpeakersResponseSchema,\n generateSpeechBodySchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n getListenerResponseSchema,\n} from '../schemas/agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Objects\n// ============================================================================\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n const speakers = await Promise.resolve()\n .then(() => voice.getSpeakers())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured, return empty array\n return [];\n }\n throw err;\n });\n\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(text!, { speaker: speakerId! }))\n .catch(err => {\n if (err instanceof MastraError) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n return audioStream as unknown as ReadableStream<any>;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, audio, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audio) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(audio);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/listener',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const listeners = await Promise.resolve()\n .then(() => voice.getListener())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured\n return { enabled: false };\n }\n throw err;\n });\n\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-WMLAEHP2.js","sourcesContent":["import { Readable } from 'node:stream';\nimport { MastraError } from '@mastra/core/error';\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n voiceSpeakersResponseSchema,\n generateSpeechBodySchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n getListenerResponseSchema,\n} from '../schemas/agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Objects\n// ============================================================================\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n const speakers = await Promise.resolve()\n .then(() => voice.getSpeakers())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured, return empty array\n return [];\n }\n throw err;\n });\n\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(text!, { speaker: speakerId! }))\n .catch(err => {\n if (err instanceof MastraError) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n return audioStream as unknown as ReadableStream<any>;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, audio, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audio) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(audio);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/listener',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const listeners = await Promise.resolve()\n .then(() => voice.getListener())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured\n return { enabled: false };\n }\n throw err;\n });\n\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkYNSUYESL_cjs = require('./chunk-YNSUYESL.cjs');
4
- var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
4
+ var chunkBXTQ4QZA_cjs = require('./chunk-BXTQ4QZA.cjs');
5
5
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
6
6
  var features = require('@mastra/core/features');
7
7
  var v4 = require('zod/v4');
@@ -82,7 +82,7 @@ function assertAgentExists(mastra, agentId) {
82
82
  });
83
83
  }
84
84
  }
85
- var LIST_CHANNEL_PLATFORMS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
85
+ var LIST_CHANNEL_PLATFORMS_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
86
86
  method: "GET",
87
87
  path: "/channels/platforms",
88
88
  responseType: "json",
@@ -110,7 +110,7 @@ var LIST_CHANNEL_PLATFORMS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
110
110
  }
111
111
  }
112
112
  });
113
- var LIST_CHANNEL_INSTALLATIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
113
+ var LIST_CHANNEL_INSTALLATIONS_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
114
114
  method: "GET",
115
115
  path: "/channels/:platform/installations",
116
116
  responseType: "json",
@@ -133,7 +133,7 @@ var LIST_CHANNEL_INSTALLATIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
133
133
  }
134
134
  }
135
135
  });
136
- var CONNECT_CHANNEL_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
136
+ var CONNECT_CHANNEL_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
137
137
  method: "POST",
138
138
  path: "/channels/:platform/connect",
139
139
  responseType: "json",
@@ -159,7 +159,7 @@ var CONNECT_CHANNEL_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
159
159
  }
160
160
  }
161
161
  });
162
- var DISCONNECT_CHANNEL_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
162
+ var DISCONNECT_CHANNEL_ROUTE = chunkBXTQ4QZA_cjs.createRoute({
163
163
  method: "POST",
164
164
  path: "/channels/:platform/:agentId/disconnect",
165
165
  responseType: "json",
@@ -191,5 +191,5 @@ exports.CONNECT_CHANNEL_ROUTE = CONNECT_CHANNEL_ROUTE;
191
191
  exports.DISCONNECT_CHANNEL_ROUTE = DISCONNECT_CHANNEL_ROUTE;
192
192
  exports.LIST_CHANNEL_INSTALLATIONS_ROUTE = LIST_CHANNEL_INSTALLATIONS_ROUTE;
193
193
  exports.LIST_CHANNEL_PLATFORMS_ROUTE = LIST_CHANNEL_PLATFORMS_ROUTE;
194
- //# sourceMappingURL=chunk-UBYGPC2S.cjs.map
195
- //# sourceMappingURL=chunk-UBYGPC2S.cjs.map
194
+ //# sourceMappingURL=chunk-XCJ6SARN.cjs.map
195
+ //# sourceMappingURL=chunk-XCJ6SARN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":["z","coreFeatures","HTTPException","createRoute","handleError"],"mappings":"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","file":"chunk-UBYGPC2S.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":["z","coreFeatures","HTTPException","createRoute","handleError"],"mappings":"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","file":"chunk-XCJ6SARN.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}