pub struct AgentServiceImpl { /* private fields */ }Implementations§
Source§impl AgentServiceImpl
impl AgentServiceImpl
pub fn new( session_manager: Arc<SessionManager>, llm_config_provider: LlmConfigProvider, model_registry: Arc<ModelRegistry>, provider_registry: Arc<ProviderRegistry>, ) -> Self
Trait Implementations§
Source§impl AgentService for AgentServiceImpl
impl AgentService for AgentServiceImpl
Source§type StreamSessionStream = ReceiverStream<Result<StreamSessionResponse, Status>>
type StreamSessionStream = ReceiverStream<Result<StreamSessionResponse, Status>>
Server streaming response type for the StreamSession method.
Source§type ListFilesStream = ReceiverStream<Result<ListFilesResponse, Status>>
type ListFilesStream = ReceiverStream<Result<ListFilesResponse, Status>>
Server streaming response type for the ListFiles method.
Source§type GetSessionStream = Pin<Box<dyn Stream<Item = Result<GetSessionResponse, Status>> + Send>>
type GetSessionStream = Pin<Box<dyn Stream<Item = Result<GetSessionResponse, Status>> + Send>>
Server streaming response type for the GetSession method.
Source§type GetConversationStream = Pin<Box<dyn Stream<Item = Result<GetConversationResponse, Status>> + Send>>
type GetConversationStream = Pin<Box<dyn Stream<Item = Result<GetConversationResponse, Status>> + Send>>
Server streaming response type for the GetConversation method.
Source§type ActivateSessionStream = Pin<Box<dyn Stream<Item = Result<ActivateSessionResponse, Status>> + Send>>
type ActivateSessionStream = Pin<Box<dyn Stream<Item = Result<ActivateSessionResponse, Status>> + Send>>
Server streaming response type for the ActivateSession method.
Source§fn stream_session<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<StreamSessionRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamSessionStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_session<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<StreamSessionRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamSessionStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Bidirectional streaming for interactive sessions
Source§fn create_session<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateSessionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_session<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateSessionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Unary calls for session management
fn list_sessions<'life0, 'async_trait>(
&'life0 self,
request: Request<ListSessionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListSessionsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetSessionStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_session<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteSessionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_conversation<'life0, 'async_trait>(
&'life0 self,
request: Request<GetConversationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetConversationStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn send_message<'life0, 'async_trait>(
&'life0 self,
request: Request<SendMessageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendMessageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_message<'life0, 'async_trait>(
&'life0 self,
request: Request<SendMessageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendMessageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Unary calls for non-streaming operations
fn approve_tool<'life0, 'async_trait>(
&'life0 self,
request: Request<ApproveToolRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ApproveToolResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn activate_session<'life0, 'async_trait>(
&'life0 self,
request: Request<ActivateSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ActivateSessionStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn activate_session<'life0, 'async_trait>(
&'life0 self,
request: Request<ActivateSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ActivateSessionStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Explicitly activate (load) a dormant session into memory and return its state
fn cancel_operation<'life0, 'async_trait>(
&'life0 self,
request: Request<CancelOperationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CancelOperationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn list_files<'life0, 'async_trait>(
&'life0 self,
request: Request<ListFilesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ListFilesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_files<'life0, 'async_trait>(
&'life0 self,
request: Request<ListFilesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ListFilesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List files in the workspace for fuzzy finding
Source§fn get_mcp_servers<'life0, 'async_trait>(
&'life0 self,
request: Request<GetMcpServersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetMcpServersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_mcp_servers<'life0, 'async_trait>(
&'life0 self,
request: Request<GetMcpServersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetMcpServersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get MCP server connection status
Source§fn list_providers<'life0, 'async_trait>(
&'life0 self,
_request: Request<ListProvidersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListProvidersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_providers<'life0, 'async_trait>(
&'life0 self,
_request: Request<ListProvidersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListProvidersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provider and model management
fn list_models<'life0, 'async_trait>(
&'life0 self,
request: Request<ListModelsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListModelsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_provider_auth_status<'life0, 'async_trait>(
&'life0 self,
request: Request<GetProviderAuthStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetProviderAuthStatusResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_provider_auth_status<'life0, 'async_trait>(
&'life0 self,
request: Request<GetProviderAuthStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetProviderAuthStatusResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provider auth status
fn resolve_model<'life0, 'async_trait>(
&'life0 self,
request: Request<ResolveModelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ResolveModelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for AgentServiceImpl
impl !RefUnwindSafe for AgentServiceImpl
impl Send for AgentServiceImpl
impl Sync for AgentServiceImpl
impl Unpin for AgentServiceImpl
impl !UnwindSafe for AgentServiceImpl
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request