Skip to main content

Server

Trait Server 

Source
pub trait Server: Sync {
Show 18 methods // Required methods fn send( &self, req: SendRequest, ) -> impl Future<Output = Result<SendResponse>> + Send; fn stream( &self, req: StreamRequest, ) -> impl Stream<Item = Result<StreamEvent>> + Send; fn download( &self, req: DownloadRequest, ) -> impl Stream<Item = Result<DownloadEvent>> + Send; fn ping(&self) -> impl Future<Output = Result<()>> + Send; fn hub( &self, package: CompactString, action: HubAction, ) -> impl Stream<Item = Result<DownloadEvent>> + Send; fn list_sessions( &self, ) -> impl Future<Output = Result<Vec<SessionInfo>>> + Send; fn kill_session( &self, session: u64, ) -> impl Future<Output = Result<bool>> + Send; fn list_tasks(&self) -> impl Future<Output = Result<Vec<TaskInfo>>> + Send; fn kill_task( &self, task_id: u64, ) -> impl Future<Output = Result<bool>> + Send; fn approve_task( &self, task_id: u64, response: String, ) -> impl Future<Output = Result<bool>> + Send; fn evaluate( &self, req: SendRequest, ) -> impl Future<Output = Result<bool>> + Send; fn subscribe_tasks(&self) -> impl Stream<Item = Result<TaskEvent>> + Send; fn list_downloads( &self, ) -> impl Future<Output = Result<Vec<DownloadInfo>>> + Send; fn subscribe_downloads( &self, ) -> impl Stream<Item = Result<DownloadEvent>> + Send; fn get_config(&self) -> impl Future<Output = Result<String>> + Send; fn set_config( &self, config: String, ) -> impl Future<Output = Result<()>> + Send; fn memory_query( &self, query: MemoryOp, ) -> impl Future<Output = Result<MemoryResult>> + Send; // Provided method fn dispatch( &self, msg: ClientMessage, ) -> impl Stream<Item = ServerMessage> + Send + '_ { ... }
}
Expand description

Server-side protocol handler.

Each method corresponds to one ClientMessage variant. Implementations receive typed request structs and return typed responses — no enum matching required. Streaming operations return impl Stream.

The provided dispatch method routes a raw ClientMessage to the appropriate handler, returning a stream of ServerMessages.

Required Methods§

Source

fn send( &self, req: SendRequest, ) -> impl Future<Output = Result<SendResponse>> + Send

Handle Send — run agent and return complete response.

Source

fn stream( &self, req: StreamRequest, ) -> impl Stream<Item = Result<StreamEvent>> + Send

Handle Stream — run agent and stream response events.

Source

fn download( &self, req: DownloadRequest, ) -> impl Stream<Item = Result<DownloadEvent>> + Send

Handle Download — download model files with progress.

Source

fn ping(&self) -> impl Future<Output = Result<()>> + Send

Handle Ping — keepalive.

Source

fn hub( &self, package: CompactString, action: HubAction, ) -> impl Stream<Item = Result<DownloadEvent>> + Send

Handle Hub — install or uninstall a hub package.

Source

fn list_sessions(&self) -> impl Future<Output = Result<Vec<SessionInfo>>> + Send

Handle Sessions — list active sessions.

Source

fn kill_session( &self, session: u64, ) -> impl Future<Output = Result<bool>> + Send

Handle Kill — close a session by ID.

Source

fn list_tasks(&self) -> impl Future<Output = Result<Vec<TaskInfo>>> + Send

Handle Tasks — list tasks in the task registry.

Source

fn kill_task(&self, task_id: u64) -> impl Future<Output = Result<bool>> + Send

Handle KillTask — cancel a task by ID.

Source

fn approve_task( &self, task_id: u64, response: String, ) -> impl Future<Output = Result<bool>> + Send

Handle Approve — approve a blocked task’s inbox item.

Source

fn evaluate( &self, req: SendRequest, ) -> impl Future<Output = Result<bool>> + Send

Handle Evaluate — decide whether the agent should respond (DD#39).

Source

fn subscribe_tasks(&self) -> impl Stream<Item = Result<TaskEvent>> + Send

Handle SubscribeTasks — stream task lifecycle events.

Source

fn list_downloads( &self, ) -> impl Future<Output = Result<Vec<DownloadInfo>>> + Send

Handle Downloads — list downloads in the registry.

Source

fn subscribe_downloads( &self, ) -> impl Stream<Item = Result<DownloadEvent>> + Send

Handle SubscribeDownloads — stream download lifecycle events.

Source

fn get_config(&self) -> impl Future<Output = Result<String>> + Send

Handle GetConfig — return the full daemon config as JSON.

Source

fn set_config(&self, config: String) -> impl Future<Output = Result<()>> + Send

Handle SetConfig — replace the daemon config from JSON.

Source

fn memory_query( &self, query: MemoryOp, ) -> impl Future<Output = Result<MemoryResult>> + Send

Handle MemoryQuery — query the memory graph.

Provided Methods§

Source

fn dispatch( &self, msg: ClientMessage, ) -> impl Stream<Item = ServerMessage> + Send + '_

Dispatch a ClientMessage to the appropriate handler method.

Returns a stream of ServerMessages. Request-response operations yield exactly one message; streaming operations yield many.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§