c.state), written by
.persistent() flows so they can resume after a restart.
Properties
flowId
step
state
updatedAt
parked?
true while the flow is parked on the FIRST wait of
step with its prompt already sent, so the replica that resumes it takes the waking
message as that wait’s answer. Absent or false: the step re-runs from its start.
inboundId?
BotConfig.durability): id of the inbound journal record whose effects this
checkpoint captures (the message that entered the flow or that the step consumed). A replay
of that record after a crash resumes the flow’s pending steps without delivering the message
to it again. Stores persist it opaquely with the rest of the checkpoint.
cause?
id
seq
answer?
step consumed while the step
had not completed yet (a slow validator, a .do() running after its first c.ask). The
replica that resumes the flow feeds it to that wait instead of asking again. The next
step’s checkpoint drops it; a later wait of the same step parking drops it too (the step
then re-runs from its start, as without it).
handover?
coordination.handover): an ephemeral checkpoint or a stub.
trace?
BotConfig.telemetry) only: the W3C trace context of the conversation turn
that wrote this checkpoint. The replica (or restarted process) that resumes it LINKS
its first turn to that span (the resumed turn’s parent stays the waking message’s
dispatch). Absent without telemetry or when the tracer’s ids are not W3C-shaped.
Stores persist it opaquely, as JSON.
revision?
setCheckpoint() (treated
as revision 0 by the conditional writes). Stores persist it opaquely with the rest
of the checkpoint and never interpret it beyond the comparison.