@mastra/server 0.0.0-toolOptionTypes-20250917085558 → 0.0.0-top-level-fix-20251211111608
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 +1684 -3
- package/README.md +2 -2
- package/dist/{chunk-PPYGWINI.cjs → chunk-2PLXW4ZX.cjs} +74 -74
- package/dist/{chunk-PPYGWINI.cjs.map → chunk-2PLXW4ZX.cjs.map} +1 -1
- package/dist/chunk-3SFLFUKY.js +116 -0
- package/dist/chunk-3SFLFUKY.js.map +1 -0
- package/dist/chunk-3XI22UQR.cjs +148 -0
- package/dist/chunk-3XI22UQR.cjs.map +1 -0
- package/dist/chunk-4W2SM6CG.js +294 -0
- package/dist/chunk-4W2SM6CG.js.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
- package/dist/chunk-64ITUOXI.cjs.map +1 -0
- package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
- package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
- package/dist/{chunk-3THIIWWW.cjs → chunk-7O3KPUJ4.cjs} +230 -34
- package/dist/chunk-7O3KPUJ4.cjs.map +1 -0
- package/dist/chunk-C3UIIRAT.cjs +920 -0
- package/dist/chunk-C3UIIRAT.cjs.map +1 -0
- package/dist/chunk-CDRVS35Y.js +23226 -0
- package/dist/chunk-CDRVS35Y.js.map +1 -0
- package/dist/chunk-DRUNNM4C.js +328 -0
- package/dist/chunk-DRUNNM4C.js.map +1 -0
- package/dist/chunk-EBWTF2DH.cjs +810 -0
- package/dist/chunk-EBWTF2DH.cjs.map +1 -0
- package/dist/chunk-ER3QM7DD.js +46 -0
- package/dist/chunk-ER3QM7DD.js.map +1 -0
- package/dist/chunk-FPCGLPLJ.cjs +297 -0
- package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
- package/dist/chunk-FYY54HZC.js +310 -0
- package/dist/chunk-FYY54HZC.js.map +1 -0
- package/dist/chunk-GFF2I6UD.js +354 -0
- package/dist/chunk-GFF2I6UD.js.map +1 -0
- package/dist/chunk-GN2LFMET.cjs +23268 -0
- package/dist/chunk-GN2LFMET.cjs.map +1 -0
- package/dist/chunk-H2RMXG2Q.cjs +167 -0
- package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
- package/dist/chunk-HAJOEDNB.js +274 -0
- package/dist/chunk-HAJOEDNB.js.map +1 -0
- package/dist/chunk-HT4LP3BO.js +75 -0
- package/dist/chunk-HT4LP3BO.js.map +1 -0
- package/dist/chunk-I6LR6CPC.cjs +125 -0
- package/dist/chunk-I6LR6CPC.cjs.map +1 -0
- package/dist/chunk-IEYXQTUW.cjs +284 -0
- package/dist/chunk-IEYXQTUW.cjs.map +1 -0
- package/dist/chunk-K3ELPJS3.js +1063 -0
- package/dist/chunk-K3ELPJS3.js.map +1 -0
- package/dist/{chunk-5QUKZCEF.js → chunk-KEXR53KI.js} +224 -34
- package/dist/chunk-KEXR53KI.js.map +1 -0
- package/dist/{chunk-SIGXR3JT.cjs → chunk-LPM6BBAX.cjs} +5 -5
- package/dist/{chunk-SIGXR3JT.cjs.map → chunk-LPM6BBAX.cjs.map} +1 -1
- package/dist/chunk-MCYD5LW7.cjs +90 -0
- package/dist/chunk-MCYD5LW7.cjs.map +1 -0
- package/dist/chunk-MQLS6Z7A.js +891 -0
- package/dist/chunk-MQLS6Z7A.js.map +1 -0
- package/dist/{chunk-EMMSS5I5.cjs → chunk-O7I5CWRX.cjs} +10 -3
- package/dist/{chunk-EMMSS5I5.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
- package/dist/{chunk-G3PMV62Z.js → chunk-PR4QN5HX.js} +10 -4
- package/dist/{chunk-G3PMV62Z.js.map → chunk-PR4QN5HX.js.map} +1 -1
- package/dist/chunk-PUFCKXFW.cjs +312 -0
- package/dist/chunk-PUFCKXFW.cjs.map +1 -0
- package/dist/{chunk-NG5IVLEZ.js → chunk-RQK4FQUD.js} +3 -3
- package/dist/{chunk-NG5IVLEZ.js.map → chunk-RQK4FQUD.js.map} +1 -1
- package/dist/chunk-S3TIWWQL.cjs +322 -0
- package/dist/chunk-S3TIWWQL.cjs.map +1 -0
- package/dist/chunk-SXVANU23.js +164 -0
- package/dist/chunk-SXVANU23.js.map +1 -0
- package/dist/chunk-TGIVGCBJ.cjs +211 -0
- package/dist/chunk-TGIVGCBJ.cjs.map +1 -0
- package/dist/chunk-TYZ6ZISQ.cjs +368 -0
- package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
- package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
- package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
- package/dist/chunk-UY2D2LVC.cjs +205 -0
- package/dist/chunk-UY2D2LVC.cjs.map +1 -0
- package/dist/chunk-V272B7RM.cjs +255 -0
- package/dist/chunk-V272B7RM.cjs.map +1 -0
- package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
- package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
- package/dist/chunk-VIDXWHJQ.js +204 -0
- package/dist/chunk-VIDXWHJQ.js.map +1 -0
- package/dist/chunk-W36USBM5.js +196 -0
- package/dist/chunk-W36USBM5.js.map +1 -0
- package/dist/chunk-WBLT2HL3.js +144 -0
- package/dist/chunk-WBLT2HL3.js.map +1 -0
- package/dist/chunk-WE4USCF3.js +226 -0
- package/dist/chunk-WE4USCF3.js.map +1 -0
- package/dist/chunk-X43DWDXB.cjs +346 -0
- package/dist/chunk-X43DWDXB.cjs.map +1 -0
- package/dist/chunk-X4QMPCTP.cjs +259 -0
- package/dist/chunk-X4QMPCTP.cjs.map +1 -0
- package/dist/chunk-XQPJ63ZD.cjs +48 -0
- package/dist/chunk-XQPJ63ZD.cjs.map +1 -0
- package/dist/chunk-XW2HXQDO.js +302 -0
- package/dist/chunk-XW2HXQDO.js.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/chunk-YHNJY33C.js +786 -0
- package/dist/chunk-YHNJY33C.js.map +1 -0
- package/dist/chunk-YP34EWWK.js +253 -0
- package/dist/chunk-YP34EWWK.js.map +1 -0
- package/dist/chunk-ZN5R6OZB.cjs +1107 -0
- package/dist/chunk-ZN5R6OZB.cjs.map +1 -0
- package/dist/{chunk-6GMFZ5LK.js → chunk-ZULZ2752.js} +3 -3
- package/dist/{chunk-6GMFZ5LK.js.map → chunk-ZULZ2752.js.map} +1 -1
- package/dist/{chunk-IGFMAZZ5.cjs → dist-4MVGNSRL.cjs} +20 -20
- package/dist/dist-4MVGNSRL.cjs.map +1 -0
- package/dist/{chunk-TVSIG4JE.cjs → dist-FZYCV3VB.cjs} +26 -26
- package/dist/dist-FZYCV3VB.cjs.map +1 -0
- package/dist/{chunk-5DP5XZH6.cjs → dist-G2BYZJOC.cjs} +28 -28
- package/dist/dist-G2BYZJOC.cjs.map +1 -0
- package/dist/dist-P4MXBQ3U.cjs +16 -0
- package/dist/{dist-3A5DXB37.cjs.map → dist-P4MXBQ3U.cjs.map} +1 -1
- package/dist/{chunk-FQNT7PI4.js → dist-PQZUVLPC.js} +3 -3
- package/dist/dist-PQZUVLPC.js.map +1 -0
- package/dist/{chunk-P7CIEIJ3.js → dist-R7WYX6LC.js} +3 -3
- package/dist/dist-R7WYX6LC.js.map +1 -0
- package/dist/{chunk-HJQKWRKQ.cjs → dist-RFMYFILX.cjs} +30 -30
- package/dist/dist-RFMYFILX.cjs.map +1 -0
- package/dist/{chunk-LYPU75T6.js → dist-X7XR3M3Z.js} +3 -3
- package/dist/dist-X7XR3M3Z.js.map +1 -0
- package/dist/{chunk-66YYHFGF.js → dist-XVBSOGFK.js} +3 -3
- package/dist/dist-XVBSOGFK.js.map +1 -0
- package/dist/dist-YREX2TJT.js +3 -0
- package/dist/{dist-26HWEQY6.js.map → dist-YREX2TJT.js.map} +1 -1
- 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 +492 -10
- 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 +43 -31
- package/dist/server/handlers/agent-builder.d.ts +599 -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 +61 -29
- package/dist/server/handlers/agents.d.ts +3329 -129
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/error.cjs +2 -2
- 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 +63 -31
- package/dist/server/handlers/memory.d.ts +934 -103
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +29 -5
- package/dist/server/handlers/observability.d.ts +142 -9
- 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 +112 -40
- 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/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 +75 -31
- package/dist/server/handlers/workflows.d.ts +925 -60
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +26 -36
- package/dist/server/handlers.d.ts +1 -3
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +12 -14
- package/dist/server/http-exception.d.ts +0 -5
- package/dist/server/http-exception.d.ts.map +1 -1
- 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 +204 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1375 -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 +998 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/observability.d.ts +402 -0
- package/dist/server/schemas/observability.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/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +608 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +481 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +91 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +466 -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 +52 -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/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 +5 -2
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/token-GVZ7HRD7.js +62 -0
- package/dist/token-GVZ7HRD7.js.map +1 -0
- package/dist/token-JGA3ZWAN.js +61 -0
- package/dist/token-JGA3ZWAN.js.map +1 -0
- package/dist/token-VFONFWVS.cjs +64 -0
- package/dist/token-VFONFWVS.cjs.map +1 -0
- package/dist/token-ZOD6YIQ3.cjs +63 -0
- package/dist/token-ZOD6YIQ3.cjs.map +1 -0
- package/dist/token-util-7R2ZFIXO.js +7 -0
- package/dist/token-util-7R2ZFIXO.js.map +1 -0
- package/dist/token-util-BLJZJDBZ.cjs +9 -0
- package/dist/token-util-BLJZJDBZ.cjs.map +1 -0
- package/dist/token-util-VGZUWSNR.cjs +9 -0
- package/dist/token-util-VGZUWSNR.cjs.map +1 -0
- package/dist/token-util-VKTPZLSE.js +7 -0
- package/dist/token-util-VKTPZLSE.js.map +1 -0
- package/package.json +39 -19
- package/dist/chunk-3THIIWWW.cjs.map +0 -1
- package/dist/chunk-4QCXUEAT.js +0 -25
- package/dist/chunk-4QCXUEAT.js.map +0 -1
- package/dist/chunk-4RRMWXQ2.js +0 -3522
- package/dist/chunk-4RRMWXQ2.js.map +0 -1
- package/dist/chunk-5DP5XZH6.cjs.map +0 -1
- package/dist/chunk-5QUKZCEF.js.map +0 -1
- package/dist/chunk-5VTTUNVK.cjs +0 -540
- package/dist/chunk-5VTTUNVK.cjs.map +0 -1
- package/dist/chunk-66YYHFGF.js.map +0 -1
- package/dist/chunk-6LUKYSWE.cjs +0 -610
- package/dist/chunk-6LUKYSWE.cjs.map +0 -1
- package/dist/chunk-743UIDHI.cjs +0 -2013
- package/dist/chunk-743UIDHI.cjs.map +0 -1
- package/dist/chunk-7QEJ5QG5.js +0 -151
- package/dist/chunk-7QEJ5QG5.js.map +0 -1
- package/dist/chunk-A3AL7EWJ.js +0 -83
- package/dist/chunk-A3AL7EWJ.js.map +0 -1
- package/dist/chunk-AK2FXLLB.cjs +0 -849
- package/dist/chunk-AK2FXLLB.cjs.map +0 -1
- package/dist/chunk-B2V3PUB7.js +0 -591
- package/dist/chunk-B2V3PUB7.js.map +0 -1
- package/dist/chunk-EMNGA4R4.js +0 -845
- package/dist/chunk-EMNGA4R4.js.map +0 -1
- package/dist/chunk-FALVL2VV.cjs +0 -3525
- package/dist/chunk-FALVL2VV.cjs.map +0 -1
- package/dist/chunk-FQNT7PI4.js.map +0 -1
- package/dist/chunk-G4PUALCE.cjs +0 -28
- package/dist/chunk-G4PUALCE.cjs.map +0 -1
- package/dist/chunk-GUI3CROV.cjs +0 -159
- package/dist/chunk-GUI3CROV.cjs.map +0 -1
- package/dist/chunk-HJQKWRKQ.cjs.map +0 -1
- package/dist/chunk-HVBBFCDH.cjs +0 -2321
- package/dist/chunk-HVBBFCDH.cjs.map +0 -1
- package/dist/chunk-HZJRQ5L3.cjs +0 -1411
- package/dist/chunk-HZJRQ5L3.cjs.map +0 -1
- package/dist/chunk-IGFMAZZ5.cjs.map +0 -1
- package/dist/chunk-IOQGI4ML.js +0 -931
- package/dist/chunk-IOQGI4ML.js.map +0 -1
- package/dist/chunk-IQ4NTMIJ.cjs +0 -15753
- package/dist/chunk-IQ4NTMIJ.cjs.map +0 -1
- package/dist/chunk-IY34NOLA.cjs +0 -150
- package/dist/chunk-IY34NOLA.cjs.map +0 -1
- package/dist/chunk-J7BPKKOG.cjs +0 -163
- package/dist/chunk-J7BPKKOG.cjs.map +0 -1
- package/dist/chunk-JRDEOHAJ.js +0 -122
- package/dist/chunk-JRDEOHAJ.js.map +0 -1
- package/dist/chunk-KNGXRN26.cjs +0 -335
- package/dist/chunk-KNGXRN26.cjs.map +0 -1
- package/dist/chunk-KV6VHX4V.js +0 -160
- package/dist/chunk-KV6VHX4V.js.map +0 -1
- package/dist/chunk-L265APUD.cjs +0 -69
- package/dist/chunk-L265APUD.cjs.map +0 -1
- package/dist/chunk-LYPU75T6.js.map +0 -1
- package/dist/chunk-MMROOK5J.js.map +0 -1
- package/dist/chunk-N7F33WAD.js +0 -2290
- package/dist/chunk-N7F33WAD.js.map +0 -1
- package/dist/chunk-NLWACBE7.cjs +0 -128
- package/dist/chunk-NLWACBE7.cjs.map +0 -1
- package/dist/chunk-OGW6HHVI.js +0 -1408
- package/dist/chunk-OGW6HHVI.js.map +0 -1
- package/dist/chunk-OZLRIVC4.cjs +0 -588
- package/dist/chunk-OZLRIVC4.cjs.map +0 -1
- package/dist/chunk-P7CIEIJ3.js.map +0 -1
- package/dist/chunk-P7RBMCBE.cjs +0 -934
- package/dist/chunk-P7RBMCBE.cjs.map +0 -1
- package/dist/chunk-PWTXZZTR.cjs +0 -165
- package/dist/chunk-PWTXZZTR.cjs.map +0 -1
- package/dist/chunk-R7NOGUZG.js +0 -65
- package/dist/chunk-R7NOGUZG.js.map +0 -1
- package/dist/chunk-RCHEPTZZ.js +0 -2006
- package/dist/chunk-RCHEPTZZ.js.map +0 -1
- package/dist/chunk-SPLSYTYW.cjs +0 -88
- package/dist/chunk-SPLSYTYW.cjs.map +0 -1
- package/dist/chunk-SQY4T6EJ.js +0 -571
- package/dist/chunk-SQY4T6EJ.js.map +0 -1
- package/dist/chunk-SYRRSBGL.js +0 -156
- package/dist/chunk-SYRRSBGL.js.map +0 -1
- package/dist/chunk-T3TIA3O6.cjs +0 -131
- package/dist/chunk-T3TIA3O6.cjs.map +0 -1
- package/dist/chunk-TTHEEIZ3.js +0 -323
- package/dist/chunk-TTHEEIZ3.js.map +0 -1
- package/dist/chunk-TVSIG4JE.cjs.map +0 -1
- package/dist/chunk-U46VIX2V.js +0 -144
- package/dist/chunk-U46VIX2V.js.map +0 -1
- package/dist/chunk-WHN4VX55.js +0 -123
- package/dist/chunk-WHN4VX55.js.map +0 -1
- package/dist/chunk-YRMJCAH4.js +0 -15717
- package/dist/chunk-YRMJCAH4.js.map +0 -1
- package/dist/chunk-ZSAOHEZK.js +0 -524
- package/dist/chunk-ZSAOHEZK.js.map +0 -1
- package/dist/dist-26HWEQY6.js +0 -3
- package/dist/dist-3A5DXB37.cjs +0 -20
- package/dist/dist-3SJKQJGY.cjs +0 -16
- package/dist/dist-3SJKQJGY.cjs.map +0 -1
- package/dist/dist-4ZQSPE5K.js +0 -3
- package/dist/dist-4ZQSPE5K.js.map +0 -1
- package/dist/dist-5W5QNRTD.js +0 -3
- package/dist/dist-5W5QNRTD.js.map +0 -1
- package/dist/dist-653SRMPL.js +0 -3
- package/dist/dist-653SRMPL.js.map +0 -1
- package/dist/dist-6U6EFC5C.cjs +0 -16
- package/dist/dist-6U6EFC5C.cjs.map +0 -1
- package/dist/dist-7IHNNYMF.cjs +0 -16
- package/dist/dist-7IHNNYMF.cjs.map +0 -1
- package/dist/dist-B5IPRF6W.js +0 -3
- package/dist/dist-B5IPRF6W.js.map +0 -1
- package/dist/dist-EOMYFT4Y.cjs +0 -16
- package/dist/dist-EOMYFT4Y.cjs.map +0 -1
- package/dist/dist-EZZMMMNT.cjs +0 -16
- package/dist/dist-EZZMMMNT.cjs.map +0 -1
- package/dist/dist-F2ET4MNO.cjs +0 -16
- package/dist/dist-F2ET4MNO.cjs.map +0 -1
- package/dist/dist-H64VX6DE.js +0 -3
- package/dist/dist-H64VX6DE.js.map +0 -1
- package/dist/dist-HY7RMLJQ.cjs +0 -16
- package/dist/dist-HY7RMLJQ.cjs.map +0 -1
- package/dist/dist-M6S4P3FJ.js +0 -3
- package/dist/dist-M6S4P3FJ.js.map +0 -1
- package/dist/dist-NR7QSCQT.js +0 -3
- package/dist/dist-NR7QSCQT.js.map +0 -1
- package/dist/dist-QLFMCMCX.js +0 -3
- package/dist/dist-QLFMCMCX.js.map +0 -1
- package/dist/dist-UY46BFRP.js +0 -3
- package/dist/dist-UY46BFRP.js.map +0 -1
- package/dist/dist-WCQDRTIV.cjs +0 -16
- package/dist/dist-WCQDRTIV.cjs.map +0 -1
- package/dist/dist-WKYB3LTJ.cjs +0 -16
- package/dist/dist-WKYB3LTJ.cjs.map +0 -1
- package/dist/server/handlers/legacyWorkflows.cjs +0 -48
- package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
- package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
- package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
- package/dist/server/handlers/legacyWorkflows.js +0 -3
- package/dist/server/handlers/legacyWorkflows.js.map +0 -1
- package/dist/server/handlers/network.cjs +0 -24
- package/dist/server/handlers/network.cjs.map +0 -1
- package/dist/server/handlers/network.d.ts +0 -50
- package/dist/server/handlers/network.d.ts.map +0 -1
- package/dist/server/handlers/network.js +0 -3
- package/dist/server/handlers/network.js.map +0 -1
- package/dist/server/handlers/telemetry.cjs +0 -20
- package/dist/server/handlers/telemetry.cjs.map +0 -1
- package/dist/server/handlers/telemetry.d.ts +0 -33
- package/dist/server/handlers/telemetry.d.ts.map +0 -1
- package/dist/server/handlers/telemetry.js +0 -3
- package/dist/server/handlers/telemetry.js.map +0 -1
- package/dist/server/handlers/vNextNetwork.cjs +0 -220
- package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
- package/dist/server/handlers/vNextNetwork.d.ts +0 -179
- package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
- package/dist/server/handlers/vNextNetwork.js +0 -213
- package/dist/server/handlers/vNextNetwork.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
4
4
|
|
|
5
5
|
// src/server/handlers/error.ts
|
|
6
6
|
function handleError(error, defaultMessage) {
|
|
7
7
|
const apiError = error;
|
|
8
8
|
const apiErrorStatus = apiError.status || apiError.details?.status || 500;
|
|
9
|
-
throw new
|
|
9
|
+
throw new chunk64ITUOXI_cjs.HTTPException(apiErrorStatus, {
|
|
10
10
|
message: apiError.message || defaultMessage,
|
|
11
11
|
stack: apiError.stack,
|
|
12
12
|
cause: apiError.cause
|
|
@@ -14,5 +14,5 @@ function handleError(error, defaultMessage) {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
exports.handleError = handleError;
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-V5WWQN7P.cjs.map
|
|
18
|
+
//# sourceMappingURL=chunk-V5WWQN7P.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/error.ts"],"names":["HTTPException"],"mappings":";;;;;AAKO,SAAS,WAAA,CAAY,OAAgB,cAAA,EAA+B;AACzE,EAAA,MAAM,QAAA,GAAW,KAAA;AAEjB,EAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,SAAS,MAAA,IAAU,GAAA;AAEtE,EAAA,MAAM,IAAIA,gCAAc,cAAA,EAA8B;AAAA,IACpD,OAAA,EAAS,SAAS,OAAA,IAAW,cAAA;AAAA,IAC7B,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,OAAO,QAAA,CAAS;AAAA,GACjB,CAAA;AACH","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/error.ts"],"names":["HTTPException"],"mappings":";;;;;AAKO,SAAS,WAAA,CAAY,OAAgB,cAAA,EAA+B;AACzE,EAAA,MAAM,QAAA,GAAW,KAAA;AAEjB,EAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,SAAS,MAAA,IAAU,GAAA;AAEtE,EAAA,MAAM,IAAIA,gCAAc,cAAA,EAA8B;AAAA,IACpD,OAAA,EAAS,SAAS,OAAA,IAAW,cAAA;AAAA,IAC7B,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,OAAO,QAAA,CAAS;AAAA,GACjB,CAAA;AACH","file":"chunk-V5WWQN7P.cjs","sourcesContent":["import { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"]}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { listToolsResponseSchema, serializedToolSchema, toolIdPathParams, executeToolResponseSchema, executeToolContextBodySchema, agentToolPathParams, executeToolBodySchema } from './chunk-WE4USCF3.js';
|
|
2
|
+
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
3
|
+
import { validateBody } from './chunk-XWGAT2DA.js';
|
|
4
|
+
import { optionalRunIdSchema } from './chunk-HT4LP3BO.js';
|
|
5
|
+
import { createRoute } from './chunk-SXVANU23.js';
|
|
6
|
+
import { handleError } from './chunk-UXGQZUYZ.js';
|
|
7
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
8
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
9
|
+
import { isVercelTool } from '@mastra/core/tools';
|
|
10
|
+
import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
|
|
11
|
+
|
|
12
|
+
// src/server/handlers/tools.ts
|
|
13
|
+
var tools_exports = {};
|
|
14
|
+
__export(tools_exports, {
|
|
15
|
+
EXECUTE_AGENT_TOOL_ROUTE: () => EXECUTE_AGENT_TOOL_ROUTE,
|
|
16
|
+
EXECUTE_TOOL_ROUTE: () => EXECUTE_TOOL_ROUTE,
|
|
17
|
+
GET_AGENT_TOOL_ROUTE: () => GET_AGENT_TOOL_ROUTE,
|
|
18
|
+
GET_TOOL_BY_ID_ROUTE: () => GET_TOOL_BY_ID_ROUTE,
|
|
19
|
+
LIST_TOOLS_ROUTE: () => LIST_TOOLS_ROUTE
|
|
20
|
+
});
|
|
21
|
+
var LIST_TOOLS_ROUTE = createRoute({
|
|
22
|
+
method: "GET",
|
|
23
|
+
path: "/api/tools",
|
|
24
|
+
responseType: "json",
|
|
25
|
+
responseSchema: listToolsResponseSchema,
|
|
26
|
+
summary: "List all tools",
|
|
27
|
+
description: "Returns a list of all available tools in the system",
|
|
28
|
+
tags: ["Tools"],
|
|
29
|
+
handler: async ({ mastra, tools }) => {
|
|
30
|
+
try {
|
|
31
|
+
const allTools = tools || mastra.listTools() || {};
|
|
32
|
+
const serializedTools = Object.entries(allTools).reduce(
|
|
33
|
+
(acc, [id, _tool]) => {
|
|
34
|
+
const tool = _tool;
|
|
35
|
+
acc[id] = {
|
|
36
|
+
...tool,
|
|
37
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
38
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
39
|
+
};
|
|
40
|
+
return acc;
|
|
41
|
+
},
|
|
42
|
+
{}
|
|
43
|
+
);
|
|
44
|
+
return serializedTools;
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return handleError(error, "Error getting tools");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var GET_TOOL_BY_ID_ROUTE = createRoute({
|
|
51
|
+
method: "GET",
|
|
52
|
+
path: "/api/tools/:toolId",
|
|
53
|
+
responseType: "json",
|
|
54
|
+
pathParamSchema: toolIdPathParams,
|
|
55
|
+
responseSchema: serializedToolSchema,
|
|
56
|
+
summary: "Get tool by ID",
|
|
57
|
+
description: "Returns details for a specific tool including its schema and configuration",
|
|
58
|
+
tags: ["Tools"],
|
|
59
|
+
handler: async ({ mastra, tools, toolId }) => {
|
|
60
|
+
try {
|
|
61
|
+
let tool;
|
|
62
|
+
if (tools && Object.keys(tools).length > 0) {
|
|
63
|
+
tool = Object.values(tools).find((t) => t.id === toolId);
|
|
64
|
+
} else {
|
|
65
|
+
tool = mastra.getToolById(toolId);
|
|
66
|
+
}
|
|
67
|
+
if (!tool) {
|
|
68
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
69
|
+
}
|
|
70
|
+
const serializedTool = {
|
|
71
|
+
...tool,
|
|
72
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
73
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
74
|
+
};
|
|
75
|
+
return serializedTool;
|
|
76
|
+
} catch (error) {
|
|
77
|
+
return handleError(error, "Error getting tool");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
var EXECUTE_TOOL_ROUTE = createRoute({
|
|
82
|
+
method: "POST",
|
|
83
|
+
path: "/api/tools/:toolId/execute",
|
|
84
|
+
responseType: "json",
|
|
85
|
+
pathParamSchema: toolIdPathParams,
|
|
86
|
+
queryParamSchema: optionalRunIdSchema,
|
|
87
|
+
bodySchema: executeToolContextBodySchema,
|
|
88
|
+
responseSchema: executeToolResponseSchema,
|
|
89
|
+
summary: "Execute tool",
|
|
90
|
+
description: "Executes a specific tool with the provided input data",
|
|
91
|
+
tags: ["Tools"],
|
|
92
|
+
handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {
|
|
93
|
+
try {
|
|
94
|
+
if (!toolId) {
|
|
95
|
+
throw new HTTPException(400, { message: "Tool ID is required" });
|
|
96
|
+
}
|
|
97
|
+
let tool;
|
|
98
|
+
if (tools && Object.keys(tools).length > 0) {
|
|
99
|
+
tool = Object.values(tools).find((t) => t.id === toolId);
|
|
100
|
+
} else {
|
|
101
|
+
tool = mastra.getToolById(toolId);
|
|
102
|
+
}
|
|
103
|
+
if (!tool) {
|
|
104
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
105
|
+
}
|
|
106
|
+
if (!tool?.execute) {
|
|
107
|
+
throw new HTTPException(400, { message: "Tool is not executable" });
|
|
108
|
+
}
|
|
109
|
+
const { data } = bodyParams;
|
|
110
|
+
validateBody({ data });
|
|
111
|
+
if (isVercelTool(tool)) {
|
|
112
|
+
const result2 = await tool.execute(data);
|
|
113
|
+
return result2;
|
|
114
|
+
}
|
|
115
|
+
const result = await tool.execute(data, {
|
|
116
|
+
mastra,
|
|
117
|
+
requestContext,
|
|
118
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
119
|
+
tracingContext: { currentSpan: void 0 },
|
|
120
|
+
...runId ? {
|
|
121
|
+
workflow: {
|
|
122
|
+
runId,
|
|
123
|
+
suspend: async () => {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} : {}
|
|
127
|
+
});
|
|
128
|
+
return result;
|
|
129
|
+
} catch (error) {
|
|
130
|
+
return handleError(error, "Error executing tool");
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
var GET_AGENT_TOOL_ROUTE = createRoute({
|
|
135
|
+
method: "GET",
|
|
136
|
+
path: "/api/agents/:agentId/tools/:toolId",
|
|
137
|
+
responseType: "json",
|
|
138
|
+
pathParamSchema: agentToolPathParams,
|
|
139
|
+
responseSchema: serializedToolSchema,
|
|
140
|
+
summary: "Get agent tool",
|
|
141
|
+
description: "Returns details for a specific tool assigned to the agent",
|
|
142
|
+
tags: ["Agents", "Tools"],
|
|
143
|
+
handler: async ({ mastra, agentId, toolId, requestContext }) => {
|
|
144
|
+
try {
|
|
145
|
+
const agent = agentId ? mastra.getAgentById(agentId) : null;
|
|
146
|
+
if (!agent) {
|
|
147
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
148
|
+
}
|
|
149
|
+
const agentTools = await agent.listTools({ requestContext });
|
|
150
|
+
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
151
|
+
if (!tool) {
|
|
152
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
153
|
+
}
|
|
154
|
+
const serializedTool = {
|
|
155
|
+
...tool,
|
|
156
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
157
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
158
|
+
};
|
|
159
|
+
return serializedTool;
|
|
160
|
+
} catch (error) {
|
|
161
|
+
return handleError(error, "Error getting agent tool");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
var EXECUTE_AGENT_TOOL_ROUTE = createRoute({
|
|
166
|
+
method: "POST",
|
|
167
|
+
path: "/api/agents/:agentId/tools/:toolId/execute",
|
|
168
|
+
responseType: "json",
|
|
169
|
+
pathParamSchema: agentToolPathParams,
|
|
170
|
+
bodySchema: executeToolBodySchema,
|
|
171
|
+
responseSchema: executeToolResponseSchema,
|
|
172
|
+
summary: "Execute agent tool",
|
|
173
|
+
description: "Executes a specific tool assigned to the agent with the provided input data",
|
|
174
|
+
tags: ["Agents", "Tools"],
|
|
175
|
+
handler: async ({ mastra, agentId, toolId, data, requestContext }) => {
|
|
176
|
+
try {
|
|
177
|
+
const agent = agentId ? mastra.getAgentById(agentId) : null;
|
|
178
|
+
if (!agent) {
|
|
179
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
180
|
+
}
|
|
181
|
+
const agentTools = await agent.listTools({ requestContext });
|
|
182
|
+
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
183
|
+
if (!tool) {
|
|
184
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
185
|
+
}
|
|
186
|
+
if (!tool?.execute) {
|
|
187
|
+
throw new HTTPException(400, { message: "Tool is not executable" });
|
|
188
|
+
}
|
|
189
|
+
const result = await tool.execute(data, {
|
|
190
|
+
mastra,
|
|
191
|
+
requestContext,
|
|
192
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
193
|
+
tracingContext: { currentSpan: void 0 }
|
|
194
|
+
});
|
|
195
|
+
return result;
|
|
196
|
+
} catch (error) {
|
|
197
|
+
return handleError(error, "Error executing agent tool");
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
export { EXECUTE_AGENT_TOOL_ROUTE, EXECUTE_TOOL_ROUTE, GET_AGENT_TOOL_ROUTE, GET_TOOL_BY_ID_ROUTE, LIST_TOOLS_ROUTE, tools_exports };
|
|
203
|
+
//# sourceMappingURL=chunk-VIDXWHJQ.js.map
|
|
204
|
+
//# sourceMappingURL=chunk-VIDXWHJQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["result","tool"],"mappings":"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","file":"chunk-VIDXWHJQ.js","sourcesContent":["import { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n handler: async ({ mastra, tools }) => {\n try {\n const allTools = tools || mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n handler: async ({ mastra, tools, toolId }) => {\n try {\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-WE4USCF3.js';
|
|
2
|
+
import { validateBody } from './chunk-XWGAT2DA.js';
|
|
3
|
+
import { createRoute } from './chunk-SXVANU23.js';
|
|
4
|
+
import { handleError } from './chunk-UXGQZUYZ.js';
|
|
5
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
6
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
7
|
+
import { Readable } from 'stream';
|
|
8
|
+
import { MastraError } from '@mastra/core/error';
|
|
9
|
+
|
|
10
|
+
// src/server/handlers/voice.ts
|
|
11
|
+
var voice_exports = {};
|
|
12
|
+
__export(voice_exports, {
|
|
13
|
+
GENERATE_SPEECH_DEPRECATED_ROUTE: () => GENERATE_SPEECH_DEPRECATED_ROUTE,
|
|
14
|
+
GENERATE_SPEECH_ROUTE: () => GENERATE_SPEECH_ROUTE,
|
|
15
|
+
GET_LISTENER_ROUTE: () => GET_LISTENER_ROUTE,
|
|
16
|
+
GET_SPEAKERS_DEPRECATED_ROUTE: () => GET_SPEAKERS_DEPRECATED_ROUTE,
|
|
17
|
+
GET_SPEAKERS_ROUTE: () => GET_SPEAKERS_ROUTE,
|
|
18
|
+
TRANSCRIBE_SPEECH_DEPRECATED_ROUTE: () => TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,
|
|
19
|
+
TRANSCRIBE_SPEECH_ROUTE: () => TRANSCRIBE_SPEECH_ROUTE
|
|
20
|
+
});
|
|
21
|
+
var GET_SPEAKERS_ROUTE = createRoute({
|
|
22
|
+
method: "GET",
|
|
23
|
+
path: "/api/agents/:agentId/voice/speakers",
|
|
24
|
+
responseType: "json",
|
|
25
|
+
pathParamSchema: agentIdPathParams,
|
|
26
|
+
responseSchema: voiceSpeakersResponseSchema,
|
|
27
|
+
summary: "Get voice speakers",
|
|
28
|
+
description: "Returns available voice speakers for the specified agent",
|
|
29
|
+
tags: ["Agents", "Voice"],
|
|
30
|
+
handler: async ({ mastra, agentId, requestContext }) => {
|
|
31
|
+
try {
|
|
32
|
+
if (!agentId) {
|
|
33
|
+
throw new HTTPException(400, { message: "Agent ID is required" });
|
|
34
|
+
}
|
|
35
|
+
const agent = mastra.getAgentById(agentId);
|
|
36
|
+
if (!agent) {
|
|
37
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
38
|
+
}
|
|
39
|
+
const voice = await agent.getVoice({ requestContext });
|
|
40
|
+
const speakers = await Promise.resolve().then(() => voice.getSpeakers()).catch((err) => {
|
|
41
|
+
if (err instanceof MastraError) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
throw err;
|
|
45
|
+
});
|
|
46
|
+
return speakers;
|
|
47
|
+
} catch (error) {
|
|
48
|
+
return handleError(error, "Error getting speakers");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
var GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({
|
|
53
|
+
method: "GET",
|
|
54
|
+
path: "/api/agents/:agentId/speakers",
|
|
55
|
+
responseType: "json",
|
|
56
|
+
pathParamSchema: agentIdPathParams,
|
|
57
|
+
responseSchema: voiceSpeakersResponseSchema,
|
|
58
|
+
summary: "Get available speakers for an agent",
|
|
59
|
+
description: "[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent",
|
|
60
|
+
tags: ["Agents", "Voice"],
|
|
61
|
+
handler: GET_SPEAKERS_ROUTE.handler
|
|
62
|
+
});
|
|
63
|
+
var GENERATE_SPEECH_ROUTE = createRoute({
|
|
64
|
+
method: "POST",
|
|
65
|
+
path: "/api/agents/:agentId/voice/speak",
|
|
66
|
+
responseType: "stream",
|
|
67
|
+
pathParamSchema: agentIdPathParams,
|
|
68
|
+
bodySchema: generateSpeechBodySchema,
|
|
69
|
+
responseSchema: speakResponseSchema,
|
|
70
|
+
summary: "Generate speech",
|
|
71
|
+
description: "Generates speech audio from text using the agent voice configuration",
|
|
72
|
+
tags: ["Agents", "Voice"],
|
|
73
|
+
handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {
|
|
74
|
+
try {
|
|
75
|
+
if (!agentId) {
|
|
76
|
+
throw new HTTPException(400, { message: "Agent ID is required" });
|
|
77
|
+
}
|
|
78
|
+
validateBody({ text });
|
|
79
|
+
const agent = mastra.getAgentById(agentId);
|
|
80
|
+
if (!agent) {
|
|
81
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
82
|
+
}
|
|
83
|
+
const voice = await agent.getVoice({ requestContext });
|
|
84
|
+
if (!voice) {
|
|
85
|
+
throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
86
|
+
}
|
|
87
|
+
const audioStream = await Promise.resolve().then(() => voice.speak(text, { speaker: speakerId })).catch((err) => {
|
|
88
|
+
if (err instanceof MastraError) {
|
|
89
|
+
throw new HTTPException(400, { message: err.message });
|
|
90
|
+
}
|
|
91
|
+
throw err;
|
|
92
|
+
});
|
|
93
|
+
if (!audioStream) {
|
|
94
|
+
throw new HTTPException(500, { message: "Failed to generate speech" });
|
|
95
|
+
}
|
|
96
|
+
return audioStream;
|
|
97
|
+
} catch (error) {
|
|
98
|
+
return handleError(error, "Error generating speech");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
var GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({
|
|
103
|
+
method: "POST",
|
|
104
|
+
path: "/api/agents/:agentId/speak",
|
|
105
|
+
responseType: "stream",
|
|
106
|
+
pathParamSchema: agentIdPathParams,
|
|
107
|
+
bodySchema: generateSpeechBodySchema,
|
|
108
|
+
responseSchema: speakResponseSchema,
|
|
109
|
+
summary: "Convert text to speech",
|
|
110
|
+
description: "[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider",
|
|
111
|
+
tags: ["Agents", "Voice"],
|
|
112
|
+
handler: GENERATE_SPEECH_ROUTE.handler
|
|
113
|
+
});
|
|
114
|
+
var TRANSCRIBE_SPEECH_ROUTE = createRoute({
|
|
115
|
+
method: "POST",
|
|
116
|
+
path: "/api/agents/:agentId/voice/listen",
|
|
117
|
+
responseType: "json",
|
|
118
|
+
pathParamSchema: agentIdPathParams,
|
|
119
|
+
bodySchema: transcribeSpeechBodySchema,
|
|
120
|
+
responseSchema: transcribeSpeechResponseSchema,
|
|
121
|
+
summary: "Transcribe speech",
|
|
122
|
+
description: "Transcribes speech audio to text using the agent voice configuration",
|
|
123
|
+
tags: ["Agents", "Voice"],
|
|
124
|
+
handler: async ({ mastra, agentId, audioData, options, requestContext }) => {
|
|
125
|
+
try {
|
|
126
|
+
if (!agentId) {
|
|
127
|
+
throw new HTTPException(400, { message: "Agent ID is required" });
|
|
128
|
+
}
|
|
129
|
+
if (!audioData) {
|
|
130
|
+
throw new HTTPException(400, { message: "Audio data is required" });
|
|
131
|
+
}
|
|
132
|
+
const agent = mastra.getAgentById(agentId);
|
|
133
|
+
if (!agent) {
|
|
134
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
135
|
+
}
|
|
136
|
+
const voice = await agent.getVoice({ requestContext });
|
|
137
|
+
if (!voice) {
|
|
138
|
+
throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
|
|
139
|
+
}
|
|
140
|
+
const audioStream = new Readable();
|
|
141
|
+
audioStream.push(audioData);
|
|
142
|
+
audioStream.push(null);
|
|
143
|
+
const text = await voice.listen(audioStream, options);
|
|
144
|
+
return { text };
|
|
145
|
+
} catch (error) {
|
|
146
|
+
return handleError(error, "Error transcribing speech");
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({
|
|
151
|
+
method: "POST",
|
|
152
|
+
path: "/api/agents/:agentId/listen",
|
|
153
|
+
responseType: "json",
|
|
154
|
+
pathParamSchema: agentIdPathParams,
|
|
155
|
+
bodySchema: transcribeSpeechBodySchema,
|
|
156
|
+
responseSchema: transcribeSpeechResponseSchema,
|
|
157
|
+
summary: "Convert speech to text",
|
|
158
|
+
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.",
|
|
159
|
+
tags: ["Agents", "Voice"],
|
|
160
|
+
handler: TRANSCRIBE_SPEECH_ROUTE.handler
|
|
161
|
+
});
|
|
162
|
+
var GET_LISTENER_ROUTE = createRoute({
|
|
163
|
+
method: "GET",
|
|
164
|
+
path: "/api/agents/:agentId/voice/listener",
|
|
165
|
+
responseType: "json",
|
|
166
|
+
pathParamSchema: agentIdPathParams,
|
|
167
|
+
responseSchema: getListenerResponseSchema,
|
|
168
|
+
summary: "Get voice listener",
|
|
169
|
+
description: "Returns the voice listener configuration for the agent",
|
|
170
|
+
tags: ["Agents", "Voice"],
|
|
171
|
+
handler: async ({ mastra, agentId, requestContext }) => {
|
|
172
|
+
try {
|
|
173
|
+
if (!agentId) {
|
|
174
|
+
throw new HTTPException(400, { message: "Agent ID is required" });
|
|
175
|
+
}
|
|
176
|
+
const agent = mastra.getAgentById(agentId);
|
|
177
|
+
if (!agent) {
|
|
178
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
179
|
+
}
|
|
180
|
+
const voice = await agent.getVoice({ requestContext });
|
|
181
|
+
const listeners = await Promise.resolve().then(() => voice.getListener()).catch((err) => {
|
|
182
|
+
if (err instanceof MastraError) {
|
|
183
|
+
return { enabled: false };
|
|
184
|
+
}
|
|
185
|
+
throw err;
|
|
186
|
+
});
|
|
187
|
+
return listeners;
|
|
188
|
+
} catch (error) {
|
|
189
|
+
return handleError(error, "Error getting listeners");
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
export { GENERATE_SPEECH_DEPRECATED_ROUTE, GENERATE_SPEECH_ROUTE, GET_LISTENER_ROUTE, GET_SPEAKERS_DEPRECATED_ROUTE, GET_SPEAKERS_ROUTE, TRANSCRIBE_SPEECH_DEPRECATED_ROUTE, TRANSCRIBE_SPEECH_ROUTE, voice_exports };
|
|
195
|
+
//# sourceMappingURL=chunk-W36USBM5.js.map
|
|
196
|
+
//# sourceMappingURL=chunk-W36USBM5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-W36USBM5.js","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, audioData, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audioData) {\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(audioData);\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"]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
2
|
+
import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
|
|
3
|
+
|
|
4
|
+
function getSteps(steps, path) {
|
|
5
|
+
return Object.entries(steps).reduce((acc, [key, step]) => {
|
|
6
|
+
const fullKey = path ? `${path}.${key}` : key;
|
|
7
|
+
acc[fullKey] = {
|
|
8
|
+
id: step.id,
|
|
9
|
+
description: step.description,
|
|
10
|
+
inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
|
|
11
|
+
outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
|
|
12
|
+
resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
|
|
13
|
+
suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0,
|
|
14
|
+
isWorkflow: step.component === "WORKFLOW",
|
|
15
|
+
component: step.component
|
|
16
|
+
};
|
|
17
|
+
if (step.component === "WORKFLOW" && step.steps) {
|
|
18
|
+
const nestedSteps = getSteps(step.steps, fullKey) || {};
|
|
19
|
+
acc = { ...acc, ...nestedSteps };
|
|
20
|
+
}
|
|
21
|
+
return acc;
|
|
22
|
+
}, {});
|
|
23
|
+
}
|
|
24
|
+
function getWorkflowInfo(workflow, partial = false) {
|
|
25
|
+
if (partial) {
|
|
26
|
+
return {
|
|
27
|
+
name: workflow.name,
|
|
28
|
+
description: workflow.description,
|
|
29
|
+
stepCount: Object.keys(workflow.steps).length,
|
|
30
|
+
stepGraph: workflow.serializedStepGraph,
|
|
31
|
+
options: workflow.options,
|
|
32
|
+
steps: {},
|
|
33
|
+
allSteps: {},
|
|
34
|
+
inputSchema: void 0,
|
|
35
|
+
outputSchema: void 0
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
name: workflow.name,
|
|
40
|
+
description: workflow.description,
|
|
41
|
+
steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
|
|
42
|
+
acc[key] = {
|
|
43
|
+
id: step.id,
|
|
44
|
+
description: step.description,
|
|
45
|
+
inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
|
|
46
|
+
outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
|
|
47
|
+
resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
|
|
48
|
+
suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0,
|
|
49
|
+
component: step.component
|
|
50
|
+
};
|
|
51
|
+
return acc;
|
|
52
|
+
}, {}),
|
|
53
|
+
allSteps: getSteps(workflow.steps) || {},
|
|
54
|
+
stepGraph: workflow.serializedStepGraph,
|
|
55
|
+
inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : void 0,
|
|
56
|
+
outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : void 0,
|
|
57
|
+
options: workflow.options,
|
|
58
|
+
isProcessorWorkflow: workflow.type === "processor"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
var WorkflowRegistry = class {
|
|
62
|
+
static additionalWorkflows = {};
|
|
63
|
+
/**
|
|
64
|
+
* Register a workflow temporarily
|
|
65
|
+
*/
|
|
66
|
+
static registerTemporaryWorkflow(id, workflow) {
|
|
67
|
+
this.additionalWorkflows[id] = workflow;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Register all workflows from map
|
|
71
|
+
*/
|
|
72
|
+
static registerTemporaryWorkflows(workflows, mastra) {
|
|
73
|
+
for (const [id, workflow] of Object.entries(workflows)) {
|
|
74
|
+
if (mastra) {
|
|
75
|
+
workflow.__registerMastra(mastra);
|
|
76
|
+
workflow.__registerPrimitives({
|
|
77
|
+
logger: mastra.getLogger(),
|
|
78
|
+
storage: mastra.getStorage(),
|
|
79
|
+
agents: mastra.listAgents(),
|
|
80
|
+
tts: mastra.getTTS(),
|
|
81
|
+
vectors: mastra.listVectors()
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
this.additionalWorkflows[id] = workflow;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get a workflow by ID from the registry (returns undefined if not found)
|
|
89
|
+
*/
|
|
90
|
+
static getWorkflow(workflowId) {
|
|
91
|
+
return this.additionalWorkflows[workflowId];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get all workflows from the registry
|
|
95
|
+
*/
|
|
96
|
+
static getAllWorkflows() {
|
|
97
|
+
return { ...this.additionalWorkflows };
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Clean up a temporary workflow
|
|
101
|
+
*/
|
|
102
|
+
static cleanupTemporaryWorkflow(workflowId) {
|
|
103
|
+
delete this.additionalWorkflows[workflowId];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Clean up all registered workflows
|
|
107
|
+
*/
|
|
108
|
+
static cleanup() {
|
|
109
|
+
this.additionalWorkflows = {};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if a workflow ID is a valid agent-builder workflow
|
|
113
|
+
*/
|
|
114
|
+
static isAgentBuilderWorkflow(workflowId) {
|
|
115
|
+
return workflowId in this.additionalWorkflows;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get all registered temporary workflow IDs (for debugging)
|
|
119
|
+
*/
|
|
120
|
+
static getRegisteredWorkflowIds() {
|
|
121
|
+
return Object.keys(this.additionalWorkflows);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
function convertInstructionsToString(message) {
|
|
125
|
+
if (!message) {
|
|
126
|
+
return "";
|
|
127
|
+
}
|
|
128
|
+
if (typeof message === "string") {
|
|
129
|
+
return message;
|
|
130
|
+
}
|
|
131
|
+
if (Array.isArray(message)) {
|
|
132
|
+
return message.map((m) => {
|
|
133
|
+
if (typeof m === "string") {
|
|
134
|
+
return m;
|
|
135
|
+
}
|
|
136
|
+
return typeof m.content === "string" ? m.content : "";
|
|
137
|
+
}).filter((content) => content).join("\n");
|
|
138
|
+
}
|
|
139
|
+
return typeof message.content === "string" ? message.content : "";
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { WorkflowRegistry, convertInstructionsToString, getWorkflowInfo };
|
|
143
|
+
//# sourceMappingURL=chunk-WBLT2HL3.js.map
|
|
144
|
+
//# sourceMappingURL=chunk-WBLT2HL3.js.map
|