Fast-path override of BaseCheckpointSaver.get_delta_channel_history.
Two-stage query:
Stage 1 (streamed): recursive CTE over checkpoints following
parent_checkpoint_id from the target, returning
(checkpoint_id, type, checkpoint) per ancestor. Sqlite has no
JSONB, so we ship the full serialized checkpoint blob and inspect
channel_values in Python. Stops reading when every channel has
found its seed or the chain is exhausted.
Stage 2 (per-channel UNION ALL): one branch per channel reading
writes filtered to that channel's specific chain_cids. No
separate seed-blob fetch — sqlite stores channel_values inline
in the checkpoint blob, so seeds come back from stage 1.
get_delta_channel_history(
self,
*,
config: RunnableConfig,
channels: Sequence[str]
) -> Mapping[str, DeltaChannelHistory]