diff options
| author | soryu <soryu@soryu.co> | 2026-02-01 01:07:13 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-01 01:08:13 +0000 |
| commit | 8f144f3a811ab40e26514fe60fafbbdd35bad23d (patch) | |
| tree | 3b7cfe5c02b367f8aa9ae8be84eefa6149608ec9 /docs/specs | |
| parent | 7567153e6281b94e39e52be5d060b381ed69597d (diff) | |
| download | soryu-8f144f3a811ab40e26514fe60fafbbdd35bad23d.tar.gz soryu-8f144f3a811ab40e26514fe60fafbbdd35bad23d.zip | |
feat: Add Supervisor Status API endpoints (Phase 3 Task 3.5)
Implement REST API endpoints for querying supervisor status:
- GET /api/v1/contracts/{id}/supervisor/status
Returns current supervisor status including task_id, state, phase,
current_activity, progress, last_heartbeat, and pending_task_ids
- GET /api/v1/contracts/{id}/supervisor/heartbeats?limit=10
Returns paginated supervisor activity history from history_events
- POST /api/v1/contracts/{id}/supervisor/sync
Triggers a sync to refresh the supervisor's last_activity timestamp
New types added:
- SupervisorStatusResponse - Status endpoint response
- SupervisorHeartbeatEntry - Individual heartbeat history entry
- SupervisorHeartbeatHistoryResponse - Heartbeat history with pagination
- SupervisorSyncResponse - Sync endpoint response
- HeartbeatHistoryQuery - Query params for heartbeats endpoint
Repository helpers:
- get_supervisor_status() - Combined info from supervisor_states and tasks
- get_supervisor_activity_history() - Activity timeline from history_events
- count_supervisor_activity_history() - Total count for pagination
- sync_supervisor_state() - Refresh last_activity timestamp
Error handling:
- 404 for contract not found (CONTRACT_NOT_FOUND)
- 404 for no supervisor (SUPERVISOR_NOT_FOUND)
- Proper fallback when supervisor_state record doesn't exist but task does
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/specs')
0 files changed, 0 insertions, 0 deletions
