RunStartInfo
AgentPrism.Abstractions.dllEverything needed to open a new run.
public sealed record RunStartInfo : IEquatable<RunStartInfo>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructors
Section titled “Constructors”RunStartInfo()
Section titled “ RunStartInfo()”public RunStartInfo()Properties
Section titled “Properties”AgentName
Section titled “ AgentName”Gets the name of the agent that runs. For workflow runs the workflow name is written instead; the reason is on RunRecord.AgentName.
public required string AgentName { get; init; }Property Value
Section titled “Property Value”AgentVersion
Section titled “ AgentVersion”Gets the definition version this run measured, or null when unknown.
public int? AgentVersion { get; init; }Property Value
Section titled “Property Value”int?
Gets the depth in the tree. The root run is 0.
public int Depth { get; init; }Property Value
Section titled “Property Value”ExperimentId
Section titled “ ExperimentId”Gets the experiment this run belongs to, or null outside an experiment.
public Guid? ExperimentId { get; init; }Property Value
Section titled “Property Value”Guid?
IsStreaming
Section titled “ IsStreaming”Gets whether the run streams.
public bool IsStreaming { get; init; }Property Value
Section titled “Property Value”Gets whether this row records an agent or a workflow.
public RunKind Kind { get; init; }Property Value
Section titled “Property Value”Labels
Section titled “ Labels”Gets the labels of the run, resolved from IRunAttributionContext, or null when there are none.
public IReadOnlyDictionary<string, string>? Labels { get; init; }Property Value
Section titled “Property Value”IReadOnlyDictionary<string, string>?
ModelId
Section titled “ ModelId”Gets the model to use, resolved from the agent definition, or null when it is unknown.
public string? ModelId { get; init; }Property Value
Section titled “Property Value”ParentRunId
Section titled “ ParentRunId”Gets the id of the run that started this one, or null at the root.
public Guid? ParentRunId { get; init; }Property Value
Section titled “Property Value”Guid?
ReplayOfRunId
Section titled “ ReplayOfRunId”Gets the source run id when this run is a replay, or null for a normal run.
public Guid? ReplayOfRunId { get; init; }Property Value
Section titled “Property Value”Guid?
RootRunId
Section titled “ RootRunId”Gets the id of the run at the root of the tree, or null at the root.
public Guid? RootRunId { get; init; }Property Value
Section titled “Property Value”Guid?
Gets the run id. The caller produces it, so it knows the id straight away.
public required Guid RunId { get; init; }Property Value
Section titled “Property Value”SessionId
Section titled “ SessionId”Gets the session id.
public string? SessionId { get; init; }Property Value
Section titled “Property Value”StartedAt
Section titled “ StartedAt”Gets the start time (UTC).
public required DateTimeOffset StartedAt { get; init; }Property Value
Section titled “Property Value”Status
Section titled “ Status”Gets the initial status of the opened row. Defaults to RunStatus.Running.
public RunStatus Status { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”A queued run opens as RunStatus.Queued. When
StartRunAsync is called a SECOND time with the same
RunStartInfo.RunId — once the worker actually runs the job — the store
treats it as an upsert: no new row is opened, the existing row is updated
with this field, normally to RunStatus.Running.
TenantId
Section titled “ TenantId”Gets the tenant id.
public string? TenantId { get; init; }Property Value
Section titled “Property Value”UserId
Section titled “ UserId”Gets the user the run belongs to, resolved from IRunAttributionContext, or null when it is unknown.
public string? UserId { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”The value never comes from the request body. See IRunAttributionContext.UserId.
Variant
Section titled “ Variant”Gets the experiment variant this run was assigned to, or null outside an experiment.
public string? Variant { get; init; }Property Value
Section titled “Property Value”WorkflowName
Section titled “ WorkflowName”Gets the name of the workflow, or null for agent runs.
public string? WorkflowName { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(RunStartInfo?)
Section titled “ Equals(RunStartInfo?)”public bool Equals(RunStartInfo? other)Parameters
Section titled “Parameters”other RunStartInfo?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(RunStartInfo?, RunStartInfo?)
Section titled “ operator ==(RunStartInfo?, RunStartInfo?)”public static bool operator ==(RunStartInfo? left, RunStartInfo? right)Parameters
Section titled “Parameters”left RunStartInfo?
right RunStartInfo?
Returns
Section titled “Returns”operator !=(RunStartInfo?, RunStartInfo?)
Section titled “ operator !=(RunStartInfo?, RunStartInfo?)”public static bool operator !=(RunStartInfo? left, RunStartInfo? right)Parameters
Section titled “Parameters”left RunStartInfo?
right RunStartInfo?