apps/web/src/components/ChatView.logic.ts | 140 ++ apps/web/src/components/ChatView.tsx | 2383 +------------------------------- apps/web/src/components/chat/ChangedFilesTree.tsx | 136 ++ apps/web/src/components/chat/ChatHeader.tsx | 124 ++ apps/web/src/components/chat/CodexTraitsPicker.tsx | 93 ++ apps/web/src/components/chat/CompactComposerControlsMenu.tsx | 136 ++ apps/web/src/components/chat/ComposerCommandMenu.tsx | 120 ++ apps/web/src/components/chat/ComposerPendingApprovalActions.tsx | 55 + apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx | 31 + apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx | 182 +++ apps/web/src/components/chat/ComposerPlanFollowUpBanner.tsx | 21 + apps/web/src/components/chat/DiffStatLabel.tsx | 22 + apps/web/src/components/chat/ExpandedImagePreview.tsx | 32 + apps/web/src/components/chat/MessageCopyButton.tsx | 19 + apps/web/src/components/chat/MessagesTimeline.tsx | 656 +++++++++ apps/web/src/components/chat/OpenInPicker.tsx | 132 ++ apps/web/src/components/chat/ProposedPlanCard.tsx | 211 +++ apps/web/src/components/chat/ProviderHealthBanner.tsx | 33 + apps/web/src/components/chat/ProviderModelPicker.tsx | 206 +++ apps/web/src/components/chat/ThreadErrorBanner.tsx | 35 + apps/web/src/components/chat/VscodeEntryIcon.tsx | 37 + 21 files changed, 2468 insertions(+), 2336 deletions(-)