---
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로 교체했다.
