@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,14 @@
|
|
|
1
|
+
export type ToolConsentMode = "never" | "once-per-server" | "always";
|
|
2
|
+
export declare class ConsentManager {
|
|
3
|
+
private mode;
|
|
4
|
+
private approvedServers;
|
|
5
|
+
private deniedServers;
|
|
6
|
+
private log;
|
|
7
|
+
constructor(mode?: ToolConsentMode);
|
|
8
|
+
requiresPrompt(serverName: string): boolean;
|
|
9
|
+
shouldCacheConsent(): boolean;
|
|
10
|
+
registerDecision(serverName: string, approved: boolean): void;
|
|
11
|
+
ensureApproved(serverName: string): void;
|
|
12
|
+
clear(serverName?: string): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=consent-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-manager.d.ts","sourceRoot":"","sources":["../../src/mcp/consent-manager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAErE,qBAAa,cAAc;IAKb,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,GAAG,CAAiD;gBAExC,IAAI,GAAE,eAAmC;IAI7D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAO3C,kBAAkB,IAAI,OAAO;IAI7B,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAc7D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAaxC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAWjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ToolDefinition } from "../sdk/coding-agent/index.js";
|
|
2
|
+
import type { McpExtensionState } from "./state.js";
|
|
3
|
+
import type { DirectToolSpec, McpConfig } from "./types.js";
|
|
4
|
+
import type { MetadataCache } from "./metadata-cache.js";
|
|
5
|
+
export declare function resolveDirectTools(config: McpConfig, cache: MetadataCache | null, prefix: "server" | "none" | "short", envOverride?: string[]): DirectToolSpec[];
|
|
6
|
+
export declare function getMissingConfiguredDirectToolServers(config: McpConfig, cache: MetadataCache | null): string[];
|
|
7
|
+
export declare function buildProxyDescription(config: McpConfig, cache: MetadataCache | null, directSpecs: DirectToolSpec[]): string;
|
|
8
|
+
type DirectToolExecute = ToolDefinition["execute"];
|
|
9
|
+
export declare function createDirectToolExecutor(getState: () => McpExtensionState | null, getInitPromise: () => Promise<McpExtensionState> | null, spec: DirectToolSpec): DirectToolExecute;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=direct-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/direct-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwEzD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,EACnC,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,cAAc,EAAE,CAoGlB;AAED,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GAAG,IAAI,GAC1B,MAAM,EAAE,CAkBV;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,WAAW,EAAE,cAAc,EAAE,GAC5B,MAAM,CAoDR;AAED,KAAK,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAEnD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,iBAAiB,GAAG,IAAI,EACxC,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,EACvD,IAAI,EAAE,cAAc,GACnB,iBAAiB,CAwJnB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error types for MCP UI operations.
|
|
3
|
+
* Provides structured errors with context and recovery hints.
|
|
4
|
+
*/
|
|
5
|
+
export interface McpUiErrorContext {
|
|
6
|
+
server?: string;
|
|
7
|
+
tool?: string;
|
|
8
|
+
uri?: string;
|
|
9
|
+
session?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Base error class for MCP UI errors.
|
|
14
|
+
*/
|
|
15
|
+
export declare class McpUiError extends Error {
|
|
16
|
+
readonly code: string;
|
|
17
|
+
readonly context: McpUiErrorContext;
|
|
18
|
+
readonly recoveryHint?: string;
|
|
19
|
+
readonly cause?: Error;
|
|
20
|
+
constructor(message: string, options: {
|
|
21
|
+
code: string;
|
|
22
|
+
context?: McpUiErrorContext;
|
|
23
|
+
recoveryHint?: string;
|
|
24
|
+
cause?: Error;
|
|
25
|
+
});
|
|
26
|
+
toJSON(): Record<string, unknown>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Error fetching a UI resource from the MCP server.
|
|
30
|
+
*/
|
|
31
|
+
export declare class ResourceFetchError extends McpUiError {
|
|
32
|
+
constructor(uri: string, reason: string, options?: {
|
|
33
|
+
server?: string;
|
|
34
|
+
cause?: Error;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Error parsing or validating UI resource content.
|
|
39
|
+
*/
|
|
40
|
+
export declare class ResourceParseError extends McpUiError {
|
|
41
|
+
constructor(uri: string, reason: string, options?: {
|
|
42
|
+
server?: string;
|
|
43
|
+
mimeType?: string;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Error connecting to the AppBridge.
|
|
48
|
+
*/
|
|
49
|
+
export declare class BridgeConnectionError extends McpUiError {
|
|
50
|
+
constructor(reason: string, options?: {
|
|
51
|
+
session?: string;
|
|
52
|
+
cause?: Error;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Error related to user consent for tool calls.
|
|
57
|
+
*/
|
|
58
|
+
export declare class ConsentError extends McpUiError {
|
|
59
|
+
readonly denied: boolean;
|
|
60
|
+
constructor(server: string, options: {
|
|
61
|
+
denied?: boolean;
|
|
62
|
+
requiresApproval?: boolean;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Error with UI server session management.
|
|
67
|
+
*/
|
|
68
|
+
export declare class SessionError extends McpUiError {
|
|
69
|
+
constructor(reason: string, options?: {
|
|
70
|
+
session?: string;
|
|
71
|
+
cause?: Error;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Error starting or operating the UI server.
|
|
76
|
+
*/
|
|
77
|
+
export declare class ServerError extends McpUiError {
|
|
78
|
+
constructor(reason: string, options?: {
|
|
79
|
+
port?: number;
|
|
80
|
+
cause?: Error;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Error communicating with the MCP server.
|
|
85
|
+
*/
|
|
86
|
+
export declare class McpServerError extends McpUiError {
|
|
87
|
+
constructor(server: string, reason: string, options?: {
|
|
88
|
+
tool?: string;
|
|
89
|
+
cause?: Error;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Wrap an unknown error into an McpUiError.
|
|
94
|
+
*/
|
|
95
|
+
export declare function wrapError(error: unknown, context?: McpUiErrorContext): McpUiError;
|
|
96
|
+
/**
|
|
97
|
+
* Check if an error is a specific MCP UI error type.
|
|
98
|
+
*/
|
|
99
|
+
export declare function isErrorCode(error: unknown, code: string): boolean;
|
|
100
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;gBAGrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;IAeH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBAE9C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAU/C;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBAE9C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;CASnD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAS1E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAGvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;CAgB5D;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;gBAExC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAUhD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;gBAEvC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAU7C;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;gBAE1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAU7C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAmBjF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function isGlimpseAvailable(): boolean;
|
|
2
|
+
export declare function openGlimpseWindow(html: string, options: {
|
|
3
|
+
title: string;
|
|
4
|
+
width?: number;
|
|
5
|
+
height?: number;
|
|
6
|
+
onClosed: () => void;
|
|
7
|
+
}): Promise<{
|
|
8
|
+
close: () => void;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=glimpse-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glimpse-ui.d.ts","sourceRoot":"","sources":["../../src/mcp/glimpse-ui.ts"],"names":[],"mappings":"AASA,wBAAgB,kBAAkB,IAAI,OAAO,CAW5C;AAyBD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;;GA2BF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { UiHostContext, UiResourceContent, UiResourceCsp } from "./types.js";
|
|
2
|
+
export interface HostHtmlTemplateInput {
|
|
3
|
+
sessionToken: string;
|
|
4
|
+
serverName: string;
|
|
5
|
+
toolName: string;
|
|
6
|
+
toolArgs: Record<string, unknown>;
|
|
7
|
+
resource: UiResourceContent;
|
|
8
|
+
allowAttribute: string;
|
|
9
|
+
requireToolConsent: boolean;
|
|
10
|
+
cacheToolConsent: boolean;
|
|
11
|
+
hostContext?: UiHostContext;
|
|
12
|
+
appBridgeModuleUrl?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildHostHtmlTemplate(input: HostHtmlTemplateInput): string;
|
|
15
|
+
export declare function buildCspMetaContent(csp: UiResourceCsp | undefined): string | undefined;
|
|
16
|
+
export declare function applyCspMeta(html: string, cspContent: string | undefined): string;
|
|
17
|
+
//# sourceMappingURL=host-html-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-html-template.d.ts","sourceRoot":"","sources":["../../src/mcp/host-html-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKlF,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAkV1E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CA2BtF;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQjF"}
|
|
@@ -102,8 +102,8 @@ export function buildHostHtmlTemplate(input) {
|
|
|
102
102
|
const ALLOW_ATTRIBUTE = ${allowAttribute};
|
|
103
103
|
const REQUIRE_TOOL_CONSENT = ${requireToolConsent};
|
|
104
104
|
const CACHE_TOOL_CONSENT = ${cacheToolConsent};
|
|
105
|
-
const STREAM_CONTEXT_KEY = "
|
|
106
|
-
const STREAM_PATCH_METHOD = "notifications/
|
|
105
|
+
const STREAM_CONTEXT_KEY = "spectral-mcp-adapter/stream";
|
|
106
|
+
const STREAM_PATCH_METHOD = "notifications/spectral-mcp-adapter/ui-result-patch";
|
|
107
107
|
|
|
108
108
|
const iframe = document.getElementById("mcp-app");
|
|
109
109
|
const statusNode = document.getElementById("status");
|
|
@@ -147,7 +147,7 @@ export function buildHostHtmlTemplate(input) {
|
|
|
147
147
|
|
|
148
148
|
const bridge = new AppBridge(
|
|
149
149
|
null,
|
|
150
|
-
{ name: "
|
|
150
|
+
{ name: "spectral", version: "1.0.0" },
|
|
151
151
|
{ serverTools: {}, openLinks: {}, logging: {}, updateModelContext: {}, message: {} },
|
|
152
152
|
{ hostContext: HOST_CONTEXT }
|
|
153
153
|
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,8BAA8B,CAAC;AAa3E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAG,EAAE,YAAY,QAySnD"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { setLiveMcpStateGetter } from "./state-getter.js";
|
|
1
2
|
import { Type } from "typebox";
|
|
2
3
|
import { showTools, reconnectServers, authenticateServer, showSetupStatus } from "./commands.js";
|
|
3
4
|
import { loadMcpConfig } from "./config.js";
|
|
@@ -7,8 +8,9 @@ import { loadMetadataCache } from "./metadata-cache.js";
|
|
|
7
8
|
import { executeCall, executeConnect, executeDescribe, executeList, executeSearch, executeStatus, executeUiMessages } from "./proxy-modes.js";
|
|
8
9
|
import { getConfigPathFromArgv, truncateAtWord } from "./utils.js";
|
|
9
10
|
import { initializeOAuth, shutdownOAuth } from "./mcp-auth-flow.js";
|
|
10
|
-
export default function mcpAdapter(
|
|
11
|
+
export default function mcpAdapter(ext) {
|
|
11
12
|
let state = null;
|
|
13
|
+
setLiveMcpStateGetter(() => state);
|
|
12
14
|
let initPromise = null;
|
|
13
15
|
let lifecycleGeneration = 0;
|
|
14
16
|
async function shutdownState(currentState, reason) {
|
|
@@ -53,7 +55,7 @@ export default function mcpAdapter(pi) {
|
|
|
53
55
|
|| directSpecs.length === 0
|
|
54
56
|
|| missingConfiguredDirectToolServers.length > 0;
|
|
55
57
|
for (const spec of directSpecs) {
|
|
56
|
-
|
|
58
|
+
ext.registerTool({
|
|
57
59
|
name: spec.prefixedName,
|
|
58
60
|
label: `MCP: ${spec.originalName}`,
|
|
59
61
|
description: spec.description || "(no description)",
|
|
@@ -62,12 +64,12 @@ export default function mcpAdapter(pi) {
|
|
|
62
64
|
execute: createDirectToolExecutor(() => state, () => initPromise, spec),
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
+
const getSpectralTools = () => ext.getAllTools();
|
|
68
|
+
ext.registerFlag("mcp-config", {
|
|
67
69
|
description: "Path to MCP config file",
|
|
68
70
|
type: "string",
|
|
69
71
|
});
|
|
70
|
-
|
|
72
|
+
ext.on("session_start", async (_event, ctx) => {
|
|
71
73
|
const generation = ++lifecycleGeneration;
|
|
72
74
|
const previousState = state;
|
|
73
75
|
state = null;
|
|
@@ -87,7 +89,7 @@ export default function mcpAdapter(pi) {
|
|
|
87
89
|
await initializeOAuth().catch(err => {
|
|
88
90
|
console.error("MCP OAuth initialization failed:", err);
|
|
89
91
|
});
|
|
90
|
-
const promise = initializeMcp(
|
|
92
|
+
const promise = initializeMcp(ext, ctx);
|
|
91
93
|
initPromise = promise;
|
|
92
94
|
promise.then(async (nextState) => {
|
|
93
95
|
if (generation !== lifecycleGeneration || initPromise !== promise) {
|
|
@@ -113,7 +115,7 @@ export default function mcpAdapter(pi) {
|
|
|
113
115
|
initPromise = null;
|
|
114
116
|
});
|
|
115
117
|
});
|
|
116
|
-
|
|
118
|
+
ext.on("session_shutdown", async () => {
|
|
117
119
|
++lifecycleGeneration;
|
|
118
120
|
const currentState = state;
|
|
119
121
|
state = null;
|
|
@@ -128,7 +130,7 @@ export default function mcpAdapter(pi) {
|
|
|
128
130
|
console.error("MCP: session shutdown cleanup failed", error);
|
|
129
131
|
}
|
|
130
132
|
});
|
|
131
|
-
|
|
133
|
+
ext.registerCommand("mcp", {
|
|
132
134
|
description: "Show MCP server status",
|
|
133
135
|
handler: async (args, ctx) => {
|
|
134
136
|
if (!state && initPromise) {
|
|
@@ -158,17 +160,17 @@ export default function mcpAdapter(pi) {
|
|
|
158
160
|
await showTools(state, ctx);
|
|
159
161
|
break;
|
|
160
162
|
case "setup":
|
|
161
|
-
await showSetupStatus(state,
|
|
163
|
+
await showSetupStatus(state, ext, ctx, earlyConfigPath);
|
|
162
164
|
break;
|
|
163
165
|
case "status":
|
|
164
166
|
case "":
|
|
165
167
|
default:
|
|
166
|
-
await showSetupStatus(state,
|
|
168
|
+
await showSetupStatus(state, ext, ctx, earlyConfigPath);
|
|
167
169
|
break;
|
|
168
170
|
}
|
|
169
171
|
},
|
|
170
172
|
});
|
|
171
|
-
|
|
173
|
+
ext.registerCommand("mcp-auth", {
|
|
172
174
|
description: "Authenticate with an MCP server (OAuth)",
|
|
173
175
|
handler: async (args, ctx) => {
|
|
174
176
|
const serverName = args?.trim();
|
|
@@ -197,7 +199,7 @@ export default function mcpAdapter(pi) {
|
|
|
197
199
|
},
|
|
198
200
|
});
|
|
199
201
|
if (shouldRegisterProxyTool) {
|
|
200
|
-
|
|
202
|
+
ext.registerTool({
|
|
201
203
|
name: "mcp",
|
|
202
204
|
label: "MCP",
|
|
203
205
|
description: buildProxyDescription(earlyConfig, earlyCache, directSpecs),
|
|
@@ -253,7 +255,7 @@ export default function mcpAdapter(pi) {
|
|
|
253
255
|
return executeUiMessages(state);
|
|
254
256
|
}
|
|
255
257
|
if (params.tool) {
|
|
256
|
-
return executeCall(state, params.tool, parsedArgs, params.server,
|
|
258
|
+
return executeCall(state, params.tool, parsedArgs, params.server, getSpectralTools);
|
|
257
259
|
}
|
|
258
260
|
if (params.restart) {
|
|
259
261
|
return executeConnect(state, params.restart);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExtensionAPI, ExtensionContext } from "../sdk/coding-agent/index.js";
|
|
2
|
+
import type { McpExtensionState } from "./state.js";
|
|
3
|
+
export declare function initializeMcp(ext: ExtensionAPI, ctx: ExtensionContext): Promise<McpExtensionState>;
|
|
4
|
+
export declare function updateServerMetadata(state: McpExtensionState, serverName: string): void;
|
|
5
|
+
export declare function updateMetadataCache(state: McpExtensionState, serverName: string): void;
|
|
6
|
+
export declare function flushMetadataCache(state: McpExtensionState): void;
|
|
7
|
+
export declare function updateStatusBar(state: McpExtensionState): void;
|
|
8
|
+
export declare function getFailureAgeSeconds(state: McpExtensionState, serverName: string): number | null;
|
|
9
|
+
export declare function lazyConnect(state: McpExtensionState, serverName: string): Promise<boolean>;
|
|
10
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/mcp/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA0BpD,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAsL5B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAWvF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA+BtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAMjE;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAU9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMhG;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoChG"}
|
package/dist/mcp/init.js
CHANGED
|
@@ -10,8 +10,8 @@ import { openUrl, parallelLimit } from "./utils.js";
|
|
|
10
10
|
import { logger } from "./logger.js";
|
|
11
11
|
import { getMissingConfiguredDirectToolServers } from "./direct-tools.js";
|
|
12
12
|
const FAILURE_BACKOFF_MS = 60 * 1000;
|
|
13
|
-
export async function initializeMcp(
|
|
14
|
-
const configPath =
|
|
13
|
+
export async function initializeMcp(ext, ctx) {
|
|
14
|
+
const configPath = ext.getFlag("mcp-config");
|
|
15
15
|
const config = loadMcpConfig(configPath);
|
|
16
16
|
const manager = new McpServerManager();
|
|
17
17
|
const samplingAutoApprove = config.settings?.samplingAutoApprove === true;
|
|
@@ -40,9 +40,9 @@ export async function initializeMcp(pi, ctx) {
|
|
|
40
40
|
consentManager,
|
|
41
41
|
uiServer: null,
|
|
42
42
|
completedUiSessions: [],
|
|
43
|
-
openBrowser: (url) => openUrl(
|
|
43
|
+
openBrowser: (url) => openUrl(ext, url, process.env.BROWSER),
|
|
44
44
|
ui,
|
|
45
|
-
sendMessage: (message, options) =>
|
|
45
|
+
sendMessage: (message, options) => ext.sendMessage(message, options),
|
|
46
46
|
};
|
|
47
47
|
const serverEntries = Object.entries(config.mcpServers);
|
|
48
48
|
if (serverEntries.length === 0) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ServerDefinition } from "./types.js";
|
|
2
|
+
import type { McpServerManager } from "./server-manager.js";
|
|
3
|
+
export type ReconnectCallback = (serverName: string) => void;
|
|
4
|
+
export declare class McpLifecycleManager {
|
|
5
|
+
private manager;
|
|
6
|
+
private keepAliveServers;
|
|
7
|
+
private allServers;
|
|
8
|
+
private serverSettings;
|
|
9
|
+
private globalIdleTimeout;
|
|
10
|
+
private healthCheckInterval?;
|
|
11
|
+
private onReconnect?;
|
|
12
|
+
private onIdleShutdown?;
|
|
13
|
+
constructor(manager: McpServerManager);
|
|
14
|
+
/**
|
|
15
|
+
* Set callback to be invoked after a successful auto-reconnect.
|
|
16
|
+
* Use this to update tool metadata when a server reconnects.
|
|
17
|
+
*/
|
|
18
|
+
setReconnectCallback(callback: ReconnectCallback): void;
|
|
19
|
+
markKeepAlive(name: string, definition: ServerDefinition): void;
|
|
20
|
+
registerServer(name: string, definition: ServerDefinition, settings?: {
|
|
21
|
+
idleTimeout?: number;
|
|
22
|
+
}): void;
|
|
23
|
+
setGlobalIdleTimeout(minutes: number): void;
|
|
24
|
+
setIdleShutdownCallback(callback: (serverName: string) => void): void;
|
|
25
|
+
startHealthChecks(intervalMs?: number): void;
|
|
26
|
+
private checkConnections;
|
|
27
|
+
private getIdleTimeout;
|
|
28
|
+
gracefulShutdown(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/mcp/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAC7C,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,cAAc,CAAC,CAA+B;gBAE1C,OAAO,EAAE,gBAAgB;IAIrC;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAI/D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOrG,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,uBAAuB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIrE,iBAAiB,CAAC,UAAU,SAAQ,GAAG,IAAI;YAO7B,gBAAgB;IA0B9B,OAAO,CAAC,cAAc;IAMhB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAMxC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized logging for MCP UI operations.
|
|
3
|
+
* Provides structured, contextual logs with levels.
|
|
4
|
+
*/
|
|
5
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
6
|
+
export interface LogContext {
|
|
7
|
+
server?: string;
|
|
8
|
+
session?: string;
|
|
9
|
+
tool?: string;
|
|
10
|
+
uri?: string;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface LogEntry {
|
|
14
|
+
level: LogLevel;
|
|
15
|
+
message: string;
|
|
16
|
+
context?: LogContext;
|
|
17
|
+
error?: Error;
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
}
|
|
20
|
+
type LogHandler = (entry: LogEntry) => void;
|
|
21
|
+
declare class Logger {
|
|
22
|
+
private minLevel;
|
|
23
|
+
private handlers;
|
|
24
|
+
private defaultContext;
|
|
25
|
+
setLevel(level: LogLevel): void;
|
|
26
|
+
setDefaultContext(context: LogContext): void;
|
|
27
|
+
addHandler(handler: LogHandler): void;
|
|
28
|
+
clearHandlers(): void;
|
|
29
|
+
private shouldLog;
|
|
30
|
+
private emit;
|
|
31
|
+
debug(message: string, context?: LogContext): void;
|
|
32
|
+
info(message: string, context?: LogContext): void;
|
|
33
|
+
warn(message: string, context?: LogContext): void;
|
|
34
|
+
error(message: string, error?: Error, context?: LogContext): void;
|
|
35
|
+
/**
|
|
36
|
+
* Create a child logger with additional default context.
|
|
37
|
+
*/
|
|
38
|
+
child(context: LogContext): ChildLogger;
|
|
39
|
+
}
|
|
40
|
+
declare class ChildLogger {
|
|
41
|
+
private parent;
|
|
42
|
+
private context;
|
|
43
|
+
constructor(parent: Logger, context: LogContext);
|
|
44
|
+
debug(message: string, context?: LogContext): void;
|
|
45
|
+
info(message: string, context?: LogContext): void;
|
|
46
|
+
warn(message: string, context?: LogContext): void;
|
|
47
|
+
error(message: string, error?: Error, context?: LogContext): void;
|
|
48
|
+
child(context: LogContext): ChildLogger;
|
|
49
|
+
}
|
|
50
|
+
export declare const logger: Logger;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/mcp/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAgB5C,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAAkB;IAExC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAI5C,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIrC,aAAa,IAAI,IAAI;IAIrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,IAAI;IAoCZ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW;CAGxC;AAED,cAAM,WAAW;IAEb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;gBADP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU;IAG7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjE,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW;CAGxC;AAcD,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Auth Flow
|
|
3
|
+
*
|
|
4
|
+
* High-level OAuth flow management using the MCP SDK's built-in auth functions.
|
|
5
|
+
*/
|
|
6
|
+
import { type StoredTokens } from "./mcp-auth.js";
|
|
7
|
+
import type { ServerEntry } from "./types.js";
|
|
8
|
+
/** Auth status for a server */
|
|
9
|
+
export type AuthStatus = "authenticated" | "expired" | "not_authenticated";
|
|
10
|
+
/**
|
|
11
|
+
* Start OAuth authentication flow for a server.
|
|
12
|
+
* Returns the authorization URL when browser authorization is required.
|
|
13
|
+
*/
|
|
14
|
+
export declare function startAuth(serverName: string, serverUrl: string, definition?: ServerEntry): Promise<{
|
|
15
|
+
authorizationUrl: string;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Complete OAuth authentication with the authorization code.
|
|
19
|
+
*/
|
|
20
|
+
export declare function completeAuth(serverName: string, authorizationCode: string): Promise<AuthStatus>;
|
|
21
|
+
/**
|
|
22
|
+
* Perform the complete OAuth authentication flow for a server.
|
|
23
|
+
*
|
|
24
|
+
* @param serverName - The name of the MCP server
|
|
25
|
+
* @param serverUrl - The URL of the MCP server
|
|
26
|
+
* @param definition - The server definition (optional)
|
|
27
|
+
* @returns The final auth status
|
|
28
|
+
*/
|
|
29
|
+
export declare function authenticate(serverName: string, serverUrl: string, definition?: ServerEntry): Promise<AuthStatus>;
|
|
30
|
+
/**
|
|
31
|
+
* Get a valid access token for a server, refreshing if necessary.
|
|
32
|
+
*
|
|
33
|
+
* @param serverName - The name of the MCP server
|
|
34
|
+
* @param serverUrl - The URL of the MCP server
|
|
35
|
+
* @returns The valid tokens or null if not authenticated
|
|
36
|
+
*/
|
|
37
|
+
export declare function getValidToken(serverName: string, serverUrl: string): Promise<StoredTokens | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Check the authentication status for a server.
|
|
40
|
+
*
|
|
41
|
+
* @param serverName - The name of the MCP server
|
|
42
|
+
* @returns The current auth status
|
|
43
|
+
*/
|
|
44
|
+
export declare function getAuthStatus(serverName: string): Promise<AuthStatus>;
|
|
45
|
+
/**
|
|
46
|
+
* Remove all OAuth credentials for a server.
|
|
47
|
+
*
|
|
48
|
+
* @param serverName - The name of the MCP server
|
|
49
|
+
*/
|
|
50
|
+
export declare function removeAuth(serverName: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Check if OAuth is supported for a server configuration.
|
|
53
|
+
* OAuth is supported for HTTP servers unless explicitly disabled.
|
|
54
|
+
*
|
|
55
|
+
* @param definition - The server definition
|
|
56
|
+
* @returns True if OAuth is supported
|
|
57
|
+
*/
|
|
58
|
+
export declare function supportsOAuth(definition: ServerEntry): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Initialize the OAuth system on startup.
|
|
61
|
+
* Starts the callback server if there are any OAuth servers configured.
|
|
62
|
+
*/
|
|
63
|
+
export declare function initializeOAuth(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Shutdown the OAuth system.
|
|
66
|
+
* Stops the callback server and cancels pending auths.
|
|
67
|
+
*/
|
|
68
|
+
export declare function shutdownOAuth(): Promise<void>;
|
|
69
|
+
//# sourceMappingURL=mcp-auth-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-auth-flow.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-auth-flow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,mBAAmB,CAAA;AAkD1E;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAyDvC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CAuErB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA2C9B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAM3E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAU9D;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Auth Storage Module
|
|
3
|
+
*
|
|
4
|
+
* Handles secure storage of OAuth credentials, tokens, client information,
|
|
5
|
+
* and PKCE state for MCP servers. Maintains backward compatibility with
|
|
6
|
+
* per-server directory structure.
|
|
7
|
+
*
|
|
8
|
+
* Token storage location: $MCP_OAUTH_DIR/<server>/tokens.json when set,
|
|
9
|
+
* otherwise <Pi agent dir>/mcp-oauth/<server>/tokens.json
|
|
10
|
+
*/
|
|
11
|
+
/** OAuth token storage format */
|
|
12
|
+
export interface StoredTokens {
|
|
13
|
+
accessToken: string;
|
|
14
|
+
refreshToken?: string;
|
|
15
|
+
expiresAt?: number;
|
|
16
|
+
scope?: string;
|
|
17
|
+
}
|
|
18
|
+
/** OAuth client information from dynamic or static registration */
|
|
19
|
+
export interface StoredClientInfo {
|
|
20
|
+
clientId: string;
|
|
21
|
+
clientSecret?: string;
|
|
22
|
+
clientIdIssuedAt?: number;
|
|
23
|
+
clientSecretExpiresAt?: number;
|
|
24
|
+
}
|
|
25
|
+
/** Complete auth entry for a server */
|
|
26
|
+
export interface AuthEntry {
|
|
27
|
+
tokens?: StoredTokens;
|
|
28
|
+
clientInfo?: StoredClientInfo;
|
|
29
|
+
codeVerifier?: string;
|
|
30
|
+
oauthState?: string;
|
|
31
|
+
serverUrl?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get auth entry for a server.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAuthEntry(serverName: string): AuthEntry | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Get auth entry and validate it's for the correct URL.
|
|
39
|
+
* Returns undefined if URL has changed (credentials are invalid).
|
|
40
|
+
*/
|
|
41
|
+
export declare function getAuthForUrl(serverName: string, serverUrl: string): AuthEntry | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Save auth entry for a server.
|
|
44
|
+
*/
|
|
45
|
+
export declare function saveAuthEntry(serverName: string, entry: AuthEntry, serverUrl?: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Remove auth entry for a server.
|
|
48
|
+
* Also removes the server directory if empty.
|
|
49
|
+
*/
|
|
50
|
+
export declare function removeAuthEntry(serverName: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Update tokens for a server.
|
|
53
|
+
*/
|
|
54
|
+
export declare function updateTokens(serverName: string, tokens: StoredTokens, serverUrl?: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Update client info for a server.
|
|
57
|
+
*/
|
|
58
|
+
export declare function updateClientInfo(serverName: string, clientInfo: StoredClientInfo, serverUrl?: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Update code verifier for a server.
|
|
61
|
+
*/
|
|
62
|
+
export declare function updateCodeVerifier(serverName: string, codeVerifier: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Clear code verifier for a server.
|
|
65
|
+
*/
|
|
66
|
+
export declare function clearCodeVerifier(serverName: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* Update OAuth state for a server.
|
|
69
|
+
*/
|
|
70
|
+
export declare function updateOAuthState(serverName: string, state: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Get OAuth state for a server.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getOAuthState(serverName: string): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Clear OAuth state for a server.
|
|
77
|
+
*/
|
|
78
|
+
export declare function clearOAuthState(serverName: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Check if stored tokens are expired.
|
|
81
|
+
* Returns null if no tokens exist, false if no expiry or not expired, true if expired.
|
|
82
|
+
*/
|
|
83
|
+
export declare function isTokenExpired(serverName: string): boolean | null;
|
|
84
|
+
/**
|
|
85
|
+
* Check if a server has stored tokens.
|
|
86
|
+
*/
|
|
87
|
+
export declare function hasStoredTokens(serverName: string): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Clear all credentials for a server.
|
|
90
|
+
*/
|
|
91
|
+
export declare function clearAllCredentials(serverName: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Clear only client info for a server.
|
|
94
|
+
*/
|
|
95
|
+
export declare function clearClientInfo(serverName: string): void;
|
|
96
|
+
/**
|
|
97
|
+
* Clear only tokens for a server.
|
|
98
|
+
*/
|
|
99
|
+
export declare function clearTokens(serverName: string): void;
|
|
100
|
+
//# sourceMappingURL=mcp-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-auth.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,uCAAuC;AACvC,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2DD;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEtE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAW1F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAM5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkBxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAIjF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMpD"}
|