--- 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를 정의했다.