@mastra/core 1.0.0-beta.1 → 1.0.0-beta.3
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 +171 -0
- package/dist/agent/agent-legacy.d.ts +2 -2
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent.d.ts +1 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +3 -2
- 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.map +1 -1
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
- package/dist/agent/types.d.ts +1 -0
- 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 +2 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/chunk-3PSWNGBF.js +3 -0
- package/dist/{chunk-ZV5CC35D.js.map → chunk-3PSWNGBF.js.map} +1 -1
- package/dist/{chunk-IQO7ANVS.cjs → chunk-3VOUB4ZU.cjs} +10 -9
- package/dist/chunk-3VOUB4ZU.cjs.map +1 -0
- package/dist/{chunk-H6CZGPZD.js → chunk-4DWZ4Z6H.js} +157 -24
- package/dist/chunk-4DWZ4Z6H.js.map +1 -0
- package/dist/{chunk-ET6UOTTU.cjs → chunk-4IKJAKCD.cjs} +40 -4
- package/dist/chunk-4IKJAKCD.cjs.map +1 -0
- package/dist/{chunk-MA7TEM62.cjs → chunk-4RSHBKDJ.cjs} +244 -4
- package/dist/chunk-4RSHBKDJ.cjs.map +1 -0
- package/dist/{chunk-MV7KHWUT.js → chunk-5CWWU22H.js} +25 -4
- package/dist/chunk-5CWWU22H.js.map +1 -0
- package/dist/{chunk-JV2KH24V.js → chunk-BAMR7HKO.js} +18 -13
- package/dist/chunk-BAMR7HKO.js.map +1 -0
- package/dist/{chunk-JUBFO5J3.js → chunk-CKGIPST2.js} +829 -92
- package/dist/chunk-CKGIPST2.js.map +1 -0
- package/dist/{chunk-4CDL2QJT.js → chunk-D6EDHNGV.js} +53 -16
- package/dist/chunk-D6EDHNGV.js.map +1 -0
- package/dist/{chunk-CD56CXVE.cjs → chunk-EZVRSZMK.cjs} +13 -12
- package/dist/chunk-EZVRSZMK.cjs.map +1 -0
- package/dist/{chunk-ECFXGXWO.cjs → chunk-G36A2JRR.cjs} +18 -13
- package/dist/chunk-G36A2JRR.cjs.map +1 -0
- package/dist/{chunk-VOQ3ULMT.js → chunk-G3OOCXAI.js} +243 -3
- package/dist/chunk-G3OOCXAI.js.map +1 -0
- package/dist/{chunk-I4CXL4SR.js → chunk-GRGPQ32U.js} +5 -4
- package/dist/chunk-GRGPQ32U.js.map +1 -0
- package/dist/{chunk-WM6CK2F3.cjs → chunk-HBJPYQRN.cjs} +57 -19
- package/dist/chunk-HBJPYQRN.cjs.map +1 -0
- package/dist/{chunk-GGYKYORQ.cjs → chunk-JTXVR2RA.cjs} +27 -6
- package/dist/chunk-JTXVR2RA.cjs.map +1 -0
- package/dist/{chunk-XEVG546F.js → chunk-JXESKY4A.js} +3 -3
- package/dist/{chunk-XEVG546F.js.map → chunk-JXESKY4A.js.map} +1 -1
- package/dist/{chunk-7AHYOMHJ.js → chunk-KEURQGCQ.js} +40 -5
- package/dist/chunk-KEURQGCQ.js.map +1 -0
- package/dist/{chunk-JPGVRWWL.js → chunk-KOSW5PP5.js} +8 -2
- package/dist/chunk-KOSW5PP5.js.map +1 -0
- package/dist/chunk-MCUX2D5Q.js +420 -0
- package/dist/chunk-MCUX2D5Q.js.map +1 -0
- package/dist/chunk-N4SJ4YX7.cjs +424 -0
- package/dist/chunk-N4SJ4YX7.cjs.map +1 -0
- package/dist/{chunk-VOY2RXOC.cjs → chunk-O6NA3Z43.cjs} +6 -6
- package/dist/{chunk-VOY2RXOC.cjs.map → chunk-O6NA3Z43.cjs.map} +1 -1
- package/dist/{chunk-CINNK34N.js → chunk-OQF4H5Y2.js} +6 -5
- package/dist/chunk-OQF4H5Y2.js.map +1 -0
- package/dist/{chunk-MSWTA73A.cjs → chunk-OWX2PUFH.cjs} +866 -126
- package/dist/chunk-OWX2PUFH.cjs.map +1 -0
- package/dist/chunk-PE3V7GUL.cjs +4 -0
- package/dist/{chunk-LJFJTTZQ.cjs.map → chunk-PE3V7GUL.cjs.map} +1 -1
- package/dist/{chunk-HDJFSJCK.js → chunk-T3WZCEC4.js} +4 -3
- package/dist/chunk-T3WZCEC4.js.map +1 -0
- package/dist/{chunk-W7UH2PWL.js → chunk-VU6DVS7J.js} +179 -282
- package/dist/chunk-VU6DVS7J.js.map +1 -0
- package/dist/{chunk-DNEURYF3.cjs → chunk-VZGBVYXA.cjs} +175 -42
- package/dist/chunk-VZGBVYXA.cjs.map +1 -0
- package/dist/{chunk-2ZVKF4HP.cjs → chunk-XRIVPHXV.cjs} +184 -285
- package/dist/chunk-XRIVPHXV.cjs.map +1 -0
- package/dist/{chunk-LWBQ4P4N.cjs → chunk-YQ7NLZZ3.cjs} +54 -53
- package/dist/chunk-YQ7NLZZ3.cjs.map +1 -0
- package/dist/{chunk-CB575O6L.cjs → chunk-ZPMFINU2.cjs} +8 -2
- package/dist/chunk-ZPMFINU2.cjs.map +1 -0
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/index.cjs +4 -4
- package/dist/evals/index.js +1 -1
- package/dist/evals/scoreTraces/index.cjs +5 -4
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +3 -2
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
- 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 +26 -10
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -1
- 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/gateways/base.d.ts +8 -0
- package/dist/llm/model/gateways/base.d.ts.map +1 -1
- package/dist/llm/model/gateways/models-dev.d.ts +1 -0
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts +2 -1
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- 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.loop.d.ts +2 -2
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +2 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/llm/model/provider-registry.d.ts +11 -1
- package/dist/llm/model/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +56 -7
- package/dist/llm/model/registry-generator.d.ts.map +1 -1
- package/dist/llm/model/resolve-model.d.ts +1 -1
- package/dist/llm/model/resolve-model.d.ts.map +1 -1
- package/dist/llm/model/router.d.ts +12 -5
- package/dist/llm/model/router.d.ts.map +1 -1
- package/dist/llm/model/shared.types.d.ts +10 -4
- package/dist/llm/model/shared.types.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/network/index.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/loop/test-utils/generateText.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/test-utils/textStream.d.ts.map +1 -1
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/test-utils/utils.d.ts +1 -1
- package/dist/loop/test-utils/utils.d.ts.map +1 -1
- package/dist/loop/types.d.ts +8 -3
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +12 -12
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +9 -9
- 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 +4 -4
- package/dist/loop/workflows/agentic-loop/index.d.ts +13 -12
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/run-state.d.ts +2 -2
- package/dist/loop/workflows/run-state.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +4 -4
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +127 -3
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +8 -8
- package/dist/memory/index.js +4 -4
- package/dist/models-dev-GCVENVWA.js +3 -0
- package/dist/{models-dev-DNBKXHT4.js.map → models-dev-GCVENVWA.js.map} +1 -1
- package/dist/models-dev-TIBJR6IG.cjs +12 -0
- package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-TIBJR6IG.cjs.map} +1 -1
- package/dist/netlify-NTSNNT6F.cjs +12 -0
- package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-NTSNNT6F.cjs.map} +1 -1
- package/dist/netlify-O5NJW7CF.js +3 -0
- package/dist/{netlify-7G2L5VSH.js.map → netlify-O5NJW7CF.js.map} +1 -1
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-74GMFZKT.js +3 -0
- package/dist/provider-registry-74GMFZKT.js.map +1 -0
- package/dist/provider-registry-BZP3DIIV.cjs +40 -0
- package/dist/provider-registry-BZP3DIIV.cjs.map +1 -0
- package/dist/provider-registry.json +140 -18
- package/dist/{registry-generator-MK63POJO.cjs → registry-generator-JPCV47SC.cjs} +6 -4
- package/dist/registry-generator-JPCV47SC.cjs.map +1 -0
- package/dist/{registry-generator-H4YNODDH.js → registry-generator-XD4FPZTU.js} +6 -4
- package/dist/registry-generator-XD4FPZTU.js.map +1 -0
- package/dist/relevance/index.cjs +2 -2
- package/dist/relevance/index.js +1 -1
- package/dist/server/index.cjs +2 -1
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +29 -29
- package/dist/storage/index.js +1 -1
- package/dist/storage/types.d.ts +2 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +1 -1
- package/dist/stream/RunOutput.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts +6 -3
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/base/input.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 +4 -3
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/index.cjs +4 -4
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +12 -0
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/utils.cjs +25 -21
- package/dist/utils.d.ts +4 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts +24 -8
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/execution-engine.d.ts +3 -1
- package/dist/workflows/evented/execution-engine.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.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +2 -1
- package/dist/workflows/evented/workflow.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/index.cjs +28 -16
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +2 -1
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +64 -7
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +20 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +109 -40
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +12 -20
- package/src/llm/model/provider-types.generated.d.ts +56 -7
- package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
- package/dist/chunk-4CDL2QJT.js.map +0 -1
- package/dist/chunk-7AHYOMHJ.js.map +0 -1
- package/dist/chunk-CB575O6L.cjs.map +0 -1
- package/dist/chunk-CD56CXVE.cjs.map +0 -1
- package/dist/chunk-CINNK34N.js.map +0 -1
- package/dist/chunk-DNEURYF3.cjs.map +0 -1
- package/dist/chunk-ECFXGXWO.cjs.map +0 -1
- package/dist/chunk-ET6UOTTU.cjs.map +0 -1
- package/dist/chunk-GGYKYORQ.cjs.map +0 -1
- package/dist/chunk-H6CZGPZD.js.map +0 -1
- package/dist/chunk-HDJFSJCK.js.map +0 -1
- package/dist/chunk-I4CXL4SR.js.map +0 -1
- package/dist/chunk-IQO7ANVS.cjs.map +0 -1
- package/dist/chunk-JPGVRWWL.js.map +0 -1
- package/dist/chunk-JUBFO5J3.js.map +0 -1
- package/dist/chunk-JV2KH24V.js.map +0 -1
- package/dist/chunk-LJFJTTZQ.cjs +0 -4
- package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
- package/dist/chunk-MA7TEM62.cjs.map +0 -1
- package/dist/chunk-MSWTA73A.cjs.map +0 -1
- package/dist/chunk-MV7KHWUT.js.map +0 -1
- package/dist/chunk-VOQ3ULMT.js.map +0 -1
- package/dist/chunk-W7UH2PWL.js.map +0 -1
- package/dist/chunk-WM6CK2F3.cjs.map +0 -1
- package/dist/chunk-ZV5CC35D.js +0 -3
- package/dist/models-dev-DNBKXHT4.js +0 -3
- package/dist/models-dev-YBEEQIX6.cjs +0 -12
- package/dist/netlify-7G2L5VSH.js +0 -3
- package/dist/netlify-GWNGSIRZ.cjs +0 -12
- package/dist/registry-generator-H4YNODDH.js.map +0 -1
- package/dist/registry-generator-MK63POJO.cjs.map +0 -1
|
@@ -627,7 +627,12 @@
|
|
|
627
627
|
"apiKeyEnvVar": "BASETEN_API_KEY",
|
|
628
628
|
"apiKeyHeader": "Authorization",
|
|
629
629
|
"name": "Baseten",
|
|
630
|
-
"models": [
|
|
630
|
+
"models": [
|
|
631
|
+
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
632
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
633
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
634
|
+
"zai-org/GLM-4.6"
|
|
635
|
+
],
|
|
631
636
|
"docUrl": "https://docs.baseten.co/development/model-apis/overview",
|
|
632
637
|
"gateway": "models.dev"
|
|
633
638
|
},
|
|
@@ -661,7 +666,10 @@
|
|
|
661
666
|
"apiKeyHeader": "Authorization",
|
|
662
667
|
"name": "OpenCode Zen",
|
|
663
668
|
"models": [
|
|
664
|
-
"
|
|
669
|
+
"alpha-doubao-seed-code",
|
|
670
|
+
"alpha-gd4",
|
|
671
|
+
"alpha-kimi-k2-thinking",
|
|
672
|
+
"alpha-minimax-m2",
|
|
665
673
|
"big-pickle",
|
|
666
674
|
"claude-3-5-haiku",
|
|
667
675
|
"claude-haiku-4-5",
|
|
@@ -671,9 +679,11 @@
|
|
|
671
679
|
"glm-4.6",
|
|
672
680
|
"gpt-5",
|
|
673
681
|
"gpt-5-codex",
|
|
682
|
+
"gpt-5-nano",
|
|
683
|
+
"gpt-5.1",
|
|
684
|
+
"gpt-5.1-codex",
|
|
674
685
|
"grok-code",
|
|
675
686
|
"kimi-k2",
|
|
676
|
-
"minimax-m2",
|
|
677
687
|
"qwen3-coder"
|
|
678
688
|
],
|
|
679
689
|
"docUrl": "https://opencode.ai/docs/zen",
|
|
@@ -703,6 +713,15 @@
|
|
|
703
713
|
"docUrl": "https://fastrouter.ai/models",
|
|
704
714
|
"gateway": "models.dev"
|
|
705
715
|
},
|
|
716
|
+
"minimax": {
|
|
717
|
+
"url": "https://api.minimax.io/anthropic/v1",
|
|
718
|
+
"apiKeyEnvVar": "MINIMAX_API_KEY",
|
|
719
|
+
"apiKeyHeader": "Authorization",
|
|
720
|
+
"name": "Minimax",
|
|
721
|
+
"models": ["MiniMax-M2"],
|
|
722
|
+
"docUrl": "https://platform.minimax.io/docs/guides/quickstart",
|
|
723
|
+
"gateway": "models.dev"
|
|
724
|
+
},
|
|
706
725
|
"google": {
|
|
707
726
|
"apiKeyEnvVar": "GOOGLE_GENERATIVE_AI_API_KEY",
|
|
708
727
|
"name": "Google",
|
|
@@ -726,6 +745,7 @@
|
|
|
726
745
|
"gemini-2.5-pro-preview-05-06",
|
|
727
746
|
"gemini-2.5-pro-preview-06-05",
|
|
728
747
|
"gemini-2.5-pro-preview-tts",
|
|
748
|
+
"gemini-3-pro-preview",
|
|
729
749
|
"gemini-embedding-001",
|
|
730
750
|
"gemini-flash-latest",
|
|
731
751
|
"gemini-flash-lite-latest",
|
|
@@ -786,6 +806,10 @@
|
|
|
786
806
|
"gpt-5-mini",
|
|
787
807
|
"gpt-5-nano",
|
|
788
808
|
"gpt-5-pro",
|
|
809
|
+
"gpt-5.1",
|
|
810
|
+
"gpt-5.1-chat-latest",
|
|
811
|
+
"gpt-5.1-codex",
|
|
812
|
+
"gpt-5.1-codex-mini",
|
|
789
813
|
"o1",
|
|
790
814
|
"o1-mini",
|
|
791
815
|
"o1-preview",
|
|
@@ -860,13 +884,14 @@
|
|
|
860
884
|
"google/gemma-3-27b-it",
|
|
861
885
|
"google/gemma-3n-e4b-it",
|
|
862
886
|
"google/gemma-3n-e4b-it:free",
|
|
887
|
+
"kwaipilot/kat-coder-pro:free",
|
|
863
888
|
"meta-llama/llama-3.2-11b-vision-instruct",
|
|
864
889
|
"meta-llama/llama-3.3-70b-instruct:free",
|
|
865
890
|
"meta-llama/llama-4-scout:free",
|
|
866
891
|
"microsoft/mai-ds-r1:free",
|
|
867
892
|
"minimax/minimax-01",
|
|
868
893
|
"minimax/minimax-m1",
|
|
869
|
-
"minimax/minimax-m2
|
|
894
|
+
"minimax/minimax-m2",
|
|
870
895
|
"mistralai/codestral-2508",
|
|
871
896
|
"mistralai/devstral-medium-2507",
|
|
872
897
|
"mistralai/devstral-small-2505",
|
|
@@ -899,6 +924,10 @@
|
|
|
899
924
|
"openai/gpt-5-mini",
|
|
900
925
|
"openai/gpt-5-nano",
|
|
901
926
|
"openai/gpt-5-pro",
|
|
927
|
+
"openai/gpt-5.1",
|
|
928
|
+
"openai/gpt-5.1-chat",
|
|
929
|
+
"openai/gpt-5.1-codex",
|
|
930
|
+
"openai/gpt-5.1-codex-mini",
|
|
902
931
|
"openai/gpt-oss-120b",
|
|
903
932
|
"openai/gpt-oss-120b:exacto",
|
|
904
933
|
"openai/gpt-oss-20b",
|
|
@@ -907,6 +936,8 @@
|
|
|
907
936
|
"openrouter/horizon-alpha",
|
|
908
937
|
"openrouter/horizon-beta",
|
|
909
938
|
"openrouter/polaris-alpha",
|
|
939
|
+
"openrouter/sherlock-dash-alpha",
|
|
940
|
+
"openrouter/sherlock-think-alpha",
|
|
910
941
|
"openrouter/sonoma-dusk-alpha",
|
|
911
942
|
"openrouter/sonoma-sky-alpha",
|
|
912
943
|
"qwen/qwen-2.5-coder-32b-instruct",
|
|
@@ -965,7 +996,10 @@
|
|
|
965
996
|
"inclusionai/lint-1t",
|
|
966
997
|
"inclusionai/ring-1t",
|
|
967
998
|
"kuaishou/kat-coder-pro-v1",
|
|
999
|
+
"minimax/minimax-m2",
|
|
968
1000
|
"moonshotai/kimi-k2-0905",
|
|
1001
|
+
"moonshotai/kimi-k2-thinking",
|
|
1002
|
+
"moonshotai/kimi-k2-thinking-turbo",
|
|
969
1003
|
"openai/gpt-5",
|
|
970
1004
|
"openai/gpt-5-codex",
|
|
971
1005
|
"qwen/qwen3-coder-plus",
|
|
@@ -979,6 +1013,31 @@
|
|
|
979
1013
|
"docUrl": "https://docs.zenmux.ai",
|
|
980
1014
|
"gateway": "models.dev"
|
|
981
1015
|
},
|
|
1016
|
+
"ovhcloud": {
|
|
1017
|
+
"url": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
|
|
1018
|
+
"apiKeyEnvVar": "OVHCLOUD_API_KEY",
|
|
1019
|
+
"apiKeyHeader": "Authorization",
|
|
1020
|
+
"name": "OVHcloud AI Endpoints",
|
|
1021
|
+
"models": [
|
|
1022
|
+
"deepseek-r1-distill-llama-70b",
|
|
1023
|
+
"gpt-oss-120b",
|
|
1024
|
+
"gpt-oss-20b",
|
|
1025
|
+
"llama-3.1-8b-instruct",
|
|
1026
|
+
"llava-next-mistral-7b",
|
|
1027
|
+
"meta-llama-3_1-70b-instruct",
|
|
1028
|
+
"meta-llama-3_3-70b-instruct",
|
|
1029
|
+
"mistral-7b-instruct-v0.3",
|
|
1030
|
+
"mistral-nemo-instruct-2407",
|
|
1031
|
+
"mistral-small-3.2-24b-instruct-2506",
|
|
1032
|
+
"mixtral-8x7b-instruct-v0.1",
|
|
1033
|
+
"qwen2.5-coder-32b-instruct",
|
|
1034
|
+
"qwen2.5-vl-72b-instruct",
|
|
1035
|
+
"qwen3-32b",
|
|
1036
|
+
"qwen3-coder-30b-a3b-instruct"
|
|
1037
|
+
],
|
|
1038
|
+
"docUrl": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//",
|
|
1039
|
+
"gateway": "models.dev"
|
|
1040
|
+
},
|
|
982
1041
|
"iflowcn": {
|
|
983
1042
|
"url": "https://apis.iflow.cn/v1",
|
|
984
1043
|
"apiKeyEnvVar": "IFLOW_API_KEY",
|
|
@@ -992,6 +1051,7 @@
|
|
|
992
1051
|
"glm-4.6",
|
|
993
1052
|
"kimi-k2",
|
|
994
1053
|
"kimi-k2-0905",
|
|
1054
|
+
"minimax-m2",
|
|
995
1055
|
"qwen3-235b",
|
|
996
1056
|
"qwen3-235b-a22b-instruct",
|
|
997
1057
|
"qwen3-235b-a22b-thinking-2507",
|
|
@@ -1118,9 +1178,11 @@
|
|
|
1118
1178
|
"name": "Requesty",
|
|
1119
1179
|
"models": [
|
|
1120
1180
|
"anthropic/claude-3-7-sonnet",
|
|
1121
|
-
"anthropic/claude-4-
|
|
1181
|
+
"anthropic/claude-haiku-4-5",
|
|
1122
1182
|
"anthropic/claude-opus-4",
|
|
1123
|
-
"anthropic/claude-opus-4-1
|
|
1183
|
+
"anthropic/claude-opus-4-1",
|
|
1184
|
+
"anthropic/claude-sonnet-4",
|
|
1185
|
+
"anthropic/claude-sonnet-4-5",
|
|
1124
1186
|
"google/gemini-2.5-flash",
|
|
1125
1187
|
"google/gemini-2.5-pro",
|
|
1126
1188
|
"openai/gpt-4.1",
|
|
@@ -1129,7 +1191,9 @@
|
|
|
1129
1191
|
"openai/gpt-5",
|
|
1130
1192
|
"openai/gpt-5-mini",
|
|
1131
1193
|
"openai/gpt-5-nano",
|
|
1132
|
-
"openai/o4-mini"
|
|
1194
|
+
"openai/o4-mini",
|
|
1195
|
+
"xai/grok-4",
|
|
1196
|
+
"xai/grok-4-fast"
|
|
1133
1197
|
],
|
|
1134
1198
|
"docUrl": "https://requesty.ai/solution/llm-routing/models",
|
|
1135
1199
|
"gateway": "models.dev"
|
|
@@ -1273,9 +1337,7 @@
|
|
|
1273
1337
|
"gateway": "netlify",
|
|
1274
1338
|
"models": [
|
|
1275
1339
|
"anthropic/claude-3-5-haiku-20241022",
|
|
1276
|
-
"anthropic/claude-3-5-haiku-latest",
|
|
1277
1340
|
"anthropic/claude-3-7-sonnet-20250219",
|
|
1278
|
-
"anthropic/claude-3-7-sonnet-latest",
|
|
1279
1341
|
"anthropic/claude-3-haiku-20240307",
|
|
1280
1342
|
"anthropic/claude-haiku-4-5-20251001",
|
|
1281
1343
|
"anthropic/claude-opus-4-1-20250805",
|
|
@@ -1285,11 +1347,13 @@
|
|
|
1285
1347
|
"gemini/gemini-2.0-flash",
|
|
1286
1348
|
"gemini/gemini-2.0-flash-lite",
|
|
1287
1349
|
"gemini/gemini-2.5-flash",
|
|
1350
|
+
"gemini/gemini-2.5-flash-image",
|
|
1288
1351
|
"gemini/gemini-2.5-flash-image-preview",
|
|
1289
1352
|
"gemini/gemini-2.5-flash-lite",
|
|
1290
1353
|
"gemini/gemini-2.5-flash-lite-preview-09-2025",
|
|
1291
1354
|
"gemini/gemini-2.5-flash-preview-09-2025",
|
|
1292
1355
|
"gemini/gemini-2.5-pro",
|
|
1356
|
+
"gemini/gemini-3-pro-preview",
|
|
1293
1357
|
"gemini/gemini-flash-latest",
|
|
1294
1358
|
"gemini/gemini-flash-lite-latest",
|
|
1295
1359
|
"openai/codex-mini-latest",
|
|
@@ -1299,10 +1363,15 @@
|
|
|
1299
1363
|
"openai/gpt-4o",
|
|
1300
1364
|
"openai/gpt-4o-mini",
|
|
1301
1365
|
"openai/gpt-5",
|
|
1366
|
+
"openai/gpt-5-2025-08-07",
|
|
1302
1367
|
"openai/gpt-5-codex",
|
|
1303
1368
|
"openai/gpt-5-mini",
|
|
1369
|
+
"openai/gpt-5-mini-2025-08-07",
|
|
1304
1370
|
"openai/gpt-5-nano",
|
|
1305
1371
|
"openai/gpt-5-pro",
|
|
1372
|
+
"openai/gpt-5.1",
|
|
1373
|
+
"openai/gpt-5.1-2025-11-13",
|
|
1374
|
+
"openai/gpt-5.1-codex",
|
|
1306
1375
|
"openai/o3",
|
|
1307
1376
|
"openai/o3-mini",
|
|
1308
1377
|
"openai/o4-mini"
|
|
@@ -1776,7 +1845,12 @@
|
|
|
1776
1845
|
"moonshotai/Kimi-K2-Instruct",
|
|
1777
1846
|
"openai/gpt-oss-120b"
|
|
1778
1847
|
],
|
|
1779
|
-
"baseten": [
|
|
1848
|
+
"baseten": [
|
|
1849
|
+
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
1850
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
1851
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
1852
|
+
"zai-org/GLM-4.6"
|
|
1853
|
+
],
|
|
1780
1854
|
"huggingface": [
|
|
1781
1855
|
"MiniMaxAI/MiniMax-M2",
|
|
1782
1856
|
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
@@ -1794,7 +1868,10 @@
|
|
|
1794
1868
|
"zai-org/GLM-4.6"
|
|
1795
1869
|
],
|
|
1796
1870
|
"opencode": [
|
|
1797
|
-
"
|
|
1871
|
+
"alpha-doubao-seed-code",
|
|
1872
|
+
"alpha-gd4",
|
|
1873
|
+
"alpha-kimi-k2-thinking",
|
|
1874
|
+
"alpha-minimax-m2",
|
|
1798
1875
|
"big-pickle",
|
|
1799
1876
|
"claude-3-5-haiku",
|
|
1800
1877
|
"claude-haiku-4-5",
|
|
@@ -1804,9 +1881,11 @@
|
|
|
1804
1881
|
"glm-4.6",
|
|
1805
1882
|
"gpt-5",
|
|
1806
1883
|
"gpt-5-codex",
|
|
1884
|
+
"gpt-5-nano",
|
|
1885
|
+
"gpt-5.1",
|
|
1886
|
+
"gpt-5.1-codex",
|
|
1807
1887
|
"grok-code",
|
|
1808
1888
|
"kimi-k2",
|
|
1809
|
-
"minimax-m2",
|
|
1810
1889
|
"qwen3-coder"
|
|
1811
1890
|
],
|
|
1812
1891
|
"fastrouter": [
|
|
@@ -1825,6 +1904,7 @@
|
|
|
1825
1904
|
"qwen/qwen3-coder",
|
|
1826
1905
|
"x-ai/grok-4"
|
|
1827
1906
|
],
|
|
1907
|
+
"minimax": ["MiniMax-M2"],
|
|
1828
1908
|
"google": [
|
|
1829
1909
|
"gemini-1.5-flash",
|
|
1830
1910
|
"gemini-1.5-flash-8b",
|
|
@@ -1845,6 +1925,7 @@
|
|
|
1845
1925
|
"gemini-2.5-pro-preview-05-06",
|
|
1846
1926
|
"gemini-2.5-pro-preview-06-05",
|
|
1847
1927
|
"gemini-2.5-pro-preview-tts",
|
|
1928
|
+
"gemini-3-pro-preview",
|
|
1848
1929
|
"gemini-embedding-001",
|
|
1849
1930
|
"gemini-flash-latest",
|
|
1850
1931
|
"gemini-flash-lite-latest",
|
|
@@ -1883,6 +1964,10 @@
|
|
|
1883
1964
|
"gpt-5-mini",
|
|
1884
1965
|
"gpt-5-nano",
|
|
1885
1966
|
"gpt-5-pro",
|
|
1967
|
+
"gpt-5.1",
|
|
1968
|
+
"gpt-5.1-chat-latest",
|
|
1969
|
+
"gpt-5.1-codex",
|
|
1970
|
+
"gpt-5.1-codex-mini",
|
|
1886
1971
|
"o1",
|
|
1887
1972
|
"o1-mini",
|
|
1888
1973
|
"o1-preview",
|
|
@@ -1934,13 +2019,14 @@
|
|
|
1934
2019
|
"google/gemma-3-27b-it",
|
|
1935
2020
|
"google/gemma-3n-e4b-it",
|
|
1936
2021
|
"google/gemma-3n-e4b-it:free",
|
|
2022
|
+
"kwaipilot/kat-coder-pro:free",
|
|
1937
2023
|
"meta-llama/llama-3.2-11b-vision-instruct",
|
|
1938
2024
|
"meta-llama/llama-3.3-70b-instruct:free",
|
|
1939
2025
|
"meta-llama/llama-4-scout:free",
|
|
1940
2026
|
"microsoft/mai-ds-r1:free",
|
|
1941
2027
|
"minimax/minimax-01",
|
|
1942
2028
|
"minimax/minimax-m1",
|
|
1943
|
-
"minimax/minimax-m2
|
|
2029
|
+
"minimax/minimax-m2",
|
|
1944
2030
|
"mistralai/codestral-2508",
|
|
1945
2031
|
"mistralai/devstral-medium-2507",
|
|
1946
2032
|
"mistralai/devstral-small-2505",
|
|
@@ -1973,6 +2059,10 @@
|
|
|
1973
2059
|
"openai/gpt-5-mini",
|
|
1974
2060
|
"openai/gpt-5-nano",
|
|
1975
2061
|
"openai/gpt-5-pro",
|
|
2062
|
+
"openai/gpt-5.1",
|
|
2063
|
+
"openai/gpt-5.1-chat",
|
|
2064
|
+
"openai/gpt-5.1-codex",
|
|
2065
|
+
"openai/gpt-5.1-codex-mini",
|
|
1976
2066
|
"openai/gpt-oss-120b",
|
|
1977
2067
|
"openai/gpt-oss-120b:exacto",
|
|
1978
2068
|
"openai/gpt-oss-20b",
|
|
@@ -1981,6 +2071,8 @@
|
|
|
1981
2071
|
"openrouter/horizon-alpha",
|
|
1982
2072
|
"openrouter/horizon-beta",
|
|
1983
2073
|
"openrouter/polaris-alpha",
|
|
2074
|
+
"openrouter/sherlock-dash-alpha",
|
|
2075
|
+
"openrouter/sherlock-think-alpha",
|
|
1984
2076
|
"openrouter/sonoma-dusk-alpha",
|
|
1985
2077
|
"openrouter/sonoma-sky-alpha",
|
|
1986
2078
|
"qwen/qwen-2.5-coder-32b-instruct",
|
|
@@ -2031,7 +2123,10 @@
|
|
|
2031
2123
|
"inclusionai/lint-1t",
|
|
2032
2124
|
"inclusionai/ring-1t",
|
|
2033
2125
|
"kuaishou/kat-coder-pro-v1",
|
|
2126
|
+
"minimax/minimax-m2",
|
|
2034
2127
|
"moonshotai/kimi-k2-0905",
|
|
2128
|
+
"moonshotai/kimi-k2-thinking",
|
|
2129
|
+
"moonshotai/kimi-k2-thinking-turbo",
|
|
2035
2130
|
"openai/gpt-5",
|
|
2036
2131
|
"openai/gpt-5-codex",
|
|
2037
2132
|
"qwen/qwen3-coder-plus",
|
|
@@ -2042,6 +2137,23 @@
|
|
|
2042
2137
|
"z-ai/glm-4.5-air",
|
|
2043
2138
|
"z-ai/glm-4.6"
|
|
2044
2139
|
],
|
|
2140
|
+
"ovhcloud": [
|
|
2141
|
+
"deepseek-r1-distill-llama-70b",
|
|
2142
|
+
"gpt-oss-120b",
|
|
2143
|
+
"gpt-oss-20b",
|
|
2144
|
+
"llama-3.1-8b-instruct",
|
|
2145
|
+
"llava-next-mistral-7b",
|
|
2146
|
+
"meta-llama-3_1-70b-instruct",
|
|
2147
|
+
"meta-llama-3_3-70b-instruct",
|
|
2148
|
+
"mistral-7b-instruct-v0.3",
|
|
2149
|
+
"mistral-nemo-instruct-2407",
|
|
2150
|
+
"mistral-small-3.2-24b-instruct-2506",
|
|
2151
|
+
"mixtral-8x7b-instruct-v0.1",
|
|
2152
|
+
"qwen2.5-coder-32b-instruct",
|
|
2153
|
+
"qwen2.5-vl-72b-instruct",
|
|
2154
|
+
"qwen3-32b",
|
|
2155
|
+
"qwen3-coder-30b-a3b-instruct"
|
|
2156
|
+
],
|
|
2045
2157
|
"iflowcn": [
|
|
2046
2158
|
"deepseek-r1",
|
|
2047
2159
|
"deepseek-v3",
|
|
@@ -2050,6 +2162,7 @@
|
|
|
2050
2162
|
"glm-4.6",
|
|
2051
2163
|
"kimi-k2",
|
|
2052
2164
|
"kimi-k2-0905",
|
|
2165
|
+
"minimax-m2",
|
|
2053
2166
|
"qwen3-235b",
|
|
2054
2167
|
"qwen3-235b-a22b-instruct",
|
|
2055
2168
|
"qwen3-235b-a22b-thinking-2507",
|
|
@@ -2120,9 +2233,11 @@
|
|
|
2120
2233
|
],
|
|
2121
2234
|
"requesty": [
|
|
2122
2235
|
"anthropic/claude-3-7-sonnet",
|
|
2123
|
-
"anthropic/claude-4-
|
|
2236
|
+
"anthropic/claude-haiku-4-5",
|
|
2124
2237
|
"anthropic/claude-opus-4",
|
|
2125
|
-
"anthropic/claude-opus-4-1
|
|
2238
|
+
"anthropic/claude-opus-4-1",
|
|
2239
|
+
"anthropic/claude-sonnet-4",
|
|
2240
|
+
"anthropic/claude-sonnet-4-5",
|
|
2126
2241
|
"google/gemini-2.5-flash",
|
|
2127
2242
|
"google/gemini-2.5-pro",
|
|
2128
2243
|
"openai/gpt-4.1",
|
|
@@ -2131,7 +2246,9 @@
|
|
|
2131
2246
|
"openai/gpt-5",
|
|
2132
2247
|
"openai/gpt-5-mini",
|
|
2133
2248
|
"openai/gpt-5-nano",
|
|
2134
|
-
"openai/o4-mini"
|
|
2249
|
+
"openai/o4-mini",
|
|
2250
|
+
"xai/grok-4",
|
|
2251
|
+
"xai/grok-4-fast"
|
|
2135
2252
|
],
|
|
2136
2253
|
"morph": ["auto", "morph-v3-fast", "morph-v3-large"],
|
|
2137
2254
|
"lmstudio": ["openai/gpt-oss-20b", "qwen/qwen3-30b-a3b-2507", "qwen/qwen3-coder-30b"],
|
|
@@ -2205,9 +2322,7 @@
|
|
|
2205
2322
|
"cerebras": ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b", "zai-glm-4.6"],
|
|
2206
2323
|
"netlify": [
|
|
2207
2324
|
"anthropic/claude-3-5-haiku-20241022",
|
|
2208
|
-
"anthropic/claude-3-5-haiku-latest",
|
|
2209
2325
|
"anthropic/claude-3-7-sonnet-20250219",
|
|
2210
|
-
"anthropic/claude-3-7-sonnet-latest",
|
|
2211
2326
|
"anthropic/claude-3-haiku-20240307",
|
|
2212
2327
|
"anthropic/claude-haiku-4-5-20251001",
|
|
2213
2328
|
"anthropic/claude-opus-4-1-20250805",
|
|
@@ -2217,11 +2332,13 @@
|
|
|
2217
2332
|
"gemini/gemini-2.0-flash",
|
|
2218
2333
|
"gemini/gemini-2.0-flash-lite",
|
|
2219
2334
|
"gemini/gemini-2.5-flash",
|
|
2335
|
+
"gemini/gemini-2.5-flash-image",
|
|
2220
2336
|
"gemini/gemini-2.5-flash-image-preview",
|
|
2221
2337
|
"gemini/gemini-2.5-flash-lite",
|
|
2222
2338
|
"gemini/gemini-2.5-flash-lite-preview-09-2025",
|
|
2223
2339
|
"gemini/gemini-2.5-flash-preview-09-2025",
|
|
2224
2340
|
"gemini/gemini-2.5-pro",
|
|
2341
|
+
"gemini/gemini-3-pro-preview",
|
|
2225
2342
|
"gemini/gemini-flash-latest",
|
|
2226
2343
|
"gemini/gemini-flash-lite-latest",
|
|
2227
2344
|
"openai/codex-mini-latest",
|
|
@@ -2231,10 +2348,15 @@
|
|
|
2231
2348
|
"openai/gpt-4o",
|
|
2232
2349
|
"openai/gpt-4o-mini",
|
|
2233
2350
|
"openai/gpt-5",
|
|
2351
|
+
"openai/gpt-5-2025-08-07",
|
|
2234
2352
|
"openai/gpt-5-codex",
|
|
2235
2353
|
"openai/gpt-5-mini",
|
|
2354
|
+
"openai/gpt-5-mini-2025-08-07",
|
|
2236
2355
|
"openai/gpt-5-nano",
|
|
2237
2356
|
"openai/gpt-5-pro",
|
|
2357
|
+
"openai/gpt-5.1",
|
|
2358
|
+
"openai/gpt-5.1-2025-11-13",
|
|
2359
|
+
"openai/gpt-5.1-codex",
|
|
2238
2360
|
"openai/o3",
|
|
2239
2361
|
"openai/o3-mini",
|
|
2240
2362
|
"openai/o4-mini"
|
|
@@ -17,9 +17,11 @@ async function fetchProvidersFromGateways(gateways) {
|
|
|
17
17
|
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
18
18
|
try {
|
|
19
19
|
const providers = await gateway.fetchProviders();
|
|
20
|
+
const gatewayPrefix = gateway.prefix;
|
|
20
21
|
for (const [providerId, config] of Object.entries(providers)) {
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const typeProviderId = gatewayPrefix ? `${gatewayPrefix}/${providerId}` : providerId;
|
|
23
|
+
allProviders[typeProviderId] = config;
|
|
24
|
+
allModels[typeProviderId] = config.models.sort();
|
|
23
25
|
}
|
|
24
26
|
lastError = null;
|
|
25
27
|
break;
|
|
@@ -113,5 +115,5 @@ async function writeRegistryFiles(jsonPath, typesPath, providers, models) {
|
|
|
113
115
|
exports.fetchProvidersFromGateways = fetchProvidersFromGateways;
|
|
114
116
|
exports.generateTypesContent = generateTypesContent;
|
|
115
117
|
exports.writeRegistryFiles = writeRegistryFiles;
|
|
116
|
-
//# sourceMappingURL=registry-generator-
|
|
117
|
-
//# sourceMappingURL=registry-generator-
|
|
118
|
+
//# sourceMappingURL=registry-generator-JPCV47SC.cjs.map
|
|
119
|
+
//# sourceMappingURL=registry-generator-JPCV47SC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/registry-generator.ts"],"names":["path","fs"],"mappings":";;;;;;;;;;AAcA,eAAsB,2BACpB,QAAA,EAC0F;AAC1F,EAAA,MAAM,eAA+C,EAAC;AACtD,EAAA,MAAM,YAAsC,EAAC;AAE7C,EAAA,MAAM,UAAA,GAAa,CAAA;AAEnB,EAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,IAAI,SAAA,GAA0B,IAAA;AAE9B,IAAA,KAAA,IAAS,OAAA,GAAU,CAAA,EAAG,OAAA,IAAW,UAAA,EAAY,OAAA,EAAA,EAAW;AACtD,MAAA,IAAI;AACF,QAAA,MAAM,SAAA,GAAY,MAAM,OAAA,CAAQ,cAAA,EAAe;AAC/C,QAAA,MAAM,gBAAgB,OAAA,CAAQ,MAAA;AAE9B,QAAA,KAAA,MAAW,CAAC,UAAA,EAAY,MAAM,KAAK,MAAA,CAAO,OAAA,CAAQ,SAAS,CAAA,EAAG;AAG5D,UAAA,MAAM,iBAAiB,aAAA,GAAgB,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,GAAK,UAAA;AAE1E,UAAA,YAAA,CAAa,cAAc,CAAA,GAAI,MAAA;AAE/B,UAAA,SAAA,CAAU,cAAc,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,IAAA,EAAK;AAAA,QACjD;AAEA,QAAA,SAAA,GAAY,IAAA;AACZ,QAAA;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,SAAA,GAAY,iBAAiB,KAAA,GAAQ,KAAA,GAAQ,IAAI,KAAA,CAAM,MAAA,CAAO,KAAK,CAAC,CAAA;AAEpE,QAAA,IAAI,UAAU,UAAA,EAAY;AAExB,UAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,GAAA,GAAO,IAAA,CAAK,IAAI,CAAA,EAAG,OAAA,GAAU,CAAC,CAAA,EAAG,GAAI,CAAA;AAC9D,UAAA,MAAM,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,QAC3D;AAAA,MACF;AAAA,IACF;AAGA,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,MAAM,SAAA;AAAA,IACR;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,SAAA,EAAW,YAAA,EAAc,MAAA,EAAQ,SAAA,EAAU;AACtD;AAOO,SAAS,qBAAqB,MAAA,EAA0C;AAC7E,EAAA,MAAM,qBAAA,GAAwB,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,CAChD,IAAI,CAAC,CAAC,QAAA,EAAU,SAAS,CAAA,KAAM;AAC9B,IAAA,MAAM,aAAa,SAAA,CAAU,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG,CAAA;AAG9C,IAAA,MAAM,WAAA,GAAc,gBAAA,CAAiB,IAAA,CAAK,QAAQ,CAAA;AAClD,IAAA,MAAM,WAAA,GAAc,WAAA,GAAc,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,CAAA,GAAM,QAAA;AAGpD,IAAA,MAAM,aAAa,CAAA,WAAA,EAAc,WAAW,eAAe,UAAA,CAAW,IAAA,CAAK,IAAI,CAAC,CAAA,EAAA,CAAA;AAGhF,IAAA,IAAI,UAAA,CAAW,SAAS,GAAA,EAAK;AAC3B,MAAA,MAAM,eAAA,GAAkB,UAAU,GAAA,CAAI,CAAA,CAAA,KAAK,QAAQ,CAAC,CAAA,EAAA,CAAI,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACnE,MAAA,OAAO,cAAc,WAAW,CAAA;AAAA,EAAiB,eAAe;AAAA,IAAA,CAAA;AAAA,IAClE;AAEA,IAAA,OAAO,UAAA;AAAA,EACT,CAAC,CAAA,CACA,IAAA,CAAK,IAAI,CAAA;AAEZ,EAAA,OAAO,CAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUP,qBAAqB;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;AAiCvB;AASA,eAAsB,kBAAA,CACpB,QAAA,EACA,SAAA,EACA,SAAA,EACA,MAAA,EACe;AAEf,EAAA,MAAM,OAAA,GAAUA,qBAAA,CAAK,OAAA,CAAQ,QAAQ,CAAA;AACrC,EAAA,MAAM,QAAA,GAAWA,qBAAA,CAAK,OAAA,CAAQ,SAAS,CAAA;AACvC,EAAA,MAAMC,oBAAG,KAAA,CAAM,OAAA,EAAS,EAAE,SAAA,EAAW,MAAM,CAAA;AAC3C,EAAA,MAAMA,oBAAG,KAAA,CAAM,QAAA,EAAU,EAAE,SAAA,EAAW,MAAM,CAAA;AAG5C,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AAEA,EAAA,MAAMA,mBAAA,CAAG,UAAU,QAAA,EAAU,IAAA,CAAK,UAAU,YAAA,EAAc,IAAA,EAAM,CAAC,CAAA,EAAG,OAAO,CAAA;AAG3E,EAAA,MAAM,WAAA,GAAc,qBAAqB,MAAM,CAAA;AAC/C,EAAA,MAAMA,mBAAA,CAAG,SAAA,CAAU,SAAA,EAAW,WAAA,EAAa,OAAO,CAAA;AACpD","file":"registry-generator-JPCV47SC.cjs","sourcesContent":["/**\n * Shared provider registry generation logic\n * Used by both the CLI generation script and runtime refresh\n */\n\nimport fs from 'fs/promises';\nimport path from 'path';\nimport type { MastraModelGateway, ProviderConfig } from './gateways/base.js';\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 const gatewayPrefix = gateway.prefix;\n\n for (const [providerId, config] of Object.entries(providers)) {\n // If gateway has a prefix, prepend it to the provider ID for type generation\n // This creates paths like: prefix/provider/model\n const typeProviderId = gatewayPrefix ? `${gatewayPrefix}/${providerId}` : 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\n const registryData = {\n providers,\n models,\n version: '1.0.0',\n };\n\n await fs.writeFile(jsonPath, JSON.stringify(registryData, null, 2), 'utf-8');\n\n // 2. Generate .d.ts file with type-only declarations\n const typeContent = generateTypesContent(models);\n await fs.writeFile(typesPath, typeContent, 'utf-8');\n}\n"]}
|
|
@@ -10,9 +10,11 @@ async function fetchProvidersFromGateways(gateways) {
|
|
|
10
10
|
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
11
11
|
try {
|
|
12
12
|
const providers = await gateway.fetchProviders();
|
|
13
|
+
const gatewayPrefix = gateway.prefix;
|
|
13
14
|
for (const [providerId, config] of Object.entries(providers)) {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const typeProviderId = gatewayPrefix ? `${gatewayPrefix}/${providerId}` : providerId;
|
|
16
|
+
allProviders[typeProviderId] = config;
|
|
17
|
+
allModels[typeProviderId] = config.models.sort();
|
|
16
18
|
}
|
|
17
19
|
lastError = null;
|
|
18
20
|
break;
|
|
@@ -104,5 +106,5 @@ async function writeRegistryFiles(jsonPath, typesPath, providers, models) {
|
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
export { fetchProvidersFromGateways, generateTypesContent, writeRegistryFiles };
|
|
107
|
-
//# sourceMappingURL=registry-generator-
|
|
108
|
-
//# sourceMappingURL=registry-generator-
|
|
109
|
+
//# sourceMappingURL=registry-generator-XD4FPZTU.js.map
|
|
110
|
+
//# sourceMappingURL=registry-generator-XD4FPZTU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/registry-generator.ts"],"names":[],"mappings":"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","file":"registry-generator-XD4FPZTU.js","sourcesContent":["/**\n * Shared provider registry generation logic\n * Used by both the CLI generation script and runtime refresh\n */\n\nimport fs from 'fs/promises';\nimport path from 'path';\nimport type { MastraModelGateway, ProviderConfig } from './gateways/base.js';\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 const gatewayPrefix = gateway.prefix;\n\n for (const [providerId, config] of Object.entries(providers)) {\n // If gateway has a prefix, prepend it to the provider ID for type generation\n // This creates paths like: prefix/provider/model\n const typeProviderId = gatewayPrefix ? `${gatewayPrefix}/${providerId}` : 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\n const registryData = {\n providers,\n models,\n version: '1.0.0',\n };\n\n await fs.writeFile(jsonPath, JSON.stringify(registryData, null, 2), 'utf-8');\n\n // 2. Generate .d.ts file with type-only declarations\n const typeContent = generateTypesContent(models);\n await fs.writeFile(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 chunkOWX2PUFH_cjs = require('../chunk-OWX2PUFH.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 chunkOWX2PUFH_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
package/dist/server/index.cjs
CHANGED
|
@@ -62,7 +62,8 @@ function registerApiRoute(path, options) {
|
|
|
62
62
|
handler: options.handler,
|
|
63
63
|
createHandler: options.createHandler,
|
|
64
64
|
openapi: options.openapi,
|
|
65
|
-
middleware: options.middleware
|
|
65
|
+
middleware: options.middleware,
|
|
66
|
+
requiresAuth: options.requiresAuth
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
69
|
function defineAuth(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":["MastraBase","MastraError"],"mappings":";;;;;;AAQO,IAAe,kBAAA,GAAf,cAA2DA,4BAAA,CAAW;AAAA,EAC3E,YAAY,OAAA,EAA4C;AACtD,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,MAAM,CAAA;AAEhD,IAAA,IAAI,SAAS,aAAA,EAAe;AAC1B,MAAA,IAAA,CAAK,aAAA,GAAgB,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AAAA,IACtD;AAAA,EACF;AAAA,EAkBU,gBAAgB,IAAA,EAAyC;AACjE,IAAA,IAAI,MAAM,aAAA,EAAe;AACvB,MAAA,IAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AAAA,IACnD;AAAA,EACF;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":["MastraBase","MastraError"],"mappings":";;;;;;AAQO,IAAe,kBAAA,GAAf,cAA2DA,4BAAA,CAAW;AAAA,EAC3E,YAAY,OAAA,EAA4C;AACtD,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,MAAM,CAAA;AAEhD,IAAA,IAAI,SAAS,aAAA,EAAe;AAC1B,MAAA,IAAA,CAAK,aAAA,GAAgB,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AAAA,IACtD;AAAA,EACF;AAAA,EAkBU,gBAAgB,IAAA,EAAyC;AACjE,IAAA,IAAI,MAAM,aAAA,EAAe;AACvB,MAAA,IAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AAAA,IACnD;AAAA,EACF;AACF;;;ACWA,SAAS,eAAA,CACP,MACA,OAAA,EAC+C;AAC/C,EAAA,MAAM,IAAA,GAAO,OAAA;AAEb,EAAA,IAAI,IAAA,CAAK,WAAW,MAAA,EAAW;AAC7B,IAAA,MAAM,IAAIC,6BAAA,CAAY;AAAA,MACpB,EAAA,EAAI,yCAAA;AAAA,MACJ,IAAA,EAAM,8BAA8B,IAAI,CAAA,4BAAA,CAAA;AAAA,MACxC,MAAA,EAAA,eAAA;AAAA,MACA,QAAA,EAAA,MAAA;AAAA,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAI,IAAA,CAAK,OAAA,KAAY,MAAA,IAAa,IAAA,CAAK,kBAAkB,MAAA,EAAW;AAClE,IAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,MACpB,EAAA,EAAI,yCAAA;AAAA,MACJ,IAAA,EAAM,8BAA8B,IAAI,CAAA,0DAAA,CAAA;AAAA,MACxC,MAAA,EAAA,eAAA;AAAA,MACA,QAAA,EAAA,MAAA;AAAA,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAI,IAAA,CAAK,OAAA,KAAY,MAAA,IAAa,IAAA,CAAK,kBAAkB,MAAA,EAAW;AAClE,IAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,MACpB,EAAA,EAAI,yCAAA;AAAA,MACJ,IAAA,EAAM,8BAA8B,IAAI,CAAA,oFAAA,CAAA;AAAA,MACxC,MAAA,EAAA,eAAA;AAAA,MACA,QAAA,EAAA,MAAA;AAAA,KACD,CAAA;AAAA,EACH;AACF;AAEO,SAAS,gBAAA,CACd,MACA,OAAA,EAC2B;AAC3B,EAAA,IAAI,IAAA,CAAK,UAAA,CAAW,OAAO,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,MACpB,EAAA,EAAI,iCAAA;AAAA,MACJ,IAAA,EAAM,CAAA,sEAAA,CAAA;AAAA,MACN,MAAA,EAAA,eAAA;AAAA,MACA,QAAA,EAAA,MAAA;AAAA,KACD,CAAA;AAAA,EACH;AAEA,EAAA,eAAA,CAAgB,MAAM,OAAO,CAAA;AAE7B,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,QAAQ,OAAA,CAAQ,MAAA;AAAA,IAChB,SAAS,OAAA,CAAQ,OAAA;AAAA,IACjB,eAAe,OAAA,CAAQ,aAAA;AAAA,IACvB,SAAS,OAAA,CAAQ,OAAA;AAAA,IACjB,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,cAAc,OAAA,CAAQ;AAAA,GACxB;AACF;AAEO,SAAS,WAAkB,MAAA,EAA0D;AAC1F,EAAA,OAAO,MAAA;AACT","file":"index.cjs","sourcesContent":["import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n }\n}\n","import type { Context, Handler, MiddlewareHandler } from 'hono';\nimport type { DescribeRouteOptions } from 'hono-openapi';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { Mastra } from '../mastra';\nimport type { ApiRoute, MastraAuthConfig, Methods } from './types';\n\nexport type { MastraAuthConfig, ContextWithMastra, ApiRoute } from './types';\nexport { MastraAuthProvider } from './auth';\nexport type { MastraAuthProviderOptions } from './auth';\n\n// Helper type for inferring parameters from a path\n// Thank you Claude!\ntype ParamsFromPath<P extends string> = {\n [K in P extends `${string}:${infer Param}/${string}` | `${string}:${infer Param}` ? Param : never]: string;\n};\n\ntype RegisterApiRoutePathError = `Param 'path' must not start with '/api', it is reserved for internal API routes.`;\ntype ValidatePath<P extends string, T> = P extends `/api/${string}` ? RegisterApiRoutePathError : T;\n\ntype RegisterApiRouteOptions<P extends string> = {\n method: Methods;\n openapi?: DescribeRouteOptions;\n handler?: Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >;\n createHandler?: (c: Context) => Promise<\n Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >\n >;\n middleware?: MiddlewareHandler | MiddlewareHandler[];\n /**\n * When false, skips Mastra auth for this route (defaults to true)\n */\n requiresAuth?: boolean;\n};\n\nfunction validateOptions<P extends string>(\n path: P,\n options: RegisterApiRoutePathError | RegisterApiRouteOptions<P>,\n): asserts options is RegisterApiRouteOptions<P> {\n const opts = options as RegisterApiRouteOptions<P>;\n\n if (opts.method === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", missing \"method\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler === undefined && opts.createHandler === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you must define a \"handler\" or \"createHandler\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler !== undefined && opts.createHandler !== undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you can only define one of the following properties: \"handler\" or \"createHandler\"`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n}\n\nexport function registerApiRoute<P extends string>(\n path: P,\n options: ValidatePath<P, RegisterApiRouteOptions<P>>,\n): ValidatePath<P, ApiRoute> {\n if (path.startsWith('/api/')) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_PATH_RESERVED',\n text: 'Path must not start with \"/api\", it\\'s reserved for internal API routes',\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n validateOptions(path, options);\n\n return {\n path,\n method: options.method,\n handler: options.handler,\n createHandler: options.createHandler,\n openapi: options.openapi,\n middleware: options.middleware,\n requiresAuth: options.requiresAuth,\n } as unknown as ValidatePath<P, ApiRoute>;\n}\n\nexport function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser> {\n return config;\n}\n"]}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ type RegisterApiRouteOptions<P extends string> = {
|
|
|
24
24
|
};
|
|
25
25
|
}, P, ParamsFromPath<P>>>;
|
|
26
26
|
middleware?: MiddlewareHandler | MiddlewareHandler[];
|
|
27
|
+
/**
|
|
28
|
+
* When false, skips Mastra auth for this route (defaults to true)
|
|
29
|
+
*/
|
|
30
|
+
requiresAuth?: boolean;
|
|
27
31
|
};
|
|
28
32
|
export declare function registerApiRoute<P extends string>(path: P, options: ValidatePath<P, RegisterApiRouteOptions<P>>): ValidatePath<P, ApiRoute>;
|
|
29
33
|
export declare function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEnE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAIxD,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;CAC3G,CAAC;AAEF,KAAK,yBAAyB,GAAG,kFAAkF,CAAC;AACpH,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAG,yBAAyB,GAAG,CAAC,CAAC;AAEpG,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CACf;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CACrC,OAAO,CACL;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CACF,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEnE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAIxD,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;CAC3G,CAAC;AAEF,KAAK,yBAAyB,GAAG,kFAAkF,CAAC;AACpH,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAG,yBAAyB,GAAG,CAAC,CAAC;AAEpG,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CACf;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CACrC,OAAO,CACL;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CACF,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IACrD;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAoCF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACnD,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAqB3B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAE1F"}
|
package/dist/server/index.js
CHANGED
|
@@ -60,7 +60,8 @@ function registerApiRoute(path, options) {
|
|
|
60
60
|
handler: options.handler,
|
|
61
61
|
createHandler: options.createHandler,
|
|
62
62
|
openapi: options.openapi,
|
|
63
|
-
middleware: options.middleware
|
|
63
|
+
middleware: options.middleware,
|
|
64
|
+
requiresAuth: options.requiresAuth
|
|
64
65
|
};
|
|
65
66
|
}
|
|
66
67
|
function defineAuth(config) {
|