@mastra/server 1.0.0-beta.2 → 1.0.0-beta.20
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 +691 -0
- package/README.md +2 -2
- package/dist/chunk-3MN73W4B.cjs +326 -0
- package/dist/chunk-3MN73W4B.cjs.map +1 -0
- package/dist/chunk-3OUPQHSX.js +314 -0
- package/dist/chunk-3OUPQHSX.js.map +1 -0
- package/dist/chunk-3PZVR6W3.cjs +1117 -0
- package/dist/chunk-3PZVR6W3.cjs.map +1 -0
- package/dist/{chunk-SHWNNZBL.js → chunk-3REGEJEN.js} +13 -17
- package/dist/chunk-3REGEJEN.js.map +1 -0
- package/dist/chunk-3W67K7YE.js +13 -0
- package/dist/chunk-3W67K7YE.js.map +1 -0
- package/dist/chunk-4EYONQIW.cjs +82 -0
- package/dist/chunk-4EYONQIW.cjs.map +1 -0
- package/dist/chunk-5NFRDYFN.js +77 -0
- package/dist/chunk-5NFRDYFN.js.map +1 -0
- package/dist/chunk-5NXQ6QXL.js +116 -0
- package/dist/chunk-5NXQ6QXL.js.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/chunk-6HKMJXTF.js +234 -0
- package/dist/chunk-6HKMJXTF.js.map +1 -0
- package/dist/{chunk-2PLXW4ZX.cjs → chunk-AQI6GLTN.cjs} +74 -74
- package/dist/{chunk-2PLXW4ZX.cjs.map → chunk-AQI6GLTN.cjs.map} +1 -1
- package/dist/chunk-AVOFMAUS.cjs +125 -0
- package/dist/chunk-AVOFMAUS.cjs.map +1 -0
- package/dist/chunk-B35F4QEM.cjs +346 -0
- package/dist/chunk-B35F4QEM.cjs.map +1 -0
- package/dist/chunk-DUZRZLVR.js +302 -0
- package/dist/chunk-DUZRZLVR.js.map +1 -0
- package/dist/chunk-DVSCJECS.js +250 -0
- package/dist/chunk-DVSCJECS.js.map +1 -0
- package/dist/chunk-EUBTCHQC.js +83 -0
- package/dist/chunk-EUBTCHQC.js.map +1 -0
- package/dist/chunk-FEEM6QFN.js +219 -0
- package/dist/chunk-FEEM6QFN.js.map +1 -0
- package/dist/chunk-FWSKVWS7.cjs +88 -0
- package/dist/chunk-FWSKVWS7.cjs.map +1 -0
- package/dist/chunk-G2AMUTU4.js +250 -0
- package/dist/chunk-G2AMUTU4.js.map +1 -0
- package/dist/chunk-G3KUL3RL.cjs +211 -0
- package/dist/chunk-G3KUL3RL.cjs.map +1 -0
- package/dist/{chunk-W2KMU354.cjs → chunk-GWLR6K3H.cjs} +23 -4
- package/dist/chunk-GWLR6K3H.cjs.map +1 -0
- package/dist/{chunk-RQK4FQUD.js → chunk-H66LLFDL.js} +4 -46
- package/dist/chunk-H66LLFDL.js.map +1 -0
- package/dist/chunk-HT4LP3BO.js +75 -0
- package/dist/chunk-HT4LP3BO.js.map +1 -0
- package/dist/chunk-IMPZBQ5U.cjs +33025 -0
- package/dist/chunk-IMPZBQ5U.cjs.map +1 -0
- package/dist/chunk-IQEVRCM6.cjs +205 -0
- package/dist/chunk-IQEVRCM6.cjs.map +1 -0
- package/dist/{chunk-FPBYKMIS.js → chunk-J6DCK7KG.js} +222 -30
- package/dist/chunk-J6DCK7KG.js.map +1 -0
- package/dist/chunk-JQPDZZLI.js +1018 -0
- package/dist/chunk-JQPDZZLI.js.map +1 -0
- package/dist/chunk-JXPRNYUC.js +279 -0
- package/dist/chunk-JXPRNYUC.js.map +1 -0
- package/dist/chunk-K3LMK4KU.js +180 -0
- package/dist/chunk-K3LMK4KU.js.map +1 -0
- package/dist/chunk-KEW7MXUS.cjs +312 -0
- package/dist/chunk-KEW7MXUS.cjs.map +1 -0
- package/dist/chunk-KXYDJIKD.cjs +1048 -0
- package/dist/chunk-KXYDJIKD.cjs.map +1 -0
- package/dist/{chunk-QU6N55W6.cjs → chunk-L2E5RUVT.cjs} +17 -21
- package/dist/chunk-L2E5RUVT.cjs.map +1 -0
- package/dist/chunk-L7ZFPOGS.js +44 -0
- package/dist/chunk-L7ZFPOGS.js.map +1 -0
- package/dist/chunk-LJ6YRVDI.cjs +15 -0
- package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
- package/dist/{chunk-ZULZ2752.js → chunk-LOA7RQYO.js} +3 -3
- package/dist/{chunk-ZULZ2752.js.map → chunk-LOA7RQYO.js.map} +1 -1
- package/dist/chunk-MCYD5LW7.cjs +90 -0
- package/dist/chunk-MCYD5LW7.cjs.map +1 -0
- package/dist/chunk-OKURLPIJ.js +32986 -0
- package/dist/chunk-OKURLPIJ.js.map +1 -0
- package/dist/{chunk-UXGQZUYZ.js → chunk-ONN5EA7E.js} +13 -3
- package/dist/chunk-ONN5EA7E.js.map +1 -0
- package/dist/chunk-P3H4AZKI.cjs +252 -0
- package/dist/chunk-P3H4AZKI.cjs.map +1 -0
- package/dist/chunk-PNZQCQY4.cjs +252 -0
- package/dist/chunk-PNZQCQY4.cjs.map +1 -0
- package/dist/chunk-Q4BOUQ2O.js +1075 -0
- package/dist/chunk-Q4BOUQ2O.js.map +1 -0
- package/dist/{chunk-D7T74TVR.js → chunk-QKXZF7YS.js} +23 -4
- package/dist/chunk-QKXZF7YS.js.map +1 -0
- package/dist/chunk-R25YJP3Y.cjs +269 -0
- package/dist/chunk-R25YJP3Y.cjs.map +1 -0
- package/dist/chunk-SEP5QUTR.js +196 -0
- package/dist/chunk-SEP5QUTR.js.map +1 -0
- package/dist/{chunk-V5WWQN7P.cjs → chunk-SUKFO7UM.cjs} +13 -2
- package/dist/chunk-SUKFO7UM.cjs.map +1 -0
- package/dist/chunk-T3ZHTCEI.cjs +928 -0
- package/dist/chunk-T3ZHTCEI.cjs.map +1 -0
- package/dist/chunk-T4SPG2GP.cjs +82 -0
- package/dist/chunk-T4SPG2GP.cjs.map +1 -0
- package/dist/chunk-TOGG5Q45.js +328 -0
- package/dist/chunk-TOGG5Q45.js.map +1 -0
- package/dist/chunk-UKRDDBXY.cjs +225 -0
- package/dist/chunk-UKRDDBXY.cjs.map +1 -0
- package/dist/chunk-V3RILBZM.cjs +186 -0
- package/dist/chunk-V3RILBZM.cjs.map +1 -0
- package/dist/chunk-VJNZJAIO.cjs +289 -0
- package/dist/chunk-VJNZJAIO.cjs.map +1 -0
- package/dist/{chunk-LPM6BBAX.cjs → chunk-VX3VN7FN.cjs} +3 -54
- package/dist/chunk-VX3VN7FN.cjs.map +1 -0
- package/dist/chunk-X5KAQFOV.js +204 -0
- package/dist/chunk-X5KAQFOV.js.map +1 -0
- package/dist/chunk-XAVPSRSG.cjs +46 -0
- package/dist/chunk-XAVPSRSG.cjs.map +1 -0
- package/dist/chunk-XOUK3IYU.js +77 -0
- package/dist/chunk-XOUK3IYU.js.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/{chunk-KJIDZQRA.cjs → chunk-Y3VSCOCE.cjs} +228 -30
- package/dist/chunk-Y3VSCOCE.cjs.map +1 -0
- package/dist/chunk-ZRBZESWG.js +903 -0
- package/dist/chunk-ZRBZESWG.js.map +1 -0
- package/dist/{dist-G2BYZJOC.cjs → dist-7NTDEVLP.cjs} +28 -28
- package/dist/{dist-G2BYZJOC.cjs.map → dist-7NTDEVLP.cjs.map} +1 -1
- package/dist/{dist-X7XR3M3Z.js → dist-B5GMANA6.js} +3 -3
- package/dist/{dist-X7XR3M3Z.js.map → dist-B5GMANA6.js.map} +1 -1
- package/dist/dist-EDO7GEGI.js +3 -0
- package/dist/{dist-YREX2TJT.js.map → dist-EDO7GEGI.js.map} +1 -1
- package/dist/{dist-RFMYFILX.cjs → dist-OF24ZMHH.cjs} +30 -30
- package/dist/{dist-RFMYFILX.cjs.map → dist-OF24ZMHH.cjs.map} +1 -1
- package/dist/{dist-4MVGNSRL.cjs → dist-P6YSNLL3.cjs} +20 -20
- package/dist/{dist-4MVGNSRL.cjs.map → dist-P6YSNLL3.cjs.map} +1 -1
- package/dist/{dist-PQZUVLPC.js → dist-SMBO5KVB.js} +3 -3
- package/dist/{dist-PQZUVLPC.js.map → dist-SMBO5KVB.js.map} +1 -1
- package/dist/{dist-XVBSOGFK.js → dist-THPMW5QR.js} +3 -3
- package/dist/{dist-XVBSOGFK.js.map → dist-THPMW5QR.js.map} +1 -1
- package/dist/{dist-FZYCV3VB.cjs → dist-VZTG56X2.cjs} +26 -26
- package/dist/{dist-FZYCV3VB.cjs.map → dist-VZTG56X2.cjs.map} +1 -1
- package/dist/dist-ZLC23RVC.cjs +16 -0
- package/dist/{dist-P4MXBQ3U.cjs.map → dist-ZLC23RVC.cjs.map} +1 -1
- package/dist/{dist-R7WYX6LC.js → dist-ZOZ6MHJH.js} +3 -3
- package/dist/{dist-R7WYX6LC.js.map → dist-ZOZ6MHJH.js.map} +1 -1
- package/dist/docs/README.md +31 -0
- package/dist/docs/SKILL.md +32 -0
- package/dist/docs/SOURCE_MAP.json +6 -0
- package/dist/docs/server/01-custom-adapters.md +377 -0
- package/dist/docs/server/02-reference.md +828 -0
- package/dist/server/auth/defaults.d.ts +3 -0
- package/dist/server/auth/defaults.d.ts.map +1 -0
- package/dist/server/auth/helpers.d.ts +14 -0
- package/dist/server/auth/helpers.d.ts.map +1 -0
- package/dist/server/auth/index.cjs +137 -0
- package/dist/server/auth/index.cjs.map +1 -0
- package/dist/server/auth/index.d.ts +3 -0
- package/dist/server/auth/index.d.ts.map +1 -0
- package/dist/server/auth/index.js +127 -0
- package/dist/server/auth/index.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +15 -7
- package/dist/server/handlers/a2a.d.ts +482 -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 +31 -43
- package/dist/server/handlers/agent-builder.d.ts +624 -77
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +57 -37
- package/dist/server/handlers/agents.d.ts +3296 -131
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/error.cjs +6 -2
- package/dist/server/handlers/error.d.ts +12 -0
- package/dist/server/handlers/error.d.ts.map +1 -1
- package/dist/server/handlers/error.js +1 -1
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +135 -27
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp.cjs +40 -0
- package/dist/server/handlers/mcp.cjs.map +1 -0
- package/dist/server/handlers/mcp.d.ts +110 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -0
- package/dist/server/handlers/mcp.js +3 -0
- package/dist/server/handlers/mcp.js.map +1 -0
- package/dist/server/handlers/memory.cjs +71 -27
- package/dist/server/handlers/memory.d.ts +1016 -95
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +9 -9
- package/dist/server/handlers/observability.d.ts +146 -42
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +13 -13
- package/dist/server/handlers/scores.d.ts +110 -141
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +28 -0
- package/dist/server/handlers/stored-agents.cjs.map +1 -0
- package/dist/server/handlers/stored-agents.d.ts +289 -0
- package/dist/server/handlers/stored-agents.d.ts.map +1 -0
- package/dist/server/handlers/stored-agents.js +3 -0
- package/dist/server/handlers/stored-agents.js.map +1 -0
- package/dist/server/handlers/system.cjs +12 -0
- package/dist/server/handlers/system.cjs.map +1 -0
- package/dist/server/handlers/system.d.ts +7 -0
- package/dist/server/handlers/system.d.ts.map +1 -0
- package/dist/server/handlers/system.js +3 -0
- package/dist/server/handlers/system.js.map +1 -0
- package/dist/server/handlers/test-utils.cjs +15 -0
- package/dist/server/handlers/test-utils.cjs.map +1 -0
- package/dist/server/handlers/test-utils.d.ts +6 -0
- package/dist/server/handlers/test-utils.d.ts.map +1 -0
- package/dist/server/handlers/test-utils.js +13 -0
- package/dist/server/handlers/test-utils.js.map +1 -0
- package/dist/server/handlers/tools.cjs +11 -11
- package/dist/server/handlers/tools.d.ts +69 -23
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +11 -3
- package/dist/server/handlers/utils.d.ts +5 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +31 -7
- package/dist/server/handlers/vector.d.ts +93 -9
- package/dist/server/handlers/vector.d.ts.map +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +21 -9
- package/dist/server/handlers/voice.d.ts +81 -40
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +57 -37
- package/dist/server/handlers/workflows.d.ts +980 -74
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +36 -31
- package/dist/server/handlers.d.ts +1 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +12 -11
- package/dist/server/schemas/a2a.d.ts +786 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -0
- package/dist/server/schemas/agent-builder.d.ts +225 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1401 -0
- package/dist/server/schemas/agents.d.ts.map +1 -0
- package/dist/server/schemas/common.d.ts +179 -0
- package/dist/server/schemas/common.d.ts.map +1 -0
- package/dist/server/schemas/logs.d.ts +124 -0
- package/dist/server/schemas/logs.d.ts.map +1 -0
- package/dist/server/schemas/mcp.d.ts +299 -0
- package/dist/server/schemas/mcp.d.ts.map +1 -0
- package/dist/server/schemas/memory.d.ts +1128 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +259 -0
- package/dist/server/schemas/scores.d.ts.map +1 -0
- package/dist/server/schemas/stored-agents.d.ts +792 -0
- package/dist/server/schemas/stored-agents.d.ts.map +1 -0
- package/dist/server/schemas/system.d.ts +36 -0
- package/dist/server/schemas/system.d.ts.map +1 -0
- package/dist/server/schemas/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +863 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +510 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +109 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +482 -0
- package/dist/server/server-adapter/index.js.map +1 -0
- package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
- package/dist/server/server-adapter/redact.d.ts +26 -0
- package/dist/server/server-adapter/redact.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +3 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +50 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
- package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/logs.d.ts +3 -0
- package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
- package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/memory.d.ts +3 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/observability.d.ts +3 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +111 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
- package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/system.d.ts +12 -0
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/tools.d.ts +3 -0
- package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
- package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
- package/dist/server/utils.d.ts +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs} +11 -12
- package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +1 -0
- package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-K2BTU23I-NW33N3NU.js} +8 -9
- package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +1 -0
- package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs +63 -0
- package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
- package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js +61 -0
- package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
- package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js +61 -0
- package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +1 -0
- package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs +63 -0
- package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
- package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
- package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +10 -0
- package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +8 -0
- package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map +1 -0
- package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +10 -0
- package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
- package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map +1 -0
- package/package.json +35 -10
- package/dist/chunk-2IS5WICF.js +0 -23036
- package/dist/chunk-2IS5WICF.js.map +0 -1
- package/dist/chunk-2YZH5PH6.cjs +0 -200
- package/dist/chunk-2YZH5PH6.cjs.map +0 -1
- package/dist/chunk-3AMNUUZF.js +0 -124
- package/dist/chunk-3AMNUUZF.js.map +0 -1
- package/dist/chunk-3F52QCI4.js +0 -192
- package/dist/chunk-3F52QCI4.js.map +0 -1
- package/dist/chunk-4JF5WXPL.js +0 -502
- package/dist/chunk-4JF5WXPL.js.map +0 -1
- package/dist/chunk-73PAWDM5.js +0 -83
- package/dist/chunk-73PAWDM5.js.map +0 -1
- package/dist/chunk-A24TSVEZ.cjs +0 -130
- package/dist/chunk-A24TSVEZ.cjs.map +0 -1
- package/dist/chunk-A2NPD5N6.cjs +0 -517
- package/dist/chunk-A2NPD5N6.cjs.map +0 -1
- package/dist/chunk-B3Z6J745.js +0 -122
- package/dist/chunk-B3Z6J745.js.map +0 -1
- package/dist/chunk-BTWIR2B7.cjs +0 -28
- package/dist/chunk-BTWIR2B7.cjs.map +0 -1
- package/dist/chunk-D7T74TVR.js.map +0 -1
- package/dist/chunk-EHACNWDL.cjs +0 -681
- package/dist/chunk-EHACNWDL.cjs.map +0 -1
- package/dist/chunk-FPBYKMIS.js.map +0 -1
- package/dist/chunk-GLAZTMX3.cjs +0 -128
- package/dist/chunk-GLAZTMX3.cjs.map +0 -1
- package/dist/chunk-ID6JYDNL.cjs +0 -23075
- package/dist/chunk-ID6JYDNL.cjs.map +0 -1
- package/dist/chunk-KF3RI45U.cjs +0 -172
- package/dist/chunk-KF3RI45U.cjs.map +0 -1
- package/dist/chunk-KJIDZQRA.cjs.map +0 -1
- package/dist/chunk-KWH5QBXP.js +0 -123
- package/dist/chunk-KWH5QBXP.js.map +0 -1
- package/dist/chunk-LPM6BBAX.cjs.map +0 -1
- package/dist/chunk-ND5OKOMT.js +0 -165
- package/dist/chunk-ND5OKOMT.js.map +0 -1
- package/dist/chunk-PPMIB3FQ.cjs +0 -88
- package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
- package/dist/chunk-QU6N55W6.cjs.map +0 -1
- package/dist/chunk-RQK4FQUD.js.map +0 -1
- package/dist/chunk-S54HNARD.cjs +0 -131
- package/dist/chunk-S54HNARD.cjs.map +0 -1
- package/dist/chunk-SHWNNZBL.js.map +0 -1
- package/dist/chunk-SZIFSF4T.js +0 -25
- package/dist/chunk-SZIFSF4T.js.map +0 -1
- package/dist/chunk-TOCYBDP2.js +0 -46
- package/dist/chunk-TOCYBDP2.js.map +0 -1
- package/dist/chunk-UXGQZUYZ.js.map +0 -1
- package/dist/chunk-V5WWQN7P.cjs.map +0 -1
- package/dist/chunk-W2KMU354.cjs.map +0 -1
- package/dist/chunk-X3MICMI2.cjs +0 -620
- package/dist/chunk-X3MICMI2.cjs.map +0 -1
- package/dist/chunk-X6C7BUWN.cjs +0 -48
- package/dist/chunk-X6C7BUWN.cjs.map +0 -1
- package/dist/chunk-Z2O5YVHY.js +0 -661
- package/dist/chunk-Z2O5YVHY.js.map +0 -1
- package/dist/chunk-ZJ6KEY6H.js +0 -600
- package/dist/chunk-ZJ6KEY6H.js.map +0 -1
- package/dist/dist-P4MXBQ3U.cjs +0 -16
- package/dist/dist-YREX2TJT.js +0 -3
- package/dist/token-375W3LEI.cjs.map +0 -1
- package/dist/token-C3IMNCC4.js.map +0 -1
- package/dist/token-util-CV3RRG6K.cjs +0 -9
- package/dist/token-util-CV3RRG6K.cjs.map +0 -1
- package/dist/token-util-E5QO2RCL.js +0 -7
- package/dist/token-util-E5QO2RCL.js.map +0 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
|
|
4
|
+
var chunkR25YJP3Y_cjs = require('./chunk-R25YJP3Y.cjs');
|
|
5
|
+
var chunkUKRDDBXY_cjs = require('./chunk-UKRDDBXY.cjs');
|
|
6
|
+
var chunkSUKFO7UM_cjs = require('./chunk-SUKFO7UM.cjs');
|
|
7
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
8
|
+
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
9
|
+
var stream = require('stream');
|
|
10
|
+
var error = require('@mastra/core/error');
|
|
11
|
+
|
|
12
|
+
// src/server/handlers/voice.ts
|
|
13
|
+
var voice_exports = {};
|
|
14
|
+
chunkO7I5CWRX_cjs.__export(voice_exports, {
|
|
15
|
+
GENERATE_SPEECH_DEPRECATED_ROUTE: () => GENERATE_SPEECH_DEPRECATED_ROUTE,
|
|
16
|
+
GENERATE_SPEECH_ROUTE: () => GENERATE_SPEECH_ROUTE,
|
|
17
|
+
GET_LISTENER_ROUTE: () => GET_LISTENER_ROUTE,
|
|
18
|
+
GET_SPEAKERS_DEPRECATED_ROUTE: () => GET_SPEAKERS_DEPRECATED_ROUTE,
|
|
19
|
+
GET_SPEAKERS_ROUTE: () => GET_SPEAKERS_ROUTE,
|
|
20
|
+
TRANSCRIBE_SPEECH_DEPRECATED_ROUTE: () => TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,
|
|
21
|
+
TRANSCRIBE_SPEECH_ROUTE: () => TRANSCRIBE_SPEECH_ROUTE
|
|
22
|
+
});
|
|
23
|
+
var GET_SPEAKERS_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
24
|
+
method: "GET",
|
|
25
|
+
path: "/api/agents/:agentId/voice/speakers",
|
|
26
|
+
responseType: "json",
|
|
27
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
28
|
+
responseSchema: chunkR25YJP3Y_cjs.voiceSpeakersResponseSchema,
|
|
29
|
+
summary: "Get voice speakers",
|
|
30
|
+
description: "Returns available voice speakers for the specified agent",
|
|
31
|
+
tags: ["Agents", "Voice"],
|
|
32
|
+
handler: async ({ mastra, agentId, requestContext }) => {
|
|
33
|
+
try {
|
|
34
|
+
if (!agentId) {
|
|
35
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
36
|
+
}
|
|
37
|
+
const agent = mastra.getAgentById(agentId);
|
|
38
|
+
if (!agent) {
|
|
39
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
|
|
40
|
+
}
|
|
41
|
+
const voice = await agent.getVoice({ requestContext });
|
|
42
|
+
const speakers = await Promise.resolve().then(() => voice.getSpeakers()).catch((err) => {
|
|
43
|
+
if (err instanceof error.MastraError) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
throw err;
|
|
47
|
+
});
|
|
48
|
+
return speakers;
|
|
49
|
+
} catch (error) {
|
|
50
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error getting speakers");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
var GET_SPEAKERS_DEPRECATED_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
55
|
+
method: "GET",
|
|
56
|
+
path: "/api/agents/:agentId/speakers",
|
|
57
|
+
responseType: "json",
|
|
58
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
59
|
+
responseSchema: chunkR25YJP3Y_cjs.voiceSpeakersResponseSchema,
|
|
60
|
+
summary: "Get available speakers for an agent",
|
|
61
|
+
description: "[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent",
|
|
62
|
+
tags: ["Agents", "Voice"],
|
|
63
|
+
handler: GET_SPEAKERS_ROUTE.handler
|
|
64
|
+
});
|
|
65
|
+
var GENERATE_SPEECH_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
66
|
+
method: "POST",
|
|
67
|
+
path: "/api/agents/:agentId/voice/speak",
|
|
68
|
+
responseType: "stream",
|
|
69
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
70
|
+
bodySchema: chunkR25YJP3Y_cjs.generateSpeechBodySchema,
|
|
71
|
+
responseSchema: chunkR25YJP3Y_cjs.speakResponseSchema,
|
|
72
|
+
summary: "Generate speech",
|
|
73
|
+
description: "Generates speech audio from text using the agent voice configuration",
|
|
74
|
+
tags: ["Agents", "Voice"],
|
|
75
|
+
handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {
|
|
76
|
+
try {
|
|
77
|
+
if (!agentId) {
|
|
78
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
79
|
+
}
|
|
80
|
+
chunk5W4RPVTK_cjs.validateBody({ text });
|
|
81
|
+
const agent = mastra.getAgentById(agentId);
|
|
82
|
+
if (!agent) {
|
|
83
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
|
|
84
|
+
}
|
|
85
|
+
const voice = await agent.getVoice({ requestContext });
|
|
86
|
+
if (!voice) {
|
|
87
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
88
|
+
}
|
|
89
|
+
const audioStream = await Promise.resolve().then(() => voice.speak(text, { speaker: speakerId })).catch((err) => {
|
|
90
|
+
if (err instanceof error.MastraError) {
|
|
91
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: err.message });
|
|
92
|
+
}
|
|
93
|
+
throw err;
|
|
94
|
+
});
|
|
95
|
+
if (!audioStream) {
|
|
96
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to generate speech" });
|
|
97
|
+
}
|
|
98
|
+
return audioStream;
|
|
99
|
+
} catch (error) {
|
|
100
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error generating speech");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
var GENERATE_SPEECH_DEPRECATED_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
105
|
+
method: "POST",
|
|
106
|
+
path: "/api/agents/:agentId/speak",
|
|
107
|
+
responseType: "stream",
|
|
108
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
109
|
+
bodySchema: chunkR25YJP3Y_cjs.generateSpeechBodySchema,
|
|
110
|
+
responseSchema: chunkR25YJP3Y_cjs.speakResponseSchema,
|
|
111
|
+
summary: "Convert text to speech",
|
|
112
|
+
description: "[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider",
|
|
113
|
+
tags: ["Agents", "Voice"],
|
|
114
|
+
handler: GENERATE_SPEECH_ROUTE.handler
|
|
115
|
+
});
|
|
116
|
+
var TRANSCRIBE_SPEECH_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
117
|
+
method: "POST",
|
|
118
|
+
path: "/api/agents/:agentId/voice/listen",
|
|
119
|
+
responseType: "json",
|
|
120
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
121
|
+
bodySchema: chunkR25YJP3Y_cjs.transcribeSpeechBodySchema,
|
|
122
|
+
responseSchema: chunkR25YJP3Y_cjs.transcribeSpeechResponseSchema,
|
|
123
|
+
summary: "Transcribe speech",
|
|
124
|
+
description: "Transcribes speech audio to text using the agent voice configuration",
|
|
125
|
+
tags: ["Agents", "Voice"],
|
|
126
|
+
handler: async ({ mastra, agentId, audio, options, requestContext }) => {
|
|
127
|
+
try {
|
|
128
|
+
if (!agentId) {
|
|
129
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
130
|
+
}
|
|
131
|
+
if (!audio) {
|
|
132
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Audio data is required" });
|
|
133
|
+
}
|
|
134
|
+
const agent = mastra.getAgentById(agentId);
|
|
135
|
+
if (!agent) {
|
|
136
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
|
|
137
|
+
}
|
|
138
|
+
const voice = await agent.getVoice({ requestContext });
|
|
139
|
+
if (!voice) {
|
|
140
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
141
|
+
}
|
|
142
|
+
const audioStream = new stream.Readable();
|
|
143
|
+
audioStream.push(audio);
|
|
144
|
+
audioStream.push(null);
|
|
145
|
+
const text = await voice.listen(audioStream, options);
|
|
146
|
+
return { text };
|
|
147
|
+
} catch (error) {
|
|
148
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error transcribing speech");
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
153
|
+
method: "POST",
|
|
154
|
+
path: "/api/agents/:agentId/listen",
|
|
155
|
+
responseType: "json",
|
|
156
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
157
|
+
bodySchema: chunkR25YJP3Y_cjs.transcribeSpeechBodySchema,
|
|
158
|
+
responseSchema: chunkR25YJP3Y_cjs.transcribeSpeechResponseSchema,
|
|
159
|
+
summary: "Convert speech to text",
|
|
160
|
+
description: "[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.",
|
|
161
|
+
tags: ["Agents", "Voice"],
|
|
162
|
+
handler: TRANSCRIBE_SPEECH_ROUTE.handler
|
|
163
|
+
});
|
|
164
|
+
var GET_LISTENER_ROUTE = chunkUKRDDBXY_cjs.createRoute({
|
|
165
|
+
method: "GET",
|
|
166
|
+
path: "/api/agents/:agentId/voice/listener",
|
|
167
|
+
responseType: "json",
|
|
168
|
+
pathParamSchema: chunkR25YJP3Y_cjs.agentIdPathParams,
|
|
169
|
+
responseSchema: chunkR25YJP3Y_cjs.getListenerResponseSchema,
|
|
170
|
+
summary: "Get voice listener",
|
|
171
|
+
description: "Returns the voice listener configuration for the agent",
|
|
172
|
+
tags: ["Agents", "Voice"],
|
|
173
|
+
handler: async ({ mastra, agentId, requestContext }) => {
|
|
174
|
+
try {
|
|
175
|
+
if (!agentId) {
|
|
176
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Agent ID is required" });
|
|
177
|
+
}
|
|
178
|
+
const agent = mastra.getAgentById(agentId);
|
|
179
|
+
if (!agent) {
|
|
180
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
|
|
181
|
+
}
|
|
182
|
+
const voice = await agent.getVoice({ requestContext });
|
|
183
|
+
const listeners = await Promise.resolve().then(() => voice.getListener()).catch((err) => {
|
|
184
|
+
if (err instanceof error.MastraError) {
|
|
185
|
+
return { enabled: false };
|
|
186
|
+
}
|
|
187
|
+
throw err;
|
|
188
|
+
});
|
|
189
|
+
return listeners;
|
|
190
|
+
} catch (error) {
|
|
191
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error getting listeners");
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
exports.GENERATE_SPEECH_DEPRECATED_ROUTE = GENERATE_SPEECH_DEPRECATED_ROUTE;
|
|
197
|
+
exports.GENERATE_SPEECH_ROUTE = GENERATE_SPEECH_ROUTE;
|
|
198
|
+
exports.GET_LISTENER_ROUTE = GET_LISTENER_ROUTE;
|
|
199
|
+
exports.GET_SPEAKERS_DEPRECATED_ROUTE = GET_SPEAKERS_DEPRECATED_ROUTE;
|
|
200
|
+
exports.GET_SPEAKERS_ROUTE = GET_SPEAKERS_ROUTE;
|
|
201
|
+
exports.TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = TRANSCRIBE_SPEECH_DEPRECATED_ROUTE;
|
|
202
|
+
exports.TRANSCRIBE_SPEECH_ROUTE = TRANSCRIBE_SPEECH_ROUTE;
|
|
203
|
+
exports.voice_exports = voice_exports;
|
|
204
|
+
//# sourceMappingURL=chunk-IQEVRCM6.cjs.map
|
|
205
|
+
//# sourceMappingURL=chunk-IQEVRCM6.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/voice.ts"],"names":["__export","createRoute","agentIdPathParams","voiceSpeakersResponseSchema","HTTPException","MastraError","handleError","generateSpeechBodySchema","speakResponseSchema","validateBody","transcribeSpeechBodySchema","transcribeSpeechResponseSchema","Readable","getListenerResponseSchema"],"mappings":"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","file":"chunk-IQEVRCM6.cjs","sourcesContent":["import { Readable } from 'node:stream';\nimport { MastraError } from '@mastra/core/error';\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n voiceSpeakersResponseSchema,\n generateSpeechBodySchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n getListenerResponseSchema,\n} from '../schemas/agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Objects\n// ============================================================================\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const speakers = await Promise.resolve()\n .then(() => voice.getSpeakers())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured, return empty array\n return [];\n }\n throw err;\n });\n\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(text!, { speaker: speakerId! }))\n .catch(err => {\n if (err instanceof MastraError) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n return audioStream as unknown as ReadableStream<any>;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, audio, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audio) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(audio);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/listener',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const listeners = await Promise.resolve()\n .then(() => voice.getListener())\n .catch(err => {\n if (err instanceof MastraError) {\n // No voice provider configured\n return { enabled: false };\n }\n throw err;\n });\n\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { convertInstructionsToString } from './chunk-
|
|
1
|
+
import { convertInstructionsToString } from './chunk-QKXZF7YS.js';
|
|
2
|
+
import { createRoute } from './chunk-FEEM6QFN.js';
|
|
2
3
|
import { __export } from './chunk-PR4QN5HX.js';
|
|
3
4
|
import { MastraA2AError } from '@mastra/core/a2a';
|
|
4
|
-
import { z } from 'zod';
|
|
5
|
+
import z, { z as z$1 } from 'zod';
|
|
5
6
|
|
|
6
7
|
// src/server/handlers/a2a.ts
|
|
7
8
|
var a2a_exports = {};
|
|
8
9
|
__export(a2a_exports, {
|
|
10
|
+
AGENT_EXECUTION_ROUTE: () => AGENT_EXECUTION_ROUTE,
|
|
11
|
+
GET_AGENT_CARD_ROUTE: () => GET_AGENT_CARD_ROUTE,
|
|
9
12
|
getAgentCardByIdHandler: () => getAgentCardByIdHandler,
|
|
10
13
|
getAgentExecutionHandler: () => getAgentExecutionHandler,
|
|
11
14
|
handleMessageSend: () => handleMessageSend,
|
|
@@ -178,24 +181,138 @@ function createTaskContext({
|
|
|
178
181
|
isCancelled: () => activeCancellations.has(task.id)
|
|
179
182
|
};
|
|
180
183
|
}
|
|
184
|
+
var a2aAgentIdPathParams = z.object({
|
|
185
|
+
agentId: z.string().describe("Unique identifier for the agent")
|
|
186
|
+
});
|
|
187
|
+
a2aAgentIdPathParams.extend({
|
|
188
|
+
taskId: z.string().describe("Unique identifier for the task")
|
|
189
|
+
});
|
|
190
|
+
var pushNotificationAuthenticationInfoSchema = z.object({
|
|
191
|
+
schemes: z.array(z.string()).describe("Supported authentication schemes - e.g. Basic, Bearer"),
|
|
192
|
+
credentials: z.string().optional().describe("Optional credentials")
|
|
193
|
+
});
|
|
194
|
+
var pushNotificationConfigSchema = z.object({
|
|
195
|
+
url: z.string().describe("URL for sending the push notifications"),
|
|
196
|
+
id: z.string().optional().describe("Push Notification ID - created by server to support multiple callbacks"),
|
|
197
|
+
token: z.string().optional().describe("Token unique to this task/session"),
|
|
198
|
+
authentication: pushNotificationAuthenticationInfoSchema.optional()
|
|
199
|
+
});
|
|
200
|
+
var messageSendConfigurationSchema = z.object({
|
|
201
|
+
acceptedOutputModes: z.array(z.string()).describe("Accepted output modalities by the client"),
|
|
202
|
+
blocking: z.boolean().optional().describe("If the server should treat the client as a blocking request"),
|
|
203
|
+
historyLength: z.number().optional().describe("Number of recent messages to be retrieved"),
|
|
204
|
+
pushNotificationConfig: pushNotificationConfigSchema.optional()
|
|
205
|
+
});
|
|
206
|
+
var textPartSchema = z.object({
|
|
207
|
+
kind: z.literal("text").describe("Part type - text for TextParts"),
|
|
208
|
+
text: z.string().describe("Text content"),
|
|
209
|
+
metadata: z.record(z.unknown()).optional().describe("Optional metadata associated with the part")
|
|
210
|
+
});
|
|
211
|
+
var fileWithBytesSchema = z.object({
|
|
212
|
+
bytes: z.string().describe("base64 encoded content of the file"),
|
|
213
|
+
mimeType: z.string().optional().describe("Optional mimeType for the file"),
|
|
214
|
+
name: z.string().optional().describe("Optional name for the file")
|
|
215
|
+
});
|
|
216
|
+
var fileWithUriSchema = z.object({
|
|
217
|
+
uri: z.string().describe("URL for the File content"),
|
|
218
|
+
mimeType: z.string().optional().describe("Optional mimeType for the file"),
|
|
219
|
+
name: z.string().optional().describe("Optional name for the file")
|
|
220
|
+
});
|
|
221
|
+
var filePartSchema = z.object({
|
|
222
|
+
kind: z.literal("file").describe("Part type - file for FileParts"),
|
|
223
|
+
file: z.union([fileWithBytesSchema, fileWithUriSchema]).describe("File content either as url or bytes"),
|
|
224
|
+
metadata: z.record(z.unknown()).optional().describe("Optional metadata associated with the part")
|
|
225
|
+
});
|
|
226
|
+
var dataPartSchema = z.object({
|
|
227
|
+
kind: z.literal("data").describe("Part type - data for DataParts"),
|
|
228
|
+
data: z.record(z.unknown()).describe("Structured data content"),
|
|
229
|
+
metadata: z.record(z.unknown()).optional().describe("Optional metadata associated with the part")
|
|
230
|
+
});
|
|
231
|
+
var partSchema = z.union([textPartSchema, filePartSchema, dataPartSchema]);
|
|
232
|
+
var messageSchema = z.object({
|
|
233
|
+
kind: z.literal("message").describe("Event type"),
|
|
234
|
+
messageId: z.string().describe("Identifier created by the message creator"),
|
|
235
|
+
role: z.enum(["user", "agent"]).describe("Message sender's role"),
|
|
236
|
+
parts: z.array(partSchema).describe("Message content"),
|
|
237
|
+
contextId: z.string().optional().describe("The context the message is associated with"),
|
|
238
|
+
taskId: z.string().optional().describe("Identifier of task the message is related to"),
|
|
239
|
+
referenceTaskIds: z.array(z.string()).optional().describe("List of tasks referenced as context by this message"),
|
|
240
|
+
extensions: z.array(z.string()).optional().describe("The URIs of extensions that are present or contributed to this Message"),
|
|
241
|
+
metadata: z.record(z.unknown()).optional().describe("Extension metadata")
|
|
242
|
+
});
|
|
243
|
+
var messageSendParamsSchema = z.object({
|
|
244
|
+
message: messageSchema,
|
|
245
|
+
configuration: messageSendConfigurationSchema.optional(),
|
|
246
|
+
metadata: z.record(z.unknown()).optional().describe("Extension metadata")
|
|
247
|
+
});
|
|
248
|
+
var taskQueryParamsSchema = z.object({
|
|
249
|
+
id: z.string().describe("Task id"),
|
|
250
|
+
historyLength: z.number().optional().describe("Number of recent messages to be retrieved"),
|
|
251
|
+
metadata: z.record(z.unknown()).optional()
|
|
252
|
+
});
|
|
253
|
+
var taskIdParamsSchema = z.object({
|
|
254
|
+
id: z.string().describe("Task id"),
|
|
255
|
+
metadata: z.record(z.unknown()).optional()
|
|
256
|
+
});
|
|
257
|
+
z.object({
|
|
258
|
+
message: messageSchema,
|
|
259
|
+
metadata: z.record(z.any()).optional()
|
|
260
|
+
});
|
|
261
|
+
z.object({
|
|
262
|
+
id: z.string()
|
|
263
|
+
});
|
|
264
|
+
var agentExecutionParamsSchema = z.union([messageSendParamsSchema, taskQueryParamsSchema, taskIdParamsSchema]);
|
|
265
|
+
var agentExecutionBodySchema = z.object({
|
|
266
|
+
jsonrpc: z.literal("2.0"),
|
|
267
|
+
id: z.union([z.string(), z.number()]),
|
|
268
|
+
method: z.enum(["message/send", "message/stream", "tasks/get", "tasks/cancel"]),
|
|
269
|
+
params: agentExecutionParamsSchema
|
|
270
|
+
});
|
|
271
|
+
var agentCardResponseSchema = z.object({
|
|
272
|
+
name: z.string(),
|
|
273
|
+
description: z.string(),
|
|
274
|
+
url: z.string(),
|
|
275
|
+
provider: z.object({
|
|
276
|
+
organization: z.string(),
|
|
277
|
+
url: z.string()
|
|
278
|
+
}).optional(),
|
|
279
|
+
version: z.string(),
|
|
280
|
+
capabilities: z.object({
|
|
281
|
+
streaming: z.boolean().optional(),
|
|
282
|
+
pushNotifications: z.boolean().optional(),
|
|
283
|
+
stateTransitionHistory: z.boolean().optional()
|
|
284
|
+
}),
|
|
285
|
+
defaultInputModes: z.array(z.string()),
|
|
286
|
+
defaultOutputModes: z.array(z.string()),
|
|
287
|
+
skills: z.array(
|
|
288
|
+
z.object({
|
|
289
|
+
id: z.string(),
|
|
290
|
+
name: z.string(),
|
|
291
|
+
description: z.string(),
|
|
292
|
+
tags: z.array(z.string()).optional()
|
|
293
|
+
})
|
|
294
|
+
)
|
|
295
|
+
});
|
|
296
|
+
z.unknown();
|
|
297
|
+
var agentExecutionResponseSchema = z.unknown();
|
|
181
298
|
|
|
182
299
|
// src/server/handlers/a2a.ts
|
|
183
|
-
var
|
|
184
|
-
message: z.object({
|
|
185
|
-
role: z.enum(["user", "agent"]),
|
|
186
|
-
parts: z.array(
|
|
187
|
-
z.object({
|
|
188
|
-
kind: z.enum(["text"]),
|
|
189
|
-
text: z.string()
|
|
300
|
+
var messageSendParamsSchema2 = z$1.object({
|
|
301
|
+
message: z$1.object({
|
|
302
|
+
role: z$1.enum(["user", "agent"]),
|
|
303
|
+
parts: z$1.array(
|
|
304
|
+
z$1.object({
|
|
305
|
+
kind: z$1.enum(["text"]),
|
|
306
|
+
text: z$1.string()
|
|
190
307
|
})
|
|
191
308
|
),
|
|
192
|
-
kind: z.literal("message"),
|
|
193
|
-
messageId: z.string(),
|
|
194
|
-
contextId: z.string().optional(),
|
|
195
|
-
taskId: z.string().optional(),
|
|
196
|
-
referenceTaskIds: z.array(z.string()).optional(),
|
|
197
|
-
extensions: z.array(z.string()).optional(),
|
|
198
|
-
metadata: z.record(z.any()).optional()
|
|
309
|
+
kind: z$1.literal("message"),
|
|
310
|
+
messageId: z$1.string(),
|
|
311
|
+
contextId: z$1.string().optional(),
|
|
312
|
+
taskId: z$1.string().optional(),
|
|
313
|
+
referenceTaskIds: z$1.array(z$1.string()).optional(),
|
|
314
|
+
extensions: z$1.array(z$1.string()).optional(),
|
|
315
|
+
metadata: z$1.record(z$1.any()).optional()
|
|
199
316
|
})
|
|
200
317
|
});
|
|
201
318
|
async function getAgentCardByIdHandler({
|
|
@@ -209,14 +326,11 @@ async function getAgentCardByIdHandler({
|
|
|
209
326
|
version = "1.0",
|
|
210
327
|
requestContext
|
|
211
328
|
}) {
|
|
212
|
-
const agent = mastra.
|
|
329
|
+
const agent = mastra.getAgentById(agentId);
|
|
213
330
|
if (!agent) {
|
|
214
331
|
throw new Error(`Agent with ID ${agentId} not found`);
|
|
215
332
|
}
|
|
216
|
-
const [instructions, tools] = await Promise.all([
|
|
217
|
-
agent.getInstructions({ requestContext }),
|
|
218
|
-
agent.listTools({ requestContext })
|
|
219
|
-
]);
|
|
333
|
+
const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
|
|
220
334
|
const agentCard = {
|
|
221
335
|
name: agent.id || agentId,
|
|
222
336
|
description: convertInstructionsToString(instructions),
|
|
@@ -244,9 +358,9 @@ async function getAgentCardByIdHandler({
|
|
|
244
358
|
}
|
|
245
359
|
function validateMessageSendParams(params) {
|
|
246
360
|
try {
|
|
247
|
-
|
|
361
|
+
messageSendParamsSchema2.parse(params);
|
|
248
362
|
} catch (error) {
|
|
249
|
-
if (error instanceof z.ZodError) {
|
|
363
|
+
if (error instanceof z$1.ZodError) {
|
|
250
364
|
throw MastraA2AError.invalidParams(error.errors[0].message);
|
|
251
365
|
}
|
|
252
366
|
throw error;
|
|
@@ -280,9 +394,11 @@ async function handleMessageSend({
|
|
|
280
394
|
activeCancellations: taskStore.activeCancellations
|
|
281
395
|
});
|
|
282
396
|
try {
|
|
283
|
-
const
|
|
397
|
+
const resourceId = metadata?.resourceId ?? message.metadata?.resourceId ?? agentId;
|
|
398
|
+
const result = await agent.generate([convertToCoreMessage(message)], {
|
|
284
399
|
runId: taskId,
|
|
285
|
-
requestContext
|
|
400
|
+
requestContext,
|
|
401
|
+
...contextId ? { threadId: contextId, resourceId } : {}
|
|
286
402
|
});
|
|
287
403
|
currentData = applyUpdateToTask(currentData, {
|
|
288
404
|
state: "completed",
|
|
@@ -292,12 +408,21 @@ async function handleMessageSend({
|
|
|
292
408
|
parts: [
|
|
293
409
|
{
|
|
294
410
|
kind: "text",
|
|
295
|
-
text
|
|
411
|
+
text: result.text
|
|
296
412
|
}
|
|
297
413
|
],
|
|
298
414
|
kind: "message"
|
|
299
415
|
}
|
|
300
416
|
});
|
|
417
|
+
currentData.metadata = {
|
|
418
|
+
...currentData.metadata,
|
|
419
|
+
execution: {
|
|
420
|
+
toolCalls: result.toolCalls,
|
|
421
|
+
toolResults: result.toolResults,
|
|
422
|
+
usage: result.usage,
|
|
423
|
+
finishReason: result.finishReason
|
|
424
|
+
}
|
|
425
|
+
};
|
|
301
426
|
await taskStore.save({ agentId, data: currentData });
|
|
302
427
|
} catch (handlerError) {
|
|
303
428
|
const failureStatusUpdate = {
|
|
@@ -417,7 +542,7 @@ async function getAgentExecutionHandler({
|
|
|
417
542
|
taskStore,
|
|
418
543
|
logger
|
|
419
544
|
}) {
|
|
420
|
-
const agent = mastra.
|
|
545
|
+
const agent = mastra.getAgentById(agentId);
|
|
421
546
|
let taskId;
|
|
422
547
|
try {
|
|
423
548
|
taskId = "id" in params ? params.id : params.message?.taskId || "No task ID provided";
|
|
@@ -471,7 +596,74 @@ async function getAgentExecutionHandler({
|
|
|
471
596
|
return normalizeError(error, requestId, taskId, logger);
|
|
472
597
|
}
|
|
473
598
|
}
|
|
599
|
+
var GET_AGENT_CARD_ROUTE = createRoute({
|
|
600
|
+
method: "GET",
|
|
601
|
+
path: "/.well-known/:agentId/agent-card.json",
|
|
602
|
+
responseType: "json",
|
|
603
|
+
pathParamSchema: a2aAgentIdPathParams,
|
|
604
|
+
responseSchema: agentCardResponseSchema,
|
|
605
|
+
summary: "Get agent card",
|
|
606
|
+
description: "Returns the agent card information for A2A protocol discovery",
|
|
607
|
+
tags: ["Agent-to-Agent"],
|
|
608
|
+
handler: async ({ mastra, agentId, requestContext }) => {
|
|
609
|
+
const executionUrl = `/a2a/${agentId}`;
|
|
610
|
+
const provider = {
|
|
611
|
+
organization: "Mastra",
|
|
612
|
+
url: "https://mastra.ai"
|
|
613
|
+
};
|
|
614
|
+
const version = "1.0";
|
|
615
|
+
const agent = mastra.getAgentById(agentId);
|
|
616
|
+
if (!agent) {
|
|
617
|
+
throw new Error(`Agent with ID ${agentId} not found`);
|
|
618
|
+
}
|
|
619
|
+
const [instructions, tools] = await Promise.all([agent.getInstructions({ requestContext }), agent.listTools({ requestContext })]);
|
|
620
|
+
const agentCard = {
|
|
621
|
+
name: agent.id || agentId,
|
|
622
|
+
description: convertInstructionsToString(instructions),
|
|
623
|
+
url: executionUrl,
|
|
624
|
+
provider,
|
|
625
|
+
version,
|
|
626
|
+
capabilities: {
|
|
627
|
+
streaming: true,
|
|
628
|
+
pushNotifications: false,
|
|
629
|
+
stateTransitionHistory: false
|
|
630
|
+
},
|
|
631
|
+
defaultInputModes: ["text"],
|
|
632
|
+
defaultOutputModes: ["text"],
|
|
633
|
+
skills: Object.entries(tools).map(([toolId, tool]) => ({
|
|
634
|
+
id: toolId,
|
|
635
|
+
name: toolId,
|
|
636
|
+
description: tool.description || `Tool: ${toolId}`,
|
|
637
|
+
tags: ["tool"]
|
|
638
|
+
}))
|
|
639
|
+
};
|
|
640
|
+
return agentCard;
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
var AGENT_EXECUTION_ROUTE = createRoute({
|
|
644
|
+
method: "POST",
|
|
645
|
+
path: "/a2a/:agentId",
|
|
646
|
+
responseType: "json",
|
|
647
|
+
pathParamSchema: a2aAgentIdPathParams,
|
|
648
|
+
bodySchema: agentExecutionBodySchema,
|
|
649
|
+
responseSchema: agentExecutionResponseSchema,
|
|
650
|
+
summary: "Execute agent",
|
|
651
|
+
description: "Executes an agent action via JSON-RPC 2.0 over A2A protocol",
|
|
652
|
+
tags: ["Agent-to-Agent"],
|
|
653
|
+
handler: async ({ mastra, agentId, requestContext, taskStore, ...bodyParams }) => {
|
|
654
|
+
const { id: requestId, method, params } = bodyParams;
|
|
655
|
+
return await getAgentExecutionHandler({
|
|
656
|
+
requestId: String(requestId),
|
|
657
|
+
mastra,
|
|
658
|
+
agentId,
|
|
659
|
+
requestContext,
|
|
660
|
+
method,
|
|
661
|
+
params,
|
|
662
|
+
taskStore
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
});
|
|
474
666
|
|
|
475
|
-
export { a2a_exports, getAgentCardByIdHandler, getAgentExecutionHandler, handleMessageSend, handleMessageStream, handleTaskCancel, handleTaskGet };
|
|
476
|
-
//# sourceMappingURL=chunk-
|
|
477
|
-
//# sourceMappingURL=chunk-
|
|
667
|
+
export { AGENT_EXECUTION_ROUTE, GET_AGENT_CARD_ROUTE, a2a_exports, getAgentCardByIdHandler, getAgentExecutionHandler, handleMessageSend, handleMessageStream, handleTaskCancel, handleTaskGet };
|
|
668
|
+
//# sourceMappingURL=chunk-J6DCK7KG.js.map
|
|
669
|
+
//# sourceMappingURL=chunk-J6DCK7KG.js.map
|