@mastra/code-sdk 0.0.0-aggregate-trace-20261015182851
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/LICENSE.md +32 -0
- package/README.md +284 -0
- package/dist/acp/agent.d.ts +48 -0
- package/dist/acp/agent.d.ts.map +1 -0
- package/dist/acp/agent.js +416 -0
- package/dist/acp/agent.js.map +1 -0
- package/dist/acp/errors.d.ts +3 -0
- package/dist/acp/errors.d.ts.map +1 -0
- package/dist/acp/errors.js +14 -0
- package/dist/acp/errors.js.map +1 -0
- package/dist/acp/event-mapper.d.ts +28 -0
- package/dist/acp/event-mapper.d.ts.map +1 -0
- package/dist/acp/event-mapper.js +279 -0
- package/dist/acp/event-mapper.js.map +1 -0
- package/dist/acp/index.d.ts +9 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +24 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/runtime.d.ts +5 -0
- package/dist/acp/runtime.d.ts.map +1 -0
- package/dist/acp/runtime.js +91 -0
- package/dist/acp/runtime.js.map +1 -0
- package/dist/acp/server.d.ts +4 -0
- package/dist/acp/server.d.ts.map +1 -0
- package/dist/acp/server.js +38 -0
- package/dist/acp/server.js.map +1 -0
- package/dist/acp/skills.d.ts +6 -0
- package/dist/acp/skills.d.ts.map +1 -0
- package/dist/acp/skills.js +33 -0
- package/dist/acp/skills.js.map +1 -0
- package/dist/acp.d.ts +2 -0
- package/dist/acp.d.ts.map +1 -0
- package/dist/acp.js +2 -0
- package/dist/agent-connections/messaging-processor.d.ts +17 -0
- package/dist/agent-connections/messaging-processor.d.ts.map +1 -0
- package/dist/agent-connections/messaging-processor.js +134 -0
- package/dist/agent-connections/messaging-processor.js.map +1 -0
- package/dist/agent-connections/ownership.d.ts +24 -0
- package/dist/agent-connections/ownership.d.ts.map +1 -0
- package/dist/agent-connections/ownership.js +99 -0
- package/dist/agent-connections/ownership.js.map +1 -0
- package/dist/agent-connections/registry.d.ts +20 -0
- package/dist/agent-connections/registry.d.ts.map +1 -0
- package/dist/agent-connections/registry.js +170 -0
- package/dist/agent-connections/registry.js.map +1 -0
- package/dist/agent-connections/session-advertisement.d.ts +27 -0
- package/dist/agent-connections/session-advertisement.d.ts.map +1 -0
- package/dist/agent-connections/session-advertisement.js +89 -0
- package/dist/agent-connections/session-advertisement.js.map +1 -0
- package/dist/agent-connections/signal-provider.d.ts +141 -0
- package/dist/agent-connections/signal-provider.d.ts.map +1 -0
- package/dist/agent-connections/signal-provider.js +38 -0
- package/dist/agent-connections/signal-provider.js.map +1 -0
- package/dist/agent-connections/state-processor.d.ts +23 -0
- package/dist/agent-connections/state-processor.d.ts.map +1 -0
- package/dist/agent-connections/state-processor.js +273 -0
- package/dist/agent-connections/state-processor.js.map +1 -0
- package/dist/agent-connections/thread-state.d.ts +41 -0
- package/dist/agent-connections/thread-state.d.ts.map +1 -0
- package/dist/agent-connections/thread-state.js +160 -0
- package/dist/agent-connections/thread-state.js.map +1 -0
- package/dist/agent-connections/tools.d.ts +133 -0
- package/dist/agent-connections/tools.d.ts.map +1 -0
- package/dist/agent-connections/tools.js +552 -0
- package/dist/agent-connections/tools.js.map +1 -0
- package/dist/agent-connections/types.d.ts +99 -0
- package/dist/agent-connections/types.d.ts.map +1 -0
- package/dist/agent-connections/types.js +7 -0
- package/dist/agent-connections/types.js.map +1 -0
- package/dist/agent-connections/untrusted-text.d.ts +5 -0
- package/dist/agent-connections/untrusted-text.d.ts.map +1 -0
- package/dist/agent-connections/untrusted-text.js +22 -0
- package/dist/agent-connections/untrusted-text.js.map +1 -0
- package/dist/agents/background-completion-events.d.ts +16 -0
- package/dist/agents/background-completion-events.d.ts.map +1 -0
- package/dist/agents/background-completion-events.js +19 -0
- package/dist/agents/background-completion-events.js.map +1 -0
- package/dist/agents/background-completion.d.ts +9 -0
- package/dist/agents/background-completion.d.ts.map +1 -0
- package/dist/agents/background-completion.js +59 -0
- package/dist/agents/background-completion.js.map +1 -0
- package/dist/agents/context-audit.d.ts +84 -0
- package/dist/agents/context-audit.d.ts.map +1 -0
- package/dist/agents/context-audit.js +118 -0
- package/dist/agents/context-audit.js.map +1 -0
- package/dist/agents/credential-resolver.d.ts +67 -0
- package/dist/agents/credential-resolver.d.ts.map +1 -0
- package/dist/agents/credential-resolver.js +136 -0
- package/dist/agents/credential-resolver.js.map +1 -0
- package/dist/agents/custom-provider-source.d.ts +35 -0
- package/dist/agents/custom-provider-source.d.ts.map +1 -0
- package/dist/agents/custom-provider-source.js +25 -0
- package/dist/agents/custom-provider-source.js.map +1 -0
- package/dist/agents/instructions.d.ts +40 -0
- package/dist/agents/instructions.d.ts.map +1 -0
- package/dist/agents/instructions.js +63 -0
- package/dist/agents/instructions.js.map +1 -0
- package/dist/agents/mastracode-gateway.d.ts +76 -0
- package/dist/agents/mastracode-gateway.d.ts.map +1 -0
- package/dist/agents/mastracode-gateway.js +434 -0
- package/dist/agents/mastracode-gateway.js.map +1 -0
- package/dist/agents/memory.d.ts +39 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/memory.js +266 -0
- package/dist/agents/memory.js.map +1 -0
- package/dist/agents/model.d.ts +123 -0
- package/dist/agents/model.d.ts.map +1 -0
- package/dist/agents/model.js +295 -0
- package/dist/agents/model.js.map +1 -0
- package/dist/agents/modes/build.d.ts +12 -0
- package/dist/agents/modes/build.d.ts.map +1 -0
- package/dist/agents/modes/build.js +36 -0
- package/dist/agents/modes/build.js.map +1 -0
- package/dist/agents/modes/explore.d.ts +10 -0
- package/dist/agents/modes/explore.d.ts.map +1 -0
- package/dist/agents/modes/explore.js +28 -0
- package/dist/agents/modes/explore.js.map +1 -0
- package/dist/agents/modes/plan.d.ts +8 -0
- package/dist/agents/modes/plan.d.ts.map +1 -0
- package/dist/agents/modes/plan.js +46 -0
- package/dist/agents/modes/plan.js.map +1 -0
- package/dist/agents/prompts/agent-instructions.d.ts +99 -0
- package/dist/agents/prompts/agent-instructions.d.ts.map +1 -0
- package/dist/agents/prompts/agent-instructions.js +275 -0
- package/dist/agents/prompts/agent-instructions.js.map +1 -0
- package/dist/agents/prompts/build.d.ts +12 -0
- package/dist/agents/prompts/build.d.ts.map +1 -0
- package/dist/agents/prompts/build.js +76 -0
- package/dist/agents/prompts/build.js.map +1 -0
- package/dist/agents/prompts/fast.d.ts +5 -0
- package/dist/agents/prompts/fast.d.ts.map +1 -0
- package/dist/agents/prompts/fast.js +26 -0
- package/dist/agents/prompts/fast.js.map +1 -0
- package/dist/agents/prompts/index.d.ts +54 -0
- package/dist/agents/prompts/index.d.ts.map +1 -0
- package/dist/agents/prompts/index.js +127 -0
- package/dist/agents/prompts/index.js.map +1 -0
- package/dist/agents/prompts/model.d.ts +5 -0
- package/dist/agents/prompts/model.d.ts.map +1 -0
- package/dist/agents/prompts/model.js +23 -0
- package/dist/agents/prompts/model.js.map +1 -0
- package/dist/agents/prompts/plan.d.ts +8 -0
- package/dist/agents/prompts/plan.d.ts.map +1 -0
- package/dist/agents/prompts/plan.js +129 -0
- package/dist/agents/prompts/plan.js.map +1 -0
- package/dist/agents/prompts/tool-guidance.d.ts +18 -0
- package/dist/agents/prompts/tool-guidance.d.ts.map +1 -0
- package/dist/agents/prompts/tool-guidance.js +181 -0
- package/dist/agents/prompts/tool-guidance.js.map +1 -0
- package/dist/agents/sandbox-filesystem.d.ts +151 -0
- package/dist/agents/sandbox-filesystem.d.ts.map +1 -0
- package/dist/agents/sandbox-filesystem.js +581 -0
- package/dist/agents/sandbox-filesystem.js.map +1 -0
- package/dist/agents/subagents/execute.d.ts +3 -0
- package/dist/agents/subagents/execute.d.ts.map +1 -0
- package/dist/agents/subagents/execute.js +27 -0
- package/dist/agents/subagents/execute.js.map +1 -0
- package/dist/agents/subagents/explore.d.ts +3 -0
- package/dist/agents/subagents/explore.d.ts.map +1 -0
- package/dist/agents/subagents/explore.js +18 -0
- package/dist/agents/subagents/explore.js.map +1 -0
- package/dist/agents/subagents/plan.d.ts +3 -0
- package/dist/agents/subagents/plan.d.ts.map +1 -0
- package/dist/agents/subagents/plan.js +18 -0
- package/dist/agents/subagents/plan.js.map +1 -0
- package/dist/agents/thread-caveman-state.d.ts +17 -0
- package/dist/agents/thread-caveman-state.d.ts.map +1 -0
- package/dist/agents/thread-caveman-state.js +107 -0
- package/dist/agents/thread-caveman-state.js.map +1 -0
- package/dist/agents/tool-availability.d.ts +12 -0
- package/dist/agents/tool-availability.d.ts.map +1 -0
- package/dist/agents/tool-availability.js +129 -0
- package/dist/agents/tool-availability.js.map +1 -0
- package/dist/agents/tools.d.ts +37 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +131 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/agents/workflow-builder-agent.d.ts +2 -0
- package/dist/agents/workflow-builder-agent.d.ts.map +1 -0
- package/dist/agents/workflow-builder-agent.js +82 -0
- package/dist/agents/workflow-builder-agent.js.map +1 -0
- package/dist/agents/workspace.d.ts +33 -0
- package/dist/agents/workspace.d.ts.map +1 -0
- package/dist/agents/workspace.js +208 -0
- package/dist/agents/workspace.js.map +1 -0
- package/dist/analytics.d.ts +18 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +162 -0
- package/dist/analytics.js.map +1 -0
- package/dist/auth/account-rotation-processor.d.ts +182 -0
- package/dist/auth/account-rotation-processor.d.ts.map +1 -0
- package/dist/auth/account-rotation-processor.js +609 -0
- package/dist/auth/account-rotation-processor.js.map +1 -0
- package/dist/auth/account-routing-context.d.ts +13 -0
- package/dist/auth/account-routing-context.d.ts.map +1 -0
- package/dist/auth/account-routing-context.js +41 -0
- package/dist/auth/account-routing-context.js.map +1 -0
- package/dist/auth/authorization-input.d.ts +16 -0
- package/dist/auth/authorization-input.d.ts.map +1 -0
- package/dist/auth/authorization-input.js +42 -0
- package/dist/auth/authorization-input.js.map +1 -0
- package/dist/auth/device-code.d.ts +93 -0
- package/dist/auth/device-code.d.ts.map +1 -0
- package/dist/auth/device-code.js +129 -0
- package/dist/auth/device-code.js.map +1 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/pkce.d.ts +13 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +32 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/provider-auth-error.d.ts +12 -0
- package/dist/auth/provider-auth-error.d.ts.map +1 -0
- package/dist/auth/provider-auth-error.js +16 -0
- package/dist/auth/provider-auth-error.js.map +1 -0
- package/dist/auth/providers/anthropic.d.ts +40 -0
- package/dist/auth/providers/anthropic.d.ts.map +1 -0
- package/dist/auth/providers/anthropic.js +120 -0
- package/dist/auth/providers/anthropic.js.map +1 -0
- package/dist/auth/providers/github-copilot.d.ts +154 -0
- package/dist/auth/providers/github-copilot.d.ts.map +1 -0
- package/dist/auth/providers/github-copilot.js +362 -0
- package/dist/auth/providers/github-copilot.js.map +1 -0
- package/dist/auth/providers/kimi-coding.d.ts +38 -0
- package/dist/auth/providers/kimi-coding.d.ts.map +1 -0
- package/dist/auth/providers/kimi-coding.js +228 -0
- package/dist/auth/providers/kimi-coding.js.map +1 -0
- package/dist/auth/providers/openai-codex.d.ts +141 -0
- package/dist/auth/providers/openai-codex.d.ts.map +1 -0
- package/dist/auth/providers/openai-codex.js +533 -0
- package/dist/auth/providers/openai-codex.js.map +1 -0
- package/dist/auth/providers/xai.d.ts +64 -0
- package/dist/auth/providers/xai.d.ts.map +1 -0
- package/dist/auth/providers/xai.js +226 -0
- package/dist/auth/providers/xai.js.map +1 -0
- package/dist/auth/storage.d.ts +214 -0
- package/dist/auth/storage.d.ts.map +1 -0
- package/dist/auth/storage.js +774 -0
- package/dist/auth/storage.js.map +1 -0
- package/dist/auth/types.d.ts +164 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +1 -0
- package/dist/clipboard/index.d.ts +26 -0
- package/dist/clipboard/index.d.ts.map +1 -0
- package/dist/clipboard/index.js +226 -0
- package/dist/clipboard/index.js.map +1 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +20 -0
- package/dist/constants.js.map +1 -0
- package/dist/error-classification.d.ts +10 -0
- package/dist/error-classification.d.ts.map +1 -0
- package/dist/error-classification.js +22 -0
- package/dist/error-classification.js.map +1 -0
- package/dist/evals/context-builder.d.ts +41 -0
- package/dist/evals/context-builder.d.ts.map +1 -0
- package/dist/evals/context-builder.js +161 -0
- package/dist/evals/context-builder.js.map +1 -0
- package/dist/evals/index.d.ts +4 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +5 -0
- package/dist/evals/scorers/classify-command.d.ts +31 -0
- package/dist/evals/scorers/classify-command.d.ts.map +1 -0
- package/dist/evals/scorers/classify-command.js +73 -0
- package/dist/evals/scorers/classify-command.js.map +1 -0
- package/dist/evals/scorers/efficiency.d.ts +44 -0
- package/dist/evals/scorers/efficiency.d.ts.map +1 -0
- package/dist/evals/scorers/efficiency.js +259 -0
- package/dist/evals/scorers/efficiency.js.map +1 -0
- package/dist/evals/scorers/extract-tools.d.ts +25 -0
- package/dist/evals/scorers/extract-tools.d.ts.map +1 -0
- package/dist/evals/scorers/extract-tools.js +60 -0
- package/dist/evals/scorers/extract-tools.js.map +1 -0
- package/dist/evals/scorers/index.d.ts +3 -0
- package/dist/evals/scorers/index.d.ts.map +1 -0
- package/dist/evals/scorers/index.js +3 -0
- package/dist/evals/scorers/outcome.d.ts +49 -0
- package/dist/evals/scorers/outcome.d.ts.map +1 -0
- package/dist/evals/scorers/outcome.js +347 -0
- package/dist/evals/scorers/outcome.js.map +1 -0
- package/dist/experimental-agent.d.ts +11 -0
- package/dist/experimental-agent.d.ts.map +1 -0
- package/dist/experimental-agent.js +36 -0
- package/dist/experimental-agent.js.map +1 -0
- package/dist/goal-manager.d.ts +114 -0
- package/dist/goal-manager.d.ts.map +1 -0
- package/dist/goal-manager.js +354 -0
- package/dist/goal-manager.js.map +1 -0
- package/dist/goal-signal.d.ts +14 -0
- package/dist/goal-signal.d.ts.map +1 -0
- package/dist/goal-signal.js +17 -0
- package/dist/goal-signal.js.map +1 -0
- package/dist/headless/cli.d.ts +48 -0
- package/dist/headless/cli.d.ts.map +1 -0
- package/dist/headless/cli.js +239 -0
- package/dist/headless/cli.js.map +1 -0
- package/dist/headless/flags.d.ts +33 -0
- package/dist/headless/flags.d.ts.map +1 -0
- package/dist/headless/flags.js +203 -0
- package/dist/headless/flags.js.map +1 -0
- package/dist/headless/format.d.ts +39 -0
- package/dist/headless/format.d.ts.map +1 -0
- package/dist/headless/format.js +85 -0
- package/dist/headless/format.js.map +1 -0
- package/dist/headless/index.d.ts +25 -0
- package/dist/headless/index.d.ts.map +1 -0
- package/dist/headless/index.js +6 -0
- package/dist/headless/policy.d.ts +17 -0
- package/dist/headless/policy.d.ts.map +1 -0
- package/dist/headless/policy.js +42 -0
- package/dist/headless/policy.js.map +1 -0
- package/dist/headless/run-mc.d.ts +7 -0
- package/dist/headless/run-mc.d.ts.map +1 -0
- package/dist/headless/run-mc.js +408 -0
- package/dist/headless/run-mc.js.map +1 -0
- package/dist/headless/types.d.ts +174 -0
- package/dist/headless/types.d.ts.map +1 -0
- package/dist/headless/types.js +19 -0
- package/dist/headless/types.js.map +1 -0
- package/dist/hooks/config.d.ts +11 -0
- package/dist/hooks/config.d.ts.map +1 -0
- package/dist/hooks/config.js +80 -0
- package/dist/hooks/config.js.map +1 -0
- package/dist/hooks/executor.d.ts +13 -0
- package/dist/hooks/executor.d.ts.map +1 -0
- package/dist/hooks/executor.js +129 -0
- package/dist/hooks/executor.js.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/manager.d.ts +54 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +241 -0
- package/dist/hooks/manager.js.map +1 -0
- package/dist/hooks/types.d.ts +172 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +8 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +463 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1305 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/ipc-reporter.d.ts +14 -0
- package/dist/ipc/ipc-reporter.d.ts.map +1 -0
- package/dist/ipc/ipc-reporter.js +21 -0
- package/dist/ipc/ipc-reporter.js.map +1 -0
- package/dist/knowledge-inspector.d.ts +123 -0
- package/dist/knowledge-inspector.d.ts.map +1 -0
- package/dist/knowledge-inspector.js +516 -0
- package/dist/knowledge-inspector.js.map +1 -0
- package/dist/knowledge-scope.d.ts +35 -0
- package/dist/knowledge-scope.d.ts.map +1 -0
- package/dist/knowledge-scope.js +47 -0
- package/dist/knowledge-scope.js.map +1 -0
- package/dist/lsp/client.d.ts +56 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +251 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/index.d.ts +4 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +4 -0
- package/dist/lsp/language.d.ts +9 -0
- package/dist/lsp/language.d.ts.map +1 -0
- package/dist/lsp/language.js +44 -0
- package/dist/lsp/language.js.map +1 -0
- package/dist/lsp/manager.d.ts +34 -0
- package/dist/lsp/manager.d.ts.map +1 -0
- package/dist/lsp/manager.js +82 -0
- package/dist/lsp/manager.js.map +1 -0
- package/dist/lsp/server.d.ts +27 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +159 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/workspace.d.ts +9 -0
- package/dist/lsp/workspace.d.ts.map +1 -0
- package/dist/lsp/workspace.js +55 -0
- package/dist/lsp/workspace.js.map +1 -0
- package/dist/mcp/config.d.ts +77 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +316 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/manager.d.ts +102 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +650 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/state.d.ts +35 -0
- package/dist/mcp/state.d.ts.map +1 -0
- package/dist/mcp/state.js +97 -0
- package/dist/mcp/state.js.map +1 -0
- package/dist/mcp/types.d.ts +139 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +1 -0
- package/dist/onboarding/custom-packs.d.ts +7 -0
- package/dist/onboarding/custom-packs.d.ts.map +1 -0
- package/dist/onboarding/custom-packs.js +20 -0
- package/dist/onboarding/custom-packs.js.map +1 -0
- package/dist/onboarding/custom-providers.d.ts +4 -0
- package/dist/onboarding/custom-providers.d.ts.map +1 -0
- package/dist/onboarding/custom-providers.js +30 -0
- package/dist/onboarding/custom-providers.js.map +1 -0
- package/dist/onboarding/index.d.ts +5 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +3 -0
- package/dist/onboarding/om-settings.d.ts +47 -0
- package/dist/onboarding/om-settings.d.ts.map +1 -0
- package/dist/onboarding/om-settings.js +83 -0
- package/dist/onboarding/om-settings.js.map +1 -0
- package/dist/onboarding/pack-activation.d.ts +52 -0
- package/dist/onboarding/pack-activation.d.ts.map +1 -0
- package/dist/onboarding/pack-activation.js +108 -0
- package/dist/onboarding/pack-activation.js.map +1 -0
- package/dist/onboarding/packs.d.ts +102 -0
- package/dist/onboarding/packs.d.ts.map +1 -0
- package/dist/onboarding/packs.js +278 -0
- package/dist/onboarding/packs.js.map +1 -0
- package/dist/onboarding/settings.d.ts +538 -0
- package/dist/onboarding/settings.d.ts.map +1 -0
- package/dist/onboarding/settings.js +1060 -0
- package/dist/onboarding/settings.js.map +1 -0
- package/dist/permissions.d.ts +55 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +142 -0
- package/dist/permissions.js.map +1 -0
- package/dist/plugin.d.ts +156 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +30 -0
- package/dist/plugin.js.map +1 -0
- package/dist/plugins/dependencies.d.ts +9 -0
- package/dist/plugins/dependencies.d.ts.map +1 -0
- package/dist/plugins/dependencies.js +87 -0
- package/dist/plugins/dependencies.js.map +1 -0
- package/dist/plugins/install.d.ts +21 -0
- package/dist/plugins/install.d.ts.map +1 -0
- package/dist/plugins/install.js +190 -0
- package/dist/plugins/install.js.map +1 -0
- package/dist/plugins/loader.d.ts +19 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +260 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/manager.d.ts +98 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +456 -0
- package/dist/plugins/manager.js.map +1 -0
- package/dist/plugins/manifest.d.ts +14 -0
- package/dist/plugins/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest.js +50 -0
- package/dist/plugins/manifest.js.map +1 -0
- package/dist/plugins/package-link.d.ts +3 -0
- package/dist/plugins/package-link.d.ts.map +1 -0
- package/dist/plugins/package-link.js +61 -0
- package/dist/plugins/package-link.js.map +1 -0
- package/dist/plugins/paths.d.ts +10 -0
- package/dist/plugins/paths.d.ts.map +1 -0
- package/dist/plugins/paths.js +25 -0
- package/dist/plugins/paths.js.map +1 -0
- package/dist/plugins/registry.d.ts +8 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +112 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/scaffold.d.ts +10 -0
- package/dist/plugins/scaffold.d.ts.map +1 -0
- package/dist/plugins/scaffold.js +116 -0
- package/dist/plugins/scaffold.js.map +1 -0
- package/dist/plugins/signal-lane.d.ts +58 -0
- package/dist/plugins/signal-lane.d.ts.map +1 -0
- package/dist/plugins/signal-lane.js +166 -0
- package/dist/plugins/signal-lane.js.map +1 -0
- package/dist/plugins/types.d.ts +81 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +1 -0
- package/dist/process-memory-diagnostics.d.ts +135 -0
- package/dist/process-memory-diagnostics.d.ts.map +1 -0
- package/dist/process-memory-diagnostics.js +499 -0
- package/dist/process-memory-diagnostics.js.map +1 -0
- package/dist/processors/plan-rejection-abort.d.ts +12 -0
- package/dist/processors/plan-rejection-abort.d.ts.map +1 -0
- package/dist/processors/plan-rejection-abort.js +54 -0
- package/dist/processors/plan-rejection-abort.js.map +1 -0
- package/dist/providers/amazon-bedrock-gateway.d.ts +47 -0
- package/dist/providers/amazon-bedrock-gateway.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock-gateway.js +144 -0
- package/dist/providers/amazon-bedrock-gateway.js.map +1 -0
- package/dist/providers/amazon-bedrock.d.ts +28 -0
- package/dist/providers/amazon-bedrock.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock.js +102 -0
- package/dist/providers/amazon-bedrock.js.map +1 -0
- package/dist/providers/anthropic-prompt-cache.d.ts +19 -0
- package/dist/providers/anthropic-prompt-cache.d.ts.map +1 -0
- package/dist/providers/anthropic-prompt-cache.js +11 -0
- package/dist/providers/anthropic-prompt-cache.js.map +1 -0
- package/dist/providers/anthropic-thinking.d.ts +5 -0
- package/dist/providers/anthropic-thinking.d.ts.map +1 -0
- package/dist/providers/anthropic-thinking.js +25 -0
- package/dist/providers/anthropic-thinking.js.map +1 -0
- package/dist/providers/claude-max.d.ts +67 -0
- package/dist/providers/claude-max.d.ts.map +1 -0
- package/dist/providers/claude-max.js +226 -0
- package/dist/providers/claude-max.js.map +1 -0
- package/dist/providers/github-copilot-gateway.d.ts +35 -0
- package/dist/providers/github-copilot-gateway.d.ts.map +1 -0
- package/dist/providers/github-copilot-gateway.js +61 -0
- package/dist/providers/github-copilot-gateway.js.map +1 -0
- package/dist/providers/github-copilot.d.ts +60 -0
- package/dist/providers/github-copilot.d.ts.map +1 -0
- package/dist/providers/github-copilot.js +318 -0
- package/dist/providers/github-copilot.js.map +1 -0
- package/dist/providers/google-thinking.d.ts +31 -0
- package/dist/providers/google-thinking.d.ts.map +1 -0
- package/dist/providers/google-thinking.js +67 -0
- package/dist/providers/google-thinking.js.map +1 -0
- package/dist/providers/kimi-coding.d.ts +14 -0
- package/dist/providers/kimi-coding.d.ts.map +1 -0
- package/dist/providers/kimi-coding.js +78 -0
- package/dist/providers/kimi-coding.js.map +1 -0
- package/dist/providers/model-ids.d.ts +30 -0
- package/dist/providers/model-ids.d.ts.map +1 -0
- package/dist/providers/model-ids.js +79 -0
- package/dist/providers/model-ids.js.map +1 -0
- package/dist/providers/openai-codex.d.ts +84 -0
- package/dist/providers/openai-codex.d.ts.map +1 -0
- package/dist/providers/openai-codex.js +347 -0
- package/dist/providers/openai-codex.js.map +1 -0
- package/dist/providers/provider-thinking.d.ts +23 -0
- package/dist/providers/provider-thinking.d.ts.map +1 -0
- package/dist/providers/provider-thinking.js +64 -0
- package/dist/providers/provider-thinking.js.map +1 -0
- package/dist/providers/thinking-request.d.ts +14 -0
- package/dist/providers/thinking-request.d.ts.map +1 -0
- package/dist/providers/thinking-request.js +90 -0
- package/dist/providers/thinking-request.js.map +1 -0
- package/dist/providers/xai.d.ts +33 -0
- package/dist/providers/xai.d.ts.map +1 -0
- package/dist/providers/xai.js +71 -0
- package/dist/providers/xai.js.map +1 -0
- package/dist/schedules/index.d.ts +10 -0
- package/dist/schedules/index.d.ts.map +1 -0
- package/dist/schedules/index.js +6 -0
- package/dist/schedules/interval.d.ts +49 -0
- package/dist/schedules/interval.d.ts.map +1 -0
- package/dist/schedules/interval.js +215 -0
- package/dist/schedules/interval.js.map +1 -0
- package/dist/schedules/prompt.d.ts +36 -0
- package/dist/schedules/prompt.d.ts.map +1 -0
- package/dist/schedules/prompt.js +39 -0
- package/dist/schedules/prompt.js.map +1 -0
- package/dist/schedules/run-script.d.ts +8 -0
- package/dist/schedules/run-script.d.ts.map +1 -0
- package/dist/schedules/run-script.js +83 -0
- package/dist/schedules/run-script.js.map +1 -0
- package/dist/schedules/scheduler.d.ts +101 -0
- package/dist/schedules/scheduler.d.ts.map +1 -0
- package/dist/schedules/scheduler.js +169 -0
- package/dist/schedules/scheduler.js.map +1 -0
- package/dist/schedules/tools.d.ts +57 -0
- package/dist/schedules/tools.d.ts.map +1 -0
- package/dist/schedules/tools.js +220 -0
- package/dist/schedules/tools.js.map +1 -0
- package/dist/schema.d.ts +499 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +134 -0
- package/dist/schema.js.map +1 -0
- package/dist/theme-palette.d.ts +17 -0
- package/dist/theme-palette.d.ts.map +1 -0
- package/dist/theme-palette.js +21 -0
- package/dist/theme-palette.js.map +1 -0
- package/dist/thinking-catalog.d.ts +4 -0
- package/dist/thinking-catalog.d.ts.map +1 -0
- package/dist/thinking-catalog.js +13 -0
- package/dist/thinking-catalog.js.map +1 -0
- package/dist/thinking.d.ts +37 -0
- package/dist/thinking.d.ts.map +1 -0
- package/dist/thinking.js +137 -0
- package/dist/thinking.js.map +1 -0
- package/dist/tool-names.d.ts +77 -0
- package/dist/tool-names.d.ts.map +1 -0
- package/dist/tool-names.js +56 -0
- package/dist/tool-names.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/request-sandbox-access.d.ts +6 -0
- package/dist/tools/request-sandbox-access.d.ts.map +1 -0
- package/dist/tools/request-sandbox-access.js +80 -0
- package/dist/tools/request-sandbox-access.js.map +1 -0
- package/dist/tools/utils.d.ts +20 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +32 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools/web-search.d.ts +114 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +155 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/workflows/create-workflow.d.ts +7 -0
- package/dist/tools/workflows/create-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/create-workflow.js +81 -0
- package/dist/tools/workflows/create-workflow.js.map +1 -0
- package/dist/tools/workflows/delete-workflow.d.ts +7 -0
- package/dist/tools/workflows/delete-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/delete-workflow.js +21 -0
- package/dist/tools/workflows/delete-workflow.js.map +1 -0
- package/dist/tools/workflows/ephemeral-memory.d.ts +28 -0
- package/dist/tools/workflows/ephemeral-memory.d.ts.map +1 -0
- package/dist/tools/workflows/ephemeral-memory.js +44 -0
- package/dist/tools/workflows/ephemeral-memory.js.map +1 -0
- package/dist/tools/workflows/extract-json-schema.d.ts +12 -0
- package/dist/tools/workflows/extract-json-schema.d.ts.map +1 -0
- package/dist/tools/workflows/extract-json-schema.js +22 -0
- package/dist/tools/workflows/extract-json-schema.js.map +1 -0
- package/dist/tools/workflows/get-workflow.d.ts +11 -0
- package/dist/tools/workflows/get-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/get-workflow.js +34 -0
- package/dist/tools/workflows/get-workflow.js.map +1 -0
- package/dist/tools/workflows/list-available-agents.d.ts +8 -0
- package/dist/tools/workflows/list-available-agents.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-agents.js +32 -0
- package/dist/tools/workflows/list-available-agents.js.map +1 -0
- package/dist/tools/workflows/list-available-classifiers.d.ts +19 -0
- package/dist/tools/workflows/list-available-classifiers.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-classifiers.js +56 -0
- package/dist/tools/workflows/list-available-classifiers.js.map +1 -0
- package/dist/tools/workflows/list-available-tools.d.ts +9 -0
- package/dist/tools/workflows/list-available-tools.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-tools.js +40 -0
- package/dist/tools/workflows/list-available-tools.js.map +1 -0
- package/dist/tools/workflows/list-available-workflows.d.ts +9 -0
- package/dist/tools/workflows/list-available-workflows.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-workflows.js +32 -0
- package/dist/tools/workflows/list-available-workflows.js.map +1 -0
- package/dist/tools/workflows/list-workflows.d.ts +9 -0
- package/dist/tools/workflows/list-workflows.d.ts.map +1 -0
- package/dist/tools/workflows/list-workflows.js +33 -0
- package/dist/tools/workflows/list-workflows.js.map +1 -0
- package/dist/tools/workflows/run-workflow.d.ts +9 -0
- package/dist/tools/workflows/run-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/run-workflow.js +52 -0
- package/dist/tools/workflows/run-workflow.js.map +1 -0
- package/dist/tools/workflows/save-workflow.d.ts +1125 -0
- package/dist/tools/workflows/save-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/save-workflow.js +28 -0
- package/dist/tools/workflows/save-workflow.js.map +1 -0
- package/dist/tools/workflows/tool-ids.d.ts +16 -0
- package/dist/tools/workflows/tool-ids.d.ts.map +1 -0
- package/dist/tools/workflows/tool-ids.js +20 -0
- package/dist/tools/workflows/tool-ids.js.map +1 -0
- package/dist/utils/binaries.d.ts +7 -0
- package/dist/utils/binaries.d.ts.map +1 -0
- package/dist/utils/binaries.js +78 -0
- package/dist/utils/binaries.js.map +1 -0
- package/dist/utils/debug-log.d.ts +12 -0
- package/dist/utils/debug-log.d.ts.map +1 -0
- package/dist/utils/debug-log.js +59 -0
- package/dist/utils/debug-log.js.map +1 -0
- package/dist/utils/discarding-scores-storage.d.ts +33 -0
- package/dist/utils/discarding-scores-storage.d.ts.map +1 -0
- package/dist/utils/discarding-scores-storage.js +54 -0
- package/dist/utils/discarding-scores-storage.js.map +1 -0
- package/dist/utils/errors.d.ts +36 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +196 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/gateway-sync.d.ts +26 -0
- package/dist/utils/gateway-sync.d.ts.map +1 -0
- package/dist/utils/gateway-sync.js +61 -0
- package/dist/utils/gateway-sync.js.map +1 -0
- package/dist/utils/maintenance-lock.d.ts +42 -0
- package/dist/utils/maintenance-lock.d.ts.map +1 -0
- package/dist/utils/maintenance-lock.js +199 -0
- package/dist/utils/maintenance-lock.js.map +1 -0
- package/dist/utils/notification-dispatch.d.ts +59 -0
- package/dist/utils/notification-dispatch.d.ts.map +1 -0
- package/dist/utils/notification-dispatch.js +109 -0
- package/dist/utils/notification-dispatch.js.map +1 -0
- package/dist/utils/open-url.d.ts +10 -0
- package/dist/utils/open-url.d.ts.map +1 -0
- package/dist/utils/open-url.js +30 -0
- package/dist/utils/open-url.js.map +1 -0
- package/dist/utils/path-security.d.ts +2 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js +10 -0
- package/dist/utils/path-security.js.map +1 -0
- package/dist/utils/plan-diff.d.ts +25 -0
- package/dist/utils/plan-diff.d.ts.map +1 -0
- package/dist/utils/plan-diff.js +62 -0
- package/dist/utils/plan-diff.js.map +1 -0
- package/dist/utils/plans.d.ts +59 -0
- package/dist/utils/plans.d.ts.map +1 -0
- package/dist/utils/plans.js +117 -0
- package/dist/utils/plans.js.map +1 -0
- package/dist/utils/project.d.ts +160 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +364 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/utils/prune-cli.d.ts +24 -0
- package/dist/utils/prune-cli.d.ts.map +1 -0
- package/dist/utils/prune-cli.js +125 -0
- package/dist/utils/prune-cli.js.map +1 -0
- package/dist/utils/signals-pubsub.d.ts +101 -0
- package/dist/utils/signals-pubsub.d.ts.map +1 -0
- package/dist/utils/signals-pubsub.js +410 -0
- package/dist/utils/signals-pubsub.js.map +1 -0
- package/dist/utils/slash-command-loader.d.ts +52 -0
- package/dist/utils/slash-command-loader.d.ts.map +1 -0
- package/dist/utils/slash-command-loader.js +142 -0
- package/dist/utils/slash-command-loader.js.map +1 -0
- package/dist/utils/slash-command-processor.d.ts +14 -0
- package/dist/utils/slash-command-processor.d.ts.map +1 -0
- package/dist/utils/slash-command-processor.js +109 -0
- package/dist/utils/slash-command-processor.js.map +1 -0
- package/dist/utils/stdin-pipe.d.ts +33 -0
- package/dist/utils/stdin-pipe.d.ts.map +1 -0
- package/dist/utils/stdin-pipe.js +96 -0
- package/dist/utils/stdin-pipe.js.map +1 -0
- package/dist/utils/storage-factory.d.ts +50 -0
- package/dist/utils/storage-factory.d.ts.map +1 -0
- package/dist/utils/storage-factory.js +121 -0
- package/dist/utils/storage-factory.js.map +1 -0
- package/dist/utils/storage-maintenance.d.ts +121 -0
- package/dist/utils/storage-maintenance.d.ts.map +1 -0
- package/dist/utils/storage-maintenance.js +355 -0
- package/dist/utils/storage-maintenance.js.map +1 -0
- package/dist/utils/thread-lock.d.ts +26 -0
- package/dist/utils/thread-lock.d.ts.map +1 -0
- package/dist/utils/thread-lock.js +112 -0
- package/dist/utils/thread-lock.js.map +1 -0
- package/dist/utils/token-estimator.d.ts +3 -0
- package/dist/utils/token-estimator.d.ts.map +1 -0
- package/dist/utils/token-estimator.js +21 -0
- package/dist/utils/token-estimator.js.map +1 -0
- package/dist/utils/update-check.d.ts +151 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +432 -0
- package/dist/utils/update-check.js.map +1 -0
- package/dist/voice/stt-registry.d.ts +64 -0
- package/dist/voice/stt-registry.d.ts.map +1 -0
- package/dist/voice/stt-registry.js +144 -0
- package/dist/voice/stt-registry.js.map +1 -0
- package/dist/workflows/register-primitives.d.ts +52 -0
- package/dist/workflows/register-primitives.d.ts.map +1 -0
- package/dist/workflows/register-primitives.js +40 -0
- package/dist/workflows/register-primitives.js.map +1 -0
- package/dist/workflows/service.d.ts +64 -0
- package/dist/workflows/service.d.ts.map +1 -0
- package/dist/workflows/service.js +53 -0
- package/dist/workflows/service.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { getAppDataDir } from "../utils/project.js";
|
|
2
|
+
import { AuthStorage } from "../auth/storage.js";
|
|
3
|
+
import { createGoogleThinkingMiddleware } from "../providers/google-thinking.js";
|
|
4
|
+
import { MASTRA_GATEWAY_PREFIX, OPENAI_PREFIX, getCredentialProviderId, normalizeAnthropicModelId, remapOpenAIModelForCodexOAuth, stripMastraGatewayPrefix } from "../providers/model-ids.js";
|
|
5
|
+
import { THINKING_LEVEL_TO_REASONING_EFFORT, buildOpenAICodexOAuthFetch, createCodexMiddleware, createReasoningEffortMiddleware, getEffectiveThinkingLevel, openaiCodexProvider } from "../providers/openai-codex.js";
|
|
6
|
+
import { getCustomProviderId, loadSettings } from "../onboarding/settings.js";
|
|
7
|
+
import { resolveCustomProviders } from "./custom-provider-source.js";
|
|
8
|
+
import { buildAnthropicOAuthFetch, claudeCodeMiddleware, createAnthropicThinkingMiddleware, createPromptCacheMiddleware, opencodeClaudeMaxProvider } from "../providers/claude-max.js";
|
|
9
|
+
import { githubCopilotProvider } from "../providers/github-copilot.js";
|
|
10
|
+
import { kimiCodingProvider } from "../providers/kimi-coding.js";
|
|
11
|
+
import { ModelRouterLanguageModelWithThinking, providerThinkingOptions, withThinkingOptionsModel } from "../providers/provider-thinking.js";
|
|
12
|
+
import { xaiProvider } from "../providers/xai.js";
|
|
13
|
+
import { GATEWAY_AUTH_HEADER, MastraGateway, MastraModelGateway, ModelRouterLanguageModel, PROVIDER_REGISTRY } from "@mastra/core/llm";
|
|
14
|
+
import { createOpenAI } from "@ai-sdk/openai";
|
|
15
|
+
import { wrapLanguageModel } from "ai";
|
|
16
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
17
|
+
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
18
|
+
//#region src/agents/mastracode-gateway.ts
|
|
19
|
+
const MASTRACODE_GATEWAY_ID = "mastracode";
|
|
20
|
+
/**
|
|
21
|
+
* Global file-backed credential store for local (TUI) model resolution.
|
|
22
|
+
*
|
|
23
|
+
* Constructed lazily, NOT at module scope: `AuthStorage`'s default path is
|
|
24
|
+
* resolved from `MASTRA_APP_DATA_DIR` at construction, and this module is
|
|
25
|
+
* routinely imported before test harnesses / embedders point that variable at
|
|
26
|
+
* an isolated directory — an import-time construction would permanently pin
|
|
27
|
+
* the developer's real app-data dir for every credential read.
|
|
28
|
+
*/
|
|
29
|
+
let authStorageSingleton;
|
|
30
|
+
let authStorageSingletonDir;
|
|
31
|
+
function getGlobalAuthStorage() {
|
|
32
|
+
const dir = getAppDataDir();
|
|
33
|
+
if (!authStorageSingleton || authStorageSingletonDir !== dir) {
|
|
34
|
+
authStorageSingleton = new AuthStorage();
|
|
35
|
+
authStorageSingletonDir = dir;
|
|
36
|
+
}
|
|
37
|
+
return authStorageSingleton;
|
|
38
|
+
}
|
|
39
|
+
function reloadAuthStorage() {
|
|
40
|
+
getGlobalAuthStorage().reload();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolve the Anthropic API key.
|
|
44
|
+
* Main slot → dedicated apikey: slot → env var.
|
|
45
|
+
*/
|
|
46
|
+
function getAnthropicApiKey(credentials = getGlobalAuthStorage()) {
|
|
47
|
+
const storedCred = credentials.get("anthropic");
|
|
48
|
+
if (storedCred?.type === "api_key" && storedCred.key.trim().length > 0) return storedCred.key.trim();
|
|
49
|
+
const dedicatedKey = credentials.getStoredApiKey("anthropic")?.trim();
|
|
50
|
+
if (dedicatedKey) return dedicatedKey;
|
|
51
|
+
return credentials.allowEnvironmentFallback === false ? void 0 : process.env.ANTHROPIC_API_KEY?.trim() || void 0;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the OpenAI API key.
|
|
55
|
+
* Main slot → dedicated apikey: slot → env var.
|
|
56
|
+
*/
|
|
57
|
+
function getOpenAIApiKey(credentials = getGlobalAuthStorage()) {
|
|
58
|
+
const storedCred = credentials.get("openai-codex");
|
|
59
|
+
if (storedCred?.type === "api_key" && storedCred.key.trim().length > 0) return storedCred.key.trim();
|
|
60
|
+
const dedicatedKey = credentials.getStoredApiKey("openai-codex")?.trim();
|
|
61
|
+
if (dedicatedKey) return dedicatedKey;
|
|
62
|
+
return credentials.allowEnvironmentFallback === false ? void 0 : process.env.OPENAI_API_KEY?.trim() || void 0;
|
|
63
|
+
}
|
|
64
|
+
function anthropicApiKeyProvider(modelId, apiKey, headers, thinkingLevel, promptCacheScope) {
|
|
65
|
+
const anthropic = createAnthropic({
|
|
66
|
+
apiKey,
|
|
67
|
+
headers
|
|
68
|
+
});
|
|
69
|
+
const thinkingMiddleware = createAnthropicThinkingMiddleware(modelId, thinkingLevel);
|
|
70
|
+
return wrapLanguageModel({
|
|
71
|
+
model: anthropic(modelId),
|
|
72
|
+
middleware: [createPromptCacheMiddleware(promptCacheScope), ...thinkingMiddleware ? [thinkingMiddleware] : []]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function openaiApiKeyProvider(modelId, apiKey, headers, thinkingLevel) {
|
|
76
|
+
const openai = createOpenAI({
|
|
77
|
+
apiKey,
|
|
78
|
+
baseURL: process.env.OPENAI_BASE_URL,
|
|
79
|
+
headers
|
|
80
|
+
});
|
|
81
|
+
const middleware = thinkingLevel && thinkingLevel !== "off" ? createReasoningEffortMiddleware("openai", THINKING_LEVEL_TO_REASONING_EFFORT[getEffectiveThinkingLevel(modelId, thinkingLevel)]) : void 0;
|
|
82
|
+
return wrapLanguageModel({
|
|
83
|
+
model: openai.responses(modelId),
|
|
84
|
+
middleware: middleware ? [middleware] : []
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function getProviderAuthKey(providerId, credentials = getGlobalAuthStorage()) {
|
|
88
|
+
const authProviderId = getCredentialProviderId(providerId);
|
|
89
|
+
const storedCred = credentials.get(authProviderId);
|
|
90
|
+
if (storedCred?.type === "api_key" && storedCred.key.trim().length > 0) return storedCred.key.trim();
|
|
91
|
+
const dedicatedKey = credentials.getStoredApiKey(authProviderId)?.trim();
|
|
92
|
+
if (dedicatedKey) return dedicatedKey;
|
|
93
|
+
const catalogKey = authProviderId !== providerId ? credentials.getStoredApiKey(providerId)?.trim() : void 0;
|
|
94
|
+
if (catalogKey) return catalogKey;
|
|
95
|
+
if (credentials.allowEnvironmentFallback === false) return void 0;
|
|
96
|
+
return authProviderId === "kimi-for-coding" ? process.env.KIMI_API_KEY?.trim() || void 0 : void 0;
|
|
97
|
+
}
|
|
98
|
+
function resolveAuth(request, mastraGatewayApiKey) {
|
|
99
|
+
return MastraCodeGateway.resolveProviderAuth(request, mastraGatewayApiKey);
|
|
100
|
+
}
|
|
101
|
+
function getGatewayProviderKey(gatewayId, providerId) {
|
|
102
|
+
if (gatewayId === "models.dev") return providerId;
|
|
103
|
+
return providerId === gatewayId ? gatewayId : `${gatewayId}/${providerId}`;
|
|
104
|
+
}
|
|
105
|
+
function parseGatewayRouterId(routerId, gateway) {
|
|
106
|
+
const [firstPart = "", secondPart = "", ...restParts] = routerId.split("/");
|
|
107
|
+
const gatewayId = gateway.id;
|
|
108
|
+
if (firstPart === gatewayId && secondPart) return {
|
|
109
|
+
gatewayId,
|
|
110
|
+
providerId: secondPart,
|
|
111
|
+
modelId: restParts.join("/")
|
|
112
|
+
};
|
|
113
|
+
return {
|
|
114
|
+
gatewayId,
|
|
115
|
+
providerId: firstPart,
|
|
116
|
+
modelId: [secondPart, ...restParts].filter(Boolean).join("/")
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function hasResolvedAuth(auth) {
|
|
120
|
+
if (!auth) return false;
|
|
121
|
+
if (auth.apiKey || auth.bearerToken) return true;
|
|
122
|
+
return auth.headers ? Object.keys(auth.headers).length > 0 : false;
|
|
123
|
+
}
|
|
124
|
+
async function resolveGatewayProviderAuth(gateway, routerId) {
|
|
125
|
+
if (!gateway.resolveAuth) return void 0;
|
|
126
|
+
const parsed = parseGatewayRouterId(routerId, gateway);
|
|
127
|
+
try {
|
|
128
|
+
const result = await gateway.resolveAuth({
|
|
129
|
+
gatewayId: parsed.gatewayId,
|
|
130
|
+
providerId: parsed.providerId,
|
|
131
|
+
modelId: parsed.modelId,
|
|
132
|
+
routerId
|
|
133
|
+
});
|
|
134
|
+
return hasResolvedAuth(result) ? result : void 0;
|
|
135
|
+
} catch {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function getMastraCodeProviderConfigs(gateway) {
|
|
140
|
+
const providers = { ...PROVIDER_REGISTRY };
|
|
141
|
+
try {
|
|
142
|
+
const gatewayProviders = await gateway.fetchProviders();
|
|
143
|
+
for (const [providerId, config] of Object.entries(gatewayProviders)) providers[getGatewayProviderKey(gateway.id, providerId)] = {
|
|
144
|
+
...config,
|
|
145
|
+
gateway: gateway.id
|
|
146
|
+
};
|
|
147
|
+
} catch (error) {
|
|
148
|
+
console.warn(`Failed to load providers from gateway ${gateway.id}:`, error);
|
|
149
|
+
}
|
|
150
|
+
return providers;
|
|
151
|
+
}
|
|
152
|
+
function getApiKeyEnvVar(providerConfig) {
|
|
153
|
+
const envVars = providerConfig?.apiKeyEnvVar;
|
|
154
|
+
return Array.isArray(envVars) ? envVars[0] : envVars;
|
|
155
|
+
}
|
|
156
|
+
var MastraCodeGateway = class MastraCodeGateway extends MastraModelGateway {
|
|
157
|
+
id = MASTRACODE_GATEWAY_ID;
|
|
158
|
+
name = "MastraCode Gateway";
|
|
159
|
+
#mastraGateway;
|
|
160
|
+
#mastraGatewayBaseUrl;
|
|
161
|
+
#mastraGatewayApiKey;
|
|
162
|
+
#routeThroughMastraGateway;
|
|
163
|
+
#thinkingLevel;
|
|
164
|
+
#anthropicPromptCacheScope;
|
|
165
|
+
#customProviders;
|
|
166
|
+
#settingsPath;
|
|
167
|
+
#credentials;
|
|
168
|
+
constructor({ mastraGatewayBaseUrl, mastraGatewayApiKey, routeThroughMastraGateway, thinkingLevel, anthropicPromptCacheScope, customProviders, settingsPath, credentialStore }) {
|
|
169
|
+
super();
|
|
170
|
+
this.#mastraGateway = new MastraGateway({ baseUrl: mastraGatewayBaseUrl });
|
|
171
|
+
this.#mastraGatewayBaseUrl = mastraGatewayBaseUrl;
|
|
172
|
+
this.#mastraGatewayApiKey = mastraGatewayApiKey;
|
|
173
|
+
this.#routeThroughMastraGateway = routeThroughMastraGateway;
|
|
174
|
+
this.#thinkingLevel = thinkingLevel;
|
|
175
|
+
this.#anthropicPromptCacheScope = anthropicPromptCacheScope ?? "conversation";
|
|
176
|
+
this.#customProviders = customProviders;
|
|
177
|
+
this.#settingsPath = settingsPath;
|
|
178
|
+
this.#credentials = credentialStore ?? getGlobalAuthStorage();
|
|
179
|
+
}
|
|
180
|
+
static getMastraGatewayApiKey() {
|
|
181
|
+
return getGlobalAuthStorage().getStoredApiKey("mastra-gateway") ?? process.env["MASTRA_GATEWAY_API_KEY"];
|
|
182
|
+
}
|
|
183
|
+
/** @deprecated Renamed to {@link MastraCodeGateway.getMastraGatewayApiKey}. */
|
|
184
|
+
static getMemoryGatewayApiKey() {
|
|
185
|
+
return MastraCodeGateway.getMastraGatewayApiKey();
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Claim an unprefixed model id (e.g. a bare `anthropic/...`) when this gateway
|
|
189
|
+
* can authenticate it via OAuth or a stored/env credential. This lets the
|
|
190
|
+
* shared gateway router select MastraCode for auth resolution, so the status
|
|
191
|
+
* bar and `/api-keys` reflect OAuth logins instead of only checking env vars.
|
|
192
|
+
*/
|
|
193
|
+
handlesModel(modelId) {
|
|
194
|
+
const parsed = parseGatewayRouterId(modelId, this);
|
|
195
|
+
if (!parsed.providerId || !parsed.modelId) return false;
|
|
196
|
+
if (this.#routeThroughMastraGateway && this.#mastraGatewayApiKey) return true;
|
|
197
|
+
if (this.#getCustomProviders().find((provider) => parsed.providerId === getCustomProviderId(provider.name))?.apiKey) return true;
|
|
198
|
+
return hasResolvedAuth(MastraCodeGateway.resolveProviderAuth({
|
|
199
|
+
gatewayId: this.id,
|
|
200
|
+
providerId: parsed.providerId,
|
|
201
|
+
modelId: parsed.modelId,
|
|
202
|
+
routerId: modelId
|
|
203
|
+
}, void 0, this.#credentials));
|
|
204
|
+
}
|
|
205
|
+
static resolveProviderAuth(request, mastraGatewayApiKey, credentials = getGlobalAuthStorage()) {
|
|
206
|
+
if (request.gatewayId === "mastra" && mastraGatewayApiKey) return {
|
|
207
|
+
apiKey: mastraGatewayApiKey,
|
|
208
|
+
source: "gateway"
|
|
209
|
+
};
|
|
210
|
+
const authProviderId = getCredentialProviderId(request.providerId);
|
|
211
|
+
if (credentials.get(authProviderId)?.type === "oauth") return {
|
|
212
|
+
bearerToken: "oauth",
|
|
213
|
+
source: "gateway"
|
|
214
|
+
};
|
|
215
|
+
const apiKey = getProviderAuthKey(request.providerId, credentials);
|
|
216
|
+
return apiKey ? {
|
|
217
|
+
apiKey,
|
|
218
|
+
source: "gateway"
|
|
219
|
+
} : void 0;
|
|
220
|
+
}
|
|
221
|
+
static createModelCatalogProvider(gateway) {
|
|
222
|
+
return async () => {
|
|
223
|
+
const registry = await getMastraCodeProviderConfigs(gateway);
|
|
224
|
+
const models = [];
|
|
225
|
+
for (const [provider, providerConfig] of Object.entries(registry)) {
|
|
226
|
+
const apiKeyEnvVar = getApiKeyEnvVar(providerConfig);
|
|
227
|
+
const hasEnvKey = apiKeyEnvVar ? Boolean(process.env[apiKeyEnvVar]) : false;
|
|
228
|
+
const modelNames = providerConfig.models;
|
|
229
|
+
if (!Array.isArray(modelNames)) continue;
|
|
230
|
+
const gatewayAuth = modelNames[0] ? await resolveGatewayProviderAuth(gateway, `${provider}/${modelNames[0]}`) : void 0;
|
|
231
|
+
for (const modelName of modelNames) {
|
|
232
|
+
const id = `${provider}/${modelName}`;
|
|
233
|
+
models.push({
|
|
234
|
+
id,
|
|
235
|
+
provider,
|
|
236
|
+
modelName,
|
|
237
|
+
hasApiKey: hasEnvKey || Boolean(gatewayAuth),
|
|
238
|
+
apiKeyEnvVar: apiKeyEnvVar || void 0
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return models;
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
createModelCatalogProvider() {
|
|
246
|
+
return MastraCodeGateway.createModelCatalogProvider(this);
|
|
247
|
+
}
|
|
248
|
+
#getCustomProviders() {
|
|
249
|
+
return this.#customProviders ?? resolveCustomProviders() ?? loadSettings(this.#settingsPath).customProviders;
|
|
250
|
+
}
|
|
251
|
+
async fetchProviders() {
|
|
252
|
+
this.#credentials.reload();
|
|
253
|
+
const providers = {};
|
|
254
|
+
for (const provider of this.#getCustomProviders()) {
|
|
255
|
+
const models = provider.models ?? [];
|
|
256
|
+
if (!models.length) continue;
|
|
257
|
+
providers[getCustomProviderId(provider.name)] = {
|
|
258
|
+
name: provider.name,
|
|
259
|
+
url: provider.url,
|
|
260
|
+
apiKeyEnvVar: "",
|
|
261
|
+
apiKeyHeader: "Authorization",
|
|
262
|
+
gateway: this.id,
|
|
263
|
+
models
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
return providers;
|
|
267
|
+
}
|
|
268
|
+
buildUrl(modelId) {
|
|
269
|
+
return this.#routeThroughMastraGateway ? this.#mastraGateway.buildUrl(modelId) : modelId;
|
|
270
|
+
}
|
|
271
|
+
async getApiKey(modelId) {
|
|
272
|
+
const providerId = stripMastraGatewayPrefix(modelId).split("/", 1)[0];
|
|
273
|
+
if (this.#routeThroughMastraGateway) return this.#mastraGatewayApiKey ?? "";
|
|
274
|
+
return providerId ? getProviderAuthKey(providerId, this.#credentials) ?? "" : "";
|
|
275
|
+
}
|
|
276
|
+
resolveAuth(request) {
|
|
277
|
+
if (this.#routeThroughMastraGateway && this.#mastraGatewayApiKey) return {
|
|
278
|
+
apiKey: this.#mastraGatewayApiKey,
|
|
279
|
+
source: "gateway"
|
|
280
|
+
};
|
|
281
|
+
const customProvider = this.#getCustomProviders().find((provider) => request.providerId === getCustomProviderId(provider.name));
|
|
282
|
+
if (customProvider?.apiKey) return {
|
|
283
|
+
apiKey: customProvider.apiKey,
|
|
284
|
+
source: "gateway"
|
|
285
|
+
};
|
|
286
|
+
return MastraCodeGateway.resolveProviderAuth(request, void 0, this.#credentials);
|
|
287
|
+
}
|
|
288
|
+
resolveLanguageModel(args) {
|
|
289
|
+
const customProvider = this.#getCustomProviders().find((provider) => args.providerId === getCustomProviderId(provider.name));
|
|
290
|
+
if (customProvider) {
|
|
291
|
+
const provider = createOpenAICompatible({
|
|
292
|
+
name: args.providerId,
|
|
293
|
+
baseURL: customProvider.url,
|
|
294
|
+
apiKey: args.apiKey,
|
|
295
|
+
headers: args.headers
|
|
296
|
+
});
|
|
297
|
+
const reasoningEffort = this.#thinkingLevel ? THINKING_LEVEL_TO_REASONING_EFFORT[this.#thinkingLevel] : void 0;
|
|
298
|
+
const middleware = createReasoningEffortMiddleware(args.providerId, reasoningEffort);
|
|
299
|
+
if (!middleware) return provider.chatModel(args.modelId);
|
|
300
|
+
return wrapLanguageModel({
|
|
301
|
+
model: provider.chatModel(args.modelId),
|
|
302
|
+
middleware: [middleware]
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
if (args.providerId === "github-copilot") return githubCopilotProvider(args.modelId, {
|
|
306
|
+
headers: args.headers,
|
|
307
|
+
authStorage: this.#credentials
|
|
308
|
+
});
|
|
309
|
+
if (args.providerId === "moonshotai") {
|
|
310
|
+
const apiKey = args.apiKey?.trim() || process.env.MOONSHOT_API_KEY?.trim() || process.env.MOONSHOT_AI_API_KEY?.trim();
|
|
311
|
+
if (!apiKey) throw new Error("Need MOONSHOT_API_KEY");
|
|
312
|
+
return createAnthropic({
|
|
313
|
+
apiKey,
|
|
314
|
+
baseURL: "https://api.moonshot.ai/anthropic/v1",
|
|
315
|
+
name: "moonshotai.anthropicv1",
|
|
316
|
+
headers: args.headers
|
|
317
|
+
})(args.modelId);
|
|
318
|
+
}
|
|
319
|
+
if (args.providerId === "anthropic") return this.#resolveAnthropicModel(args);
|
|
320
|
+
if (args.providerId === "openai") {
|
|
321
|
+
const openaiModel = this.#resolveOpenAIModel(args);
|
|
322
|
+
if (openaiModel) return openaiModel;
|
|
323
|
+
}
|
|
324
|
+
if (args.providerId === "xai" && this.#credentials.get("xai")?.type === "oauth") return withThinkingOptionsModel(xaiProvider(args.modelId, {
|
|
325
|
+
headers: args.headers,
|
|
326
|
+
authStorage: this.#credentials
|
|
327
|
+
}), providerThinkingOptions(`xai/${args.modelId}`, this.#thinkingLevel));
|
|
328
|
+
if (this.#routeThroughMastraGateway) return this.#mastraGateway.resolveLanguageModel(args);
|
|
329
|
+
if (args.providerId === "google") return this.#resolveGoogleModel(args);
|
|
330
|
+
if (args.providerId === "kimi-code-plan-cn" || args.providerId === "kimi-for-coding") return kimiCodingProvider(args.modelId, {
|
|
331
|
+
apiKey: args.apiKey,
|
|
332
|
+
headers: args.headers,
|
|
333
|
+
credentialStore: this.#credentials
|
|
334
|
+
});
|
|
335
|
+
const routedModelId = `${args.providerId}/${args.modelId}`;
|
|
336
|
+
return new ModelRouterLanguageModelWithThinking({
|
|
337
|
+
id: routedModelId,
|
|
338
|
+
apiKey: args.apiKey,
|
|
339
|
+
headers: args.headers
|
|
340
|
+
}, providerThinkingOptions(routedModelId, this.#thinkingLevel));
|
|
341
|
+
}
|
|
342
|
+
#resolveAnthropicModel(args) {
|
|
343
|
+
const bareModelId = normalizeAnthropicModelId(args.modelId);
|
|
344
|
+
const storedCred = this.#credentials.get("anthropic");
|
|
345
|
+
const thinkingMiddleware = createAnthropicThinkingMiddleware(bareModelId, this.#thinkingLevel);
|
|
346
|
+
if (this.#routeThroughMastraGateway) {
|
|
347
|
+
if (storedCred?.type === "oauth") return wrapLanguageModel({
|
|
348
|
+
model: createAnthropic({
|
|
349
|
+
apiKey: "oauth-gateway-placeholder",
|
|
350
|
+
baseURL: `${this.#mastraGatewayBaseUrl}/v1`,
|
|
351
|
+
headers: {
|
|
352
|
+
[GATEWAY_AUTH_HEADER]: `Bearer ${args.apiKey}`,
|
|
353
|
+
...args.headers
|
|
354
|
+
},
|
|
355
|
+
fetch: buildAnthropicOAuthFetch({ authStorage: this.#credentials })
|
|
356
|
+
})(bareModelId),
|
|
357
|
+
middleware: [
|
|
358
|
+
claudeCodeMiddleware,
|
|
359
|
+
createPromptCacheMiddleware(this.#anthropicPromptCacheScope),
|
|
360
|
+
...thinkingMiddleware ? [thinkingMiddleware] : []
|
|
361
|
+
]
|
|
362
|
+
});
|
|
363
|
+
return this.#mastraGateway.resolveLanguageModel({
|
|
364
|
+
...args,
|
|
365
|
+
modelId: bareModelId
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
if (storedCred?.type === "oauth") return opencodeClaudeMaxProvider(bareModelId, {
|
|
369
|
+
headers: args.headers,
|
|
370
|
+
authStorage: this.#credentials,
|
|
371
|
+
thinkingLevel: this.#thinkingLevel,
|
|
372
|
+
promptCacheScope: this.#anthropicPromptCacheScope
|
|
373
|
+
});
|
|
374
|
+
if (storedCred?.type === "api_key" && storedCred.key.trim().length > 0) return anthropicApiKeyProvider(bareModelId, storedCred.key.trim(), args.headers, this.#thinkingLevel, this.#anthropicPromptCacheScope);
|
|
375
|
+
const apiKey = getAnthropicApiKey(this.#credentials);
|
|
376
|
+
if (apiKey) return anthropicApiKeyProvider(bareModelId, apiKey, args.headers, this.#thinkingLevel, this.#anthropicPromptCacheScope);
|
|
377
|
+
return opencodeClaudeMaxProvider(bareModelId, {
|
|
378
|
+
headers: args.headers,
|
|
379
|
+
authStorage: this.#credentials,
|
|
380
|
+
thinkingLevel: this.#thinkingLevel,
|
|
381
|
+
promptCacheScope: this.#anthropicPromptCacheScope
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
#resolveOpenAIModel(args) {
|
|
385
|
+
const storedCred = this.#credentials.get("openai-codex");
|
|
386
|
+
if (this.#routeThroughMastraGateway) {
|
|
387
|
+
if (storedCred?.type === "oauth") {
|
|
388
|
+
const resolvedBareModelId = remapOpenAIModelForCodexOAuth(`openai/${args.modelId}`).substring(OPENAI_PREFIX.length);
|
|
389
|
+
const reasoningEffort = THINKING_LEVEL_TO_REASONING_EFFORT[getEffectiveThinkingLevel(args.modelId, this.#thinkingLevel ?? "medium")];
|
|
390
|
+
const middleware = createCodexMiddleware(reasoningEffort);
|
|
391
|
+
return wrapLanguageModel({
|
|
392
|
+
model: createOpenAI({
|
|
393
|
+
apiKey: "oauth-gateway-placeholder",
|
|
394
|
+
baseURL: `${this.#mastraGatewayBaseUrl}/v1`,
|
|
395
|
+
headers: {
|
|
396
|
+
[GATEWAY_AUTH_HEADER]: `Bearer ${args.apiKey}`,
|
|
397
|
+
...args.headers
|
|
398
|
+
},
|
|
399
|
+
fetch: buildOpenAICodexOAuthFetch({
|
|
400
|
+
authStorage: this.#credentials,
|
|
401
|
+
rewriteUrl: false
|
|
402
|
+
})
|
|
403
|
+
}).responses(resolvedBareModelId),
|
|
404
|
+
middleware: [middleware]
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
return this.#mastraGateway.resolveLanguageModel(args);
|
|
408
|
+
}
|
|
409
|
+
if (storedCred?.type === "oauth") return openaiCodexProvider(remapOpenAIModelForCodexOAuth(`openai/${args.modelId}`).substring(OPENAI_PREFIX.length), {
|
|
410
|
+
thinkingLevel: this.#thinkingLevel && getEffectiveThinkingLevel(args.modelId, this.#thinkingLevel),
|
|
411
|
+
headers: args.headers,
|
|
412
|
+
authStorage: this.#credentials
|
|
413
|
+
});
|
|
414
|
+
const apiKey = getOpenAIApiKey(this.#credentials);
|
|
415
|
+
if (apiKey) return openaiApiKeyProvider(args.modelId, apiKey, args.headers, this.#thinkingLevel);
|
|
416
|
+
}
|
|
417
|
+
#resolveGoogleModel(args) {
|
|
418
|
+
const routerModel = new ModelRouterLanguageModel({
|
|
419
|
+
id: `${args.providerId}/${args.modelId}`,
|
|
420
|
+
apiKey: args.apiKey,
|
|
421
|
+
headers: args.headers
|
|
422
|
+
});
|
|
423
|
+
const thinkingMiddleware = createGoogleThinkingMiddleware(args.modelId, this.#thinkingLevel);
|
|
424
|
+
if (!thinkingMiddleware) return routerModel;
|
|
425
|
+
return wrapLanguageModel({
|
|
426
|
+
model: routerModel,
|
|
427
|
+
middleware: [thinkingMiddleware]
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
};
|
|
431
|
+
//#endregion
|
|
432
|
+
export { MASTRACODE_GATEWAY_ID, MASTRA_GATEWAY_PREFIX, MastraCodeGateway, OPENAI_PREFIX, getAnthropicApiKey, getGlobalAuthStorage, getOpenAIApiKey, reloadAuthStorage, remapOpenAIModelForCodexOAuth, resolveAuth, stripMastraGatewayPrefix };
|
|
433
|
+
|
|
434
|
+
//# sourceMappingURL=mastracode-gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastracode-gateway.js","names":["#mastraGateway","#mastraGatewayBaseUrl","#mastraGatewayApiKey","#routeThroughMastraGateway","#thinkingLevel","#anthropicPromptCacheScope","#customProviders","#settingsPath","#credentials","#getCustomProviders","#resolveAnthropicModel","#resolveOpenAIModel","#resolveGoogleModel"],"sources":["../../src/agents/mastracode-gateway.ts"],"sourcesContent":["import { createAnthropic } from '@ai-sdk/anthropic';\nimport { createOpenAI } from '@ai-sdk/openai';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible';\nimport type { CustomAvailableModel, CustomModelCatalogProvider } from '@mastra/core/agent-controller';\nimport {\n GATEWAY_AUTH_HEADER,\n MastraGateway,\n MastraModelGateway,\n ModelRouterLanguageModel,\n PROVIDER_REGISTRY,\n} from '@mastra/core/llm';\nimport type {\n GatewayAuthRequest,\n GatewayAuthResult,\n GatewayLanguageModel,\n MastraModelGatewayInterface,\n ProviderConfig,\n} from '@mastra/core/llm';\nimport { wrapLanguageModel } from 'ai';\nimport { AuthStorage } from '../auth/storage.js';\nimport type { CredentialStore } from '../auth/types.js';\nimport { getCustomProviderId, loadSettings, MASTRA_GATEWAY_PROVIDER } from '../onboarding/settings.js';\nimport type { AnthropicPromptCacheScope } from '../providers/anthropic-prompt-cache.js';\nimport {\n buildAnthropicOAuthFetch,\n claudeCodeMiddleware,\n createAnthropicThinkingMiddleware,\n createPromptCacheMiddleware,\n opencodeClaudeMaxProvider,\n} from '../providers/claude-max.js';\nimport { githubCopilotProvider } from '../providers/github-copilot.js';\nimport { createGoogleThinkingMiddleware } from '../providers/google-thinking.js';\nimport { kimiCodingProvider } from '../providers/kimi-coding.js';\nimport {\n getCredentialProviderId,\n KIMI_CODING_CREDENTIAL_ID,\n KIMI_CODING_PROVIDER_ID,\n normalizeAnthropicModelId,\n OPENAI_PREFIX,\n remapOpenAIModelForCodexOAuth,\n stripMastraGatewayPrefix,\n} from '../providers/model-ids.js';\nimport {\n buildOpenAICodexOAuthFetch,\n createCodexMiddleware,\n createReasoningEffortMiddleware,\n getEffectiveThinkingLevel,\n openaiCodexProvider,\n THINKING_LEVEL_TO_REASONING_EFFORT,\n} from '../providers/openai-codex.js';\nimport type { ThinkingLevel } from '../providers/openai-codex.js';\nimport {\n ModelRouterLanguageModelWithThinking,\n providerThinkingOptions,\n withThinkingOptionsModel,\n} from '../providers/provider-thinking.js';\nimport { xaiProvider } from '../providers/xai.js';\nimport { getAppDataDir } from '../utils/project.js';\nimport { resolveCustomProviders } from './custom-provider-source.js';\n\nexport {\n MASTRA_GATEWAY_PREFIX,\n OPENAI_PREFIX,\n remapOpenAIModelForCodexOAuth,\n stripMastraGatewayPrefix,\n} from '../providers/model-ids.js';\n\nexport const MASTRACODE_GATEWAY_ID = 'mastracode';\n\ntype ModelRequestHeaders = Record<string, string>;\n\nexport type MastraCodeCustomProvider = { name: string; url: string; apiKey?: string; models?: string[] };\n\nexport type MastraCodeGatewayOptions = {\n mastraGatewayBaseUrl: string;\n mastraGatewayApiKey?: string;\n routeThroughMastraGateway: boolean;\n thinkingLevel?: ThinkingLevel;\n /** Anthropic prompt-cache breakpoints to write. Defaults to `conversation`. */\n anthropicPromptCacheScope?: AnthropicPromptCacheScope;\n customProviders?: MastraCodeCustomProvider[];\n settingsPath?: string;\n /**\n * Per-tenant credential source for this gateway instance. Defaults to the\n * server-global file-backed `AuthStorage`; deployed web passes the calling\n * tenant's store so model calls use the caller's own credentials.\n */\n credentialStore?: CredentialStore;\n};\n\n/**\n * Global file-backed credential store for local (TUI) model resolution.\n *\n * Constructed lazily, NOT at module scope: `AuthStorage`'s default path is\n * resolved from `MASTRA_APP_DATA_DIR` at construction, and this module is\n * routinely imported before test harnesses / embedders point that variable at\n * an isolated directory — an import-time construction would permanently pin\n * the developer's real app-data dir for every credential read.\n */\nlet authStorageSingleton: AuthStorage | undefined;\nlet authStorageSingletonDir: string | undefined;\n\nexport function getGlobalAuthStorage(): AuthStorage {\n // Keyed by the resolved app-data dir: in-process harnesses re-point\n // MASTRA_APP_DATA_DIR per run inside one long-lived worker, so a store\n // pinned to a previous dir must be discarded, not reused.\n const dir = getAppDataDir();\n if (!authStorageSingleton || authStorageSingletonDir !== dir) {\n authStorageSingleton = new AuthStorage();\n authStorageSingletonDir = dir;\n }\n return authStorageSingleton;\n}\n\nexport function reloadAuthStorage() {\n getGlobalAuthStorage().reload();\n}\n\n/**\n * Resolve the Anthropic API key.\n * Main slot → dedicated apikey: slot → env var.\n */\nexport function getAnthropicApiKey(credentials: CredentialStore = getGlobalAuthStorage()): string | undefined {\n const storedCred = credentials.get('anthropic');\n if (storedCred?.type === 'api_key' && storedCred.key.trim().length > 0) {\n return storedCred.key.trim();\n }\n const dedicatedKey = credentials.getStoredApiKey('anthropic')?.trim();\n if (dedicatedKey) return dedicatedKey;\n return credentials.allowEnvironmentFallback === false\n ? undefined\n : process.env.ANTHROPIC_API_KEY?.trim() || undefined;\n}\n\n/**\n * Resolve the OpenAI API key.\n * Main slot → dedicated apikey: slot → env var.\n */\nexport function getOpenAIApiKey(credentials: CredentialStore = getGlobalAuthStorage()): string | undefined {\n const storedCred = credentials.get('openai-codex');\n if (storedCred?.type === 'api_key' && storedCred.key.trim().length > 0) {\n return storedCred.key.trim();\n }\n const dedicatedKey = credentials.getStoredApiKey('openai-codex')?.trim();\n if (dedicatedKey) return dedicatedKey;\n return credentials.allowEnvironmentFallback === false ? undefined : process.env.OPENAI_API_KEY?.trim() || undefined;\n}\n\nfunction anthropicApiKeyProvider(\n modelId: string,\n apiKey: string,\n headers: ModelRequestHeaders | undefined,\n thinkingLevel: ThinkingLevel | undefined,\n promptCacheScope: AnthropicPromptCacheScope,\n) {\n const anthropic = createAnthropic({ apiKey, headers });\n const thinkingMiddleware = createAnthropicThinkingMiddleware(modelId, thinkingLevel);\n return wrapLanguageModel({\n model: anthropic(modelId),\n middleware: [createPromptCacheMiddleware(promptCacheScope), ...(thinkingMiddleware ? [thinkingMiddleware] : [])],\n });\n}\n\nfunction openaiApiKeyProvider(\n modelId: string,\n apiKey: string,\n headers?: ModelRequestHeaders,\n thinkingLevel?: ThinkingLevel,\n) {\n const openai = createOpenAI({ apiKey, baseURL: process.env.OPENAI_BASE_URL, headers });\n const middleware =\n thinkingLevel && thinkingLevel !== 'off'\n ? createReasoningEffortMiddleware(\n 'openai',\n THINKING_LEVEL_TO_REASONING_EFFORT[getEffectiveThinkingLevel(modelId, thinkingLevel)],\n )\n : undefined;\n return wrapLanguageModel({\n model: openai.responses(modelId),\n middleware: middleware ? [middleware] : [],\n });\n}\n\nfunction getProviderAuthKey(\n providerId: string,\n credentials: CredentialStore = getGlobalAuthStorage(),\n): string | undefined {\n const authProviderId = getCredentialProviderId(providerId);\n const storedCred = credentials.get(authProviderId);\n if (storedCred?.type === 'api_key' && storedCred.key.trim().length > 0) {\n return storedCred.key.trim();\n }\n const dedicatedKey = credentials.getStoredApiKey(authProviderId)?.trim();\n if (dedicatedKey) return dedicatedKey;\n // `/api-keys` stores keys under the catalog provider id (`kimi-code-plan-cn`),\n // which can differ from the credential id.\n const catalogKey = authProviderId !== providerId ? credentials.getStoredApiKey(providerId)?.trim() : undefined;\n if (catalogKey) return catalogKey;\n if (credentials.allowEnvironmentFallback === false) return undefined;\n return authProviderId === KIMI_CODING_CREDENTIAL_ID ? process.env.KIMI_API_KEY?.trim() || undefined : undefined;\n}\n\nexport function resolveAuth(request: GatewayAuthRequest, mastraGatewayApiKey?: string): GatewayAuthResult | undefined {\n return MastraCodeGateway.resolveProviderAuth(request, mastraGatewayApiKey);\n}\n\nfunction getGatewayProviderKey(gatewayId: string, providerId: string): string {\n if (gatewayId === 'models.dev') return providerId;\n return providerId === gatewayId ? gatewayId : `${gatewayId}/${providerId}`;\n}\n\nfunction parseGatewayRouterId(\n routerId: string,\n gateway: MastraModelGatewayInterface,\n): { gatewayId: string; providerId: string; modelId: string } {\n const [firstPart = '', secondPart = '', ...restParts] = routerId.split('/');\n const gatewayId = gateway.id;\n\n if (firstPart === gatewayId && secondPart) {\n return {\n gatewayId,\n providerId: secondPart,\n modelId: restParts.join('/'),\n };\n }\n\n return {\n gatewayId,\n providerId: firstPart,\n modelId: [secondPart, ...restParts].filter(Boolean).join('/'),\n };\n}\n\nfunction hasResolvedAuth(auth: GatewayAuthResult | undefined): boolean {\n if (!auth) return false;\n if (auth.apiKey || auth.bearerToken) return true;\n return auth.headers ? Object.keys(auth.headers).length > 0 : false;\n}\n\nasync function resolveGatewayProviderAuth(\n gateway: MastraModelGatewayInterface,\n routerId: string,\n): Promise<GatewayAuthResult | undefined> {\n if (!gateway.resolveAuth) return undefined;\n\n const parsed = parseGatewayRouterId(routerId, gateway);\n try {\n const result = await gateway.resolveAuth({\n gatewayId: parsed.gatewayId,\n providerId: parsed.providerId,\n modelId: parsed.modelId,\n routerId,\n });\n return hasResolvedAuth(result) ? result : undefined;\n } catch {\n return undefined;\n }\n}\n\nasync function getMastraCodeProviderConfigs(\n gateway: MastraModelGatewayInterface,\n): Promise<Record<string, ProviderConfig>> {\n const providers: Record<string, ProviderConfig> = { ...(PROVIDER_REGISTRY as Record<string, ProviderConfig>) };\n\n try {\n const gatewayProviders = await gateway.fetchProviders();\n for (const [providerId, config] of Object.entries(gatewayProviders)) {\n providers[getGatewayProviderKey(gateway.id, providerId)] = {\n ...config,\n gateway: gateway.id,\n };\n }\n } catch (error) {\n console.warn(`Failed to load providers from gateway ${gateway.id}:`, error);\n }\n\n return providers;\n}\n\nfunction getApiKeyEnvVar(providerConfig: Pick<ProviderConfig, 'apiKeyEnvVar'> | undefined): string | undefined {\n const envVars = providerConfig?.apiKeyEnvVar;\n return Array.isArray(envVars) ? envVars[0] : envVars;\n}\n\nexport class MastraCodeGateway extends MastraModelGateway {\n readonly id = MASTRACODE_GATEWAY_ID;\n readonly name = 'MastraCode Gateway';\n\n readonly #mastraGateway: MastraGateway;\n readonly #mastraGatewayBaseUrl: string;\n readonly #mastraGatewayApiKey?: string;\n readonly #routeThroughMastraGateway: boolean;\n readonly #thinkingLevel?: ThinkingLevel;\n readonly #anthropicPromptCacheScope: AnthropicPromptCacheScope;\n readonly #customProviders?: MastraCodeCustomProvider[];\n readonly #settingsPath?: string;\n readonly #credentials: CredentialStore;\n\n constructor({\n mastraGatewayBaseUrl,\n mastraGatewayApiKey,\n routeThroughMastraGateway,\n thinkingLevel,\n anthropicPromptCacheScope,\n customProviders,\n settingsPath,\n credentialStore,\n }: MastraCodeGatewayOptions) {\n super();\n this.#mastraGateway = new MastraGateway({ baseUrl: mastraGatewayBaseUrl });\n this.#mastraGatewayBaseUrl = mastraGatewayBaseUrl;\n this.#mastraGatewayApiKey = mastraGatewayApiKey;\n this.#routeThroughMastraGateway = routeThroughMastraGateway;\n this.#thinkingLevel = thinkingLevel;\n this.#anthropicPromptCacheScope = anthropicPromptCacheScope ?? 'conversation';\n this.#customProviders = customProviders;\n this.#settingsPath = settingsPath;\n this.#credentials = credentialStore ?? getGlobalAuthStorage();\n }\n\n static getMastraGatewayApiKey(): string | undefined {\n return getGlobalAuthStorage().getStoredApiKey(MASTRA_GATEWAY_PROVIDER) ?? process.env['MASTRA_GATEWAY_API_KEY'];\n }\n\n /** @deprecated Renamed to {@link MastraCodeGateway.getMastraGatewayApiKey}. */\n static getMemoryGatewayApiKey(): string | undefined {\n return MastraCodeGateway.getMastraGatewayApiKey();\n }\n\n /**\n * Claim an unprefixed model id (e.g. a bare `anthropic/...`) when this gateway\n * can authenticate it via OAuth or a stored/env credential. This lets the\n * shared gateway router select MastraCode for auth resolution, so the status\n * bar and `/api-keys` reflect OAuth logins instead of only checking env vars.\n */\n handlesModel(modelId: string): boolean {\n const parsed = parseGatewayRouterId(modelId, this);\n if (!parsed.providerId || !parsed.modelId) return false;\n if (this.#routeThroughMastraGateway && this.#mastraGatewayApiKey) return true;\n const customProvider = this.#getCustomProviders().find(\n provider => parsed.providerId === getCustomProviderId(provider.name),\n );\n if (customProvider?.apiKey) return true;\n return hasResolvedAuth(\n MastraCodeGateway.resolveProviderAuth(\n {\n gatewayId: this.id,\n providerId: parsed.providerId,\n modelId: parsed.modelId,\n routerId: modelId,\n },\n undefined,\n this.#credentials,\n ),\n );\n }\n\n static resolveProviderAuth(\n request: GatewayAuthRequest,\n mastraGatewayApiKey?: string,\n credentials: CredentialStore = getGlobalAuthStorage(),\n ): GatewayAuthResult | undefined {\n if (request.gatewayId === 'mastra' && mastraGatewayApiKey) {\n return { apiKey: mastraGatewayApiKey, source: 'gateway' };\n }\n\n const authProviderId = getCredentialProviderId(request.providerId);\n const storedCred = credentials.get(authProviderId);\n if (storedCred?.type === 'oauth') {\n return { bearerToken: 'oauth', source: 'gateway' };\n }\n\n const apiKey = getProviderAuthKey(request.providerId, credentials);\n return apiKey ? { apiKey, source: 'gateway' } : undefined;\n }\n\n static createModelCatalogProvider(gateway: MastraModelGatewayInterface): CustomModelCatalogProvider {\n return async () => {\n const registry = await getMastraCodeProviderConfigs(gateway);\n const models: CustomAvailableModel[] = [];\n\n for (const [provider, providerConfig] of Object.entries(registry)) {\n const apiKeyEnvVar = getApiKeyEnvVar(providerConfig);\n const hasEnvKey = apiKeyEnvVar ? Boolean(process.env[apiKeyEnvVar]) : false;\n const modelNames = providerConfig.models;\n if (!Array.isArray(modelNames)) continue;\n\n const gatewayAuth = modelNames[0]\n ? await resolveGatewayProviderAuth(gateway, `${provider}/${modelNames[0]}`)\n : undefined;\n\n for (const modelName of modelNames) {\n const id = `${provider}/${modelName}`;\n models.push({\n id,\n provider,\n modelName,\n hasApiKey: hasEnvKey || Boolean(gatewayAuth),\n apiKeyEnvVar: apiKeyEnvVar || undefined,\n });\n }\n }\n\n return models;\n };\n }\n\n createModelCatalogProvider(): CustomModelCatalogProvider {\n return MastraCodeGateway.createModelCatalogProvider(this);\n }\n\n #getCustomProviders(): MastraCodeCustomProvider[] {\n // Explicit constructor list wins; then a registered source (deployed web,\n // DB-backed — authoritative, so settings.json is never consulted); then\n // the local file-backed settings.\n return this.#customProviders ?? resolveCustomProviders() ?? loadSettings(this.#settingsPath).customProviders;\n }\n\n async fetchProviders(): Promise<Record<string, ProviderConfig>> {\n // Catalog auth (`handlesModel`, `resolveAuth`) reads this store, while\n // `/api-keys` and logins write through other AuthStorage instances. Pick\n // up their changes on every catalog refresh.\n this.#credentials.reload();\n const providers: Record<string, ProviderConfig> = {};\n for (const provider of this.#getCustomProviders()) {\n const models = provider.models ?? [];\n if (!models.length) continue;\n providers[getCustomProviderId(provider.name)] = {\n name: provider.name,\n url: provider.url,\n apiKeyEnvVar: '',\n apiKeyHeader: 'Authorization',\n gateway: this.id,\n models,\n };\n }\n\n // Subscription providers are not listed here: catalog ids from this gateway\n // are namespaced (`mastracode/<provider>/...`). Kimi augments the models.dev\n // `kimi-code-plan-cn` provider (claimed via `handlesModel`), and Copilot,\n // which models.dev excludes, has its own `github-copilot` gateway.\n return providers;\n }\n\n buildUrl(modelId: string): string | undefined | Promise<string | undefined> {\n return this.#routeThroughMastraGateway ? this.#mastraGateway.buildUrl(modelId) : modelId;\n }\n\n async getApiKey(modelId: string): Promise<string> {\n const providerId = stripMastraGatewayPrefix(modelId).split('/', 1)[0];\n if (this.#routeThroughMastraGateway) return this.#mastraGatewayApiKey ?? '';\n return providerId ? (getProviderAuthKey(providerId, this.#credentials) ?? '') : '';\n }\n\n resolveAuth(request: GatewayAuthRequest): GatewayAuthResult | undefined {\n if (this.#routeThroughMastraGateway && this.#mastraGatewayApiKey) {\n return { apiKey: this.#mastraGatewayApiKey, source: 'gateway' };\n }\n\n const customProvider = this.#getCustomProviders().find(\n provider => request.providerId === getCustomProviderId(provider.name),\n );\n if (customProvider?.apiKey) {\n return { apiKey: customProvider.apiKey, source: 'gateway' };\n }\n\n return MastraCodeGateway.resolveProviderAuth(request, undefined, this.#credentials);\n }\n\n resolveLanguageModel(args: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n transport?: any;\n responsesWebSocket?: any;\n }): GatewayLanguageModel {\n const customProvider = this.#getCustomProviders().find(\n provider => args.providerId === getCustomProviderId(provider.name),\n );\n if (customProvider) {\n const provider = createOpenAICompatible({\n name: args.providerId,\n baseURL: customProvider.url,\n apiKey: args.apiKey,\n headers: args.headers,\n });\n const reasoningEffort = this.#thinkingLevel ? THINKING_LEVEL_TO_REASONING_EFFORT[this.#thinkingLevel] : undefined;\n const middleware = createReasoningEffortMiddleware(args.providerId, reasoningEffort);\n if (!middleware) {\n return provider.chatModel(args.modelId);\n }\n return wrapLanguageModel({\n model: provider.chatModel(args.modelId),\n middleware: [middleware],\n });\n }\n\n if (args.providerId === 'github-copilot') {\n return githubCopilotProvider(args.modelId, {\n headers: args.headers,\n authStorage: this.#credentials,\n }) as unknown as GatewayLanguageModel;\n }\n\n if (args.providerId === 'moonshotai') {\n // Prefer the gateway-resolved key (stored credentials), then the canonical\n // registry env var. Keep the legacy typo name as a fallback for anyone who\n // set it because of the previous error message.\n const apiKey =\n args.apiKey?.trim() || process.env.MOONSHOT_API_KEY?.trim() || process.env.MOONSHOT_AI_API_KEY?.trim();\n if (!apiKey) {\n throw new Error('Need MOONSHOT_API_KEY');\n }\n return createAnthropic({\n apiKey,\n baseURL: 'https://api.moonshot.ai/anthropic/v1',\n name: 'moonshotai.anthropicv1',\n headers: args.headers,\n })(args.modelId);\n }\n\n if (args.providerId === 'anthropic') {\n return this.#resolveAnthropicModel(args);\n }\n\n if (args.providerId === 'openai') {\n const openaiModel = this.#resolveOpenAIModel(args);\n if (openaiModel) return openaiModel;\n }\n\n if (args.providerId === 'xai' && this.#credentials.get('xai')?.type === 'oauth') {\n return withThinkingOptionsModel(\n xaiProvider(args.modelId, { headers: args.headers, authStorage: this.#credentials }),\n providerThinkingOptions(`xai/${args.modelId}`, this.#thinkingLevel),\n );\n }\n\n if (this.#routeThroughMastraGateway) return this.#mastraGateway.resolveLanguageModel(args);\n\n if (args.providerId === 'google') {\n return this.#resolveGoogleModel(args);\n }\n\n if (args.providerId === KIMI_CODING_PROVIDER_ID || args.providerId === KIMI_CODING_CREDENTIAL_ID) {\n return kimiCodingProvider(args.modelId, {\n apiKey: args.apiKey,\n headers: args.headers,\n credentialStore: this.#credentials,\n }) as unknown as GatewayLanguageModel;\n }\n\n const routedModelId: `${string}/${string}` = `${args.providerId}/${args.modelId}`;\n return new ModelRouterLanguageModelWithThinking(\n { id: routedModelId, apiKey: args.apiKey, headers: args.headers },\n providerThinkingOptions(routedModelId, this.#thinkingLevel),\n ) as unknown as GatewayLanguageModel;\n }\n\n #resolveAnthropicModel(args: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n transport?: any;\n responsesWebSocket?: any;\n }): GatewayLanguageModel {\n const bareModelId = normalizeAnthropicModelId(args.modelId);\n const storedCred = this.#credentials.get('anthropic');\n const thinkingMiddleware = createAnthropicThinkingMiddleware(bareModelId, this.#thinkingLevel);\n\n if (this.#routeThroughMastraGateway) {\n if (storedCred?.type === 'oauth') {\n const anthropic = createAnthropic({\n apiKey: 'oauth-gateway-placeholder',\n baseURL: `${this.#mastraGatewayBaseUrl}/v1`,\n headers: {\n [GATEWAY_AUTH_HEADER]: `Bearer ${args.apiKey}`,\n ...args.headers,\n },\n fetch: buildAnthropicOAuthFetch({ authStorage: this.#credentials }),\n });\n\n return wrapLanguageModel({\n model: anthropic(bareModelId),\n middleware: [\n claudeCodeMiddleware,\n createPromptCacheMiddleware(this.#anthropicPromptCacheScope),\n ...(thinkingMiddleware ? [thinkingMiddleware] : []),\n ],\n });\n }\n\n return this.#mastraGateway.resolveLanguageModel({ ...args, modelId: bareModelId });\n }\n\n if (storedCred?.type === 'oauth') {\n return opencodeClaudeMaxProvider(bareModelId, {\n headers: args.headers,\n authStorage: this.#credentials,\n thinkingLevel: this.#thinkingLevel,\n promptCacheScope: this.#anthropicPromptCacheScope,\n }) as unknown as GatewayLanguageModel;\n }\n\n if (storedCred?.type === 'api_key' && storedCred.key.trim().length > 0) {\n return anthropicApiKeyProvider(\n bareModelId,\n storedCred.key.trim(),\n args.headers,\n this.#thinkingLevel,\n this.#anthropicPromptCacheScope,\n );\n }\n\n const apiKey = getAnthropicApiKey(this.#credentials);\n if (apiKey) {\n return anthropicApiKeyProvider(\n bareModelId,\n apiKey,\n args.headers,\n this.#thinkingLevel,\n this.#anthropicPromptCacheScope,\n );\n }\n\n // No stored credentials: use the OAuth-backed provider so the first request can trigger login.\n return opencodeClaudeMaxProvider(bareModelId, {\n headers: args.headers,\n authStorage: this.#credentials,\n thinkingLevel: this.#thinkingLevel,\n promptCacheScope: this.#anthropicPromptCacheScope,\n }) as unknown as GatewayLanguageModel;\n }\n\n #resolveOpenAIModel(args: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n transport?: any;\n responsesWebSocket?: any;\n }): GatewayLanguageModel | undefined {\n const storedCred = this.#credentials.get('openai-codex');\n\n if (this.#routeThroughMastraGateway) {\n if (storedCred?.type === 'oauth') {\n const resolvedModelId = remapOpenAIModelForCodexOAuth(`openai/${args.modelId}`);\n const resolvedBareModelId = resolvedModelId.substring(OPENAI_PREFIX.length);\n const effectiveLevel = getEffectiveThinkingLevel(args.modelId, this.#thinkingLevel ?? 'medium');\n const reasoningEffort = THINKING_LEVEL_TO_REASONING_EFFORT[effectiveLevel];\n const middleware = createCodexMiddleware(reasoningEffort);\n const openai = createOpenAI({\n apiKey: 'oauth-gateway-placeholder',\n baseURL: `${this.#mastraGatewayBaseUrl}/v1`,\n headers: {\n [GATEWAY_AUTH_HEADER]: `Bearer ${args.apiKey}`,\n ...args.headers,\n },\n fetch: buildOpenAICodexOAuthFetch({ authStorage: this.#credentials, rewriteUrl: false }),\n });\n\n return wrapLanguageModel({\n model: openai.responses(resolvedBareModelId),\n middleware: [middleware],\n });\n }\n\n return this.#mastraGateway.resolveLanguageModel(args);\n }\n\n if (storedCred?.type === 'oauth') {\n const resolvedModelId = remapOpenAIModelForCodexOAuth(`openai/${args.modelId}`);\n return openaiCodexProvider(resolvedModelId.substring(OPENAI_PREFIX.length), {\n thinkingLevel: this.#thinkingLevel && getEffectiveThinkingLevel(args.modelId, this.#thinkingLevel),\n headers: args.headers,\n authStorage: this.#credentials,\n }) as unknown as GatewayLanguageModel;\n }\n\n const apiKey = getOpenAIApiKey(this.#credentials);\n if (apiKey) {\n return openaiApiKeyProvider(args.modelId, apiKey, args.headers, this.#thinkingLevel);\n }\n\n return undefined;\n }\n\n #resolveGoogleModel(args: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n transport?: any;\n responsesWebSocket?: any;\n }): GatewayLanguageModel {\n const routerModel = new ModelRouterLanguageModel({\n id: `${args.providerId}/${args.modelId}`,\n apiKey: args.apiKey,\n headers: args.headers,\n }) as unknown as GatewayLanguageModel;\n const thinkingMiddleware = createGoogleThinkingMiddleware(args.modelId, this.#thinkingLevel);\n if (!thinkingMiddleware) return routerModel;\n\n return wrapLanguageModel({\n model: routerModel as any,\n middleware: [thinkingMiddleware],\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Knowledge } from '@mastra/core/knowledge';
|
|
2
|
+
import type { RequestContext } from '@mastra/core/request-context';
|
|
3
|
+
import type { MastraCompositeStore } from '@mastra/core/storage';
|
|
4
|
+
import type { MastraVector } from '@mastra/core/vector';
|
|
5
|
+
import { Memory } from '@mastra/memory';
|
|
6
|
+
import { LOCAL_KNOWLEDGE_ORG_ID } from '../knowledge-scope.js';
|
|
7
|
+
import type { MastraCodeState } from '../schema.js';
|
|
8
|
+
export { LOCAL_KNOWLEDGE_ORG_ID };
|
|
9
|
+
/**
|
|
10
|
+
* Whether the experimental subconscious (knowledge graph + reminder sidekick)
|
|
11
|
+
* is switched on for this process: it needs a vector store and the opt-in flag.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isSubconsciousEnabled(vector: MastraVector | undefined): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the subconscious tools (`knowledge_*`, `ask_memory`) are registered
|
|
16
|
+
* for a given session. Beyond the process-level switch, a Factory-owned
|
|
17
|
+
* session that cannot resolve its org refuses the subconscious entirely (see
|
|
18
|
+
* `getDynamicMemory`, which applies the same two checks inline because it also
|
|
19
|
+
* needs the resolved identity). The system prompt's tool guidance calls here so
|
|
20
|
+
* it never advertises tools that `getDynamicMemory` did not register.
|
|
21
|
+
*/
|
|
22
|
+
export declare function hasSubconsciousTools(vector: MastraVector | undefined, state: MastraCodeState | undefined): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Dynamic memory factory function.
|
|
25
|
+
* Reads OM thresholds from controller state via requestContext.
|
|
26
|
+
* Model functions also read from requestContext (no mutable bridge needed).
|
|
27
|
+
*/
|
|
28
|
+
export declare function getDynamicMemory(storage: MastraCompositeStore, vector?: MastraVector, settingsPath?: string, options?: {
|
|
29
|
+
disableSettingsOmSeed?: boolean;
|
|
30
|
+
}, knowledge?: Knowledge): (({ requestContext }: {
|
|
31
|
+
requestContext: RequestContext;
|
|
32
|
+
}) => Memory) & {
|
|
33
|
+
/**
|
|
34
|
+
* Wait for background memory work (buffered observations, reflections, indexing) in every
|
|
35
|
+
* instance this factory created. Await before closing storage.
|
|
36
|
+
*/
|
|
37
|
+
settled(): Promise<void>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/agents/memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAiC,MAAM,uBAAuB,CAAC;AAI9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAsLpD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AA8BlC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CAElH;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,YAAY,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC7C,SAAS,CAAC,EAAE,SAAS,yBAsBsB;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE;IAmJ3E;;;OAGG;eACc,OAAO,CAAC,IAAI,CAAC;EAKjC"}
|