pub struct PiConvo { /* private fields */ }Expand description
High-level interface for reading Pi sessions.
Implementations§
Source§impl PiConvo
impl PiConvo
Sourcepub fn with_resolver(resolver: PathResolver) -> Self
pub fn with_resolver(resolver: PathResolver) -> Self
Build a manager with a custom resolver (useful for tests).
Sourcepub fn resolver(&self) -> &PathResolver
pub fn resolver(&self) -> &PathResolver
Access the underlying resolver.
Sourcepub fn list_projects(&self) -> Result<Vec<String>>
pub fn list_projects(&self) -> Result<Vec<String>>
List known project paths (decoded cwd values).
Sourcepub fn list_sessions(&self, project: &str) -> Result<Vec<SessionMeta>>
pub fn list_sessions(&self, project: &str) -> Result<Vec<SessionMeta>>
List session metadata for a project, newest first.
Sourcepub fn read_session(&self, project: &str, session_id: &str) -> Result<PiSession>
pub fn read_session(&self, project: &str, session_id: &str) -> Result<PiSession>
Read a specific session by ID.
Sourcepub fn most_recent_session(&self, project: &str) -> Result<Option<PiSession>>
pub fn most_recent_session(&self, project: &str) -> Result<Option<PiSession>>
Read the most recently active session for a project, if any.
Sourcepub fn to_view(&self, session: &PiSession) -> ConversationView
pub fn to_view(&self, session: &PiSession) -> ConversationView
Convert a Pi session into a provider-agnostic ConversationView.
Trait Implementations§
Source§impl ConversationProvider for PiConvo
impl ConversationProvider for PiConvo
Source§fn list_conversations(&self, project: &str) -> Result<Vec<String>, ConvoError>
fn list_conversations(&self, project: &str) -> Result<Vec<String>, ConvoError>
List conversation IDs for a project/workspace.
Source§fn load_conversation(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationView, ConvoError>
fn load_conversation( &self, project: &str, conversation_id: &str, ) -> Result<ConversationView, ConvoError>
Load a full conversation as a
ConversationView.Source§fn load_metadata(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationMeta, ConvoError>
fn load_metadata( &self, project: &str, conversation_id: &str, ) -> Result<ConversationMeta, ConvoError>
Load metadata only (no turns).
Source§fn list_metadata(
&self,
project: &str,
) -> Result<Vec<ConversationMeta>, ConvoError>
fn list_metadata( &self, project: &str, ) -> Result<Vec<ConversationMeta>, ConvoError>
List metadata for all conversations in a project.
Auto Trait Implementations§
impl Freeze for PiConvo
impl RefUnwindSafe for PiConvo
impl Send for PiConvo
impl Sync for PiConvo
impl Unpin for PiConvo
impl UnsafeUnpin for PiConvo
impl UnwindSafe for PiConvo
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