13 Commits

Author SHA1 Message Date
437a519c36 CUB-120: design PostgreSQL schema for Control Center Go backend
All checks were successful
Dev Build / build-test (pull_request) Successful in 2m13s
2026-05-07 14:22:00 -04:00
bca3bf7677 Merge branch 'dev' into agent/dex/CUB-54-agent-state-repository 2026-04-27 17:42:41 -04:00
ea603c3552 Merge branch 'dev' into agent/dex/CUB-62-agent-minion-mapper 2026-04-27 17:42:16 -04:00
cubecraft-agents[bot]
fb88eab4d1 feat(CUB-55): add SendStatusUpdate method to AgentStatusHub 2026-04-27 10:07:07 +00:00
cubecraft-agents[bot]
82c12554d0 feat(CUB-62): [Control Center] Agent-to-Minion Mapping Service 2026-04-27 09:11:30 +00:00
cubecraft-agents[bot]
f170def0ea feat(CUB-54): implement Agent State Repository with EF Core
- Add AgentState read model (Models/AgentState.cs)
- Add IAgentStateRepository interface with GetAllAsync,
  GetBySessionKeyAsync, UpdateStatusAsync
- Add AgentStateRepository EF Core implementation
  mapping Agent entity → AgentState model
- Register IAgentStateRepository in DI (Program.cs)
- Exclude ControlCenter sub-project from Api compilation

Build: 0 warnings, 0 errors
2026-04-27 04:10:18 +00:00
cubecraft-agents[bot]
040d4cb54d fix(CUB-56): Restore Program.cs deletion - PR should only add Swashbuckle package 2026-04-27 02:24:51 +00:00
cubecraft-agents[bot]
47cbeed456 feat(CUB-56): [Control Center] Agent State Database Migration 2026-04-26 22:07:05 +00:00
a79ab6dbd5 Merge branch 'dev' into feat/CUB-19-agentstatus-signalr-hub 2026-04-26 08:02:48 -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]
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