UI flow
Terminal or UI rendering, components, dialogs, prompts, and user interaction surfaces.
508
Matched files
8
Top dirs
110,859
Lines in slice
1115
Exports found
Heuristic
Classification style
Beginner explanation
This architecture page groups files that seem to solve the same type of problem. It is a good way to understand the repo as a system rather than as a list of folders.
Beginner mental model
Read the first few high-importance files here, then follow their related-file links.
Expert explanation
This slice is assembled with path heuristics, which makes it strong for navigation and code reading but not a replacement for runtime tracing. Use it to discover likely boundaries, then validate by reading imports, exports, and orchestrator files.
Related files
| File | Lines | Importance | Exports |
|---|---|---|---|
| screens/REPL.tsx | 5006 | high | Props, Screen, REPL |
| components/PromptInput/PromptInput.tsx | 2339 | high | — |
| components/Settings/Config.tsx | 1822 | high | Config |
| ink/ink.tsx | 1723 | high | Options, Ink, drainStdin |
| components/LogSelector.tsx | 1575 | high | LogSelectorProps, LogSelector |
| ink/screen.ts | 1487 | high | CharPool, HyperlinkPool, StylePool, enum |
| ink/render-node-to-output.ts | 1463 | high | resetLayoutShifted, didLayoutShift, ScrollHint, resetScrollHint |
| components/Stats.tsx | 1228 | high | Stats |
| components/permissions/rules/PermissionRuleList.tsx | 1179 | high | PermissionRuleList |
| components/mcp/ElicitationDialog.tsx | 1169 | high | ElicitationDialog |
| components/VirtualMessageList.tsx | 1082 | high | StickyPrompt, JumpHandle, VirtualMessageList |
| components/ScrollKeybindingHandler.tsx | 1012 | high | shouldClearSelectionOnKey, selectionFocusMoveForKey, WheelAccelState, computeWheelStep |
| ink/selection.ts | 918 | high | SelectionState, createSelectionState, startSelection, updateSelection |
| components/tasks/RemoteSessionDetailDialog.tsx | 904 | high | formatToolUseSummary, RemoteSessionDetailDialog |
| components/Messages.tsx | 834 | high | filterForBriefTool, dropTextInBriefTurns, SliceAnchor, computeSliceStart |
| components/MessageSelector.tsx | 831 | high | MessageSelector, selectableUserMessagesFilter, messagesAfterAreOnlySynthetic |
| components/messages/SystemTextMessage.tsx | 827 | high | SystemTextMessage |
| ink/parse-keypress.ts | 802 | high | DECRPM_STATUS, TerminalResponse, KeyParseState, INITIAL_STATE |
| components/agents/AgentsMenu.tsx | 800 | high | AgentsMenu |
| ink/output.ts | 798 | high | Operation, Clip, Output |
| ink/log-update.ts | 774 | high | LogUpdate |
| ink/styles.ts | 772 | high | RGBColor, HexColor, Ansi256Color, AnsiColor |
| components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx | 768 | high | buildPermissionUpdates, autoNameSessionFromPlan, ExitPlanModePermissionRequest, buildPlanApprovalOptions |
| components/teams/TeamsDialog.tsx | 715 | high | TeamsDialog |
| components/CustomSelect/select.tsx | 690 | high | OptionWithDescription, SelectProps, Select |
| ink/components/App.tsx | 658 | high | App, handleMouseEvent |
| components/CustomSelect/use-select-navigation.ts | 654 | high | UseSelectNavigationProps, SelectNavigation, useSelectNavigation |
| components/tasks/BackgroundTasksDialog.tsx | 652 | high | BackgroundTasksDialog |
| components/mcp/MCPRemoteServerMenu.tsx | 649 | high | MCPRemoteServerMenu |
| components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx | 645 | high | AskUserQuestionPermissionRequest |
| components/FullscreenLayout.tsx | 637 | high | ScrollChromeContext, useUnseenDivider, countUnseenAssistantTurns, UnseenDivider |
| components/ConsoleOAuthFlow.tsx | 631 | high | ConsoleOAuthFlow |
| components/Message.tsx | 627 | high | Props, hasThinkingContent, areMessagePropsEqual, Message |
| components/Feedback.tsx | 592 | high | redactSensitiveInfo, Feedback, createGitHubIssueUrl |
| components/hooks/HooksConfigMenu.tsx | 578 | high | HooksConfigMenu |
| screens/Doctor.tsx | 575 | high | Doctor |
| components/Spinner.tsx | 562 | high | SpinnerWithVerb, BriefIdleStatus, Spinner |
| components/agents/ToolSelector.tsx | 562 | high | ToolSelector |
| utils/deepLink/terminalLauncher.ts | 558 | high | TerminalInfo, detectTerminal, launchInTerminal |
| commands/thinkback/thinkback.tsx | 554 | high | playAnimation, call |
| components/LogoV2/LogoV2.tsx | 543 | high | LogoV2 |
| components/messages/AttachmentMessage.tsx | 536 | high | AttachmentMessage |
| components/PromptInput/PromptInputFooterLeftSide.tsx | 517 | high | PromptInputFooterLeftSide |
| ink/reconciler.ts | 513 | high | getOwnerChain, isDebugRepaintsEnabled, dispatcher, recordYogaMs |
| components/mcp/MCPListPanel.tsx | 504 | high | MCPListPanel |
| ink/termio/osc.ts | 494 | high | OSC_PREFIX, ST, osc, wrapForMultiplexer |
| components/ContextVisualization.tsx | 489 | high | ContextVisualization |
| components/CustomSelect/select-input-option.tsx | 488 | high | SelectInputOption |
| components/StructuredDiff/Fallback.tsx | 487 | high | LineObject, StructuredDiffFallback, transformLinesToObjects, processAdjacentLines |
| ink/dom.ts | 485 | high | TextName, ElementNames, NodeNames, DOMElement |
| components/messages/CollapsedReadSearchContent.tsx | 484 | high | CollapsedReadSearchContent |
| components/permissions/BashPermissionRequest/BashPermissionRequest.tsx | 482 | high | BashPermissionRequest |
| components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx | 465 | high | QuestionView |
| components/grove/Grove.tsx | 463 | high | GroveDecision, GroveDialog, PrivacySettingsDialog |
| components/permissions/PermissionDecisionDebugInfo.tsx | 460 | high | PermissionDecisionDebugInfo |
| components/messageActions.tsx | 450 | high | NavigableType, NavigableOf, NavigableMessage, isNavigableMessage |
| components/ModelPicker.tsx | 448 | high | Props, ModelPicker |
| components/permissions/ComputerUseApproval/ComputerUseApproval.tsx | 441 | high | ComputerUseApproval |
| components/agents/AgentsList.tsx | 440 | high | AgentsList |
| components/memory/MemoryFileSelector.tsx | 438 | high | MemoryFileSelector |
| components/LogoV2/WelcomeV2.tsx | 433 | high | WelcomeV2 |
| components/tasks/BackgroundTaskStatus.tsx | 429 | high | BackgroundTaskStatus |
| components/CustomSelect/use-multi-select-state.ts | 415 | high | UseMultiSelectStateProps, MultiSelectState, useMultiSelectState |
| components/tasks/ShellDetailDialog.tsx | 404 | high | ShellDetailDialog |
| components/BridgeDialog.tsx | 401 | high | BridgeDialog |
| screens/ResumeConversation.tsx | 399 | high | ResumeConversation |
| components/mcp/MCPSettings.tsx | 398 | high | MCPSettings |
| components/ui/TreeSelect.tsx | 397 | high | TreeNode, TreeSelectProps, TreeSelect |
| ink/termio/parser.ts | 395 | high | Parser |
| components/MessageRow.tsx | 383 | high | Props, hasContentAfterIndex, isMessageStreaming, allToolsResolved |
| components/diff/DiffDialog.tsx | 383 | high | DiffDialog |
| components/TaskListV2.tsx | 378 | high | TaskListV2 |
| components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx | 378 | high | ConfirmStep |
| components/Settings/Usage.tsx | 377 | high | Usage |
| components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx | 369 | high | SkillPermissionRequest |
| components/messages/AssistantToolUseMessage.tsx | 368 | high | AssistantToolUseMessage |
| components/PromptInput/PromptInputHelpMenu.tsx | 358 | high | PromptInputHelpMenu |
| utils/deepLink/registerProtocol.ts | 349 | high | MACOS_BUNDLE_ID, registerProtocolHandler, isProtocolHandlerCurrent, ensureDeepLinkProtocolRegistered |
| components/tasks/BackgroundTask.tsx | 345 | high | BackgroundTask |
| components/GlobalSearchDialog.tsx | 343 | high | GlobalSearchDialog, parseRipgrepLine |
| components/RemoteEnvironmentDialog.tsx | 340 | high | RemoteEnvironmentDialog |
| components/design-system/Tabs.tsx | 340 | high | Tabs, Tab, useTabsWidth, useTabHeaderFocus |
| components/permissions/rules/AddWorkspaceDirectory.tsx | 340 | high | AddWorkspaceDirectory |
| components/permissions/PermissionPrompt.tsx | 336 | high | FeedbackType, PermissionPromptOption, ToolAnalyticsContext, PermissionPromptProps |
| components/ThemePicker.tsx | 333 | high | ThemePickerProps, ThemePicker |
| components/permissions/FallbackPermissionRequest.tsx | 333 | high | FallbackPermissionRequest |
| components/PromptInput/Notifications.tsx | 332 | high | FOOTER_TEMPORARY_STATUS_TIMEOUT, Notifications |
| components/Spinner/GlimmerMessage.tsx | 328 | high | GlimmerMessage |
| components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx | 328 | high | PreviewQuestionView |
| components/StatusLine.tsx | 324 | high | statusLineShouldDisplay, getLastAssistantMessageId, StatusLine |
| components/MarkdownTable.tsx | 322 | high | MarkdownTable |
| ink/termio/csi.ts | 320 | high | CSI_PREFIX, CSI_RANGE, isCSIParam, isCSIIntermediate |
| ink/termio/tokenize.ts | 320 | high | Token, Tokenizer, createTokenizer |
| components/design-system/FuzzyPicker.tsx | 312 | high | FuzzyPicker |
| ink/layout/yoga.ts | 309 | high | YogaLayoutNode, createYogaLayoutNode |
| ink/termio/sgr.ts | 309 | high | applySGR |
| components/sandbox/SandboxSettings.tsx | 296 | high | SandboxSettings |
| components/diff/DiffFileList.tsx | 292 | high | DiffFileList |
| components/CoordinatorAgentStatus.tsx | 273 | high | getVisibleAgentTasks, CoordinatorTaskPanel, useCoordinatorTaskCount |
| components/agents/agentFileUtils.ts | 273 | high | formatAgentAsMarkdown, getNewAgentFilePath, getActualAgentFilePath, getNewRelativeAgentFilePath |
| components/permissions/PermissionExplanation.tsx | 272 | high | usePermissionExplainerUI, PermissionExplainerContent |
| components/ResumeTask.tsx | 268 | high | ResumeTask |
| components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx | 258 | high | WebFetchPermissionRequest |
| ink/terminal.ts | 249 | high | Progress, isProgressReportingAvailable, isSynchronizedOutputSupported, setXtversionName |
| components/TrustDialog/utils.ts | 246 | high | getHooksSources, getBashPermissionSources, formatListWithAnd, getOtelHeadersHelperSources |
| components/tasks/RemoteSessionProgress.tsx | 243 | high | formatReviewStageCounts, RemoteSessionProgress |
| ink/termio/types.ts | 237 | high | NamedColor, Color, UnderlineStyle, TextStyle |
| utils/errorLogSink.ts | 236 | high | getErrorsPath, getMCPLogsPath, _flushLogWritersForTesting, _clearLogWritersForTesting |
| components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx | 235 | high | NotebookEditToolDiff |
| components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx | 235 | high | PowerShellPermissionRequest |
| ink/colorize.ts | 232 | high | CHALK_BOOSTED_FOR_XTERMJS, CHALK_CLAMPED_FOR_TMUX, ColorType, colorize |
| components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx | 230 | high | SedEditPermissionRequest |
| components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx | 229 | high | PreviewBox |
| components/tasks/AsyncAgentDetailDialog.tsx | 229 | high | AsyncAgentDetailDialog |
| components/messages/PlanApprovalMessage.tsx | 222 | high | PlanApprovalRequestDisplay, PlanApprovalResponseDisplay, tryRenderPlanApprovalMessage, formatTeammateMessageContent |
| components/agents/AgentDetail.tsx | 220 | high | AgentDetail |
| components/permissions/PermissionRequest.tsx | 217 | high | PermissionRequestProps, ToolUseConfirm, PermissionRequest |
| components/FeedbackSurvey/useMemorySurvey.tsx | 213 | high | useMemorySurvey |
| components/mcp/McpParsingWarnings.tsx | 213 | high | McpParsingWarnings |
| components/permissions/FilePermissionDialog/useFilePermissionDialog.ts | 213 | high | ToolInput, UseFilePermissionDialogProps, UseFilePermissionDialogResult, useFilePermissionDialog |
| ink/terminal-querier.ts | 213 | high | TerminalQuery, decrqm, da1, da2 |
| components/mcp/MCPToolDetailView.tsx | 212 | high | MCPToolDetailView |
| components/permissions/hooks.ts | 210 | high | UnaryEvent, usePermissionRequestLogging |
| components/permissions/rules/RecentDenialsTab.tsx | 207 | high | RecentDenialsTab |
| components/FeedbackSurvey/usePostCompactSurvey.tsx | 206 | high | usePostCompactSurvey |
| components/permissions/FilePermissionDialog/FilePermissionDialog.tsx | 204 | high | FilePermissionDialogProps, FilePermissionDialog |
| components/MCPServerDesktopImportDialog.tsx | 203 | high | MCPServerDesktopImportDialog |
| components/hooks/ViewHookMode.tsx | 199 | high | ViewHookMode |
| components/agents/generateAgent.ts | 198 | high | generateAgent |
| components/SessionPreview.tsx | 194 | high | SessionPreview |
| components/sandbox/SandboxOverridesTab.tsx | 193 | high | SandboxOverridesTab |
| components/permissions/FilePermissionDialog/usePermissionHandler.ts | 186 | high | PermissionHandlerParams, PermissionHandlerOptions, PERMISSION_HANDLERS |
| ink/root.ts | 185 | high | RenderOptions, Instance, Root, renderSync |
| components/mcp/MCPAgentServerMenu.tsx | 183 | high | MCPAgentServerMenu |
| components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx | 182 | high | FileEditPermissionRequest |
| components/FileEditToolDiff.tsx | 181 | high | FileEditToolDiff |
| components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts | 180 | high | AnswerValue, QuestionState, MultipleChoiceState, useMultipleChoiceState |
| components/permissions/rules/AddPermissionRules.tsx | 180 | high | optionForPermissionSaveDestination, AddPermissionRules |
| components/agents/AgentEditor.tsx | 178 | high | AgentEditor |
| components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx | 178 | high | QuestionNavigationBar |
| components/mcp/MCPStdioServerMenu.tsx | 177 | high | MCPStdioServerMenu |
| components/permissions/FilePermissionDialog/permissionOptions.tsx | 177 | high | isInClaudeFolder, isInGlobalClaudeFolder, PermissionOption, PermissionOptionWithLabel |
| components/FileEditToolUseRejectedMessage.tsx | 170 | high | FileEditToolUseRejectedMessage |
| components/mcp/MCPReconnect.tsx | 167 | high | MCPReconnect |
| components/messages/UserLocalCommandOutputMessage.tsx | 167 | high | UserLocalCommandOutputMessage |
| components/LogoV2/OverageCreditUpsell.tsx | 166 | high | isEligibleForOverageCreditGrant, shouldShowOverageCreditUpsell, maybeRefreshOverageCreditCache, useShowOverageCreditUpsell |
| components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx | 166 | high | NotebookEditPermissionRequest |
| components/permissions/shellPermissionHelpers.tsx | 164 | high | generateShellSuggestionsLabel |
| components/permissions/SandboxPermissionRequest.tsx | 163 | high | SandboxPermissionRequestProps, SandboxPermissionRequest |
| utils/thinking.ts | 163 | high | ThinkingConfig, isUltrathinkEnabled, hasUltrathinkKeyword, findThinkingTriggerPositions |
| components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx | 161 | high | FileWritePermissionRequest |
| components/messages/AdvisorMessage.tsx | 158 | high | AdvisorMessage |
| ink/layout/node.ts | 153 | high | LayoutEdge, LayoutGutter, LayoutDisplay, LayoutFlexDirection |
| components/permissions/rules/WorkspaceTab.tsx | 150 | high | WorkspaceTab |
| components/shell/ShellProgressMessage.tsx | 150 | high | ShellProgressMessage |
| components/permissions/useShellPermissionFeedback.ts | 149 | high | useShellPermissionFeedback |
| components/permissions/BashPermissionRequest/bashToolUseOptions.tsx | 147 | high | BashToolUseOption, bashToolUseOptions |
| components/ManagedSettingsSecurityDialog/utils.ts | 145 | high | DangerousSettings, extractDangerousSettings, hasDangerousSettings, hasDangerousSettingsChanged |
| components/hooks/SelectMatcherMode.tsx | 144 | high | SelectMatcherMode |
| components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx | 144 | high | SubmitQuestionsView |
| components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx | 143 | high | GenerateStep |
| components/AutoModeOptInDialog.tsx | 142 | high | AUTO_MODE_DESCRIPTION, AutoModeOptInDialog |
| components/mcp/MCPToolListView.tsx | 141 | high | MCPToolListView |
| components/messages/SystemAPIErrorMessage.tsx | 141 | high | SystemAPIErrorMessage |
| components/messages/teamMemCollapsed.tsx | 140 | high | checkHasTeamMemOps, TeamMemCountParts |
| components/permissions/rules/PermissionRuleInput.tsx | 138 | high | PermissionRuleInputProps, PermissionRuleInput |
| components/AgentProgressLine.tsx | 136 | high | AgentProgressLine |
| components/MCPServerMultiselectDialog.tsx | 133 | high | MCPServerMultiselectDialog |
| components/WorkflowMultiselectDialog.tsx | 128 | high | WorkflowMultiselectDialog |
| components/agents/new-agent-creation/wizard-steps/PromptStep.tsx | 128 | high | PromptStep |
| components/hooks/SelectEventMode.tsx | 127 | high | SelectEventMode |
| ink/frame.ts | 125 | high | Frame, emptyFrame, FlickerReason, FrameEvent |
| components/FileEditToolUpdatedMessage.tsx | 124 | high | FileEditToolUpdatedMessage |
| components/ApproveApiKey.tsx | 123 | high | ApproveApiKey |
| components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx | 123 | high | DescriptionStep |
| components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx | 122 | high | EnterPlanModePermissionRequest |
| components/permissions/PermissionRuleExplanation.tsx | 121 | high | PermissionRuleExplanationProps, PermissionRuleExplanation |
| components/sandbox/SandboxDependenciesTab.tsx | 120 | high | SandboxDependenciesTab |
| components/CompactSummary.tsx | 118 | high | CompactSummary |
| components/HistorySearchDialog.tsx | 118 | high | HistorySearchDialog |