pub struct SessionStore { /* private fields */ }Expand description
Session store for SRBN persistence
Implementations§
Source§impl SessionStore
impl SessionStore
Sourcepub fn new() -> Result<SessionStore, Error>
pub fn new() -> Result<SessionStore, Error>
Create a new session store with default path
Sourcepub fn open(path: &PathBuf) -> Result<SessionStore, Error>
pub fn open(path: &PathBuf) -> Result<SessionStore, Error>
Open a session store at the given path
Sourcepub fn default_db_path() -> Result<PathBuf, Error>
pub fn default_db_path() -> Result<PathBuf, Error>
Get the default database path (~/.local/share/perspt/perspt.db or similar)
Sourcepub fn create_session(&self, session: &SessionRecord) -> Result<(), Error>
pub fn create_session(&self, session: &SessionRecord) -> Result<(), Error>
Create a new session
Sourcepub fn update_merkle_root(
&self,
session_id: &str,
merkle_root: &[u8],
) -> Result<(), Error>
pub fn update_merkle_root( &self, session_id: &str, merkle_root: &[u8], ) -> Result<(), Error>
Update session merkle root
Sourcepub fn record_node_state(&self, record: &NodeStateRecord) -> Result<(), Error>
pub fn record_node_state(&self, record: &NodeStateRecord) -> Result<(), Error>
Record node state
Sourcepub fn record_energy(&self, record: &EnergyRecord) -> Result<(), Error>
pub fn record_energy(&self, record: &EnergyRecord) -> Result<(), Error>
Record energy measurement
Sourcepub fn get_session(
&self,
session_id: &str,
) -> Result<Option<SessionRecord>, Error>
pub fn get_session( &self, session_id: &str, ) -> Result<Option<SessionRecord>, Error>
Get session by ID
Sourcepub fn get_session_dir(&self, session_id: &str) -> Result<PathBuf, Error>
pub fn get_session_dir(&self, session_id: &str) -> Result<PathBuf, Error>
Get the directory for session artifacts (~/.local/share/perspt/sessions/
Sourcepub fn create_session_dir(&self, session_id: &str) -> Result<PathBuf, Error>
pub fn create_session_dir(&self, session_id: &str) -> Result<PathBuf, Error>
Ensure a session directory exists and return the path
Sourcepub fn get_energy_history(
&self,
session_id: &str,
node_id: &str,
) -> Result<Vec<EnergyRecord>, Error>
pub fn get_energy_history( &self, session_id: &str, node_id: &str, ) -> Result<Vec<EnergyRecord>, Error>
Get energy history for a node (query)
Sourcepub fn list_recent_sessions(
&self,
limit: usize,
) -> Result<Vec<SessionRecord>, Error>
pub fn list_recent_sessions( &self, limit: usize, ) -> Result<Vec<SessionRecord>, Error>
List recent sessions (newest first)
Sourcepub fn get_node_states(
&self,
session_id: &str,
) -> Result<Vec<NodeStateRecord>, Error>
pub fn get_node_states( &self, session_id: &str, ) -> Result<Vec<NodeStateRecord>, Error>
Get all node states for a session
Sourcepub fn update_session_status(
&self,
session_id: &str,
status: &str,
) -> Result<(), Error>
pub fn update_session_status( &self, session_id: &str, status: &str, ) -> Result<(), Error>
Update session status
Sourcepub fn record_llm_request(&self, record: &LlmRequestRecord) -> Result<(), Error>
pub fn record_llm_request(&self, record: &LlmRequestRecord) -> Result<(), Error>
Record an LLM request/response
Sourcepub fn get_llm_requests(
&self,
session_id: &str,
) -> Result<Vec<LlmRequestRecord>, Error>
pub fn get_llm_requests( &self, session_id: &str, ) -> Result<Vec<LlmRequestRecord>, Error>
Get LLM requests for a session
Sourcepub fn count_all_llm_requests(&self) -> Result<i64, Error>
pub fn count_all_llm_requests(&self) -> Result<i64, Error>
Count all LLM requests in the database (for debugging)
Sourcepub fn get_all_llm_requests(
&self,
limit: usize,
) -> Result<Vec<LlmRequestRecord>, Error>
pub fn get_all_llm_requests( &self, limit: usize, ) -> Result<Vec<LlmRequestRecord>, Error>
Get all LLM requests (for debugging)
Auto Trait Implementations§
impl !Freeze for SessionStore
impl RefUnwindSafe for SessionStore
impl Send for SessionStore
impl Sync for SessionStore
impl Unpin for SessionStore
impl UnwindSafe for SessionStore
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