Skip to content

cayu.snapshots.AgentSnapshotStore

Part of cayu.snapshots.base. Read the Python API overview and install the required extra.

from cayu.snapshots import AgentSnapshotStore

Bases: ABC.

AgentSnapshotStore.durable_state_paths() -> tuple[Path, ...]

Return local files that own this store’s durable state.

async AgentSnapshotStore.put_snapshot(snapshot: AgentSnapshot, binding: AgentSnapshotIdentityBinding) -> AgentSnapshotPutReceipt

Atomically store one root closure and one authorized logical binding.

async AgentSnapshotStore.put_snapshot_and_pin(snapshot: AgentSnapshot, binding: AgentSnapshotIdentityBinding, pin: AgentSnapshotPinRequest) -> tuple[AgentSnapshotPutReceipt, AgentSnapshotPinReceipt]

Atomically publish and pin a newly imported root.

Stores that do not implement one-transaction publication must fail closed; bundle import cannot expose an unprotected root between calls.

async AgentSnapshotStore.load_identity_binding(binding_id: str) -> AgentSnapshotIdentityBinding | None
async AgentSnapshotStore.get_snapshot(access: AgentSnapshotAccess) -> AgentSnapshot

Load a snapshot only after validating its logical binding and scope.

async AgentSnapshotStore.enumerate_snapshot_closure(access: AgentSnapshotAccess) -> tuple[AgentSnapshotNode, ...]
async AgentSnapshotStore.inspect_snapshot(access: AgentSnapshotAccess) -> AgentSnapshotClosureInspection
async AgentSnapshotStore.pin_snapshot(request: AgentSnapshotPinRequest) -> AgentSnapshotPinReceipt
async AgentSnapshotStore.release_snapshot_pin(request: AgentSnapshotReleaseRequest) -> AgentSnapshotReleaseReceipt
async AgentSnapshotStore.protect_snapshot(protection: AgentSnapshotProtection) -> AgentSnapshotProtection
async AgentSnapshotStore.release_snapshot_protection(*, operation_id: str, access: AgentSnapshotAccess, protection_id: str) -> AgentSnapshotProtection
async AgentSnapshotStore.plan_snapshot_gc(request: AgentSnapshotGCRequest) -> AgentSnapshotGCPlan
async AgentSnapshotStore.execute_snapshot_gc(plan: AgentSnapshotGCPlan) -> AgentSnapshotGCReceipt
async AgentSnapshotStore.save_snapshot(snapshot: AgentSnapshot) -> AgentSnapshot
async AgentSnapshotStore.load_snapshot(snapshot_root: str) -> AgentSnapshot | None
async AgentSnapshotStore.save_materialization(materialization: AgentSnapshotMaterialization) -> AgentSnapshotMaterialization
async AgentSnapshotStore.load_materialization(fingerprint: str) -> AgentSnapshotMaterialization | None
async AgentSnapshotStore.load_materialization_for_scope(request: AgentSnapshotMaterializationRequest) -> AgentSnapshotMaterialization | None
async AgentSnapshotStore.begin_materialization(progress: AgentSnapshotMaterializationProgress) -> AgentSnapshotMaterializationProgress

Atomically bind a scope to its immutable component operation plan.

load_materialization_progress_for_scope (method)

Section titled “load_materialization_progress_for_scope (method)”
async AgentSnapshotStore.load_materialization_progress_for_scope(request: AgentSnapshotMaterializationRequest) -> AgentSnapshotMaterializationProgress | None
async AgentSnapshotStore.claim_materialization_operation(progress: AgentSnapshotMaterializationProgress, operation_id: str) -> AgentSnapshotMaterializationProgress

CAS an unstarted operation to active before provider effects.

complete_materialization_operation (method)

Section titled “complete_materialization_operation (method)”
async AgentSnapshotStore.complete_materialization_operation(progress: AgentSnapshotMaterializationProgress, operation_id: str, component: AgentSnapshotMaterializedComponent) -> AgentSnapshotMaterializationProgress

CAS one exact provider result into durable progress.

async AgentSnapshotStore.finalize_materialization(progress: AgentSnapshotMaterializationProgress, materialization: AgentSnapshotMaterialization) -> AgentSnapshotMaterialization

Atomically publish a completed materialization for its scope.

async AgentSnapshotStore.save_trial(trial: AgentSnapshotTrialBinding) -> AgentSnapshotTrialBinding
async AgentSnapshotStore.load_trial(fingerprint: str) -> AgentSnapshotTrialBinding | None
async AgentSnapshotStore.save_result(result: AgentSnapshotResultBinding) -> AgentSnapshotResultBinding
async AgentSnapshotStore.load_result(fingerprint: str) -> AgentSnapshotResultBinding | None

Release source · Runtime guarantees · Capability guides