Snodo.MRTR (snodo v0.3.2)

Copy Markdown View Source

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.