pub struct CheckpointState {
pub session_id: String,
pub iteration: usize,
pub max_iterations: usize,
pub messages: Vec<ChatMessage>,
pub initial_prompt: String,
pub system_prompt: String,
pub provider: String,
pub model: String,
pub enable_tools: bool,
pub last_checkpoint: String,
}Expand description
Checkpoint state for durable execution — captures agent loop state between iterations.
This struct is serialized to disk after each iteration so the agent loop can survive process restarts. On resume, the checkpoint is loaded and the loop continues from where it left off.
Fields§
§session_id: StringUnique session identifier
iteration: usizeCurrent iteration number
max_iterations: usizeMaximum iterations configured for this loop
messages: Vec<ChatMessage>Serialized conversation memory (message history)
initial_prompt: StringThe initial prompt that started this session
system_prompt: StringThe system prompt for this session
provider: StringProvider name used for this session
model: StringModel name used for this session
enable_tools: boolWhether tools were enabled
last_checkpoint: StringTimestamp of last checkpoint (ISO 8601)
Implementations§
Trait Implementations§
Source§impl Clone for CheckpointState
impl Clone for CheckpointState
Source§fn clone(&self) -> CheckpointState
fn clone(&self) -> CheckpointState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CheckpointState
impl Debug for CheckpointState
Source§impl<'de> Deserialize<'de> for CheckpointState
impl<'de> Deserialize<'de> for CheckpointState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CheckpointState
impl RefUnwindSafe for CheckpointState
impl Send for CheckpointState
impl Sync for CheckpointState
impl Unpin for CheckpointState
impl UnsafeUnpin for CheckpointState
impl UnwindSafe for CheckpointState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request