Skip to main content

codetether_agent/session/
checkpoint_build.rs

1//! Constructors for resumable run checkpoints.
2
3use super::{RunCheckpoint, checkpoint_assemble, checkpoint_state};
4use std::path::PathBuf;
5
6impl RunCheckpoint {
7    /// Build from live session messages.
8    pub fn from_session_messages(
9        objective: impl Into<String>,
10        max_steps: usize,
11        session_id: impl Into<String>,
12        workspace: Option<PathBuf>,
13        message_count: usize,
14        messages: &[crate::provider::Message],
15    ) -> Self {
16        let extracted = checkpoint_state::extract(messages);
17        checkpoint_assemble::assemble(
18            objective,
19            max_steps,
20            session_id,
21            workspace,
22            message_count,
23            extracted,
24        )
25    }
26}