pub struct SessionManager { /* private fields */ }Implementations§
Source§impl SessionManager
impl SessionManager
pub fn new() -> Result<Self, CliError>
Sourcepub fn with_paths(
db_path: PathBuf,
sessions_dir: PathBuf,
) -> Result<Self, CliError>
pub fn with_paths( db_path: PathBuf, sessions_dir: PathBuf, ) -> Result<Self, CliError>
Create SessionManager with custom paths (for testing)
pub fn init_db(&self) -> Result<(), CliError>
pub fn create_new_session(&self) -> Result<String, CliError>
pub fn save_session( &self, session_id: &str, messages: &[Message], total_input_tokens: u64, total_output_tokens: u64, ) -> Result<(), CliError>
pub fn load_session(&self, session_id: &str) -> Result<Vec<Message>, CliError>
pub fn list_sessions(&self) -> Result<Vec<SessionInfo>, CliError>
pub fn get_last_session(&self) -> Result<Option<SessionInfo>, CliError>
Sourcepub fn update_session_tokens(
&self,
session_id: &str,
input_tokens: u64,
output_tokens: u64,
) -> Result<(), CliError>
pub fn update_session_tokens( &self, session_id: &str, input_tokens: u64, output_tokens: u64, ) -> Result<(), CliError>
Update token counts for a session
Sourcepub fn create_tree_session(
&self,
session_id: &str,
cwd: String,
) -> Result<SessionTree, CliError>
pub fn create_tree_session( &self, session_id: &str, cwd: String, ) -> Result<SessionTree, CliError>
Create a new tree-based session
Sourcepub fn load_tree_session(
&self,
session_id: &str,
) -> Result<SessionTree, CliError>
pub fn load_tree_session( &self, session_id: &str, ) -> Result<SessionTree, CliError>
Load a tree-based session
Sourcepub fn append_tree_entry(
&self,
session_id: &str,
entry: &SessionEntry,
) -> Result<(), CliError>
pub fn append_tree_entry( &self, session_id: &str, entry: &SessionEntry, ) -> Result<(), CliError>
Append entry to tree session (incremental save)
Sourcepub fn save_tree_session(
&self,
session_id: &str,
tree: &SessionTree,
) -> Result<(), CliError>
pub fn save_tree_session( &self, session_id: &str, tree: &SessionTree, ) -> Result<(), CliError>
Save complete tree session
Sourcepub fn has_tree_session(&self, session_id: &str) -> Result<bool, CliError>
pub fn has_tree_session(&self, session_id: &str) -> Result<bool, CliError>
Check if a tree session exists
Sourcepub fn migrate_to_tree(&self, session_id: &str) -> Result<SessionTree, CliError>
pub fn migrate_to_tree(&self, session_id: &str) -> Result<SessionTree, CliError>
Migrate a binary session to tree-based JSONL format
Auto Trait Implementations§
impl Freeze for SessionManager
impl RefUnwindSafe for SessionManager
impl Send for SessionManager
impl Sync for SessionManager
impl Unpin for SessionManager
impl UnsafeUnpin for SessionManager
impl UnwindSafe for SessionManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more