iop/agent-ui/definition/components/console-shell/index.md
2026-06-25 08:38:09 +09:00

70 lines
1.8 KiB
Markdown

---
ui_doc_type: component
component_id: console-shell
status: implemented
source_evidence:
- type: code
path: packages/flutter/iop_console/lib/src/iop_console_shell.dart
notes: IopConsoleShell defines left rail section navigation and content slots.
- type: docs
path: apps/client/README.md
notes: iop_console is the IOP-owned widget boundary for standalone and embedded consumers.
- type: user
path: null
notes: Initial scaffold requested by user.
---
# Console Shell
Component ID: `console-shell`
Status: `implemented`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/iop_console/lib/src/iop_console_shell.dart` | `IopConsoleShell`, `_IopConsoleRail`, `_RailButton`, `_IopPlaceholder`가 shell structure를 구현한다. |
| docs | `apps/client/README.md` | standalone IOP app과 외부 embedding consumer가 같은 widget boundary를 사용한다고 설명한다. |
| user | 없음 | 초기 agent-ui 생성을 요청했다. |
## Purpose
IOP console view들을 좌측 rail navigation과 section content slot으로 묶는다.
## Used By
- `overview`: shell initial section
- `edges`: shell section
- `nodes`: shell section
- `runtime`: shell section
- `execution-logs`: shell section
- `agent`: shell section
## Anatomy
- left rail
- section icon buttons with tooltip
- content slot
- placeholder fallback
## Variants
- default: dark ops/dev shell
## States
- default
- selected section
- placeholder
- disabled: 없음
## Rules
- shell은 view content를 소유하지 않고 section slot을 mount한다.
- `maintenance``settings`는 package shell placeholder가 있으나 현재 app에서 concrete panel을 주입하지 않는다.
## Decision History
- 2026-06-25: `IopConsoleShell` 구현을 기준으로 component를 정의했다.