Skip to content
Tracon

ToolInputResponse

Namespace Tracon · Assembly Tracon.AspNetCore.dll

The answer to one request for user input that suspended a tool call (MCP elicitation).

public sealed record ToolInputResponse : IEquatable<ToolInputResponse>
Inheritance
object ← ToolInputResponse
Implements
IEquatable<ToolInputResponse>
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

ToolApprovalDecision’s sibling on the run request: the run response carried the request, and the caller sends the answer back through this contract in the next run of the same session.

public ToolInputResponse()

What the user did with the request.

public required ToolInputAction Action { get; init; }

ToolInputAction

The values of the requested fields, by field name. Meaningful only with ToolInputAction.Accept; sending it with another action is rejected.

public IReadOnlyDictionary<string, JsonElement>? Content { get; init; }

IReadOnlyDictionary<string, JsonElement>?

Each value must fit the field the server declared: a string, a number, an integer, a boolean or one of the declared options. A field the request marks as required must be present. A value goes to the MCP server that asked and nowhere else: it is not kept in the session, and it is never written to the audit log or to the run’s event stream.

Identifier of the request this answers. Matches the requestId the run response carried.

public required string RequestId { get; init; }

string

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(ToolInputResponse? other)

other ToolInputResponse?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(ToolInputResponse?, ToolInputResponse?)

Section titled “ operator ==(ToolInputResponse?, ToolInputResponse?)”
public static bool operator ==(ToolInputResponse? left, ToolInputResponse? right)

left ToolInputResponse?

right ToolInputResponse?

bool

operator !=(ToolInputResponse?, ToolInputResponse?)

Section titled “ operator !=(ToolInputResponse?, ToolInputResponse?)”
public static bool operator !=(ToolInputResponse? left, ToolInputResponse? right)

left ToolInputResponse?

right ToolInputResponse?

bool