MS24: Wire mosaic-queue Notifications into Mission Control #749

Closed
opened 2026-03-08 22:15:15 +00:00 by jason.woltje · 0 comments
Owner

Overview

Integrate mosaic-queue notification inbox into Mission Control UI for full queue observability and ACK capability.

API (apps/api)

New module: QueueNotificationsModule

  • GET /api/queue/notifications — list all pending notifications across all agents (read from ~/.openclaw/workspace/agent-inbox/, exclude _acked/ and _dead-letter/)
  • GET /api/queue/notifications/stream — SSE endpoint, emits events when inbox dir changes (chokidar watch)
  • POST /api/queue/notifications/:id/ack — proxy ACK to mosaic-queue CLI and return result
  • GET /api/queue/tasks — list queue tasks by project/status via mosaic-queue CLI or Valkey

Config env vars:

  • MOSAIC_QUEUE_INBOX_DIR (default: ~/.openclaw/workspace/agent-inbox)
  • MOSAIC_QUEUE_CLI (default: ~/src/mosaic-queue/dist/cli.js)

Auth: ApiKeyGuard (from src/common/guards/api-key.guard.ts, key: COORDINATOR_API_KEY)

Frontend (apps/web)

New component: QueueNotificationFeed in src/components/mission-control/

  • SSE connection to /api/queue/notifications/stream
  • Notifications grouped by agent with ACK button
  • Badge count on Mission Control sidebar nav
  • Wire into MissionControlLayout.tsx as collapsible right sidebar panel

Acceptance Criteria

  1. GET /api/queue/notifications returns pending notifications
  2. SSE emits within 1s of new notification file
  3. ACK button removes notification, calls queue service
  4. GET /api/queue/tasks returns Valkey queue state
  5. Unit tests for all new endpoints
  6. No regressions in existing Mission Control tests
  7. CI green, PR merged, v0.0.24 tagged

Tasks

  • MS24-API-001: QueueNotificationsModule (API + tests)
  • MS24-WEB-001: QueueNotificationFeed component + layout wiring
  • MS24-VER-001: Verification + tag v0.0.24
## Overview Integrate mosaic-queue notification inbox into Mission Control UI for full queue observability and ACK capability. ## API (apps/api) New module: `QueueNotificationsModule` - `GET /api/queue/notifications` — list all pending notifications across all agents (read from `~/.openclaw/workspace/agent-inbox/`, exclude `_acked/` and `_dead-letter/`) - `GET /api/queue/notifications/stream` — SSE endpoint, emits events when inbox dir changes (chokidar watch) - `POST /api/queue/notifications/:id/ack` — proxy ACK to mosaic-queue CLI and return result - `GET /api/queue/tasks` — list queue tasks by project/status via mosaic-queue CLI or Valkey Config env vars: - `MOSAIC_QUEUE_INBOX_DIR` (default: `~/.openclaw/workspace/agent-inbox`) - `MOSAIC_QUEUE_CLI` (default: `~/src/mosaic-queue/dist/cli.js`) Auth: `ApiKeyGuard` (from `src/common/guards/api-key.guard.ts`, key: `COORDINATOR_API_KEY`) ## Frontend (apps/web) New component: `QueueNotificationFeed` in `src/components/mission-control/` - SSE connection to `/api/queue/notifications/stream` - Notifications grouped by agent with ACK button - Badge count on Mission Control sidebar nav - Wire into `MissionControlLayout.tsx` as collapsible right sidebar panel ## Acceptance Criteria 1. `GET /api/queue/notifications` returns pending notifications 2. SSE emits within 1s of new notification file 3. ACK button removes notification, calls queue service 4. `GET /api/queue/tasks` returns Valkey queue state 5. Unit tests for all new endpoints 6. No regressions in existing Mission Control tests 7. CI green, PR merged, v0.0.24 tagged ## Tasks - MS24-API-001: QueueNotificationsModule (API + tests) - MS24-WEB-001: QueueNotificationFeed component + layout wiring - MS24-VER-001: Verification + tag v0.0.24
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#749