pub struct QueryExecuted;Expand description
Proposition: a SQL statement completed and rows_affected is known.
Implementations§
Source§impl QueryExecuted
impl QueryExecuted
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<'de> Deserialize<'de> for QueryExecuted
impl<'de> Deserialize<'de> for QueryExecuted
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 QueryExecuted
impl ElicitComplete for QueryExecuted
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 QueryExecuted
impl ElicitIntrospect for QueryExecuted
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 ElicitSpec for QueryExecuted
impl ElicitSpec for QueryExecuted
Source§impl Elicitation for QueryExecuted
impl Elicitation for QueryExecuted
Source§type Style = QueryExecutedStyle
type Style = QueryExecutedStyle
The style enum for this type. Read more
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 QueryExecuted
impl JsonSchema for QueryExecuted
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 QueryExecuted
impl Prompt for QueryExecuted
Source§impl Prop for QueryExecuted
impl Prop for QueryExecuted
Source§fn kani_proof() -> TokenStream
fn kani_proof() -> TokenStream
Generate a Kani proof harness for this proposition. Read more
Source§fn verus_proof() -> TokenStream
fn verus_proof() -> TokenStream
Generate a Verus proof for this proposition. Read more
Source§fn creusot_proof() -> TokenStream
fn creusot_proof() -> TokenStream
Generate a Creusot contract proof for this proposition. Read more
Source§impl Serialize for QueryExecuted
impl Serialize for QueryExecuted
Source§impl Survey for QueryExecuted
impl Survey for QueryExecuted
Source§impl ToCodeLiteral for QueryExecuted
impl ToCodeLiteral for QueryExecuted
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 moreSource§impl VerifiedWorkflow for QueryExecuted
impl VerifiedWorkflow for QueryExecuted
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: Prop,
fn kani_proof_contains<Inner>() -> boolwhere
Inner: Prop,
Runtime check: does this proposition’s Kani proof contain
Inner’s? Read moreSource§fn verus_proof_contains<Inner>() -> boolwhere
Inner: Prop,
fn verus_proof_contains<Inner>() -> boolwhere
Inner: Prop,
Runtime check: does this proposition’s Verus proof contain
Inner’s?Source§fn creusot_proof_contains<Inner>() -> boolwhere
Inner: Prop,
fn creusot_proof_contains<Inner>() -> boolwhere
Inner: Prop,
Runtime check: does this proposition’s Creusot proof contain
Inner’s?Auto Trait Implementations§
impl Freeze for QueryExecuted
impl RefUnwindSafe for QueryExecuted
impl Send for QueryExecuted
impl Sync for QueryExecuted
impl Unpin for QueryExecuted
impl UnsafeUnpin for QueryExecuted
impl UnwindSafe for QueryExecuted
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
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<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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToSqlxArgs for Twhere
T: Elicitation + Serialize,
impl<T> ToSqlxArgs for Twhere
T: Elicitation + Serialize,
Source§fn to_sqlx_args(&self) -> Vec<Value>
fn to_sqlx_args(&self) -> Vec<Value>
Serialize
self into ordered positional SQL argument values.