diff --git a/crates/goose/src/session/thread_manager.rs b/crates/goose/src/session/thread_manager.rs index ff3662d5..3a96cc69 100644 --- a/crates/goose/src/session/thread_manager.rs +++ b/crates/goose/src/session/thread_manager.rs @@ -54,9 +54,9 @@ type ThreadRow = ( String, bool, Option, - String, - String, - Option, + DateTime, + DateTime, + Option>, String, Option, i64, @@ -70,21 +70,21 @@ fn thread_from_row( working_dir, created_at, updated_at, - archived_at_str, + archived_at, metadata_json, current_session_id, message_count, ): ThreadRow, ) -> Result { let metadata: ThreadMetadata = serde_json::from_str(&metadata_json).unwrap_or_default(); - let archived_at = archived_at_str.as_deref().and_then(|s| s.parse().ok()); + Ok(Thread { id, name, user_set_name, working_dir, - created_at: created_at.parse().unwrap_or_else(|_| Utc::now()), - updated_at: updated_at.parse().unwrap_or_else(|_| Utc::now()), + created_at, + updated_at, archived_at, metadata, current_session_id,