1. Separate ReportTaskUsage endpoint (POST /api/daemon/tasks/{id}/usage)
so usage is captured independently of complete/fail — fixes usage loss
for failed/blocked tasks.
2. Add usage tracking for all four providers:
- Claude: already done (stream-json message.usage)
- OpenCode: extract from step_finish.part.tokens
- OpenClaw: extract from step_end.data token fields
- Codex: extract from turn/completed and task_complete usage fields
3. Remove usage from CompleteTask payload — all usage goes through the
dedicated endpoint now.
|
||
|---|---|---|
| .. | ||
| auth | ||
| cli | ||
| daemon | ||
| events | ||
| handler | ||
| logger | ||
| mention | ||
| middleware | ||
| realtime | ||
| service | ||
| storage | ||
| util | ||