gitextract_06hmzq__/ ├── .editorconfig ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── build_jetbrains.yml │ ├── build_vsix.yml │ └── publish.yml ├── .gitignore ├── .npmrc ├── .npmrc.ci ├── .prettierignore ├── .vscode/ │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── JetBrains/ │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ ├── kotlin/ │ │ ├── com/ │ │ │ └── snow/ │ │ │ └── plugin/ │ │ │ ├── SnowCodeNavigator.kt │ │ │ ├── SnowEditorContextTracker.kt │ │ │ ├── SnowMessageHandler.kt │ │ │ ├── SnowPluginLifecycle.kt │ │ │ ├── SnowProjectActivity.kt │ │ │ ├── SnowWebSocketManager.kt │ │ │ ├── actions/ │ │ │ │ ├── GenerateCommitMessageAction.kt │ │ │ │ ├── OpenSnowTerminalAction.kt │ │ │ │ ├── SendToSnowCLIAction.kt │ │ │ │ └── TestNotificationAction.kt │ │ │ ├── commit/ │ │ │ │ └── SnowCommitMessageGenerationService.kt │ │ │ ├── toolwindow/ │ │ │ │ └── SnowToolWindowFactory.kt │ │ │ └── util/ │ │ │ └── TerminalCompat.kt │ │ └── icons/ │ │ └── SnowPluginIcons.kt │ └── resources/ │ └── META-INF/ │ └── plugin.xml ├── LICENSE ├── README.md ├── README_zh.md ├── VSIX/ │ ├── .vscodeignore │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── res/ │ │ ├── sidebarTerminal.css │ │ └── sidebarTerminal.js │ ├── src/ │ │ ├── aceHandlers.ts │ │ ├── commitMessageGenerator.ts │ │ ├── diffHandlers.ts │ │ ├── extension.ts │ │ ├── gitBlameProvider.ts │ │ ├── ptyManager.ts │ │ ├── sidebarTerminalProvider.ts │ │ ├── sidebarTerminalSession.ts │ │ ├── startupCommandManager.ts │ │ ├── terminalPathFormatter.ts │ │ ├── terminalProxy.ts │ │ └── webSocketServer.ts │ ├── tsconfig.json │ └── webpack.config.js ├── build-ncc.mjs ├── build-shim.js ├── build.mjs ├── docs/ │ ├── role/ │ │ ├── en/ │ │ │ └── 01.Snow CLI Plan Every Step.md │ │ └── zh/ │ │ └── 01.Snow CLI 一步一规划.md │ └── usage/ │ ├── en/ │ │ ├── 0.Catalogue.md │ │ ├── 01.Installation Guide.md │ │ ├── 02.First Time Configuration.md │ │ ├── 03.Proxy and Browser Settings.md │ │ ├── 04.Codebase Setup.md │ │ ├── 05.Sub-Agent Configuration.md │ │ ├── 06.Sensitive Commands Configuration.md │ │ ├── 07.Hooks Configuration.md │ │ ├── 08.Theme Settings.md │ │ ├── 09.Command Panel Guide.md │ │ ├── 10.Command Injection Mode.md │ │ ├── 11.Vulnerability Hunting Mode.md │ │ ├── 12.Headless Mode.md │ │ ├── 13.Keyboard Shortcuts Guide.md │ │ ├── 14.MCP Configuration.md │ │ ├── 15.Async Task Management.md │ │ ├── 16.Third-Party Relay Configuration.md │ │ ├── 17.LSP Configuration.md │ │ ├── 18.Skills Command Detailed Guide.md │ │ ├── 19.Startup Parameters Guide.md │ │ ├── 20.SSE Service Mode.md │ │ ├── 21.Custom StatusLine Guide.md │ │ ├── 22.Team Mode Guide.md │ │ └── 23.Custom Search Engine Guide.md │ └── zh/ │ ├── 0.目录.md │ ├── 01.安装指南.md │ ├── 02.首次配置.md │ ├── 03.代理和浏览器设置.md │ ├── 04.代码库设置.md │ ├── 05.子代理设置.md │ ├── 06.敏感命令配置.md │ ├── 07.Hooks配置.md │ ├── 08.主题设置.md │ ├── 09.指令面板说明.md │ ├── 10.命令注入模式.md │ ├── 11.漏洞猎人模式.md │ ├── 12.无头模式.md │ ├── 13.快捷键指南.md │ ├── 14.MCP配置.md │ ├── 15.异步任务管理.md │ ├── 16.第三方中转配置.md │ ├── 17.LSP配置.md │ ├── 18.Skills指令详细说明.md │ ├── 19.启动参数说明.md │ ├── 20.SSE服务模式.md │ ├── 21.自定义StatusLine指南.md │ ├── 22.Team模式指南.md │ └── 23.自定义搜索引擎指南.md ├── package.json ├── scripts/ │ ├── clean-build.cjs │ └── postinstall.cjs ├── source/ │ ├── agents/ │ │ ├── bashOutputSummaryAgent.ts │ │ ├── codebaseIndexAgent.ts │ │ ├── codebaseReviewAgent.ts │ │ ├── compactAgent.ts │ │ ├── reviewAgent.ts │ │ └── summaryAgent.ts │ ├── api/ │ │ ├── anthropic.ts │ │ ├── chat.ts │ │ ├── embedding.ts │ │ ├── gemini.ts │ │ ├── models.ts │ │ ├── rerank.ts │ │ ├── responses.ts │ │ ├── sse-server.ts │ │ └── types.ts │ ├── app.tsx │ ├── cli.tsx │ ├── hooks/ │ │ ├── conversation/ │ │ │ ├── chatLogic/ │ │ │ │ ├── types.ts │ │ │ │ ├── useChatHandlers.ts │ │ │ │ ├── useMessageProcessing.ts │ │ │ │ ├── useRemoteEvents.ts │ │ │ │ └── useRollback.ts │ │ │ ├── core/ │ │ │ │ ├── autoCompressHandler.ts │ │ │ │ ├── conversationSetup.ts │ │ │ │ ├── conversationTypes.ts │ │ │ │ ├── editorContextBuilder.ts │ │ │ │ ├── encoderManager.ts │ │ │ │ ├── onStopHookHandler.ts │ │ │ │ ├── pendingMessagesHandler.ts │ │ │ │ ├── sessionInitializer.ts │ │ │ │ ├── streamFactory.ts │ │ │ │ ├── streamProcessor.ts │ │ │ │ ├── subAgentMessageHandler.ts │ │ │ │ ├── toolCallProcessor.ts │ │ │ │ ├── toolCallRoundHandler.ts │ │ │ │ ├── toolConfirmationFlow.ts │ │ │ │ ├── toolRejectionHandler.ts │ │ │ │ └── toolResultDisplay.ts │ │ │ ├── useChatLogic.ts │ │ │ ├── useCommandHandler.ts │ │ │ ├── useConversation.ts │ │ │ ├── useStreamingState.ts │ │ │ ├── useToolConfirmation.ts │ │ │ └── utils/ │ │ │ ├── messageCleanup.ts │ │ │ └── thinkingExtractor.ts │ │ ├── execution/ │ │ │ ├── useBackgroundProcesses.ts │ │ │ ├── useSchedulerExecutionState.ts │ │ │ └── useTerminalExecutionState.ts │ │ ├── input/ │ │ │ ├── keyboard/ │ │ │ │ ├── context.ts │ │ │ │ ├── handlers/ │ │ │ │ │ ├── arrowKeys.ts │ │ │ │ │ ├── clipboard.ts │ │ │ │ │ ├── deleteAndBackspace.ts │ │ │ │ │ ├── editing.ts │ │ │ │ │ ├── escape.ts │ │ │ │ │ ├── focusFilter.ts │ │ │ │ │ ├── modeToggle.ts │ │ │ │ │ ├── newline.ts │ │ │ │ │ ├── pickers/ │ │ │ │ │ │ ├── agentPicker.ts │ │ │ │ │ │ ├── argsPicker.ts │ │ │ │ │ │ ├── commandPanel.ts │ │ │ │ │ │ ├── filePicker.ts │ │ │ │ │ │ ├── gitLinePicker.ts │ │ │ │ │ │ ├── historyMenu.ts │ │ │ │ │ │ ├── profilePicker.ts │ │ │ │ │ │ ├── runningAgentsPicker.ts │ │ │ │ │ │ ├── skillsPicker.ts │ │ │ │ │ │ └── todoPicker.ts │ │ │ │ │ ├── profileShortcut.ts │ │ │ │ │ ├── regularInput.ts │ │ │ │ │ ├── submit.ts │ │ │ │ │ └── tabArgsPicker.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils/ │ │ │ │ └── wordBoundary.ts │ │ │ ├── useBashMode.ts │ │ │ ├── useClipboard.ts │ │ │ ├── useHistoryNavigation.ts │ │ │ ├── useInputBuffer.ts │ │ │ └── useKeyboardInput.ts │ │ ├── integration/ │ │ │ ├── useGlobalExit.ts │ │ │ ├── useGlobalNavigation.ts │ │ │ └── useVSCodeState.ts │ │ ├── picker/ │ │ │ ├── useAgentPicker.ts │ │ │ ├── useFilePicker.ts │ │ │ ├── useGitLinePicker.ts │ │ │ ├── useProfilePicker.ts │ │ │ ├── useRunningAgentsPicker.ts │ │ │ ├── useSkillsPicker.ts │ │ │ └── useTodoPicker.ts │ │ ├── session/ │ │ │ ├── useSessionManagement.ts │ │ │ ├── useSessionSave.ts │ │ │ └── useSnapshotState.ts │ │ └── ui/ │ │ ├── useCommandPanel.ts │ │ ├── useCursorHide.ts │ │ ├── usePanelState.ts │ │ ├── useTerminalFocus.ts │ │ ├── useTerminalSize.ts │ │ └── useTerminalTitle.ts │ ├── i18n/ │ │ ├── I18nContext.tsx │ │ ├── index.ts │ │ ├── lang/ │ │ │ ├── en.ts │ │ │ ├── zh-TW.ts │ │ │ └── zh.ts │ │ ├── translations.ts │ │ └── types.ts │ ├── mcp/ │ │ ├── aceCodeSearch.ts │ │ ├── askUserQuestion.ts │ │ ├── bash.ts │ │ ├── codebaseSearch.ts │ │ ├── engines/ │ │ │ └── websearch/ │ │ │ ├── bing.engine.ts │ │ │ ├── duckduckgo.engine.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── filesystem.ts │ │ ├── ideDiagnostics.ts │ │ ├── lsp/ │ │ │ ├── HybridCodeSearchService.ts │ │ │ ├── LSPClient.ts │ │ │ ├── LSPManager.ts │ │ │ └── LSPServerRegistry.ts │ │ ├── notebook.ts │ │ ├── scheduler.ts │ │ ├── skills.ts │ │ ├── subagent.ts │ │ ├── team.ts │ │ ├── todo.ts │ │ ├── types/ │ │ │ ├── aceCodeSearch.types.ts │ │ │ ├── bash.types.ts │ │ │ ├── filesystem.types.ts │ │ │ ├── todo.types.ts │ │ │ └── websearch.types.ts │ │ ├── utils/ │ │ │ ├── aceCodeSearch/ │ │ │ │ ├── constants.utils.ts │ │ │ │ ├── filesystem.utils.ts │ │ │ │ ├── language.utils.ts │ │ │ │ ├── search.utils.ts │ │ │ │ └── symbol.utils.ts │ │ │ ├── bash/ │ │ │ │ └── security.utils.ts │ │ │ ├── filesystem/ │ │ │ │ ├── backup.utils.ts │ │ │ │ ├── batch-operations.utils.ts │ │ │ │ ├── code-analysis.utils.ts │ │ │ │ ├── diagnostics.utils.ts │ │ │ │ ├── edit-tools.utils.ts │ │ │ │ ├── encoding.utils.ts │ │ │ │ ├── hashline.utils.ts │ │ │ │ ├── match-finder.utils.ts │ │ │ │ ├── message-format.utils.ts │ │ │ │ ├── office-parser.utils.ts │ │ │ │ ├── path-fixer.utils.ts │ │ │ │ ├── read-tools.utils.ts │ │ │ │ └── similarity.utils.ts │ │ │ ├── todo/ │ │ │ │ └── date.utils.ts │ │ │ └── websearch/ │ │ │ ├── browser.utils.ts │ │ │ └── text.utils.ts │ │ └── websearch.ts │ ├── prompt/ │ │ ├── planModeSystemPrompt.ts │ │ ├── shared/ │ │ │ └── promptHelpers.ts │ │ ├── systemPrompt.ts │ │ ├── teamModeSystemPrompt.ts │ │ └── vulnerabilityHuntingModeSystemPrompt.ts │ ├── test/ │ │ ├── logger-test.ts │ │ ├── rg-spawn-repro/ │ │ │ ├── rg-spawn-repro-fixed.mjs │ │ │ └── rg-spawn-repro.mjs │ │ └── sse-client/ │ │ ├── app.js │ │ ├── dialogs.js │ │ ├── index.html │ │ ├── json-viewer.js │ │ └── style.css │ ├── types/ │ │ └── index.ts │ ├── ui/ │ │ ├── components/ │ │ │ ├── bash/ │ │ │ │ ├── BackgroundProcessPanel.tsx │ │ │ │ ├── BashCommandConfirmation.tsx │ │ │ │ └── CustomCommandExecutionDisplay.tsx │ │ │ ├── chat/ │ │ │ │ ├── ChatFooter.tsx │ │ │ │ ├── ChatInput.tsx │ │ │ │ ├── CodebaseSearchStatus.tsx │ │ │ │ ├── LoadingIndicator.tsx │ │ │ │ ├── MessageList.tsx │ │ │ │ ├── MessageRenderer.tsx │ │ │ │ ├── PendingMessages.tsx │ │ │ │ ├── PendingToolCalls.tsx │ │ │ │ └── UserMessagePreview.tsx │ │ │ ├── common/ │ │ │ │ ├── MarkdownRenderer.tsx │ │ │ │ ├── Menu.tsx │ │ │ │ ├── PickerList.tsx │ │ │ │ ├── ScrollableSelectInput.tsx │ │ │ │ ├── ShimmerText.tsx │ │ │ │ ├── StatusLine.tsx │ │ │ │ ├── UpdateNotice.tsx │ │ │ │ └── statusline/ │ │ │ │ ├── builtinIds.ts │ │ │ │ ├── gitBranch.ts │ │ │ │ ├── types.ts │ │ │ │ └── useStatusLineHooks.ts │ │ │ ├── compression/ │ │ │ │ └── CompressionStatus.tsx │ │ │ ├── panels/ │ │ │ │ ├── AgentPickerPanel.tsx │ │ │ │ ├── BranchPanel.tsx │ │ │ │ ├── BtwPanel.tsx │ │ │ │ ├── CommandArgsPanel.tsx │ │ │ │ ├── CommandPanel.tsx │ │ │ │ ├── ConnectionPanel.tsx │ │ │ │ ├── CustomCommandConfigPanel.tsx │ │ │ │ ├── DiffReviewPanel.tsx │ │ │ │ ├── GitLinePickerPanel.tsx │ │ │ │ ├── HelpPanel.tsx │ │ │ │ ├── IdeSelectPanel.tsx │ │ │ │ ├── MCPInfoPanel.tsx │ │ │ │ ├── ModelsPanel.tsx │ │ │ │ ├── NewPromptPanel.tsx │ │ │ │ ├── PanelsManager.tsx │ │ │ │ ├── PermissionsPanel.tsx │ │ │ │ ├── ProfileEditPanel.tsx │ │ │ │ ├── ProfilePanel.tsx │ │ │ │ ├── ReviewCommitPanel.tsx │ │ │ │ ├── RoleCreationPanel.tsx │ │ │ │ ├── RoleDeletionPanel.tsx │ │ │ │ ├── RoleListPanel.tsx │ │ │ │ ├── RoleSubagentCreationPanel.tsx │ │ │ │ ├── RoleSubagentDeletionPanel.tsx │ │ │ │ ├── RoleSubagentListPanel.tsx │ │ │ │ ├── RollbackMenuPanel.tsx │ │ │ │ ├── RunningAgentsPanel.tsx │ │ │ │ ├── SessionListPanel.tsx │ │ │ │ ├── SkillsCreationPanel.tsx │ │ │ │ ├── SkillsListPanel.tsx │ │ │ │ ├── SkillsPickerPanel.tsx │ │ │ │ ├── SubAgentDepthPanel.tsx │ │ │ │ ├── TodoListPanel.tsx │ │ │ │ ├── TodoPickerPanel.tsx │ │ │ │ ├── UsagePanel.tsx │ │ │ │ └── WorkingDirectoryPanel.tsx │ │ │ ├── pixel-editor/ │ │ │ │ ├── PixelEditor.tsx │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── scheduler/ │ │ │ │ └── SchedulerCountdown.tsx │ │ │ ├── special/ │ │ │ │ ├── AskUserQuestion.tsx │ │ │ │ ├── ChatHeader.tsx │ │ │ │ ├── HookErrorDisplay.tsx │ │ │ │ └── TodoTree.tsx │ │ │ ├── sse/ │ │ │ │ └── SSEServerStatus.tsx │ │ │ └── tools/ │ │ │ ├── DiffViewer.tsx │ │ │ ├── FileList.tsx │ │ │ ├── FileRollbackConfirmation.tsx │ │ │ ├── ToolConfirmation.tsx │ │ │ └── ToolResultPreview.tsx │ │ ├── contexts/ │ │ │ └── ThemeContext.tsx │ │ ├── pages/ │ │ │ ├── ChatScreen.tsx │ │ │ ├── CodeBaseConfigScreen.tsx │ │ │ ├── ConfigScreen.tsx │ │ │ ├── CustomHeadersScreen.tsx │ │ │ ├── CustomThemeScreen.tsx │ │ │ ├── ExitScreen.tsx │ │ │ ├── HeadlessModeScreen.tsx │ │ │ ├── HelpScreen.tsx │ │ │ ├── HooksConfigScreen.tsx │ │ │ ├── LanguageSettingsScreen.tsx │ │ │ ├── MCPConfigScreen.tsx │ │ │ ├── PixelEditorScreen.tsx │ │ │ ├── ProxyConfigScreen.tsx │ │ │ ├── SensitiveCommandConfigScreen.tsx │ │ │ ├── SubAgentConfigScreen.tsx │ │ │ ├── SubAgentListScreen.tsx │ │ │ ├── SystemPromptConfigScreen.tsx │ │ │ ├── TaskManagerScreen.tsx │ │ │ ├── ThemeSettingsScreen.tsx │ │ │ ├── WelcomeScreen.tsx │ │ │ ├── chatScreen/ │ │ │ │ ├── ChatScreenConversationView.tsx │ │ │ │ ├── ChatScreenPanels.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── useBackgroundProcessSelection.ts │ │ │ │ ├── useChatScreenCommands.ts │ │ │ │ ├── useChatScreenInputHandler.ts │ │ │ │ ├── useChatScreenLocalState.ts │ │ │ │ ├── useChatScreenModes.ts │ │ │ │ ├── useChatScreenSessionLifecycle.ts │ │ │ │ └── useCodebaseIndexing.ts │ │ │ └── configScreen/ │ │ │ ├── ConfigFieldRenderer.tsx │ │ │ ├── ConfigSelectPanel.tsx │ │ │ ├── ConfigSubViews.tsx │ │ │ ├── types.ts │ │ │ ├── useConfigInput.ts │ │ │ └── useConfigState.ts │ │ └── themes/ │ │ └── index.ts │ ├── utils/ │ │ ├── acp/ │ │ │ └── acpManager.ts │ │ ├── codebase/ │ │ │ ├── codebaseDatabase.ts │ │ │ ├── codebaseSearchEvents.ts │ │ │ ├── conversationContext.ts │ │ │ ├── gitignoreValidator.ts │ │ │ ├── hashBasedSnapshot.ts │ │ │ └── reindexCodebase.ts │ │ ├── commands/ │ │ │ ├── addDir.ts │ │ │ ├── agent.ts │ │ │ ├── autoformat.ts │ │ │ ├── backend.ts │ │ │ ├── branch.ts │ │ │ ├── btw.ts │ │ │ ├── btwStream.ts │ │ │ ├── clear.ts │ │ │ ├── codebase.ts │ │ │ ├── compact.ts │ │ │ ├── connect.ts │ │ │ ├── copyLast.ts │ │ │ ├── custom.ts │ │ │ ├── deepresearch.ts │ │ │ ├── diff.ts │ │ │ ├── export.ts │ │ │ ├── gitline.ts │ │ │ ├── help.ts │ │ │ ├── home.ts │ │ │ ├── hybridCompress.ts │ │ │ ├── ide.ts │ │ │ ├── init.ts │ │ │ ├── loop.ts │ │ │ ├── mcp.ts │ │ │ ├── models.ts │ │ │ ├── newPrompt.ts │ │ │ ├── permissions.ts │ │ │ ├── pixel.ts │ │ │ ├── plan.ts │ │ │ ├── profiles.ts │ │ │ ├── quit.ts │ │ │ ├── reindex.ts │ │ │ ├── resume.ts │ │ │ ├── review.ts │ │ │ ├── role.ts │ │ │ ├── roleSubagent.ts │ │ │ ├── simple.ts │ │ │ ├── skills.ts │ │ │ ├── skillsPicker.ts │ │ │ ├── subagentDepth.ts │ │ │ ├── team.ts │ │ │ ├── todoPicker.ts │ │ │ ├── todolist.ts │ │ │ ├── toolsearch.ts │ │ │ ├── usage.ts │ │ │ ├── vulnerability-hunting.ts │ │ │ ├── worktree.ts │ │ │ └── yolo.ts │ │ ├── config/ │ │ │ ├── apiConfig.ts │ │ │ ├── codebaseConfig.ts │ │ │ ├── configEvents.ts │ │ │ ├── configManager.ts │ │ │ ├── disabledBuiltInTools.ts │ │ │ ├── disabledMCPTools.ts │ │ │ ├── disabledSkills.ts │ │ │ ├── hooksConfig.ts │ │ │ ├── languageConfig.ts │ │ │ ├── permissionsConfig.ts │ │ │ ├── projectSettings.ts │ │ │ ├── proxyConfig.ts │ │ │ ├── subAgentConfig.ts │ │ │ ├── themeConfig.ts │ │ │ ├── toolDisplayConfig.ts │ │ │ └── workingDirConfig.ts │ │ ├── connection/ │ │ │ ├── ConnectionManager.ts │ │ │ ├── configStore.ts │ │ │ ├── contextManager.ts │ │ │ ├── instanceLock.ts │ │ │ ├── interactionManager.ts │ │ │ ├── projectData.ts │ │ │ ├── stateManager.ts │ │ │ └── types.ts │ │ ├── core/ │ │ │ ├── autoCompress.ts │ │ │ ├── clipboard.ts │ │ │ ├── compressionCoordinator.ts │ │ │ ├── contextCompressor.ts │ │ │ ├── devMode.ts │ │ │ ├── fileUtils.ts │ │ │ ├── globalCleanup.ts │ │ │ ├── logger.ts │ │ │ ├── notebookManager.ts │ │ │ ├── processManager.ts │ │ │ ├── proxyUtils.ts │ │ │ ├── resourceMonitor.ts │ │ │ ├── retryUtils.ts │ │ │ ├── runUpdate.ts │ │ │ ├── streamGuards.ts │ │ │ ├── subAgentContextCompressor.ts │ │ │ ├── textUtils.ts │ │ │ ├── todoPreprocessor.ts │ │ │ ├── todoScanner.ts │ │ │ ├── usageLogger.ts │ │ │ └── version.ts │ │ ├── events/ │ │ │ └── todoEvents.ts │ │ ├── execution/ │ │ │ ├── commandExecutor.ts │ │ │ ├── hookResultInterpreter.ts │ │ │ ├── hookStrategies.ts │ │ │ ├── mcpToolsManager.ts │ │ │ ├── runningSubAgentTracker.ts │ │ │ ├── sensitiveCommandManager.ts │ │ │ ├── subAgentBuiltinTools.ts │ │ │ ├── subAgentExecutor.ts │ │ │ ├── subAgentResolver.ts │ │ │ ├── subAgentStreamProcessor.ts │ │ │ ├── subAgentToolApproval.ts │ │ │ ├── subAgentToolInterceptor.ts │ │ │ ├── subAgentTypes.ts │ │ │ ├── subagents/ │ │ │ │ ├── analyzeAgent.ts │ │ │ │ ├── debugAgent.ts │ │ │ │ ├── exploreAgent.ts │ │ │ │ ├── generalAgent.ts │ │ │ │ ├── index.ts │ │ │ │ ├── planAgent.ts │ │ │ │ ├── qaAgent.ts │ │ │ │ └── types.ts │ │ │ ├── teamExecutor.ts │ │ │ ├── teamTracker.ts │ │ │ ├── terminal.ts │ │ │ ├── tokenLimiter.ts │ │ │ ├── toolExecutor.ts │ │ │ ├── toolSearchService.ts │ │ │ ├── unifiedHooksExecutor.ts │ │ │ └── yoloPermissionChecker.ts │ │ ├── index.ts │ │ ├── latex/ │ │ │ └── unicodeMath.ts │ │ ├── session/ │ │ │ ├── chatExporter.ts │ │ │ ├── checkpointManager.ts │ │ │ ├── commandUsageManager.ts │ │ │ ├── historyManager.ts │ │ │ ├── projectUtils.ts │ │ │ ├── sessionConverter.ts │ │ │ └── sessionManager.ts │ │ ├── sse/ │ │ │ ├── daemonLogger.ts │ │ │ ├── sseDaemon.ts │ │ │ └── sseManager.ts │ │ ├── ssh/ │ │ │ └── sshClient.ts │ │ ├── task/ │ │ │ ├── loopManager.ts │ │ │ ├── taskExecutor.ts │ │ │ └── taskManager.ts │ │ ├── team/ │ │ │ ├── teamConfig.ts │ │ │ ├── teamSnapshot.ts │ │ │ ├── teamTaskList.ts │ │ │ └── teamWorktree.ts │ │ └── ui/ │ │ ├── escapeHandler.ts │ │ ├── externalEditor.ts │ │ ├── fileDialog.ts │ │ ├── messageFormatter.ts │ │ ├── pickerState.ts │ │ ├── skillMask.ts │ │ ├── textBuffer.ts │ │ ├── updateNotice.ts │ │ ├── userInteractionError.ts │ │ └── vscodeConnection.ts │ └── vendor/ │ └── ink/ │ ├── license │ ├── package.json │ └── src/ │ ├── colorize.ts │ ├── components/ │ │ ├── App.tsx │ │ ├── AppContext.ts │ │ ├── Box.tsx │ │ ├── CursorContext.ts │ │ ├── ErrorOverview.tsx │ │ ├── FocusContext.ts │ │ ├── Newline.tsx │ │ ├── Spacer.tsx │ │ ├── Static.tsx │ │ ├── StderrContext.ts │ │ ├── StdinContext.ts │ │ ├── StdoutContext.ts │ │ ├── Text.tsx │ │ └── Transform.tsx │ ├── cursor-helpers.ts │ ├── devtools-window-polyfill.ts │ ├── devtools.ts │ ├── dom.ts │ ├── get-max-width.ts │ ├── global.d.ts │ ├── hooks/ │ │ ├── use-app.ts │ │ ├── use-cursor.ts │ │ ├── use-focus-manager.ts │ │ ├── use-focus.ts │ │ ├── use-input.ts │ │ ├── use-stderr.ts │ │ ├── use-stdin.ts │ │ └── use-stdout.ts │ ├── index.ts │ ├── ink.tsx │ ├── instances.ts │ ├── line-width-cache.ts │ ├── log-update.ts │ ├── measure-element.ts │ ├── measure-text.ts │ ├── output.ts │ ├── parse-keypress.ts │ ├── reconciler.ts │ ├── render-border.ts │ ├── render-node-to-output.ts │ ├── render.ts │ ├── renderer.ts │ ├── squash-text-nodes.ts │ ├── styles.ts │ ├── vendor-types.d.ts │ ├── wrap-text.ts │ ├── yoga-compat.ts │ └── yoga-ts/ │ ├── enums.ts │ └── index.ts └── tsconfig.json