@mastra/server 1.33.0-alpha.2 → 1.33.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 +57 -0
- package/dist/_types/@internal_core/dist/index.d.ts +9 -1
- package/dist/api-schema-manifest-MWMQI6TE.cjs +58 -0
- package/dist/api-schema-manifest-MWMQI6TE.cjs.map +1 -0
- package/dist/api-schema-manifest-OBRC34LA.js +56 -0
- package/dist/api-schema-manifest-OBRC34LA.js.map +1 -0
- package/dist/{chunk-KUCUFXLD.js → chunk-247ZCPZW.js} +6 -6
- package/dist/{chunk-KUCUFXLD.js.map → chunk-247ZCPZW.js.map} +1 -1
- package/dist/{chunk-DSJM7F5A.js → chunk-27MTROCI.js} +5 -5
- package/dist/{chunk-DSJM7F5A.js.map → chunk-27MTROCI.js.map} +1 -1
- package/dist/{chunk-GSURMQA2.js → chunk-2RX6OJBY.js} +4 -4
- package/dist/{chunk-GSURMQA2.js.map → chunk-2RX6OJBY.js.map} +1 -1
- package/dist/{chunk-QAFWIUAD.cjs → chunk-2X3CMUG3.cjs} +6 -6
- package/dist/{chunk-QAFWIUAD.cjs.map → chunk-2X3CMUG3.cjs.map} +1 -1
- package/dist/{chunk-SRJJBXTO.cjs → chunk-2XNLZANZ.cjs} +11 -11
- package/dist/{chunk-SRJJBXTO.cjs.map → chunk-2XNLZANZ.cjs.map} +1 -1
- package/dist/{chunk-UWBU3GWI.cjs → chunk-32OIQVBN.cjs} +8 -8
- package/dist/{chunk-UWBU3GWI.cjs.map → chunk-32OIQVBN.cjs.map} +1 -1
- package/dist/{chunk-ALVHNIDP.js → chunk-3J5YIIAC.js} +4 -4
- package/dist/{chunk-ALVHNIDP.js.map → chunk-3J5YIIAC.js.map} +1 -1
- package/dist/{chunk-MI3PFFAR.js → chunk-3S77SMGK.js} +97 -6
- package/dist/chunk-3S77SMGK.js.map +1 -0
- package/dist/{chunk-SAOJYYFE.cjs → chunk-42WZN6MM.cjs} +10 -6
- package/dist/chunk-42WZN6MM.cjs.map +1 -0
- package/dist/{chunk-NVM46NSG.js → chunk-4OJDWKDW.js} +50 -11
- package/dist/chunk-4OJDWKDW.js.map +1 -0
- package/dist/chunk-4PB6LUYQ.js +46 -0
- package/dist/chunk-4PB6LUYQ.js.map +1 -0
- package/dist/{chunk-GUWIV3ZN.cjs → chunk-4QZCXU3A.cjs} +9 -2
- package/dist/chunk-4QZCXU3A.cjs.map +1 -0
- package/dist/{chunk-F22H7Z7L.cjs → chunk-6Y4L2O5X.cjs} +10 -10
- package/dist/{chunk-F22H7Z7L.cjs.map → chunk-6Y4L2O5X.cjs.map} +1 -1
- package/dist/{chunk-QCSBOQGP.cjs → chunk-6ZSBLNO2.cjs} +10 -10
- package/dist/{chunk-QCSBOQGP.cjs.map → chunk-6ZSBLNO2.cjs.map} +1 -1
- package/dist/{chunk-WZKXMP2U.cjs → chunk-767P6IDT.cjs} +212 -120
- package/dist/chunk-767P6IDT.cjs.map +1 -0
- package/dist/{chunk-RFKNM47Y.js → chunk-76TPFVVB.js} +3 -3
- package/dist/{chunk-RFKNM47Y.js.map → chunk-76TPFVVB.js.map} +1 -1
- package/dist/{chunk-7LAFXMXB.cjs → chunk-7756JXUH.cjs} +3 -2
- package/dist/{chunk-7LAFXMXB.cjs.map → chunk-7756JXUH.cjs.map} +1 -1
- package/dist/{chunk-Y32L6Z5V.cjs → chunk-7BXQ2HFG.cjs} +33 -33
- package/dist/{chunk-Y32L6Z5V.cjs.map → chunk-7BXQ2HFG.cjs.map} +1 -1
- package/dist/{chunk-ABCXNCRJ.js → chunk-A3SH6O3E.js} +3 -3
- package/dist/{chunk-ABCXNCRJ.js.map → chunk-A3SH6O3E.js.map} +1 -1
- package/dist/{chunk-APVIDF5T.cjs → chunk-AH7FPYBH.cjs} +7 -7
- package/dist/{chunk-APVIDF5T.cjs.map → chunk-AH7FPYBH.cjs.map} +1 -1
- package/dist/{chunk-JHUXQK47.cjs → chunk-AJV6ZSUS.cjs} +11 -11
- package/dist/{chunk-JHUXQK47.cjs.map → chunk-AJV6ZSUS.cjs.map} +1 -1
- package/dist/{chunk-EPYO4OC5.js → chunk-AN5GEDCI.js} +3 -3
- package/dist/{chunk-EPYO4OC5.js.map → chunk-AN5GEDCI.js.map} +1 -1
- package/dist/{chunk-FZSDG2KA.cjs → chunk-AV3ZGKEA.cjs} +10 -10
- package/dist/{chunk-FZSDG2KA.cjs.map → chunk-AV3ZGKEA.cjs.map} +1 -1
- package/dist/{chunk-6NY3T42O.js → chunk-BIUL4Y6W.js} +10 -6
- package/dist/chunk-BIUL4Y6W.js.map +1 -0
- package/dist/{chunk-YH452QGH.js → chunk-BMACQWOU.js} +3 -3
- package/dist/{chunk-YH452QGH.js.map → chunk-BMACQWOU.js.map} +1 -1
- package/dist/{chunk-X37VNBBB.cjs → chunk-BQDKIKTT.cjs} +28 -28
- package/dist/{chunk-X37VNBBB.cjs.map → chunk-BQDKIKTT.cjs.map} +1 -1
- package/dist/{chunk-CNTWPG57.cjs → chunk-CXAJPAJ2.cjs} +9 -2
- package/dist/chunk-CXAJPAJ2.cjs.map +1 -0
- package/dist/{chunk-FE2MMCKW.js → chunk-D4XVXXDX.js} +5 -5
- package/dist/{chunk-FE2MMCKW.js.map → chunk-D4XVXXDX.js.map} +1 -1
- package/dist/{chunk-URRUDXO5.cjs → chunk-D5H4LH6V.cjs} +35 -35
- package/dist/{chunk-URRUDXO5.cjs.map → chunk-D5H4LH6V.cjs.map} +1 -1
- package/dist/{chunk-CJ2LC5EE.cjs → chunk-DBY645PQ.cjs} +164 -19
- package/dist/chunk-DBY645PQ.cjs.map +1 -0
- package/dist/{chunk-F6MVX6E6.cjs → chunk-DWQGAKMB.cjs} +11 -11
- package/dist/{chunk-F6MVX6E6.cjs.map → chunk-DWQGAKMB.cjs.map} +1 -1
- package/dist/{chunk-4QGPES7N.js → chunk-E5BDG6JI.js} +3 -3
- package/dist/{chunk-4QGPES7N.js.map → chunk-E5BDG6JI.js.map} +1 -1
- package/dist/chunk-E7UDPLDF.cjs +53 -0
- package/dist/chunk-E7UDPLDF.cjs.map +1 -0
- package/dist/{chunk-OGFJRI4R.js → chunk-EIJLTW5X.js} +19 -5
- package/dist/chunk-EIJLTW5X.js.map +1 -0
- package/dist/{chunk-KDUX3YN3.js → chunk-GDACR4PY.js} +3 -3
- package/dist/{chunk-KDUX3YN3.js.map → chunk-GDACR4PY.js.map} +1 -1
- package/dist/{chunk-V4DZUIDM.cjs → chunk-GG537BE6.cjs} +28 -28
- package/dist/{chunk-V4DZUIDM.cjs.map → chunk-GG537BE6.cjs.map} +1 -1
- package/dist/{chunk-BSGOXMAI.js → chunk-GI74MHRA.js} +3 -3
- package/dist/{chunk-BSGOXMAI.js.map → chunk-GI74MHRA.js.map} +1 -1
- package/dist/{chunk-QXG537D5.cjs → chunk-GTHHWVCO.cjs} +11 -11
- package/dist/{chunk-QXG537D5.cjs.map → chunk-GTHHWVCO.cjs.map} +1 -1
- package/dist/{chunk-44K6EWHN.cjs → chunk-GWLMGMHI.cjs} +528 -342
- package/dist/chunk-GWLMGMHI.cjs.map +1 -0
- package/dist/{chunk-LS5NHYVW.js → chunk-HX5WL5ZF.js} +3 -3
- package/dist/{chunk-LS5NHYVW.js.map → chunk-HX5WL5ZF.js.map} +1 -1
- package/dist/{chunk-H656FJUZ.js → chunk-I45VWZBS.js} +3 -3
- package/dist/{chunk-H656FJUZ.js.map → chunk-I45VWZBS.js.map} +1 -1
- package/dist/{chunk-UEACXZ5C.cjs → chunk-IIGNRK55.cjs} +4 -4
- package/dist/{chunk-UEACXZ5C.cjs.map → chunk-IIGNRK55.cjs.map} +1 -1
- package/dist/{chunk-V5AXCSSN.js → chunk-ING7J2GB.js} +4 -4
- package/dist/{chunk-V5AXCSSN.js.map → chunk-ING7J2GB.js.map} +1 -1
- package/dist/{chunk-SXARBGNQ.js → chunk-IQAV36GV.js} +3 -3
- package/dist/{chunk-SXARBGNQ.js.map → chunk-IQAV36GV.js.map} +1 -1
- package/dist/{chunk-K7IVZQKI.cjs → chunk-IQMLYFOO.cjs} +6 -6
- package/dist/{chunk-K7IVZQKI.cjs.map → chunk-IQMLYFOO.cjs.map} +1 -1
- package/dist/{chunk-GQOWV33T.js → chunk-IUXM3WA2.js} +9 -5
- package/dist/chunk-IUXM3WA2.js.map +1 -0
- package/dist/{chunk-R3DQGOTC.cjs → chunk-J4FVO25L.cjs} +12 -8
- package/dist/chunk-J4FVO25L.cjs.map +1 -0
- package/dist/{chunk-JU54MAJE.js → chunk-JNIAMBSQ.js} +4 -4
- package/dist/{chunk-JU54MAJE.js.map → chunk-JNIAMBSQ.js.map} +1 -1
- package/dist/{chunk-MJXZZQ5O.js → chunk-JX5CEUXO.js} +3 -3
- package/dist/{chunk-MJXZZQ5O.js.map → chunk-JX5CEUXO.js.map} +1 -1
- package/dist/{chunk-43CWQ4M3.js → chunk-KCVOCZXG.js} +9 -3
- package/dist/chunk-KCVOCZXG.js.map +1 -0
- package/dist/{chunk-TJNZEYLA.js → chunk-KEE6UMGC.js} +9 -2
- package/dist/chunk-KEE6UMGC.js.map +1 -0
- package/dist/{chunk-KUEMDK4R.js → chunk-LVWQGVPZ.js} +3 -3
- package/dist/{chunk-KUEMDK4R.js.map → chunk-LVWQGVPZ.js.map} +1 -1
- package/dist/{chunk-MMHEXUTF.cjs → chunk-LWBJ5GUU.cjs} +7 -7
- package/dist/{chunk-MMHEXUTF.cjs.map → chunk-LWBJ5GUU.cjs.map} +1 -1
- package/dist/{chunk-XBT4ZT22.js → chunk-LYDIFPB2.js} +4 -4
- package/dist/{chunk-XBT4ZT22.js.map → chunk-LYDIFPB2.js.map} +1 -1
- package/dist/{chunk-I34RGOPQ.js → chunk-MF6GSHTO.js} +4 -4
- package/dist/{chunk-I34RGOPQ.js.map → chunk-MF6GSHTO.js.map} +1 -1
- package/dist/{chunk-GXSML4LI.js → chunk-MLEUYQFZ.js} +3 -3
- package/dist/{chunk-GXSML4LI.js.map → chunk-MLEUYQFZ.js.map} +1 -1
- package/dist/{chunk-YF6DVWNN.cjs → chunk-MOH4DZJP.cjs} +60 -21
- package/dist/chunk-MOH4DZJP.cjs.map +1 -0
- package/dist/{chunk-EXVKDDKD.cjs → chunk-MUMWXLVB.cjs} +10 -10
- package/dist/{chunk-EXVKDDKD.cjs.map → chunk-MUMWXLVB.cjs.map} +1 -1
- package/dist/{chunk-VIX5OA2V.cjs → chunk-MW23D33F.cjs} +42 -40
- package/dist/chunk-MW23D33F.cjs.map +1 -0
- package/dist/{chunk-SMAUVMWQ.cjs → chunk-MZFFAVXZ.cjs} +10 -10
- package/dist/{chunk-SMAUVMWQ.cjs.map → chunk-MZFFAVXZ.cjs.map} +1 -1
- package/dist/{chunk-XI4WY2MX.cjs → chunk-N2JR3ER7.cjs} +28 -28
- package/dist/{chunk-XI4WY2MX.cjs.map → chunk-N2JR3ER7.cjs.map} +1 -1
- package/dist/{chunk-3KIFZFY7.js → chunk-NHQKZEVJ.js} +134 -9
- package/dist/chunk-NHQKZEVJ.js.map +1 -0
- package/dist/{chunk-DTCRA7JS.js → chunk-NPNRCLYK.js} +445 -259
- package/dist/chunk-NPNRCLYK.js.map +1 -0
- package/dist/{chunk-YWORLTQM.js → chunk-OCFLDDPE.js} +7 -5
- package/dist/chunk-OCFLDDPE.js.map +1 -0
- package/dist/{chunk-W5JSRJAK.js → chunk-OMOR5OUN.js} +5 -5
- package/dist/{chunk-W5JSRJAK.js.map → chunk-OMOR5OUN.js.map} +1 -1
- package/dist/{chunk-YEAIZPBY.js → chunk-OSXOHBCO.js} +4 -4
- package/dist/{chunk-YEAIZPBY.js.map → chunk-OSXOHBCO.js.map} +1 -1
- package/dist/{chunk-R6JGZX7Q.cjs → chunk-P2QL4REX.cjs} +13 -13
- package/dist/{chunk-R6JGZX7Q.cjs.map → chunk-P2QL4REX.cjs.map} +1 -1
- package/dist/{chunk-EUJHJEM6.cjs → chunk-QICD4OAR.cjs} +10 -10
- package/dist/{chunk-EUJHJEM6.cjs.map → chunk-QICD4OAR.cjs.map} +1 -1
- package/dist/{chunk-P6DRWWFU.cjs → chunk-RNRF4YCD.cjs} +24 -24
- package/dist/{chunk-P6DRWWFU.cjs.map → chunk-RNRF4YCD.cjs.map} +1 -1
- package/dist/{chunk-ELU7GCBF.cjs → chunk-SZOC7JGR.cjs} +52 -52
- package/dist/{chunk-ELU7GCBF.cjs.map → chunk-SZOC7JGR.cjs.map} +1 -1
- package/dist/{chunk-HTSSEM5Z.cjs → chunk-TRB4NGQ3.cjs} +21 -6
- package/dist/chunk-TRB4NGQ3.cjs.map +1 -0
- package/dist/{chunk-VF2DSR6J.js → chunk-TZFIX2NI.js} +4 -4
- package/dist/{chunk-VF2DSR6J.js.map → chunk-TZFIX2NI.js.map} +1 -1
- package/dist/{chunk-SOJ2UNB6.js → chunk-UP6HQJYH.js} +3 -3
- package/dist/{chunk-SOJ2UNB6.js.map → chunk-UP6HQJYH.js.map} +1 -1
- package/dist/chunk-UVLQSMYF.js +628 -0
- package/dist/chunk-UVLQSMYF.js.map +1 -0
- package/dist/{chunk-XCIJHMUE.js → chunk-UWN75FKT.js} +3 -3
- package/dist/{chunk-XCIJHMUE.js.map → chunk-UWN75FKT.js.map} +1 -1
- package/dist/{chunk-ZV7XANBD.cjs → chunk-V67XVMFK.cjs} +10 -10
- package/dist/{chunk-ZV7XANBD.cjs.map → chunk-V67XVMFK.cjs.map} +1 -1
- package/dist/{chunk-JLRBUMQA.cjs → chunk-VQMQBGDO.cjs} +10 -10
- package/dist/{chunk-JLRBUMQA.cjs.map → chunk-VQMQBGDO.cjs.map} +1 -1
- package/dist/{chunk-LYXVNT6L.cjs → chunk-WC3F3EA5.cjs} +18 -18
- package/dist/{chunk-LYXVNT6L.cjs.map → chunk-WC3F3EA5.cjs.map} +1 -1
- package/dist/{chunk-5APP5R3R.cjs → chunk-WYH3OM52.cjs} +5 -5
- package/dist/{chunk-5APP5R3R.cjs.map → chunk-WYH3OM52.cjs.map} +1 -1
- package/dist/{chunk-MG4EE3KA.cjs → chunk-XCXGX26I.cjs} +11 -11
- package/dist/{chunk-MG4EE3KA.cjs.map → chunk-XCXGX26I.cjs.map} +1 -1
- package/dist/{chunk-CFK4R6LE.js → chunk-XKGJU4H3.js} +3 -3
- package/dist/{chunk-CFK4R6LE.js.map → chunk-XKGJU4H3.js.map} +1 -1
- package/dist/{chunk-DK46ZSF7.js → chunk-XMHZ4DSE.js} +3 -3
- package/dist/{chunk-DK46ZSF7.js.map → chunk-XMHZ4DSE.js.map} +1 -1
- package/dist/{chunk-RRS33WBW.cjs → chunk-XOQX6DBB.cjs} +6 -6
- package/dist/{chunk-RRS33WBW.cjs.map → chunk-XOQX6DBB.cjs.map} +1 -1
- package/dist/chunk-Y5FNAVOR.cjs +634 -0
- package/dist/chunk-Y5FNAVOR.cjs.map +1 -0
- package/dist/{chunk-X2LYM3QK.js → chunk-YCL2MS5R.js} +3 -3
- package/dist/{chunk-X2LYM3QK.js.map → chunk-YCL2MS5R.js.map} +1 -1
- package/dist/{chunk-GTERDDNK.js → chunk-ZMQTGPEU.js} +3 -3
- package/dist/{chunk-GTERDDNK.js.map → chunk-ZMQTGPEU.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/server/a2a/agent-card-signing.d.ts +7 -0
- package/dist/server/a2a/agent-card-signing.d.ts.map +1 -0
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.d.ts +10 -0
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +42 -38
- package/dist/server/handlers/agents.d.ts +157 -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 +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +4 -4
- package/dist/server/handlers/background-tasks.d.ts +18 -5
- package/dist/server/handlers/background-tasks.d.ts.map +1 -1
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/mcp.cjs +11 -11
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
- package/dist/server/handlers/observability-new-endpoints.d.ts +18 -6
- package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +38 -38
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/processor-providers.cjs +3 -3
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +4 -4
- package/dist/server/handlers/processors.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.d.ts +8 -2
- package/dist/server/handlers/responses.d.ts.map +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/schedules.cjs +6 -6
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +6 -2
- package/dist/server/handlers/system.d.ts +39 -0
- package/dist/server/handlers/system.d.ts.map +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +5 -5
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/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 +30 -30
- package/dist/server/handlers.js +15 -15
- package/dist/server/schemas/a2a.d.ts +5 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -1
- package/dist/server/schemas/agents.d.ts +77 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/background-tasks.d.ts +11 -0
- package/dist/server/schemas/background-tasks.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +99 -83
- package/dist/server/schemas/index.js +5 -5
- package/dist/server/schemas/responses.d.ts +3 -1
- package/dist/server/schemas/responses.d.ts.map +1 -1
- package/dist/server/schemas/system.d.ts +54 -0
- package/dist/server/schemas/system.d.ts.map +1 -1
- package/dist/server/server-adapter/api-schema-manifest.d.ts +23 -0
- package/dist/server/server-adapter/api-schema-manifest.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +37 -644
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +7 -628
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/openapi-utils.d.ts +5 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/a2a.d.ts +10 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/agents.d.ts +2 -1
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +9 -3
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/responses.d.ts +8 -2
- package/dist/server/server-adapter/routes/responses.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/system.d.ts +39 -1
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/chunk-3KIFZFY7.js.map +0 -1
- package/dist/chunk-43CWQ4M3.js.map +0 -1
- package/dist/chunk-44K6EWHN.cjs.map +0 -1
- package/dist/chunk-4P7D66VB.cjs +0 -30
- package/dist/chunk-4P7D66VB.cjs.map +0 -1
- package/dist/chunk-6NY3T42O.js.map +0 -1
- package/dist/chunk-CJ2LC5EE.cjs.map +0 -1
- package/dist/chunk-CNTWPG57.cjs.map +0 -1
- package/dist/chunk-DTCRA7JS.js.map +0 -1
- package/dist/chunk-GGCDSOHW.js +0 -26
- package/dist/chunk-GGCDSOHW.js.map +0 -1
- package/dist/chunk-GQOWV33T.js.map +0 -1
- package/dist/chunk-GUWIV3ZN.cjs.map +0 -1
- package/dist/chunk-HTSSEM5Z.cjs.map +0 -1
- package/dist/chunk-MI3PFFAR.js.map +0 -1
- package/dist/chunk-NVM46NSG.js.map +0 -1
- package/dist/chunk-OGFJRI4R.js.map +0 -1
- package/dist/chunk-R3DQGOTC.cjs.map +0 -1
- package/dist/chunk-SAOJYYFE.cjs.map +0 -1
- package/dist/chunk-TJNZEYLA.js.map +0 -1
- package/dist/chunk-VIX5OA2V.cjs.map +0 -1
- package/dist/chunk-WZKXMP2U.cjs.map +0 -1
- package/dist/chunk-YF6DVWNN.cjs.map +0 -1
- package/dist/chunk-YWORLTQM.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunk767P6IDT_cjs = require('./chunk-767P6IDT.cjs');
|
|
4
|
+
var chunk4QZCXU3A_cjs = require('./chunk-4QZCXU3A.cjs');
|
|
5
|
+
var chunkIQMLYFOO_cjs = require('./chunk-IQMLYFOO.cjs');
|
|
6
6
|
var chunk64YJOWH2_cjs = require('./chunk-64YJOWH2.cjs');
|
|
7
7
|
var chunkL4M23OMB_cjs = require('./chunk-L4M23OMB.cjs');
|
|
8
8
|
var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunk7756JXUH_cjs = require('./chunk-7756JXUH.cjs');
|
|
10
10
|
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
11
11
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
12
12
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
@@ -31,12 +31,12 @@ function schemaToJsonSchema(schema) {
|
|
|
31
31
|
if (!schema) {
|
|
32
32
|
return void 0;
|
|
33
33
|
}
|
|
34
|
-
return
|
|
34
|
+
return chunk7756JXUH_cjs.standardSchemaToJSONSchema(chunk7756JXUH_cjs.toStandardSchema5(schema), { target: "draft-2020-12" });
|
|
35
35
|
}
|
|
36
36
|
function serializeSchema(schema) {
|
|
37
37
|
const jsonSchema = schemaToJsonSchema(resolveLazySchema(schema));
|
|
38
38
|
if (jsonSchema === void 0) return void 0;
|
|
39
|
-
return
|
|
39
|
+
return chunkIQMLYFOO_cjs.stringify(jsonSchema);
|
|
40
40
|
}
|
|
41
41
|
async function findToolInAgents(mastra, toolId, requestContext) {
|
|
42
42
|
const agents = mastra.listAgents() || {};
|
|
@@ -61,8 +61,8 @@ function serializeTool(tool) {
|
|
|
61
61
|
const resolvedOutput = resolveLazySchema(tool.outputSchema);
|
|
62
62
|
return {
|
|
63
63
|
...tool,
|
|
64
|
-
inputSchema: resolvedInput && typeof resolvedInput === "object" && "jsonSchema" in resolvedInput ?
|
|
65
|
-
outputSchema: resolvedOutput && typeof resolvedOutput === "object" && "jsonSchema" in resolvedOutput ?
|
|
64
|
+
inputSchema: resolvedInput && typeof resolvedInput === "object" && "jsonSchema" in resolvedInput ? chunkIQMLYFOO_cjs.stringify(resolvedInput.jsonSchema) : void 0,
|
|
65
|
+
outputSchema: resolvedOutput && typeof resolvedOutput === "object" && "jsonSchema" in resolvedOutput ? chunkIQMLYFOO_cjs.stringify(resolvedOutput.jsonSchema) : void 0
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
return {
|
|
@@ -72,11 +72,11 @@ function serializeTool(tool) {
|
|
|
72
72
|
requestContextSchema: serializeSchema(tool.requestContextSchema)
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
var LIST_TOOLS_ROUTE =
|
|
75
|
+
var LIST_TOOLS_ROUTE = chunk7756JXUH_cjs.createRoute({
|
|
76
76
|
method: "GET",
|
|
77
77
|
path: "/tools",
|
|
78
78
|
responseType: "json",
|
|
79
|
-
responseSchema:
|
|
79
|
+
responseSchema: chunk4QZCXU3A_cjs.listToolsResponseSchema,
|
|
80
80
|
summary: "List all tools",
|
|
81
81
|
description: "Returns a list of all available tools in the system",
|
|
82
82
|
tags: ["Tools"],
|
|
@@ -109,12 +109,12 @@ var LIST_TOOLS_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
|
-
var GET_TOOL_BY_ID_ROUTE =
|
|
112
|
+
var GET_TOOL_BY_ID_ROUTE = chunk7756JXUH_cjs.createRoute({
|
|
113
113
|
method: "GET",
|
|
114
114
|
path: "/tools/:toolId",
|
|
115
115
|
responseType: "json",
|
|
116
|
-
pathParamSchema:
|
|
117
|
-
responseSchema:
|
|
116
|
+
pathParamSchema: chunk4QZCXU3A_cjs.toolIdPathParams,
|
|
117
|
+
responseSchema: chunk4QZCXU3A_cjs.serializedToolSchema,
|
|
118
118
|
summary: "Get tool by ID",
|
|
119
119
|
description: "Returns details for a specific tool including its schema and configuration",
|
|
120
120
|
tags: ["Tools"],
|
|
@@ -144,14 +144,14 @@ var GET_TOOL_BY_ID_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
|
-
var EXECUTE_TOOL_ROUTE =
|
|
147
|
+
var EXECUTE_TOOL_ROUTE = chunk7756JXUH_cjs.createRoute({
|
|
148
148
|
method: "POST",
|
|
149
149
|
path: "/tools/:toolId/execute",
|
|
150
150
|
responseType: "json",
|
|
151
|
-
pathParamSchema:
|
|
151
|
+
pathParamSchema: chunk4QZCXU3A_cjs.toolIdPathParams,
|
|
152
152
|
queryParamSchema: chunkDIG2K5CV_cjs.optionalRunIdSchema,
|
|
153
|
-
bodySchema:
|
|
154
|
-
responseSchema:
|
|
153
|
+
bodySchema: chunk4QZCXU3A_cjs.executeToolContextBodySchema,
|
|
154
|
+
responseSchema: chunk4QZCXU3A_cjs.executeToolResponseSchema,
|
|
155
155
|
summary: "Execute tool",
|
|
156
156
|
description: "Executes a specific tool with the provided input data",
|
|
157
157
|
tags: ["Tools"],
|
|
@@ -207,12 +207,12 @@ var EXECUTE_TOOL_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
});
|
|
210
|
-
var GET_AGENT_TOOL_ROUTE =
|
|
210
|
+
var GET_AGENT_TOOL_ROUTE = chunk7756JXUH_cjs.createRoute({
|
|
211
211
|
method: "GET",
|
|
212
212
|
path: "/agents/:agentId/tools/:toolId",
|
|
213
213
|
responseType: "json",
|
|
214
|
-
pathParamSchema:
|
|
215
|
-
responseSchema:
|
|
214
|
+
pathParamSchema: chunk4QZCXU3A_cjs.agentToolPathParams,
|
|
215
|
+
responseSchema: chunk4QZCXU3A_cjs.serializedToolSchema,
|
|
216
216
|
summary: "Get agent tool",
|
|
217
217
|
description: "Returns details for a specific tool assigned to the agent",
|
|
218
218
|
tags: ["Agents", "Tools"],
|
|
@@ -227,7 +227,7 @@ var GET_AGENT_TOOL_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
227
227
|
if (!agentId) {
|
|
228
228
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
229
229
|
}
|
|
230
|
-
const agent = await
|
|
230
|
+
const agent = await chunk767P6IDT_cjs.getAgentFromSystem({ mastra, agentId });
|
|
231
231
|
const agentTools = await agent.listTools({ requestContext });
|
|
232
232
|
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
233
233
|
if (!tool) {
|
|
@@ -239,13 +239,13 @@ var GET_AGENT_TOOL_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
});
|
|
242
|
-
var EXECUTE_AGENT_TOOL_ROUTE =
|
|
242
|
+
var EXECUTE_AGENT_TOOL_ROUTE = chunk7756JXUH_cjs.createRoute({
|
|
243
243
|
method: "POST",
|
|
244
244
|
path: "/agents/:agentId/tools/:toolId/execute",
|
|
245
245
|
responseType: "json",
|
|
246
|
-
pathParamSchema:
|
|
247
|
-
bodySchema:
|
|
248
|
-
responseSchema:
|
|
246
|
+
pathParamSchema: chunk4QZCXU3A_cjs.agentToolPathParams,
|
|
247
|
+
bodySchema: chunk4QZCXU3A_cjs.executeToolBodySchema,
|
|
248
|
+
responseSchema: chunk4QZCXU3A_cjs.executeToolResponseSchema,
|
|
249
249
|
summary: "Execute agent tool",
|
|
250
250
|
description: "Executes a specific tool assigned to the agent with the provided input data",
|
|
251
251
|
tags: ["Agents", "Tools"],
|
|
@@ -260,7 +260,7 @@ var EXECUTE_AGENT_TOOL_ROUTE = chunk7LAFXMXB_cjs.createRoute({
|
|
|
260
260
|
if (!agentId) {
|
|
261
261
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
262
262
|
}
|
|
263
|
-
const agent = await
|
|
263
|
+
const agent = await chunk767P6IDT_cjs.getAgentFromSystem({ mastra, agentId });
|
|
264
264
|
const agentTools = await agent.listTools({ requestContext });
|
|
265
265
|
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
266
266
|
if (!tool) {
|
|
@@ -288,5 +288,5 @@ exports.GET_AGENT_TOOL_ROUTE = GET_AGENT_TOOL_ROUTE;
|
|
|
288
288
|
exports.GET_TOOL_BY_ID_ROUTE = GET_TOOL_BY_ID_ROUTE;
|
|
289
289
|
exports.LIST_TOOLS_ROUTE = LIST_TOOLS_ROUTE;
|
|
290
290
|
exports.tools_exports = tools_exports;
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
292
|
-
//# sourceMappingURL=chunk-
|
|
291
|
+
//# sourceMappingURL=chunk-N2JR3ER7.cjs.map
|
|
292
|
+
//# sourceMappingURL=chunk-N2JR3ER7.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","standardSchemaToJSONSchema","toStandardSchema5","stringify","isProviderDefinedTool","createRoute","listToolsResponseSchema","MastraFGAPermissions","handleError","toolIdPathParams","serializedToolSchema","HTTPException","optionalRunIdSchema","executeToolContextBodySchema","executeToolResponseSchema","validateBody","isVercelTool","agentToolPathParams","getAgentFromSystem","tool","executeToolBodySchema"],"mappings":"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","file":"chunk-XI4WY2MX.cjs","sourcesContent":["import { isVercelTool, isProviderDefinedTool } from '@mastra/core/tools';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\nimport { stringify } from 'superjson';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n/**\n * Resolves a schema that may be a lazy function (e.g. AI SDK provider tools).\n * Recursively resolves until a non-function value is returned.\n * Skips functions that are themselves valid schemas (e.g. ArkType types are\n * callable but also implement StandardSchema via ~standard).\n */\nfunction resolveLazySchema(schema: unknown): unknown {\n if (typeof schema === 'function' && !('~standard' in schema)) {\n return resolveLazySchema(schema());\n }\n return schema;\n}\n\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) {\n return undefined;\n }\n\n return standardSchemaToJSONSchema(toStandardSchema(schema), { target: 'draft-2020-12' });\n}\n\nfunction serializeSchema(schema: unknown): string | undefined {\n const jsonSchema = schemaToJsonSchema(resolveLazySchema(schema) as PublicSchema<unknown> | undefined);\n if (jsonSchema === undefined) return undefined;\n return stringify(jsonSchema);\n}\n\n/**\n * Searches dynamically-resolved agent tools (provided via `toolsResolver` /\n * function-based `tools`) for a tool with the given id. Used as a fallback\n * after the static tool registry (`registeredTools` + `mastra.getToolById`)\n * misses, so global tool routes can resolve tools that only exist on agents.\n *\n * Errors thrown by an individual agent's `listTools()` are logged and\n * skipped so a single broken resolver doesn't take down the whole lookup.\n */\nasync function findToolInAgents(mastra: any, toolId: string, requestContext: any): Promise<any | undefined> {\n const agents = mastra.listAgents() || {};\n for (const agent of Object.values(agents) as any[]) {\n try {\n const agentTools = await agent.listTools({ requestContext });\n const found = Object.values(agentTools || {}).find((t: any) => t.id === toolId);\n if (found) return found;\n } catch (error) {\n mastra.getLogger?.()?.warn?.('Failed to list tools for agent while resolving tool by id', {\n agentId: agent?.id,\n toolId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return undefined;\n}\n\n/**\n * Serializes a tool for API responses, handling both regular tools (with Zod schemas)\n * and provider-defined tools (with AI SDK lazy schemas).\n */\nfunction serializeTool(tool: any): any {\n // Provider-defined tools (e.g. google.tools.googleSearch(), openai.tools.webSearch())\n // have lazy inputSchema functions that return AI SDK Schema objects, not Zod schemas.\n // We resolve them and use the jsonSchema property directly.\n if (isProviderDefinedTool(tool)) {\n const resolvedInput = resolveLazySchema(tool.inputSchema);\n const resolvedOutput = resolveLazySchema(tool.outputSchema);\n return {\n ...tool,\n inputSchema:\n resolvedInput && typeof resolvedInput === 'object' && 'jsonSchema' in resolvedInput\n ? stringify(resolvedInput.jsonSchema)\n : undefined,\n outputSchema:\n resolvedOutput && typeof resolvedOutput === 'object' && 'jsonSchema' in resolvedOutput\n ? stringify(resolvedOutput.jsonSchema)\n : undefined,\n };\n }\n\n return {\n ...tool,\n inputSchema: serializeSchema(tool.inputSchema),\n outputSchema: serializeSchema(tool.outputSchema),\n requestContextSchema: serializeSchema(tool.requestContextSchema),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n requiresAuth: true,\n handler: async ({ mastra, registeredTools, requestContext }) => {\n try {\n const allTools =\n registeredTools && Object.keys(registeredTools).length > 0 ? registeredTools : mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n acc[id] = serializeTool(_tool);\n return acc;\n },\n {} as Record<string, any>,\n );\n\n // Filter tools by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider && user) {\n const toolList = Object.entries(serializedTools).map(([id, t]) => ({ id, ...t }));\n const accessible = await fgaProvider.filterAccessible(user, toolList, 'tool', MastraFGAPermissions.TOOLS_READ);\n const accessibleSet = new Set(accessible.map((t: any) => t.id));\n for (const id of Object.keys(serializedTools)) {\n if (!accessibleSet.has(id)) {\n delete serializedTools[id];\n }\n }\n }\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_READ },\n handler: async ({ mastra, registeredTools, toolId, requestContext }) => {\n try {\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_EXECUTE },\n handler: async ({ mastra, runId, toolId, registeredTools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n let result;\n if (isVercelTool(tool)) {\n result = await (tool as any).execute(data);\n } else {\n result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_READ,\n },\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_EXECUTE,\n },\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","standardSchemaToJSONSchema","toStandardSchema5","stringify","isProviderDefinedTool","createRoute","listToolsResponseSchema","MastraFGAPermissions","handleError","toolIdPathParams","serializedToolSchema","HTTPException","optionalRunIdSchema","executeToolContextBodySchema","executeToolResponseSchema","validateBody","isVercelTool","agentToolPathParams","getAgentFromSystem","tool","executeToolBodySchema"],"mappings":"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","file":"chunk-N2JR3ER7.cjs","sourcesContent":["import { isVercelTool, isProviderDefinedTool } from '@mastra/core/tools';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\nimport { stringify } from 'superjson';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n/**\n * Resolves a schema that may be a lazy function (e.g. AI SDK provider tools).\n * Recursively resolves until a non-function value is returned.\n * Skips functions that are themselves valid schemas (e.g. ArkType types are\n * callable but also implement StandardSchema via ~standard).\n */\nfunction resolveLazySchema(schema: unknown): unknown {\n if (typeof schema === 'function' && !('~standard' in schema)) {\n return resolveLazySchema(schema());\n }\n return schema;\n}\n\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) {\n return undefined;\n }\n\n return standardSchemaToJSONSchema(toStandardSchema(schema), { target: 'draft-2020-12' });\n}\n\nfunction serializeSchema(schema: unknown): string | undefined {\n const jsonSchema = schemaToJsonSchema(resolveLazySchema(schema) as PublicSchema<unknown> | undefined);\n if (jsonSchema === undefined) return undefined;\n return stringify(jsonSchema);\n}\n\n/**\n * Searches dynamically-resolved agent tools (provided via `toolsResolver` /\n * function-based `tools`) for a tool with the given id. Used as a fallback\n * after the static tool registry (`registeredTools` + `mastra.getToolById`)\n * misses, so global tool routes can resolve tools that only exist on agents.\n *\n * Errors thrown by an individual agent's `listTools()` are logged and\n * skipped so a single broken resolver doesn't take down the whole lookup.\n */\nasync function findToolInAgents(mastra: any, toolId: string, requestContext: any): Promise<any | undefined> {\n const agents = mastra.listAgents() || {};\n for (const agent of Object.values(agents) as any[]) {\n try {\n const agentTools = await agent.listTools({ requestContext });\n const found = Object.values(agentTools || {}).find((t: any) => t.id === toolId);\n if (found) return found;\n } catch (error) {\n mastra.getLogger?.()?.warn?.('Failed to list tools for agent while resolving tool by id', {\n agentId: agent?.id,\n toolId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return undefined;\n}\n\n/**\n * Serializes a tool for API responses, handling both regular tools (with Zod schemas)\n * and provider-defined tools (with AI SDK lazy schemas).\n */\nfunction serializeTool(tool: any): any {\n // Provider-defined tools (e.g. google.tools.googleSearch(), openai.tools.webSearch())\n // have lazy inputSchema functions that return AI SDK Schema objects, not Zod schemas.\n // We resolve them and use the jsonSchema property directly.\n if (isProviderDefinedTool(tool)) {\n const resolvedInput = resolveLazySchema(tool.inputSchema);\n const resolvedOutput = resolveLazySchema(tool.outputSchema);\n return {\n ...tool,\n inputSchema:\n resolvedInput && typeof resolvedInput === 'object' && 'jsonSchema' in resolvedInput\n ? stringify(resolvedInput.jsonSchema)\n : undefined,\n outputSchema:\n resolvedOutput && typeof resolvedOutput === 'object' && 'jsonSchema' in resolvedOutput\n ? stringify(resolvedOutput.jsonSchema)\n : undefined,\n };\n }\n\n return {\n ...tool,\n inputSchema: serializeSchema(tool.inputSchema),\n outputSchema: serializeSchema(tool.outputSchema),\n requestContextSchema: serializeSchema(tool.requestContextSchema),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n requiresAuth: true,\n handler: async ({ mastra, registeredTools, requestContext }) => {\n try {\n const allTools =\n registeredTools && Object.keys(registeredTools).length > 0 ? registeredTools : mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n acc[id] = serializeTool(_tool);\n return acc;\n },\n {} as Record<string, any>,\n );\n\n // Filter tools by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider && user) {\n const toolList = Object.entries(serializedTools).map(([id, t]) => ({ id, ...t }));\n const accessible = await fgaProvider.filterAccessible(user, toolList, 'tool', MastraFGAPermissions.TOOLS_READ);\n const accessibleSet = new Set(accessible.map((t: any) => t.id));\n for (const id of Object.keys(serializedTools)) {\n if (!accessibleSet.has(id)) {\n delete serializedTools[id];\n }\n }\n }\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_READ },\n handler: async ({ mastra, registeredTools, toolId, requestContext }) => {\n try {\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_EXECUTE },\n handler: async ({ mastra, runId, toolId, registeredTools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n let result;\n if (isVercelTool(tool)) {\n result = await (tool as any).execute(data);\n } else {\n result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_READ,\n },\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_EXECUTE,\n },\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
|
|
@@ -1,17 +1,43 @@
|
|
|
1
|
-
import { agentCardResponseSchema, a2aAgentIdPathParams, agentExecutionResponseSchema, agentExecutionBodySchema } from './chunk-
|
|
2
|
-
import { getPublicOrigin } from './chunk-
|
|
3
|
-
import { getAgentFromSystem } from './chunk-
|
|
4
|
-
import { convertInstructionsToString } from './chunk-
|
|
5
|
-
import { createRoute } from './chunk-
|
|
6
|
-
import { __export } from './chunk-PR4QN5HX.js';
|
|
1
|
+
import { agentCardResponseSchema, a2aAgentIdPathParams, agentExecutionResponseSchema, agentExecutionBodySchema } from './chunk-KEE6UMGC.js';
|
|
2
|
+
import { getPublicOrigin } from './chunk-MLEUYQFZ.js';
|
|
3
|
+
import { getAgentFromSystem } from './chunk-3S77SMGK.js';
|
|
4
|
+
import { convertInstructionsToString } from './chunk-YCL2MS5R.js';
|
|
5
|
+
import { createRoute } from './chunk-GDACR4PY.js';
|
|
6
|
+
import { __commonJS, __export, __toESM } from './chunk-PR4QN5HX.js';
|
|
7
7
|
import { isDeepStrictEqual } from 'util';
|
|
8
8
|
import { MastraA2AError } from '@mastra/core/a2a';
|
|
9
9
|
import { z } from 'zod/v4';
|
|
10
|
+
import * as crypto2 from 'crypto';
|
|
10
11
|
import { lookup } from 'dns/promises';
|
|
11
12
|
import { request as request$1 } from 'http';
|
|
12
13
|
import { request } from 'https';
|
|
13
14
|
import { isIP } from 'net';
|
|
14
15
|
|
|
16
|
+
// ../../node_modules/.pnpm/canonicalize@1.0.8/node_modules/canonicalize/lib/canonicalize.js
|
|
17
|
+
var require_canonicalize = __commonJS({
|
|
18
|
+
"../../node_modules/.pnpm/canonicalize@1.0.8/node_modules/canonicalize/lib/canonicalize.js"(exports$1, module) {
|
|
19
|
+
module.exports = function serialize(object) {
|
|
20
|
+
if (object === null || typeof object !== "object" || object.toJSON != null) {
|
|
21
|
+
return JSON.stringify(object);
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(object)) {
|
|
24
|
+
return "[" + object.reduce((t, cv, ci) => {
|
|
25
|
+
const comma = ci === 0 ? "" : ",";
|
|
26
|
+
const value = cv === void 0 || typeof cv === "symbol" ? null : cv;
|
|
27
|
+
return t + comma + serialize(value);
|
|
28
|
+
}, "") + "]";
|
|
29
|
+
}
|
|
30
|
+
return "{" + Object.keys(object).sort().reduce((t, cv, ci) => {
|
|
31
|
+
if (object[cv] === void 0 || typeof object[cv] === "symbol") {
|
|
32
|
+
return t;
|
|
33
|
+
}
|
|
34
|
+
const comma = t.length === 0 ? "" : ",";
|
|
35
|
+
return t + comma + serialize(cv) + ":" + serialize(object[cv]);
|
|
36
|
+
}, "") + "}";
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
15
41
|
// src/server/handlers/a2a.ts
|
|
16
42
|
var a2a_exports = {};
|
|
17
43
|
__export(a2a_exports, {
|
|
@@ -29,6 +55,98 @@ __export(a2a_exports, {
|
|
|
29
55
|
handleTaskGet: () => handleTaskGet,
|
|
30
56
|
handleTaskResubscribe: () => handleTaskResubscribe
|
|
31
57
|
});
|
|
58
|
+
|
|
59
|
+
// src/server/a2a/agent-card-signing.ts
|
|
60
|
+
var import_canonicalize = __toESM(require_canonicalize(), 1);
|
|
61
|
+
var SUPPORTED_JWS_ALGORITHMS = /* @__PURE__ */ new Set([
|
|
62
|
+
"ES256",
|
|
63
|
+
"ES384",
|
|
64
|
+
"ES512",
|
|
65
|
+
"RS256",
|
|
66
|
+
"RS384",
|
|
67
|
+
"RS512",
|
|
68
|
+
"PS256",
|
|
69
|
+
"PS384",
|
|
70
|
+
"PS512"
|
|
71
|
+
]);
|
|
72
|
+
function stripAgentCardSignatures(agentCard) {
|
|
73
|
+
const unsignedCard = structuredClone(agentCard);
|
|
74
|
+
delete unsignedCard.signatures;
|
|
75
|
+
return unsignedCard;
|
|
76
|
+
}
|
|
77
|
+
function importSigningKey(signing) {
|
|
78
|
+
const { privateKey } = signing;
|
|
79
|
+
if (typeof privateKey === "string") {
|
|
80
|
+
return crypto2.createPrivateKey(privateKey);
|
|
81
|
+
}
|
|
82
|
+
return crypto2.createPrivateKey({
|
|
83
|
+
key: privateKey,
|
|
84
|
+
format: "jwk"
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function getProtectedHeader(signing) {
|
|
88
|
+
const { alg, ...rest } = signing.protectedHeader;
|
|
89
|
+
if (!SUPPORTED_JWS_ALGORITHMS.has(alg)) {
|
|
90
|
+
throw new Error(`Unsupported JWS algorithm for A2A Agent Card signing: ${alg}`);
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
...rest,
|
|
94
|
+
alg
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function getSignatureOptions(algorithm) {
|
|
98
|
+
if (algorithm.startsWith("ES")) {
|
|
99
|
+
return { dsaEncoding: "ieee-p1363" };
|
|
100
|
+
}
|
|
101
|
+
if (algorithm.startsWith("PS")) {
|
|
102
|
+
return {
|
|
103
|
+
padding: crypto2.constants.RSA_PKCS1_PSS_PADDING,
|
|
104
|
+
saltLength: crypto2.constants.RSA_PSS_SALTLEN_DIGEST
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return {};
|
|
108
|
+
}
|
|
109
|
+
function getDigestAlgorithm(algorithm) {
|
|
110
|
+
if (algorithm.endsWith("256")) return "sha256";
|
|
111
|
+
if (algorithm.endsWith("384")) return "sha384";
|
|
112
|
+
if (algorithm.endsWith("512")) return "sha512";
|
|
113
|
+
throw new Error(`Unsupported JWS algorithm for A2A Agent Card signing: ${algorithm}`);
|
|
114
|
+
}
|
|
115
|
+
async function signAgentCard({
|
|
116
|
+
agentCard,
|
|
117
|
+
signing
|
|
118
|
+
}) {
|
|
119
|
+
const canonicalPayload = (0, import_canonicalize.default)(stripAgentCardSignatures(agentCard));
|
|
120
|
+
if (!canonicalPayload) {
|
|
121
|
+
throw new Error("Failed to canonicalize A2A Agent Card for signing");
|
|
122
|
+
}
|
|
123
|
+
const key = importSigningKey(signing);
|
|
124
|
+
const protectedHeader = getProtectedHeader(signing);
|
|
125
|
+
const encodedHeader = Buffer.from(JSON.stringify(protectedHeader), "utf8").toString("base64url");
|
|
126
|
+
const encodedPayload = Buffer.from(canonicalPayload, "utf8").toString("base64url");
|
|
127
|
+
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
128
|
+
const signatureBuffer = crypto2.sign(
|
|
129
|
+
getDigestAlgorithm(String(protectedHeader.alg)),
|
|
130
|
+
Buffer.from(signingInput, "utf8"),
|
|
131
|
+
{
|
|
132
|
+
key,
|
|
133
|
+
...getSignatureOptions(String(protectedHeader.alg))
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
const signatureValue = signatureBuffer.toString("base64url");
|
|
137
|
+
if (!encodedHeader || !signatureValue) {
|
|
138
|
+
throw new Error("Failed to create compact JWS for A2A Agent Card");
|
|
139
|
+
}
|
|
140
|
+
const signature = {
|
|
141
|
+
protected: encodedHeader,
|
|
142
|
+
signature: signatureValue,
|
|
143
|
+
header: signing.header
|
|
144
|
+
};
|
|
145
|
+
return {
|
|
146
|
+
...agentCard,
|
|
147
|
+
signatures: [...agentCard.signatures ?? [], signature]
|
|
148
|
+
};
|
|
149
|
+
}
|
|
32
150
|
function normalizeError(error, reqId, taskId, logger) {
|
|
33
151
|
let a2aError;
|
|
34
152
|
if (error instanceof MastraA2AError) {
|
|
@@ -504,7 +622,14 @@ async function getAgentCardByIdHandler({
|
|
|
504
622
|
tags: ["tool"]
|
|
505
623
|
}))
|
|
506
624
|
};
|
|
507
|
-
|
|
625
|
+
const signing = mastra.getServer?.()?.a2a?.agentCardSigning;
|
|
626
|
+
if (!signing) {
|
|
627
|
+
return agentCard;
|
|
628
|
+
}
|
|
629
|
+
return signAgentCard({
|
|
630
|
+
agentCard,
|
|
631
|
+
signing
|
|
632
|
+
});
|
|
508
633
|
}
|
|
509
634
|
function getA2AExecutionUrl({
|
|
510
635
|
agentId,
|
|
@@ -1489,5 +1614,5 @@ var AGENT_EXECUTION_ROUTE = createRoute({
|
|
|
1489
1614
|
});
|
|
1490
1615
|
|
|
1491
1616
|
export { AGENT_EXECUTION_ROUTE, GET_AGENT_CARD_ROUTE, a2a_exports, getAgentCardByIdHandler, getAgentExecutionHandler, handleDeleteTaskPushNotificationConfig, handleGetTaskPushNotificationConfig, handleListTaskPushNotificationConfig, handleMessageSend, handleMessageStream, handleSetTaskPushNotificationConfig, handleTaskCancel, handleTaskGet, handleTaskResubscribe };
|
|
1492
|
-
//# sourceMappingURL=chunk-
|
|
1493
|
-
//# sourceMappingURL=chunk-
|
|
1617
|
+
//# sourceMappingURL=chunk-NHQKZEVJ.js.map
|
|
1618
|
+
//# sourceMappingURL=chunk-NHQKZEVJ.js.map
|