pub struct CompositeCompletionHandler { /* private fields */ }Expand description
Composite completion handler that combines multiple handlers
This handler allows you to combine different completion strategies and provides a unified interface for complex completion scenarios.
§Example
use prism_mcp_rs::core::completion_handlers::{
CompositeCompletionHandler, FuzzyCompletionHandler, FileSystemCompletionHandler
};
let composite = CompositeCompletionHandler::new()
.add_handler("files", FileSystemCompletionHandler::new("/home/user"))
.add_handler("prompts", FuzzyCompletionHandler::new(vec!["analyze", "create", "generate"]));Implementations§
Source§impl CompositeCompletionHandler
impl CompositeCompletionHandler
Sourcepub fn add_handler<H>(self, name: &str, handler: H) -> Selfwhere
H: CompletionHandler + 'static,
pub fn add_handler<H>(self, name: &str, handler: H) -> Selfwhere
H: CompletionHandler + 'static,
Add a named completion handler
§Arguments
name- Identifier for this handler (used for routing)handler- The completion handler implementation
Sourcepub fn with_default<H>(self, handler: H) -> Selfwhere
H: CompletionHandler + 'static,
pub fn with_default<H>(self, handler: H) -> Selfwhere
H: CompletionHandler + 'static,
Trait Implementations§
Source§impl CompletionHandler for CompositeCompletionHandler
impl CompletionHandler for CompositeCompletionHandler
Source§fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
reference: &'life1 CompletionReference,
argument: &'life2 CompletionArgument,
context: Option<&'life3 CompletionContext>,
) -> Pin<Box<dyn Future<Output = McpResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
reference: &'life1 CompletionReference,
argument: &'life2 CompletionArgument,
context: Option<&'life3 CompletionContext>,
) -> Pin<Box<dyn Future<Output = McpResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generate completion suggestions Read more
Auto Trait Implementations§
impl !RefUnwindSafe for CompositeCompletionHandler
impl !UnwindSafe for CompositeCompletionHandler
impl Freeze for CompositeCompletionHandler
impl Send for CompositeCompletionHandler
impl Sync for CompositeCompletionHandler
impl Unpin for CompositeCompletionHandler
impl UnsafeUnpin for CompositeCompletionHandler
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].