Validation for the ordinary multi round-trip request boundary.
Tools, resources, and prompts may return Snodo.Result.input_required/1.
A retry invokes the component again with the original component arguments
and a fresh Snodo.Context; no process or implicit continuation is retained.
Components should consume only the input IDs they need, re-request missing
answers, and perform effects only after validating input and any state.
An input request is an elicitation (Snodo.Elicitation), a sampling request
(Snodo.Sampling), or a roots request (Snodo.Roots); a result may also be
a state-only continuation. Sampling and roots are deprecated by SEP-2577 but
still defined. Each kind validates its own request shape and is checked
against the client capabilities of the current request; a result carrying a
request the client cannot fulfil fails with -32021 and the merged
requiredCapabilities. Extensions retain their own negotiated routes and
wire results; ordinary core results still pass the selected dialect's
admission after extension middleware completes.