centaurus-cli 3.0.0 → 3.1.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/dist/ai/types.js +0 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/cli-adapter.js +5047 -5037
- package/dist/cli-adapter.js.map +1 -1
- package/dist/commands/CommandParser.js +372 -315
- package/dist/commands/CommandParser.js.map +1 -1
- package/dist/config/build-config.js +11 -42
- package/dist/config/build-config.js.map +1 -1
- package/dist/config/defaultConfig.js +94 -82
- package/dist/config/defaultConfig.js.map +1 -1
- package/dist/config/manager.js +144 -160
- package/dist/config/manager.js.map +1 -1
- package/dist/config/mcp-config-manager.js +411 -364
- package/dist/config/mcp-config-manager.js.map +1 -1
- package/dist/config/models.js +118 -185
- package/dist/config/models.js.map +1 -1
- package/dist/config/slash-commands.js +186 -184
- package/dist/config/slash-commands.js.map +1 -1
- package/dist/config/types.js +33 -26
- package/dist/config/types.js.map +1 -1
- package/dist/context/command-detector.js +63 -67
- package/dist/context/command-detector.js.map +1 -1
- package/dist/context/context-manager.js +533 -518
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/handlers/docker-handler.js +518 -576
- package/dist/context/handlers/docker-handler.js.map +1 -1
- package/dist/context/handlers/ssh-handler.js +1050 -1109
- package/dist/context/handlers/ssh-handler.js.map +1 -1
- package/dist/context/handlers/wsl-handler.js +558 -630
- package/dist/context/handlers/wsl-handler.js.map +1 -1
- package/dist/context/index.js +42 -6
- package/dist/context/index.js.map +1 -1
- package/dist/context/subshell-handler.js +0 -4
- package/dist/context/subshell-handler.js.map +1 -1
- package/dist/context/types.js +20 -31
- package/dist/context/types.js.map +1 -1
- package/dist/hooks/useConnectivity.js +13 -10
- package/dist/hooks/useConnectivity.js.map +1 -1
- package/dist/hooks/useTerminalDimensions.js +67 -79
- package/dist/hooks/useTerminalDimensions.js.map +1 -1
- package/dist/index.js +228 -251
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcp-command-handler.js +297 -260
- package/dist/mcp/mcp-command-handler.js.map +1 -1
- package/dist/mcp/mcp-server-manager.js +139 -155
- package/dist/mcp/mcp-server-manager.js.map +1 -1
- package/dist/mcp/mcp-tool-wrapper.js +74 -94
- package/dist/mcp/mcp-tool-wrapper.js.map +1 -1
- package/dist/services/ai-autocomplete-agent.js +169 -181
- package/dist/services/ai-autocomplete-agent.js.map +1 -1
- package/dist/services/ai-context-injector.js +180 -93
- package/dist/services/ai-context-injector.js.map +1 -1
- package/dist/services/ai-service-client.js +513 -456
- package/dist/services/ai-service-client.js.map +1 -1
- package/dist/services/api-client.js +443 -441
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/auth-handler.js +162 -198
- package/dist/services/auth-handler.js.map +1 -1
- package/dist/services/background-task-manager.js +258 -282
- package/dist/services/background-task-manager.js.map +1 -1
- package/dist/services/checkpoint-manager.js +1513 -973
- package/dist/services/checkpoint-manager.js.map +1 -1
- package/dist/services/clipboard-service.js +151 -200
- package/dist/services/clipboard-service.js.map +1 -1
- package/dist/services/connectivity-manager.js +63 -65
- package/dist/services/connectivity-manager.js.map +1 -1
- package/dist/services/conversation-manager.js +118 -121
- package/dist/services/conversation-manager.js.map +1 -1
- package/dist/services/environment-context-injector.js +160 -187
- package/dist/services/environment-context-injector.js.map +1 -1
- package/dist/services/fast-context-agent.js +203 -243
- package/dist/services/fast-context-agent.js.map +1 -1
- package/dist/services/input-detection-agent.js +190 -202
- package/dist/services/input-detection-agent.js.map +1 -1
- package/dist/services/input-requirement-detector.js +155 -189
- package/dist/services/input-requirement-detector.js.map +1 -1
- package/dist/services/local-chat-storage.js +342 -365
- package/dist/services/local-chat-storage.js.map +1 -1
- package/dist/services/monitored-shell-manager.js +225 -233
- package/dist/services/monitored-shell-manager.js.map +1 -1
- package/dist/services/ollama-service.js +293 -310
- package/dist/services/ollama-service.js.map +1 -1
- package/dist/services/rules-storage.js +142 -0
- package/dist/services/rules-storage.js.map +1 -0
- package/dist/services/session-quota-manager.js +219 -235
- package/dist/services/session-quota-manager.js.map +1 -1
- package/dist/services/shell-input-agent.js +299 -334
- package/dist/services/shell-input-agent.js.map +1 -1
- package/dist/services/sub-agent-manager.js +459 -501
- package/dist/services/sub-agent-manager.js.map +1 -1
- package/dist/services/warpify-detector.js +133 -183
- package/dist/services/warpify-detector.js.map +1 -1
- package/dist/services/workflow-storage.js +202 -217
- package/dist/services/workflow-storage.js.map +1 -1
- package/dist/test-ssh-handler.js +148 -193
- package/dist/test-ssh-handler.js.map +1 -1
- package/dist/tools/add-mcp.js +161 -0
- package/dist/tools/add-mcp.js.map +1 -0
- package/dist/tools/background-command.js +240 -273
- package/dist/tools/background-command.js.map +1 -1
- package/dist/tools/command.js +447 -440
- package/dist/tools/command.js.map +1 -1
- package/dist/tools/create-image.js +172 -202
- package/dist/tools/create-image.js.map +1 -1
- package/dist/tools/enter-remote-session.js +169 -215
- package/dist/tools/enter-remote-session.js.map +1 -1
- package/dist/tools/fast-context.js +60 -67
- package/dist/tools/fast-context.js.map +1 -1
- package/dist/tools/file-ops.js +605 -537
- package/dist/tools/file-ops.js.map +1 -1
- package/dist/tools/find-files.js +262 -303
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/get-diff.js +423 -400
- package/dist/tools/get-diff.js.map +1 -1
- package/dist/tools/grep-search.js +966 -948
- package/dist/tools/grep-search.js.map +1 -1
- package/dist/tools/inspect-symbol.js +308 -323
- package/dist/tools/inspect-symbol.js.map +1 -1
- package/dist/tools/plan-mode.js +459 -503
- package/dist/tools/plan-mode.js.map +1 -1
- package/dist/tools/read-binary-file.js +160 -190
- package/dist/tools/read-binary-file.js.map +1 -1
- package/dist/tools/registry.js +100 -84
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/reproduce_issue.js +170 -151
- package/dist/tools/reproduce_issue.js.map +1 -1
- package/dist/tools/sub-agent.js +223 -228
- package/dist/tools/sub-agent.js.map +1 -1
- package/dist/tools/task-complete.js +28 -27
- package/dist/tools/task-complete.js.map +1 -1
- package/dist/tools/types.js +0 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/validation.js +96 -118
- package/dist/tools/validation.js.map +1 -1
- package/dist/tools/web-search.js +194 -194
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools/workflow-tool.js +77 -82
- package/dist/tools/workflow-tool.js.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/rule.js +1 -0
- package/dist/types/rule.js.map +1 -0
- package/dist/types/workflow.js +0 -7
- package/dist/types/workflow.js.map +1 -1
- package/dist/ui/components/AgentTimer.js +24 -25
- package/dist/ui/components/AgentTimer.js.map +1 -1
- package/dist/ui/components/App.js +3266 -3249
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/AuthScreen.js +22 -34
- package/dist/ui/components/AuthScreen.js.map +1 -1
- package/dist/ui/components/AuthWelcomeScreen.js +30 -24
- package/dist/ui/components/AuthWelcomeScreen.js.map +1 -1
- package/dist/ui/components/Breadcrumbs.js +53 -82
- package/dist/ui/components/Breadcrumbs.js.map +1 -1
- package/dist/ui/components/CircularSelectInput.js +59 -67
- package/dist/ui/components/CircularSelectInput.js.map +1 -1
- package/dist/ui/components/ClipboardFileAutocomplete.js +78 -39
- package/dist/ui/components/ClipboardFileAutocomplete.js.map +1 -1
- package/dist/ui/components/CodeBlock.js +24 -42
- package/dist/ui/components/CodeBlock.js.map +1 -1
- package/dist/ui/components/ConfigViewer.js +18 -25
- package/dist/ui/components/ConfigViewer.js.map +1 -1
- package/dist/ui/components/ConfirmPrompt.js +49 -71
- package/dist/ui/components/ConfirmPrompt.js.map +1 -1
- package/dist/ui/components/ConnectionStatusMessage.js +32 -83
- package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
- package/dist/ui/components/ContextWindowIndicator.js +34 -49
- package/dist/ui/components/ContextWindowIndicator.js.map +1 -1
- package/dist/ui/components/DetailedPlanReviewScreen.js +104 -106
- package/dist/ui/components/DetailedPlanReviewScreen.js.map +1 -1
- package/dist/ui/components/DiffViewer.js +68 -121
- package/dist/ui/components/DiffViewer.js.map +1 -1
- package/dist/ui/components/ErrorBoundary.js +40 -48
- package/dist/ui/components/ErrorBoundary.js.map +1 -1
- package/dist/ui/components/FileCreationPreview.js +29 -60
- package/dist/ui/components/FileCreationPreview.js.map +1 -1
- package/dist/ui/components/FileOperation.js +34 -29
- package/dist/ui/components/FileOperation.js.map +1 -1
- package/dist/ui/components/FileTagAutocomplete.js +55 -25
- package/dist/ui/components/FileTagAutocomplete.js.map +1 -1
- package/dist/ui/components/FontRecommendation.js.map +1 -1
- package/dist/ui/components/GitDiffBreadcrumb.js +29 -0
- package/dist/ui/components/GitDiffBreadcrumb.js.map +1 -0
- package/dist/ui/components/InputBox.js +1620 -2150
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/InteractiveShell.js +234 -352
- package/dist/ui/components/InteractiveShell.js.map +1 -1
- package/dist/ui/components/KeyboardHelp.js +34 -35
- package/dist/ui/components/KeyboardHelp.js.map +1 -1
- package/dist/ui/components/LoadingIndicator.js +22 -25
- package/dist/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/ui/components/MCPAddScreen.js +40 -51
- package/dist/ui/components/MCPAddScreen.js.map +1 -1
- package/dist/ui/components/MCPListScreen.js +40 -48
- package/dist/ui/components/MCPListScreen.js.map +1 -1
- package/dist/ui/components/MCPServerListScreen.js +49 -56
- package/dist/ui/components/MCPServerListScreen.js.map +1 -1
- package/dist/ui/components/MarkdownRenderer.js +69 -96
- package/dist/ui/components/MarkdownRenderer.js.map +1 -1
- package/dist/ui/components/MessageBox.js +66 -48
- package/dist/ui/components/MessageBox.js.map +1 -1
- package/dist/ui/components/MessageDisplay.js +150 -142
- package/dist/ui/components/MessageDisplay.js.map +1 -1
- package/dist/ui/components/MonitorModeAIPanel.js +46 -65
- package/dist/ui/components/MonitorModeAIPanel.js.map +1 -1
- package/dist/ui/components/MultiLineInput.js +243 -277
- package/dist/ui/components/MultiLineInput.js.map +1 -1
- package/dist/ui/components/PasswordPrompt.js +37 -18
- package/dist/ui/components/PasswordPrompt.js.map +1 -1
- package/dist/ui/components/PlanAcceptedMessage.js +27 -38
- package/dist/ui/components/PlanAcceptedMessage.js.map +1 -1
- package/dist/ui/components/PlanReviewScreen.js +46 -50
- package/dist/ui/components/PlanReviewScreen.js.map +1 -1
- package/dist/ui/components/RulesEditorScreen.js +81 -0
- package/dist/ui/components/RulesEditorScreen.js.map +1 -0
- package/dist/ui/components/SelectPrompt.js +19 -8
- package/dist/ui/components/SelectPrompt.js.map +1 -1
- package/dist/ui/components/ShimmerText.js +44 -0
- package/dist/ui/components/ShimmerText.js.map +1 -0
- package/dist/ui/components/SlashCommandAutocomplete.js +49 -22
- package/dist/ui/components/SlashCommandAutocomplete.js.map +1 -1
- package/dist/ui/components/StatusBar.js +56 -87
- package/dist/ui/components/StatusBar.js.map +1 -1
- package/dist/ui/components/StreamingMessageDisplay.js +116 -99
- package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
- package/dist/ui/components/TaskCompletedMessage.js +28 -23
- package/dist/ui/components/TaskCompletedMessage.js.map +1 -1
- package/dist/ui/components/TaskProgressIndicator.js +44 -70
- package/dist/ui/components/TaskProgressIndicator.js.map +1 -1
- package/dist/ui/components/ThinkingDisplay.js +44 -41
- package/dist/ui/components/ThinkingDisplay.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +772 -1326
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/ui/components/ToolExecutionStatus.js +53 -84
- package/dist/ui/components/ToolExecutionStatus.js.map +1 -1
- package/dist/ui/components/ToolResult.js +22 -15
- package/dist/ui/components/ToolResult.js.map +1 -1
- package/dist/ui/components/VersionUpdatePrompt.js +88 -120
- package/dist/ui/components/VersionUpdatePrompt.js.map +1 -1
- package/dist/ui/components/WelcomeBanner.js +176 -26
- package/dist/ui/components/WelcomeBanner.js.map +1 -1
- package/dist/ui/components/WorkflowCreatorScreen.js +94 -161
- package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -1
- package/dist/utils/ansi-encoder.js +30 -61
- package/dist/utils/ansi-encoder.js.map +1 -1
- package/dist/utils/chat-formatter.js +327 -305
- package/dist/utils/chat-formatter.js.map +1 -1
- package/dist/utils/command-history.js +152 -174
- package/dist/utils/command-history.js.map +1 -1
- package/dist/utils/context-sanitizer.js +49 -112
- package/dist/utils/context-sanitizer.js.map +1 -1
- package/dist/utils/conversation-logger.js +292 -324
- package/dist/utils/conversation-logger.js.map +1 -1
- package/dist/utils/custom-commands-manager.js +126 -131
- package/dist/utils/custom-commands-manager.js.map +1 -1
- package/dist/utils/editor-utils.js +732 -837
- package/dist/utils/editor-utils.js.map +1 -1
- package/dist/utils/file.js +174 -213
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/git-stats.js +169 -0
- package/dist/utils/git-stats.js.map +1 -0
- package/dist/utils/input-classifier.js +960 -482
- package/dist/utils/input-classifier.js.map +1 -1
- package/dist/utils/logger.js +48 -73
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/markdown-parser.js +277 -310
- package/dist/utils/markdown-parser.js.map +1 -1
- package/dist/utils/rule-reference-resolver.js +54 -0
- package/dist/utils/rule-reference-resolver.js.map +1 -0
- package/dist/utils/shell.js +144 -156
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/state.js +23 -22
- package/dist/utils/state.js.map +1 -1
- package/dist/utils/syntax-checker.js +279 -327
- package/dist/utils/syntax-checker.js.map +1 -1
- package/dist/utils/terminal-output.js +199 -302
- package/dist/utils/terminal-output.js.map +1 -1
- package/dist/utils/text-clipboard.js +47 -70
- package/dist/utils/text-clipboard.js.map +1 -1
- package/dist/utils/unicode-sanitizer.js +134 -197
- package/dist/utils/unicode-sanitizer.js.map +1 -1
- package/dist/utils/version-checker.js +46 -56
- package/dist/utils/version-checker.js.map +1 -1
- package/package.json +6 -4
- package/dist/ai/types.d.ts +0 -20
- package/dist/ai/types.d.ts.map +0 -1
- package/dist/cli-adapter.d.ts +0 -511
- package/dist/cli-adapter.d.ts.map +0 -1
- package/dist/commands/CommandParser.d.ts +0 -27
- package/dist/commands/CommandParser.d.ts.map +0 -1
- package/dist/config/build-config.d.ts +0 -42
- package/dist/config/build-config.d.ts.map +0 -1
- package/dist/config/defaultConfig.d.ts +0 -79
- package/dist/config/defaultConfig.d.ts.map +0 -1
- package/dist/config/manager.d.ts +0 -62
- package/dist/config/manager.d.ts.map +0 -1
- package/dist/config/mcp-config-manager.d.ts +0 -79
- package/dist/config/mcp-config-manager.d.ts.map +0 -1
- package/dist/config/models.d.ts +0 -83
- package/dist/config/models.d.ts.map +0 -1
- package/dist/config/slash-commands.d.ts +0 -23
- package/dist/config/slash-commands.d.ts.map +0 -1
- package/dist/config/types.d.ts +0 -35
- package/dist/config/types.d.ts.map +0 -1
- package/dist/context/command-detector.d.ts +0 -50
- package/dist/context/command-detector.d.ts.map +0 -1
- package/dist/context/context-manager.d.ts +0 -157
- package/dist/context/context-manager.d.ts.map +0 -1
- package/dist/context/handlers/docker-handler.d.ts +0 -130
- package/dist/context/handlers/docker-handler.d.ts.map +0 -1
- package/dist/context/handlers/ssh-handler.d.ts +0 -201
- package/dist/context/handlers/ssh-handler.d.ts.map +0 -1
- package/dist/context/handlers/wsl-handler.d.ts +0 -146
- package/dist/context/handlers/wsl-handler.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -8
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/subshell-handler.d.ts +0 -165
- package/dist/context/subshell-handler.d.ts.map +0 -1
- package/dist/context/types.d.ts +0 -70
- package/dist/context/types.d.ts.map +0 -1
- package/dist/hooks/useConnectivity.d.ts +0 -2
- package/dist/hooks/useConnectivity.d.ts.map +0 -1
- package/dist/hooks/useTerminalDimensions.d.ts +0 -41
- package/dist/hooks/useTerminalDimensions.d.ts.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/mcp/mcp-command-handler.d.ts +0 -47
- package/dist/mcp/mcp-command-handler.d.ts.map +0 -1
- package/dist/mcp/mcp-server-manager.d.ts +0 -30
- package/dist/mcp/mcp-server-manager.d.ts.map +0 -1
- package/dist/mcp/mcp-tool-wrapper.d.ts +0 -12
- package/dist/mcp/mcp-tool-wrapper.d.ts.map +0 -1
- package/dist/services/ai-autocomplete-agent.d.ts +0 -39
- package/dist/services/ai-autocomplete-agent.d.ts.map +0 -1
- package/dist/services/ai-context-injector.d.ts +0 -41
- package/dist/services/ai-context-injector.d.ts.map +0 -1
- package/dist/services/ai-service-client.d.ts +0 -128
- package/dist/services/ai-service-client.d.ts.map +0 -1
- package/dist/services/api-client.d.ts +0 -353
- package/dist/services/api-client.d.ts.map +0 -1
- package/dist/services/auth-handler.d.ts +0 -30
- package/dist/services/auth-handler.d.ts.map +0 -1
- package/dist/services/background-task-manager.d.ts +0 -114
- package/dist/services/background-task-manager.d.ts.map +0 -1
- package/dist/services/checkpoint-manager.d.ts +0 -167
- package/dist/services/checkpoint-manager.d.ts.map +0 -1
- package/dist/services/clipboard-service.d.ts +0 -37
- package/dist/services/clipboard-service.d.ts.map +0 -1
- package/dist/services/connectivity-manager.d.ts +0 -18
- package/dist/services/connectivity-manager.d.ts.map +0 -1
- package/dist/services/conversation-manager.d.ts +0 -73
- package/dist/services/conversation-manager.d.ts.map +0 -1
- package/dist/services/environment-context-injector.d.ts +0 -69
- package/dist/services/environment-context-injector.d.ts.map +0 -1
- package/dist/services/fast-context-agent.d.ts +0 -12
- package/dist/services/fast-context-agent.d.ts.map +0 -1
- package/dist/services/input-detection-agent.d.ts +0 -40
- package/dist/services/input-detection-agent.d.ts.map +0 -1
- package/dist/services/input-requirement-detector.d.ts +0 -28
- package/dist/services/input-requirement-detector.d.ts.map +0 -1
- package/dist/services/local-chat-storage.d.ts +0 -182
- package/dist/services/local-chat-storage.d.ts.map +0 -1
- package/dist/services/monitored-shell-manager.d.ts +0 -120
- package/dist/services/monitored-shell-manager.d.ts.map +0 -1
- package/dist/services/ollama-service.d.ts +0 -197
- package/dist/services/ollama-service.d.ts.map +0 -1
- package/dist/services/session-quota-manager.d.ts +0 -101
- package/dist/services/session-quota-manager.d.ts.map +0 -1
- package/dist/services/shell-input-agent.d.ts +0 -89
- package/dist/services/shell-input-agent.d.ts.map +0 -1
- package/dist/services/sub-agent-manager.d.ts +0 -140
- package/dist/services/sub-agent-manager.d.ts.map +0 -1
- package/dist/services/warpify-detector.d.ts +0 -43
- package/dist/services/warpify-detector.d.ts.map +0 -1
- package/dist/services/workflow-storage.d.ts +0 -72
- package/dist/services/workflow-storage.d.ts.map +0 -1
- package/dist/test-ssh-handler.d.ts +0 -8
- package/dist/test-ssh-handler.d.ts.map +0 -1
- package/dist/tools/background-command.d.ts +0 -11
- package/dist/tools/background-command.d.ts.map +0 -1
- package/dist/tools/command.d.ts +0 -3
- package/dist/tools/command.d.ts.map +0 -1
- package/dist/tools/create-image.d.ts +0 -10
- package/dist/tools/create-image.d.ts.map +0 -1
- package/dist/tools/enter-remote-session.d.ts +0 -48
- package/dist/tools/enter-remote-session.d.ts.map +0 -1
- package/dist/tools/fast-context.d.ts +0 -3
- package/dist/tools/fast-context.d.ts.map +0 -1
- package/dist/tools/file-ops.d.ts +0 -7
- package/dist/tools/file-ops.d.ts.map +0 -1
- package/dist/tools/find-files.d.ts +0 -49
- package/dist/tools/find-files.d.ts.map +0 -1
- package/dist/tools/get-diff.d.ts +0 -14
- package/dist/tools/get-diff.d.ts.map +0 -1
- package/dist/tools/grep-search.d.ts +0 -155
- package/dist/tools/grep-search.d.ts.map +0 -1
- package/dist/tools/inspect-symbol.d.ts +0 -32
- package/dist/tools/inspect-symbol.d.ts.map +0 -1
- package/dist/tools/plan-mode.d.ts +0 -140
- package/dist/tools/plan-mode.d.ts.map +0 -1
- package/dist/tools/read-binary-file.d.ts +0 -10
- package/dist/tools/read-binary-file.d.ts.map +0 -1
- package/dist/tools/registry.d.ts +0 -31
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/reproduce_issue.d.ts +0 -2
- package/dist/tools/reproduce_issue.d.ts.map +0 -1
- package/dist/tools/sub-agent.d.ts +0 -9
- package/dist/tools/sub-agent.d.ts.map +0 -1
- package/dist/tools/task-complete.d.ts +0 -3
- package/dist/tools/task-complete.d.ts.map +0 -1
- package/dist/tools/types.d.ts +0 -40
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/validation.d.ts +0 -47
- package/dist/tools/validation.d.ts.map +0 -1
- package/dist/tools/web-search.d.ts +0 -24
- package/dist/tools/web-search.d.ts.map +0 -1
- package/dist/tools/workflow-tool.d.ts +0 -11
- package/dist/tools/workflow-tool.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -123
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/workflow.d.ts +0 -110
- package/dist/types/workflow.d.ts.map +0 -1
- package/dist/ui/components/AgentTimer.d.ts +0 -7
- package/dist/ui/components/AgentTimer.d.ts.map +0 -1
- package/dist/ui/components/App.d.ts +0 -197
- package/dist/ui/components/App.d.ts.map +0 -1
- package/dist/ui/components/AuthScreen.d.ts +0 -8
- package/dist/ui/components/AuthScreen.d.ts.map +0 -1
- package/dist/ui/components/AuthWelcomeScreen.d.ts +0 -8
- package/dist/ui/components/AuthWelcomeScreen.d.ts.map +0 -1
- package/dist/ui/components/Breadcrumbs.d.ts +0 -13
- package/dist/ui/components/Breadcrumbs.d.ts.map +0 -1
- package/dist/ui/components/CircularSelectInput.d.ts +0 -24
- package/dist/ui/components/CircularSelectInput.d.ts.map +0 -1
- package/dist/ui/components/ClipboardFileAutocomplete.d.ts +0 -10
- package/dist/ui/components/ClipboardFileAutocomplete.d.ts.map +0 -1
- package/dist/ui/components/CodeBlock.d.ts +0 -9
- package/dist/ui/components/CodeBlock.d.ts.map +0 -1
- package/dist/ui/components/ConfigViewer.d.ts +0 -11
- package/dist/ui/components/ConfigViewer.d.ts.map +0 -1
- package/dist/ui/components/ConfirmPrompt.d.ts +0 -13
- package/dist/ui/components/ConfirmPrompt.d.ts.map +0 -1
- package/dist/ui/components/ConnectionStatusMessage.d.ts +0 -17
- package/dist/ui/components/ConnectionStatusMessage.d.ts.map +0 -1
- package/dist/ui/components/ContextWindowIndicator.d.ts +0 -8
- package/dist/ui/components/ContextWindowIndicator.d.ts.map +0 -1
- package/dist/ui/components/DetailedPlanReviewScreen.d.ts +0 -17
- package/dist/ui/components/DetailedPlanReviewScreen.d.ts.map +0 -1
- package/dist/ui/components/DiffViewer.d.ts +0 -9
- package/dist/ui/components/DiffViewer.d.ts.map +0 -1
- package/dist/ui/components/ErrorBoundary.d.ts +0 -17
- package/dist/ui/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/ui/components/FileCreationPreview.d.ts +0 -8
- package/dist/ui/components/FileCreationPreview.d.ts.map +0 -1
- package/dist/ui/components/FileOperation.d.ts +0 -10
- package/dist/ui/components/FileOperation.d.ts.map +0 -1
- package/dist/ui/components/FileTagAutocomplete.d.ts +0 -11
- package/dist/ui/components/FileTagAutocomplete.d.ts.map +0 -1
- package/dist/ui/components/FontRecommendation.d.ts +0 -1
- package/dist/ui/components/FontRecommendation.d.ts.map +0 -1
- package/dist/ui/components/InputBox.d.ts +0 -42
- package/dist/ui/components/InputBox.d.ts.map +0 -1
- package/dist/ui/components/InteractiveShell.d.ts +0 -30
- package/dist/ui/components/InteractiveShell.d.ts.map +0 -1
- package/dist/ui/components/KeyboardHelp.d.ts +0 -7
- package/dist/ui/components/KeyboardHelp.d.ts.map +0 -1
- package/dist/ui/components/LoadingIndicator.d.ts +0 -3
- package/dist/ui/components/LoadingIndicator.d.ts.map +0 -1
- package/dist/ui/components/MCPAddScreen.d.ts +0 -13
- package/dist/ui/components/MCPAddScreen.d.ts.map +0 -1
- package/dist/ui/components/MCPListScreen.d.ts +0 -17
- package/dist/ui/components/MCPListScreen.d.ts.map +0 -1
- package/dist/ui/components/MCPServerListScreen.d.ts +0 -16
- package/dist/ui/components/MCPServerListScreen.d.ts.map +0 -1
- package/dist/ui/components/MarkdownRenderer.d.ts +0 -8
- package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
- package/dist/ui/components/MessageBox.d.ts +0 -10
- package/dist/ui/components/MessageBox.d.ts.map +0 -1
- package/dist/ui/components/MessageDisplay.d.ts +0 -14
- package/dist/ui/components/MessageDisplay.d.ts.map +0 -1
- package/dist/ui/components/MonitorModeAIPanel.d.ts +0 -23
- package/dist/ui/components/MonitorModeAIPanel.d.ts.map +0 -1
- package/dist/ui/components/MultiLineInput.d.ts +0 -13
- package/dist/ui/components/MultiLineInput.d.ts.map +0 -1
- package/dist/ui/components/PasswordPrompt.d.ts +0 -9
- package/dist/ui/components/PasswordPrompt.d.ts.map +0 -1
- package/dist/ui/components/PlanAcceptedMessage.d.ts +0 -20
- package/dist/ui/components/PlanAcceptedMessage.d.ts.map +0 -1
- package/dist/ui/components/PlanReviewScreen.d.ts +0 -14
- package/dist/ui/components/PlanReviewScreen.d.ts.map +0 -1
- package/dist/ui/components/SelectPrompt.d.ts +0 -12
- package/dist/ui/components/SelectPrompt.d.ts.map +0 -1
- package/dist/ui/components/SlashCommandAutocomplete.d.ts +0 -13
- package/dist/ui/components/SlashCommandAutocomplete.d.ts.map +0 -1
- package/dist/ui/components/StatusBar.d.ts +0 -14
- package/dist/ui/components/StatusBar.d.ts.map +0 -1
- package/dist/ui/components/StreamingMessageDisplay.d.ts +0 -15
- package/dist/ui/components/StreamingMessageDisplay.d.ts.map +0 -1
- package/dist/ui/components/TaskCompletedMessage.d.ts +0 -14
- package/dist/ui/components/TaskCompletedMessage.d.ts.map +0 -1
- package/dist/ui/components/TaskProgressIndicator.d.ts +0 -18
- package/dist/ui/components/TaskProgressIndicator.d.ts.map +0 -1
- package/dist/ui/components/ThinkingDisplay.d.ts +0 -15
- package/dist/ui/components/ThinkingDisplay.d.ts.map +0 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts +0 -8
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +0 -1
- package/dist/ui/components/ToolExecutionStatus.d.ts +0 -10
- package/dist/ui/components/ToolExecutionStatus.d.ts.map +0 -1
- package/dist/ui/components/ToolResult.d.ts +0 -10
- package/dist/ui/components/ToolResult.d.ts.map +0 -1
- package/dist/ui/components/VersionUpdatePrompt.d.ts +0 -9
- package/dist/ui/components/VersionUpdatePrompt.d.ts.map +0 -1
- package/dist/ui/components/WelcomeBanner.d.ts +0 -3
- package/dist/ui/components/WelcomeBanner.d.ts.map +0 -1
- package/dist/ui/components/WorkflowCreatorScreen.d.ts +0 -25
- package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +0 -1
- package/dist/utils/ansi-encoder.d.ts +0 -7
- package/dist/utils/ansi-encoder.d.ts.map +0 -1
- package/dist/utils/chat-formatter.d.ts +0 -12
- package/dist/utils/chat-formatter.d.ts.map +0 -1
- package/dist/utils/command-history.d.ts +0 -24
- package/dist/utils/command-history.d.ts.map +0 -1
- package/dist/utils/context-sanitizer.d.ts +0 -50
- package/dist/utils/context-sanitizer.d.ts.map +0 -1
- package/dist/utils/conversation-logger.d.ts +0 -142
- package/dist/utils/conversation-logger.d.ts.map +0 -1
- package/dist/utils/custom-commands-manager.d.ts +0 -59
- package/dist/utils/custom-commands-manager.d.ts.map +0 -1
- package/dist/utils/editor-utils.d.ts +0 -101
- package/dist/utils/editor-utils.d.ts.map +0 -1
- package/dist/utils/file.d.ts +0 -61
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/input-classifier.d.ts +0 -25
- package/dist/utils/input-classifier.d.ts.map +0 -1
- package/dist/utils/logger.d.ts +0 -17
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/markdown-parser.d.ts +0 -60
- package/dist/utils/markdown-parser.d.ts.map +0 -1
- package/dist/utils/shell.d.ts +0 -47
- package/dist/utils/shell.d.ts.map +0 -1
- package/dist/utils/state.d.ts +0 -13
- package/dist/utils/state.d.ts.map +0 -1
- package/dist/utils/syntax-checker.d.ts +0 -24
- package/dist/utils/syntax-checker.d.ts.map +0 -1
- package/dist/utils/terminal-output.d.ts +0 -25
- package/dist/utils/terminal-output.d.ts.map +0 -1
- package/dist/utils/text-clipboard.d.ts +0 -12
- package/dist/utils/text-clipboard.d.ts.map +0 -1
- package/dist/utils/unicode-sanitizer.d.ts +0 -44
- package/dist/utils/unicode-sanitizer.d.ts.map +0 -1
- package/dist/utils/version-checker.d.ts +0 -14
- package/dist/utils/version-checker.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/context/context-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAKL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAY1D;;;GAGG;AACH,MAAM,OAAO,cAAc;IAML;IAA4B;IALxC,YAAY,GAAsB,EAAE,CAAC;IACrC,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACnD,sBAAsB,GAA4B,EAAE,CAAC;IACrD,yBAAyB,GAA+B,EAAE,CAAC;IAEnE,YAAoB,UAAkB,EAAU,QAAyB;QAArD,eAAU,GAAV,UAAU,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAiB;QACvE,gCAAgC;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAW;QACpC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE;gBACR,gBAAgB,EAAE,GAAG;gBACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAC9B,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE;aACzB;YACD,eAAe,EAAE,WAAW;YAC5B,SAAS,EAAE,UAAU,EAAE;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;QACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,YAAY,CAAC;QAChF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAGD;;OAEG;IACH,WAAW,CAAC,OAAwB;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClC,8BAA8B;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAC;QACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY,EAAE,OAAwB;QACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,KAAsB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAA+B;QAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAkC;QACnD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,4DAA4D;QAC5D,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,kCAAkC,EAAE,KAAc,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,OAAe,EAAE,OAAqC,MAAM;QAC7E,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChD,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,qCAAqC,EAAE,KAAc,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iDAAiD;QACjD,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,YAAoB,KAAK,EAAE,GAAY;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,MAAqB,CAAC;YAE1B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,8CAA8C;gBAC9C,+DAA+D;gBAC/D,MAAM,UAAU,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC5D,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACpC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,EACnD,SAAS,EACT,mBAAmB,CACpB,CAAC;gBAEF,sEAAsE;gBACtE,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBAC9E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC;oBACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,IAAI,sBAAsB,CAC9B,OAAO,EACP,0CAA0C,EAC1C,CAAC,CACF,CAAC;gBACJ,CAAC;gBAED,sFAAsF;gBACtF,IAAI,WAAW,GAAG,OAAO,CAAC;gBAC1B,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBACpE,iEAAiE;oBACjE,WAAW,GAAG,OAAO,GAAG,QAAQ,OAAO,EAAE,CAAC;gBAC5C,CAAC;gBAED,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACpC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAClD,SAAS,EACT,mBAAmB,CACpB,CAAC;gBAEF,mDAAmD;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;oBAClE,mEAAmE;oBACnE,IAAI,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;wBAC7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC;wBAC3C,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,4DAA4D;oBAC5D,uCAAuC;gBACzC,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC7C,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,UAAU,CACb,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,EACvF,SAAS,CACV,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,2BAA2B,SAAS,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzE,MAAM,IAAI,sBAAsB,CAC9B,OAAO,EACP,2BAA2B,SAAS,GAAG,IAAI,GAAG,EAC9C,GAAG,CAAC,6BAA6B;iBAClC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,sBAAsB,CAC9B,OAAO,EACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,GAAW;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO;gBACL,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;gBAC3C,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,YAAoB,KAAK;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAChC,SAAS,EACT,WAAW,CACZ,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrC,SAAS,EACT,WAAW,CACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,6BAA6B,SAAS,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,YAAoB,KAAK;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,IAAI,CAAC,kBAAkB,CAC3B,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAC1C,SAAS,EACT,YAAY,CACb,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,GAAG,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/C,SAAS,EACT,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,8BAA8B,SAAS,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,YAAoB,KAAK;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,KAAK,IAAI,EAAE;oBACT,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;qBACjD,CAAC,CAAC,CAAC;gBACN,CAAC,EACD,SAAS,EACT,mBAAmB,CACpB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAC1C,SAAS,EACT,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,qCAAqC,SAAS,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,SAAiB,EAAE,YAAoB,KAAK;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAC5B,aAAa,OAAO,MAAM,SAAS,uBAAuB,EAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAClC,EACD,SAAS,EACT,aAAa,CACd,CAAC;gBAEF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,EACtD,SAAS,EACT,aAAa,CACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,+BAA+B,SAAS,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAc;QACpC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAwB,EAAE,OAAe;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,iBAAiB,OAAO,CAAC,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;YAE5D,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,gBAAgB,OAAO,CAAC,IAAI,eAAe,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEpC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,CAAC,sBAAsB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;YAE/D,gCAAgC;YAChC,IAAI,KAAK,YAAY,uBAAuB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,cAAc,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACvG,IAAI,CAAC,UAAU,CAAC,wBAAwB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;oBACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,gDAAgD;QAChD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;oBAChD,QAAQ,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAwB,EACxB,OAAe,EACf,cAAsB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE9D,IAAI,CAAC,UAAU,CAAC,wBAAwB,OAAO,IAAI,WAAW,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC/D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,IAAI,uBAAuB,CAC/B,OAAO,CAAC,IAAI,EACZ,4CAA4C,EAC5C,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAA2B,EAC3B,SAAiB,EACjB,aAAqB;QAErB,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,SAAS,EAAE;YACX,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC3B,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,aAAa,oBAAoB,SAAS,IAAI,CAAC,CAAC,EAC1E,SAAS,CACV,CACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QACV,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY;aAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;aAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAQ,CAAC,CAAC;QAE5B,mCAAmC;QACnC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,qCAAqC;QACrC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gBACxC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAY;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,oBAAoB,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;gBACtD,yEAAyE;gBACzE,4CAA4C;gBAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;gBACzE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/context/context-manager.ts"],"sourcesContent":["/**\r\n * Context Manager - Central orchestrator for subshell state management\r\n */\r\n\r\nimport { randomUUID } from 'crypto';\r\nimport {\r\n SubshellContext,\r\n SubshellMetadata,\r\n ConnectionState,\r\n OSType,\r\n SubshellConnectionError,\r\n SubshellExecutionError,\r\n} from './types.js';\r\nimport {\r\n SubshellHandler,\r\n CommandResult,\r\n DirectoryEntry,\r\n SearchResult,\r\n} from './subshell-handler.js';\r\nimport { logError, logWarning } from '../utils/logger.js';\r\n\r\n/**\r\n * Callback type for context change notifications\r\n */\r\nexport type ContextChangeCallback = (context: SubshellContext, stack?: SubshellContext[]) => void;\r\n\r\n/**\r\n * Callback type for user notifications\r\n */\r\nexport type UserNotificationCallback = (message: string, type: 'info' | 'warning' | 'error') => void;\r\n\r\n/**\r\n * Context Manager manages the execution context stack and routes commands\r\n * to the appropriate handler (local or subshell)\r\n */\r\nexport class ContextManager {\r\n private contextStack: SubshellContext[] = [];\r\n private handlers: Map<string, SubshellHandler> = new Map();\r\n private contextChangeCallbacks: ContextChangeCallback[] = [];\r\n private userNotificationCallbacks: UserNotificationCallback[] = [];\r\n\r\n constructor(private initialCwd: string, private platform: NodeJS.Platform) {\r\n // Initialize with local context\r\n this.contextStack.push(this.createLocalContext(initialCwd));\r\n }\r\n\r\n /**\r\n * Create a local context\r\n */\r\n private createLocalContext(cwd: string): SubshellContext {\r\n return {\r\n type: 'local',\r\n metadata: {\r\n workingDirectory: cwd,\r\n shell: this.detectLocalShell(),\r\n os: this.detectLocalOS(),\r\n },\r\n connectionState: 'connected',\r\n sessionId: randomUUID(),\r\n };\r\n }\r\n\r\n /**\r\n * Detect the local shell type\r\n */\r\n private detectLocalShell(): string {\r\n const shell = process.env.SHELL || process.env.ComSpec || 'unknown';\r\n if (shell.includes('bash')) return 'bash';\r\n if (shell.includes('zsh')) return 'zsh';\r\n if (shell.includes('fish')) return 'fish';\r\n if (shell.includes('cmd')) return 'cmd';\r\n if (shell.includes('powershell') || shell.includes('pwsh')) return 'powershell';\r\n return 'unknown';\r\n }\r\n\r\n /**\r\n * Detect the local operating system\r\n */\r\n private detectLocalOS(): OSType {\r\n switch (this.platform) {\r\n case 'win32':\r\n return 'windows';\r\n case 'darwin':\r\n return 'macos';\r\n default:\r\n return 'linux';\r\n }\r\n }\r\n\r\n /**\r\n * Get the current execution context\r\n */\r\n getCurrentContext(): SubshellContext {\r\n return this.contextStack[this.contextStack.length - 1];\r\n }\r\n\r\n /**\r\n * Get the parent context (one level up in the stack)\r\n * Returns null if at local context or only one context exists.\r\n * Useful for detecting nested sessions (e.g., Docker inside SSH).\r\n */\r\n getParentContext(): SubshellContext | null {\r\n if (this.contextStack.length <= 1) {\r\n return null;\r\n }\r\n return this.contextStack[this.contextStack.length - 2];\r\n }\r\n\r\n\r\n /**\r\n * Push a new context onto the stack\r\n */\r\n pushContext(context: SubshellContext): void {\r\n this.contextStack.push(context);\r\n this.notifyContextChange();\r\n }\r\n\r\n /**\r\n * Get the full context stack\r\n */\r\n getContextStack(): SubshellContext[] {\r\n return [...this.contextStack];\r\n }\r\n\r\n /**\r\n * Pop the current context from the stack\r\n * @returns The popped context, or null if only local context remains\r\n */\r\n popContext(): SubshellContext | null {\r\n if (this.contextStack.length <= 1) {\r\n // Don't pop the local context\r\n return null;\r\n }\r\n\r\n const popped = this.contextStack.pop()!;\r\n this.notifyContextChange();\r\n return popped;\r\n }\r\n\r\n /**\r\n * Register a subshell handler\r\n */\r\n registerHandler(type: string, handler: SubshellHandler): void {\r\n this.handlers.set(type, handler);\r\n }\r\n\r\n /**\r\n * Get a registered handler by type\r\n */\r\n getHandler(type: string): SubshellHandler | undefined {\r\n return this.handlers.get(type);\r\n }\r\n\r\n /**\r\n * Get all registered handlers\r\n */\r\n getAllHandlers(): SubshellHandler[] {\r\n return Array.from(this.handlers.values());\r\n }\r\n\r\n /**\r\n * Update the working directory of the current context\r\n */\r\n updateWorkingDirectory(path: string): void {\r\n const current = this.getCurrentContext();\r\n current.metadata.workingDirectory = path;\r\n this.notifyContextChange();\r\n }\r\n\r\n /**\r\n * Update the connection state of the current context\r\n */\r\n updateConnectionState(state: ConnectionState): void {\r\n const current = this.getCurrentContext();\r\n current.connectionState = state;\r\n this.notifyContextChange();\r\n }\r\n\r\n /**\r\n * Register a callback for context changes\r\n */\r\n onContextChange(callback: ContextChangeCallback): void {\r\n this.contextChangeCallbacks.push(callback);\r\n }\r\n\r\n /**\r\n * Register a callback for user notifications\r\n */\r\n onUserNotification(callback: UserNotificationCallback): void {\r\n this.userNotificationCallbacks.push(callback);\r\n }\r\n\r\n /**\r\n * Notify all registered callbacks of a context change\r\n */\r\n private notifyContextChange(): void {\r\n const current = this.getCurrentContext();\r\n // Pass a copy of the stack to prevent mutation by listeners\r\n const stack = [...this.contextStack];\r\n\r\n this.contextChangeCallbacks.forEach(callback => {\r\n try {\r\n callback(current, stack);\r\n } catch (error) {\r\n logError('Error in context change callback', error as Error);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Notify user with a message\r\n */\r\n private notifyUser(message: string, type: 'info' | 'warning' | 'error' = 'info'): void {\r\n this.userNotificationCallbacks.forEach(callback => {\r\n try {\r\n callback(message, type);\r\n } catch (error) {\r\n logError('Error in user notification callback', error as Error);\r\n }\r\n });\r\n\r\n // Fallback to console if no callbacks registered\r\n if (this.userNotificationCallbacks.length === 0) {\r\n logWarning(`${type.toUpperCase()}: ${message}`);\r\n }\r\n }\r\n\r\n /**\r\n * Execute a command in the current context with timeout\r\n * @param command The command to execute\r\n * @param timeoutMs Timeout in milliseconds (default 30000)\r\n * @param cwd Optional working directory - if provided, command will be prefixed with 'cd <cwd> &&' for remote contexts\r\n */\r\n async executeCommand(command: string, timeoutMs: number = 30000, cwd?: string): Promise<CommandResult> {\r\n const context = this.getCurrentContext();\r\n const startTime = Date.now();\r\n\r\n try {\r\n let result: CommandResult;\r\n\r\n if (context.type === 'local') {\r\n // Execute locally using Node.js child_process\r\n // Use provided cwd or fall back to context's working directory\r\n const workingDir = cwd || context.metadata.workingDirectory;\r\n result = await this.executeWithTimeout(\r\n () => this.executeLocalCommand(command, workingDir),\r\n timeoutMs,\r\n 'Command execution'\r\n );\r\n\r\n // Update context cwd if execution was successful and cwd was provided\r\n if (cwd && result.exitCode === 0 && cwd !== context.metadata.workingDirectory) {\r\n context.metadata.workingDirectory = cwd;\r\n this.notifyContextChange();\r\n }\r\n } else {\r\n // Execute in subshell\r\n if (!context.handler) {\r\n throw new SubshellExecutionError(\r\n command,\r\n 'No handler available for current context',\r\n 1\r\n );\r\n }\r\n\r\n // For remote contexts, prefix command with 'cd <cwd> &&' if cwd is provided and valid\r\n let fullCommand = command;\r\n if (cwd && cwd !== '~' && cwd !== context.metadata.workingDirectory) {\r\n // Prefix with cd to ensure command runs in the correct directory\r\n fullCommand = `cd \"${cwd}\" && ${command}`;\r\n }\r\n\r\n result = await this.executeWithTimeout(\r\n () => context.handler!.executeCommand(fullCommand),\r\n timeoutMs,\r\n 'Command execution'\r\n );\r\n\r\n // Update working directory after command execution\r\n try {\r\n const newCwd = await context.handler.getCurrentWorkingDirectory();\r\n // Only update if we got a valid path (not ~ which is the fallback)\r\n if (newCwd && newCwd !== '~' && newCwd !== context.metadata.workingDirectory) {\r\n context.metadata.workingDirectory = newCwd;\r\n this.notifyContextChange();\r\n }\r\n } catch (cwdError) {\r\n // Ignore cwd detection errors - don't change the stored CWD\r\n // The previous CWD should remain valid\r\n }\r\n }\r\n\r\n // Check for latency warning\r\n const executionTime = Date.now() - startTime;\r\n if (executionTime > 2000) {\r\n this.notifyUser(\r\n `Command took ${(executionTime / 1000).toFixed(1)}s to execute (high latency detected)`,\r\n 'warning'\r\n );\r\n }\r\n\r\n return result;\r\n } catch (error) {\r\n if (error instanceof Error && error.message.includes('timed out')) {\r\n this.notifyUser(`Command timed out after ${timeoutMs / 1000}s`, 'error');\r\n throw new SubshellExecutionError(\r\n command,\r\n `Command timed out after ${timeoutMs / 1000}s`,\r\n 124 // Standard timeout exit code\r\n );\r\n }\r\n\r\n throw new SubshellExecutionError(\r\n command,\r\n error instanceof Error ? error.message : String(error),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Execute a command locally\r\n */\r\n private async executeLocalCommand(command: string, cwd: string): Promise<CommandResult> {\r\n const { exec } = await import('child_process');\r\n const { promisify } = await import('util');\r\n const execAsync = promisify(exec);\r\n\r\n try {\r\n const { stdout, stderr } = await execAsync(command, { cwd });\r\n return {\r\n stdout: stdout || '',\r\n stderr: stderr || '',\r\n exitCode: 0,\r\n };\r\n } catch (error: any) {\r\n return {\r\n stdout: error.stdout || '',\r\n stderr: error.stderr || error.message || '',\r\n exitCode: error.code || 1,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Read a file in the current context with timeout\r\n */\r\n async readFile(path: string, timeoutMs: number = 10000): Promise<string> {\r\n const context = this.getCurrentContext();\r\n\r\n try {\r\n if (context.type === 'local') {\r\n const fs = await import('fs/promises');\r\n return await this.executeWithTimeout(\r\n () => fs.readFile(path, 'utf-8'),\r\n timeoutMs,\r\n 'File read'\r\n );\r\n }\r\n\r\n if (!context.handler) {\r\n throw new Error('No handler available for current context');\r\n }\r\n\r\n return await this.executeWithTimeout(\r\n () => context.handler!.readFile(path),\r\n timeoutMs,\r\n 'File read'\r\n );\r\n } catch (error) {\r\n if (error instanceof Error && error.message.includes('timed out')) {\r\n this.notifyUser(`File read timed out after ${timeoutMs / 1000}s`, 'error');\r\n }\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Write a file in the current context with timeout\r\n */\r\n async writeFile(path: string, content: string, timeoutMs: number = 10000): Promise<void> {\r\n const context = this.getCurrentContext();\r\n\r\n try {\r\n if (context.type === 'local') {\r\n const fs = await import('fs/promises');\r\n await this.executeWithTimeout(\r\n () => fs.writeFile(path, content, 'utf-8'),\r\n timeoutMs,\r\n 'File write'\r\n );\r\n return;\r\n }\r\n\r\n if (!context.handler) {\r\n throw new Error('No handler available for current context');\r\n }\r\n\r\n await this.executeWithTimeout(\r\n () => context.handler!.writeFile(path, content),\r\n timeoutMs,\r\n 'File write'\r\n );\r\n } catch (error) {\r\n if (error instanceof Error && error.message.includes('timed out')) {\r\n this.notifyUser(`File write timed out after ${timeoutMs / 1000}s`, 'error');\r\n }\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * List directory contents in the current context with timeout\r\n */\r\n async listDirectory(path: string, timeoutMs: number = 10000): Promise<DirectoryEntry[]> {\r\n const context = this.getCurrentContext();\r\n\r\n try {\r\n if (context.type === 'local') {\r\n const fs = await import('fs/promises');\r\n return await this.executeWithTimeout(\r\n async () => {\r\n const entries = await fs.readdir(path, { withFileTypes: true });\r\n return entries.map(entry => ({\r\n name: entry.name,\r\n type: entry.isDirectory() ? 'directory' : 'file',\r\n }));\r\n },\r\n timeoutMs,\r\n 'Directory listing'\r\n );\r\n }\r\n\r\n if (!context.handler) {\r\n throw new Error('No handler available for current context');\r\n }\r\n\r\n return await this.executeWithTimeout(\r\n () => context.handler!.listDirectory(path),\r\n timeoutMs,\r\n 'Directory listing'\r\n );\r\n } catch (error) {\r\n if (error instanceof Error && error.message.includes('timed out')) {\r\n this.notifyUser(`Directory listing timed out after ${timeoutMs / 1000}s`, 'error');\r\n }\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Search for files in the current context with timeout\r\n */\r\n async searchFiles(pattern: string, directory: string, timeoutMs: number = 30000): Promise<SearchResult[]> {\r\n const context = this.getCurrentContext();\r\n\r\n try {\r\n if (context.type === 'local') {\r\n // For local, we'll use grep via command execution\r\n const result = await this.executeWithTimeout(\r\n () => this.executeLocalCommand(\r\n `grep -rn \"${pattern}\" \"${directory}\" 2>/dev/null || true`,\r\n context.metadata.workingDirectory\r\n ),\r\n timeoutMs,\r\n 'File search'\r\n );\r\n\r\n return this.parseGrepOutput(result.stdout);\r\n }\r\n\r\n if (!context.handler) {\r\n throw new Error('No handler available for current context');\r\n }\r\n\r\n return await this.executeWithTimeout(\r\n () => context.handler!.searchFiles(pattern, directory),\r\n timeoutMs,\r\n 'File search'\r\n );\r\n } catch (error) {\r\n if (error instanceof Error && error.message.includes('timed out')) {\r\n this.notifyUser(`File search timed out after ${timeoutMs / 1000}s`, 'error');\r\n }\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Parse grep output into SearchResult array\r\n */\r\n private parseGrepOutput(output: string): SearchResult[] {\r\n const results: SearchResult[] = [];\r\n const lines = output.split('\\n').filter(line => line.trim());\r\n\r\n for (const line of lines) {\r\n const match = line.match(/^([^:]+):(\\d+):(.*)$/);\r\n if (match) {\r\n results.push({\r\n file: match[1],\r\n line: parseInt(match[2], 10),\r\n content: match[3],\r\n });\r\n }\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Connect to a subshell with error handling\r\n */\r\n async connectToSubshell(handler: SubshellHandler, command: string): Promise<void> {\r\n try {\r\n this.updateConnectionState('connecting');\r\n this.notifyUser(`Connecting to ${handler.type}...`, 'info');\r\n\r\n const cwd = this.getCurrentContext().metadata.workingDirectory;\r\n const context = await handler.connect(command, cwd);\r\n\r\n this.pushContext(context);\r\n this.updateConnectionState('connected');\r\n this.notifyUser(`Connected to ${handler.type} successfully`, 'info');\r\n } catch (error) {\r\n this.updateConnectionState('error');\r\n\r\n const errorMessage = error instanceof Error ? error.message : String(error);\r\n this.notifyUser(`Failed to connect: ${errorMessage}`, 'error');\r\n\r\n // Check if error is recoverable\r\n if (error instanceof SubshellConnectionError && error.recoverable) {\r\n this.notifyUser('Attempting to reconnect...', 'info');\r\n try {\r\n await this.attemptReconnection(handler, command);\r\n } catch (reconnectError) {\r\n const reconnectMsg = reconnectError instanceof Error ? reconnectError.message : String(reconnectError);\r\n this.notifyUser(`Reconnection failed: ${reconnectMsg}`, 'error');\r\n this.restoreLocalContext();\r\n }\r\n } else {\r\n // Non-recoverable error, restore local context\r\n this.restoreLocalContext();\r\n }\r\n\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * Restore local context after connection failure\r\n */\r\n private restoreLocalContext(): void {\r\n // Pop all subshell contexts and return to local\r\n while (this.contextStack.length > 1) {\r\n const context = this.contextStack.pop();\r\n if (context?.handler) {\r\n context.handler.disconnect().catch((err: Error) => {\r\n logError('Error disconnecting handler', err);\r\n });\r\n }\r\n }\r\n\r\n this.updateConnectionState('connected');\r\n this.notifyUser('Restored local context', 'info');\r\n }\r\n\r\n /**\r\n * Attempt to reconnect to a subshell\r\n */\r\n async attemptReconnection(\r\n handler: SubshellHandler,\r\n command: string,\r\n maxAttempts: number = 3\r\n ): Promise<void> {\r\n for (let attempt = 1; attempt <= maxAttempts; attempt++) {\r\n const delay = Math.min(1000 * Math.pow(2, attempt - 1), 8000);\r\n\r\n this.notifyUser(`Reconnection attempt ${attempt}/${maxAttempts}...`, 'info');\r\n await this.sleep(delay);\r\n\r\n try {\r\n const cwd = this.getCurrentContext().metadata.workingDirectory;\r\n const context = await handler.connect(command, cwd);\r\n this.pushContext(context);\r\n this.updateConnectionState('connected');\r\n this.notifyUser('Reconnected successfully', 'info');\r\n return;\r\n } catch (error) {\r\n if (attempt === maxAttempts) {\r\n throw new SubshellConnectionError(\r\n handler.type,\r\n 'Reconnection failed after maximum attempts',\r\n false\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Utility method to sleep for a specified duration\r\n */\r\n private sleep(ms: number): Promise<void> {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n /**\r\n * Execute an operation with a timeout\r\n */\r\n async executeWithTimeout<T>(\r\n operation: () => Promise<T>,\r\n timeoutMs: number,\r\n operationName: string\r\n ): Promise<T> {\r\n return Promise.race([\r\n operation(),\r\n new Promise<T>((_, reject) =>\r\n setTimeout(\r\n () => reject(new Error(`${operationName} timed out after ${timeoutMs}ms`)),\r\n timeoutMs\r\n )\r\n ),\r\n ]);\r\n }\r\n\r\n /**\r\n * Reset to local context (for error recovery)\r\n */\r\n resetToLocal(): void {\r\n // Disconnect all subshells\r\n const handlers = this.contextStack\r\n .filter(ctx => ctx.handler)\r\n .map(ctx => ctx.handler!);\r\n\r\n // Clear stack except local context\r\n this.contextStack = [this.contextStack[0]];\r\n\r\n // Disconnect handlers asynchronously\r\n handlers.forEach(handler => {\r\n handler.disconnect().catch((err: Error) => {\r\n logError('Error disconnecting handler', err);\r\n });\r\n });\r\n\r\n this.notifyContextChange();\r\n }\r\n\r\n /**\r\n * Handle connection loss and attempt recovery\r\n */\r\n async handleConnectionLoss(error: Error): Promise<void> {\r\n const context = this.getCurrentContext();\r\n\r\n if (context.type === 'local') {\r\n // Already in local context, nothing to do\r\n return;\r\n }\r\n\r\n this.updateConnectionState('error');\r\n this.notifyUser(`Connection lost: ${error.message}`, 'error');\r\n\r\n // Try to reconnect if handler is available\r\n if (context.handler) {\r\n try {\r\n this.notifyUser('Attempting to reconnect...', 'info');\r\n // We need the original command to reconnect, but we don't have it stored\r\n // For now, we'll just restore local context\r\n this.restoreLocalContext();\r\n } catch (reconnectError) {\r\n this.notifyUser('Reconnection failed, restoring local context', 'error');\r\n this.restoreLocalContext();\r\n }\r\n } else {\r\n this.restoreLocalContext();\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|