pub struct AgentServiceImpl { /* private fields */ }Implementations§
Source§impl AgentServiceImpl
impl AgentServiceImpl
pub fn new( session_manager: Arc<SessionManager>, llm_config_provider: LlmConfigProvider, ) -> 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
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