pub trait ResponseCache: Send + Sync {
// Required methods
fn store_response(
&self,
id: String,
response: ResponsesObject,
) -> Result<()>;
fn get_response(&self, id: &str) -> Result<Option<ResponsesObject>>;
fn delete_response(&self, id: &str) -> Result<bool>;
fn store_chunks(
&self,
id: String,
chunks: Vec<ResponsesChunk>,
) -> Result<()>;
fn get_chunks(&self, id: &str) -> Result<Option<Vec<ResponsesChunk>>>;
fn store_conversation_history(
&self,
id: String,
messages: Vec<Message>,
) -> Result<()>;
fn get_conversation_history(&self, id: &str) -> Result<Option<Vec<Message>>>;
}
Expand description
Trait for caching responses
Required Methods§
Sourcefn store_response(&self, id: String, response: ResponsesObject) -> Result<()>
fn store_response(&self, id: String, response: ResponsesObject) -> Result<()>
Store a response object with the given ID
Sourcefn get_response(&self, id: &str) -> Result<Option<ResponsesObject>>
fn get_response(&self, id: &str) -> Result<Option<ResponsesObject>>
Retrieve a response object by ID
Sourcefn delete_response(&self, id: &str) -> Result<bool>
fn delete_response(&self, id: &str) -> Result<bool>
Delete a response object by ID
Sourcefn store_chunks(&self, id: String, chunks: Vec<ResponsesChunk>) -> Result<()>
fn store_chunks(&self, id: String, chunks: Vec<ResponsesChunk>) -> Result<()>
Store streaming chunks for a response
Sourcefn get_chunks(&self, id: &str) -> Result<Option<Vec<ResponsesChunk>>>
fn get_chunks(&self, id: &str) -> Result<Option<Vec<ResponsesChunk>>>
Retrieve streaming chunks for a response