1use crate::session::SessionId;
2use crate::session::SubmissionId;
3use crate::status::SessionStatus;
4use lha_llm::RuntimeMetadata;
5use lha_llm::TranscriptItem;
6
7#[derive(Debug, Clone, PartialEq, Eq)]
8pub struct ActiveTurnSnapshot {
9 pub submission_id: SubmissionId,
10}
11
12#[derive(Debug, Clone, PartialEq)]
13pub struct SessionSnapshot {
14 pub session_id: SessionId,
15 pub status: SessionStatus,
16 pub conversation: Vec<TranscriptItem>,
17 pub steering_queue: Vec<Vec<TranscriptItem>>,
18 pub follow_up_queue: Vec<Vec<TranscriptItem>>,
19 pub runtime: RuntimeMetadata,
20 pub active_turn: Option<ActiveTurnSnapshot>,
21}