@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,83 @@
|
|
|
1
|
+
import { resolveProviderOMDefault } from "./packs.js";
|
|
2
|
+
import { loadSettings, saveSettings } from "./settings.js";
|
|
3
|
+
//#region src/onboarding/om-settings.ts
|
|
4
|
+
/**
|
|
5
|
+
* Whether the user has already chosen any persisted OM model or pack.
|
|
6
|
+
*
|
|
7
|
+
* No longer called inside this repo — auto selection replaced the "seed a pack
|
|
8
|
+
* at login" flow — but part of the documented `@mastra/code-sdk/onboarding/om-settings`
|
|
9
|
+
* surface since 1.1.0, so it stays for external callers.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Observer and Reflector default to Auto; there is no default left to seed.
|
|
12
|
+
*/
|
|
13
|
+
function hasExplicitOMConfiguration(settings) {
|
|
14
|
+
const { activeOmPackId, omModelOverride, observerModelOverride, observerModelSelection, reflectorModelOverride, reflectorModelSelection } = settings.models;
|
|
15
|
+
if (omModelOverride || observerModelOverride || observerModelSelection && observerModelSelection !== "auto" || reflectorModelOverride || reflectorModelSelection && reflectorModelSelection !== "auto") return true;
|
|
16
|
+
return [settings.onboarding.omPackId, activeOmPackId].some((packId) => packId && packId !== "custom");
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Seed a built-in OM pack unless the user already chose one; true when settings changed.
|
|
20
|
+
*
|
|
21
|
+
* The TUI stopped calling this when auto became the default; kept exported for
|
|
22
|
+
* external callers alongside {@link hasExplicitOMConfiguration}.
|
|
23
|
+
*
|
|
24
|
+
* @deprecated Seeding pins both roles to a fixed model. Leave them on Auto instead.
|
|
25
|
+
*/
|
|
26
|
+
function applyOMDefaultIfUnconfigured(settings, pack) {
|
|
27
|
+
if (hasExplicitOMConfiguration(settings)) return false;
|
|
28
|
+
settings.onboarding.omPackId = pack.id;
|
|
29
|
+
settings.models.activeOmPackId = pack.id;
|
|
30
|
+
settings.models.omModelOverride = null;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Seed the provider's built-in OM pack into saved settings unless the user already chose one.
|
|
35
|
+
*
|
|
36
|
+
* @deprecated Signing in no longer seeds memory models; seeding pins both roles instead of
|
|
37
|
+
* leaving them on Auto.
|
|
38
|
+
*/
|
|
39
|
+
function seedProviderOMDefault(providerId) {
|
|
40
|
+
const pack = resolveProviderOMDefault(providerId);
|
|
41
|
+
if (pack.id === "custom") return void 0;
|
|
42
|
+
const settings = loadSettings();
|
|
43
|
+
if (!applyOMDefaultIfUnconfigured(settings, pack)) return void 0;
|
|
44
|
+
saveSettings(settings);
|
|
45
|
+
return pack;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Apply a role-specific OM model override to an in-memory `GlobalSettings`.
|
|
49
|
+
*
|
|
50
|
+
* Role intent outranks the pack in `resolveOmRoleModel`, so `activeOmPackId` is
|
|
51
|
+
* deliberately left alone: the other role keeps resolving from its built-in
|
|
52
|
+
* pack instead of being dragged along by this role's choice.
|
|
53
|
+
*
|
|
54
|
+
* Exported for unit testing; `persistOmRoleOverride` is the disk-backed wrapper.
|
|
55
|
+
*/
|
|
56
|
+
function applyOmRoleOverride(settings, role, modelId) {
|
|
57
|
+
if (role === "observer") {
|
|
58
|
+
settings.models.observerModelOverride = modelId;
|
|
59
|
+
settings.models.observerModelSelection = modelId;
|
|
60
|
+
} else {
|
|
61
|
+
settings.models.reflectorModelOverride = modelId;
|
|
62
|
+
settings.models.reflectorModelSelection = modelId;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** Reset one persisted OM role to dynamic auto selection without touching the other role. */
|
|
66
|
+
function applyOmRoleAuto(settings, role) {
|
|
67
|
+
if (role === "observer") {
|
|
68
|
+
settings.models.observerModelOverride = null;
|
|
69
|
+
settings.models.observerModelSelection = "auto";
|
|
70
|
+
} else {
|
|
71
|
+
settings.models.reflectorModelOverride = null;
|
|
72
|
+
settings.models.reflectorModelSelection = "auto";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function persistOmObserveAttachments(value) {
|
|
76
|
+
const settings = loadSettings();
|
|
77
|
+
settings.models.omObserveAttachments = value;
|
|
78
|
+
saveSettings(settings);
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { applyOMDefaultIfUnconfigured, applyOmRoleAuto, applyOmRoleOverride, hasExplicitOMConfiguration, persistOmObserveAttachments, seedProviderOMDefault };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=om-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"om-settings.js","names":[],"sources":["../../src/onboarding/om-settings.ts"],"sourcesContent":["/**\n * Pure `GlobalSettings` mutation helpers for observational-memory (OM)\n * configuration. Shared by the TUI `/om` command and the web settings\n * routes — no UI dependencies.\n */\nimport type { OMPack } from './packs.js';\nimport { resolveProviderOMDefault } from './packs.js';\nimport type { GlobalSettings } from './settings.js';\nimport { loadSettings, saveSettings } from './settings.js';\n\n/**\n * Whether the user has already chosen any persisted OM model or pack.\n *\n * No longer called inside this repo — auto selection replaced the \"seed a pack\n * at login\" flow — but part of the documented `@mastra/code-sdk/onboarding/om-settings`\n * surface since 1.1.0, so it stays for external callers.\n *\n * @deprecated Observer and Reflector default to Auto; there is no default left to seed.\n */\nexport function hasExplicitOMConfiguration(settings: GlobalSettings): boolean {\n const {\n activeOmPackId,\n omModelOverride,\n observerModelOverride,\n observerModelSelection,\n reflectorModelOverride,\n reflectorModelSelection,\n } = settings.models;\n if (\n omModelOverride ||\n observerModelOverride ||\n (observerModelSelection && observerModelSelection !== 'auto') ||\n reflectorModelOverride ||\n (reflectorModelSelection && reflectorModelSelection !== 'auto')\n ) {\n return true;\n }\n\n // 'custom' without a model is what onboarding persists when no provider was\n // reachable — a forced non-choice, not a preference worth preserving.\n return [settings.onboarding.omPackId, activeOmPackId].some(packId => packId && packId !== 'custom');\n}\n\n/**\n * Seed a built-in OM pack unless the user already chose one; true when settings changed.\n *\n * The TUI stopped calling this when auto became the default; kept exported for\n * external callers alongside {@link hasExplicitOMConfiguration}.\n *\n * @deprecated Seeding pins both roles to a fixed model. Leave them on Auto instead.\n */\nexport function applyOMDefaultIfUnconfigured(settings: GlobalSettings, pack: OMPack): boolean {\n if (hasExplicitOMConfiguration(settings)) return false;\n\n settings.onboarding.omPackId = pack.id;\n settings.models.activeOmPackId = pack.id;\n settings.models.omModelOverride = null;\n return true;\n}\n\n/**\n * Seed the provider's built-in OM pack into saved settings unless the user already chose one.\n *\n * @deprecated Signing in no longer seeds memory models; seeding pins both roles instead of\n * leaving them on Auto.\n */\nexport function seedProviderOMDefault(providerId: string): OMPack | undefined {\n const pack = resolveProviderOMDefault(providerId);\n // No cheap OM pack for this provider — leave OM open for a later login rather\n // than pinning observation and reflection to a full-size coding model.\n if (pack.id === 'custom') return undefined;\n\n const settings = loadSettings();\n if (!applyOMDefaultIfUnconfigured(settings, pack)) return undefined;\n\n saveSettings(settings);\n return pack;\n}\n\n/**\n * Apply a role-specific OM model override to an in-memory `GlobalSettings`.\n *\n * Role intent outranks the pack in `resolveOmRoleModel`, so `activeOmPackId` is\n * deliberately left alone: the other role keeps resolving from its built-in\n * pack instead of being dragged along by this role's choice.\n *\n * Exported for unit testing; `persistOmRoleOverride` is the disk-backed wrapper.\n */\nexport function applyOmRoleOverride(settings: GlobalSettings, role: 'observer' | 'reflector', modelId: string): void {\n if (role === 'observer') {\n settings.models.observerModelOverride = modelId;\n settings.models.observerModelSelection = modelId;\n } else {\n settings.models.reflectorModelOverride = modelId;\n settings.models.reflectorModelSelection = modelId;\n }\n}\n\n/** Reset one persisted OM role to dynamic auto selection without touching the other role. */\nexport function applyOmRoleAuto(settings: GlobalSettings, role: 'observer' | 'reflector'): void {\n if (role === 'observer') {\n settings.models.observerModelOverride = null;\n settings.models.observerModelSelection = 'auto';\n } else {\n settings.models.reflectorModelOverride = null;\n settings.models.reflectorModelSelection = 'auto';\n }\n}\n\nexport function persistOmObserveAttachments(value: 'auto' | boolean): void {\n const settings = loadSettings();\n settings.models.omObserveAttachments = value;\n saveSettings(settings);\n}\n"],"mappings":";;;;;;;;;;;;AAmBA,SAAgB,2BAA2B,UAAmC;CAC5E,MAAM,EACJ,gBACA,iBACA,uBACA,wBACA,wBACA,4BACE,SAAS;CACb,IACE,mBACA,yBACC,0BAA0B,2BAA2B,UACtD,0BACC,2BAA2B,4BAA4B,QAExD,OAAO;CAKT,OAAO,CAAC,SAAS,WAAW,UAAU,cAAc,CAAC,CAAC,MAAK,WAAU,UAAU,WAAW,QAAQ;AACpG;;;;;;;;;AAUA,SAAgB,6BAA6B,UAA0B,MAAuB;CAC5F,IAAI,2BAA2B,QAAQ,GAAG,OAAO;CAEjD,SAAS,WAAW,WAAW,KAAK;CACpC,SAAS,OAAO,iBAAiB,KAAK;CACtC,SAAS,OAAO,kBAAkB;CAClC,OAAO;AACT;;;;;;;AAQA,SAAgB,sBAAsB,YAAwC;CAC5E,MAAM,OAAO,yBAAyB,UAAU;CAGhD,IAAI,KAAK,OAAO,UAAU,OAAO,KAAA;CAEjC,MAAM,WAAW,aAAa;CAC9B,IAAI,CAAC,6BAA6B,UAAU,IAAI,GAAG,OAAO,KAAA;CAE1D,aAAa,QAAQ;CACrB,OAAO;AACT;;;;;;;;;;AAWA,SAAgB,oBAAoB,UAA0B,MAAgC,SAAuB;CACnH,IAAI,SAAS,YAAY;EACvB,SAAS,OAAO,wBAAwB;EACxC,SAAS,OAAO,yBAAyB;CAC3C,OAAO;EACL,SAAS,OAAO,yBAAyB;EACzC,SAAS,OAAO,0BAA0B;CAC5C;AACF;;AAGA,SAAgB,gBAAgB,UAA0B,MAAsC;CAC9F,IAAI,SAAS,YAAY;EACvB,SAAS,OAAO,wBAAwB;EACxC,SAAS,OAAO,yBAAyB;CAC3C,OAAO;EACL,SAAS,OAAO,yBAAyB;EACzC,SAAS,OAAO,0BAA0B;CAC5C;AACF;AAEA,SAAgB,4BAA4B,OAA+B;CACzE,MAAM,WAAW,aAAa;CAC9B,SAAS,OAAO,uBAAuB;CACvC,aAAa,QAAQ;AACvB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared model-pack resolution and activation helpers.
|
|
3
|
+
*
|
|
4
|
+
* Used by both the interactive TUI (`--pack`, /models → Activate) and the
|
|
5
|
+
* headless CLI (`--pack`) so a pack id from the command line behaves exactly
|
|
6
|
+
* like activating the pack in the picker: the global default pack changes and
|
|
7
|
+
* the session it starts gets the pack's models for every mode, its subagent
|
|
8
|
+
* models, its fallback route, and the thread's `activeModelPackId`.
|
|
9
|
+
*/
|
|
10
|
+
import { type ModePack } from './packs.js';
|
|
11
|
+
import { type GlobalSettings } from './settings.js';
|
|
12
|
+
/** Every pack id that can be activated: built-ins plus saved custom packs (`custom:<name>`). */
|
|
13
|
+
export declare function listResolvableModePacks(settings: GlobalSettings): ModePack[];
|
|
14
|
+
/** The valid `--pack` values, in display order. */
|
|
15
|
+
export declare function listValidModePackIds(settings: GlobalSettings): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a `--pack` argument to a canonical pack id.
|
|
18
|
+
*
|
|
19
|
+
* Accepts a built-in pack id (`anthropic`), a fully qualified custom pack id
|
|
20
|
+
* (`custom:Kimi`), or a bare custom pack name (`Kimi`) — the `custom:` prefix
|
|
21
|
+
* is a storage detail users never see in the picker. On a collision between a
|
|
22
|
+
* built-in id and a custom pack name, the built-in wins; `custom:<name>`
|
|
23
|
+
* always reaches the custom pack.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveModePackArg(settings: GlobalSettings, raw: string): {
|
|
26
|
+
packId: string;
|
|
27
|
+
} | {
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
|
30
|
+
export interface PackSelection {
|
|
31
|
+
modelId: string;
|
|
32
|
+
subagentModels: Record<string, string>;
|
|
33
|
+
modelRoute: {
|
|
34
|
+
entries: Array<{
|
|
35
|
+
id: string;
|
|
36
|
+
label: string;
|
|
37
|
+
modelId: string;
|
|
38
|
+
accountId?: string;
|
|
39
|
+
memoryModelId?: string;
|
|
40
|
+
}>;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Resolve what activating `packId` in `modeId` applies to the session. */
|
|
44
|
+
export declare function resolvePackSelection(settings: GlobalSettings, packId: string, modeId: string): PackSelection | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Mutate global settings the way /models → Activate does: point the global
|
|
47
|
+
* default pack at `packId` and clear the per-agent subagent model overrides
|
|
48
|
+
* so the pack's subagent models apply. The caller persists with
|
|
49
|
+
* `saveSettings`.
|
|
50
|
+
*/
|
|
51
|
+
export declare function activateModePackInSettings(settings: GlobalSettings, packId: string): void;
|
|
52
|
+
//# sourceMappingURL=pack-activation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-activation.d.ts","sourceRoot":"","sources":["../../src/onboarding/pack-activation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAsD,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3E,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,EAAE,CAe5E;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAWhH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,UAAU,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ,CAAC;CACH;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,SAAS,CAyC3B;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBzF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { listBuiltinModePacks, resolveModePackFallbackChain } from "./packs.js";
|
|
2
|
+
import { resolveModePackModels } from "./settings.js";
|
|
3
|
+
//#region src/onboarding/pack-activation.ts
|
|
4
|
+
/**
|
|
5
|
+
* Shared model-pack resolution and activation helpers.
|
|
6
|
+
*
|
|
7
|
+
* Used by both the interactive TUI (`--pack`, /models → Activate) and the
|
|
8
|
+
* headless CLI (`--pack`) so a pack id from the command line behaves exactly
|
|
9
|
+
* like activating the pack in the picker: the global default pack changes and
|
|
10
|
+
* the session it starts gets the pack's models for every mode, its subagent
|
|
11
|
+
* models, its fallback route, and the thread's `activeModelPackId`.
|
|
12
|
+
*/
|
|
13
|
+
/** Every pack id that can be activated: built-ins plus saved custom packs (`custom:<name>`). */
|
|
14
|
+
function listResolvableModePacks(settings) {
|
|
15
|
+
return [...listBuiltinModePacks(), ...settings.customModelPacks.map((pack) => ({
|
|
16
|
+
id: `custom:${pack.name}`,
|
|
17
|
+
name: pack.name,
|
|
18
|
+
description: "Saved custom pack",
|
|
19
|
+
models: {
|
|
20
|
+
build: pack.models.build ?? "",
|
|
21
|
+
plan: pack.models.plan ?? "",
|
|
22
|
+
fast: pack.models.fast ?? "",
|
|
23
|
+
...pack.models.memory ? { memory: pack.models.memory } : {}
|
|
24
|
+
}
|
|
25
|
+
}))];
|
|
26
|
+
}
|
|
27
|
+
/** The valid `--pack` values, in display order. */
|
|
28
|
+
function listValidModePackIds(settings) {
|
|
29
|
+
return listResolvableModePacks(settings).map((pack) => pack.id);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a `--pack` argument to a canonical pack id.
|
|
33
|
+
*
|
|
34
|
+
* Accepts a built-in pack id (`anthropic`), a fully qualified custom pack id
|
|
35
|
+
* (`custom:Kimi`), or a bare custom pack name (`Kimi`) — the `custom:` prefix
|
|
36
|
+
* is a storage detail users never see in the picker. On a collision between a
|
|
37
|
+
* built-in id and a custom pack name, the built-in wins; `custom:<name>`
|
|
38
|
+
* always reaches the custom pack.
|
|
39
|
+
*/
|
|
40
|
+
function resolveModePackArg(settings, raw) {
|
|
41
|
+
const input = raw.trim();
|
|
42
|
+
const valid = listValidModePackIds(settings);
|
|
43
|
+
if (input && valid.includes(input)) return { packId: input };
|
|
44
|
+
if (input && !input.startsWith("custom:")) {
|
|
45
|
+
const asCustom = `custom:${input}`;
|
|
46
|
+
if (valid.includes(asCustom)) return { packId: asCustom };
|
|
47
|
+
}
|
|
48
|
+
return { error: `Unknown model pack: "${raw}". Valid packs: ${valid.join(", ")} (a custom pack also accepts its bare name, e.g. "Kimi" for "custom:Kimi")` };
|
|
49
|
+
}
|
|
50
|
+
/** Resolve what activating `packId` in `modeId` applies to the session. */
|
|
51
|
+
function resolvePackSelection(settings, packId, modeId) {
|
|
52
|
+
const packs = listResolvableModePacks(settings);
|
|
53
|
+
const packsById = new Map(packs.map((pack) => [pack.id, pack]));
|
|
54
|
+
const pack = packsById.get(packId);
|
|
55
|
+
if (!pack) return void 0;
|
|
56
|
+
const packModels = resolveModePackModels(settings, pack);
|
|
57
|
+
const modelId = packModels[modeId];
|
|
58
|
+
if (!modelId) return void 0;
|
|
59
|
+
return {
|
|
60
|
+
modelId,
|
|
61
|
+
subagentModels: Object.fromEntries(Object.entries({
|
|
62
|
+
explore: "fast",
|
|
63
|
+
plan: "plan",
|
|
64
|
+
execute: "build"
|
|
65
|
+
}).flatMap(([agentType, subagentModeId]) => {
|
|
66
|
+
const subagentModelId = packModels[subagentModeId];
|
|
67
|
+
return subagentModelId ? [[agentType, subagentModelId]] : [];
|
|
68
|
+
})),
|
|
69
|
+
modelRoute: { entries: resolveModePackFallbackChain(settings.models.packFallbacks, packId, settings.customModelPacks).flatMap((routeId) => {
|
|
70
|
+
const routePack = packsById.get(routeId);
|
|
71
|
+
if (!routePack) return [];
|
|
72
|
+
const routeModels = resolveModePackModels(settings, routePack);
|
|
73
|
+
const routeModelId = routeModels[modeId];
|
|
74
|
+
if (!routeModelId) return [];
|
|
75
|
+
const accountId = settings.models.packAccountPreferences?.[routeId]?.[routeModelId];
|
|
76
|
+
return [{
|
|
77
|
+
id: routeId,
|
|
78
|
+
label: routePack.name,
|
|
79
|
+
modelId: routeModelId,
|
|
80
|
+
...accountId ? { accountId } : {},
|
|
81
|
+
...routeModels.memory ? { memoryModelId: routeModels.memory } : {}
|
|
82
|
+
}];
|
|
83
|
+
}) }
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Mutate global settings the way /models → Activate does: point the global
|
|
88
|
+
* default pack at `packId` and clear the per-agent subagent model overrides
|
|
89
|
+
* so the pack's subagent models apply. The caller persists with
|
|
90
|
+
* `saveSettings`.
|
|
91
|
+
*/
|
|
92
|
+
function activateModePackInSettings(settings, packId) {
|
|
93
|
+
settings.models.activeModelPackId = packId;
|
|
94
|
+
if (packId.startsWith("custom:")) {
|
|
95
|
+
const pack = listResolvableModePacks(settings).find((candidate) => candidate.id === packId);
|
|
96
|
+
if (pack) settings.models.modeDefaults = {
|
|
97
|
+
build: pack.models.build,
|
|
98
|
+
plan: pack.models.plan,
|
|
99
|
+
fast: pack.models.fast,
|
|
100
|
+
...pack.models.memory ? { memory: pack.models.memory } : {}
|
|
101
|
+
};
|
|
102
|
+
} else settings.models.modeDefaults = {};
|
|
103
|
+
settings.models.subagentModels = {};
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
export { activateModePackInSettings, listResolvableModePacks, listValidModePackIds, resolveModePackArg, resolvePackSelection };
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=pack-activation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-activation.js","names":[],"sources":["../../src/onboarding/pack-activation.ts"],"sourcesContent":["/**\n * Shared model-pack resolution and activation helpers.\n *\n * Used by both the interactive TUI (`--pack`, /models → Activate) and the\n * headless CLI (`--pack`) so a pack id from the command line behaves exactly\n * like activating the pack in the picker: the global default pack changes and\n * the session it starts gets the pack's models for every mode, its subagent\n * models, its fallback route, and the thread's `activeModelPackId`.\n */\nimport { listBuiltinModePacks, resolveModePackFallbackChain, type ModePack } from './packs.js';\nimport { resolveModePackModels, type GlobalSettings } from './settings.js';\n\n/** Every pack id that can be activated: built-ins plus saved custom packs (`custom:<name>`). */\nexport function listResolvableModePacks(settings: GlobalSettings): ModePack[] {\n return [\n ...listBuiltinModePacks(),\n ...settings.customModelPacks.map(pack => ({\n id: `custom:${pack.name}`,\n name: pack.name,\n description: 'Saved custom pack',\n models: {\n build: pack.models.build ?? '',\n plan: pack.models.plan ?? '',\n fast: pack.models.fast ?? '',\n ...(pack.models.memory ? { memory: pack.models.memory } : {}),\n },\n })),\n ];\n}\n\n/** The valid `--pack` values, in display order. */\nexport function listValidModePackIds(settings: GlobalSettings): string[] {\n return listResolvableModePacks(settings).map(pack => pack.id);\n}\n\n/**\n * Resolve a `--pack` argument to a canonical pack id.\n *\n * Accepts a built-in pack id (`anthropic`), a fully qualified custom pack id\n * (`custom:Kimi`), or a bare custom pack name (`Kimi`) — the `custom:` prefix\n * is a storage detail users never see in the picker. On a collision between a\n * built-in id and a custom pack name, the built-in wins; `custom:<name>`\n * always reaches the custom pack.\n */\nexport function resolveModePackArg(settings: GlobalSettings, raw: string): { packId: string } | { error: string } {\n const input = raw.trim();\n const valid = listValidModePackIds(settings);\n if (input && valid.includes(input)) return { packId: input };\n if (input && !input.startsWith('custom:')) {\n const asCustom = `custom:${input}`;\n if (valid.includes(asCustom)) return { packId: asCustom };\n }\n return {\n error: `Unknown model pack: \"${raw}\". Valid packs: ${valid.join(', ')} (a custom pack also accepts its bare name, e.g. \"Kimi\" for \"custom:Kimi\")`,\n };\n}\n\nexport interface PackSelection {\n modelId: string;\n subagentModels: Record<string, string>;\n modelRoute: {\n entries: Array<{\n id: string;\n label: string;\n modelId: string;\n accountId?: string;\n memoryModelId?: string;\n }>;\n };\n}\n\n/** Resolve what activating `packId` in `modeId` applies to the session. */\nexport function resolvePackSelection(\n settings: GlobalSettings,\n packId: string,\n modeId: string,\n): PackSelection | undefined {\n const packs = listResolvableModePacks(settings);\n const packsById = new Map(packs.map(pack => [pack.id, pack]));\n const pack = packsById.get(packId);\n if (!pack) return undefined;\n\n const packModels = resolveModePackModels(settings, pack);\n const modelId = packModels[modeId];\n if (!modelId) return undefined;\n\n const subagentModeMap: Record<string, string> = { explore: 'fast', plan: 'plan', execute: 'build' };\n const subagentModels = Object.fromEntries(\n Object.entries(subagentModeMap).flatMap(([agentType, subagentModeId]) => {\n const subagentModelId = packModels[subagentModeId];\n return subagentModelId ? [[agentType, subagentModelId]] : [];\n }),\n );\n\n const routeIds = resolveModePackFallbackChain(settings.models.packFallbacks, packId, settings.customModelPacks);\n const entries = routeIds.flatMap(routeId => {\n const routePack = packsById.get(routeId);\n if (!routePack) return [];\n const routeModels = resolveModePackModels(settings, routePack);\n const routeModelId = routeModels[modeId];\n if (!routeModelId) return [];\n const accountId = settings.models.packAccountPreferences?.[routeId]?.[routeModelId];\n return [\n {\n id: routeId,\n label: routePack.name,\n modelId: routeModelId,\n ...(accountId ? { accountId } : {}),\n ...(routeModels.memory ? { memoryModelId: routeModels.memory } : {}),\n },\n ];\n });\n\n // The pack's memory model rides on the route rather than pinning the OM\n // roles, so it applies only while the pack is active and `/om` choices return\n // when it is not.\n return { modelId, subagentModels, modelRoute: { entries } };\n}\n\n/**\n * Mutate global settings the way /models → Activate does: point the global\n * default pack at `packId` and clear the per-agent subagent model overrides\n * so the pack's subagent models apply. The caller persists with\n * `saveSettings`.\n */\nexport function activateModePackInSettings(settings: GlobalSettings, packId: string): void {\n settings.models.activeModelPackId = packId;\n if (packId.startsWith('custom:')) {\n const pack = listResolvableModePacks(settings).find(candidate => candidate.id === packId);\n if (pack) {\n settings.models.modeDefaults = {\n build: pack.models.build,\n plan: pack.models.plan,\n fast: pack.models.fast,\n ...(pack.models.memory ? { memory: pack.models.memory } : {}),\n };\n }\n } else {\n settings.models.modeDefaults = {};\n }\n settings.models.subagentModels = {};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export interface ModePack {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
models: {
|
|
6
|
+
build: string;
|
|
7
|
+
plan: string;
|
|
8
|
+
fast: string;
|
|
9
|
+
/**
|
|
10
|
+
* Optional observational-memory model for both roles while the pack is
|
|
11
|
+
* active: a concrete model ID (with the pack fallback chain), `'auto'`, or
|
|
12
|
+
* unset to follow the per-role `/om` settings.
|
|
13
|
+
*/
|
|
14
|
+
memory?: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface OMPack {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
modelId: string;
|
|
22
|
+
}
|
|
23
|
+
/** How a provider is accessed: OAuth subscription, API key, or not at all. */
|
|
24
|
+
export type ProviderAccessLevel = 'oauth' | 'apikey' | false;
|
|
25
|
+
/** Which providers the user has access to and how. */
|
|
26
|
+
export interface ProviderAccess {
|
|
27
|
+
anthropic: ProviderAccessLevel;
|
|
28
|
+
openai: ProviderAccessLevel;
|
|
29
|
+
cerebras: ProviderAccessLevel;
|
|
30
|
+
google: ProviderAccessLevel;
|
|
31
|
+
deepseek: ProviderAccessLevel;
|
|
32
|
+
'github-copilot': ProviderAccessLevel;
|
|
33
|
+
[provider: string]: ProviderAccessLevel;
|
|
34
|
+
}
|
|
35
|
+
export declare function getBuiltinModePack(packId: string): (ModePack & {
|
|
36
|
+
providerId: string;
|
|
37
|
+
}) | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* All builtin mode packs regardless of provider access (descriptions use the
|
|
40
|
+
* apikey variant). For resolution-time lookups — fallback chains must resolve
|
|
41
|
+
* even when an access probe is stale; actual auth failures surface through
|
|
42
|
+
* the provider call itself.
|
|
43
|
+
*/
|
|
44
|
+
export declare function listBuiltinModePacks(): ModePack[];
|
|
45
|
+
/** A pack id is known when it is a builtin mode pack or a saved custom pack. */
|
|
46
|
+
export declare function isKnownModePackId(packId: string, savedCustomPacks?: Array<{
|
|
47
|
+
name: string;
|
|
48
|
+
}>): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Drop pack-fallback entries whose source or target pack no longer exists
|
|
51
|
+
* (e.g. a deleted custom pack). Shape validation happens before this; here we
|
|
52
|
+
* only prune dangling references, with the same tolerance the rest of settings
|
|
53
|
+
* parsing uses.
|
|
54
|
+
*/
|
|
55
|
+
export declare function pruneUnknownModePackFallbacks(fallbacks: Record<string, string>, savedCustomPacks?: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
}>): Record<string, string>;
|
|
58
|
+
/** Drop preferred-account bindings for missing packs or models no longer used by that pack. */
|
|
59
|
+
export declare function pruneUnknownPackAccountPreferences(preferences: Record<string, Record<string, string>>, savedCustomPacks?: Array<{
|
|
60
|
+
name: string;
|
|
61
|
+
models: Record<string, string>;
|
|
62
|
+
}>, modePackOverrides?: Record<string, Record<string, string>>): Record<string, Record<string, string>>;
|
|
63
|
+
/**
|
|
64
|
+
* Walk `settings.models.packFallbacks` from `startPackId`, returning the pack
|
|
65
|
+
* ids in cascade order starting with the pack itself. Cycles are allowed but
|
|
66
|
+
* the cascade gets exactly one revisit total (Q15: "full circle then one
|
|
67
|
+
* revisit then surface"): the walk stops when the next link would add a pack
|
|
68
|
+
* already in the chain after the revisit was consumed, or when a link
|
|
69
|
+
* dangles at an unknown pack. An A⇄B cycle therefore yields [A, B, A#2] and
|
|
70
|
+
* stops. This cap is the cycle handling for both the fallback model chain
|
|
71
|
+
* (request time) and the /models picker's chain display.
|
|
72
|
+
*/
|
|
73
|
+
export declare function resolveModePackFallbackChain(fallbacks: Record<string, string>, startPackId: string, savedCustomPacks?: Array<{
|
|
74
|
+
name: string;
|
|
75
|
+
}>): string[];
|
|
76
|
+
/**
|
|
77
|
+
* Build the list of available mode packs based on which providers the user
|
|
78
|
+
* can actually reach (API key or OAuth login).
|
|
79
|
+
*
|
|
80
|
+
* @param savedCustomPacks Previously saved custom packs from settings.json.
|
|
81
|
+
* These are inserted before the "New Custom" option.
|
|
82
|
+
*/
|
|
83
|
+
export declare function getAvailableModePacks(access: ProviderAccess, savedCustomPacks?: Array<{
|
|
84
|
+
name: string;
|
|
85
|
+
models: Record<string, string>;
|
|
86
|
+
}>): ModePack[];
|
|
87
|
+
/** A provider's low-cost OM pack, or a custom pack on `fallbackModelId` when it has none. */
|
|
88
|
+
export declare function resolveProviderOMDefault(providerId: string, fallbackModelId?: string): OMPack;
|
|
89
|
+
/**
|
|
90
|
+
* Mastra Code's overrides for `@mastra/memory`'s auto model table. Memory owns
|
|
91
|
+
* the auto policy; Mastra Code only keeps its newer Gemini Flash default.
|
|
92
|
+
*/
|
|
93
|
+
export declare const MASTRACODE_AUTO_OM_MODELS: Readonly<Record<string, string>>;
|
|
94
|
+
/** The model ID Memory reports for a main-session model ID (without Mastra Code's custom-provider prefix). */
|
|
95
|
+
export declare function toMemoryModelId(modelId: string): string;
|
|
96
|
+
/** Preview the concrete model Memory's `'auto'` resolves to for a main-session model ID. */
|
|
97
|
+
export declare function resolveAutoOMModelId(currentModelId?: string): string;
|
|
98
|
+
export declare function getAvailableOmPacks(access: ProviderAccess): OMPack[];
|
|
99
|
+
/** Best reachable built-in OM pack: preferred provider, then OAuth, then built-in order. */
|
|
100
|
+
export declare function selectPreferredOMPack(access: ProviderAccess, preferredProviderId?: string): OMPack | undefined;
|
|
101
|
+
export declare const ONBOARDING_VERSION = 1;
|
|
102
|
+
//# sourceMappingURL=packs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/onboarding/packs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { DEFAULT_OM_MODEL_ID } from "../constants.js";
|
|
2
|
+
import { resolveAutoModelId } from "@mastra/memory";
|
|
3
|
+
//#region src/onboarding/packs.ts
|
|
4
|
+
/**
|
|
5
|
+
* Onboarding "packs" — predefined model configurations for each mode.
|
|
6
|
+
*
|
|
7
|
+
* Each pack assigns a default model to the build, plan, and fast modes,
|
|
8
|
+
* plus an OM (observational memory) model.
|
|
9
|
+
*/
|
|
10
|
+
const BUILTIN_MODE_PACKS = [
|
|
11
|
+
{
|
|
12
|
+
id: "anthropic",
|
|
13
|
+
providerId: "anthropic",
|
|
14
|
+
name: "Anthropic",
|
|
15
|
+
description: (access) => access === "oauth" ? "All Anthropic models via Max subscription" : "All Anthropic models via API key",
|
|
16
|
+
models: {
|
|
17
|
+
build: "anthropic/claude-fable-5",
|
|
18
|
+
plan: "anthropic/claude-fable-5",
|
|
19
|
+
fast: "anthropic/claude-haiku-4-5"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "openai",
|
|
24
|
+
providerId: "openai",
|
|
25
|
+
name: "OpenAI",
|
|
26
|
+
description: (access) => access === "oauth" ? "All OpenAI models via Codex subscription" : "All OpenAI models via API key",
|
|
27
|
+
models: {
|
|
28
|
+
build: "openai/gpt-5.6-sol",
|
|
29
|
+
plan: "openai/gpt-5.6-sol",
|
|
30
|
+
fast: "openai/gpt-5.4-mini"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "github-copilot",
|
|
35
|
+
providerId: "github-copilot",
|
|
36
|
+
name: "GitHub Copilot",
|
|
37
|
+
description: () => "GitHub Copilot subscription",
|
|
38
|
+
models: {
|
|
39
|
+
build: "github-copilot/gpt-4.1",
|
|
40
|
+
plan: "github-copilot/gemini-2.5-pro",
|
|
41
|
+
fast: "github-copilot/grok-code-fast-1"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
function getBuiltinModePack(packId) {
|
|
46
|
+
const pack = BUILTIN_MODE_PACKS.find((item) => item.id === packId);
|
|
47
|
+
if (!pack) return void 0;
|
|
48
|
+
return {
|
|
49
|
+
id: pack.id,
|
|
50
|
+
providerId: pack.providerId,
|
|
51
|
+
name: pack.name,
|
|
52
|
+
description: pack.description("apikey"),
|
|
53
|
+
models: { ...pack.models }
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* All builtin mode packs regardless of provider access (descriptions use the
|
|
58
|
+
* apikey variant). For resolution-time lookups — fallback chains must resolve
|
|
59
|
+
* even when an access probe is stale; actual auth failures surface through
|
|
60
|
+
* the provider call itself.
|
|
61
|
+
*/
|
|
62
|
+
function listBuiltinModePacks() {
|
|
63
|
+
return BUILTIN_MODE_PACKS.map((pack) => ({
|
|
64
|
+
id: pack.id,
|
|
65
|
+
name: pack.name,
|
|
66
|
+
description: pack.description("apikey"),
|
|
67
|
+
models: { ...pack.models }
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
/** A pack id is known when it is a builtin mode pack or a saved custom pack. */
|
|
71
|
+
function isKnownModePackId(packId, savedCustomPacks = []) {
|
|
72
|
+
if (BUILTIN_MODE_PACKS.some((pack) => pack.id === packId)) return true;
|
|
73
|
+
if (!packId.startsWith("custom:")) return false;
|
|
74
|
+
return savedCustomPacks.some((pack) => typeof pack?.name === "string" && `custom:${pack.name}` === packId);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Drop pack-fallback entries whose source or target pack no longer exists
|
|
78
|
+
* (e.g. a deleted custom pack). Shape validation happens before this; here we
|
|
79
|
+
* only prune dangling references, with the same tolerance the rest of settings
|
|
80
|
+
* parsing uses.
|
|
81
|
+
*/
|
|
82
|
+
function pruneUnknownModePackFallbacks(fallbacks, savedCustomPacks = []) {
|
|
83
|
+
const result = {};
|
|
84
|
+
for (const [packId, fallbackId] of Object.entries(fallbacks)) if (isKnownModePackId(packId, savedCustomPacks) && isKnownModePackId(fallbackId, savedCustomPacks)) result[packId] = fallbackId;
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
/** Drop preferred-account bindings for missing packs or models no longer used by that pack. */
|
|
88
|
+
function pruneUnknownPackAccountPreferences(preferences, savedCustomPacks = [], modePackOverrides = {}) {
|
|
89
|
+
const packModels = /* @__PURE__ */ new Map();
|
|
90
|
+
for (const pack of listBuiltinModePacks()) packModels.set(pack.id, new Set(Object.values({
|
|
91
|
+
...pack.models,
|
|
92
|
+
...modePackOverrides[pack.id]
|
|
93
|
+
})));
|
|
94
|
+
for (const pack of savedCustomPacks) {
|
|
95
|
+
const models = pack?.models && typeof pack.models === "object" ? pack.models : {};
|
|
96
|
+
packModels.set(`custom:${pack.name}`, new Set(Object.values(models)));
|
|
97
|
+
}
|
|
98
|
+
const result = {};
|
|
99
|
+
for (const [packId, modelPreferences] of Object.entries(preferences)) {
|
|
100
|
+
const models = packModels.get(packId);
|
|
101
|
+
if (!models) continue;
|
|
102
|
+
const validEntries = Object.entries(modelPreferences).filter(([modelId]) => models.has(modelId));
|
|
103
|
+
if (validEntries.length > 0) result[packId] = Object.fromEntries(validEntries);
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Walk `settings.models.packFallbacks` from `startPackId`, returning the pack
|
|
109
|
+
* ids in cascade order starting with the pack itself. Cycles are allowed but
|
|
110
|
+
* the cascade gets exactly one revisit total (Q15: "full circle then one
|
|
111
|
+
* revisit then surface"): the walk stops when the next link would add a pack
|
|
112
|
+
* already in the chain after the revisit was consumed, or when a link
|
|
113
|
+
* dangles at an unknown pack. An A⇄B cycle therefore yields [A, B, A#2] and
|
|
114
|
+
* stops. This cap is the cycle handling for both the fallback model chain
|
|
115
|
+
* (request time) and the /models picker's chain display.
|
|
116
|
+
*/
|
|
117
|
+
function resolveModePackFallbackChain(fallbacks, startPackId, savedCustomPacks = []) {
|
|
118
|
+
const chain = [startPackId];
|
|
119
|
+
let revisitUsed = false;
|
|
120
|
+
let current = startPackId;
|
|
121
|
+
while (true) {
|
|
122
|
+
const next = fallbacks[current];
|
|
123
|
+
if (!next || !isKnownModePackId(next, savedCustomPacks)) break;
|
|
124
|
+
if (chain.includes(next)) {
|
|
125
|
+
if (revisitUsed) break;
|
|
126
|
+
revisitUsed = true;
|
|
127
|
+
}
|
|
128
|
+
chain.push(next);
|
|
129
|
+
current = next;
|
|
130
|
+
}
|
|
131
|
+
return chain;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Build the list of available mode packs based on which providers the user
|
|
135
|
+
* can actually reach (API key or OAuth login).
|
|
136
|
+
*
|
|
137
|
+
* @param savedCustomPacks Previously saved custom packs from settings.json.
|
|
138
|
+
* These are inserted before the "New Custom" option.
|
|
139
|
+
*/
|
|
140
|
+
function getAvailableModePacks(access, savedCustomPacks = []) {
|
|
141
|
+
const packs = BUILTIN_MODE_PACKS.flatMap((pack) => {
|
|
142
|
+
const providerAccess = access[pack.providerId];
|
|
143
|
+
if (!providerAccess) return [];
|
|
144
|
+
return [{
|
|
145
|
+
id: pack.id,
|
|
146
|
+
name: pack.name,
|
|
147
|
+
description: pack.description(providerAccess),
|
|
148
|
+
models: { ...pack.models }
|
|
149
|
+
}];
|
|
150
|
+
});
|
|
151
|
+
for (const cp of savedCustomPacks) packs.push({
|
|
152
|
+
id: `custom:${cp.name}`,
|
|
153
|
+
name: cp.name,
|
|
154
|
+
description: "Saved custom pack",
|
|
155
|
+
models: {
|
|
156
|
+
build: cp.models.build ?? "",
|
|
157
|
+
plan: cp.models.plan ?? "",
|
|
158
|
+
fast: cp.models.fast ?? "",
|
|
159
|
+
...typeof cp.models.memory === "string" && cp.models.memory.length > 0 ? { memory: cp.models.memory } : {}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
const hasCustom = savedCustomPacks.length > 0;
|
|
163
|
+
packs.push({
|
|
164
|
+
id: "custom",
|
|
165
|
+
name: hasCustom ? "New Custom" : "Custom",
|
|
166
|
+
description: "Choose a model for each mode",
|
|
167
|
+
models: {
|
|
168
|
+
build: "",
|
|
169
|
+
plan: "",
|
|
170
|
+
fast: ""
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
return packs;
|
|
174
|
+
}
|
|
175
|
+
const BUILTIN_OM_PACKS = [
|
|
176
|
+
{
|
|
177
|
+
id: "gemini",
|
|
178
|
+
providerId: "google",
|
|
179
|
+
name: "Gemini Flash",
|
|
180
|
+
modelId: "google/gemini-3.5-flash",
|
|
181
|
+
description: (access) => access === "oauth" ? "Via Google OAuth" : "Via Google API key"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
id: "anthropic",
|
|
185
|
+
providerId: "anthropic",
|
|
186
|
+
name: "Claude Haiku",
|
|
187
|
+
modelId: "anthropic/claude-haiku-4-5",
|
|
188
|
+
description: (access) => access === "oauth" ? "Via Max subscription" : "Via Anthropic API key"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
id: "openai",
|
|
192
|
+
providerId: "openai",
|
|
193
|
+
name: "OpenAI Mini",
|
|
194
|
+
modelId: "openai/gpt-6-luna",
|
|
195
|
+
description: (access) => access === "oauth" ? "Via Codex subscription" : "Via OpenAI API key"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
id: "deepseek",
|
|
199
|
+
providerId: "deepseek",
|
|
200
|
+
name: "DeepSeek",
|
|
201
|
+
modelId: "deepseek/deepseek-v4-flash",
|
|
202
|
+
description: () => "Via DeepSeek API key"
|
|
203
|
+
}
|
|
204
|
+
];
|
|
205
|
+
function normalizeOMProviderId(providerId) {
|
|
206
|
+
return providerId === "openai-codex" ? "openai" : providerId;
|
|
207
|
+
}
|
|
208
|
+
/** A provider's low-cost OM pack, or a custom pack on `fallbackModelId` when it has none. */
|
|
209
|
+
function resolveProviderOMDefault(providerId, fallbackModelId = DEFAULT_OM_MODEL_ID) {
|
|
210
|
+
const normalizedProviderId = normalizeOMProviderId(providerId);
|
|
211
|
+
const builtin = BUILTIN_OM_PACKS.find((pack) => pack.providerId === normalizedProviderId);
|
|
212
|
+
if (builtin) return {
|
|
213
|
+
id: builtin.id,
|
|
214
|
+
name: builtin.name,
|
|
215
|
+
description: builtin.description("apikey"),
|
|
216
|
+
modelId: builtin.modelId
|
|
217
|
+
};
|
|
218
|
+
return {
|
|
219
|
+
id: "custom",
|
|
220
|
+
name: "Custom",
|
|
221
|
+
description: "Uses the selected provider model",
|
|
222
|
+
modelId: fallbackModelId || DEFAULT_OM_MODEL_ID
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Mastra Code's overrides for `@mastra/memory`'s auto model table. Memory owns
|
|
227
|
+
* the auto policy; Mastra Code only keeps its newer Gemini Flash default.
|
|
228
|
+
*/
|
|
229
|
+
const MASTRACODE_AUTO_OM_MODELS = { google: DEFAULT_OM_MODEL_ID };
|
|
230
|
+
const CUSTOM_PROVIDER_PREFIX = "mastracode/";
|
|
231
|
+
/** The model ID Memory reports for a main-session model ID (without Mastra Code's custom-provider prefix). */
|
|
232
|
+
function toMemoryModelId(modelId) {
|
|
233
|
+
return modelId.startsWith(CUSTOM_PROVIDER_PREFIX) ? modelId.slice(11) : modelId;
|
|
234
|
+
}
|
|
235
|
+
/** Preview the concrete model Memory's `'auto'` resolves to for a main-session model ID. */
|
|
236
|
+
function resolveAutoOMModelId(currentModelId) {
|
|
237
|
+
if (!currentModelId) return resolveAutoModelId(void 0, { autoModels: MASTRACODE_AUTO_OM_MODELS }) ?? DEFAULT_OM_MODEL_ID;
|
|
238
|
+
const memoryModelId = toMemoryModelId(currentModelId);
|
|
239
|
+
const picked = resolveAutoModelId(memoryModelId, { autoModels: MASTRACODE_AUTO_OM_MODELS });
|
|
240
|
+
return !picked || picked === memoryModelId ? currentModelId : picked;
|
|
241
|
+
}
|
|
242
|
+
function getAvailableOmPacks(access) {
|
|
243
|
+
const packs = BUILTIN_OM_PACKS.flatMap((pack) => {
|
|
244
|
+
const providerAccess = access[pack.providerId];
|
|
245
|
+
if (!providerAccess) return [];
|
|
246
|
+
return [{
|
|
247
|
+
id: pack.id,
|
|
248
|
+
name: pack.name,
|
|
249
|
+
description: pack.description(providerAccess),
|
|
250
|
+
modelId: pack.modelId
|
|
251
|
+
}];
|
|
252
|
+
});
|
|
253
|
+
packs.push({
|
|
254
|
+
id: "custom",
|
|
255
|
+
name: "Custom",
|
|
256
|
+
description: "Choose any available model",
|
|
257
|
+
modelId: ""
|
|
258
|
+
});
|
|
259
|
+
return packs;
|
|
260
|
+
}
|
|
261
|
+
/** Best reachable built-in OM pack: preferred provider, then OAuth, then built-in order. */
|
|
262
|
+
function selectPreferredOMPack(access, preferredProviderId) {
|
|
263
|
+
const available = getAvailableOmPacks(access).filter((pack) => pack.id !== "custom");
|
|
264
|
+
if (preferredProviderId) {
|
|
265
|
+
const preferredPackId = resolveProviderOMDefault(preferredProviderId).id;
|
|
266
|
+
const preferred = available.find((pack) => pack.id === preferredPackId);
|
|
267
|
+
if (preferred) return preferred;
|
|
268
|
+
}
|
|
269
|
+
return available.find((pack) => {
|
|
270
|
+
const definition = BUILTIN_OM_PACKS.find((candidate) => candidate.id === pack.id);
|
|
271
|
+
return definition ? access[definition.providerId] === "oauth" : false;
|
|
272
|
+
}) ?? available[0];
|
|
273
|
+
}
|
|
274
|
+
const ONBOARDING_VERSION = 1;
|
|
275
|
+
//#endregion
|
|
276
|
+
export { MASTRACODE_AUTO_OM_MODELS, ONBOARDING_VERSION, getAvailableModePacks, getAvailableOmPacks, getBuiltinModePack, isKnownModePackId, listBuiltinModePacks, pruneUnknownModePackFallbacks, pruneUnknownPackAccountPreferences, resolveAutoOMModelId, resolveModePackFallbackChain, resolveProviderOMDefault, selectPreferredOMPack, toMemoryModelId };
|
|
277
|
+
|
|
278
|
+
//# sourceMappingURL=packs.js.map
|