@aexol/spectral 0.8.2 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +82 -55
- package/README.md +80 -82
- package/dist/agent/agents.d.ts +37 -0
- package/dist/agent/agents.d.ts.map +1 -0
- package/dist/agent/index.d.ts +29 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +11 -11
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/commands/bind.d.ts +12 -0
- package/dist/commands/bind.d.ts.map +1 -0
- package/dist/commands/login-oauth.d.ts +15 -0
- package/dist/commands/login-oauth.d.ts.map +1 -0
- package/dist/commands/login.d.ts +37 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/logout.d.ts +8 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/serve.d.ts +112 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +5 -2
- package/dist/commands/unbind.d.ts +8 -0
- package/dist/commands/unbind.d.ts.map +1 -0
- package/dist/config.d.ts +49 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +1 -1
- package/dist/designer/guidelines.d.ts +23 -0
- package/dist/designer/guidelines.d.ts.map +1 -0
- package/dist/designer/index.d.ts +26 -0
- package/dist/designer/index.d.ts.map +1 -0
- package/dist/designer/index.js +9 -9
- package/dist/designer/philosophies.d.ts +33 -0
- package/dist/designer/philosophies.d.ts.map +1 -0
- package/dist/designer/skills.d.ts +27 -0
- package/dist/designer/skills.d.ts.map +1 -0
- package/dist/designer/systems.d.ts +36 -0
- package/dist/designer/systems.d.ts.map +1 -0
- package/dist/extensions/aexol-mcp.d.ts +25 -0
- package/dist/extensions/aexol-mcp.d.ts.map +1 -0
- package/dist/extensions/aexol-mcp.js +12 -12
- package/dist/extensions/kanban-bridge.d.ts +24 -0
- package/dist/extensions/kanban-bridge.d.ts.map +1 -0
- package/dist/extensions/kanban-bridge.js +3 -3
- package/dist/extensions/openrouter-attribution.d.ts +12 -0
- package/dist/extensions/openrouter-attribution.d.ts.map +1 -0
- package/dist/extensions/openrouter-attribution.js +2 -2
- package/dist/extensions/spectral-vision-fallback.d.ts +23 -0
- package/dist/extensions/spectral-vision-fallback.d.ts.map +1 -0
- package/dist/extensions/spectral-vision-fallback.js +32 -23
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/mcp/agent-dir.d.ts +3 -0
- package/dist/mcp/agent-dir.d.ts.map +1 -0
- package/dist/mcp/commands.d.ts +9 -0
- package/dist/mcp/commands.d.ts.map +1 -0
- package/dist/mcp/commands.js +1 -1
- package/dist/mcp/config.d.ts +78 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +15 -15
- package/dist/mcp/consent-manager.d.ts +14 -0
- package/dist/mcp/consent-manager.d.ts.map +1 -0
- package/dist/mcp/direct-tools.d.ts +11 -0
- package/dist/mcp/direct-tools.d.ts.map +1 -0
- package/dist/mcp/errors.d.ts +100 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/glimpse-ui.d.ts +10 -0
- package/dist/mcp/glimpse-ui.d.ts.map +1 -0
- package/dist/mcp/host-html-template.d.ts +17 -0
- package/dist/mcp/host-html-template.d.ts.map +1 -0
- package/dist/mcp/host-html-template.js +3 -3
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +15 -13
- package/dist/mcp/init.d.ts +10 -0
- package/dist/mcp/init.d.ts.map +1 -0
- package/dist/mcp/init.js +4 -4
- package/dist/mcp/lifecycle.d.ts +30 -0
- package/dist/mcp/lifecycle.d.ts.map +1 -0
- package/dist/mcp/logger.d.ts +52 -0
- package/dist/mcp/logger.d.ts.map +1 -0
- package/dist/mcp/mcp-auth-flow.d.ts +69 -0
- package/dist/mcp/mcp-auth-flow.d.ts.map +1 -0
- package/dist/mcp/mcp-auth.d.ts +100 -0
- package/dist/mcp/mcp-auth.d.ts.map +1 -0
- package/dist/mcp/mcp-callback-server.d.ts +40 -0
- package/dist/mcp/mcp-callback-server.d.ts.map +1 -0
- package/dist/mcp/mcp-oauth-provider.d.ts +101 -0
- package/dist/mcp/mcp-oauth-provider.d.ts.map +1 -0
- package/dist/mcp/mcp-oauth-provider.js +1 -1
- package/dist/mcp/metadata-cache.d.ts +32 -0
- package/dist/mcp/metadata-cache.d.ts.map +1 -0
- package/dist/mcp/npx-resolver.d.ts +7 -0
- package/dist/mcp/npx-resolver.d.ts.map +1 -0
- package/dist/mcp/oauth-handler.d.ts +19 -0
- package/dist/mcp/oauth-handler.d.ts.map +1 -0
- package/dist/mcp/onboarding-state.d.ts +13 -0
- package/dist/mcp/onboarding-state.d.ts.map +1 -0
- package/dist/mcp/proxy-modes.d.ts +12 -0
- package/dist/mcp/proxy-modes.d.ts.map +1 -0
- package/dist/mcp/proxy-modes.js +2 -2
- package/dist/mcp/resource-tools.d.ts +2 -0
- package/dist/mcp/resource-tools.d.ts.map +1 -0
- package/dist/mcp/sampling-handler.d.ts +16 -0
- package/dist/mcp/sampling-handler.d.ts.map +1 -0
- package/dist/mcp/server-manager.d.ts +42 -0
- package/dist/mcp/server-manager.d.ts.map +1 -0
- package/dist/mcp/server-manager.js +2 -2
- package/dist/mcp/state-getter.d.ts +14 -0
- package/dist/mcp/state-getter.d.ts.map +1 -0
- package/dist/mcp/state-getter.js +21 -0
- package/dist/mcp/state.d.ts +41 -0
- package/dist/mcp/state.d.ts.map +1 -0
- package/dist/mcp/tool-metadata.d.ts +11 -0
- package/dist/mcp/tool-metadata.d.ts.map +1 -0
- package/dist/mcp/tool-registrar.d.ts +9 -0
- package/dist/mcp/tool-registrar.d.ts.map +1 -0
- package/dist/mcp/tool-registrar.js +1 -1
- package/dist/mcp/types.d.ts +263 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/ui-resource-handler.d.ts +10 -0
- package/dist/mcp/ui-resource-handler.d.ts.map +1 -0
- package/dist/mcp/ui-server.d.ts +37 -0
- package/dist/mcp/ui-server.d.ts.map +1 -0
- package/dist/mcp/ui-server.js +1 -1
- package/dist/mcp/ui-session.d.ts +27 -0
- package/dist/mcp/ui-session.d.ts.map +1 -0
- package/dist/mcp/ui-stream-types.d.ts +197 -0
- package/dist/mcp/ui-stream-types.d.ts.map +1 -0
- package/dist/mcp/ui-stream-types.js +5 -5
- package/dist/mcp/utils.d.ts +17 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/utils.js +10 -10
- package/dist/mcp/vitest.config.d.ts +3 -0
- package/dist/mcp/vitest.config.d.ts.map +1 -0
- package/dist/mcp-client.d.ts +58 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +3 -2
- package/dist/memory/branch.d.ts +124 -0
- package/dist/memory/branch.d.ts.map +1 -0
- package/dist/memory/commands/status.d.ts +4 -0
- package/dist/memory/commands/status.d.ts.map +1 -0
- package/dist/memory/commands/status.js +2 -2
- package/dist/memory/commands/view.d.ts +4 -0
- package/dist/memory/commands/view.d.ts.map +1 -0
- package/dist/memory/commands/view.js +2 -2
- package/dist/memory/compaction.d.ts +113 -0
- package/dist/memory/compaction.d.ts.map +1 -0
- package/dist/memory/config.d.ts +27 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/debug-log.d.ts +12 -0
- package/dist/memory/debug-log.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-hook.d.ts +4 -0
- package/dist/memory/hooks/compaction-hook.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-hook.js +5 -5
- package/dist/memory/hooks/compaction-trigger.d.ts +4 -0
- package/dist/memory/hooks/compaction-trigger.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-trigger.js +3 -3
- package/dist/memory/hooks/observer-trigger.d.ts +4 -0
- package/dist/memory/hooks/observer-trigger.d.ts.map +1 -0
- package/dist/memory/hooks/observer-trigger.js +4 -4
- package/dist/memory/ids.d.ts +2 -0
- package/dist/memory/ids.d.ts.map +1 -0
- package/dist/memory/index.d.ts +3 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +9 -9
- package/dist/memory/model-budget.d.ts +4 -0
- package/dist/memory/model-budget.d.ts.map +1 -0
- package/dist/memory/observer.d.ts +21 -0
- package/dist/memory/observer.d.ts.map +1 -0
- package/dist/memory/project-observations-store.d.ts +24 -0
- package/dist/memory/project-observations-store.d.ts.map +1 -0
- package/dist/memory/prompts.d.ts +11 -0
- package/dist/memory/prompts.d.ts.map +1 -0
- package/dist/memory/relevance.d.ts +4 -0
- package/dist/memory/relevance.d.ts.map +1 -0
- package/dist/memory/runtime.d.ts +40 -0
- package/dist/memory/runtime.d.ts.map +1 -0
- package/dist/memory/serialize.d.ts +26 -0
- package/dist/memory/serialize.d.ts.map +1 -0
- package/dist/memory/tokens.d.ts +8 -0
- package/dist/memory/tokens.d.ts.map +1 -0
- package/dist/memory/tools/read-project-observations.d.ts +8 -0
- package/dist/memory/tools/read-project-observations.d.ts.map +1 -0
- package/dist/memory/tools/read-project-observations.js +2 -2
- package/dist/memory/tools/recall-observation.d.ts +63 -0
- package/dist/memory/tools/recall-observation.d.ts.map +1 -0
- package/dist/memory/tools/recall-observation.js +2 -2
- package/dist/memory/tools/write-project-observation.d.ts +9 -0
- package/dist/memory/tools/write-project-observation.d.ts.map +1 -0
- package/dist/memory/tools/write-project-observation.js +2 -2
- package/dist/memory/types.d.ts +65 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/preflight.d.ts +27 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +4 -2
- package/dist/relay/auto-research.d.ts +64 -0
- package/dist/relay/auto-research.d.ts.map +1 -0
- package/dist/relay/auto-research.js +184 -79
- package/dist/relay/client.d.ts +126 -0
- package/dist/relay/client.d.ts.map +1 -0
- package/dist/relay/dispatcher.d.ts +216 -0
- package/dist/relay/dispatcher.d.ts.map +1 -0
- package/dist/relay/dispatcher.js +33 -6
- package/dist/relay/machine-store.d.ts +68 -0
- package/dist/relay/machine-store.d.ts.map +1 -0
- package/dist/relay/models-fetch.d.ts +75 -0
- package/dist/relay/models-fetch.d.ts.map +1 -0
- package/dist/relay/registration.d.ts +81 -0
- package/dist/relay/registration.d.ts.map +1 -0
- package/dist/sdk/agent-core/agent-loop.d.ts +24 -0
- package/dist/sdk/agent-core/agent-loop.d.ts.map +1 -0
- package/dist/sdk/agent-core/agent.d.ts +125 -0
- package/dist/sdk/agent-core/agent.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/agent-harness.d.ts +92 -0
- package/dist/sdk/agent-core/harness/agent-harness.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/branch-summarization.d.ts +53 -0
- package/dist/sdk/agent-core/harness/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/compaction.d.ts +95 -0
- package/dist/sdk/agent-core/harness/compaction/compaction.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/utils.d.ts +25 -0
- package/dist/sdk/agent-core/harness/compaction/utils.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/env/nodejs.d.ts +51 -0
- package/dist/sdk/agent-core/harness/env/nodejs.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/messages.d.ts +51 -0
- package/dist/sdk/agent-core/harness/messages.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/prompt-templates.d.ts +48 -0
- package/dist/sdk/agent-core/harness/prompt-templates.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/jsonl-repo.d.ts +26 -0
- package/dist/sdk/agent-core/harness/session/jsonl-repo.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/jsonl-storage.d.ts +33 -0
- package/dist/sdk/agent-core/harness/session/jsonl-storage.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/memory-repo.d.ts +18 -0
- package/dist/sdk/agent-core/harness/session/memory-repo.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/memory-storage.d.ts +25 -0
- package/dist/sdk/agent-core/harness/session/memory-storage.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/repo-utils.d.ts +11 -0
- package/dist/sdk/agent-core/harness/session/repo-utils.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/session.d.ts +32 -0
- package/dist/sdk/agent-core/harness/session/session.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/uuid.d.ts +2 -0
- package/dist/sdk/agent-core/harness/session/uuid.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/skills.d.ts +44 -0
- package/dist/sdk/agent-core/harness/skills.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/system-prompt.d.ts +3 -0
- package/dist/sdk/agent-core/harness/system-prompt.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/types.d.ts +601 -0
- package/dist/sdk/agent-core/harness/types.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/utils/shell-output.d.ts +14 -0
- package/dist/sdk/agent-core/harness/utils/shell-output.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/utils/truncate.d.ts +70 -0
- package/dist/sdk/agent-core/harness/utils/truncate.d.ts.map +1 -0
- package/dist/sdk/agent-core/index.d.ts +20 -0
- package/dist/sdk/agent-core/index.d.ts.map +1 -0
- package/dist/sdk/agent-core/node.d.ts +3 -0
- package/dist/sdk/agent-core/node.d.ts.map +1 -0
- package/dist/sdk/agent-core/proxy.d.ts +69 -0
- package/dist/sdk/agent-core/proxy.d.ts.map +1 -0
- package/dist/sdk/agent-core/types.d.ts +393 -0
- package/dist/sdk/agent-core/types.d.ts.map +1 -0
- package/dist/sdk/ai/api-registry.d.ts +20 -0
- package/dist/sdk/ai/api-registry.d.ts.map +1 -0
- package/dist/sdk/ai/cli.d.ts +3 -0
- package/dist/sdk/ai/cli.d.ts.map +1 -0
- package/dist/sdk/ai/env-api-keys.d.ts +18 -0
- package/dist/sdk/ai/env-api-keys.d.ts.map +1 -0
- package/dist/sdk/ai/image-models.d.ts +10 -0
- package/dist/sdk/ai/image-models.d.ts.map +1 -0
- package/dist/sdk/ai/image-models.generated.d.ts +440 -0
- package/dist/sdk/ai/image-models.generated.d.ts.map +1 -0
- package/dist/sdk/ai/images-api-registry.d.ts +14 -0
- package/dist/sdk/ai/images-api-registry.d.ts.map +1 -0
- package/dist/sdk/ai/images.d.ts +4 -0
- package/dist/sdk/ai/images.d.ts.map +1 -0
- package/dist/sdk/ai/index.d.ts +21 -0
- package/dist/sdk/ai/index.d.ts.map +1 -0
- package/dist/sdk/ai/models.d.ts +18 -0
- package/dist/sdk/ai/models.d.ts.map +1 -0
- package/dist/sdk/ai/models.generated.d.ts +17349 -0
- package/dist/sdk/ai/models.generated.d.ts.map +1 -0
- package/dist/sdk/ai/oauth.d.ts +2 -0
- package/dist/sdk/ai/oauth.d.ts.map +1 -0
- package/dist/sdk/ai/providers/anthropic.d.ts +54 -0
- package/dist/sdk/ai/providers/anthropic.d.ts.map +1 -0
- package/dist/sdk/ai/providers/faux.d.ts +56 -0
- package/dist/sdk/ai/providers/faux.d.ts.map +1 -0
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts +8 -0
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts +19 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai-prompt-cache.d.ts +3 -0
- package/dist/sdk/ai/providers/openai-prompt-cache.d.ts.map +1 -0
- package/dist/sdk/ai/providers/register-builtins.d.ts +15 -0
- package/dist/sdk/ai/providers/register-builtins.d.ts.map +1 -0
- package/dist/sdk/ai/providers/simple-options.d.ts +8 -0
- package/dist/sdk/ai/providers/simple-options.d.ts.map +1 -0
- package/dist/sdk/ai/providers/transform-messages.d.ts +8 -0
- package/dist/sdk/ai/providers/transform-messages.d.ts.map +1 -0
- package/dist/sdk/ai/session-resources.d.ts +4 -0
- package/dist/sdk/ai/session-resources.d.ts.map +1 -0
- package/dist/sdk/ai/stream.d.ts +8 -0
- package/dist/sdk/ai/stream.d.ts.map +1 -0
- package/dist/sdk/ai/types.d.ts +488 -0
- package/dist/sdk/ai/types.d.ts.map +1 -0
- package/dist/sdk/ai/utils/diagnostics.d.ts +19 -0
- package/dist/sdk/ai/utils/diagnostics.d.ts.map +1 -0
- package/dist/sdk/ai/utils/event-stream.d.ts +21 -0
- package/dist/sdk/ai/utils/event-stream.d.ts.map +1 -0
- package/dist/sdk/ai/utils/hash.d.ts +3 -0
- package/dist/sdk/ai/utils/hash.d.ts.map +1 -0
- package/dist/sdk/ai/utils/headers.d.ts +2 -0
- package/dist/sdk/ai/utils/headers.d.ts.map +1 -0
- package/dist/sdk/ai/utils/json-parse.d.ts +16 -0
- package/dist/sdk/ai/utils/json-parse.d.ts.map +1 -0
- package/dist/sdk/ai/utils/node-http-proxy.d.ts +10 -0
- package/dist/sdk/ai/utils/node-http-proxy.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/anthropic.d.ts +25 -0
- package/dist/sdk/ai/utils/oauth/anthropic.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/device-code.d.ts +19 -0
- package/dist/sdk/ai/utils/oauth/device-code.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts +30 -0
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/index.d.ts +58 -0
- package/dist/sdk/ai/utils/oauth/index.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/oauth-page.d.ts +3 -0
- package/dist/sdk/ai/utils/oauth/oauth-page.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.d.ts +34 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.js +2 -2
- package/dist/sdk/ai/utils/oauth/pkce.d.ts +13 -0
- package/dist/sdk/ai/utils/oauth/pkce.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/types.d.ts +64 -0
- package/dist/sdk/ai/utils/oauth/types.d.ts.map +1 -0
- package/dist/sdk/ai/utils/overflow.d.ts +56 -0
- package/dist/sdk/ai/utils/overflow.d.ts.map +1 -0
- package/dist/sdk/ai/utils/sanitize-unicode.d.ts +22 -0
- package/dist/sdk/ai/utils/sanitize-unicode.d.ts.map +1 -0
- package/dist/sdk/ai/utils/typebox-helpers.d.ts +17 -0
- package/dist/sdk/ai/utils/typebox-helpers.d.ts.map +1 -0
- package/dist/sdk/ai/utils/validation.d.ts +18 -0
- package/dist/sdk/ai/utils/validation.d.ts.map +1 -0
- package/dist/sdk/coding-agent/cli.d.ts +3 -0
- package/dist/sdk/coding-agent/cli.d.ts.map +1 -0
- package/dist/sdk/coding-agent/config.d.ts +71 -0
- package/dist/sdk/coding-agent/config.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session-runtime.d.ts +117 -0
- package/dist/sdk/coding-agent/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session-services.d.ts +86 -0
- package/dist/sdk/coding-agent/core/agent-session-services.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts +626 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session.js +3 -3
- package/dist/sdk/coding-agent/core/auth-guidance.d.ts +5 -0
- package/dist/sdk/coding-agent/core/auth-guidance.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/auth-storage.d.ts +145 -0
- package/dist/sdk/coding-agent/core/auth-storage.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/auth-storage.js +2 -2
- package/dist/sdk/coding-agent/core/bash-executor.d.ts +32 -0
- package/dist/sdk/coding-agent/core/bash-executor.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/bash-executor.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.d.ts +88 -0
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts +142 -0
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/compaction.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/index.d.ts +7 -0
- package/dist/sdk/coding-agent/core/compaction/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/utils.d.ts +38 -0
- package/dist/sdk/coding-agent/core/compaction/utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/defaults.d.ts +3 -0
- package/dist/sdk/coding-agent/core/defaults.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/diagnostics.d.ts +15 -0
- package/dist/sdk/coding-agent/core/diagnostics.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/event-bus.d.ts +9 -0
- package/dist/sdk/coding-agent/core/event-bus.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/exec.d.ts +29 -0
- package/dist/sdk/coding-agent/core/exec.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/index.d.ts +12 -0
- package/dist/sdk/coding-agent/core/extensions/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts +24 -0
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/loader.js +18 -21
- package/dist/sdk/coding-agent/core/extensions/runner.d.ts +161 -0
- package/dist/sdk/coding-agent/core/extensions/runner.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/runner.js +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.d.ts +1181 -0
- package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/wrapper.d.ts +20 -0
- package/dist/sdk/coding-agent/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/http-dispatcher.d.ts +21 -0
- package/dist/sdk/coding-agent/core/http-dispatcher.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/index.d.ts +12 -0
- package/dist/sdk/coding-agent/core/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/keybindings.d.ts +371 -0
- package/dist/sdk/coding-agent/core/keybindings.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/messages.d.ts +77 -0
- package/dist/sdk/coding-agent/core/messages.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-registry.d.ts +150 -0
- package/dist/sdk/coding-agent/core/model-registry.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-resolver-utils.d.ts +7 -0
- package/dist/sdk/coding-agent/core/model-resolver-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-resolver.d.ts +110 -0
- package/dist/sdk/coding-agent/core/model-resolver.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/output-guard.d.ts +6 -0
- package/dist/sdk/coding-agent/core/output-guard.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts +204 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package-manager.js +14 -14
- package/dist/sdk/coding-agent/core/prompt-templates.d.ts +52 -0
- package/dist/sdk/coding-agent/core/prompt-templates.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/provider-display-names.d.ts +2 -0
- package/dist/sdk/coding-agent/core/provider-display-names.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/resolve-config-value.d.ts +23 -0
- package/dist/sdk/coding-agent/core/resolve-config-value.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/resource-loader.d.ts +194 -0
- package/dist/sdk/coding-agent/core/resource-loader.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/sdk.d.ts +107 -0
- package/dist/sdk/coding-agent/core/sdk.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/sdk.js +2 -2
- package/dist/sdk/coding-agent/core/session-cwd.d.ts +19 -0
- package/dist/sdk/coding-agent/core/session-cwd.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts +333 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/settings-manager.d.ts +209 -0
- package/dist/sdk/coding-agent/core/settings-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/skills.d.ts +60 -0
- package/dist/sdk/coding-agent/core/skills.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/slash-commands.d.ts +14 -0
- package/dist/sdk/coding-agent/core/slash-commands.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/source-info.d.ts +18 -0
- package/dist/sdk/coding-agent/core/source-info.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/system-prompt.d.ts +28 -0
- package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/system-prompt.js +7 -7
- package/dist/sdk/coding-agent/core/telemetry.d.ts +3 -0
- package/dist/sdk/coding-agent/core/telemetry.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/theme.d.ts +28 -0
- package/dist/sdk/coding-agent/core/theme.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/timings.d.ts +8 -0
- package/dist/sdk/coding-agent/core/timings.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/bash.d.ts +63 -0
- package/dist/sdk/coding-agent/core/tools/bash.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/bash.js +3 -3
- package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts +87 -0
- package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/edit.d.ts +39 -0
- package/dist/sdk/coding-agent/core/tools/edit.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/sdk/coding-agent/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/find.d.ts +35 -0
- package/dist/sdk/coding-agent/core/tools/find.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/grep.d.ts +37 -0
- package/dist/sdk/coding-agent/core/tools/grep.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/index.d.ts +40 -0
- package/dist/sdk/coding-agent/core/tools/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/ls.d.ts +37 -0
- package/dist/sdk/coding-agent/core/tools/ls.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.d.ts +52 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.js +1 -1
- package/dist/sdk/coding-agent/core/tools/path-utils.d.ts +8 -0
- package/dist/sdk/coding-agent/core/tools/path-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/read.d.ts +35 -0
- package/dist/sdk/coding-agent/core/tools/read.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/read.js +18 -10
- package/dist/sdk/coding-agent/core/tools/render-diff.d.ts +17 -0
- package/dist/sdk/coding-agent/core/tools/render-diff.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/render-utils.d.ts +21 -0
- package/dist/sdk/coding-agent/core/tools/render-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/sdk/coding-agent/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/truncate.d.ts +70 -0
- package/dist/sdk/coding-agent/core/tools/truncate.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/write.d.ts +26 -0
- package/dist/sdk/coding-agent/core/tools/write.d.ts.map +1 -0
- package/dist/sdk/coding-agent/index.d.ts +29 -0
- package/dist/sdk/coding-agent/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/main.d.ts +2 -0
- package/dist/sdk/coding-agent/main.d.ts.map +1 -0
- package/dist/sdk/coding-agent/migrations.d.ts +33 -0
- package/dist/sdk/coding-agent/migrations.d.ts.map +1 -0
- package/dist/sdk/coding-agent/migrations.js +4 -4
- package/dist/sdk/coding-agent/modes/index.d.ts +8 -0
- package/dist/sdk/coding-agent/modes/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/print-mode.d.ts +28 -0
- package/dist/sdk/coding-agent/modes/print-mode.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/print-mode.js +2 -2
- package/dist/sdk/coding-agent/modes/rpc/jsonl.d.ts +17 -0
- package/dist/sdk/coding-agent/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-client.d.ts +224 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-types.d.ts +419 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/ansi.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/ansi.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/changelog.d.ts +21 -0
- package/dist/sdk/coding-agent/utils/changelog.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/child-process.d.ts +15 -0
- package/dist/sdk/coding-agent/utils/child-process.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.d.ts +11 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.js +1 -1
- package/dist/sdk/coding-agent/utils/clipboard-native.d.ts +8 -0
- package/dist/sdk/coding-agent/utils/clipboard-native.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/clipboard.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/exif-orientation.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/exif-orientation.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/frontmatter.d.ts +8 -0
- package/dist/sdk/coding-agent/utils/frontmatter.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/fs-watch.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/fs-watch.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/git.d.ts +26 -0
- package/dist/sdk/coding-agent/utils/git.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/html.d.ts +7 -0
- package/dist/sdk/coding-agent/utils/html.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/image-convert.d.ts +9 -0
- package/dist/sdk/coding-agent/utils/image-convert.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/image-resize.d.ts +36 -0
- package/dist/sdk/coding-agent/utils/image-resize.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/mime.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/mime.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/paths.d.ts +31 -0
- package/dist/sdk/coding-agent/utils/paths.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/photon.d.ts +13 -0
- package/dist/sdk/coding-agent/utils/photon.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/shell.d.ts +30 -0
- package/dist/sdk/coding-agent/utils/shell.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/sleep.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/sleep.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.js +3 -0
- package/dist/sdk/coding-agent/utils/syntax-highlight.d.ts +12 -0
- package/dist/sdk/coding-agent/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/tools-manager.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/tools-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/version-check.d.ts +15 -0
- package/dist/sdk/coding-agent/utils/version-check.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/version-check.js +7 -7
- package/dist/sdk/coding-agent/utils/windows-self-update.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/windows-self-update.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/windows-self-update.js +1 -1
- package/dist/server/agent-bridge.d.ts +308 -0
- package/dist/server/agent-bridge.d.ts.map +1 -0
- package/dist/server/agent-bridge.js +58 -58
- package/dist/server/handlers/errors.d.ts +26 -0
- package/dist/server/handlers/errors.d.ts.map +1 -0
- package/dist/server/handlers/mcp-status.d.ts +21 -0
- package/dist/server/handlers/mcp-status.d.ts.map +1 -0
- package/dist/server/handlers/mcp-status.js +52 -0
- package/dist/server/handlers/paths-autocomplete.d.ts +45 -0
- package/dist/server/handlers/paths-autocomplete.d.ts.map +1 -0
- package/dist/server/handlers/projects.d.ts +58 -0
- package/dist/server/handlers/projects.d.ts.map +1 -0
- package/dist/server/handlers/queue.d.ts +27 -0
- package/dist/server/handlers/queue.d.ts.map +1 -0
- package/dist/server/handlers/sessions.d.ts +50 -0
- package/dist/server/handlers/sessions.d.ts.map +1 -0
- package/dist/server/handlers/sessions.js +1 -1
- package/dist/server/handlers/settings.d.ts +30 -0
- package/dist/server/handlers/settings.d.ts.map +1 -0
- package/dist/server/handlers/settings.js +123 -0
- package/dist/server/paths.d.ts +51 -0
- package/dist/server/paths.d.ts.map +1 -0
- package/dist/server/paths.js +2 -2
- package/dist/server/session-stream.d.ts +379 -0
- package/dist/server/session-stream.d.ts.map +1 -0
- package/dist/server/session-stream.js +43 -34
- package/dist/server/shutdown.d.ts +102 -0
- package/dist/server/shutdown.d.ts.map +1 -0
- package/dist/server/shutdown.js +3 -3
- package/dist/server/storage.d.ts +287 -0
- package/dist/server/storage.d.ts.map +1 -0
- package/dist/server/storage.js +6 -6
- package/dist/server/title-generator.d.ts +25 -0
- package/dist/server/title-generator.d.ts.map +1 -0
- package/dist/server/wire.d.ts +448 -0
- package/dist/server/wire.d.ts.map +1 -0
- package/dist/server/wire.js +1 -1
- package/dist/studio-binding.d.ts +44 -0
- package/dist/studio-binding.d.ts.map +1 -0
- package/dist/studio-binding.js +1 -1
- package/package.json +11 -1
- package/dist/sdk/coding-agent/utils/pi-user-agent.js +0 -3
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model registry - manages built-in and custom models, provides API key resolution.
|
|
3
|
+
*/
|
|
4
|
+
import { type Api, type AssistantMessageEventStream, type Context, type Model, type OAuthProviderInterface, type SimpleStreamOptions } from "../../ai/index.js";
|
|
5
|
+
import type { AuthStatus, AuthStorage } from "./auth-storage.js";
|
|
6
|
+
import { clearConfigValueCache } from "./resolve-config-value.js";
|
|
7
|
+
export type ResolvedRequestAuth = {
|
|
8
|
+
ok: true;
|
|
9
|
+
apiKey?: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
} | {
|
|
12
|
+
ok: false;
|
|
13
|
+
error: string;
|
|
14
|
+
};
|
|
15
|
+
/** Clear the config value command cache. Exported for testing. */
|
|
16
|
+
export declare const clearApiKeyCache: typeof clearConfigValueCache;
|
|
17
|
+
/**
|
|
18
|
+
* Model registry - loads and manages models, resolves API keys via AuthStorage.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ModelRegistry {
|
|
21
|
+
private models;
|
|
22
|
+
private providerRequestConfigs;
|
|
23
|
+
private modelRequestHeaders;
|
|
24
|
+
private registeredProviders;
|
|
25
|
+
private loadError;
|
|
26
|
+
readonly authStorage: AuthStorage;
|
|
27
|
+
private modelsJsonPath;
|
|
28
|
+
private constructor();
|
|
29
|
+
static create(authStorage: AuthStorage, modelsJsonPath?: string): ModelRegistry;
|
|
30
|
+
static inMemory(authStorage: AuthStorage): ModelRegistry;
|
|
31
|
+
/**
|
|
32
|
+
* Reload models from disk (built-in + custom from models.json).
|
|
33
|
+
*/
|
|
34
|
+
refresh(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get any error from loading models.json (undefined if no error).
|
|
37
|
+
*/
|
|
38
|
+
getError(): string | undefined;
|
|
39
|
+
private loadModels;
|
|
40
|
+
/** Load built-in models and apply provider/model overrides */
|
|
41
|
+
private loadBuiltInModels;
|
|
42
|
+
/** Merge custom models into built-in list by provider+id (custom wins on conflicts). */
|
|
43
|
+
private mergeCustomModels;
|
|
44
|
+
private loadCustomModels;
|
|
45
|
+
private validateConfig;
|
|
46
|
+
private parseModels;
|
|
47
|
+
/**
|
|
48
|
+
* Get all models (built-in + custom).
|
|
49
|
+
* If models.json had errors, returns only built-in models.
|
|
50
|
+
*/
|
|
51
|
+
getAll(): Model<Api>[];
|
|
52
|
+
/**
|
|
53
|
+
* Get only models that have auth configured.
|
|
54
|
+
* This is a fast check that doesn't refresh OAuth tokens.
|
|
55
|
+
*/
|
|
56
|
+
getAvailable(): Model<Api>[];
|
|
57
|
+
/**
|
|
58
|
+
* Find a model by provider and ID.
|
|
59
|
+
*/
|
|
60
|
+
find(provider: string, modelId: string): Model<Api> | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get API key for a model.
|
|
63
|
+
*/
|
|
64
|
+
hasConfiguredAuth(model: Model<Api>): boolean;
|
|
65
|
+
private getModelRequestKey;
|
|
66
|
+
private storeProviderRequestConfig;
|
|
67
|
+
private storeModelHeaders;
|
|
68
|
+
/**
|
|
69
|
+
* Get API key and request headers for a model.
|
|
70
|
+
*/
|
|
71
|
+
getApiKeyAndHeaders(model: Model<Api>): Promise<ResolvedRequestAuth>;
|
|
72
|
+
/**
|
|
73
|
+
* Return auth status for a provider, including request auth configured in models.json.
|
|
74
|
+
* This intentionally does not execute command-backed config values.
|
|
75
|
+
*/
|
|
76
|
+
getProviderAuthStatus(provider: string): AuthStatus;
|
|
77
|
+
/**
|
|
78
|
+
* Get display name for a provider.
|
|
79
|
+
*/
|
|
80
|
+
getProviderDisplayName(provider: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Get API key for a provider.
|
|
83
|
+
*/
|
|
84
|
+
getApiKeyForProvider(provider: string): Promise<string | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* Check if a model is using OAuth credentials (subscription).
|
|
87
|
+
*/
|
|
88
|
+
isUsingOAuth(model: Model<Api>): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Register a provider dynamically (from extensions).
|
|
91
|
+
*
|
|
92
|
+
* If provider has models: replaces all existing models for this provider.
|
|
93
|
+
* If provider has only baseUrl/headers: overrides existing models' URLs.
|
|
94
|
+
* If provider has oauth: registers OAuth provider for /login support.
|
|
95
|
+
*/
|
|
96
|
+
registerProvider(providerName: string, config: ProviderConfigInput): void;
|
|
97
|
+
/**
|
|
98
|
+
* Unregister a previously registered provider.
|
|
99
|
+
*
|
|
100
|
+
* Removes the provider from the registry and reloads models from disk so that
|
|
101
|
+
* built-in models overridden by this provider are restored to their original state.
|
|
102
|
+
* Also resets dynamic OAuth and API stream registrations before reapplying
|
|
103
|
+
* remaining dynamic providers.
|
|
104
|
+
* Has no effect if the provider was never registered.
|
|
105
|
+
*/
|
|
106
|
+
unregisterProvider(providerName: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Upsert a provider config into registeredProviders.
|
|
109
|
+
* If the provider is already registered, defined values in the incoming config
|
|
110
|
+
* override existing ones; undefined values are preserved from the stored config.
|
|
111
|
+
* If the provider is not registered, the incoming config is stored as-is.
|
|
112
|
+
*/
|
|
113
|
+
private upsertRegisteredProvider;
|
|
114
|
+
private validateProviderConfig;
|
|
115
|
+
private applyProviderConfig;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Input type for registerProvider API.
|
|
119
|
+
*/
|
|
120
|
+
export interface ProviderConfigInput {
|
|
121
|
+
name?: string;
|
|
122
|
+
baseUrl?: string;
|
|
123
|
+
apiKey?: string;
|
|
124
|
+
api?: Api;
|
|
125
|
+
streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
|
|
126
|
+
headers?: Record<string, string>;
|
|
127
|
+
authHeader?: boolean;
|
|
128
|
+
/** OAuth provider for /login support */
|
|
129
|
+
oauth?: Omit<OAuthProviderInterface, "id">;
|
|
130
|
+
models?: Array<{
|
|
131
|
+
id: string;
|
|
132
|
+
name: string;
|
|
133
|
+
api?: Api;
|
|
134
|
+
baseUrl?: string;
|
|
135
|
+
reasoning: boolean;
|
|
136
|
+
thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
|
|
137
|
+
input: ("text" | "image")[];
|
|
138
|
+
cost: {
|
|
139
|
+
input: number;
|
|
140
|
+
output: number;
|
|
141
|
+
cacheRead: number;
|
|
142
|
+
cacheWrite: number;
|
|
143
|
+
};
|
|
144
|
+
contextWindow: number;
|
|
145
|
+
maxTokens: number;
|
|
146
|
+
headers?: Record<string, string>;
|
|
147
|
+
compat?: Model<Api>["compat"];
|
|
148
|
+
}>;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=model-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/model-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEN,KAAK,GAAG,EACR,KAAK,2BAA2B,EAChC,KAAK,OAAO,EAIZ,KAAK,KAAK,EACV,KAAK,sBAAsB,EAK3B,KAAK,mBAAmB,EACxB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EACN,qBAAqB,EAIrB,MAAM,2BAA2B,CAAC;AAyMnC,MAAM,MAAM,mBAAmB,GAC5B;IACA,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,GACD;IACA,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACb,CAAC;AAgFL,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,8BAAwB,CAAC;AAEtD;;GAEG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,sBAAsB,CAAiD;IAC/E,OAAO,CAAC,mBAAmB,CAAkD;IAC7E,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,SAAS,CAAiC;IAClD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,CAAC,cAAc,CAAqB;IAE3C,OAAO;IAaP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,GAAE,MAA2C,GAAG,aAAa;IAInH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa;IAIxD;;OAEG;IACH,OAAO,IAAI,IAAI;IAgBf;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,OAAO,CAAC,UAAU;IA4BlB,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB;IAgCzB,wFAAwF;IACxF,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAuDxB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,WAAW;IAsDnB;;;OAGG;IACH,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAItB;;;OAGG;IACH,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAI5B;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;IAI/D;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO;IAO7C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyC1E;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAsBnD;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAahD;;OAEG;IACG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUzE;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO;IAKxC;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAMzE;;;;;;;;OAQG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAM9C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,mBAAmB;CAqE3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,2BAA2B,CAAC;IACnH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,KAAK,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAClD,KAAK,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/E,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC,CAAC;CACH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility for validating thinking level strings.
|
|
3
|
+
* Extracted from cli/args.ts (TUI-only, now deleted).
|
|
4
|
+
*/
|
|
5
|
+
import type { ThinkingLevel } from "../../agent-core/index.js";
|
|
6
|
+
export declare function isValidThinkingLevel(level: string): level is ThinkingLevel;
|
|
7
|
+
//# sourceMappingURL=model-resolver-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-resolver-utils.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/model-resolver-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model resolution, scoping, and initial selection
|
|
3
|
+
*/
|
|
4
|
+
import type { ThinkingLevel } from "../../agent-core/index.js";
|
|
5
|
+
import { type Api, type KnownProvider, type Model } from "../../ai/index.js";
|
|
6
|
+
import type { ModelRegistry } from "./model-registry.js";
|
|
7
|
+
/** Default model IDs for each known provider */
|
|
8
|
+
export declare const defaultModelPerProvider: Record<KnownProvider, string>;
|
|
9
|
+
export interface ScopedModel {
|
|
10
|
+
model: Model<Api>;
|
|
11
|
+
/** Thinking level if explicitly specified in pattern (e.g., "model:high"), undefined otherwise */
|
|
12
|
+
thinkingLevel?: ThinkingLevel;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Find an exact model reference match.
|
|
16
|
+
* Supports either a bare model id or a canonical provider/modelId reference.
|
|
17
|
+
* When matching by bare id, ambiguous matches across providers are rejected.
|
|
18
|
+
*/
|
|
19
|
+
export declare function findExactModelReferenceMatch(modelReference: string, availableModels: Model<Api>[]): Model<Api> | undefined;
|
|
20
|
+
export interface ParsedModelResult {
|
|
21
|
+
model: Model<Api> | undefined;
|
|
22
|
+
/** Thinking level if explicitly specified in pattern, undefined otherwise */
|
|
23
|
+
thinkingLevel?: ThinkingLevel;
|
|
24
|
+
warning: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse a pattern to extract model and thinking level.
|
|
28
|
+
* Handles models with colons in their IDs (e.g., OpenRouter's :exacto suffix).
|
|
29
|
+
*
|
|
30
|
+
* Algorithm:
|
|
31
|
+
* 1. Try to match full pattern as a model
|
|
32
|
+
* 2. If found, return it with "off" thinking level
|
|
33
|
+
* 3. If not found and has colons, split on last colon:
|
|
34
|
+
* - If suffix is valid thinking level, use it and recurse on prefix
|
|
35
|
+
* - If suffix is invalid, warn and recurse on prefix with "off"
|
|
36
|
+
*
|
|
37
|
+
* @internal Exported for testing
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseModelPattern(pattern: string, availableModels: Model<Api>[], options?: {
|
|
40
|
+
allowInvalidThinkingLevelFallback?: boolean;
|
|
41
|
+
}): ParsedModelResult;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve model patterns to actual Model objects with optional thinking levels
|
|
44
|
+
* Format: "pattern:level" where :level is optional
|
|
45
|
+
* For each pattern, finds all matching models and picks the best version:
|
|
46
|
+
* 1. Prefer alias (e.g., claude-sonnet-4-5) over dated versions (claude-sonnet-4-5-20250929)
|
|
47
|
+
* 2. If no alias, pick the latest dated version
|
|
48
|
+
*
|
|
49
|
+
* Supports models with colons in their IDs (e.g., OpenRouter's model:exacto).
|
|
50
|
+
* The algorithm tries to match the full pattern first, then progressively
|
|
51
|
+
* strips colon-suffixes to find a match.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveModelScope(patterns: string[], modelRegistry: ModelRegistry): Promise<ScopedModel[]>;
|
|
54
|
+
export interface ResolveCliModelResult {
|
|
55
|
+
model: Model<Api> | undefined;
|
|
56
|
+
thinkingLevel?: ThinkingLevel;
|
|
57
|
+
warning: string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Error message suitable for CLI display.
|
|
60
|
+
* When set, model will be undefined.
|
|
61
|
+
*/
|
|
62
|
+
error: string | undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve a single model from CLI flags.
|
|
66
|
+
*
|
|
67
|
+
* Supports:
|
|
68
|
+
* - --provider <provider> --model <pattern>
|
|
69
|
+
* - --model <provider>/<pattern>
|
|
70
|
+
* - Fuzzy matching (same rules as model scoping: exact id, then partial id/name)
|
|
71
|
+
*
|
|
72
|
+
* Note: This does not apply the thinking level by itself, but it may *parse* and
|
|
73
|
+
* return a thinking level from "<pattern>:<thinking>" so the caller can apply it.
|
|
74
|
+
*/
|
|
75
|
+
export declare function resolveCliModel(options: {
|
|
76
|
+
cliProvider?: string;
|
|
77
|
+
cliModel?: string;
|
|
78
|
+
modelRegistry: ModelRegistry;
|
|
79
|
+
}): ResolveCliModelResult;
|
|
80
|
+
export interface InitialModelResult {
|
|
81
|
+
model: Model<Api> | undefined;
|
|
82
|
+
thinkingLevel: ThinkingLevel;
|
|
83
|
+
fallbackMessage: string | undefined;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Find the initial model to use based on priority:
|
|
87
|
+
* 1. CLI args (provider + model)
|
|
88
|
+
* 2. First model from scoped models (if not continuing/resuming)
|
|
89
|
+
* 3. Restored from session (if continuing/resuming)
|
|
90
|
+
* 4. Saved default from settings
|
|
91
|
+
* 5. First available model with valid API key
|
|
92
|
+
*/
|
|
93
|
+
export declare function findInitialModel(options: {
|
|
94
|
+
cliProvider?: string;
|
|
95
|
+
cliModel?: string;
|
|
96
|
+
scopedModels: ScopedModel[];
|
|
97
|
+
isContinuing: boolean;
|
|
98
|
+
defaultProvider?: string;
|
|
99
|
+
defaultModelId?: string;
|
|
100
|
+
defaultThinkingLevel?: ThinkingLevel;
|
|
101
|
+
modelRegistry: ModelRegistry;
|
|
102
|
+
}): Promise<InitialModelResult>;
|
|
103
|
+
/**
|
|
104
|
+
* Restore model from session, with fallback to available models
|
|
105
|
+
*/
|
|
106
|
+
export declare function restoreModelFromSession(savedProvider: string, savedModelId: string, currentModel: Model<Api> | undefined, shouldPrintMessages: boolean, modelRegistry: ModelRegistry): Promise<{
|
|
107
|
+
model: Model<Api> | undefined;
|
|
108
|
+
fallbackMessage: string | undefined;
|
|
109
|
+
}>;
|
|
110
|
+
//# sourceMappingURL=model-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function takeOverStdout(): void;
|
|
2
|
+
export declare function restoreStdout(): void;
|
|
3
|
+
export declare function isStdoutTakenOver(): boolean;
|
|
4
|
+
export declare function writeRawStdout(text: string): void;
|
|
5
|
+
export declare function flushRawStdout(): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=output-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-guard.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/output-guard.ts"],"names":[],"mappings":"AAQA,wBAAgB,cAAc,IAAI,IAAI,CAyBrC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAOpC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBpD"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type { SettingsManager } from "./settings-manager.js";
|
|
2
|
+
export interface PathMetadata {
|
|
3
|
+
source: string;
|
|
4
|
+
scope: SourceScope;
|
|
5
|
+
origin: "package" | "top-level";
|
|
6
|
+
baseDir?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolvedResource {
|
|
9
|
+
path: string;
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
metadata: PathMetadata;
|
|
12
|
+
}
|
|
13
|
+
export interface ResolvedPaths {
|
|
14
|
+
extensions: ResolvedResource[];
|
|
15
|
+
skills: ResolvedResource[];
|
|
16
|
+
prompts: ResolvedResource[];
|
|
17
|
+
themes: ResolvedResource[];
|
|
18
|
+
}
|
|
19
|
+
export type MissingSourceAction = "install" | "skip" | "error";
|
|
20
|
+
export interface ProgressEvent {
|
|
21
|
+
type: "start" | "progress" | "complete" | "error";
|
|
22
|
+
action: "install" | "remove" | "update" | "clone" | "pull";
|
|
23
|
+
source: string;
|
|
24
|
+
message?: string;
|
|
25
|
+
}
|
|
26
|
+
export type ProgressCallback = (event: ProgressEvent) => void;
|
|
27
|
+
export interface PackageUpdate {
|
|
28
|
+
source: string;
|
|
29
|
+
displayName: string;
|
|
30
|
+
type: "npm" | "git";
|
|
31
|
+
scope: Exclude<SourceScope, "temporary">;
|
|
32
|
+
}
|
|
33
|
+
export interface ConfiguredPackage {
|
|
34
|
+
source: string;
|
|
35
|
+
scope: "user" | "project";
|
|
36
|
+
filtered: boolean;
|
|
37
|
+
installedPath?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface PackageManager {
|
|
40
|
+
resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
|
|
41
|
+
install(source: string, options?: {
|
|
42
|
+
local?: boolean;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
installAndPersist(source: string, options?: {
|
|
45
|
+
local?: boolean;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
remove(source: string, options?: {
|
|
48
|
+
local?: boolean;
|
|
49
|
+
}): Promise<void>;
|
|
50
|
+
removeAndPersist(source: string, options?: {
|
|
51
|
+
local?: boolean;
|
|
52
|
+
}): Promise<boolean>;
|
|
53
|
+
update(source?: string): Promise<void>;
|
|
54
|
+
listConfiguredPackages(): ConfiguredPackage[];
|
|
55
|
+
resolveExtensionSources(sources: string[], options?: {
|
|
56
|
+
local?: boolean;
|
|
57
|
+
temporary?: boolean;
|
|
58
|
+
}): Promise<ResolvedPaths>;
|
|
59
|
+
addSourceToSettings(source: string, options?: {
|
|
60
|
+
local?: boolean;
|
|
61
|
+
}): boolean;
|
|
62
|
+
removeSourceFromSettings(source: string, options?: {
|
|
63
|
+
local?: boolean;
|
|
64
|
+
}): boolean;
|
|
65
|
+
setProgressCallback(callback: ProgressCallback | undefined): void;
|
|
66
|
+
getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
|
|
67
|
+
}
|
|
68
|
+
interface PackageManagerOptions {
|
|
69
|
+
cwd: string;
|
|
70
|
+
agentDir: string;
|
|
71
|
+
settingsManager: SettingsManager;
|
|
72
|
+
}
|
|
73
|
+
type SourceScope = "user" | "project" | "temporary";
|
|
74
|
+
export declare class DefaultPackageManager implements PackageManager {
|
|
75
|
+
private cwd;
|
|
76
|
+
private agentDir;
|
|
77
|
+
private settingsManager;
|
|
78
|
+
private globalNpmRoot;
|
|
79
|
+
private globalNpmRootCommandKey;
|
|
80
|
+
private progressCallback;
|
|
81
|
+
constructor(options: PackageManagerOptions);
|
|
82
|
+
setProgressCallback(callback: ProgressCallback | undefined): void;
|
|
83
|
+
addSourceToSettings(source: string, options?: {
|
|
84
|
+
local?: boolean;
|
|
85
|
+
}): boolean;
|
|
86
|
+
removeSourceFromSettings(source: string, options?: {
|
|
87
|
+
local?: boolean;
|
|
88
|
+
}): boolean;
|
|
89
|
+
getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
|
|
90
|
+
private emitProgress;
|
|
91
|
+
private withProgress;
|
|
92
|
+
resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
|
|
93
|
+
resolveExtensionSources(sources: string[], options?: {
|
|
94
|
+
local?: boolean;
|
|
95
|
+
temporary?: boolean;
|
|
96
|
+
}): Promise<ResolvedPaths>;
|
|
97
|
+
listConfiguredPackages(): ConfiguredPackage[];
|
|
98
|
+
install(source: string, options?: {
|
|
99
|
+
local?: boolean;
|
|
100
|
+
}): Promise<void>;
|
|
101
|
+
installAndPersist(source: string, options?: {
|
|
102
|
+
local?: boolean;
|
|
103
|
+
}): Promise<void>;
|
|
104
|
+
remove(source: string, options?: {
|
|
105
|
+
local?: boolean;
|
|
106
|
+
}): Promise<void>;
|
|
107
|
+
removeAndPersist(source: string, options?: {
|
|
108
|
+
local?: boolean;
|
|
109
|
+
}): Promise<boolean>;
|
|
110
|
+
update(source?: string): Promise<void>;
|
|
111
|
+
private updateConfiguredSources;
|
|
112
|
+
private shouldUpdateNpmSource;
|
|
113
|
+
private updateNpmBatch;
|
|
114
|
+
private installNpmBatch;
|
|
115
|
+
checkForAvailableUpdates(): Promise<PackageUpdate[]>;
|
|
116
|
+
private resolvePackageSources;
|
|
117
|
+
private resolveLocalExtensionSource;
|
|
118
|
+
private installParsedSource;
|
|
119
|
+
private getPackageSourceString;
|
|
120
|
+
private getSourceMatchKeyForInput;
|
|
121
|
+
private getSourceMatchKeyForSettings;
|
|
122
|
+
private buildNoMatchingPackageMessage;
|
|
123
|
+
private findSuggestedConfiguredSource;
|
|
124
|
+
private packageSourcesMatch;
|
|
125
|
+
private normalizePackageSourceForSettings;
|
|
126
|
+
private parseSource;
|
|
127
|
+
private installedNpmMatchesPinnedVersion;
|
|
128
|
+
private npmHasAvailableUpdate;
|
|
129
|
+
private getInstalledNpmVersion;
|
|
130
|
+
private getLatestNpmVersion;
|
|
131
|
+
private gitHasAvailableUpdate;
|
|
132
|
+
private getRemoteGitHead;
|
|
133
|
+
private getLocalGitUpdateTarget;
|
|
134
|
+
private getGitUpstreamRef;
|
|
135
|
+
private runGitRemoteCommand;
|
|
136
|
+
private runWithConcurrency;
|
|
137
|
+
/**
|
|
138
|
+
* Get a unique identity for a package, ignoring version/ref.
|
|
139
|
+
* Used to detect when the same package is in both global and project settings.
|
|
140
|
+
* For git packages, uses normalized host/path to ensure SSH and HTTPS URLs
|
|
141
|
+
* for the same repository are treated as identical.
|
|
142
|
+
*/
|
|
143
|
+
private getPackageIdentity;
|
|
144
|
+
/**
|
|
145
|
+
* Dedupe packages: if same package identity appears in both global and project,
|
|
146
|
+
* keep only the project one (project wins).
|
|
147
|
+
*/
|
|
148
|
+
private dedupePackages;
|
|
149
|
+
private parseNpmSpec;
|
|
150
|
+
private getNpmCommand;
|
|
151
|
+
private getPackageManagerName;
|
|
152
|
+
private runNpmCommand;
|
|
153
|
+
private getGitDependencyInstallArgs;
|
|
154
|
+
private runNpmCommandSync;
|
|
155
|
+
private getNpmInstallArgs;
|
|
156
|
+
private installNpm;
|
|
157
|
+
private uninstallNpm;
|
|
158
|
+
private installGit;
|
|
159
|
+
private updateGit;
|
|
160
|
+
private ensureGitRef;
|
|
161
|
+
private refreshTemporaryGitSource;
|
|
162
|
+
private removeGit;
|
|
163
|
+
private pruneEmptyGitParents;
|
|
164
|
+
private ensureNpmProject;
|
|
165
|
+
private ensureGitIgnore;
|
|
166
|
+
private getNpmInstallRoot;
|
|
167
|
+
private getGlobalNpmRoot;
|
|
168
|
+
private getPnpmGlobalPackagePath;
|
|
169
|
+
private getManagedNpmInstallPath;
|
|
170
|
+
private getLegacyGlobalNpmInstallPath;
|
|
171
|
+
private getNpmInstallPath;
|
|
172
|
+
private getGitInstallPath;
|
|
173
|
+
private getGitInstallRoot;
|
|
174
|
+
private getTemporaryDir;
|
|
175
|
+
private getBaseDirForScope;
|
|
176
|
+
private resolvePath;
|
|
177
|
+
private resolvePathFromBase;
|
|
178
|
+
private collectPackageResources;
|
|
179
|
+
private collectDefaultResources;
|
|
180
|
+
private applyPackageFilter;
|
|
181
|
+
/**
|
|
182
|
+
* Collect all files from a package for a resource type, applying manifest patterns.
|
|
183
|
+
* Returns { allFiles, enabledByManifest } where enabledByManifest is the set of files
|
|
184
|
+
* that pass the manifest's own patterns.
|
|
185
|
+
*/
|
|
186
|
+
private collectManifestFiles;
|
|
187
|
+
private readSpectralManifest;
|
|
188
|
+
private addManifestEntries;
|
|
189
|
+
private collectFilesFromManifestEntries;
|
|
190
|
+
private resolveLocalEntries;
|
|
191
|
+
private addAutoDiscoveredResources;
|
|
192
|
+
private collectFilesFromPaths;
|
|
193
|
+
private getTargetMap;
|
|
194
|
+
private addResource;
|
|
195
|
+
private createAccumulator;
|
|
196
|
+
private toResolvedPaths;
|
|
197
|
+
private spawnCommand;
|
|
198
|
+
private spawnCaptureCommand;
|
|
199
|
+
private runCommandCapture;
|
|
200
|
+
private runCommand;
|
|
201
|
+
private runCommandSync;
|
|
202
|
+
}
|
|
203
|
+
export {};
|
|
204
|
+
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -225,7 +225,7 @@ function collectSkillEntries(dir, mode, ignoreMatcher, rootDir) {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
const relPath = toPosixPath(relative(root, fullPath));
|
|
228
|
-
if (mode === "
|
|
228
|
+
if (mode === "spectral" && dir === root && isFile && entry.name.endsWith(".md") && !ig.ignores(relPath)) {
|
|
229
229
|
entries.push(fullPath);
|
|
230
230
|
continue;
|
|
231
231
|
}
|
|
@@ -347,11 +347,11 @@ function collectAutoThemeEntries(dir) {
|
|
|
347
347
|
}
|
|
348
348
|
return entries;
|
|
349
349
|
}
|
|
350
|
-
function
|
|
350
|
+
function readSpectralManifestFile(packageJsonPath) {
|
|
351
351
|
try {
|
|
352
352
|
const content = readFileSync(packageJsonPath, "utf-8");
|
|
353
353
|
const pkg = JSON.parse(content);
|
|
354
|
-
return pkg.
|
|
354
|
+
return pkg.spectral ?? null;
|
|
355
355
|
}
|
|
356
356
|
catch {
|
|
357
357
|
return null;
|
|
@@ -360,7 +360,7 @@ function readPiManifestFile(packageJsonPath) {
|
|
|
360
360
|
function resolveExtensionEntries(dir) {
|
|
361
361
|
const packageJsonPath = join(dir, "package.json");
|
|
362
362
|
if (existsSync(packageJsonPath)) {
|
|
363
|
-
const manifest =
|
|
363
|
+
const manifest = readSpectralManifestFile(packageJsonPath);
|
|
364
364
|
if (manifest?.extensions?.length) {
|
|
365
365
|
const entries = [];
|
|
366
366
|
for (const extPath of manifest.extensions) {
|
|
@@ -442,7 +442,7 @@ function collectAutoExtensionEntries(dir) {
|
|
|
442
442
|
*/
|
|
443
443
|
function collectResourceFiles(dir, resourceType) {
|
|
444
444
|
if (resourceType === "skills") {
|
|
445
|
-
return collectSkillEntries(dir, "
|
|
445
|
+
return collectSkillEntries(dir, "spectral");
|
|
446
446
|
}
|
|
447
447
|
if (resourceType === "extensions") {
|
|
448
448
|
return collectAutoExtensionEntries(dir);
|
|
@@ -1527,7 +1527,7 @@ export class DefaultPackageManager {
|
|
|
1527
1527
|
this.ensureGitIgnore(installRoot);
|
|
1528
1528
|
const packageJsonPath = join(installRoot, "package.json");
|
|
1529
1529
|
if (!existsSync(packageJsonPath)) {
|
|
1530
|
-
const pkgJson = { name: "
|
|
1530
|
+
const pkgJson = { name: "spectral-extensions", private: true };
|
|
1531
1531
|
writeFileSync(packageJsonPath, JSON.stringify(pkgJson, null, 2), "utf-8");
|
|
1532
1532
|
}
|
|
1533
1533
|
}
|
|
@@ -1626,7 +1626,7 @@ export class DefaultPackageManager {
|
|
|
1626
1626
|
.update(`${prefix}-${suffix ?? ""}`)
|
|
1627
1627
|
.digest("hex")
|
|
1628
1628
|
.slice(0, 8);
|
|
1629
|
-
return join(tmpdir(), "
|
|
1629
|
+
return join(tmpdir(), "spectral-extensions", prefix, hash, suffix ?? "");
|
|
1630
1630
|
}
|
|
1631
1631
|
getBaseDirForScope(scope) {
|
|
1632
1632
|
if (scope === "project") {
|
|
@@ -1657,7 +1657,7 @@ export class DefaultPackageManager {
|
|
|
1657
1657
|
}
|
|
1658
1658
|
return true;
|
|
1659
1659
|
}
|
|
1660
|
-
const manifest = this.
|
|
1660
|
+
const manifest = this.readSpectralManifest(packageRoot);
|
|
1661
1661
|
if (manifest) {
|
|
1662
1662
|
for (const resourceType of RESOURCE_TYPES) {
|
|
1663
1663
|
const entries = manifest[resourceType];
|
|
@@ -1680,7 +1680,7 @@ export class DefaultPackageManager {
|
|
|
1680
1680
|
return hasAnyDir;
|
|
1681
1681
|
}
|
|
1682
1682
|
collectDefaultResources(packageRoot, resourceType, target, metadata) {
|
|
1683
|
-
const manifest = this.
|
|
1683
|
+
const manifest = this.readSpectralManifest(packageRoot);
|
|
1684
1684
|
const entries = manifest?.[resourceType];
|
|
1685
1685
|
if (entries) {
|
|
1686
1686
|
this.addManifestEntries(entries, packageRoot, resourceType, target, metadata);
|
|
@@ -1717,7 +1717,7 @@ export class DefaultPackageManager {
|
|
|
1717
1717
|
* that pass the manifest's own patterns.
|
|
1718
1718
|
*/
|
|
1719
1719
|
collectManifestFiles(packageRoot, resourceType) {
|
|
1720
|
-
const manifest = this.
|
|
1720
|
+
const manifest = this.readSpectralManifest(packageRoot);
|
|
1721
1721
|
const entries = manifest?.[resourceType];
|
|
1722
1722
|
if (entries && entries.length > 0) {
|
|
1723
1723
|
const allFiles = this.collectFilesFromManifestEntries(entries, packageRoot, resourceType);
|
|
@@ -1732,7 +1732,7 @@ export class DefaultPackageManager {
|
|
|
1732
1732
|
const allFiles = collectResourceFiles(conventionDir, resourceType);
|
|
1733
1733
|
return { allFiles, enabledByManifest: new Set(allFiles) };
|
|
1734
1734
|
}
|
|
1735
|
-
|
|
1735
|
+
readSpectralManifest(packageRoot) {
|
|
1736
1736
|
const packageJsonPath = join(packageRoot, "package.json");
|
|
1737
1737
|
if (!existsSync(packageJsonPath)) {
|
|
1738
1738
|
return null;
|
|
@@ -1740,7 +1740,7 @@ export class DefaultPackageManager {
|
|
|
1740
1740
|
try {
|
|
1741
1741
|
const content = readFileSync(packageJsonPath, "utf-8");
|
|
1742
1742
|
const pkg = JSON.parse(content);
|
|
1743
|
-
return pkg.
|
|
1743
|
+
return pkg.spectral ?? null;
|
|
1744
1744
|
}
|
|
1745
1745
|
catch {
|
|
1746
1746
|
return null;
|
|
@@ -1836,7 +1836,7 @@ export class DefaultPackageManager {
|
|
|
1836
1836
|
// Project extensions from .spectral/
|
|
1837
1837
|
addResources("extensions", collectAutoExtensionEntries(projectDirs.extensions), projectMetadata, projectOverrides.extensions, projectBaseDir);
|
|
1838
1838
|
// Project skills from .spectral/
|
|
1839
|
-
addResources("skills", collectAutoSkillEntries(projectDirs.skills, "
|
|
1839
|
+
addResources("skills", collectAutoSkillEntries(projectDirs.skills, "spectral"), projectMetadata, projectOverrides.skills, projectBaseDir);
|
|
1840
1840
|
// Project skills from .agents/ (each with its own baseDir)
|
|
1841
1841
|
for (const agentsSkillsDir of projectAgentsSkillDirs) {
|
|
1842
1842
|
const agentsBaseDir = dirname(agentsSkillsDir); // the .agents directory
|
|
@@ -1851,7 +1851,7 @@ export class DefaultPackageManager {
|
|
|
1851
1851
|
// User extensions from ~/.spectral/agent/
|
|
1852
1852
|
addResources("extensions", collectAutoExtensionEntries(userDirs.extensions), userMetadata, userOverrides.extensions, globalBaseDir);
|
|
1853
1853
|
// User skills from ~/.spectral/agent/
|
|
1854
|
-
addResources("skills", collectAutoSkillEntries(userDirs.skills, "
|
|
1854
|
+
addResources("skills", collectAutoSkillEntries(userDirs.skills, "spectral"), userMetadata, userOverrides.skills, globalBaseDir);
|
|
1855
1855
|
// User skills from ~/.agents/ (with its own baseDir)
|
|
1856
1856
|
const userAgentsBaseDir = dirname(userAgentsSkillsDir);
|
|
1857
1857
|
const userAgentsMetadata = {
|