const manager = new CheckpointManager(storage);
// Save a checkpoint
const id = await manager.save({
runId: "run-123",
roundtrip: 2,
messages: [...currentMessages],
tokenUsage: { promptTokens: 5000, completionTokens: 2000, totalTokens: 7000 },
sessionState: { step: "analysis" },
});
// List checkpoints for a run
const checkpoints = await manager.list("run-123");
// Rollback (deletes all later checkpoints)
const restored = await manager.rollback(id);
// Prune old checkpoints (older than 24 hours)
const pruned = await manager.prune(86_400_000);