@mastra/server 1.33.0-alpha.5 → 1.33.0-alpha.7
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 +159 -0
- package/dist/{api-schema-manifest-OBRC34LA.js → api-schema-manifest-JLJ555JD.js} +4 -4
- package/dist/{api-schema-manifest-OBRC34LA.js.map → api-schema-manifest-JLJ555JD.js.map} +1 -1
- package/dist/{api-schema-manifest-MWMQI6TE.cjs → api-schema-manifest-QMJFKSSQ.cjs} +6 -6
- package/dist/{api-schema-manifest-MWMQI6TE.cjs.map → api-schema-manifest-QMJFKSSQ.cjs.map} +1 -1
- package/dist/{chunk-EIJLTW5X.js → chunk-2S4WCY5N.js} +4 -4
- package/dist/{chunk-EIJLTW5X.js.map → chunk-2S4WCY5N.js.map} +1 -1
- package/dist/{chunk-3J5YIIAC.js → chunk-34UYZN53.js} +4 -4
- package/dist/{chunk-3J5YIIAC.js.map → chunk-34UYZN53.js.map} +1 -1
- package/dist/{chunk-2RX6OJBY.js → chunk-3EK2EVVE.js} +4 -4
- package/dist/{chunk-2RX6OJBY.js.map → chunk-3EK2EVVE.js.map} +1 -1
- package/dist/{chunk-XKGJU4H3.js → chunk-3OTCA7TP.js} +3 -3
- package/dist/{chunk-XKGJU4H3.js.map → chunk-3OTCA7TP.js.map} +1 -1
- package/dist/{chunk-LYDIFPB2.js → chunk-4NPFEKIP.js} +4 -4
- package/dist/{chunk-LYDIFPB2.js.map → chunk-4NPFEKIP.js.map} +1 -1
- package/dist/{chunk-XMHZ4DSE.js → chunk-5FHBVBU2.js} +3 -3
- package/dist/{chunk-XMHZ4DSE.js.map → chunk-5FHBVBU2.js.map} +1 -1
- package/dist/{chunk-EFW6MWXU.cjs → chunk-5XW4MKE6.cjs} +22 -2
- package/dist/chunk-5XW4MKE6.cjs.map +1 -0
- package/dist/{chunk-MW23D33F.cjs → chunk-6DAZZPVO.cjs} +38 -38
- package/dist/{chunk-MW23D33F.cjs.map → chunk-6DAZZPVO.cjs.map} +1 -1
- package/dist/{chunk-D3DCFLTS.js → chunk-6ECVA7WE.js} +3 -3
- package/dist/{chunk-D3DCFLTS.js.map → chunk-6ECVA7WE.js.map} +1 -1
- package/dist/{chunk-7BXQ2HFG.cjs → chunk-6ICH4PZY.cjs} +16 -16
- package/dist/{chunk-7BXQ2HFG.cjs.map → chunk-6ICH4PZY.cjs.map} +1 -1
- package/dist/{chunk-MLEUYQFZ.js → chunk-6IR53OXN.js} +4 -4
- package/dist/{chunk-MLEUYQFZ.js.map → chunk-6IR53OXN.js.map} +1 -1
- package/dist/{chunk-GG537BE6.cjs → chunk-6PJXFSA6.cjs} +77 -77
- package/dist/{chunk-GG537BE6.cjs.map → chunk-6PJXFSA6.cjs.map} +1 -1
- 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-DBY645PQ.cjs → chunk-7MXANTMR.cjs} +12 -12
- package/dist/{chunk-DBY645PQ.cjs.map → chunk-7MXANTMR.cjs.map} +1 -1
- package/dist/{chunk-OMOR5OUN.js → chunk-7QLLMDX3.js} +5 -5
- package/dist/{chunk-OMOR5OUN.js.map → chunk-7QLLMDX3.js.map} +1 -1
- package/dist/{chunk-27MTROCI.js → chunk-7UMTLDZF.js} +108 -6
- package/dist/chunk-7UMTLDZF.js.map +1 -0
- package/dist/{chunk-3S77SMGK.js → chunk-7UYUFWJS.js} +44 -44
- package/dist/chunk-7UYUFWJS.js.map +1 -0
- package/dist/chunk-7Y6MST2S.cjs +636 -0
- package/dist/chunk-7Y6MST2S.cjs.map +1 -0
- package/dist/{chunk-GWLMGMHI.cjs → chunk-AHKXIRNB.cjs} +145 -117
- package/dist/chunk-AHKXIRNB.cjs.map +1 -0
- package/dist/{chunk-QICD4OAR.cjs → chunk-AMZMBCKG.cjs} +10 -10
- package/dist/{chunk-QICD4OAR.cjs.map → chunk-AMZMBCKG.cjs.map} +1 -1
- package/dist/{chunk-XCXGX26I.cjs → chunk-AWXCTLMK.cjs} +11 -11
- package/dist/{chunk-XCXGX26I.cjs.map → chunk-AWXCTLMK.cjs.map} +1 -1
- package/dist/chunk-B3CHYE7C.js +549 -0
- package/dist/chunk-B3CHYE7C.js.map +1 -0
- package/dist/{chunk-IQMLYFOO.cjs → chunk-BGRKLLHE.cjs} +6 -6
- package/dist/{chunk-IQMLYFOO.cjs.map → chunk-BGRKLLHE.cjs.map} +1 -1
- package/dist/{chunk-6ZSBLNO2.cjs → chunk-BLK2XYVU.cjs} +10 -10
- package/dist/{chunk-6ZSBLNO2.cjs.map → chunk-BLK2XYVU.cjs.map} +1 -1
- package/dist/{chunk-UVLQSMYF.js → chunk-C45QKFMT.js} +40 -38
- package/dist/chunk-C45QKFMT.js.map +1 -0
- package/dist/{chunk-GI74MHRA.js → chunk-C7Q5IMST.js} +3 -3
- package/dist/{chunk-GI74MHRA.js.map → chunk-C7Q5IMST.js.map} +1 -1
- package/dist/{chunk-WC3F3EA5.cjs → chunk-CXWOBZOJ.cjs} +18 -18
- package/dist/{chunk-WC3F3EA5.cjs.map → chunk-CXWOBZOJ.cjs.map} +1 -1
- package/dist/{chunk-UWN75FKT.js → chunk-DXZFPYNO.js} +4 -4
- package/dist/{chunk-UWN75FKT.js.map → chunk-DXZFPYNO.js.map} +1 -1
- package/dist/{chunk-4OJDWKDW.js → chunk-E55OUW7R.js} +45 -70
- package/dist/chunk-E55OUW7R.js.map +1 -0
- package/dist/{chunk-TRB4NGQ3.cjs → chunk-E74QCKFN.cjs} +6 -6
- package/dist/{chunk-TRB4NGQ3.cjs.map → chunk-E74QCKFN.cjs.map} +1 -1
- package/dist/{chunk-D4XVXXDX.js → chunk-EWN5J4RH.js} +7 -7
- package/dist/{chunk-D4XVXXDX.js.map → chunk-EWN5J4RH.js.map} +1 -1
- package/dist/chunk-F3HP5HM6.cjs +998 -0
- package/dist/chunk-F3HP5HM6.cjs.map +1 -0
- package/dist/{chunk-BBX7Q7UG.cjs → chunk-FST7LM2Z.cjs} +83 -32
- package/dist/chunk-FST7LM2Z.cjs.map +1 -0
- package/dist/{chunk-247ZCPZW.js → chunk-GCR6GN77.js} +6 -6
- package/dist/{chunk-247ZCPZW.js.map → chunk-GCR6GN77.js.map} +1 -1
- package/dist/{chunk-LVWQGVPZ.js → chunk-GKN4IFE7.js} +3 -3
- package/dist/{chunk-LVWQGVPZ.js.map → chunk-GKN4IFE7.js.map} +1 -1
- package/dist/{chunk-ZMQTGPEU.js → chunk-GP45BMSR.js} +3 -3
- package/dist/{chunk-ZMQTGPEU.js.map → chunk-GP45BMSR.js.map} +1 -1
- package/dist/{chunk-GDACR4PY.js → chunk-HCIKFLLE.js} +2 -2
- package/dist/{chunk-GDACR4PY.js.map → chunk-HCIKFLLE.js.map} +1 -1
- package/dist/{chunk-J4FVO25L.cjs → chunk-HFF6QRLL.cjs} +6 -6
- package/dist/{chunk-J4FVO25L.cjs.map → chunk-HFF6QRLL.cjs.map} +1 -1
- package/dist/{chunk-IUXM3WA2.js → chunk-HLDBO2H6.js} +3 -3
- package/dist/{chunk-IUXM3WA2.js.map → chunk-HLDBO2H6.js.map} +1 -1
- package/dist/{chunk-767P6IDT.cjs → chunk-HN23LS75.cjs} +147 -147
- package/dist/chunk-HN23LS75.cjs.map +1 -0
- package/dist/{chunk-HERDIEC2.cjs → chunk-HNV2E454.cjs} +3 -3
- package/dist/{chunk-HERDIEC2.cjs.map → chunk-HNV2E454.cjs.map} +1 -1
- package/dist/{chunk-7756JXUH.cjs → chunk-HYYXUP35.cjs} +2 -2
- package/dist/{chunk-7756JXUH.cjs.map → chunk-HYYXUP35.cjs.map} +1 -1
- package/dist/{chunk-P2QL4REX.cjs → chunk-ICJ2ZVI2.cjs} +13 -13
- package/dist/{chunk-P2QL4REX.cjs.map → chunk-ICJ2ZVI2.cjs.map} +1 -1
- package/dist/{chunk-OSXOHBCO.js → chunk-IJFWBMHN.js} +4 -4
- package/dist/{chunk-OSXOHBCO.js.map → chunk-IJFWBMHN.js.map} +1 -1
- 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-MZFFAVXZ.cjs → chunk-KFEM2S5D.cjs} +10 -10
- package/dist/{chunk-MZFFAVXZ.cjs.map → chunk-KFEM2S5D.cjs.map} +1 -1
- package/dist/{chunk-6Y4L2O5X.cjs → chunk-KRMMYAXW.cjs} +10 -10
- package/dist/{chunk-6Y4L2O5X.cjs.map → chunk-KRMMYAXW.cjs.map} +1 -1
- package/dist/{chunk-V67XVMFK.cjs → chunk-KUBAQ732.cjs} +10 -10
- package/dist/{chunk-V67XVMFK.cjs.map → chunk-KUBAQ732.cjs.map} +1 -1
- package/dist/{chunk-MF6GSHTO.js → chunk-LRYHYARK.js} +4 -4
- package/dist/{chunk-MF6GSHTO.js.map → chunk-LRYHYARK.js.map} +1 -1
- 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-32OIQVBN.cjs → chunk-MAG4W3GZ.cjs} +8 -8
- package/dist/{chunk-32OIQVBN.cjs.map → chunk-MAG4W3GZ.cjs.map} +1 -1
- package/dist/{chunk-AV3ZGKEA.cjs → chunk-MCS43WKI.cjs} +10 -10
- package/dist/{chunk-AV3ZGKEA.cjs.map → chunk-MCS43WKI.cjs.map} +1 -1
- package/dist/{chunk-MUMWXLVB.cjs → chunk-MWXGGCHD.cjs} +10 -10
- package/dist/{chunk-MUMWXLVB.cjs.map → chunk-MWXGGCHD.cjs.map} +1 -1
- package/dist/{chunk-A3SH6O3E.js → chunk-NB7LJMYF.js} +3 -3
- package/dist/{chunk-A3SH6O3E.js.map → chunk-NB7LJMYF.js.map} +1 -1
- package/dist/{chunk-TZFIX2NI.js → chunk-NWD2SPUH.js} +4 -4
- package/dist/{chunk-TZFIX2NI.js.map → chunk-NWD2SPUH.js.map} +1 -1
- package/dist/{chunk-RNRF4YCD.cjs → chunk-OAE7ZFYO.cjs} +24 -24
- package/dist/{chunk-RNRF4YCD.cjs.map → chunk-OAE7ZFYO.cjs.map} +1 -1
- package/dist/{chunk-DWQGAKMB.cjs → chunk-OAWMKZCM.cjs} +11 -11
- package/dist/{chunk-DWQGAKMB.cjs.map → chunk-OAWMKZCM.cjs.map} +1 -1
- package/dist/{chunk-PALNMAC6.js → chunk-P5H4ILLH.js} +3 -3
- package/dist/{chunk-PALNMAC6.js.map → chunk-P5H4ILLH.js.map} +1 -1
- package/dist/{chunk-2XNLZANZ.cjs → chunk-PM3UPQWH.cjs} +11 -11
- package/dist/{chunk-2XNLZANZ.cjs.map → chunk-PM3UPQWH.cjs.map} +1 -1
- package/dist/{chunk-NHQKZEVJ.js → chunk-PX7NE2KG.js} +6 -6
- package/dist/{chunk-NHQKZEVJ.js.map → chunk-PX7NE2KG.js.map} +1 -1
- package/dist/{chunk-OCFLDDPE.js → chunk-PYT4SLHO.js} +3 -3
- package/dist/{chunk-OCFLDDPE.js.map → chunk-PYT4SLHO.js.map} +1 -1
- package/dist/{chunk-UP6HQJYH.js → chunk-Q3JFNANT.js} +4 -4
- package/dist/{chunk-UP6HQJYH.js.map → chunk-Q3JFNANT.js.map} +1 -1
- package/dist/{chunk-S65AMBAF.js → chunk-QJD675UA.js} +83 -32
- package/dist/chunk-QJD675UA.js.map +1 -0
- package/dist/{chunk-IQAV36GV.js → chunk-RVAPXLP2.js} +3 -3
- package/dist/{chunk-IQAV36GV.js.map → chunk-RVAPXLP2.js.map} +1 -1
- package/dist/{chunk-I45VWZBS.js → chunk-S4L4CSQD.js} +3 -3
- package/dist/{chunk-I45VWZBS.js.map → chunk-S4L4CSQD.js.map} +1 -1
- package/dist/{chunk-YCL2MS5R.js → chunk-SOH5VORA.js} +3 -3
- package/dist/{chunk-YCL2MS5R.js.map → chunk-SOH5VORA.js.map} +1 -1
- package/dist/{chunk-R2ODPDKE.cjs → chunk-SOQKSSPB.cjs} +74 -74
- package/dist/{chunk-R2ODPDKE.cjs.map → chunk-SOQKSSPB.cjs.map} +1 -1
- package/dist/{chunk-JNIAMBSQ.js → chunk-STNEFHHA.js} +4 -4
- package/dist/{chunk-JNIAMBSQ.js.map → chunk-STNEFHHA.js.map} +1 -1
- package/dist/{chunk-BQDKIKTT.cjs → chunk-SX3C7B3A.cjs} +28 -28
- package/dist/{chunk-BQDKIKTT.cjs.map → chunk-SX3C7B3A.cjs.map} +1 -1
- package/dist/{chunk-76TPFVVB.js → chunk-SYDZFUZI.js} +3 -3
- package/dist/{chunk-76TPFVVB.js.map → chunk-SYDZFUZI.js.map} +1 -1
- package/dist/{chunk-D5H4LH6V.cjs → chunk-T3X7ZXVR.cjs} +168 -64
- package/dist/chunk-T3X7ZXVR.cjs.map +1 -0
- package/dist/{chunk-N2JR3ER7.cjs → chunk-TFJZGWXX.cjs} +18 -18
- package/dist/{chunk-N2JR3ER7.cjs.map → chunk-TFJZGWXX.cjs.map} +1 -1
- package/dist/chunk-TLLV2JP5.js +983 -0
- package/dist/chunk-TLLV2JP5.js.map +1 -0
- package/dist/chunk-TTJ3DYZH.cjs +557 -0
- package/dist/chunk-TTJ3DYZH.cjs.map +1 -0
- package/dist/{chunk-LWBJ5GUU.cjs → chunk-UMXIU6E3.cjs} +7 -7
- package/dist/{chunk-LWBJ5GUU.cjs.map → chunk-UMXIU6E3.cjs.map} +1 -1
- package/dist/{chunk-E5BDG6JI.js → chunk-VESPCO5X.js} +3 -3
- package/dist/{chunk-E5BDG6JI.js.map → chunk-VESPCO5X.js.map} +1 -1
- package/dist/{chunk-BMACQWOU.js → chunk-VGNQKFWM.js} +3 -3
- package/dist/{chunk-BMACQWOU.js.map → chunk-VGNQKFWM.js.map} +1 -1
- package/dist/{chunk-WYH3OM52.cjs → chunk-VWBVA272.cjs} +5 -5
- package/dist/{chunk-WYH3OM52.cjs.map → chunk-VWBVA272.cjs.map} +1 -1
- package/dist/{chunk-GTHHWVCO.cjs → chunk-VZV7DUW7.cjs} +13 -13
- package/dist/{chunk-GTHHWVCO.cjs.map → chunk-VZV7DUW7.cjs.map} +1 -1
- package/dist/{chunk-JX5CEUXO.js → chunk-WE5GUI23.js} +3 -3
- package/dist/{chunk-JX5CEUXO.js.map → chunk-WE5GUI23.js.map} +1 -1
- package/dist/{chunk-2X3CMUG3.cjs → chunk-WLDDOYXP.cjs} +11 -11
- package/dist/{chunk-2X3CMUG3.cjs.map → chunk-WLDDOYXP.cjs.map} +1 -1
- package/dist/{chunk-NPNRCLYK.js → chunk-WN62DURP.js} +49 -21
- package/dist/chunk-WN62DURP.js.map +1 -0
- package/dist/{chunk-AH7FPYBH.cjs → chunk-WYQDPZNZ.cjs} +7 -7
- package/dist/{chunk-AH7FPYBH.cjs.map → chunk-WYQDPZNZ.cjs.map} +1 -1
- package/dist/{chunk-MOH4DZJP.cjs → chunk-XUFBFMUU.cjs} +71 -96
- package/dist/chunk-XUFBFMUU.cjs.map +1 -0
- 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-OJRAH5VV.js → chunk-YARY4I5U.js} +18 -3
- package/dist/chunk-YARY4I5U.js.map +1 -0
- package/dist/{chunk-AJV6ZSUS.cjs → chunk-YN57WYLS.cjs} +11 -11
- package/dist/{chunk-AJV6ZSUS.cjs.map → chunk-YN57WYLS.cjs.map} +1 -1
- package/dist/{chunk-VQMQBGDO.cjs → chunk-YQILRC5Y.cjs} +10 -10
- package/dist/{chunk-VQMQBGDO.cjs.map → chunk-YQILRC5Y.cjs.map} +1 -1
- package/dist/{chunk-SZOC7JGR.cjs → chunk-Z7FXNI2N.cjs} +52 -52
- package/dist/{chunk-SZOC7JGR.cjs.map → chunk-Z7FXNI2N.cjs.map} +1 -1
- package/dist/{chunk-ING7J2GB.js → chunk-ZO7SOILM.js} +4 -4
- package/dist/{chunk-ING7J2GB.js.map → chunk-ZO7SOILM.js.map} +1 -1
- package/dist/{chunk-XOQX6DBB.cjs → chunk-ZOILZWQD.cjs} +6 -6
- package/dist/{chunk-XOQX6DBB.cjs.map → chunk-ZOILZWQD.cjs.map} +1 -1
- package/dist/{chunk-AN5GEDCI.js → chunk-ZSGVBBC4.js} +3 -3
- package/dist/{chunk-AN5GEDCI.js.map → chunk-ZSGVBBC4.js.map} +1 -1
- package/dist/{dist-6SY6NNDU.cjs → dist-22O7FBGT.cjs} +30 -30
- package/dist/{dist-6SY6NNDU.cjs.map → dist-22O7FBGT.cjs.map} +1 -1
- package/dist/{dist-RVKG65AN.js → dist-2APID4CW.js} +3 -3
- package/dist/{dist-RVKG65AN.js.map → dist-2APID4CW.js.map} +1 -1
- package/dist/{dist-GKNLMW5G.js → dist-3GSFJQXK.js} +3 -3
- package/dist/{dist-GKNLMW5G.js.map → dist-3GSFJQXK.js.map} +1 -1
- package/dist/{dist-47C5ZLC7.js → dist-7Q7BE2C5.js} +3 -3
- package/dist/{dist-47C5ZLC7.js.map → dist-7Q7BE2C5.js.map} +1 -1
- package/dist/{dist-IAVEFOC6.cjs → dist-7X6EJANH.cjs} +26 -26
- package/dist/{dist-IAVEFOC6.cjs.map → dist-7X6EJANH.cjs.map} +1 -1
- package/dist/dist-CC743ARY.cjs +16 -0
- package/dist/{dist-S6SWOZKE.cjs.map → dist-CC743ARY.cjs.map} +1 -1
- package/dist/{dist-VHDOPJW6.cjs → dist-DGCZK6BK.cjs} +20 -20
- package/dist/{dist-VHDOPJW6.cjs.map → dist-DGCZK6BK.cjs.map} +1 -1
- package/dist/{dist-BSWYTOHE.js → dist-F77PFLNC.js} +3 -3
- package/dist/{dist-BSWYTOHE.js.map → dist-F77PFLNC.js.map} +1 -1
- package/dist/{dist-LTT5BP7F.cjs → dist-SPP3XCYT.cjs} +28 -28
- package/dist/{dist-LTT5BP7F.cjs.map → dist-SPP3XCYT.cjs.map} +1 -1
- package/dist/dist-SPTCWKCU.js +3 -0
- package/dist/{dist-KEJZY3UJ.js.map → dist-SPTCWKCU.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-KH7G7Y6B-Y3XQXW3K.cjs → observational-memory-IP2RVQQG-5IHDRYAB.cjs} +26 -26
- package/dist/{observational-memory-KH7G7Y6B-Y3XQXW3K.cjs.map → observational-memory-IP2RVQQG-5IHDRYAB.cjs.map} +1 -1
- package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.js → observational-memory-IP2RVQQG-DIZILT73.js} +3 -3
- package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.js.map → observational-memory-IP2RVQQG-DIZILT73.js.map} +1 -1
- 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.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 +39 -39
- 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.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.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
- 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.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.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 +3 -3
- 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/server-adapter/index.cjs +55 -28
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +5 -1
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +19 -11
- package/dist/server/server-adapter/index.js.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 +6 -6
- package/dist/chunk-27MTROCI.js.map +0 -1
- package/dist/chunk-3S77SMGK.js.map +0 -1
- package/dist/chunk-4OJDWKDW.js.map +0 -1
- package/dist/chunk-767P6IDT.cjs.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-D5H4LH6V.cjs.map +0 -1
- package/dist/chunk-DFSUBEGE.js +0 -226
- package/dist/chunk-DFSUBEGE.js.map +0 -1
- package/dist/chunk-EFW6MWXU.cjs.map +0 -1
- package/dist/chunk-GWLMGMHI.cjs.map +0 -1
- package/dist/chunk-MOH4DZJP.cjs.map +0 -1
- package/dist/chunk-NPNRCLYK.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-S65AMBAF.js.map +0 -1
- package/dist/chunk-UVLQSMYF.js.map +0 -1
- package/dist/chunk-Y5FNAVOR.cjs +0 -634
- package/dist/chunk-Y5FNAVOR.cjs.map +0 -1
- package/dist/dist-KEJZY3UJ.js +0 -3
- package/dist/dist-S6SWOZKE.cjs +0 -16
package/dist/chunk-PJYQMPXT.cjs
DELETED
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk64YJOWH2_cjs = require('./chunk-64YJOWH2.cjs');
|
|
4
|
-
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
5
|
-
|
|
6
|
-
// src/server/handlers/responses.storage.ts
|
|
7
|
-
function isPlainObject(value) {
|
|
8
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
9
|
-
}
|
|
10
|
-
async function getAgentMemoryStore({
|
|
11
|
-
agent,
|
|
12
|
-
requestContext
|
|
13
|
-
}) {
|
|
14
|
-
const memory = await agent.getMemory({ requestContext });
|
|
15
|
-
if (!memory) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
return await memory.storage.getStore("memory") ?? null;
|
|
20
|
-
} catch {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function readResponseTurnRecordMetadata(message) {
|
|
25
|
-
const mastraMetadata = isPlainObject(message.content?.metadata?.mastra) ? message.content.metadata.mastra : null;
|
|
26
|
-
const responseMetadata = mastraMetadata && isPlainObject(mastraMetadata.response) ? mastraMetadata.response : null;
|
|
27
|
-
if (!responseMetadata || typeof responseMetadata.agentId !== "string" || typeof responseMetadata.model !== "string" || typeof responseMetadata.createdAt !== "number" || responseMetadata.completedAt !== null && typeof responseMetadata.completedAt !== "number" || responseMetadata.instructions !== void 0 && typeof responseMetadata.instructions !== "string" || responseMetadata.text !== void 0 && (!isPlainObject(responseMetadata.text) || !isPlainObject(responseMetadata.text.format)) || responseMetadata.previousResponseId !== void 0 && typeof responseMetadata.previousResponseId !== "string" || !Array.isArray(responseMetadata.tools) || typeof responseMetadata.store !== "boolean" || !Array.isArray(responseMetadata.messageIds)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
agentId: responseMetadata.agentId,
|
|
32
|
-
model: responseMetadata.model,
|
|
33
|
-
createdAt: responseMetadata.createdAt,
|
|
34
|
-
completedAt: responseMetadata.completedAt,
|
|
35
|
-
status: responseMetadata.status === "completed" ? "completed" : "incomplete",
|
|
36
|
-
usage: responseMetadata.usage,
|
|
37
|
-
instructions: responseMetadata.instructions,
|
|
38
|
-
text: responseMetadata.text,
|
|
39
|
-
previousResponseId: responseMetadata.previousResponseId,
|
|
40
|
-
providerOptions: responseMetadata.providerOptions,
|
|
41
|
-
tools: responseMetadata.tools,
|
|
42
|
-
store: responseMetadata.store,
|
|
43
|
-
messageIds: responseMetadata.messageIds.filter((value) => typeof value === "string")
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
function writeResponseTurnRecordMetadata(message, metadata) {
|
|
47
|
-
const contentMetadata = isPlainObject(message.content?.metadata) ? message.content.metadata : {};
|
|
48
|
-
const mastraMetadata = isPlainObject(contentMetadata.mastra) ? contentMetadata.mastra : {};
|
|
49
|
-
return {
|
|
50
|
-
...message,
|
|
51
|
-
content: {
|
|
52
|
-
...message.content,
|
|
53
|
-
metadata: {
|
|
54
|
-
...contentMetadata,
|
|
55
|
-
mastra: {
|
|
56
|
-
...mastraMetadata,
|
|
57
|
-
response: metadata
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
async function findResponseTurnRecord({
|
|
64
|
-
agent,
|
|
65
|
-
responseId,
|
|
66
|
-
requestContext
|
|
67
|
-
}) {
|
|
68
|
-
const memoryStore = await getAgentMemoryStore({ agent, requestContext });
|
|
69
|
-
if (!memoryStore) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
const effectiveResourceId = chunk64YJOWH2_cjs.getEffectiveResourceId(requestContext, void 0);
|
|
73
|
-
const { messages: matchedMessages } = await memoryStore.listMessagesById({ messageIds: [responseId] });
|
|
74
|
-
const message = matchedMessages[0];
|
|
75
|
-
if (!message || message.role !== "assistant") {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
const metadata = readResponseTurnRecordMetadata(message);
|
|
79
|
-
if (!metadata || metadata.agentId !== agent.id) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
const thread = message.threadId ? await memoryStore.getThreadById({ threadId: message.threadId }) : null;
|
|
83
|
-
if (!thread) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
await chunk64YJOWH2_cjs.validateThreadOwnership(thread, effectiveResourceId);
|
|
87
|
-
const messageIds = metadata.messageIds.length > 0 ? metadata.messageIds : [message.id];
|
|
88
|
-
const { messages: responseMessages } = await memoryStore.listMessagesById({ messageIds });
|
|
89
|
-
const messagesById = new Map(responseMessages.map((storedMessage) => [storedMessage.id, storedMessage]));
|
|
90
|
-
const orderedMessages = messageIds.map((messageId) => messagesById.get(messageId)).filter((storedMessage) => Boolean(storedMessage));
|
|
91
|
-
return { metadata, message, messages: orderedMessages, thread, memoryStore };
|
|
92
|
-
}
|
|
93
|
-
async function findResponseTurnRecordAcrossAgents({
|
|
94
|
-
mastra,
|
|
95
|
-
responseId,
|
|
96
|
-
requestContext
|
|
97
|
-
}) {
|
|
98
|
-
if (!mastra) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
const agents = Object.values(mastra.listAgents());
|
|
102
|
-
for (const agent of agents) {
|
|
103
|
-
const match = await findResponseTurnRecord({ agent, responseId, requestContext });
|
|
104
|
-
if (match) {
|
|
105
|
-
return match;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
async function findConversationThreadAcrossAgents({
|
|
111
|
-
mastra,
|
|
112
|
-
conversationId,
|
|
113
|
-
requestContext
|
|
114
|
-
}) {
|
|
115
|
-
if (!mastra) {
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
const effectiveResourceId = chunk64YJOWH2_cjs.getEffectiveResourceId(requestContext, void 0);
|
|
119
|
-
const agents = Object.values(mastra.listAgents());
|
|
120
|
-
for (const agent of agents) {
|
|
121
|
-
const memoryStore = await getAgentMemoryStore({ agent, requestContext });
|
|
122
|
-
if (!memoryStore) {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
const thread = await memoryStore.getThreadById({ threadId: conversationId });
|
|
126
|
-
if (!thread) {
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
await chunk64YJOWH2_cjs.validateThreadOwnership(thread, effectiveResourceId);
|
|
130
|
-
return { thread, memoryStore };
|
|
131
|
-
}
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
function createSyntheticResponseMessage({
|
|
135
|
-
responseId,
|
|
136
|
-
text,
|
|
137
|
-
threadContext
|
|
138
|
-
}) {
|
|
139
|
-
return {
|
|
140
|
-
id: responseId,
|
|
141
|
-
role: "assistant",
|
|
142
|
-
type: "text",
|
|
143
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
144
|
-
threadId: threadContext.threadId,
|
|
145
|
-
resourceId: threadContext.resourceId,
|
|
146
|
-
content: {
|
|
147
|
-
format: 2,
|
|
148
|
-
parts: text ? [{ type: "text", text }] : []
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
async function resolveResponseTurnMessagesForStorage({
|
|
153
|
-
result,
|
|
154
|
-
responseId,
|
|
155
|
-
text,
|
|
156
|
-
threadContext
|
|
157
|
-
}) {
|
|
158
|
-
const response = await result.response;
|
|
159
|
-
const responseMessages = response?.dbMessages?.length ? response.dbMessages : [];
|
|
160
|
-
if (!threadContext) {
|
|
161
|
-
return responseMessages;
|
|
162
|
-
}
|
|
163
|
-
if (responseMessages.length === 0) {
|
|
164
|
-
return [createSyntheticResponseMessage({ responseId, text, threadContext })];
|
|
165
|
-
}
|
|
166
|
-
return responseMessages;
|
|
167
|
-
}
|
|
168
|
-
async function persistResponseTurnRecord({
|
|
169
|
-
memoryStore,
|
|
170
|
-
responseId,
|
|
171
|
-
metadata,
|
|
172
|
-
threadContext,
|
|
173
|
-
messages
|
|
174
|
-
}) {
|
|
175
|
-
if (!memoryStore) {
|
|
176
|
-
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Memory storage was not available while storing the response" });
|
|
177
|
-
}
|
|
178
|
-
const normalizedMessages = messages.map((message) => ({
|
|
179
|
-
...message,
|
|
180
|
-
threadId: message.threadId ?? threadContext.threadId,
|
|
181
|
-
resourceId: message.resourceId ?? threadContext.resourceId
|
|
182
|
-
}));
|
|
183
|
-
const lastAssistantIndex = [...normalizedMessages].map((message) => message.role).lastIndexOf("assistant");
|
|
184
|
-
const lastAssistantMessage = lastAssistantIndex >= 0 ? {
|
|
185
|
-
...normalizedMessages[lastAssistantIndex],
|
|
186
|
-
id: responseId
|
|
187
|
-
} : {
|
|
188
|
-
id: responseId,
|
|
189
|
-
role: "assistant",
|
|
190
|
-
type: "text",
|
|
191
|
-
createdAt: new Date(metadata.completedAt ? metadata.completedAt * 1e3 : Date.now()),
|
|
192
|
-
threadId: threadContext.threadId,
|
|
193
|
-
resourceId: threadContext.resourceId,
|
|
194
|
-
content: {
|
|
195
|
-
format: 2,
|
|
196
|
-
parts: []
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
if (lastAssistantIndex >= 0) {
|
|
200
|
-
normalizedMessages[lastAssistantIndex] = lastAssistantMessage;
|
|
201
|
-
} else {
|
|
202
|
-
normalizedMessages.push(lastAssistantMessage);
|
|
203
|
-
}
|
|
204
|
-
const staleMessageIds = lastAssistantIndex >= 0 && messages[lastAssistantIndex]?.id && messages[lastAssistantIndex]?.id !== responseId ? [messages[lastAssistantIndex].id] : [];
|
|
205
|
-
const storedMessage = writeResponseTurnRecordMetadata(lastAssistantMessage, {
|
|
206
|
-
...metadata,
|
|
207
|
-
messageIds: normalizedMessages.map((message) => message.id)
|
|
208
|
-
});
|
|
209
|
-
if (lastAssistantIndex >= 0) {
|
|
210
|
-
normalizedMessages[lastAssistantIndex] = storedMessage;
|
|
211
|
-
} else {
|
|
212
|
-
normalizedMessages[normalizedMessages.length - 1] = storedMessage;
|
|
213
|
-
}
|
|
214
|
-
await memoryStore.saveMessages({ messages: normalizedMessages });
|
|
215
|
-
if (staleMessageIds.length > 0) {
|
|
216
|
-
await memoryStore.deleteMessages(staleMessageIds);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
async function deleteResponseTurnRecord({
|
|
220
|
-
responseTurnRecord
|
|
221
|
-
}) {
|
|
222
|
-
const messageIds = responseTurnRecord.messages.length > 0 ? responseTurnRecord.messages.map((message) => message.id) : [responseTurnRecord.message.id];
|
|
223
|
-
await responseTurnRecord.memoryStore.deleteMessages(messageIds);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
exports.deleteResponseTurnRecord = deleteResponseTurnRecord;
|
|
227
|
-
exports.findConversationThreadAcrossAgents = findConversationThreadAcrossAgents;
|
|
228
|
-
exports.findResponseTurnRecord = findResponseTurnRecord;
|
|
229
|
-
exports.findResponseTurnRecordAcrossAgents = findResponseTurnRecordAcrossAgents;
|
|
230
|
-
exports.getAgentMemoryStore = getAgentMemoryStore;
|
|
231
|
-
exports.persistResponseTurnRecord = persistResponseTurnRecord;
|
|
232
|
-
exports.resolveResponseTurnMessagesForStorage = resolveResponseTurnMessagesForStorage;
|
|
233
|
-
//# sourceMappingURL=chunk-PJYQMPXT.cjs.map
|
|
234
|
-
//# sourceMappingURL=chunk-PJYQMPXT.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/responses.storage.ts"],"names":["getEffectiveResourceId","validateThreadOwnership","HTTPException"],"mappings":"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","file":"chunk-PJYQMPXT.cjs","sourcesContent":["import type { Agent, MastraDBMessage } from '@mastra/core/agent';\nimport type { Mastra } from '@mastra/core/mastra';\nimport type { StorageThreadType } from '@mastra/core/memory';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { MemoryStorage } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport type { ResponseObject, ResponseTextConfig, ResponseTool, ResponseUsage } from '../schemas/responses';\nimport { getEffectiveResourceId, validateThreadOwnership } from './utils';\n\nexport type ThreadExecutionContext = {\n threadId: string;\n resourceId: string;\n};\n\nexport type UsageLike = {\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n promptTokens?: number;\n completionTokens?: number;\n} | null;\n\nexport type ProviderMetadataLike = Record<string, Record<string, unknown> | undefined> | undefined;\n\nexport type ResponseTurnRecordMetadata = {\n agentId: string;\n model: string;\n createdAt: number;\n completedAt: number | null;\n status: ResponseObject['status'];\n usage: ResponseUsage | null;\n instructions?: string;\n text?: ResponseTextConfig;\n previousResponseId?: string;\n providerOptions?: ProviderMetadataLike;\n tools: ResponseTool[];\n store: boolean;\n messageIds: string[];\n};\n\nexport type ResponseTurnRecord = {\n metadata: ResponseTurnRecordMetadata;\n message: MastraDBMessage;\n messages: MastraDBMessage[];\n thread: StorageThreadType;\n memoryStore: MemoryStorage;\n};\n\ntype ResponseResultLike = {\n response?:\n | Promise<{\n dbMessages?: MastraDBMessage[];\n }>\n | {\n dbMessages?: MastraDBMessage[];\n };\n};\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/**\n * Resolves the backing memory store for a specific agent.\n *\n * This follows the normal agent-memory path. `agent.getMemory()` injects Mastra\n * root storage when the memory has no own storage, so this naturally prefers\n * agent storage first and falls back to Mastra storage through the same codepath.\n */\nexport async function getAgentMemoryStore({\n agent,\n requestContext,\n}: {\n agent: Agent<any, any, any, any>;\n requestContext: RequestContext;\n}): Promise<MemoryStorage | null> {\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n return null;\n }\n\n try {\n return (await memory.storage.getStore('memory')) ?? null;\n } catch {\n return null;\n }\n}\n\n/**\n * Reads the response-turn record metadata attached to a stored assistant message.\n */\nfunction readResponseTurnRecordMetadata(message: MastraDBMessage): ResponseTurnRecordMetadata | null {\n const mastraMetadata = isPlainObject(message.content?.metadata?.mastra) ? message.content.metadata.mastra : null;\n const responseMetadata = mastraMetadata && isPlainObject(mastraMetadata.response) ? mastraMetadata.response : null;\n\n if (\n !responseMetadata ||\n typeof responseMetadata.agentId !== 'string' ||\n typeof responseMetadata.model !== 'string' ||\n typeof responseMetadata.createdAt !== 'number' ||\n (responseMetadata.completedAt !== null && typeof responseMetadata.completedAt !== 'number') ||\n (responseMetadata.instructions !== undefined && typeof responseMetadata.instructions !== 'string') ||\n (responseMetadata.text !== undefined &&\n (!isPlainObject(responseMetadata.text) || !isPlainObject(responseMetadata.text.format))) ||\n (responseMetadata.previousResponseId !== undefined && typeof responseMetadata.previousResponseId !== 'string') ||\n !Array.isArray(responseMetadata.tools) ||\n typeof responseMetadata.store !== 'boolean' ||\n !Array.isArray(responseMetadata.messageIds)\n ) {\n return null;\n }\n\n return {\n agentId: responseMetadata.agentId,\n model: responseMetadata.model,\n createdAt: responseMetadata.createdAt,\n completedAt: responseMetadata.completedAt,\n status: responseMetadata.status === 'completed' ? 'completed' : 'incomplete',\n usage: responseMetadata.usage as ResponseUsage | null,\n instructions: responseMetadata.instructions,\n text: responseMetadata.text as ResponseTextConfig | undefined,\n previousResponseId: responseMetadata.previousResponseId,\n providerOptions: responseMetadata.providerOptions as ProviderMetadataLike,\n tools: responseMetadata.tools as ResponseTool[],\n store: responseMetadata.store,\n messageIds: responseMetadata.messageIds.filter((value): value is string => typeof value === 'string'),\n };\n}\n\n/**\n * Writes response-turn record metadata onto a persisted assistant message.\n */\nfunction writeResponseTurnRecordMetadata(\n message: MastraDBMessage,\n metadata: ResponseTurnRecordMetadata,\n): MastraDBMessage {\n const contentMetadata = isPlainObject(message.content?.metadata) ? message.content.metadata : {};\n const mastraMetadata = isPlainObject(contentMetadata.mastra) ? contentMetadata.mastra : {};\n\n return {\n ...message,\n content: {\n ...message.content,\n metadata: {\n ...contentMetadata,\n mastra: {\n ...mastraMetadata,\n response: metadata,\n },\n },\n },\n };\n}\n\n/**\n * Looks up a stored response-turn record by response id.\n *\n * Response ids are assistant message ids, so this reconstructs the record by\n * loading that persisted assistant message, reading its response metadata, then\n * reloading the full set of stored turn messages referenced by the metadata.\n */\nexport async function findResponseTurnRecord({\n agent,\n responseId,\n requestContext,\n}: {\n agent: Agent<any, any, any, any>;\n responseId: string;\n requestContext: RequestContext;\n}): Promise<ResponseTurnRecord | null> {\n const memoryStore = await getAgentMemoryStore({ agent, requestContext });\n if (!memoryStore) {\n return null;\n }\n\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n const { messages: matchedMessages } = await memoryStore.listMessagesById({ messageIds: [responseId] });\n const message = matchedMessages[0];\n if (!message || message.role !== 'assistant') {\n return null;\n }\n\n const metadata = readResponseTurnRecordMetadata(message);\n if (!metadata || metadata.agentId !== agent.id) {\n return null;\n }\n\n const thread = message.threadId ? await memoryStore.getThreadById({ threadId: message.threadId }) : null;\n if (!thread) {\n return null;\n }\n\n await validateThreadOwnership(thread, effectiveResourceId);\n const messageIds = metadata.messageIds.length > 0 ? metadata.messageIds : [message.id];\n const { messages: responseMessages } = await memoryStore.listMessagesById({ messageIds });\n const messagesById = new Map(responseMessages.map(storedMessage => [storedMessage.id, storedMessage] as const));\n const orderedMessages = messageIds\n .map(messageId => messagesById.get(messageId))\n .filter((storedMessage): storedMessage is MastraDBMessage => Boolean(storedMessage));\n\n return { metadata, message, messages: orderedMessages, thread, memoryStore };\n}\n\nexport async function findResponseTurnRecordAcrossAgents({\n mastra,\n responseId,\n requestContext,\n}: {\n mastra: Mastra | undefined;\n responseId: string;\n requestContext: RequestContext;\n}): Promise<ResponseTurnRecord | null> {\n if (!mastra) {\n return null;\n }\n\n const agents = Object.values(mastra.listAgents()) as Agent<any, any, any, any>[];\n for (const agent of agents) {\n const match = await findResponseTurnRecord({ agent, responseId, requestContext });\n if (match) {\n return match;\n }\n }\n\n return null;\n}\n\nexport type ConversationThreadRecord = {\n thread: StorageThreadType;\n memoryStore: MemoryStorage;\n};\n\nexport async function findConversationThreadAcrossAgents({\n mastra,\n conversationId,\n requestContext,\n}: {\n mastra: Mastra | undefined;\n conversationId: string;\n requestContext: RequestContext;\n}): Promise<ConversationThreadRecord | null> {\n if (!mastra) {\n return null;\n }\n\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n const agents = Object.values(mastra.listAgents()) as Agent<any, any, any, any>[];\n\n for (const agent of agents) {\n const memoryStore = await getAgentMemoryStore({ agent, requestContext });\n if (!memoryStore) {\n continue;\n }\n\n const thread = await memoryStore.getThreadById({ threadId: conversationId });\n if (!thread) {\n continue;\n }\n\n await validateThreadOwnership(thread, effectiveResourceId);\n return { thread, memoryStore };\n }\n\n return null;\n}\n\n/**\n * Creates a synthetic assistant message for responses that did not emit any\n * persisted DB messages but still need a durable response-turn record.\n */\nfunction createSyntheticResponseMessage({\n responseId,\n text,\n threadContext,\n}: {\n responseId: string;\n text: string;\n threadContext: ThreadExecutionContext;\n}): MastraDBMessage {\n return {\n id: responseId,\n role: 'assistant',\n type: 'text',\n createdAt: new Date(),\n threadId: threadContext.threadId,\n resourceId: threadContext.resourceId,\n content: {\n format: 2 as const,\n parts: text ? [{ type: 'text', text }] : [],\n },\n };\n}\n\n/**\n * Resolves the Mastra messages that belong to the response turn being stored.\n */\nexport async function resolveResponseTurnMessagesForStorage({\n result,\n responseId,\n text,\n threadContext,\n}: {\n result: ResponseResultLike;\n responseId: string;\n text: string;\n threadContext: ThreadExecutionContext | null;\n}): Promise<MastraDBMessage[]> {\n const response = await result.response;\n const responseMessages = response?.dbMessages?.length ? response.dbMessages : [];\n\n if (!threadContext) {\n return responseMessages;\n }\n\n if (responseMessages.length === 0) {\n return [createSyntheticResponseMessage({ responseId, text, threadContext })];\n }\n\n return responseMessages;\n}\n\n/**\n * Persists a response-turn record by anchoring it on the final assistant\n * message in the stored turn.\n *\n * The response id becomes that assistant message id, and the response-specific\n * metadata is written onto the assistant message so later retrieval can rebuild\n * the Responses object from thread-backed storage.\n */\nexport async function persistResponseTurnRecord({\n memoryStore,\n responseId,\n metadata,\n threadContext,\n messages,\n}: {\n memoryStore: MemoryStorage | null;\n responseId: string;\n metadata: ResponseTurnRecordMetadata;\n threadContext: ThreadExecutionContext;\n messages: MastraDBMessage[];\n}): Promise<void> {\n if (!memoryStore) {\n throw new HTTPException(500, { message: 'Memory storage was not available while storing the response' });\n }\n\n const normalizedMessages: MastraDBMessage[] = messages.map(message => ({\n ...message,\n threadId: message.threadId ?? threadContext.threadId,\n resourceId: message.resourceId ?? threadContext.resourceId,\n }));\n\n const lastAssistantIndex = [...normalizedMessages].map(message => message.role).lastIndexOf('assistant');\n const lastAssistantMessage =\n lastAssistantIndex >= 0\n ? {\n ...normalizedMessages[lastAssistantIndex]!,\n id: responseId,\n }\n : ({\n id: responseId,\n role: 'assistant' as const,\n type: 'text' as const,\n createdAt: new Date(metadata.completedAt ? metadata.completedAt * 1000 : Date.now()),\n threadId: threadContext.threadId,\n resourceId: threadContext.resourceId,\n content: {\n format: 2 as const,\n parts: [],\n },\n } satisfies MastraDBMessage);\n\n if (lastAssistantIndex >= 0) {\n normalizedMessages[lastAssistantIndex] = lastAssistantMessage;\n } else {\n normalizedMessages.push(lastAssistantMessage);\n }\n\n const staleMessageIds =\n lastAssistantIndex >= 0 && messages[lastAssistantIndex]?.id && messages[lastAssistantIndex]?.id !== responseId\n ? [messages[lastAssistantIndex]!.id]\n : [];\n\n const storedMessage = writeResponseTurnRecordMetadata(lastAssistantMessage, {\n ...metadata,\n messageIds: normalizedMessages.map(message => message.id),\n });\n\n if (lastAssistantIndex >= 0) {\n normalizedMessages[lastAssistantIndex] = storedMessage;\n } else {\n normalizedMessages[normalizedMessages.length - 1] = storedMessage;\n }\n\n await memoryStore.saveMessages({ messages: normalizedMessages });\n\n if (staleMessageIds.length > 0) {\n await memoryStore.deleteMessages(staleMessageIds);\n }\n}\n\n/**\n * Removes all persisted messages for a stored response-turn record.\n */\nexport async function deleteResponseTurnRecord({\n responseTurnRecord,\n}: {\n responseTurnRecord: ResponseTurnRecord;\n}): Promise<void> {\n const messageIds =\n responseTurnRecord.messages.length > 0\n ? responseTurnRecord.messages.map(message => message.id)\n : [responseTurnRecord.message.id];\n\n await responseTurnRecord.memoryStore.deleteMessages(messageIds);\n}\n"]}
|