pub struct Server { /* private fields */ }Expand description
Protocol service composed with one coherent engine runtime.
Implementations§
Source§impl Server
impl Server
pub fn new(engine: Engine) -> Self
pub fn shutdown(&self)
pub async fn serve_stream<S>(
self: Arc<Self>,
stream: S,
) -> Result<(), TransportError>where
S: MessageStream,
Trait Implementations§
Source§impl ServerProtocol for Server
impl ServerProtocol for Server
Source§fn connected<'life0, 'async_trait>(
&'life0 self,
context: ServerContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connected<'life0, 'async_trait>(
&'life0 self,
context: ServerContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called after the exact-version handshake response has been sent.
fn create_session<'life0, 'async_trait>(
&'life0 self,
params: SessionCreateParams,
) -> Pin<Box<dyn Future<Output = Result<SessionCreateResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_sessions<'life0, 'async_trait>(
&'life0 self,
params: SessionListParams,
) -> Pin<Box<dyn Future<Output = Result<SessionListResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session<'life0, 'async_trait>(
&'life0 self,
params: SessionGetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_session_goal<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalGetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalGetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session_goal<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalGetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalGetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the root session’s current goal, if any. Read more
Source§fn set_session_goal<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalSetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalSetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_session_goal<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalSetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalSetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Activates a user-owned goal on a root session. Read more
Source§fn change_session_goal_lifecycle<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalLifecycleParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalLifecycleResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn change_session_goal_lifecycle<'life0, 'async_trait>(
&'life0 self,
params: SessionGoalLifecycleParams,
) -> Pin<Box<dyn Future<Output = Result<SessionGoalLifecycleResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Applies a user-owned lifecycle transition to a root session goal. Read more
Source§fn session_producers<'life0, 'async_trait>(
&'life0 self,
params: SessionProducersParams,
) -> Pin<Box<dyn Future<Output = Result<SessionProducersResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_producers<'life0, 'async_trait>(
&'life0 self,
params: SessionProducersParams,
) -> Pin<Box<dyn Future<Output = Result<SessionProducersResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the runtime-only producer registry for the requested session.
fn session_usage<'life0, 'async_trait>(
&'life0 self,
params: SessionUsageParams,
) -> Pin<Box<dyn Future<Output = Result<SessionUsageResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_tree_usage<'life0, 'async_trait>(
&'life0 self,
params: SessionUsageParams,
) -> Pin<Box<dyn Future<Output = Result<SessionTreeUsageResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn agent_usage<'life0, 'async_trait>(
&'life0 self,
params: AgentUsageParams,
) -> Pin<Box<dyn Future<Output = Result<AgentUsageResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn global_usage<'life0, 'async_trait>(
&'life0 self,
__arg1: GlobalUsageParams,
) -> Pin<Box<dyn Future<Output = Result<GlobalUsageResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_children<'life0, 'async_trait>(
&'life0 self,
params: SessionChildrenParams,
) -> Pin<Box<dyn Future<Output = Result<SessionChildrenResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_tree<'life0, 'async_trait>(
&'life0 self,
params: SessionTreeParams,
) -> Pin<Box<dyn Future<Output = Result<SessionTreeResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resume_session<'life0, 'async_trait>(
&'life0 self,
params: SessionResumeParams,
) -> Pin<Box<dyn Future<Output = Result<SessionResumeResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn rename_session<'life0, 'async_trait>(
&'life0 self,
params: SessionRenameParams,
) -> Pin<Box<dyn Future<Output = Result<SessionRenameResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_permission_mode<'life0, 'async_trait>(
&'life0 self,
params: SessionSetPermissionModeParams,
) -> Pin<Box<dyn Future<Output = Result<SessionSetPermissionModeResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session_permissions<'life0, 'async_trait>(
&'life0 self,
params: SessionPermissionGetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionPermissionGetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_session_permission<'life0, 'async_trait>(
&'life0 self,
params: SessionPermissionSetParams,
) -> Pin<Box<dyn Future<Output = Result<SessionPermissionMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn clear_session_permission<'life0, 'async_trait>(
&'life0 self,
params: SessionPermissionClearParams,
) -> Pin<Box<dyn Future<Output = Result<SessionPermissionMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_skills<'life0, 'async_trait>(
&'life0 self,
params: SkillsListParams,
) -> Pin<Box<dyn Future<Output = Result<SkillsListResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_skill<'life0, 'async_trait>(
&'life0 self,
params: SkillsGetParams,
) -> Pin<Box<dyn Future<Output = Result<SkillsGetResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact_session<'life0, 'async_trait>(
&'life0 self,
params: SessionCompactParams,
) -> Pin<Box<dyn Future<Output = Result<SessionCompactResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn revert_session<'life0, 'async_trait>(
&'life0 self,
params: SessionRevertParams,
) -> Pin<Box<dyn Future<Output = Result<SessionRevertResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fork_session<'life0, 'async_trait>(
&'life0 self,
params: SessionForkParams,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_run<'life0, 'async_trait>(
&'life0 self,
params: RunStartParams,
) -> Pin<Box<dyn Future<Output = Result<RunStartResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn steer_run<'life0, 'async_trait>(
&'life0 self,
params: RunSteerParams,
) -> Pin<Box<dyn Future<Output = Result<RunSteerResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn recall_steer<'life0, 'async_trait>(
&'life0 self,
params: RunRecallSteerParams,
) -> Pin<Box<dyn Future<Output = Result<RunRecallSteerResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_run<'life0, 'async_trait>(
&'life0 self,
params: RunCancelParams,
) -> Pin<Box<dyn Future<Output = Result<RunCancelResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn tool_stdin<'life0, 'async_trait>(
&'life0 self,
params: RunToolStdinParams,
) -> Pin<Box<dyn Future<Output = Result<RunToolStdinResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_events<'life0, 'life1, 'async_trait>(
&'life0 self,
params: EventsSubscribeParams,
context: &'life1 ServerContext,
) -> Pin<Box<dyn Future<Output = Result<EventsSubscribeResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn respond_approval<'life0, 'async_trait>(
&'life0 self,
params: ApprovalRespondParams,
) -> Pin<Box<dyn Future<Output = Result<ApprovalRespondResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_approvals<'life0, 'async_trait>(
&'life0 self,
params: ApprovalListParams,
) -> Pin<Box<dyn Future<Output = Result<ApprovalListResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin_mcp_auth<'life0, 'async_trait>(
&'life0 self,
params: McpAuthBeginParams,
) -> Pin<Box<dyn Future<Output = Result<McpAuthBeginResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_mcp_auth<'life0, 'async_trait>(
&'life0 self,
params: McpAuthCancelParams,
) -> Pin<Box<dyn Future<Output = Result<McpAuthCancelResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_mcp_servers<'life0, 'async_trait>(
&'life0 self,
__arg1: McpServerListParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerListResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_mcp_server<'life0, 'async_trait>(
&'life0 self,
params: McpServerAddParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn edit_mcp_server<'life0, 'async_trait>(
&'life0 self,
params: McpServerEditParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_mcp_server<'life0, 'async_trait>(
&'life0 self,
params: McpServerNameParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_mcp_server_enabled<'life0, 'async_trait>(
&'life0 self,
params: McpServerSetEnabledParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reconnect_mcp_server<'life0, 'async_trait>(
&'life0 self,
params: McpServerNameParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn persist_mcp_server<'life0, 'async_trait>(
&'life0 self,
params: McpServerPersistParams,
) -> Pin<Box<dyn Future<Output = Result<McpServerMutationResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn runtime_snapshot<'life0, 'async_trait>(
&'life0 self,
__arg1: RuntimeSnapshotGetParams,
) -> Pin<Box<dyn Future<Output = Result<RuntimeSnapshotResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect_provider<'life0, 'async_trait>(
&'life0 self,
params: ProviderConnectParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderConnectResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect_provider<'life0, 'async_trait>(
&'life0 self,
params: ProviderDisconnectParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderDisconnectResult, ServerFault>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for Server
impl !UnwindSafe for Server
impl Freeze for Server
impl Send for Server
impl Sync for Server
impl Unpin for Server
impl UnsafeUnpin for Server
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