Class McpInputRequiredResult
- All Implemented Interfaces:
McpOperationResult
At least one input request or request-state value is required. Input requests retain their insertion order and their keys are unique within the result. Input-required results intentionally expose no cache controls.
For a durable McpRequestStateMode.APPLICATION_PROTECTED
continuation, an application can persist the continuation in its own
repository and return only an opaque handle as application request state.
The client must carry the current handle on every retry, including retries
over a new connection. Soklet transports that string; it does not store,
rotate, protect, authorize, or recover the referenced application record.
- Author:
- Mark Allen
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classMutable builder for immutableMcpInputRequiredResultvalues. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns opaque request state whose protection is application-owned.Returns application-defined JSON for Soklet to protect as request state.Returns the input requests in insertion order.Returns application-supplied protocol extension metadata.inthashCode()withApplicationRequestState(@NonNull String applicationRequestState) Vends a builder containing opaque request state protected by the application.withFrameworkRequestState(@NonNull McpJsonValue frameworkRequestState) Vends a builder containing application JSON for Soklet to protect as request state.withInputRequest(@NonNull String key, @NonNull McpInputRequest inputRequest) Vends a builder containing its required first input request.
-
Method Details
-
withInputRequest
public static @NonNull McpInputRequiredResult.Builder withInputRequest(@NonNull String key, @NonNull McpInputRequest inputRequest) Vends a builder containing its required first input request.- Parameters:
key- input-response correlation keyinputRequest- server-initiated request- Returns:
- input-required-result builder
- Throws:
NullPointerException- if an argument is null
-
withFrameworkRequestState
public static @NonNull McpInputRequiredResult.Builder withFrameworkRequestState(@NonNull McpJsonValue frameworkRequestState) Vends a builder containing application JSON for Soklet to protect as request state.- Parameters:
frameworkRequestState- application-defined JSON state- Returns:
- input-required-result builder
- Throws:
NullPointerException- ifframeworkRequestStateis null
-
withApplicationRequestState
public static @NonNull McpInputRequiredResult.Builder withApplicationRequestState(@NonNull String applicationRequestState) Vends a builder containing opaque request state protected by the application.- Parameters:
applicationRequestState- nonempty opaque application-protected state- Returns:
- input-required-result builder
- Throws:
NullPointerException- ifapplicationRequestStateis nullIllegalArgumentException- ifapplicationRequestStateis empty or contains malformed UTF-16
-
getInputRequests
Returns the input requests in insertion order.- Returns:
- immutable input-request map
-
getFrameworkRequestState
Returns application-defined JSON for Soklet to protect as request state.This inspection value retains the supplied representation. After protection and a verified retry, numeric leaves returned by
McpRequestContext.getFrameworkRequestState()use the canonical numeric form and do not retain the original decimal scale.- Returns:
- framework-protected request-state value, or empty when absent
-
getApplicationRequestState
Returns opaque request state whose protection is application-owned.The value may be a handle into an application-owned durable repository. Its presence does not imply that Soklet has validated the handle's integrity, expiry, duplicate-use status, or binding to the admitted principal or authorization context.
- Returns:
- application-protected request-state value, or empty when absent
-
getMetadata
Returns application-supplied protocol extension metadata.- Returns:
- immutable result metadata
-
equals
-
hashCode
-