@nanocollective/nanocoder 1.22.5 → 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 -821
- 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 +11 -3
- 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 +148 -37
- package/dist/app/App.js.map +1 -1
- package/dist/app/components/chat-input.d.ts +9 -1
- package/dist/app/components/chat-input.d.ts.map +1 -1
- package/dist/app/components/chat-input.js +11 -8
- 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 -0
- package/dist/app/utils/app-util.d.ts.map +1 -1
- package/dist/app/utils/app-util.js +69 -204
- 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 +42 -10
- 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 +14 -0
- package/dist/commands/context-max.d.ts.map +1 -0
- package/dist/commands/context-max.js +15 -0
- package/dist/commands/context-max.js.map +1 -0
- 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/custom-commands.d.ts.map +1 -1
- package/dist/commands/custom-commands.js +88 -4
- package/dist/commands/custom-commands.js.map +1 -1
- package/dist/commands/exit.d.ts.map +1 -1
- package/dist/commands/exit.js +5 -8
- package/dist/commands/exit.js.map +1 -1
- 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 +2 -0
- package/dist/commands/ide.d.ts.map +1 -0
- package/dist/commands/ide.js +3 -0
- package/dist/commands/ide.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -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/schedule.d.ts +3 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +177 -0
- package/dist/commands/schedule.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/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +4 -3
- package/dist/commands/usage.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/development-mode-indicator.d.ts +3 -2
- package/dist/components/development-mode-indicator.d.ts.map +1 -1
- package/dist/components/development-mode-indicator.js +23 -9
- package/dist/components/development-mode-indicator.js.map +1 -1
- package/dist/components/ide-selector.d.ts +7 -0
- package/dist/components/ide-selector.d.ts.map +1 -0
- package/dist/components/ide-selector.js +17 -0
- package/dist/components/ide-selector.js.map +1 -0
- 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/question-prompt.d.ts +8 -0
- package/dist/components/question-prompt.d.ts.map +1 -0
- package/dist/components/question-prompt.js +58 -0
- package/dist/components/question-prompt.js.map +1 -0
- package/dist/components/scheduler-view.d.ts +14 -0
- package/dist/components/scheduler-view.d.ts.map +1 -0
- package/dist/components/scheduler-view.js +17 -0
- package/dist/components/scheduler-view.js.map +1 -0
- 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/text-input.d.ts +13 -0
- package/dist/components/text-input.d.ts.map +1 -0
- package/dist/components/text-input.js +175 -0
- package/dist/components/text-input.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 +4 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +29 -24
- 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 -746
- 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/command-integration.d.ts +24 -0
- package/dist/custom-commands/command-integration.d.ts.map +1 -0
- package/dist/custom-commands/command-integration.js +68 -0
- package/dist/custom-commands/command-integration.js.map +1 -0
- package/dist/custom-commands/executor.d.ts.map +1 -1
- package/dist/custom-commands/executor.js +12 -2
- package/dist/custom-commands/executor.js.map +1 -1
- package/dist/custom-commands/loader.d.ts +33 -5
- package/dist/custom-commands/loader.d.ts.map +1 -1
- package/dist/custom-commands/loader.js +191 -18
- package/dist/custom-commands/loader.js.map +1 -1
- package/dist/custom-commands/parser.d.ts.map +1 -1
- package/dist/custom-commands/parser.js +106 -48
- package/dist/custom-commands/parser.js.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +6 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.js +89 -76
- 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 +6 -1
- 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 +19 -5
- package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
- package/dist/hooks/useAppHandlers.d.ts +10 -1
- package/dist/hooks/useAppHandlers.d.ts.map +1 -1
- package/dist/hooks/useAppHandlers.js +124 -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 +54 -30
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +27 -7
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +54 -22
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useContextPercentage.d.ts +17 -0
- package/dist/hooks/useContextPercentage.d.ts.map +1 -0
- package/dist/hooks/useContextPercentage.js +71 -0
- package/dist/hooks/useContextPercentage.js.map +1 -0
- package/dist/hooks/useModeHandlers.d.ts +9 -12
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +31 -91
- 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 +42 -3
- package/dist/hooks/useNonInteractiveMode.js.map +1 -1
- package/dist/hooks/useSchedulerMode.d.ts +30 -0
- package/dist/hooks/useSchedulerMode.d.ts.map +1 -0
- package/dist/hooks/useSchedulerMode.js +99 -0
- package/dist/hooks/useSchedulerMode.js.map +1 -0
- 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/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-manager.js +10 -0
- package/dist/lsp/lsp-manager.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +23 -3
- 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/index.d.ts +1 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/models-dev-client.d.ts +8 -1
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +71 -15
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/schedule/cron.d.ts +14 -0
- package/dist/schedule/cron.d.ts.map +1 -0
- package/dist/schedule/cron.js +107 -0
- package/dist/schedule/cron.js.map +1 -0
- package/dist/schedule/index.d.ts +4 -0
- package/dist/schedule/index.d.ts.map +1 -0
- package/dist/schedule/index.js +4 -0
- package/dist/schedule/index.js.map +1 -0
- package/dist/schedule/runner.d.ts +42 -0
- package/dist/schedule/runner.d.ts.map +1 -0
- package/dist/schedule/runner.js +136 -0
- package/dist/schedule/runner.js.map +1 -0
- package/dist/schedule/storage.d.ts +9 -0
- package/dist/schedule/storage.d.ts.map +1 -0
- package/dist/schedule/storage.js +68 -0
- package/dist/schedule/storage.js.map +1 -0
- package/dist/schedule/types.d.ts +24 -0
- package/dist/schedule/types.d.ts.map +1 -0
- package/dist/schedule/types.js +2 -0
- package/dist/schedule/types.js.map +1 -0
- package/dist/services/bash-executor.d.ts.map +1 -1
- package/dist/services/bash-executor.js +5 -0
- package/dist/services/bash-executor.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 +4 -3
- package/dist/tool-calling/tool-parser.d.ts.map +1 -1
- package/dist/tool-calling/tool-parser.js +17 -34
- package/dist/tool-calling/tool-parser.js.map +1 -1
- package/dist/tool-calling/xml-parser.d.ts +8 -4
- package/dist/tool-calling/xml-parser.d.ts.map +1 -1
- package/dist/tool-calling/xml-parser.js +15 -5
- package/dist/tool-calling/xml-parser.js.map +1 -1
- package/dist/tools/ask-question.d.ts +3 -0
- package/dist/tools/ask-question.d.ts.map +1 -0
- package/dist/tools/ask-question.js +66 -0
- package/dist/tools/ask-question.js.map +1 -0
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +6 -1
- 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 +3 -0
- package/dist/tools/file-ops/copy-file.d.ts.map +1 -0
- package/dist/tools/file-ops/copy-file.js +96 -0
- package/dist/tools/file-ops/copy-file.js.map +1 -0
- package/dist/tools/file-ops/create-directory.d.ts +3 -0
- package/dist/tools/file-ops/create-directory.d.ts.map +1 -0
- package/dist/tools/file-ops/create-directory.js +59 -0
- package/dist/tools/file-ops/create-directory.js.map +1 -0
- package/dist/tools/file-ops/delete-file.d.ts +3 -0
- package/dist/tools/file-ops/delete-file.d.ts.map +1 -0
- package/dist/tools/file-ops/delete-file.js +74 -0
- package/dist/tools/file-ops/delete-file.js.map +1 -0
- package/dist/tools/file-ops/index.d.ts +3 -0
- package/dist/tools/file-ops/index.d.ts.map +1 -0
- package/dist/tools/file-ops/index.js +8 -0
- package/dist/tools/file-ops/index.js.map +1 -0
- package/dist/tools/file-ops/move-file.d.ts +3 -0
- package/dist/tools/file-ops/move-file.d.ts.map +1 -0
- package/dist/tools/file-ops/move-file.js +96 -0
- package/dist/tools/file-ops/move-file.js.map +1 -0
- 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 +3 -0
- package/dist/tools/file-ops/string-replace.d.ts.map +1 -0
- package/dist/tools/file-ops/string-replace.js +178 -0
- package/dist/tools/file-ops/string-replace.js.map +1 -0
- package/dist/tools/file-ops/write-file.d.ts +3 -0
- package/dist/tools/file-ops/write-file.d.ts.map +1 -0
- package/dist/tools/{write-file.js → file-ops/write-file.js} +34 -79
- package/dist/tools/file-ops/write-file.js.map +1 -0
- 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-reset.js +1 -1
- package/dist/tools/git/git-reset.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/git/index.js +3 -3
- package/dist/tools/git/index.js.map +1 -1
- package/dist/tools/git/utils.d.ts +4 -0
- package/dist/tools/git/utils.d.ts.map +1 -1
- package/dist/tools/git/utils.js +12 -0
- package/dist/tools/git/utils.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 +15 -2
- 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 +60 -10
- 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 +25 -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 +5 -0
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/commands.d.ts +20 -1
- 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 +15 -4
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +7 -0
- 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/auto-compact.d.ts.map +1 -1
- package/dist/utils/auto-compact.js +13 -7
- package/dist/utils/auto-compact.js.map +1 -1
- 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/index.d.ts.map +1 -1
- package/dist/utils/logging/index.js +18 -30
- package/dist/utils/logging/index.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/question-queue.d.ts +15 -0
- package/dist/utils/question-queue.d.ts.map +1 -0
- package/dist/utils/question-queue.js +25 -0
- package/dist/utils/question-queue.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +108 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +372 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/dist/utils/shutdown/index.d.ts +7 -0
- package/dist/utils/shutdown/index.d.ts.map +1 -0
- package/dist/utils/shutdown/index.js +6 -0
- package/dist/utils/shutdown/index.js.map +1 -0
- package/dist/utils/shutdown/shutdown-manager.d.ts +19 -0
- package/dist/utils/shutdown/shutdown-manager.d.ts.map +1 -0
- package/dist/utils/shutdown/shutdown-manager.js +100 -0
- package/dist/utils/shutdown/shutdown-manager.js.map +1 -0
- package/dist/utils/shutdown/types.d.ts +9 -0
- package/dist/utils/shutdown/types.d.ts.map +1 -0
- package/dist/utils/shutdown/types.js +2 -0
- package/dist/utils/shutdown/types.js.map +1 -0
- 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/utils/type-helpers.d.ts +140 -0
- package/dist/utils/type-helpers.d.ts.map +1 -0
- package/dist/utils/type-helpers.js +220 -0
- package/dist/utils/type-helpers.js.map +1 -0
- package/dist/utils/url-utils.d.ts +6 -0
- package/dist/utils/url-utils.d.ts.map +1 -0
- package/dist/utils/url-utils.js +22 -0
- package/dist/utils/url-utils.js.map +1 -0
- 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/vscode/vscode-server.d.ts.map +1 -1
- package/dist/vscode/vscode-server.js +10 -0
- package/dist/vscode/vscode-server.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 +3 -2
- 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 +5 -2
- 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 +8 -6
- 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 +2 -4
- package/dist/wizards/validation.js.map +1 -1
- package/package.json +22 -23
- package/source/app/prompts/main-prompt.md +21 -3
- 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 -53
- package/dist/ai-sdk-client/chat/tool-processor.js.map +0 -1
- package/dist/hooks/chat-handler/utils/context-checker.d.ts +0 -15
- package/dist/hooks/chat-handler/utils/context-checker.d.ts.map +0 -1
- package/dist/hooks/chat-handler/utils/context-checker.js +0 -68
- package/dist/hooks/chat-handler/utils/context-checker.js.map +0 -1
- package/dist/tool-calling/json-parser.d.ts +0 -24
- package/dist/tool-calling/json-parser.d.ts.map +0 -1
- package/dist/tool-calling/json-parser.js +0 -202
- package/dist/tool-calling/json-parser.js.map +0 -1
- package/dist/tools/string-replace.d.ts +0 -3
- package/dist/tools/string-replace.d.ts.map +0 -1
- package/dist/tools/string-replace.js +0 -461
- package/dist/tools/string-replace.js.map +0 -1
- package/dist/tools/write-file.d.ts +0 -3
- package/dist/tools/write-file.d.ts.map +0 -1
- package/dist/tools/write-file.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-question.d.ts","sourceRoot":"","sources":["../../source/tools/ask-question.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAuGtD,eAAO,MAAM,eAAe,EAAE,mBAI7B,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import ToolMessage from '../components/tool-message.js';
|
|
5
|
+
import { ThemeContext } from '../hooks/useTheme.js';
|
|
6
|
+
import { jsonSchema, tool } from '../types/core.js';
|
|
7
|
+
import { signalQuestion } from '../utils/question-queue.js';
|
|
8
|
+
const executeAskQuestion = async (args) => {
|
|
9
|
+
const { question, options, allowFreeform = true } = args;
|
|
10
|
+
if (!options || options.length < 2 || options.length > 4) {
|
|
11
|
+
return 'Error: ⚒ options must contain 2-4 items.';
|
|
12
|
+
}
|
|
13
|
+
const answer = await signalQuestion({
|
|
14
|
+
question,
|
|
15
|
+
options,
|
|
16
|
+
allowFreeform,
|
|
17
|
+
});
|
|
18
|
+
return answer;
|
|
19
|
+
};
|
|
20
|
+
const askQuestionCoreTool = tool({
|
|
21
|
+
description: 'Ask the user a question with selectable options. Use when you need clarification, a decision between approaches, or user preference. The user sees the question with clickable options and can optionally type a custom answer. Returns the selected answer as a string. IMPORTANT: Never re-ask a question the user has already answered. Accept their response and proceed.',
|
|
22
|
+
inputSchema: jsonSchema({
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
question: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'The question to ask the user.',
|
|
28
|
+
},
|
|
29
|
+
options: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
items: { type: 'string' },
|
|
32
|
+
description: '2-4 selectable answer options for the user to choose from.',
|
|
33
|
+
},
|
|
34
|
+
allowFreeform: {
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
description: 'If true (default), adds a "Type custom answer..." option so the user can provide their own response.',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
required: ['question', 'options'],
|
|
40
|
+
}),
|
|
41
|
+
needsApproval: false,
|
|
42
|
+
execute: async (args, _options) => {
|
|
43
|
+
return await executeAskQuestion(args);
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const AskQuestionFormatter = React.memo(({ args, result }) => {
|
|
47
|
+
const themeContext = React.useContext(ThemeContext);
|
|
48
|
+
if (!themeContext) {
|
|
49
|
+
throw new Error('ThemeContext not found');
|
|
50
|
+
}
|
|
51
|
+
const { colors } = themeContext;
|
|
52
|
+
const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 ask_user" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.secondary, children: "Question:" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: colors.text, children: args.question }) })] }), result && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.secondary, children: "Answer:" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: colors.text, children: result }) })] }))] }));
|
|
53
|
+
return _jsx(ToolMessage, { message: messageContent, hideBox: true });
|
|
54
|
+
});
|
|
55
|
+
const askQuestionFormatter = (args, result) => {
|
|
56
|
+
if (result && result.startsWith('Error:')) {
|
|
57
|
+
return _jsx(_Fragment, {});
|
|
58
|
+
}
|
|
59
|
+
return _jsx(AskQuestionFormatter, { args: args, result: result });
|
|
60
|
+
};
|
|
61
|
+
export const askQuestionTool = {
|
|
62
|
+
name: 'ask_user',
|
|
63
|
+
tool: askQuestionCoreTool,
|
|
64
|
+
formatter: askQuestionFormatter,
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=ask-question.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../source/tools/ask-question.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-bash.d.ts","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute-bash.d.ts","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAC,KAAK,kBAAkB,EAAe,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGtD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrC,CAEA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAwBzE;AA0HD,eAAO,MAAM,eAAe,EAAE,mBAM7B,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Box, Text } from 'ink';
|
|
|
3
3
|
import BashProgress from '../components/bash-progress.js';
|
|
4
4
|
import { isNanocoderToolAlwaysAllowed } from '../config/nanocoder-tools-config.js';
|
|
5
5
|
import { TRUNCATION_OUTPUT_LIMIT } from '../constants.js';
|
|
6
|
+
import { getCurrentMode } from '../context/mode-context.js';
|
|
6
7
|
import { useTheme } from '../hooks/useTheme.js';
|
|
7
8
|
import { bashExecutor } from '../services/bash-executor.js';
|
|
8
9
|
import { jsonSchema, tool } from '../types/core.js';
|
|
@@ -67,6 +68,10 @@ const executeBashCoreTool = tool({
|
|
|
67
68
|
if (isNanocoderToolAlwaysAllowed('execute_bash')) {
|
|
68
69
|
return false;
|
|
69
70
|
}
|
|
71
|
+
// Scheduler mode auto-executes all tools including bash
|
|
72
|
+
const mode = getCurrentMode();
|
|
73
|
+
if (mode === 'scheduler')
|
|
74
|
+
return false;
|
|
70
75
|
// Even in auto-accept mode, bash commands should require approval for security
|
|
71
76
|
return true;
|
|
72
77
|
},
|
|
@@ -79,7 +84,7 @@ const executeBashCoreTool = tool({
|
|
|
79
84
|
*/
|
|
80
85
|
function ExecuteBashFormatterComponent({ command, }) {
|
|
81
86
|
const { colors } = useTheme();
|
|
82
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 execute_bash" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Command: " }), _jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.primary, children: command }) })] })] }));
|
|
87
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.tool, children: "\u2692 execute_bash" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Command: " }), _jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.primary, children: command }) })] })] }));
|
|
83
88
|
}
|
|
84
89
|
/**
|
|
85
90
|
* Regular formatter - called for tool confirmation preview
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-bash.js","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAG9B,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,4BAA4B,EAAC,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AACpD,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAA0B,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAIjD,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAChE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,YAAY,GACjB,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,UAAU,GAAG,GAAG,YAAY,YAAY,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC;IACxF,CAAC;SAAM,CAAC;QACP,UAAU,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,UAAU,GAAG,UAAU,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;IACtD,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GACf,UAAU,CAAC,MAAM,GAAG,uBAAuB;QAC1C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,uBAAuB,CAAC;YACjD,yEAAyE;QAC1E,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAuB,EAAmB,EAAE;IAC7E,MAAM,EAAC,OAAO,EAAC,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;IAC7B,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAChC,WAAW,EACV,yEAAyE;IAC1E,WAAW,EAAE,UAAU,CAAoB;QAC1C,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC3C;SACD;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACrB,CAAC;IACF,uGAAuG;IACvG,aAAa,EAAE,GAAG,EAAE;QACnB,wDAAwD;QACxD,IAAI,4BAA4B,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,+EAA+E;QAC/E,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjC,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACD,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,6BAA6B,CAAC,EACtC,OAAO,GAGP;IACA,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"execute-bash.js","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-url.d.ts","sourceRoot":"","sources":["../../source/tools/fetch-url.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-url.d.ts","sourceRoot":"","sources":["../../source/tools/fetch-url.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAoKtD,eAAO,MAAM,YAAY,EAAE,mBAM1B,CAAC"}
|
package/dist/tools/fetch-url.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { convertToMarkdown } from '@nanocollective/get-md';
|
|
3
3
|
import { Box, Text } from 'ink';
|
|
4
|
-
import { MAX_URL_CONTENT_BYTES } from '../constants.js';
|
|
4
|
+
import { DEFAULT_TERMINAL_COLUMNS, MAX_URL_CONTENT_BYTES } from '../constants.js';
|
|
5
5
|
import { useTheme } from '../hooks/useTheme.js';
|
|
6
6
|
import { jsonSchema, tool } from '../types/core.js';
|
|
7
7
|
import { calculateTokens } from '../utils/token-calculator.js';
|
|
@@ -59,7 +59,15 @@ function FetchUrlFormatterComponent({ url, result, }) {
|
|
|
59
59
|
estimatedTokens = calculateTokens(result);
|
|
60
60
|
wasTruncated = result.includes('[Content truncated');
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
const terminalWidth = process.stdout.columns || DEFAULT_TERMINAL_COLUMNS;
|
|
63
|
+
const urlLabelWidth = 6; // "URL: " + 1 margin
|
|
64
|
+
const availableWidth = Math.max(terminalWidth - urlLabelWidth, 20);
|
|
65
|
+
const truncatedUrl = url.length <= availableWidth
|
|
66
|
+
? url
|
|
67
|
+
: url.slice(0, Math.floor(availableWidth / 2) - 1) +
|
|
68
|
+
'…' +
|
|
69
|
+
url.slice(-(Math.ceil(availableWidth / 2) - 1));
|
|
70
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.tool, children: "\u2692 fetch_url" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "URL: " }), _jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.text, children: truncatedUrl }) })] }), result && (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Tokens: " }), _jsxs(Text, { color: colors.text, children: ["~", estimatedTokens, " tokens"] })] }), wasTruncated && (_jsx(Box, { children: _jsx(Text, { color: colors.warning, children: "\u26A0 Content was truncated to 100KB" }) }))] }))] }));
|
|
63
71
|
}
|
|
64
72
|
const fetchUrlFormatter = (args, result) => {
|
|
65
73
|
return (_jsx(FetchUrlFormatterComponent, { url: args.url || 'unknown', result: result }));
|
|
@@ -102,5 +110,6 @@ export const fetchUrlTool = {
|
|
|
102
110
|
tool: fetchUrlCoreTool,
|
|
103
111
|
formatter: fetchUrlFormatter,
|
|
104
112
|
validator: fetchUrlValidator,
|
|
113
|
+
readOnly: true,
|
|
105
114
|
};
|
|
106
115
|
//# sourceMappingURL=fetch-url.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-url.js","sourceRoot":"","sources":["../../source/tools/fetch-url.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAG9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-url.js","sourceRoot":"","sources":["../../source/tools/fetch-url.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-file.d.ts","sourceRoot":"","sources":["../../../source/tools/file-ops/copy-file.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AA+HtD,eAAO,MAAM,YAAY,EAAE,mBAK1B,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { constants } from 'node:fs';
|
|
3
|
+
import { access, copyFile, stat } from 'node:fs/promises';
|
|
4
|
+
import { dirname, resolve } from 'node:path';
|
|
5
|
+
import { Box, Text } from 'ink';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import ToolMessage from '../../components/tool-message.js';
|
|
8
|
+
import { ThemeContext } from '../../hooks/useTheme.js';
|
|
9
|
+
import { jsonSchema, tool } from '../../types/core.js';
|
|
10
|
+
import { invalidateCache } from '../../utils/file-cache.js';
|
|
11
|
+
import { validatePathPair } from '../../utils/path-validators.js';
|
|
12
|
+
import { createFileToolApproval } from '../../utils/tool-approval.js';
|
|
13
|
+
const executeCopyFile = async (args) => {
|
|
14
|
+
const srcAbsPath = resolve(args.source);
|
|
15
|
+
const destAbsPath = resolve(args.destination);
|
|
16
|
+
await copyFile(srcAbsPath, destAbsPath);
|
|
17
|
+
invalidateCache(destAbsPath);
|
|
18
|
+
return `File copied: ${args.source} → ${args.destination}`;
|
|
19
|
+
};
|
|
20
|
+
const copyFileCoreTool = tool({
|
|
21
|
+
description: 'Copy a file to a new location. Use this instead of execute_bash with cp.',
|
|
22
|
+
inputSchema: jsonSchema({
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
source: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'The relative path of the file to copy.',
|
|
28
|
+
},
|
|
29
|
+
destination: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'The relative path for the copy.',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
required: ['source', 'destination'],
|
|
35
|
+
}),
|
|
36
|
+
needsApproval: createFileToolApproval('copy_file'),
|
|
37
|
+
execute: async (args, _options) => {
|
|
38
|
+
return await executeCopyFile(args);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
const CopyFileFormatter = React.memo(({ args, result }) => {
|
|
42
|
+
const themeContext = React.useContext(ThemeContext);
|
|
43
|
+
if (!themeContext) {
|
|
44
|
+
throw new Error('ThemeContext is required');
|
|
45
|
+
}
|
|
46
|
+
const { colors } = themeContext;
|
|
47
|
+
const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 copy_file" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Source: " }), _jsx(Text, { color: colors.text, children: args.source })] }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Destination: " }), _jsx(Text, { color: colors.text, children: args.destination })] }), result && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Result: " }), _jsx(Text, { color: colors.text, children: result })] }))] }));
|
|
48
|
+
return _jsx(ToolMessage, { message: messageContent, hideBox: true });
|
|
49
|
+
});
|
|
50
|
+
const copyFileFormatter = (args, result) => {
|
|
51
|
+
return _jsx(CopyFileFormatter, { args: args, result: result });
|
|
52
|
+
};
|
|
53
|
+
const copyFileValidator = async (args) => {
|
|
54
|
+
const pathResult = validatePathPair(args.source, args.destination);
|
|
55
|
+
if (!pathResult.valid)
|
|
56
|
+
return pathResult;
|
|
57
|
+
// Check source exists
|
|
58
|
+
const srcAbsPath = resolve(args.source);
|
|
59
|
+
try {
|
|
60
|
+
await access(srcAbsPath, constants.F_OK);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return {
|
|
64
|
+
valid: false,
|
|
65
|
+
error: `⚒ Source file does not exist: "${args.source}"`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Check source is a file
|
|
69
|
+
const fileStat = await stat(srcAbsPath);
|
|
70
|
+
if (fileStat.isDirectory()) {
|
|
71
|
+
return {
|
|
72
|
+
valid: false,
|
|
73
|
+
error: `⚒ Source is a directory, not a file: "${args.source}"`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// Check destination parent directory exists
|
|
77
|
+
const destAbsPath = resolve(args.destination);
|
|
78
|
+
const parentDir = dirname(destAbsPath);
|
|
79
|
+
try {
|
|
80
|
+
await access(parentDir, constants.F_OK);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return {
|
|
84
|
+
valid: false,
|
|
85
|
+
error: `⚒ Destination parent directory does not exist: "${parentDir}"`,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return { valid: true };
|
|
89
|
+
};
|
|
90
|
+
export const copyFileTool = {
|
|
91
|
+
name: 'copy_file',
|
|
92
|
+
tool: copyFileCoreTool,
|
|
93
|
+
formatter: copyFileFormatter,
|
|
94
|
+
validator: copyFileValidator,
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=copy-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-file.js","sourceRoot":"","sources":["../../../source/tools/file-ops/copy-file.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAO7D,MAAM,eAAe,GAAG,KAAK,EAAE,IAAkB,EAAmB,EAAE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxC,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,OAAO,gBAAgB,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC7B,WAAW,EACV,0EAA0E;IAC3E,WAAW,EAAE,UAAU,CAAe;QACrC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,MAAM,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;aACrD;YACD,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC9C;SACD;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;KACnC,CAAC;IACF,aAAa,EAAE,sBAAsB,CAAC,WAAW,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjC,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CACnC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAwC,EAAE,EAAE;IACzD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC;IAE9B,MAAM,cAAc,GAAG,CACtB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,iCAAoB,EAE5C,MAAC,GAAG,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,yBAAiB,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,CAAC,MAAM,GAAQ,IACzC,EAEN,MAAC,GAAG,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,8BAAsB,EACnD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,CAAC,WAAW,GAAQ,IAC9C,EAEL,MAAM,IAAI,CACV,MAAC,GAAG,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,yBAAiB,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,MAAM,GAAQ,IACpC,CACN,IACI,CACN,CAAC;IAEF,OAAO,KAAC,WAAW,IAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,GAAI,CAAC;AAChE,CAAC,CACD,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACzB,IAAkB,EAClB,MAAe,EACM,EAAE;IACvB,OAAO,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC9B,IAAkB,EACuC,EAAE;IAC3D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAEzC,sBAAsB;IACtB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,kCAAkC,IAAI,CAAC,MAAM,GAAG;SACvD,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,yCAAyC,IAAI,CAAC,MAAM,GAAG;SAC9D,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,mDAAmD,SAAS,GAAG;SACtE,CAAC;IACH,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB;IAChD,IAAI,EAAE,WAAoB;IAC1B,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,iBAAiB;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-directory.d.ts","sourceRoot":"","sources":["../../../source/tools/file-ops/create-directory.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAsFtD,eAAO,MAAM,mBAAmB,EAAE,mBAKjC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
|
+
import { resolve } from 'node:path';
|
|
5
|
+
import { Box, Text } from 'ink';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import ToolMessage from '../../components/tool-message.js';
|
|
8
|
+
import { ThemeContext } from '../../hooks/useTheme.js';
|
|
9
|
+
import { jsonSchema, tool } from '../../types/core.js';
|
|
10
|
+
import { validatePath } from '../../utils/path-validators.js';
|
|
11
|
+
const executeCreateDirectory = async (args) => {
|
|
12
|
+
const absPath = resolve(args.path);
|
|
13
|
+
const alreadyExists = existsSync(absPath);
|
|
14
|
+
await mkdir(absPath, { recursive: true });
|
|
15
|
+
if (alreadyExists) {
|
|
16
|
+
return `Directory already exists: ${args.path}`;
|
|
17
|
+
}
|
|
18
|
+
return `Directory created: ${args.path}`;
|
|
19
|
+
};
|
|
20
|
+
const createDirectoryCoreTool = tool({
|
|
21
|
+
description: 'Create a directory, including parent directories if needed. Idempotent — succeeds if the directory already exists. AUTO-ACCEPTED (no user approval needed).',
|
|
22
|
+
inputSchema: jsonSchema({
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
path: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'The relative path of the directory to create (e.g., "src/components/new-feature").',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
required: ['path'],
|
|
31
|
+
}),
|
|
32
|
+
// Low risk: creating directories is non-destructive and idempotent
|
|
33
|
+
needsApproval: false,
|
|
34
|
+
execute: async (args, _options) => {
|
|
35
|
+
return await executeCreateDirectory(args);
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
const CreateDirectoryFormatter = React.memo(({ args, result }) => {
|
|
39
|
+
const themeContext = React.useContext(ThemeContext);
|
|
40
|
+
if (!themeContext) {
|
|
41
|
+
throw new Error('ThemeContext is required');
|
|
42
|
+
}
|
|
43
|
+
const { colors } = themeContext;
|
|
44
|
+
const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 create_directory" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Path: " }), _jsx(Text, { color: colors.text, children: args.path })] }), result && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Result: " }), _jsx(Text, { color: colors.text, children: result })] }))] }));
|
|
45
|
+
return _jsx(ToolMessage, { message: messageContent, hideBox: true });
|
|
46
|
+
});
|
|
47
|
+
const createDirectoryFormatter = (args, result) => {
|
|
48
|
+
return _jsx(CreateDirectoryFormatter, { args: args, result: result });
|
|
49
|
+
};
|
|
50
|
+
const createDirectoryValidator = async (args) => {
|
|
51
|
+
return validatePath(args.path);
|
|
52
|
+
};
|
|
53
|
+
export const createDirectoryTool = {
|
|
54
|
+
name: 'create_directory',
|
|
55
|
+
tool: createDirectoryCoreTool,
|
|
56
|
+
formatter: createDirectoryFormatter,
|
|
57
|
+
validator: createDirectoryValidator,
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=create-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-directory.js","sourceRoot":"","sources":["../../../source/tools/file-ops/create-directory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-file.d.ts","sourceRoot":"","sources":["../../../source/tools/file-ops/delete-file.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAoGtD,eAAO,MAAM,cAAc,EAAE,mBAK5B,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { constants } from 'node:fs';
|
|
3
|
+
import { access, rm, stat } from 'node:fs/promises';
|
|
4
|
+
import { resolve } from 'node:path';
|
|
5
|
+
import { Box, Text } from 'ink';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import ToolMessage from '../../components/tool-message.js';
|
|
8
|
+
import { ThemeContext } from '../../hooks/useTheme.js';
|
|
9
|
+
import { jsonSchema, tool } from '../../types/core.js';
|
|
10
|
+
import { invalidateCache } from '../../utils/file-cache.js';
|
|
11
|
+
import { validatePath } from '../../utils/path-validators.js';
|
|
12
|
+
import { createFileToolApproval } from '../../utils/tool-approval.js';
|
|
13
|
+
const executeDeleteFile = async (args) => {
|
|
14
|
+
const absPath = resolve(args.path);
|
|
15
|
+
const fileStat = await stat(absPath);
|
|
16
|
+
if (fileStat.isDirectory()) {
|
|
17
|
+
return `Error: "${args.path}" is a directory. Use execute_bash with rm -r for directory removal.`;
|
|
18
|
+
}
|
|
19
|
+
await rm(absPath);
|
|
20
|
+
invalidateCache(absPath);
|
|
21
|
+
return `File deleted: ${args.path}`;
|
|
22
|
+
};
|
|
23
|
+
const deleteFileCoreTool = tool({
|
|
24
|
+
description: 'Delete a file. Only deletes single files, not directories. Always requires user approval.',
|
|
25
|
+
inputSchema: jsonSchema({
|
|
26
|
+
type: 'object',
|
|
27
|
+
properties: {
|
|
28
|
+
path: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'The relative path to the file to delete.',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
required: ['path'],
|
|
34
|
+
}),
|
|
35
|
+
needsApproval: createFileToolApproval('delete_file'),
|
|
36
|
+
execute: async (args, _options) => {
|
|
37
|
+
return await executeDeleteFile(args);
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
const DeleteFileFormatter = React.memo(({ args, result }) => {
|
|
41
|
+
const themeContext = React.useContext(ThemeContext);
|
|
42
|
+
if (!themeContext) {
|
|
43
|
+
throw new Error('ThemeContext is required');
|
|
44
|
+
}
|
|
45
|
+
const { colors } = themeContext;
|
|
46
|
+
const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 delete_file" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Path: " }), _jsx(Text, { color: colors.text, children: args.path })] }), result && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Result: " }), _jsx(Text, { color: colors.text, children: result })] }))] }));
|
|
47
|
+
return _jsx(ToolMessage, { message: messageContent, hideBox: true });
|
|
48
|
+
});
|
|
49
|
+
const deleteFileFormatter = (args, result) => {
|
|
50
|
+
return _jsx(DeleteFileFormatter, { args: args, result: result });
|
|
51
|
+
};
|
|
52
|
+
const deleteFileValidator = async (args) => {
|
|
53
|
+
const pathResult = validatePath(args.path);
|
|
54
|
+
if (!pathResult.valid)
|
|
55
|
+
return pathResult;
|
|
56
|
+
const absPath = resolve(args.path);
|
|
57
|
+
try {
|
|
58
|
+
await access(absPath, constants.F_OK);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return {
|
|
62
|
+
valid: false,
|
|
63
|
+
error: `⚒ File does not exist: "${args.path}"`,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return { valid: true };
|
|
67
|
+
};
|
|
68
|
+
export const deleteFileTool = {
|
|
69
|
+
name: 'delete_file',
|
|
70
|
+
tool: deleteFileCoreTool,
|
|
71
|
+
formatter: deleteFileFormatter,
|
|
72
|
+
validator: deleteFileValidator,
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=delete-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-file.js","sourceRoot":"","sources":["../../../source/tools/file-ops/delete-file.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/tools/file-ops/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAMtD,wBAAgB,cAAc,IAAI,mBAAmB,EAAE,CAEtD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { copyFileTool } from './copy-file.js';
|
|
2
|
+
import { createDirectoryTool } from './create-directory.js';
|
|
3
|
+
import { deleteFileTool } from './delete-file.js';
|
|
4
|
+
import { moveFileTool } from './move-file.js';
|
|
5
|
+
export function getFileOpTools() {
|
|
6
|
+
return [deleteFileTool, moveFileTool, createDirectoryTool, copyFileTool];
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/tools/file-ops/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,cAAc;IAC7B,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-file.d.ts","sourceRoot":"","sources":["../../../source/tools/file-ops/move-file.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AA+HtD,eAAO,MAAM,YAAY,EAAE,mBAK1B,CAAC"}
|