pub trait ConversationProvider {
// Required methods
fn list_conversations(&self, project: &str) -> Result<Vec<String>>;
fn load_conversation(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationView>;
fn load_metadata(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationMeta>;
fn list_metadata(&self, project: &str) -> Result<Vec<ConversationMeta>>;
}Expand description
Trait for converting provider-specific conversation data into the
generic ConversationView.
Implement this on your provider’s manager type (e.g. ClaudeConvo).
Required Methods§
Sourcefn list_conversations(&self, project: &str) -> Result<Vec<String>>
fn list_conversations(&self, project: &str) -> Result<Vec<String>>
List conversation IDs for a project/workspace.
Sourcefn load_conversation(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationView>
fn load_conversation( &self, project: &str, conversation_id: &str, ) -> Result<ConversationView>
Load a full conversation as a ConversationView.
Sourcefn load_metadata(
&self,
project: &str,
conversation_id: &str,
) -> Result<ConversationMeta>
fn load_metadata( &self, project: &str, conversation_id: &str, ) -> Result<ConversationMeta>
Load metadata only (no turns).
Sourcefn list_metadata(&self, project: &str) -> Result<Vec<ConversationMeta>>
fn list_metadata(&self, project: &str) -> Result<Vec<ConversationMeta>>
List metadata for all conversations in a project.