pub struct ConversationManager { /* private fields */ }Expand description
Manages conversation history and session lifecycle
Implementations§
Source§impl ConversationManager
impl ConversationManager
Sourcepub fn create_session(
&mut self,
session_id: String,
spec_id: String,
) -> Result<SpecWritingSession, SpecError>
pub fn create_session( &mut self, session_id: String, spec_id: String, ) -> Result<SpecWritingSession, SpecError>
Create a new spec writing session
Sourcepub fn get_session(
&self,
session_id: &str,
) -> Result<SpecWritingSession, SpecError>
pub fn get_session( &self, session_id: &str, ) -> Result<SpecWritingSession, SpecError>
Retrieve a session by ID
Sourcepub fn add_message(
&mut self,
session_id: &str,
message_id: String,
role: MessageRole,
content: String,
) -> Result<ConversationMessage, SpecError>
pub fn add_message( &mut self, session_id: &str, message_id: String, role: MessageRole, content: String, ) -> Result<ConversationMessage, SpecError>
Add a message to a session’s conversation history
Sourcepub fn get_conversation_history(
&self,
session_id: &str,
) -> Result<Vec<ConversationMessage>, SpecError>
pub fn get_conversation_history( &self, session_id: &str, ) -> Result<Vec<ConversationMessage>, SpecError>
Get conversation history for a session
Sourcepub fn get_message(
&self,
session_id: &str,
message_id: &str,
) -> Result<ConversationMessage, SpecError>
pub fn get_message( &self, session_id: &str, message_id: &str, ) -> Result<ConversationMessage, SpecError>
Get a specific message from a session
Sourcepub fn update_phase(
&mut self,
session_id: &str,
new_phase: SpecPhase,
) -> Result<SpecWritingSession, SpecError>
pub fn update_phase( &mut self, session_id: &str, new_phase: SpecPhase, ) -> Result<SpecWritingSession, SpecError>
Update a session’s phase
Sourcepub fn add_approval_gate(
&mut self,
session_id: &str,
gate: ApprovalGate,
) -> Result<(), SpecError>
pub fn add_approval_gate( &mut self, session_id: &str, gate: ApprovalGate, ) -> Result<(), SpecError>
Add an approval gate to a session
Sourcepub fn approve_phase(
&mut self,
session_id: &str,
phase: SpecPhase,
approved_by: Option<String>,
feedback: Option<String>,
) -> Result<(), SpecError>
pub fn approve_phase( &mut self, session_id: &str, phase: SpecPhase, approved_by: Option<String>, feedback: Option<String>, ) -> Result<(), SpecError>
Approve a phase in a session
Sourcepub fn get_approval_status(
&self,
session_id: &str,
phase: SpecPhase,
) -> Result<bool, SpecError>
pub fn get_approval_status( &self, session_id: &str, phase: SpecPhase, ) -> Result<bool, SpecError>
Get approval status for a phase
Sourcepub fn list_sessions(&self) -> Vec<String>
pub fn list_sessions(&self) -> Vec<String>
List all session IDs
Trait Implementations§
Source§impl Clone for ConversationManager
impl Clone for ConversationManager
Source§fn clone(&self) -> ConversationManager
fn clone(&self) -> ConversationManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConversationManager
impl Debug for ConversationManager
Auto Trait Implementations§
impl Freeze for ConversationManager
impl RefUnwindSafe for ConversationManager
impl Send for ConversationManager
impl Sync for ConversationManager
impl Unpin for ConversationManager
impl UnwindSafe for ConversationManager
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