// Copyright (c) Microsoft. All rights reserved. using System.Collections.Generic; using System.Threading.Tasks; namespace Microsoft.Agents.AI.Workflows.Checkpointing; /// /// A manager for storing and retrieving workflow execution checkpoints. /// internal interface ICheckpointManager { /// /// Commits the specified checkpoint and returns information that can be used to retrieve it later. /// /// The identifier for the current run or execution context. /// The checkpoint to commit. /// A representing the incoming checkpoint. ValueTask CommitCheckpointAsync(string runId, Checkpoint checkpoint); /// /// Retrieves the checkpoint associated with the specified checkpoint information. /// /// The identifier for the current run of execution context. /// The information used to identify the checkpoint. /// A representing the asynchronous operation. The result contains the associated with the specified . /// Thrown if the checkpoint is not found. ValueTask LookupCheckpointAsync(string runId, CheckpointInfo checkpointInfo); }