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;
}