Skip to main content

call_resolving

Function call_resolving 

Source
pub async fn call_resolving(
    transport: &(impl ClientTransport + ?Sized),
    method: &str,
    params: &JsonObject,
    resolve: &(impl InputResolver + ?Sized),
) -> Result<JsonObject, ClientError>
Expand description

Sends method with params, answering input requests through resolve.

resolve is given the request’s key, its method (elicitation/create, sampling/createMessage or roots/list) and its params, and returns the answer — an ElicitResult, CreateMessageResult or ListRootsResult — or None when it cannot.

§Errors

ClientError::Transport as for any call, ClientError::InputUnresolved when resolve returns None (the call is abandoned, never answered on the caller’s behalf), and ClientError::TooManyRounds past MAX_INPUT_ROUNDS.