@mastra/server 1.33.0-alpha.1 → 1.33.0-alpha.13
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.
- package/CHANGELOG.md +296 -0
- package/dist/_types/@internal_core/dist/index.d.ts +9 -1
- package/dist/api-schema-manifest-H56IOQ7Q.cjs +58 -0
- package/dist/api-schema-manifest-H56IOQ7Q.cjs.map +1 -0
- package/dist/api-schema-manifest-SCZXY4HI.js +56 -0
- package/dist/api-schema-manifest-SCZXY4HI.js.map +1 -0
- package/dist/{chunk-HTSSEM5Z.cjs → chunk-24XD6PRY.cjs} +21 -6
- package/dist/chunk-24XD6PRY.cjs.map +1 -0
- package/dist/{chunk-4QGPES7N.js → chunk-2F6R22KQ.js} +3 -3
- package/dist/{chunk-4QGPES7N.js.map → chunk-2F6R22KQ.js.map} +1 -1
- package/dist/{chunk-ABCXNCRJ.js → chunk-2L6MRDXM.js} +3 -3
- package/dist/{chunk-ABCXNCRJ.js.map → chunk-2L6MRDXM.js.map} +1 -1
- package/dist/{chunk-3SVFRICR.js → chunk-2R5GLZJD.js} +3 -3
- package/dist/chunk-2R5GLZJD.js.map +1 -0
- package/dist/{chunk-F22H7Z7L.cjs → chunk-3BMOLOBX.cjs} +10 -10
- package/dist/{chunk-F22H7Z7L.cjs.map → chunk-3BMOLOBX.cjs.map} +1 -1
- package/dist/{chunk-BSGOXMAI.js → chunk-3GNDZVNF.js} +4 -4
- package/dist/{chunk-BSGOXMAI.js.map → chunk-3GNDZVNF.js.map} +1 -1
- package/dist/{chunk-EPYO4OC5.js → chunk-3OED33MB.js} +3 -3
- package/dist/{chunk-EPYO4OC5.js.map → chunk-3OED33MB.js.map} +1 -1
- package/dist/{chunk-QCSBOQGP.cjs → chunk-3RMKJTCU.cjs} +10 -10
- package/dist/{chunk-QCSBOQGP.cjs.map → chunk-3RMKJTCU.cjs.map} +1 -1
- package/dist/{chunk-SAOJYYFE.cjs → chunk-42WZN6MM.cjs} +10 -6
- package/dist/chunk-42WZN6MM.cjs.map +1 -0
- package/dist/{chunk-RFKNM47Y.js → chunk-4KCXZZ2I.js} +3 -3
- package/dist/{chunk-RFKNM47Y.js.map → chunk-4KCXZZ2I.js.map} +1 -1
- package/dist/chunk-4PB6LUYQ.js +46 -0
- package/dist/chunk-4PB6LUYQ.js.map +1 -0
- package/dist/{chunk-LYXVNT6L.cjs → chunk-54CKNFLM.cjs} +27 -27
- package/dist/{chunk-LYXVNT6L.cjs.map → chunk-54CKNFLM.cjs.map} +1 -1
- package/dist/{chunk-QXG537D5.cjs → chunk-5CGIBJFA.cjs} +13 -13
- package/dist/{chunk-QXG537D5.cjs.map → chunk-5CGIBJFA.cjs.map} +1 -1
- package/dist/{chunk-CJ2LC5EE.cjs → chunk-5HTICUZW.cjs} +164 -21
- package/dist/chunk-5HTICUZW.cjs.map +1 -0
- package/dist/{chunk-EUJHJEM6.cjs → chunk-5SURXCX2.cjs} +10 -10
- package/dist/{chunk-EUJHJEM6.cjs.map → chunk-5SURXCX2.cjs.map} +1 -1
- package/dist/{chunk-EFW6MWXU.cjs → chunk-5XW4MKE6.cjs} +22 -2
- package/dist/chunk-5XW4MKE6.cjs.map +1 -0
- package/dist/{chunk-SXARBGNQ.js → chunk-6BX5UZ67.js} +3 -3
- package/dist/{chunk-SXARBGNQ.js.map → chunk-6BX5UZ67.js.map} +1 -1
- package/dist/chunk-6UWC2NY3.cjs +638 -0
- package/dist/chunk-6UWC2NY3.cjs.map +1 -0
- package/dist/{chunk-64YJOWH2.cjs → chunk-72W42JL4.cjs} +5 -5
- package/dist/{chunk-64YJOWH2.cjs.map → chunk-72W42JL4.cjs.map} +1 -1
- package/dist/{chunk-URRUDXO5.cjs → chunk-7CCIRVMW.cjs} +173 -69
- package/dist/chunk-7CCIRVMW.cjs.map +1 -0
- package/dist/{chunk-V5AXCSSN.js → chunk-7Y5IMVVS.js} +4 -4
- package/dist/{chunk-V5AXCSSN.js.map → chunk-7Y5IMVVS.js.map} +1 -1
- package/dist/{chunk-MJXZZQ5O.js → chunk-AE7WAPJS.js} +3 -3
- package/dist/{chunk-MJXZZQ5O.js.map → chunk-AE7WAPJS.js.map} +1 -1
- package/dist/{chunk-BBX7Q7UG.cjs → chunk-AJL76XIL.cjs} +328 -140
- package/dist/chunk-AJL76XIL.cjs.map +1 -0
- package/dist/chunk-B3CHYE7C.js +549 -0
- package/dist/chunk-B3CHYE7C.js.map +1 -0
- package/dist/{chunk-6NY3T42O.js → chunk-BIUL4Y6W.js} +10 -6
- package/dist/chunk-BIUL4Y6W.js.map +1 -0
- package/dist/{chunk-F6MVX6E6.cjs → chunk-BQ4HXRAL.cjs} +11 -11
- package/dist/{chunk-F6MVX6E6.cjs.map → chunk-BQ4HXRAL.cjs.map} +1 -1
- package/dist/{chunk-XI4WY2MX.cjs → chunk-CQOIFPKU.cjs} +30 -30
- package/dist/{chunk-XI4WY2MX.cjs.map → chunk-CQOIFPKU.cjs.map} +1 -1
- package/dist/{chunk-R6JGZX7Q.cjs → chunk-CRN2HHZ4.cjs} +13 -13
- package/dist/{chunk-R6JGZX7Q.cjs.map → chunk-CRN2HHZ4.cjs.map} +1 -1
- package/dist/{chunk-CNTWPG57.cjs → chunk-CXAJPAJ2.cjs} +9 -2
- package/dist/chunk-CXAJPAJ2.cjs.map +1 -0
- package/dist/{chunk-XCIJHMUE.js → chunk-D3MJC643.js} +8 -6
- package/dist/chunk-D3MJC643.js.map +1 -0
- package/dist/{chunk-X2LYM3QK.js → chunk-DYHG4LMH.js} +3 -3
- package/dist/{chunk-X2LYM3QK.js.map → chunk-DYHG4LMH.js.map} +1 -1
- package/dist/{chunk-UWBU3GWI.cjs → chunk-DZVF6RQF.cjs} +8 -8
- package/dist/{chunk-UWBU3GWI.cjs.map → chunk-DZVF6RQF.cjs.map} +1 -1
- package/dist/chunk-E7UDPLDF.cjs +53 -0
- package/dist/chunk-E7UDPLDF.cjs.map +1 -0
- package/dist/{chunk-43CWQ4M3.js → chunk-EQUOHUYY.js} +164 -3
- package/dist/chunk-EQUOHUYY.js.map +1 -0
- package/dist/{chunk-JHUXQK47.cjs → chunk-EUI4PQF5.cjs} +11 -11
- package/dist/{chunk-JHUXQK47.cjs.map → chunk-EUI4PQF5.cjs.map} +1 -1
- package/dist/{chunk-GQOWV33T.js → chunk-EXI2FQQE.js} +9 -5
- package/dist/chunk-EXI2FQQE.js.map +1 -0
- package/dist/chunk-F3HP5HM6.cjs +998 -0
- package/dist/chunk-F3HP5HM6.cjs.map +1 -0
- package/dist/{chunk-GSURMQA2.js → chunk-FAEMMSQB.js} +4 -4
- package/dist/{chunk-GSURMQA2.js.map → chunk-FAEMMSQB.js.map} +1 -1
- package/dist/{chunk-SOJ2UNB6.js → chunk-FZNUEGME.js} +4 -4
- package/dist/{chunk-SOJ2UNB6.js.map → chunk-FZNUEGME.js.map} +1 -1
- package/dist/{chunk-GXSML4LI.js → chunk-GBFE3ATX.js} +4 -4
- package/dist/{chunk-GXSML4LI.js.map → chunk-GBFE3ATX.js.map} +1 -1
- package/dist/{chunk-5APP5R3R.cjs → chunk-GKWEP64R.cjs} +5 -5
- package/dist/{chunk-5APP5R3R.cjs.map → chunk-GKWEP64R.cjs.map} +1 -1
- package/dist/{chunk-KUEMDK4R.js → chunk-GTLERIMC.js} +3 -3
- package/dist/{chunk-KUEMDK4R.js.map → chunk-GTLERIMC.js.map} +1 -1
- package/dist/{chunk-QAFWIUAD.cjs → chunk-GW475GAG.cjs} +11 -11
- package/dist/{chunk-QAFWIUAD.cjs.map → chunk-GW475GAG.cjs.map} +1 -1
- package/dist/{chunk-CFK4R6LE.js → chunk-GZQFBILP.js} +3 -3
- package/dist/{chunk-CFK4R6LE.js.map → chunk-GZQFBILP.js.map} +1 -1
- package/dist/{chunk-NVM46NSG.js → chunk-HC7DEFY6.js} +91 -77
- package/dist/chunk-HC7DEFY6.js.map +1 -0
- package/dist/{chunk-K7IVZQKI.cjs → chunk-HKZWPQSC.cjs} +6 -6
- package/dist/{chunk-K7IVZQKI.cjs.map → chunk-HKZWPQSC.cjs.map} +1 -1
- package/dist/{chunk-LS5NHYVW.js → chunk-HX5WL5ZF.js} +3 -3
- package/dist/{chunk-LS5NHYVW.js.map → chunk-HX5WL5ZF.js.map} +1 -1
- package/dist/{chunk-UEACXZ5C.cjs → chunk-IIGNRK55.cjs} +4 -4
- package/dist/{chunk-UEACXZ5C.cjs.map → chunk-IIGNRK55.cjs.map} +1 -1
- package/dist/{chunk-SRJJBXTO.cjs → chunk-J2TNUEHZ.cjs} +11 -11
- package/dist/{chunk-SRJJBXTO.cjs.map → chunk-J2TNUEHZ.cjs.map} +1 -1
- package/dist/{chunk-APVIDF5T.cjs → chunk-J6L4JMBT.cjs} +7 -7
- package/dist/{chunk-APVIDF5T.cjs.map → chunk-J6L4JMBT.cjs.map} +1 -1
- package/dist/{chunk-DSJM7F5A.js → chunk-JH5BL5V2.js} +109 -7
- package/dist/chunk-JH5BL5V2.js.map +1 -0
- package/dist/{chunk-UOC4K3RU.js → chunk-JOUPK2UV.js} +3 -3
- package/dist/{chunk-UOC4K3RU.js.map → chunk-JOUPK2UV.js.map} +1 -1
- package/dist/{chunk-XBT4ZT22.js → chunk-KBRQAVQ7.js} +4 -4
- package/dist/{chunk-XBT4ZT22.js.map → chunk-KBRQAVQ7.js.map} +1 -1
- package/dist/{chunk-TJNZEYLA.js → chunk-KEE6UMGC.js} +9 -2
- package/dist/chunk-KEE6UMGC.js.map +1 -0
- package/dist/{chunk-IYEGDP3G.js → chunk-M7DF3D2M.js} +3 -3
- package/dist/{chunk-IYEGDP3G.js.map → chunk-M7DF3D2M.js.map} +1 -1
- package/dist/{chunk-44K6EWHN.cjs → chunk-M7WKIFTE.cjs} +388 -281
- package/dist/chunk-M7WKIFTE.cjs.map +1 -0
- package/dist/{chunk-SMAUVMWQ.cjs → chunk-MGUB4XMC.cjs} +10 -10
- package/dist/{chunk-SMAUVMWQ.cjs.map → chunk-MGUB4XMC.cjs.map} +1 -1
- package/dist/{chunk-3KIFZFY7.js → chunk-MIWKRHIV.js} +134 -11
- package/dist/chunk-MIWKRHIV.js.map +1 -0
- package/dist/{chunk-S65AMBAF.js → chunk-MQIZJZCT.js} +328 -140
- package/dist/chunk-MQIZJZCT.js.map +1 -0
- package/dist/{chunk-DTCRA7JS.js → chunk-MU5LIFIL.js} +290 -183
- package/dist/chunk-MU5LIFIL.js.map +1 -0
- package/dist/{chunk-MG4EE3KA.cjs → chunk-OG5H7763.cjs} +11 -11
- package/dist/{chunk-MG4EE3KA.cjs.map → chunk-OG5H7763.cjs.map} +1 -1
- package/dist/{chunk-YEAIZPBY.js → chunk-OMF7VJBL.js} +4 -4
- package/dist/{chunk-YEAIZPBY.js.map → chunk-OMF7VJBL.js.map} +1 -1
- package/dist/{chunk-P6DRWWFU.cjs → chunk-QH24MMM4.cjs} +24 -24
- package/dist/{chunk-P6DRWWFU.cjs.map → chunk-QH24MMM4.cjs.map} +1 -1
- package/dist/{chunk-X37VNBBB.cjs → chunk-QYJ2Z4NM.cjs} +28 -28
- package/dist/{chunk-X37VNBBB.cjs.map → chunk-QYJ2Z4NM.cjs.map} +1 -1
- package/dist/{chunk-I34RGOPQ.js → chunk-R2FHHF2M.js} +4 -4
- package/dist/{chunk-I34RGOPQ.js.map → chunk-R2FHHF2M.js.map} +1 -1
- package/dist/{chunk-EXVKDDKD.cjs → chunk-RS2S4SBQ.cjs} +10 -10
- package/dist/{chunk-EXVKDDKD.cjs.map → chunk-RS2S4SBQ.cjs.map} +1 -1
- package/dist/{chunk-ZV7XANBD.cjs → chunk-SALKEPIL.cjs} +10 -10
- package/dist/{chunk-ZV7XANBD.cjs.map → chunk-SALKEPIL.cjs.map} +1 -1
- package/dist/{chunk-H656FJUZ.js → chunk-SAWFPSUZ.js} +3 -3
- package/dist/{chunk-H656FJUZ.js.map → chunk-SAWFPSUZ.js.map} +1 -1
- package/dist/{chunk-VIX5OA2V.cjs → chunk-SBS6VJM2.cjs} +42 -40
- package/dist/chunk-SBS6VJM2.cjs.map +1 -0
- package/dist/{chunk-RRS33WBW.cjs → chunk-SQK6E6OB.cjs} +13 -13
- package/dist/{chunk-RRS33WBW.cjs.map → chunk-SQK6E6OB.cjs.map} +1 -1
- package/dist/{chunk-KDUX3YN3.js → chunk-SW5NAE22.js} +40 -40
- package/dist/{chunk-KDUX3YN3.js.map → chunk-SW5NAE22.js.map} +1 -1
- package/dist/{chunk-MI3PFFAR.js → chunk-SYAGB4OG.js} +286 -47
- package/dist/chunk-SYAGB4OG.js.map +1 -0
- package/dist/{chunk-W5JSRJAK.js → chunk-T2TSJEGX.js} +6 -6
- package/dist/{chunk-W5JSRJAK.js.map → chunk-T2TSJEGX.js.map} +1 -1
- package/dist/{chunk-7LAFXMXB.cjs → chunk-T3G3GPE3.cjs} +40 -39
- package/dist/{chunk-7LAFXMXB.cjs.map → chunk-T3G3GPE3.cjs.map} +1 -1
- package/dist/chunk-TLLV2JP5.js +983 -0
- package/dist/chunk-TLLV2JP5.js.map +1 -0
- package/dist/{chunk-4P237WJB.cjs → chunk-TMGV2NRM.cjs} +3 -3
- package/dist/chunk-TMGV2NRM.cjs.map +1 -0
- package/dist/chunk-TTJ3DYZH.cjs +557 -0
- package/dist/chunk-TTJ3DYZH.cjs.map +1 -0
- package/dist/{chunk-Y32L6Z5V.cjs → chunk-TYOEQICH.cjs} +35 -35
- package/dist/{chunk-Y32L6Z5V.cjs.map → chunk-TYOEQICH.cjs.map} +1 -1
- package/dist/{chunk-JU54MAJE.js → chunk-UG4TQYA5.js} +4 -4
- package/dist/{chunk-JU54MAJE.js.map → chunk-UG4TQYA5.js.map} +1 -1
- package/dist/{chunk-ELU7GCBF.cjs → chunk-UTA2JCM5.cjs} +52 -52
- package/dist/{chunk-ELU7GCBF.cjs.map → chunk-UTA2JCM5.cjs.map} +1 -1
- package/dist/{chunk-ALVHNIDP.js → chunk-UUK46T7P.js} +4 -4
- package/dist/{chunk-ALVHNIDP.js.map → chunk-UUK46T7P.js.map} +1 -1
- package/dist/{chunk-R3DQGOTC.cjs → chunk-VBFA6U5X.cjs} +12 -8
- package/dist/chunk-VBFA6U5X.cjs.map +1 -0
- package/dist/{chunk-MMHEXUTF.cjs → chunk-VG5YTXWO.cjs} +7 -7
- package/dist/{chunk-MMHEXUTF.cjs.map → chunk-VG5YTXWO.cjs.map} +1 -1
- package/dist/{chunk-YH452QGH.js → chunk-VMHV5ATJ.js} +3 -3
- package/dist/{chunk-YH452QGH.js.map → chunk-VMHV5ATJ.js.map} +1 -1
- package/dist/chunk-VRW4RECS.js +632 -0
- package/dist/chunk-VRW4RECS.js.map +1 -0
- package/dist/{chunk-OGFJRI4R.js → chunk-VSXPATYI.js} +19 -5
- package/dist/chunk-VSXPATYI.js.map +1 -0
- package/dist/{chunk-JLRBUMQA.cjs → chunk-WHTPC7MP.cjs} +10 -10
- package/dist/{chunk-JLRBUMQA.cjs.map → chunk-WHTPC7MP.cjs.map} +1 -1
- package/dist/{chunk-GTERDDNK.js → chunk-WXLLZARK.js} +3 -3
- package/dist/{chunk-GTERDDNK.js.map → chunk-WXLLZARK.js.map} +1 -1
- package/dist/{chunk-VF2DSR6J.js → chunk-WYZWXMWT.js} +4 -4
- package/dist/{chunk-VF2DSR6J.js.map → chunk-WYZWXMWT.js.map} +1 -1
- package/dist/{chunk-FE2MMCKW.js → chunk-XGKFSSPC.js} +8 -8
- package/dist/{chunk-FE2MMCKW.js.map → chunk-XGKFSSPC.js.map} +1 -1
- package/dist/{chunk-YF6DVWNN.cjs → chunk-XOVUIPJ5.cjs} +120 -106
- package/dist/chunk-XOVUIPJ5.cjs.map +1 -0
- package/dist/{chunk-FZSDG2KA.cjs → chunk-XQCH52QI.cjs} +10 -10
- package/dist/{chunk-FZSDG2KA.cjs.map → chunk-XQCH52QI.cjs.map} +1 -1
- package/dist/{chunk-BK2PRWVJ.cjs → chunk-Y5LNMKEY.cjs} +5 -5
- package/dist/{chunk-BK2PRWVJ.cjs.map → chunk-Y5LNMKEY.cjs.map} +1 -1
- package/dist/{chunk-DK46ZSF7.js → chunk-Y7PKRD75.js} +3 -3
- package/dist/{chunk-DK46ZSF7.js.map → chunk-Y7PKRD75.js.map} +1 -1
- package/dist/{chunk-OJRAH5VV.js → chunk-YARY4I5U.js} +18 -3
- package/dist/chunk-YARY4I5U.js.map +1 -0
- package/dist/{chunk-KUCUFXLD.js → chunk-YY6BP6U2.js} +7 -7
- package/dist/{chunk-KUCUFXLD.js.map → chunk-YY6BP6U2.js.map} +1 -1
- package/dist/{chunk-GUWIV3ZN.cjs → chunk-YYOGSRHT.cjs} +166 -2
- package/dist/chunk-YYOGSRHT.cjs.map +1 -0
- package/dist/{chunk-YWORLTQM.js → chunk-YYTNZ4KH.js} +7 -5
- package/dist/chunk-YYTNZ4KH.js.map +1 -0
- package/dist/{chunk-WZKXMP2U.cjs → chunk-ZCRTO66C.cjs} +473 -231
- package/dist/chunk-ZCRTO66C.cjs.map +1 -0
- package/dist/{chunk-V4DZUIDM.cjs → chunk-ZHOGHUAX.cjs} +87 -85
- package/dist/chunk-ZHOGHUAX.cjs.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.js → observational-memory-NL7AQHZV-24ODMDOC.js} +3 -3
- package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.js.map → observational-memory-NL7AQHZV-24ODMDOC.js.map} +1 -1
- package/dist/{observational-memory-KH7G7Y6B-Y3XQXW3K.cjs → observational-memory-NL7AQHZV-2F4R3W62.cjs} +26 -26
- package/dist/{observational-memory-KH7G7Y6B-Y3XQXW3K.cjs.map → observational-memory-NL7AQHZV-2F4R3W62.cjs.map} +1 -1
- package/dist/{probe-image-size-H2PYJKCK.cjs → probe-image-size-7HF7Q24F.cjs} +12 -113
- package/dist/probe-image-size-7HF7Q24F.cjs.map +1 -0
- package/dist/{probe-image-size-QWKVSEOF.js → probe-image-size-M5NYSF5D.js} +12 -113
- package/dist/probe-image-size-M5NYSF5D.js.map +1 -0
- package/dist/server/a2a/agent-card-signing.d.ts +7 -0
- package/dist/server/a2a/agent-card-signing.d.ts.map +1 -0
- package/dist/server/auth/index.cjs +15 -15
- package/dist/server/auth/index.js +1 -1
- package/dist/server/constants.d.ts +5 -0
- package/dist/server/constants.d.ts.map +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.d.ts +10 -0
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +50 -38
- package/dist/server/handlers/agents.d.ts +235 -60
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +4 -4
- package/dist/server/handlers/background-tasks.d.ts +18 -5
- package/dist/server/handlers/background-tasks.d.ts.map +1 -1
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/mcp.cjs +11 -11
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
- package/dist/server/handlers/observability-new-endpoints.d.ts +18 -6
- package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +38 -38
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/processor-providers.cjs +3 -3
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +4 -4
- package/dist/server/handlers/processors.d.ts +6 -2
- package/dist/server/handlers/processors.d.ts.map +1 -1
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +8 -8
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/responses.adapter.cjs +18 -14
- package/dist/server/handlers/responses.adapter.d.ts +96 -2
- package/dist/server/handlers/responses.adapter.d.ts.map +1 -1
- package/dist/server/handlers/responses.adapter.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.d.ts +8 -2
- package/dist/server/handlers/responses.d.ts.map +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.d.ts +4 -2
- package/dist/server/handlers/responses.storage.d.ts.map +1 -1
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/schedules.cjs +6 -6
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +6 -2
- package/dist/server/handlers/system.d.ts +39 -0
- package/dist/server/handlers/system.d.ts.map +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +5 -5
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +16 -16
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +32 -24
- package/dist/server/handlers/workflows.d.ts +83 -0
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers/workspace.cjs +26 -26
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +30 -30
- package/dist/server/handlers.js +15 -15
- package/dist/server/schemas/a2a.d.ts +5 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -1
- package/dist/server/schemas/agents.d.ts +1373 -1
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/background-tasks.d.ts +11 -0
- package/dist/server/schemas/background-tasks.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +115 -91
- package/dist/server/schemas/index.js +6 -6
- package/dist/server/schemas/processors.d.ts +3 -0
- package/dist/server/schemas/processors.d.ts.map +1 -1
- package/dist/server/schemas/responses.d.ts +3 -1
- package/dist/server/schemas/responses.d.ts.map +1 -1
- package/dist/server/schemas/system.d.ts +54 -0
- package/dist/server/schemas/system.d.ts.map +1 -1
- package/dist/server/server-adapter/api-schema-manifest.d.ts +23 -0
- package/dist/server/server-adapter/api-schema-manifest.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +83 -655
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +6 -2
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +33 -638
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/openapi-utils.d.ts +5 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/a2a.d.ts +10 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/agents.d.ts +4 -1
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +9 -3
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/processors.d.ts +6 -2
- package/dist/server/server-adapter/routes/processors.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/responses.d.ts +8 -2
- package/dist/server/server-adapter/routes/responses.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/system.d.ts +39 -1
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/workflows.d.ts +66 -1
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
- package/package.json +9 -7
- package/dist/chunk-3KIFZFY7.js.map +0 -1
- package/dist/chunk-3SVFRICR.js.map +0 -1
- package/dist/chunk-43CWQ4M3.js.map +0 -1
- package/dist/chunk-44K6EWHN.cjs.map +0 -1
- package/dist/chunk-4P237WJB.cjs.map +0 -1
- package/dist/chunk-4P7D66VB.cjs +0 -30
- package/dist/chunk-4P7D66VB.cjs.map +0 -1
- package/dist/chunk-6NY3T42O.js.map +0 -1
- package/dist/chunk-AJYJ4H7P.js +0 -438
- package/dist/chunk-AJYJ4H7P.js.map +0 -1
- package/dist/chunk-BBX7Q7UG.cjs.map +0 -1
- package/dist/chunk-CJ2LC5EE.cjs.map +0 -1
- package/dist/chunk-CNTWPG57.cjs.map +0 -1
- package/dist/chunk-DFSUBEGE.js +0 -226
- package/dist/chunk-DFSUBEGE.js.map +0 -1
- package/dist/chunk-DSJM7F5A.js.map +0 -1
- package/dist/chunk-DTCRA7JS.js.map +0 -1
- package/dist/chunk-EFW6MWXU.cjs.map +0 -1
- package/dist/chunk-GGCDSOHW.js +0 -26
- package/dist/chunk-GGCDSOHW.js.map +0 -1
- package/dist/chunk-GQOWV33T.js.map +0 -1
- package/dist/chunk-GUWIV3ZN.cjs.map +0 -1
- package/dist/chunk-HTSSEM5Z.cjs.map +0 -1
- package/dist/chunk-MI3PFFAR.js.map +0 -1
- package/dist/chunk-NVM46NSG.js.map +0 -1
- package/dist/chunk-OGFJRI4R.js.map +0 -1
- package/dist/chunk-OJ72T77G.cjs +0 -452
- package/dist/chunk-OJ72T77G.cjs.map +0 -1
- package/dist/chunk-OJRAH5VV.js.map +0 -1
- package/dist/chunk-PJYQMPXT.cjs +0 -234
- package/dist/chunk-PJYQMPXT.cjs.map +0 -1
- package/dist/chunk-R3DQGOTC.cjs.map +0 -1
- package/dist/chunk-S65AMBAF.js.map +0 -1
- package/dist/chunk-SAOJYYFE.cjs.map +0 -1
- package/dist/chunk-TJNZEYLA.js.map +0 -1
- package/dist/chunk-URRUDXO5.cjs.map +0 -1
- package/dist/chunk-V4DZUIDM.cjs.map +0 -1
- package/dist/chunk-VIX5OA2V.cjs.map +0 -1
- package/dist/chunk-WZKXMP2U.cjs.map +0 -1
- package/dist/chunk-XCIJHMUE.js.map +0 -1
- package/dist/chunk-YF6DVWNN.cjs.map +0 -1
- package/dist/chunk-YWORLTQM.js.map +0 -1
- package/dist/probe-image-size-H2PYJKCK.cjs.map +0 -1
- package/dist/probe-image-size-QWKVSEOF.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkZCRTO66C_cjs = require('./chunk-ZCRTO66C.cjs');
|
|
4
|
+
var chunkYYOGSRHT_cjs = require('./chunk-YYOGSRHT.cjs');
|
|
5
|
+
var chunk72W42JL4_cjs = require('./chunk-72W42JL4.cjs');
|
|
6
|
+
var chunkT3G3GPE3_cjs = require('./chunk-T3G3GPE3.cjs');
|
|
7
7
|
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
8
8
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
9
9
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
@@ -21,12 +21,12 @@ chunkO7I5CWRX_cjs.__export(voice_exports, {
|
|
|
21
21
|
TRANSCRIBE_SPEECH_DEPRECATED_ROUTE: () => TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,
|
|
22
22
|
TRANSCRIBE_SPEECH_ROUTE: () => TRANSCRIBE_SPEECH_ROUTE
|
|
23
23
|
});
|
|
24
|
-
var GET_SPEAKERS_ROUTE =
|
|
24
|
+
var GET_SPEAKERS_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
25
25
|
method: "GET",
|
|
26
26
|
path: "/agents/:agentId/voice/speakers",
|
|
27
27
|
responseType: "json",
|
|
28
|
-
pathParamSchema:
|
|
29
|
-
responseSchema:
|
|
28
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
29
|
+
responseSchema: chunkYYOGSRHT_cjs.voiceSpeakersResponseSchema,
|
|
30
30
|
summary: "Get voice speakers",
|
|
31
31
|
description: "Returns available voice speakers for the specified agent",
|
|
32
32
|
tags: ["Agents", "Voice"],
|
|
@@ -36,7 +36,7 @@ var GET_SPEAKERS_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
36
36
|
if (!agentId) {
|
|
37
37
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
38
38
|
}
|
|
39
|
-
const agent = await
|
|
39
|
+
const agent = await chunkZCRTO66C_cjs.getAgentFromSystem({ mastra, agentId });
|
|
40
40
|
const voice = await agent.getVoice({ requestContext });
|
|
41
41
|
const speakers = await Promise.resolve().then(() => voice.getSpeakers()).catch((err) => {
|
|
42
42
|
if (err instanceof error.MastraError) {
|
|
@@ -50,25 +50,25 @@ var GET_SPEAKERS_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
|
-
var GET_SPEAKERS_DEPRECATED_ROUTE =
|
|
53
|
+
var GET_SPEAKERS_DEPRECATED_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
54
54
|
method: "GET",
|
|
55
55
|
path: "/agents/:agentId/speakers",
|
|
56
56
|
responseType: "json",
|
|
57
|
-
pathParamSchema:
|
|
58
|
-
responseSchema:
|
|
57
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
58
|
+
responseSchema: chunkYYOGSRHT_cjs.voiceSpeakersResponseSchema,
|
|
59
59
|
summary: "Get available speakers for an agent",
|
|
60
60
|
description: "[DEPRECATED] Use /agents/:agentId/voice/speakers instead. Get available speakers for an agent",
|
|
61
61
|
tags: ["Agents", "Voice"],
|
|
62
62
|
requiresAuth: true,
|
|
63
63
|
handler: GET_SPEAKERS_ROUTE.handler
|
|
64
64
|
});
|
|
65
|
-
var GENERATE_SPEECH_ROUTE =
|
|
65
|
+
var GENERATE_SPEECH_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
66
66
|
method: "POST",
|
|
67
67
|
path: "/agents/:agentId/voice/speak",
|
|
68
68
|
responseType: "stream",
|
|
69
|
-
pathParamSchema:
|
|
70
|
-
bodySchema:
|
|
71
|
-
responseSchema:
|
|
69
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
70
|
+
bodySchema: chunkYYOGSRHT_cjs.generateSpeechBodySchema,
|
|
71
|
+
responseSchema: chunkYYOGSRHT_cjs.speakResponseSchema,
|
|
72
72
|
summary: "Generate speech",
|
|
73
73
|
description: "Generates speech audio from text using the agent voice configuration",
|
|
74
74
|
tags: ["Agents", "Voice"],
|
|
@@ -78,8 +78,8 @@ var GENERATE_SPEECH_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
78
78
|
if (!agentId) {
|
|
79
79
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
const agent = await
|
|
81
|
+
chunk72W42JL4_cjs.validateBody({ text });
|
|
82
|
+
const agent = await chunkZCRTO66C_cjs.getAgentFromSystem({ mastra, agentId });
|
|
83
83
|
const voice = await agent.getVoice({ requestContext });
|
|
84
84
|
if (!voice) {
|
|
85
85
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
@@ -99,26 +99,26 @@ var GENERATE_SPEECH_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
|
-
var GENERATE_SPEECH_DEPRECATED_ROUTE =
|
|
102
|
+
var GENERATE_SPEECH_DEPRECATED_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
103
103
|
method: "POST",
|
|
104
104
|
path: "/agents/:agentId/speak",
|
|
105
105
|
responseType: "stream",
|
|
106
|
-
pathParamSchema:
|
|
107
|
-
bodySchema:
|
|
108
|
-
responseSchema:
|
|
106
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
107
|
+
bodySchema: chunkYYOGSRHT_cjs.generateSpeechBodySchema,
|
|
108
|
+
responseSchema: chunkYYOGSRHT_cjs.speakResponseSchema,
|
|
109
109
|
summary: "Convert text to speech",
|
|
110
110
|
description: "[DEPRECATED] Use /agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider",
|
|
111
111
|
tags: ["Agents", "Voice"],
|
|
112
112
|
requiresAuth: true,
|
|
113
113
|
handler: GENERATE_SPEECH_ROUTE.handler
|
|
114
114
|
});
|
|
115
|
-
var TRANSCRIBE_SPEECH_ROUTE =
|
|
115
|
+
var TRANSCRIBE_SPEECH_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
116
116
|
method: "POST",
|
|
117
117
|
path: "/agents/:agentId/voice/listen",
|
|
118
118
|
responseType: "json",
|
|
119
|
-
pathParamSchema:
|
|
120
|
-
bodySchema:
|
|
121
|
-
responseSchema:
|
|
119
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
120
|
+
bodySchema: chunkYYOGSRHT_cjs.transcribeSpeechBodySchema,
|
|
121
|
+
responseSchema: chunkYYOGSRHT_cjs.transcribeSpeechResponseSchema,
|
|
122
122
|
summary: "Transcribe speech",
|
|
123
123
|
description: "Transcribes speech audio to text using the agent voice configuration",
|
|
124
124
|
tags: ["Agents", "Voice"],
|
|
@@ -131,7 +131,7 @@ var TRANSCRIBE_SPEECH_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
131
131
|
if (!audio) {
|
|
132
132
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Audio data is required" });
|
|
133
133
|
}
|
|
134
|
-
const agent = await
|
|
134
|
+
const agent = await chunkZCRTO66C_cjs.getAgentFromSystem({ mastra, agentId });
|
|
135
135
|
const voice = await agent.getVoice({ requestContext });
|
|
136
136
|
if (!voice) {
|
|
137
137
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
@@ -146,25 +146,25 @@ var TRANSCRIBE_SPEECH_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
|
-
var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE =
|
|
149
|
+
var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
150
150
|
method: "POST",
|
|
151
151
|
path: "/agents/:agentId/listen",
|
|
152
152
|
responseType: "json",
|
|
153
|
-
pathParamSchema:
|
|
154
|
-
bodySchema:
|
|
155
|
-
responseSchema:
|
|
153
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
154
|
+
bodySchema: chunkYYOGSRHT_cjs.transcribeSpeechBodySchema,
|
|
155
|
+
responseSchema: chunkYYOGSRHT_cjs.transcribeSpeechResponseSchema,
|
|
156
156
|
summary: "Convert speech to text",
|
|
157
157
|
description: "[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.",
|
|
158
158
|
tags: ["Agents", "Voice"],
|
|
159
159
|
requiresAuth: true,
|
|
160
160
|
handler: TRANSCRIBE_SPEECH_ROUTE.handler
|
|
161
161
|
});
|
|
162
|
-
var GET_LISTENER_ROUTE =
|
|
162
|
+
var GET_LISTENER_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
163
163
|
method: "GET",
|
|
164
164
|
path: "/agents/:agentId/voice/listener",
|
|
165
165
|
responseType: "json",
|
|
166
|
-
pathParamSchema:
|
|
167
|
-
responseSchema:
|
|
166
|
+
pathParamSchema: chunkYYOGSRHT_cjs.agentIdPathParams,
|
|
167
|
+
responseSchema: chunkYYOGSRHT_cjs.getListenerResponseSchema,
|
|
168
168
|
summary: "Get voice listener",
|
|
169
169
|
description: "Returns the voice listener configuration for the agent",
|
|
170
170
|
tags: ["Agents", "Voice"],
|
|
@@ -200,5 +200,5 @@ exports.GET_SPEAKERS_ROUTE = GET_SPEAKERS_ROUTE;
|
|
|
200
200
|
exports.TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = TRANSCRIBE_SPEECH_DEPRECATED_ROUTE;
|
|
201
201
|
exports.TRANSCRIBE_SPEECH_ROUTE = TRANSCRIBE_SPEECH_ROUTE;
|
|
202
202
|
exports.voice_exports = voice_exports;
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
204
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-TYOEQICH.cjs.map
|
|
204
|
+
//# sourceMappingURL=chunk-TYOEQICH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/voice.ts"],"names":["__export","createRoute","agentIdPathParams","voiceSpeakersResponseSchema","HTTPException","getAgentFromSystem","MastraError","handleError","generateSpeechBodySchema","speakResponseSchema","validateBody","transcribeSpeechBodySchema","transcribeSpeechResponseSchema","Readable","getListenerResponseSchema"],"mappings":";;;;;;;;;;;;;AAAA,IAAA,aAAA,GAAA;AAAAA,0BAAA,CAAA,aAAA,EAAA;AAAA,EAAA,gCAAA,EAAA,MAAA,gCAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,6BAAA,EAAA,MAAA,6BAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,kCAAA,EAAA,MAAA,kCAAA;AAAA,EAAA,uBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAsBO,IAAM,qBAAqBC,6BAAA,CAAY;AAAA,EAC5C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,iCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,cAAA,EAAgBC,6CAAA;AAAA,EAChB,OAAA,EAAS,oBAAA;AAAA,EACT,WAAA,EAAa,0DAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,gBAAe,KAAM;AACtD,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,MAClE;AAEA,MAAA,MAAM,QAAQ,MAAMC,oCAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAErD,MAAA,MAAM,QAAA,GAAW,MAAM,OAAA,CAAQ,OAAA,EAAQ,CACpC,IAAA,CAAK,MAAM,KAAA,CAAM,WAAA,EAAa,CAAA,CAC9B,KAAA,CAAM,CAAA,GAAA,KAAO;AACZ,QAAA,IAAI,eAAeC,iBAAA,EAAa;AAE9B,UAAA,OAAO,EAAC;AAAA,QACV;AACA,QAAA,MAAM,GAAA;AAAA,MACR,CAAC,CAAA;AAEH,MAAA,OAAO,QAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,wBAAwB,CAAA;AAAA,IACpD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gCAAgCN,6BAAA,CAAY;AAAA,EACvD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,2BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,cAAA,EAAgBC,6CAAA;AAAA,EAChB,OAAA,EAAS,qCAAA;AAAA,EACT,WAAA,EAAa,+FAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,kBAAA,CAAmB;AAC9B,CAAC;AAEM,IAAM,wBAAwBF,6BAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,8BAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,UAAA,EAAYM,0CAAA;AAAA,EACZ,cAAA,EAAgBC,qCAAA;AAAA,EAChB,OAAA,EAAS,iBAAA;AAAA,EACT,WAAA,EAAa,sEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,IAAA,EAAM,SAAA,EAAW,gBAAe,KAAM;AACvE,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIL,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,MAClE;AAEA,MAAAM,8BAAA,CAAa,EAAE,MAAM,CAAA;AAErB,MAAA,MAAM,QAAQ,MAAML,oCAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAErD,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAID,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAEA,MAAA,MAAM,cAAc,MAAM,OAAA,CAAQ,OAAA,EAAQ,CACvC,KAAK,MAAM,KAAA,CAAM,KAAA,CAAM,IAAA,EAAO,EAAE,OAAA,EAAS,SAAA,EAAY,CAAC,CAAA,CACtD,MAAM,CAAA,GAAA,KAAO;AACZ,QAAA,IAAI,eAAeE,iBAAA,EAAa;AAC9B,UAAA,MAAM,IAAIF,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,GAAA,CAAI,SAAS,CAAA;AAAA,QACvD;AAEA,QAAA,MAAM,GAAA;AAAA,MACR,CAAC,CAAA;AAEH,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,MACvE;AAEA,MAAA,OAAO,WAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOG,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,IACrD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mCAAmCN,6BAAA,CAAY;AAAA,EAC1D,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,wBAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,UAAA,EAAYM,0CAAA;AAAA,EACZ,cAAA,EAAgBC,qCAAA;AAAA,EAChB,OAAA,EAAS,wBAAA;AAAA,EACT,WAAA,EACE,gHAAA;AAAA,EACF,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,qBAAA,CAAsB;AACjC,CAAC;AAEM,IAAM,0BAA0BR,6BAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,+BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,UAAA,EAAYS,4CAAA;AAAA,EACZ,cAAA,EAAgBC,gDAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,sEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,KAAA,EAAO,OAAA,EAAS,gBAAe,KAAM;AACtE,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIR,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,MAClE;AAEA,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,MACpE;AAEA,MAAA,MAAM,QAAQ,MAAMC,oCAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAErD,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAID,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAEA,MAAA,MAAM,WAAA,GAAc,IAAIS,eAAA,EAAS;AACjC,MAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AACtB,MAAA,WAAA,CAAY,KAAK,IAAI,CAAA;AAErB,MAAA,MAAM,IAAA,GAAO,MAAM,KAAA,CAAM,MAAA,CAAO,aAAa,OAAO,CAAA;AACpD,MAAA,OAAO,EAAE,IAAA,EAAqB;AAAA,IAChC,SAAS,KAAA,EAAO;AACd,MAAA,OAAON,6BAAA,CAAY,OAAO,2BAA2B,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qCAAqCN,6BAAA,CAAY;AAAA,EAC5D,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,yBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,UAAA,EAAYS,4CAAA;AAAA,EACZ,cAAA,EAAgBC,gDAAA;AAAA,EAChB,OAAA,EAAS,wBAAA;AAAA,EACT,WAAA,EACE,0LAAA;AAAA,EACF,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,uBAAA,CAAwB;AACnC,CAAC;AAEM,IAAM,qBAAqBX,6BAAA,CAAY;AAAA,EAC5C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,iCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBC,mCAAA;AAAA,EACjB,cAAA,EAAgBY,2CAAA;AAAA,EAChB,OAAA,EAAS,oBAAA;AAAA,EACT,WAAA,EAAa,wDAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,gBAAe,KAAM;AACtD,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,MAAM,IAAIV,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,MAClE;AAEA,MAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,YAAA,CAAa,OAAO,CAAA;AAEzC,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mBAAmB,CAAA;AAAA,MAC7D;AAEA,MAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,QAAA,CAAS,EAAE,gBAAgB,CAAA;AAErD,MAAA,MAAM,SAAA,GAAY,MAAM,OAAA,CAAQ,OAAA,EAAQ,CACrC,IAAA,CAAK,MAAM,KAAA,CAAM,WAAA,EAAa,CAAA,CAC9B,KAAA,CAAM,CAAA,GAAA,KAAO;AACZ,QAAA,IAAI,eAAeE,iBAAA,EAAa;AAE9B,UAAA,OAAO,EAAE,SAAS,KAAA,EAAM;AAAA,QAC1B;AACA,QAAA,MAAM,GAAA;AAAA,MACR,CAAC,CAAA;AAEH,MAAA,OAAO,SAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,IACrD;AAAA,EACF;AACF,CAAC","file":"chunk-Y32L6Z5V.cjs","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":["__export","createRoute","agentIdPathParams","voiceSpeakersResponseSchema","HTTPException","getAgentFromSystem","MastraError","handleError","generateSpeechBodySchema","speakResponseSchema","validateBody","transcribeSpeechBodySchema","transcribeSpeechResponseSchema","Readable","getListenerResponseSchema"],"mappings":"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","file":"chunk-TYOEQICH.cjs","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,8 +1,8 @@
|
|
|
1
1
|
import { listStoredPromptBlocksResponseSchema, listStoredPromptBlocksQuerySchema, getStoredPromptBlockResponseSchema, storedPromptBlockIdPathParams, createStoredPromptBlockResponseSchema, createStoredPromptBlockBodySchema, updateStoredPromptBlockResponseSchema, updateStoredPromptBlockBodySchema, deleteStoredPromptBlockResponseSchema } from './chunk-BUFXUC67.js';
|
|
2
|
-
import { toSlug } from './chunk-
|
|
2
|
+
import { toSlug } from './chunk-DYHG4LMH.js';
|
|
3
3
|
import { handleAutoVersioning } from './chunk-33QPJPK4.js';
|
|
4
4
|
import { statusQuerySchema } from './chunk-2YY3EMMS.js';
|
|
5
|
-
import { createRoute } from './chunk-
|
|
5
|
+
import { createRoute } from './chunk-SW5NAE22.js';
|
|
6
6
|
import { handleError } from './chunk-P23KBWKB.js';
|
|
7
7
|
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
8
8
|
|
|
@@ -259,5 +259,5 @@ var DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({
|
|
|
259
259
|
});
|
|
260
260
|
|
|
261
261
|
export { CREATE_STORED_PROMPT_BLOCK_ROUTE, DELETE_STORED_PROMPT_BLOCK_ROUTE, GET_STORED_PROMPT_BLOCK_ROUTE, LIST_STORED_PROMPT_BLOCKS_ROUTE, UPDATE_STORED_PROMPT_BLOCK_ROUTE };
|
|
262
|
-
//# sourceMappingURL=chunk-
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
262
|
+
//# sourceMappingURL=chunk-UG4TQYA5.js.map
|
|
263
|
+
//# sourceMappingURL=chunk-UG4TQYA5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/stored-prompt-blocks.ts"],"names":[],"mappings":"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","file":"chunk-JU54MAJE.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedPromptBlockIdPathParams,\n statusQuerySchema,\n listStoredPromptBlocksQuerySchema,\n createStoredPromptBlockBodySchema,\n updateStoredPromptBlockBodySchema,\n listStoredPromptBlocksResponseSchema,\n getStoredPromptBlockResponseSchema,\n createStoredPromptBlockResponseSchema,\n updateStoredPromptBlockResponseSchema,\n deleteStoredPromptBlockResponseSchema,\n} from '../schemas/stored-prompt-blocks';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'content',\n 'rules',\n 'requestContextSchema',\n] as const;\n\n/** Computes whether a prompt block has an unpublished draft version. */\nfunction computeHasDraft(\n latestVersion: { id: string } | null | undefined,\n activeVersionId: string | null | undefined,\n): boolean {\n return !!(latestVersion && (!activeVersionId || latestVersion.id !== activeVersionId));\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/prompt-blocks - List all stored prompt blocks\n */\nexport const LIST_STORED_PROMPT_BLOCKS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n queryParamSchema: listStoredPromptBlocksQuerySchema,\n responseSchema: listStoredPromptBlocksResponseSchema,\n summary: 'List stored prompt blocks',\n description: 'Returns a paginated list of all prompt blocks stored in the database',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const result = await promptBlockStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n // For each block, fetch the latest version to compute hasDraft.\n // resolvedVersionId from listResolved defaults to 'published' resolution,\n // so we need the actual latest version to detect unpublished drafts.\n const promptBlocks = await Promise.all(\n result.promptBlocks.map(async (block: (typeof result.promptBlocks)[number]) => {\n const latestVersion = await promptBlockStore.getLatestVersion(block.id);\n return { ...block, hasDraft: computeHasDraft(latestVersion, block.activeVersionId) };\n }),\n );\n\n return { ...result, promptBlocks };\n } catch (error) {\n return handleError(error, 'Error listing stored prompt blocks');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:storedPromptBlockId - Get a stored prompt block by ID\n */\nexport const GET_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredPromptBlockResponseSchema,\n summary: 'Get stored prompt block by ID',\n description:\n 'Returns a specific prompt block from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId, status }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status });\n\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n\n return { ...promptBlock, hasDraft: computeHasDraft(latestVersion, promptBlock.activeVersionId) };\n } catch (error) {\n return handleError(error, 'Error getting stored prompt block');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks - Create a new stored prompt block\n */\nexport const CREATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n bodySchema: createStoredPromptBlockBodySchema,\n responseSchema: createStoredPromptBlockResponseSchema,\n summary: 'Create stored prompt block',\n description: 'Creates a new prompt block in storage with the provided configuration',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive prompt block ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if prompt block with this ID already exists\n const existing = await promptBlockStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Prompt block with id ${id} already exists` });\n }\n\n await promptBlockStore.create({\n promptBlock: {\n id,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n },\n });\n\n // Return the resolved prompt block (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await promptBlockStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(id);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error creating stored prompt block');\n }\n },\n});\n\n/**\n * PATCH /stored/prompt-blocks/:storedPromptBlockId - Update a stored prompt block\n */\nexport const UPDATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n bodySchema: updateStoredPromptBlockBodySchema,\n responseSchema: updateStoredPromptBlockResponseSchema,\n summary: 'Update stored prompt block',\n description: 'Updates an existing prompt block in storage with the provided fields',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedPromptBlockId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n content,\n rules,\n requestContextSchema,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n // Update the prompt block with both metadata-level and config-level fields\n const updatedPromptBlock = await promptBlockStore.update({\n id: storedPromptBlockId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, content, rules, requestContextSchema };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n // It does NOT update activeVersionId — the version stays as a draft until explicitly published.\n await handleAutoVersioning(\n promptBlockStore as unknown as VersionedStoreInterface,\n storedPromptBlockId,\n 'blockId',\n PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedPromptBlock,\n providedConfigFields,\n );\n\n // Return the resolved prompt block with the latest (draft) version so the UI sees its edits\n const resolved = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error updating stored prompt block');\n }\n },\n});\n\n/**\n * DELETE /stored/prompt-blocks/:storedPromptBlockId - Delete a stored prompt block\n */\nexport const DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n responseSchema: deleteStoredPromptBlockResponseSchema,\n summary: 'Delete stored prompt block',\n description: 'Deletes a prompt block from storage by its unique identifier',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n await promptBlockStore.delete(storedPromptBlockId);\n\n return {\n success: true,\n message: `Prompt block ${storedPromptBlockId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored prompt block');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/stored-prompt-blocks.ts"],"names":[],"mappings":"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","file":"chunk-UG4TQYA5.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport {\n storedPromptBlockIdPathParams,\n statusQuerySchema,\n listStoredPromptBlocksQuerySchema,\n createStoredPromptBlockBodySchema,\n updateStoredPromptBlockBodySchema,\n listStoredPromptBlocksResponseSchema,\n getStoredPromptBlockResponseSchema,\n createStoredPromptBlockResponseSchema,\n updateStoredPromptBlockResponseSchema,\n deleteStoredPromptBlockResponseSchema,\n} from '../schemas/stored-prompt-blocks';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { toSlug } from '../utils';\n\nimport { handleError } from './error';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\nconst PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'content',\n 'rules',\n 'requestContextSchema',\n] as const;\n\n/** Computes whether a prompt block has an unpublished draft version. */\nfunction computeHasDraft(\n latestVersion: { id: string } | null | undefined,\n activeVersionId: string | null | undefined,\n): boolean {\n return !!(latestVersion && (!activeVersionId || latestVersion.id !== activeVersionId));\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/prompt-blocks - List all stored prompt blocks\n */\nexport const LIST_STORED_PROMPT_BLOCKS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n queryParamSchema: listStoredPromptBlocksQuerySchema,\n responseSchema: listStoredPromptBlocksResponseSchema,\n summary: 'List stored prompt blocks',\n description: 'Returns a paginated list of all prompt blocks stored in the database',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, page, perPage, orderBy, status, authorId, metadata }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const result = await promptBlockStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId,\n metadata,\n });\n\n // For each block, fetch the latest version to compute hasDraft.\n // resolvedVersionId from listResolved defaults to 'published' resolution,\n // so we need the actual latest version to detect unpublished drafts.\n const promptBlocks = await Promise.all(\n result.promptBlocks.map(async (block: (typeof result.promptBlocks)[number]) => {\n const latestVersion = await promptBlockStore.getLatestVersion(block.id);\n return { ...block, hasDraft: computeHasDraft(latestVersion, block.activeVersionId) };\n }),\n );\n\n return { ...result, promptBlocks };\n } catch (error) {\n return handleError(error, 'Error listing stored prompt blocks');\n }\n },\n});\n\n/**\n * GET /stored/prompt-blocks/:storedPromptBlockId - Get a stored prompt block by ID\n */\nexport const GET_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredPromptBlockResponseSchema,\n summary: 'Get stored prompt block by ID',\n description:\n 'Returns a specific prompt block from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId, status }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n const promptBlock = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status });\n\n if (!promptBlock) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n\n return { ...promptBlock, hasDraft: computeHasDraft(latestVersion, promptBlock.activeVersionId) };\n } catch (error) {\n return handleError(error, 'Error getting stored prompt block');\n }\n },\n});\n\n/**\n * POST /stored/prompt-blocks - Create a new stored prompt block\n */\nexport const CREATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/prompt-blocks',\n responseType: 'json',\n bodySchema: createStoredPromptBlockBodySchema,\n responseSchema: createStoredPromptBlockResponseSchema,\n summary: 'Create stored prompt block',\n description: 'Creates a new prompt block in storage with the provided configuration',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n id: providedId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive prompt block ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if prompt block with this ID already exists\n const existing = await promptBlockStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Prompt block with id ${id} already exists` });\n }\n\n await promptBlockStore.create({\n promptBlock: {\n id,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n },\n });\n\n // Return the resolved prompt block (thin record + version config)\n // Use draft status since newly created entities start as drafts\n const resolved = await promptBlockStore.getByIdResolved(id, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(id);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error creating stored prompt block');\n }\n },\n});\n\n/**\n * PATCH /stored/prompt-blocks/:storedPromptBlockId - Update a stored prompt block\n */\nexport const UPDATE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'PATCH',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n bodySchema: updateStoredPromptBlockBodySchema,\n responseSchema: updateStoredPromptBlockResponseSchema,\n summary: 'Update stored prompt block',\n description: 'Updates an existing prompt block in storage with the provided fields',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({\n mastra,\n storedPromptBlockId,\n // Metadata-level fields\n authorId,\n metadata,\n // Config fields (snapshot-level)\n name,\n description,\n content,\n rules,\n requestContextSchema,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n // Update the prompt block with both metadata-level and config-level fields\n const updatedPromptBlock = await promptBlockStore.update({\n id: storedPromptBlockId,\n authorId,\n metadata,\n name,\n description,\n content,\n rules,\n requestContextSchema,\n });\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = { name, description, content, rules, requestContextSchema };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n // It does NOT update activeVersionId — the version stays as a draft until explicitly published.\n await handleAutoVersioning(\n promptBlockStore as unknown as VersionedStoreInterface,\n storedPromptBlockId,\n 'blockId',\n PROMPT_BLOCK_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedPromptBlock,\n providedConfigFields,\n );\n\n // Return the resolved prompt block with the latest (draft) version so the UI sees its edits\n const resolved = await promptBlockStore.getByIdResolved(storedPromptBlockId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated prompt block' });\n }\n\n const latestVersion = await promptBlockStore.getLatestVersion(storedPromptBlockId);\n const hasDraft = !!(\n latestVersion &&\n (!resolved.activeVersionId || latestVersion.id !== resolved.activeVersionId)\n );\n\n return { ...resolved, hasDraft };\n } catch (error) {\n return handleError(error, 'Error updating stored prompt block');\n }\n },\n});\n\n/**\n * DELETE /stored/prompt-blocks/:storedPromptBlockId - Delete a stored prompt block\n */\nexport const DELETE_STORED_PROMPT_BLOCK_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/prompt-blocks/:storedPromptBlockId',\n responseType: 'json',\n pathParamSchema: storedPromptBlockIdPathParams,\n responseSchema: deleteStoredPromptBlockResponseSchema,\n summary: 'Delete stored prompt block',\n description: 'Deletes a prompt block from storage by its unique identifier',\n tags: ['Stored Prompt Blocks'],\n requiresAuth: true,\n handler: async ({ mastra, storedPromptBlockId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const promptBlockStore = await storage.getStore('promptBlocks');\n if (!promptBlockStore) {\n throw new HTTPException(500, { message: 'Prompt blocks storage domain is not available' });\n }\n\n // Check if prompt block exists\n const existing = await promptBlockStore.getById(storedPromptBlockId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored prompt block with id ${storedPromptBlockId} not found` });\n }\n\n await promptBlockStore.delete(storedPromptBlockId);\n\n return {\n success: true,\n message: `Prompt block ${storedPromptBlockId} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting stored prompt block');\n }\n },\n});\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSBS6VJM2_cjs = require('./chunk-SBS6VJM2.cjs');
|
|
4
4
|
var chunkSUT6SU4I_cjs = require('./chunk-SUT6SU4I.cjs');
|
|
5
5
|
var chunk2J4KEVXS_cjs = require('./chunk-2J4KEVXS.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkT3G3GPE3_cjs = require('./chunk-T3G3GPE3.cjs');
|
|
7
7
|
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
8
8
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
9
9
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
@@ -15,41 +15,41 @@ var v4 = require('zod/v4');
|
|
|
15
15
|
// src/server/handlers/observability.ts
|
|
16
16
|
var observability_exports = {};
|
|
17
17
|
chunkO7I5CWRX_cjs.__export(observability_exports, {
|
|
18
|
-
CREATE_FEEDBACK: () =>
|
|
19
|
-
CREATE_SCORE: () =>
|
|
18
|
+
CREATE_FEEDBACK: () => chunkSBS6VJM2_cjs.CREATE_FEEDBACK,
|
|
19
|
+
CREATE_SCORE: () => chunkSBS6VJM2_cjs.CREATE_SCORE,
|
|
20
20
|
GET_BRANCH_ROUTE: () => GET_BRANCH_ROUTE,
|
|
21
|
-
GET_ENTITY_NAMES: () =>
|
|
22
|
-
GET_ENTITY_TYPES: () =>
|
|
23
|
-
GET_ENVIRONMENTS: () =>
|
|
24
|
-
GET_FEEDBACK_AGGREGATE: () =>
|
|
25
|
-
GET_FEEDBACK_BREAKDOWN: () =>
|
|
26
|
-
GET_FEEDBACK_PERCENTILES: () =>
|
|
27
|
-
GET_FEEDBACK_TIME_SERIES: () =>
|
|
28
|
-
GET_METRIC_AGGREGATE: () =>
|
|
29
|
-
GET_METRIC_BREAKDOWN: () =>
|
|
30
|
-
GET_METRIC_LABEL_KEYS: () =>
|
|
31
|
-
GET_METRIC_LABEL_VALUES: () =>
|
|
32
|
-
GET_METRIC_NAMES: () =>
|
|
33
|
-
GET_METRIC_PERCENTILES: () =>
|
|
34
|
-
GET_METRIC_TIME_SERIES: () =>
|
|
35
|
-
GET_SCORE: () =>
|
|
36
|
-
GET_SCORE_AGGREGATE: () =>
|
|
37
|
-
GET_SCORE_BREAKDOWN: () =>
|
|
38
|
-
GET_SCORE_PERCENTILES: () =>
|
|
39
|
-
GET_SCORE_TIME_SERIES: () =>
|
|
40
|
-
GET_SERVICE_NAMES: () =>
|
|
21
|
+
GET_ENTITY_NAMES: () => chunkSBS6VJM2_cjs.GET_ENTITY_NAMES,
|
|
22
|
+
GET_ENTITY_TYPES: () => chunkSBS6VJM2_cjs.GET_ENTITY_TYPES,
|
|
23
|
+
GET_ENVIRONMENTS: () => chunkSBS6VJM2_cjs.GET_ENVIRONMENTS,
|
|
24
|
+
GET_FEEDBACK_AGGREGATE: () => chunkSBS6VJM2_cjs.GET_FEEDBACK_AGGREGATE,
|
|
25
|
+
GET_FEEDBACK_BREAKDOWN: () => chunkSBS6VJM2_cjs.GET_FEEDBACK_BREAKDOWN,
|
|
26
|
+
GET_FEEDBACK_PERCENTILES: () => chunkSBS6VJM2_cjs.GET_FEEDBACK_PERCENTILES,
|
|
27
|
+
GET_FEEDBACK_TIME_SERIES: () => chunkSBS6VJM2_cjs.GET_FEEDBACK_TIME_SERIES,
|
|
28
|
+
GET_METRIC_AGGREGATE: () => chunkSBS6VJM2_cjs.GET_METRIC_AGGREGATE,
|
|
29
|
+
GET_METRIC_BREAKDOWN: () => chunkSBS6VJM2_cjs.GET_METRIC_BREAKDOWN,
|
|
30
|
+
GET_METRIC_LABEL_KEYS: () => chunkSBS6VJM2_cjs.GET_METRIC_LABEL_KEYS,
|
|
31
|
+
GET_METRIC_LABEL_VALUES: () => chunkSBS6VJM2_cjs.GET_METRIC_LABEL_VALUES,
|
|
32
|
+
GET_METRIC_NAMES: () => chunkSBS6VJM2_cjs.GET_METRIC_NAMES,
|
|
33
|
+
GET_METRIC_PERCENTILES: () => chunkSBS6VJM2_cjs.GET_METRIC_PERCENTILES,
|
|
34
|
+
GET_METRIC_TIME_SERIES: () => chunkSBS6VJM2_cjs.GET_METRIC_TIME_SERIES,
|
|
35
|
+
GET_SCORE: () => chunkSBS6VJM2_cjs.GET_SCORE,
|
|
36
|
+
GET_SCORE_AGGREGATE: () => chunkSBS6VJM2_cjs.GET_SCORE_AGGREGATE,
|
|
37
|
+
GET_SCORE_BREAKDOWN: () => chunkSBS6VJM2_cjs.GET_SCORE_BREAKDOWN,
|
|
38
|
+
GET_SCORE_PERCENTILES: () => chunkSBS6VJM2_cjs.GET_SCORE_PERCENTILES,
|
|
39
|
+
GET_SCORE_TIME_SERIES: () => chunkSBS6VJM2_cjs.GET_SCORE_TIME_SERIES,
|
|
40
|
+
GET_SERVICE_NAMES: () => chunkSBS6VJM2_cjs.GET_SERVICE_NAMES,
|
|
41
41
|
GET_SPAN_ROUTE: () => GET_SPAN_ROUTE,
|
|
42
|
-
GET_TAGS: () =>
|
|
42
|
+
GET_TAGS: () => chunkSBS6VJM2_cjs.GET_TAGS,
|
|
43
43
|
GET_TRACE_LIGHT_ROUTE: () => GET_TRACE_LIGHT_ROUTE,
|
|
44
44
|
GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
|
|
45
45
|
GET_TRACE_TRAJECTORY_ROUTE: () => GET_TRACE_TRAJECTORY_ROUTE,
|
|
46
46
|
LIST_BRANCHES_ROUTE: () => LIST_BRANCHES_ROUTE,
|
|
47
|
-
LIST_FEEDBACK: () =>
|
|
48
|
-
LIST_LOGS: () =>
|
|
49
|
-
LIST_SCORES: () =>
|
|
47
|
+
LIST_FEEDBACK: () => chunkSBS6VJM2_cjs.LIST_FEEDBACK,
|
|
48
|
+
LIST_LOGS: () => chunkSBS6VJM2_cjs.LIST_LOGS,
|
|
49
|
+
LIST_SCORES: () => chunkSBS6VJM2_cjs.LIST_SCORES,
|
|
50
50
|
LIST_SCORES_BY_SPAN_ROUTE: () => LIST_SCORES_BY_SPAN_ROUTE,
|
|
51
51
|
LIST_TRACES_ROUTE: () => LIST_TRACES_ROUTE,
|
|
52
|
-
NEW_ROUTES: () =>
|
|
52
|
+
NEW_ROUTES: () => chunkSBS6VJM2_cjs.NEW_ROUTES,
|
|
53
53
|
SCORE_TRACES_ROUTE: () => SCORE_TRACES_ROUTE
|
|
54
54
|
});
|
|
55
55
|
var legacyQueryParamsSchema = v4.z.object({
|
|
@@ -91,11 +91,11 @@ async function getScoresStore(mastra) {
|
|
|
91
91
|
}
|
|
92
92
|
return scores;
|
|
93
93
|
}
|
|
94
|
-
var LIST_TRACES_ROUTE =
|
|
94
|
+
var LIST_TRACES_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
95
95
|
method: "GET",
|
|
96
96
|
path: "/observability/traces",
|
|
97
97
|
responseType: "json",
|
|
98
|
-
queryParamSchema:
|
|
98
|
+
queryParamSchema: chunkT3G3GPE3_cjs.wrapSchemaForQueryParams(
|
|
99
99
|
storage.tracesFilterSchema.extend(storage.paginationArgsSchema.shape).extend(storage.tracesOrderBySchema.shape).extend(legacyQueryParamsSchema.shape).partial()
|
|
100
100
|
),
|
|
101
101
|
responseSchema: storage.listTracesResponseSchema,
|
|
@@ -106,9 +106,9 @@ var LIST_TRACES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
106
106
|
handler: async ({ mastra, ...params }) => {
|
|
107
107
|
try {
|
|
108
108
|
const transformedParams = transformLegacyParams(params);
|
|
109
|
-
const filters =
|
|
110
|
-
const pagination =
|
|
111
|
-
const orderBy =
|
|
109
|
+
const filters = chunkT3G3GPE3_cjs.pickParams(storage.tracesFilterSchema, transformedParams);
|
|
110
|
+
const pagination = chunkT3G3GPE3_cjs.pickParams(storage.paginationArgsSchema, transformedParams);
|
|
111
|
+
const orderBy = chunkT3G3GPE3_cjs.pickParams(storage.tracesOrderBySchema, transformedParams);
|
|
112
112
|
const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
|
|
113
113
|
return await observabilityStore.listTraces({ filters, pagination, orderBy });
|
|
114
114
|
} catch (error) {
|
|
@@ -116,11 +116,11 @@ var LIST_TRACES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
|
-
var LIST_BRANCHES_ROUTE =
|
|
119
|
+
var LIST_BRANCHES_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
120
120
|
method: "GET",
|
|
121
121
|
path: "/observability/branches",
|
|
122
122
|
responseType: "json",
|
|
123
|
-
queryParamSchema:
|
|
123
|
+
queryParamSchema: chunkT3G3GPE3_cjs.wrapSchemaForQueryParams(
|
|
124
124
|
chunk2J4KEVXS_cjs.branchesFilterSchema.extend(storage.paginationArgsSchema.shape).extend(chunk2J4KEVXS_cjs.branchesOrderBySchema.shape).partial()
|
|
125
125
|
),
|
|
126
126
|
responseSchema: chunk2J4KEVXS_cjs.listBranchesResponseSchema,
|
|
@@ -130,9 +130,9 @@ var LIST_BRANCHES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
130
130
|
requiresAuth: true,
|
|
131
131
|
handler: async ({ mastra, ...params }) => {
|
|
132
132
|
try {
|
|
133
|
-
const filters =
|
|
134
|
-
const pagination =
|
|
135
|
-
const orderBy =
|
|
133
|
+
const filters = chunkT3G3GPE3_cjs.pickParams(chunk2J4KEVXS_cjs.branchesFilterSchema, params);
|
|
134
|
+
const pagination = chunkT3G3GPE3_cjs.pickParams(storage.paginationArgsSchema, params);
|
|
135
|
+
const orderBy = chunkT3G3GPE3_cjs.pickParams(chunk2J4KEVXS_cjs.branchesOrderBySchema, params);
|
|
136
136
|
const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
|
|
137
137
|
return await observabilityStore.listBranches({ filters, pagination, orderBy });
|
|
138
138
|
} catch (error) {
|
|
@@ -140,12 +140,12 @@ var LIST_BRANCHES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
|
-
var GET_BRANCH_ROUTE =
|
|
143
|
+
var GET_BRANCH_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
144
144
|
method: "GET",
|
|
145
145
|
path: "/observability/traces/:traceId/branches/:spanId",
|
|
146
146
|
responseType: "json",
|
|
147
147
|
pathParamSchema: chunk2J4KEVXS_cjs.getBranchArgsSchema.pick({ traceId: true, spanId: true }),
|
|
148
|
-
queryParamSchema:
|
|
148
|
+
queryParamSchema: chunkT3G3GPE3_cjs.wrapSchemaForQueryParams(chunk2J4KEVXS_cjs.getBranchArgsSchema.pick({ depth: true })),
|
|
149
149
|
responseSchema: chunk2J4KEVXS_cjs.getBranchResponseSchema,
|
|
150
150
|
summary: "Get trace branch by span ID",
|
|
151
151
|
description: "Returns the subtree of spans rooted at the given span. The optional `depth` query param bounds descendant levels below the anchor (0 = anchor only; omitted = full subtree).",
|
|
@@ -164,7 +164,7 @@ var GET_BRANCH_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
|
-
var GET_TRACE_ROUTE =
|
|
167
|
+
var GET_TRACE_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
168
168
|
method: "GET",
|
|
169
169
|
path: "/observability/traces/:traceId",
|
|
170
170
|
responseType: "json",
|
|
@@ -187,7 +187,7 @@ var GET_TRACE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
|
-
var GET_TRACE_LIGHT_ROUTE =
|
|
190
|
+
var GET_TRACE_LIGHT_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
191
191
|
method: "GET",
|
|
192
192
|
path: "/observability/traces/:traceId/light",
|
|
193
193
|
responseType: "json",
|
|
@@ -210,7 +210,7 @@ var GET_TRACE_LIGHT_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
});
|
|
213
|
-
var GET_SPAN_ROUTE =
|
|
213
|
+
var GET_SPAN_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
214
214
|
method: "GET",
|
|
215
215
|
path: "/observability/traces/:traceId/spans/:spanId",
|
|
216
216
|
responseType: "json",
|
|
@@ -233,7 +233,7 @@ var GET_SPAN_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
});
|
|
236
|
-
var GET_TRACE_TRAJECTORY_ROUTE =
|
|
236
|
+
var GET_TRACE_TRAJECTORY_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
237
237
|
method: "GET",
|
|
238
238
|
path: "/observability/traces/:traceId/trajectory",
|
|
239
239
|
responseType: "json",
|
|
@@ -262,7 +262,7 @@ var GET_TRACE_TRAJECTORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
});
|
|
265
|
-
var SCORE_TRACES_ROUTE =
|
|
265
|
+
var SCORE_TRACES_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
266
266
|
method: "POST",
|
|
267
267
|
path: "/observability/traces/score",
|
|
268
268
|
responseType: "json",
|
|
@@ -298,13 +298,13 @@ var SCORE_TRACES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
});
|
|
301
|
-
var LIST_SCORES_BY_SPAN_ROUTE =
|
|
301
|
+
var LIST_SCORES_BY_SPAN_ROUTE = chunkT3G3GPE3_cjs.createRoute({
|
|
302
302
|
method: "GET",
|
|
303
303
|
path: "/observability/traces/:traceId/:spanId/scores",
|
|
304
304
|
responseType: "json",
|
|
305
305
|
pathParamSchema: storage.spanIdsSchema,
|
|
306
306
|
// List endpoints accept optional query params; use partial() to allow empty queries.
|
|
307
|
-
queryParamSchema:
|
|
307
|
+
queryParamSchema: chunkT3G3GPE3_cjs.wrapSchemaForQueryParams(storage.paginationArgsSchema.partial()),
|
|
308
308
|
responseSchema: evals.listScoresResponseSchema,
|
|
309
309
|
summary: "List scores by span",
|
|
310
310
|
description: "Returns all scores for a specific span within a trace",
|
|
@@ -312,8 +312,8 @@ var LIST_SCORES_BY_SPAN_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
312
312
|
requiresAuth: true,
|
|
313
313
|
handler: async ({ mastra, ...params }) => {
|
|
314
314
|
try {
|
|
315
|
-
const pagination =
|
|
316
|
-
const spanIds =
|
|
315
|
+
const pagination = chunkT3G3GPE3_cjs.pickParams(storage.paginationArgsSchema, params);
|
|
316
|
+
const spanIds = chunkT3G3GPE3_cjs.pickParams(storage.spanIdsSchema, params);
|
|
317
317
|
const scoresStore = await getScoresStore(mastra);
|
|
318
318
|
return await scoresStore.listScoresBySpan({
|
|
319
319
|
...spanIds,
|
|
@@ -335,5 +335,5 @@ exports.LIST_SCORES_BY_SPAN_ROUTE = LIST_SCORES_BY_SPAN_ROUTE;
|
|
|
335
335
|
exports.LIST_TRACES_ROUTE = LIST_TRACES_ROUTE;
|
|
336
336
|
exports.SCORE_TRACES_ROUTE = SCORE_TRACES_ROUTE;
|
|
337
337
|
exports.observability_exports = observability_exports;
|
|
338
|
-
//# sourceMappingURL=chunk-
|
|
339
|
-
//# sourceMappingURL=chunk-
|
|
338
|
+
//# sourceMappingURL=chunk-UTA2JCM5.cjs.map
|
|
339
|
+
//# sourceMappingURL=chunk-UTA2JCM5.cjs.map
|