1---2name: chat3description: Skill for the Chat area of paddock. 62 symbols across 10 files.4---56# Chat7862 symbols | 10 files | Cohesion: 76%910## When to Use1112- Working with code in `src/`13- Understanding how ChatInput, autoResize, addFiles work14- Modifying chat-related functionality1516## Key Files1718| File | Symbols |19|------|---------|20| `src/components/chat/conversation-list.tsx` | asRecord, readString, readNumber, readSessionPrefs, readSessions (+10) |21| `src/components/chat/chat-input.tsx` | ChatInput, autoResize, addFiles, removeAttachment, handleDrop (+5) |22| `src/components/chat/session-message.tsx` | SessionMessage, PartRenderer, ThinkingPart, ToolUsePart, ToolResultPart (+5) |23| `src/components/chat/chat-workspace.tsx` | ChatWorkspace, check, ChatIndicators, AgentAvatar, getConversationStatus (+2) |24| `src/components/chat/message-list.tsx` | formatDateGroup, groupMessagesByDate, isGroupedWithPrevious, MessageList, isNearBottom (+2) |25| `src/components/chat/message-bubble.tsx` | getAgentTheme, formatTime, asRecord, renderContent, ToolCallBubble (+1) |26| `src/components/chat/session-kind-brand.tsx` | getMeta, getSessionKindLabel, SessionKindAvatar, SessionKindPill |27| `src/lib/chat-utils.ts` | detectTextDirection |28| `src/components/panels/chat-page-panel.tsx` | ChatPagePanel |29| `src/components/chat/chat-panel.tsx` | ChatPanel |3031## Entry Points3233Start here when exploring this area:3435- **`ChatInput`** (Function) — `src/components/chat/chat-input.tsx:15`36- **`autoResize`** (Function) — `src/components/chat/chat-input.tsx:29`37- **`addFiles`** (Function) — `src/components/chat/chat-input.tsx:48`38- **`removeAttachment`** (Function) — `src/components/chat/chat-input.tsx:66`39- **`handleDrop`** (Function) — `src/components/chat/chat-input.tsx:80`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `ChatInput` | Function | `src/components/chat/chat-input.tsx` | 15 |46| `autoResize` | Function | `src/components/chat/chat-input.tsx` | 29 |47| `addFiles` | Function | `src/components/chat/chat-input.tsx` | 48 |48| `removeAttachment` | Function | `src/components/chat/chat-input.tsx` | 66 |49| `handleDrop` | Function | `src/components/chat/chat-input.tsx` | 80 |50| `handlePaste` | Function | `src/components/chat/chat-input.tsx` | 88 |51| `handleKeyDown` | Function | `src/components/chat/chat-input.tsx` | 106 |52| `insertMention` | Function | `src/components/chat/chat-input.tsx` | 154 |53| `handleSend` | Function | `src/components/chat/chat-input.tsx` | 174 |54| `formatFileSize` | Function | `src/components/chat/chat-input.tsx` | 185 |55| `detectTextDirection` | Function | `src/lib/chat-utils.ts` | 3 |56| `MessageBubble` | Function | `src/components/chat/message-bubble.tsx` | 161 |57| `ChatPagePanel` | Function | `src/components/panels/chat-page-panel.tsx` | 4 |58| `ChatWorkspace` | Function | `src/components/chat/chat-workspace.tsx` | 29 |59| `check` | Function | `src/components/chat/chat-workspace.tsx` | 66 |60| `ChatPanel` | Function | `src/components/chat/chat-panel.tsx` | 5 |61| `MessageList` | Function | `src/components/chat/message-list.tsx` | 49 |62| `isNearBottom` | Function | `src/components/chat/message-list.tsx` | 56 |63| `handleScroll` | Function | `src/components/chat/message-list.tsx` | 85 |64| `handleRetry` | Function | `src/components/chat/message-list.tsx` | 97 |6566## Connected Areas6768| Area | Connections |69|------|-------------|70| Panels | 13 calls |71| Terminal | 2 calls |72| Ui | 1 calls |7374## How to Explore75761. `gitnexus_context({name: "ChatInput"})` — see callers and callees772. `gitnexus_query({query: "chat"})` — find related execution flows783. Read key files listed above for implementation details