AgentProvider

Trait AgentProvider 

Source
pub trait AgentProvider: Send + Sync {
Show 19 methods // Required methods fn get_my_account<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<GetMyAccountResponse, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn list_rulebooks<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<ListRuleBook>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_rulebook_by_uri<'life0, 'life1, 'async_trait>( &'life0 self, uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<RuleBook, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn create_rulebook<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, uri: &'life1 str, description: &'life2 str, content: &'life3 str, tags: Vec<String>, visibility: Option<RuleBookVisibility>, ) -> Pin<Box<dyn Future<Output = Result<CreateRuleBookResponse, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait; fn delete_rulebook<'life0, 'life1, 'async_trait>( &'life0 self, uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn list_agent_sessions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<AgentSession>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_agent_session<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<AgentSession, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_agent_session_stats<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<AgentSessionStats, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_agent_checkpoint<'life0, 'async_trait>( &'life0 self, checkpoint_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<RunAgentOutput, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_agent_session_latest_checkpoint<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<RunAgentOutput, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn chat_completion<'life0, 'async_trait>( &'life0 self, model: AgentModel, messages: Vec<ChatMessage>, tools: Option<Vec<Tool>>, ) -> Pin<Box<dyn Future<Output = Result<ChatCompletionResponse, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn chat_completion_stream<'life0, 'async_trait>( &'life0 self, model: AgentModel, messages: Vec<ChatMessage>, tools: Option<Vec<Tool>>, headers: Option<HeaderMap>, ) -> Pin<Box<dyn Future<Output = Result<(Pin<Box<dyn Stream<Item = Result<ChatCompletionStreamResponse, ApiStreamError>> + Send>>, Option<String>), String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn cancel_stream<'life0, 'async_trait>( &'life0 self, request_id: String, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_docs<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SearchDocsRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn memorize_session<'life0, 'async_trait>( &'life0 self, checkpoint_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_memory<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SearchMemoryRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn slack_read_messages<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackReadMessagesRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn slack_read_replies<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackReadRepliesRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn slack_send_message<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackSendMessageRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait;
}

Required Methods§

Source

fn get_my_account<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<GetMyAccountResponse, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn list_rulebooks<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<ListRuleBook>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_rulebook_by_uri<'life0, 'life1, 'async_trait>( &'life0 self, uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<RuleBook, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn create_rulebook<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, uri: &'life1 str, description: &'life2 str, content: &'life3 str, tags: Vec<String>, visibility: Option<RuleBookVisibility>, ) -> Pin<Box<dyn Future<Output = Result<CreateRuleBookResponse, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn delete_rulebook<'life0, 'life1, 'async_trait>( &'life0 self, uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn list_agent_sessions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<AgentSession>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_agent_session<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<AgentSession, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_agent_session_stats<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<AgentSessionStats, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_agent_checkpoint<'life0, 'async_trait>( &'life0 self, checkpoint_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<RunAgentOutput, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_agent_session_latest_checkpoint<'life0, 'async_trait>( &'life0 self, session_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<RunAgentOutput, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn chat_completion<'life0, 'async_trait>( &'life0 self, model: AgentModel, messages: Vec<ChatMessage>, tools: Option<Vec<Tool>>, ) -> Pin<Box<dyn Future<Output = Result<ChatCompletionResponse, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn chat_completion_stream<'life0, 'async_trait>( &'life0 self, model: AgentModel, messages: Vec<ChatMessage>, tools: Option<Vec<Tool>>, headers: Option<HeaderMap>, ) -> Pin<Box<dyn Future<Output = Result<(Pin<Box<dyn Stream<Item = Result<ChatCompletionStreamResponse, ApiStreamError>> + Send>>, Option<String>), String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn cancel_stream<'life0, 'async_trait>( &'life0 self, request_id: String, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn search_docs<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SearchDocsRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn memorize_session<'life0, 'async_trait>( &'life0 self, checkpoint_id: Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn search_memory<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SearchMemoryRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn slack_read_messages<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackReadMessagesRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn slack_read_replies<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackReadRepliesRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn slack_send_message<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 SlackSendMessageRequest, ) -> Pin<Box<dyn Future<Output = Result<Vec<Content>, String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Implementors§