#[non_exhaustive]pub struct InputRequiredResult {
pub result_type: ResultType,
pub input_requests: Option<InputRequests>,
pub request_state: Option<String>,
pub meta: Option<MetaObject>,
}Expand description
A result indicating that additional input is needed before the request can be completed.
At least one of input_requests or
request_state MUST be present.
Servers MAY send this in response to tools/call, prompts/get, or
resources/read. Servers MUST NOT send this for any other request.
§Examples
use rmcp::model::InputRequiredResult;
let result = InputRequiredResult::from_request_state("opaque-server-state");
assert!(result.input_requests.is_none());
assert_eq!(result.request_state.as_deref(), Some("opaque-server-state"));Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.result_type: ResultTypeAlways "input_required" for this result type.
input_requests: Option<InputRequests>Server-initiated requests that the client must fulfill before retrying.
request_state: Option<String>Opaque request state to be echoed back by the client on retry. Clients MUST NOT inspect, parse, modify, or make any assumptions about the contents.
meta: Option<MetaObject>Optional protocol-level metadata.
Implementations§
Source§impl InputRequiredResult
impl InputRequiredResult
Sourcepub fn new(
input_requests: Option<InputRequests>,
request_state: Option<String>,
) -> Self
pub fn new( input_requests: Option<InputRequests>, request_state: Option<String>, ) -> Self
Creates a new InputRequiredResult with both input requests and request state.
Sourcepub fn from_input_requests(input_requests: InputRequests) -> Self
pub fn from_input_requests(input_requests: InputRequests) -> Self
Creates from input requests only.
Sourcepub fn from_request_state(request_state: impl Into<String>) -> Self
pub fn from_request_state(request_state: impl Into<String>) -> Self
Creates from request state only (e.g. for load shedding).
Sourcepub fn with_meta(self, meta: MetaObject) -> Self
pub fn with_meta(self, meta: MetaObject) -> Self
Sets optional metadata.
Trait Implementations§
Source§impl Clone for InputRequiredResult
impl Clone for InputRequiredResult
Source§fn clone(&self) -> InputRequiredResult
fn clone(&self) -> InputRequiredResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InputRequiredResult
impl Debug for InputRequiredResult
Source§impl<'de> Deserialize<'de> for InputRequiredResult
Custom deserializer that requires resultType: "input_required" to prevent
greedy matching in the untagged ServerResult enum (which would otherwise
swallow empty objects or unknown shapes).
impl<'de> Deserialize<'de> for InputRequiredResult
Custom deserializer that requires resultType: "input_required" to prevent
greedy matching in the untagged ServerResult enum (which would otherwise
swallow empty objects or unknown shapes).
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>,
Source§impl From<InputRequiredResult> for CallToolResponse
impl From<InputRequiredResult> for CallToolResponse
Source§fn from(result: InputRequiredResult) -> Self
fn from(result: InputRequiredResult) -> Self
Source§impl From<InputRequiredResult> for GetPromptResponse
impl From<InputRequiredResult> for GetPromptResponse
Source§fn from(result: InputRequiredResult) -> Self
fn from(result: InputRequiredResult) -> Self
Source§impl From<InputRequiredResult> for ReadResourceResponse
impl From<InputRequiredResult> for ReadResourceResponse
Source§fn from(result: InputRequiredResult) -> Self
fn from(result: InputRequiredResult) -> Self
Source§impl From<InputRequiredResult> for ServerResult
impl From<InputRequiredResult> for ServerResult
Source§fn from(value: InputRequiredResult) -> Self
fn from(value: InputRequiredResult) -> Self
Source§impl IntoCallToolResult for InputRequiredResult
Available on crate feature server only.
impl IntoCallToolResult for InputRequiredResult
server only.fn into_call_tool_result(self) -> Result<CallToolResponse, ErrorData>
Source§impl IntoGetPromptResult for InputRequiredResult
Available on crate feature server only.
impl IntoGetPromptResult for InputRequiredResult
server only.fn into_get_prompt_result(self) -> Result<GetPromptResponse, ErrorData>
Source§impl JsonSchema for InputRequiredResult
Available on crate feature schemars only.
impl JsonSchema for InputRequiredResult
schemars only.Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more