Skip to main content

proxy_call

Function proxy_call 

Source
pub async fn proxy_call(
    transport: &ResolvedTransport,
    tool: &str,
    arguments: Map<String, Value>,
    timeout: Duration,
) -> Result<CallToolResult, String>
Expand description

Proxy a single tool call to a downstream server over a pooled session (tools/call). super::pool::acquire only returns a live session, so the request is never sent into a dead pipe. A failed call is never retried: a downstream tool may be non-idempotent, so re-issuing could double-execute a side effect. On any failure we evict the (now-suspect) session — the next call reopens cleanly — and surface the error for the caller to decide.