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.
|
||
|---|---|---|
| .. | ||
| execenv | ||
| repocache | ||
| usage | ||
| client.go | ||
| config.go | ||
| daemon.go | ||
| daemon_test.go | ||
| health.go | ||
| helpers.go | ||
| prompt.go | ||
| types.go | ||