@mastra/server 1.42.0-alpha.2 → 1.42.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -0
- package/dist/_types/@internal_voice/dist/routes/index.d.ts +2 -2
- package/dist/{api-schema-manifest-FNPX4CIO.js → api-schema-manifest-ASCOTXDG.js} +3 -3
- package/dist/{api-schema-manifest-FNPX4CIO.js.map → api-schema-manifest-ASCOTXDG.js.map} +1 -1
- package/dist/{api-schema-manifest-JOBIIRJT.cjs → api-schema-manifest-CASCZ5JA.cjs} +4 -4
- package/dist/{api-schema-manifest-JOBIIRJT.cjs.map → api-schema-manifest-CASCZ5JA.cjs.map} +1 -1
- package/dist/{chunk-ZN3JHWNH.js → chunk-27SJFO6E.js} +3 -3
- package/dist/{chunk-ZN3JHWNH.js.map → chunk-27SJFO6E.js.map} +1 -1
- package/dist/{chunk-D3DK6YLA.cjs → chunk-2AYEJULC.cjs} +34 -34
- package/dist/{chunk-D3DK6YLA.cjs.map → chunk-2AYEJULC.cjs.map} +1 -1
- package/dist/{chunk-A4PMW64L.js → chunk-2QXTSL5D.js} +3 -3
- package/dist/{chunk-A4PMW64L.js.map → chunk-2QXTSL5D.js.map} +1 -1
- package/dist/{chunk-K5ANQB3I.cjs → chunk-2YB3SJBB.cjs} +12 -12
- package/dist/{chunk-K5ANQB3I.cjs.map → chunk-2YB3SJBB.cjs.map} +1 -1
- package/dist/{chunk-MPTVGRNM.cjs → chunk-3ATUI6XD.cjs} +4 -4
- package/dist/{chunk-MPTVGRNM.cjs.map → chunk-3ATUI6XD.cjs.map} +1 -1
- package/dist/{chunk-BWNJBSXL.js → chunk-3ENQND57.js} +3 -3
- package/dist/{chunk-BWNJBSXL.js.map → chunk-3ENQND57.js.map} +1 -1
- package/dist/{chunk-P4IMQYF3.cjs → chunk-47PVLKIL.cjs} +8 -5
- package/dist/chunk-47PVLKIL.cjs.map +1 -0
- package/dist/{chunk-LBVQK4LO.cjs → chunk-4PQR3D5Y.cjs} +11 -9
- package/dist/chunk-4PQR3D5Y.cjs.map +1 -0
- package/dist/{chunk-AUO32DAZ.cjs → chunk-54OFLP7B.cjs} +10 -10
- package/dist/{chunk-AUO32DAZ.cjs.map → chunk-54OFLP7B.cjs.map} +1 -1
- package/dist/{chunk-7U7OWTR2.js → chunk-56AYHXOU.js} +3 -3
- package/dist/{chunk-7U7OWTR2.js.map → chunk-56AYHXOU.js.map} +1 -1
- package/dist/{chunk-BSHJ4HUN.js → chunk-5DPX2WRN.js} +4 -4
- package/dist/{chunk-BSHJ4HUN.js.map → chunk-5DPX2WRN.js.map} +1 -1
- package/dist/{chunk-23S37FLK.js → chunk-5FOSK5R3.js} +6 -4
- package/dist/chunk-5FOSK5R3.js.map +1 -0
- package/dist/{chunk-AEH5OCIH.js → chunk-5JJBM47G.js} +3 -3
- package/dist/{chunk-AEH5OCIH.js.map → chunk-5JJBM47G.js.map} +1 -1
- package/dist/{chunk-UWKICBCT.cjs → chunk-5NOU4GYX.cjs} +110 -110
- package/dist/{chunk-UWKICBCT.cjs.map → chunk-5NOU4GYX.cjs.map} +1 -1
- package/dist/{chunk-7H4IZVJL.cjs → chunk-5SICMPYN.cjs} +51 -43
- package/dist/chunk-5SICMPYN.cjs.map +1 -0
- package/dist/{chunk-ELK6U3BT.js → chunk-5UKZ2LAI.js} +4 -4
- package/dist/chunk-5UKZ2LAI.js.map +1 -0
- package/dist/{chunk-VBQKBXAI.cjs → chunk-5WVXBP2Y.cjs} +10 -10
- package/dist/{chunk-VBQKBXAI.cjs.map → chunk-5WVXBP2Y.cjs.map} +1 -1
- package/dist/{chunk-HJVMQDSZ.js → chunk-67TV3EH4.js} +3 -3
- package/dist/{chunk-HJVMQDSZ.js.map → chunk-67TV3EH4.js.map} +1 -1
- package/dist/{chunk-65NVES6T.js → chunk-6BY6VUN2.js} +3 -3
- package/dist/{chunk-65NVES6T.js.map → chunk-6BY6VUN2.js.map} +1 -1
- package/dist/{chunk-RXT5WOCU.js → chunk-6XJTDCOF.js} +4 -4
- package/dist/{chunk-RXT5WOCU.js.map → chunk-6XJTDCOF.js.map} +1 -1
- package/dist/{chunk-4V2VNFVM.js → chunk-7475TVI5.js} +4 -4
- package/dist/{chunk-4V2VNFVM.js.map → chunk-7475TVI5.js.map} +1 -1
- package/dist/{chunk-4W7KQRF5.cjs → chunk-AAPSZTLM.cjs} +10 -3
- package/dist/chunk-AAPSZTLM.cjs.map +1 -0
- package/dist/{chunk-FU6HBLCV.js → chunk-ANIBNJ3N.js} +6 -6
- package/dist/{chunk-FU6HBLCV.js.map → chunk-ANIBNJ3N.js.map} +1 -1
- package/dist/{chunk-ZIWTQGJV.cjs → chunk-AW4NGJ2N.cjs} +28 -28
- package/dist/{chunk-ZIWTQGJV.cjs.map → chunk-AW4NGJ2N.cjs.map} +1 -1
- package/dist/{chunk-C7I2QUNB.cjs → chunk-C7RGNU23.cjs} +12 -12
- package/dist/{chunk-C7I2QUNB.cjs.map → chunk-C7RGNU23.cjs.map} +1 -1
- package/dist/{chunk-PUNYS4VL.cjs → chunk-CF3ZJDTU.cjs} +53 -53
- package/dist/{chunk-PUNYS4VL.cjs.map → chunk-CF3ZJDTU.cjs.map} +1 -1
- package/dist/{chunk-UOQHTFYI.js → chunk-CHP6ZIVF.js} +3 -3
- package/dist/{chunk-UOQHTFYI.js.map → chunk-CHP6ZIVF.js.map} +1 -1
- package/dist/{chunk-RULES2JK.js → chunk-D5MBB7JN.js} +3 -3
- package/dist/{chunk-RULES2JK.js.map → chunk-D5MBB7JN.js.map} +1 -1
- package/dist/{chunk-DA6XYIJE.cjs → chunk-DMZ4R5Q7.cjs} +48 -20
- package/dist/chunk-DMZ4R5Q7.cjs.map +1 -0
- package/dist/{chunk-ZAWZ2BWD.cjs → chunk-EPKVYFCP.cjs} +7 -7
- package/dist/{chunk-ZAWZ2BWD.cjs.map → chunk-EPKVYFCP.cjs.map} +1 -1
- package/dist/{chunk-UQGNAEQK.cjs → chunk-F755HGAQ.cjs} +251 -251
- package/dist/{chunk-UQGNAEQK.cjs.map → chunk-F755HGAQ.cjs.map} +1 -1
- package/dist/{chunk-B3HC2NL5.js → chunk-FICIBTVS.js} +5 -5
- package/dist/{chunk-B3HC2NL5.js.map → chunk-FICIBTVS.js.map} +1 -1
- package/dist/{chunk-QVFQUBC7.cjs → chunk-FVUJRSNB.cjs} +62 -62
- package/dist/{chunk-QVFQUBC7.cjs.map → chunk-FVUJRSNB.cjs.map} +1 -1
- package/dist/{chunk-34IKPXUL.js → chunk-FZTCXQHI.js} +6 -6
- package/dist/{chunk-34IKPXUL.js.map → chunk-FZTCXQHI.js.map} +1 -1
- package/dist/{chunk-SEVIFRHN.js → chunk-G7B7MTWX.js} +32 -32
- package/dist/{chunk-SEVIFRHN.js.map → chunk-G7B7MTWX.js.map} +1 -1
- package/dist/{chunk-ESJTIVEQ.js → chunk-GBVJ4OYO.js} +11 -4
- package/dist/chunk-GBVJ4OYO.js.map +1 -0
- package/dist/{chunk-2XF6I7XI.js → chunk-GMGBMOC6.js} +5 -5
- package/dist/{chunk-2XF6I7XI.js.map → chunk-GMGBMOC6.js.map} +1 -1
- package/dist/{chunk-2SVCL3Y5.cjs → chunk-H27WOU55.cjs} +22 -22
- package/dist/{chunk-2SVCL3Y5.cjs.map → chunk-H27WOU55.cjs.map} +1 -1
- package/dist/{chunk-YH4WGIEH.js → chunk-HATXNJ4V.js} +6 -4
- package/dist/chunk-HATXNJ4V.js.map +1 -0
- package/dist/{chunk-AC7GMUBN.cjs → chunk-HB4PRXQ7.cjs} +19 -19
- package/dist/{chunk-AC7GMUBN.cjs.map → chunk-HB4PRXQ7.cjs.map} +1 -1
- package/dist/{chunk-SEAEQN2H.js → chunk-HLB3XKZS.js} +4 -4
- package/dist/{chunk-SEAEQN2H.js.map → chunk-HLB3XKZS.js.map} +1 -1
- package/dist/{chunk-UIVHXCOY.cjs → chunk-HOOYQBNB.cjs} +43 -43
- package/dist/{chunk-UIVHXCOY.cjs.map → chunk-HOOYQBNB.cjs.map} +1 -1
- package/dist/{chunk-ET7KSUVJ.cjs → chunk-HVATI3FQ.cjs} +13 -5
- package/dist/chunk-HVATI3FQ.cjs.map +1 -0
- package/dist/{chunk-V2DJWWQ4.js → chunk-IIRWTIFV.js} +4 -4
- package/dist/{chunk-V2DJWWQ4.js.map → chunk-IIRWTIFV.js.map} +1 -1
- package/dist/{chunk-357JDXKS.cjs → chunk-JRCLL2XG.cjs} +75 -58
- package/dist/chunk-JRCLL2XG.cjs.map +1 -0
- package/dist/{chunk-PPNPOLWL.cjs → chunk-JUFS6SVC.cjs} +4 -4
- package/dist/{chunk-PPNPOLWL.cjs.map → chunk-JUFS6SVC.cjs.map} +1 -1
- package/dist/{chunk-VX3MJR4P.cjs → chunk-KGUHJRHZ.cjs} +10 -10
- package/dist/{chunk-VX3MJR4P.cjs.map → chunk-KGUHJRHZ.cjs.map} +1 -1
- package/dist/{chunk-WUPBIK5J.cjs → chunk-KJ6DNZ6C.cjs} +23 -23
- package/dist/{chunk-WUPBIK5J.cjs.map → chunk-KJ6DNZ6C.cjs.map} +1 -1
- package/dist/chunk-KLV64VVH.js +63 -0
- package/dist/chunk-KLV64VVH.js.map +1 -0
- package/dist/{chunk-J5VCTQGX.js → chunk-LHBCIGPA.js} +6 -6
- package/dist/{chunk-J5VCTQGX.js.map → chunk-LHBCIGPA.js.map} +1 -1
- package/dist/{chunk-OCWY55IQ.js → chunk-LHF6URCC.js} +3 -3
- package/dist/{chunk-OCWY55IQ.js.map → chunk-LHF6URCC.js.map} +1 -1
- package/dist/{chunk-QH3IFRYL.cjs → chunk-LIIRA77X.cjs} +6 -6
- package/dist/{chunk-QH3IFRYL.cjs.map → chunk-LIIRA77X.cjs.map} +1 -1
- package/dist/{chunk-H7TPN2Y6.js → chunk-LPT77UR6.js} +8 -5
- package/dist/chunk-LPT77UR6.js.map +1 -0
- package/dist/{chunk-SLTGLKKQ.js → chunk-LQZHT5U7.js} +3 -3
- package/dist/{chunk-SLTGLKKQ.js.map → chunk-LQZHT5U7.js.map} +1 -1
- package/dist/{chunk-FSSG5YQJ.js → chunk-LUR6XGTP.js} +3 -3
- package/dist/{chunk-FSSG5YQJ.js.map → chunk-LUR6XGTP.js.map} +1 -1
- package/dist/chunk-M3UP3Z3G.cjs +66 -0
- package/dist/chunk-M3UP3Z3G.cjs.map +1 -0
- package/dist/{chunk-V4G7MSFL.js → chunk-MKJ6Y2HF.js} +4 -4
- package/dist/{chunk-V4G7MSFL.js.map → chunk-MKJ6Y2HF.js.map} +1 -1
- package/dist/{chunk-HLP25TJE.cjs → chunk-MMOFAVHH.cjs} +9 -9
- package/dist/{chunk-HLP25TJE.cjs.map → chunk-MMOFAVHH.cjs.map} +1 -1
- package/dist/{chunk-FPKJAWB4.cjs → chunk-NQHBWI24.cjs} +9 -9
- package/dist/{chunk-FPKJAWB4.cjs.map → chunk-NQHBWI24.cjs.map} +1 -1
- package/dist/{chunk-KWZXKGHG.cjs → chunk-NSBZR7QU.cjs} +13 -13
- package/dist/{chunk-KWZXKGHG.cjs.map → chunk-NSBZR7QU.cjs.map} +1 -1
- package/dist/{chunk-LPYCF5B2.js → chunk-O7JJZSXK.js} +4 -4
- package/dist/{chunk-LPYCF5B2.js.map → chunk-O7JJZSXK.js.map} +1 -1
- package/dist/{chunk-RZ5KYTQB.cjs → chunk-OH2UAAED.cjs} +6 -6
- package/dist/{chunk-RZ5KYTQB.cjs.map → chunk-OH2UAAED.cjs.map} +1 -1
- package/dist/{chunk-MNQ42Q7U.cjs → chunk-OZMSHZ5R.cjs} +4 -4
- package/dist/chunk-OZMSHZ5R.cjs.map +1 -0
- package/dist/{chunk-UVN5RRFK.js → chunk-P5IEX7A7.js} +3 -3
- package/dist/{chunk-UVN5RRFK.js.map → chunk-P5IEX7A7.js.map} +1 -1
- package/dist/{chunk-YL47EAFG.js → chunk-PGK2MPL7.js} +3 -3
- package/dist/{chunk-YL47EAFG.js.map → chunk-PGK2MPL7.js.map} +1 -1
- package/dist/{chunk-Y7ET562G.cjs → chunk-PJKQHNQX.cjs} +12 -12
- package/dist/{chunk-Y7ET562G.cjs.map → chunk-PJKQHNQX.cjs.map} +1 -1
- package/dist/{chunk-WOMWA56V.cjs → chunk-PMGFP7II.cjs} +10 -10
- package/dist/{chunk-WOMWA56V.cjs.map → chunk-PMGFP7II.cjs.map} +1 -1
- package/dist/{chunk-3KXE2KXE.cjs → chunk-PWBN74RE.cjs} +4 -4
- package/dist/{chunk-3KXE2KXE.cjs.map → chunk-PWBN74RE.cjs.map} +1 -1
- package/dist/{chunk-H7KDCXLQ.cjs → chunk-PXLC5SNM.cjs} +3 -3
- package/dist/chunk-PXLC5SNM.cjs.map +1 -0
- package/dist/{chunk-IGE7NPFH.cjs → chunk-Q2BOTNC2.cjs} +5 -5
- package/dist/{chunk-IGE7NPFH.cjs.map → chunk-Q2BOTNC2.cjs.map} +1 -1
- package/dist/{chunk-PLV74XAL.js → chunk-QM23NJBM.js} +3 -3
- package/dist/{chunk-PLV74XAL.js.map → chunk-QM23NJBM.js.map} +1 -1
- package/dist/{chunk-45MWBL6S.cjs → chunk-QQSQCWQJ.cjs} +16 -16
- package/dist/{chunk-45MWBL6S.cjs.map → chunk-QQSQCWQJ.cjs.map} +1 -1
- package/dist/{chunk-QXVUGFQQ.js → chunk-QSTMEJNF.js} +12 -4
- package/dist/chunk-QSTMEJNF.js.map +1 -0
- package/dist/{chunk-KL5BVH4I.js → chunk-R3YQMHOW.js} +5 -5
- package/dist/{chunk-KL5BVH4I.js.map → chunk-R3YQMHOW.js.map} +1 -1
- package/dist/{chunk-MWGAQKBU.js → chunk-RV2PL7XY.js} +28 -11
- package/dist/chunk-RV2PL7XY.js.map +1 -0
- package/dist/{chunk-77IY4RTO.cjs → chunk-RV4T5P5S.cjs} +16 -16
- package/dist/{chunk-77IY4RTO.cjs.map → chunk-RV4T5P5S.cjs.map} +1 -1
- package/dist/{chunk-4BLUIUHS.cjs → chunk-RVD3DGBZ.cjs} +5 -5
- package/dist/{chunk-4BLUIUHS.cjs.map → chunk-RVD3DGBZ.cjs.map} +1 -1
- package/dist/{chunk-GFZR6THV.js → chunk-RY5RETAD.js} +3 -3
- package/dist/{chunk-GFZR6THV.js.map → chunk-RY5RETAD.js.map} +1 -1
- package/dist/{chunk-EUFT3MIX.js → chunk-SFAWHLOX.js} +3 -3
- package/dist/chunk-SFAWHLOX.js.map +1 -0
- package/dist/{chunk-65T6KVYX.cjs → chunk-SXKQ7CSX.cjs} +6 -3
- package/dist/chunk-SXKQ7CSX.cjs.map +1 -0
- package/dist/{chunk-AV7NYVZY.js → chunk-SZBL63O3.js} +5 -5
- package/dist/{chunk-AV7NYVZY.js.map → chunk-SZBL63O3.js.map} +1 -1
- package/dist/{chunk-WAKRVERW.cjs → chunk-T4SHYW3E.cjs} +15 -15
- package/dist/{chunk-WAKRVERW.cjs.map → chunk-T4SHYW3E.cjs.map} +1 -1
- package/dist/{chunk-6N2KFN3C.js → chunk-T5N6VHVN.js} +5 -5
- package/dist/{chunk-6N2KFN3C.js.map → chunk-T5N6VHVN.js.map} +1 -1
- package/dist/{chunk-Y5CIOSHU.js → chunk-WMHXUJKB.js} +10 -3
- package/dist/chunk-WMHXUJKB.js.map +1 -0
- package/dist/{chunk-EBNFYJOD.js → chunk-WU3CTX2J.js} +5 -5
- package/dist/{chunk-EBNFYJOD.js.map → chunk-WU3CTX2J.js.map} +1 -1
- package/dist/{chunk-J2SGIUA6.cjs → chunk-XFAJ3EAC.cjs} +3 -3
- package/dist/{chunk-J2SGIUA6.cjs.map → chunk-XFAJ3EAC.cjs.map} +1 -1
- package/dist/{chunk-VWFP6O2W.cjs → chunk-YH4TLNWJ.cjs} +24 -24
- package/dist/{chunk-VWFP6O2W.cjs.map → chunk-YH4TLNWJ.cjs.map} +1 -1
- package/dist/{chunk-KE4V4LJE.cjs → chunk-YLWKZ3VK.cjs} +7 -7
- package/dist/{chunk-KE4V4LJE.cjs.map → chunk-YLWKZ3VK.cjs.map} +1 -1
- package/dist/{chunk-KDMOWJ4W.js → chunk-YXU6EIG6.js} +46 -18
- package/dist/chunk-YXU6EIG6.js.map +1 -0
- package/dist/{chunk-7OSWGIVM.js → chunk-ZF5T4CGE.js} +5 -5
- package/dist/{chunk-7OSWGIVM.js.map → chunk-ZF5T4CGE.js.map} +1 -1
- package/dist/{dist-VAHX4KVD.js → dist-D63ZZGV3.js} +5 -5
- package/dist/{dist-VAHX4KVD.js.map → dist-D63ZZGV3.js.map} +1 -1
- package/dist/{dist-N5RWDF6U.cjs → dist-QDOBLME7.cjs} +20 -20
- package/dist/{dist-N5RWDF6U.cjs.map → dist-QDOBLME7.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-G52HNRHE-RHA4V77M.js → observational-memory-NIGWGBLT-SBZMVFBE.js} +3 -3
- package/dist/{observational-memory-G52HNRHE-RHA4V77M.js.map → observational-memory-NIGWGBLT-SBZMVFBE.js.map} +1 -1
- package/dist/{observational-memory-G52HNRHE-73KIWQ2G.cjs → observational-memory-NIGWGBLT-XWKXVCLV.cjs} +26 -26
- package/dist/{observational-memory-G52HNRHE-73KIWQ2G.cjs.map → observational-memory-NIGWGBLT-XWKXVCLV.cjs.map} +1 -1
- package/dist/server/auth/helpers.d.ts.map +1 -1
- package/dist/server/auth/index.cjs +19 -19
- package/dist/server/auth/index.js +2 -2
- package/dist/server/constants.d.ts +7 -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 +17 -17
- 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 +46 -46
- package/dist/server/handlers/agents.d.ts +12 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +13 -13
- package/dist/server/handlers/auth.d.ts.map +1 -1
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/author-enrichment.cjs +16 -0
- package/dist/server/handlers/author-enrichment.cjs.map +1 -0
- package/dist/server/handlers/author-enrichment.d.ts +41 -0
- package/dist/server/handlers/author-enrichment.d.ts.map +1 -0
- package/dist/server/handlers/author-enrichment.js +3 -0
- package/dist/server/handlers/author-enrichment.js.map +1 -0
- package/dist/server/handlers/authorship.cjs +12 -12
- package/dist/server/handlers/authorship.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/editor-builder.cjs +6 -6
- package/dist/server/handlers/editor-builder.d.ts +11 -7
- package/dist/server/handlers/editor-builder.d.ts.map +1 -1
- 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/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/memory.cjs +27 -27
- package/dist/server/handlers/memory.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/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.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 +9 -9
- package/dist/server/handlers/stored-agents.d.ts +24 -0
- package/dist/server/handlers/stored-agents.d.ts.map +1 -1
- 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.d.ts +2 -2
- 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/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +27 -27
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +25 -25
- package/dist/server/handlers.js +11 -11
- package/dist/server/schemas/index.cjs +284 -280
- package/dist/server/schemas/index.js +8 -8
- package/dist/server/schemas/stored-agents.d.ts +42 -0
- package/dist/server/schemas/stored-agents.d.ts.map +1 -1
- package/dist/server/schemas/tool-providers.d.ts +1 -1
- package/dist/server/schemas/tool-providers.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +129 -43
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +58 -5
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +102 -20
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/index.d.ts +2 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/tool-providers.d.ts +2 -2
- package/package.json +5 -5
- package/dist/chunk-23S37FLK.js.map +0 -1
- package/dist/chunk-357JDXKS.cjs.map +0 -1
- package/dist/chunk-4W7KQRF5.cjs.map +0 -1
- package/dist/chunk-65T6KVYX.cjs.map +0 -1
- package/dist/chunk-7H4IZVJL.cjs.map +0 -1
- package/dist/chunk-DA6XYIJE.cjs.map +0 -1
- package/dist/chunk-ELK6U3BT.js.map +0 -1
- package/dist/chunk-ESJTIVEQ.js.map +0 -1
- package/dist/chunk-ET7KSUVJ.cjs.map +0 -1
- package/dist/chunk-EUFT3MIX.js.map +0 -1
- package/dist/chunk-H7KDCXLQ.cjs.map +0 -1
- package/dist/chunk-H7TPN2Y6.js.map +0 -1
- package/dist/chunk-KDMOWJ4W.js.map +0 -1
- package/dist/chunk-LBVQK4LO.cjs.map +0 -1
- package/dist/chunk-MNQ42Q7U.cjs.map +0 -1
- package/dist/chunk-MWGAQKBU.js.map +0 -1
- package/dist/chunk-P4IMQYF3.cjs.map +0 -1
- package/dist/chunk-QXVUGFQQ.js.map +0 -1
- package/dist/chunk-Y5CIOSHU.js.map +0 -1
- package/dist/chunk-YH4WGIEH.js.map +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkZCX2J552_cjs = require('./chunk-ZCX2J552.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
4
|
+
var chunkOH2UAAED_cjs = require('./chunk-OH2UAAED.cjs');
|
|
5
|
+
var chunkOZMSHZ5R_cjs = require('./chunk-OZMSHZ5R.cjs');
|
|
6
|
+
var chunkM3UP3Z3G_cjs = require('./chunk-M3UP3Z3G.cjs');
|
|
7
|
+
var chunkKGUHJRHZ_cjs = require('./chunk-KGUHJRHZ.cjs');
|
|
7
8
|
var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
|
|
8
|
-
var
|
|
9
|
-
var chunkPPNPOLWL_cjs = require('./chunk-PPNPOLWL.cjs');
|
|
9
|
+
var chunkHVATI3FQ_cjs = require('./chunk-HVATI3FQ.cjs');
|
|
10
10
|
var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
|
|
11
|
+
var chunkJUFS6SVC_cjs = require('./chunk-JUFS6SVC.cjs');
|
|
11
12
|
var chunkZ7LCIYK7_cjs = require('./chunk-Z7LCIYK7.cjs');
|
|
12
13
|
var chunkRZR7PLFW_cjs = require('./chunk-RZR7PLFW.cjs');
|
|
13
14
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
@@ -111,8 +112,8 @@ var LIST_STORED_AGENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
111
112
|
method: "GET",
|
|
112
113
|
path: "/stored/agents",
|
|
113
114
|
responseType: "json",
|
|
114
|
-
queryParamSchema:
|
|
115
|
-
responseSchema:
|
|
115
|
+
queryParamSchema: chunkHVATI3FQ_cjs.listStoredAgentsQuerySchema,
|
|
116
|
+
responseSchema: chunkHVATI3FQ_cjs.listStoredAgentsResponseSchema,
|
|
116
117
|
summary: "List stored agents",
|
|
117
118
|
description: "Returns a paginated list of all agents stored in the database",
|
|
118
119
|
tags: ["Stored Agents"],
|
|
@@ -139,16 +140,16 @@ var LIST_STORED_AGENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
139
140
|
if (!agentsStore) {
|
|
140
141
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
141
142
|
}
|
|
142
|
-
const filter =
|
|
143
|
+
const filter = chunkKGUHJRHZ_cjs.resolveAuthorFilter({
|
|
143
144
|
requestContext,
|
|
144
145
|
resource: "stored-agents",
|
|
145
146
|
queryAuthorId: authorId,
|
|
146
147
|
queryVisibility: visibility === "public" ? "public" : void 0
|
|
147
148
|
});
|
|
148
|
-
const scope = await
|
|
149
|
-
const scopedMetadata =
|
|
150
|
-
const callerId =
|
|
151
|
-
const favoritesEnabled = await
|
|
149
|
+
const scope = await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext);
|
|
150
|
+
const scopedMetadata = chunkJUFS6SVC_cjs.scopeStoredResourceMetadata(metadata, scope);
|
|
151
|
+
const callerId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext);
|
|
152
|
+
const favoritesEnabled = await chunkOZMSHZ5R_cjs.isBuilderFeatureEnabled(mastra, "favorites");
|
|
152
153
|
const honoredStarredOnly = favoritesEnabled && favoritedOnly === true;
|
|
153
154
|
const favoriteSubjectId = pinFavoritedFor ?? callerId;
|
|
154
155
|
if (honoredStarredOnly) {
|
|
@@ -172,14 +173,20 @@ var LIST_STORED_AGENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
172
173
|
metadata: scopedMetadata,
|
|
173
174
|
entityIds: starredIds
|
|
174
175
|
});
|
|
175
|
-
const visible = allMatching.agents.filter((record) =>
|
|
176
|
+
const visible = allMatching.agents.filter((record) => chunkKGUHJRHZ_cjs.matchesAuthorFilter(record, filter));
|
|
176
177
|
const total = visible.length;
|
|
177
178
|
const startIdx = effectivePerPage === 0 ? 0 : page * effectivePerPage;
|
|
178
179
|
const endIdx = effectivePerPage === 0 ? 0 : startIdx + effectivePerPage;
|
|
179
180
|
const sliced = effectivePerPage === 0 ? [] : visible.slice(startIdx, endIdx);
|
|
180
181
|
const annotated2 = sliced.map((record) => ({ ...record, isFavorited: true }));
|
|
182
|
+
const authors2 = await chunkM3UP3Z3G_cjs.prepareAuthorEnrichment(
|
|
183
|
+
mastra,
|
|
184
|
+
requestContext,
|
|
185
|
+
annotated2.map((a) => a.authorId)
|
|
186
|
+
);
|
|
187
|
+
const withAuthors2 = authors2 ? annotated2.map((record) => chunkM3UP3Z3G_cjs.attachAuthor(record, authors2)) : annotated2;
|
|
181
188
|
const hasMore = effectivePerPage > 0 && endIdx < total;
|
|
182
|
-
return { agents:
|
|
189
|
+
return { agents: withAuthors2, total, page, perPage: effectivePerPage, hasMore };
|
|
183
190
|
}
|
|
184
191
|
const result = await agentsStore.listResolved({
|
|
185
192
|
page,
|
|
@@ -189,18 +196,26 @@ var LIST_STORED_AGENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
189
196
|
authorId: filter.kind === "exact" ? filter.authorId : void 0,
|
|
190
197
|
metadata: scopedMetadata
|
|
191
198
|
});
|
|
192
|
-
const visibleAgents = result.agents.filter((record) =>
|
|
199
|
+
const visibleAgents = result.agents.filter((record) => chunkKGUHJRHZ_cjs.matchesAuthorFilter(record, filter));
|
|
200
|
+
const authors = await chunkM3UP3Z3G_cjs.prepareAuthorEnrichment(
|
|
201
|
+
mastra,
|
|
202
|
+
requestContext,
|
|
203
|
+
visibleAgents.map((a) => a.authorId)
|
|
204
|
+
);
|
|
193
205
|
if (!favoritesEnabled) {
|
|
194
|
-
|
|
206
|
+
const stripped = visibleAgents.map(chunkOH2UAAED_cjs.stripFavoriteFields);
|
|
207
|
+
const withAuthors2 = authors ? stripped.map((record) => chunkM3UP3Z3G_cjs.attachAuthor(record, authors)) : stripped;
|
|
208
|
+
return { ...result, agents: withAuthors2 };
|
|
195
209
|
}
|
|
196
|
-
const enrichment = await
|
|
210
|
+
const enrichment = await chunkOH2UAAED_cjs.prepareFavoritesEnrichment(
|
|
197
211
|
mastra,
|
|
198
212
|
requestContext,
|
|
199
213
|
"agent",
|
|
200
214
|
visibleAgents.map((a) => a.id)
|
|
201
215
|
);
|
|
202
|
-
const annotated = enrichment ? visibleAgents.map((record) => ({ ...record, isFavorited: enrichment.starredIds.has(record.id) })) : visibleAgents.map(
|
|
203
|
-
|
|
216
|
+
const annotated = enrichment ? visibleAgents.map((record) => ({ ...record, isFavorited: enrichment.starredIds.has(record.id) })) : visibleAgents.map(chunkOH2UAAED_cjs.stripFavoriteFields);
|
|
217
|
+
const withAuthors = authors ? annotated.map((record) => chunkM3UP3Z3G_cjs.attachAuthor(record, authors)) : annotated;
|
|
218
|
+
return { ...result, agents: withAuthors };
|
|
204
219
|
} catch (error) {
|
|
205
220
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error listing stored agents");
|
|
206
221
|
}
|
|
@@ -210,9 +225,9 @@ var EXPORT_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
210
225
|
method: "POST",
|
|
211
226
|
path: "/stored/agents/:storedAgentId/export",
|
|
212
227
|
responseType: "json",
|
|
213
|
-
pathParamSchema:
|
|
214
|
-
bodySchema:
|
|
215
|
-
responseSchema:
|
|
228
|
+
pathParamSchema: chunkHVATI3FQ_cjs.storedAgentIdPathParams,
|
|
229
|
+
bodySchema: chunkHVATI3FQ_cjs.exportStoredAgentBodySchema,
|
|
230
|
+
responseSchema: chunkHVATI3FQ_cjs.exportStoredAgentResponseSchema,
|
|
216
231
|
summary: "Export stored agent override JSON",
|
|
217
232
|
description: "Returns deterministic JSON for an agent configuration or code-agent override without mutating storage",
|
|
218
233
|
tags: ["Stored Agents"],
|
|
@@ -223,8 +238,8 @@ var EXPORT_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
223
238
|
const agentsStore = storage ? await storage.getStore("agents") : void 0;
|
|
224
239
|
const storedAgent = await agentsStore?.getByIdResolved(storedAgentId, { status: "draft" });
|
|
225
240
|
if (storedAgent) {
|
|
226
|
-
|
|
227
|
-
|
|
241
|
+
chunkJUFS6SVC_cjs.assertStoredResourceScope(storedAgent, await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext));
|
|
242
|
+
chunkKGUHJRHZ_cjs.assertReadAccess({ requestContext, resource: "stored-agents", resourceId: storedAgentId, record: storedAgent });
|
|
228
243
|
}
|
|
229
244
|
let codeAgent;
|
|
230
245
|
try {
|
|
@@ -253,9 +268,9 @@ var GET_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
253
268
|
method: "GET",
|
|
254
269
|
path: "/stored/agents/:storedAgentId",
|
|
255
270
|
responseType: "json",
|
|
256
|
-
pathParamSchema:
|
|
271
|
+
pathParamSchema: chunkHVATI3FQ_cjs.storedAgentIdPathParams,
|
|
257
272
|
queryParamSchema: chunkDIG2K5CV_cjs.statusQuerySchema,
|
|
258
|
-
responseSchema:
|
|
273
|
+
responseSchema: chunkHVATI3FQ_cjs.getStoredAgentResponseSchema,
|
|
259
274
|
summary: "Get stored agent by ID",
|
|
260
275
|
description: "Returns a specific agent from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.",
|
|
261
276
|
tags: ["Stored Agents"],
|
|
@@ -274,9 +289,11 @@ var GET_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
274
289
|
if (!agent) {
|
|
275
290
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
276
291
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
292
|
+
chunkJUFS6SVC_cjs.assertStoredResourceScope(agent, await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext));
|
|
293
|
+
chunkKGUHJRHZ_cjs.assertReadAccess({ requestContext, resource: "stored-agents", resourceId: storedAgentId, record: agent });
|
|
294
|
+
const authors = await chunkM3UP3Z3G_cjs.prepareAuthorEnrichment(mastra, requestContext, [agent.authorId]);
|
|
295
|
+
const withFavorite = await chunkOH2UAAED_cjs.enrichOrStripFavorites(mastra, requestContext, "agent", agent);
|
|
296
|
+
return chunkM3UP3Z3G_cjs.attachAuthor(withFavorite, authors);
|
|
280
297
|
} catch (error) {
|
|
281
298
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error getting stored agent");
|
|
282
299
|
}
|
|
@@ -286,8 +303,8 @@ var CREATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
286
303
|
method: "POST",
|
|
287
304
|
path: "/stored/agents",
|
|
288
305
|
responseType: "json",
|
|
289
|
-
bodySchema:
|
|
290
|
-
responseSchema:
|
|
306
|
+
bodySchema: chunkHVATI3FQ_cjs.createStoredAgentBodySchema,
|
|
307
|
+
responseSchema: chunkHVATI3FQ_cjs.createStoredAgentResponseSchema,
|
|
291
308
|
summary: "Create stored agent",
|
|
292
309
|
description: "Creates a new agent in storage with the provided configuration",
|
|
293
310
|
tags: ["Stored Agents"],
|
|
@@ -327,7 +344,7 @@ var CREATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
327
344
|
if (!agentsStore) {
|
|
328
345
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
|
|
329
346
|
}
|
|
330
|
-
const id = providedId ||
|
|
347
|
+
const id = providedId || chunkJUFS6SVC_cjs.toSlug(name);
|
|
331
348
|
if (!id) {
|
|
332
349
|
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
333
350
|
message: "Could not derive agent ID from name. Please provide an explicit id."
|
|
@@ -337,7 +354,7 @@ var CREATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
337
354
|
if (existing) {
|
|
338
355
|
throw new chunk64ITUOXI_cjs.HTTPException(409, { message: `Agent with id ${id} already exists` });
|
|
339
356
|
}
|
|
340
|
-
const authorId =
|
|
357
|
+
const authorId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext) ?? void 0;
|
|
341
358
|
const visibility = authorId ? bodyVisibility ?? "private" : "public";
|
|
342
359
|
chunkZCX2J552_cjs.validateMetadataAvatarUrl(metadata);
|
|
343
360
|
const resolvedBrowser = await resolveBrowserField(browser, mastra);
|
|
@@ -345,7 +362,7 @@ var CREATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
345
362
|
id,
|
|
346
363
|
authorId,
|
|
347
364
|
visibility,
|
|
348
|
-
metadata:
|
|
365
|
+
metadata: chunkJUFS6SVC_cjs.scopeStoredResourceMetadata(metadata, await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext)),
|
|
349
366
|
name,
|
|
350
367
|
description,
|
|
351
368
|
instructions,
|
|
@@ -386,7 +403,7 @@ var CREATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
386
403
|
if (!resolved) {
|
|
387
404
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to resolve created agent" });
|
|
388
405
|
}
|
|
389
|
-
return
|
|
406
|
+
return chunkOH2UAAED_cjs.enrichOrStripFavorites(mastra, requestContext, "agent", resolved);
|
|
390
407
|
} catch (error) {
|
|
391
408
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error creating stored agent");
|
|
392
409
|
}
|
|
@@ -396,9 +413,9 @@ var UPDATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
396
413
|
method: "PATCH",
|
|
397
414
|
path: "/stored/agents/:storedAgentId",
|
|
398
415
|
responseType: "json",
|
|
399
|
-
pathParamSchema:
|
|
400
|
-
bodySchema:
|
|
401
|
-
responseSchema:
|
|
416
|
+
pathParamSchema: chunkHVATI3FQ_cjs.storedAgentIdPathParams,
|
|
417
|
+
bodySchema: chunkHVATI3FQ_cjs.updateStoredAgentBodySchema,
|
|
418
|
+
responseSchema: chunkHVATI3FQ_cjs.updateStoredAgentResponseSchema,
|
|
402
419
|
summary: "Update stored agent",
|
|
403
420
|
description: "Updates an existing agent in storage with the provided fields",
|
|
404
421
|
tags: ["Stored Agents"],
|
|
@@ -447,9 +464,9 @@ var UPDATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
447
464
|
if (!existing) {
|
|
448
465
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
449
466
|
}
|
|
450
|
-
const scope = await
|
|
451
|
-
|
|
452
|
-
|
|
467
|
+
const scope = await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext);
|
|
468
|
+
chunkJUFS6SVC_cjs.assertStoredResourceScope(existing, scope);
|
|
469
|
+
chunkKGUHJRHZ_cjs.assertWriteAccess({
|
|
453
470
|
requestContext,
|
|
454
471
|
resource: "stored-agents",
|
|
455
472
|
resourceId: storedAgentId,
|
|
@@ -457,7 +474,7 @@ var UPDATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
457
474
|
record: existing
|
|
458
475
|
});
|
|
459
476
|
chunkZCX2J552_cjs.validateMetadataAvatarUrl(metadata);
|
|
460
|
-
const callerAuthorId =
|
|
477
|
+
const callerAuthorId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext) ?? void 0;
|
|
461
478
|
const resolvedVisibility = callerAuthorId ? visibility : visibility != null ? "public" : void 0;
|
|
462
479
|
const resolvedBrowser = await resolveBrowserField(browser, mastra);
|
|
463
480
|
let codeAgentForUpdate;
|
|
@@ -478,7 +495,7 @@ var UPDATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
478
495
|
}
|
|
479
496
|
}
|
|
480
497
|
const mergedMetadata = { ...existing.metadata ?? {}, ...metadata ?? {} };
|
|
481
|
-
const scopedMetadata =
|
|
498
|
+
const scopedMetadata = chunkJUFS6SVC_cjs.scopeStoredResourceMetadata(mergedMetadata, scope);
|
|
482
499
|
const updatedAgent = await agentsStore.update({
|
|
483
500
|
id: storedAgentId,
|
|
484
501
|
authorId,
|
|
@@ -565,7 +582,7 @@ var UPDATE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
565
582
|
if (!resolved) {
|
|
566
583
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to resolve updated agent" });
|
|
567
584
|
}
|
|
568
|
-
return
|
|
585
|
+
return chunkOH2UAAED_cjs.enrichOrStripFavorites(mastra, requestContext, "agent", resolved);
|
|
569
586
|
} catch (error) {
|
|
570
587
|
return chunkZ7LCIYK7_cjs.handleError(error, "Error updating stored agent");
|
|
571
588
|
}
|
|
@@ -575,8 +592,8 @@ var DELETE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
575
592
|
method: "DELETE",
|
|
576
593
|
path: "/stored/agents/:storedAgentId",
|
|
577
594
|
responseType: "json",
|
|
578
|
-
pathParamSchema:
|
|
579
|
-
responseSchema:
|
|
595
|
+
pathParamSchema: chunkHVATI3FQ_cjs.storedAgentIdPathParams,
|
|
596
|
+
responseSchema: chunkHVATI3FQ_cjs.deleteStoredAgentResponseSchema,
|
|
580
597
|
summary: "Delete stored agent",
|
|
581
598
|
description: "Deletes an agent from storage by its unique identifier",
|
|
582
599
|
tags: ["Stored Agents"],
|
|
@@ -595,8 +612,8 @@ var DELETE_STORED_AGENT_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
595
612
|
if (!existing) {
|
|
596
613
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
597
614
|
}
|
|
598
|
-
|
|
599
|
-
|
|
615
|
+
chunkJUFS6SVC_cjs.assertStoredResourceScope(existing, await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext));
|
|
616
|
+
chunkKGUHJRHZ_cjs.assertWriteAccess({
|
|
600
617
|
requestContext,
|
|
601
618
|
resource: "stored-agents",
|
|
602
619
|
resourceId: storedAgentId,
|
|
@@ -621,8 +638,8 @@ var GET_STORED_AGENT_DEPENDENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
621
638
|
method: "GET",
|
|
622
639
|
path: "/stored/agents/:storedAgentId/dependents",
|
|
623
640
|
responseType: "json",
|
|
624
|
-
pathParamSchema:
|
|
625
|
-
responseSchema:
|
|
641
|
+
pathParamSchema: chunkHVATI3FQ_cjs.storedAgentIdPathParams,
|
|
642
|
+
responseSchema: chunkHVATI3FQ_cjs.getStoredAgentDependentsResponseSchema,
|
|
626
643
|
summary: "List dependents of a stored agent",
|
|
627
644
|
description: "Returns agents that reference the target as a sub-agent. Used to warn before deleting or unsharing. Caller-readable references appear in `dependents` (id + name); cross-workspace references the caller cannot read are aggregated in `hiddenCount` and only surfaced when the target is public.",
|
|
628
645
|
tags: ["Stored Agents"],
|
|
@@ -641,9 +658,9 @@ var GET_STORED_AGENT_DEPENDENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
641
658
|
if (!target) {
|
|
642
659
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
643
660
|
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
const filter =
|
|
661
|
+
chunkJUFS6SVC_cjs.assertStoredResourceScope(target, await chunkJUFS6SVC_cjs.getStoredResourceScope(mastra, requestContext));
|
|
662
|
+
chunkKGUHJRHZ_cjs.assertReadAccess({ requestContext, resource: "stored-agents", resourceId: storedAgentId, record: target });
|
|
663
|
+
const filter = chunkKGUHJRHZ_cjs.resolveAuthorFilter({ requestContext, resource: "stored-agents" });
|
|
647
664
|
const all = await agentsStore.listResolved({
|
|
648
665
|
perPage: false,
|
|
649
666
|
status: "published"
|
|
@@ -654,7 +671,7 @@ var GET_STORED_AGENT_DEPENDENTS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
654
671
|
for (const record of all.agents) {
|
|
655
672
|
if (record.id === storedAgentId) continue;
|
|
656
673
|
if (!referencesTarget(record.agents, storedAgentId)) continue;
|
|
657
|
-
if (
|
|
674
|
+
if (chunkKGUHJRHZ_cjs.matchesAuthorFilter(record, filter)) {
|
|
658
675
|
dependents.push({
|
|
659
676
|
id: record.id,
|
|
660
677
|
name: record.name ?? record.id
|
|
@@ -686,8 +703,8 @@ var PREVIEW_INSTRUCTIONS_ROUTE = chunkRZR7PLFW_cjs.createRoute({
|
|
|
686
703
|
method: "POST",
|
|
687
704
|
path: "/stored/agents/preview-instructions",
|
|
688
705
|
responseType: "json",
|
|
689
|
-
bodySchema:
|
|
690
|
-
responseSchema:
|
|
706
|
+
bodySchema: chunkHVATI3FQ_cjs.previewInstructionsBodySchema,
|
|
707
|
+
responseSchema: chunkHVATI3FQ_cjs.previewInstructionsResponseSchema,
|
|
691
708
|
summary: "Preview resolved instructions",
|
|
692
709
|
description: "Resolves an array of instruction blocks against a request context, evaluating rules, fetching prompt block references, and rendering template variables. Returns the final concatenated instruction string.",
|
|
693
710
|
tags: ["Stored Agents"],
|
|
@@ -714,5 +731,5 @@ exports.GET_STORED_AGENT_ROUTE = GET_STORED_AGENT_ROUTE;
|
|
|
714
731
|
exports.LIST_STORED_AGENTS_ROUTE = LIST_STORED_AGENTS_ROUTE;
|
|
715
732
|
exports.PREVIEW_INSTRUCTIONS_ROUTE = PREVIEW_INSTRUCTIONS_ROUTE;
|
|
716
733
|
exports.UPDATE_STORED_AGENT_ROUTE = UPDATE_STORED_AGENT_ROUTE;
|
|
717
|
-
//# sourceMappingURL=chunk-
|
|
718
|
-
//# sourceMappingURL=chunk-
|
|
734
|
+
//# sourceMappingURL=chunk-JRCLL2XG.cjs.map
|
|
735
|
+
//# sourceMappingURL=chunk-JRCLL2XG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/stored-agents.ts"],"names":["createRoute","listStoredAgentsQuerySchema","listStoredAgentsResponseSchema","HTTPException","resolveAuthorFilter","getStoredResourceScope","scopeStoredResourceMetadata","getCallerAuthorId","isBuilderFeatureEnabled","matchesAuthorFilter","annotated","authors","prepareAuthorEnrichment","withAuthors","attachAuthor","stripFavoriteFields","prepareFavoritesEnrichment","handleError","storedAgentIdPathParams","exportStoredAgentBodySchema","exportStoredAgentResponseSchema","assertStoredResourceScope","assertReadAccess","statusQuerySchema","getStoredAgentResponseSchema","enrichOrStripFavorites","createStoredAgentBodySchema","createStoredAgentResponseSchema","toSlug","validateMetadataAvatarUrl","updateStoredAgentBodySchema","updateStoredAgentResponseSchema","assertWriteAccess","handleAutoVersioning","deleteStoredAgentResponseSchema","getStoredAgentDependentsResponseSchema","previewInstructionsBodySchema","previewInstructionsResponseSchema"],"mappings":"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","file":"chunk-JRCLL2XG.cjs","sourcesContent":["import type { StorageCreateAgentInput, StorageUpdateAgentInput } from '@mastra/core/storage';\nimport type { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport {\n storedAgentIdPathParams,\n statusQuerySchema,\n listStoredAgentsQuerySchema,\n createStoredAgentBodySchema,\n updateStoredAgentBodySchema,\n listStoredAgentsResponseSchema,\n getStoredAgentResponseSchema,\n createStoredAgentResponseSchema,\n updateStoredAgentResponseSchema,\n deleteStoredAgentResponseSchema,\n getStoredAgentDependentsResponseSchema,\n exportStoredAgentBodySchema,\n exportStoredAgentResponseSchema,\n previewInstructionsBodySchema,\n previewInstructionsResponseSchema,\n} from '../schemas/stored-agents';\nimport type { ServerRoute, RouteSchemas, InferParams } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope, scopeStoredResourceMetadata, toSlug } from '../utils';\n\nimport { attachAuthor, prepareAuthorEnrichment } from './author-enrichment';\nimport {\n assertReadAccess,\n assertWriteAccess,\n getCallerAuthorId,\n matchesAuthorFilter,\n resolveAuthorFilter,\n} from './authorship';\nimport { isBuilderFeatureEnabled } from './editor-builder';\nimport { handleError } from './error';\nimport { enrichOrStripFavorites, prepareFavoritesEnrichment, stripFavoriteFields } from './favorites-enrichment';\nimport { validateMetadataAvatarUrl } from './validate-avatar';\nimport { handleAutoVersioning } from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * Resolve a `browser` field that may be a boolean shorthand from the UI.\n * - `true` → look up the admin's builder default browser config\n * - `false` → `null` (explicit clear)\n * - object/null/undefined → pass through unchanged\n */\nasync function resolveBrowserField(browser: unknown, mastra: { getEditor?: () => unknown }): Promise<unknown> {\n if (browser === true) {\n const editor = mastra.getEditor?.() as any;\n const builder = await editor?.resolveBuilder?.();\n const defaultBrowser = builder?.getConfiguration?.()?.agent?.browser;\n if (!defaultBrowser) {\n console.warn(\n '[mastra:server] Browser enabled (browser: true) but no default browser config found ' +\n 'in builder configuration. The agent will be created/updated without browser access. ' +\n 'Set `editor.builder.configuration.agent.browser` to fix this.',\n );\n }\n return defaultBrowser ?? undefined;\n }\n if (browser === false) {\n return null;\n }\n return browser;\n}\n\nconst AGENT_SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'instructions',\n 'model',\n 'tools',\n 'defaultOptions',\n 'workflows',\n 'agents',\n 'integrationTools',\n 'toolProviders',\n 'inputProcessors',\n 'outputProcessors',\n 'memory',\n 'scorers',\n 'requestContextSchema',\n 'mcpClients',\n 'skills',\n 'workspace',\n 'browser',\n] as const;\n\nconst CODE_AGENT_OVERRIDE_FIELDS = [\n 'instructions',\n 'tools',\n 'integrationTools',\n 'mcpClients',\n 'requestContextSchema',\n] as const;\n\n/**\n * Derive ownership flags from a code agent's editor config.\n * Mirrors the semantics of `editor.agent.applyStoredOverrides` so that\n * client save payloads, persisted snapshots, and export output all agree\n * on which fields Studio is allowed to own.\n */\nfunction getCodeAgentOwnership(editorConfig: unknown): {\n ownsInstructions: boolean;\n ownsTools: boolean;\n ownsToolDescriptionsOnly: boolean;\n} {\n if (editorConfig === false) {\n return { ownsInstructions: false, ownsTools: false, ownsToolDescriptionsOnly: false };\n }\n if (editorConfig === undefined || editorConfig === null) {\n // Legacy default: code agents without explicit editor config behave as fully editable.\n return { ownsInstructions: true, ownsTools: true, ownsToolDescriptionsOnly: false };\n }\n if (typeof editorConfig !== 'object') {\n return { ownsInstructions: false, ownsTools: false, ownsToolDescriptionsOnly: false };\n }\n const cfg = editorConfig as { instructions?: unknown; tools?: unknown };\n const ownsInstructions = cfg.instructions === true;\n const toolsCfg = cfg.tools;\n const ownsTools = toolsCfg === true;\n const ownsToolDescriptionsOnly =\n typeof toolsCfg === 'object' && toolsCfg !== null && (toolsCfg as { description?: unknown }).description === true;\n return { ownsInstructions, ownsTools, ownsToolDescriptionsOnly };\n}\n\nfunction sortForStableJson(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortForStableJson);\n }\n\n if (value && typeof value === 'object' && !(value instanceof Date)) {\n return Object.fromEntries(\n Object.entries(value as Record<string, unknown>)\n .filter(([, entry]) => entry !== undefined)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entry]) => [key, sortForStableJson(entry)]),\n );\n }\n\n return value;\n}\n\nfunction buildExportConfig(\n input: Record<string, unknown>,\n agent?: { __getEditorConfig?: () => unknown; source?: string },\n) {\n const editorConfig = agent?.__getEditorConfig?.();\n const isCodeAgent = agent?.source === 'code';\n const allowedFields = isCodeAgent ? CODE_AGENT_OVERRIDE_FIELDS : AGENT_SNAPSHOT_CONFIG_FIELDS;\n const ownership = isCodeAgent ? getCodeAgentOwnership(editorConfig) : null;\n const config: Record<string, unknown> = {};\n\n for (const field of allowedFields) {\n if (input[field] === undefined) continue;\n if (ownership) {\n if (field === 'instructions' && !ownership.ownsInstructions) continue;\n if (\n (field === 'tools' || field === 'integrationTools' || field === 'mcpClients') &&\n !ownership.ownsTools &&\n !ownership.ownsToolDescriptionsOnly\n ) {\n continue;\n }\n }\n config[field] = input[field];\n }\n\n return sortForStableJson(config) as Record<string, unknown>;\n}\n\nfunction agentExportFilename(agentId: string) {\n return `${agentId}.json`;\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/agents - List all stored agents\n */\nexport const LIST_STORED_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents',\n responseType: 'json',\n queryParamSchema: listStoredAgentsQuerySchema,\n responseSchema: listStoredAgentsResponseSchema,\n summary: 'List stored agents',\n description: 'Returns a paginated list of all agents stored in the database',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({\n mastra,\n requestContext,\n page,\n perPage,\n orderBy,\n status,\n authorId,\n visibility,\n metadata,\n favoritedOnly,\n pinFavoritedFor,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Resolve the visibility scope for this caller. Non-owner queries for\n // another author return only that author's public rows; default lists\n // return the caller's rows plus legacy unowned records.\n const filter = resolveAuthorFilter({\n requestContext,\n resource: 'stored-agents',\n queryAuthorId: authorId,\n queryVisibility: visibility === 'public' ? 'public' : undefined,\n });\n\n const scope = await getStoredResourceScope(mastra, requestContext);\n const scopedMetadata = scopeStoredResourceMetadata(metadata, scope);\n\n const callerId = getCallerAuthorId(requestContext);\n const favoritesEnabled = await isBuilderFeatureEnabled(mastra, 'favorites');\n const honoredStarredOnly = favoritesEnabled && favoritedOnly === true;\n const favoriteSubjectId = pinFavoritedFor ?? callerId;\n\n // `?favoritedOnly=true`: fetch caller's favorited IDs, then refilter + recompute total.\n if (honoredStarredOnly) {\n const effectivePerPage: number = perPage ?? 100;\n if (!favoriteSubjectId) {\n return { agents: [], total: 0, page, perPage: effectivePerPage, hasMore: false };\n }\n const favoritesStore = await storage.getStore('favorites');\n if (!favoritesStore) {\n throw new HTTPException(500, { message: 'Favorites storage domain is not available' });\n }\n const starredIds = await favoritesStore.listFavoritedIds({ userId: favoriteSubjectId, entityType: 'agent' });\n if (starredIds.length === 0) {\n return { agents: [], total: 0, page, perPage: effectivePerPage, hasMore: false };\n }\n const allMatching = await agentsStore.listResolved({\n perPage: false,\n orderBy,\n status,\n authorId: filter.kind === 'exact' ? filter.authorId : undefined,\n metadata: scopedMetadata,\n entityIds: starredIds,\n });\n const visible = allMatching.agents.filter(record => matchesAuthorFilter(record, filter));\n const total = visible.length;\n const startIdx = effectivePerPage === 0 ? 0 : page * effectivePerPage;\n const endIdx = effectivePerPage === 0 ? 0 : startIdx + effectivePerPage;\n const sliced = effectivePerPage === 0 ? [] : visible.slice(startIdx, endIdx);\n const annotated = sliced.map(record => ({ ...record, isFavorited: true }));\n const authors = await prepareAuthorEnrichment(\n mastra,\n requestContext,\n annotated.map(a => a.authorId),\n );\n const withAuthors = authors ? annotated.map(record => attachAuthor(record, authors)) : annotated;\n const hasMore = effectivePerPage > 0 && endIdx < total;\n return { agents: withAuthors, total, page, perPage: effectivePerPage, hasMore };\n }\n\n const result = await agentsStore.listResolved({\n page,\n perPage,\n orderBy,\n status,\n authorId: filter.kind === 'exact' ? filter.authorId : undefined,\n metadata: scopedMetadata,\n });\n\n // Post-filter to enforce ownership + visibility rules across all backends.\n // Storage adapters can only do an equality filter on authorId, so we apply\n // the ownedOrPublic / publicOnly logic here.\n // Note: `total` is left as the storage-reported count to keep pagination\n // math working. For `unrestricted` / `exact` filters nothing is removed.\n // For `ownedOrPublic` / `publicOnly`, downstream UIs should treat the\n // filter as a view over the caller's scope — an approximation is OK.\n const visibleAgents = result.agents.filter(record => matchesAuthorFilter(record, filter));\n\n const authors = await prepareAuthorEnrichment(\n mastra,\n requestContext,\n visibleAgents.map(a => a.authorId),\n );\n\n if (!favoritesEnabled) {\n const stripped = visibleAgents.map(stripFavoriteFields);\n const withAuthors = authors ? stripped.map(record => attachAuthor(record, authors)) : stripped;\n return { ...result, agents: withAuthors };\n }\n\n const enrichment = await prepareFavoritesEnrichment(\n mastra,\n requestContext,\n 'agent',\n visibleAgents.map(a => a.id),\n );\n const annotated = enrichment\n ? visibleAgents.map(record => ({ ...record, isFavorited: enrichment.starredIds.has(record.id) }))\n : visibleAgents.map(stripFavoriteFields);\n const withAuthors = authors ? annotated.map(record => attachAuthor(record, authors)) : annotated;\n\n return { ...result, agents: withAuthors };\n } catch (error) {\n return handleError(error, 'Error listing stored agents');\n }\n },\n});\n\nexport const EXPORT_STORED_AGENT_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:storedAgentId/export',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n bodySchema: exportStoredAgentBodySchema,\n responseSchema: exportStoredAgentResponseSchema,\n summary: 'Export stored agent override JSON',\n description: 'Returns deterministic JSON for an agent configuration or code-agent override without mutating storage',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, storedAgentId, ...body }) => {\n try {\n const storage = mastra.getStorage();\n const agentsStore = storage ? await storage.getStore('agents') : undefined;\n const storedAgent = await agentsStore?.getByIdResolved(storedAgentId, { status: 'draft' });\n if (storedAgent) {\n assertStoredResourceScope(storedAgent, await getStoredResourceScope(mastra, requestContext));\n assertReadAccess({ requestContext, resource: 'stored-agents', resourceId: storedAgentId, record: storedAgent });\n }\n\n let codeAgent: { __getEditorConfig?: () => unknown; source?: string } | undefined;\n try {\n codeAgent = mastra.getAgentById?.(storedAgentId) as typeof codeAgent;\n } catch {\n codeAgent = undefined;\n }\n\n if (!storedAgent && !codeAgent) {\n throw new HTTPException(404, { message: `Agent with id ${storedAgentId} not found` });\n }\n\n const config = buildExportConfig(body, codeAgent);\n const content = `${JSON.stringify(config, null, 2)}\\n`;\n\n return {\n agentId: storedAgentId,\n fileName: agentExportFilename(storedAgentId),\n content,\n config,\n };\n } catch (error) {\n return handleError(error, 'Error exporting stored agent');\n }\n },\n});\n\n/**\n * GET /stored/agents/:storedAgentId - Get a stored agent by ID\n */\nexport const GET_STORED_AGENT_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n queryParamSchema: statusQuerySchema,\n responseSchema: getStoredAgentResponseSchema,\n summary: 'Get stored agent by ID',\n description:\n 'Returns a specific agent from storage by its unique identifier. Use ?status=draft to resolve with the latest (draft) version, or ?status=published (default) for the active published version.',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, storedAgentId, status }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n const agent = await agentsStore.getByIdResolved(storedAgentId, { status });\n\n if (!agent) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Throws 404 if the caller isn't the owner, admin, `stored-agents:read[:<id>]`\n // holder, and the record isn't public/legacy-unowned.\n assertReadAccess({ requestContext, resource: 'stored-agents', resourceId: storedAgentId, record: agent });\n\n const authors = await prepareAuthorEnrichment(mastra, requestContext, [agent.authorId]);\n const withFavorite = await enrichOrStripFavorites(mastra, requestContext, 'agent', agent);\n return attachAuthor(withFavorite, authors);\n } catch (error) {\n return handleError(error, 'Error getting stored agent');\n }\n },\n});\n\n/**\n * POST /stored/agents - Create a new stored agent\n */\nexport const CREATE_STORED_AGENT_ROUTE: ServerRoute<\n InferParams<undefined, undefined, typeof createStoredAgentBodySchema>,\n z.infer<typeof createStoredAgentResponseSchema>,\n 'json',\n RouteSchemas<undefined, undefined, typeof createStoredAgentBodySchema, typeof createStoredAgentResponseSchema>,\n 'POST',\n '/stored/agents'\n> = createRoute({\n method: 'POST',\n path: '/stored/agents',\n responseType: 'json',\n bodySchema: createStoredAgentBodySchema,\n responseSchema: createStoredAgentResponseSchema,\n summary: 'Create stored agent',\n description: 'Creates a new agent in storage with the provided configuration',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({\n mastra,\n requestContext,\n id: providedId,\n metadata,\n visibility: bodyVisibility,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n toolProviders,\n mcpClients,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n skills,\n workspace,\n browser,\n requestContextSchema,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Derive ID from name if not explicitly provided\n const id = providedId || toSlug(name);\n\n if (!id) {\n throw new HTTPException(400, {\n message: 'Could not derive agent ID from name. Please provide an explicit id.',\n });\n }\n\n // Check if agent with this ID already exists\n const existing = await agentsStore.getById(id);\n if (existing) {\n throw new HTTPException(409, { message: `Agent with id ${id} already exists` });\n }\n\n // Force authorId from the authenticated caller; ignore any body-provided value.\n // No owner = always public (no auth / no user context).\n // With an owner, respect the client's choice, defaulting to 'private'.\n const authorId = getCallerAuthorId(requestContext) ?? undefined;\n const visibility = authorId ? (bodyVisibility ?? 'private') : 'public';\n\n // Reject oversized avatar images before writing to storage.\n validateMetadataAvatarUrl(metadata);\n\n // Model policy enforcement is intentionally not done on save: each UI\n // surface gates its own model picker via ModelPolicyProvider, and the\n // policy is surface-scoped (builder vs editor). Re-introducing a single\n // server-side check here would either over-enforce on the editor or\n // under-enforce on the builder until per-surface enforcement lands.\n\n const resolvedBrowser = await resolveBrowserField(browser, mastra);\n\n const input = {\n id,\n authorId,\n visibility,\n metadata: scopeStoredResourceMetadata(metadata, await getStoredResourceScope(mastra, requestContext)),\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n toolProviders,\n mcpClients,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n skills,\n workspace,\n browser: resolvedBrowser,\n requestContextSchema,\n } as StorageCreateAgentInput;\n\n // Use editor.agent.create() when available to apply builder defaults\n const editor = mastra.getEditor?.();\n if (editor) {\n await editor.agent.create(input);\n } else {\n // Fallback to direct storage create\n await agentsStore.create({ agent: input });\n }\n\n // Publish the initial version so the agent is immediately usable.\n // Without this, the thin record stays as status='draft' with activeVersionId=null,\n // which makes the agent unreachable via status='published' resolution.\n const { versions } = await agentsStore.listVersions({ agentId: id, perPage: 1 });\n const initialVersion = versions[0];\n if (initialVersion) {\n await agentsStore.update({\n id,\n activeVersionId: initialVersion.id,\n status: 'published',\n });\n editor?.agent.clearCache(id);\n }\n\n // Return the resolved agent (thin record + version config) using the newly published version\n const resolved = await agentsStore.getByIdResolved(id, { status: 'published' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve created agent' });\n }\n\n return enrichOrStripFavorites(mastra, requestContext, 'agent', resolved);\n } catch (error) {\n return handleError(error, 'Error creating stored agent');\n }\n },\n});\n\n/**\n * PATCH /stored/agents/:storedAgentId - Update a stored agent\n */\nexport const UPDATE_STORED_AGENT_ROUTE: ServerRoute<\n InferParams<typeof storedAgentIdPathParams, undefined, typeof updateStoredAgentBodySchema>,\n z.infer<typeof updateStoredAgentResponseSchema>,\n 'json',\n RouteSchemas<\n typeof storedAgentIdPathParams,\n undefined,\n typeof updateStoredAgentBodySchema,\n typeof updateStoredAgentResponseSchema\n >,\n 'PATCH',\n '/stored/agents/:storedAgentId'\n> = createRoute({\n method: 'PATCH',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n bodySchema: updateStoredAgentBodySchema,\n responseSchema: updateStoredAgentResponseSchema,\n summary: 'Update stored agent',\n description: 'Updates an existing agent in storage with the provided fields',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({\n mastra,\n requestContext,\n storedAgentId,\n // Metadata-level fields\n authorId,\n metadata,\n visibility,\n // Config fields (snapshot-level)\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n toolProviders,\n mcpClients,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n skills,\n workspace,\n browser,\n requestContextSchema,\n // Version metadata\n changeMessage,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Check if agent exists\n const existing = await agentsStore.getById(storedAgentId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n const scope = await getStoredResourceScope(mastra, requestContext);\n assertStoredResourceScope(existing, scope);\n\n // Throws 404 if the caller isn't the owner, admin, or `agents:edit[:<id>]` holder.\n assertWriteAccess({\n requestContext,\n resource: 'stored-agents',\n resourceId: storedAgentId,\n action: 'edit',\n record: existing,\n });\n\n // Reject oversized avatar images before writing to storage.\n validateMetadataAvatarUrl(metadata);\n\n // No owner = always public, regardless of what the client sent.\n const callerAuthorId = getCallerAuthorId(requestContext) ?? undefined;\n const resolvedVisibility = callerAuthorId ? visibility : visibility != null ? 'public' : undefined;\n\n // Model policy enforcement is intentionally not done on save: each UI\n // surface gates its own model picker via ModelPolicyProvider, and the\n // policy is surface-scoped (builder vs editor). Re-introducing a single\n // server-side check here would either over-enforce on the editor or\n // under-enforce on the builder until per-surface enforcement lands.\n\n // Resolve boolean browser shorthand from the UI\n const resolvedBrowser = await resolveBrowserField(browser, mastra);\n\n // For code-defined agents, strip fields the editor config does not allow\n // Studio to own. This keeps stored snapshots (and the per-entity files\n // they get persisted to) free of fields the server never reads back.\n let codeAgentForUpdate: { __getEditorConfig?: () => unknown; source?: string } | undefined;\n try {\n codeAgentForUpdate = mastra.getAgentById?.(storedAgentId) as typeof codeAgentForUpdate;\n } catch {\n codeAgentForUpdate = undefined;\n }\n if (codeAgentForUpdate?.source === 'code') {\n const ownership = getCodeAgentOwnership(codeAgentForUpdate.__getEditorConfig?.());\n if (!ownership.ownsInstructions) {\n instructions = undefined;\n }\n if (!ownership.ownsTools && !ownership.ownsToolDescriptionsOnly) {\n tools = undefined;\n integrationTools = undefined;\n mcpClients = undefined;\n }\n }\n\n const mergedMetadata: Record<string, unknown> = { ...(existing.metadata ?? {}), ...(metadata ?? {}) };\n const scopedMetadata = scopeStoredResourceMetadata(mergedMetadata, scope);\n\n // Update the agent with both metadata-level and config-level fields\n // The storage layer handles separating these into agent-record updates vs new-version creation\n // Cast needed because Zod's passthrough() output types don't exactly match the handwritten TS interfaces\n const updatedAgent = await agentsStore.update({\n id: storedAgentId,\n authorId,\n metadata: scopedMetadata,\n visibility: resolvedVisibility,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n toolProviders,\n mcpClients,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n skills,\n workspace,\n browser: resolvedBrowser,\n requestContextSchema,\n } as StorageUpdateAgentInput);\n\n // Build the snapshot config for auto-versioning comparison\n const configFields = {\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n integrationTools,\n toolProviders,\n mcpClients,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n skills,\n workspace,\n browser: resolvedBrowser,\n requestContextSchema,\n };\n\n // Filter out undefined values to get only the config fields that were provided\n const providedConfigFields = Object.fromEntries(Object.entries(configFields).filter(([_, v]) => v !== undefined));\n\n // Handle auto-versioning with retry logic for race conditions\n // This creates a new version if there are meaningful config changes.\n const autoVersionResult = await handleAutoVersioning(\n agentsStore as unknown as VersionedStoreInterface,\n storedAgentId,\n 'agentId',\n AGENT_SNAPSHOT_CONFIG_FIELDS,\n existing,\n updatedAgent,\n providedConfigFields,\n changeMessage ? { changeMessage } : undefined,\n );\n\n if (!autoVersionResult) {\n throw new Error('handleAutoVersioning returned undefined');\n }\n\n // In code mode, local saves should overwrite the most recent saved\n // snapshot rather than creating new draft versions on every keystroke\n // batch. Version history is intended to track commits, not raw saves.\n // We collapse the freshly created version onto the previous one by\n // deleting the prior latest version, leaving a single rolling snapshot.\n // When the user explicitly provides a changeMessage we treat that as a\n // commit and keep the new version as a discrete history entry.\n const isCodeSource = mastra.getEditor?.()?.getSource?.() === 'code';\n if (isCodeSource && autoVersionResult.versionCreated && !changeMessage) {\n const { versions } = await agentsStore.listVersions({ agentId: storedAgentId, perPage: 2 });\n const previousVersion = versions[1];\n if (previousVersion) {\n await agentsStore.deleteVersion(previousVersion.id);\n }\n }\n\n // Auto-publish: activate the latest version so the update is immediately\n // visible in list views. The Agent Builder UI has no separate \"Publish\"\n // button, so without this every edit after creation would create orphaned\n // draft versions that never surface in the list.\n // When a proper publish flow ships, this block can be removed.\n if (autoVersionResult.versionCreated) {\n const { versions } = await agentsStore.listVersions({ agentId: storedAgentId, perPage: 1 });\n const latestVersion = versions[0];\n if (latestVersion) {\n await agentsStore.update({\n id: storedAgentId,\n activeVersionId: latestVersion.id,\n });\n }\n }\n\n // Clear the cached agent instance so the next request gets the updated config\n const editor = mastra.getEditor();\n if (editor) {\n editor.agent.clearCache(storedAgentId);\n }\n\n // Return the resolved agent with the latest version\n const resolved = await agentsStore.getByIdResolved(storedAgentId, { status: 'draft' });\n if (!resolved) {\n throw new HTTPException(500, { message: 'Failed to resolve updated agent' });\n }\n\n return enrichOrStripFavorites(mastra, requestContext, 'agent', resolved);\n } catch (error) {\n return handleError(error, 'Error updating stored agent');\n }\n },\n});\n\n/**\n * DELETE /stored/agents/:storedAgentId - Delete a stored agent\n */\nexport const DELETE_STORED_AGENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: deleteStoredAgentResponseSchema,\n summary: 'Delete stored agent',\n description: 'Deletes an agent from storage by its unique identifier',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, storedAgentId }) => {\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 // Check if agent exists\n const existing = await agentsStore.getById(storedAgentId);\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n assertStoredResourceScope(existing, await getStoredResourceScope(mastra, requestContext));\n\n // Throws 404 if the caller isn't the owner, admin, or `agents:delete[:<id>]` holder.\n assertWriteAccess({\n requestContext,\n resource: 'stored-agents',\n resourceId: storedAgentId,\n action: 'delete',\n record: existing,\n });\n\n await agentsStore.delete(storedAgentId);\n\n // Cascade: drop any favorite rows referencing this agent so they don't\n // resurrect if the same id is reused. Failure must not abort the delete.\n try {\n const favoritesStore = await storage.getStore('favorites');\n await favoritesStore?.deleteFavoritesForEntity({ entityType: 'agent', entityId: storedAgentId });\n } catch (cascadeError) {\n mastra\n .getLogger?.()\n ?.warn?.('Failed to cascade-delete favorites for agent', { storedAgentId, error: cascadeError });\n }\n\n // Clear the cached agent instance\n mastra.getEditor()?.agent.clearCache(storedAgentId);\n\n return { success: true, message: `Agent ${storedAgentId} deleted successfully` };\n } catch (error) {\n return handleError(error, 'Error deleting stored agent');\n }\n },\n});\n\n/**\n * GET /stored/agents/:storedAgentId/dependents - List agents that reference\n * the target agent as a sub-agent.\n *\n * Returns `dependents` for caller-visible references (named) and `hiddenCount`\n * for references from agents the caller can't read (count only, no leak).\n * `hiddenCount` is only populated when the target is public — private targets\n * can't legitimately be referenced from other workspaces.\n */\nexport const GET_STORED_AGENT_DEPENDENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:storedAgentId/dependents',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: getStoredAgentDependentsResponseSchema,\n summary: 'List dependents of a stored agent',\n description:\n 'Returns agents that reference the target as a sub-agent. Used to warn before deleting or unsharing. Caller-readable references appear in `dependents` (id + name); cross-workspace references the caller cannot read are aggregated in `hiddenCount` and only surfaced when the target is public.',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, storedAgentId }) => {\n try {\n const storage = mastra.getStorage();\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 // Mirrors GET: 404 if the caller can't read the target. Prevents the\n // dependents endpoint from being usable as a sub-agent reference oracle.\n const target = await agentsStore.getById(storedAgentId);\n if (!target) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n assertStoredResourceScope(target, await getStoredResourceScope(mastra, requestContext));\n assertReadAccess({ requestContext, resource: 'stored-agents', resourceId: storedAgentId, record: target });\n\n // Full scan (no authorId filter) so a public target can detect\n // cross-workspace private dependents. We split into caller-visible\n // `dependents` vs `hiddenCount` so private agents owned by other users\n // are counted but never named.\n const filter = resolveAuthorFilter({ requestContext, resource: 'stored-agents' });\n const all = await agentsStore.listResolved({\n perPage: false,\n status: 'published',\n });\n\n const targetIsPublic = (target as { visibility?: string }).visibility === 'public';\n\n // Caller-readable dependents are surfaced by name (the caller already\n // has access to them). Cross-workspace dependents the caller cannot\n // read are aggregated into hiddenCount, only when the target is public.\n const dependents: Array<{ id: string; name: string }> = [];\n let hiddenCount = 0;\n\n for (const record of all.agents) {\n if (record.id === storedAgentId) continue;\n if (!referencesTarget((record as { agents?: unknown }).agents, storedAgentId)) continue;\n\n if (matchesAuthorFilter(record, filter)) {\n dependents.push({\n id: record.id,\n name: (record as { name?: string }).name ?? record.id,\n });\n } else if (targetIsPublic) {\n hiddenCount += 1;\n }\n // Private target: drop hidden refs silently — they shouldn't exist\n // and surfacing the count would leak cross-workspace structure.\n }\n\n return { dependents, hiddenCount };\n } catch (error) {\n return handleError(error, 'Error listing stored agent dependents');\n }\n },\n});\n\n/**\n * Does the resolved `agents` snapshot field reference `targetId`?\n * The field can be either a static `Record<string, toolConfig>` or an array of\n * conditional variants (`{ value, rules? }`). Match if any variant's value\n * (or the static object) contains a matching key.\n */\nfunction referencesTarget(subAgents: unknown, targetId: string): boolean {\n if (!subAgents) return false;\n if (Array.isArray(subAgents)) {\n return subAgents.some(variant => {\n const value = (variant as { value?: unknown })?.value;\n return Boolean(value && typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, targetId));\n });\n }\n if (typeof subAgents === 'object') {\n return Object.prototype.hasOwnProperty.call(subAgents, targetId);\n }\n return false;\n}\n\n/**\n * POST /stored/agents/preview-instructions - Preview resolved instructions\n */\nexport const PREVIEW_INSTRUCTIONS_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/preview-instructions',\n responseType: 'json',\n bodySchema: previewInstructionsBodySchema,\n responseSchema: previewInstructionsResponseSchema,\n summary: 'Preview resolved instructions',\n description:\n 'Resolves an array of instruction blocks against a request context, evaluating rules, fetching prompt block references, and rendering template variables. Returns the final concatenated instruction string.',\n tags: ['Stored Agents'],\n requiresAuth: true,\n handler: async ({ mastra, blocks, context }) => {\n try {\n const editor = mastra.getEditor();\n if (!editor) {\n throw new HTTPException(500, { message: 'Editor is not configured' });\n }\n\n const result = await editor.prompt.preview(blocks, context ?? {});\n\n return { result };\n } catch (error) {\n return handleError(error, 'Error previewing instructions');\n }\n },\n});\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkKGMN6MLX_cjs = require('./chunk-KGMN6MLX.cjs');
|
|
4
4
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkSXKQ7CSX_cjs = require('./chunk-SXKQ7CSX.cjs');
|
|
6
6
|
|
|
7
7
|
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/double-indexed-kv.js
|
|
8
8
|
var DoubleIndexedKV = class {
|
|
@@ -830,7 +830,7 @@ async function getStoredResourceScope(mastra, requestContext) {
|
|
|
830
830
|
const options = scopeConfig === true ? {} : scopeConfig;
|
|
831
831
|
const metadataKey = options.metadataKey ?? DEFAULT_STORED_RESOURCE_SCOPE_METADATA_KEY;
|
|
832
832
|
const user = requestContext?.get("user");
|
|
833
|
-
const resolved = options.resolve ? await options.resolve({ requestContext, user }) : requestContext?.get(
|
|
833
|
+
const resolved = options.resolve ? await options.resolve({ requestContext, user }) : requestContext?.get(chunkSXKQ7CSX_cjs.MASTRA_RESOURCE_ID_KEY);
|
|
834
834
|
if (!resolved) {
|
|
835
835
|
if (options.requireScope === false) {
|
|
836
836
|
return void 0;
|
|
@@ -1041,5 +1041,5 @@ exports.normalizeRoutePath = normalizeRoutePath;
|
|
|
1041
1041
|
exports.scopeStoredResourceMetadata = scopeStoredResourceMetadata;
|
|
1042
1042
|
exports.stringify = stringify;
|
|
1043
1043
|
exports.toSlug = toSlug;
|
|
1044
|
-
//# sourceMappingURL=chunk-
|
|
1045
|
-
//# sourceMappingURL=chunk-
|
|
1044
|
+
//# sourceMappingURL=chunk-JUFS6SVC.cjs.map
|
|
1045
|
+
//# sourceMappingURL=chunk-JUFS6SVC.cjs.map
|