Skip to content
Tracon

ModelOutputLimit

Namespace Tracon · Assembly Tracon.Abstractions.dll

The output token limit a provider’s chat client sends when ModelBinding.MaxOutputTokens is empty.

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

A provider that sends its own default limit lets its raw chat client return this record from IChatClient.GetService(typeof(ModelOutputLimit)) — the same way a client describes itself with ChatClientMetadata. The client is built for one binding, so the record can depend on the binding’s provider settings. A provider that sends no limit (the model’s own maximum applies) returns nothing.

The agent validation report reads it. When the binding leaves ModelBinding.MaxOutputTokens empty, the default is below the model’s ModelDescriptor.MaxOutputTokens in the catalog, and the agent asks for a structured response or ModelOutputLimit.HighReasoningEffort is true, the report carries a warning: a response cut off at the limit fails a structured run (RunErrorClass.OutputTruncated).

public ModelOutputLimit()

Gets the output token limit the client sends when the binding sets none.

public required int DefaultMaxOutputTokens { get; init; }

int

Gets a value indicating whether the binding asks the model to reason at high effort, so reasoning tokens are likely to take a large share of the same limit.

public bool HighReasoningEffort { get; init; }

bool

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(ModelOutputLimit? other)

other ModelOutputLimit?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(ModelOutputLimit?, ModelOutputLimit?)

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

left ModelOutputLimit?

right ModelOutputLimit?

bool

operator !=(ModelOutputLimit?, ModelOutputLimit?)

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

left ModelOutputLimit?

right ModelOutputLimit?

bool