oto/agent-ui/definition/components/console-shell/index.md
toki 9e844ba217 feat: update agent-ui definitions and oto_console components
- Refresh agent-ui definition files for console-shell, console-rail
- Update oto_console_shell.dart and oto_jobs_surface.dart
- Refresh widget tests and ot_console_test.dart
- Archive G07 shell jobs review and plan
2026-07-03 23:15:14 +09:00

86 lines
2.9 KiB
Markdown

---
ui_doc_type: component
component_id: console-shell
status: 구현됨
source_evidence:
- type: code
path: packages/flutter/oto_console/lib/src/oto_console_shell.dart
notes: "OtoConsoleShell Scaffold, header/breadcrumb/action slot, left menu, selected section content 구현"
- type: code
path: apps/client/lib/src/app/oto_client_app.dart
notes: "OtoClientApp이 OtoConsoleShell을 host MaterialApp home으로 mount"
- type: docs
path: apps/client/README.md
notes: "oto_console package의 embeddable shell 기준"
---
# Console Shell
Component ID: `console-shell`
Status: `구현됨`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/oto_console/lib/src/oto_console_shell.dart` | `OtoConsoleShell` Scaffold, header/breadcrumb/action slot, left menu, selected section content 구현 |
| code | `apps/client/lib/src/app/oto_client_app.dart` | host `MaterialApp``OtoConsoleShell`을 mount |
| docs | `apps/client/README.md` | embeddable shell 기준 |
## Purpose
Control Plane 콘솔의 전체 layout shell을 제공하고, rail navigation과 선택된 section content를 연결한다.
## Used By
- `overview`: shell content area
- `runners`: shell content area
- `pipelines`: shell content area
- `executions`: shell content area
- `artifacts`: shell content area
- `agent`: shell content area
- `settings`: shell content area
## Anatomy
- `Scaffold`
- `SafeArea`
- header/breadcrumb/action slot
- `console-rail`
- selected section content area
- optional fallback `section-surface`
## Jenkins Reference Alignment
- Jenkins `2.516+`의 통합 header/breadcrumb/action 모델을 shell 상단 영역으로 반영했다.
- 현재 구현은 header + Dashboard-level left menu + content 구조로 OTO 운영 콘솔 shell을 제공한다.
- view-local action은 각 surface가 유지하되, shell은 global `New Item` action slot과 navigation/content mounting 책임을 가진다.
- global search, command palette, account/theme picker는 이번 정의 범위에서 제외한다.
## Target Layout Delta
- shell은 page header/action slot과 current view breadcrumb를 포함한다.
- Jenkins refreshed header처럼 current view context와 primary action을 같은 상단 영역에 둔다.
- 현재 `OtoConsoleShell` 구현은 shell/jobs 범위의 목표 shell layout 반영이 완료되어 `구현됨` 상태다.
## Variants
- default: host가 전용 surface를 모두 넘긴 상태
- fallback: 특정 section widget이 없으면 `section-surface`를 표시
## States
- default
- selected-section
- fallback-section
- navigation-callback
## Rules
- section enum, rail button, view definition은 같은 section 집합을 말해야 한다.
- shell은 view source of truth가 아니라 view를 담는 container component다.
## Decision History
- 2026-06-24: 구현 후보 재검토 중 `OtoConsoleShell`을 별도 shell component로 보강했다.