@mastra/server 1.49.0-alpha.2 → 1.49.0-alpha.3
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 +23 -0
- package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +10 -0
- package/dist/{api-schema-manifest-TLQAM6FO.cjs → api-schema-manifest-JLJ5HJVI.cjs} +6 -6
- package/dist/{api-schema-manifest-TLQAM6FO.cjs.map → api-schema-manifest-JLJ5HJVI.cjs.map} +1 -1
- package/dist/{api-schema-manifest-DJMDRR6X.js → api-schema-manifest-OWVACY6K.js} +4 -4
- package/dist/{api-schema-manifest-DJMDRR6X.js.map → api-schema-manifest-OWVACY6K.js.map} +1 -1
- package/dist/{chunk-3YQ7NWF6.cjs → chunk-22EM2GBH.cjs} +220 -133
- package/dist/chunk-22EM2GBH.cjs.map +1 -0
- package/dist/{chunk-LUWUASNN.js → chunk-2B3T4FDQ.js} +4 -4
- package/dist/{chunk-LUWUASNN.js.map → chunk-2B3T4FDQ.js.map} +1 -1
- package/dist/{chunk-G5YHDBGD.js → chunk-2D3SDIRD.js} +3 -3
- package/dist/{chunk-G5YHDBGD.js.map → chunk-2D3SDIRD.js.map} +1 -1
- package/dist/{chunk-UWUAYOQA.cjs → chunk-2VO3BDE5.cjs} +24 -24
- package/dist/{chunk-UWUAYOQA.cjs.map → chunk-2VO3BDE5.cjs.map} +1 -1
- package/dist/{chunk-7FUA4DRZ.js → chunk-344TOMHC.js} +4 -4
- package/dist/{chunk-7FUA4DRZ.js.map → chunk-344TOMHC.js.map} +1 -1
- package/dist/{chunk-2XPIKRSZ.js → chunk-3VNAOZ3S.js} +3 -3
- package/dist/{chunk-2XPIKRSZ.js.map → chunk-3VNAOZ3S.js.map} +1 -1
- package/dist/{chunk-AQZ47L6G.cjs → chunk-3YFDOQMM.cjs} +11 -11
- package/dist/{chunk-AQZ47L6G.cjs.map → chunk-3YFDOQMM.cjs.map} +1 -1
- package/dist/{chunk-4HG3QZXF.cjs → chunk-45SRRAK2.cjs} +30 -30
- package/dist/{chunk-4HG3QZXF.cjs.map → chunk-45SRRAK2.cjs.map} +1 -1
- package/dist/{chunk-N6D2VLXK.cjs → chunk-46D4LXPJ.cjs} +101 -101
- package/dist/{chunk-N6D2VLXK.cjs.map → chunk-46D4LXPJ.cjs.map} +1 -1
- package/dist/{chunk-APG3BC3Q.cjs → chunk-4ATFZDHI.cjs} +10 -10
- package/dist/{chunk-APG3BC3Q.cjs.map → chunk-4ATFZDHI.cjs.map} +1 -1
- package/dist/{chunk-QMSBHMHT.js → chunk-4DVFBBKV.js} +3 -3
- package/dist/{chunk-QMSBHMHT.js.map → chunk-4DVFBBKV.js.map} +1 -1
- package/dist/{chunk-TVVHBU4A.js → chunk-4HSM2TU2.js} +4 -4
- package/dist/{chunk-TVVHBU4A.js.map → chunk-4HSM2TU2.js.map} +1 -1
- package/dist/chunk-4HWBP3K4.cjs +753 -0
- package/dist/{chunk-JCL5EKZP.cjs.map → chunk-4HWBP3K4.cjs.map} +1 -1
- package/dist/{chunk-KLV64VVH.js → chunk-4W5AVWZH.js} +2 -2
- package/dist/chunk-4W5AVWZH.js.map +1 -0
- package/dist/{chunk-IOZANQQU.cjs → chunk-57BKC4ZW.cjs} +37 -37
- package/dist/{chunk-IOZANQQU.cjs.map → chunk-57BKC4ZW.cjs.map} +1 -1
- package/dist/{chunk-GOBORDBJ.js → chunk-5NBDNR2B.js} +5 -5
- package/dist/{chunk-GOBORDBJ.js.map → chunk-5NBDNR2B.js.map} +1 -1
- package/dist/{chunk-M3UP3Z3G.cjs → chunk-5SY2ZQ3R.cjs} +2 -2
- package/dist/chunk-5SY2ZQ3R.cjs.map +1 -0
- package/dist/{chunk-DKAAQTWH.cjs → chunk-6KPMWM5N.cjs} +28 -28
- package/dist/{chunk-DKAAQTWH.cjs.map → chunk-6KPMWM5N.cjs.map} +1 -1
- package/dist/{chunk-SCL4EOYX.js → chunk-6ZQIEZFG.js} +4 -4
- package/dist/{chunk-SCL4EOYX.js.map → chunk-6ZQIEZFG.js.map} +1 -1
- package/dist/{chunk-H55JQOSM.cjs → chunk-76YQAK7Q.cjs} +13 -13
- package/dist/{chunk-H55JQOSM.cjs.map → chunk-76YQAK7Q.cjs.map} +1 -1
- package/dist/{chunk-Z7QLCQFV.js → chunk-7ICIPSVS.js} +4 -4
- package/dist/{chunk-Z7QLCQFV.js.map → chunk-7ICIPSVS.js.map} +1 -1
- package/dist/{chunk-7X2ZLS5H.cjs → chunk-7XZQUQEO.cjs} +8 -8
- package/dist/{chunk-7X2ZLS5H.cjs.map → chunk-7XZQUQEO.cjs.map} +1 -1
- package/dist/{chunk-NEZJXC3B.js → chunk-BALLHDVH.js} +4 -4
- package/dist/{chunk-NEZJXC3B.js.map → chunk-BALLHDVH.js.map} +1 -1
- package/dist/{chunk-TFXHXMHE.cjs → chunk-BQ2JQTKA.cjs} +11 -11
- package/dist/{chunk-TFXHXMHE.cjs.map → chunk-BQ2JQTKA.cjs.map} +1 -1
- package/dist/{chunk-WWPJKPP2.js → chunk-C65RFM5P.js} +12 -6
- package/dist/chunk-C65RFM5P.js.map +1 -0
- package/dist/{chunk-NEX5YORG.js → chunk-CCT2USYM.js} +4 -4
- package/dist/chunk-CCT2USYM.js.map +1 -0
- package/dist/{chunk-MGHFYPEW.cjs → chunk-CU3VFK4E.cjs} +18 -18
- package/dist/{chunk-MGHFYPEW.cjs.map → chunk-CU3VFK4E.cjs.map} +1 -1
- package/dist/{chunk-4I3ICQEM.cjs → chunk-D5ANEBEI.cjs} +6 -6
- package/dist/{chunk-4I3ICQEM.cjs.map → chunk-D5ANEBEI.cjs.map} +1 -1
- package/dist/{chunk-NGF5DIWK.cjs → chunk-D6FUPRXX.cjs} +11 -11
- package/dist/{chunk-NGF5DIWK.cjs.map → chunk-D6FUPRXX.cjs.map} +1 -1
- package/dist/{chunk-ITBNSSQN.js → chunk-DAMJJAHO.js} +7 -7
- package/dist/{chunk-ITBNSSQN.js.map → chunk-DAMJJAHO.js.map} +1 -1
- package/dist/{chunk-HATXNJ4V.js → chunk-DHAHH4TH.js} +2 -2
- package/dist/chunk-DHAHH4TH.js.map +1 -0
- package/dist/{chunk-YWUVDFQZ.cjs → chunk-DRDVJ35H.cjs} +6 -6
- package/dist/{chunk-YWUVDFQZ.cjs.map → chunk-DRDVJ35H.cjs.map} +1 -1
- package/dist/{chunk-CZMLESI4.js → chunk-DRIJ6W3Z.js} +3 -3
- package/dist/{chunk-CZMLESI4.js.map → chunk-DRIJ6W3Z.js.map} +1 -1
- package/dist/{chunk-GVCHXBVJ.cjs → chunk-EFJCOPJ3.cjs} +49 -49
- package/dist/{chunk-GVCHXBVJ.cjs.map → chunk-EFJCOPJ3.cjs.map} +1 -1
- package/dist/{chunk-J4OSII66.js → chunk-ERCBJA5A.js} +4 -4
- package/dist/{chunk-J4OSII66.js.map → chunk-ERCBJA5A.js.map} +1 -1
- package/dist/{chunk-QGCCLIGC.js → chunk-ET6QFYJQ.js} +4 -4
- package/dist/{chunk-QGCCLIGC.js.map → chunk-ET6QFYJQ.js.map} +1 -1
- package/dist/{chunk-Y72MU5MZ.js → chunk-ETVWGZSU.js} +6 -6
- package/dist/{chunk-Y72MU5MZ.js.map → chunk-ETVWGZSU.js.map} +1 -1
- package/dist/{chunk-ZZFTX4PF.js → chunk-EZWVRD45.js} +6 -6
- package/dist/{chunk-ZZFTX4PF.js.map → chunk-EZWVRD45.js.map} +1 -1
- package/dist/{chunk-PGEKAIAI.js → chunk-GIQJF7ZM.js} +3 -3
- package/dist/{chunk-PGEKAIAI.js.map → chunk-GIQJF7ZM.js.map} +1 -1
- package/dist/{chunk-KGZ4BTNC.cjs → chunk-GJBHQJBK.cjs} +18 -18
- package/dist/{chunk-KGZ4BTNC.cjs.map → chunk-GJBHQJBK.cjs.map} +1 -1
- package/dist/{chunk-ZFJRI5SE.cjs → chunk-GK23JHRL.cjs} +41 -41
- package/dist/{chunk-ZFJRI5SE.cjs.map → chunk-GK23JHRL.cjs.map} +1 -1
- package/dist/{chunk-4JSAO4AK.js → chunk-H7UZ44VA.js} +4 -4
- package/dist/{chunk-4JSAO4AK.js.map → chunk-H7UZ44VA.js.map} +1 -1
- package/dist/{chunk-IFY2QLAW.js → chunk-HK4SJHYT.js} +3 -3
- package/dist/{chunk-IFY2QLAW.js.map → chunk-HK4SJHYT.js.map} +1 -1
- package/dist/{chunk-BSJXD74O.cjs → chunk-HR4F4XZV.cjs} +18 -18
- package/dist/{chunk-BSJXD74O.cjs.map → chunk-HR4F4XZV.cjs.map} +1 -1
- package/dist/{chunk-J4FY6FR2.cjs → chunk-IEE5MCG5.cjs} +16 -16
- package/dist/{chunk-J4FY6FR2.cjs.map → chunk-IEE5MCG5.cjs.map} +1 -1
- package/dist/{chunk-DVKCI3XT.cjs → chunk-IRMEODX4.cjs} +11 -11
- package/dist/{chunk-DVKCI3XT.cjs.map → chunk-IRMEODX4.cjs.map} +1 -1
- package/dist/{chunk-2LOCN6TU.cjs → chunk-JJOGTXKN.cjs} +6 -6
- package/dist/{chunk-2LOCN6TU.cjs.map → chunk-JJOGTXKN.cjs.map} +1 -1
- package/dist/{chunk-MJ5DKV6W.js → chunk-JXUL45J6.js} +3 -3
- package/dist/{chunk-MJ5DKV6W.js.map → chunk-JXUL45J6.js.map} +1 -1
- package/dist/{chunk-VWVSAA5C.js → chunk-KRZJLGGN.js} +4 -4
- package/dist/{chunk-VWVSAA5C.js.map → chunk-KRZJLGGN.js.map} +1 -1
- package/dist/{chunk-XIDL57DO.cjs → chunk-KSN5CWZ7.cjs} +8 -8
- package/dist/{chunk-XIDL57DO.cjs.map → chunk-KSN5CWZ7.cjs.map} +1 -1
- package/dist/{chunk-O5HPGCIK.js → chunk-LBY32Z7C.js} +3 -3
- package/dist/{chunk-O5HPGCIK.js.map → chunk-LBY32Z7C.js.map} +1 -1
- package/dist/{chunk-YSQWR4HB.js → chunk-LLVTDE4P.js} +5 -5
- package/dist/{chunk-YSQWR4HB.js.map → chunk-LLVTDE4P.js.map} +1 -1
- package/dist/{chunk-4LBURZRY.js → chunk-LZJM4JTY.js} +4 -4
- package/dist/{chunk-4LBURZRY.js.map → chunk-LZJM4JTY.js.map} +1 -1
- package/dist/{chunk-VLACPPNB.js → chunk-M6GURVJO.js} +4 -4
- package/dist/{chunk-VLACPPNB.js.map → chunk-M6GURVJO.js.map} +1 -1
- package/dist/{chunk-GDCCVDX7.cjs → chunk-MJS4T74S.cjs} +17 -17
- package/dist/{chunk-GDCCVDX7.cjs.map → chunk-MJS4T74S.cjs.map} +1 -1
- package/dist/{chunk-B5MQQ47W.cjs → chunk-N54Q3AQR.cjs} +5 -5
- package/dist/{chunk-B5MQQ47W.cjs.map → chunk-N54Q3AQR.cjs.map} +1 -1
- package/dist/{chunk-JCWJ3WWO.js → chunk-NUPNOKI2.js} +3 -3
- package/dist/{chunk-JCWJ3WWO.js.map → chunk-NUPNOKI2.js.map} +1 -1
- package/dist/{chunk-BISSV5JO.js → chunk-P5NXUYGE.js} +5 -5
- package/dist/{chunk-BISSV5JO.js.map → chunk-P5NXUYGE.js.map} +1 -1
- package/dist/{chunk-GDTF6ABE.js → chunk-PIKPS6Q6.js} +3 -3
- package/dist/{chunk-GDTF6ABE.js.map → chunk-PIKPS6Q6.js.map} +1 -1
- package/dist/{chunk-CFWY442V.js → chunk-POM4VGLJ.js} +3 -3
- package/dist/{chunk-CFWY442V.js.map → chunk-POM4VGLJ.js.map} +1 -1
- package/dist/{chunk-MM6U5OIT.cjs → chunk-Q56NQYUJ.cjs} +70 -70
- package/dist/{chunk-MM6U5OIT.cjs.map → chunk-Q56NQYUJ.cjs.map} +1 -1
- package/dist/{chunk-EOGTJIPF.js → chunk-QIQWHDPH.js} +3 -3
- package/dist/{chunk-EOGTJIPF.js.map → chunk-QIQWHDPH.js.map} +1 -1
- package/dist/{chunk-VDIAUR4C.cjs → chunk-QOW24SR2.cjs} +4 -4
- package/dist/{chunk-VDIAUR4C.cjs.map → chunk-QOW24SR2.cjs.map} +1 -1
- package/dist/{chunk-E2RUK5TV.js → chunk-RCXVCPAD.js} +3 -3
- package/dist/{chunk-E2RUK5TV.js.map → chunk-RCXVCPAD.js.map} +1 -1
- package/dist/{chunk-V5TJ4XYJ.cjs → chunk-RDU2H7FF.cjs} +18 -18
- package/dist/{chunk-V5TJ4XYJ.cjs.map → chunk-RDU2H7FF.cjs.map} +1 -1
- package/dist/{chunk-6TV4PLBV.js → chunk-RJCBPQZV.js} +3 -3
- package/dist/{chunk-6TV4PLBV.js.map → chunk-RJCBPQZV.js.map} +1 -1
- package/dist/{chunk-YF3ZKQWW.cjs → chunk-RJPRSDIS.cjs} +33 -33
- package/dist/{chunk-YF3ZKQWW.cjs.map → chunk-RJPRSDIS.cjs.map} +1 -1
- package/dist/{chunk-AHK2A5GG.js → chunk-S2JGT2GI.js} +3 -3
- package/dist/{chunk-AHK2A5GG.js.map → chunk-S2JGT2GI.js.map} +1 -1
- package/dist/{chunk-2S5ERWRO.cjs → chunk-S4NBNTAN.cjs} +28 -28
- package/dist/{chunk-2S5ERWRO.cjs.map → chunk-S4NBNTAN.cjs.map} +1 -1
- package/dist/{chunk-ETPE53DR.cjs → chunk-SEOGVPOT.cjs} +9 -9
- package/dist/{chunk-ETPE53DR.cjs.map → chunk-SEOGVPOT.cjs.map} +1 -1
- package/dist/{chunk-4PQR3D5Y.cjs → chunk-SYZ2NTP3.cjs} +2 -2
- package/dist/chunk-SYZ2NTP3.cjs.map +1 -0
- package/dist/{chunk-YFLG3EHC.cjs → chunk-TGKPSQB3.cjs} +15 -15
- package/dist/chunk-TGKPSQB3.cjs.map +1 -0
- package/dist/{chunk-KSWNLX2V.js → chunk-TQBIGT3Q.js} +4 -4
- package/dist/{chunk-KSWNLX2V.js.map → chunk-TQBIGT3Q.js.map} +1 -1
- package/dist/{chunk-34TZGECU.cjs → chunk-TZZ2AOOV.cjs} +18 -18
- package/dist/{chunk-34TZGECU.cjs.map → chunk-TZZ2AOOV.cjs.map} +1 -1
- package/dist/{chunk-7PSQEVII.cjs → chunk-U52CKL4A.cjs} +71 -71
- package/dist/{chunk-7PSQEVII.cjs.map → chunk-U52CKL4A.cjs.map} +1 -1
- package/dist/{chunk-K4MLHP6P.cjs → chunk-UHKWQQBG.cjs} +18 -18
- package/dist/{chunk-K4MLHP6P.cjs.map → chunk-UHKWQQBG.cjs.map} +1 -1
- package/dist/{chunk-4RC5RIHE.cjs → chunk-UIAQYIDW.cjs} +6 -6
- package/dist/{chunk-4RC5RIHE.cjs.map → chunk-UIAQYIDW.cjs.map} +1 -1
- package/dist/{chunk-GD4WWM2T.cjs → chunk-ULYIMS6J.cjs} +4 -4
- package/dist/{chunk-GD4WWM2T.cjs.map → chunk-ULYIMS6J.cjs.map} +1 -1
- package/dist/{chunk-S3THGNKG.js → chunk-UY3PA3YA.js} +6 -6
- package/dist/{chunk-S3THGNKG.js.map → chunk-UY3PA3YA.js.map} +1 -1
- package/dist/{chunk-4USTGEP4.js → chunk-UZQ2ZJUF.js} +6 -6
- package/dist/{chunk-4USTGEP4.js.map → chunk-UZQ2ZJUF.js.map} +1 -1
- package/dist/{chunk-DZQUDR25.js → chunk-VB4SJ6UF.js} +3 -3
- package/dist/{chunk-DZQUDR25.js.map → chunk-VB4SJ6UF.js.map} +1 -1
- package/dist/{chunk-T7JMQ7QF.cjs → chunk-VZ7EXKEF.cjs} +18 -18
- package/dist/{chunk-T7JMQ7QF.cjs.map → chunk-VZ7EXKEF.cjs.map} +1 -1
- package/dist/{chunk-3O6HFZKJ.js → chunk-W5Q374VQ.js} +4 -4
- package/dist/{chunk-3O6HFZKJ.js.map → chunk-W5Q374VQ.js.map} +1 -1
- package/dist/{chunk-T4HUFZAT.cjs → chunk-WGEIHQXI.cjs} +7 -7
- package/dist/{chunk-T4HUFZAT.cjs.map → chunk-WGEIHQXI.cjs.map} +1 -1
- package/dist/{chunk-2WUMO4RN.cjs → chunk-XASCEABS.cjs} +15 -9
- package/dist/chunk-XASCEABS.cjs.map +1 -0
- package/dist/{chunk-5FKIGNIU.js → chunk-XE7PBR3Y.js} +42 -42
- package/dist/{chunk-5FKIGNIU.js.map → chunk-XE7PBR3Y.js.map} +1 -1
- package/dist/{chunk-KKAK5N6V.cjs → chunk-XLIDL7QO.cjs} +12 -12
- package/dist/{chunk-KKAK5N6V.cjs.map → chunk-XLIDL7QO.cjs.map} +1 -1
- package/dist/{chunk-OJBMFAFL.cjs → chunk-XTB6XXHH.cjs} +11 -11
- package/dist/{chunk-OJBMFAFL.cjs.map → chunk-XTB6XXHH.cjs.map} +1 -1
- package/dist/{chunk-GH267MEV.cjs → chunk-XXNADDFD.cjs} +5 -5
- package/dist/{chunk-GH267MEV.cjs.map → chunk-XXNADDFD.cjs.map} +1 -1
- package/dist/{chunk-MOT4TTAR.js → chunk-YAB4SRG2.js} +4 -4
- package/dist/{chunk-MOT4TTAR.js.map → chunk-YAB4SRG2.js.map} +1 -1
- package/dist/{chunk-DL3ZW547.js → chunk-YBVHGMK4.js} +3 -3
- package/dist/{chunk-DL3ZW547.js.map → chunk-YBVHGMK4.js.map} +1 -1
- package/dist/{chunk-TDDFXMVT.cjs → chunk-YKY2YBJI.cjs} +18 -18
- package/dist/{chunk-TDDFXMVT.cjs.map → chunk-YKY2YBJI.cjs.map} +1 -1
- package/dist/{chunk-LXTEG6CY.cjs → chunk-YZ6PW23L.cjs} +6 -6
- package/dist/{chunk-LXTEG6CY.cjs.map → chunk-YZ6PW23L.cjs.map} +1 -1
- package/dist/{chunk-JIL453ER.js → chunk-YZAQOU2I.js} +220 -133
- package/dist/chunk-YZAQOU2I.js.map +1 -0
- package/dist/{chunk-OE7F6E5N.cjs → chunk-YZVC4WQD.cjs} +8 -8
- package/dist/{chunk-OE7F6E5N.cjs.map → chunk-YZVC4WQD.cjs.map} +1 -1
- package/dist/{chunk-X5AIAJNC.js → chunk-Z354XOPM.js} +4 -4
- package/dist/{chunk-X5AIAJNC.js.map → chunk-Z354XOPM.js.map} +1 -1
- package/dist/{chunk-YHZFX4QP.js → chunk-Z5DHV2QW.js} +3 -3
- package/dist/{chunk-YHZFX4QP.js.map → chunk-Z5DHV2QW.js.map} +1 -1
- package/dist/{chunk-QZ4V6KTK.js → chunk-Z5YBWU6K.js} +5 -5
- package/dist/{chunk-QZ4V6KTK.js.map → chunk-Z5YBWU6K.js.map} +1 -1
- package/dist/{dist-7DYUIL2E.js → dist-JSC2CQVL.js} +4 -4
- package/dist/{dist-7DYUIL2E.js.map → dist-JSC2CQVL.js.map} +1 -1
- package/dist/{dist-6VCCDFCW.cjs → dist-RKXUXSLD.cjs} +6 -6
- package/dist/{dist-6VCCDFCW.cjs.map → dist-RKXUXSLD.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-agents-a2a.md +2 -0
- package/dist/docs/references/docs-server-custom-adapters.md +2 -0
- package/dist/docs/references/docs-server-middleware.md +2 -0
- package/dist/docs/references/reference-server-create-route.md +2 -0
- package/dist/docs/references/reference-server-mastra-server.md +2 -0
- package/dist/docs/references/reference-server-routes.md +2 -0
- package/dist/{observational-memory-PBLNZABH-2OUE5VEX.js → observational-memory-QL6BKIQX-2V7T3FLD.js} +3 -3
- package/dist/{observational-memory-PBLNZABH-2OUE5VEX.js.map → observational-memory-QL6BKIQX-2V7T3FLD.js.map} +1 -1
- package/dist/{observational-memory-PBLNZABH-MQEKJOVA.cjs → observational-memory-QL6BKIQX-QGB4L22X.cjs} +28 -28
- package/dist/{observational-memory-PBLNZABH-MQEKJOVA.cjs.map → observational-memory-QL6BKIQX-QGB4L22X.cjs.map} +1 -1
- package/dist/server/auth/helpers.d.ts +2 -2
- package/dist/server/auth/helpers.d.ts.map +1 -1
- package/dist/server/auth/index.cjs +15 -15
- package/dist/server/auth/index.js +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 +17 -17
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-controller.cjs +35 -35
- package/dist/server/handlers/agent-controller.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 +47 -47
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +13 -13
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/author-enrichment.cjs +3 -3
- package/dist/server/handlers/author-enrichment.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/builder-registry.cjs +6 -6
- package/dist/server/handlers/builder-registry.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/editor-builder.cjs +6 -6
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +4 -4
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/heartbeats.cjs +9 -9
- package/dist/server/handlers/heartbeats.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 +29 -29
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability-shared.cjs +9 -9
- package/dist/server/handlers/observability-shared.js +1 -1
- package/dist/server/handlers/observability.cjs +40 -40
- 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.cjs +4 -4
- package/dist/server/handlers/responses.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-agent-favorites.cjs +3 -3
- package/dist/server/handlers/stored-agent-favorites.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +10 -10
- 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-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.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 +14 -14
- 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/vector.cjs +16 -16
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/workflows.cjs +27 -27
- 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 +28 -28
- package/dist/server/handlers.js +14 -14
- package/dist/server/server-adapter/index.cjs +27 -27
- package/dist/server/server-adapter/index.js +7 -7
- package/package.json +6 -6
- package/dist/chunk-2WUMO4RN.cjs.map +0 -1
- package/dist/chunk-3YQ7NWF6.cjs.map +0 -1
- package/dist/chunk-4PQR3D5Y.cjs.map +0 -1
- package/dist/chunk-HATXNJ4V.js.map +0 -1
- package/dist/chunk-JCL5EKZP.cjs +0 -753
- package/dist/chunk-JIL453ER.js.map +0 -1
- package/dist/chunk-KLV64VVH.js.map +0 -1
- package/dist/chunk-M3UP3Z3G.cjs.map +0 -1
- package/dist/chunk-NEX5YORG.js.map +0 -1
- package/dist/chunk-WWPJKPP2.js.map +0 -1
- package/dist/chunk-YFLG3EHC.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/agent-versions.ts"],"names":["createRoute","agentVersionPathParams","listVersionsQuerySchema","listVersionsResponseSchema","HTTPException","assertStoredResourceScope","getStoredResourceScope","handleError","createVersionBodySchema","createVersionResponseSchema","extractConfigFromVersion","calculateChangedFields","createVersionWithRetry","enforceRetentionLimit","versionIdPathParams","getVersionResponseSchema","activateVersionResponseSchema","restoreVersionResponseSchema","deleteVersionResponseSchema","compareVersionsQuerySchema","compareVersionsResponseSchema","computeVersionDiffs"],"mappings":"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","file":"chunk-34TZGECU.cjs","sourcesContent":["import type { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentVersionPathParams,\n versionIdPathParams,\n listVersionsQuerySchema,\n createVersionBodySchema,\n compareVersionsQuerySchema,\n listVersionsResponseSchema,\n getVersionResponseSchema,\n createVersionResponseSchema,\n activateVersionResponseSchema,\n restoreVersionResponseSchema,\n deleteVersionResponseSchema,\n compareVersionsResponseSchema,\n} from '../schemas/agent-versions';\nimport type { ServerRoute, RouteSchemas, InferParams } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * The config field names that live on version rows (StorageAgentSnapshotType fields).\n * Used to extract config from a version record for comparison and restoration.\n */\nconst SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'instructions',\n 'model',\n 'tools',\n 'defaultOptions',\n 'workflows',\n 'agents',\n 'integrationTools',\n 'inputProcessors',\n 'outputProcessors',\n 'memory',\n 'scorers',\n 'requestContextSchema',\n 'mcpClients',\n] as const;\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/agents/:agentId/versions - List all versions for an agent\n */\nexport const LIST_AGENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: listVersionsQuerySchema,\n responseSchema: listVersionsResponseSchema,\n summary: 'List agent versions',\n description: 'Returns a paginated list of all versions for a stored agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, page, perPage, orderBy, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists in code or storage\n const storedAgent = await agentsStore.getById(agentId);\n let codeAgentExists = false;\n try {\n mastra.getAgentById(agentId);\n codeAgentExists = true;\n } catch {\n // Agent not registered in code\n }\n\n if (!storedAgent && !codeAgentExists) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(storedAgent, await getStoredResourceScope(mastra, requestContext));\n\n const result = await agentsStore.listVersions({\n agentId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing agent versions');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions - Create a new version snapshot\n */\nexport const CREATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n bodySchema: createVersionBodySchema,\n responseSchema: createVersionResponseSchema,\n summary: 'Create agent version',\n description: 'Creates a new version snapshot of the current agent configuration',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, changeMessage, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Get the current agent to find its active version\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the current active version to snapshot its config\n let currentConfig: Record<string, unknown> = {};\n if (agent.activeVersionId) {\n const activeVersion = await agentsStore.getVersion(agent.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n\n // If no activeVersionId, fall back to latest version config\n if (!agent.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n // Create the new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n // Get the created version to return\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/:versionId - Get a specific version\n */\nexport const GET_AGENT_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: getVersionResponseSchema,\n summary: 'Get agent version',\n description: 'Returns a specific version of an agent by its version ID',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n const version = await agentsStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n // Verify the version belongs to the specified agent\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: activateVersionResponseSchema,\n summary: 'Activate agent version',\n description: 'Sets a specific version as the active version for the agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Update the agent's activeVersionId AND status to 'published'\n await agentsStore.update({\n id: agentId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} is now active`,\n activeVersionId: versionId,\n };\n } catch (error) {\n return handleError(error, 'Error activating agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/restore - Restore agent to a version\n */\nexport const RESTORE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: restoreVersionResponseSchema,\n summary: 'Restore agent version',\n description: 'Restores the agent configuration from a version, creating a new version',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the version to restore\n const versionToRestore = await agentsStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Extract the config fields from the version to restore (top-level, no .snapshot)\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Update the agent with the config from the version to restore\n await agentsStore.update({\n id: agentId,\n ...restoredConfig,\n });\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n // Create a new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId: newVersionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n // Do NOT auto-activate the restored version - user must explicitly activate it\n\n // Get the created version to return\n const newVersion = await agentsStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n // Use the agent's existing activeVersionId\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the restored config\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring agent version');\n }\n },\n});\n\n/**\n * DELETE /stored/agents/:agentId/versions/:versionId - Delete a version\n */\nexport const DELETE_AGENT_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: deleteVersionResponseSchema,\n summary: 'Delete agent version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Check if this is the active version\n if (agent.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await agentsStore.deleteVersion(versionId);\n\n // Clear the editor cache in case the deleted version affected resolution\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/compare - Compare two versions\n */\nexport const COMPARE_AGENT_VERSIONS_ROUTE: ServerRoute<\n InferParams<typeof agentVersionPathParams, typeof compareVersionsQuerySchema, undefined>,\n z.infer<typeof compareVersionsResponseSchema>,\n 'json',\n RouteSchemas<\n typeof agentVersionPathParams,\n typeof compareVersionsQuerySchema,\n undefined,\n typeof compareVersionsResponseSchema\n >,\n 'GET',\n '/stored/agents/:agentId/versions/compare'\n> = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: compareVersionsQuerySchema,\n responseSchema: compareVersionsResponseSchema,\n summary: 'Compare agent versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, from, to, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get both versions\n const fromVersion = await agentsStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${from} not found for agent ${agentId}` });\n }\n\n const toVersion = await agentsStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${to} not found for agent ${agentId}` });\n }\n\n // Extract config fields from both versions (top-level, no .snapshot)\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Compute diffs on the config fields\n const diffs = computeVersionDiffs(fromConfig, toConfig);\n\n return {\n diffs,\n fromVersion,\n toVersion,\n };\n } catch (error) {\n return handleError(error, 'Error comparing agent versions');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agent-versions.ts"],"names":["createRoute","agentVersionPathParams","listVersionsQuerySchema","listVersionsResponseSchema","HTTPException","assertStoredResourceScope","getStoredResourceScope","handleError","createVersionBodySchema","createVersionResponseSchema","extractConfigFromVersion","calculateChangedFields","createVersionWithRetry","enforceRetentionLimit","versionIdPathParams","getVersionResponseSchema","activateVersionResponseSchema","restoreVersionResponseSchema","deleteVersionResponseSchema","compareVersionsQuerySchema","compareVersionsResponseSchema","computeVersionDiffs"],"mappings":"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","file":"chunk-TZZ2AOOV.cjs","sourcesContent":["import type { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentVersionPathParams,\n versionIdPathParams,\n listVersionsQuerySchema,\n createVersionBodySchema,\n compareVersionsQuerySchema,\n listVersionsResponseSchema,\n getVersionResponseSchema,\n createVersionResponseSchema,\n activateVersionResponseSchema,\n restoreVersionResponseSchema,\n deleteVersionResponseSchema,\n compareVersionsResponseSchema,\n} from '../schemas/agent-versions';\nimport type { ServerRoute, RouteSchemas, InferParams } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * The config field names that live on version rows (StorageAgentSnapshotType fields).\n * Used to extract config from a version record for comparison and restoration.\n */\nconst SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'instructions',\n 'model',\n 'tools',\n 'defaultOptions',\n 'workflows',\n 'agents',\n 'integrationTools',\n 'inputProcessors',\n 'outputProcessors',\n 'memory',\n 'scorers',\n 'requestContextSchema',\n 'mcpClients',\n] as const;\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/agents/:agentId/versions - List all versions for an agent\n */\nexport const LIST_AGENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: listVersionsQuerySchema,\n responseSchema: listVersionsResponseSchema,\n summary: 'List agent versions',\n description: 'Returns a paginated list of all versions for a stored agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, page, perPage, orderBy, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists in code or storage\n const storedAgent = await agentsStore.getById(agentId);\n let codeAgentExists = false;\n try {\n mastra.getAgentById(agentId);\n codeAgentExists = true;\n } catch {\n // Agent not registered in code\n }\n\n if (!storedAgent && !codeAgentExists) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(storedAgent, await getStoredResourceScope(mastra, requestContext));\n\n const result = await agentsStore.listVersions({\n agentId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing agent versions');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions - Create a new version snapshot\n */\nexport const CREATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n bodySchema: createVersionBodySchema,\n responseSchema: createVersionResponseSchema,\n summary: 'Create agent version',\n description: 'Creates a new version snapshot of the current agent configuration',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, changeMessage, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Get the current agent to find its active version\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the current active version to snapshot its config\n let currentConfig: Record<string, unknown> = {};\n if (agent.activeVersionId) {\n const activeVersion = await agentsStore.getVersion(agent.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n\n // If no activeVersionId, fall back to latest version config\n if (!agent.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n // Create the new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n // Get the created version to return\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/:versionId - Get a specific version\n */\nexport const GET_AGENT_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: getVersionResponseSchema,\n summary: 'Get agent version',\n description: 'Returns a specific version of an agent by its version ID',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n const version = await agentsStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n // Verify the version belongs to the specified agent\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: activateVersionResponseSchema,\n summary: 'Activate agent version',\n description: 'Sets a specific version as the active version for the agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Update the agent's activeVersionId AND status to 'published'\n await agentsStore.update({\n id: agentId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} is now active`,\n activeVersionId: versionId,\n };\n } catch (error) {\n return handleError(error, 'Error activating agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/restore - Restore agent to a version\n */\nexport const RESTORE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: restoreVersionResponseSchema,\n summary: 'Restore agent version',\n description: 'Restores the agent configuration from a version, creating a new version',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the version to restore\n const versionToRestore = await agentsStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Extract the config fields from the version to restore (top-level, no .snapshot)\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Update the agent with the config from the version to restore\n await agentsStore.update({\n id: agentId,\n ...restoredConfig,\n });\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n // Create a new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId: newVersionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n // Do NOT auto-activate the restored version - user must explicitly activate it\n\n // Get the created version to return\n const newVersion = await agentsStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n // Use the agent's existing activeVersionId\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the restored config\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring agent version');\n }\n },\n});\n\n/**\n * DELETE /stored/agents/:agentId/versions/:versionId - Delete a version\n */\nexport const DELETE_AGENT_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: deleteVersionResponseSchema,\n summary: 'Delete agent version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Check if this is the active version\n if (agent.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await agentsStore.deleteVersion(versionId);\n\n // Clear the editor cache in case the deleted version affected resolution\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/compare - Compare two versions\n */\nexport const COMPARE_AGENT_VERSIONS_ROUTE: ServerRoute<\n InferParams<typeof agentVersionPathParams, typeof compareVersionsQuerySchema, undefined>,\n z.infer<typeof compareVersionsResponseSchema>,\n 'json',\n RouteSchemas<\n typeof agentVersionPathParams,\n typeof compareVersionsQuerySchema,\n undefined,\n typeof compareVersionsResponseSchema\n >,\n 'GET',\n '/stored/agents/:agentId/versions/compare'\n> = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: compareVersionsQuerySchema,\n responseSchema: compareVersionsResponseSchema,\n summary: 'Compare agent versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, from, to, requestContext }) => {\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 agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get both versions\n const fromVersion = await agentsStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${from} not found for agent ${agentId}` });\n }\n\n const toVersion = await agentsStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${to} not found for agent ${agentId}` });\n }\n\n // Extract config fields from both versions (top-level, no .snapshot)\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Compute diffs on the config fields\n const diffs = computeVersionDiffs(fromConfig, toConfig);\n\n return {\n diffs,\n fromVersion,\n toVersion,\n };\n } catch (error) {\n return handleError(error, 'Error comparing agent versions');\n }\n },\n});\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunk46D4LXPJ_cjs = require('./chunk-46D4LXPJ.cjs');
|
|
4
|
+
var chunkQOW24SR2_cjs = require('./chunk-QOW24SR2.cjs');
|
|
5
5
|
var chunkZNP74O27_cjs = require('./chunk-ZNP74O27.cjs');
|
|
6
6
|
var chunk42NUNMRC_cjs = require('./chunk-42NUNMRC.cjs');
|
|
7
7
|
var chunkZ7LCIYK7_cjs = require('./chunk-Z7LCIYK7.cjs');
|
|
8
|
-
var
|
|
8
|
+
var chunkN54Q3AQR_cjs = require('./chunk-N54Q3AQR.cjs');
|
|
9
9
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
10
10
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
11
11
|
var evals = require('@mastra/core/evals');
|
|
@@ -16,43 +16,43 @@ var v4 = require('zod/v4');
|
|
|
16
16
|
// src/server/handlers/observability.ts
|
|
17
17
|
var observability_exports = {};
|
|
18
18
|
chunkO7I5CWRX_cjs.__export(observability_exports, {
|
|
19
|
-
CREATE_FEEDBACK: () =>
|
|
20
|
-
CREATE_SCORE: () =>
|
|
19
|
+
CREATE_FEEDBACK: () => chunk46D4LXPJ_cjs.CREATE_FEEDBACK,
|
|
20
|
+
CREATE_SCORE: () => chunk46D4LXPJ_cjs.CREATE_SCORE,
|
|
21
21
|
GET_BRANCH_ROUTE: () => GET_BRANCH_ROUTE,
|
|
22
|
-
GET_ENTITY_NAMES: () =>
|
|
23
|
-
GET_ENTITY_TYPES: () =>
|
|
24
|
-
GET_ENVIRONMENTS: () =>
|
|
25
|
-
GET_FEEDBACK_AGGREGATE: () =>
|
|
26
|
-
GET_FEEDBACK_BREAKDOWN: () =>
|
|
27
|
-
GET_FEEDBACK_PERCENTILES: () =>
|
|
28
|
-
GET_FEEDBACK_TIME_SERIES: () =>
|
|
29
|
-
GET_METRIC_AGGREGATE: () =>
|
|
30
|
-
GET_METRIC_BREAKDOWN: () =>
|
|
31
|
-
GET_METRIC_LABEL_KEYS: () =>
|
|
32
|
-
GET_METRIC_LABEL_VALUES: () =>
|
|
33
|
-
GET_METRIC_NAMES: () =>
|
|
34
|
-
GET_METRIC_PERCENTILES: () =>
|
|
35
|
-
GET_METRIC_TIME_SERIES: () =>
|
|
36
|
-
GET_SCORE: () =>
|
|
37
|
-
GET_SCORE_AGGREGATE: () =>
|
|
38
|
-
GET_SCORE_BREAKDOWN: () =>
|
|
39
|
-
GET_SCORE_PERCENTILES: () =>
|
|
40
|
-
GET_SCORE_TIME_SERIES: () =>
|
|
41
|
-
GET_SERVICE_NAMES: () =>
|
|
22
|
+
GET_ENTITY_NAMES: () => chunk46D4LXPJ_cjs.GET_ENTITY_NAMES,
|
|
23
|
+
GET_ENTITY_TYPES: () => chunk46D4LXPJ_cjs.GET_ENTITY_TYPES,
|
|
24
|
+
GET_ENVIRONMENTS: () => chunk46D4LXPJ_cjs.GET_ENVIRONMENTS,
|
|
25
|
+
GET_FEEDBACK_AGGREGATE: () => chunk46D4LXPJ_cjs.GET_FEEDBACK_AGGREGATE,
|
|
26
|
+
GET_FEEDBACK_BREAKDOWN: () => chunk46D4LXPJ_cjs.GET_FEEDBACK_BREAKDOWN,
|
|
27
|
+
GET_FEEDBACK_PERCENTILES: () => chunk46D4LXPJ_cjs.GET_FEEDBACK_PERCENTILES,
|
|
28
|
+
GET_FEEDBACK_TIME_SERIES: () => chunk46D4LXPJ_cjs.GET_FEEDBACK_TIME_SERIES,
|
|
29
|
+
GET_METRIC_AGGREGATE: () => chunk46D4LXPJ_cjs.GET_METRIC_AGGREGATE,
|
|
30
|
+
GET_METRIC_BREAKDOWN: () => chunk46D4LXPJ_cjs.GET_METRIC_BREAKDOWN,
|
|
31
|
+
GET_METRIC_LABEL_KEYS: () => chunk46D4LXPJ_cjs.GET_METRIC_LABEL_KEYS,
|
|
32
|
+
GET_METRIC_LABEL_VALUES: () => chunk46D4LXPJ_cjs.GET_METRIC_LABEL_VALUES,
|
|
33
|
+
GET_METRIC_NAMES: () => chunk46D4LXPJ_cjs.GET_METRIC_NAMES,
|
|
34
|
+
GET_METRIC_PERCENTILES: () => chunk46D4LXPJ_cjs.GET_METRIC_PERCENTILES,
|
|
35
|
+
GET_METRIC_TIME_SERIES: () => chunk46D4LXPJ_cjs.GET_METRIC_TIME_SERIES,
|
|
36
|
+
GET_SCORE: () => chunk46D4LXPJ_cjs.GET_SCORE,
|
|
37
|
+
GET_SCORE_AGGREGATE: () => chunk46D4LXPJ_cjs.GET_SCORE_AGGREGATE,
|
|
38
|
+
GET_SCORE_BREAKDOWN: () => chunk46D4LXPJ_cjs.GET_SCORE_BREAKDOWN,
|
|
39
|
+
GET_SCORE_PERCENTILES: () => chunk46D4LXPJ_cjs.GET_SCORE_PERCENTILES,
|
|
40
|
+
GET_SCORE_TIME_SERIES: () => chunk46D4LXPJ_cjs.GET_SCORE_TIME_SERIES,
|
|
41
|
+
GET_SERVICE_NAMES: () => chunk46D4LXPJ_cjs.GET_SERVICE_NAMES,
|
|
42
42
|
GET_SPAN_ROUTE: () => GET_SPAN_ROUTE,
|
|
43
|
-
GET_TAGS: () =>
|
|
43
|
+
GET_TAGS: () => chunk46D4LXPJ_cjs.GET_TAGS,
|
|
44
44
|
GET_TRACE_LIGHT_ROUTE: () => GET_TRACE_LIGHT_ROUTE,
|
|
45
45
|
GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
|
|
46
46
|
GET_TRACE_TRAJECTORY_ROUTE: () => GET_TRACE_TRAJECTORY_ROUTE,
|
|
47
47
|
LIST_BRANCHES_ROUTE: () => LIST_BRANCHES_ROUTE,
|
|
48
|
-
LIST_FEEDBACK: () =>
|
|
49
|
-
LIST_LOGS: () =>
|
|
50
|
-
LIST_METRICS: () =>
|
|
51
|
-
LIST_SCORES: () =>
|
|
48
|
+
LIST_FEEDBACK: () => chunk46D4LXPJ_cjs.LIST_FEEDBACK,
|
|
49
|
+
LIST_LOGS: () => chunk46D4LXPJ_cjs.LIST_LOGS,
|
|
50
|
+
LIST_METRICS: () => chunk46D4LXPJ_cjs.LIST_METRICS,
|
|
51
|
+
LIST_SCORES: () => chunk46D4LXPJ_cjs.LIST_SCORES,
|
|
52
52
|
LIST_SCORES_BY_SPAN_ROUTE: () => LIST_SCORES_BY_SPAN_ROUTE,
|
|
53
53
|
LIST_TRACES_LIGHT_ROUTE: () => LIST_TRACES_LIGHT_ROUTE,
|
|
54
54
|
LIST_TRACES_ROUTE: () => LIST_TRACES_ROUTE,
|
|
55
|
-
NEW_ROUTES: () =>
|
|
55
|
+
NEW_ROUTES: () => chunk46D4LXPJ_cjs.NEW_ROUTES,
|
|
56
56
|
SCORE_TRACES_ROUTE: () => SCORE_TRACES_ROUTE
|
|
57
57
|
});
|
|
58
58
|
var legacyQueryParamsSchema = v4.z.object({
|
|
@@ -87,21 +87,21 @@ function transformLegacyParams(params) {
|
|
|
87
87
|
return result;
|
|
88
88
|
}
|
|
89
89
|
async function getScoresStore(mastra) {
|
|
90
|
-
const storage =
|
|
90
|
+
const storage = chunkQOW24SR2_cjs.getStorage(mastra);
|
|
91
91
|
const scores = await storage.getStore("scores");
|
|
92
92
|
if (!scores) {
|
|
93
93
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Scores storage domain is not available" });
|
|
94
94
|
}
|
|
95
95
|
return scores;
|
|
96
96
|
}
|
|
97
|
-
var listTracesQueryParamSchema =
|
|
97
|
+
var listTracesQueryParamSchema = chunkN54Q3AQR_cjs.wrapSchemaForQueryParams(
|
|
98
98
|
storage.tracesFilterSchema.extend(chunkZNP74O27_cjs.paginationArgsSchema.shape).extend(storage.tracesOrderBySchema.shape).extend(legacyQueryParamsSchema.shape).partial()
|
|
99
99
|
);
|
|
100
|
-
var LIST_TRACES_ROUTE =
|
|
100
|
+
var LIST_TRACES_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
101
101
|
method: "GET",
|
|
102
102
|
path: "/observability/traces",
|
|
103
103
|
responseType: "json",
|
|
104
|
-
queryParamSchema:
|
|
104
|
+
queryParamSchema: chunkQOW24SR2_cjs.createObservabilityListQuerySchema(
|
|
105
105
|
storage.tracesFilterSchema.extend({
|
|
106
106
|
...legacyQueryParamsSchema.shape,
|
|
107
107
|
entityType: v4.z.preprocess(
|
|
@@ -119,10 +119,10 @@ var LIST_TRACES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
119
119
|
handler: async ({ mastra, mode, after, limit, ...params }) => {
|
|
120
120
|
try {
|
|
121
121
|
const transformedParams = transformLegacyParams(params);
|
|
122
|
-
const filters =
|
|
123
|
-
const observabilityStore = await
|
|
122
|
+
const filters = chunkN54Q3AQR_cjs.pickParams(storage.tracesFilterSchema, transformedParams);
|
|
123
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
124
124
|
if (mode === "delta") {
|
|
125
|
-
|
|
125
|
+
chunkQOW24SR2_cjs.assertObservabilityDeltaSupported(observabilityStore, chunkQOW24SR2_cjs.OBSERVABILITY_LIST_ENDPOINTS.traces);
|
|
126
126
|
return await observabilityStore.listTraces({
|
|
127
127
|
mode,
|
|
128
128
|
filters,
|
|
@@ -130,15 +130,15 @@ var LIST_TRACES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
130
130
|
limit
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
|
-
const pagination =
|
|
134
|
-
const orderBy =
|
|
133
|
+
const pagination = chunkN54Q3AQR_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, transformedParams);
|
|
134
|
+
const orderBy = chunkN54Q3AQR_cjs.pickParams(storage.tracesOrderBySchema, transformedParams);
|
|
135
135
|
return await observabilityStore.listTraces({ filters, pagination, orderBy });
|
|
136
136
|
} catch (error) {
|
|
137
137
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error listing traces");
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
});
|
|
141
|
-
var LIST_TRACES_LIGHT_ROUTE =
|
|
141
|
+
var LIST_TRACES_LIGHT_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
142
142
|
method: "GET",
|
|
143
143
|
path: "/observability/traces/light",
|
|
144
144
|
responseType: "json",
|
|
@@ -151,10 +151,10 @@ var LIST_TRACES_LIGHT_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
151
151
|
handler: async ({ mastra, ...params }) => {
|
|
152
152
|
try {
|
|
153
153
|
const transformedParams = transformLegacyParams(params);
|
|
154
|
-
const filters =
|
|
155
|
-
const pagination =
|
|
156
|
-
const orderBy =
|
|
157
|
-
const observabilityStore = await
|
|
154
|
+
const filters = chunkN54Q3AQR_cjs.pickParams(storage.tracesFilterSchema, transformedParams);
|
|
155
|
+
const pagination = chunkN54Q3AQR_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, transformedParams);
|
|
156
|
+
const orderBy = chunkN54Q3AQR_cjs.pickParams(storage.tracesOrderBySchema, transformedParams);
|
|
157
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
158
158
|
const store = observabilityStore;
|
|
159
159
|
if (typeof store.listTracesLight !== "function") {
|
|
160
160
|
return await observabilityStore.listTraces({ filters, pagination, orderBy });
|
|
@@ -165,11 +165,11 @@ var LIST_TRACES_LIGHT_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
|
-
var LIST_BRANCHES_ROUTE =
|
|
168
|
+
var LIST_BRANCHES_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
169
169
|
method: "GET",
|
|
170
170
|
path: "/observability/branches",
|
|
171
171
|
responseType: "json",
|
|
172
|
-
queryParamSchema:
|
|
172
|
+
queryParamSchema: chunkQOW24SR2_cjs.createObservabilityListQuerySchema(chunk42NUNMRC_cjs.branchesFilterSchema, chunk42NUNMRC_cjs.branchesOrderBySchema),
|
|
173
173
|
responseSchema: chunk42NUNMRC_cjs.listBranchesResponseSchema,
|
|
174
174
|
summary: "List trace branches",
|
|
175
175
|
description: "Returns a paginated list of branch-anchor spans (e.g., AGENT_RUN, WORKFLOW_RUN, TOOL_CALL) across all traces. Unlike listTraces (one row per root-rooted trace), each row here is a single anchor span -- including ones nested under a different root entity. In delta mode, returns only newly listed branch rows matching the filters.",
|
|
@@ -177,10 +177,10 @@ var LIST_BRANCHES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
177
177
|
requiresAuth: true,
|
|
178
178
|
handler: async ({ mastra, mode, after, limit, ...params }) => {
|
|
179
179
|
try {
|
|
180
|
-
const filters =
|
|
181
|
-
const observabilityStore = await
|
|
180
|
+
const filters = chunkN54Q3AQR_cjs.pickParams(chunk42NUNMRC_cjs.branchesFilterSchema, params);
|
|
181
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
182
182
|
if (mode === "delta") {
|
|
183
|
-
|
|
183
|
+
chunkQOW24SR2_cjs.assertObservabilityDeltaSupported(observabilityStore, chunkQOW24SR2_cjs.OBSERVABILITY_LIST_ENDPOINTS.branches);
|
|
184
184
|
return await observabilityStore.listBranches({
|
|
185
185
|
mode,
|
|
186
186
|
filters,
|
|
@@ -188,20 +188,20 @@ var LIST_BRANCHES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
188
188
|
limit
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
|
-
const pagination =
|
|
192
|
-
const orderBy =
|
|
191
|
+
const pagination = chunkN54Q3AQR_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, params);
|
|
192
|
+
const orderBy = chunkN54Q3AQR_cjs.pickParams(chunk42NUNMRC_cjs.branchesOrderBySchema, params);
|
|
193
193
|
return await observabilityStore.listBranches({ filters, pagination, orderBy });
|
|
194
194
|
} catch (error) {
|
|
195
195
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error listing branches");
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
});
|
|
199
|
-
var GET_BRANCH_ROUTE =
|
|
199
|
+
var GET_BRANCH_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
200
200
|
method: "GET",
|
|
201
201
|
path: "/observability/traces/:traceId/branches/:spanId",
|
|
202
202
|
responseType: "json",
|
|
203
203
|
pathParamSchema: chunk42NUNMRC_cjs.getBranchArgsSchema.pick({ traceId: true, spanId: true }),
|
|
204
|
-
queryParamSchema:
|
|
204
|
+
queryParamSchema: chunkN54Q3AQR_cjs.wrapSchemaForQueryParams(chunk42NUNMRC_cjs.getBranchArgsSchema.pick({ depth: true })),
|
|
205
205
|
responseSchema: chunk42NUNMRC_cjs.getBranchResponseSchema,
|
|
206
206
|
summary: "Get trace branch by span ID",
|
|
207
207
|
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).",
|
|
@@ -209,7 +209,7 @@ var GET_BRANCH_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
209
209
|
requiresAuth: true,
|
|
210
210
|
handler: async ({ mastra, traceId, spanId, depth }) => {
|
|
211
211
|
try {
|
|
212
|
-
const observabilityStore = await
|
|
212
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
213
213
|
const branch = await observabilityStore.getBranch({ traceId, spanId, depth });
|
|
214
214
|
if (!branch) {
|
|
215
215
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Branch not found for span '${spanId}' in trace '${traceId}'` });
|
|
@@ -220,7 +220,7 @@ var GET_BRANCH_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
});
|
|
223
|
-
var GET_TRACE_ROUTE =
|
|
223
|
+
var GET_TRACE_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
224
224
|
method: "GET",
|
|
225
225
|
path: "/observability/traces/:traceId",
|
|
226
226
|
responseType: "json",
|
|
@@ -232,7 +232,7 @@ var GET_TRACE_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
232
232
|
requiresAuth: true,
|
|
233
233
|
handler: async ({ mastra, traceId }) => {
|
|
234
234
|
try {
|
|
235
|
-
const observabilityStore = await
|
|
235
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
236
236
|
const trace = await observabilityStore.getTrace({ traceId });
|
|
237
237
|
if (!trace) {
|
|
238
238
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
|
|
@@ -243,7 +243,7 @@ var GET_TRACE_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
});
|
|
246
|
-
var GET_TRACE_LIGHT_ROUTE =
|
|
246
|
+
var GET_TRACE_LIGHT_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
247
247
|
method: "GET",
|
|
248
248
|
path: "/observability/traces/:traceId/light",
|
|
249
249
|
responseType: "json",
|
|
@@ -255,7 +255,7 @@ var GET_TRACE_LIGHT_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
255
255
|
requiresAuth: true,
|
|
256
256
|
handler: async ({ mastra, traceId }) => {
|
|
257
257
|
try {
|
|
258
|
-
const observabilityStore = await
|
|
258
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
259
259
|
const trace = await observabilityStore.getTraceLight({ traceId });
|
|
260
260
|
if (!trace) {
|
|
261
261
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
|
|
@@ -266,7 +266,7 @@ var GET_TRACE_LIGHT_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
});
|
|
269
|
-
var GET_SPAN_ROUTE =
|
|
269
|
+
var GET_SPAN_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
270
270
|
method: "GET",
|
|
271
271
|
path: "/observability/traces/:traceId/spans/:spanId",
|
|
272
272
|
responseType: "json",
|
|
@@ -278,7 +278,7 @@ var GET_SPAN_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
278
278
|
requiresAuth: true,
|
|
279
279
|
handler: async ({ mastra, traceId, spanId }) => {
|
|
280
280
|
try {
|
|
281
|
-
const observabilityStore = await
|
|
281
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
282
282
|
const span = await observabilityStore.getSpan({ traceId, spanId });
|
|
283
283
|
if (!span) {
|
|
284
284
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Span not found` });
|
|
@@ -289,7 +289,7 @@ var GET_SPAN_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
});
|
|
292
|
-
var GET_TRACE_TRAJECTORY_ROUTE =
|
|
292
|
+
var GET_TRACE_TRAJECTORY_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
293
293
|
method: "GET",
|
|
294
294
|
path: "/observability/traces/:traceId/trajectory",
|
|
295
295
|
responseType: "json",
|
|
@@ -306,7 +306,7 @@ var GET_TRACE_TRAJECTORY_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
306
306
|
requiresAuth: true,
|
|
307
307
|
handler: async ({ mastra, traceId }) => {
|
|
308
308
|
try {
|
|
309
|
-
const observabilityStore = await
|
|
309
|
+
const observabilityStore = await chunkQOW24SR2_cjs.getObservabilityStore(mastra);
|
|
310
310
|
const trace = await observabilityStore.getTrace({ traceId });
|
|
311
311
|
if (!trace) {
|
|
312
312
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
|
|
@@ -318,7 +318,7 @@ var GET_TRACE_TRAJECTORY_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
});
|
|
321
|
-
var SCORE_TRACES_ROUTE =
|
|
321
|
+
var SCORE_TRACES_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
322
322
|
method: "POST",
|
|
323
323
|
path: "/observability/traces/score",
|
|
324
324
|
responseType: "json",
|
|
@@ -330,7 +330,7 @@ var SCORE_TRACES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
330
330
|
requiresAuth: true,
|
|
331
331
|
handler: async ({ mastra, ...params }) => {
|
|
332
332
|
try {
|
|
333
|
-
|
|
333
|
+
chunkQOW24SR2_cjs.getStorage(mastra);
|
|
334
334
|
const { scorerName, targets } = params;
|
|
335
335
|
const scorer = mastra.getScorerById(scorerName);
|
|
336
336
|
if (!scorer) {
|
|
@@ -354,13 +354,13 @@ var SCORE_TRACES_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
356
|
});
|
|
357
|
-
var LIST_SCORES_BY_SPAN_ROUTE =
|
|
357
|
+
var LIST_SCORES_BY_SPAN_ROUTE = chunkN54Q3AQR_cjs.createRoute({
|
|
358
358
|
method: "GET",
|
|
359
359
|
path: "/observability/traces/:traceId/:spanId/scores",
|
|
360
360
|
responseType: "json",
|
|
361
361
|
pathParamSchema: storage.spanIdsSchema,
|
|
362
362
|
// List endpoints accept optional query params; use partial() to allow empty queries.
|
|
363
|
-
queryParamSchema:
|
|
363
|
+
queryParamSchema: chunkN54Q3AQR_cjs.wrapSchemaForQueryParams(chunkZNP74O27_cjs.paginationArgsSchema.partial()),
|
|
364
364
|
responseSchema: evals.listScoresResponseSchema,
|
|
365
365
|
summary: "List scores by span",
|
|
366
366
|
description: "Returns all scores for a specific span within a trace",
|
|
@@ -368,8 +368,8 @@ var LIST_SCORES_BY_SPAN_ROUTE = chunkB5MQQ47W_cjs.createRoute({
|
|
|
368
368
|
requiresAuth: true,
|
|
369
369
|
handler: async ({ mastra, ...params }) => {
|
|
370
370
|
try {
|
|
371
|
-
const pagination =
|
|
372
|
-
const spanIds =
|
|
371
|
+
const pagination = chunkN54Q3AQR_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, params);
|
|
372
|
+
const spanIds = chunkN54Q3AQR_cjs.pickParams(storage.spanIdsSchema, params);
|
|
373
373
|
const scoresStore = await getScoresStore(mastra);
|
|
374
374
|
return await scoresStore.listScoresBySpan({
|
|
375
375
|
...spanIds,
|
|
@@ -392,5 +392,5 @@ exports.LIST_TRACES_LIGHT_ROUTE = LIST_TRACES_LIGHT_ROUTE;
|
|
|
392
392
|
exports.LIST_TRACES_ROUTE = LIST_TRACES_ROUTE;
|
|
393
393
|
exports.SCORE_TRACES_ROUTE = SCORE_TRACES_ROUTE;
|
|
394
394
|
exports.observability_exports = observability_exports;
|
|
395
|
-
//# sourceMappingURL=chunk-
|
|
396
|
-
//# sourceMappingURL=chunk-
|
|
395
|
+
//# sourceMappingURL=chunk-U52CKL4A.cjs.map
|
|
396
|
+
//# sourceMappingURL=chunk-U52CKL4A.cjs.map
|