@botmesh/core - v2.0.0-alpha.2
    Preparing search index...

    Interface FlowCheckpoint

    interface FlowCheckpoint {
        flowId: string;
        step: number;
        state: Record<string, unknown>;
        updatedAt: number;
        parked?: boolean;
        inboundId?: string;
        cause?: { id: string; seq: number };
        answer?: CheckpointAnswer;
        handover?: CheckpointHandover;
        trace?: CheckpointTrace;
        revision?: number;
    }
    Index
    flowId: string
    step: number
    state: Record<string, unknown>
    updatedAt: number
    parked?: boolean

    Multi-replica coordination only: 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?: string

    Durability (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: string; seq: number }

    Durability: the causation (inbound record id + send sequence) the next step's sends continue from. A step re-run on replay re-derives the same outbox keys, so a prompt that already went out is not sent twice.

    Multi-replica coordination: the message the FIRST wait of 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).

    Multi-replica hand-over metadata (coordination.handover): an ephemeral checkpoint or a stub.

    Tracing (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?: number

    Store revision of this checkpoint row (compare-and-set writes only, see IStore.setCheckpointIf). Set by the runtime: the revision it last read or wrote for the key, plus one. Absent on rows written with 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.