using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace ModelContextProtocol.Protocol;
///
/// Provides a base class for result payloads.
///
public abstract class Result
{
/// Initializes the base result type.
protected Result()
{
}
///
/// Gets or sets metadata reserved by MCP for protocol-level metadata.
///
///
/// Implementations must not make assumptions about its contents.
///
[JsonPropertyName("_meta")]
public JsonObject? Meta { get; set; }
///
/// Gets or sets the type of the result, which allows the client to determine how to parse the result object.
///
///
///
/// When absent or set to "complete", the result is a normal completed response.
/// Other values discriminate alternate result subtypes so callers can choose the appropriate
/// concrete payload to deserialize.
///
///
/// Defaults to , which is equivalent to "complete".
[JsonPropertyName("resultType")]
public string? ResultType { get; set; }
}