#region AgentChat.ScreenModels [C:3] [TYPE ADR] [SEMANTICS ux,screen-models,agent-chat] @BRIEF Screen model inventory — revised for LangChain v1 native stack. No active/follower. No WebSocket. @RATIONALE Model-first per ADR-0010. AgentChatModel handles Gradio submit() lifecycle, streaming state, tool-call tracking, multi-tab gate. ## Screens Requiring Models | Screen | Route | Model ID | Complexity | Rationale | |--------|-------|----------|------------|-----------| | AssistantChatPanel (drawer + embedded) | overlay | `AgentChat.Model` | C4 | Gradio `submit()` lifecycle, streaming, tool-call parsing, confirmation card state, connection health | | Agent Chat Page (full) | `/agent` | `AgentChat.Model` (shared) | C4 | Same model, two-column layout | ## Screens Using Inline State | Screen | Reason | |--------|--------| | ConversationList | `conversations[]` из модели. Поиск — локальный. Группировка — `$derived` | | ToolCallCard | Пропсы от родителя | | ConfirmationCard | Пропсы от модели (`confirm_id`, `prompt`) | | MessageBubble | Рендерит одно сообщение. Стриминг — через `$derived` | | ConnectionIndicator | `model.connectionState` → dot color | ## Model Decomposition Gate | Threshold | Est. | Action | |-----------|:----:|--------| | Lines > 400 | ~220 | Within limit | | Methods > 40 | ~12 | Within limit | #endregion AgentChat.ScreenModels