@mastra/core 1.0.0-beta.5 → 1.0.0-beta.6
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 +273 -0
- package/dist/agent/agent-legacy.d.ts +17 -20
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent-types.test-d.d.ts +2 -0
- package/dist/agent/agent-types.test-d.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +4 -4
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +1 -1
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +9 -9
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +3 -3
- package/dist/agent/message-list/index.d.ts +49 -0
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/save-queue/index.d.ts +3 -1
- package/dist/agent/save-queue/index.d.ts.map +1 -1
- package/dist/agent/test-utils.d.ts +37 -0
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/trip-wire.d.ts.map +1 -1
- package/dist/agent/types.d.ts +18 -3
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +10 -10
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +1 -3
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +12 -13
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
- package/dist/base.cjs +2 -2
- package/dist/base.js +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/cache/index.cjs +3 -3
- package/dist/cache/index.js +1 -1
- package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
- package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
- package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
- package/dist/chunk-3N3QE4ZK.js.map +1 -0
- package/dist/{chunk-XJQX54QP.cjs → chunk-3TKNXJES.cjs} +56 -15
- package/dist/chunk-3TKNXJES.cjs.map +1 -0
- package/dist/{chunk-XBO6W7LZ.js → chunk-45NA5ZD3.js} +6114 -4146
- package/dist/chunk-45NA5ZD3.js.map +1 -0
- package/dist/{chunk-XIDKHXNR.js → chunk-4F6RAJFU.js} +33 -6
- package/dist/chunk-4F6RAJFU.js.map +1 -0
- package/dist/{chunk-ISMGVGUM.cjs → chunk-4JKEUSCC.cjs} +4 -4
- package/dist/{chunk-ISMGVGUM.cjs.map → chunk-4JKEUSCC.cjs.map} +1 -1
- package/dist/{chunk-U3VE2EVB.cjs → chunk-4KUOSXJ7.cjs} +30 -16
- package/dist/chunk-4KUOSXJ7.cjs.map +1 -0
- package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
- package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
- package/dist/{chunk-3B2OPLGG.js → chunk-6GOLI2EY.js} +13 -7
- package/dist/chunk-6GOLI2EY.js.map +1 -0
- package/dist/{chunk-VYJXTHII.cjs → chunk-6J4NRNT2.cjs} +183 -12
- package/dist/chunk-6J4NRNT2.cjs.map +1 -0
- package/dist/{chunk-J7O6WENZ.cjs → chunk-6TBWJV35.js} +5 -5
- package/dist/chunk-6TBWJV35.js.map +1 -0
- package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
- package/dist/chunk-AF74UXR5.cjs.map +1 -0
- package/dist/{chunk-YDFX3JR2.js → chunk-APMPOYPI.js} +173 -11
- package/dist/chunk-APMPOYPI.js.map +1 -0
- package/dist/{chunk-X7F4CSGR.cjs → chunk-AQAIS7FH.cjs} +2 -2
- package/dist/chunk-AQAIS7FH.cjs.map +1 -0
- package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
- package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
- package/dist/{chunk-5SA2EZ33.js → chunk-DXMSVGJ6.js} +182 -11
- package/dist/chunk-DXMSVGJ6.js.map +1 -0
- package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
- package/dist/chunk-EOPEDKLG.cjs.map +1 -0
- package/dist/{chunk-NZAXAFI3.js → chunk-F2GAJSBI.js} +3 -3
- package/dist/{chunk-NZAXAFI3.js.map → chunk-F2GAJSBI.js.map} +1 -1
- package/dist/{chunk-KIZIOFZC.js → chunk-FYP3AT6W.js} +17 -3
- package/dist/chunk-FYP3AT6W.js.map +1 -0
- package/dist/{chunk-BMAFVZ2D.cjs → chunk-IWTMMUQY.cjs} +4 -4
- package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-IWTMMUQY.cjs.map} +1 -1
- package/dist/{chunk-PC6EKOWK.js → chunk-KZLP6TPJ.js} +19 -31
- package/dist/chunk-KZLP6TPJ.js.map +1 -0
- package/dist/{chunk-556MJ7CL.cjs → chunk-LDWBLENZ.cjs} +43 -37
- package/dist/chunk-LDWBLENZ.cjs.map +1 -0
- package/dist/{chunk-5O52O25J.js → chunk-LEZIKVRQ.js} +2 -2
- package/dist/chunk-LEZIKVRQ.js.map +1 -0
- package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
- package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
- package/dist/{chunk-E7K4FTLN.cjs → chunk-NHNXIYDG.cjs} +18 -2
- package/dist/chunk-NHNXIYDG.cjs.map +1 -0
- package/dist/{chunk-T2CJRA6E.js → chunk-NIUEWICQ.js} +145 -19
- package/dist/chunk-NIUEWICQ.js.map +1 -0
- package/dist/{chunk-KP42JLXE.cjs → chunk-NN3NOFRU.cjs} +6121 -4141
- package/dist/chunk-NN3NOFRU.cjs.map +1 -0
- package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
- package/dist/chunk-NRUZYMHE.js.map +1 -0
- package/dist/{chunk-KWWD3U7G.cjs → chunk-OIMB2SNZ.cjs} +155 -29
- package/dist/chunk-OIMB2SNZ.cjs.map +1 -0
- package/dist/{chunk-ZTTMSCLU.js → chunk-OPALPWAM.js} +47 -8
- package/dist/chunk-OPALPWAM.js.map +1 -0
- package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
- package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
- package/dist/{chunk-IITXXVYI.cjs → chunk-RHTV5C5D.cjs} +4 -4
- package/dist/{chunk-IITXXVYI.cjs.map → chunk-RHTV5C5D.cjs.map} +1 -1
- package/dist/{chunk-RROQ46B6.cjs → chunk-RTROJFEU.cjs} +31 -47
- package/dist/chunk-RTROJFEU.cjs.map +1 -0
- package/dist/{chunk-NHP6ZIDG.cjs → chunk-S5FPOCQF.cjs} +17 -163
- package/dist/chunk-S5FPOCQF.cjs.map +1 -0
- package/dist/{chunk-OUUPUAGA.cjs → chunk-SQAX4OW6.cjs} +163 -10
- package/dist/chunk-SQAX4OW6.cjs.map +1 -0
- package/dist/{chunk-D7CJ4HIQ.js → chunk-TARWUQG6.js} +8 -154
- package/dist/chunk-TARWUQG6.js.map +1 -0
- package/dist/{chunk-76K3IYWM.js → chunk-TS7B26US.js} +3 -3
- package/dist/{chunk-76K3IYWM.js.map → chunk-TS7B26US.js.map} +1 -1
- package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
- package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
- package/dist/{chunk-GRBGQ2GE.js → chunk-UVHSM2GU.cjs} +9 -3
- package/dist/chunk-UVHSM2GU.cjs.map +1 -0
- package/dist/{chunk-DQIZ5FFX.cjs → chunk-VRFSEZBA.cjs} +173 -11
- package/dist/chunk-VRFSEZBA.cjs.map +1 -0
- package/dist/{chunk-B5J5HYDN.js → chunk-WDRA4WKG.js} +159 -7
- package/dist/chunk-WDRA4WKG.js.map +1 -0
- package/dist/{chunk-3ZQ7LX73.js → chunk-WMAMOYRR.js} +3 -3
- package/dist/{chunk-3ZQ7LX73.js.map → chunk-WMAMOYRR.js.map} +1 -1
- package/dist/{chunk-KJIQGPQR.js → chunk-XY337TTF.js} +24 -10
- package/dist/chunk-XY337TTF.js.map +1 -0
- package/dist/{chunk-V537VSV4.cjs → chunk-Y24HI6ND.cjs} +37 -10
- package/dist/chunk-Y24HI6ND.cjs.map +1 -0
- package/dist/deployer/index.cjs +2 -2
- package/dist/deployer/index.js +1 -1
- package/dist/di/index.cjs +10 -2
- package/dist/di/index.d.ts +1 -1
- package/dist/di/index.d.ts.map +1 -1
- package/dist/di/index.js +1 -1
- package/dist/evals/base.d.ts +9 -1
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/index.cjs +9 -9
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +5 -5
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/evals/types.d.ts +8 -8
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +11 -11
- package/dist/llm/index.js +3 -3
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +53 -1
- package/dist/logger/constants.d.ts +1 -0
- package/dist/logger/constants.d.ts.map +1 -1
- package/dist/logger/index.cjs +11 -11
- package/dist/logger/index.js +2 -2
- package/dist/logger/transport.d.ts +1 -1
- package/dist/logger/transport.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/network/index.d.ts +2 -2
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
- package/dist/loop/types.d.ts +5 -2
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +96 -96
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +65 -65
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +32 -32
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +97 -97
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +32 -32
- package/dist/loop/workflows/stream.d.ts +1 -1
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +55 -0
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -4
- package/dist/mcp/index.js +2 -2
- package/dist/memory/index.cjs +21 -382
- package/dist/memory/index.cjs.map +1 -1
- package/dist/memory/index.js +1 -382
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/memory.d.ts +22 -18
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/mock.d.ts +6 -1
- package/dist/memory/mock.d.ts.map +1 -1
- package/dist/memory/types.d.ts +69 -11
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/netlify-C2YBIK7A.js +3 -0
- package/dist/{netlify-RX3JXCFQ.js.map → netlify-C2YBIK7A.js.map} +1 -1
- package/dist/netlify-XWROOTP4.cjs +12 -0
- package/dist/{netlify-MXBOGAJR.cjs.map → netlify-XWROOTP4.cjs.map} +1 -1
- package/dist/observability/index.cjs +16 -8
- package/dist/observability/index.js +1 -1
- package/dist/observability/types/tracing.d.ts +165 -3
- package/dist/observability/types/tracing.d.ts.map +1 -1
- package/dist/observability/utils.d.ts +47 -1
- package/dist/observability/utils.d.ts.map +1 -1
- package/dist/processors/index.cjs +35 -11
- package/dist/processors/index.d.ts +99 -21
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/memory/index.d.ts +7 -0
- package/dist/processors/memory/index.d.ts.map +1 -0
- package/dist/processors/memory/message-history.d.ts +43 -0
- package/dist/processors/memory/message-history.d.ts.map +1 -0
- package/dist/processors/memory/semantic-recall.d.ts +152 -0
- package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
- package/dist/processors/memory/working-memory.d.ts +65 -0
- package/dist/processors/memory/working-memory.d.ts.map +1 -0
- package/dist/processors/processors/index.d.ts +2 -1
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/language-detector.d.ts +14 -0
- package/dist/processors/processors/language-detector.d.ts.map +1 -1
- package/dist/processors/processors/moderation.d.ts +14 -0
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +14 -0
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts +14 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/processors/processors/structured-output.d.ts +2 -1
- package/dist/processors/processors/structured-output.d.ts.map +1 -1
- package/dist/processors/processors/token-limiter.d.ts +21 -11
- package/dist/processors/processors/token-limiter.d.ts.map +1 -1
- package/dist/processors/processors/tool-call-filter.d.ts +28 -0
- package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
- package/dist/processors/runner.d.ts +35 -4
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/provider-registry-BXX7CA3H.cjs +40 -0
- package/dist/{provider-registry-NBRXBOQT.cjs.map → provider-registry-BXX7CA3H.cjs.map} +1 -1
- package/dist/provider-registry-GRYJWVEM.js +3 -0
- package/dist/{provider-registry-3LUCE7FT.js.map → provider-registry-GRYJWVEM.js.map} +1 -1
- package/dist/provider-registry.json +147 -3
- package/dist/{registry-generator-DEPPRYYJ.cjs → registry-generator-34SC4TAU.cjs} +2 -2
- package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
- package/dist/{registry-generator-FLW6NV42.js → registry-generator-UMTNPBJX.js} +2 -2
- package/dist/registry-generator-UMTNPBJX.js.map +1 -0
- package/dist/relevance/index.cjs +2 -2
- package/dist/relevance/index.js +1 -1
- package/dist/request-context/index.cjs +10 -2
- package/dist/request-context/index.d.ts +26 -0
- package/dist/request-context/index.d.ts.map +1 -1
- package/dist/request-context/index.js +1 -1
- package/dist/server/base.d.ts +51 -0
- package/dist/server/base.d.ts.map +1 -0
- package/dist/server/index.cjs +81 -2
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +79 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/simple-auth.d.ts +27 -0
- package/dist/server/simple-auth.d.ts.map +1 -0
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +37 -29
- package/dist/storage/index.js +1 -1
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/utils.d.ts +44 -0
- package/dist/storage/utils.d.ts.map +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +2 -2
- package/dist/stream/RunOutput.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts +1 -1
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
- package/dist/stream/base/base.d.ts +1 -1
- package/dist/stream/base/base.d.ts.map +1 -1
- package/dist/stream/base/output-format-handlers.d.ts +1 -1
- package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +2 -0
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +36 -2
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +3 -0
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +32 -2
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/tools/index.cjs +6 -6
- package/dist/tools/index.js +2 -2
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/stream.d.ts +1 -1
- package/dist/tools/stream.d.ts.map +1 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts +13 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +22 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +1 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tts/index.cjs +2 -2
- package/dist/tts/index.js +1 -1
- package/dist/utils.cjs +22 -22
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/index.cjs +2 -2
- package/dist/vector/index.js +1 -1
- package/dist/voice/index.cjs +6 -6
- package/dist/voice/index.js +1 -1
- package/dist/workflows/default.d.ts +176 -281
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/evented/step-executor.d.ts +1 -1
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +4 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/handlers/control-flow.d.ts +135 -0
- package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
- package/dist/workflows/handlers/entry.d.ts +45 -0
- package/dist/workflows/handlers/entry.d.ts.map +1 -0
- package/dist/workflows/handlers/sleep.d.ts +62 -0
- package/dist/workflows/handlers/sleep.d.ts.map +1 -0
- package/dist/workflows/handlers/step.d.ts +60 -0
- package/dist/workflows/handlers/step.d.ts.map +1 -0
- package/dist/workflows/index.cjs +20 -20
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +1 -0
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +157 -3
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +8 -6
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/llm/model/provider-types.generated.d.ts +53 -1
- package/dist/chunk-3B2OPLGG.js.map +0 -1
- package/dist/chunk-3PSWNGBF.js +0 -3
- package/dist/chunk-3PSWNGBF.js.map +0 -1
- package/dist/chunk-436FFEF6.js +0 -34
- package/dist/chunk-436FFEF6.js.map +0 -1
- package/dist/chunk-556MJ7CL.cjs.map +0 -1
- package/dist/chunk-5O52O25J.js.map +0 -1
- package/dist/chunk-5SA2EZ33.js.map +0 -1
- package/dist/chunk-B5J5HYDN.js.map +0 -1
- package/dist/chunk-D7CJ4HIQ.js.map +0 -1
- package/dist/chunk-DQIZ5FFX.cjs.map +0 -1
- package/dist/chunk-DSNPWVIG.cjs.map +0 -1
- package/dist/chunk-E7K4FTLN.cjs.map +0 -1
- package/dist/chunk-GRBGQ2GE.js.map +0 -1
- package/dist/chunk-J7O6WENZ.cjs.map +0 -1
- package/dist/chunk-KIZIOFZC.js.map +0 -1
- package/dist/chunk-KJ2SW6VA.js.map +0 -1
- package/dist/chunk-KJIQGPQR.js.map +0 -1
- package/dist/chunk-KP42JLXE.cjs.map +0 -1
- package/dist/chunk-KWWD3U7G.cjs.map +0 -1
- package/dist/chunk-NHP6ZIDG.cjs.map +0 -1
- package/dist/chunk-OUUPUAGA.cjs.map +0 -1
- package/dist/chunk-PC6EKOWK.js.map +0 -1
- package/dist/chunk-PE3V7GUL.cjs +0 -4
- package/dist/chunk-PE3V7GUL.cjs.map +0 -1
- package/dist/chunk-RROQ46B6.cjs.map +0 -1
- package/dist/chunk-T2CJRA6E.js.map +0 -1
- package/dist/chunk-TQTAMPSC.js.map +0 -1
- package/dist/chunk-U3VE2EVB.cjs.map +0 -1
- package/dist/chunk-V3VLOOSW.cjs +0 -36
- package/dist/chunk-V3VLOOSW.cjs.map +0 -1
- package/dist/chunk-V537VSV4.cjs.map +0 -1
- package/dist/chunk-VYJXTHII.cjs.map +0 -1
- package/dist/chunk-X7F4CSGR.cjs.map +0 -1
- package/dist/chunk-XBO6W7LZ.js.map +0 -1
- package/dist/chunk-XIDKHXNR.js.map +0 -1
- package/dist/chunk-XJQX54QP.cjs.map +0 -1
- package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
- package/dist/chunk-YDFX3JR2.js.map +0 -1
- package/dist/chunk-ZTTMSCLU.js.map +0 -1
- package/dist/netlify-MXBOGAJR.cjs +0 -12
- package/dist/netlify-RX3JXCFQ.js +0 -3
- package/dist/provider-registry-3LUCE7FT.js +0 -3
- package/dist/provider-registry-NBRXBOQT.cjs +0 -40
- package/dist/registry-generator-DEPPRYYJ.cjs.map +0 -1
- package/dist/registry-generator-FLW6NV42.js.map +0 -1
|
@@ -208,6 +208,15 @@
|
|
|
208
208
|
"docUrl": "https://console.groq.com/docs/models",
|
|
209
209
|
"gateway": "models.dev"
|
|
210
210
|
},
|
|
211
|
+
"bailing": {
|
|
212
|
+
"url": "https://api.tbox.cn/api/llm/v1/chat/completions",
|
|
213
|
+
"apiKeyEnvVar": "BAILING_API_TOKEN",
|
|
214
|
+
"apiKeyHeader": "Authorization",
|
|
215
|
+
"name": "Bailing",
|
|
216
|
+
"models": ["Ling-1T", "Ring-1T"],
|
|
217
|
+
"docUrl": "https://alipaytbox.yuque.com/sxs0ba/ling/intro",
|
|
218
|
+
"gateway": "models.dev"
|
|
219
|
+
},
|
|
211
220
|
"mistral": {
|
|
212
221
|
"url": "https://api.mistral.ai/v1",
|
|
213
222
|
"apiKeyEnvVar": "MISTRAL_API_KEY",
|
|
@@ -501,7 +510,8 @@
|
|
|
501
510
|
"deepseek-ai/DeepSeek-V3-0324",
|
|
502
511
|
"deepseek-ai/DeepSeek-V3.1",
|
|
503
512
|
"deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
504
|
-
"deepseek-ai/DeepSeek-V3.2
|
|
513
|
+
"deepseek-ai/DeepSeek-V3.2",
|
|
514
|
+
"deepseek-ai/DeepSeek-V3.2-Speciale",
|
|
505
515
|
"meituan-longcat/LongCat-Flash-Chat-FP8",
|
|
506
516
|
"microsoft/MAI-DS-R1-FP8",
|
|
507
517
|
"moonshotai/Kimi-K2-Instruct-0905",
|
|
@@ -511,6 +521,7 @@
|
|
|
511
521
|
"rednote-hilab/dots.ocr",
|
|
512
522
|
"tngtech/DeepSeek-R1T-Chimera",
|
|
513
523
|
"tngtech/DeepSeek-TNG-R1T2-Chimera",
|
|
524
|
+
"tngtech/TNG-R1T-Chimera",
|
|
514
525
|
"unsloth/Mistral-Nemo-Instruct-2407",
|
|
515
526
|
"unsloth/Mistral-Small-24B-Instruct-2501",
|
|
516
527
|
"unsloth/gemma-3-12b-it",
|
|
@@ -523,6 +534,45 @@
|
|
|
523
534
|
"docUrl": "https://llm.chutes.ai/v1/models",
|
|
524
535
|
"gateway": "models.dev"
|
|
525
536
|
},
|
|
537
|
+
"agentrouter": {
|
|
538
|
+
"url": "https://agentrouter.org/v1",
|
|
539
|
+
"apiKeyEnvVar": "AGENTROUTER_API_KEY",
|
|
540
|
+
"apiKeyHeader": "Authorization",
|
|
541
|
+
"name": "AgentRouter",
|
|
542
|
+
"models": [
|
|
543
|
+
"claude-3-5-haiku-20241022",
|
|
544
|
+
"claude-3-5-sonnet-20240620",
|
|
545
|
+
"claude-3-5-sonnet-20241022",
|
|
546
|
+
"claude-3-7-sonnet-20250219",
|
|
547
|
+
"claude-3-7-sonnet-20250219-thinking",
|
|
548
|
+
"claude-haiku-4-5-20251001",
|
|
549
|
+
"claude-opus-4-20250514",
|
|
550
|
+
"claude-opus-4-20250514-thinking",
|
|
551
|
+
"claude-sonnet-4-20250514",
|
|
552
|
+
"claude-sonnet-4-20250514-thinking",
|
|
553
|
+
"claude-sonnet-4-5-20250929",
|
|
554
|
+
"deepseek-r1-0528",
|
|
555
|
+
"deepseek-v3.1",
|
|
556
|
+
"deepseek-v3.2",
|
|
557
|
+
"gemini-3-pro-preview",
|
|
558
|
+
"glm-4.5",
|
|
559
|
+
"glm-4.6",
|
|
560
|
+
"gpt-5",
|
|
561
|
+
"gpt-5.1",
|
|
562
|
+
"kimi-k2-thinking"
|
|
563
|
+
],
|
|
564
|
+
"docUrl": "https://docs.agentrouter.org",
|
|
565
|
+
"gateway": "models.dev"
|
|
566
|
+
},
|
|
567
|
+
"kimi-for-coding": {
|
|
568
|
+
"url": "https://api.kimi.com/coding/v1",
|
|
569
|
+
"apiKeyEnvVar": "KIMI_API_KEY",
|
|
570
|
+
"apiKeyHeader": "Authorization",
|
|
571
|
+
"name": "Kimi For Coding",
|
|
572
|
+
"models": ["kimi-k2-thinking"],
|
|
573
|
+
"docUrl": "https://www.kimi.com/coding/docs/en/third-party-agents.html",
|
|
574
|
+
"gateway": "models.dev"
|
|
575
|
+
},
|
|
526
576
|
"cortecs": {
|
|
527
577
|
"url": "https://api.cortecs.ai/v1",
|
|
528
578
|
"apiKeyEnvVar": "CORTECS_API_KEY",
|
|
@@ -804,7 +854,7 @@
|
|
|
804
854
|
"url": "https://api.minimax.io/anthropic/v1",
|
|
805
855
|
"apiKeyEnvVar": "MINIMAX_API_KEY",
|
|
806
856
|
"apiKeyHeader": "Authorization",
|
|
807
|
-
"name": "
|
|
857
|
+
"name": "MiniMax",
|
|
808
858
|
"models": ["MiniMax-M2"],
|
|
809
859
|
"docUrl": "https://platform.minimax.io/docs/guides/quickstart",
|
|
810
860
|
"gateway": "models.dev"
|
|
@@ -923,6 +973,15 @@
|
|
|
923
973
|
"docUrl": "https://docs.bigmodel.cn/cn/coding-plan/overview",
|
|
924
974
|
"gateway": "models.dev"
|
|
925
975
|
},
|
|
976
|
+
"minimax-cn": {
|
|
977
|
+
"url": "https://api.minimaxi.com/anthropic/v1",
|
|
978
|
+
"apiKeyEnvVar": "MINIMAX_API_KEY",
|
|
979
|
+
"apiKeyHeader": "Authorization",
|
|
980
|
+
"name": "MiniMax (China)",
|
|
981
|
+
"models": ["MiniMax-M2"],
|
|
982
|
+
"docUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
|
|
983
|
+
"gateway": "models.dev"
|
|
984
|
+
},
|
|
926
985
|
"perplexity": {
|
|
927
986
|
"url": "https://api.perplexity.ai",
|
|
928
987
|
"apiKeyEnvVar": "PERPLEXITY_API_KEY",
|
|
@@ -942,6 +1001,7 @@
|
|
|
942
1001
|
"anthropic/claude-haiku-4.5",
|
|
943
1002
|
"anthropic/claude-opus-4",
|
|
944
1003
|
"anthropic/claude-opus-4.1",
|
|
1004
|
+
"anthropic/claude-opus-4.5",
|
|
945
1005
|
"anthropic/claude-sonnet-4",
|
|
946
1006
|
"anthropic/claude-sonnet-4.5",
|
|
947
1007
|
"cognitivecomputations/dolphin3.0-mistral-24b",
|
|
@@ -956,6 +1016,7 @@
|
|
|
956
1016
|
"deepseek/deepseek-v3-base:free",
|
|
957
1017
|
"deepseek/deepseek-v3.1-terminus",
|
|
958
1018
|
"deepseek/deepseek-v3.1-terminus:exacto",
|
|
1019
|
+
"deepseek/deepseek-v3.2",
|
|
959
1020
|
"featherless/qwerky-72b",
|
|
960
1021
|
"google/gemini-2.0-flash-001",
|
|
961
1022
|
"google/gemini-2.0-flash-exp:free",
|
|
@@ -1036,6 +1097,7 @@
|
|
|
1036
1097
|
"qwen/qwen3-32b:free",
|
|
1037
1098
|
"qwen/qwen3-8b:free",
|
|
1038
1099
|
"qwen/qwen3-coder",
|
|
1100
|
+
"qwen/qwen3-coder-flash",
|
|
1039
1101
|
"qwen/qwen3-coder:exacto",
|
|
1040
1102
|
"qwen/qwen3-coder:free",
|
|
1041
1103
|
"qwen/qwen3-max",
|
|
@@ -1263,10 +1325,12 @@
|
|
|
1263
1325
|
"anthropic/claude-haiku-4-5",
|
|
1264
1326
|
"anthropic/claude-opus-4",
|
|
1265
1327
|
"anthropic/claude-opus-4-1",
|
|
1328
|
+
"anthropic/claude-opus-4-5",
|
|
1266
1329
|
"anthropic/claude-sonnet-4",
|
|
1267
1330
|
"anthropic/claude-sonnet-4-5",
|
|
1268
1331
|
"google/gemini-2.5-flash",
|
|
1269
1332
|
"google/gemini-2.5-pro",
|
|
1333
|
+
"google/gemini-3-pro-preview",
|
|
1270
1334
|
"openai/gpt-4.1",
|
|
1271
1335
|
"openai/gpt-4.1-mini",
|
|
1272
1336
|
"openai/gpt-4o-mini",
|
|
@@ -1318,6 +1382,7 @@
|
|
|
1318
1382
|
"claude-opus-4-1-20250805",
|
|
1319
1383
|
"claude-opus-4-20250514",
|
|
1320
1384
|
"claude-opus-4-5",
|
|
1385
|
+
"claude-opus-4-5-20251101",
|
|
1321
1386
|
"claude-sonnet-4-0",
|
|
1322
1387
|
"claude-sonnet-4-20250514",
|
|
1323
1388
|
"claude-sonnet-4-5",
|
|
@@ -1348,6 +1413,33 @@
|
|
|
1348
1413
|
"docUrl": "https://fireworks.ai/docs/",
|
|
1349
1414
|
"gateway": "models.dev"
|
|
1350
1415
|
},
|
|
1416
|
+
"io-net": {
|
|
1417
|
+
"url": "https://api.intelligence.io.solutions/api/v1",
|
|
1418
|
+
"apiKeyEnvVar": "IOINTELLIGENCE_API_KEY",
|
|
1419
|
+
"apiKeyHeader": "Authorization",
|
|
1420
|
+
"name": "IO.NET",
|
|
1421
|
+
"models": [
|
|
1422
|
+
"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
|
|
1423
|
+
"Qwen/Qwen2.5-VL-32B-Instruct",
|
|
1424
|
+
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
1425
|
+
"Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
1426
|
+
"deepseek-ai/DeepSeek-R1-0528",
|
|
1427
|
+
"meta-llama/Llama-3.2-90B-Vision-Instruct",
|
|
1428
|
+
"meta-llama/Llama-3.3-70B-Instruct",
|
|
1429
|
+
"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
1430
|
+
"mistralai/Devstral-Small-2505",
|
|
1431
|
+
"mistralai/Magistral-Small-2506",
|
|
1432
|
+
"mistralai/Mistral-Large-Instruct-2411",
|
|
1433
|
+
"mistralai/Mistral-Nemo-Instruct-2407",
|
|
1434
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
1435
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
1436
|
+
"openai/gpt-oss-120b",
|
|
1437
|
+
"openai/gpt-oss-20b",
|
|
1438
|
+
"zai-org/GLM-4.6"
|
|
1439
|
+
],
|
|
1440
|
+
"docUrl": "https://io.net/docs/guides/intelligence/io-intelligence",
|
|
1441
|
+
"gateway": "models.dev"
|
|
1442
|
+
},
|
|
1351
1443
|
"modelscope": {
|
|
1352
1444
|
"url": "https://api-inference.modelscope.cn/v1",
|
|
1353
1445
|
"apiKeyEnvVar": "MODELSCOPE_API_KEY",
|
|
@@ -1707,6 +1799,7 @@
|
|
|
1707
1799
|
"qwen-qwq-32b",
|
|
1708
1800
|
"qwen/qwen3-32b"
|
|
1709
1801
|
],
|
|
1802
|
+
"bailing": ["Ling-1T", "Ring-1T"],
|
|
1710
1803
|
"mistral": [
|
|
1711
1804
|
"codestral-latest",
|
|
1712
1805
|
"devstral-medium-2507",
|
|
@@ -1948,7 +2041,8 @@
|
|
|
1948
2041
|
"deepseek-ai/DeepSeek-V3-0324",
|
|
1949
2042
|
"deepseek-ai/DeepSeek-V3.1",
|
|
1950
2043
|
"deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
1951
|
-
"deepseek-ai/DeepSeek-V3.2
|
|
2044
|
+
"deepseek-ai/DeepSeek-V3.2",
|
|
2045
|
+
"deepseek-ai/DeepSeek-V3.2-Speciale",
|
|
1952
2046
|
"meituan-longcat/LongCat-Flash-Chat-FP8",
|
|
1953
2047
|
"microsoft/MAI-DS-R1-FP8",
|
|
1954
2048
|
"moonshotai/Kimi-K2-Instruct-0905",
|
|
@@ -1958,6 +2052,7 @@
|
|
|
1958
2052
|
"rednote-hilab/dots.ocr",
|
|
1959
2053
|
"tngtech/DeepSeek-R1T-Chimera",
|
|
1960
2054
|
"tngtech/DeepSeek-TNG-R1T2-Chimera",
|
|
2055
|
+
"tngtech/TNG-R1T-Chimera",
|
|
1961
2056
|
"unsloth/Mistral-Nemo-Instruct-2407",
|
|
1962
2057
|
"unsloth/Mistral-Small-24B-Instruct-2501",
|
|
1963
2058
|
"unsloth/gemma-3-12b-it",
|
|
@@ -1967,6 +2062,29 @@
|
|
|
1967
2062
|
"zai-org/GLM-4.5-Air",
|
|
1968
2063
|
"zai-org/GLM-4.6"
|
|
1969
2064
|
],
|
|
2065
|
+
"agentrouter": [
|
|
2066
|
+
"claude-3-5-haiku-20241022",
|
|
2067
|
+
"claude-3-5-sonnet-20240620",
|
|
2068
|
+
"claude-3-5-sonnet-20241022",
|
|
2069
|
+
"claude-3-7-sonnet-20250219",
|
|
2070
|
+
"claude-3-7-sonnet-20250219-thinking",
|
|
2071
|
+
"claude-haiku-4-5-20251001",
|
|
2072
|
+
"claude-opus-4-20250514",
|
|
2073
|
+
"claude-opus-4-20250514-thinking",
|
|
2074
|
+
"claude-sonnet-4-20250514",
|
|
2075
|
+
"claude-sonnet-4-20250514-thinking",
|
|
2076
|
+
"claude-sonnet-4-5-20250929",
|
|
2077
|
+
"deepseek-r1-0528",
|
|
2078
|
+
"deepseek-v3.1",
|
|
2079
|
+
"deepseek-v3.2",
|
|
2080
|
+
"gemini-3-pro-preview",
|
|
2081
|
+
"glm-4.5",
|
|
2082
|
+
"glm-4.6",
|
|
2083
|
+
"gpt-5",
|
|
2084
|
+
"gpt-5.1",
|
|
2085
|
+
"kimi-k2-thinking"
|
|
2086
|
+
],
|
|
2087
|
+
"kimi-for-coding": ["kimi-k2-thinking"],
|
|
1970
2088
|
"cortecs": [
|
|
1971
2089
|
"claude-4-5-sonnet",
|
|
1972
2090
|
"claude-sonnet-4",
|
|
@@ -2259,6 +2377,7 @@
|
|
|
2259
2377
|
"text-embedding-ada-002"
|
|
2260
2378
|
],
|
|
2261
2379
|
"zhipuai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
|
|
2380
|
+
"minimax-cn": ["MiniMax-M2"],
|
|
2262
2381
|
"perplexity": ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
|
|
2263
2382
|
"openrouter": [
|
|
2264
2383
|
"anthropic/claude-3.5-haiku",
|
|
@@ -2266,6 +2385,7 @@
|
|
|
2266
2385
|
"anthropic/claude-haiku-4.5",
|
|
2267
2386
|
"anthropic/claude-opus-4",
|
|
2268
2387
|
"anthropic/claude-opus-4.1",
|
|
2388
|
+
"anthropic/claude-opus-4.5",
|
|
2269
2389
|
"anthropic/claude-sonnet-4",
|
|
2270
2390
|
"anthropic/claude-sonnet-4.5",
|
|
2271
2391
|
"cognitivecomputations/dolphin3.0-mistral-24b",
|
|
@@ -2280,6 +2400,7 @@
|
|
|
2280
2400
|
"deepseek/deepseek-v3-base:free",
|
|
2281
2401
|
"deepseek/deepseek-v3.1-terminus",
|
|
2282
2402
|
"deepseek/deepseek-v3.1-terminus:exacto",
|
|
2403
|
+
"deepseek/deepseek-v3.2",
|
|
2283
2404
|
"featherless/qwerky-72b",
|
|
2284
2405
|
"google/gemini-2.0-flash-001",
|
|
2285
2406
|
"google/gemini-2.0-flash-exp:free",
|
|
@@ -2360,6 +2481,7 @@
|
|
|
2360
2481
|
"qwen/qwen3-32b:free",
|
|
2361
2482
|
"qwen/qwen3-8b:free",
|
|
2362
2483
|
"qwen/qwen3-coder",
|
|
2484
|
+
"qwen/qwen3-coder-flash",
|
|
2363
2485
|
"qwen/qwen3-coder:exacto",
|
|
2364
2486
|
"qwen/qwen3-coder:free",
|
|
2365
2487
|
"qwen/qwen3-max",
|
|
@@ -2507,10 +2629,12 @@
|
|
|
2507
2629
|
"anthropic/claude-haiku-4-5",
|
|
2508
2630
|
"anthropic/claude-opus-4",
|
|
2509
2631
|
"anthropic/claude-opus-4-1",
|
|
2632
|
+
"anthropic/claude-opus-4-5",
|
|
2510
2633
|
"anthropic/claude-sonnet-4",
|
|
2511
2634
|
"anthropic/claude-sonnet-4-5",
|
|
2512
2635
|
"google/gemini-2.5-flash",
|
|
2513
2636
|
"google/gemini-2.5-pro",
|
|
2637
|
+
"google/gemini-3-pro-preview",
|
|
2514
2638
|
"openai/gpt-4.1",
|
|
2515
2639
|
"openai/gpt-4.1-mini",
|
|
2516
2640
|
"openai/gpt-4o-mini",
|
|
@@ -2540,6 +2664,7 @@
|
|
|
2540
2664
|
"claude-opus-4-1-20250805",
|
|
2541
2665
|
"claude-opus-4-20250514",
|
|
2542
2666
|
"claude-opus-4-5",
|
|
2667
|
+
"claude-opus-4-5-20251101",
|
|
2543
2668
|
"claude-sonnet-4-0",
|
|
2544
2669
|
"claude-sonnet-4-20250514",
|
|
2545
2670
|
"claude-sonnet-4-5",
|
|
@@ -2559,6 +2684,25 @@
|
|
|
2559
2684
|
"accounts/fireworks/models/qwen3-235b-a22b",
|
|
2560
2685
|
"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
|
|
2561
2686
|
],
|
|
2687
|
+
"io-net": [
|
|
2688
|
+
"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
|
|
2689
|
+
"Qwen/Qwen2.5-VL-32B-Instruct",
|
|
2690
|
+
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
2691
|
+
"Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
2692
|
+
"deepseek-ai/DeepSeek-R1-0528",
|
|
2693
|
+
"meta-llama/Llama-3.2-90B-Vision-Instruct",
|
|
2694
|
+
"meta-llama/Llama-3.3-70B-Instruct",
|
|
2695
|
+
"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
2696
|
+
"mistralai/Devstral-Small-2505",
|
|
2697
|
+
"mistralai/Magistral-Small-2506",
|
|
2698
|
+
"mistralai/Mistral-Large-Instruct-2411",
|
|
2699
|
+
"mistralai/Mistral-Nemo-Instruct-2407",
|
|
2700
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
2701
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
2702
|
+
"openai/gpt-oss-120b",
|
|
2703
|
+
"openai/gpt-oss-20b",
|
|
2704
|
+
"zai-org/GLM-4.6"
|
|
2705
|
+
],
|
|
2562
2706
|
"modelscope": [
|
|
2563
2707
|
"Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
2564
2708
|
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
@@ -130,5 +130,5 @@ exports.atomicWriteFile = atomicWriteFile;
|
|
|
130
130
|
exports.fetchProvidersFromGateways = fetchProvidersFromGateways;
|
|
131
131
|
exports.generateTypesContent = generateTypesContent;
|
|
132
132
|
exports.writeRegistryFiles = writeRegistryFiles;
|
|
133
|
-
//# sourceMappingURL=registry-generator-
|
|
134
|
-
//# sourceMappingURL=registry-generator-
|
|
133
|
+
//# sourceMappingURL=registry-generator-34SC4TAU.cjs.map
|
|
134
|
+
//# sourceMappingURL=registry-generator-34SC4TAU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/registry-generator.ts"],"names":["fs","path"],"mappings":"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","file":"registry-generator-34SC4TAU.cjs","sourcesContent":["/**\n * Shared provider registry generation logic\n * Used by both the CLI generation script and runtime refresh\n */\n\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport type { MastraModelGateway, ProviderConfig } from './gateways/base.js';\n\n/**\n * Write a file atomically using the write-to-temp-then-rename pattern.\n * This prevents file corruption when multiple processes write to the same file concurrently.\n *\n * The rename operation is atomic on POSIX systems when source and destination\n * are on the same filesystem.\n *\n * @param filePath - The target file path\n * @param content - The content to write\n * @param encoding - The encoding to use (default: 'utf-8')\n */\nexport async function atomicWriteFile(\n filePath: string,\n content: string,\n encoding: BufferEncoding = 'utf-8',\n): Promise<void> {\n // Create a unique temp file name using PID, timestamp, and random suffix to avoid collisions\n const randomSuffix = Math.random().toString(36).substring(2, 15);\n const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;\n\n try {\n // Write to temp file first\n await fs.writeFile(tempPath, content, encoding);\n\n // Atomically rename temp file to target path\n // This is atomic on POSIX when both paths are on the same filesystem\n await fs.rename(tempPath, filePath);\n } catch (error) {\n // Clean up temp file if it exists\n try {\n await fs.unlink(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n}\n\n/**\n * Fetch providers from all gateways with retry logic\n * @param gateways - Array of gateway instances to fetch from\n * @returns Object containing providers and models records\n */\nexport async function fetchProvidersFromGateways(\n gateways: MastraModelGateway[],\n): Promise<{ providers: Record<string, ProviderConfig>; models: Record<string, string[]> }> {\n const allProviders: Record<string, ProviderConfig> = {};\n const allModels: Record<string, string[]> = {};\n\n const maxRetries = 3;\n\n for (const gateway of gateways) {\n let lastError: Error | null = null;\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n const providers = await gateway.fetchProviders();\n\n // models.dev is a provider registry, not a true gateway - don't prefix its providers\n const isProviderRegistry = gateway.id === 'models.dev';\n\n for (const [providerId, config] of Object.entries(providers)) {\n // For true gateways, use gateway.id as prefix (e.g., \"netlify/anthropic\")\n // Special case: if providerId matches gateway.id, it's a unified gateway (e.g., azure-openai returning {azure-openai: {...}})\n // In this case, use just the gateway ID to avoid duplication (azure-openai, not azure-openai/azure-openai)\n const typeProviderId = isProviderRegistry\n ? providerId\n : providerId === gateway.id\n ? gateway.id\n : `${gateway.id}/${providerId}`;\n\n allProviders[typeProviderId] = config;\n // Sort models alphabetically for consistent ordering\n allModels[typeProviderId] = config.models.sort();\n }\n\n lastError = null;\n break; // Success, exit retry loop\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n\n if (attempt < maxRetries) {\n // Wait before retrying (exponential backoff)\n const delayMs = Math.min(1000 * Math.pow(2, attempt - 1), 5000);\n await new Promise(resolve => setTimeout(resolve, delayMs));\n }\n }\n }\n\n // If all retries failed, throw the last error\n if (lastError) {\n throw lastError;\n }\n }\n\n return { providers: allProviders, models: allModels };\n}\n\n/**\n * Generate TypeScript type definitions content\n * @param models - Record of provider IDs to model arrays\n * @returns Generated TypeScript type definitions as a string\n */\nexport function generateTypesContent(models: Record<string, string[]>): string {\n const providerModelsEntries = Object.entries(models)\n .map(([provider, modelList]) => {\n const modelsList = modelList.map(m => `'${m}'`);\n\n // Only quote provider key if it contains special characters (like dashes)\n const needsQuotes = /[^a-zA-Z0-9_$]/.test(provider);\n const providerKey = needsQuotes ? `'${provider}'` : provider;\n\n // Format array based on length (prettier printWidth: 120)\n const singleLine = ` readonly ${providerKey}: readonly [${modelsList.join(', ')}];`;\n\n // If single line exceeds 120 chars, format as multi-line\n if (singleLine.length > 120) {\n const formattedModels = modelList.map(m => ` '${m}',`).join('\\n');\n return ` readonly ${providerKey}: readonly [\\n${formattedModels}\\n ];`;\n }\n\n return singleLine;\n })\n .join('\\n');\n\n return `/**\n * THIS FILE IS AUTO-GENERATED - DO NOT EDIT\n * Generated from model gateway providers\n */\n\n/**\n * Provider models mapping type\n * This is derived from the JSON data and provides type-safe access\n */\nexport type ProviderModelsMap = {\n${providerModelsEntries}\n};\n\n/**\n * Union type of all registered provider IDs\n */\nexport type Provider = keyof ProviderModelsMap;\n\n/**\n * Provider models mapping interface\n */\nexport interface ProviderModels {\n [key: string]: string[];\n}\n\n/**\n * OpenAI-compatible model ID type\n * Dynamically derived from ProviderModelsMap\n * Full provider/model paths (e.g., \"openai/gpt-4o\", \"anthropic/claude-3-5-sonnet-20241022\")\n */\nexport type ModelRouterModelId =\n | {\n [P in Provider]: \\`\\${P}/\\${ProviderModelsMap[P][number]}\\`;\n }[Provider]\n | (string & {});\n\n/**\n * Extract the model part from a ModelRouterModelId for a specific provider\n * Dynamically derived from ProviderModelsMap\n * Example: ModelForProvider<'openai'> = 'gpt-4o' | 'gpt-4-turbo' | ...\n */\nexport type ModelForProvider<P extends Provider> = ProviderModelsMap[P][number];\n`;\n}\n\n/**\n * Write registry files to disk (JSON and .d.ts)\n * @param jsonPath - Path to write the JSON file\n * @param typesPath - Path to write the .d.ts file\n * @param providers - Provider configurations\n * @param models - Model lists by provider\n */\nexport async function writeRegistryFiles(\n jsonPath: string,\n typesPath: string,\n providers: Record<string, ProviderConfig>,\n models: Record<string, string[]>,\n): Promise<void> {\n // 0. Ensure directories exist\n const jsonDir = path.dirname(jsonPath);\n const typesDir = path.dirname(typesPath);\n await fs.mkdir(jsonDir, { recursive: true });\n await fs.mkdir(typesDir, { recursive: true });\n\n // 1. Write JSON file atomically to prevent corruption from concurrent writes\n const registryData = {\n providers,\n models,\n version: '1.0.0',\n };\n\n await atomicWriteFile(jsonPath, JSON.stringify(registryData, null, 2), 'utf-8');\n\n // 2. Generate .d.ts file with type-only declarations (also atomic)\n const typeContent = generateTypesContent(models);\n await atomicWriteFile(typesPath, typeContent, 'utf-8');\n}\n"]}
|
|
@@ -120,5 +120,5 @@ async function writeRegistryFiles(jsonPath, typesPath, providers, models) {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
export { atomicWriteFile, fetchProvidersFromGateways, generateTypesContent, writeRegistryFiles };
|
|
123
|
-
//# sourceMappingURL=registry-generator-
|
|
124
|
-
//# sourceMappingURL=registry-generator-
|
|
123
|
+
//# sourceMappingURL=registry-generator-UMTNPBJX.js.map
|
|
124
|
+
//# sourceMappingURL=registry-generator-UMTNPBJX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/registry-generator.ts"],"names":[],"mappings":"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","file":"registry-generator-UMTNPBJX.js","sourcesContent":["/**\n * Shared provider registry generation logic\n * Used by both the CLI generation script and runtime refresh\n */\n\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport type { MastraModelGateway, ProviderConfig } from './gateways/base.js';\n\n/**\n * Write a file atomically using the write-to-temp-then-rename pattern.\n * This prevents file corruption when multiple processes write to the same file concurrently.\n *\n * The rename operation is atomic on POSIX systems when source and destination\n * are on the same filesystem.\n *\n * @param filePath - The target file path\n * @param content - The content to write\n * @param encoding - The encoding to use (default: 'utf-8')\n */\nexport async function atomicWriteFile(\n filePath: string,\n content: string,\n encoding: BufferEncoding = 'utf-8',\n): Promise<void> {\n // Create a unique temp file name using PID, timestamp, and random suffix to avoid collisions\n const randomSuffix = Math.random().toString(36).substring(2, 15);\n const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;\n\n try {\n // Write to temp file first\n await fs.writeFile(tempPath, content, encoding);\n\n // Atomically rename temp file to target path\n // This is atomic on POSIX when both paths are on the same filesystem\n await fs.rename(tempPath, filePath);\n } catch (error) {\n // Clean up temp file if it exists\n try {\n await fs.unlink(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n}\n\n/**\n * Fetch providers from all gateways with retry logic\n * @param gateways - Array of gateway instances to fetch from\n * @returns Object containing providers and models records\n */\nexport async function fetchProvidersFromGateways(\n gateways: MastraModelGateway[],\n): Promise<{ providers: Record<string, ProviderConfig>; models: Record<string, string[]> }> {\n const allProviders: Record<string, ProviderConfig> = {};\n const allModels: Record<string, string[]> = {};\n\n const maxRetries = 3;\n\n for (const gateway of gateways) {\n let lastError: Error | null = null;\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n const providers = await gateway.fetchProviders();\n\n // models.dev is a provider registry, not a true gateway - don't prefix its providers\n const isProviderRegistry = gateway.id === 'models.dev';\n\n for (const [providerId, config] of Object.entries(providers)) {\n // For true gateways, use gateway.id as prefix (e.g., \"netlify/anthropic\")\n // Special case: if providerId matches gateway.id, it's a unified gateway (e.g., azure-openai returning {azure-openai: {...}})\n // In this case, use just the gateway ID to avoid duplication (azure-openai, not azure-openai/azure-openai)\n const typeProviderId = isProviderRegistry\n ? providerId\n : providerId === gateway.id\n ? gateway.id\n : `${gateway.id}/${providerId}`;\n\n allProviders[typeProviderId] = config;\n // Sort models alphabetically for consistent ordering\n allModels[typeProviderId] = config.models.sort();\n }\n\n lastError = null;\n break; // Success, exit retry loop\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n\n if (attempt < maxRetries) {\n // Wait before retrying (exponential backoff)\n const delayMs = Math.min(1000 * Math.pow(2, attempt - 1), 5000);\n await new Promise(resolve => setTimeout(resolve, delayMs));\n }\n }\n }\n\n // If all retries failed, throw the last error\n if (lastError) {\n throw lastError;\n }\n }\n\n return { providers: allProviders, models: allModels };\n}\n\n/**\n * Generate TypeScript type definitions content\n * @param models - Record of provider IDs to model arrays\n * @returns Generated TypeScript type definitions as a string\n */\nexport function generateTypesContent(models: Record<string, string[]>): string {\n const providerModelsEntries = Object.entries(models)\n .map(([provider, modelList]) => {\n const modelsList = modelList.map(m => `'${m}'`);\n\n // Only quote provider key if it contains special characters (like dashes)\n const needsQuotes = /[^a-zA-Z0-9_$]/.test(provider);\n const providerKey = needsQuotes ? `'${provider}'` : provider;\n\n // Format array based on length (prettier printWidth: 120)\n const singleLine = ` readonly ${providerKey}: readonly [${modelsList.join(', ')}];`;\n\n // If single line exceeds 120 chars, format as multi-line\n if (singleLine.length > 120) {\n const formattedModels = modelList.map(m => ` '${m}',`).join('\\n');\n return ` readonly ${providerKey}: readonly [\\n${formattedModels}\\n ];`;\n }\n\n return singleLine;\n })\n .join('\\n');\n\n return `/**\n * THIS FILE IS AUTO-GENERATED - DO NOT EDIT\n * Generated from model gateway providers\n */\n\n/**\n * Provider models mapping type\n * This is derived from the JSON data and provides type-safe access\n */\nexport type ProviderModelsMap = {\n${providerModelsEntries}\n};\n\n/**\n * Union type of all registered provider IDs\n */\nexport type Provider = keyof ProviderModelsMap;\n\n/**\n * Provider models mapping interface\n */\nexport interface ProviderModels {\n [key: string]: string[];\n}\n\n/**\n * OpenAI-compatible model ID type\n * Dynamically derived from ProviderModelsMap\n * Full provider/model paths (e.g., \"openai/gpt-4o\", \"anthropic/claude-3-5-sonnet-20241022\")\n */\nexport type ModelRouterModelId =\n | {\n [P in Provider]: \\`\\${P}/\\${ProviderModelsMap[P][number]}\\`;\n }[Provider]\n | (string & {});\n\n/**\n * Extract the model part from a ModelRouterModelId for a specific provider\n * Dynamically derived from ProviderModelsMap\n * Example: ModelForProvider<'openai'> = 'gpt-4o' | 'gpt-4-turbo' | ...\n */\nexport type ModelForProvider<P extends Provider> = ProviderModelsMap[P][number];\n`;\n}\n\n/**\n * Write registry files to disk (JSON and .d.ts)\n * @param jsonPath - Path to write the JSON file\n * @param typesPath - Path to write the .d.ts file\n * @param providers - Provider configurations\n * @param models - Model lists by provider\n */\nexport async function writeRegistryFiles(\n jsonPath: string,\n typesPath: string,\n providers: Record<string, ProviderConfig>,\n models: Record<string, string[]>,\n): Promise<void> {\n // 0. Ensure directories exist\n const jsonDir = path.dirname(jsonPath);\n const typesDir = path.dirname(typesPath);\n await fs.mkdir(jsonDir, { recursive: true });\n await fs.mkdir(typesDir, { recursive: true });\n\n // 1. Write JSON file atomically to prevent corruption from concurrent writes\n const registryData = {\n providers,\n models,\n version: '1.0.0',\n };\n\n await atomicWriteFile(jsonPath, JSON.stringify(registryData, null, 2), 'utf-8');\n\n // 2. Generate .d.ts file with type-only declarations (also atomic)\n const typeContent = generateTypesContent(models);\n await atomicWriteFile(typesPath, typeContent, 'utf-8');\n}\n"]}
|
package/dist/relevance/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkNN3NOFRU_cjs = require('../chunk-NN3NOFRU.cjs');
|
|
4
4
|
|
|
5
5
|
// src/relevance/relevance-score-provider.ts
|
|
6
6
|
function createSimilarityPrompt(query, text) {
|
|
@@ -17,7 +17,7 @@ Relevance score (0-1):`;
|
|
|
17
17
|
var MastraAgentRelevanceScorer = class {
|
|
18
18
|
agent;
|
|
19
19
|
constructor(name, model) {
|
|
20
|
-
this.agent = new
|
|
20
|
+
this.agent = new chunkNN3NOFRU_cjs.Agent({
|
|
21
21
|
id: `relevance-scorer-${name}`,
|
|
22
22
|
name: `Relevance Scorer ${name}`,
|
|
23
23
|
instructions: `You are a specialized agent for evaluating the relevance of text to queries.
|
package/dist/relevance/index.js
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkUVHSM2GU_cjs = require('../chunk-UVHSM2GU.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
Object.defineProperty(exports, "MASTRA_RESOURCE_ID_KEY", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkUVHSM2GU_cjs.MASTRA_RESOURCE_ID_KEY; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "MASTRA_THREAD_ID_KEY", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return chunkUVHSM2GU_cjs.MASTRA_THREAD_ID_KEY; }
|
|
14
|
+
});
|
|
7
15
|
Object.defineProperty(exports, "RequestContext", {
|
|
8
16
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkUVHSM2GU_cjs.RequestContext; }
|
|
10
18
|
});
|
|
11
19
|
//# sourceMappingURL=index.cjs.map
|
|
12
20
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
type RecordToTuple<T> = {
|
|
2
2
|
[K in keyof T]: [K, T[K]];
|
|
3
3
|
}[keyof T][];
|
|
4
|
+
/**
|
|
5
|
+
* Reserved key for setting resourceId from middleware.
|
|
6
|
+
* When set in RequestContext, this takes precedence over client-provided values
|
|
7
|
+
* for security (prevents attackers from hijacking another user's memory).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // In your auth middleware:
|
|
12
|
+
* const requestContext = c.get('requestContext');
|
|
13
|
+
* requestContext.set(MASTRA_RESOURCE_ID_KEY, authenticatedUser.id);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare const MASTRA_RESOURCE_ID_KEY = "mastra__resourceId";
|
|
17
|
+
/**
|
|
18
|
+
* Reserved key for setting threadId from middleware.
|
|
19
|
+
* When set in RequestContext, this takes precedence over client-provided values
|
|
20
|
+
* for security (prevents attackers from hijacking another user's memory).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // In your auth middleware:
|
|
25
|
+
* const requestContext = c.get('requestContext');
|
|
26
|
+
* requestContext.set(MASTRA_THREAD_ID_KEY, threadId);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare const MASTRA_THREAD_ID_KEY = "mastra__threadId";
|
|
4
30
|
export declare class RequestContext<Values extends Record<string, any> | unknown = unknown> {
|
|
5
31
|
private registry;
|
|
6
32
|
constructor(iterable?: Values extends Record<string, any> ? RecordToTuple<Partial<Values>> : Iterable<readonly [string, unknown]>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request-context/index.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1B,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAEb,qBAAa,cAAc,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO;IAChF,OAAO,CAAC,QAAQ,CAA8B;gBAG5C,QAAQ,CAAC,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAC9B,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAK1C;;OAEG;IACI,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,EAC7E,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,GACjG,IAAI;IAKP;;OAEG;IACI,GAAG,CACR,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,EACpE,CAAC,GAAG,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,EAC/F,GAAG,EAAE,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACI,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO;IAIjG;;OAEG;IACI,MAAM,CAAC,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpG;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,IAAI,CAAC,CAAC,GAAG,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC;IAIlG;;OAEG;IACI,MAAM,CAAC,CAAC,GAAG,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC;IAI7G;;OAEG;IACI,OAAO,CAAC,CAAC,GAAG,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,KAAK,gBAAgB,CACzG;QAAC,MAAM;QAAE,CAAC;KAAC,CACZ;IAID;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,IAAI;IAIjG;;;OAGG;IACI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGrC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request-context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { MastraBase } from '../base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for server adapters that provides app storage and retrieval.
|
|
4
|
+
*
|
|
5
|
+
* This class extends MastraBase to get logging capabilities and provides
|
|
6
|
+
* a framework-agnostic way to store and retrieve the server app instance
|
|
7
|
+
* (e.g., Hono, Express).
|
|
8
|
+
*
|
|
9
|
+
* Server adapters (like MastraServer from @mastra/hono or @mastra/express) extend this
|
|
10
|
+
* base class to inherit the app storage functionality while adding their
|
|
11
|
+
* framework-specific route registration and middleware handling.
|
|
12
|
+
*
|
|
13
|
+
* @template TApp - The type of the server app (e.g., Hono, Express Application)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // After server creation, the app is accessible via Mastra
|
|
18
|
+
* const app = mastra.getServerApp<Hono>();
|
|
19
|
+
* const response = await app.fetch(new Request('http://localhost/health'));
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare abstract class MastraServerBase<TApp = unknown> extends MastraBase {
|
|
23
|
+
#private;
|
|
24
|
+
constructor({ app, name }: {
|
|
25
|
+
app: TApp;
|
|
26
|
+
name?: string;
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Get the app instance.
|
|
30
|
+
*
|
|
31
|
+
* Returns the server app that was passed to the constructor. This allows users
|
|
32
|
+
* to access the underlying server framework's app for direct operations
|
|
33
|
+
* like calling routes via app.fetch() (Hono) or using the app for testing.
|
|
34
|
+
*
|
|
35
|
+
* @template T - The expected type of the app (defaults to TApp)
|
|
36
|
+
* @returns The app instance cast to T. Callers are responsible for ensuring T matches the actual app type.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const app = adapter.getApp<Hono>();
|
|
41
|
+
* const response = await app.fetch(new Request('http://localhost/api/agents'));
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
getApp<T = TApp>(): T;
|
|
45
|
+
/**
|
|
46
|
+
* Protected getter for subclasses to access the app.
|
|
47
|
+
* This allows subclasses to use `this.app` naturally.
|
|
48
|
+
*/
|
|
49
|
+
protected get app(): TApp;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/server/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,UAAU;;gBAG3D,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAMvD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;IAIrB;;;OAGG;IACH,SAAS,KAAK,GAAG,IAAI,IAAI,CAExB;CACF"}
|
package/dist/server/index.cjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkTWH4PTDG_cjs = require('../chunk-TWH4PTDG.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkDGV2FWB4_cjs = require('../chunk-DGV2FWB4.cjs');
|
|
5
|
+
var chunkAF74UXR5_cjs = require('../chunk-AF74UXR5.cjs');
|
|
5
6
|
|
|
6
7
|
// src/server/auth.ts
|
|
7
|
-
var MastraAuthProvider = class extends
|
|
8
|
+
var MastraAuthProvider = class extends chunkDGV2FWB4_cjs.MastraBase {
|
|
8
9
|
protected;
|
|
9
10
|
public;
|
|
10
11
|
constructor(options) {
|
|
@@ -58,6 +59,82 @@ var CompositeAuth = class extends MastraAuthProvider {
|
|
|
58
59
|
}
|
|
59
60
|
};
|
|
60
61
|
|
|
62
|
+
// src/server/base.ts
|
|
63
|
+
var MastraServerBase = class extends chunkDGV2FWB4_cjs.MastraBase {
|
|
64
|
+
#app;
|
|
65
|
+
constructor({ app, name }) {
|
|
66
|
+
super({ component: chunkAF74UXR5_cjs.RegisteredLogger.SERVER, name: name ?? "Server" });
|
|
67
|
+
this.#app = app;
|
|
68
|
+
this.logger.debug(`Server app set`);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the app instance.
|
|
72
|
+
*
|
|
73
|
+
* Returns the server app that was passed to the constructor. This allows users
|
|
74
|
+
* to access the underlying server framework's app for direct operations
|
|
75
|
+
* like calling routes via app.fetch() (Hono) or using the app for testing.
|
|
76
|
+
*
|
|
77
|
+
* @template T - The expected type of the app (defaults to TApp)
|
|
78
|
+
* @returns The app instance cast to T. Callers are responsible for ensuring T matches the actual app type.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const app = adapter.getApp<Hono>();
|
|
83
|
+
* const response = await app.fetch(new Request('http://localhost/api/agents'));
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
getApp() {
|
|
87
|
+
return this.#app;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Protected getter for subclasses to access the app.
|
|
91
|
+
* This allows subclasses to use `this.app` naturally.
|
|
92
|
+
*/
|
|
93
|
+
get app() {
|
|
94
|
+
return this.#app;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// src/server/simple-auth.ts
|
|
99
|
+
var DEFAULT_HEADERS = ["Authorization", "X-Playground-Access"];
|
|
100
|
+
var SimpleAuth = class extends MastraAuthProvider {
|
|
101
|
+
tokens;
|
|
102
|
+
headers;
|
|
103
|
+
users;
|
|
104
|
+
constructor(options) {
|
|
105
|
+
super(options);
|
|
106
|
+
this.tokens = options.tokens;
|
|
107
|
+
this.users = Object.values(this.tokens);
|
|
108
|
+
this.headers = [...DEFAULT_HEADERS].concat(options.headers || []);
|
|
109
|
+
}
|
|
110
|
+
async authenticateToken(token, request) {
|
|
111
|
+
const requestTokens = this.getTokensFromHeaders(token, request);
|
|
112
|
+
for (const requestToken of requestTokens) {
|
|
113
|
+
const tokenToUser = this.tokens[requestToken];
|
|
114
|
+
if (tokenToUser) {
|
|
115
|
+
return tokenToUser;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
async authorizeUser(user, _request) {
|
|
121
|
+
return this.users.includes(user);
|
|
122
|
+
}
|
|
123
|
+
stripBearerPrefix(token) {
|
|
124
|
+
return token.startsWith("Bearer ") ? token.slice(7) : token;
|
|
125
|
+
}
|
|
126
|
+
getTokensFromHeaders(token, request) {
|
|
127
|
+
const tokens = [token];
|
|
128
|
+
for (const headerName of this.headers) {
|
|
129
|
+
const headerValue = request.header(headerName);
|
|
130
|
+
if (headerValue) {
|
|
131
|
+
tokens.push(this.stripBearerPrefix(headerValue));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return tokens;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
61
138
|
// src/server/index.ts
|
|
62
139
|
function validateOptions(path, options) {
|
|
63
140
|
const opts = options;
|
|
@@ -112,6 +189,8 @@ function defineAuth(config) {
|
|
|
112
189
|
|
|
113
190
|
exports.CompositeAuth = CompositeAuth;
|
|
114
191
|
exports.MastraAuthProvider = MastraAuthProvider;
|
|
192
|
+
exports.MastraServerBase = MastraServerBase;
|
|
193
|
+
exports.SimpleAuth = SimpleAuth;
|
|
115
194
|
exports.defineAuth = defineAuth;
|
|
116
195
|
exports.registerApiRoute = registerApiRoute;
|
|
117
196
|
//# sourceMappingURL=index.cjs.map
|