Skip to content
Tracon

RunReplayRequest

Namespace Tracon · Assembly Tracon.Abstractions.dll

A replay request.

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

Replay keeps the input, changes the conditions. The input messages and tenant cannot be changed: a different input is a new run, and crossing the tenant boundary is a security violation.

public RunReplayRequest()

The agent definition version to use. The currently active version if not given.

public int? AgentVersion { get; init; }

int?

Code-sourced agents have no version history; the request is rejected if a value is given.

The model name to override with. The definition’s own model is used if not given.

public string? ModelId { get; init; }

string?

Only the model name is overridden; the provider and credentials come from the definition. Changing the provider is a new definition.

Parameter values laid over the ones the source run was bound with. Left empty, the replay runs with exactly the source run’s values.

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

IReadOnlyDictionary<string, string>?

A replay repeats a run, so it uses the source run’s recorded values; this field changes the ones it names and keeps the rest. The result is checked against the schema of the version the replay runs (RunReplayRequest.AgentVersion): a name that version does not declare is refused, not dropped, so a typo cannot go unnoticed.

A run that recorded no values (input recording was off, or it predates parameter recording) cannot be replayed when the agent declares parameters: running it on the defaults would change the instructions.

The tool behavior. Defaults to ReplayToolMode.ReplayTools.

public ReplayToolMode ToolMode { get; init; }

ReplayToolMode

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(RunReplayRequest? other)

other RunReplayRequest?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(RunReplayRequest?, RunReplayRequest?)

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

left RunReplayRequest?

right RunReplayRequest?

bool

operator !=(RunReplayRequest?, RunReplayRequest?)

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

left RunReplayRequest?

right RunReplayRequest?

bool