.NET API
WorkflowCheckpointRecord
Tracon.Abstractions.dllRepresents a single checkpoint of a workflow run.
public sealed record WorkflowCheckpointRecord : IEquatable<WorkflowCheckpointRecord>- Inheritance
- object ← WorkflowCheckpointRecord
- Implements
- IEquatable<WorkflowCheckpointRecord>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”WorkflowCheckpointRecord.State is an opaque payload. Its content belongs to Microsoft Agent Framework and is polymorphic: it carries a $type discriminator, and that discriminator must be the first property of the object it appears in. Measured: a 7.5 KB checkpoint really does have the {"$type":0,...} discriminator first.
For this reason the value is stored in a PostgreSQL json column, not a
jsonb column: jsonb reorders keys and would move the discriminator out
of first place.
Constructors
Section titled “Constructors”WorkflowCheckpointRecord()
Section titled “ WorkflowCheckpointRecord()”public WorkflowCheckpointRecord()Properties
Section titled “Properties”CheckpointId
Section titled “ CheckpointId”Gets the checkpoint identifier. The value belongs to Tracon, not
to Microsoft Agent Framework: CreateAsync generates it and
hands it back to MAF.
public required string CheckpointId { get; init; }Property Value
Section titled “Property Value”CreatedAt
Section titled “ CreatedAt”Gets the creation time (UTC).
public required DateTimeOffset CreatedAt { get; init; }Property Value
Section titled “Property Value”Gets the record identifier. A time-ordered UUID (v7).
public required Guid Id { get; init; }Property Value
Section titled “Property Value”ParentCheckpointId
Section titled “ ParentCheckpointId”Gets the identifier of the previous checkpoint. null for the first checkpoint.
public string? ParentCheckpointId { get; init; }Property Value
Section titled “Property Value”Gets the identifier of the run that produced this checkpoint. null if no run was in progress when the checkpoint was written.
public Guid? RunId { get; init; }Property Value
Section titled “Property Value”Guid?
SessionId
Section titled “ SessionId”Gets the identifier of the run session. Microsoft Agent Framework groups checkpoints under this value.
public required string SessionId { get; init; }Property Value
Section titled “Property Value”Gets the opaque run state.
public required JsonElement State { get; init; }Property Value
Section titled “Property Value”StateMafVersion
Section titled “ StateMafVersion”Gets the Microsoft Agent Framework package version that produced
State.
public string? StateMafVersion { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”null means the row was written before this field existed. Tracon does not promise that a checkpoint written by one Microsoft Agent Framework version can be resumed by a different one; this value lets a failed resume report exactly which version wrote the state instead of guessing.
StateSchemaVersion
Section titled “ StateSchemaVersion”Gets the Tracon schema generation that wrote State.
public int? StateSchemaVersion { get; init; }Property Value
Section titled “Property Value”int?
Remarks
Section titled “Remarks”null means the row was written before this field
existed — unlike SessionRecord.StateSchemaVersion,
checkpoints had no envelope stamp before this field was added.
TenantId
Section titled “ TenantId”Gets the tenant the record belongs to.
public required string TenantId { 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(WorkflowCheckpointRecord?)
Section titled “ Equals(WorkflowCheckpointRecord?)”public bool Equals(WorkflowCheckpointRecord? other)Parameters
Section titled “Parameters”other WorkflowCheckpointRecord?
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 ==(WorkflowCheckpointRecord?, WorkflowCheckpointRecord?)
Section titled “ operator ==(WorkflowCheckpointRecord?, WorkflowCheckpointRecord?)”public static bool operator ==(WorkflowCheckpointRecord? left, WorkflowCheckpointRecord? right)Parameters
Section titled “Parameters”left WorkflowCheckpointRecord?
right WorkflowCheckpointRecord?
Returns
Section titled “Returns”operator !=(WorkflowCheckpointRecord?, WorkflowCheckpointRecord?)
Section titled “ operator !=(WorkflowCheckpointRecord?, WorkflowCheckpointRecord?)”public static bool operator !=(WorkflowCheckpointRecord? left, WorkflowCheckpointRecord? right)Parameters
Section titled “Parameters”left WorkflowCheckpointRecord?
right WorkflowCheckpointRecord?