@ferricstore/ferricstore
    Preparing search index...

    Class FerricStoreSaver

    Durable, epoch-fenced LangGraph.js checkpoint saver backed by FerricStore.

    Hierarchy

    • BaseCheckpointSaver
      • FerricStoreSaver
    Index
    keyPrefix: string
    scanCount: number
    serde: SerializerProtocol
    • Delete all checkpoints and writes associated with a specific thread ID.

      Parameters

      • threadId: string

        The thread ID whose checkpoints should be deleted.

      Returns Promise<void>

    • Walk the parent chain returning per-channel writes + seed, used to reconstruct DeltaChannel state from checkpoint_writes.

      For each requested channel, walks ancestors of the checkpoint identified by config (following parentConfig) and accumulates the pending writes for that channel. The walk terminates per-channel at the nearest ancestor whose channel_values[ch] is populated; that value is returned as seed. If the walk reaches the root without finding a stored value, seed is omitted from that channel's entry — the consumer treats the absence as "start empty".

      Walks the parent chain (not list({ before })): for forked threads, only on-path ancestors contribute.

      The default implementation walks getTuple + parentConfig once for all channels — each ancestor visited once, not once per channel. Savers with direct storage access (e.g. MemorySaver) override for performance; the return contract is fixed here.

      Parameters

      • options: { channels: string[]; config: RunnableConfig }
        • channels: string[]

          Channel names to walk for. Empty → empty mapping.

        • config: RunnableConfig

          Configuration identifying the target checkpoint.

      Returns Promise<Record<string, DeltaChannelHistory>>

      Per-channel DeltaChannelHistory for every requested name.

      Beta. The signature, return shape, and interaction with DeltaSnapshot blobs may change. Override at your own risk; the default implementation will continue to work against the public BaseCheckpointSaver contract.

    • Generate the next version ID for a channel.

      Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions, as long as they are monotonically increasing.

      Parameters

      • current: number | undefined

      Returns number

    • Parameters

      • config: RunnableConfig

      Returns Promise<CheckpointTuple | undefined>

    • Parameters

      • config: RunnableConfig
      • options: {
            before?: RunnableConfig<Record<string, any>>;
            filter?: Record<string, unknown>;
            limit?: number;
        } = {}

      Returns AsyncGenerator<CheckpointTuple>

    • Parameters

      Returns Promise<RunnableConfig<Record<string, any>>>

    • Store intermediate writes linked to a checkpoint.

      Parameters

      Returns Promise<void>