Khala Phase 4: Task queue API + timeout sweep #129

Closed
opened 2026-04-25 04:33:45 +00:00 by tuanzi · 0 comments
Owner

Parent: #119

Objective

Task queue endpoints for agents to poll/claim work + cron-based timeout.

Tasks

4.1 Task Queue Routes

Create packages/khala/src/routes/tasks.ts (all require agentAuth):

  • GET /tasks — list open tasks (optional ?workflow= filter)
  • POST /tasks/:id/claim — atomic claim → returns { claimId, role, instruction, threadId }
  • POST /tasks/:id/release — release claimed task back to open

4.2 Timeout Sweep

  • Add CF Cron Trigger in wrangler.toml: crons = ["* * * * *"]
  • Add scheduled handler in src/index.ts that calls expireTimedOutTasks(db)
  • Tasks where claimed_at + timeout_seconds < now AND status=claimed → status=open, clear claim fields

References

  • Plan: docs/plans/2026-04-25-khala-mvp.md (Task 4.1, 4.2)
Parent: #119 ## Objective Task queue endpoints for agents to poll/claim work + cron-based timeout. ## Tasks ### 4.1 Task Queue Routes Create `packages/khala/src/routes/tasks.ts` (all require agentAuth): - `GET /tasks` — list open tasks (optional `?workflow=` filter) - `POST /tasks/:id/claim` — atomic claim → returns `{ claimId, role, instruction, threadId }` - `POST /tasks/:id/release` — release claimed task back to open ### 4.2 Timeout Sweep - Add CF Cron Trigger in wrangler.toml: `crons = ["* * * * *"]` - Add `scheduled` handler in `src/index.ts` that calls `expireTimedOutTasks(db)` - Tasks where `claimed_at + timeout_seconds < now` AND status=claimed → status=open, clear claim fields ## References - Plan: `docs/plans/2026-04-25-khala-mvp.md` (Task 4.1, 4.2)
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#129