69 lines
2 KiB
Markdown
69 lines
2 KiB
Markdown
---
|
|
ui_doc_type: component
|
|
component_id: command-action-bar
|
|
status: 구현됨
|
|
source_evidence:
|
|
- type: code
|
|
path: apps/client/lib/widgets/runtime_panel.dart
|
|
notes: RuntimePanel renders Health Check, Node Status, and Provider Command actions plus dialogs and provider-command validation.
|
|
- type: docs
|
|
path: README.md
|
|
notes: Control Plane forwards operational command requests to Edge-owned operations.
|
|
- type: user
|
|
path: null
|
|
notes: Initial scaffold requested by user.
|
|
---
|
|
|
|
# Command Action Bar
|
|
|
|
Component ID: `command-action-bar`
|
|
|
|
Status: `구현됨`
|
|
|
|
## Source Evidence
|
|
|
|
| Type | Path | Notes |
|
|
|------|------|-------|
|
|
| code | `apps/client/lib/widgets/runtime_panel.dart` | `Health Check`, `Node Status`, `Provider Command` buttons와 command dialogs를 구현한다. |
|
|
| docs | `README.md` | Control Plane은 Edge에 명령 전달과 제어 결과 관찰을 제공한다. |
|
|
| user | 없음 | 초기 agent-ui 생성을 요청했다. |
|
|
|
|
## Purpose
|
|
|
|
선택 Edge에 system, Node, provider operation command를 실행하는 주요 action cluster다.
|
|
|
|
## Used By
|
|
|
|
- `runtime`: `runtime.command-actions`
|
|
|
|
## Anatomy
|
|
|
|
- health check button
|
|
- Node status button and selector dialog
|
|
- provider command button and selector/allowlisted command dialog
|
|
- loading disabled state
|
|
|
|
## Variants
|
|
|
|
- system operation
|
|
- Node query
|
|
- provider command
|
|
|
|
## States
|
|
|
|
- default
|
|
- loading
|
|
- empty: Edge가 없으면 runtime view가 안내 메시지를 표시
|
|
- error: command status alert에서 처리
|
|
- disabled
|
|
|
|
## Rules
|
|
|
|
- loading 중에는 command action을 비활성화한다.
|
|
- Node/provider dialog는 selector가 비어 있으면 submit하지 않는다.
|
|
- provider command는 `capabilities`, `transport_status`, `ollama_api`만 허용하고, `ollama_api`에는 `GET|POST` method와 비어 있지 않은 path가 필요하다.
|
|
|
|
## Decision History
|
|
|
|
- 2026-06-25: `RuntimePanel`의 operation command 버튼과 dialogs를 component로 정의했다.
|
|
- 2026-08-02: 제거된 agent operation을 현행 Node status와 allowlisted provider command로 교체했다.
|