Commit Graph

12 Commits

Author SHA1 Message Date
cubecraft-agents[bot]
d473611d8c Merge remote-tracking branch 'origin/agent/rex/CUB-48-agent-status-badge' into agent/rex/CUB-45-agent-card-final 2026-04-26 13:46:56 +00:00
cubecraft-agents[bot]
e757f9b113 Merge remote-tracking branch 'origin/agent/rex/CUB-23-agent-card' into agent/rex/CUB-45-agent-card-final 2026-04-26 13:46:53 +00:00
cubecraft-agents[bot]
b97f4f0668 CUB-48: Add Agent Status Badge component with pulse animations
- Colored pill badge for Active, Idle, Thinking, Error, Offline statuses
- Color mapping uses CSS custom properties (--status-active, etc.)
- Pulse animations: Active 2s, Thinking 3s, Error 0.8s, Idle/Offline static
- Respects prefers-reduced-motion for accessibility
- Standalone component with OnPush change detection
- Barrel export via index.ts
2026-04-26 13:00:20 +00:00
8d0adeb2e9 Merge pull request 'feat(CUB-19): Implement AgentStatus SignalR Hub for Real-time Updates' (#1) from feat/CUB-19-agentstatus-signalr-hub into dev
Reviewed-on: #1
Reviewed-by: Joshua <joshua@cnjmail.com>
2026-04-26 08:02:58 -04:00
a79ab6dbd5 Merge branch 'dev' into feat/CUB-19-agentstatus-signalr-hub 2026-04-26 08:02:48 -04:00
6668da04d4 Merge pull request 'feat(CUB-55): SignalR Broadcast State Method' (#3) from agent/dex/CUB-55-signalr-broadcast into dev
Reviewed-on: #3
Reviewed-by: Joshua <joshua@cnjmail.com>
2026-04-26 08:00:19 -04:00
cubecraft-agents[bot]
6cf8d7fe5f feat(CUB-55): add SignalR broadcast state method with AgentStatusHub and DTO 2026-04-26 11:25:31 +00:00
cubecraft-agents[bot]
7b7b070dac feat(CUB-56): Agent State Database Migration 2026-04-26 10:18:06 +00:00
cubecraft-agents[bot]
7eaf736fc4 CUB-23: implement AgentCard component with status indicators, progress bar, and M3 styling
- AgentCard component with inputs: status, task, progress, sessionKey, channel, lastActivity
- Status badge colors: Active (#38BDF8), Idle (#2DD4BF), Thinking (#A78BFA), Error (#F87171)
- 4px left-border accent matching status color via CSS custom properties
- Pulse animations: Active (2s), Error (0.8s), Thinking (3s) using global styles.scss keyframes
- Task progress bar with percentage display
- Quick-Jump button using M3 FilledTonalIconButton style with state layer overlay
- Hover/focus states with M3 state layer overlay (8% primary)
- Accessibility: aria-labels for status, role=article on cards, focus-visible outlines
- Reduced-motion media query support
- Updated HubPageComponent with demo data grid layout
2026-04-26 01:36:55 +00:00
cubecraft-agents[bot]
69df1562c7 chore(CUB-19): add .gitignore and remove build artifacts from tracking 2026-04-25 22:11:09 +00:00
cubecraft-agents[bot]
1c5d982cd9 feat(CUB-19): implement AgentStatus SignalR hub for real-time updates
- Add AgentStatusHub with typed IAgentStatusClient interface
  - Hub at /hubs/agent-status (matches design spec)
  - Fleet group + per-agent group subscription
  - AgentStatusChanged and AgentTaskProgress push events
  - Extension methods for server-side push via IHubContext

- Add GatewayEventBridgeService background service
  - Connects to OpenClaw Gateway WebSocket (v3 protocol)
  - Handles challenge → connect → hello-ok handshake
  - Bridges sessions.changed, session.message, session.tool events
  - Translates Gateway session status to AgentStatus enum
  - Maintains in-memory fleet state for snapshot queries

- Add REST API controllers
  - GET /api/agents — fleet status snapshot
  - GET /api/agents/{agentId} — single agent status
  - GET /api/logs/{agentId} — agent session logs (stub)
  - POST /api/command/stop/{agentId} — stop agent
  - POST /api/command/restart/{agentId} — restart agent
  - POST /api/command/steer/{agentId} — inject message

- Add models matching TypeScript spec interfaces
  - AgentStatusUpdate, TaskProgressUpdate, AgentCardData
  - AgentStatus enum (active/idle/thinking/error)

- Configure CORS with credentials for SignalR WebSocket
- Configure Swagger/OpenAPI with XML doc comments
- Agent role map matching frontend AGENT_ROLES constant
2026-04-25 22:10:51 +00:00
cubecraft-agents[bot]
f490098af6 initial commit 2026-04-25 19:02:57 +00:00