@nanocollective/nanocoder 1.20.4 → 1.22.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 -1
- package/README.md +157 -72
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client/ai-sdk-client.d.ts.map +1 -1
- package/dist/ai-sdk-client/ai-sdk-client.js.map +1 -1
- package/dist/ai-sdk-client/chat/chat-handler.d.ts +1 -0
- package/dist/ai-sdk-client/chat/chat-handler.d.ts.map +1 -1
- package/dist/ai-sdk-client/chat/chat-handler.js +66 -7
- package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
- package/dist/ai-sdk-client/error-handling/tool-error-detector.d.ts +8 -0
- package/dist/ai-sdk-client/error-handling/tool-error-detector.d.ts.map +1 -0
- package/dist/ai-sdk-client/error-handling/tool-error-detector.js +52 -0
- package/dist/ai-sdk-client/error-handling/tool-error-detector.js.map +1 -0
- package/dist/ai-sdk-client/providers/provider-factory.d.ts +6 -3
- package/dist/ai-sdk-client/providers/provider-factory.d.ts.map +1 -1
- package/dist/ai-sdk-client/providers/provider-factory.js +18 -4
- package/dist/ai-sdk-client/providers/provider-factory.js.map +1 -1
- package/dist/ai-sdk-client/tools/tool-prompt-formatter.d.ts +8 -0
- package/dist/ai-sdk-client/tools/tool-prompt-formatter.d.ts.map +1 -0
- package/dist/ai-sdk-client/tools/tool-prompt-formatter.js +97 -0
- package/dist/ai-sdk-client/tools/tool-prompt-formatter.js.map +1 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/App.js +22 -12
- package/dist/app/App.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 +10 -10
- package/dist/app/components/modal-selectors.js.map +1 -1
- package/dist/app/components/settings-selector.d.ts +6 -0
- package/dist/app/components/settings-selector.d.ts.map +1 -0
- package/dist/app/components/settings-selector.js +289 -0
- package/dist/app/components/settings-selector.js.map +1 -0
- package/dist/app/utils/app-util.d.ts.map +1 -1
- package/dist/app/utils/app-util.js +178 -13
- package/dist/app/utils/app-util.js.map +1 -1
- package/dist/cli.js +22 -0
- package/dist/cli.js.map +1 -1
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +23 -20
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/clear.d.ts.map +1 -1
- package/dist/commands/clear.js +8 -5
- package/dist/commands/clear.js.map +1 -1
- package/dist/commands/compact.d.ts +24 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +31 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/custom-commands.d.ts.map +1 -1
- package/dist/commands/custom-commands.js +1 -1
- package/dist/commands/custom-commands.js.map +1 -1
- package/dist/commands/exit.d.ts +1 -0
- package/dist/commands/exit.d.ts.map +1 -1
- package/dist/commands/exit.js +14 -0
- package/dist/commands/exit.js.map +1 -1
- package/dist/commands/explorer.d.ts +3 -0
- package/dist/commands/explorer.d.ts.map +1 -0
- package/dist/commands/explorer.js +10 -0
- package/dist/commands/explorer.js.map +1 -0
- 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/index.d.ts +6 -3
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +6 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lsp.d.ts.map +1 -1
- package/dist/commands/lsp.js +1 -1
- package/dist/commands/lsp.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +15 -21
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/model-database.d.ts.map +1 -1
- package/dist/commands/model-database.js +3 -3
- package/dist/commands/model-database.js.map +1 -1
- package/dist/commands/settings.d.ts +3 -0
- package/dist/commands/settings.d.ts.map +1 -0
- package/dist/commands/{theme.js → settings.js} +4 -4
- package/dist/commands/settings.js.map +1 -0
- package/dist/commands/setup-mcp.d.ts +3 -0
- package/dist/commands/setup-mcp.d.ts.map +1 -0
- package/dist/commands/setup-mcp.js +15 -0
- package/dist/commands/setup-mcp.js.map +1 -0
- package/dist/commands/setup-providers.d.ts +3 -0
- package/dist/commands/setup-providers.d.ts.map +1 -0
- package/dist/commands/{setup-config.js → setup-providers.js} +4 -4
- package/dist/commands/setup-providers.js.map +1 -0
- package/dist/commands/tasks.d.ts +3 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +117 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +31 -9
- package/dist/commands/usage.js.map +1 -1
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +39 -6
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/checkpoint-selector.d.ts.map +1 -1
- package/dist/components/checkpoint-selector.js +3 -3
- package/dist/components/checkpoint-selector.js.map +1 -1
- package/dist/components/file-explorer/index.d.ts +3 -0
- package/dist/components/file-explorer/index.d.ts.map +1 -0
- package/dist/components/file-explorer/index.js +318 -0
- package/dist/components/file-explorer/index.js.map +1 -0
- package/dist/components/file-explorer/tree-item.d.ts +3 -0
- package/dist/components/file-explorer/tree-item.d.ts.map +1 -0
- package/dist/components/file-explorer/tree-item.js +42 -0
- package/dist/components/file-explorer/tree-item.js.map +1 -0
- package/dist/components/file-explorer/utils.d.ts +18 -0
- package/dist/components/file-explorer/utils.d.ts.map +1 -0
- package/dist/components/file-explorer/utils.js +51 -0
- package/dist/components/file-explorer/utils.js.map +1 -0
- package/dist/components/file-explorer.d.ts +2 -0
- package/dist/components/file-explorer.d.ts.map +1 -0
- package/dist/components/file-explorer.js +3 -0
- package/dist/components/file-explorer.js.map +1 -0
- package/dist/components/message-box.d.ts +1 -0
- package/dist/components/message-box.d.ts.map +1 -1
- package/dist/components/message-box.js +2 -2
- package/dist/components/message-box.js.map +1 -1
- package/dist/components/model-selector.d.ts.map +1 -1
- package/dist/components/model-selector.js +3 -3
- package/dist/components/model-selector.js.map +1 -1
- package/dist/components/provider-selector.d.ts.map +1 -1
- package/dist/components/provider-selector.js +1 -1
- package/dist/components/provider-selector.js.map +1 -1
- package/dist/components/security-disclaimer.d.ts.map +1 -1
- package/dist/components/security-disclaimer.js +1 -1
- package/dist/components/security-disclaimer.js.map +1 -1
- package/dist/components/status.d.ts +11 -0
- package/dist/components/status.d.ts.map +1 -1
- package/dist/components/status.js +4 -4
- package/dist/components/status.js.map +1 -1
- package/dist/components/task-list-display.d.ts +8 -0
- package/dist/components/task-list-display.d.ts.map +1 -0
- package/dist/components/task-list-display.js +26 -0
- package/dist/components/task-list-display.js.map +1 -0
- package/dist/components/tool-message.d.ts.map +1 -1
- package/dist/components/tool-message.js +1 -1
- package/dist/components/tool-message.js.map +1 -1
- package/dist/components/ui/styled-title.js +38 -38
- package/dist/components/usage/progress-bar.d.ts.map +1 -1
- package/dist/components/usage/progress-bar.js +6 -3
- package/dist/components/usage/progress-bar.js.map +1 -1
- package/dist/components/usage/usage-display.d.ts.map +1 -1
- package/dist/components/usage/usage-display.js +1 -1
- package/dist/components/usage/usage-display.js.map +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +36 -16
- 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 +43 -12
- package/dist/components/user-message.js.map +1 -1
- package/dist/components/welcome-message.d.ts.map +1 -1
- package/dist/components/welcome-message.js +6 -2
- package/dist/components/welcome-message.js.map +1 -1
- package/dist/config/index.d.ts +7 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +100 -16
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-config-loader.d.ts +31 -0
- package/dist/config/mcp-config-loader.d.ts.map +1 -0
- package/dist/config/mcp-config-loader.js +341 -0
- package/dist/config/mcp-config-loader.js.map +1 -0
- package/dist/config/nanocoder-tools-config.d.ts +7 -0
- package/dist/config/nanocoder-tools-config.d.ts.map +1 -0
- package/dist/config/nanocoder-tools-config.js +14 -0
- package/dist/config/nanocoder-tools-config.js.map +1 -0
- package/dist/config/preferences.d.ts +4 -0
- package/dist/config/preferences.d.ts.map +1 -1
- package/dist/config/preferences.js +14 -0
- package/dist/config/preferences.js.map +1 -1
- package/dist/config/themes.d.ts.map +1 -1
- package/dist/config/themes.js +340 -0
- package/dist/config/themes.js.map +1 -1
- package/dist/config/validation.d.ts +11 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +71 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +63 -0
- package/dist/constants.js.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +3 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.js +52 -18
- package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.js +7 -0
- package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
- package/dist/hooks/useAppHandlers.d.ts +3 -2
- package/dist/hooks/useAppHandlers.d.ts.map +1 -1
- package/dist/hooks/useAppHandlers.js +67 -4
- package/dist/hooks/useAppHandlers.js.map +1 -1
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +14 -4
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +6 -4
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +9 -6
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useModeHandlers.d.ts +12 -10
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +52 -42
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/hooks/useTerminalWidth.d.ts +1 -1
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +2 -2
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/hooks/useUIState.d.ts +2 -0
- package/dist/hooks/useUIState.d.ts.map +1 -1
- package/dist/hooks/useUIState.js +11 -1
- package/dist/hooks/useUIState.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts +2 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +13 -1
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +61 -37
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/services/bash-executor.d.ts.map +1 -1
- package/dist/services/bash-executor.js +7 -0
- package/dist/services/bash-executor.js.map +1 -1
- package/dist/test-utils/cli-test-harness.d.ts +181 -0
- package/dist/test-utils/cli-test-harness.d.ts.map +1 -0
- package/dist/test-utils/cli-test-harness.js +413 -0
- package/dist/test-utils/cli-test-harness.js.map +1 -0
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +10 -2
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/git/git-add.d.ts +8 -0
- package/dist/tools/git/git-add.d.ts.map +1 -0
- package/dist/tools/git/git-add.js +141 -0
- package/dist/tools/git/git-add.js.map +1 -0
- package/dist/tools/git/git-branch.d.ts +8 -0
- package/dist/tools/git/git-branch.d.ts.map +1 -0
- package/dist/tools/git/git-branch.js +251 -0
- package/dist/tools/git/git-branch.js.map +1 -0
- package/dist/tools/git/git-commit.d.ts +8 -0
- package/dist/tools/git/git-commit.d.ts.map +1 -0
- package/dist/tools/git/git-commit.js +176 -0
- package/dist/tools/git/git-commit.js.map +1 -0
- package/dist/tools/git/git-diff.d.ts +8 -0
- package/dist/tools/git/git-diff.d.ts.map +1 -0
- package/dist/tools/git/git-diff.js +136 -0
- package/dist/tools/git/git-diff.js.map +1 -0
- package/dist/tools/git/git-log.d.ts +8 -0
- package/dist/tools/git/git-log.d.ts.map +1 -0
- package/dist/tools/git/git-log.js +146 -0
- package/dist/tools/git/git-log.js.map +1 -0
- package/dist/tools/git/git-pr.d.ts +8 -0
- package/dist/tools/git/git-pr.d.ts.map +1 -0
- package/dist/tools/git/git-pr.js +252 -0
- package/dist/tools/git/git-pr.js.map +1 -0
- package/dist/tools/git/git-pull.d.ts +8 -0
- package/dist/tools/git/git-pull.d.ts.map +1 -0
- package/dist/tools/git/git-pull.js +151 -0
- package/dist/tools/git/git-pull.js.map +1 -0
- package/dist/tools/git/git-push.d.ts +8 -0
- package/dist/tools/git/git-push.d.ts.map +1 -0
- package/dist/tools/git/git-push.js +157 -0
- package/dist/tools/git/git-push.js.map +1 -0
- package/dist/tools/git/git-reset.d.ts +8 -0
- package/dist/tools/git/git-reset.d.ts.map +1 -0
- package/dist/tools/git/git-reset.js +183 -0
- package/dist/tools/git/git-reset.js.map +1 -0
- package/dist/tools/git/git-stash.d.ts +8 -0
- package/dist/tools/git/git-stash.d.ts.map +1 -0
- package/dist/tools/git/git-stash.js +260 -0
- package/dist/tools/git/git-stash.js.map +1 -0
- package/dist/tools/git/git-status.d.ts +8 -0
- package/dist/tools/git/git-status.d.ts.map +1 -0
- package/dist/tools/git/git-status.js +233 -0
- package/dist/tools/git/git-status.js.map +1 -0
- package/dist/tools/git/index.d.ts +9 -12
- package/dist/tools/git/index.d.ts.map +1 -1
- package/dist/tools/git/index.js +43 -11
- package/dist/tools/git/index.js.map +1 -1
- package/dist/tools/git/utils.d.ts +136 -23
- package/dist/tools/git/utils.d.ts.map +1 -1
- package/dist/tools/git/utils.js +405 -360
- package/dist/tools/git/utils.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/string-replace.d.ts.map +1 -1
- package/dist/tools/string-replace.js +74 -17
- package/dist/tools/string-replace.js.map +1 -1
- package/dist/tools/tasks/create-task.d.ts +3 -0
- package/dist/tools/tasks/create-task.d.ts.map +1 -0
- package/dist/tools/tasks/create-task.js +101 -0
- package/dist/tools/tasks/create-task.js.map +1 -0
- package/dist/tools/tasks/delete-task.d.ts +3 -0
- package/dist/tools/tasks/delete-task.d.ts.map +1 -0
- package/dist/tools/tasks/delete-task.js +101 -0
- package/dist/tools/tasks/delete-task.js.map +1 -0
- package/dist/tools/tasks/index.d.ts +7 -0
- package/dist/tools/tasks/index.d.ts.map +1 -0
- package/dist/tools/tasks/index.js +6 -0
- package/dist/tools/tasks/index.js.map +1 -0
- package/dist/tools/tasks/list-tasks.d.ts +3 -0
- package/dist/tools/tasks/list-tasks.d.ts.map +1 -0
- package/dist/tools/tasks/list-tasks.js +67 -0
- package/dist/tools/tasks/list-tasks.js.map +1 -0
- package/dist/tools/tasks/storage.d.ts +7 -0
- package/dist/tools/tasks/storage.d.ts.map +1 -0
- package/dist/tools/tasks/storage.js +31 -0
- package/dist/tools/tasks/storage.js.map +1 -0
- package/dist/tools/tasks/types.d.ts +11 -0
- package/dist/tools/tasks/types.d.ts.map +1 -0
- package/dist/tools/tasks/types.js +2 -0
- package/dist/tools/tasks/types.js.map +1 -0
- package/dist/tools/tasks/update-task.d.ts +3 -0
- package/dist/tools/tasks/update-task.d.ts.map +1 -0
- package/dist/tools/tasks/update-task.js +142 -0
- package/dist/tools/tasks/update-task.js.map +1 -0
- package/dist/tools/tool-manager.d.ts +1 -0
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +52 -3
- package/dist/tools/write-file.js.map +1 -1
- package/dist/types/app.d.ts +3 -2
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/config.d.ts +54 -27
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/file-explorer.d.ts +14 -0
- package/dist/types/file-explorer.d.ts.map +1 -0
- package/dist/types/file-explorer.js +2 -0
- package/dist/types/file-explorer.js.map +1 -0
- package/dist/types/mcp.d.ts +1 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/ui.d.ts +2 -2
- package/dist/types/ui.d.ts.map +1 -1
- package/dist/utils/auto-compact.d.ts +23 -0
- package/dist/utils/auto-compact.d.ts.map +1 -0
- package/dist/utils/auto-compact.js +149 -0
- package/dist/utils/auto-compact.js.map +1 -0
- package/dist/utils/completion-note.d.ts +3 -0
- package/dist/utils/completion-note.d.ts.map +1 -0
- package/dist/utils/completion-note.js +39 -0
- package/dist/utils/completion-note.js.map +1 -0
- package/dist/utils/compression-backup.d.ts +14 -0
- package/dist/utils/compression-backup.d.ts.map +1 -0
- package/dist/utils/compression-backup.js +31 -0
- package/dist/utils/compression-backup.js.map +1 -0
- package/dist/utils/file-tree.d.ts +37 -0
- package/dist/utils/file-tree.d.ts.map +1 -0
- package/dist/utils/file-tree.js +122 -0
- package/dist/utils/file-tree.js.map +1 -0
- package/dist/utils/indentation-normalizer.d.ts +10 -0
- package/dist/utils/indentation-normalizer.d.ts.map +1 -1
- package/dist/utils/indentation-normalizer.js +48 -0
- package/dist/utils/indentation-normalizer.js.map +1 -1
- package/dist/utils/logging/config.d.ts +11 -0
- package/dist/utils/logging/config.d.ts.map +1 -1
- package/dist/utils/logging/config.js +19 -4
- package/dist/utils/logging/config.js.map +1 -1
- package/dist/utils/logging/logger-provider.d.ts +15 -0
- package/dist/utils/logging/logger-provider.d.ts.map +1 -1
- package/dist/utils/logging/logger-provider.js +48 -24
- package/dist/utils/logging/logger-provider.js.map +1 -1
- package/dist/utils/message-compression.d.ts +55 -0
- package/dist/utils/message-compression.d.ts.map +1 -0
- package/dist/utils/message-compression.js +401 -0
- package/dist/utils/message-compression.js.map +1 -0
- package/dist/vscode/protocol.d.ts +5 -1
- package/dist/vscode/protocol.d.ts.map +1 -1
- package/dist/vscode/vscode-server.d.ts +4 -0
- 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 +8 -0
- package/dist/wizards/mcp-wizard.d.ts.map +1 -0
- package/dist/wizards/mcp-wizard.js +256 -0
- package/dist/wizards/mcp-wizard.js.map +1 -0
- package/dist/wizards/provider-wizard.d.ts +8 -0
- package/dist/wizards/provider-wizard.d.ts.map +1 -0
- package/dist/wizards/provider-wizard.js +254 -0
- package/dist/wizards/provider-wizard.js.map +1 -0
- package/dist/wizards/steps/location-step.d.ts +10 -0
- package/dist/wizards/steps/location-step.d.ts.map +1 -0
- package/dist/{wizard → wizards}/steps/location-step.js +7 -10
- package/dist/wizards/steps/location-step.js.map +1 -0
- package/dist/{wizard → wizards}/steps/mcp-step.d.ts +3 -1
- package/dist/wizards/steps/mcp-step.d.ts.map +1 -0
- package/dist/{wizard → wizards}/steps/mcp-step.js +14 -11
- package/dist/wizards/steps/mcp-step.js.map +1 -0
- package/dist/wizards/steps/provider-step.d.ts +11 -0
- package/dist/wizards/steps/provider-step.d.ts.map +1 -0
- package/dist/{wizard → wizards}/steps/provider-step.js +12 -10
- package/dist/wizards/steps/provider-step.js.map +1 -0
- package/dist/{wizard → wizards}/steps/summary-step.d.ts +3 -2
- package/dist/wizards/steps/summary-step.d.ts.map +1 -0
- package/dist/{wizard → wizards}/steps/summary-step.js +2 -2
- package/dist/wizards/steps/summary-step.js.map +1 -0
- package/dist/{wizard → wizards}/templates/mcp-templates.d.ts +1 -0
- package/dist/wizards/templates/mcp-templates.d.ts.map +1 -0
- package/dist/wizards/templates/mcp-templates.js.map +1 -0
- package/dist/wizards/templates/provider-templates.d.ts.map +1 -0
- package/dist/{wizard → wizards}/templates/provider-templates.js +73 -8
- package/dist/wizards/templates/provider-templates.js.map +1 -0
- package/dist/wizards/utils/fetch-cloud-models.d.ts.map +1 -0
- package/dist/wizards/utils/fetch-cloud-models.js.map +1 -0
- package/dist/wizards/utils/fetch-local-models.d.ts.map +1 -0
- package/dist/wizards/utils/fetch-local-models.js.map +1 -0
- package/dist/wizards/validation.d.ts +72 -0
- package/dist/wizards/validation.d.ts.map +1 -0
- package/dist/{wizard → wizards}/validation.js +64 -1
- package/dist/wizards/validation.js.map +1 -0
- package/package.json +21 -6
- package/source/app/prompts/main-prompt.md +75 -68
- package/dist/commands/setup-config.d.ts +0 -3
- package/dist/commands/setup-config.d.ts.map +0 -1
- package/dist/commands/setup-config.js.map +0 -1
- package/dist/commands/theme.d.ts +0 -3
- package/dist/commands/theme.d.ts.map +0 -1
- package/dist/commands/theme.js.map +0 -1
- package/dist/commands/title-shape.d.ts +0 -3
- package/dist/commands/title-shape.d.ts.map +0 -1
- package/dist/commands/title-shape.js +0 -54
- package/dist/commands/title-shape.js.map +0 -1
- package/dist/components/theme-selector.d.ts +0 -8
- package/dist/components/theme-selector.d.ts.map +0 -1
- package/dist/components/theme-selector.js +0 -51
- package/dist/components/theme-selector.js.map +0 -1
- package/dist/components/title-shape-selector.d.ts +0 -8
- package/dist/components/title-shape-selector.d.ts.map +0 -1
- package/dist/components/title-shape-selector.js +0 -108
- package/dist/components/title-shape-selector.js.map +0 -1
- package/dist/tools/git/git-branch-suggest.d.ts +0 -9
- package/dist/tools/git/git-branch-suggest.d.ts.map +0 -1
- package/dist/tools/git/git-branch-suggest.js +0 -326
- package/dist/tools/git/git-branch-suggest.js.map +0 -1
- package/dist/tools/git/git-create-pr.d.ts +0 -9
- package/dist/tools/git/git-create-pr.d.ts.map +0 -1
- package/dist/tools/git/git-create-pr.js +0 -404
- package/dist/tools/git/git-create-pr.js.map +0 -1
- package/dist/tools/git/git-smart-commit.d.ts +0 -9
- package/dist/tools/git/git-smart-commit.d.ts.map +0 -1
- package/dist/tools/git/git-smart-commit.js +0 -308
- package/dist/tools/git/git-smart-commit.js.map +0 -1
- package/dist/tools/git/git-status-enhanced.d.ts +0 -9
- package/dist/tools/git/git-status-enhanced.d.ts.map +0 -1
- package/dist/tools/git/git-status-enhanced.js +0 -305
- package/dist/tools/git/git-status-enhanced.js.map +0 -1
- package/dist/tools/git/types.d.ts +0 -103
- package/dist/tools/git/types.d.ts.map +0 -1
- package/dist/tools/git/types.js +0 -7
- package/dist/tools/git/types.js.map +0 -1
- package/dist/utils/gradient-utils.d.ts +0 -25
- package/dist/utils/gradient-utils.d.ts.map +0 -1
- package/dist/utils/gradient-utils.js +0 -45
- package/dist/utils/gradient-utils.js.map +0 -1
- package/dist/wizard/config-wizard.d.ts +0 -8
- package/dist/wizard/config-wizard.d.ts.map +0 -1
- package/dist/wizard/config-wizard.js +0 -212
- package/dist/wizard/config-wizard.js.map +0 -1
- package/dist/wizard/steps/location-step.d.ts +0 -9
- package/dist/wizard/steps/location-step.d.ts.map +0 -1
- package/dist/wizard/steps/location-step.js.map +0 -1
- package/dist/wizard/steps/mcp-step.d.ts.map +0 -1
- package/dist/wizard/steps/mcp-step.js.map +0 -1
- package/dist/wizard/steps/provider-step.d.ts +0 -9
- package/dist/wizard/steps/provider-step.d.ts.map +0 -1
- package/dist/wizard/steps/provider-step.js.map +0 -1
- package/dist/wizard/steps/summary-step.d.ts.map +0 -1
- package/dist/wizard/steps/summary-step.js.map +0 -1
- package/dist/wizard/templates/mcp-templates.d.ts.map +0 -1
- package/dist/wizard/templates/mcp-templates.js.map +0 -1
- package/dist/wizard/templates/provider-templates.d.ts.map +0 -1
- package/dist/wizard/templates/provider-templates.js.map +0 -1
- package/dist/wizard/utils/fetch-cloud-models.d.ts.map +0 -1
- package/dist/wizard/utils/fetch-cloud-models.js.map +0 -1
- package/dist/wizard/utils/fetch-local-models.d.ts.map +0 -1
- package/dist/wizard/utils/fetch-local-models.js.map +0 -1
- package/dist/wizard/validation.d.ts +0 -64
- package/dist/wizard/validation.d.ts.map +0 -1
- package/dist/wizard/validation.js.map +0 -1
- /package/dist/{wizard → wizards}/templates/mcp-templates.js +0 -0
- /package/dist/{wizard → wizards}/templates/provider-templates.d.ts +0 -0
- /package/dist/{wizard → wizards}/utils/fetch-cloud-models.d.ts +0 -0
- /package/dist/{wizard → wizards}/utils/fetch-cloud-models.js +0 -0
- /package/dist/{wizard → wizards}/utils/fetch-local-models.d.ts +0 -0
- /package/dist/{wizard → wizards}/utils/fetch-local-models.js +0 -0
|
@@ -208,18 +208,22 @@ async function findModelById(modelId) {
|
|
|
208
208
|
}
|
|
209
209
|
// Search through all providers
|
|
210
210
|
for (const [_providerId, provider] of Object.entries(data)) {
|
|
211
|
+
// Skip malformed provider entries
|
|
212
|
+
if (!provider || typeof provider !== 'object' || !provider.models) {
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
211
215
|
const model = provider.models[modelId];
|
|
212
216
|
if (model) {
|
|
213
217
|
return {
|
|
214
218
|
id: model.id,
|
|
215
219
|
name: model.name,
|
|
216
220
|
provider: provider.name,
|
|
217
|
-
contextLimit: model.limit
|
|
218
|
-
outputLimit: model.limit
|
|
219
|
-
supportsToolCalls: model.tool_call,
|
|
221
|
+
contextLimit: model.limit?.context ?? null,
|
|
222
|
+
outputLimit: model.limit?.output ?? null,
|
|
223
|
+
supportsToolCalls: model.tool_call ?? false,
|
|
220
224
|
cost: {
|
|
221
|
-
input: model.cost
|
|
222
|
-
output: model.cost
|
|
225
|
+
input: model.cost?.input ?? 0,
|
|
226
|
+
output: model.cost?.output ?? 0,
|
|
223
227
|
},
|
|
224
228
|
};
|
|
225
229
|
}
|
|
@@ -231,6 +235,10 @@ async function findModelById(modelId) {
|
|
|
231
235
|
* Useful for local models where exact ID might not match
|
|
232
236
|
*/
|
|
233
237
|
async function findModelByName(modelName) {
|
|
238
|
+
// Empty string matches everything with .includes(), so return null early
|
|
239
|
+
if (!modelName) {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
234
242
|
const data = await getModelsData();
|
|
235
243
|
if (!data) {
|
|
236
244
|
return null;
|
|
@@ -238,19 +246,27 @@ async function findModelByName(modelName) {
|
|
|
238
246
|
const lowerName = modelName.toLowerCase();
|
|
239
247
|
// Search through all providers
|
|
240
248
|
for (const [_providerId, provider] of Object.entries(data)) {
|
|
249
|
+
// Skip malformed provider entries
|
|
250
|
+
if (!provider || typeof provider !== 'object' || !provider.models) {
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
241
253
|
for (const [_modelId, model] of Object.entries(provider.models)) {
|
|
242
|
-
|
|
243
|
-
|
|
254
|
+
// Skip malformed model entries
|
|
255
|
+
if (!model || typeof model !== 'object') {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
if ((model.id && model.id.toLowerCase().includes(lowerName)) ||
|
|
259
|
+
(model.name && model.name.toLowerCase().includes(lowerName))) {
|
|
244
260
|
return {
|
|
245
261
|
id: model.id,
|
|
246
262
|
name: model.name,
|
|
247
263
|
provider: provider.name,
|
|
248
|
-
contextLimit: model.limit
|
|
249
|
-
outputLimit: model.limit
|
|
250
|
-
supportsToolCalls: model.tool_call,
|
|
264
|
+
contextLimit: model.limit?.context ?? null,
|
|
265
|
+
outputLimit: model.limit?.output ?? null,
|
|
266
|
+
supportsToolCalls: model.tool_call ?? false,
|
|
251
267
|
cost: {
|
|
252
|
-
input: model.cost
|
|
253
|
-
output: model.cost
|
|
268
|
+
input: model.cost?.input ?? 0,
|
|
269
|
+
output: model.cost?.output ?? 0,
|
|
254
270
|
},
|
|
255
271
|
};
|
|
256
272
|
}
|
|
@@ -263,32 +279,40 @@ async function findModelByName(modelName) {
|
|
|
263
279
|
* Returns null if model not found and no fallback available
|
|
264
280
|
*/
|
|
265
281
|
export async function getModelContextLimit(modelId) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
try {
|
|
283
|
+
// Try Ollama fallback first with original model ID (before normalization)
|
|
284
|
+
// This handles cloud models like gpt-oss:20b-cloud
|
|
285
|
+
const ollamaLimitOriginal = getOllamaFallbackContextLimit(modelId);
|
|
286
|
+
if (ollamaLimitOriginal) {
|
|
287
|
+
return ollamaLimitOriginal;
|
|
288
|
+
}
|
|
289
|
+
// Strip :cloud or -cloud suffix if present (Ollama cloud models)
|
|
290
|
+
const normalizedModelId = modelId.endsWith(':cloud') || modelId.endsWith('-cloud')
|
|
291
|
+
? modelId.slice(0, -6) // Remove ":cloud" or "-cloud"
|
|
292
|
+
: modelId;
|
|
293
|
+
// Try exact ID match first
|
|
294
|
+
let modelInfo = await findModelById(normalizedModelId);
|
|
295
|
+
// Try partial name match if exact match fails
|
|
296
|
+
if (!modelInfo) {
|
|
297
|
+
modelInfo = await findModelByName(normalizedModelId);
|
|
298
|
+
}
|
|
299
|
+
// If found in models.dev, return that
|
|
300
|
+
if (modelInfo) {
|
|
301
|
+
return modelInfo.contextLimit;
|
|
302
|
+
}
|
|
303
|
+
// Fall back to Ollama model defaults with normalized ID
|
|
304
|
+
const ollamaLimit = getOllamaFallbackContextLimit(normalizedModelId);
|
|
305
|
+
if (ollamaLimit) {
|
|
306
|
+
return ollamaLimit;
|
|
307
|
+
}
|
|
308
|
+
// No context limit found
|
|
309
|
+
return null;
|
|
285
310
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
311
|
+
catch (error) {
|
|
312
|
+
// Log error but don't crash - just return null
|
|
313
|
+
const logger = getLogger();
|
|
314
|
+
logger.error({ error: formatError(error), modelId }, 'Error getting model context limit');
|
|
315
|
+
return null;
|
|
290
316
|
}
|
|
291
|
-
// No context limit found
|
|
292
|
-
return null;
|
|
293
317
|
}
|
|
294
318
|
//# sourceMappingURL=models-dev-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models-dev-client.js","sourceRoot":"","sources":["../../source/models/models-dev-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"models-dev-client.js","sourceRoot":"","sources":["../../source/models/models-dev-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-executor.d.ts","sourceRoot":"","sources":["../../source/services/bash-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAUzC,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AASD,qBAAa,YAAa,SAAQ,YAAY;IAC7C,OAAO,CAAC,UAAU,CAAqC;IAEvD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACrC;
|
|
1
|
+
{"version":3,"file":"bash-executor.d.ts","sourceRoot":"","sources":["../../source/services/bash-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAUzC,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AASD,qBAAa,YAAa,SAAQ,YAAY;IAC7C,OAAO,CAAC,UAAU,CAAqC;IAEvD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACrC;IA4ED,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAuBpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAK7D,mBAAmB,IAAI,OAAO;IAI9B,qBAAqB,IAAI,MAAM,EAAE;CAGjC;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -30,9 +30,12 @@ export class BashExecutor extends EventEmitter {
|
|
|
30
30
|
state.stderr += data.toString();
|
|
31
31
|
});
|
|
32
32
|
// Progress interval - emit updates every 500ms
|
|
33
|
+
// Using unref() so this interval doesn't prevent Node.js from exiting
|
|
34
|
+
// (important for tests and clean shutdown)
|
|
33
35
|
const intervalId = setInterval(() => {
|
|
34
36
|
this.emit('progress', { ...state });
|
|
35
37
|
}, INTERVAL_BASH_PROGRESS_MS);
|
|
38
|
+
intervalId.unref();
|
|
36
39
|
const promise = new Promise((resolve, _reject) => {
|
|
37
40
|
// Store resolve function so cancel() can resolve the promise
|
|
38
41
|
this.executions.set(executionId, {
|
|
@@ -73,6 +76,10 @@ export class BashExecutor extends EventEmitter {
|
|
|
73
76
|
if (!execution)
|
|
74
77
|
return false;
|
|
75
78
|
clearInterval(execution.intervalId);
|
|
79
|
+
// Destroy stdio streams to prevent them from keeping the event loop alive
|
|
80
|
+
execution.process.stdout?.destroy();
|
|
81
|
+
execution.process.stderr?.destroy();
|
|
82
|
+
execution.process.stdin?.destroy();
|
|
76
83
|
execution.process.kill('SIGTERM');
|
|
77
84
|
execution.state.isComplete = true;
|
|
78
85
|
execution.state.error = 'Cancelled by user';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-executor.js","sourceRoot":"","sources":["../../source/services/bash-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEtC,OAAO,EACN,0BAA0B,EAC1B,yBAAyB,GACzB,MAAM,aAAa,CAAC;AAErB,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAC;AAoBvC,MAAM,OAAO,YAAa,SAAQ,YAAY;IACrC,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEvD,OAAO,CAAC,OAAe;QAItB,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAuB;YACjC,WAAW;YACX,OAAO;YACP,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACX,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS;YACrB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEhC,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,GAAG,KAAK,EAAC,CAAC,CAAC;QACnC,CAAC,EAAE,yBAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bash-executor.js","sourceRoot":"","sources":["../../source/services/bash-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
/**
|
|
3
|
+
* Result object returned after a CLI process completes execution.
|
|
4
|
+
*/
|
|
5
|
+
export interface CLITestResult {
|
|
6
|
+
/** Exit code of the process, or null if terminated by signal */
|
|
7
|
+
exitCode: number | null;
|
|
8
|
+
/** Signal that terminated the process, or null if exited normally */
|
|
9
|
+
signal: NodeJS.Signals | null;
|
|
10
|
+
/** Captured stdout output */
|
|
11
|
+
stdout: string;
|
|
12
|
+
/** Captured stderr output */
|
|
13
|
+
stderr: string;
|
|
14
|
+
/** Whether the process was killed due to timeout */
|
|
15
|
+
timedOut: boolean;
|
|
16
|
+
/** Duration in milliseconds from start to exit */
|
|
17
|
+
duration: number;
|
|
18
|
+
/** Whether the process was killed (by timeout, signal, or kill()) */
|
|
19
|
+
killed: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Options for configuring CLI test execution.
|
|
23
|
+
*/
|
|
24
|
+
export interface CLITestOptions {
|
|
25
|
+
/** Command-line arguments to pass to the CLI */
|
|
26
|
+
args?: string[];
|
|
27
|
+
/** Environment variables to set (can override defaults when placed after inheritEnv) */
|
|
28
|
+
env?: Record<string, string>;
|
|
29
|
+
/** Timeout in milliseconds before killing the process (default: 30000) */
|
|
30
|
+
timeout?: number;
|
|
31
|
+
/** Working directory for the process */
|
|
32
|
+
cwd?: string;
|
|
33
|
+
/** Data to write to stdin before closing it */
|
|
34
|
+
stdin?: string;
|
|
35
|
+
/** Whether to inherit parent process environment variables (default: true) */
|
|
36
|
+
inheritEnv?: boolean;
|
|
37
|
+
/** Send a signal to the process after a delay */
|
|
38
|
+
sendSignal?: {
|
|
39
|
+
signal: NodeJS.Signals;
|
|
40
|
+
delayMs: number;
|
|
41
|
+
};
|
|
42
|
+
/** Additional arguments to pass to Node.js */
|
|
43
|
+
nodeArgs?: string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Gets the path to the CLI entry point.
|
|
47
|
+
* Prefers the compiled dist/cli.js, falls back to source/cli.tsx.
|
|
48
|
+
* @returns Absolute path to the CLI entry point
|
|
49
|
+
* @throws Error if neither path exists
|
|
50
|
+
*/
|
|
51
|
+
export declare function getCLIPath(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Checks if the CLI path requires tsx to execute (TypeScript source files).
|
|
54
|
+
* @param cliPath - Path to the CLI file
|
|
55
|
+
* @returns true if the file is .ts or .tsx
|
|
56
|
+
*/
|
|
57
|
+
export declare function needsTsx(cliPath: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* A test harness for spawning and controlling CLI processes.
|
|
60
|
+
* Extends EventEmitter and emits 'stdout', 'stderr', 'exit', and 'signal-sent' events.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const harness = createCLITestHarness();
|
|
65
|
+
* const result = await harness.run({ args: ['run', 'hello world'] });
|
|
66
|
+
* assertExitCode(result, 0);
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare class CLITestHarness extends EventEmitter {
|
|
70
|
+
private process;
|
|
71
|
+
private startTime;
|
|
72
|
+
private result;
|
|
73
|
+
private stdoutChunks;
|
|
74
|
+
private stderrChunks;
|
|
75
|
+
private timeoutId;
|
|
76
|
+
private signalTimeoutId;
|
|
77
|
+
private _timedOut;
|
|
78
|
+
private stdoutListener;
|
|
79
|
+
private stderrListener;
|
|
80
|
+
/**
|
|
81
|
+
* Spawns the CLI process with the given options and waits for it to exit.
|
|
82
|
+
* @param options - Configuration options for the CLI execution
|
|
83
|
+
* @returns Promise that resolves with the test result
|
|
84
|
+
* @throws Error if called while a process is already running
|
|
85
|
+
*/
|
|
86
|
+
run(options?: CLITestOptions): Promise<CLITestResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Sends a signal to the running process.
|
|
89
|
+
* @param signal - The signal to send (e.g., 'SIGINT', 'SIGTERM')
|
|
90
|
+
* @returns true if the signal was sent, false if no process is running
|
|
91
|
+
*/
|
|
92
|
+
sendSignal(signal: NodeJS.Signals): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Writes data to the process's stdin.
|
|
95
|
+
* @param data - The string data to write
|
|
96
|
+
* @returns true if data was written, false if no process or stdin is unavailable
|
|
97
|
+
*/
|
|
98
|
+
writeToStdin(data: string): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Closes the process's stdin stream.
|
|
101
|
+
* @returns true if stdin was closed, false if no process or stdin is unavailable
|
|
102
|
+
*/
|
|
103
|
+
closeStdin(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Kills the running process with the specified signal.
|
|
106
|
+
* @param signal - The signal to use (default: 'SIGTERM')
|
|
107
|
+
* @returns true if the process was killed, false if no process is running
|
|
108
|
+
*/
|
|
109
|
+
kill(signal?: NodeJS.Signals): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Checks if a process is currently running.
|
|
112
|
+
* @returns true if a process is running and has not exited
|
|
113
|
+
*/
|
|
114
|
+
isRunning(): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Gets the current accumulated stdout output.
|
|
117
|
+
* @returns The stdout output collected so far
|
|
118
|
+
*/
|
|
119
|
+
getCurrentStdout(): string;
|
|
120
|
+
getCurrentStderr(): string;
|
|
121
|
+
/**
|
|
122
|
+
* Waits for output matching a pattern to appear in the process output.
|
|
123
|
+
* @param pattern - String or RegExp to match against output
|
|
124
|
+
* @param options - Options for timeout and which stream(s) to check
|
|
125
|
+
* @returns Promise that resolves with the matched string
|
|
126
|
+
* @throws Error if timeout is reached before pattern is found
|
|
127
|
+
*/
|
|
128
|
+
waitForOutput(pattern: RegExp | string, options?: {
|
|
129
|
+
timeout?: number;
|
|
130
|
+
stream?: 'stdout' | 'stderr' | 'both';
|
|
131
|
+
}): Promise<string>;
|
|
132
|
+
private cleanup;
|
|
133
|
+
private buildResult;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Creates a new CLITestHarness instance.
|
|
137
|
+
* @returns A new CLITestHarness ready to run tests
|
|
138
|
+
*/
|
|
139
|
+
export declare function createCLITestHarness(): CLITestHarness;
|
|
140
|
+
/**
|
|
141
|
+
* Asserts that the process exited with the expected exit code.
|
|
142
|
+
* @param result - The CLI test result to check
|
|
143
|
+
* @param expectedCode - The expected exit code
|
|
144
|
+
* @throws Error if the exit code doesn't match
|
|
145
|
+
*/
|
|
146
|
+
export declare function assertExitCode(result: CLITestResult, expectedCode: number): void;
|
|
147
|
+
/**
|
|
148
|
+
* Asserts that the process was terminated by the expected signal.
|
|
149
|
+
* @param result - The CLI test result to check
|
|
150
|
+
* @param expectedSignal - The expected termination signal
|
|
151
|
+
* @throws Error if the signal doesn't match
|
|
152
|
+
*/
|
|
153
|
+
export declare function assertSignal(result: CLITestResult, expectedSignal: NodeJS.Signals): void;
|
|
154
|
+
/**
|
|
155
|
+
* Asserts that the process timed out.
|
|
156
|
+
* @param result - The CLI test result to check
|
|
157
|
+
* @throws Error if the process did not time out
|
|
158
|
+
*/
|
|
159
|
+
export declare function assertTimedOut(result: CLITestResult): void;
|
|
160
|
+
/**
|
|
161
|
+
* Asserts that stdout contains the expected pattern.
|
|
162
|
+
* @param result - The CLI test result to check
|
|
163
|
+
* @param pattern - String or RegExp to match against stdout
|
|
164
|
+
* @throws Error if the pattern is not found in stdout
|
|
165
|
+
*/
|
|
166
|
+
export declare function assertStdoutContains(result: CLITestResult, pattern: string | RegExp): void;
|
|
167
|
+
/**
|
|
168
|
+
* Asserts that stderr contains the expected pattern.
|
|
169
|
+
* @param result - The CLI test result to check
|
|
170
|
+
* @param pattern - String or RegExp to match against stderr
|
|
171
|
+
* @throws Error if the pattern is not found in stderr
|
|
172
|
+
*/
|
|
173
|
+
export declare function assertStderrContains(result: CLITestResult, pattern: string | RegExp): void;
|
|
174
|
+
/**
|
|
175
|
+
* Asserts that the process completed within the specified time.
|
|
176
|
+
* @param result - The CLI test result to check
|
|
177
|
+
* @param maxDurationMs - Maximum allowed duration in milliseconds
|
|
178
|
+
* @throws Error if the process took longer than the specified time
|
|
179
|
+
*/
|
|
180
|
+
export declare function assertCompletedWithin(result: CLITestResult, maxDurationMs: number): void;
|
|
181
|
+
//# sourceMappingURL=cli-test-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-test-harness.d.ts","sourceRoot":"","sources":["../../source/test-utils/cli-test-harness.ts"],"names":[],"mappings":"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"}
|