---
ui_doc_type: view
view_id: agent
status: 구현됨
frame: null
source_evidence:
  - type: code
    path: packages/flutter/iop_console/lib/src/iop_agent_panel.dart
    notes: IopAgentPanel mounts AgentShell with an IOP capability introduction message.
  - type: code
    path: apps/client/lib/main.dart
    notes: iopDefaultCapabilityPack defines Edge Control, Node Management, Runtime Dispatch, Execution Tracing, and Maintenance Mode.
  - type: docs
    path: apps/client/README.md
    notes: The client exposes IOP operation and maintenance agent capability through iop_console.
  - type: user
    path: null
    notes: Initial scaffold requested by user.
regions:
  - agent.surface
  - agent.capabilities
  - agent.prompt
---

# Agent

View ID: `agent`

Frame:
- 없음

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/iop_console/lib/src/iop_agent_panel.dart` | `IopAgentPanel`이 `AgentShell`과 capability intro message를 렌더링한다. |
| code | `apps/client/lib/main.dart` | 기본 capability pack을 정의하고 agent panel에 전달한다. |
| docs | `apps/client/README.md` | IOP 운영/유지보수 agent 화면을 embeddable widget boundary로 제공한다고 설명한다. |
| user | 없음 | 초기 agent-ui 생성을 요청했다. |

## Purpose

IOP operation capability를 대화형 agent shell로 노출하는 surface다.

## Primary Users

- IOP operator
- agent capability integration을 검증하는 engineer

## Primary Tasks

- 등록된 IOP capability 확인
- IOP operations 관련 질문 또는 command 입력

## Information Priority

1. agent shell readiness
2. registered capability list
3. prompt input

## Regions

| Region ID | Purpose | Component | Priority | Notes |
|-----------|---------|-----------|----------|-------|
| `agent.surface` | AgentShell 본문과 메시지 표시 | `agent-panel` | high | busy=false baseline이다. |
| `agent.capabilities` | capability pack 소개 표시 | `agent-panel` | high | `main.dart`의 기본 capability pack을 메시지로 렌더링한다. |
| `agent.prompt` | operator input placeholder 표시 | `agent-panel` | medium | placeholder는 `Ask about IOP operations`다. |

## Actions

| Action ID | Trigger | Result | Guard |
|-----------|---------|--------|-------|
| `agent.submit` | AgentShell prompt submit | `onSubmit` callback이 있으면 입력을 전달한다. | callback이 연결되어 있어야 한다. |

## States

- loading: 현재 구현은 `busy: false` 고정으로 loading 근거 없음
- empty: intro message가 항상 표시된다.
- error: 현재 구현 근거 없음
- permission-denied: 현재 구현 근거 없음

## Open Questions

- 없음

## Decision History

- 2026-06-25: `IopAgentPanel` 구현을 기준으로 agent view를 정의했다.
