Data structure representing a saved graph execution snapshot.
Persisted by checkpointer implementations after each super-step, enabling pause/resume, time-travel, and fault recovery.
next_nodes holds full work entries — node names or %LangEx.Send{}
structs — so Send payloads survive crash-continue and interrupt-resume
(format version 2). Version 1 checkpoints, which stored node names
only, still load and resume; only Send payloads from that era are
unrecoverable.
Summary
Functions
Current checkpoint format version, persisted with every checkpoint.
Builds a new checkpoint with an auto-generated ID and timestamp.
Types
@type t() :: %LangEx.Checkpoint{ checkpoint_id: String.t(), created_at: DateTime.t(), metadata: map(), next_nodes: [atom() | LangEx.Send.t()], parent_id: String.t() | nil, pending_interrupts: [map()] | nil, state: map(), step: non_neg_integer(), thread_id: String.t(), version: pos_integer() }
Functions
@spec format_version() :: pos_integer()
Current checkpoint format version, persisted with every checkpoint.
Builds a new checkpoint with an auto-generated ID and timestamp.