pub struct RoverHandler { /* private fields */ }Expand description
State shared across all MCP tool invocations.
Note: this struct no longer carries its own scheduler Sender. Every
storage::tasks::insert call notifies the scheduler via the Db-owned
notifier installed by mcp::server::serve_stdio, so the MCP tool layer
has no extra wiring to do — it just inserts.
Implementations§
Source§impl RoverHandler
impl RoverHandler
Source§impl RoverHandler
impl RoverHandler
Sourcepub fn fetch_tool_tool_attr() -> Tool
pub fn fetch_tool_tool_attr() -> Tool
Generated tool metadata function for fetch_tool
Sourcepub fn fetch_tool(
&self,
Parameters: Parameters<FetchArgs>,
) -> Pin<Box<dyn Future<Output = Result<Json<FetchOutput>, ErrorData>> + Send + '_>>
pub fn fetch_tool( &self, Parameters: Parameters<FetchArgs>, ) -> Pin<Box<dyn Future<Output = Result<Json<FetchOutput>, ErrorData>> + Send + '_>>
Fetch a URL and return cleaned Markdown with frontmatter.
Sourcepub fn count_tokens_tool_tool_attr() -> Tool
pub fn count_tokens_tool_tool_attr() -> Tool
Generated tool metadata function for count_tokens_tool
Sourcepub fn count_tokens_tool(
&self,
Parameters: Parameters<CountTokensArgs>,
) -> Pin<Box<dyn Future<Output = Result<Json<CountResponse>, ErrorData>> + Send + '_>>
pub fn count_tokens_tool( &self, Parameters: Parameters<CountTokensArgs>, ) -> Pin<Box<dyn Future<Output = Result<Json<CountResponse>, ErrorData>> + Send + '_>>
Count tokens in either an inline text or a fetched url.
Sourcepub fn get_metadata_tool_tool_attr() -> Tool
pub fn get_metadata_tool_tool_attr() -> Tool
Generated tool metadata function for get_metadata_tool
Sourcepub fn get_metadata_tool(
&self,
Parameters: Parameters<GetMetadataArgs>,
) -> Pin<Box<dyn Future<Output = Result<Json<MetadataResponse>, ErrorData>> + Send + '_>>
pub fn get_metadata_tool( &self, Parameters: Parameters<GetMetadataArgs>, ) -> Pin<Box<dyn Future<Output = Result<Json<MetadataResponse>, ErrorData>> + Send + '_>>
Fetch a URL and return ONLY its structured metadata (no markdown body).
Sourcepub fn summarize_tool_tool_attr() -> Tool
pub fn summarize_tool_tool_attr() -> Tool
Generated tool metadata function for summarize_tool
Sourcepub fn summarize_tool(
&self,
Parameters: Parameters<SummarizeArgs>,
) -> Pin<Box<dyn Future<Output = Result<Json<SummarizeResponse>, ErrorData>> + Send + '_>>
pub fn summarize_tool( &self, Parameters: Parameters<SummarizeArgs>, ) -> Pin<Box<dyn Future<Output = Result<Json<SummarizeResponse>, ErrorData>> + Send + '_>>
Apply summarization to a URL’s cached or freshly-fetched markdown.
Sourcepub fn batch_fetch_tool_tool_attr() -> Tool
pub fn batch_fetch_tool_tool_attr() -> Tool
Generated tool metadata function for batch_fetch_tool
Sourcepub fn batch_fetch_tool(
&self,
Parameters: Parameters<BatchFetchArgs>,
) -> Pin<Box<dyn Future<Output = Result<Json<TaskCreatedResponse>, ErrorData>> + Send + '_>>
pub fn batch_fetch_tool( &self, Parameters: Parameters<BatchFetchArgs>, ) -> Pin<Box<dyn Future<Output = Result<Json<TaskCreatedResponse>, ErrorData>> + Send + '_>>
Fetch multiple URLs concurrently in the background.
Source§impl RoverHandler
impl RoverHandler
Sourcepub async fn batch_fetch_inner(
&self,
args: BatchFetchArgs,
) -> Result<TaskCreatedResponse, McpError>
pub async fn batch_fetch_inner( &self, args: BatchFetchArgs, ) -> Result<TaskCreatedResponse, McpError>
Tool body, decoupled from the #[tool] macro for unit testing.
Source§impl RoverHandler
impl RoverHandler
Sourcepub async fn count_tokens_inner(
&self,
args: CountTokensArgs,
) -> Result<CountResponse, McpError>
pub async fn count_tokens_inner( &self, args: CountTokensArgs, ) -> Result<CountResponse, McpError>
Tool body, decoupled from the #[tool] macro for unit testing.
Source§impl RoverHandler
impl RoverHandler
Sourcepub async fn fetch_inner(
&self,
args: FetchArgs,
) -> Result<FetchOutput, McpError>
pub async fn fetch_inner( &self, args: FetchArgs, ) -> Result<FetchOutput, McpError>
Tool body, decoupled from the #[tool] macro for unit testing.
Task 11 wires this into the router; here it’s a plain async method.
Source§impl RoverHandler
impl RoverHandler
pub async fn get_metadata_inner( &self, args: GetMetadataArgs, ) -> Result<MetadataResponse, McpError>
Source§impl RoverHandler
impl RoverHandler
Sourcepub async fn summarize_inner(
&self,
args: SummarizeArgs,
) -> Result<SummarizeResponse, McpError>
pub async fn summarize_inner( &self, args: SummarizeArgs, ) -> Result<SummarizeResponse, McpError>
Tool body, decoupled from the #[tool] macro for unit testing.
Trait Implementations§
Source§impl Clone for RoverHandler
impl Clone for RoverHandler
Source§fn clone(&self) -> RoverHandler
fn clone(&self) -> RoverHandler
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ServerHandler for RoverHandler
impl ServerHandler for RoverHandler
fn get_info(&self) -> ServerInfo
async fn call_tool( &self, request: CallToolRequestParams, context: RequestContext<RoleServer>, ) -> Result<CallToolResult, ErrorData>
async fn list_tools( &self, _request: Option<PaginatedRequestParams>, _context: RequestContext<RoleServer>, ) -> Result<ListToolsResult, ErrorData>
fn enqueue_task( &self, _request: CallToolRequestParams, _context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CreateTaskResult, ErrorData>> + MaybeSendFuture
fn ping( &self, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn initialize( &self, request: InitializeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<InitializeResult, ErrorData>> + MaybeSendFuture
fn complete( &self, request: CompleteRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CompleteResult, ErrorData>> + MaybeSendFuture
fn set_level( &self, request: SetLevelRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn get_prompt( &self, request: GetPromptRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetPromptResult, ErrorData>> + MaybeSendFuture
fn list_prompts( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListPromptsResult, ErrorData>> + MaybeSendFuture
fn list_resources( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourcesResult, ErrorData>> + MaybeSendFuture
fn list_resource_templates( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourceTemplatesResult, ErrorData>> + MaybeSendFuture
fn read_resource( &self, request: ReadResourceRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ReadResourceResult, ErrorData>> + MaybeSendFuture
fn subscribe( &self, request: SubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn unsubscribe( &self, request: UnsubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn on_custom_request( &self, request: CustomRequest, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CustomResult, ErrorData>> + MaybeSendFuture
fn on_cancelled( &self, notification: CancelledNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_progress( &self, notification: ProgressNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_initialized( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_roots_list_changed( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_custom_notification( &self, notification: CustomNotification, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn list_tasks( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListTasksResult, ErrorData>> + MaybeSendFuture
fn get_task_info( &self, request: GetTaskInfoParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetTaskResult, ErrorData>> + MaybeSendFuture
fn get_task_result( &self, request: GetTaskResultParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetTaskPayloadResult, ErrorData>> + MaybeSendFuture
fn cancel_task( &self, request: CancelTaskParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CancelTaskResult, ErrorData>> + MaybeSendFuture
Auto Trait Implementations§
impl !RefUnwindSafe for RoverHandler
impl !UnwindSafe for RoverHandler
impl Freeze for RoverHandler
impl Send for RoverHandler
impl Sync for RoverHandler
impl Unpin for RoverHandler
impl UnsafeUnpin for RoverHandler
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
fn handle_request( &self, request: <R as ServiceRole>::PeerReq, context: RequestContext<R>, ) -> Pin<Box<dyn Future<Output = Result<<R as ServiceRole>::Resp, ErrorData>> + Send + '_>>
fn handle_notification( &self, notification: <R as ServiceRole>::PeerNot, context: NotificationContext<R>, ) -> Pin<Box<dyn Future<Output = Result<(), ErrorData>> + Send + '_>>
fn get_info(&self) -> <R as ServiceRole>::Info
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>
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>
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 more