@nanocollective/nanocoder 1.23.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -15
- package/README.md +25 -884
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client/ai-sdk-client.d.ts +3 -2
- package/dist/ai-sdk-client/ai-sdk-client.d.ts.map +1 -1
- package/dist/ai-sdk-client/ai-sdk-client.js +16 -2
- package/dist/ai-sdk-client/ai-sdk-client.js.map +1 -1
- package/dist/ai-sdk-client/chat/chat-handler.d.ts +2 -1
- package/dist/ai-sdk-client/chat/chat-handler.d.ts.map +1 -1
- package/dist/ai-sdk-client/chat/chat-handler.js +37 -70
- package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
- package/dist/ai-sdk-client/chat/streaming-handler.d.ts +2 -2
- package/dist/ai-sdk-client/chat/streaming-handler.d.ts.map +1 -1
- package/dist/ai-sdk-client/chat/streaming-handler.js +4 -23
- package/dist/ai-sdk-client/chat/streaming-handler.js.map +1 -1
- package/dist/ai-sdk-client/error-handling/error-parser.d.ts.map +1 -1
- package/dist/ai-sdk-client/error-handling/error-parser.js +7 -2
- package/dist/ai-sdk-client/error-handling/error-parser.js.map +1 -1
- package/dist/ai-sdk-client/providers/provider-factory.d.ts +2 -1
- package/dist/ai-sdk-client/providers/provider-factory.d.ts.map +1 -1
- package/dist/ai-sdk-client/providers/provider-factory.js +55 -0
- package/dist/ai-sdk-client/providers/provider-factory.js.map +1 -1
- package/dist/app/App.d.ts +1 -1
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/App.js +66 -50
- package/dist/app/App.js.map +1 -1
- package/dist/app/components/chat-input.d.ts +4 -1
- package/dist/app/components/chat-input.d.ts.map +1 -1
- package/dist/app/components/chat-input.js +4 -3
- package/dist/app/components/chat-input.js.map +1 -1
- package/dist/app/components/modal-selectors.d.ts +6 -7
- package/dist/app/components/modal-selectors.d.ts.map +1 -1
- package/dist/app/components/modal-selectors.js +11 -7
- package/dist/app/components/modal-selectors.js.map +1 -1
- package/dist/app/components/settings-selector.d.ts.map +1 -1
- package/dist/app/components/settings-selector.js +3 -3
- package/dist/app/components/settings-selector.js.map +1 -1
- package/dist/app/helpers.d.ts.map +1 -1
- package/dist/app/helpers.js +2 -4
- package/dist/app/helpers.js.map +1 -1
- package/dist/app/index.d.ts +0 -1
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +0 -1
- package/dist/app/index.js.map +1 -1
- package/dist/app/types.d.ts +2 -0
- package/dist/app/types.d.ts.map +1 -1
- package/dist/app/utils/app-util.d.ts +1 -5
- package/dist/app/utils/app-util.d.ts.map +1 -1
- package/dist/app/utils/app-util.js +60 -460
- package/dist/app/utils/app-util.js.map +1 -1
- package/dist/app/utils/handlers/compact-handler.d.ts +6 -0
- package/dist/app/utils/handlers/compact-handler.d.ts.map +1 -0
- package/dist/app/utils/handlers/compact-handler.js +148 -0
- package/dist/app/utils/handlers/compact-handler.js.map +1 -0
- package/dist/app/utils/handlers/context-max-handler.d.ts +11 -0
- package/dist/app/utils/handlers/context-max-handler.d.ts.map +1 -0
- package/dist/app/utils/handlers/context-max-handler.js +102 -0
- package/dist/app/utils/handlers/context-max-handler.js.map +1 -0
- package/dist/app/utils/handlers/create-handler.d.ts +17 -0
- package/dist/app/utils/handlers/create-handler.d.ts.map +1 -0
- package/dist/app/utils/handlers/create-handler.js +112 -0
- package/dist/app/utils/handlers/create-handler.js.map +1 -0
- package/dist/app/utils/handlers/session-handler.d.ts +8 -0
- package/dist/app/utils/handlers/session-handler.d.ts.map +1 -0
- package/dist/app/utils/handlers/session-handler.js +99 -0
- package/dist/app/utils/handlers/session-handler.js.map +1 -0
- package/dist/auth/github-copilot.d.ts +44 -0
- package/dist/auth/github-copilot.d.ts.map +1 -0
- package/dist/auth/github-copilot.js +178 -0
- package/dist/auth/github-copilot.js.map +1 -0
- package/dist/cli.js +64 -3
- package/dist/cli.js.map +1 -1
- package/dist/client-factory.d.ts +1 -1
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +39 -8
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/compact.d.ts +1 -6
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +2 -13
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/context-max.d.ts +1 -2
- package/dist/commands/context-max.d.ts.map +1 -1
- package/dist/commands/context-max.js +2 -9
- package/dist/commands/context-max.js.map +1 -1
- package/dist/commands/copilot-login-command.d.ts +3 -0
- package/dist/commands/copilot-login-command.d.ts.map +1 -0
- package/dist/commands/copilot-login-command.js +9 -0
- package/dist/commands/copilot-login-command.js.map +1 -0
- package/dist/commands/copilot-login.d.ts +9 -0
- package/dist/commands/copilot-login.d.ts.map +1 -0
- package/dist/commands/copilot-login.js +70 -0
- package/dist/commands/copilot-login.js.map +1 -0
- package/dist/commands/create-stub-command.d.ts +8 -0
- package/dist/commands/create-stub-command.d.ts.map +1 -0
- package/dist/commands/create-stub-command.js +14 -0
- package/dist/commands/create-stub-command.js.map +1 -0
- package/dist/commands/explorer.d.ts +1 -2
- package/dist/commands/explorer.d.ts.map +1 -1
- package/dist/commands/explorer.js +2 -9
- package/dist/commands/explorer.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +1 -1
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/ide.d.ts +1 -2
- package/dist/commands/ide.d.ts.map +1 -1
- package/dist/commands/ide.js +2 -9
- package/dist/commands/ide.js.map +1 -1
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/model.d.ts +1 -2
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +2 -10
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/provider.d.ts +1 -2
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +2 -10
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/resume.d.ts +8 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +11 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/settings.d.ts +1 -2
- package/dist/commands/settings.d.ts.map +1 -1
- package/dist/commands/settings.js +2 -10
- package/dist/commands/settings.js.map +1 -1
- package/dist/commands/status.d.ts +1 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +2 -10
- package/dist/commands/status.js.map +1 -1
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +2 -27
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/provider-selector.d.ts.map +1 -1
- package/dist/components/provider-selector.js +4 -3
- package/dist/components/provider-selector.js.map +1 -1
- package/dist/components/session-selector.d.ts +12 -0
- package/dist/components/session-selector.d.ts.map +1 -0
- package/dist/components/session-selector.js +108 -0
- package/dist/components/session-selector.js.map +1 -0
- package/dist/components/tool-confirmation.d.ts.map +1 -1
- package/dist/components/tool-confirmation.js +9 -6
- package/dist/components/tool-confirmation.js.map +1 -1
- package/dist/components/ui/styled-title.js +2 -2
- package/dist/components/ui/styled-title.js.map +1 -1
- package/dist/components/user-input.d.ts +3 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +35 -23
- package/dist/components/user-input.js.map +1 -1
- package/dist/components/user-message.d.ts.map +1 -1
- package/dist/components/user-message.js +1 -23
- package/dist/components/user-message.js.map +1 -1
- package/dist/components/vscode-extension-prompt.d.ts +6 -1
- package/dist/components/vscode-extension-prompt.d.ts.map +1 -1
- package/dist/components/vscode-extension-prompt.js +80 -36
- package/dist/components/vscode-extension-prompt.js.map +1 -1
- package/dist/config/copilot-credentials.d.ts +27 -0
- package/dist/config/copilot-credentials.d.ts.map +1 -0
- package/dist/config/copilot-credentials.js +81 -0
- package/dist/config/copilot-credentials.js.map +1 -0
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +63 -27
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-config-loader.d.ts +2 -3
- package/dist/config/mcp-config-loader.d.ts.map +1 -1
- package/dist/config/mcp-config-loader.js +136 -181
- package/dist/config/mcp-config-loader.js.map +1 -1
- package/dist/config/nanocoder-tools-config.js +2 -2
- package/dist/config/nanocoder-tools-config.js.map +1 -1
- package/dist/config/themes.d.ts.map +1 -1
- package/dist/config/themes.js +9 -766
- package/dist/config/themes.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +0 -19
- package/dist/config/validation.js.map +1 -1
- package/dist/custom-commands/parser.d.ts.map +1 -1
- package/dist/custom-commands/parser.js +0 -9
- package/dist/custom-commands/parser.js.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +5 -0
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.js +78 -97
- package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
- package/dist/hooks/chat-handler/conversation/tool-executor.d.ts +7 -2
- package/dist/hooks/chat-handler/conversation/tool-executor.d.ts.map +1 -1
- package/dist/hooks/chat-handler/conversation/tool-executor.js +109 -41
- package/dist/hooks/chat-handler/conversation/tool-executor.js.map +1 -1
- package/dist/hooks/chat-handler/types.d.ts +3 -0
- package/dist/hooks/chat-handler/types.d.ts.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.d.ts +1 -1
- package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.js +7 -1
- package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
- package/dist/hooks/useAppHandlers.d.ts +8 -1
- package/dist/hooks/useAppHandlers.d.ts.map +1 -1
- package/dist/hooks/useAppHandlers.js +119 -13
- package/dist/hooks/useAppHandlers.js.map +1 -1
- package/dist/hooks/useAppInitialization.d.ts +5 -3
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +51 -30
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +15 -10
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +37 -28
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useModeHandlers.d.ts +8 -14
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +31 -101
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/hooks/useNonInteractiveMode.d.ts +7 -0
- package/dist/hooks/useNonInteractiveMode.d.ts.map +1 -1
- package/dist/hooks/useNonInteractiveMode.js +39 -2
- package/dist/hooks/useNonInteractiveMode.js.map +1 -1
- package/dist/hooks/useSessionAutosave.d.ts +16 -0
- package/dist/hooks/useSessionAutosave.d.ts.map +1 -0
- package/dist/hooks/useSessionAutosave.js +133 -0
- package/dist/hooks/useSessionAutosave.js.map +1 -0
- package/dist/hooks/useToolHandler.d.ts +2 -1
- package/dist/hooks/useToolHandler.d.ts.map +1 -1
- package/dist/hooks/useToolHandler.js +9 -3
- package/dist/hooks/useToolHandler.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +3 -2
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/transport-factory.d.ts.map +1 -1
- package/dist/mcp/transport-factory.js +4 -36
- package/dist/mcp/transport-factory.js.map +1 -1
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +21 -14
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/session/session-manager.d.ts +57 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +361 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/test-utils/render-with-theme.d.ts.map +1 -1
- package/dist/test-utils/render-with-theme.js +2 -1
- package/dist/test-utils/render-with-theme.js.map +1 -1
- package/dist/tool-calling/tool-parser.d.ts +3 -2
- package/dist/tool-calling/tool-parser.d.ts.map +1 -1
- package/dist/tool-calling/tool-parser.js +6 -27
- package/dist/tool-calling/tool-parser.js.map +1 -1
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +5 -0
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/fetch-url.d.ts.map +1 -1
- package/dist/tools/fetch-url.js +11 -2
- package/dist/tools/fetch-url.js.map +1 -1
- package/dist/tools/file-ops/copy-file.d.ts.map +1 -1
- package/dist/tools/file-ops/copy-file.js +6 -36
- package/dist/tools/file-ops/copy-file.js.map +1 -1
- package/dist/tools/file-ops/create-directory.d.ts.map +1 -1
- package/dist/tools/file-ops/create-directory.js +2 -19
- package/dist/tools/file-ops/create-directory.js.map +1 -1
- package/dist/tools/file-ops/delete-file.d.ts.map +1 -1
- package/dist/tools/file-ops/delete-file.js +6 -20
- package/dist/tools/file-ops/delete-file.js.map +1 -1
- package/dist/tools/file-ops/move-file.d.ts.map +1 -1
- package/dist/tools/file-ops/move-file.js +6 -36
- package/dist/tools/file-ops/move-file.js.map +1 -1
- package/dist/tools/file-ops/string-replace-preview.d.ts +10 -0
- package/dist/tools/file-ops/string-replace-preview.d.ts.map +1 -0
- package/dist/tools/file-ops/string-replace-preview.js +171 -0
- package/dist/tools/file-ops/string-replace-preview.js.map +1 -0
- package/dist/tools/file-ops/string-replace.d.ts.map +1 -1
- package/dist/tools/file-ops/string-replace.js +9 -292
- package/dist/tools/file-ops/string-replace.js.map +1 -1
- package/dist/tools/file-ops/write-file.d.ts.map +1 -1
- package/dist/tools/file-ops/write-file.js +7 -66
- package/dist/tools/file-ops/write-file.js.map +1 -1
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +1 -0
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/git/git-diff.d.ts.map +1 -1
- package/dist/tools/git/git-diff.js +1 -0
- package/dist/tools/git/git-diff.js.map +1 -1
- package/dist/tools/git/git-log.d.ts.map +1 -1
- package/dist/tools/git/git-log.js +1 -0
- package/dist/tools/git/git-log.js.map +1 -1
- package/dist/tools/git/git-status.d.ts.map +1 -1
- package/dist/tools/git/git-status.js +1 -0
- package/dist/tools/git/git-status.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-directory.d.ts.map +1 -1
- package/dist/tools/list-directory.js +2 -1
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
- package/dist/tools/lsp-get-diagnostics.js +1 -5
- package/dist/tools/lsp-get-diagnostics.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +1 -0
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/search-file-contents.d.ts.map +1 -1
- package/dist/tools/search-file-contents.js +1 -0
- package/dist/tools/search-file-contents.js.map +1 -1
- package/dist/tools/tasks/list-tasks.d.ts.map +1 -1
- package/dist/tools/tasks/list-tasks.js +1 -0
- package/dist/tools/tasks/list-tasks.js.map +1 -1
- package/dist/tools/tool-manager.d.ts +10 -0
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +16 -2
- package/dist/tools/tool-manager.js.map +1 -1
- package/dist/tools/tool-registry.d.ts +9 -1
- package/dist/tools/tool-registry.d.ts.map +1 -1
- package/dist/tools/tool-registry.js +17 -1
- package/dist/tools/tool-registry.js.map +1 -1
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +1 -0
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/app.d.ts +3 -0
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/commands.d.ts +1 -2
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/config.d.ts +11 -15
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts +13 -3
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/markdown-parser.d.ts +2 -10
- package/dist/types/markdown-parser.d.ts.map +1 -1
- package/dist/types/mcp.d.ts +2 -28
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/ui.d.ts +1 -1
- package/dist/types/ui.d.ts.map +1 -1
- package/dist/utils/ansi-truncate.d.ts +6 -0
- package/dist/utils/ansi-truncate.d.ts.map +1 -0
- package/dist/utils/ansi-truncate.js +39 -0
- package/dist/utils/ansi-truncate.js.map +1 -0
- package/dist/utils/installation-detector.d.ts +6 -0
- package/dist/utils/installation-detector.d.ts.map +1 -1
- package/dist/utils/installation-detector.js +33 -19
- package/dist/utils/installation-detector.js.map +1 -1
- package/dist/utils/logging/health-monitor/checks/memory-check.d.ts.map +1 -1
- package/dist/utils/logging/health-monitor/checks/memory-check.js +2 -1
- package/dist/utils/logging/health-monitor/checks/memory-check.js.map +1 -1
- package/dist/utils/logging/health-monitor/core/health-monitor.d.ts.map +1 -1
- package/dist/utils/logging/health-monitor/core/health-monitor.js +3 -2
- package/dist/utils/logging/health-monitor/core/health-monitor.js.map +1 -1
- package/dist/utils/logging/performance.d.ts.map +1 -1
- package/dist/utils/logging/performance.js +21 -17
- package/dist/utils/logging/performance.js.map +1 -1
- package/dist/utils/logging/pino-logger.d.ts.map +1 -1
- package/dist/utils/logging/pino-logger.js +7 -8
- package/dist/utils/logging/pino-logger.js.map +1 -1
- package/dist/utils/logging/redaction.d.ts.map +1 -1
- package/dist/utils/logging/redaction.js +2 -0
- package/dist/utils/logging/redaction.js.map +1 -1
- package/dist/utils/logging/request-tracker.d.ts.map +1 -1
- package/dist/utils/logging/request-tracker.js +6 -5
- package/dist/utils/logging/request-tracker.js.map +1 -1
- package/dist/utils/logging/safe-process.d.ts +16 -0
- package/dist/utils/logging/safe-process.d.ts.map +1 -0
- package/dist/utils/logging/safe-process.js +37 -0
- package/dist/utils/logging/safe-process.js.map +1 -0
- package/dist/utils/logging/types.d.ts +0 -3
- package/dist/utils/logging/types.d.ts.map +1 -1
- package/dist/utils/message-builder.d.ts +0 -5
- package/dist/utils/message-builder.d.ts.map +1 -1
- package/dist/utils/message-builder.js +0 -8
- package/dist/utils/message-builder.js.map +1 -1
- package/dist/utils/path-validation.d.ts.map +1 -1
- package/dist/utils/path-validation.js +3 -1
- package/dist/utils/path-validation.js.map +1 -1
- package/dist/utils/path-validators.d.ts +16 -0
- package/dist/utils/path-validators.d.ts.map +1 -0
- package/dist/utils/path-validators.js +55 -0
- package/dist/utils/path-validators.js.map +1 -0
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +2 -17
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/text-wrapping.d.ts +8 -0
- package/dist/utils/text-wrapping.d.ts.map +1 -0
- package/dist/utils/text-wrapping.js +29 -0
- package/dist/utils/text-wrapping.js.map +1 -0
- package/dist/utils/tool-approval.d.ts +6 -0
- package/dist/utils/tool-approval.d.ts.map +1 -0
- package/dist/utils/tool-approval.js +15 -0
- package/dist/utils/tool-approval.js.map +1 -0
- package/dist/utils/tool-result-display.d.ts +15 -1
- package/dist/utils/tool-result-display.d.ts.map +1 -1
- package/dist/utils/tool-result-display.js +93 -3
- package/dist/utils/tool-result-display.js.map +1 -1
- package/dist/vscode/extension-installer.d.ts +34 -7
- package/dist/vscode/extension-installer.d.ts.map +1 -1
- package/dist/vscode/extension-installer.js +151 -64
- package/dist/vscode/extension-installer.js.map +1 -1
- package/dist/vscode/index.d.ts +1 -1
- package/dist/vscode/index.d.ts.map +1 -1
- package/dist/vscode/index.js +1 -1
- package/dist/vscode/index.js.map +1 -1
- package/dist/wizards/mcp-wizard.d.ts.map +1 -1
- package/dist/wizards/mcp-wizard.js +2 -1
- package/dist/wizards/mcp-wizard.js.map +1 -1
- package/dist/wizards/provider-wizard.d.ts.map +1 -1
- package/dist/wizards/provider-wizard.js +4 -2
- package/dist/wizards/provider-wizard.js.map +1 -1
- package/dist/wizards/steps/location-step.d.ts.map +1 -1
- package/dist/wizards/steps/location-step.js +2 -1
- package/dist/wizards/steps/location-step.js.map +1 -1
- package/dist/wizards/steps/mcp-step.d.ts.map +1 -1
- package/dist/wizards/steps/mcp-step.js +2 -1
- package/dist/wizards/steps/mcp-step.js.map +1 -1
- package/dist/wizards/steps/provider-step.d.ts.map +1 -1
- package/dist/wizards/steps/provider-step.js +4 -1
- package/dist/wizards/steps/provider-step.js.map +1 -1
- package/dist/wizards/steps/summary-step.d.ts.map +1 -1
- package/dist/wizards/steps/summary-step.js +2 -1
- package/dist/wizards/steps/summary-step.js.map +1 -1
- package/dist/wizards/templates/mcp-templates.d.ts +0 -8
- package/dist/wizards/templates/mcp-templates.d.ts.map +1 -1
- package/dist/wizards/templates/mcp-templates.js.map +1 -1
- package/dist/wizards/templates/provider-templates.d.ts.map +1 -1
- package/dist/wizards/templates/provider-templates.js +59 -0
- package/dist/wizards/templates/provider-templates.js.map +1 -1
- package/dist/wizards/validation.d.ts.map +1 -1
- package/dist/wizards/validation.js +0 -1
- package/dist/wizards/validation.js.map +1 -1
- package/package.json +20 -12
- package/source/config/themes.json +787 -0
- package/dist/ai-sdk-client/chat/tool-processor.d.ts +0 -10
- package/dist/ai-sdk-client/chat/tool-processor.d.ts.map +0 -1
- package/dist/ai-sdk-client/chat/tool-processor.js +0 -58
- package/dist/ai-sdk-client/chat/tool-processor.js.map +0 -1
- package/dist/tool-calling/json-parser.d.ts +0 -28
- package/dist/tool-calling/json-parser.d.ts.map +0 -1
- package/dist/tool-calling/json-parser.js +0 -219
- package/dist/tool-calling/json-parser.js.map +0 -1
|
@@ -1,68 +1,47 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'fs';
|
|
2
|
-
import { homedir } from 'os';
|
|
3
2
|
import { join } from 'path';
|
|
4
3
|
import { substituteEnvVars } from '../config/env-substitution.js';
|
|
5
4
|
import { getConfigPath } from '../config/paths.js';
|
|
6
5
|
import { logError } from '../utils/message-queue.js';
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
function showArrayFormatDeprecationWarning() {
|
|
11
|
-
logError('Warning: Array format for MCP servers is deprecated.');
|
|
12
|
-
logError('Please use object format: { "mcpServers": { "serverName": { ... } } }');
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Show deprecation warning for MCP servers in agents.config.json
|
|
16
|
-
*/
|
|
17
|
-
function showAgentsConfigDeprecationWarning() {
|
|
18
|
-
const _configPath = join(getConfigPath(), '.mcp.json');
|
|
19
|
-
logError('Warning: MCP servers in agents.config.json are deprecated.');
|
|
20
|
-
logError(`Please migrate to ${_configPath}. See documentation for details.`);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Parse MCP servers from config object, supporting both array and object formats
|
|
24
|
-
* Converts array format to normalized server list with deprecation warning
|
|
7
|
+
* Parse MCP servers from .mcp.json config object.
|
|
8
|
+
* Only supports object format: { "mcpServers": { "serverName": { ... } } }
|
|
25
9
|
*/
|
|
26
10
|
function parseMCPServers(config) {
|
|
27
11
|
if (typeof config !== 'object' || config === null) {
|
|
28
12
|
return null;
|
|
29
13
|
}
|
|
30
14
|
const configObj = config;
|
|
31
|
-
|
|
32
|
-
let usedArrayFormat = false;
|
|
33
|
-
// Direct array format at root
|
|
34
|
-
if (Array.isArray(config)) {
|
|
35
|
-
mcpServers = config;
|
|
36
|
-
usedArrayFormat = true;
|
|
37
|
-
}
|
|
38
|
-
else if ('nanocoder' in configObj &&
|
|
39
|
-
configObj.nanocoder &&
|
|
40
|
-
typeof configObj.nanocoder === 'object' &&
|
|
41
|
-
'mcpServers' in configObj.nanocoder &&
|
|
42
|
-
Array.isArray(configObj.nanocoder.mcpServers)) {
|
|
43
|
-
mcpServers = configObj.nanocoder
|
|
44
|
-
.mcpServers;
|
|
45
|
-
usedArrayFormat = true;
|
|
46
|
-
}
|
|
47
|
-
else if ('mcpServers' in configObj && Array.isArray(configObj.mcpServers)) {
|
|
48
|
-
mcpServers = configObj.mcpServers;
|
|
49
|
-
usedArrayFormat = true;
|
|
50
|
-
}
|
|
51
|
-
else if ('mcpServers' in configObj &&
|
|
15
|
+
if ('mcpServers' in configObj &&
|
|
52
16
|
configObj.mcpServers &&
|
|
53
17
|
typeof configObj.mcpServers === 'object' &&
|
|
54
18
|
!Array.isArray(configObj.mcpServers)) {
|
|
55
|
-
|
|
56
|
-
mcpServers = Object.entries(configObj.mcpServers).map(([name, serverConfig]) => ({
|
|
19
|
+
return Object.entries(configObj.mcpServers).map(([name, serverConfig]) => ({
|
|
57
20
|
name,
|
|
58
21
|
...serverConfig,
|
|
59
22
|
}));
|
|
60
23
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Map a raw parsed server object to MCPServerConfig
|
|
28
|
+
*/
|
|
29
|
+
function mapServerConfig(server) {
|
|
30
|
+
const typedServer = server;
|
|
31
|
+
return {
|
|
32
|
+
name: typedServer.name,
|
|
33
|
+
transport: typedServer.transport,
|
|
34
|
+
command: typedServer.command,
|
|
35
|
+
args: typedServer.args,
|
|
36
|
+
env: typedServer.env,
|
|
37
|
+
url: typedServer.url,
|
|
38
|
+
headers: typedServer.headers,
|
|
39
|
+
timeout: typedServer.timeout,
|
|
40
|
+
alwaysAllow: typedServer.alwaysAllow,
|
|
41
|
+
description: typedServer.description,
|
|
42
|
+
tags: typedServer.tags,
|
|
43
|
+
enabled: typedServer.enabled,
|
|
44
|
+
};
|
|
66
45
|
}
|
|
67
46
|
/**
|
|
68
47
|
* Load project-level MCP configuration from .mcp.json
|
|
@@ -77,29 +56,11 @@ export function loadProjectMCPConfig() {
|
|
|
77
56
|
const config = JSON.parse(rawData);
|
|
78
57
|
const mcpServers = parseMCPServers(config);
|
|
79
58
|
if (Array.isArray(mcpServers) && mcpServers.length > 0) {
|
|
80
|
-
// Apply environment variable substitution
|
|
81
59
|
const processedServers = substituteEnvVars(mcpServers);
|
|
82
|
-
return processedServers.map((server) => {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
name: typedServer.name,
|
|
87
|
-
transport: typedServer.transport,
|
|
88
|
-
command: typedServer.command,
|
|
89
|
-
args: typedServer.args,
|
|
90
|
-
env: typedServer.env,
|
|
91
|
-
url: typedServer.url,
|
|
92
|
-
headers: typedServer.headers,
|
|
93
|
-
auth: typedServer.auth,
|
|
94
|
-
timeout: typedServer.timeout,
|
|
95
|
-
reconnect: typedServer.reconnect,
|
|
96
|
-
description: typedServer.description,
|
|
97
|
-
tags: typedServer.tags,
|
|
98
|
-
enabled: typedServer.enabled,
|
|
99
|
-
},
|
|
100
|
-
source: 'project',
|
|
101
|
-
};
|
|
102
|
-
});
|
|
60
|
+
return processedServers.map((server) => ({
|
|
61
|
+
server: mapServerConfig(server),
|
|
62
|
+
source: 'project',
|
|
63
|
+
}));
|
|
103
64
|
}
|
|
104
65
|
}
|
|
105
66
|
catch (error) {
|
|
@@ -109,113 +70,27 @@ export function loadProjectMCPConfig() {
|
|
|
109
70
|
}
|
|
110
71
|
/**
|
|
111
72
|
* Load global MCP configuration from ~/.config/nanocoder/.mcp.json
|
|
112
|
-
* Falls back to agents.config.json with deprecation warning
|
|
113
73
|
*/
|
|
114
74
|
export function loadGlobalMCPConfig() {
|
|
115
75
|
const configDir = getConfigPath();
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
if (existsSync(newConfigPath)) {
|
|
119
|
-
try {
|
|
120
|
-
const rawData = readFileSync(newConfigPath, 'utf-8');
|
|
121
|
-
const config = JSON.parse(rawData);
|
|
122
|
-
const mcpServers = parseMCPServers(config);
|
|
123
|
-
if (Array.isArray(mcpServers) && mcpServers.length > 0) {
|
|
124
|
-
const processedServers = substituteEnvVars(mcpServers);
|
|
125
|
-
return processedServers.map((server) => {
|
|
126
|
-
const typedServer = server;
|
|
127
|
-
return {
|
|
128
|
-
server: {
|
|
129
|
-
name: typedServer.name,
|
|
130
|
-
transport: typedServer.transport,
|
|
131
|
-
command: typedServer.command,
|
|
132
|
-
args: typedServer.args,
|
|
133
|
-
env: typedServer.env,
|
|
134
|
-
url: typedServer.url,
|
|
135
|
-
headers: typedServer.headers,
|
|
136
|
-
auth: typedServer.auth,
|
|
137
|
-
timeout: typedServer.timeout,
|
|
138
|
-
reconnect: typedServer.reconnect,
|
|
139
|
-
description: typedServer.description,
|
|
140
|
-
tags: typedServer.tags,
|
|
141
|
-
enabled: typedServer.enabled,
|
|
142
|
-
},
|
|
143
|
-
source: 'global',
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
logError(`Failed to load MCP config from ${newConfigPath}: ${String(error)}`);
|
|
150
|
-
}
|
|
76
|
+
const configPath = join(configDir, '.mcp.json');
|
|
77
|
+
if (!existsSync(configPath)) {
|
|
151
78
|
return [];
|
|
152
79
|
}
|
|
153
|
-
// Fallback to legacy agents.config.json with deprecation warning
|
|
154
|
-
const homePath = join(homedir(), '.agents.config.json');
|
|
155
|
-
if (existsSync(homePath)) {
|
|
156
|
-
return loadMCPConfigFromAgentsConfig(homePath);
|
|
157
|
-
}
|
|
158
|
-
const legacyConfigPath = join(configDir, 'agents.config.json');
|
|
159
|
-
if (existsSync(legacyConfigPath)) {
|
|
160
|
-
return loadMCPConfigFromAgentsConfig(legacyConfigPath);
|
|
161
|
-
}
|
|
162
|
-
return [];
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Load MCP config from legacy agents.config.json with deprecation warning
|
|
166
|
-
*/
|
|
167
|
-
function loadMCPConfigFromAgentsConfig(filePath) {
|
|
168
80
|
try {
|
|
169
|
-
const rawData = readFileSync(
|
|
81
|
+
const rawData = readFileSync(configPath, 'utf-8');
|
|
170
82
|
const config = JSON.parse(rawData);
|
|
171
|
-
|
|
172
|
-
let hasMcpServers = false;
|
|
173
|
-
if (config.nanocoder && Array.isArray(config.nanocoder.mcpServers)) {
|
|
174
|
-
mcpServers = config.nanocoder.mcpServers;
|
|
175
|
-
hasMcpServers = mcpServers !== null && mcpServers.length > 0;
|
|
176
|
-
}
|
|
177
|
-
else if (config.nanocoder &&
|
|
178
|
-
config.nanocoder.mcpServers &&
|
|
179
|
-
typeof config.nanocoder.mcpServers === 'object' &&
|
|
180
|
-
!Array.isArray(config.nanocoder.mcpServers)) {
|
|
181
|
-
// Claude Code format in agents.config.json
|
|
182
|
-
mcpServers = Object.entries(config.nanocoder.mcpServers).map(([name, serverConfig]) => ({
|
|
183
|
-
name,
|
|
184
|
-
...serverConfig,
|
|
185
|
-
}));
|
|
186
|
-
hasMcpServers = mcpServers && mcpServers.length > 0;
|
|
187
|
-
}
|
|
188
|
-
// Show deprecation warning if MCP servers found in agents.config.json
|
|
189
|
-
if (hasMcpServers) {
|
|
190
|
-
showAgentsConfigDeprecationWarning();
|
|
191
|
-
}
|
|
83
|
+
const mcpServers = parseMCPServers(config);
|
|
192
84
|
if (Array.isArray(mcpServers) && mcpServers.length > 0) {
|
|
193
85
|
const processedServers = substituteEnvVars(mcpServers);
|
|
194
|
-
return processedServers.map((server) => {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
name: typedServer.name,
|
|
199
|
-
transport: typedServer.transport,
|
|
200
|
-
command: typedServer.command,
|
|
201
|
-
args: typedServer.args,
|
|
202
|
-
env: typedServer.env,
|
|
203
|
-
url: typedServer.url,
|
|
204
|
-
headers: typedServer.headers,
|
|
205
|
-
auth: typedServer.auth,
|
|
206
|
-
timeout: typedServer.timeout,
|
|
207
|
-
reconnect: typedServer.reconnect,
|
|
208
|
-
description: typedServer.description,
|
|
209
|
-
tags: typedServer.tags,
|
|
210
|
-
enabled: typedServer.enabled,
|
|
211
|
-
},
|
|
212
|
-
source: 'global',
|
|
213
|
-
};
|
|
214
|
-
});
|
|
86
|
+
return processedServers.map((server) => ({
|
|
87
|
+
server: mapServerConfig(server),
|
|
88
|
+
source: 'global',
|
|
89
|
+
}));
|
|
215
90
|
}
|
|
216
91
|
}
|
|
217
92
|
catch (error) {
|
|
218
|
-
logError(`Failed to load MCP config from ${
|
|
93
|
+
logError(`Failed to load MCP config from ${configPath}: ${String(error)}`);
|
|
219
94
|
}
|
|
220
95
|
return [];
|
|
221
96
|
}
|
|
@@ -224,13 +99,19 @@ function loadMCPConfigFromAgentsConfig(filePath) {
|
|
|
224
99
|
* ALL servers from both locations are loaded (project servers shown first)
|
|
225
100
|
* No overriding - each unique server is preserved
|
|
226
101
|
*/
|
|
227
|
-
export function mergeMCPConfigs(projectServers, globalServers) {
|
|
102
|
+
export function mergeMCPConfigs(projectServers, globalServers, envServers = []) {
|
|
228
103
|
const serverMap = new Map();
|
|
229
|
-
// Add
|
|
104
|
+
// Add env servers first (highest priority, displayed first in UI)
|
|
105
|
+
for (const envServer of envServers) {
|
|
106
|
+
serverMap.set(envServer.server.name, envServer);
|
|
107
|
+
}
|
|
108
|
+
// Add project servers next
|
|
230
109
|
for (const projectServer of projectServers) {
|
|
231
|
-
serverMap.
|
|
110
|
+
if (!serverMap.has(projectServer.server.name)) {
|
|
111
|
+
serverMap.set(projectServer.server.name, projectServer);
|
|
112
|
+
}
|
|
232
113
|
}
|
|
233
|
-
// Add global servers (only if not already added from project)
|
|
114
|
+
// Add global servers (only if not already added from project or env)
|
|
234
115
|
for (const globalServer of globalServers) {
|
|
235
116
|
if (!serverMap.has(globalServer.server.name)) {
|
|
236
117
|
serverMap.set(globalServer.server.name, globalServer);
|
|
@@ -245,7 +126,49 @@ export function loadAllMCPConfigs() {
|
|
|
245
126
|
const projectServers = loadProjectMCPConfig();
|
|
246
127
|
// Skip loading global servers in test environment to allow test isolation
|
|
247
128
|
const globalServers = process.env.NODE_ENV === 'test' ? [] : loadGlobalMCPConfig();
|
|
248
|
-
|
|
129
|
+
const envServers = loadEnvMCPConfigs();
|
|
130
|
+
return mergeMCPConfigs(projectServers, globalServers, envServers);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Load MCP configuration from environment variables (highest precedence)
|
|
134
|
+
*/
|
|
135
|
+
function loadEnvMCPConfigs() {
|
|
136
|
+
let rawData = process.env.NANOCODER_MCPSERVERS;
|
|
137
|
+
if (!rawData && process.env.NANOCODER_MCPSERVERS_FILE) {
|
|
138
|
+
if (existsSync(process.env.NANOCODER_MCPSERVERS_FILE)) {
|
|
139
|
+
try {
|
|
140
|
+
rawData = readFileSync(process.env.NANOCODER_MCPSERVERS_FILE, 'utf-8');
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
logError(`Failed to read NANOCODER_MCPSERVERS_FILE at ${process.env.NANOCODER_MCPSERVERS_FILE}: ${String(error)}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (!rawData) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const config = JSON.parse(rawData);
|
|
152
|
+
// Accept direct array format (env vars) or standard .mcp.json wrapper format
|
|
153
|
+
let servers = null;
|
|
154
|
+
if (Array.isArray(config)) {
|
|
155
|
+
servers = config;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
servers = parseMCPServers(config);
|
|
159
|
+
}
|
|
160
|
+
if (Array.isArray(servers) && servers.length > 0) {
|
|
161
|
+
const processedServers = substituteEnvVars(servers);
|
|
162
|
+
return processedServers.map((server) => ({
|
|
163
|
+
server: mapServerConfig(server),
|
|
164
|
+
source: 'env',
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
logError(`Failed to parse MCP configs from environment: ${String(error)}`);
|
|
170
|
+
}
|
|
171
|
+
return [];
|
|
249
172
|
}
|
|
250
173
|
/**
|
|
251
174
|
* Load provider configurations from all available levels (project and global)
|
|
@@ -255,17 +178,21 @@ export function loadAllProviderConfigs() {
|
|
|
255
178
|
const projectProviders = loadProjectProviderConfigs();
|
|
256
179
|
// Skip loading global providers in test environment to allow test isolation
|
|
257
180
|
const globalProviders = process.env.NODE_ENV === 'test' ? [] : loadGlobalProviderConfigs();
|
|
258
|
-
|
|
259
|
-
//
|
|
181
|
+
const envProviders = loadEnvProviderConfigs();
|
|
182
|
+
// Merge providers with env providers taking highest precedence
|
|
260
183
|
const providerMap = new Map();
|
|
261
|
-
// Add global providers first (
|
|
184
|
+
// Add global providers first (lowest priority)
|
|
262
185
|
for (const provider of globalProviders) {
|
|
263
186
|
providerMap.set(provider.name, provider);
|
|
264
187
|
}
|
|
265
|
-
// Add project providers (
|
|
188
|
+
// Add project providers (medium priority) - overrides global ones
|
|
266
189
|
for (const provider of projectProviders) {
|
|
267
190
|
providerMap.set(provider.name, provider);
|
|
268
191
|
}
|
|
192
|
+
// Add env providers last (highest priority) - overrides all
|
|
193
|
+
for (const provider of envProviders) {
|
|
194
|
+
providerMap.set(provider.name, provider);
|
|
195
|
+
}
|
|
269
196
|
return Array.from(providerMap.values());
|
|
270
197
|
}
|
|
271
198
|
/**
|
|
@@ -301,15 +228,7 @@ function loadProjectProviderConfigs() {
|
|
|
301
228
|
function loadGlobalProviderConfigs() {
|
|
302
229
|
// Use the same path resolution logic as getClosestConfigFile
|
|
303
230
|
const configDir = getConfigPath();
|
|
304
|
-
//
|
|
305
|
-
const homePath = join(homedir(), '.agents.config.json');
|
|
306
|
-
if (existsSync(homePath)) {
|
|
307
|
-
const providers = loadProviderConfigFromFile(homePath);
|
|
308
|
-
if (providers.length > 0) {
|
|
309
|
-
return providers;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
// Next, lets look for a user level config.
|
|
231
|
+
// Look for a user level config.
|
|
313
232
|
const configPath = join(configDir, 'agents.config.json');
|
|
314
233
|
if (existsSync(configPath)) {
|
|
315
234
|
return loadProviderConfigFromFile(configPath);
|
|
@@ -338,4 +257,40 @@ function loadProviderConfigFromFile(filePath) {
|
|
|
338
257
|
}
|
|
339
258
|
return [];
|
|
340
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Load provider configurations from environment variables
|
|
262
|
+
*/
|
|
263
|
+
function loadEnvProviderConfigs() {
|
|
264
|
+
let rawData = process.env.NANOCODER_PROVIDERS;
|
|
265
|
+
if (!rawData && process.env.NANOCODER_PROVIDERS_FILE) {
|
|
266
|
+
if (existsSync(process.env.NANOCODER_PROVIDERS_FILE)) {
|
|
267
|
+
try {
|
|
268
|
+
rawData = readFileSync(process.env.NANOCODER_PROVIDERS_FILE, 'utf-8');
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
logError(`Failed to read NANOCODER_PROVIDERS_FILE at ${process.env.NANOCODER_PROVIDERS_FILE}: ${String(error)}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (!rawData) {
|
|
276
|
+
return [];
|
|
277
|
+
}
|
|
278
|
+
try {
|
|
279
|
+
const config = JSON.parse(rawData);
|
|
280
|
+
// Accept direct array format or standard agents.config.json wrapper format
|
|
281
|
+
if (Array.isArray(config)) {
|
|
282
|
+
return substituteEnvVars(config);
|
|
283
|
+
}
|
|
284
|
+
else if (config.nanocoder && Array.isArray(config.nanocoder.providers)) {
|
|
285
|
+
return substituteEnvVars(config.nanocoder.providers);
|
|
286
|
+
}
|
|
287
|
+
else if (Array.isArray(config.providers)) {
|
|
288
|
+
return substituteEnvVars(config.providers);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
logError(`Failed to parse provider configs from environment: ${String(error)}`);
|
|
293
|
+
}
|
|
294
|
+
return [];
|
|
295
|
+
}
|
|
341
296
|
//# sourceMappingURL=mcp-config-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config-loader.js","sourceRoot":"","sources":["../../source/config/mcp-config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"mcp-config-loader.js","sourceRoot":"","sources":["../../source/config/mcp-config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getAppConfig } from '../config/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Check if a nanocoder tool is configured to always be allowed
|
|
4
4
|
* @param toolName - The name of the tool to check
|
|
5
5
|
* @returns true if the tool is in the alwaysAllow list, false otherwise
|
|
6
6
|
*/
|
|
7
7
|
export function isNanocoderToolAlwaysAllowed(toolName) {
|
|
8
|
-
const alwaysAllowList =
|
|
8
|
+
const alwaysAllowList = getAppConfig().nanocoderTools?.alwaysAllow;
|
|
9
9
|
if (!Array.isArray(alwaysAllowList)) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nanocoder-tools-config.js","sourceRoot":"","sources":["../../source/config/nanocoder-tools-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"nanocoder-tools-config.js","sourceRoot":"","sources":["../../source/config/nanocoder-tools-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAgB;IAC5D,MAAM,eAAe,GAAG,YAAY,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;IAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../source/config/themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../source/config/themes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAQnD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAE7C,CAAC;AAEF,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,+BAEtD;AAED,eAAO,MAAM,YAAY,EAAE,WAA2B,CAAC"}
|