pub struct ColorWithAlphaParams {
pub alpha: f32,
}Expand description
Parameters for the color_with_alpha MCP tool method.
Fields§
§alpha: f32alpha parameter.
Implementations§
Source§impl ColorWithAlphaParams
impl ColorWithAlphaParams
Sourcepub fn elicit_checked_tool_attr() -> Tool
pub fn elicit_checked_tool_attr() -> Tool
Generated tool metadata function for elicit_checked
Sourcepub fn elicit_checked(
peer: Peer<RoleServer>,
) -> Pin<Box<dyn Future<Output = Result<Self, ElicitError>> + Send + 'static>>
pub fn elicit_checked( peer: Peer<RoleServer>, ) -> Pin<Box<dyn Future<Output = Result<Self, ElicitError>> + Send + 'static>>
Checked elicitation via MCP protocol.
This is the verified, registered variant suitable for production use. Uses server-side elicitation to interactively elicit a value from the requesting client via MCP.
Automatically registered as an MCP tool via #[rmcp::tool].
§Examples
ⓘ
// In a tool handler with peer: Peer<RoleServer>
let config = Config::elicit_checked(peer).await?;§Implementation
Creates an ElicitServer wrapper and delegates to the Elicitation trait.
This provides server-side elicitation with the same style system and
validation logic as client-side elicitation.
Trait Implementations§
Source§impl Clone for ColorWithAlphaParams
impl Clone for ColorWithAlphaParams
Source§fn clone(&self) -> ColorWithAlphaParams
fn clone(&self) -> ColorWithAlphaParams
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ColorWithAlphaParams
impl Debug for ColorWithAlphaParams
Source§impl<'de> Deserialize<'de> for ColorWithAlphaParams
impl<'de> Deserialize<'de> for ColorWithAlphaParams
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl ElicitComplete for ColorWithAlphaParams
impl ElicitComplete for ColorWithAlphaParams
Source§fn validate_proofs_non_empty() -> bool
fn validate_proofs_non_empty() -> bool
Runtime check: all three proof methods return non-empty TokenStreams. Read more
Source§fn kani_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
fn kani_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
Runtime check: does this type’s Kani proof contain
Inner’s Kani proof? Read moreSource§fn verus_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
fn verus_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
Runtime check: does this type’s Verus proof contain
Inner’s Verus proof?Source§fn creusot_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
fn creusot_proof_contains<Inner>() -> boolwhere
Inner: Elicitation,
Runtime check: does this type’s Creusot proof contain
Inner’s Creusot proof?Source§impl ElicitIntrospect for ColorWithAlphaParams
impl ElicitIntrospect for ColorWithAlphaParams
Source§fn pattern() -> ElicitationPattern
fn pattern() -> ElicitationPattern
What elicitation pattern does this type use? Read more
Source§fn metadata() -> TypeMetadata
fn metadata() -> TypeMetadata
Get the complete structural metadata for this type. Read more
Source§impl ElicitPromptTree for ColorWithAlphaParamswhere
f32: ElicitPromptTree,
impl ElicitPromptTree for ColorWithAlphaParamswhere
f32: ElicitPromptTree,
Source§fn prompt_tree() -> PromptTree
fn prompt_tree() -> PromptTree
Return the static prompt tree for this type. Read more
Source§fn assembled_prompts() -> Vec<AssembledPrompt>
fn assembled_prompts() -> Vec<AssembledPrompt>
Return the complete assembled prompts in elicitation order. Read more
Source§impl ElicitSpec for ColorWithAlphaParams
Available on non-creusot only.
impl ElicitSpec for ColorWithAlphaParams
Available on non-
creusot only.Source§impl Elicitation for ColorWithAlphaParams
impl Elicitation for ColorWithAlphaParams
Source§async fn elicit<C: ElicitCommunicator>(communicator: &C) -> ElicitResult<Self>
async fn elicit<C: ElicitCommunicator>(communicator: &C) -> ElicitResult<Self>
Elicit a value of this type from the user via style-aware client. Read more
Source§fn kani_proof() -> TokenStream
fn kani_proof() -> TokenStream
Generate a Kani symbolic execution proof harness for this type. Read more
Source§fn verus_proof() -> TokenStream
fn verus_proof() -> TokenStream
Returns a
proc_macro2::TokenStream containing a Verus-verified function
with requires/ensures specifications for this type’s invariants. Read moreSource§fn creusot_proof() -> TokenStream
fn creusot_proof() -> TokenStream
Returns a
proc_macro2::TokenStream containing Creusot contract functions
with #[requires]/#[ensures]/#[trusted] attributes for this type’s invariants. Read moreSource§fn elicit_checked(
peer: Peer<RoleServer>,
) -> impl Future<Output = Result<Self, ElicitError>> + Send
fn elicit_checked( peer: Peer<RoleServer>, ) -> impl Future<Output = Result<Self, ElicitError>> + Send
Server-side elicitation via MCP peer. Read more
Source§fn with_style(style: Self::Style) -> ElicitBuilder<Self>
fn with_style(style: Self::Style) -> ElicitBuilder<Self>
Create a builder for one-off style override. Read more
Source§fn elicit_proven<C>(
communicator: &C,
) -> impl Future<Output = Result<(Self, Established<Is<Self>>), ElicitError>> + Sendwhere
C: ElicitCommunicator,
fn elicit_proven<C>(
communicator: &C,
) -> impl Future<Output = Result<(Self, Established<Is<Self>>), ElicitError>> + Sendwhere
C: ElicitCommunicator,
Elicit a value with proof it inhabits type Self. Read more
Source§fn prusti_proof() -> TokenStream
fn prusti_proof() -> TokenStream
Returns a
proc_macro2::TokenStream containing Prusti contract functions
with #[requires]/#[ensures] attributes for this type’s invariants. Read moreSource§impl JsonSchema for ColorWithAlphaParams
impl JsonSchema for ColorWithAlphaParams
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Prompt for ColorWithAlphaParams
impl Prompt for ColorWithAlphaParams
Source§impl Serialize for ColorWithAlphaParams
impl Serialize for ColorWithAlphaParams
Source§impl Survey for ColorWithAlphaParams
impl Survey for ColorWithAlphaParams
Source§impl ToCodeLiteral for ColorWithAlphaParamswhere
f32: ToCodeLiteral,
impl ToCodeLiteral for ColorWithAlphaParamswhere
f32: ToCodeLiteral,
Source§fn to_code_literal(&self) -> TokenStream
fn to_code_literal(&self) -> TokenStream
Return a
TokenStream containing a single Rust expression whose
evaluation produces a value equal to self.Source§fn type_tokens() -> TokenStream
fn type_tokens() -> TokenStream
Token stream for the concrete type name (used to annotate
None::<T>). Read moreAuto Trait Implementations§
impl Freeze for ColorWithAlphaParams
impl RefUnwindSafe for ColorWithAlphaParams
impl Send for ColorWithAlphaParams
impl Sync for ColorWithAlphaParams
impl Unpin for ColorWithAlphaParams
impl UnsafeUnpin for ColorWithAlphaParams
impl UnwindSafe for ColorWithAlphaParams
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<T> ElicitJson for T
impl<T> ElicitJson for T
Source§async fn elicit_json<C>(communicator: &C) -> Result<T, ElicitError>where
C: ElicitCommunicator,
async fn elicit_json<C>(communicator: &C) -> Result<T, ElicitError>where
C: ElicitCommunicator,
Elicit a value by presenting the JSON schema and parsing the response.
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Refines<T> for Twhere
T: 'static,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
impl<T> Settings for T
Source§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.
impl<T> WasmNotSend for Twhere
T: Send,
impl<T> WasmNotSendSync for Twhere
T: WasmNotSend + WasmNotSync,
impl<T> WasmNotSync for Twhere
T: Sync,
Source§impl<T> WithContract for T
impl<T> WithContract for T
Source§fn with_contract<C>(contract: C) -> ContractedElicitation<Self, C>
fn with_contract<C>(contract: C) -> ContractedElicitation<Self, C>
Attach a contract to this type’s elicitation. Read more