WorkflowCheckpointRecord
AgentPrism.Abstractions.dllRepresents a single checkpoint of a workflow run.
public sealed record WorkflowCheckpointRecord : IEquatable<WorkflowCheckpointRecord>Inheritance
Section titled “Inheritance”object ← WorkflowCheckpointRecord
Implements
Section titled “Implements”IEquatable<WorkflowCheckpointRecord>
Inherited Members
Section titled “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 AgentPrism, 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”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?