@scoutqa/mastra-core 0.24.6-fork.1
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 +5844 -0
- package/LICENSE.md +15 -0
- package/README.md +59 -0
- package/a2a.d.ts +1 -0
- package/action.d.ts +1 -0
- package/agent/input-processor/processors.d.ts +1 -0
- package/agent.d.ts +1 -0
- package/ai-tracing.d.ts +1 -0
- package/base.d.ts +1 -0
- package/bundler.d.ts +1 -0
- package/cache.d.ts +1 -0
- package/deployer.d.ts +1 -0
- package/di.d.ts +1 -0
- package/dist/a2a/error.d.ts +24 -0
- package/dist/a2a/error.d.ts.map +1 -0
- package/dist/a2a/index.cjs +80 -0
- package/dist/a2a/index.cjs.map +1 -0
- package/dist/a2a/index.d.ts +4 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +72 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/types.d.ts +93 -0
- package/dist/a2a/types.d.ts.map +1 -0
- package/dist/action/index.d.ts +36 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/agent/__tests__/mock-model.d.ts +6 -0
- package/dist/agent/__tests__/mock-model.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +728 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.types.d.ts +130 -0
- package/dist/agent/agent.types.d.ts.map +1 -0
- package/dist/agent/index.cjs +53 -0
- package/dist/agent/index.cjs.map +1 -0
- package/dist/agent/index.d.ts +10 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +4 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/index.warning.d.ts +13 -0
- package/dist/agent/index.warning.d.ts.map +1 -0
- package/dist/agent/input-processor/index.cjs +28 -0
- package/dist/agent/input-processor/index.cjs.map +1 -0
- package/dist/agent/input-processor/index.d.ts +10 -0
- package/dist/agent/input-processor/index.d.ts.map +1 -0
- package/dist/agent/input-processor/index.js +3 -0
- package/dist/agent/input-processor/index.js.map +1 -0
- package/dist/agent/input-processor/processors/index.d.ts +6 -0
- package/dist/agent/input-processor/processors/index.d.ts.map +1 -0
- package/dist/agent/input-processor/processors/language-detector.d.ts +18 -0
- package/dist/agent/input-processor/processors/language-detector.d.ts.map +1 -0
- package/dist/agent/input-processor/processors/moderation.d.ts +18 -0
- package/dist/agent/input-processor/processors/moderation.d.ts.map +1 -0
- package/dist/agent/input-processor/processors/pii-detector.d.ts +18 -0
- package/dist/agent/input-processor/processors/pii-detector.d.ts.map +1 -0
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts +18 -0
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts.map +1 -0
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts +18 -0
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts.map +1 -0
- package/dist/agent/message-list/index.d.ts +305 -0
- package/dist/agent/message-list/index.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +11 -0
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/convert-file.d.ts +7 -0
- package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts +4 -0
- package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/data-content.d.ts +17 -0
- package/dist/agent/message-list/prompt/data-content.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/download-assets.d.ts +15 -0
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/image-utils.d.ts +86 -0
- package/dist/agent/message-list/prompt/image-utils.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/invalid-content-error.d.ts +14 -0
- package/dist/agent/message-list/prompt/invalid-content-error.d.ts.map +1 -0
- package/dist/agent/message-list/types.d.ts +3 -0
- package/dist/agent/message-list/types.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +3 -0
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +3 -0
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +22 -0
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v5/tool.d.ts +16 -0
- package/dist/agent/message-list/utils/ai-v5/tool.d.ts.map +1 -0
- package/dist/agent/message-list/utils/convert-messages.d.ts +91 -0
- package/dist/agent/message-list/utils/convert-messages.d.ts.map +1 -0
- package/dist/agent/save-queue/index.d.ts +68 -0
- package/dist/agent/save-queue/index.d.ts.map +1 -0
- package/dist/agent/test-utils.d.ts +82 -0
- package/dist/agent/test-utils.d.ts.map +1 -0
- package/dist/agent/trip-wire.d.ts +18 -0
- package/dist/agent/trip-wire.d.ts.map +1 -0
- package/dist/agent/types.d.ts +358 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/utils.d.ts +104 -0
- package/dist/agent/utils.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/index.d.ts +158 -0
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +35 -0
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +90 -0
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +75 -0
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/schema.d.ts +179 -0
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -0
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +36 -0
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -0
- package/dist/ai-tracing/context.d.ts +21 -0
- package/dist/ai-tracing/context.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/base.d.ts +111 -0
- package/dist/ai-tracing/exporters/base.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/cloud.d.ts +30 -0
- package/dist/ai-tracing/exporters/cloud.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/console.d.ts +10 -0
- package/dist/ai-tracing/exporters/console.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/default.d.ts +98 -0
- package/dist/ai-tracing/exporters/default.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/index.d.ts +9 -0
- package/dist/ai-tracing/exporters/index.d.ts.map +1 -0
- package/dist/ai-tracing/index.cjs +148 -0
- package/dist/ai-tracing/index.cjs.map +1 -0
- package/dist/ai-tracing/index.d.ts +13 -0
- package/dist/ai-tracing/index.d.ts.map +1 -0
- package/dist/ai-tracing/index.js +3 -0
- package/dist/ai-tracing/index.js.map +1 -0
- package/dist/ai-tracing/model-tracing.d.ts +63 -0
- package/dist/ai-tracing/model-tracing.d.ts.map +1 -0
- package/dist/ai-tracing/registry.d.ts +51 -0
- package/dist/ai-tracing/registry.d.ts.map +1 -0
- package/dist/ai-tracing/span_processors/index.d.ts +5 -0
- package/dist/ai-tracing/span_processors/index.d.ts.map +1 -0
- package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts +85 -0
- package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts.map +1 -0
- package/dist/ai-tracing/spans/base.d.ts +65 -0
- package/dist/ai-tracing/spans/base.d.ts.map +1 -0
- package/dist/ai-tracing/spans/default.d.ts +13 -0
- package/dist/ai-tracing/spans/default.d.ts.map +1 -0
- package/dist/ai-tracing/spans/index.d.ts +7 -0
- package/dist/ai-tracing/spans/index.d.ts.map +1 -0
- package/dist/ai-tracing/spans/no-op.d.ts +15 -0
- package/dist/ai-tracing/spans/no-op.d.ts.map +1 -0
- package/dist/ai-tracing/tracers/base.d.ts +105 -0
- package/dist/ai-tracing/tracers/base.d.ts.map +1 -0
- package/dist/ai-tracing/tracers/default.d.ts +7 -0
- package/dist/ai-tracing/tracers/default.d.ts.map +1 -0
- package/dist/ai-tracing/tracers/index.d.ts +6 -0
- package/dist/ai-tracing/tracers/index.d.ts.map +1 -0
- package/dist/ai-tracing/types.d.ts +696 -0
- package/dist/ai-tracing/types.d.ts.map +1 -0
- package/dist/ai-tracing/utils.d.ts +68 -0
- package/dist/ai-tracing/utils.d.ts.map +1 -0
- package/dist/base.cjs +12 -0
- package/dist/base.cjs.map +1 -0
- package/dist/base.d.ts +34 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +3 -0
- package/dist/base.js.map +1 -0
- package/dist/base.warning.d.ts +9 -0
- package/dist/base.warning.d.ts.map +1 -0
- package/dist/bundler/index.cjs +12 -0
- package/dist/bundler/index.cjs.map +1 -0
- package/dist/bundler/index.d.ts +31 -0
- package/dist/bundler/index.d.ts.map +1 -0
- package/dist/bundler/index.js +3 -0
- package/dist/bundler/index.js.map +1 -0
- package/dist/bundler/index.warning.d.ts +9 -0
- package/dist/bundler/index.warning.d.ts.map +1 -0
- package/dist/bundler/types.d.ts +6 -0
- package/dist/bundler/types.d.ts.map +1 -0
- package/dist/cache/base.d.ts +14 -0
- package/dist/cache/base.d.ts.map +1 -0
- package/dist/cache/index.cjs +16 -0
- package/dist/cache/index.cjs.map +1 -0
- package/dist/cache/index.d.ts +3 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +3 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/inmemory.d.ts +13 -0
- package/dist/cache/inmemory.d.ts.map +1 -0
- package/dist/chunk-3HXBPDKN.js +105 -0
- package/dist/chunk-3HXBPDKN.js.map +1 -0
- package/dist/chunk-3NTOFNIU.js +60 -0
- package/dist/chunk-3NTOFNIU.js.map +1 -0
- package/dist/chunk-3PSWNGBF.js +3 -0
- package/dist/chunk-3PSWNGBF.js.map +1 -0
- package/dist/chunk-42RUESSD.cjs +3203 -0
- package/dist/chunk-42RUESSD.cjs.map +1 -0
- package/dist/chunk-436FFEF6.js +34 -0
- package/dist/chunk-436FFEF6.js.map +1 -0
- package/dist/chunk-46XGIEXM.cjs +47 -0
- package/dist/chunk-46XGIEXM.cjs.map +1 -0
- package/dist/chunk-4D4KB75Y.cjs +9 -0
- package/dist/chunk-4D4KB75Y.cjs.map +1 -0
- package/dist/chunk-4L63C6E5.cjs +2554 -0
- package/dist/chunk-4L63C6E5.cjs.map +1 -0
- package/dist/chunk-4LSFAAZW.js +3 -0
- package/dist/chunk-4LSFAAZW.js.map +1 -0
- package/dist/chunk-4R2TBRS7.cjs +191 -0
- package/dist/chunk-4R2TBRS7.cjs.map +1 -0
- package/dist/chunk-4WQYXT2I.cjs +12 -0
- package/dist/chunk-4WQYXT2I.cjs.map +1 -0
- package/dist/chunk-5NTO7S5I.cjs +173 -0
- package/dist/chunk-5NTO7S5I.cjs.map +1 -0
- package/dist/chunk-5O52O25J.js +65 -0
- package/dist/chunk-5O52O25J.js.map +1 -0
- package/dist/chunk-5X4TQR6K.js +12 -0
- package/dist/chunk-5X4TQR6K.js.map +1 -0
- package/dist/chunk-6D2K2CAA.js +776 -0
- package/dist/chunk-6D2K2CAA.js.map +1 -0
- package/dist/chunk-6KOL2B3A.cjs +75 -0
- package/dist/chunk-6KOL2B3A.cjs.map +1 -0
- package/dist/chunk-6TEQIYXV.cjs +96 -0
- package/dist/chunk-6TEQIYXV.cjs.map +1 -0
- package/dist/chunk-6VOPKVYH.cjs +57 -0
- package/dist/chunk-6VOPKVYH.cjs.map +1 -0
- package/dist/chunk-6XCINXZ7.cjs +194 -0
- package/dist/chunk-6XCINXZ7.cjs.map +1 -0
- package/dist/chunk-7J5DS33F.js +3 -0
- package/dist/chunk-7J5DS33F.js.map +1 -0
- package/dist/chunk-A5KDVZDL.cjs +124 -0
- package/dist/chunk-A5KDVZDL.cjs.map +1 -0
- package/dist/chunk-AAYCOJUL.cjs +14 -0
- package/dist/chunk-AAYCOJUL.cjs.map +1 -0
- package/dist/chunk-ABJOUEVA.cjs +10 -0
- package/dist/chunk-ABJOUEVA.cjs.map +1 -0
- package/dist/chunk-AQGLVU53.cjs +603 -0
- package/dist/chunk-AQGLVU53.cjs.map +1 -0
- package/dist/chunk-B7V6NYWH.cjs +67 -0
- package/dist/chunk-B7V6NYWH.cjs.map +1 -0
- package/dist/chunk-BJ6XIEC6.js +13 -0
- package/dist/chunk-BJ6XIEC6.js.map +1 -0
- package/dist/chunk-BLUDYAPI.js +596 -0
- package/dist/chunk-BLUDYAPI.js.map +1 -0
- package/dist/chunk-BVUMKER5.js +7 -0
- package/dist/chunk-BVUMKER5.js.map +1 -0
- package/dist/chunk-BWYU7D33.js +192 -0
- package/dist/chunk-BWYU7D33.js.map +1 -0
- package/dist/chunk-CNMPROPI.js +24 -0
- package/dist/chunk-CNMPROPI.js.map +1 -0
- package/dist/chunk-CT2DMHGC.cjs +271 -0
- package/dist/chunk-CT2DMHGC.cjs.map +1 -0
- package/dist/chunk-CYEQK4PM.cjs +778 -0
- package/dist/chunk-CYEQK4PM.cjs.map +1 -0
- package/dist/chunk-DMBN72QF.cjs +39 -0
- package/dist/chunk-DMBN72QF.cjs.map +1 -0
- package/dist/chunk-EBVYYC2Q.cjs +111 -0
- package/dist/chunk-EBVYYC2Q.cjs.map +1 -0
- package/dist/chunk-F7GI2OYP.js +3 -0
- package/dist/chunk-F7GI2OYP.js.map +1 -0
- package/dist/chunk-FUVNHPNL.cjs +4 -0
- package/dist/chunk-FUVNHPNL.cjs.map +1 -0
- package/dist/chunk-FVIT6JZ5.cjs +4 -0
- package/dist/chunk-FVIT6JZ5.cjs.map +1 -0
- package/dist/chunk-G3KSVDML.cjs +1310 -0
- package/dist/chunk-G3KSVDML.cjs.map +1 -0
- package/dist/chunk-GPWMM745.cjs +80 -0
- package/dist/chunk-GPWMM745.cjs.map +1 -0
- package/dist/chunk-GXSERFAG.js +3 -0
- package/dist/chunk-GXSERFAG.js.map +1 -0
- package/dist/chunk-HCCXJ5YJ.js +466 -0
- package/dist/chunk-HCCXJ5YJ.js.map +1 -0
- package/dist/chunk-HLRWYUFN.js +78 -0
- package/dist/chunk-HLRWYUFN.js.map +1 -0
- package/dist/chunk-HQDX7PWJ.cjs +26 -0
- package/dist/chunk-HQDX7PWJ.cjs.map +1 -0
- package/dist/chunk-HSX2K7HB.js +164 -0
- package/dist/chunk-HSX2K7HB.js.map +1 -0
- package/dist/chunk-IAJHRFO4.cjs +2936 -0
- package/dist/chunk-IAJHRFO4.cjs.map +1 -0
- package/dist/chunk-INOOZ2A2.js +3144 -0
- package/dist/chunk-INOOZ2A2.js.map +1 -0
- package/dist/chunk-IWU4YSYT.cjs +166 -0
- package/dist/chunk-IWU4YSYT.cjs.map +1 -0
- package/dist/chunk-JQE3BLYA.js +3 -0
- package/dist/chunk-JQE3BLYA.js.map +1 -0
- package/dist/chunk-JVV5LREI.js +431 -0
- package/dist/chunk-JVV5LREI.js.map +1 -0
- package/dist/chunk-LZPOIBOR.js +87 -0
- package/dist/chunk-LZPOIBOR.js.map +1 -0
- package/dist/chunk-MKCC5K77.js +90 -0
- package/dist/chunk-MKCC5K77.js.map +1 -0
- package/dist/chunk-N2ILP2YD.js +2539 -0
- package/dist/chunk-N2ILP2YD.js.map +1 -0
- package/dist/chunk-NLNKQD2T.js +7 -0
- package/dist/chunk-NLNKQD2T.js.map +1 -0
- package/dist/chunk-NPNGPMT2.js +39 -0
- package/dist/chunk-NPNGPMT2.js.map +1 -0
- package/dist/chunk-NSIYMRY7.cjs +91 -0
- package/dist/chunk-NSIYMRY7.cjs.map +1 -0
- package/dist/chunk-OIT3PCWA.js +72 -0
- package/dist/chunk-OIT3PCWA.js.map +1 -0
- package/dist/chunk-PAOBGBU7.cjs +471 -0
- package/dist/chunk-PAOBGBU7.cjs.map +1 -0
- package/dist/chunk-PE3V7GUL.cjs +4 -0
- package/dist/chunk-PE3V7GUL.cjs.map +1 -0
- package/dist/chunk-PFXXH2RP.js +91 -0
- package/dist/chunk-PFXXH2RP.js.map +1 -0
- package/dist/chunk-PJKCPRYF.js +3 -0
- package/dist/chunk-PJKCPRYF.js.map +1 -0
- package/dist/chunk-PZUZNPFM.js +166 -0
- package/dist/chunk-PZUZNPFM.js.map +1 -0
- package/dist/chunk-Q6LWNLAJ.js +3177 -0
- package/dist/chunk-Q6LWNLAJ.js.map +1 -0
- package/dist/chunk-QLMWFSDC.js +653 -0
- package/dist/chunk-QLMWFSDC.js.map +1 -0
- package/dist/chunk-R6XC4DV5.js +170 -0
- package/dist/chunk-R6XC4DV5.js.map +1 -0
- package/dist/chunk-RJOVFHWN.cjs +3160 -0
- package/dist/chunk-RJOVFHWN.cjs.map +1 -0
- package/dist/chunk-SJMKDSRF.js +179 -0
- package/dist/chunk-SJMKDSRF.js.map +1 -0
- package/dist/chunk-TCHOIK53.cjs +4 -0
- package/dist/chunk-TCHOIK53.cjs.map +1 -0
- package/dist/chunk-TEORHM5O.js +1222 -0
- package/dist/chunk-TEORHM5O.js.map +1 -0
- package/dist/chunk-TSNDVBUU.cjs +90 -0
- package/dist/chunk-TSNDVBUU.cjs.map +1 -0
- package/dist/chunk-TTELJD4F.js +86 -0
- package/dist/chunk-TTELJD4F.js.map +1 -0
- package/dist/chunk-TX4TTPYJ.cjs +436 -0
- package/dist/chunk-TX4TTPYJ.cjs.map +1 -0
- package/dist/chunk-UCPGYU55.cjs +15 -0
- package/dist/chunk-UCPGYU55.cjs.map +1 -0
- package/dist/chunk-UWTYVVVZ.js +42 -0
- package/dist/chunk-UWTYVVVZ.js.map +1 -0
- package/dist/chunk-UXG7PYML.js +118 -0
- package/dist/chunk-UXG7PYML.js.map +1 -0
- package/dist/chunk-V3VLOOSW.cjs +36 -0
- package/dist/chunk-V3VLOOSW.cjs.map +1 -0
- package/dist/chunk-VED2OIYL.cjs +4 -0
- package/dist/chunk-VED2OIYL.cjs.map +1 -0
- package/dist/chunk-VF676YCO.cjs +150 -0
- package/dist/chunk-VF676YCO.cjs.map +1 -0
- package/dist/chunk-VHEA3YXS.js +72 -0
- package/dist/chunk-VHEA3YXS.js.map +1 -0
- package/dist/chunk-VQASQG5D.js +55 -0
- package/dist/chunk-VQASQG5D.js.map +1 -0
- package/dist/chunk-VXHOOZSK.js +446 -0
- package/dist/chunk-VXHOOZSK.js.map +1 -0
- package/dist/chunk-W4UVO3HL.cjs +82 -0
- package/dist/chunk-W4UVO3HL.cjs.map +1 -0
- package/dist/chunk-WIMFJ2BA.js +2880 -0
- package/dist/chunk-WIMFJ2BA.js.map +1 -0
- package/dist/chunk-WM4RO23J.js +145 -0
- package/dist/chunk-WM4RO23J.js.map +1 -0
- package/dist/chunk-WMTXUQC4.cjs +657 -0
- package/dist/chunk-WMTXUQC4.cjs.map +1 -0
- package/dist/chunk-WNV57BEW.cjs +1705 -0
- package/dist/chunk-WNV57BEW.cjs.map +1 -0
- package/dist/chunk-X4RMXTXF.cjs +4 -0
- package/dist/chunk-X4RMXTXF.cjs.map +1 -0
- package/dist/chunk-X7F4CSGR.cjs +67 -0
- package/dist/chunk-X7F4CSGR.cjs.map +1 -0
- package/dist/chunk-XWGHD4C7.cjs +450 -0
- package/dist/chunk-XWGHD4C7.cjs.map +1 -0
- package/dist/chunk-YFKTLS32.js +1700 -0
- package/dist/chunk-YFKTLS32.js.map +1 -0
- package/dist/chunk-ZABG3SZ2.cjs +93 -0
- package/dist/chunk-ZABG3SZ2.cjs.map +1 -0
- package/dist/chunk-ZIWN73GQ.js +267 -0
- package/dist/chunk-ZIWN73GQ.js.map +1 -0
- package/dist/chunk-ZOYE65RA.cjs +173 -0
- package/dist/chunk-ZOYE65RA.cjs.map +1 -0
- package/dist/deployer/index.cjs +12 -0
- package/dist/deployer/index.cjs.map +1 -0
- package/dist/deployer/index.d.ts +12 -0
- package/dist/deployer/index.d.ts.map +1 -0
- package/dist/deployer/index.js +3 -0
- package/dist/deployer/index.js.map +1 -0
- package/dist/deployer/index.warning.d.ts +9 -0
- package/dist/deployer/index.warning.d.ts.map +1 -0
- package/dist/di/index.cjs +12 -0
- package/dist/di/index.cjs.map +1 -0
- package/dist/di/index.d.ts +2 -0
- package/dist/di/index.d.ts.map +1 -0
- package/dist/di/index.js +3 -0
- package/dist/di/index.js.map +1 -0
- package/dist/error/index.cjs +28 -0
- package/dist/error/index.cjs.map +1 -0
- package/dist/error/index.d.ts +89 -0
- package/dist/error/index.d.ts.map +1 -0
- package/dist/error/index.js +3 -0
- package/dist/error/index.js.map +1 -0
- package/dist/error/utils.d.ts +36 -0
- package/dist/error/utils.d.ts.map +1 -0
- package/dist/eval/evaluation.d.ts +14 -0
- package/dist/eval/evaluation.d.ts.map +1 -0
- package/dist/eval/index.cjs +16 -0
- package/dist/eval/index.cjs.map +1 -0
- package/dist/eval/index.d.ts +4 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +3 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/metric.d.ts +8 -0
- package/dist/eval/metric.d.ts.map +1 -0
- package/dist/eval/types.d.ts +9 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/events/event-emitter.d.ts +11 -0
- package/dist/events/event-emitter.d.ts.map +1 -0
- package/dist/events/index.cjs +12 -0
- package/dist/events/index.cjs.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/processor.d.ts +11 -0
- package/dist/events/processor.d.ts.map +1 -0
- package/dist/events/pubsub.d.ts +8 -0
- package/dist/events/pubsub.d.ts.map +1 -0
- package/dist/events/types.d.ts +8 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/hooks/index.cjs +20 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.ts +36 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/mitt.d.ts +22 -0
- package/dist/hooks/mitt.d.ts.map +1 -0
- package/dist/index.cjs +371 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +120 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/index.cjs +16 -0
- package/dist/integration/index.cjs.map +1 -0
- package/dist/integration/index.d.ts +3 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +3 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/index.warning.d.ts +3 -0
- package/dist/integration/index.warning.d.ts.map +1 -0
- package/dist/integration/integration.d.ts +21 -0
- package/dist/integration/integration.d.ts.map +1 -0
- package/dist/integration/integration.warning.d.ts +5 -0
- package/dist/integration/integration.warning.d.ts.map +1 -0
- package/dist/integration/openapi-toolset.d.ts +16 -0
- package/dist/integration/openapi-toolset.d.ts.map +1 -0
- package/dist/integration/openapi-toolset.warning.d.ts +5 -0
- package/dist/integration/openapi-toolset.warning.d.ts.map +1 -0
- package/dist/llm/index.cjs +48 -0
- package/dist/llm/index.cjs.map +1 -0
- package/dist/llm/index.d.ts +83 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
- package/dist/llm/model/base.types.d.ts +100 -0
- package/dist/llm/model/base.types.d.ts.map +1 -0
- package/dist/llm/model/embedding-router.d.ts +50 -0
- package/dist/llm/model/embedding-router.d.ts.map +1 -0
- package/dist/llm/model/gateway-resolver.d.ts +11 -0
- package/dist/llm/model/gateway-resolver.d.ts.map +1 -0
- package/dist/llm/model/gateways/base.d.ts +50 -0
- package/dist/llm/model/gateways/base.d.ts.map +1 -0
- package/dist/llm/model/gateways/constants.d.ts +3 -0
- package/dist/llm/model/gateways/constants.d.ts.map +1 -0
- package/dist/llm/model/gateways/index.d.ts +11 -0
- package/dist/llm/model/gateways/index.d.ts.map +1 -0
- package/dist/llm/model/gateways/models-dev.d.ts +19 -0
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -0
- package/dist/llm/model/gateways/netlify.d.ts +25 -0
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -0
- package/dist/llm/model/index.d.ts +6 -0
- package/dist/llm/model/index.d.ts.map +1 -0
- package/dist/llm/model/is-v2-model.d.ts +3 -0
- package/dist/llm/model/is-v2-model.d.ts.map +1 -0
- package/dist/llm/model/model-method-from-agent.d.ts +4 -0
- package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
- package/dist/llm/model/model.d.ts +36 -0
- package/dist/llm/model/model.d.ts.map +1 -0
- package/dist/llm/model/model.loop.d.ts +26 -0
- package/dist/llm/model/model.loop.d.ts.map +1 -0
- package/dist/llm/model/model.loop.types.d.ts +31 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -0
- package/dist/llm/model/provider-options.d.ts +42 -0
- package/dist/llm/model/provider-options.d.ts.map +1 -0
- package/dist/llm/model/provider-registry.d.ts +108 -0
- package/dist/llm/model/provider-registry.d.ts.map +1 -0
- package/dist/llm/model/provider-types.generated.d.ts +1205 -0
- package/dist/llm/model/registry-generator.d.ts +41 -0
- package/dist/llm/model/registry-generator.d.ts.map +1 -0
- package/dist/llm/model/resolve-model.d.ts +46 -0
- package/dist/llm/model/resolve-model.d.ts.map +1 -0
- package/dist/llm/model/router.d.ts +30 -0
- package/dist/llm/model/router.d.ts.map +1 -0
- package/dist/llm/model/shared.types.d.ts +40 -0
- package/dist/llm/model/shared.types.d.ts.map +1 -0
- package/dist/logger/constants.d.ts +28 -0
- package/dist/logger/constants.d.ts.map +1 -0
- package/dist/logger/default-logger.d.ts +49 -0
- package/dist/logger/default-logger.d.ts.map +1 -0
- package/dist/logger/index.cjs +45 -0
- package/dist/logger/index.cjs.map +1 -0
- package/dist/logger/index.d.ts +7 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +4 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.d.ts +88 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/multi-logger.d.ts +46 -0
- package/dist/logger/multi-logger.d.ts.map +1 -0
- package/dist/logger/noop-logger.d.ts +3 -0
- package/dist/logger/noop-logger.d.ts.map +1 -0
- package/dist/logger/transport.d.ts +46 -0
- package/dist/logger/transport.d.ts.map +1 -0
- package/dist/loop/index.cjs +12 -0
- package/dist/loop/index.cjs.map +1 -0
- package/dist/loop/index.d.ts +2 -0
- package/dist/loop/index.d.ts.map +1 -0
- package/dist/loop/index.js +3 -0
- package/dist/loop/index.js.map +1 -0
- package/dist/loop/loop.d.ts +6 -0
- package/dist/loop/loop.d.ts.map +1 -0
- package/dist/loop/network/index.d.ts +145 -0
- package/dist/loop/network/index.d.ts.map +1 -0
- package/dist/loop/telemetry/index.d.ts +36 -0
- package/dist/loop/telemetry/index.d.ts.map +1 -0
- package/dist/loop/telemetry/noop.d.ts +3 -0
- package/dist/loop/telemetry/noop.d.ts.map +1 -0
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
- package/dist/loop/test-utils/fullStream.d.ts +6 -0
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -0
- package/dist/loop/test-utils/generateText.d.ts +6 -0
- package/dist/loop/test-utils/generateText.d.ts.map +1 -0
- package/dist/loop/test-utils/mock-server-response.d.ts +28 -0
- package/dist/loop/test-utils/mock-server-response.d.ts.map +1 -0
- package/dist/loop/test-utils/mockTracer.d.ts +47 -0
- package/dist/loop/test-utils/mockTracer.d.ts.map +1 -0
- package/dist/loop/test-utils/options.d.ts +6 -0
- package/dist/loop/test-utils/options.d.ts.map +1 -0
- package/dist/loop/test-utils/resultObject.d.ts +6 -0
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -0
- package/dist/loop/test-utils/streamObject.d.ts +15 -0
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -0
- package/dist/loop/test-utils/telemetry.d.ts +6 -0
- package/dist/loop/test-utils/telemetry.d.ts.map +1 -0
- package/dist/loop/test-utils/textStream.d.ts +6 -0
- package/dist/loop/test-utils/textStream.d.ts.map +1 -0
- package/dist/loop/test-utils/toUIMessageStream.d.ts +6 -0
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -0
- package/dist/loop/test-utils/tools.d.ts +6 -0
- package/dist/loop/test-utils/tools.d.ts.map +1 -0
- package/dist/loop/test-utils/utils.d.ts +45 -0
- package/dist/loop/test-utils/utils.d.ts.map +1 -0
- package/dist/loop/types.d.ts +111 -0
- package/dist/loop/types.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/index.d.ts +939 -0
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +629 -0
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +348 -0
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +58 -0
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-loop/index.d.ts +945 -0
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -0
- package/dist/loop/workflows/run-state.d.ts +29 -0
- package/dist/loop/workflows/run-state.d.ts.map +1 -0
- package/dist/loop/workflows/schema.d.ts +479 -0
- package/dist/loop/workflows/schema.d.ts.map +1 -0
- package/dist/loop/workflows/stream.d.ts +20 -0
- package/dist/loop/workflows/stream.d.ts.map +1 -0
- package/dist/mastra/hooks.d.ts +6 -0
- package/dist/mastra/hooks.d.ts.map +1 -0
- package/dist/mastra/index.cjs +12 -0
- package/dist/mastra/index.cjs.map +1 -0
- package/dist/mastra/index.d.ts +892 -0
- package/dist/mastra/index.d.ts.map +1 -0
- package/dist/mastra/index.js +3 -0
- package/dist/mastra/index.js.map +1 -0
- package/dist/mcp/index.cjs +112 -0
- package/dist/mcp/index.cjs.map +1 -0
- package/dist/mcp/index.d.ts +158 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +106 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/types.d.ts +255 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/index.cjs +20 -0
- package/dist/memory/index.cjs.map +1 -0
- package/dist/memory/index.d.ts +3 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +3 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/index.warning.d.ts +6 -0
- package/dist/memory/index.warning.d.ts.map +1 -0
- package/dist/memory/memory.d.ts +272 -0
- package/dist/memory/memory.d.ts.map +1 -0
- package/dist/memory/types.d.ts +393 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/models-dev-LJ4O6FNF.js +3 -0
- package/dist/models-dev-LJ4O6FNF.js.map +1 -0
- package/dist/models-dev-T2CXOEDH.cjs +12 -0
- package/dist/models-dev-T2CXOEDH.cjs.map +1 -0
- package/dist/netlify-BAEMIQNH.cjs +12 -0
- package/dist/netlify-BAEMIQNH.cjs.map +1 -0
- package/dist/netlify-L7AZ74PV.js +3 -0
- package/dist/netlify-L7AZ74PV.js.map +1 -0
- package/dist/processors/index.cjs +48 -0
- package/dist/processors/index.cjs.map +1 -0
- package/dist/processors/index.d.ts +43 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +3 -0
- package/dist/processors/index.js.map +1 -0
- package/dist/processors/processors/batch-parts.d.ts +47 -0
- package/dist/processors/processors/batch-parts.d.ts.map +1 -0
- package/dist/processors/processors/index.d.ts +10 -0
- package/dist/processors/processors/index.d.ts.map +1 -0
- package/dist/processors/processors/language-detector.d.ts +153 -0
- package/dist/processors/processors/language-detector.d.ts.map +1 -0
- package/dist/processors/processors/moderation.d.ts +138 -0
- package/dist/processors/processors/moderation.d.ts.map +1 -0
- package/dist/processors/processors/pii-detector.d.ts +203 -0
- package/dist/processors/processors/pii-detector.d.ts.map +1 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts +116 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -0
- package/dist/processors/processors/structured-output.d.ts +53 -0
- package/dist/processors/processors/structured-output.d.ts.map +1 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts +105 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -0
- package/dist/processors/processors/token-limiter.d.ts +66 -0
- package/dist/processors/processors/token-limiter.d.ts.map +1 -0
- package/dist/processors/processors/unicode-normalizer.d.ts +34 -0
- package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -0
- package/dist/processors/runner.d.ts +46 -0
- package/dist/processors/runner.d.ts.map +1 -0
- package/dist/provider-registry-RUDYHG7J.cjs +40 -0
- package/dist/provider-registry-RUDYHG7J.cjs.map +1 -0
- package/dist/provider-registry-THITZUJ7.js +3 -0
- package/dist/provider-registry-THITZUJ7.js.map +1 -0
- package/dist/provider-registry.json +2748 -0
- package/dist/registry-generator-DL42NMBM.cjs +134 -0
- package/dist/registry-generator-DL42NMBM.cjs.map +1 -0
- package/dist/registry-generator-I6S4ARS6.js +124 -0
- package/dist/registry-generator-I6S4ARS6.js.map +1 -0
- package/dist/relevance/cohere/index.d.ts +9 -0
- package/dist/relevance/cohere/index.d.ts.map +1 -0
- package/dist/relevance/index.cjs +20 -0
- package/dist/relevance/index.cjs.map +1 -0
- package/dist/relevance/index.d.ts +4 -0
- package/dist/relevance/index.d.ts.map +1 -0
- package/dist/relevance/index.js +3 -0
- package/dist/relevance/index.js.map +1 -0
- package/dist/relevance/mastra-agent/index.d.ts +8 -0
- package/dist/relevance/mastra-agent/index.d.ts.map +1 -0
- package/dist/relevance/relevance-score-provider.d.ts +5 -0
- package/dist/relevance/relevance-score-provider.d.ts.map +1 -0
- package/dist/run/types.d.ts +6 -0
- package/dist/run/types.d.ts.map +1 -0
- package/dist/runtime-context/index.cjs +12 -0
- package/dist/runtime-context/index.cjs.map +1 -0
- package/dist/runtime-context/index.d.ts +57 -0
- package/dist/runtime-context/index.d.ts.map +1 -0
- package/dist/runtime-context/index.js +3 -0
- package/dist/runtime-context/index.js.map +1 -0
- package/dist/scores/base.d.ts +141 -0
- package/dist/scores/base.d.ts.map +1 -0
- package/dist/scores/base.test-utils.d.ts +124 -0
- package/dist/scores/base.test-utils.d.ts.map +1 -0
- package/dist/scores/hooks.d.ts +19 -0
- package/dist/scores/hooks.d.ts.map +1 -0
- package/dist/scores/index.cjs +37 -0
- package/dist/scores/index.cjs.map +1 -0
- package/dist/scores/index.d.ts +4 -0
- package/dist/scores/index.d.ts.map +1 -0
- package/dist/scores/index.js +4 -0
- package/dist/scores/index.js.map +1 -0
- package/dist/scores/run-experiment/index.d.ts +61 -0
- package/dist/scores/run-experiment/index.d.ts.map +1 -0
- package/dist/scores/run-experiment/scorerAccumulator.d.ts +12 -0
- package/dist/scores/run-experiment/scorerAccumulator.d.ts.map +1 -0
- package/dist/scores/scoreTraces/index.cjs +431 -0
- package/dist/scores/scoreTraces/index.cjs.map +1 -0
- package/dist/scores/scoreTraces/index.d.ts +3 -0
- package/dist/scores/scoreTraces/index.d.ts.map +1 -0
- package/dist/scores/scoreTraces/index.js +423 -0
- package/dist/scores/scoreTraces/index.js.map +1 -0
- package/dist/scores/scoreTraces/scoreTraces.d.ts +10 -0
- package/dist/scores/scoreTraces/scoreTraces.d.ts.map +1 -0
- package/dist/scores/scoreTraces/scoreTracesWorkflow.d.ts +95 -0
- package/dist/scores/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -0
- package/dist/scores/scoreTraces/utils.d.ts +21 -0
- package/dist/scores/scoreTraces/utils.d.ts.map +1 -0
- package/dist/scores/types.d.ts +191 -0
- package/dist/scores/types.d.ts.map +1 -0
- package/dist/server/auth.d.ts +36 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/composite-auth.d.ts +9 -0
- package/dist/server/composite-auth.d.ts.map +1 -0
- package/dist/server/index.cjs +185 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.ts +37 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +180 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/simple-auth.d.ts +32 -0
- package/dist/server/simple-auth.d.ts.map +1 -0
- package/dist/server/types.d.ts +140 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/storage/base.d.ts +360 -0
- package/dist/storage/base.d.ts.map +1 -0
- package/dist/storage/base.warning.d.ts +8 -0
- package/dist/storage/base.warning.d.ts.map +1 -0
- package/dist/storage/constants.d.ts +14 -0
- package/dist/storage/constants.d.ts.map +1 -0
- package/dist/storage/domains/index.d.ts +8 -0
- package/dist/storage/domains/index.d.ts.map +1 -0
- package/dist/storage/domains/legacy-evals/base.d.ts +13 -0
- package/dist/storage/domains/legacy-evals/base.d.ts.map +1 -0
- package/dist/storage/domains/legacy-evals/index.d.ts +2 -0
- package/dist/storage/domains/legacy-evals/index.d.ts.map +1 -0
- package/dist/storage/domains/legacy-evals/inmemory.d.ts +17 -0
- package/dist/storage/domains/legacy-evals/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/memory/base.d.ts +96 -0
- package/dist/storage/domains/memory/base.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +3 -0
- package/dist/storage/domains/memory/index.d.ts.map +1 -0
- package/dist/storage/domains/memory/inmemory.d.ts +85 -0
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/observability/base.d.ts +60 -0
- package/dist/storage/domains/observability/base.d.ts.map +1 -0
- package/dist/storage/domains/observability/index.d.ts +3 -0
- package/dist/storage/domains/observability/index.d.ts.map +1 -0
- package/dist/storage/domains/observability/inmemory.d.ts +48 -0
- package/dist/storage/domains/observability/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/operations/base.d.ts +68 -0
- package/dist/storage/domains/operations/base.d.ts.map +1 -0
- package/dist/storage/domains/operations/index.d.ts +3 -0
- package/dist/storage/domains/operations/index.d.ts.map +1 -0
- package/dist/storage/domains/operations/inmemory.d.ts +37 -0
- package/dist/storage/domains/operations/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/scores/base.d.ts +46 -0
- package/dist/storage/domains/scores/base.d.ts.map +1 -0
- package/dist/storage/domains/scores/index.d.ts +3 -0
- package/dist/storage/domains/scores/index.d.ts.map +1 -0
- package/dist/storage/domains/scores/inmemory.d.ts +50 -0
- package/dist/storage/domains/scores/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/traces/base.d.ts +14 -0
- package/dist/storage/domains/traces/base.d.ts.map +1 -0
- package/dist/storage/domains/traces/index.d.ts +3 -0
- package/dist/storage/domains/traces/index.d.ts.map +1 -0
- package/dist/storage/domains/traces/inmemory.d.ts +22 -0
- package/dist/storage/domains/traces/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/workflows/base.d.ts +47 -0
- package/dist/storage/domains/workflows/base.d.ts.map +1 -0
- package/dist/storage/domains/workflows/index.d.ts +3 -0
- package/dist/storage/domains/workflows/index.d.ts.map +1 -0
- package/dist/storage/domains/workflows/inmemory.d.ts +54 -0
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -0
- package/dist/storage/index.cjs +1821 -0
- package/dist/storage/index.cjs.map +1 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +1746 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/index.warning.d.ts +3 -0
- package/dist/storage/index.warning.d.ts.map +1 -0
- package/dist/storage/mock.d.ts +242 -0
- package/dist/storage/mock.d.ts.map +1 -0
- package/dist/storage/storageWithInit.d.ts +3 -0
- package/dist/storage/storageWithInit.d.ts.map +1 -0
- package/dist/storage/types.d.ts +206 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/utils.d.ts +2 -0
- package/dist/storage/utils.d.ts.map +1 -0
- package/dist/stream/MastraAgentNetworkStream.d.ts +22 -0
- package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -0
- package/dist/stream/MastraWorkflowStream.d.ts +19 -0
- package/dist/stream/MastraWorkflowStream.d.ts.map +1 -0
- package/dist/stream/RunOutput.d.ts +72 -0
- package/dist/stream/RunOutput.d.ts.map +1 -0
- package/dist/stream/aisdk/v4/input.d.ts +16 -0
- package/dist/stream/aisdk/v4/input.d.ts.map +1 -0
- package/dist/stream/aisdk/v4/transform.d.ts +5 -0
- package/dist/stream/aisdk/v4/transform.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/consume-stream.d.ts +8 -0
- package/dist/stream/aisdk/v5/compat/consume-stream.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/content.d.ts +7 -0
- package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts +23 -0
- package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/index.d.ts +8 -0
- package/dist/stream/aisdk/v5/compat/index.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/media.d.ts +91 -0
- package/dist/stream/aisdk/v5/compat/media.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +11 -0
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts +20 -0
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/validation.d.ts +17 -0
- package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/execute.d.ts +41 -0
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/file.d.ts +38 -0
- package/dist/stream/aisdk/v5/file.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/input.d.ts +16 -0
- package/dist/stream/aisdk/v5/input.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/output-helpers.d.ts +66 -0
- package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/output.d.ts +173 -0
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/test-utils.d.ts +19 -0
- package/dist/stream/aisdk/v5/test-utils.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/transform.d.ts +27 -0
- package/dist/stream/aisdk/v5/transform.d.ts.map +1 -0
- package/dist/stream/base/base.d.ts +7 -0
- package/dist/stream/base/base.d.ts.map +1 -0
- package/dist/stream/base/consume-stream.d.ts +5 -0
- package/dist/stream/base/consume-stream.d.ts.map +1 -0
- package/dist/stream/base/index.d.ts +2 -0
- package/dist/stream/base/index.d.ts.map +1 -0
- package/dist/stream/base/input.d.ts +16 -0
- package/dist/stream/base/input.d.ts.map +1 -0
- package/dist/stream/base/output-format-handlers.d.ts +29 -0
- package/dist/stream/base/output-format-handlers.d.ts.map +1 -0
- package/dist/stream/base/output.d.ts +313 -0
- package/dist/stream/base/output.d.ts.map +1 -0
- package/dist/stream/base/schema.d.ts +31 -0
- package/dist/stream/base/schema.d.ts.map +1 -0
- package/dist/stream/index.cjs +45 -0
- package/dist/stream/index.cjs.map +1 -0
- package/dist/stream/index.d.ts +11 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +4 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/types.d.ts +734 -0
- package/dist/stream/types.d.ts.map +1 -0
- package/dist/telemetry/composite-exporter.d.ts +10 -0
- package/dist/telemetry/composite-exporter.d.ts.map +1 -0
- package/dist/telemetry/index.cjs +32 -0
- package/dist/telemetry/index.cjs.map +1 -0
- package/dist/telemetry/index.d.ts +6 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +3 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/otel-vendor.cjs +105 -0
- package/dist/telemetry/otel-vendor.cjs.map +1 -0
- package/dist/telemetry/otel-vendor.d.ts +11 -0
- package/dist/telemetry/otel-vendor.d.ts.map +1 -0
- package/dist/telemetry/otel-vendor.js +59 -0
- package/dist/telemetry/otel-vendor.js.map +1 -0
- package/dist/telemetry/storage-exporter.d.ts +21 -0
- package/dist/telemetry/storage-exporter.d.ts.map +1 -0
- package/dist/telemetry/telemetry.d.ts +59 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.decorators.d.ts +15 -0
- package/dist/telemetry/telemetry.decorators.d.ts.map +1 -0
- package/dist/telemetry/types.d.ts +74 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/utility.d.ts +15 -0
- package/dist/telemetry/utility.d.ts.map +1 -0
- package/dist/test-utils/llm-mock.cjs +181 -0
- package/dist/test-utils/llm-mock.cjs.map +1 -0
- package/dist/test-utils/llm-mock.d.ts +21 -0
- package/dist/test-utils/llm-mock.d.ts.map +1 -0
- package/dist/test-utils/llm-mock.js +178 -0
- package/dist/test-utils/llm-mock.js.map +1 -0
- package/dist/tools/index.cjs +25 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/index.warning.d.ts +8 -0
- package/dist/tools/index.warning.d.ts.map +1 -0
- package/dist/tools/is-vercel-tool.cjs +12 -0
- package/dist/tools/is-vercel-tool.cjs.map +1 -0
- package/dist/tools/is-vercel-tool.d.ts +2 -0
- package/dist/tools/is-vercel-tool.d.ts.map +1 -0
- package/dist/tools/is-vercel-tool.js +3 -0
- package/dist/tools/is-vercel-tool.js.map +1 -0
- package/dist/tools/stream.d.ts +19 -0
- package/dist/tools/stream.d.ts.map +1 -0
- package/dist/tools/tool-builder/builder.d.ts +28 -0
- package/dist/tools/tool-builder/builder.d.ts.map +1 -0
- package/dist/tools/tool.d.ts +186 -0
- package/dist/tools/tool.d.ts.map +1 -0
- package/dist/tools/toolchecks.d.ts +9 -0
- package/dist/tools/toolchecks.d.ts.map +1 -0
- package/dist/tools/types.d.ts +70 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/ui-types.d.ts +39 -0
- package/dist/tools/ui-types.d.ts.map +1 -0
- package/dist/tools/validation.d.ts +19 -0
- package/dist/tools/validation.d.ts.map +1 -0
- package/dist/tts/index.cjs +12 -0
- package/dist/tts/index.cjs.map +1 -0
- package/dist/tts/index.d.ts +22 -0
- package/dist/tts/index.d.ts.map +1 -0
- package/dist/tts/index.js +3 -0
- package/dist/tts/index.js.map +1 -0
- package/dist/tts/index.warning.d.ts +7 -0
- package/dist/tts/index.warning.d.ts.map +1 -0
- package/dist/types/dynamic-argument.d.ts +9 -0
- package/dist/types/dynamic-argument.d.ts.map +1 -0
- package/dist/types/index.cjs +4 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/zod-compat.d.ts +23 -0
- package/dist/types/zod-compat.d.ts.map +1 -0
- package/dist/utils.cjs +72 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +148 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -0
- package/dist/vector/embed.d.ts +3 -0
- package/dist/vector/embed.d.ts.map +1 -0
- package/dist/vector/filter/base.d.ts +128 -0
- package/dist/vector/filter/base.d.ts.map +1 -0
- package/dist/vector/filter/index.cjs +12 -0
- package/dist/vector/filter/index.cjs.map +1 -0
- package/dist/vector/filter/index.d.ts +2 -0
- package/dist/vector/filter/index.d.ts.map +1 -0
- package/dist/vector/filter/index.js +3 -0
- package/dist/vector/filter/index.js.map +1 -0
- package/dist/vector/index.cjs +25 -0
- package/dist/vector/index.cjs.map +1 -0
- package/dist/vector/index.d.ts +5 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/dist/vector/index.js +4 -0
- package/dist/vector/index.js.map +1 -0
- package/dist/vector/index.warning.d.ts +6 -0
- package/dist/vector/index.warning.d.ts.map +1 -0
- package/dist/vector/types.d.ts +152 -0
- package/dist/vector/types.d.ts.map +1 -0
- package/dist/vector/vector.d.ts +57 -0
- package/dist/vector/vector.d.ts.map +1 -0
- package/dist/voice/aisdk/index.d.ts +3 -0
- package/dist/voice/aisdk/index.d.ts.map +1 -0
- package/dist/voice/aisdk/speech.d.ts +23 -0
- package/dist/voice/aisdk/speech.d.ts.map +1 -0
- package/dist/voice/aisdk/transcription.d.ts +22 -0
- package/dist/voice/aisdk/transcription.d.ts.map +1 -0
- package/dist/voice/composite-voice.d.ts +78 -0
- package/dist/voice/composite-voice.d.ts.map +1 -0
- package/dist/voice/default-voice.d.ts +13 -0
- package/dist/voice/default-voice.d.ts.map +1 -0
- package/dist/voice/index.cjs +28 -0
- package/dist/voice/index.cjs.map +1 -0
- package/dist/voice/index.d.ts +5 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +3 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/voice.d.ts +132 -0
- package/dist/voice/voice.d.ts.map +1 -0
- package/dist/workflows/constants.cjs +16 -0
- package/dist/workflows/constants.cjs.map +1 -0
- package/dist/workflows/constants.d.ts +3 -0
- package/dist/workflows/constants.d.ts.map +1 -0
- package/dist/workflows/constants.js +3 -0
- package/dist/workflows/constants.js.map +1 -0
- package/dist/workflows/default.d.ts +345 -0
- package/dist/workflows/default.d.ts.map +1 -0
- package/dist/workflows/evented/execution-engine.d.ts +41 -0
- package/dist/workflows/evented/execution-engine.d.ts.map +1 -0
- package/dist/workflows/evented/index.cjs +44 -0
- package/dist/workflows/evented/index.cjs.map +1 -0
- package/dist/workflows/evented/index.d.ts +5 -0
- package/dist/workflows/evented/index.d.ts.map +1 -0
- package/dist/workflows/evented/index.js +3 -0
- package/dist/workflows/evented/index.js.map +1 -0
- package/dist/workflows/evented/step-executor.d.ts +90 -0
- package/dist/workflows/evented/step-executor.d.ts.map +1 -0
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +54 -0
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -0
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts +21 -0
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -0
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +18 -0
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -0
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +24 -0
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -0
- package/dist/workflows/evented/workflow-event-processor/utils.d.ts +30 -0
- package/dist/workflows/evented/workflow-event-processor/utils.d.ts.map +1 -0
- package/dist/workflows/evented/workflow.d.ts +81 -0
- package/dist/workflows/evented/workflow.d.ts.map +1 -0
- package/dist/workflows/execution-engine.d.ts +75 -0
- package/dist/workflows/execution-engine.d.ts.map +1 -0
- package/dist/workflows/index.cjs +60 -0
- package/dist/workflows/index.cjs.map +1 -0
- package/dist/workflows/index.d.ts +7 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +3 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/index.warning.d.ts +6 -0
- package/dist/workflows/index.warning.d.ts.map +1 -0
- package/dist/workflows/legacy/index.cjs +92 -0
- package/dist/workflows/legacy/index.cjs.map +1 -0
- package/dist/workflows/legacy/index.d.ts +5 -0
- package/dist/workflows/legacy/index.d.ts.map +1 -0
- package/dist/workflows/legacy/index.js +3 -0
- package/dist/workflows/legacy/index.js.map +1 -0
- package/dist/workflows/legacy/machine.d.ts +386 -0
- package/dist/workflows/legacy/machine.d.ts.map +1 -0
- package/dist/workflows/legacy/step.d.ts +15 -0
- package/dist/workflows/legacy/step.d.ts.map +1 -0
- package/dist/workflows/legacy/types.d.ts +397 -0
- package/dist/workflows/legacy/types.d.ts.map +1 -0
- package/dist/workflows/legacy/utils.d.ts +68 -0
- package/dist/workflows/legacy/utils.d.ts.map +1 -0
- package/dist/workflows/legacy/workflow-instance.d.ts +97 -0
- package/dist/workflows/legacy/workflow-instance.d.ts.map +1 -0
- package/dist/workflows/legacy/workflow.d.ts +109 -0
- package/dist/workflows/legacy/workflow.d.ts.map +1 -0
- package/dist/workflows/step.d.ts +64 -0
- package/dist/workflows/step.d.ts.map +1 -0
- package/dist/workflows/types.d.ts +351 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/utils.d.ts +19 -0
- package/dist/workflows/utils.d.ts.map +1 -0
- package/dist/workflows/workflow.d.ts +493 -0
- package/dist/workflows/workflow.d.ts.map +1 -0
- package/dist/workflows/workflow.warning.d.ts +9 -0
- package/dist/workflows/workflow.warning.d.ts.map +1 -0
- package/dist/zod-to-json.cjs +12 -0
- package/dist/zod-to-json.cjs.map +1 -0
- package/dist/zod-to-json.d.ts +2 -0
- package/dist/zod-to-json.d.ts.map +1 -0
- package/dist/zod-to-json.js +3 -0
- package/dist/zod-to-json.js.map +1 -0
- package/error.d.ts +1 -0
- package/eval.d.ts +1 -0
- package/events.d.ts +1 -0
- package/hooks.d.ts +1 -0
- package/integration.d.ts +1 -0
- package/llm.d.ts +1 -0
- package/logger.d.ts +1 -0
- package/loop.d.ts +1 -0
- package/mastra.d.ts +1 -0
- package/mcp.d.ts +1 -0
- package/memory.d.ts +1 -0
- package/package.json +305 -0
- package/processors.d.ts +1 -0
- package/relevance.d.ts +1 -0
- package/runtime-context.d.ts +1 -0
- package/scores/scoreTraces.d.ts +1 -0
- package/scores.d.ts +1 -0
- package/server.d.ts +1 -0
- package/src/llm/model/provider-types.generated.d.ts +1205 -0
- package/storage.d.ts +1 -0
- package/stream.d.ts +1 -0
- package/telemetry/otel-vendor.d.ts +1 -0
- package/telemetry.d.ts +1 -0
- package/test-utils/llm-mock.d.ts +1 -0
- package/tools/is-vercel-tool.d.ts +1 -0
- package/tools.d.ts +1 -0
- package/tts.d.ts +1 -0
- package/types.d.ts +1 -0
- package/utils/zod-to-json.d.ts +1 -0
- package/utils.d.ts +1 -0
- package/vector/filter.d.ts +1 -0
- package/vector.d.ts +1 -0
- package/voice.d.ts +1 -0
- package/workflows/_constants.d.ts +1 -0
- package/workflows/evented.d.ts +1 -0
- package/workflows/legacy.d.ts +1 -0
- package/workflows.d.ts +1 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkRJOVFHWN_cjs = require('./chunk-RJOVFHWN.cjs');
|
|
4
|
+
var chunkZOYE65RA_cjs = require('./chunk-ZOYE65RA.cjs');
|
|
5
|
+
var chunkIWU4YSYT_cjs = require('./chunk-IWU4YSYT.cjs');
|
|
6
|
+
var chunkGPWMM745_cjs = require('./chunk-GPWMM745.cjs');
|
|
7
|
+
var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
|
|
8
|
+
var crypto = require('crypto');
|
|
9
|
+
var openaiCompatibleV5 = require('@ai-sdk/openai-compatible-v5');
|
|
10
|
+
var googleV5 = require('@ai-sdk/google-v5');
|
|
11
|
+
var openaiV5 = require('@ai-sdk/openai-v5');
|
|
12
|
+
|
|
13
|
+
// src/llm/model/gateways/index.ts
|
|
14
|
+
function findGatewayForModel(gatewayId, gateways) {
|
|
15
|
+
const prefixedGateway = gateways.find(
|
|
16
|
+
(g) => g.id !== "models.dev" && (g.id === gatewayId || gatewayId.startsWith(`${g.id}/`))
|
|
17
|
+
);
|
|
18
|
+
if (prefixedGateway) {
|
|
19
|
+
return prefixedGateway;
|
|
20
|
+
}
|
|
21
|
+
const modelsDevGateway = gateways.find((g) => g.id === "models.dev");
|
|
22
|
+
if (modelsDevGateway) {
|
|
23
|
+
return modelsDevGateway;
|
|
24
|
+
}
|
|
25
|
+
throw new chunk5NTO7S5I_cjs.MastraError({
|
|
26
|
+
id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
|
|
27
|
+
category: "USER",
|
|
28
|
+
domain: "MODEL_ROUTER",
|
|
29
|
+
text: `No Mastra model router gateway found for model id ${gatewayId}`
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
var AISDKV5LanguageModel = class {
|
|
33
|
+
/**
|
|
34
|
+
* The language model must specify which language model interface version it implements.
|
|
35
|
+
*/
|
|
36
|
+
specificationVersion = "v2";
|
|
37
|
+
/**
|
|
38
|
+
* Name of the provider for logging purposes.
|
|
39
|
+
*/
|
|
40
|
+
provider;
|
|
41
|
+
/**
|
|
42
|
+
* Provider-specific model ID for logging purposes.
|
|
43
|
+
*/
|
|
44
|
+
modelId;
|
|
45
|
+
/**
|
|
46
|
+
* Supported URL patterns by media type for the provider.
|
|
47
|
+
*
|
|
48
|
+
* The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
|
|
49
|
+
* and the values are arrays of regular expressions that match the URL paths.
|
|
50
|
+
* The matching should be against lower-case URLs.
|
|
51
|
+
* Matched URLs are supported natively by the model and are not downloaded.
|
|
52
|
+
* @returns A map of supported URL patterns by media type (as a promise or a plain object).
|
|
53
|
+
*/
|
|
54
|
+
supportedUrls;
|
|
55
|
+
#model;
|
|
56
|
+
constructor(config) {
|
|
57
|
+
this.#model = config;
|
|
58
|
+
this.provider = this.#model.provider;
|
|
59
|
+
this.modelId = this.#model.modelId;
|
|
60
|
+
this.supportedUrls = this.#model.supportedUrls;
|
|
61
|
+
}
|
|
62
|
+
async doGenerate(options) {
|
|
63
|
+
const result = await this.#model.doGenerate(options);
|
|
64
|
+
return {
|
|
65
|
+
request: result.request,
|
|
66
|
+
response: result.response,
|
|
67
|
+
stream: new ReadableStream({
|
|
68
|
+
start(controller) {
|
|
69
|
+
controller.enqueue({ type: "stream-start", warnings: result.warnings });
|
|
70
|
+
controller.enqueue({
|
|
71
|
+
type: "response-metadata",
|
|
72
|
+
id: result.response?.id,
|
|
73
|
+
modelId: result.response?.modelId,
|
|
74
|
+
timestamp: result.response?.timestamp
|
|
75
|
+
});
|
|
76
|
+
for (const message of result.content) {
|
|
77
|
+
if (message.type === "tool-call") {
|
|
78
|
+
const toolCall = message;
|
|
79
|
+
controller.enqueue({
|
|
80
|
+
type: "tool-input-start",
|
|
81
|
+
id: toolCall.toolCallId,
|
|
82
|
+
toolName: toolCall.toolName
|
|
83
|
+
});
|
|
84
|
+
controller.enqueue({
|
|
85
|
+
type: "tool-input-delta",
|
|
86
|
+
id: toolCall.toolCallId,
|
|
87
|
+
delta: toolCall.input
|
|
88
|
+
});
|
|
89
|
+
controller.enqueue({
|
|
90
|
+
type: "tool-input-end",
|
|
91
|
+
id: toolCall.toolCallId
|
|
92
|
+
});
|
|
93
|
+
controller.enqueue(toolCall);
|
|
94
|
+
} else if (message.type === "tool-result") {
|
|
95
|
+
const toolResult = message;
|
|
96
|
+
controller.enqueue(toolResult);
|
|
97
|
+
} else if (message.type === "text") {
|
|
98
|
+
const text = message;
|
|
99
|
+
const id = `msg_${crypto.randomUUID()}`;
|
|
100
|
+
controller.enqueue({
|
|
101
|
+
type: "text-start",
|
|
102
|
+
id,
|
|
103
|
+
providerMetadata: text.providerMetadata
|
|
104
|
+
});
|
|
105
|
+
controller.enqueue({
|
|
106
|
+
type: "text-delta",
|
|
107
|
+
id,
|
|
108
|
+
delta: text.text
|
|
109
|
+
});
|
|
110
|
+
controller.enqueue({
|
|
111
|
+
type: "text-end",
|
|
112
|
+
id
|
|
113
|
+
});
|
|
114
|
+
} else if (message.type === "reasoning") {
|
|
115
|
+
const id = `reasoning_${crypto.randomUUID()}`;
|
|
116
|
+
const reasoning = message;
|
|
117
|
+
controller.enqueue({
|
|
118
|
+
type: "reasoning-start",
|
|
119
|
+
id,
|
|
120
|
+
providerMetadata: reasoning.providerMetadata
|
|
121
|
+
});
|
|
122
|
+
controller.enqueue({
|
|
123
|
+
type: "reasoning-delta",
|
|
124
|
+
id,
|
|
125
|
+
delta: reasoning.text,
|
|
126
|
+
providerMetadata: reasoning.providerMetadata
|
|
127
|
+
});
|
|
128
|
+
controller.enqueue({
|
|
129
|
+
type: "reasoning-end",
|
|
130
|
+
id,
|
|
131
|
+
providerMetadata: reasoning.providerMetadata
|
|
132
|
+
});
|
|
133
|
+
} else if (message.type === "file") {
|
|
134
|
+
const file = message;
|
|
135
|
+
controller.enqueue({
|
|
136
|
+
type: "file",
|
|
137
|
+
mediaType: file.mediaType,
|
|
138
|
+
data: file.data
|
|
139
|
+
});
|
|
140
|
+
} else if (message.type === "source") {
|
|
141
|
+
const source = message;
|
|
142
|
+
if (source.sourceType === "url") {
|
|
143
|
+
controller.enqueue({
|
|
144
|
+
type: "source",
|
|
145
|
+
id: source.id,
|
|
146
|
+
sourceType: "url",
|
|
147
|
+
url: source.url,
|
|
148
|
+
title: source.title,
|
|
149
|
+
providerMetadata: source.providerMetadata
|
|
150
|
+
});
|
|
151
|
+
} else {
|
|
152
|
+
controller.enqueue({
|
|
153
|
+
type: "source",
|
|
154
|
+
id: source.id,
|
|
155
|
+
sourceType: "document",
|
|
156
|
+
mediaType: source.mediaType,
|
|
157
|
+
filename: source.filename,
|
|
158
|
+
title: source.title,
|
|
159
|
+
providerMetadata: source.providerMetadata
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
controller.enqueue({
|
|
165
|
+
type: "finish",
|
|
166
|
+
finishReason: result.finishReason,
|
|
167
|
+
usage: result.usage,
|
|
168
|
+
providerMetadata: result.providerMetadata
|
|
169
|
+
});
|
|
170
|
+
controller.close();
|
|
171
|
+
}
|
|
172
|
+
})
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
async doStream(options) {
|
|
176
|
+
return await this.#model.doStream(options);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
// src/llm/model/router.ts
|
|
181
|
+
function getStaticProvidersByGateway(name) {
|
|
182
|
+
return Object.fromEntries(Object.entries(chunkRJOVFHWN_cjs.PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));
|
|
183
|
+
}
|
|
184
|
+
var defaultGateways = [new chunkIWU4YSYT_cjs.NetlifyGateway(), new chunkZOYE65RA_cjs.ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
|
|
185
|
+
var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
|
|
186
|
+
specificationVersion = "v2";
|
|
187
|
+
defaultObjectGenerationMode = "json";
|
|
188
|
+
supportsStructuredOutputs = true;
|
|
189
|
+
supportsImageUrls = true;
|
|
190
|
+
supportedUrls = {};
|
|
191
|
+
modelId;
|
|
192
|
+
provider;
|
|
193
|
+
config;
|
|
194
|
+
gateway;
|
|
195
|
+
constructor(config, customGateways) {
|
|
196
|
+
let normalizedConfig;
|
|
197
|
+
if (typeof config === "string") {
|
|
198
|
+
normalizedConfig = { id: config };
|
|
199
|
+
} else if ("providerId" in config && "modelId" in config) {
|
|
200
|
+
normalizedConfig = {
|
|
201
|
+
id: `${config.providerId}/${config.modelId}`,
|
|
202
|
+
url: config.url,
|
|
203
|
+
apiKey: config.apiKey,
|
|
204
|
+
headers: config.headers
|
|
205
|
+
};
|
|
206
|
+
} else {
|
|
207
|
+
normalizedConfig = {
|
|
208
|
+
id: config.id,
|
|
209
|
+
url: config.url,
|
|
210
|
+
apiKey: config.apiKey,
|
|
211
|
+
headers: config.headers
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const parsedConfig = {
|
|
215
|
+
...normalizedConfig,
|
|
216
|
+
routerId: normalizedConfig.id
|
|
217
|
+
};
|
|
218
|
+
this.gateway = findGatewayForModel(normalizedConfig.id, [...customGateways || [], ...defaultGateways]);
|
|
219
|
+
const gatewayPrefix = this.gateway.id === "models.dev" ? void 0 : this.gateway.id;
|
|
220
|
+
const parsed = chunkZOYE65RA_cjs.parseModelRouterId(normalizedConfig.id, gatewayPrefix);
|
|
221
|
+
this.provider = parsed.providerId || "openai-compatible";
|
|
222
|
+
if (parsed.providerId && parsed.modelId !== normalizedConfig.id) {
|
|
223
|
+
parsedConfig.id = parsed.modelId;
|
|
224
|
+
}
|
|
225
|
+
this.modelId = parsedConfig.id;
|
|
226
|
+
this.config = parsedConfig;
|
|
227
|
+
}
|
|
228
|
+
async doGenerate(options) {
|
|
229
|
+
let apiKey;
|
|
230
|
+
try {
|
|
231
|
+
if (this.config.url) {
|
|
232
|
+
apiKey = this.config.apiKey || "";
|
|
233
|
+
} else {
|
|
234
|
+
apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
|
|
235
|
+
}
|
|
236
|
+
} catch (error) {
|
|
237
|
+
return {
|
|
238
|
+
stream: new ReadableStream({
|
|
239
|
+
start(controller) {
|
|
240
|
+
controller.enqueue({
|
|
241
|
+
type: "error",
|
|
242
|
+
error
|
|
243
|
+
});
|
|
244
|
+
controller.close();
|
|
245
|
+
}
|
|
246
|
+
})
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
const gatewayPrefix = this.gateway.id === "models.dev" ? void 0 : this.gateway.id;
|
|
250
|
+
const model = await this.resolveLanguageModel({
|
|
251
|
+
apiKey,
|
|
252
|
+
headers: this.config.headers,
|
|
253
|
+
...chunkZOYE65RA_cjs.parseModelRouterId(this.config.routerId, gatewayPrefix)
|
|
254
|
+
});
|
|
255
|
+
const aiSDKV5Model = new AISDKV5LanguageModel(model);
|
|
256
|
+
return aiSDKV5Model.doGenerate(options);
|
|
257
|
+
}
|
|
258
|
+
async doStream(options) {
|
|
259
|
+
let apiKey;
|
|
260
|
+
try {
|
|
261
|
+
if (this.config.url) {
|
|
262
|
+
apiKey = this.config.apiKey || "";
|
|
263
|
+
} else {
|
|
264
|
+
apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
|
|
265
|
+
}
|
|
266
|
+
} catch (error) {
|
|
267
|
+
return {
|
|
268
|
+
stream: new ReadableStream({
|
|
269
|
+
start(controller) {
|
|
270
|
+
controller.enqueue({
|
|
271
|
+
type: "error",
|
|
272
|
+
error
|
|
273
|
+
});
|
|
274
|
+
controller.close();
|
|
275
|
+
}
|
|
276
|
+
})
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
const gatewayPrefix = this.gateway.id === "models.dev" ? void 0 : this.gateway.id;
|
|
280
|
+
const model = await this.resolveLanguageModel({
|
|
281
|
+
apiKey,
|
|
282
|
+
headers: this.config.headers,
|
|
283
|
+
...chunkZOYE65RA_cjs.parseModelRouterId(this.config.routerId, gatewayPrefix)
|
|
284
|
+
});
|
|
285
|
+
const aiSDKV5Model = new AISDKV5LanguageModel(model);
|
|
286
|
+
return aiSDKV5Model.doStream(options);
|
|
287
|
+
}
|
|
288
|
+
async resolveLanguageModel({
|
|
289
|
+
modelId,
|
|
290
|
+
providerId,
|
|
291
|
+
apiKey,
|
|
292
|
+
headers
|
|
293
|
+
}) {
|
|
294
|
+
const key = crypto.createHash("sha256").update(
|
|
295
|
+
this.gateway.id + modelId + providerId + apiKey + (this.config.url || "") + (headers ? JSON.stringify(headers) : "")
|
|
296
|
+
).digest("hex");
|
|
297
|
+
if (_ModelRouterLanguageModel.modelInstances.has(key)) return _ModelRouterLanguageModel.modelInstances.get(key);
|
|
298
|
+
if (this.config.url) {
|
|
299
|
+
const modelInstance2 = openaiCompatibleV5.createOpenAICompatible({
|
|
300
|
+
name: providerId,
|
|
301
|
+
apiKey,
|
|
302
|
+
baseURL: this.config.url,
|
|
303
|
+
headers: this.config.headers,
|
|
304
|
+
supportsStructuredOutputs: true
|
|
305
|
+
}).chatModel(modelId);
|
|
306
|
+
_ModelRouterLanguageModel.modelInstances.set(key, modelInstance2);
|
|
307
|
+
return modelInstance2;
|
|
308
|
+
}
|
|
309
|
+
const modelInstance = await this.gateway.resolveLanguageModel({ modelId, providerId, apiKey, headers });
|
|
310
|
+
_ModelRouterLanguageModel.modelInstances.set(key, modelInstance);
|
|
311
|
+
return modelInstance;
|
|
312
|
+
}
|
|
313
|
+
static modelInstances = /* @__PURE__ */ new Map();
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
// src/llm/model/resolve-model.ts
|
|
317
|
+
function isOpenAICompatibleObjectConfig(modelConfig) {
|
|
318
|
+
if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) return false;
|
|
319
|
+
if (typeof modelConfig === "object" && !("model" in modelConfig)) {
|
|
320
|
+
if ("id" in modelConfig) return true;
|
|
321
|
+
if ("providerId" in modelConfig && "modelId" in modelConfig) return true;
|
|
322
|
+
}
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
async function resolveModelConfig(modelConfig, runtimeContext = new chunkGPWMM745_cjs.RuntimeContext(), mastra) {
|
|
326
|
+
if (typeof modelConfig === "function") {
|
|
327
|
+
modelConfig = await modelConfig({ runtimeContext, mastra });
|
|
328
|
+
}
|
|
329
|
+
if (modelConfig instanceof ModelRouterLanguageModel || modelConfig instanceof AISDKV5LanguageModel) {
|
|
330
|
+
return modelConfig;
|
|
331
|
+
}
|
|
332
|
+
if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) {
|
|
333
|
+
if (modelConfig.specificationVersion === "v2") {
|
|
334
|
+
return new AISDKV5LanguageModel(modelConfig);
|
|
335
|
+
}
|
|
336
|
+
return modelConfig;
|
|
337
|
+
}
|
|
338
|
+
const gatewayRecord = mastra?.listGateways();
|
|
339
|
+
const customGateways = gatewayRecord ? Object.values(gatewayRecord) : void 0;
|
|
340
|
+
if (typeof modelConfig === "string" || isOpenAICompatibleObjectConfig(modelConfig)) {
|
|
341
|
+
return new ModelRouterLanguageModel(modelConfig, customGateways);
|
|
342
|
+
}
|
|
343
|
+
throw new Error("Invalid model configuration provided");
|
|
344
|
+
}
|
|
345
|
+
var ModelRouterEmbeddingModel = class {
|
|
346
|
+
specificationVersion = "v2";
|
|
347
|
+
modelId;
|
|
348
|
+
provider;
|
|
349
|
+
maxEmbeddingsPerCall = 2048;
|
|
350
|
+
supportsParallelCalls = true;
|
|
351
|
+
providerModel;
|
|
352
|
+
constructor(config) {
|
|
353
|
+
let normalizedConfig;
|
|
354
|
+
if (typeof config === "string") {
|
|
355
|
+
const parts = config.split("/");
|
|
356
|
+
if (parts.length !== 2) {
|
|
357
|
+
throw new Error(`Invalid model string format: "${config}". Expected format: "provider/model"`);
|
|
358
|
+
}
|
|
359
|
+
const [providerId, modelId] = parts;
|
|
360
|
+
normalizedConfig = { providerId, modelId };
|
|
361
|
+
} else if ("providerId" in config && "modelId" in config) {
|
|
362
|
+
normalizedConfig = {
|
|
363
|
+
providerId: config.providerId,
|
|
364
|
+
modelId: config.modelId,
|
|
365
|
+
url: config.url,
|
|
366
|
+
apiKey: config.apiKey,
|
|
367
|
+
headers: config.headers
|
|
368
|
+
};
|
|
369
|
+
} else {
|
|
370
|
+
const parts = config.id.split("/");
|
|
371
|
+
if (parts.length !== 2) {
|
|
372
|
+
throw new Error(`Invalid model string format: "${config.id}". Expected format: "provider/model"`);
|
|
373
|
+
}
|
|
374
|
+
const [providerId, modelId] = parts;
|
|
375
|
+
normalizedConfig = {
|
|
376
|
+
providerId,
|
|
377
|
+
modelId,
|
|
378
|
+
url: config.url,
|
|
379
|
+
apiKey: config.apiKey,
|
|
380
|
+
headers: config.headers
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
this.provider = normalizedConfig.providerId;
|
|
384
|
+
this.modelId = normalizedConfig.modelId;
|
|
385
|
+
if (normalizedConfig.url) {
|
|
386
|
+
const apiKey = normalizedConfig.apiKey || "";
|
|
387
|
+
this.providerModel = openaiCompatibleV5.createOpenAICompatible({
|
|
388
|
+
name: normalizedConfig.providerId,
|
|
389
|
+
apiKey,
|
|
390
|
+
baseURL: normalizedConfig.url,
|
|
391
|
+
headers: normalizedConfig.headers
|
|
392
|
+
}).textEmbeddingModel(normalizedConfig.modelId);
|
|
393
|
+
} else {
|
|
394
|
+
const registry = chunkRJOVFHWN_cjs.GatewayRegistry.getInstance();
|
|
395
|
+
const providerConfig = registry.getProviderConfig(normalizedConfig.providerId);
|
|
396
|
+
if (!providerConfig) {
|
|
397
|
+
throw new Error(`Unknown provider: ${normalizedConfig.providerId}`);
|
|
398
|
+
}
|
|
399
|
+
let apiKey = normalizedConfig.apiKey;
|
|
400
|
+
if (!apiKey) {
|
|
401
|
+
const apiKeyEnvVar = providerConfig.apiKeyEnvVar;
|
|
402
|
+
if (Array.isArray(apiKeyEnvVar)) {
|
|
403
|
+
for (const envVar of apiKeyEnvVar) {
|
|
404
|
+
apiKey = process.env[envVar];
|
|
405
|
+
if (apiKey) break;
|
|
406
|
+
}
|
|
407
|
+
} else {
|
|
408
|
+
apiKey = process.env[apiKeyEnvVar];
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
if (!apiKey) {
|
|
412
|
+
const envVarDisplay = Array.isArray(providerConfig.apiKeyEnvVar) ? providerConfig.apiKeyEnvVar.join(" or ") : providerConfig.apiKeyEnvVar;
|
|
413
|
+
throw new Error(`API key not found for provider ${normalizedConfig.providerId}. Set ${envVarDisplay}`);
|
|
414
|
+
}
|
|
415
|
+
if (normalizedConfig.providerId === "openai") {
|
|
416
|
+
this.providerModel = openaiV5.createOpenAI({ apiKey }).textEmbeddingModel(
|
|
417
|
+
normalizedConfig.modelId
|
|
418
|
+
);
|
|
419
|
+
} else if (normalizedConfig.providerId === "google") {
|
|
420
|
+
this.providerModel = googleV5.createGoogleGenerativeAI({ apiKey }).textEmbedding(
|
|
421
|
+
normalizedConfig.modelId
|
|
422
|
+
);
|
|
423
|
+
} else {
|
|
424
|
+
if (!providerConfig.url) {
|
|
425
|
+
throw new Error(`Provider ${normalizedConfig.providerId} does not have a URL configured`);
|
|
426
|
+
}
|
|
427
|
+
this.providerModel = openaiCompatibleV5.createOpenAICompatible({
|
|
428
|
+
name: normalizedConfig.providerId,
|
|
429
|
+
apiKey,
|
|
430
|
+
baseURL: providerConfig.url
|
|
431
|
+
}).textEmbeddingModel(normalizedConfig.modelId);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
if (this.providerModel.maxEmbeddingsPerCall !== void 0) {
|
|
435
|
+
this.maxEmbeddingsPerCall = this.providerModel.maxEmbeddingsPerCall;
|
|
436
|
+
}
|
|
437
|
+
if (this.providerModel.supportsParallelCalls !== void 0) {
|
|
438
|
+
this.supportsParallelCalls = this.providerModel.supportsParallelCalls;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
async doEmbed(args) {
|
|
442
|
+
return this.providerModel.doEmbed(args);
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
exports.ModelRouterEmbeddingModel = ModelRouterEmbeddingModel;
|
|
447
|
+
exports.ModelRouterLanguageModel = ModelRouterLanguageModel;
|
|
448
|
+
exports.resolveModelConfig = resolveModelConfig;
|
|
449
|
+
//# sourceMappingURL=chunk-XWGHD4C7.cjs.map
|
|
450
|
+
//# sourceMappingURL=chunk-XWGHD4C7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/gateways/index.ts","../src/llm/model/aisdk/v5/model.ts","../src/llm/model/router.ts","../src/llm/model/resolve-model.ts","../src/llm/model/embedding-router.ts"],"names":["MastraError","randomUUID","PROVIDER_REGISTRY","NetlifyGateway","ModelsDevGateway","parseModelRouterId","createHash","modelInstance","createOpenAICompatible","RuntimeContext","GatewayRegistry","createOpenAI","createGoogleGenerativeAI"],"mappings":"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","file":"chunk-XWGHD4C7.cjs","sourcesContent":["import { MastraError } from '../../../error/index.js';\nimport type { MastraModelGateway } from './base.js';\nexport { MastraModelGateway, type ProviderConfig } from './base.js';\nexport { ModelsDevGateway } from './models-dev.js';\nexport { NetlifyGateway } from './netlify.js';\n\n/**\n * Find the gateway that handles a specific model ID based on gateway ID\n * Gateway ID is used as the prefix (e.g., \"netlify\" for netlify gateway)\n * Exception: models.dev is a provider registry and doesn't use a prefix\n */\nexport function findGatewayForModel(gatewayId: string, gateways: MastraModelGateway[]): MastraModelGateway {\n // First, check for gateways whose ID matches the prefix (true gateways like netlify, openrouter, vercel)\n const prefixedGateway = gateways.find(\n (g: MastraModelGateway) => g.id !== 'models.dev' && (g.id === gatewayId || gatewayId.startsWith(`${g.id}/`)),\n );\n if (prefixedGateway) {\n return prefixedGateway;\n }\n\n // Then check models.dev (provider registry without prefix)\n const modelsDevGateway = gateways.find((g: MastraModelGateway) => g.id === 'models.dev');\n if (modelsDevGateway) {\n return modelsDevGateway;\n }\n\n throw new MastraError({\n id: 'MODEL_ROUTER_NO_GATEWAY_FOUND',\n category: 'USER',\n domain: 'MODEL_ROUTER',\n text: `No Mastra model router gateway found for model id ${gatewayId}`,\n });\n}\n","import { randomUUID } from 'crypto';\nimport type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5';\nimport type { MastraLanguageModelV2 } from '../../shared.types';\n\ntype StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>;\n\nexport class AISDKV5LanguageModel implements MastraLanguageModelV2 {\n /**\n * The language model must specify which language model interface version it implements.\n */\n readonly specificationVersion: 'v2' = 'v2';\n /**\n * Name of the provider for logging purposes.\n */\n readonly provider: string;\n /**\n * Provider-specific model ID for logging purposes.\n */\n readonly modelId: string;\n /**\n * Supported URL patterns by media type for the provider.\n *\n * The keys are media type patterns or full media types (e.g. `*\\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).\n * and the values are arrays of regular expressions that match the URL paths.\n * The matching should be against lower-case URLs.\n * Matched URLs are supported natively by the model and are not downloaded.\n * @returns A map of supported URL patterns by media type (as a promise or a plain object).\n */\n supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;\n\n #model: LanguageModelV2;\n\n constructor(config: LanguageModelV2) {\n this.#model = config;\n this.provider = this.#model.provider;\n this.modelId = this.#model.modelId;\n this.supportedUrls = this.#model.supportedUrls;\n }\n\n async doGenerate(options: LanguageModelV2CallOptions) {\n const result = await this.#model.doGenerate(options);\n\n return {\n request: result.request!,\n response: result.response as unknown as StreamResult['response'],\n stream: new ReadableStream({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings: result.warnings });\n controller.enqueue({\n type: 'response-metadata',\n id: result.response?.id,\n modelId: result.response?.modelId,\n timestamp: result.response?.timestamp,\n });\n\n for (const message of result.content) {\n if (message.type === 'tool-call') {\n const toolCall = message;\n controller.enqueue({\n type: 'tool-input-start',\n id: toolCall.toolCallId,\n toolName: toolCall.toolName,\n });\n controller.enqueue({\n type: 'tool-input-delta',\n id: toolCall.toolCallId,\n delta: toolCall.input,\n });\n controller.enqueue({\n type: 'tool-input-end',\n id: toolCall.toolCallId,\n });\n controller.enqueue(toolCall);\n } else if (message.type === 'tool-result') {\n const toolResult = message;\n controller.enqueue(toolResult);\n } else if (message.type === 'text') {\n const text = message;\n const id = `msg_${randomUUID()}`;\n controller.enqueue({\n type: 'text-start',\n id,\n providerMetadata: text.providerMetadata,\n });\n controller.enqueue({\n type: 'text-delta',\n id,\n delta: text.text,\n });\n controller.enqueue({\n type: 'text-end',\n id,\n });\n } else if (message.type === 'reasoning') {\n const id = `reasoning_${randomUUID()}`;\n\n const reasoning = message;\n controller.enqueue({\n type: 'reasoning-start',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-delta',\n id,\n delta: reasoning.text,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-end',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n } else if (message.type === 'file') {\n const file = message;\n controller.enqueue({\n type: 'file',\n mediaType: file.mediaType,\n data: file.data,\n });\n } else if (message.type === 'source') {\n const source = message;\n if (source.sourceType === 'url') {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'url',\n url: source.url,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n } else {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'document',\n mediaType: source.mediaType,\n filename: source.filename,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n }\n }\n }\n\n controller.enqueue({\n type: 'finish',\n finishReason: result.finishReason,\n usage: result.usage,\n providerMetadata: result.providerMetadata,\n });\n\n controller.close();\n },\n }),\n };\n }\n\n async doStream(options: LanguageModelV2CallOptions) {\n return await this.#model.doStream(options);\n }\n}\n","import { createHash } from 'node:crypto';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport type { LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2StreamPart } from '@ai-sdk/provider-v5';\nimport { AISDKV5LanguageModel } from './aisdk/v5/model';\nimport { parseModelRouterId } from './gateway-resolver.js';\nimport type { MastraModelGateway } from './gateways/base.js';\nimport { findGatewayForModel } from './gateways/index.js';\n\nimport { ModelsDevGateway } from './gateways/models-dev.js';\nimport { NetlifyGateway } from './gateways/netlify.js';\nimport type { ModelRouterModelId } from './provider-registry.js';\nimport { PROVIDER_REGISTRY } from './provider-registry.js';\nimport type { MastraLanguageModelV2, OpenAICompatibleConfig } from './shared.types';\n\ntype StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>;\n\nfunction getStaticProvidersByGateway(name: string) {\n return Object.fromEntries(Object.entries(PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));\n}\n\nexport const defaultGateways = [new NetlifyGateway(), new ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];\n\n/**\n * @deprecated Use defaultGateways instead. This export will be removed in a future version.\n */\nexport const gateways = defaultGateways;\n\nexport class ModelRouterLanguageModel implements MastraLanguageModelV2 {\n readonly specificationVersion = 'v2' as const;\n readonly defaultObjectGenerationMode = 'json' as const;\n readonly supportsStructuredOutputs = true;\n readonly supportsImageUrls = true;\n readonly supportedUrls = {} as Record<string, RegExp[]>;\n\n readonly modelId: string;\n readonly provider: string;\n\n private config: OpenAICompatibleConfig & { routerId: string };\n private gateway: MastraModelGateway;\n\n constructor(config: ModelRouterModelId | OpenAICompatibleConfig, customGateways?: MastraModelGateway[]) {\n // Normalize config to always have an 'id' field for routing\n let normalizedConfig: {\n id: `${string}/${string}`;\n url?: string;\n apiKey?: string;\n headers?: Record<string, string>;\n };\n\n if (typeof config === 'string') {\n normalizedConfig = { id: config as `${string}/${string}` };\n } else if ('providerId' in config && 'modelId' in config) {\n // Convert providerId/modelId to id format\n normalizedConfig = {\n id: `${config.providerId}/${config.modelId}` as `${string}/${string}`,\n url: config.url,\n apiKey: config.apiKey,\n headers: config.headers,\n };\n } else {\n // config has 'id' field\n normalizedConfig = {\n id: config.id,\n url: config.url,\n apiKey: config.apiKey,\n headers: config.headers,\n };\n }\n\n const parsedConfig: {\n id: `${string}/${string}`;\n routerId: string;\n url?: string;\n apiKey?: string;\n headers?: Record<string, string>;\n } = {\n ...normalizedConfig,\n routerId: normalizedConfig.id,\n };\n\n // Resolve gateway once using the normalized ID\n this.gateway = findGatewayForModel(normalizedConfig.id, [...(customGateways || []), ...defaultGateways]);\n // Extract provider from id if present\n // Gateway ID is used as prefix (except for models.dev which is a provider registry)\n const gatewayPrefix = this.gateway.id === 'models.dev' ? undefined : this.gateway.id;\n const parsed = parseModelRouterId(normalizedConfig.id, gatewayPrefix);\n\n this.provider = parsed.providerId || 'openai-compatible';\n\n if (parsed.providerId && parsed.modelId !== normalizedConfig.id) {\n parsedConfig.id = parsed.modelId as `${string}/${string}`;\n }\n\n this.modelId = parsedConfig.id;\n this.config = parsedConfig;\n }\n\n async doGenerate(options: LanguageModelV2CallOptions): Promise<StreamResult> {\n let apiKey: string;\n try {\n // If custom URL is provided, skip gateway API key resolution\n // The provider might not be in the registry (e.g., custom providers like ollama)\n if (this.config.url) {\n apiKey = this.config.apiKey || '';\n } else {\n apiKey = this.config.apiKey || (await this.gateway.getApiKey(this.config.routerId));\n }\n } catch (error) {\n // Return an error stream instead of throwing\n return {\n stream: new ReadableStream({\n start(controller) {\n controller.enqueue({\n type: 'error',\n error: error,\n } as LanguageModelV2StreamPart);\n controller.close();\n },\n }),\n };\n }\n\n const gatewayPrefix = this.gateway.id === 'models.dev' ? undefined : this.gateway.id;\n const model = await this.resolveLanguageModel({\n apiKey,\n headers: this.config.headers,\n ...parseModelRouterId(this.config.routerId, gatewayPrefix),\n });\n\n const aiSDKV5Model = new AISDKV5LanguageModel(model);\n return aiSDKV5Model.doGenerate(options);\n }\n\n async doStream(options: LanguageModelV2CallOptions): Promise<StreamResult> {\n // Validate API key and return error stream if validation fails\n let apiKey: string;\n try {\n // If custom URL is provided, skip gateway API key resolution\n // The provider might not be in the registry (e.g., custom providers like ollama)\n if (this.config.url) {\n apiKey = this.config.apiKey || '';\n } else {\n apiKey = this.config.apiKey || (await this.gateway.getApiKey(this.config.routerId));\n }\n } catch (error) {\n // Return an error stream instead of throwing\n return {\n stream: new ReadableStream({\n start(controller) {\n controller.enqueue({\n type: 'error',\n error: error,\n } as LanguageModelV2StreamPart);\n controller.close();\n },\n }),\n };\n }\n\n const gatewayPrefix = this.gateway.id === 'models.dev' ? undefined : this.gateway.id;\n const model = await this.resolveLanguageModel({\n apiKey,\n headers: this.config.headers,\n ...parseModelRouterId(this.config.routerId, gatewayPrefix),\n });\n\n const aiSDKV5Model = new AISDKV5LanguageModel(model);\n return aiSDKV5Model.doStream(options);\n }\n\n private async resolveLanguageModel({\n modelId,\n providerId,\n apiKey,\n headers,\n }: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n }): Promise<LanguageModelV2> {\n const key = createHash('sha256')\n .update(\n this.gateway.id +\n modelId +\n providerId +\n apiKey +\n (this.config.url || '') +\n (headers ? JSON.stringify(headers) : ''),\n )\n .digest('hex');\n if (ModelRouterLanguageModel.modelInstances.has(key)) return ModelRouterLanguageModel.modelInstances.get(key)!;\n\n // If custom URL is provided, use it directly with openai-compatible\n if (this.config.url) {\n const modelInstance = createOpenAICompatible({\n name: providerId,\n apiKey,\n baseURL: this.config.url,\n headers: this.config.headers,\n supportsStructuredOutputs: true,\n }).chatModel(modelId);\n ModelRouterLanguageModel.modelInstances.set(key, modelInstance);\n return modelInstance;\n }\n\n const modelInstance = await this.gateway.resolveLanguageModel({ modelId, providerId, apiKey, headers });\n ModelRouterLanguageModel.modelInstances.set(key, modelInstance);\n return modelInstance;\n }\n private static modelInstances = new Map<string, LanguageModelV2>();\n}\n","import type { LanguageModelV2 } from '@ai-sdk/provider-v5';\nimport type { Mastra } from '../../mastra';\nimport { RuntimeContext } from '../../runtime-context';\nimport { AISDKV5LanguageModel } from './aisdk/v5/model';\nimport { ModelRouterLanguageModel } from './router';\nimport type { MastraModelConfig, OpenAICompatibleConfig, MastraLanguageModel } from './shared.types';\n\n/**\n * Type guard to check if a model config is an OpenAICompatibleConfig object\n * @internal\n */\nexport function isOpenAICompatibleObjectConfig(\n modelConfig:\n | MastraModelConfig\n | (({\n runtimeContext,\n mastra,\n }: {\n runtimeContext: RuntimeContext;\n mastra?: Mastra;\n }) => MastraModelConfig | Promise<MastraModelConfig>),\n): modelConfig is OpenAICompatibleConfig {\n if (typeof modelConfig === 'object' && 'specificationVersion' in modelConfig) return false;\n // Check for OpenAICompatibleConfig - it should have either:\n // 1. 'id' field (but NOT 'model' - that's ModelWithRetries)\n // 2. Both 'providerId' and 'modelId' fields\n if (typeof modelConfig === 'object' && !('model' in modelConfig)) {\n if ('id' in modelConfig) return true;\n if ('providerId' in modelConfig && 'modelId' in modelConfig) return true;\n }\n return false;\n}\n\n/**\n * Resolves a model configuration to a LanguageModel instance.\n * Supports:\n * - Magic strings like \"openai/gpt-4o\"\n * - Config objects like { id: \"openai/gpt-4o\", apiKey: \"...\" }\n * - Direct LanguageModel instances\n * - Dynamic functions that return any of the above\n *\n * @param modelConfig The model configuration\n * @param runtimeContext Optional runtime context for dynamic resolution\n * @param mastra Optional Mastra instance for dynamic resolution\n * @returns A resolved LanguageModel instance\n *\n * @example\n * ```typescript\n * // String resolution\n * const model = await resolveModelConfig(\"openai/gpt-4o\");\n *\n * // Config object resolution\n * const model = await resolveModelConfig({\n * id: \"openai/gpt-4o\",\n * apiKey: \"sk-...\"\n * });\n *\n * // Dynamic resolution\n * const model = await resolveModelConfig(\n * ({ runtimeContext }) => runtimeContext.get(\"preferredModel\")\n * );\n * ```\n */\nexport async function resolveModelConfig(\n modelConfig:\n | MastraModelConfig\n | (({\n runtimeContext,\n mastra,\n }: {\n runtimeContext: RuntimeContext;\n mastra?: Mastra;\n }) => MastraModelConfig | Promise<MastraModelConfig>),\n runtimeContext: RuntimeContext = new RuntimeContext(),\n mastra?: Mastra,\n): Promise<MastraLanguageModel> {\n // If it's a function, resolve it first\n if (typeof modelConfig === 'function') {\n modelConfig = await modelConfig({ runtimeContext, mastra });\n }\n\n // Filter out custom language model instances\n // TODO need a better trick, maybme symbol\n if (modelConfig instanceof ModelRouterLanguageModel || modelConfig instanceof AISDKV5LanguageModel) {\n return modelConfig;\n }\n\n // If it's already a LanguageModel, return it\n if (typeof modelConfig === 'object' && 'specificationVersion' in modelConfig) {\n if (modelConfig.specificationVersion === 'v2') {\n return new AISDKV5LanguageModel(modelConfig as LanguageModelV2);\n }\n\n return modelConfig;\n }\n\n const gatewayRecord = mastra?.listGateways();\n const customGateways = gatewayRecord ? Object.values(gatewayRecord) : undefined;\n\n // If it's a string (magic string like \"openai/gpt-4o\") or OpenAICompatibleConfig, create ModelRouterLanguageModel\n if (typeof modelConfig === 'string' || isOpenAICompatibleObjectConfig(modelConfig)) {\n return new ModelRouterLanguageModel(modelConfig, customGateways);\n }\n\n throw new Error('Invalid model configuration provided');\n}\n","import { createGoogleGenerativeAI } from '@ai-sdk/google-v5';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport { createOpenAI } from '@ai-sdk/openai-v5';\nimport type { EmbeddingModelV2 } from '@ai-sdk/provider-v5';\n\nimport { GatewayRegistry } from './provider-registry.js';\nimport type { OpenAICompatibleConfig } from './shared.types.js';\n\n/**\n * Information about a known embedding model\n */\nexport interface EmbeddingModelInfo {\n id: string;\n provider: string;\n dimensions: number;\n maxInputTokens: number;\n description?: string;\n}\n\n/**\n * Hardcoded list of known embedding models\n * This is a curated list that provides autocomplete support\n */\nexport const EMBEDDING_MODELS: EmbeddingModelInfo[] = [\n // OpenAI\n {\n id: 'text-embedding-3-small',\n provider: 'openai',\n dimensions: 1536,\n maxInputTokens: 8191,\n description: 'OpenAI text-embedding-3-small model',\n },\n {\n id: 'text-embedding-3-large',\n provider: 'openai',\n dimensions: 3072,\n maxInputTokens: 8191,\n description: 'OpenAI text-embedding-3-large model',\n },\n {\n id: 'text-embedding-ada-002',\n provider: 'openai',\n dimensions: 1536,\n maxInputTokens: 8191,\n description: 'OpenAI text-embedding-ada-002 model',\n },\n // Google\n {\n id: 'gemini-embedding-001',\n provider: 'google',\n dimensions: 768,\n maxInputTokens: 2048,\n description: 'Google gemini-embedding-001 model',\n },\n {\n id: 'text-embedding-004',\n provider: 'google',\n dimensions: 768,\n maxInputTokens: 3072,\n description: 'Google text-embedding-004 model',\n },\n];\n\n/**\n * Type for embedding model IDs in the format \"provider/model\"\n */\nexport type EmbeddingModelId =\n | 'openai/text-embedding-3-small'\n | 'openai/text-embedding-3-large'\n | 'openai/text-embedding-ada-002'\n | 'google/gemini-embedding-001'\n | 'google/text-embedding-004';\n\n/**\n * Check if a model ID is a known embedding model\n */\nexport function isKnownEmbeddingModel(modelId: string): boolean {\n return EMBEDDING_MODELS.some(m => m.id === modelId);\n}\n\n/**\n * Get information about a known embedding model\n */\nexport function getEmbeddingModelInfo(modelId: string): EmbeddingModelInfo | undefined {\n return EMBEDDING_MODELS.find(m => m.id === modelId);\n}\n\n/**\n * Model router for embedding models that uses the provider/model string format.\n * Automatically resolves the correct AI SDK provider and initializes the embedding model.\n *\n * @example\n * ```ts\n * const embedder = new ModelRouterEmbeddingModel('openai/text-embedding-3-small');\n * const result = await embedder.doEmbed({ values: ['hello world'] });\n * ```\n */\nexport class ModelRouterEmbeddingModel<VALUE extends string = string> implements EmbeddingModelV2<VALUE> {\n readonly specificationVersion = 'v2' as const;\n readonly modelId: string;\n readonly provider: string;\n maxEmbeddingsPerCall: number | PromiseLike<number | undefined> = 2048;\n supportsParallelCalls: boolean | PromiseLike<boolean> = true;\n\n private providerModel: EmbeddingModelV2<VALUE>;\n\n constructor(config: string | OpenAICompatibleConfig) {\n // Normalize config to always have provider and model IDs\n let normalizedConfig: {\n providerId: string;\n modelId: string;\n url?: string;\n apiKey?: string;\n headers?: Record<string, string>;\n };\n\n if (typeof config === 'string') {\n // Parse provider/model from string (e.g., \"openai/text-embedding-3-small\")\n const parts = config.split('/');\n if (parts.length !== 2) {\n throw new Error(`Invalid model string format: \"${config}\". Expected format: \"provider/model\"`);\n }\n const [providerId, modelId] = parts as [string, string];\n normalizedConfig = { providerId, modelId };\n } else if ('providerId' in config && 'modelId' in config) {\n normalizedConfig = {\n providerId: config.providerId,\n modelId: config.modelId,\n url: config.url,\n apiKey: config.apiKey,\n headers: config.headers,\n };\n } else {\n // config has 'id' field\n const parts = config.id.split('/');\n if (parts.length !== 2) {\n throw new Error(`Invalid model string format: \"${config.id}\". Expected format: \"provider/model\"`);\n }\n const [providerId, modelId] = parts as [string, string];\n normalizedConfig = {\n providerId,\n modelId,\n url: config.url,\n apiKey: config.apiKey,\n headers: config.headers,\n };\n }\n\n this.provider = normalizedConfig.providerId;\n this.modelId = normalizedConfig.modelId;\n\n // If custom URL is provided, skip provider registry validation\n // and use the provided API key (or empty string if not provided)\n if (normalizedConfig.url) {\n const apiKey = normalizedConfig.apiKey || '';\n this.providerModel = createOpenAICompatible({\n name: normalizedConfig.providerId,\n apiKey,\n baseURL: normalizedConfig.url,\n headers: normalizedConfig.headers,\n }).textEmbeddingModel(normalizedConfig.modelId) as EmbeddingModelV2<VALUE>;\n } else {\n // Get provider config from registry\n const registry = GatewayRegistry.getInstance();\n const providerConfig = registry.getProviderConfig(normalizedConfig.providerId);\n\n if (!providerConfig) {\n throw new Error(`Unknown provider: ${normalizedConfig.providerId}`);\n }\n\n // Get API key from config or environment\n let apiKey = normalizedConfig.apiKey;\n if (!apiKey) {\n const apiKeyEnvVar = providerConfig.apiKeyEnvVar;\n if (Array.isArray(apiKeyEnvVar)) {\n // Try each possible environment variable\n for (const envVar of apiKeyEnvVar) {\n apiKey = process.env[envVar];\n if (apiKey) break;\n }\n } else {\n apiKey = process.env[apiKeyEnvVar];\n }\n }\n\n if (!apiKey) {\n const envVarDisplay = Array.isArray(providerConfig.apiKeyEnvVar)\n ? providerConfig.apiKeyEnvVar.join(' or ')\n : providerConfig.apiKeyEnvVar;\n throw new Error(`API key not found for provider ${normalizedConfig.providerId}. Set ${envVarDisplay}`);\n }\n\n // Initialize the provider model directly in constructor\n if (normalizedConfig.providerId === 'openai') {\n this.providerModel = createOpenAI({ apiKey }).textEmbeddingModel(\n normalizedConfig.modelId,\n ) as EmbeddingModelV2<VALUE>;\n } else if (normalizedConfig.providerId === 'google') {\n this.providerModel = createGoogleGenerativeAI({ apiKey }).textEmbedding(\n normalizedConfig.modelId,\n ) as EmbeddingModelV2<VALUE>;\n } else {\n // Use OpenAI-compatible provider for other providers\n if (!providerConfig.url) {\n throw new Error(`Provider ${normalizedConfig.providerId} does not have a URL configured`);\n }\n this.providerModel = createOpenAICompatible({\n name: normalizedConfig.providerId,\n apiKey,\n baseURL: providerConfig.url,\n }).textEmbeddingModel(normalizedConfig.modelId) as EmbeddingModelV2<VALUE>;\n }\n }\n\n // Copy properties from the provider model if available\n if (this.providerModel.maxEmbeddingsPerCall !== undefined) {\n this.maxEmbeddingsPerCall = this.providerModel.maxEmbeddingsPerCall;\n }\n if (this.providerModel.supportsParallelCalls !== undefined) {\n this.supportsParallelCalls = this.providerModel.supportsParallelCalls;\n }\n }\n\n async doEmbed(\n args: Parameters<EmbeddingModelV2<VALUE>['doEmbed']>[0],\n ): Promise<Awaited<ReturnType<EmbeddingModelV2<VALUE>['doEmbed']>>> {\n return this.providerModel.doEmbed(args);\n }\n}\n"]}
|