@mastra/server 1.29.0-alpha.5 → 1.29.0
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 +52 -0
- package/dist/{chunk-7E2JRYIE.js → chunk-2GVTUHUO.js} +4 -4
- package/dist/{chunk-7E2JRYIE.js.map → chunk-2GVTUHUO.js.map} +1 -1
- package/dist/{chunk-JOC7WKJ2.cjs → chunk-2THJ6ADC.cjs} +28 -28
- package/dist/{chunk-JOC7WKJ2.cjs.map → chunk-2THJ6ADC.cjs.map} +1 -1
- package/dist/{chunk-WHJULBHV.cjs → chunk-2XESZTZT.cjs} +11 -11
- package/dist/{chunk-WHJULBHV.cjs.map → chunk-2XESZTZT.cjs.map} +1 -1
- package/dist/{chunk-4IYALPXO.js → chunk-3224ZDIF.js} +4 -4
- package/dist/{chunk-4IYALPXO.js.map → chunk-3224ZDIF.js.map} +1 -1
- package/dist/{chunk-BPA7HXKB.js → chunk-34CASLHS.js} +5 -5
- package/dist/{chunk-BPA7HXKB.js.map → chunk-34CASLHS.js.map} +1 -1
- package/dist/{chunk-5KM5P23Q.cjs → chunk-44HBA2O4.cjs} +28 -28
- package/dist/{chunk-5KM5P23Q.cjs.map → chunk-44HBA2O4.cjs.map} +1 -1
- package/dist/{chunk-65MQD7JR.js → chunk-4B22X3FH.js} +4 -4
- package/dist/{chunk-65MQD7JR.js.map → chunk-4B22X3FH.js.map} +1 -1
- package/dist/{chunk-I2ZMOQ7J.js → chunk-4C3YZI6Z.js} +6 -4
- package/dist/chunk-4C3YZI6Z.js.map +1 -0
- package/dist/{chunk-PQETTP2F.js → chunk-4EKPT57S.js} +3 -3
- package/dist/{chunk-PQETTP2F.js.map → chunk-4EKPT57S.js.map} +1 -1
- package/dist/{chunk-MROI3O6S.cjs → chunk-4LVIBP3H.cjs} +10 -10
- package/dist/{chunk-MROI3O6S.cjs.map → chunk-4LVIBP3H.cjs.map} +1 -1
- package/dist/{chunk-BIQ74OIO.cjs → chunk-4P7D66VB.cjs} +3 -2
- package/dist/chunk-4P7D66VB.cjs.map +1 -0
- package/dist/{chunk-VGR4DSXQ.cjs → chunk-6CI3CSK4.cjs} +10 -10
- package/dist/{chunk-VGR4DSXQ.cjs.map → chunk-6CI3CSK4.cjs.map} +1 -1
- package/dist/{chunk-HWK6K3DW.cjs → chunk-6CJWWTVS.cjs} +6 -6
- package/dist/{chunk-HWK6K3DW.cjs.map → chunk-6CJWWTVS.cjs.map} +1 -1
- package/dist/{chunk-YI2LXCWB.js → chunk-6KMLRD3J.js} +3 -3
- package/dist/{chunk-YI2LXCWB.js.map → chunk-6KMLRD3J.js.map} +1 -1
- package/dist/{chunk-7GNVIWZY.js → chunk-6P6HIITF.js} +4 -4
- package/dist/{chunk-7GNVIWZY.js.map → chunk-6P6HIITF.js.map} +1 -1
- package/dist/{chunk-EFP5PJBY.cjs → chunk-6UWPE4WD.cjs} +38 -38
- package/dist/{chunk-EFP5PJBY.cjs.map → chunk-6UWPE4WD.cjs.map} +1 -1
- package/dist/{chunk-OGZ6ROYD.js → chunk-77UDRX7O.js} +4 -4
- package/dist/{chunk-OGZ6ROYD.js.map → chunk-77UDRX7O.js.map} +1 -1
- package/dist/{chunk-S7REEERK.cjs → chunk-7KKKNNRH.cjs} +10 -10
- package/dist/{chunk-S7REEERK.cjs.map → chunk-7KKKNNRH.cjs.map} +1 -1
- package/dist/{chunk-OV64VJ5L.js → chunk-7UQ6VG3C.js} +4 -4
- package/dist/{chunk-OV64VJ5L.js.map → chunk-7UQ6VG3C.js.map} +1 -1
- package/dist/{chunk-E2PSSSTN.cjs → chunk-AZI2SAH6.cjs} +14 -14
- package/dist/{chunk-E2PSSSTN.cjs.map → chunk-AZI2SAH6.cjs.map} +1 -1
- package/dist/{chunk-LTLTS3RN.js → chunk-B5VM3A53.js} +3 -3
- package/dist/{chunk-LTLTS3RN.js.map → chunk-B5VM3A53.js.map} +1 -1
- package/dist/{chunk-Q2N5GR7X.cjs → chunk-B65LZWBE.cjs} +10 -10
- package/dist/{chunk-Q2N5GR7X.cjs.map → chunk-B65LZWBE.cjs.map} +1 -1
- package/dist/{chunk-LVGLLXRY.cjs → chunk-BLINU5LG.cjs} +7 -7
- package/dist/{chunk-LVGLLXRY.cjs.map → chunk-BLINU5LG.cjs.map} +1 -1
- package/dist/{chunk-DY6OYCMG.js → chunk-BUDY5TFR.js} +3 -3
- package/dist/{chunk-DY6OYCMG.js.map → chunk-BUDY5TFR.js.map} +1 -1
- package/dist/{chunk-NRFMMYTG.js → chunk-C4NU6EHX.js} +3 -3
- package/dist/{chunk-NRFMMYTG.js.map → chunk-C4NU6EHX.js.map} +1 -1
- package/dist/{chunk-ANP3ESTF.js → chunk-C4T45CIM.js} +3 -3
- package/dist/{chunk-ANP3ESTF.js.map → chunk-C4T45CIM.js.map} +1 -1
- package/dist/{chunk-7VXUWPHS.cjs → chunk-CDSA5YUY.cjs} +10 -10
- package/dist/{chunk-7VXUWPHS.cjs.map → chunk-CDSA5YUY.cjs.map} +1 -1
- package/dist/{chunk-6N5NDQVM.cjs → chunk-CNTWPG57.cjs} +75 -9
- package/dist/chunk-CNTWPG57.cjs.map +1 -0
- package/dist/{chunk-PFEVOAAN.js → chunk-D4DWAPZU.js} +4 -4
- package/dist/{chunk-PFEVOAAN.js.map → chunk-D4DWAPZU.js.map} +1 -1
- package/dist/{chunk-TNNU7IZK.cjs → chunk-DNY4PR4R.cjs} +24 -24
- package/dist/{chunk-TNNU7IZK.cjs.map → chunk-DNY4PR4R.cjs.map} +1 -1
- package/dist/{chunk-N6S7KI4E.js → chunk-E4SZPFH3.js} +4 -4
- package/dist/{chunk-N6S7KI4E.js.map → chunk-E4SZPFH3.js.map} +1 -1
- package/dist/{chunk-R4DZSQYI.cjs → chunk-EQR2JWYK.cjs} +30 -30
- package/dist/{chunk-R4DZSQYI.cjs.map → chunk-EQR2JWYK.cjs.map} +1 -1
- package/dist/{chunk-IO7PPBD4.js → chunk-EUB6UXBI.js} +4 -4
- package/dist/{chunk-IO7PPBD4.js.map → chunk-EUB6UXBI.js.map} +1 -1
- package/dist/{chunk-OLPARCPM.cjs → chunk-F7DL7V5F.cjs} +5 -5
- package/dist/{chunk-OLPARCPM.cjs.map → chunk-F7DL7V5F.cjs.map} +1 -1
- package/dist/{chunk-TFEHE3UN.js → chunk-FJC2FLV6.js} +4 -4
- package/dist/{chunk-TFEHE3UN.js.map → chunk-FJC2FLV6.js.map} +1 -1
- package/dist/{chunk-2MWLNHBG.cjs → chunk-FTQRGT3E.cjs} +10 -10
- package/dist/{chunk-2MWLNHBG.cjs.map → chunk-FTQRGT3E.cjs.map} +1 -1
- package/dist/{chunk-PXAMRQAF.js → chunk-GGCDSOHW.js} +3 -2
- package/dist/chunk-GGCDSOHW.js.map +1 -0
- package/dist/{chunk-53QVLUCB.cjs → chunk-HBMTKCJL.cjs} +3 -3
- package/dist/{chunk-53QVLUCB.cjs.map → chunk-HBMTKCJL.cjs.map} +1 -1
- package/dist/{chunk-THQCPWBO.cjs → chunk-HK6NFKTA.cjs} +11 -11
- package/dist/{chunk-THQCPWBO.cjs.map → chunk-HK6NFKTA.cjs.map} +1 -1
- package/dist/{chunk-H23VTK56.js → chunk-IT6MRNKH.js} +3 -3
- package/dist/{chunk-H23VTK56.js.map → chunk-IT6MRNKH.js.map} +1 -1
- package/dist/{chunk-ODOZS3ZD.cjs → chunk-JOGDEYIU.cjs} +39 -39
- package/dist/{chunk-ODOZS3ZD.cjs.map → chunk-JOGDEYIU.cjs.map} +1 -1
- package/dist/{chunk-PA2BYLKF.js → chunk-KEFOJ6EP.js} +39 -39
- package/dist/{chunk-PA2BYLKF.js.map → chunk-KEFOJ6EP.js.map} +1 -1
- package/dist/{chunk-EBKNX5RM.cjs → chunk-KTS4NFM5.cjs} +44 -44
- package/dist/{chunk-EBKNX5RM.cjs.map → chunk-KTS4NFM5.cjs.map} +1 -1
- package/dist/{chunk-AU3AUZU7.js → chunk-LCYZZIAU.js} +172 -1081
- package/dist/chunk-LCYZZIAU.js.map +1 -0
- package/dist/{chunk-CKZMJIUO.cjs → chunk-MGLEDDTR.cjs} +6 -6
- package/dist/{chunk-CKZMJIUO.cjs.map → chunk-MGLEDDTR.cjs.map} +1 -1
- package/dist/{chunk-T4B6NNIT.js → chunk-MIZHXCAC.js} +4 -4
- package/dist/{chunk-T4B6NNIT.js.map → chunk-MIZHXCAC.js.map} +1 -1
- package/dist/{chunk-OGV23F3H.cjs → chunk-MLV3OU36.cjs} +11 -11
- package/dist/{chunk-OGV23F3H.cjs.map → chunk-MLV3OU36.cjs.map} +1 -1
- package/dist/{chunk-EETF75CE.cjs → chunk-MPMM5D3U.cjs} +10 -10
- package/dist/{chunk-EETF75CE.cjs.map → chunk-MPMM5D3U.cjs.map} +1 -1
- package/dist/{chunk-FIP7YYSO.js → chunk-N32V7VSV.js} +4 -4
- package/dist/{chunk-FIP7YYSO.js.map → chunk-N32V7VSV.js.map} +1 -1
- package/dist/{chunk-6SBH6SYP.js → chunk-NCOIQYTM.js} +3 -3
- package/dist/{chunk-6SBH6SYP.js.map → chunk-NCOIQYTM.js.map} +1 -1
- package/dist/{chunk-53GID5Z5.cjs → chunk-NIGJATIB.cjs} +16 -16
- package/dist/{chunk-53GID5Z5.cjs.map → chunk-NIGJATIB.cjs.map} +1 -1
- package/dist/{chunk-4Y5P2GYV.js → chunk-NVH5GGIR.js} +3 -3
- package/dist/{chunk-4Y5P2GYV.js.map → chunk-NVH5GGIR.js.map} +1 -1
- package/dist/{chunk-NUGBBASK.js → chunk-OF6LR77W.js} +3 -3
- package/dist/{chunk-NUGBBASK.js.map → chunk-OF6LR77W.js.map} +1 -1
- package/dist/{chunk-RC6YILOB.cjs → chunk-OY6VG2JH.cjs} +265 -1174
- package/dist/chunk-OY6VG2JH.cjs.map +1 -0
- package/dist/{chunk-2QNJHTKM.cjs → chunk-PYPOKT4J.cjs} +10 -10
- package/dist/{chunk-2QNJHTKM.cjs.map → chunk-PYPOKT4J.cjs.map} +1 -1
- package/dist/{chunk-WFVK6ZXR.cjs → chunk-Q4CH5CG5.cjs} +6 -6
- package/dist/{chunk-WFVK6ZXR.cjs.map → chunk-Q4CH5CG5.cjs.map} +1 -1
- package/dist/{chunk-5UKYK7YK.cjs → chunk-Q7GNNLCY.cjs} +39 -39
- package/dist/{chunk-5UKYK7YK.cjs.map → chunk-Q7GNNLCY.cjs.map} +1 -1
- package/dist/{chunk-HU57X24H.js → chunk-QZSLYLW4.js} +3 -3
- package/dist/{chunk-HU57X24H.js.map → chunk-QZSLYLW4.js.map} +1 -1
- package/dist/{chunk-R32YJVMM.js → chunk-ROPYYPBZ.js} +269 -88
- package/dist/chunk-ROPYYPBZ.js.map +1 -0
- package/dist/{chunk-B346SGRP.cjs → chunk-RRJKJPUJ.cjs} +11 -11
- package/dist/{chunk-B346SGRP.cjs.map → chunk-RRJKJPUJ.cjs.map} +1 -1
- package/dist/{chunk-6VT7WJZZ.cjs → chunk-SJGVGNXJ.cjs} +279 -97
- package/dist/chunk-SJGVGNXJ.cjs.map +1 -0
- package/dist/{chunk-E3PJE3VW.js → chunk-SRVUIHVN.js} +3 -3
- package/dist/{chunk-E3PJE3VW.js.map → chunk-SRVUIHVN.js.map} +1 -1
- package/dist/{chunk-EFMMD5NL.cjs → chunk-T32ZPNKL.cjs} +8 -8
- package/dist/{chunk-EFMMD5NL.cjs.map → chunk-T32ZPNKL.cjs.map} +1 -1
- package/dist/{chunk-ZEVZ6OJY.js → chunk-TJNZEYLA.js} +75 -9
- package/dist/chunk-TJNZEYLA.js.map +1 -0
- package/dist/{chunk-HTCLQOY7.cjs → chunk-TRMAUC6D.cjs} +9 -9
- package/dist/{chunk-HTCLQOY7.cjs.map → chunk-TRMAUC6D.cjs.map} +1 -1
- package/dist/{chunk-YJQYJ5WD.cjs → chunk-U4Y53V3G.cjs} +6 -6
- package/dist/{chunk-YJQYJ5WD.cjs.map → chunk-U4Y53V3G.cjs.map} +1 -1
- package/dist/{chunk-POGEZPLQ.js → chunk-UMLVM74X.js} +4 -4
- package/dist/{chunk-POGEZPLQ.js.map → chunk-UMLVM74X.js.map} +1 -1
- package/dist/{chunk-VOAVPKTH.js → chunk-VXTJHEII.js} +3 -3
- package/dist/{chunk-VOAVPKTH.js.map → chunk-VXTJHEII.js.map} +1 -1
- package/dist/{chunk-245BXYGJ.cjs → chunk-WF6X4HFH.cjs} +11 -11
- package/dist/{chunk-245BXYGJ.cjs.map → chunk-WF6X4HFH.cjs.map} +1 -1
- package/dist/{chunk-OGEXISZT.cjs → chunk-X2QCUZYL.cjs} +11 -11
- package/dist/{chunk-OGEXISZT.cjs.map → chunk-X2QCUZYL.cjs.map} +1 -1
- package/dist/{chunk-HR6QEEPE.cjs → chunk-XKOJ2N2Y.cjs} +8 -6
- package/dist/chunk-XKOJ2N2Y.cjs.map +1 -0
- package/dist/{chunk-IQA7HL2V.js → chunk-XNGQB4ZW.js} +3 -3
- package/dist/{chunk-IQA7HL2V.js.map → chunk-XNGQB4ZW.js.map} +1 -1
- package/dist/{chunk-P7QF3UG4.js → chunk-YF6GPVGV.js} +3 -3
- package/dist/{chunk-P7QF3UG4.js.map → chunk-YF6GPVGV.js.map} +1 -1
- package/dist/{chunk-HSU5D2KT.js → chunk-YV25CDYJ.js} +3 -3
- package/dist/{chunk-HSU5D2KT.js.map → chunk-YV25CDYJ.js.map} +1 -1
- package/dist/{chunk-ERKUFMCT.js → chunk-Z73DMS63.js} +3 -3
- package/dist/{chunk-ERKUFMCT.js.map → chunk-Z73DMS63.js.map} +1 -1
- package/dist/{chunk-OES3CANB.js → chunk-ZZJCYUVX.js} +3 -3
- package/dist/{chunk-OES3CANB.js.map → chunk-ZZJCYUVX.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-YYO73QMY-CHIPDTZY.cjs → observational-memory-YYO73QMY-KGMPHQD4.cjs} +26 -26
- package/dist/{observational-memory-YYO73QMY-CHIPDTZY.cjs.map → observational-memory-YYO73QMY-KGMPHQD4.cjs.map} +1 -1
- package/dist/{observational-memory-YYO73QMY-JNLMPY5B.js → observational-memory-YYO73QMY-Q4SXDDYL.js} +3 -3
- package/dist/{observational-memory-YYO73QMY-JNLMPY5B.js.map → observational-memory-YYO73QMY-Q4SXDDYL.js.map} +1 -1
- package/dist/{probe-image-size-H2PYJKCK.cjs → probe-image-size-7HF7Q24F.cjs} +12 -113
- package/dist/probe-image-size-7HF7Q24F.cjs.map +1 -0
- package/dist/{probe-image-size-QWKVSEOF.js → probe-image-size-M5NYSF5D.js} +12 -113
- package/dist/probe-image-size-M5NYSF5D.js.map +1 -0
- package/dist/server/a2a/store.cjs +83 -4
- package/dist/server/a2a/store.cjs.map +1 -1
- package/dist/server/a2a/store.d.ts +23 -0
- package/dist/server/a2a/store.d.ts.map +1 -1
- package/dist/server/a2a/store.js +83 -4
- package/dist/server/a2a/store.js.map +1 -1
- package/dist/server/handlers/a2a.cjs +13 -9
- package/dist/server/handlers/a2a.d.ts +304 -42
- 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 +37 -37
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +4 -4
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/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 +9 -9
- 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 +27 -27
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +35 -35
- 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/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.d.ts +2 -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 +158 -13
- package/dist/server/schemas/a2a.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +86 -86
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/schemas/system.d.ts +1 -0
- package/dist/server/schemas/system.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +310 -310
- package/dist/server/server-adapter/index.js +37 -37
- package/dist/server/server-adapter/routes/a2a.d.ts +266 -26
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/system.d.ts +2 -0
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
- package/package.json +8 -8
- package/dist/chunk-6N5NDQVM.cjs.map +0 -1
- package/dist/chunk-6VT7WJZZ.cjs.map +0 -1
- package/dist/chunk-AU3AUZU7.js.map +0 -1
- package/dist/chunk-BIQ74OIO.cjs.map +0 -1
- package/dist/chunk-HR6QEEPE.cjs.map +0 -1
- package/dist/chunk-I2ZMOQ7J.js.map +0 -1
- package/dist/chunk-PXAMRQAF.js.map +0 -1
- package/dist/chunk-R32YJVMM.js.map +0 -1
- package/dist/chunk-RC6YILOB.cjs.map +0 -1
- package/dist/chunk-ZEVZ6OJY.js.map +0 -1
- package/dist/probe-image-size-H2PYJKCK.cjs.map +0 -1
- package/dist/probe-image-size-QWKVSEOF.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkCNTWPG57_cjs = require('./chunk-CNTWPG57.cjs');
|
|
4
|
+
var chunk2XESZTZT_cjs = require('./chunk-2XESZTZT.cjs');
|
|
5
|
+
var chunkJOGDEYIU_cjs = require('./chunk-JOGDEYIU.cjs');
|
|
6
|
+
var chunkU4Y53V3G_cjs = require('./chunk-U4Y53V3G.cjs');
|
|
7
|
+
var chunkQ7GNNLCY_cjs = require('./chunk-Q7GNNLCY.cjs');
|
|
7
8
|
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
8
9
|
var a2a = require('@mastra/core/a2a');
|
|
9
10
|
var v4 = require('zod/v4');
|
|
@@ -18,7 +19,8 @@ chunkO7I5CWRX_cjs.__export(a2a_exports, {
|
|
|
18
19
|
handleMessageSend: () => handleMessageSend,
|
|
19
20
|
handleMessageStream: () => handleMessageStream,
|
|
20
21
|
handleTaskCancel: () => handleTaskCancel,
|
|
21
|
-
handleTaskGet: () => handleTaskGet
|
|
22
|
+
handleTaskGet: () => handleTaskGet,
|
|
23
|
+
handleTaskResubscribe: () => handleTaskResubscribe
|
|
22
24
|
});
|
|
23
25
|
function normalizeError(error, reqId, taskId, logger) {
|
|
24
26
|
let a2aError;
|
|
@@ -205,6 +207,23 @@ var messageSendParamsSchema = v4.z.object({
|
|
|
205
207
|
metadata: v4.z.record(v4.z.string(), v4.z.any()).optional()
|
|
206
208
|
})
|
|
207
209
|
});
|
|
210
|
+
function createAgentCardDefaults() {
|
|
211
|
+
return {
|
|
212
|
+
protocolVersion: "0.3.0",
|
|
213
|
+
additionalInterfaces: [],
|
|
214
|
+
supportsAuthenticatedExtendedCard: false,
|
|
215
|
+
security: [],
|
|
216
|
+
securitySchemes: {},
|
|
217
|
+
capabilities: {
|
|
218
|
+
streaming: true,
|
|
219
|
+
pushNotifications: false,
|
|
220
|
+
stateTransitionHistory: false,
|
|
221
|
+
extensions: []
|
|
222
|
+
},
|
|
223
|
+
defaultInputModes: ["text/plain"],
|
|
224
|
+
defaultOutputModes: ["text/plain"]
|
|
225
|
+
};
|
|
226
|
+
}
|
|
208
227
|
async function getAgentCardByIdHandler({
|
|
209
228
|
mastra,
|
|
210
229
|
agentId,
|
|
@@ -216,22 +235,15 @@ async function getAgentCardByIdHandler({
|
|
|
216
235
|
version = "1.0",
|
|
217
236
|
requestContext
|
|
218
237
|
}) {
|
|
219
|
-
const agent = await
|
|
238
|
+
const agent = await chunkJOGDEYIU_cjs.getAgentFromSystem({ mastra, agentId });
|
|
220
239
|
const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
|
|
221
240
|
const agentCard = {
|
|
222
241
|
name: agent.id || agentId,
|
|
223
|
-
description:
|
|
242
|
+
description: chunkU4Y53V3G_cjs.convertInstructionsToString(instructions),
|
|
224
243
|
url: executionUrl,
|
|
225
244
|
provider,
|
|
226
245
|
version,
|
|
227
|
-
|
|
228
|
-
streaming: true,
|
|
229
|
-
// All agents support streaming
|
|
230
|
-
pushNotifications: false,
|
|
231
|
-
stateTransitionHistory: false
|
|
232
|
-
},
|
|
233
|
-
defaultInputModes: ["text"],
|
|
234
|
-
defaultOutputModes: ["text"],
|
|
246
|
+
...createAgentCardDefaults(),
|
|
235
247
|
// Convert agent tools to skills format for A2A protocol
|
|
236
248
|
skills: Object.entries(tools).map(([toolId, tool]) => ({
|
|
237
249
|
id: toolId,
|
|
@@ -243,6 +255,17 @@ async function getAgentCardByIdHandler({
|
|
|
243
255
|
};
|
|
244
256
|
return agentCard;
|
|
245
257
|
}
|
|
258
|
+
function getA2AExecutionUrl({
|
|
259
|
+
agentId,
|
|
260
|
+
request,
|
|
261
|
+
routePrefix
|
|
262
|
+
}) {
|
|
263
|
+
const executionPath = `${routePrefix ?? ""}/a2a/${agentId}`;
|
|
264
|
+
if (!request) {
|
|
265
|
+
return executionPath;
|
|
266
|
+
}
|
|
267
|
+
return `${chunk2XESZTZT_cjs.getPublicOrigin(request)}${executionPath}`;
|
|
268
|
+
}
|
|
246
269
|
function validateMessageSendParams(params) {
|
|
247
270
|
try {
|
|
248
271
|
messageSendParamsSchema.parse(params);
|
|
@@ -253,6 +276,19 @@ function validateMessageSendParams(params) {
|
|
|
253
276
|
throw error;
|
|
254
277
|
}
|
|
255
278
|
}
|
|
279
|
+
function createTextArtifactUpdate({ taskId, contextId, text }) {
|
|
280
|
+
return {
|
|
281
|
+
kind: "artifact-update",
|
|
282
|
+
taskId,
|
|
283
|
+
contextId,
|
|
284
|
+
lastChunk: true,
|
|
285
|
+
artifact: {
|
|
286
|
+
artifactId: `${taskId}:response`,
|
|
287
|
+
name: "response.txt",
|
|
288
|
+
parts: [{ kind: "text", text }]
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
}
|
|
256
292
|
async function handleMessageSend({
|
|
257
293
|
requestId,
|
|
258
294
|
params,
|
|
@@ -287,19 +323,19 @@ async function handleMessageSend({
|
|
|
287
323
|
requestContext,
|
|
288
324
|
...contextId ? { threadId: contextId, resourceId } : {}
|
|
289
325
|
});
|
|
326
|
+
if (result.text) {
|
|
327
|
+
currentData = applyUpdateToTask(
|
|
328
|
+
currentData,
|
|
329
|
+
createTextArtifactUpdate({
|
|
330
|
+
taskId: currentData.id,
|
|
331
|
+
contextId: currentData.contextId,
|
|
332
|
+
text: result.text
|
|
333
|
+
})
|
|
334
|
+
);
|
|
335
|
+
}
|
|
290
336
|
currentData = applyUpdateToTask(currentData, {
|
|
291
337
|
state: "completed",
|
|
292
|
-
message:
|
|
293
|
-
messageId: crypto.randomUUID(),
|
|
294
|
-
role: "agent",
|
|
295
|
-
parts: [
|
|
296
|
-
{
|
|
297
|
-
kind: "text",
|
|
298
|
-
text: result.text
|
|
299
|
-
}
|
|
300
|
-
],
|
|
301
|
-
kind: "message"
|
|
302
|
-
}
|
|
338
|
+
message: void 0
|
|
303
339
|
});
|
|
304
340
|
currentData.metadata = {
|
|
305
341
|
...currentData.metadata,
|
|
@@ -357,7 +393,19 @@ async function* handleMessageStream({
|
|
|
357
393
|
logger,
|
|
358
394
|
requestContext
|
|
359
395
|
}) {
|
|
360
|
-
|
|
396
|
+
validateMessageSendParams(params);
|
|
397
|
+
const { message, metadata } = params;
|
|
398
|
+
const { contextId } = message;
|
|
399
|
+
const taskId = message.taskId || crypto.randomUUID();
|
|
400
|
+
let currentData = await loadOrCreateTask({
|
|
401
|
+
taskId,
|
|
402
|
+
taskStore,
|
|
403
|
+
agentId,
|
|
404
|
+
message,
|
|
405
|
+
contextId,
|
|
406
|
+
metadata
|
|
407
|
+
});
|
|
408
|
+
currentData = applyUpdateToTask(currentData, {
|
|
361
409
|
state: "working",
|
|
362
410
|
message: {
|
|
363
411
|
messageId: crypto.randomUUID(),
|
|
@@ -366,24 +414,152 @@ async function* handleMessageStream({
|
|
|
366
414
|
parts: [{ kind: "text", text: "Generating response..." }]
|
|
367
415
|
}
|
|
368
416
|
});
|
|
369
|
-
|
|
417
|
+
await taskStore.save({ agentId, data: currentData });
|
|
418
|
+
yield createSuccessResponse(requestId, currentData);
|
|
370
419
|
try {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
taskStore,
|
|
375
|
-
agent,
|
|
376
|
-
agentId,
|
|
420
|
+
const resourceId = metadata?.resourceId ?? message.metadata?.resourceId ?? agentId;
|
|
421
|
+
const result = await agent.generate([convertToCoreMessage(message)], {
|
|
422
|
+
runId: taskId,
|
|
377
423
|
requestContext,
|
|
378
|
-
|
|
424
|
+
...contextId ? { threadId: contextId, resourceId } : {}
|
|
425
|
+
});
|
|
426
|
+
const artifactUpdate = result.text && createTextArtifactUpdate({
|
|
427
|
+
taskId: currentData.id,
|
|
428
|
+
contextId: currentData.contextId,
|
|
429
|
+
text: result.text
|
|
430
|
+
});
|
|
431
|
+
if (artifactUpdate) {
|
|
432
|
+
currentData = applyUpdateToTask(currentData, artifactUpdate);
|
|
433
|
+
}
|
|
434
|
+
currentData = applyUpdateToTask(currentData, {
|
|
435
|
+
state: "completed",
|
|
436
|
+
message: void 0
|
|
437
|
+
});
|
|
438
|
+
currentData.metadata = {
|
|
439
|
+
...currentData.metadata,
|
|
440
|
+
execution: {
|
|
441
|
+
toolCalls: result.toolCalls,
|
|
442
|
+
toolResults: result.toolResults,
|
|
443
|
+
usage: result.usage,
|
|
444
|
+
finishReason: result.finishReason
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
await taskStore.save({ agentId, data: currentData });
|
|
448
|
+
if (artifactUpdate) {
|
|
449
|
+
yield createSuccessResponse(requestId, artifactUpdate);
|
|
450
|
+
}
|
|
451
|
+
} catch (handlerError) {
|
|
452
|
+
currentData = applyUpdateToTask(currentData, {
|
|
453
|
+
state: "failed",
|
|
454
|
+
message: {
|
|
455
|
+
messageId: crypto.randomUUID(),
|
|
456
|
+
role: "agent",
|
|
457
|
+
parts: [
|
|
458
|
+
{
|
|
459
|
+
kind: "text",
|
|
460
|
+
text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
kind: "message"
|
|
464
|
+
}
|
|
379
465
|
});
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
466
|
+
try {
|
|
467
|
+
await taskStore.save({ agentId, data: currentData });
|
|
468
|
+
} catch (saveError) {
|
|
469
|
+
logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);
|
|
383
470
|
}
|
|
384
|
-
result = createErrorResponse(requestId, err.toJSONRPCError());
|
|
385
471
|
}
|
|
386
|
-
yield
|
|
472
|
+
yield createSuccessResponse(requestId, {
|
|
473
|
+
kind: "status-update",
|
|
474
|
+
taskId: currentData.id,
|
|
475
|
+
contextId: currentData.contextId,
|
|
476
|
+
status: currentData.status,
|
|
477
|
+
final: true
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
async function* handleTaskResubscribe({
|
|
481
|
+
requestId,
|
|
482
|
+
taskStore,
|
|
483
|
+
agentId,
|
|
484
|
+
taskId,
|
|
485
|
+
abortSignal
|
|
486
|
+
}) {
|
|
487
|
+
let snapshot = taskStore.loadWithVersion({ agentId, taskId });
|
|
488
|
+
if (!snapshot) {
|
|
489
|
+
throw a2a.MastraA2AError.taskNotFound(taskId);
|
|
490
|
+
}
|
|
491
|
+
const finalStates = ["completed", "failed", "canceled"];
|
|
492
|
+
while (true) {
|
|
493
|
+
const { task, version } = snapshot;
|
|
494
|
+
const isFinal = finalStates.includes(task.status.state);
|
|
495
|
+
yield createSuccessResponse(requestId, {
|
|
496
|
+
kind: "status-update",
|
|
497
|
+
taskId: task.id,
|
|
498
|
+
contextId: task.contextId,
|
|
499
|
+
status: task.status,
|
|
500
|
+
final: isFinal
|
|
501
|
+
});
|
|
502
|
+
if (isFinal) {
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
const nextUpdate = await taskStore.waitForNextUpdate({
|
|
506
|
+
agentId,
|
|
507
|
+
taskId,
|
|
508
|
+
afterVersion: version,
|
|
509
|
+
signal: abortSignal
|
|
510
|
+
});
|
|
511
|
+
snapshot = nextUpdate;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
function getTaskIdFromParams(params) {
|
|
515
|
+
if (!params || typeof params !== "object") {
|
|
516
|
+
return void 0;
|
|
517
|
+
}
|
|
518
|
+
if ("id" in params && typeof params.id === "string") {
|
|
519
|
+
return params.id;
|
|
520
|
+
}
|
|
521
|
+
if ("taskId" in params && typeof params.taskId === "string") {
|
|
522
|
+
return params.taskId;
|
|
523
|
+
}
|
|
524
|
+
if ("message" in params && params.message && typeof params.message === "object" && "taskId" in params.message) {
|
|
525
|
+
return typeof params.message.taskId === "string" ? params.message.taskId : void 0;
|
|
526
|
+
}
|
|
527
|
+
return void 0;
|
|
528
|
+
}
|
|
529
|
+
function isAsyncIterable(value) {
|
|
530
|
+
return !!value && typeof value === "object" && Symbol.asyncIterator in value;
|
|
531
|
+
}
|
|
532
|
+
function createA2AJsonResponse(payload) {
|
|
533
|
+
return Response.json(payload);
|
|
534
|
+
}
|
|
535
|
+
function createA2ASSEResponse(payload) {
|
|
536
|
+
const encoder = new TextEncoder();
|
|
537
|
+
const iterable = isAsyncIterable(payload) ? payload : (async function* () {
|
|
538
|
+
yield payload;
|
|
539
|
+
})();
|
|
540
|
+
const stream = new ReadableStream({
|
|
541
|
+
async start(controller) {
|
|
542
|
+
try {
|
|
543
|
+
for await (const chunk of iterable) {
|
|
544
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify(chunk)}
|
|
545
|
+
|
|
546
|
+
`));
|
|
547
|
+
}
|
|
548
|
+
} catch (error) {
|
|
549
|
+
controller.error(error);
|
|
550
|
+
return;
|
|
551
|
+
}
|
|
552
|
+
controller.close();
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
return new Response(stream, {
|
|
556
|
+
headers: {
|
|
557
|
+
"Content-Type": "text/event-stream; charset=utf-8",
|
|
558
|
+
"Cache-Control": "no-cache",
|
|
559
|
+
Connection: "keep-alive",
|
|
560
|
+
"X-Accel-Buffering": "no"
|
|
561
|
+
}
|
|
562
|
+
});
|
|
387
563
|
}
|
|
388
564
|
async function handleTaskCancel({
|
|
389
565
|
requestId,
|
|
@@ -427,15 +603,16 @@ async function getAgentExecutionHandler({
|
|
|
427
603
|
method,
|
|
428
604
|
params,
|
|
429
605
|
taskStore,
|
|
430
|
-
logger
|
|
606
|
+
logger,
|
|
607
|
+
abortSignal
|
|
431
608
|
}) {
|
|
432
|
-
const agent = await
|
|
609
|
+
const agent = await chunkJOGDEYIU_cjs.getAgentFromSystem({ mastra, agentId });
|
|
433
610
|
let taskId;
|
|
434
611
|
try {
|
|
435
|
-
taskId =
|
|
612
|
+
taskId = getTaskIdFromParams(params);
|
|
436
613
|
switch (method) {
|
|
437
614
|
case "message/send": {
|
|
438
|
-
const
|
|
615
|
+
const result = await handleMessageSend({
|
|
439
616
|
requestId,
|
|
440
617
|
params,
|
|
441
618
|
taskStore,
|
|
@@ -443,9 +620,9 @@ async function getAgentExecutionHandler({
|
|
|
443
620
|
agentId,
|
|
444
621
|
requestContext
|
|
445
622
|
});
|
|
446
|
-
return
|
|
623
|
+
return result;
|
|
447
624
|
}
|
|
448
|
-
case "message/stream":
|
|
625
|
+
case "message/stream": {
|
|
449
626
|
const result = await handleMessageStream({
|
|
450
627
|
requestId,
|
|
451
628
|
taskStore,
|
|
@@ -455,24 +632,40 @@ async function getAgentExecutionHandler({
|
|
|
455
632
|
requestContext
|
|
456
633
|
});
|
|
457
634
|
return result;
|
|
635
|
+
}
|
|
458
636
|
case "tasks/get": {
|
|
459
|
-
const
|
|
637
|
+
const result = await handleTaskGet({
|
|
460
638
|
requestId,
|
|
461
639
|
taskStore,
|
|
462
640
|
agentId,
|
|
463
|
-
taskId
|
|
641
|
+
taskId: taskId || "No task ID provided"
|
|
464
642
|
});
|
|
465
|
-
return
|
|
643
|
+
return result;
|
|
466
644
|
}
|
|
467
645
|
case "tasks/cancel": {
|
|
468
|
-
const
|
|
646
|
+
const result = await handleTaskCancel({
|
|
469
647
|
requestId,
|
|
470
648
|
taskStore,
|
|
471
649
|
agentId,
|
|
472
|
-
taskId
|
|
650
|
+
taskId: taskId || "No task ID provided"
|
|
473
651
|
});
|
|
474
|
-
return
|
|
652
|
+
return result;
|
|
475
653
|
}
|
|
654
|
+
case "tasks/resubscribe":
|
|
655
|
+
return await handleTaskResubscribe({
|
|
656
|
+
requestId,
|
|
657
|
+
taskStore,
|
|
658
|
+
agentId,
|
|
659
|
+
taskId: taskId || "No task ID provided",
|
|
660
|
+
abortSignal
|
|
661
|
+
});
|
|
662
|
+
case "tasks/pushNotificationConfig/set":
|
|
663
|
+
case "tasks/pushNotificationConfig/get":
|
|
664
|
+
case "tasks/pushNotificationConfig/list":
|
|
665
|
+
case "tasks/pushNotificationConfig/delete":
|
|
666
|
+
throw a2a.MastraA2AError.pushNotificationNotSupported();
|
|
667
|
+
case "agent/getAuthenticatedExtendedCard":
|
|
668
|
+
throw a2a.MastraA2AError.extendedAgentCardNotConfigured();
|
|
476
669
|
default:
|
|
477
670
|
throw a2a.MastraA2AError.methodNotFound(method);
|
|
478
671
|
}
|
|
@@ -483,70 +676,58 @@ async function getAgentExecutionHandler({
|
|
|
483
676
|
return normalizeError(error, requestId, taskId, logger);
|
|
484
677
|
}
|
|
485
678
|
}
|
|
486
|
-
var GET_AGENT_CARD_ROUTE =
|
|
679
|
+
var GET_AGENT_CARD_ROUTE = chunkQ7GNNLCY_cjs.createRoute({
|
|
487
680
|
method: "GET",
|
|
488
681
|
path: "/.well-known/:agentId/agent-card.json",
|
|
489
682
|
responseType: "json",
|
|
490
|
-
pathParamSchema:
|
|
491
|
-
responseSchema:
|
|
683
|
+
pathParamSchema: chunkCNTWPG57_cjs.a2aAgentIdPathParams,
|
|
684
|
+
responseSchema: chunkCNTWPG57_cjs.agentCardResponseSchema,
|
|
492
685
|
summary: "Get agent card",
|
|
493
686
|
description: "Returns the agent card information for A2A protocol discovery",
|
|
494
687
|
tags: ["Agent-to-Agent"],
|
|
495
688
|
requiresAuth: true,
|
|
496
|
-
handler: async (
|
|
497
|
-
const executionUrl =
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
};
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
url: executionUrl,
|
|
509
|
-
provider,
|
|
510
|
-
version,
|
|
511
|
-
capabilities: {
|
|
512
|
-
streaming: true,
|
|
513
|
-
pushNotifications: false,
|
|
514
|
-
stateTransitionHistory: false
|
|
515
|
-
},
|
|
516
|
-
defaultInputModes: ["text"],
|
|
517
|
-
defaultOutputModes: ["text"],
|
|
518
|
-
skills: Object.entries(tools).map(([toolId, tool]) => ({
|
|
519
|
-
id: toolId,
|
|
520
|
-
name: toolId,
|
|
521
|
-
description: tool.description || `Tool: ${toolId}`,
|
|
522
|
-
tags: ["tool"]
|
|
523
|
-
}))
|
|
524
|
-
};
|
|
525
|
-
return agentCard;
|
|
689
|
+
handler: async (ctx) => {
|
|
690
|
+
const executionUrl = getA2AExecutionUrl({
|
|
691
|
+
agentId: ctx.agentId,
|
|
692
|
+
request: ctx.request,
|
|
693
|
+
routePrefix: ctx.routePrefix
|
|
694
|
+
});
|
|
695
|
+
return getAgentCardByIdHandler({
|
|
696
|
+
mastra: ctx.mastra,
|
|
697
|
+
requestContext: ctx.requestContext,
|
|
698
|
+
agentId: ctx.agentId,
|
|
699
|
+
executionUrl
|
|
700
|
+
});
|
|
526
701
|
}
|
|
527
702
|
});
|
|
528
|
-
var AGENT_EXECUTION_ROUTE =
|
|
703
|
+
var AGENT_EXECUTION_ROUTE = chunkQ7GNNLCY_cjs.createRoute({
|
|
529
704
|
method: "POST",
|
|
530
705
|
path: "/a2a/:agentId",
|
|
531
|
-
responseType: "
|
|
532
|
-
pathParamSchema:
|
|
533
|
-
bodySchema:
|
|
534
|
-
responseSchema:
|
|
706
|
+
responseType: "datastream-response",
|
|
707
|
+
pathParamSchema: chunkCNTWPG57_cjs.a2aAgentIdPathParams,
|
|
708
|
+
bodySchema: chunkCNTWPG57_cjs.agentExecutionBodySchema,
|
|
709
|
+
responseSchema: chunkCNTWPG57_cjs.agentExecutionResponseSchema,
|
|
535
710
|
summary: "Execute agent",
|
|
536
711
|
description: "Executes an agent action via JSON-RPC 2.0 over A2A protocol",
|
|
537
712
|
tags: ["Agent-to-Agent"],
|
|
538
713
|
requiresAuth: true,
|
|
539
|
-
handler: async ({ mastra, agentId, requestContext, taskStore, ...bodyParams }) => {
|
|
540
|
-
const { id: requestId, method
|
|
541
|
-
|
|
542
|
-
|
|
714
|
+
handler: async ({ mastra, agentId, requestContext, taskStore, abortSignal, ...bodyParams }) => {
|
|
715
|
+
const { id: requestId, method } = bodyParams;
|
|
716
|
+
const params = "params" in bodyParams ? bodyParams.params : void 0;
|
|
717
|
+
const result = await getAgentExecutionHandler({
|
|
718
|
+
requestId,
|
|
543
719
|
mastra,
|
|
544
720
|
agentId,
|
|
545
721
|
requestContext,
|
|
546
722
|
method,
|
|
547
723
|
params,
|
|
548
|
-
taskStore
|
|
724
|
+
taskStore,
|
|
725
|
+
abortSignal
|
|
549
726
|
});
|
|
727
|
+
if (method === "message/stream" || method === "tasks/resubscribe") {
|
|
728
|
+
return createA2ASSEResponse(result);
|
|
729
|
+
}
|
|
730
|
+
return createA2AJsonResponse(result);
|
|
550
731
|
}
|
|
551
732
|
});
|
|
552
733
|
|
|
@@ -559,5 +740,6 @@ exports.handleMessageSend = handleMessageSend;
|
|
|
559
740
|
exports.handleMessageStream = handleMessageStream;
|
|
560
741
|
exports.handleTaskCancel = handleTaskCancel;
|
|
561
742
|
exports.handleTaskGet = handleTaskGet;
|
|
562
|
-
|
|
563
|
-
//# sourceMappingURL=chunk-
|
|
743
|
+
exports.handleTaskResubscribe = handleTaskResubscribe;
|
|
744
|
+
//# sourceMappingURL=chunk-SJGVGNXJ.cjs.map
|
|
745
|
+
//# sourceMappingURL=chunk-SJGVGNXJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/a2a.ts","../src/server/a2a/protocol.ts","../src/server/a2a/tasks.ts"],"names":["__export","MastraA2AError","z","getAgentFromSystem","convertInstructionsToString","getPublicOrigin","createRoute","a2aAgentIdPathParams","agentCardResponseSchema","agentExecutionBodySchema","agentExecutionResponseSchema"],"mappings":"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","file":"chunk-SJGVGNXJ.cjs","sourcesContent":["import { MastraA2AError } from '@mastra/core/a2a';\nimport type {\n MessageSendParams,\n TaskQueryParams,\n TaskIdParams,\n AgentCard,\n TaskStatus,\n TaskState,\n} from '@mastra/core/a2a';\nimport type { Agent } from '@mastra/core/agent';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { z } from 'zod/v4';\nimport { convertToCoreMessage, normalizeError, createSuccessResponse } from '../a2a/protocol';\nimport type { InMemoryTaskStore } from '../a2a/store';\nimport { applyUpdateToTask, createTaskContext, loadOrCreateTask } from '../a2a/tasks';\nimport {\n a2aAgentIdPathParams,\n agentExecutionBodySchema,\n agentCardResponseSchema,\n agentExecutionResponseSchema,\n} from '../schemas/a2a';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { convertInstructionsToString } from '../utils';\nimport { getAgentFromSystem } from './agents';\nimport { getPublicOrigin } from './auth';\n\nconst messageSendParamsSchema = z.object({\n message: z.object({\n role: z.enum(['user', 'agent']),\n parts: z.array(\n z.object({\n kind: z.enum(['text']),\n text: z.string(),\n }),\n ),\n kind: z.literal('message'),\n messageId: z.string(),\n contextId: z.string().optional(),\n taskId: z.string().optional(),\n referenceTaskIds: z.array(z.string()).optional(),\n extensions: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.any()).optional(),\n }),\n});\n\nfunction createAgentCardDefaults(): Pick<\n AgentCard,\n | 'protocolVersion'\n | 'additionalInterfaces'\n | 'supportsAuthenticatedExtendedCard'\n | 'security'\n | 'securitySchemes'\n | 'capabilities'\n | 'defaultInputModes'\n | 'defaultOutputModes'\n> {\n return {\n protocolVersion: '0.3.0',\n additionalInterfaces: [],\n supportsAuthenticatedExtendedCard: false,\n security: [],\n securitySchemes: {},\n capabilities: {\n streaming: true,\n pushNotifications: false,\n stateTransitionHistory: false,\n extensions: [],\n },\n defaultInputModes: ['text/plain'],\n defaultOutputModes: ['text/plain'],\n };\n}\n\nexport async function getAgentCardByIdHandler({\n mastra,\n agentId,\n executionUrl = `/a2a/${agentId}`,\n provider = {\n organization: 'Mastra',\n url: 'https://mastra.ai',\n },\n version = '1.0',\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n agentId: keyof ReturnType<typeof mastra.listAgents>;\n executionUrl?: string;\n version?: string;\n provider?: {\n organization: string;\n url: string;\n };\n}): Promise<AgentCard> {\n const agent = await getAgentFromSystem({ mastra, agentId: agentId as string });\n\n const [instructions, tools]: [\n Awaited<ReturnType<typeof agent.getInstructions>>,\n Awaited<ReturnType<typeof agent.listTools>>,\n ] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);\n\n // Extract agent information to create the AgentCard\n const agentCard: AgentCard = {\n name: agent.id || (agentId as string),\n description: convertInstructionsToString(instructions),\n url: executionUrl,\n provider,\n version,\n ...createAgentCardDefaults(),\n // Convert agent tools to skills format for A2A protocol\n skills: Object.entries(tools).map(([toolId, tool]) => ({\n id: toolId,\n name: toolId,\n description: tool.description || `Tool: ${toolId}`,\n // Optional fields\n tags: ['tool'],\n })),\n };\n\n return agentCard;\n}\n\nfunction getA2AExecutionUrl({\n agentId,\n request,\n routePrefix,\n}: {\n agentId: string;\n request?: Request;\n routePrefix?: string;\n}) {\n const executionPath = `${routePrefix ?? ''}/a2a/${agentId}`;\n\n if (!request) {\n return executionPath;\n }\n\n return `${getPublicOrigin(request)}${executionPath}`;\n}\n\nfunction validateMessageSendParams(params: MessageSendParams) {\n try {\n messageSendParamsSchema.parse(params);\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw MastraA2AError.invalidParams((error as z.ZodError).issues[0]!.message);\n }\n\n throw error;\n }\n}\n\nfunction createTextArtifactUpdate({ taskId, contextId, text }: { taskId: string; contextId: string; text: string }) {\n return {\n kind: 'artifact-update' as const,\n taskId,\n contextId,\n lastChunk: true,\n artifact: {\n artifactId: `${taskId}:response`,\n name: 'response.txt',\n parts: [{ kind: 'text' as const, text }],\n },\n };\n}\n\nexport async function handleMessageSend({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n requestContext,\n}: {\n requestId: number | string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n}) {\n validateMessageSendParams(params);\n\n const { message, metadata } = params;\n const { contextId } = message;\n const taskId = message.taskId || crypto.randomUUID();\n\n // Load or create task\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n // Use the new TaskContext definition, passing history\n const context = createTaskContext({\n task: currentData,\n userMessage: message,\n history: currentData.history || [],\n activeCancellations: taskStore.activeCancellations,\n });\n\n try {\n // Pass contextId as threadId for memory persistence across A2A conversations\n // Allow user to pass resourceId via metadata, fall back to agentId\n const resourceId = (metadata?.resourceId as string) ?? (message.metadata?.resourceId as string) ?? agentId;\n const result = await agent.generate([convertToCoreMessage(message)], {\n runId: taskId,\n requestContext,\n ...(contextId ? { threadId: contextId, resourceId } : {}),\n });\n\n if (result.text) {\n currentData = applyUpdateToTask(\n currentData,\n createTextArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: result.text,\n }),\n );\n }\n\n currentData = applyUpdateToTask(currentData, {\n state: 'completed',\n message: undefined,\n });\n\n // Store execution details in task metadata\n currentData.metadata = {\n ...currentData.metadata,\n execution: {\n toolCalls: result.toolCalls,\n toolResults: result.toolResults,\n usage: result.usage,\n finishReason: result.finishReason,\n },\n };\n\n await taskStore.save({ agentId, data: currentData });\n context.task = currentData;\n } catch (handlerError) {\n // If handler throws, apply 'failed' status, save, and rethrow\n const failureStatusUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'failed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`,\n },\n ],\n kind: 'message',\n },\n };\n currentData = applyUpdateToTask(currentData, failureStatusUpdate);\n\n try {\n await taskStore.save({ agentId, data: currentData });\n } catch (saveError) {\n // @ts-expect-error saveError is an unknown error\n logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);\n }\n\n return normalizeError(handlerError, requestId, currentData.id, logger); // Rethrow original error\n }\n\n // The loop finished, send the final task state\n return createSuccessResponse(requestId, currentData);\n}\n\nexport async function handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n}) {\n const task = await taskStore.load({ agentId, taskId });\n\n if (!task) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n return createSuccessResponse(requestId, task);\n}\n\nexport async function* handleMessageStream({\n requestId,\n params,\n taskStore,\n agent,\n agentId,\n logger,\n requestContext,\n}: {\n requestId: number | string;\n params: MessageSendParams;\n taskStore: InMemoryTaskStore;\n agent: Agent;\n agentId: string;\n logger?: IMastraLogger;\n requestContext: RequestContext;\n}) {\n validateMessageSendParams(params);\n\n const { message, metadata } = params;\n const { contextId } = message;\n const taskId = message.taskId || crypto.randomUUID();\n\n let currentData = await loadOrCreateTask({\n taskId,\n taskStore,\n agentId,\n message,\n contextId,\n metadata,\n });\n\n currentData = applyUpdateToTask(currentData, {\n state: 'working',\n message: {\n messageId: crypto.randomUUID(),\n kind: 'message',\n role: 'agent',\n parts: [{ kind: 'text', text: 'Generating response...' }],\n },\n });\n\n await taskStore.save({ agentId, data: currentData });\n\n yield createSuccessResponse(requestId, currentData);\n\n try {\n const resourceId = (metadata?.resourceId as string) ?? (message.metadata?.resourceId as string) ?? agentId;\n const result = await agent.generate([convertToCoreMessage(message)], {\n runId: taskId,\n requestContext,\n ...(contextId ? { threadId: contextId, resourceId } : {}),\n });\n\n const artifactUpdate =\n result.text &&\n createTextArtifactUpdate({\n taskId: currentData.id,\n contextId: currentData.contextId,\n text: result.text,\n });\n\n if (artifactUpdate) {\n currentData = applyUpdateToTask(currentData, artifactUpdate);\n }\n\n currentData = applyUpdateToTask(currentData, {\n state: 'completed',\n message: undefined,\n });\n\n currentData.metadata = {\n ...currentData.metadata,\n execution: {\n toolCalls: result.toolCalls,\n toolResults: result.toolResults,\n usage: result.usage,\n finishReason: result.finishReason,\n },\n };\n\n await taskStore.save({ agentId, data: currentData });\n\n if (artifactUpdate) {\n yield createSuccessResponse(requestId, artifactUpdate);\n }\n } catch (handlerError) {\n currentData = applyUpdateToTask(currentData, {\n state: 'failed',\n message: {\n messageId: crypto.randomUUID(),\n role: 'agent',\n parts: [\n {\n kind: 'text',\n text: `Handler failed: ${handlerError instanceof Error ? handlerError.message : String(handlerError)}`,\n },\n ],\n kind: 'message',\n },\n });\n\n try {\n await taskStore.save({ agentId, data: currentData });\n } catch (saveError) {\n // @ts-expect-error saveError is an unknown error\n logger?.error(`Failed to save task ${currentData.id} after handler error:`, saveError?.message);\n }\n }\n\n yield createSuccessResponse(requestId, {\n kind: 'status-update',\n taskId: currentData.id,\n contextId: currentData.contextId,\n status: currentData.status,\n final: true,\n });\n}\n\nexport async function* handleTaskResubscribe({\n requestId,\n taskStore,\n agentId,\n taskId,\n abortSignal,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n abortSignal?: AbortSignal;\n}) {\n let snapshot = taskStore.loadWithVersion({ agentId, taskId });\n\n if (!snapshot) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n while (true) {\n const { task, version } = snapshot;\n const isFinal = finalStates.includes(task.status.state);\n\n yield createSuccessResponse(requestId, {\n kind: 'status-update',\n taskId: task.id,\n contextId: task.contextId,\n status: task.status,\n final: isFinal,\n });\n\n if (isFinal) {\n return;\n }\n\n const nextUpdate = await taskStore.waitForNextUpdate({\n agentId,\n taskId,\n afterVersion: version,\n signal: abortSignal,\n });\n\n snapshot = nextUpdate;\n }\n}\n\nfunction getTaskIdFromParams(\n params: MessageSendParams | TaskQueryParams | TaskIdParams | Record<string, unknown> | undefined,\n) {\n if (!params || typeof params !== 'object') {\n return undefined;\n }\n\n if ('id' in params && typeof params.id === 'string') {\n return params.id;\n }\n\n if ('taskId' in params && typeof params.taskId === 'string') {\n return params.taskId;\n }\n\n if ('message' in params && params.message && typeof params.message === 'object' && 'taskId' in params.message) {\n return typeof params.message.taskId === 'string' ? params.message.taskId : undefined;\n }\n\n return undefined;\n}\n\nfunction isAsyncIterable(value: unknown): value is AsyncIterable<unknown> {\n return !!value && typeof value === 'object' && Symbol.asyncIterator in value;\n}\n\nfunction createA2AJsonResponse(payload: unknown): Response {\n return Response.json(payload);\n}\n\nfunction createA2ASSEResponse(payload: AsyncIterable<unknown> | unknown): Response {\n const encoder = new TextEncoder();\n const iterable = isAsyncIterable(payload)\n ? payload\n : (async function* () {\n yield payload;\n })();\n\n const stream = new ReadableStream<Uint8Array>({\n async start(controller) {\n try {\n for await (const chunk of iterable) {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify(chunk)}\\n\\n`));\n }\n } catch (error) {\n controller.error(error);\n return;\n }\n\n controller.close();\n },\n });\n\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream; charset=utf-8',\n 'Cache-Control': 'no-cache',\n Connection: 'keep-alive',\n 'X-Accel-Buffering': 'no',\n },\n });\n}\n\nexport async function handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId,\n logger,\n}: {\n requestId: number | string;\n taskStore: InMemoryTaskStore;\n agentId: string;\n taskId: string;\n logger?: IMastraLogger;\n}) {\n // Load task and history\n let data = await taskStore.load({\n agentId,\n taskId,\n });\n\n if (!data) {\n throw MastraA2AError.taskNotFound(taskId);\n }\n\n // Check if cancelable (not already in a final state)\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(data.status.state)) {\n logger?.info(`Task ${taskId} already in final state ${data.status.state}, cannot cancel.`);\n return createSuccessResponse(requestId, data);\n }\n\n // Signal cancellation\n taskStore.activeCancellations.add(taskId);\n\n // Apply 'canceled' state update\n const cancelUpdate: Omit<TaskStatus, 'timestamp'> = {\n state: 'canceled',\n message: {\n role: 'agent',\n parts: [{ kind: 'text', text: 'Task cancelled by request.' }],\n kind: 'message',\n messageId: crypto.randomUUID(),\n },\n };\n\n data = applyUpdateToTask(data, cancelUpdate);\n\n // Save the updated state\n await taskStore.save({ agentId, data });\n\n // Remove from active cancellations *after* saving\n taskStore.activeCancellations.delete(taskId);\n\n // Return the updated task object\n return createSuccessResponse(requestId, data);\n}\n\nexport async function getAgentExecutionHandler({\n requestId,\n mastra,\n agentId,\n requestContext,\n method,\n params,\n taskStore,\n logger,\n abortSignal,\n}: Context & {\n requestId: number | string;\n requestContext: RequestContext;\n agentId: string;\n method:\n | 'message/send'\n | 'message/stream'\n | 'tasks/get'\n | 'tasks/cancel'\n | 'tasks/resubscribe'\n | 'tasks/pushNotificationConfig/set'\n | 'tasks/pushNotificationConfig/get'\n | 'tasks/pushNotificationConfig/list'\n | 'tasks/pushNotificationConfig/delete'\n | 'agent/getAuthenticatedExtendedCard';\n params?: MessageSendParams | TaskQueryParams | TaskIdParams | Record<string, unknown>;\n taskStore: InMemoryTaskStore;\n logger?: IMastraLogger;\n abortSignal?: AbortSignal;\n}): Promise<any> {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n let taskId: string | undefined; // For error context\n\n try {\n taskId = getTaskIdFromParams(params);\n\n // 2. Route based on method\n switch (method) {\n case 'message/send': {\n const result = await handleMessageSend({\n requestId,\n params: params as MessageSendParams,\n taskStore,\n agent,\n agentId,\n requestContext,\n });\n return result;\n }\n case 'message/stream': {\n const result = await handleMessageStream({\n requestId,\n taskStore,\n params: params as MessageSendParams,\n agent,\n agentId,\n requestContext,\n });\n return result;\n }\n\n case 'tasks/get': {\n const result = await handleTaskGet({\n requestId,\n taskStore,\n agentId,\n taskId: taskId || 'No task ID provided',\n });\n\n return result;\n }\n case 'tasks/cancel': {\n const result = await handleTaskCancel({\n requestId,\n taskStore,\n agentId,\n taskId: taskId || 'No task ID provided',\n });\n\n return result;\n }\n case 'tasks/resubscribe':\n return await handleTaskResubscribe({\n requestId,\n taskStore,\n agentId,\n taskId: taskId || 'No task ID provided',\n abortSignal,\n });\n case 'tasks/pushNotificationConfig/set':\n case 'tasks/pushNotificationConfig/get':\n case 'tasks/pushNotificationConfig/list':\n case 'tasks/pushNotificationConfig/delete':\n throw MastraA2AError.pushNotificationNotSupported();\n case 'agent/getAuthenticatedExtendedCard':\n throw MastraA2AError.extendedAgentCardNotConfigured();\n default:\n throw MastraA2AError.methodNotFound(method);\n }\n } catch (error) {\n if (error instanceof MastraA2AError && taskId && !error.taskId) {\n error.taskId = taskId; // Add task ID context if missing\n }\n\n return normalizeError(error, requestId, taskId, logger);\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const GET_AGENT_CARD_ROUTE = createRoute({\n method: 'GET',\n path: '/.well-known/:agentId/agent-card.json',\n responseType: 'json',\n pathParamSchema: a2aAgentIdPathParams,\n responseSchema: agentCardResponseSchema,\n summary: 'Get agent card',\n description: 'Returns the agent card information for A2A protocol discovery',\n tags: ['Agent-to-Agent'],\n requiresAuth: true,\n handler: async ctx => {\n const executionUrl = getA2AExecutionUrl({\n agentId: ctx.agentId as string,\n request: (ctx as typeof ctx & { request?: Request }).request,\n routePrefix: ctx.routePrefix,\n });\n\n return getAgentCardByIdHandler({\n mastra: ctx.mastra,\n requestContext: ctx.requestContext,\n agentId: ctx.agentId,\n executionUrl,\n });\n },\n});\n\nexport const AGENT_EXECUTION_ROUTE = createRoute({\n method: 'POST',\n path: '/a2a/:agentId',\n responseType: 'datastream-response',\n pathParamSchema: a2aAgentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: agentExecutionResponseSchema,\n summary: 'Execute agent',\n description: 'Executes an agent action via JSON-RPC 2.0 over A2A protocol',\n tags: ['Agent-to-Agent'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, requestContext, taskStore, abortSignal, ...bodyParams }) => {\n const { id: requestId, method } = bodyParams;\n const params = 'params' in bodyParams ? bodyParams.params : undefined;\n const result = await getAgentExecutionHandler({\n requestId,\n mastra,\n agentId: agentId as string,\n requestContext,\n method,\n params,\n taskStore: taskStore!,\n abortSignal,\n });\n\n if (method === 'message/stream' || method === 'tasks/resubscribe') {\n return createA2ASSEResponse(result);\n }\n\n return createA2AJsonResponse(result);\n },\n});\n","import { MastraA2AError } from '@mastra/core/a2a';\n\nimport type { JSONRPCError, JSONRPCResponse, Message, Part } from '@mastra/core/a2a';\nimport type { CoreMessage } from '@mastra/core/llm';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function normalizeError(\n error: any,\n reqId: number | string | null,\n taskId?: string,\n logger?: IMastraLogger,\n): JSONRPCResponse<null, unknown> {\n let a2aError: MastraA2AError;\n if (error instanceof MastraA2AError) {\n a2aError = error;\n } else if (error instanceof Error) {\n // Generic JS error\n a2aError = MastraA2AError.internalError(error.message, { stack: error.stack });\n } else {\n // Unknown error type\n a2aError = MastraA2AError.internalError('An unknown error occurred.', error);\n }\n\n // Ensure Task ID context is present if possible\n if (taskId && !a2aError.taskId) {\n a2aError.taskId = taskId;\n }\n\n logger?.error(`Error processing request (Task: ${a2aError.taskId ?? 'N/A'}, ReqID: ${reqId ?? 'N/A'}):`, a2aError);\n\n return createErrorResponse(reqId, a2aError.toJSONRPCError());\n}\n\nexport function createErrorResponse(\n id: number | string | null,\n error: JSONRPCError<unknown>,\n): JSONRPCResponse<null, unknown> {\n // For errors, ID should be the same as request ID, or null if that couldn't be determined\n return {\n jsonrpc: '2.0',\n id: id, // Can be null if request ID was invalid/missing\n error: error,\n };\n}\n\nexport function createSuccessResponse<T>(id: number | string | null, result: T): JSONRPCResponse<T> {\n if (!id) {\n // This shouldn't happen for methods that expect a response, but safeguard\n throw MastraA2AError.internalError('Cannot create success response for null ID.');\n }\n\n return {\n jsonrpc: '2.0',\n id: id,\n result: result,\n };\n}\n\nexport function convertToCoreMessage(message: Message): CoreMessage {\n return {\n role: message.role === 'user' ? 'user' : 'assistant',\n content: message.parts.map(msg => convertToCoreMessagePart(msg)),\n };\n}\n\nfunction convertToCoreMessagePart(part: Part) {\n switch (part.kind) {\n case 'text':\n return {\n type: 'text',\n text: part.text,\n } as const;\n case 'file':\n return {\n type: 'file',\n data: 'uri' in part.file ? new URL(part.file.uri) : part.file.bytes,\n mimeType: part.file.mimeType!,\n } as const;\n case 'data':\n throw new Error('Data parts are not supported in core messages');\n }\n}\n","import type {\n Message,\n Task,\n TaskState,\n TaskStatus,\n TaskContext,\n TaskArtifactUpdateEvent,\n Artifact,\n} from '@mastra/core/a2a';\nimport type { IMastraLogger } from '@mastra/core/logger';\nimport type { InMemoryTaskStore } from './store';\n\nfunction isTaskStatusUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is Omit<TaskStatus, 'timestamp'> {\n return 'state' in update && !('parts' in update);\n}\n\nfunction isArtifactUpdate(update: TaskStatus | TaskArtifactUpdateEvent): update is TaskArtifactUpdateEvent {\n return 'kind' in update && update.kind === 'artifact-update';\n}\n\nexport function applyUpdateToTask(\n current: Task,\n update: Omit<TaskStatus, 'timestamp'> | TaskArtifactUpdateEvent,\n): Task {\n let newTask = structuredClone(current);\n\n if (isTaskStatusUpdate(update)) {\n // Merge status update\n newTask.status = {\n ...newTask.status, // Keep existing properties if not overwritten\n ...update, // Apply updates\n timestamp: new Date().toISOString(),\n };\n } else if (isArtifactUpdate(update)) {\n // Handle artifact update\n if (!newTask.artifacts) {\n newTask.artifacts = [];\n } else {\n // Ensure we're working with a copy of the artifacts array\n newTask.artifacts = [...newTask.artifacts];\n }\n\n const artifact = update.artifact;\n const existingIndex = newTask.artifacts.findIndex(a => a.name === artifact.name);\n const existingArtifact = newTask.artifacts[existingIndex];\n\n if (existingArtifact) {\n if (update.append) {\n // Create a deep copy for modification to avoid mutating original\n const appendedArtifact = JSON.parse(JSON.stringify(existingArtifact)) as Artifact;\n appendedArtifact.parts.push(...artifact.parts);\n if (artifact.metadata) {\n appendedArtifact.metadata = {\n ...(appendedArtifact.metadata || {}),\n ...artifact.metadata,\n };\n }\n if (artifact.description) appendedArtifact.description = artifact.description;\n newTask.artifacts[existingIndex] = appendedArtifact; // Replace with appended version\n } else {\n // Overwrite artifact at index (with a copy of the update)\n newTask.artifacts[existingIndex] = { ...artifact };\n }\n } else {\n newTask.artifacts.push({ ...artifact });\n }\n }\n\n return newTask;\n}\n\nexport async function loadOrCreateTask({\n agentId,\n taskId,\n taskStore,\n message,\n contextId,\n metadata,\n logger,\n}: {\n agentId: string;\n taskId: string;\n taskStore: InMemoryTaskStore;\n message: Message;\n contextId?: string;\n metadata?: Record<string, unknown>;\n logger?: IMastraLogger;\n}): Promise<Task> {\n const data = await taskStore.load({ agentId, taskId });\n\n // Create new task if none exists\n if (!data) {\n const initialTask: Task = {\n id: taskId,\n contextId: contextId || crypto.randomUUID(),\n status: {\n state: 'submitted',\n timestamp: new Date().toISOString(),\n message: undefined,\n },\n artifacts: [],\n history: [message],\n metadata: metadata,\n kind: 'task',\n };\n\n logger?.info(`[Task ${taskId}] Created new task.`);\n await taskStore.save({ agentId, data: initialTask });\n\n return initialTask;\n }\n\n // Handle existing task\n logger?.info(`[Task ${taskId}] Loaded existing task.`);\n\n // Add message to history and prepare updated data\n let updatedData = data;\n updatedData.history = [...(data.history || []), message];\n\n // Handle state transitions\n const { status } = data;\n const finalStates: TaskState[] = ['completed', 'failed', 'canceled'];\n\n if (finalStates.includes(status.state)) {\n logger?.warn(`[Task ${taskId}] Received message for task in final state ${status.state}. Restarting.`);\n updatedData = applyUpdateToTask(updatedData, {\n state: 'submitted',\n message: undefined,\n });\n } else if (status.state === 'input-required') {\n logger?.info(`[Task ${taskId}] Changing state from 'input-required' to 'working'.`);\n updatedData = applyUpdateToTask(updatedData, { state: 'working' });\n } else if (status.state === 'working') {\n logger?.warn(`[Task ${taskId}] Received message while already 'working'. Proceeding.`);\n }\n\n await taskStore.save({ agentId, data: updatedData });\n\n return updatedData;\n}\n\nexport function createTaskContext({\n task,\n userMessage,\n history,\n activeCancellations,\n}: {\n task: Task;\n userMessage: Message;\n history: Message[];\n activeCancellations: Set<string>;\n}): TaskContext {\n return {\n task: structuredClone(task),\n userMessage,\n history: structuredClone(history),\n isCancelled: () => activeCancellations.has(task.id),\n };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { capabilitiesResponseSchema, currentUserResponseSchema, ssoLoginQuerySchema, ssoCallbackQuerySchema, refreshResponseSchema, credentialsSignInBodySchema, credentialsSignUpBodySchema } from './chunk-PBYMU4C4.js';
|
|
2
2
|
import { supportsSessionRefresh } from './chunk-2Z5KJJDZ.js';
|
|
3
|
-
import { createPublicRoute } from './chunk-
|
|
3
|
+
import { createPublicRoute } from './chunk-KEFOJ6EP.js';
|
|
4
4
|
import { handleError } from './chunk-P23KBWKB.js';
|
|
5
5
|
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
6
6
|
|
|
@@ -461,5 +461,5 @@ var AUTH_ROUTES = [
|
|
|
461
461
|
];
|
|
462
462
|
|
|
463
463
|
export { AUTH_ROUTES, GET_AUTH_CAPABILITIES_ROUTE, GET_CURRENT_USER_ROUTE, GET_SSO_CALLBACK_ROUTE, GET_SSO_LOGIN_ROUTE, POST_CREDENTIALS_SIGN_IN_ROUTE, POST_CREDENTIALS_SIGN_UP_ROUTE, POST_LOGOUT_ROUTE, POST_REFRESH_ROUTE, getPublicOrigin };
|
|
464
|
-
//# sourceMappingURL=chunk-
|
|
465
|
-
//# sourceMappingURL=chunk-
|
|
464
|
+
//# sourceMappingURL=chunk-SRVUIHVN.js.map
|
|
465
|
+
//# sourceMappingURL=chunk-SRVUIHVN.js.map
|