Skip to content
Tracon

AgentParameter

Namespace Tracon · Assembly Tracon.Abstractions.dll

A single named placeholder an AgentDefinition’s instructions can reference as {{name}}.

public sealed record AgentParameter : IEquatable<AgentParameter>

objectAgentParameter

IEquatable<AgentParameter>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The definition’s compiler validates every definition’s schema at compile time: every {{name}} that appears in the instructions text must be declared here, every declared name must be a valid identifier, and no name may repeat. Every culture variant in AgentDefinition.InstructionsByCulture is checked against this same schema — a variant that references an undeclared name fails compilation even if another variant does not use it.

A schema entry that never appears in the instructions text is not an error; the reverse direction (used but undeclared) is what compilation rejects.

public AgentParameter()

Gets the value used when a run does not supply this parameter. Applies whether or not Required is set.

public string? DefaultValue { get; init; }

string?

Gets a short description shown to the person authoring a run.

public string? Description { get; init; }

string?

Gets the parameter’s data kind.

public required AgentParameterKind Kind { get; init; }

AgentParameterKind

Gets the parameter name, as referenced by {{name}} in the instructions text.

public required string Name { get; init; }

string

Gets whether a run must supply this parameter. A run missing a required parameter with no DefaultValue does not start.

public bool Required { get; init; }

bool

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(AgentParameter? other)

other AgentParameter?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(AgentParameter?, AgentParameter?)

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

left AgentParameter?

right AgentParameter?

bool

operator !=(AgentParameter?, AgentParameter?)

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

left AgentParameter?

right AgentParameter?

bool