nomadcode/agent-ui/definition/components/agent-dock-panel/index.md

71 lines
2.1 KiB
Markdown

---
ui_doc_type: component
component_id: agent-dock-panel
status: 구현됨
source_evidence:
- type: code
path: apps/client/lib/src/app/nomadcode_workbench_shell.dart
notes: _AgentDockPanel이 agent_shell package의 AgentShell을 mount한다.
- type: docs
path: README.md
notes: Agent dock은 공통 agent_shell package를 사용한다는 제품 경계.
- type: docs
path: apps/client/README.md
notes: Agent dock panel attached to the right rail 설명.
- type: user
path: null
notes: agent-ui 생성 요청.
---
# Agent Dock Panel
Component ID: `agent-dock-panel`
Status: `구현됨`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/src/app/nomadcode_workbench_shell.dart` | _AgentDockPanel이 agent_shell package의 AgentShell을 mount한다. |
| docs | `README.md` | Agent dock은 공통 agent_shell package를 사용한다는 제품 경계. |
| docs | `apps/client/README.md` | Agent dock panel attached to the right rail 설명. |
| user | 없음 | agent-ui 생성 요청. |
## Purpose
Workbench 우측 rail에 붙는 agent interaction surface를 제공한다. NomadCode-specific workflow logic은 shell 밖의 product section이나 future integration에서 다루고, dock 자체는 `agent_shell` 기반 공통 대화 표면으로 유지한다.
## Used By
- `workbench-shell`: `workbench-shell.agent-dock`
## Anatomy
- Right-side bordered panel
- `AgentShell`
- Initial assistant message
- Input placeholder
## Variants
- default: desktop attached panel
- compact: width가 좁으면 center content를 숨기고 dock width를 우선한다.
## States
- default
- closed: rail state로만 표현되며 panel은 render되지 않는다.
- loading: AgentShell 내부 정책을 따른다.
- empty: initial message가 기본으로 존재한다.
- error: AgentShell 내부 정책을 따른다.
- disabled: 없음
## Rules
- dock open/closed 상태는 workbench shell이 소유한다.
- `agent_shell` package에 NomadCode-specific workflow, web context, IOP product logic을 넣지 않는다.
## Decision History
- 2026-06-24: 구현된 Agent dock panel을 component로 등록했다.