nomadcode/agent-ui/definition/views/workspace-home/index.md

4.7 KiB

ui_doc_type view_id status frame source_evidence regions
view workspace-home 구현됨 null
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 구현.
type path notes
code apps/client/lib/src/features/workspaces/domain/project_workspace.dart ProjectWorkspace UI model과 mock workspace seed.
type path notes
code apps/client/lib/src/features/workspaces/domain/workspace_task.dart Core task channel 응답을 tolerant하게 파싱하는 task row model.
type path notes
docs apps/client/README.md WorkspaceHomePage가 workbench shell 내부에서 app bar를 숨길 수 있다는 mount 기준.
type path notes
user null agent-ui 생성 요청.
workspace-home.workspace-list
workspace-home.workspace-details
workspace-home.active-tasks
workspace-home.proto-socket-diagnostics
workspace-home.launch-action

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

  1. 선택된 workspace와 launch action
  2. workspace description과 status
  3. 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: loadTasks Future가 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로 등록했다.