pub trait SessionCheckpointExportSink: Send + Sync {
// Required method
fn export_checkpoint<'life0, 'async_trait>(
&'life0 self,
checkpoint: SessionCheckpointExportV1,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Host-owned destination for exact checkpoints captured from a live Run.
Code invokes the sink only at a completed tool-round boundary, after the Run’s preceding events have been materialized into the same semantic snapshot. The supplied export is already canonical, bounded, and fully validated. It can contain conversation and Tool data, so authorization, encryption, immutable-object storage, retention, and replication remain host responsibilities.
Sink failures are logged and do not halt the live Run. Implementations should therefore be idempotent by descriptor identity and return only after the export has reached the durability level required by the host.
Required Methods§
fn export_checkpoint<'life0, 'async_trait>(
&'life0 self,
checkpoint: SessionCheckpointExportV1,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".