@mastra/server 0.0.0-bundle-studio-cloud-20251222034739 → 0.0.0-bundle-version-20260121132824
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 +1059 -4
- package/dist/{chunk-UWRAKVAJ.js → chunk-2CLS2PYJ.js} +151 -24
- package/dist/chunk-2CLS2PYJ.js.map +1 -0
- package/dist/{chunk-MQLS6Z7A.js → chunk-2CYGIE3E.js} +257 -73
- package/dist/chunk-2CYGIE3E.js.map +1 -0
- package/dist/{chunk-3XI22UQR.cjs → chunk-33CKPQS4.cjs} +31 -4
- package/dist/chunk-33CKPQS4.cjs.map +1 -0
- package/dist/{chunk-3SFLFUKY.js → chunk-3FEYUHHJ.js} +4 -4
- package/dist/{chunk-3SFLFUKY.js.map → chunk-3FEYUHHJ.js.map} +1 -1
- package/dist/{chunk-DW3WE4M4.js → chunk-3REGEJEN.js} +4 -4
- package/dist/{chunk-DW3WE4M4.js.map → chunk-3REGEJEN.js.map} +1 -1
- package/dist/chunk-3W67K7YE.js +13 -0
- package/dist/chunk-3W67K7YE.js.map +1 -0
- package/dist/chunk-4DJ7EJRB.cjs +186 -0
- package/dist/chunk-4DJ7EJRB.cjs.map +1 -0
- package/dist/{chunk-Q7NPRJRV.cjs → chunk-4EYONQIW.cjs} +9 -15
- package/dist/chunk-4EYONQIW.cjs.map +1 -0
- package/dist/{chunk-3BXS37TQ.js → chunk-4R2Z655M.js} +77 -107
- package/dist/chunk-4R2Z655M.js.map +1 -0
- package/dist/{chunk-AZIH2QEC.js → chunk-5NFRDYFN.js} +9 -15
- package/dist/chunk-5NFRDYFN.js.map +1 -0
- package/dist/chunk-5VDI75UV.js +44 -0
- package/dist/chunk-5VDI75UV.js.map +1 -0
- package/dist/{chunk-BNGT3NIC.cjs → chunk-6MP2S6VI.cjs} +26 -26
- package/dist/{chunk-BNGT3NIC.cjs.map → chunk-6MP2S6VI.cjs.map} +1 -1
- package/dist/{chunk-SXVANU23.js → chunk-7S7ALPCY.js} +66 -5
- package/dist/chunk-7S7ALPCY.js.map +1 -0
- package/dist/chunk-7XPMKW4Y.cjs +447 -0
- package/dist/chunk-7XPMKW4Y.cjs.map +1 -0
- package/dist/{chunk-K73YS7YB.cjs → chunk-AQI6GLTN.cjs} +74 -74
- package/dist/{chunk-K73YS7YB.cjs.map → chunk-AQI6GLTN.cjs.map} +1 -1
- package/dist/{chunk-S3TIWWQL.cjs → chunk-AV3CN5ZR.cjs} +22 -18
- package/dist/chunk-AV3CN5ZR.cjs.map +1 -0
- package/dist/{chunk-H2RMXG2Q.cjs → chunk-AVRO3FIN.cjs} +68 -4
- package/dist/chunk-AVRO3FIN.cjs.map +1 -0
- package/dist/{chunk-BMYZ4DO6.cjs → chunk-BRI4GUZ2.cjs} +19 -8
- package/dist/chunk-BRI4GUZ2.cjs.map +1 -0
- package/dist/{chunk-HAJOEDNB.js → chunk-CGIGPJRU.js} +32 -27
- package/dist/chunk-CGIGPJRU.js.map +1 -0
- package/dist/{chunk-JUYWLFVT.cjs → chunk-CLAEGIP5.cjs} +10 -16
- package/dist/chunk-CLAEGIP5.cjs.map +1 -0
- package/dist/chunk-FLLJIPD4.cjs +46 -0
- package/dist/chunk-FLLJIPD4.cjs.map +1 -0
- package/dist/chunk-G2AMUTU4.js +250 -0
- package/dist/chunk-G2AMUTU4.js.map +1 -0
- package/dist/{chunk-3OAAPDGI.js → chunk-GHQZIEPS.js} +6700 -1111
- package/dist/chunk-GHQZIEPS.js.map +1 -0
- package/dist/{chunk-WBLT2HL3.js → chunk-GNCALVLC.js} +31 -4
- package/dist/chunk-GNCALVLC.js.map +1 -0
- package/dist/{chunk-6V57U52D.js → chunk-H34VRYSF.js} +8 -8
- package/dist/{chunk-6V57U52D.js.map → chunk-H34VRYSF.js.map} +1 -1
- package/dist/{chunk-E646Y4FQ.js → chunk-H66LLFDL.js} +3 -3
- package/dist/chunk-H66LLFDL.js.map +1 -0
- package/dist/{chunk-LXXDQQSW.cjs → chunk-HCVDHEDD.cjs} +6838 -1252
- package/dist/chunk-HCVDHEDD.cjs.map +1 -0
- package/dist/chunk-I27H7BEB.js +439 -0
- package/dist/chunk-I27H7BEB.js.map +1 -0
- package/dist/{chunk-SRQY5IWD.js → chunk-IVGQTL3T.js} +5 -5
- package/dist/{chunk-SRQY5IWD.js.map → chunk-IVGQTL3T.js.map} +1 -1
- package/dist/{chunk-FYY54HZC.js → chunk-KKY4MSZO.js} +12 -8
- package/dist/chunk-KKY4MSZO.js.map +1 -0
- package/dist/{chunk-LKTCAPBD.cjs → chunk-L2E5RUVT.cjs} +13 -13
- package/dist/{chunk-LKTCAPBD.cjs.map → chunk-L2E5RUVT.cjs.map} +1 -1
- package/dist/chunk-LJ6YRVDI.cjs +15 -0
- package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
- package/dist/{chunk-SV4AUWGY.js → chunk-LOA7RQYO.js} +3 -3
- package/dist/{chunk-SV4AUWGY.js.map → chunk-LOA7RQYO.js.map} +1 -1
- package/dist/{chunk-X43DWDXB.cjs → chunk-MPUVSOEU.cjs} +22 -22
- package/dist/{chunk-X43DWDXB.cjs.map → chunk-MPUVSOEU.cjs.map} +1 -1
- package/dist/chunk-N4EIZSG2.js +180 -0
- package/dist/chunk-N4EIZSG2.js.map +1 -0
- package/dist/{chunk-C3UIIRAT.cjs → chunk-NUO7HPOV.cjs} +292 -107
- package/dist/chunk-NUO7HPOV.cjs.map +1 -0
- package/dist/{chunk-UXGQZUYZ.js → chunk-ONN5EA7E.js} +13 -3
- package/dist/chunk-ONN5EA7E.js.map +1 -0
- package/dist/chunk-PNZQCQY4.cjs +252 -0
- package/dist/chunk-PNZQCQY4.cjs.map +1 -0
- package/dist/{chunk-I6LR6CPC.cjs → chunk-QPFYN6B5.cjs} +10 -10
- package/dist/{chunk-I6LR6CPC.cjs.map → chunk-QPFYN6B5.cjs.map} +1 -1
- package/dist/{chunk-V5WWQN7P.cjs → chunk-SUKFO7UM.cjs} +13 -2
- package/dist/chunk-SUKFO7UM.cjs.map +1 -0
- package/dist/chunk-T4SPG2GP.cjs +82 -0
- package/dist/chunk-T4SPG2GP.cjs.map +1 -0
- package/dist/{chunk-XW2HXQDO.js → chunk-TMS4LS2J.js} +3 -3
- package/dist/{chunk-XW2HXQDO.js.map → chunk-TMS4LS2J.js.map} +1 -1
- package/dist/{chunk-LQSZ4FJJ.cjs → chunk-UK4FZWNW.cjs} +37 -37
- package/dist/{chunk-LQSZ4FJJ.cjs.map → chunk-UK4FZWNW.cjs.map} +1 -1
- package/dist/{chunk-BMLUV4BH.cjs → chunk-VX3VN7FN.cjs} +3 -3
- package/dist/chunk-VX3VN7FN.cjs.map +1 -0
- package/dist/{chunk-PUFCKXFW.cjs → chunk-WJ6DNHLW.cjs} +11 -11
- package/dist/{chunk-PUFCKXFW.cjs.map → chunk-WJ6DNHLW.cjs.map} +1 -1
- package/dist/{chunk-KPSSRYGH.js → chunk-WLGJVDH4.js} +17 -9
- package/dist/chunk-WLGJVDH4.js.map +1 -0
- package/dist/{chunk-DRUNNM4C.js → chunk-XB27LCKO.js} +4 -4
- package/dist/{chunk-DRUNNM4C.js.map → chunk-XB27LCKO.js.map} +1 -1
- package/dist/{chunk-IEYXQTUW.cjs → chunk-XCEQ4GQW.cjs} +42 -37
- package/dist/chunk-XCEQ4GQW.cjs.map +1 -0
- package/dist/chunk-XOUK3IYU.js +77 -0
- package/dist/chunk-XOUK3IYU.js.map +1 -0
- package/dist/{chunk-7KOS32XA.cjs → chunk-YK63KHHB.cjs} +242 -111
- package/dist/chunk-YK63KHHB.cjs.map +1 -0
- package/dist/{chunk-S5XBFHJL.js → chunk-YN3FWKVQ.js} +6 -12
- package/dist/chunk-YN3FWKVQ.js.map +1 -0
- package/dist/{chunk-P6S2HIVE.cjs → chunk-ZQ2G6QKS.cjs} +131 -163
- package/dist/chunk-ZQ2G6QKS.cjs.map +1 -0
- package/dist/{dist-AF7EUPXA.cjs → dist-7NTDEVLP.cjs} +28 -28
- package/dist/{dist-AF7EUPXA.cjs.map → dist-7NTDEVLP.cjs.map} +1 -1
- package/dist/{dist-4CMHRWC4.js → dist-B5GMANA6.js} +3 -3
- package/dist/{dist-4CMHRWC4.js.map → dist-B5GMANA6.js.map} +1 -1
- package/dist/dist-EDO7GEGI.js +3 -0
- package/dist/{dist-MEN73GGI.js.map → dist-EDO7GEGI.js.map} +1 -1
- package/dist/{dist-Q2ST4SUQ.cjs → dist-OF24ZMHH.cjs} +30 -30
- package/dist/{dist-Q2ST4SUQ.cjs.map → dist-OF24ZMHH.cjs.map} +1 -1
- package/dist/{dist-Y5SYUVLY.cjs → dist-P6YSNLL3.cjs} +20 -20
- package/dist/{dist-Y5SYUVLY.cjs.map → dist-P6YSNLL3.cjs.map} +1 -1
- package/dist/{dist-AEJONJSS.js → dist-SMBO5KVB.js} +3 -3
- package/dist/{dist-AEJONJSS.js.map → dist-SMBO5KVB.js.map} +1 -1
- package/dist/{dist-TE7XRSWH.js → dist-THPMW5QR.js} +3 -3
- package/dist/{dist-TE7XRSWH.js.map → dist-THPMW5QR.js.map} +1 -1
- package/dist/{dist-NVXXJWBO.cjs → dist-VZTG56X2.cjs} +26 -26
- package/dist/{dist-NVXXJWBO.cjs.map → dist-VZTG56X2.cjs.map} +1 -1
- package/dist/dist-ZLC23RVC.cjs +16 -0
- package/dist/{dist-2J26LQO2.cjs.map → dist-ZLC23RVC.cjs.map} +1 -1
- package/dist/{dist-VPYZNWNG.js → dist-ZOZ6MHJH.js} +3 -3
- package/dist/{dist-VPYZNWNG.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 +380 -0
- package/dist/docs/server/02-reference.md +819 -0
- package/dist/server/handlers/a2a.cjs +9 -9
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -28
- package/dist/server/handlers/agent-builder.d.ts +77 -87
- 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 +40 -24
- package/dist/server/handlers/agents.d.ts +107 -79
- 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 +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp.cjs +9 -9
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +28 -24
- package/dist/server/handlers/memory.d.ts +206 -90
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +7 -23
- package/dist/server/handlers/observability.d.ts +92 -95
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/processors.cjs +20 -0
- package/dist/server/handlers/processors.cjs.map +1 -0
- package/dist/server/handlers/processors.d.ts +181 -0
- package/dist/server/handlers/processors.d.ts.map +1 -0
- package/dist/server/handlers/processors.js +3 -0
- package/dist/server/handlers/processors.js.map +1 -0
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.d.ts +7 -7
- 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 +6 -6
- package/dist/server/handlers/stored-agents.d.ts.map +1 -1
- package/dist/server/handlers/stored-agents.js +1 -1
- 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/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/vector.cjs +13 -13
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.d.ts +6 -6
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +24 -36
- package/dist/server/handlers/workflows.d.ts +98 -112
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +27 -27
- package/dist/server/handlers.js +12 -12
- package/dist/server/schemas/agent-builder.d.ts +13 -1
- package/dist/server/schemas/agent-builder.d.ts.map +1 -1
- package/dist/server/schemas/agents.d.ts +412 -9
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/memory.d.ts +257 -91
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/schemas/processors.d.ts +519 -0
- package/dist/server/schemas/processors.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +6 -6
- package/dist/server/schemas/system.d.ts +36 -0
- package/dist/server/schemas/system.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +233 -38
- package/dist/server/schemas/workflows.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +187 -149
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +24 -6
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +50 -25
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/redact.d.ts +2 -2
- package/dist/server/server-adapter/redact.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/index.d.ts +1 -1
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/processors.d.ts +3 -0
- package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +60 -1
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
- 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/workflows.d.ts.map +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/{token-6GSAFR2W-KVDFAJ2M-SDYXODLX.cjs → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs} +8 -8
- package/dist/{token-6GSAFR2W-KVDFAJ2M-SDYXODLX.cjs.map → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map} +1 -1
- package/dist/{token-6GSAFR2W-KVDFAJ2M-LNX5VF3I.js → token-6GSAFR2W-K2BTU23I-NW33N3NU.js} +5 -5
- package/dist/{token-6GSAFR2W-KVDFAJ2M-LNX5VF3I.js.map → token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map} +1 -1
- 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-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-DJYRKLRD-MFJRDVVF.cjs.map → token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map} +1 -1
- package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
- package/dist/{token-util-NEHG7TUY-DJYRKLRD-BSQMRUEW.js.map → token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map} +1 -1
- package/package.json +13 -12
- package/dist/chunk-3BXS37TQ.js.map +0 -1
- package/dist/chunk-3OAAPDGI.js.map +0 -1
- package/dist/chunk-3XI22UQR.cjs.map +0 -1
- package/dist/chunk-7KOS32XA.cjs.map +0 -1
- package/dist/chunk-AZIH2QEC.js.map +0 -1
- package/dist/chunk-BMLUV4BH.cjs.map +0 -1
- package/dist/chunk-BMYZ4DO6.cjs.map +0 -1
- package/dist/chunk-C3UIIRAT.cjs.map +0 -1
- package/dist/chunk-E646Y4FQ.js.map +0 -1
- package/dist/chunk-FYY54HZC.js.map +0 -1
- package/dist/chunk-GFF2I6UD.js +0 -354
- package/dist/chunk-GFF2I6UD.js.map +0 -1
- package/dist/chunk-H2RMXG2Q.cjs.map +0 -1
- package/dist/chunk-HAJOEDNB.js.map +0 -1
- package/dist/chunk-IEYXQTUW.cjs.map +0 -1
- package/dist/chunk-JUYWLFVT.cjs.map +0 -1
- package/dist/chunk-KPSSRYGH.js.map +0 -1
- package/dist/chunk-LXXDQQSW.cjs.map +0 -1
- package/dist/chunk-MQLS6Z7A.js.map +0 -1
- package/dist/chunk-P6S2HIVE.cjs.map +0 -1
- package/dist/chunk-Q7NPRJRV.cjs.map +0 -1
- package/dist/chunk-S3TIWWQL.cjs.map +0 -1
- package/dist/chunk-S5XBFHJL.js.map +0 -1
- package/dist/chunk-SXVANU23.js.map +0 -1
- package/dist/chunk-TYZ6ZISQ.cjs +0 -368
- package/dist/chunk-TYZ6ZISQ.cjs.map +0 -1
- package/dist/chunk-UWRAKVAJ.js.map +0 -1
- package/dist/chunk-UXGQZUYZ.js.map +0 -1
- package/dist/chunk-V5WWQN7P.cjs.map +0 -1
- package/dist/chunk-WBLT2HL3.js.map +0 -1
- package/dist/dist-2J26LQO2.cjs +0 -16
- package/dist/dist-MEN73GGI.js +0 -3
- package/dist/server/schemas/observability.d.ts +0 -402
- package/dist/server/schemas/observability.d.ts.map +0 -1
- package/dist/token-util-NEHG7TUY-DJYRKLRD-BSQMRUEW.js +0 -8
- package/dist/token-util-NEHG7TUY-DJYRKLRD-MFJRDVVF.cjs +0 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/server-adapter/openapi-utils.ts","../src/server/server-adapter/routes/route-builder.ts"],"names":[],"mappings":"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","file":"chunk-7S7ALPCY.js","sourcesContent":["import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { ZodSchema } from 'zod';\nimport type { ServerRoute } from './routes';\n\ninterface RouteOpenAPIConfig {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n summary?: string;\n description?: string;\n tags?: string[];\n pathParamSchema?: ZodSchema;\n queryParamSchema?: ZodSchema;\n bodySchema?: ZodSchema;\n responseSchema?: ZodSchema;\n deprecated?: boolean;\n}\n\ninterface OpenAPIRoute {\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n requestParams?: {\n path?: ZodSchema;\n query?: ZodSchema;\n };\n requestBody?: {\n content: {\n 'application/json': {\n schema: ZodSchema;\n };\n };\n };\n responses: {\n [statusCode: string]: {\n description: string;\n content?: {\n 'application/json': {\n schema: ZodSchema;\n };\n };\n };\n };\n}\n\n/**\n * Generates OpenAPI specification for a single route\n * Extracts path parameters, query parameters, request body, and response schemas\n */\nexport function generateRouteOpenAPI({\n method,\n path,\n summary,\n description,\n tags = [],\n pathParamSchema,\n queryParamSchema,\n bodySchema,\n responseSchema,\n deprecated,\n}: RouteOpenAPIConfig): OpenAPIRoute {\n const route: OpenAPIRoute = {\n summary: summary || `${method} ${path}`,\n description,\n tags,\n deprecated,\n responses: {\n 200: {\n description: 'Successful response',\n },\n },\n };\n\n // Add path and query parameters\n if (pathParamSchema || queryParamSchema) {\n route.requestParams = {};\n\n if (pathParamSchema) {\n route.requestParams.path = pathParamSchema;\n }\n\n if (queryParamSchema) {\n route.requestParams.query = queryParamSchema;\n }\n }\n\n // Add request body with raw Zod schema\n if (bodySchema) {\n route.requestBody = {\n content: {\n 'application/json': {\n schema: bodySchema,\n },\n },\n };\n }\n\n // Add response schema with raw Zod schema\n if (responseSchema) {\n route.responses[200] = {\n description: 'Successful response',\n content: {\n 'application/json': {\n schema: responseSchema,\n },\n },\n };\n }\n\n return route;\n}\n\n/**\n * Converts an OpenAPI route spec with Zod schemas to one with JSON Schema\n */\nfunction convertZodToJsonSchema(spec: OpenAPIRoute): any {\n const converted: any = {\n summary: spec.summary,\n description: spec.description,\n tags: spec.tags,\n responses: {},\n };\n\n const parameters: any[] = [];\n\n // Convert path parameters\n if (spec.requestParams?.path) {\n const pathSchema = zodToJsonSchema(spec.requestParams.path, 'openApi3', 'none') as any;\n const properties = pathSchema.properties || {};\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'path',\n required: true,\n description: (schema as any).description || `The ${name} parameter`,\n schema,\n });\n });\n }\n\n // Convert query parameters\n if (spec.requestParams?.query) {\n const querySchema = zodToJsonSchema(spec.requestParams.query, 'openApi3', 'none') as any;\n const properties = querySchema.properties || {};\n const required = querySchema.required || [];\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'query',\n required: required.includes(name),\n description: (schema as any).description || `Query parameter: ${name}`,\n schema,\n });\n });\n }\n\n if (parameters.length > 0) {\n converted.parameters = parameters;\n }\n\n // Convert request body\n if (spec.requestBody?.content?.['application/json']?.schema) {\n converted.requestBody = {\n required: true,\n content: {\n 'application/json': {\n schema: zodToJsonSchema(spec.requestBody.content['application/json'].schema, 'openApi3', 'none'),\n },\n },\n };\n }\n\n // Convert response schemas\n Object.entries(spec.responses).forEach(([statusCode, response]) => {\n converted.responses[statusCode] = {\n description: response.description,\n };\n\n if (response.content?.['application/json']?.schema) {\n converted.responses[statusCode].content = {\n 'application/json': {\n schema: zodToJsonSchema(response.content['application/json'].schema, 'openApi3', 'none'),\n },\n };\n }\n });\n\n return converted;\n}\n\n/**\n * Generates a complete OpenAPI 3.1.0 document from server routes\n * @param routes - Array of ServerRoute objects with OpenAPI specifications\n * @param info - API metadata (title, version, description)\n * @returns Complete OpenAPI 3.1.0 document\n */\nexport function generateOpenAPIDocument(\n routes: ServerRoute[],\n info: { title: string; version: string; description?: string },\n): any {\n const paths: Record<string, any> = {};\n\n // Build paths object from routes\n // Convert Express-style :param to OpenAPI-style {param}\n routes.forEach(route => {\n if (!route.openapi) return;\n\n const openapiPath = route.path.replace(/:(\\w+)/g, '{$1}');\n if (!paths[openapiPath]) {\n paths[openapiPath] = {};\n }\n\n // Convert Zod schemas to JSON Schema\n paths[openapiPath][route.method.toLowerCase()] = convertZodToJsonSchema(route.openapi);\n });\n\n return {\n openapi: '3.1.0',\n info: {\n title: info.title,\n version: info.version,\n description: info.description,\n },\n paths,\n };\n}\n","import { z } from 'zod';\nimport type { ZodObject, ZodRawShape, ZodTypeAny } from 'zod';\nimport { generateRouteOpenAPI } from '../openapi-utils';\nimport type { InferParams, ResponseType, ServerRoute, ServerRouteHandler } from './index';\n\n/**\n * Extracts parameters matching a Zod schema's shape from a params object.\n * Useful for separating schema-defined params from ServerContext in handlers.\n *\n * @example\n * ```typescript\n * const querySchema = z.object({ page: z.number(), name: z.string() });\n *\n * handler: async (params) => {\n * const query = pickParams(querySchema, params);\n * // query is typed as { page: number, name: string }\n * }\n * ```\n */\nexport function pickParams<T extends z.ZodRawShape, P extends Record<string, unknown>>(\n schema: z.ZodObject<T>,\n params: P,\n): z.infer<z.ZodObject<T>> {\n const keys = Object.keys(schema.shape);\n const result = {} as z.infer<z.ZodObject<T>>;\n for (const key of keys) {\n if (key in params) {\n (result as any)[key] = params[key];\n }\n }\n return result;\n}\n\n/**\n * Wraps a Zod schema to accept either the expected type OR a JSON string.\n * Used for complex query parameters (arrays, objects) that are serialized as JSON in URLs.\n *\n * - If input is already the expected type, passes through to schema validation\n * - If input is a string, attempts JSON.parse then validates\n * - Provides clear error messages for JSON parse failures\n *\n * @example\n * ```typescript\n * const tagsSchema = jsonQueryParam(z.array(z.string()));\n * // Accepts: [\"tag1\", \"tag2\"] OR '[\"tag1\", \"tag2\"]'\n *\n * const dateRangeSchema = jsonQueryParam(z.object({ gte: z.coerce.date() }));\n * // Accepts: { gte: \"2024-01-01\" } OR '{\"gte\": \"2024-01-01\"}'\n * ```\n */\nexport function jsonQueryParam<T extends ZodTypeAny>(schema: T): z.ZodType<z.infer<T>> {\n return z.union([\n schema, // Already the expected type (non-string input)\n z.string().transform((val, ctx) => {\n try {\n const parsed = JSON.parse(val);\n const result = schema.safeParse(parsed);\n if (!result.success) {\n for (const issue of result.error.issues) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: issue.message,\n path: issue.path,\n });\n }\n return z.NEVER;\n }\n return result.data;\n } catch (e) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Invalid JSON: ${e instanceof Error ? e.message : 'parse error'}`,\n });\n return z.NEVER;\n }\n }),\n ]) as z.ZodType<z.infer<T>>;\n}\n\n/**\n * Gets the type name from a Zod schema's internal definition.\n * Works across zod v3 and v4 by checking _def.typeName.\n */\nfunction getZodTypeName(schema: ZodTypeAny): string | undefined {\n return (schema as any)?._def?.typeName;\n}\n\n/**\n * Checks if a Zod schema represents a complex type that needs JSON parsing from query strings.\n * Complex types: arrays, objects, records (these can't be represented as simple strings)\n * Simple types: strings, numbers, booleans, enums (can use z.coerce for conversion)\n *\n * Uses _def.typeName string comparison instead of instanceof to support both zod v3 and v4,\n * since instanceof checks fail across different zod versions in bundled code.\n */\nfunction isComplexType(schema: ZodTypeAny): boolean {\n // Unwrap all optional/nullable layers to check the inner type\n // Note: .partial() can create nested optionals (e.g., ZodOptional<ZodOptional<ZodObject>>)\n let inner: ZodTypeAny = schema;\n let typeName = getZodTypeName(inner);\n\n while (typeName === 'ZodOptional' || typeName === 'ZodNullable') {\n // Access innerType directly from _def to avoid version-specific method differences\n inner = (inner as any)._def.innerType;\n typeName = getZodTypeName(inner);\n }\n\n // Complex types that need JSON parsing\n return typeName === 'ZodArray' || typeName === 'ZodRecord' || typeName === 'ZodObject';\n}\n\n/**\n * Wraps a Zod object schema for HTTP query parameter handling.\n * Automatically detects complex fields (arrays, objects, records) and wraps them\n * with jsonQueryParam() to accept JSON strings from query parameters.\n *\n * Simple fields (strings, numbers, booleans, enums) are left unchanged and should\n * use z.coerce for string-to-type conversion.\n *\n * @example\n * ```typescript\n * // Base schema (for internal/storage use)\n * const tracesFilterSchema = z.object({\n * tags: z.array(z.string()).optional(),\n * startedAt: dateRangeSchema.optional(),\n * perPage: z.coerce.number().optional(),\n * });\n *\n * // HTTP schema (accepts JSON strings for complex fields)\n * const httpTracesFilterSchema = wrapSchemaForQueryParams(tracesFilterSchema);\n *\n * // Now accepts:\n * // ?tags=[\"tag1\",\"tag2\"]&startedAt={\"gte\":\"2024-01-01\"}&perPage=10\n * ```\n */\nexport function wrapSchemaForQueryParams<T extends ZodRawShape>(schema: ZodObject<T>): ZodObject<ZodRawShape> {\n const newShape: ZodRawShape = {};\n\n for (const [key, fieldSchema] of Object.entries(schema.shape)) {\n if (isComplexType(fieldSchema as ZodTypeAny)) {\n // Wrap complex types to accept JSON strings\n newShape[key] = jsonQueryParam(fieldSchema as ZodTypeAny);\n } else {\n // Keep simple types as-is\n newShape[key] = fieldSchema as ZodTypeAny;\n }\n }\n\n return z.object(newShape);\n}\n\ninterface RouteConfig<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n> {\n method: ServerRoute['method'];\n path: string;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream'\n handler: ServerRouteHandler<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n >;\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n maxBodySize?: number;\n}\n\n/**\n * Creates a server route with auto-generated OpenAPI specification and type-safe handler inference.\n *\n * The handler parameters are automatically inferred from the provided schemas:\n * - pathParamSchema: Infers path parameter types (e.g., :agentId)\n * - queryParamSchema: Infers query parameter types\n * - bodySchema: Infers request body types\n * - Runtime context (mastra, requestContext, tools, taskStore) is always available\n *\n * @param config - Route configuration including schemas, handler, and metadata\n * @returns Complete ServerRoute with OpenAPI spec\n *\n * @example\n * ```typescript\n * export const getAgentRoute = createRoute({\n * method: 'GET',\n * path: '/api/agents/:agentId',\n * responseType: 'json',\n * pathParamSchema: z.object({ agentId: z.string() }),\n * responseSchema: serializedAgentSchema,\n * handler: async ({ agentId, mastra, requestContext }) => {\n * // agentId is typed as string\n * // mastra, requestContext, tools, taskStore are always available\n * return mastra.getAgentById(agentId);\n * },\n * summary: 'Get agent by ID',\n * description: 'Returns details for a specific agent',\n * tags: ['Agents'],\n * });\n * ```\n */\nexport function createRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n>(\n config: RouteConfig<TPathSchema, TQuerySchema, TBodySchema, TResponseSchema, TResponseType>,\n): ServerRoute<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n> {\n const { summary, description, tags, deprecated, ...baseRoute } = config;\n\n // Generate OpenAPI specification from the route config\n // Skip OpenAPI generation for 'ALL' method as it doesn't map to OpenAPI\n const openapi =\n config.method !== 'ALL'\n ? generateRouteOpenAPI({\n method: config.method as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',\n path: config.path,\n summary,\n description,\n tags,\n pathParamSchema: config.pathParamSchema,\n queryParamSchema: config.queryParamSchema,\n bodySchema: config.bodySchema,\n responseSchema: config.responseSchema,\n deprecated,\n })\n : undefined;\n\n return {\n ...baseRoute,\n openapi: openapi as any,\n deprecated,\n };\n}\n"]}
|
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkAVRO3FIN_cjs = require('./chunk-AVRO3FIN.cjs');
|
|
4
|
+
var chunkSUKFO7UM_cjs = require('./chunk-SUKFO7UM.cjs');
|
|
5
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
6
|
+
var agent = require('@mastra/core/agent');
|
|
7
|
+
var processors = require('@mastra/core/processors');
|
|
8
|
+
var z = require('zod');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var z__default = /*#__PURE__*/_interopDefault(z);
|
|
13
|
+
|
|
14
|
+
var processorIdPathParams = z__default.default.object({
|
|
15
|
+
processorId: z__default.default.string().describe("Unique identifier for the processor")
|
|
16
|
+
});
|
|
17
|
+
var processorConfigurationSchema = z__default.default.object({
|
|
18
|
+
agentId: z__default.default.string(),
|
|
19
|
+
agentName: z__default.default.string(),
|
|
20
|
+
type: z__default.default.enum(["input", "output"])
|
|
21
|
+
});
|
|
22
|
+
var processorListConfigurationSchema = z__default.default.object({
|
|
23
|
+
agentId: z__default.default.string(),
|
|
24
|
+
type: z__default.default.enum(["input", "output"])
|
|
25
|
+
});
|
|
26
|
+
var serializedProcessorSchema = z__default.default.object({
|
|
27
|
+
id: z__default.default.string(),
|
|
28
|
+
name: z__default.default.string().optional(),
|
|
29
|
+
description: z__default.default.string().optional(),
|
|
30
|
+
phases: z__default.default.array(z__default.default.enum(["input", "inputStep", "outputStream", "outputResult", "outputStep"])),
|
|
31
|
+
agentIds: z__default.default.array(z__default.default.string()),
|
|
32
|
+
configurations: z__default.default.array(processorListConfigurationSchema),
|
|
33
|
+
isWorkflow: z__default.default.boolean()
|
|
34
|
+
});
|
|
35
|
+
var serializedProcessorDetailSchema = z__default.default.object({
|
|
36
|
+
id: z__default.default.string(),
|
|
37
|
+
name: z__default.default.string().optional(),
|
|
38
|
+
description: z__default.default.string().optional(),
|
|
39
|
+
phases: z__default.default.array(z__default.default.enum(["input", "inputStep", "outputStream", "outputResult", "outputStep"])),
|
|
40
|
+
configurations: z__default.default.array(processorConfigurationSchema),
|
|
41
|
+
isWorkflow: z__default.default.boolean()
|
|
42
|
+
});
|
|
43
|
+
var listProcessorsResponseSchema = z__default.default.record(z__default.default.string(), serializedProcessorSchema);
|
|
44
|
+
var messageContentSchema = z__default.default.object({
|
|
45
|
+
format: z__default.default.literal(2).optional(),
|
|
46
|
+
parts: z__default.default.array(z__default.default.any()).optional(),
|
|
47
|
+
content: z__default.default.string().optional()
|
|
48
|
+
}).passthrough();
|
|
49
|
+
var processorMessageSchema = z__default.default.object({
|
|
50
|
+
id: z__default.default.string(),
|
|
51
|
+
role: z__default.default.enum(["user", "assistant", "system", "tool"]),
|
|
52
|
+
createdAt: z__default.default.coerce.date().optional(),
|
|
53
|
+
content: z__default.default.union([messageContentSchema, z__default.default.string()])
|
|
54
|
+
}).passthrough();
|
|
55
|
+
var executeProcessorBodySchema = z__default.default.object({
|
|
56
|
+
phase: z__default.default.enum(["input", "inputStep", "outputStream", "outputResult", "outputStep"]),
|
|
57
|
+
messages: z__default.default.array(processorMessageSchema),
|
|
58
|
+
agentId: z__default.default.string().optional(),
|
|
59
|
+
requestContext: z__default.default.record(z__default.default.string(), z__default.default.any()).optional()
|
|
60
|
+
});
|
|
61
|
+
var tripwireSchema = z__default.default.object({
|
|
62
|
+
triggered: z__default.default.boolean(),
|
|
63
|
+
reason: z__default.default.string().optional(),
|
|
64
|
+
metadata: z__default.default.any().optional()
|
|
65
|
+
});
|
|
66
|
+
var executeProcessorResponseSchema = z__default.default.object({
|
|
67
|
+
success: z__default.default.boolean(),
|
|
68
|
+
phase: z__default.default.string(),
|
|
69
|
+
messages: z__default.default.array(processorMessageSchema).optional(),
|
|
70
|
+
messageList: z__default.default.object({
|
|
71
|
+
messages: z__default.default.array(processorMessageSchema)
|
|
72
|
+
}).optional(),
|
|
73
|
+
tripwire: tripwireSchema.optional(),
|
|
74
|
+
error: z__default.default.string().optional()
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// src/server/handlers/processors.ts
|
|
78
|
+
function extractTextFromMessages(messages) {
|
|
79
|
+
if (!messages || !Array.isArray(messages) || messages.length === 0) {
|
|
80
|
+
return "";
|
|
81
|
+
}
|
|
82
|
+
const firstMessage = messages[0];
|
|
83
|
+
if (firstMessage?.content?.parts) {
|
|
84
|
+
const textParts = firstMessage.content.parts.filter((part) => part?.type === "text").map((part) => part?.text || "");
|
|
85
|
+
return textParts.join("");
|
|
86
|
+
}
|
|
87
|
+
return "";
|
|
88
|
+
}
|
|
89
|
+
function detectProcessorPhases(processor) {
|
|
90
|
+
if (processors.isProcessorWorkflow(processor)) {
|
|
91
|
+
return ["input", "inputStep", "outputStream", "outputResult", "outputStep"];
|
|
92
|
+
}
|
|
93
|
+
const phases = [];
|
|
94
|
+
if (typeof processor.processInput === "function") {
|
|
95
|
+
phases.push("input");
|
|
96
|
+
}
|
|
97
|
+
if (typeof processor.processInputStep === "function") {
|
|
98
|
+
phases.push("inputStep");
|
|
99
|
+
}
|
|
100
|
+
if (typeof processor.processOutputStream === "function") {
|
|
101
|
+
phases.push("outputStream");
|
|
102
|
+
}
|
|
103
|
+
if (typeof processor.processOutputResult === "function") {
|
|
104
|
+
phases.push("outputResult");
|
|
105
|
+
}
|
|
106
|
+
if (typeof processor.processOutputStep === "function") {
|
|
107
|
+
phases.push("outputStep");
|
|
108
|
+
}
|
|
109
|
+
return phases;
|
|
110
|
+
}
|
|
111
|
+
var LIST_PROCESSORS_ROUTE = chunkAVRO3FIN_cjs.createRoute({
|
|
112
|
+
method: "GET",
|
|
113
|
+
path: "/api/processors",
|
|
114
|
+
responseType: "json",
|
|
115
|
+
responseSchema: listProcessorsResponseSchema,
|
|
116
|
+
summary: "List all processors",
|
|
117
|
+
description: "Returns a list of all available individual processors",
|
|
118
|
+
tags: ["Processors"],
|
|
119
|
+
handler: async ({ mastra }) => {
|
|
120
|
+
try {
|
|
121
|
+
const processors$1 = mastra.listProcessors() || {};
|
|
122
|
+
const processorConfigurations = mastra.listProcessorConfigurations();
|
|
123
|
+
const result = {};
|
|
124
|
+
for (const [processorKey, processorEntry] of Object.entries(processors$1)) {
|
|
125
|
+
const processor = processorEntry;
|
|
126
|
+
const processorId = processor.id || processorKey;
|
|
127
|
+
const isWorkflow = processors.isProcessorWorkflow(processor);
|
|
128
|
+
const phases = detectProcessorPhases(processor);
|
|
129
|
+
const configs = processorConfigurations.get(processorId) || [];
|
|
130
|
+
const agentIds = [...new Set(configs.map((c) => c.agentId))];
|
|
131
|
+
const configurations = configs.map((c) => ({ agentId: c.agentId, type: c.type }));
|
|
132
|
+
result[processorId] = {
|
|
133
|
+
id: processorId,
|
|
134
|
+
name: processor.name || processorId,
|
|
135
|
+
description: processor.description,
|
|
136
|
+
phases,
|
|
137
|
+
agentIds,
|
|
138
|
+
configurations,
|
|
139
|
+
isWorkflow
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
} catch (error) {
|
|
144
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error getting processors");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
var GET_PROCESSOR_BY_ID_ROUTE = chunkAVRO3FIN_cjs.createRoute({
|
|
149
|
+
method: "GET",
|
|
150
|
+
path: "/api/processors/:processorId",
|
|
151
|
+
responseType: "json",
|
|
152
|
+
pathParamSchema: processorIdPathParams,
|
|
153
|
+
responseSchema: serializedProcessorDetailSchema,
|
|
154
|
+
summary: "Get processor by ID",
|
|
155
|
+
description: "Returns details for a specific processor including its phases and configurations",
|
|
156
|
+
tags: ["Processors"],
|
|
157
|
+
handler: async ({ mastra, processorId }) => {
|
|
158
|
+
try {
|
|
159
|
+
let processorEntry;
|
|
160
|
+
try {
|
|
161
|
+
processorEntry = mastra.getProcessorById(processorId);
|
|
162
|
+
} catch {
|
|
163
|
+
const processors = mastra.listProcessors() || {};
|
|
164
|
+
processorEntry = processors[processorId];
|
|
165
|
+
}
|
|
166
|
+
if (!processorEntry) {
|
|
167
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Processor not found" });
|
|
168
|
+
}
|
|
169
|
+
const isWorkflow = processors.isProcessorWorkflow(processorEntry);
|
|
170
|
+
const phases = detectProcessorPhases(processorEntry);
|
|
171
|
+
const configs = mastra.getProcessorConfigurations(processorId);
|
|
172
|
+
const agents = mastra.listAgents() || {};
|
|
173
|
+
const configurations = configs.map((c) => ({
|
|
174
|
+
agentId: c.agentId,
|
|
175
|
+
agentName: agents[c.agentId]?.name || c.agentId,
|
|
176
|
+
type: c.type
|
|
177
|
+
}));
|
|
178
|
+
return {
|
|
179
|
+
id: processorEntry.id,
|
|
180
|
+
name: processorEntry.name || processorEntry.id,
|
|
181
|
+
description: processorEntry.description,
|
|
182
|
+
phases,
|
|
183
|
+
configurations,
|
|
184
|
+
isWorkflow
|
|
185
|
+
};
|
|
186
|
+
} catch (error) {
|
|
187
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error getting processor");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
var EXECUTE_PROCESSOR_ROUTE = chunkAVRO3FIN_cjs.createRoute({
|
|
192
|
+
method: "POST",
|
|
193
|
+
path: "/api/processors/:processorId/execute",
|
|
194
|
+
responseType: "json",
|
|
195
|
+
pathParamSchema: processorIdPathParams,
|
|
196
|
+
bodySchema: executeProcessorBodySchema,
|
|
197
|
+
responseSchema: executeProcessorResponseSchema,
|
|
198
|
+
summary: "Execute processor",
|
|
199
|
+
description: "Executes a specific processor with the provided input data",
|
|
200
|
+
tags: ["Processors"],
|
|
201
|
+
handler: async ({ mastra, processorId, ...bodyParams }) => {
|
|
202
|
+
try {
|
|
203
|
+
const { phase, messages } = bodyParams;
|
|
204
|
+
if (!processorId) {
|
|
205
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Processor ID is required" });
|
|
206
|
+
}
|
|
207
|
+
if (!phase) {
|
|
208
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Phase is required" });
|
|
209
|
+
}
|
|
210
|
+
if (!messages || !Array.isArray(messages)) {
|
|
211
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Messages array is required" });
|
|
212
|
+
}
|
|
213
|
+
let processor;
|
|
214
|
+
try {
|
|
215
|
+
processor = mastra.getProcessorById(processorId);
|
|
216
|
+
} catch {
|
|
217
|
+
const processors = mastra.listProcessors() || {};
|
|
218
|
+
processor = processors[processorId];
|
|
219
|
+
}
|
|
220
|
+
if (!processor) {
|
|
221
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Processor not found" });
|
|
222
|
+
}
|
|
223
|
+
const messageList = new agent.MessageList();
|
|
224
|
+
messageList.add(messages, "input");
|
|
225
|
+
if (processors.isProcessorWorkflow(processor)) {
|
|
226
|
+
try {
|
|
227
|
+
const baseInputData = {
|
|
228
|
+
phase,
|
|
229
|
+
messages: messageList.get.all.db(),
|
|
230
|
+
messageList,
|
|
231
|
+
retryCount: 0
|
|
232
|
+
};
|
|
233
|
+
let inputData = baseInputData;
|
|
234
|
+
switch (phase) {
|
|
235
|
+
case "input":
|
|
236
|
+
inputData = {
|
|
237
|
+
...inputData,
|
|
238
|
+
systemMessages: []
|
|
239
|
+
};
|
|
240
|
+
break;
|
|
241
|
+
case "inputStep":
|
|
242
|
+
inputData = {
|
|
243
|
+
...inputData,
|
|
244
|
+
stepNumber: 0,
|
|
245
|
+
systemMessages: [],
|
|
246
|
+
steps: [],
|
|
247
|
+
model: "",
|
|
248
|
+
tools: {},
|
|
249
|
+
toolChoice: void 0,
|
|
250
|
+
activeTools: [],
|
|
251
|
+
providerOptions: void 0,
|
|
252
|
+
modelSettings: void 0,
|
|
253
|
+
structuredOutput: void 0
|
|
254
|
+
};
|
|
255
|
+
break;
|
|
256
|
+
case "outputResult":
|
|
257
|
+
break;
|
|
258
|
+
case "outputStep":
|
|
259
|
+
inputData = {
|
|
260
|
+
...inputData,
|
|
261
|
+
stepNumber: 0,
|
|
262
|
+
systemMessages: [],
|
|
263
|
+
steps: [],
|
|
264
|
+
finishReason: "stop",
|
|
265
|
+
toolCalls: [],
|
|
266
|
+
text: extractTextFromMessages(messages)
|
|
267
|
+
};
|
|
268
|
+
break;
|
|
269
|
+
case "outputStream":
|
|
270
|
+
inputData = {
|
|
271
|
+
...inputData,
|
|
272
|
+
part: null,
|
|
273
|
+
streamParts: [],
|
|
274
|
+
state: {}
|
|
275
|
+
};
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
const run = await processor.createRun();
|
|
279
|
+
const result = await run.start({
|
|
280
|
+
inputData
|
|
281
|
+
});
|
|
282
|
+
if (result.status === "tripwire") {
|
|
283
|
+
return {
|
|
284
|
+
success: false,
|
|
285
|
+
phase,
|
|
286
|
+
tripwire: {
|
|
287
|
+
triggered: true,
|
|
288
|
+
reason: result.tripwire.reason || `Tripwire triggered in workflow ${processor.id}`,
|
|
289
|
+
metadata: result.tripwire.metadata
|
|
290
|
+
},
|
|
291
|
+
messages,
|
|
292
|
+
messageList: {
|
|
293
|
+
messages
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
if (result.status !== "success") {
|
|
298
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, {
|
|
299
|
+
message: `Processor workflow ${processor.id} failed with status: ${result.status}`
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
const output = result.result;
|
|
303
|
+
let outputMessages = messages;
|
|
304
|
+
if (output && typeof output === "object") {
|
|
305
|
+
if ("messages" in output && Array.isArray(output.messages)) {
|
|
306
|
+
outputMessages = output.messages;
|
|
307
|
+
} else if ("messageList" in output && output.messageList instanceof agent.MessageList) {
|
|
308
|
+
outputMessages = output.messageList.get.all.db();
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return {
|
|
312
|
+
success: true,
|
|
313
|
+
phase,
|
|
314
|
+
messages: outputMessages,
|
|
315
|
+
messageList: {
|
|
316
|
+
messages: outputMessages
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
} catch (error) {
|
|
320
|
+
if (error instanceof chunk64ITUOXI_cjs.HTTPException) {
|
|
321
|
+
throw error;
|
|
322
|
+
}
|
|
323
|
+
throw new chunk64ITUOXI_cjs.HTTPException(500, {
|
|
324
|
+
message: `Error executing processor workflow: ${error.message}`
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
let tripwireTriggered = false;
|
|
329
|
+
let tripwireReason;
|
|
330
|
+
let tripwireMetadata;
|
|
331
|
+
const abort = (reason, options) => {
|
|
332
|
+
tripwireTriggered = true;
|
|
333
|
+
tripwireReason = reason;
|
|
334
|
+
tripwireMetadata = options?.metadata;
|
|
335
|
+
throw new Error(`TRIPWIRE:${reason || "Processor aborted"}`);
|
|
336
|
+
};
|
|
337
|
+
const baseContext = {
|
|
338
|
+
abort,
|
|
339
|
+
retryCount: 0,
|
|
340
|
+
messages: messageList.get.all.db(),
|
|
341
|
+
messageList
|
|
342
|
+
};
|
|
343
|
+
try {
|
|
344
|
+
let result;
|
|
345
|
+
switch (phase) {
|
|
346
|
+
case "input":
|
|
347
|
+
if (!processor.processInput) {
|
|
348
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Processor does not support input phase" });
|
|
349
|
+
}
|
|
350
|
+
result = await processor.processInput({
|
|
351
|
+
...baseContext,
|
|
352
|
+
systemMessages: []
|
|
353
|
+
});
|
|
354
|
+
break;
|
|
355
|
+
case "inputStep":
|
|
356
|
+
if (!processor.processInputStep) {
|
|
357
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Processor does not support inputStep phase" });
|
|
358
|
+
}
|
|
359
|
+
result = await processor.processInputStep({
|
|
360
|
+
...baseContext,
|
|
361
|
+
systemMessages: [],
|
|
362
|
+
stepNumber: 0,
|
|
363
|
+
steps: [],
|
|
364
|
+
// Pass empty/default values for all inputStep fields
|
|
365
|
+
model: "",
|
|
366
|
+
tools: {},
|
|
367
|
+
toolChoice: void 0,
|
|
368
|
+
activeTools: [],
|
|
369
|
+
providerOptions: void 0,
|
|
370
|
+
modelSettings: void 0,
|
|
371
|
+
structuredOutput: void 0
|
|
372
|
+
});
|
|
373
|
+
break;
|
|
374
|
+
case "outputResult":
|
|
375
|
+
if (!processor.processOutputResult) {
|
|
376
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Processor does not support outputResult phase" });
|
|
377
|
+
}
|
|
378
|
+
result = await processor.processOutputResult(baseContext);
|
|
379
|
+
break;
|
|
380
|
+
case "outputStep":
|
|
381
|
+
if (!processor.processOutputStep) {
|
|
382
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Processor does not support outputStep phase" });
|
|
383
|
+
}
|
|
384
|
+
result = await processor.processOutputStep({
|
|
385
|
+
...baseContext,
|
|
386
|
+
systemMessages: [],
|
|
387
|
+
stepNumber: 0,
|
|
388
|
+
steps: [],
|
|
389
|
+
finishReason: "stop",
|
|
390
|
+
toolCalls: [],
|
|
391
|
+
text: extractTextFromMessages(messages)
|
|
392
|
+
});
|
|
393
|
+
break;
|
|
394
|
+
case "outputStream":
|
|
395
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
396
|
+
message: "outputStream phase cannot be executed directly. Use streaming instead."
|
|
397
|
+
});
|
|
398
|
+
default:
|
|
399
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: `Unknown phase: ${phase}` });
|
|
400
|
+
}
|
|
401
|
+
let outputMessages = messages;
|
|
402
|
+
if (result) {
|
|
403
|
+
if (Array.isArray(result)) {
|
|
404
|
+
outputMessages = result;
|
|
405
|
+
} else if (result.get && result.get.all && typeof result.get.all.db === "function") {
|
|
406
|
+
outputMessages = result.get.all.db();
|
|
407
|
+
} else if (result.messages) {
|
|
408
|
+
outputMessages = result.messages;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
return {
|
|
412
|
+
success: true,
|
|
413
|
+
phase,
|
|
414
|
+
messages: outputMessages,
|
|
415
|
+
messageList: {
|
|
416
|
+
messages: outputMessages
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
} catch (error) {
|
|
420
|
+
if (tripwireTriggered || error.message?.startsWith("TRIPWIRE:")) {
|
|
421
|
+
return {
|
|
422
|
+
success: false,
|
|
423
|
+
phase,
|
|
424
|
+
tripwire: {
|
|
425
|
+
triggered: true,
|
|
426
|
+
reason: tripwireReason || error.message?.replace("TRIPWIRE:", ""),
|
|
427
|
+
metadata: tripwireMetadata
|
|
428
|
+
},
|
|
429
|
+
messages,
|
|
430
|
+
messageList: {
|
|
431
|
+
messages
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
throw error;
|
|
436
|
+
}
|
|
437
|
+
} catch (error) {
|
|
438
|
+
return chunkSUKFO7UM_cjs.handleError(error, "Error executing processor");
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
|
|
443
|
+
exports.EXECUTE_PROCESSOR_ROUTE = EXECUTE_PROCESSOR_ROUTE;
|
|
444
|
+
exports.GET_PROCESSOR_BY_ID_ROUTE = GET_PROCESSOR_BY_ID_ROUTE;
|
|
445
|
+
exports.LIST_PROCESSORS_ROUTE = LIST_PROCESSORS_ROUTE;
|
|
446
|
+
//# sourceMappingURL=chunk-7XPMKW4Y.cjs.map
|
|
447
|
+
//# sourceMappingURL=chunk-7XPMKW4Y.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/processors.ts","../src/server/handlers/processors.ts"],"names":["z","isProcessorWorkflow","createRoute","processors","handleError","HTTPException","MessageList"],"mappings":"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","file":"chunk-7XPMKW4Y.cjs","sourcesContent":["import z from 'zod';\n\n// Path parameter schemas\nexport const processorIdPathParams = z.object({\n processorId: z.string().describe('Unique identifier for the processor'),\n});\n\n/**\n * Schema for processor configuration (how it's attached to an agent)\n */\nexport const processorConfigurationSchema = z.object({\n agentId: z.string(),\n agentName: z.string(),\n type: z.enum(['input', 'output']),\n});\n\n/**\n * Schema for processor configuration in list response (simplified)\n */\nconst processorListConfigurationSchema = z.object({\n agentId: z.string(),\n type: z.enum(['input', 'output']),\n});\n\n/**\n * Schema for processor in list response\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n phases: z.array(z.enum(['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep'])),\n agentIds: z.array(z.string()),\n configurations: z.array(processorListConfigurationSchema),\n isWorkflow: z.boolean(),\n});\n\n/**\n * Schema for detailed processor response\n */\nexport const serializedProcessorDetailSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n phases: z.array(z.enum(['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep'])),\n configurations: z.array(processorConfigurationSchema),\n isWorkflow: z.boolean(),\n});\n\n/**\n * Schema for list processors endpoint response\n */\nexport const listProcessorsResponseSchema = z.record(z.string(), serializedProcessorSchema);\n\n/**\n * Schema for message content in processor execution\n */\nconst messageContentSchema = z\n .object({\n format: z.literal(2).optional(),\n parts: z.array(z.any()).optional(),\n content: z.string().optional(),\n })\n .passthrough();\n\n/**\n * Schema for a message in processor execution\n */\nconst processorMessageSchema = z\n .object({\n id: z.string(),\n role: z.enum(['user', 'assistant', 'system', 'tool']),\n createdAt: z.coerce.date().optional(),\n content: z.union([messageContentSchema, z.string()]),\n })\n .passthrough();\n\n/**\n * Body schema for executing a processor\n */\nexport const executeProcessorBodySchema = z.object({\n phase: z.enum(['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep']),\n messages: z.array(processorMessageSchema),\n agentId: z.string().optional(),\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\n/**\n * Schema for tripwire result\n */\nconst tripwireSchema = z.object({\n triggered: z.boolean(),\n reason: z.string().optional(),\n metadata: z.any().optional(),\n});\n\n/**\n * Response schema for processor execution\n */\nexport const executeProcessorResponseSchema = z.object({\n success: z.boolean(),\n phase: z.string(),\n messages: z.array(processorMessageSchema).optional(),\n messageList: z\n .object({\n messages: z.array(processorMessageSchema),\n })\n .optional(),\n tripwire: tripwireSchema.optional(),\n error: z.string().optional(),\n});\n","import { MessageList } from '@mastra/core/agent';\nimport type { MessageInput } from '@mastra/core/agent/message-list';\nimport { isProcessorWorkflow } from '@mastra/core/processors';\nimport type { Processor, ProcessorWorkflow } from '@mastra/core/processors';\n\nimport { HTTPException } from '../http-exception';\nimport {\n listProcessorsResponseSchema,\n serializedProcessorDetailSchema,\n processorIdPathParams,\n executeProcessorBodySchema,\n executeProcessorResponseSchema,\n} from '../schemas/processors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\ntype ProcessorPhase = 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep';\n\n/**\n * Helper to extract text from messages for outputStep testing.\n * In real usage, the `text` field contains the assistant's response text.\n */\nfunction extractTextFromMessages(messages: unknown[]): string {\n if (!messages || !Array.isArray(messages) || messages.length === 0) {\n return '';\n }\n const firstMessage = messages[0] as any;\n if (firstMessage?.content?.parts) {\n const textParts = firstMessage.content.parts\n .filter((part: any) => part?.type === 'text')\n .map((part: any) => part?.text || '');\n return textParts.join('');\n }\n return '';\n}\n\n/**\n * Helper to detect phases for a processor.\n * For individual processors, checks which methods are implemented.\n * For workflow processors, returns all phases since createStep handles each phase\n * and it's a no-op if the underlying processor doesn't implement it.\n */\nfunction detectProcessorPhases(processor: any): ProcessorPhase[] {\n // Check if it's a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Workflow processors can potentially handle all phases\n // The createStep in workflows handles each phase and it's a no-op if not implemented\n return ['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep'];\n }\n\n // For individual processors, detect by checking which methods exist\n const phases: ProcessorPhase[] = [];\n if (typeof processor.processInput === 'function') {\n phases.push('input');\n }\n if (typeof processor.processInputStep === 'function') {\n phases.push('inputStep');\n }\n if (typeof processor.processOutputStream === 'function') {\n phases.push('outputStream');\n }\n if (typeof processor.processOutputResult === 'function') {\n phases.push('outputResult');\n }\n if (typeof processor.processOutputStep === 'function') {\n phases.push('outputStep');\n }\n return phases;\n}\n\nexport const LIST_PROCESSORS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/processors',\n responseType: 'json',\n responseSchema: listProcessorsResponseSchema,\n summary: 'List all processors',\n description: 'Returns a list of all available individual processors',\n tags: ['Processors'],\n handler: async ({ mastra }) => {\n try {\n const processors = mastra.listProcessors() || {};\n const processorConfigurations = mastra.listProcessorConfigurations();\n const result: Record<\n string,\n {\n id: string;\n name?: string;\n description?: string;\n phases: ProcessorPhase[];\n agentIds: string[];\n configurations: Array<{ agentId: string; type: 'input' | 'output' }>;\n isWorkflow: boolean;\n }\n > = {};\n\n // Iterate through all individual processors registered with Mastra\n for (const [processorKey, processorEntry] of Object.entries(processors)) {\n const processor = processorEntry as Processor | ProcessorWorkflow;\n const processorId = processor.id || processorKey;\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processor);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processor);\n\n // Get agent configurations for this processor\n const configs = processorConfigurations.get(processorId) || [];\n const agentIds = [...new Set(configs.map(c => c.agentId))];\n const configurations = configs.map(c => ({ agentId: c.agentId, type: c.type }));\n\n result[processorId] = {\n id: processorId,\n name: processor.name || processorId,\n description: processor.description,\n phases,\n agentIds,\n configurations,\n isWorkflow,\n };\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error getting processors');\n }\n },\n});\n\nexport const GET_PROCESSOR_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/processors/:processorId',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n responseSchema: serializedProcessorDetailSchema,\n summary: 'Get processor by ID',\n description: 'Returns details for a specific processor including its phases and configurations',\n tags: ['Processors'],\n handler: async ({ mastra, processorId }) => {\n try {\n // Get the processor from Mastra's registered processors\n let processorEntry: Processor | ProcessorWorkflow | undefined;\n try {\n processorEntry = mastra.getProcessorById(processorId) as Processor | ProcessorWorkflow;\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processorEntry = processors[processorId as keyof typeof processors] as Processor | ProcessorWorkflow;\n }\n\n if (!processorEntry) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n // Check if it's a workflow processor\n const isWorkflow = isProcessorWorkflow(processorEntry);\n\n // Detect phases (handles both individual processors and workflow processors)\n const phases = detectProcessorPhases(processorEntry);\n\n // Get agent configurations for this processor\n const configs = mastra.getProcessorConfigurations(processorId);\n const agents = mastra.listAgents() || {};\n const configurations = configs.map(c => ({\n agentId: c.agentId,\n agentName: agents[c.agentId]?.name || c.agentId,\n type: c.type,\n }));\n\n return {\n id: processorEntry.id,\n name: processorEntry.name || processorEntry.id,\n description: processorEntry.description,\n phases,\n configurations,\n isWorkflow,\n };\n } catch (error) {\n return handleError(error, 'Error getting processor');\n }\n },\n});\n\nexport const EXECUTE_PROCESSOR_ROUTE = createRoute({\n method: 'POST',\n path: '/api/processors/:processorId/execute',\n responseType: 'json',\n pathParamSchema: processorIdPathParams,\n bodySchema: executeProcessorBodySchema,\n responseSchema: executeProcessorResponseSchema,\n summary: 'Execute processor',\n description: 'Executes a specific processor with the provided input data',\n tags: ['Processors'],\n handler: async ({ mastra, processorId, ...bodyParams }) => {\n try {\n const { phase, messages } = bodyParams;\n\n if (!processorId) {\n throw new HTTPException(400, { message: 'Processor ID is required' });\n }\n\n if (!phase) {\n throw new HTTPException(400, { message: 'Phase is required' });\n }\n\n if (!messages || !Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages array is required' });\n }\n\n // Get the processor from Mastra's registered processors\n let processor;\n try {\n processor = mastra.getProcessorById(processorId);\n } catch {\n // getProcessorById throws if not found, try by key\n const processors = mastra.listProcessors() || {};\n processor = processors[processorId as keyof typeof processors];\n }\n\n if (!processor) {\n throw new HTTPException(404, { message: 'Processor not found' });\n }\n\n const messageList = new MessageList();\n messageList.add(messages as unknown as MessageInput[], 'input');\n\n // Check if this is a workflow processor\n if (isProcessorWorkflow(processor)) {\n // Execute workflow processor\n try {\n // Build inputData based on phase - each phase has different required fields\n const baseInputData = {\n phase: phase as 'input' | 'inputStep' | 'outputStream' | 'outputResult' | 'outputStep',\n messages: messageList.get.all.db(),\n messageList,\n retryCount: 0,\n };\n let inputData: typeof baseInputData & Record<string, unknown> = baseInputData;\n\n // Add phase-specific fields\n switch (phase) {\n case 'input':\n inputData = {\n ...inputData,\n systemMessages: [],\n };\n break;\n case 'inputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n model: '',\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n };\n break;\n case 'outputResult':\n // outputResult only needs base fields\n break;\n case 'outputStep':\n inputData = {\n ...inputData,\n stepNumber: 0,\n systemMessages: [],\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n };\n break;\n case 'outputStream':\n inputData = {\n ...inputData,\n part: null,\n streamParts: [],\n state: {},\n };\n break;\n }\n\n const run = await processor.createRun();\n const result = await run.start({\n inputData,\n });\n\n // Check for tripwire status\n if (result.status === 'tripwire') {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: result.tripwire.reason || `Tripwire triggered in workflow ${processor.id}`,\n metadata: result.tripwire.metadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n\n // Check for execution failure\n if (result.status !== 'success') {\n throw new HTTPException(500, {\n message: `Processor workflow ${processor.id} failed with status: ${result.status}`,\n });\n }\n\n // Extract output from workflow result\n const output = result.result;\n let outputMessages = messages;\n\n if (output && typeof output === 'object') {\n if ('messages' in output && Array.isArray(output.messages)) {\n outputMessages = output.messages;\n } else if ('messageList' in output && output.messageList instanceof MessageList) {\n outputMessages = output.messageList.get.all.db();\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Re-throw HTTP exceptions\n if (error instanceof HTTPException) {\n throw error;\n }\n throw new HTTPException(500, {\n message: `Error executing processor workflow: ${error.message}`,\n });\n }\n }\n\n // Handle individual processor execution\n // Create the abort function for tripwire support\n let tripwireTriggered = false;\n let tripwireReason: string | undefined;\n let tripwireMetadata: unknown;\n\n const abort = (reason?: string, options?: { retry?: boolean; metadata?: unknown }) => {\n tripwireTriggered = true;\n tripwireReason = reason;\n tripwireMetadata = options?.metadata;\n throw new Error(`TRIPWIRE:${reason || 'Processor aborted'}`);\n };\n\n // Build the context based on phase\n const baseContext = {\n abort,\n retryCount: 0,\n messages: messageList.get.all.db(),\n messageList,\n };\n\n try {\n let result: any;\n\n // Execute the specific phase method on the individual processor\n switch (phase) {\n case 'input':\n if (!processor.processInput) {\n throw new HTTPException(400, { message: 'Processor does not support input phase' });\n }\n result = await processor.processInput({\n ...baseContext,\n systemMessages: [],\n });\n break;\n\n case 'inputStep':\n if (!processor.processInputStep) {\n throw new HTTPException(400, { message: 'Processor does not support inputStep phase' });\n }\n result = await processor.processInputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n // Pass empty/default values for all inputStep fields\n model: '' as any,\n tools: {},\n toolChoice: undefined,\n activeTools: [],\n providerOptions: undefined,\n modelSettings: undefined,\n structuredOutput: undefined,\n });\n break;\n\n case 'outputResult':\n if (!processor.processOutputResult) {\n throw new HTTPException(400, { message: 'Processor does not support outputResult phase' });\n }\n result = await processor.processOutputResult(baseContext);\n break;\n\n case 'outputStep':\n if (!processor.processOutputStep) {\n throw new HTTPException(400, { message: 'Processor does not support outputStep phase' });\n }\n result = await processor.processOutputStep({\n ...baseContext,\n systemMessages: [],\n stepNumber: 0,\n steps: [],\n finishReason: 'stop',\n toolCalls: [],\n text: extractTextFromMessages(messages),\n });\n break;\n\n case 'outputStream':\n // outputStream is for streaming chunks, not a simple execute\n throw new HTTPException(400, {\n message: 'outputStream phase cannot be executed directly. Use streaming instead.',\n });\n\n default:\n throw new HTTPException(400, { message: `Unknown phase: ${phase}` });\n }\n\n // Process the result\n let outputMessages = messages;\n if (result) {\n if (Array.isArray(result)) {\n outputMessages = result;\n } else if (result.get && result.get.all && typeof result.get.all.db === 'function') {\n // It's a MessageList\n outputMessages = result.get.all.db();\n } else if (result.messages) {\n outputMessages = result.messages;\n }\n }\n\n return {\n success: true,\n phase,\n messages: outputMessages,\n messageList: {\n messages: outputMessages,\n },\n };\n } catch (error: any) {\n // Check if it's a tripwire\n if (tripwireTriggered || error.message?.startsWith('TRIPWIRE:')) {\n return {\n success: false,\n phase,\n tripwire: {\n triggered: true,\n reason: tripwireReason || error.message?.replace('TRIPWIRE:', ''),\n metadata: tripwireMetadata,\n },\n messages,\n messageList: {\n messages,\n },\n };\n }\n throw error;\n }\n } catch (error) {\n return handleError(error, 'Error executing processor');\n }\n },\n});\n"]}
|