Advanced~30 minHazelJS
Checkpoints, Leases, and Resume
Configure durable run stores, worker leases, and safe resume after crashes—with full wiring.
- Authors
- editorial-team
- Published
- Last reviewed
Progress is stored locally in this browser.
Direct answer
createDurableRunStore / createSqlDurableRunStore, checkpoints, workerId + lease reclaim, and resume APIs keep AgentRuns correct across crashes. Pair with idempotent tools.
Guide: /guides/implement-durable-execution-and-recovery.
Worked example
typescript
import {
AgentRuntime,
createDurableRunStore,
} from '@hazeljs/agent';
const store = createDurableRunStore('./.hazel/runs');
// Production: createSqlDurableRunStore(prisma) where documented
const runtime = new AgentRuntime({
llmProvider,
durableSuspend: true,
runRepository: store.runRepository,
checkpointService: store.checkpointService,
humanTaskService: store.humanTaskService,
workerId: process.env.HOSTNAME ?? 'worker-1',
// runLeaseTtlMs / reclaimExpired — see Agent OS / agent package docs
});
const out = await runtime.execute('order-desk', 'Refund ORD-100', {
maxSteps: 10,
});
// After crash: reclaim lease, resume via documented resume / approveAndResume paths
Crash test outline
- Mock write tool that succeeds then sleeps.
- Kill process.
- Restart; reclaim; resume.
- Assert one external side effect (idempotency key).
Artifact: Crash-resume test plan for one write tool