@mastra/server 1.32.0-alpha.2 → 1.32.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 +30 -0
- package/dist/{chunk-OJ7SK6PH.js → chunk-2OGDU5U7.js} +5 -5
- package/dist/{chunk-OJ7SK6PH.js.map → chunk-2OGDU5U7.js.map} +1 -1
- package/dist/{chunk-4JWF4VAL.js → chunk-4H5DNMAO.js} +3 -3
- package/dist/{chunk-4JWF4VAL.js.map → chunk-4H5DNMAO.js.map} +1 -1
- package/dist/{chunk-NRKGN3C5.js → chunk-4QGPES7N.js} +4 -4
- package/dist/{chunk-NRKGN3C5.js.map → chunk-4QGPES7N.js.map} +1 -1
- package/dist/{chunk-33USMBWV.js → chunk-4Y77CVSI.js} +34 -10
- package/dist/chunk-4Y77CVSI.js.map +1 -0
- package/dist/{chunk-XUFQVLBC.cjs → chunk-5APP5R3R.cjs} +3 -3
- package/dist/{chunk-XUFQVLBC.cjs.map → chunk-5APP5R3R.cjs.map} +1 -1
- package/dist/{chunk-RL34ZMLF.cjs → chunk-5UK4WOHD.cjs} +46 -46
- package/dist/{chunk-RL34ZMLF.cjs.map → chunk-5UK4WOHD.cjs.map} +1 -1
- package/dist/{chunk-XEERRXWL.cjs → chunk-6V7NAUV4.cjs} +3 -3
- package/dist/{chunk-XEERRXWL.cjs.map → chunk-6V7NAUV4.cjs.map} +1 -1
- package/dist/{chunk-OPBMOOBR.js → chunk-6XEWLKEU.js} +5 -5
- package/dist/{chunk-OPBMOOBR.js.map → chunk-6XEWLKEU.js.map} +1 -1
- package/dist/{chunk-AF6AYXRW.cjs → chunk-6XN2MNYW.cjs} +22 -22
- package/dist/{chunk-AF6AYXRW.cjs.map → chunk-6XN2MNYW.cjs.map} +1 -1
- package/dist/{chunk-AOKUS5NX.js → chunk-ABCXNCRJ.js} +3 -3
- package/dist/{chunk-AOKUS5NX.js.map → chunk-ABCXNCRJ.js.map} +1 -1
- package/dist/{chunk-64M357LE.js → chunk-ALVHNIDP.js} +5 -5
- package/dist/{chunk-64M357LE.js.map → chunk-ALVHNIDP.js.map} +1 -1
- package/dist/{chunk-KQU6VKAO.cjs → chunk-APVIDF5T.cjs} +3 -3
- package/dist/{chunk-KQU6VKAO.cjs.map → chunk-APVIDF5T.cjs.map} +1 -1
- package/dist/{chunk-EAJSW5GK.js → chunk-BSGOXMAI.js} +3 -3
- package/dist/{chunk-EAJSW5GK.js.map → chunk-BSGOXMAI.js.map} +1 -1
- package/dist/{chunk-CBSIIPHQ.js → chunk-COAE7JJY.js} +6 -6
- package/dist/{chunk-CBSIIPHQ.js.map → chunk-COAE7JJY.js.map} +1 -1
- package/dist/{chunk-72RVQAAZ.js → chunk-DK46ZSF7.js} +4 -4
- package/dist/{chunk-72RVQAAZ.js.map → chunk-DK46ZSF7.js.map} +1 -1
- package/dist/{chunk-HKXIZNJC.js → chunk-EPYO4OC5.js} +4 -4
- package/dist/{chunk-HKXIZNJC.js.map → chunk-EPYO4OC5.js.map} +1 -1
- package/dist/{chunk-YMBKVVDF.cjs → chunk-ETWIAKQ7.cjs} +13 -13
- package/dist/{chunk-YMBKVVDF.cjs.map → chunk-ETWIAKQ7.cjs.map} +1 -1
- package/dist/{chunk-CEZZQMPM.cjs → chunk-EUJHJEM6.cjs} +4 -4
- package/dist/{chunk-CEZZQMPM.cjs.map → chunk-EUJHJEM6.cjs.map} +1 -1
- package/dist/{chunk-EWNTXTFB.cjs → chunk-EXVKDDKD.cjs} +4 -4
- package/dist/{chunk-EWNTXTFB.cjs.map → chunk-EXVKDDKD.cjs.map} +1 -1
- package/dist/{chunk-K745HNW2.cjs → chunk-F22H7Z7L.cjs} +4 -4
- package/dist/{chunk-K745HNW2.cjs.map → chunk-F22H7Z7L.cjs.map} +1 -1
- package/dist/{chunk-F23SQINQ.js → chunk-FFNKVUBU.js} +6 -6
- package/dist/{chunk-F23SQINQ.js.map → chunk-FFNKVUBU.js.map} +1 -1
- package/dist/{chunk-OQHTG2JK.cjs → chunk-FZSDG2KA.cjs} +4 -4
- package/dist/{chunk-OQHTG2JK.cjs.map → chunk-FZSDG2KA.cjs.map} +1 -1
- package/dist/{chunk-HBWNPGIL.js → chunk-GSURMQA2.js} +4 -4
- package/dist/{chunk-HBWNPGIL.js.map → chunk-GSURMQA2.js.map} +1 -1
- package/dist/{chunk-XOHBH6NQ.js → chunk-GTERDDNK.js} +4 -4
- package/dist/{chunk-XOHBH6NQ.js.map → chunk-GTERDDNK.js.map} +1 -1
- package/dist/{chunk-M7L5EVQE.cjs → chunk-GVLAYCDU.cjs} +6 -6
- package/dist/{chunk-M7L5EVQE.cjs.map → chunk-GVLAYCDU.cjs.map} +1 -1
- package/dist/{chunk-OUS6FNA7.js → chunk-GXSML4LI.js} +5 -5
- package/dist/{chunk-OUS6FNA7.js.map → chunk-GXSML4LI.js.map} +1 -1
- package/dist/{chunk-NIRJGDC6.cjs → chunk-HTSSEM5Z.cjs} +3 -3
- package/dist/{chunk-NIRJGDC6.cjs.map → chunk-HTSSEM5Z.cjs.map} +1 -1
- package/dist/{chunk-DCMRHRHR.js → chunk-I34RGOPQ.js} +3 -3
- package/dist/{chunk-DCMRHRHR.js.map → chunk-I34RGOPQ.js.map} +1 -1
- package/dist/{chunk-WYSQECWW.js → chunk-I7EPR6KM.js} +7 -7
- package/dist/{chunk-WYSQECWW.js.map → chunk-I7EPR6KM.js.map} +1 -1
- package/dist/{chunk-F5RU45N6.cjs → chunk-IYQS5YRY.cjs} +7 -7
- package/dist/{chunk-F5RU45N6.cjs.map → chunk-IYQS5YRY.cjs.map} +1 -1
- package/dist/{chunk-OZC7GEO5.cjs → chunk-JHUXQK47.cjs} +3 -3
- package/dist/{chunk-OZC7GEO5.cjs.map → chunk-JHUXQK47.cjs.map} +1 -1
- package/dist/{chunk-OBRYBTX6.cjs → chunk-JLRBUMQA.cjs} +5 -5
- package/dist/{chunk-OBRYBTX6.cjs.map → chunk-JLRBUMQA.cjs.map} +1 -1
- package/dist/{chunk-OCBL7S62.js → chunk-JU54MAJE.js} +5 -5
- package/dist/{chunk-OCBL7S62.js.map → chunk-JU54MAJE.js.map} +1 -1
- package/dist/{chunk-67TYG7WH.js → chunk-KUEMDK4R.js} +3 -3
- package/dist/{chunk-67TYG7WH.js.map → chunk-KUEMDK4R.js.map} +1 -1
- package/dist/{chunk-X3RINDH6.js → chunk-L3LU2FSK.js} +56 -6
- package/dist/chunk-L3LU2FSK.js.map +1 -0
- package/dist/{chunk-T6MMZWHW.cjs → chunk-L5GHLBMN.cjs} +53 -53
- package/dist/{chunk-T6MMZWHW.cjs.map → chunk-L5GHLBMN.cjs.map} +1 -1
- package/dist/{chunk-VRPAOMXW.js → chunk-LVJUHHZY.js} +7 -7
- package/dist/{chunk-VRPAOMXW.js.map → chunk-LVJUHHZY.js.map} +1 -1
- package/dist/{chunk-ZHEQYOTL.cjs → chunk-LX3ESTTN.cjs} +83 -31
- package/dist/chunk-LX3ESTTN.cjs.map +1 -0
- package/dist/{chunk-DIBOFJUK.cjs → chunk-MG4EE3KA.cjs} +3 -3
- package/dist/{chunk-DIBOFJUK.cjs.map → chunk-MG4EE3KA.cjs.map} +1 -1
- package/dist/{chunk-X47OINMY.cjs → chunk-MIK6X2SR.cjs} +10 -10
- package/dist/{chunk-X47OINMY.cjs.map → chunk-MIK6X2SR.cjs.map} +1 -1
- package/dist/{chunk-CR7RGILH.js → chunk-MJXZZQ5O.js} +3 -3
- package/dist/{chunk-CR7RGILH.js.map → chunk-MJXZZQ5O.js.map} +1 -1
- package/dist/{chunk-4UMO2IGR.cjs → chunk-MMHEXUTF.cjs} +3 -3
- package/dist/{chunk-4UMO2IGR.cjs.map → chunk-MMHEXUTF.cjs.map} +1 -1
- package/dist/{chunk-ZCCXXT7V.cjs → chunk-N4IQKTJO.cjs} +90 -20
- package/dist/chunk-N4IQKTJO.cjs.map +1 -0
- package/dist/{chunk-RPEPKUZQ.js → chunk-NP5C5PIL.js} +7 -7
- package/dist/{chunk-RPEPKUZQ.js.map → chunk-NP5C5PIL.js.map} +1 -1
- package/dist/{chunk-VG6A54JE.js → chunk-OGFJRI4R.js} +3 -3
- package/dist/{chunk-VG6A54JE.js.map → chunk-OGFJRI4R.js.map} +1 -1
- package/dist/{chunk-KTTHNIBJ.js → chunk-OTRCNZO4.js} +8 -8
- package/dist/{chunk-KTTHNIBJ.js.map → chunk-OTRCNZO4.js.map} +1 -1
- package/dist/{chunk-K2KWDOYR.js → chunk-OYVLXYUL.js} +3 -3
- package/dist/{chunk-K2KWDOYR.js.map → chunk-OYVLXYUL.js.map} +1 -1
- package/dist/{chunk-ODCWNXTX.cjs → chunk-P2PZPH24.cjs} +34 -10
- package/dist/chunk-P2PZPH24.cjs.map +1 -0
- package/dist/{chunk-FFDMYX2V.cjs → chunk-P6DRWWFU.cjs} +4 -4
- package/dist/{chunk-FFDMYX2V.cjs.map → chunk-P6DRWWFU.cjs.map} +1 -1
- package/dist/{chunk-ASVWXKET.cjs → chunk-QCSBOQGP.cjs} +5 -5
- package/dist/{chunk-ASVWXKET.cjs.map → chunk-QCSBOQGP.cjs.map} +1 -1
- package/dist/{chunk-IRKGFNRR.js → chunk-QNTYBN3J.js} +7 -7
- package/dist/{chunk-IRKGFNRR.js.map → chunk-QNTYBN3J.js.map} +1 -1
- package/dist/{chunk-CZU262RD.cjs → chunk-QXG537D5.cjs} +5 -5
- package/dist/{chunk-CZU262RD.cjs.map → chunk-QXG537D5.cjs.map} +1 -1
- package/dist/{chunk-RF5ZDERV.js → chunk-RFKNM47Y.js} +4 -4
- package/dist/{chunk-RF5ZDERV.js.map → chunk-RFKNM47Y.js.map} +1 -1
- package/dist/{chunk-ANEBYNP6.cjs → chunk-RHA7MWOI.cjs} +39 -39
- package/dist/{chunk-ANEBYNP6.cjs.map → chunk-RHA7MWOI.cjs.map} +1 -1
- package/dist/{chunk-Q2T2Q4S5.cjs → chunk-RRS33WBW.cjs} +3 -3
- package/dist/{chunk-Q2T2Q4S5.cjs.map → chunk-RRS33WBW.cjs.map} +1 -1
- package/dist/{chunk-TLOT3CIB.js → chunk-S65F3MGF.js} +87 -17
- package/dist/chunk-S65F3MGF.js.map +1 -0
- package/dist/{chunk-2REMDR2Q.cjs → chunk-SMAUVMWQ.cjs} +5 -5
- package/dist/{chunk-2REMDR2Q.cjs.map → chunk-SMAUVMWQ.cjs.map} +1 -1
- package/dist/{chunk-XCXPPGJ3.cjs → chunk-SRJJBXTO.cjs} +6 -6
- package/dist/{chunk-XCXPPGJ3.cjs.map → chunk-SRJJBXTO.cjs.map} +1 -1
- package/dist/{chunk-FICILXAQ.js → chunk-SXARBGNQ.js} +3 -3
- package/dist/{chunk-FICILXAQ.js.map → chunk-SXARBGNQ.js.map} +1 -1
- package/dist/{chunk-NKD5XK43.js → chunk-TEVHVRZI.js} +5 -5
- package/dist/{chunk-NKD5XK43.js.map → chunk-TEVHVRZI.js.map} +1 -1
- package/dist/{chunk-LO7CBY5Q.js → chunk-VF2DSR6J.js} +5 -5
- package/dist/{chunk-LO7CBY5Q.js.map → chunk-VF2DSR6J.js.map} +1 -1
- package/dist/{chunk-WMFH3SH2.cjs → chunk-VIX5OA2V.cjs} +3 -3
- package/dist/{chunk-WMFH3SH2.cjs.map → chunk-VIX5OA2V.cjs.map} +1 -1
- package/dist/{chunk-HN3V6UA4.cjs → chunk-WYHOHNYZ.cjs} +9 -9
- package/dist/{chunk-HN3V6UA4.cjs.map → chunk-WYHOHNYZ.cjs.map} +1 -1
- package/dist/{chunk-5VMRQT5S.cjs → chunk-X37VNBBB.cjs} +4 -4
- package/dist/{chunk-5VMRQT5S.cjs.map → chunk-X37VNBBB.cjs.map} +1 -1
- package/dist/{chunk-6M7OOHNA.js → chunk-XBT4ZT22.js} +6 -6
- package/dist/{chunk-6M7OOHNA.js.map → chunk-XBT4ZT22.js.map} +1 -1
- package/dist/{chunk-DOTOVTE2.js → chunk-YH452QGH.js} +4 -4
- package/dist/{chunk-DOTOVTE2.js.map → chunk-YH452QGH.js.map} +1 -1
- package/dist/{chunk-R7X4YOSH.js → chunk-YWORLTQM.js} +3 -3
- package/dist/{chunk-R7X4YOSH.js.map → chunk-YWORLTQM.js.map} +1 -1
- package/dist/{chunk-CTYPGLJG.cjs → chunk-ZATCZFSW.cjs} +10 -10
- package/dist/{chunk-CTYPGLJG.cjs.map → chunk-ZATCZFSW.cjs.map} +1 -1
- package/dist/{chunk-LGR7SFQ5.cjs → chunk-ZSEAPJ73.cjs} +19 -19
- package/dist/{chunk-LGR7SFQ5.cjs.map → chunk-ZSEAPJ73.cjs.map} +1 -1
- package/dist/{chunk-GME2ZNSG.cjs → chunk-ZV7XANBD.cjs} +4 -4
- package/dist/{chunk-GME2ZNSG.cjs.map → chunk-ZV7XANBD.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/server/handlers/a2a.cjs +10 -10
- package/dist/server/handlers/a2a.d.ts +12 -6
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +38 -38
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +44 -36
- package/dist/server/handlers/observability.d.ts +212 -0
- package/dist/server/handlers/observability.d.ts.map +1 -1
- 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/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/schedules.cjs +6 -6
- package/dist/server/handlers/schedules.d.ts +43 -4
- package/dist/server/handlers/schedules.d.ts.map +1 -1
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +2 -2
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +5 -5
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +16 -16
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +24 -24
- 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 +38 -38
- package/dist/server/handlers.js +14 -14
- package/dist/server/schemas/index.cjs +203 -203
- package/dist/server/schemas/index.js +7 -7
- package/dist/server/schemas/schedules.d.ts +53 -5
- package/dist/server/schemas/schedules.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +302 -300
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +38 -36
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +209 -1
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/chunk-33USMBWV.js.map +0 -1
- package/dist/chunk-ODCWNXTX.cjs.map +0 -1
- package/dist/chunk-TLOT3CIB.js.map +0 -1
- package/dist/chunk-X3RINDH6.js.map +0 -1
- package/dist/chunk-ZCCXXT7V.cjs.map +0 -1
- package/dist/chunk-ZHEQYOTL.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":";;;;;;AAMO,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C;AAC7E,CAAC,CAAA;AAEM,IAAM,sBAAA,GAAyB,EAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC3E,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kBAAkB;AACjD,CAAC,CAAA;AAMM,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B,CAAA;AAAA,EAC1D,OAAA,EAAS,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sCAAsC;AACvG,CAAC,CAAA;AAMD,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EACzC,EAAA,EAAI,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC7C,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACxD,YAAA,EAAc,CAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACpF,oBAAA,EAAsB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC/G,CAAC,CAAA;AAED,IAAM,6BAAA,GAAgC,EAAE,MAAA,CAAO;AAAA,EAC7C,EAAA,EAAI,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACjD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACnD,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EACzD,MAAA,EAAQ,EAAE,IAAA,CAAK,CAAC,UAAU,SAAS,CAAC,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACpE,aAAa,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC5E,WAAA,EAAa,EAAE,MAAA,CAAO,IAAA,GAAO,QAAA,EAAS,CAAE,SAAS,wBAAwB;AAC3E,CAAC,CAAA;AAED,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EACzC,MAAM,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACrF,gBAAA,EAAkB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACjF,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB;AAC/D,CAAC,CAAA;AAED,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAM,CAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAAE,SAAS,uDAAuD,CAAA;AAAA,EAC7F,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAChE,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB;AAC/D,CAAC,CAAA;AAED,IAAM,6BAAA,GAAgC,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAM,CAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAAE,SAAS,sDAAsD,CAAA;AAAA,EAC5F,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB;AAC/D,CAAC,CAAA;AAED,IAAM,0BAAA,GAA6B,CAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,EAC9D,yBAAA;AAAA,EACA,4BAAA;AAAA,EACA;AACF,CAAC,CAAA;AAEM,IAAM,kCAAA,GAAqC,CAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA;AAE5E,IAAM,sCAAA,GAAyC,CAAA,CAAE,KAAA,CAAM,6BAA6B,CAAA;AAEpF,IAAM,4BAAA,GAA+B,0BAAA;AAErC,IAAM,+BAAA,GAAkC,EAAE,MAAA,CAAO;AAAA,EACtD,OAAA,EAAS,EAAE,OAAA;AACb,CAAC,CAAA;;;ACvDD,SAAS,uBAAA,GAAgC;AACvC,EAAA,IAAI,CAAC,YAAA,CAAa,GAAA,CAAI,UAAU,CAAA,EAAG;AACjC,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,oDAAoD,CAAA;AAAA,EAC9F;AACF;AAEA,SAAS,iBAAA,CAAkB,QAAa,QAAA,EAAkB;AACxD,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,QAAA,IAAY,EAAC;AACrC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA,CAAE,KAAK,CAAC,CAAA,KAAW,CAAA,CAAE,EAAA,KAAO,QAAQ,CAAA;AAC1E,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,SAAA,GAAY,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA,CACrC,GAAA,CAAI,CAAC,CAAA,KAAW,CAAA,CAAE,EAAE,CAAA,CACpB,IAAA,CAAK,IAAI,CAAA;AACZ,IAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,MAC3B,OAAA,EAAS,CAAA,SAAA,EAAY,QAAQ,CAAA,gCAAA,EAAmC,aAAa,MAAM,CAAA;AAAA,KACpF,CAAA;AAAA,EACH;AACA,EAAA,OAAO,OAAA;AACT;AAEA,SAAS,iBAAA,CAAkB,QAAa,OAAA,EAAiB;AACvD,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,YAAA,GAAe,OAAO,CAAA;AAC3C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,MAC3B,OAAA,EAAS,UAAU,OAAO,CAAA,WAAA;AAAA,KAC3B,CAAA;AAAA,EACH;AACF;AASO,IAAM,+BAA+B,WAAA,CAAY;AAAA,EACtD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,qBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,cAAA,EAAgB,kCAAA;AAAA,EAChB,OAAA,EAAS,wBAAA;AAAA,EACT,WAAA,EAAa,oEAAA;AAAA,EACb,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,EACjB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,IAAA,uBAAA,EAAwB;AACxB,IAAA,IAAI;AACF,MAAA,MAAM,QAAA,GAAY,MAAA,CAAe,QAAA,IAAY,EAAC;AAC9C,MAAA,OAAO,OAAO,MAAA,CAAO,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,OAAA,KAAiB;AACnD,QAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,UAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,QACzB;AACA,QAAA,OAAO;AAAA,UACL,IAAI,OAAA,CAAQ,EAAA;AAAA,UACZ,IAAA,EAAM,OAAA,CAAQ,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,GAAI,OAAA,CAAQ,EAAA,CAAG,KAAA,CAAM,CAAC,CAAA;AAAA,UAC7D,YAAA,EAAc;AAAA,SAChB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,IAC7D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,mCAAmC,WAAA,CAAY;AAAA,EAC1D,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,mCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,yBAAA;AAAA,EACjB,cAAA,EAAgB,sCAAA;AAAA,EAChB,OAAA,EAAS,4BAAA;AAAA,EACT,WAAA,EAAa,qEAAA;AAAA,EACb,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,EACjB,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,UAAS,KAAM;AACvC,IAAA,uBAAA,EAAwB;AACxB,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,iBAAA,CAAkB,MAAA,EAAQ,QAAQ,CAAA;AAElD,MAAA,IAAI,CAAC,QAAQ,iBAAA,EAAmB;AAC9B,QAAA,OAAO,EAAC;AAAA,MACV;AAEA,MAAA,OAAO,MAAM,QAAQ,iBAAA,EAAkB;AAAA,IACzC,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,qCAAqC,CAAA;AAAA,IACjE;AAAA,EACF;AACF,CAAC;AAKM,IAAM,wBAAwB,WAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,6BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,yBAAA;AAAA,EACjB,UAAA,EAAY,wBAAA;AAAA,EACZ,cAAA,EAAgB,4BAAA;AAAA,EAChB,OAAA,EAAS,0BAAA;AAAA,EACT,WAAA,EAAa,6EAAA;AAAA,EACb,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,EACjB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,QAAQ,QAAA,EAAU,OAAA,EAAS,SAAQ,KAAM;AACzD,IAAA,uBAAA,EAAwB;AACxB,IAAA,IAAI;AACF,MAAA,MAAM,OAAA,GAAU,iBAAA,CAAkB,MAAA,EAAQ,QAAQ,CAAA;AAElD,MAAA,IAAI,CAAC,QAAQ,OAAA,EAAS;AACpB,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,UAC3B,OAAA,EAAS,YAAY,QAAQ,CAAA,0CAAA;AAAA,SAC9B,CAAA;AAAA,MACH;AAEA,MAAA,OAAO,MAAM,OAAA,CAAQ,OAAA,CAAQ,OAAA,EAAS,OAAO,CAAA;AAAA,IAC/C,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,mCAAmC,CAAA;AAAA,IAC/D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,2BAA2B,WAAA,CAAY;AAAA,EAClD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,yCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,sBAAA;AAAA,EACjB,cAAA,EAAgB,+BAAA;AAAA,EAChB,OAAA,EAAS,+BAAA;AAAA,EACT,WAAA,EAAa,yDAAA;AAAA,EACb,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,EACjB,YAAA,EAAc,IAAA;AAAA,EACd,SAAS,OAAO,EAAE,MAAA,EAAQ,QAAA,EAAU,SAAQ,KAAM;AAChD,IAAA,uBAAA,EAAwB;AACxB,IAAA,IAAI;AACF,MAAA,iBAAA,CAAkB,QAAQ,OAAO,CAAA;AACjC,MAAA,MAAM,OAAA,GAAU,iBAAA,CAAkB,MAAA,EAAQ,QAAQ,CAAA;AAElD,MAAA,IAAI,CAAC,QAAQ,UAAA,EAAY;AACvB,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK;AAAA,UAC3B,OAAA,EAAS,YAAY,QAAQ,CAAA,6CAAA;AAAA,SAC9B,CAAA;AAAA,MACH;AAEA,MAAA,MAAM,OAAA,CAAQ,WAAW,OAAO,CAAA;AAChC,MAAA,OAAO,EAAE,SAAS,IAAA,EAAK;AAAA,IACzB,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,wCAAwC,CAAA;AAAA,IACpE;AAAA,EACF;AACF,CAAC","file":"chunk-67TYG7WH.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-KUEMDK4R.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { NEW_ROUTES, LIST_SCORES, LIST_LOGS, LIST_FEEDBACK, GET_TAGS, GET_SERVICE_NAMES, GET_SCORE_TIME_SERIES, GET_SCORE_PERCENTILES, GET_SCORE_BREAKDOWN, GET_SCORE_AGGREGATE, GET_SCORE, GET_METRIC_TIME_SERIES, GET_METRIC_PERCENTILES, GET_METRIC_NAMES, GET_METRIC_LABEL_VALUES, GET_METRIC_LABEL_KEYS, GET_METRIC_BREAKDOWN, GET_METRIC_AGGREGATE, GET_FEEDBACK_TIME_SERIES, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_AGGREGATE, GET_ENVIRONMENTS, GET_ENTITY_TYPES, GET_ENTITY_NAMES, CREATE_SCORE, CREATE_FEEDBACK } from './chunk-
|
|
1
|
+
import { NEW_ROUTES, LIST_SCORES, LIST_LOGS, LIST_FEEDBACK, GET_TAGS, GET_SERVICE_NAMES, GET_SCORE_TIME_SERIES, GET_SCORE_PERCENTILES, GET_SCORE_BREAKDOWN, GET_SCORE_AGGREGATE, GET_SCORE, GET_METRIC_TIME_SERIES, GET_METRIC_PERCENTILES, GET_METRIC_NAMES, GET_METRIC_LABEL_VALUES, GET_METRIC_LABEL_KEYS, GET_METRIC_BREAKDOWN, GET_METRIC_AGGREGATE, GET_FEEDBACK_TIME_SERIES, GET_FEEDBACK_PERCENTILES, GET_FEEDBACK_BREAKDOWN, GET_FEEDBACK_AGGREGATE, GET_ENVIRONMENTS, GET_ENTITY_TYPES, GET_ENTITY_NAMES, CREATE_SCORE, CREATE_FEEDBACK } from './chunk-YWORLTQM.js';
|
|
2
2
|
import { getObservabilityStore, getStorage } from './chunk-4L2UVFJO.js';
|
|
3
|
-
import { handleError } from './chunk-P23KBWKB.js';
|
|
4
3
|
import { createRoute, pickParams, wrapSchemaForQueryParams } from './chunk-KDUX3YN3.js';
|
|
4
|
+
import { handleError } from './chunk-P23KBWKB.js';
|
|
5
5
|
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
6
6
|
import { __export } from './chunk-PR4QN5HX.js';
|
|
7
7
|
import { extractTrajectoryFromTrace, listScoresResponseSchema } from '@mastra/core/evals';
|
|
8
8
|
import { scoreTraces } from '@mastra/core/evals/scoreTraces';
|
|
9
|
-
import { dateRangeSchema, listTracesResponseSchema, tracesFilterSchema, paginationArgsSchema, tracesOrderBySchema, getTraceResponseSchema, getTraceArgsSchema, getTraceLightResponseSchema, getSpanResponseSchema, getSpanArgsSchema, scoreTracesResponseSchema, scoreTracesRequestSchema, spanIdsSchema } from '@mastra/core/storage';
|
|
9
|
+
import { dateRangeSchema, listTracesResponseSchema, tracesFilterSchema, paginationArgsSchema, tracesOrderBySchema, listBranchesResponseSchema, branchesFilterSchema, branchesOrderBySchema, getBranchResponseSchema, getBranchArgsSchema, getTraceResponseSchema, getTraceArgsSchema, getTraceLightResponseSchema, getSpanResponseSchema, getSpanArgsSchema, scoreTracesResponseSchema, scoreTracesRequestSchema, spanIdsSchema } from '@mastra/core/storage';
|
|
10
10
|
import { z } from 'zod/v4';
|
|
11
11
|
|
|
12
12
|
// src/server/handlers/observability.ts
|
|
@@ -14,6 +14,7 @@ var observability_exports = {};
|
|
|
14
14
|
__export(observability_exports, {
|
|
15
15
|
CREATE_FEEDBACK: () => CREATE_FEEDBACK,
|
|
16
16
|
CREATE_SCORE: () => CREATE_SCORE,
|
|
17
|
+
GET_BRANCH_ROUTE: () => GET_BRANCH_ROUTE,
|
|
17
18
|
GET_ENTITY_NAMES: () => GET_ENTITY_NAMES,
|
|
18
19
|
GET_ENTITY_TYPES: () => GET_ENTITY_TYPES,
|
|
19
20
|
GET_ENVIRONMENTS: () => GET_ENVIRONMENTS,
|
|
@@ -39,6 +40,7 @@ __export(observability_exports, {
|
|
|
39
40
|
GET_TRACE_LIGHT_ROUTE: () => GET_TRACE_LIGHT_ROUTE,
|
|
40
41
|
GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
|
|
41
42
|
GET_TRACE_TRAJECTORY_ROUTE: () => GET_TRACE_TRAJECTORY_ROUTE,
|
|
43
|
+
LIST_BRANCHES_ROUTE: () => LIST_BRANCHES_ROUTE,
|
|
42
44
|
LIST_FEEDBACK: () => LIST_FEEDBACK,
|
|
43
45
|
LIST_LOGS: () => LIST_LOGS,
|
|
44
46
|
LIST_SCORES: () => LIST_SCORES,
|
|
@@ -111,6 +113,54 @@ var LIST_TRACES_ROUTE = createRoute({
|
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
115
|
});
|
|
116
|
+
var LIST_BRANCHES_ROUTE = createRoute({
|
|
117
|
+
method: "GET",
|
|
118
|
+
path: "/observability/branches",
|
|
119
|
+
responseType: "json",
|
|
120
|
+
queryParamSchema: wrapSchemaForQueryParams(
|
|
121
|
+
branchesFilterSchema.extend(paginationArgsSchema.shape).extend(branchesOrderBySchema.shape).partial()
|
|
122
|
+
),
|
|
123
|
+
responseSchema: listBranchesResponseSchema,
|
|
124
|
+
summary: "List trace branches",
|
|
125
|
+
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.",
|
|
126
|
+
tags: ["Observability"],
|
|
127
|
+
requiresAuth: true,
|
|
128
|
+
handler: async ({ mastra, ...params }) => {
|
|
129
|
+
try {
|
|
130
|
+
const filters = pickParams(branchesFilterSchema, params);
|
|
131
|
+
const pagination = pickParams(paginationArgsSchema, params);
|
|
132
|
+
const orderBy = pickParams(branchesOrderBySchema, params);
|
|
133
|
+
const observabilityStore = await getObservabilityStore(mastra);
|
|
134
|
+
return await observabilityStore.listBranches({ filters, pagination, orderBy });
|
|
135
|
+
} catch (error) {
|
|
136
|
+
return handleError(error, "Error listing branches");
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
var GET_BRANCH_ROUTE = createRoute({
|
|
141
|
+
method: "GET",
|
|
142
|
+
path: "/observability/traces/:traceId/branches/:spanId",
|
|
143
|
+
responseType: "json",
|
|
144
|
+
pathParamSchema: getBranchArgsSchema.pick({ traceId: true, spanId: true }),
|
|
145
|
+
queryParamSchema: wrapSchemaForQueryParams(getBranchArgsSchema.pick({ depth: true })),
|
|
146
|
+
responseSchema: getBranchResponseSchema,
|
|
147
|
+
summary: "Get trace branch by span ID",
|
|
148
|
+
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).",
|
|
149
|
+
tags: ["Observability"],
|
|
150
|
+
requiresAuth: true,
|
|
151
|
+
handler: async ({ mastra, traceId, spanId, depth }) => {
|
|
152
|
+
try {
|
|
153
|
+
const observabilityStore = await getObservabilityStore(mastra);
|
|
154
|
+
const branch = await observabilityStore.getBranch({ traceId, spanId, depth });
|
|
155
|
+
if (!branch) {
|
|
156
|
+
throw new HTTPException(404, { message: `Branch not found for span '${spanId}' in trace '${traceId}'` });
|
|
157
|
+
}
|
|
158
|
+
return branch;
|
|
159
|
+
} catch (error) {
|
|
160
|
+
return handleError(error, "Error getting branch");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
114
164
|
var GET_TRACE_ROUTE = createRoute({
|
|
115
165
|
method: "GET",
|
|
116
166
|
path: "/observability/traces/:traceId",
|
|
@@ -272,6 +322,6 @@ var LIST_SCORES_BY_SPAN_ROUTE = createRoute({
|
|
|
272
322
|
}
|
|
273
323
|
});
|
|
274
324
|
|
|
275
|
-
export { GET_SPAN_ROUTE, GET_TRACE_LIGHT_ROUTE, GET_TRACE_ROUTE, GET_TRACE_TRAJECTORY_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE, observability_exports };
|
|
276
|
-
//# sourceMappingURL=chunk-
|
|
277
|
-
//# sourceMappingURL=chunk-
|
|
325
|
+
export { GET_BRANCH_ROUTE, GET_SPAN_ROUTE, GET_TRACE_LIGHT_ROUTE, GET_TRACE_ROUTE, GET_TRACE_TRAJECTORY_ROUTE, LIST_BRANCHES_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE, observability_exports };
|
|
326
|
+
//# sourceMappingURL=chunk-L3LU2FSK.js.map
|
|
327
|
+
//# sourceMappingURL=chunk-L3LU2FSK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":"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","file":"chunk-L3LU2FSK.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport { extractTrajectoryFromTrace, listScoresResponseSchema } from '@mastra/core/evals';\nimport { scoreTraces } from '@mastra/core/evals/scoreTraces';\nimport type { ScoresStorage } from '@mastra/core/storage';\nimport {\n tracesFilterSchema,\n tracesOrderBySchema,\n paginationArgsSchema,\n spanIdsSchema,\n listTracesResponseSchema,\n scoreTracesRequestSchema,\n scoreTracesResponseSchema,\n getTraceArgsSchema,\n getTraceResponseSchema,\n getTraceLightResponseSchema,\n getSpanArgsSchema,\n getSpanResponseSchema,\n dateRangeSchema,\n branchesFilterSchema,\n branchesOrderBySchema,\n listBranchesResponseSchema,\n getBranchArgsSchema,\n getBranchResponseSchema,\n} from '@mastra/core/storage';\nimport { z } from 'zod/v4';\nimport { HTTPException } from '../http-exception';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { getObservabilityStore, getStorage } from './observability-shared';\n\nexport * from './observability-new-endpoints';\n\n// ============================================================================\n// Legacy Parameter Support (backward compatibility with main branch API)\n// ============================================================================\n\n/**\n * Legacy query parameters from the old API (main branch).\n * These are accepted for backward compatibility and transformed to new format.\n */\nconst legacyQueryParamsSchema = z.object({\n // Old: dateRange was in pagination, now it's startedAt in filters\n dateRange: dateRangeSchema.optional(),\n // Old: name matched span names like \"agent run: 'myAgent'\"\n name: z.string().optional(),\n // entityType needs preprocessing to handle legacy 'workflow' value\n entityType: z.preprocess(val => (val === 'workflow' ? 'workflow_run' : val), z.string().optional()),\n});\n\n/**\n * Transforms legacy query parameters to the new format.\n * - dateRange -> startedAt (if startedAt not already set)\n * - name=\"agent run: 'x'\" -> entityId='x', entityType='agent'\n * - name=\"workflow run: 'x'\" -> entityId='x', entityType='workflow_run'\n * - entityType='workflow' -> entityType='workflow_run' (enum value fix)\n */\nfunction transformLegacyParams(params: Record<string, unknown>): Record<string, unknown> {\n const result = { ...params };\n\n // Transform old entityType='workflow' -> 'workflow_run' to support direct handler usage in tests\n if (result.entityType === 'workflow') {\n result.entityType = 'workflow_run';\n }\n\n // Transform old dateRange -> new startedAt\n if (params.dateRange && !params.startedAt) {\n result.startedAt = params.dateRange;\n delete result.dateRange;\n }\n\n // Transform old name -> entityId + entityType\n // Old format: name matched span names like \"agent run: 'myAgent'\" or \"workflow run: 'myWorkflow'\"\n if (typeof params.name === 'string' && !params.entityId) {\n const agentMatch = params.name.match(/^agent run: '([^']+)'$/);\n const workflowMatch = params.name.match(/^workflow run: '([^']+)'$/);\n\n if (agentMatch) {\n result.entityId = agentMatch[1];\n result.entityType = 'agent';\n } else if (workflowMatch) {\n result.entityId = workflowMatch[1];\n result.entityType = 'workflow_run';\n }\n delete result.name;\n }\n\n return result;\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nasync function getScoresStore(mastra: Mastra): Promise<ScoresStorage> {\n const storage = getStorage(mastra);\n const scores = await storage.getStore('scores');\n if (!scores) {\n throw new HTTPException(500, { message: 'Scores storage domain is not available' });\n }\n return scores;\n}\n\n/** Route: GET /observability/traces - paginated trace listing with filtering and sorting. */\nexport const LIST_TRACES_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces',\n responseType: 'json',\n queryParamSchema: wrapSchemaForQueryParams(\n tracesFilterSchema\n .extend(paginationArgsSchema.shape)\n .extend(tracesOrderBySchema.shape)\n .extend(legacyQueryParamsSchema.shape) // Accept legacy params for backward compatibility\n .partial(),\n ),\n responseSchema: listTracesResponseSchema,\n summary: 'List traces',\n description: 'Returns a paginated list of traces with optional filtering and sorting',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Transform legacy params to new format before processing\n const transformedParams = transformLegacyParams(params);\n\n const filters = pickParams(tracesFilterSchema, transformedParams);\n const pagination = pickParams(paginationArgsSchema, transformedParams);\n const orderBy = pickParams(tracesOrderBySchema, transformedParams);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listTraces({ filters, pagination, orderBy });\n } catch (error) {\n return handleError(error, 'Error listing traces');\n }\n },\n});\n\n/** Route: GET /observability/branches - paginated branch-anchor span listing across all traces. */\nexport const LIST_BRANCHES_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/branches',\n responseType: 'json',\n queryParamSchema: wrapSchemaForQueryParams(\n branchesFilterSchema.extend(paginationArgsSchema.shape).extend(branchesOrderBySchema.shape).partial(),\n ),\n responseSchema: listBranchesResponseSchema,\n summary: 'List trace branches',\n description:\n '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.',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const filters = pickParams(branchesFilterSchema, params);\n const pagination = pickParams(paginationArgsSchema, params);\n const orderBy = pickParams(branchesOrderBySchema, params);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listBranches({ filters, pagination, orderBy });\n } catch (error) {\n return handleError(error, 'Error listing branches');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/branches/:spanId - retrieve the subtree rooted at a span. */\nexport const GET_BRANCH_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/branches/:spanId',\n responseType: 'json',\n pathParamSchema: getBranchArgsSchema.pick({ traceId: true, spanId: true }),\n queryParamSchema: wrapSchemaForQueryParams(getBranchArgsSchema.pick({ depth: true })),\n responseSchema: getBranchResponseSchema,\n summary: 'Get trace branch by span ID',\n description:\n '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).',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId, spanId, depth }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const branch = await observabilityStore.getBranch({ traceId, spanId, depth });\n\n if (!branch) {\n throw new HTTPException(404, { message: `Branch not found for span '${spanId}' in trace '${traceId}'` });\n }\n\n return branch;\n } catch (error) {\n return handleError(error, 'Error getting branch');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId - retrieve a single trace with all spans. */\nexport const GET_TRACE_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: getTraceResponseSchema,\n summary: 'Get AI trace by ID',\n description: 'Returns a complete AI trace with all spans by trace ID',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTrace({ traceId });\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n return handleError(error, 'Error getting trace');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/light - lightweight trace for timeline rendering. */\nexport const GET_TRACE_LIGHT_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/light',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: getTraceLightResponseSchema,\n summary: 'Get lightweight AI trace by ID',\n description:\n 'Returns a trace with lightweight span data (timeline fields only, excludes input/output/attributes/metadata/tags/links)',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTraceLight({ traceId });\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n return handleError(error, 'Error getting lightweight trace');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/spans/:spanId - get a single span with full details. */\nexport const GET_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/spans/:spanId',\n responseType: 'json',\n pathParamSchema: getSpanArgsSchema,\n responseSchema: getSpanResponseSchema,\n summary: 'Get a single span by ID',\n description: 'Returns a complete span record with all details by trace ID and span ID',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId, spanId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const span = await observabilityStore.getSpan({ traceId, spanId });\n\n if (!span) {\n throw new HTTPException(404, { message: `Span not found` });\n }\n\n return span;\n } catch (error) {\n return handleError(error, 'Error getting span');\n }\n },\n});\n\n/** Route: GET /observability/traces/:traceId/trajectory - extract trajectory from a trace. */\nexport const GET_TRACE_TRAJECTORY_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/trajectory',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: z.object({\n steps: z.array(z.unknown()),\n totalDurationMs: z.number().optional(),\n rawOutput: z.unknown().optional(),\n rawWorkflowResult: z.unknown().optional(),\n }),\n summary: 'Extract trajectory from trace',\n description: 'Extracts a structured trajectory (ordered steps) from a trace by analyzing its spans',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTrace({ traceId });\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n const trajectory = extractTrajectoryFromTrace(trace.spans);\n return trajectory;\n } catch (error) {\n return handleError(error, 'Error extracting trajectory from trace');\n }\n },\n});\n\n/** Route: POST /observability/traces/score - score traces using a specified scorer (fire-and-forget). */\nexport const SCORE_TRACES_ROUTE = createRoute({\n method: 'POST',\n path: '/observability/traces/score',\n responseType: 'json',\n bodySchema: scoreTracesRequestSchema,\n responseSchema: scoreTracesResponseSchema,\n summary: 'Score traces',\n description: 'Scores one or more traces using a specified scorer (fire-and-forget)',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Validate storage exists before starting background task\n getStorage(mastra);\n\n const { scorerName, targets } = params;\n\n const scorer = mastra.getScorerById(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n scoreTraces({\n scorerId: scorer.config.id || scorer.config.name,\n targets,\n mastra,\n }).catch(error => {\n const logger = mastra.getLogger();\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n return {\n status: 'success',\n message: `Scoring started for ${targets.length} ${targets.length === 1 ? 'trace' : 'traces'}`,\n traceCount: targets.length,\n };\n } catch (error) {\n return handleError(error, 'Error processing trace scoring');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/:spanId/scores',\n responseType: 'json',\n pathParamSchema: spanIdsSchema,\n // List endpoints accept optional query params; use partial() to allow empty queries.\n queryParamSchema: wrapSchemaForQueryParams(paginationArgsSchema.partial()),\n responseSchema: listScoresResponseSchema,\n summary: 'List scores by span',\n description: 'Returns all scores for a specific span within a trace',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const pagination = pickParams(paginationArgsSchema, params);\n const spanIds = pickParams(spanIdsSchema, params);\n\n const scoresStore = await getScoresStore(mastra);\n\n return await scoresStore.listScoresBySpan({\n ...spanIds,\n pagination,\n });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n },\n});\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkLFZO2LHV_cjs = require('./chunk-LFZO2LHV.cjs');
|
|
4
3
|
var chunkBYX5LHPW_cjs = require('./chunk-BYX5LHPW.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
4
|
+
var chunkLFZO2LHV_cjs = require('./chunk-LFZO2LHV.cjs');
|
|
5
|
+
var chunk6V7NAUV4_cjs = require('./chunk-6V7NAUV4.cjs');
|
|
7
6
|
var chunk7LAFXMXB_cjs = require('./chunk-7LAFXMXB.cjs');
|
|
7
|
+
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
8
8
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
9
9
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
10
10
|
var ee = require('@mastra/core/auth/ee');
|
|
@@ -106,7 +106,7 @@ async function enforceDeleteMessagesThreadAccess({
|
|
|
106
106
|
if (!thread) {
|
|
107
107
|
throw new chunk64ITUOXI_cjs.HTTPException(403, { message: "Access denied: unable to verify message thread access" });
|
|
108
108
|
}
|
|
109
|
-
await
|
|
109
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
110
110
|
mastra,
|
|
111
111
|
requestContext,
|
|
112
112
|
threadId,
|
|
@@ -570,7 +570,7 @@ var LIST_THREADS_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
570
570
|
requiresAuth: true,
|
|
571
571
|
handler: async ({ mastra, agentId, resourceId, metadata, requestContext, page, perPage, orderBy }) => {
|
|
572
572
|
try {
|
|
573
|
-
const effectiveResourceId =
|
|
573
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
574
574
|
const agent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
575
575
|
const isGateway = agent ? await chunkLFZO2LHV_cjs.isGatewayAgentAsync(agent) : false;
|
|
576
576
|
if (agent && isGateway) {
|
|
@@ -700,9 +700,9 @@ var GET_THREAD_BY_ID_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
700
700
|
requiresAuth: true,
|
|
701
701
|
handler: async ({ mastra, agentId, threadId, resourceId, requestContext }) => {
|
|
702
702
|
try {
|
|
703
|
-
const effectiveThreadId =
|
|
704
|
-
const effectiveResourceId =
|
|
705
|
-
|
|
703
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
704
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
705
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
706
706
|
const agent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
707
707
|
const isGateway = agent ? await chunkLFZO2LHV_cjs.isGatewayAgentAsync(agent) : false;
|
|
708
708
|
if (agent && isGateway) {
|
|
@@ -720,7 +720,7 @@ var GET_THREAD_BY_ID_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
720
720
|
};
|
|
721
721
|
}
|
|
722
722
|
const thread = chunkLFZO2LHV_cjs.toLocalThread(result.thread);
|
|
723
|
-
await
|
|
723
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
724
724
|
mastra,
|
|
725
725
|
requestContext,
|
|
726
726
|
threadId: effectiveThreadId,
|
|
@@ -736,7 +736,7 @@ var GET_THREAD_BY_ID_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
736
736
|
if (!thread) {
|
|
737
737
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
738
738
|
}
|
|
739
|
-
await
|
|
739
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
740
740
|
mastra,
|
|
741
741
|
requestContext,
|
|
742
742
|
threadId: effectiveThreadId,
|
|
@@ -753,7 +753,7 @@ var GET_THREAD_BY_ID_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
753
753
|
if (!thread) {
|
|
754
754
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
755
755
|
}
|
|
756
|
-
await
|
|
756
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
757
757
|
mastra,
|
|
758
758
|
requestContext,
|
|
759
759
|
threadId: effectiveThreadId,
|
|
@@ -794,9 +794,9 @@ var LIST_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
794
794
|
requestContext
|
|
795
795
|
}) => {
|
|
796
796
|
try {
|
|
797
|
-
const effectiveThreadId =
|
|
798
|
-
const effectiveResourceId =
|
|
799
|
-
|
|
797
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
798
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
799
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
800
800
|
if (!effectiveThreadId) {
|
|
801
801
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "No threadId found" });
|
|
802
802
|
}
|
|
@@ -806,7 +806,7 @@ var LIST_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
806
806
|
if (gwClient) {
|
|
807
807
|
const threadResult = await gwClient.getThread(effectiveThreadId);
|
|
808
808
|
if (threadResult) {
|
|
809
|
-
await
|
|
809
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
810
810
|
mastra,
|
|
811
811
|
requestContext,
|
|
812
812
|
threadId: effectiveThreadId,
|
|
@@ -837,7 +837,7 @@ var LIST_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
837
837
|
if (!thread) {
|
|
838
838
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
839
839
|
}
|
|
840
|
-
await
|
|
840
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
841
841
|
mastra,
|
|
842
842
|
requestContext,
|
|
843
843
|
threadId: effectiveThreadId,
|
|
@@ -864,7 +864,7 @@ var LIST_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
864
864
|
if (!thread) {
|
|
865
865
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
866
866
|
}
|
|
867
|
-
await
|
|
867
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
868
868
|
mastra,
|
|
869
869
|
requestContext,
|
|
870
870
|
threadId: effectiveThreadId,
|
|
@@ -902,9 +902,9 @@ var GET_WORKING_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
902
902
|
requiresAuth: true,
|
|
903
903
|
handler: async ({ mastra, agentId, threadId, resourceId, requestContext, memoryConfig }) => {
|
|
904
904
|
try {
|
|
905
|
-
const effectiveThreadId =
|
|
906
|
-
const effectiveResourceId =
|
|
907
|
-
|
|
905
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
906
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
907
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
908
908
|
const gwAgent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
909
909
|
if (gwAgent && await chunkLFZO2LHV_cjs.isGatewayAgentAsync(gwAgent) && chunkLFZO2LHV_cjs.getGatewayClient()) {
|
|
910
910
|
return { workingMemory: null, source: "thread", workingMemoryTemplate: null, threadExists: true };
|
|
@@ -917,7 +917,7 @@ var GET_WORKING_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
917
917
|
const config = memory.getMergedThreadConfig(memoryConfig || {});
|
|
918
918
|
const source = config.workingMemory?.scope !== "thread" && effectiveResourceId ? "resource" : "thread";
|
|
919
919
|
if (thread || source === "resource") {
|
|
920
|
-
await
|
|
920
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
921
921
|
mastra,
|
|
922
922
|
requestContext,
|
|
923
923
|
threadId: effectiveThreadId,
|
|
@@ -952,7 +952,7 @@ var SAVE_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
952
952
|
requiresAuth: true,
|
|
953
953
|
handler: async ({ mastra, agentId, messages, requestContext }) => {
|
|
954
954
|
try {
|
|
955
|
-
const effectiveResourceId =
|
|
955
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, void 0);
|
|
956
956
|
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
957
957
|
if (!memory) {
|
|
958
958
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
@@ -993,7 +993,7 @@ var SAVE_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
993
993
|
const threadIds = [...new Set(messages.map((m) => m.threadId).filter(Boolean))];
|
|
994
994
|
for (const threadId of threadIds) {
|
|
995
995
|
const thread = await memory.getThreadById({ threadId });
|
|
996
|
-
await
|
|
996
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
997
997
|
mastra,
|
|
998
998
|
requestContext,
|
|
999
999
|
threadId,
|
|
@@ -1006,7 +1006,7 @@ var SAVE_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1006
1006
|
const threadIds = [...new Set(messages.map((m) => m.threadId).filter(Boolean))];
|
|
1007
1007
|
for (const threadId of threadIds) {
|
|
1008
1008
|
const thread = await memory.getThreadById({ threadId });
|
|
1009
|
-
await
|
|
1009
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1010
1010
|
mastra,
|
|
1011
1011
|
requestContext,
|
|
1012
1012
|
threadId,
|
|
@@ -1041,10 +1041,10 @@ var CREATE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1041
1041
|
requiresAuth: true,
|
|
1042
1042
|
handler: async ({ mastra, agentId, resourceId, title, metadata, threadId, requestContext }) => {
|
|
1043
1043
|
try {
|
|
1044
|
-
const effectiveResourceId =
|
|
1044
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1045
1045
|
const effectiveThreadId = threadId ?? mastra.generateId();
|
|
1046
|
-
|
|
1047
|
-
await
|
|
1046
|
+
chunk6V7NAUV4_cjs.validateBody({ resourceId: effectiveResourceId });
|
|
1047
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1048
1048
|
mastra,
|
|
1049
1049
|
requestContext,
|
|
1050
1050
|
threadId: effectiveThreadId,
|
|
@@ -1094,16 +1094,16 @@ var UPDATE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1094
1094
|
requiresAuth: true,
|
|
1095
1095
|
handler: async ({ mastra, agentId, threadId, title, metadata, resourceId, requestContext }) => {
|
|
1096
1096
|
try {
|
|
1097
|
-
const effectiveThreadId =
|
|
1098
|
-
const effectiveResourceId =
|
|
1099
|
-
|
|
1097
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
1098
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1099
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
1100
1100
|
const agent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
1101
1101
|
if (agent && await chunkLFZO2LHV_cjs.isGatewayAgentAsync(agent)) {
|
|
1102
1102
|
const gwClient = chunkLFZO2LHV_cjs.getGatewayClient();
|
|
1103
1103
|
if (gwClient) {
|
|
1104
1104
|
const existing = await gwClient.getThread(effectiveThreadId);
|
|
1105
1105
|
if (existing) {
|
|
1106
|
-
await
|
|
1106
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1107
1107
|
mastra,
|
|
1108
1108
|
requestContext,
|
|
1109
1109
|
threadId: effectiveThreadId,
|
|
@@ -1128,7 +1128,7 @@ var UPDATE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1128
1128
|
if (!thread) {
|
|
1129
1129
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
1130
1130
|
}
|
|
1131
|
-
await
|
|
1131
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1132
1132
|
mastra,
|
|
1133
1133
|
requestContext,
|
|
1134
1134
|
threadId: effectiveThreadId,
|
|
@@ -1168,16 +1168,16 @@ var DELETE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1168
1168
|
requiresAuth: true,
|
|
1169
1169
|
handler: async ({ mastra, agentId, threadId, resourceId, requestContext }) => {
|
|
1170
1170
|
try {
|
|
1171
|
-
const effectiveThreadId =
|
|
1172
|
-
const effectiveResourceId =
|
|
1173
|
-
|
|
1171
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
1172
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1173
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
1174
1174
|
const agent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
1175
1175
|
if (agent && await chunkLFZO2LHV_cjs.isGatewayAgentAsync(agent)) {
|
|
1176
1176
|
const gwClient = chunkLFZO2LHV_cjs.getGatewayClient();
|
|
1177
1177
|
if (gwClient) {
|
|
1178
1178
|
const existing = await gwClient.getThread(effectiveThreadId);
|
|
1179
1179
|
if (existing) {
|
|
1180
|
-
await
|
|
1180
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1181
1181
|
mastra,
|
|
1182
1182
|
requestContext,
|
|
1183
1183
|
threadId: effectiveThreadId,
|
|
@@ -1201,7 +1201,7 @@ var DELETE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1201
1201
|
if (!thread) {
|
|
1202
1202
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
1203
1203
|
}
|
|
1204
|
-
await
|
|
1204
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1205
1205
|
mastra,
|
|
1206
1206
|
requestContext,
|
|
1207
1207
|
threadId: effectiveThreadId,
|
|
@@ -1230,10 +1230,10 @@ var CLONE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1230
1230
|
requiresAuth: true,
|
|
1231
1231
|
handler: async ({ mastra, agentId, threadId, newThreadId, resourceId, title, metadata, options, requestContext }) => {
|
|
1232
1232
|
try {
|
|
1233
|
-
const effectiveThreadId =
|
|
1234
|
-
const effectiveResourceId =
|
|
1233
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
1234
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1235
1235
|
const effectiveNewThreadId = newThreadId ?? mastra.generateId();
|
|
1236
|
-
|
|
1236
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId });
|
|
1237
1237
|
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
1238
1238
|
if (!memory) {
|
|
1239
1239
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
@@ -1243,14 +1243,14 @@ var CLONE_THREAD_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1243
1243
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Source thread not found" });
|
|
1244
1244
|
}
|
|
1245
1245
|
const cloneResourceId = effectiveResourceId ?? sourceThread.resourceId ?? void 0;
|
|
1246
|
-
await
|
|
1246
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1247
1247
|
mastra,
|
|
1248
1248
|
requestContext,
|
|
1249
1249
|
threadId: effectiveThreadId,
|
|
1250
1250
|
thread: sourceThread,
|
|
1251
1251
|
effectiveResourceId
|
|
1252
1252
|
});
|
|
1253
|
-
await
|
|
1253
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1254
1254
|
mastra,
|
|
1255
1255
|
requestContext,
|
|
1256
1256
|
threadId: effectiveNewThreadId,
|
|
@@ -1285,9 +1285,9 @@ var UPDATE_WORKING_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1285
1285
|
requiresAuth: true,
|
|
1286
1286
|
handler: async ({ mastra, agentId, threadId, resourceId, memoryConfig, workingMemory, requestContext }) => {
|
|
1287
1287
|
try {
|
|
1288
|
-
const effectiveThreadId =
|
|
1289
|
-
const effectiveResourceId =
|
|
1290
|
-
|
|
1288
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
1289
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1290
|
+
chunk6V7NAUV4_cjs.validateBody({ threadId: effectiveThreadId, workingMemory });
|
|
1291
1291
|
const gwAgent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
1292
1292
|
if (gwAgent && await chunkLFZO2LHV_cjs.isGatewayAgentAsync(gwAgent) && chunkLFZO2LHV_cjs.getGatewayClient()) {
|
|
1293
1293
|
return { success: true };
|
|
@@ -1300,7 +1300,7 @@ var UPDATE_WORKING_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1300
1300
|
if (!thread) {
|
|
1301
1301
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
1302
1302
|
}
|
|
1303
|
-
await
|
|
1303
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1304
1304
|
mastra,
|
|
1305
1305
|
requestContext,
|
|
1306
1306
|
threadId: effectiveThreadId,
|
|
@@ -1333,7 +1333,7 @@ var DELETE_MESSAGES_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1333
1333
|
requiresAuth: true,
|
|
1334
1334
|
handler: async ({ mastra, agentId, resourceId, messageIds, requestContext }) => {
|
|
1335
1335
|
try {
|
|
1336
|
-
const effectiveResourceId =
|
|
1336
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1337
1337
|
if (messageIds === void 0 || messageIds === null) {
|
|
1338
1338
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "messageIds is required" });
|
|
1339
1339
|
}
|
|
@@ -1413,9 +1413,9 @@ var SEARCH_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1413
1413
|
requiresAuth: true,
|
|
1414
1414
|
handler: async ({ mastra, agentId, searchQuery, resourceId, threadId, limit = 20, requestContext, memoryConfig }) => {
|
|
1415
1415
|
try {
|
|
1416
|
-
const effectiveResourceId =
|
|
1417
|
-
const effectiveThreadId =
|
|
1418
|
-
|
|
1416
|
+
const effectiveResourceId = chunk6V7NAUV4_cjs.getEffectiveResourceId(requestContext, resourceId);
|
|
1417
|
+
const effectiveThreadId = chunk6V7NAUV4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
1418
|
+
chunk6V7NAUV4_cjs.validateBody({ searchQuery, resourceId: effectiveResourceId });
|
|
1419
1419
|
const agent = await getAgentFromContext({ mastra, agentId, requestContext });
|
|
1420
1420
|
if (agent && await chunkLFZO2LHV_cjs.isGatewayAgentAsync(agent) && chunkLFZO2LHV_cjs.getGatewayClient()) {
|
|
1421
1421
|
return {
|
|
@@ -1469,7 +1469,7 @@ var SEARCH_MEMORY_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
1469
1469
|
searchType: hasSemanticRecall ? "semantic" : "text"
|
|
1470
1470
|
};
|
|
1471
1471
|
}
|
|
1472
|
-
await
|
|
1472
|
+
await chunk6V7NAUV4_cjs.enforceThreadAccess({
|
|
1473
1473
|
mastra,
|
|
1474
1474
|
requestContext,
|
|
1475
1475
|
threadId: effectiveThreadId,
|
|
@@ -1722,5 +1722,5 @@ exports.UPDATE_THREAD_ROUTE = UPDATE_THREAD_ROUTE;
|
|
|
1722
1722
|
exports.UPDATE_WORKING_MEMORY_ROUTE = UPDATE_WORKING_MEMORY_ROUTE;
|
|
1723
1723
|
exports.getTextContent = getTextContent;
|
|
1724
1724
|
exports.memory_exports = memory_exports;
|
|
1725
|
-
//# sourceMappingURL=chunk-
|
|
1726
|
-
//# sourceMappingURL=chunk-
|
|
1725
|
+
//# sourceMappingURL=chunk-L5GHLBMN.cjs.map
|
|
1726
|
+
//# sourceMappingURL=chunk-L5GHLBMN.cjs.map
|