pub struct RuntimeAgentService { /* private fields */ }Implementations§
Source§impl RuntimeAgentService
impl RuntimeAgentService
pub fn new(deps: RuntimeAgentDeps) -> Self
Trait Implementations§
Source§impl AgentService for RuntimeAgentService
impl AgentService for RuntimeAgentService
Source§type SubscribeSessionEventsStream = ReceiverStream<Result<SessionEvent, Status>>
type SubscribeSessionEventsStream = ReceiverStream<Result<SessionEvent, Status>>
Server streaming response type for the SubscribeSessionEvents 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§fn subscribe_session_events<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeSessionEventsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeSessionEventsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_session_events<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeSessionEventsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeSessionEventsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Event subscription (replaces bidirectional streaming)
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,
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,
Source§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,
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,
Utility RPCs
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,
User actions (all unary)
fn edit_message<'life0, 'async_trait>(
&'life0 self,
request: Request<EditMessageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<EditMessageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dequeue_queued_item<'life0, 'async_trait>(
&'life0 self,
request: Request<DequeueQueuedItemRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DequeueQueuedItemResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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,
fn switch_primary_agent<'life0, 'async_trait>(
&'life0 self,
request: Request<SwitchPrimaryAgentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SwitchPrimaryAgentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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,
fn compact_session<'life0, 'async_trait>(
&'life0 self,
request: Request<CompactSessionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CompactSessionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_bash_command<'life0, 'async_trait>(
&'life0 self,
request: Request<ExecuteBashCommandRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExecuteBashCommandResponse>, 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,
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 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_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,
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 start_auth<'life0, 'async_trait>(
&'life0 self,
request: Request<StartAuthRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartAuthResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_auth_input<'life0, 'async_trait>(
&'life0 self,
request: Request<SendAuthInputRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendAuthInputResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_auth_progress<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAuthProgressRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAuthProgressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_auth<'life0, 'async_trait>(
&'life0 self,
request: Request<CancelAuthRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CancelAuthResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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,
fn get_default_model<'life0, 'async_trait>(
&'life0 self,
_request: Request<GetDefaultModelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetDefaultModelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateWorkspaceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn resolve_repo<'life0, 'async_trait>(
&'life0 self,
request: Request<ResolveRepoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ResolveRepoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resolve_repo<'life0, 'async_trait>(
&'life0 self,
request: Request<ResolveRepoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ResolveRepoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Workspace orchestration
fn list_repos<'life0, 'async_trait>(
&'life0 self,
request: Request<ListReposRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListReposResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_workspaces<'life0, 'async_trait>(
&'life0 self,
request: Request<ListWorkspacesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListWorkspacesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_workspace_status<'life0, 'async_trait>(
&'life0 self,
request: Request<GetWorkspaceStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkspaceStatusResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteWorkspaceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn create_environment<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateEnvironmentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateEnvironmentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_environment<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateEnvironmentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateEnvironmentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Environment management
fn get_environment<'life0, 'async_trait>(
&'life0 self,
request: Request<GetEnvironmentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetEnvironmentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_environment<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteEnvironmentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteEnvironmentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for RuntimeAgentService
impl !RefUnwindSafe for RuntimeAgentService
impl Send for RuntimeAgentService
impl Sync for RuntimeAgentService
impl Unpin for RuntimeAgentService
impl !UnwindSafe for RuntimeAgentService
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