4.7 KiB
4.7 KiB
| ui_doc_type | view_id | status | frame | source_evidence | regions | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| view | workspace-home | 구현됨 | null |
|
|
Workspace Home
View ID: workspace-home
Frame:
- 없음
Status: 구현됨
Source Evidence
| Type | Path | Notes |
|---|---|---|
| code | apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart |
WorkspaceHomePage, project selection, dual/single pane layout, task states, proto-socket diagnostics 구현. |
| code | apps/client/lib/src/features/workspaces/domain/project_workspace.dart |
ProjectWorkspace UI model과 mock workspace seed. |
| code | apps/client/lib/src/features/workspaces/domain/workspace_task.dart |
Core task channel 응답을 tolerant하게 파싱하는 task row model. |
| docs | apps/client/README.md |
WorkspaceHomePage가 workbench shell 내부에서 app bar를 숨길 수 있다는 mount 기준. |
| user | 없음 | agent-ui 생성 요청. |
Purpose
프로젝트 workspace 목록과 선택된 workspace의 task 상태를 보여주는 기본 업무 화면이다. 큰 화면에서는 목록과 상세를 나란히 보여주고, 작은 화면에서는 목록과 선택 workspace action을 압축해서 보여준다.
Primary Users
- 프로젝트별 개발 workspace를 열고 task 상태를 확인하는 사용자
- proto-socket 연결 상태와 task loading 상태를 확인하는 운영 사용자
Primary Tasks
- workspace를 선택한다.
- 선택된 workspace의 설명, status, active tasks를 확인한다.
- code-server workspace entry를 연다.
- proto-socket task service가 연결된 경우 task loading, empty, error 상태를 확인하고 재시도한다.
Information Priority
- 선택된 workspace와 launch action
- workspace description과 status
- active tasks와 proto-socket diagnostics
Regions
| Region ID | Purpose | Component | Priority | Notes |
|---|---|---|---|---|
workspace-home.workspace-list |
ProjectWorkspace 목록과 선택 상태 표시 | workspace-list |
high | large screen에서는 좌측 panel, small screen에서는 상단 list. |
workspace-home.workspace-details |
선택 workspace 제목, status, description 표시 | status-chip |
high | 선택 workspace가 없으면 selection empty message 표시. |
workspace-home.active-tasks |
mock 또는 service 기반 active task 표시 | workspace-task-list |
high | loadTasks가 없으면 mock rows, 있으면 FutureBuilder state를 따른다. |
workspace-home.proto-socket-diagnostics |
proto-socket lifecycle diagnostics 표시 | proto-socket-diagnostics |
medium | lifecycle이 없으면 표시하지 않는다. |
workspace-home.launch-action |
code-server workspace entry 열기 | 없음 | medium | onLaunchCodeServer callback이 있을 때 workspace launch를 시도한다. |
Actions
| Action ID | Trigger | Result | Guard |
|---|---|---|---|
workspace-home.select-project |
workspace card tap | 선택 workspace와 task future를 갱신한다. | 없음 |
workspace-home.launch-workspace |
Open Workspace button |
WorkspaceLauncher boundary로 code-server entry를 연다. |
onLaunchCodeServer callback 존재 |
workspace-home.reload-tasks |
loader 변경 또는 retry button | 현재 선택 workspace의 task loading을 다시 시작한다. | loadTasks callback 존재 |
States
- loading:
loadTasksFuture가 waiting이면 circular progress를 표시한다. - empty: task list가 비어 있거나 mock tasks count가 0이면 idle message를 표시한다.
- error: task load 실패 시 non-secret error message와 Retry action을 표시한다.
- permission-denied: view-level permission guard는 구현되어 있지 않다.
Open Questions
- 없음
Decision History
- 2026-06-24: 구현된 Flutter WorkspaceHomePage를
구현됨view로 등록했다.