ACAgentic Craft

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

  1. Mock write tool that succeeds then sleeps.
  2. Kill process.
  3. Restart; reclaim; resume.
  4. Assert one external side effect (idempotency key).

Artifact: Crash-resume test plan for one write tool

Sources

Related