ai_agent/utils/
session_restore.rs1#[derive(Debug, Clone)]
5pub struct SessionRestoreResult {
6 pub session_id: String,
7 pub message_count: usize,
8 pub success: bool,
9 pub error: Option<String>,
10}
11
12pub fn restore_session(session_id: &str) -> SessionRestoreResult {
14 if !super::session_storage::session_exists(session_id) {
19 return SessionRestoreResult {
20 session_id: session_id.to_string(),
21 message_count: 0,
22 success: false,
23 error: Some("Session not found".to_string()),
24 };
25 }
26
27 let messages = super::session_storage::load_transcript(session_id);
29
30 SessionRestoreResult {
31 session_id: session_id.to_string(),
32 message_count: messages.len(),
33 success: true,
34 error: None,
35 }
36}
37
38pub fn can_restore_session(session_id: &str) -> bool {
40 let path = super::session_storage::get_transcript_path(session_id);
42 path.exists()
43}