pub struct ElicitationField {
pub name: String,
pub description: Option<String>,
pub field_type: ElicitationFieldType,
pub required: bool,
}Expand description
A single field in an elicitation form request.
Created by the MCP layer when a server sends an elicitation request; passed to channels so they can render the field in a channel-appropriate way (CLI prompt, Telegram inline keyboard, TUI form, etc.).
§Examples
use zeph_core::channel::{ElicitationField, ElicitationFieldType};
let field = ElicitationField {
name: "username".to_owned(),
description: Some("Your login name".to_owned()),
field_type: ElicitationFieldType::String,
required: true,
};
assert_eq!(field.name, "username");
assert!(field.required);Fields§
§name: StringField key as declared in the server’s JSON Schema (sanitized before display).
description: Option<String>Optional human-readable description from the server (sanitized before display).
field_type: ElicitationFieldTypeValue type expected for this field.
required: boolWhether the field must be filled before the form can be submitted.
Trait Implementations§
Source§impl Clone for ElicitationField
impl Clone for ElicitationField
Source§fn clone(&self) -> ElicitationField
fn clone(&self) -> ElicitationField
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ElicitationField
impl RefUnwindSafe for ElicitationField
impl Send for ElicitationField
impl Sync for ElicitationField
impl Unpin for ElicitationField
impl UnsafeUnpin for ElicitationField
impl UnwindSafe for ElicitationField
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request