DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
Requests a privacy-bounded snapshot of one work aggregate in an already authorized scope.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the opaque work identifier.
Reports authoritative work state without returning the original work payload or provider diagnostics.
Registered names, versions, and terminal codes accept only ASCII letters, digits, hyphens, underscores, periods, and colons. Empty, whitespace-only, control-containing, and other-character values are rejected; a terminal code may instead be null.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the work aggregate identity.
string ActivityId { get; }
Source
Gets the immutable effect activity identity.
string WorkName { get; }
Source
Gets the registered Work name, limited to 200 durable-identifier characters.
string WorkVersion { get; }
Source
Gets the registered Work version, limited to 100 durable-identifier characters.
DurableWorkState State { get; }
Source
Gets the current authoritative state.
DurableProviderSafety ProviderSafety { get; }
Source
Gets the accepted provider ambiguity policy.
string ProviderKey { get; }
Source
Gets the immutable provider-safe idempotency key.
int AttemptNumber { get; }
Source
Gets the number of claims that reached this aggregate.
long Revision { get; }
Source
Gets the optimistic-concurrency revision.
DateTimeOffset AcceptedAtUtc { get; }
Source
Gets the authoritative store acceptance timestamp.
DateTimeOffset DueAtUtc { get; }
Source
Gets the current eligibility timestamp.
DateTimeOffset UpdatedAtUtc { get; }
Source
Gets the most recent authoritative update timestamp.
DateTimeOffset? TerminalAtUtc { get; }
Source
Gets the terminal timestamp when terminal.
string? TerminalCode { get; }
Source
Gets the safe terminal or suspension code, limited to 120 durable-identifier characters, when present.
DurableEncodedPayload? Result { get; }
Source
Gets the encoded terminal business result when work succeeded.
The original work payload and stale provider observations are intentionally not returned.
Requests an audited cancellation under optimistic concurrency.
The application must authorize the actor and scope before calling this API. Actor and reason values must be privacy-safe identifiers, not free-form user content.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the work aggregate identity.
string ActorId { get; }
Source
Gets the privacy-safe authorized actor identity written to history.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code written to history.
long ExpectedRevision { get; }
Source
Gets the required current revision.
Reports a successful work cancellation command.
void Deconstruct(out DurableWorkId WorkId, out DurableWorkCancelOutcome Outcome, out DurableWorkState State, out long Revision)
Source
Deconstructs the result in its original positional-record field order.
DurableWorkId WorkId { get; }
Source
Gets the affected Work aggregate.
DurableWorkCancelOutcome Outcome { get; }
Source
Gets the accepted cancellation outcome.
DurableWorkState State { get; }
Source
Gets the resulting authoritative Work state.
long Revision { get; }
Source
Gets the resulting aggregate revision.
Requests one bounded, ordered, payload-free page of Work operations in an authorized scope.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkState? State { get; }
Source
Gets the optional public Work state filter.
bool RequiresRecoveryReleaseOnly { get; }
Source
Gets whether only nonterminal rows owned by an older runtime epoch should be returned.
int PageSize { get; }
Source
Gets the maximum page size.
string? ContinuationToken { get; }
Source
Gets the prior page's opaque continuation token.
Reports one payload-free Work inventory item for recovery and operations.
Registered names, versions, and terminal codes accept only ASCII letters, digits, hyphens, underscores, periods, and colons. Empty, whitespace-only, control-containing, and other-character values are rejected; a terminal code may instead be null.
DurableWorkId WorkId { get; }
Source
Gets the opaque Work identity.
string ActivityId { get; }
Source
Gets the immutable activity identity used for cross-surface correlation.
string WorkName { get; }
Source
Gets the registered Work name, limited to 200 durable-identifier characters.
string WorkVersion { get; }
Source
Gets the immutable Work version, limited to 100 durable-identifier characters.
DurableWorkState State { get; }
Source
Gets the public authoritative state.
DurableProviderSafety ProviderSafety { get; }
Source
Gets the immutable provider-safety class.
int AttemptNumber { get; }
Source
Gets the current attempt number.
long Revision { get; }
Source
Gets the current aggregate revision required by operator commands.
DateTimeOffset AcceptedAtUtc { get; }
Source
Gets the authoritative store acceptance time.
DateTimeOffset DueAtUtc { get; }
Source
Gets the current eligibility time.
DateTimeOffset UpdatedAtUtc { get; }
Source
Gets the last authoritative mutation time.
string? TerminalCode { get; }
Source
Gets the safe terminal or suspension code, limited to 120 durable-identifier characters, when present.
bool CancellationRequested { get; }
Source
Gets whether cancellation intent has been recorded.
bool RequiresRecoveryRelease { get; }
Source
Gets whether this nonterminal Work row belongs to an older runtime epoch.
Reports one bounded Work inventory page.
IReadOnlyList<DurableWorkListItem> Items { get; }
Source
Gets the ordered payload-free items.
string? ContinuationToken { get; }
Source
Gets the opaque token for the next page, or null when complete.
Provides application-authorized query and cancellation operations for work aggregates.
ValueTask<DurableOperationResult<DurableWorkSnapshot>> GetAsync(DurableWorkGetRequest request, CancellationToken cancellationToken = default)
Source
Reads one scoped work snapshot.
ValueTask<DurableOperationResult<DurableWorkListResult>> ListAsync(DurableWorkListRequest request, CancellationToken cancellationToken = default)
Source
Lists one bounded payload-free Work inventory page in an already authorized scope.
ValueTask<DurableOperationResult<DurableWorkCancelResult>> CancelAsync(DurableWorkCancelRequest request, CancellationToken cancellationToken = default)
Source
Requests audited cancellation under optimistic concurrency.
Requests disabling an owning durable scope and fencing every prior scope generation.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
string ActorId { get; }
Source
Gets the privacy-safe authorized actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code.
long ExpectedGeneration { get; }
Source
Gets the required active generation.
Reports a successful scope disable command.
void Deconstruct(out DurableScopeId ScopeId, out DurableScopeDisableOutcome Outcome, out long Generation)
Source
Deconstructs the result in its original positional-record field order.
DurableScopeId ScopeId { get; }
Source
Gets the disabled owning scope.
DurableScopeDisableOutcome Outcome { get; }
Source
Gets the accepted disable outcome.
long Generation { get; }
Source
Gets the resulting scope lifecycle generation.
Provides application-authorized scope lifecycle fencing.
ValueTask<DurableOperationResult<DurableScopeDisableResult>> DisableAsync(DurableScopeDisableRequest request, CancellationToken cancellationToken = default)
Source
Disables a scope and increments its generation atomically.
Reports the authoritative result of a work operator command.
void Deconstruct(out DurableWorkId WorkId, out DurableWorkOperatorOutcome Outcome, out DurableWorkState State, out long Revision)
Source
Deconstructs the result in its original positional-record field order.
DurableWorkId WorkId { get; }
Source
Gets the affected Work aggregate.
DurableWorkOperatorOutcome Outcome { get; }
Source
Gets the idempotent operator-command outcome.
DurableWorkState State { get; }
Source
Gets the resulting authoritative Work state.
long Revision { get; }
Source
Gets the resulting aggregate revision.
Requests side-effect-free reconciliation for suspended ReconcileBeforeRetry work.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the suspended work aggregate.
DurableCommandId CommandId { get; }
Source
Gets the idempotent operator command identity.
string ActorId { get; }
Source
Gets the authorized privacy-safe actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code.
long ExpectedRevision { get; }
Source
Gets the expected work revision.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the computed semantic command fingerprint.
Requests an audited resolution for ManualResolution work.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the suspended work aggregate.
DurableCommandId CommandId { get; }
Source
Gets the idempotent operator command identity.
string ActorId { get; }
Source
Gets the authorized privacy-safe actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code.
long ExpectedRevision { get; }
Source
Gets the expected work revision.
DurableManualResolutionKind Resolution { get; }
Source
Gets the provider proof supplied by the operator.
DurableEncodedPayload? Result { get; }
Source
Gets the exact registered result when the effect is proven applied.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the computed semantic command fingerprint.
Requests release of suspended work only when its effect policy proves a retry is safe.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the suspended work aggregate.
DurableCommandId CommandId { get; }
Source
Gets the idempotent operator command identity.
string ActorId { get; }
Source
Gets the authorized privacy-safe actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code.
long ExpectedRevision { get; }
Source
Gets the expected work revision.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the computed semantic command fingerprint.
Requests release of nonterminal work fenced by a rotated restore epoch.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the old-epoch nonterminal work aggregate.
DurableCommandId CommandId { get; }
Source
Gets the idempotent operator command identity.
string ActorId { get; }
Source
Gets the authorized privacy-safe actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe reason code.
long ExpectedRevision { get; }
Source
Gets the expected work revision.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the computed semantic command fingerprint.
Provides audited recovery operations for suspended durable work.
Applications must authorize scope and actor before calling this surface. Reconciliation is a provider read and must never repeat the mutation. Manual resolution accepts only an exact registered result or proof of no effect. Safe retry and recovery release fail closed when a prior permit remains ambiguous.
ValueTask<DurableOperationResult<DurableWorkOperatorResult>> ReconcileAsync(DurableWorkReconcileRequest request, CancellationToken cancellationToken = default)
Source
Runs the registered side-effect-free reconciler and commits its proof.
ValueTask<DurableOperationResult<DurableWorkOperatorResult>> ResolveAsync(DurableWorkManualResolutionRequest request, CancellationToken cancellationToken = default)
Source
Commits authorized applied or proven-not-applied provider truth for manual work or canceled replay-safe ambiguity.
Idempotent and provider-keyed work is eligible only while suspended with an ambiguous permit and a preserved cancellation request. Applied proof becomes succeeded-after-cancel; proven-not-applied proof becomes canceled before effect. This lets an operator honor cancellation without authorizing replay.
ValueTask<DurableOperationResult<DurableWorkOperatorResult>> RetrySafeAsync(DurableWorkRetrySafeRequest request, CancellationToken cancellationToken = default)
Source
Releases suspended work only when replay is safe under its immutable provider policy.
This audited command explicitly overrides and consumes a preserved cancellation request before making work eligible again. Use ResolveAsync instead when provider proof can honor cancellation without replay.
ValueTask<DurableOperationResult<DurableWorkOperatorResult>> ReleaseAfterRecoveryAsync(DurableWorkRecoveryReleaseRequest request, CancellationToken cancellationToken = default)
Source
Re-fences old-epoch nonterminal work to the configured runtime epoch without erasing due time or effect evidence.
Identifies an accepted work cancellation outcome.
Identifies an accepted scope disable outcome.
Identifies an idempotent operator mutation outcome.
Identifies the proof supplied by an authorized manual-resolution command.
Creates canonical versioned fingerprints for provider/operator mutation commands.
DurableCommandFingerprint Create(string schemaId, DurableScopeId scopeId, DurableWorkId workId, string actorId, string reasonCode, long expectedRevision, DurableManualResolutionKind? resolution = null, DurableEncodedPayload? result = null)
Source
Hashes the ordered semantic fields of one Work operator command.
schemaIdVersioned canonical encoding schema.scopeIdAuthorized scope identity.workIdTarget Work identity.actorIdAuthorized privacy-safe actor identity.reasonCodePrivacy-safe audit reason.expectedRevisionExpected aggregate revision.resolutionOptional manual-resolution outcome.resultRequired encoded result only for an applied manual resolution.A canonical fingerprint for persisted replay/conflict comparison.
Any change to field ordering or encoding requires a new schemaId.
Reports compatibility, heartbeat, sweep, drain, and due-dispatch lag without exposing durable payloads.
Worker ids and problem codes accept only ASCII letters, digits, hyphens, underscores, periods, and colons. Empty, whitespace-only, control-containing, and other-character values are rejected; a problem code may instead be null.
DurableRuntimeHealthState State { get; }
Source
Gets the overall liveness verdict.
string? ProblemCode { get; }
Source
Gets the stable diagnostic code, limited to 120 durable-identifier characters, for a non-healthy verdict.
bool SchemaCompatible { get; }
Source
Gets whether installed reader and writer ranges include this package.
bool EpochCompatible { get; }
Source
Gets whether the configured out-of-band runtime epoch matches the store.
int InstalledSchemaVersion { get; }
Source
Gets the highest installed schema migration.
int RequiredSchemaVersion { get; }
Source
Gets the schema migration required by this package.
Guid ConfiguredRuntimeEpoch { get; }
Source
Gets the process-configured out-of-band recovery epoch.
Guid? ActiveRuntimeEpoch { get; }
Source
Gets the store-wide active recovery epoch, when readable.
string WorkerId { get; }
Source
Gets the privacy-safe configured worker identity, limited to 200 durable-identifier characters.
Guid? WorkerInstanceId { get; }
Source
Gets the process-instance correlation id currently owning the worker identity.
DurableRuntimeSurface HostedSurfaces { get; }
Source
Gets the surfaces this worker is configured to pump.
DateTimeOffset ObservedAtUtc { get; }
Source
Gets the authoritative store observation time.
DateTimeOffset? StartedAtUtc { get; }
Source
Gets when the current worker instance first registered.
DateTimeOffset? LastHeartbeatAtUtc { get; }
Source
Gets the most recent attempted pump heartbeat.
DateTimeOffset? LastSuccessfulSweepAtUtc { get; }
Source
Gets the most recent successfully completed bounded sweep.
bool IsDraining { get; }
Source
Gets whether this worker is refusing new passes while already-started operations drain.
bool IsPassActive { get; }
Source
Gets whether this worker instance has an in-flight bounded pump pass.
long DueDispatchCount { get; }
Source
Gets the number of selected-surface dispatch rows currently overdue and available or reclaimable.
DateTimeOffset? OldestDueAtUtc { get; }
Source
Gets the oldest selected-surface available or reclaimable dispatch instant.
TimeSpan? OldestDueAge { get; }
Source
Gets the authoritative-store-observed age of the oldest overdue dispatch.
Reads the configured worker's provider-backed compatibility and liveness snapshot.
This API is safe to expose through an application-owned health endpoint. It contains no payloads or scope and aggregate identifiers. Applications should alert on DurableRuntimeHealthState.Stale, an incompatible schema or epoch, and oldest-due age outside their own service objective.
ValueTask<DurableRuntimeHealthSnapshot> GetAsync(CancellationToken cancellationToken = default)
Source
Reads one non-mutating health snapshot.
Controls process-local graceful drain for the configured worker identity.
Beginning drain prevents future pump passes from claiming new aggregates. It does not revoke an effect permit, cancel provider I/O already in progress, or wait for the caller's currently running pass. The host must wait for its in-flight pass to return before shutting down. Resume is intended for a canceled deployment rollback, not for bypassing a restore or compatibility fence.
ValueTask BeginDrainAsync(CancellationToken cancellationToken = default)
Source
Marks the current worker instance as draining and refuses subsequent pump passes.
ValueTask ResumeAsync(CancellationToken cancellationToken = default)
Source
Clears process-local drain after compatibility and recovery preconditions remain satisfied.
Describes the safe, low-cardinality liveness state of one configured durable runtime worker.
Bounds one runtime pump pass for hosted and externally activated execution.
int MaximumItems { get; }
Source
Gets the total item bound.
TimeSpan TimeBudget { get; }
Source
Gets the wall-clock budget for discovering and beginning additional items.
An already-started provider call or authoritative-store transaction may finish past this budget. The runtime does not manufacture an ambiguous external outcome merely to enforce a hard stopwatch deadline.
DurableRuntimeSurface Surfaces { get; }
Source
Gets the selected durable surfaces.
Summarizes one bounded runtime pump pass without high-cardinality identifiers.
int Discovered { get; }
Source
Gets discovered candidate count.
int Claimed { get; }
Source
Gets successfully claimed count.
int Processed { get; }
Source
Gets successfully processed count.
int Deferred { get; }
Source
Gets policy-deferred count.
int Failed { get; }
Source
Gets safely failed or suspended count.
bool HasMore { get; }
Source
Gets whether immediately eligible work may remain.
DateTimeOffset? NextDueAtUtc { get; }
Source
Gets the earliest known future due time.
TimeSpan Elapsed { get; }
Source
Gets elapsed duration of the bounded pass.
Executes one bounded pass of the authoritative durable runtime.
Hosted loops and external activators must call this same primitive. A notification, queue, or HTTP wake-up may accelerate a pass but cannot become a correctness dependency.
ValueTask<DurableRuntimePumpResult> RunOnceAsync(DurableRuntimePumpRequest request, CancellationToken cancellationToken = default)
Source
Executes one bounded processing pass.
Selects which durable surfaces a bounded pump pass may process.
Validates provider-facing identifiers at the contract boundary.
void Require(DurableScopeId value, string parameterName)
Source
Requires a non-default scope identifier.
valueScope identifier to validate.parameterNameParameter name used by validation exceptions.ArgumentExceptionThrown when the identifier is default or invalid.void Require(DurableWorkId value, string parameterName)
Source
Requires a non-default work identifier.
valueWork identifier to validate.parameterNameParameter name used by validation exceptions.ArgumentExceptionThrown when the identifier is default or invalid.void Require(DurableCommandId value, string parameterName)
Source
Requires a non-default command identifier.
valueCommand identifier to validate.parameterNameParameter name used by validation exceptions.ArgumentExceptionThrown when the identifier is default or invalid.string Require(string value, string parameterName, int maximumLength)
Source
Requires bounded portable identifier text.
valueIdentifier text to validate.parameterNameParameter name used by validation exceptions.maximumLengthMaximum accepted character count.The original validated value.
ArgumentExceptionThrown when the value is blank, too long, or contains another character.Accepted characters are ASCII letters, digits, hyphens, underscores, periods, and colons.
Identifies one immutable, one-Flow retention manifest.
DurableRetentionManifestId New()
Source
Creates a cryptographically random manifest identifier.
string Value { get; }
Source
Gets the opaque manifest identifier.
Identifies the versioned canonical bytes represented by a SHA-256 digest.
This value identifies source correspondence only. It never claims that an application-owned external archive is durable, available, encrypted, or legally sufficient.
string SchemaId { get; }
Source
Gets the versioned canonicalization schema.
string Sha256 { get; }
Source
Gets the lowercase SHA-256 digest.
Requests a bounded, non-mutating assessment of one Flow retention closure.
Assessment never archives, changes state, or deletes. It applies no universal age threshold: applications own the policy that decides which terminal Flow to assess.
DurableScopeId ScopeId { get; }
Source
Gets the application-authorized owner scope.
DurableFlowInstanceId FlowInstanceId { get; }
Source
Gets the one Flow candidate.
int MaximumClosureItems { get; }
Source
Gets the maximum inventory count, from one through 10,000.
int MaximumArchiveBytes { get; }
Source
Gets the maximum canonical archive size, from one byte through 64 MiB.
Reports a bounded Flow retention decision and its reproducible source facts.
DurableScopeId ScopeId { get; }
Source
Gets the assessed scope.
DurableFlowInstanceId FlowInstanceId { get; }
Source
Gets the assessed Flow.
DurableRetentionAssessmentStatus Status { get; }
Source
Gets whether the provider proved safety, found a blocker, or could not prove the closure.
DurableRetentionAssessmentReason Reason { get; }
Source
Gets the privacy-safe deterministic explanation.
DurableRetentionDigest? ClosureDigest { get; }
Source
Gets the canonical closure digest when the source could be inventoried.
DurableRetentionDigest? SourceWatermark { get; }
Source
Gets the current source watermark when the source could be inventoried.
int ClosureItemCount { get; }
Source
Gets the canonical inventory item count.
long ArchiveByteCount { get; }
Source
Gets the exact canonical archive byte count when available.
Reports immutable manifest facts together with its current lifecycle projection.
DurableRetentionManifestId ManifestId { get; }
Source
Gets the immutable manifest identity.
DurableScopeId ScopeId { get; }
Source
Gets the owning scope.
DurableFlowInstanceId FlowInstanceId { get; }
Source
Gets the single Flow selected by this manifest.
DurableRetentionDigest ClosureDigest { get; }
Source
Gets the immutable canonical closure digest.
DurableRetentionDigest SourceWatermark { get; }
Source
Gets the immutable source watermark recorded when the manifest was created.
int ClosureItemCount { get; }
Source
Gets the frozen inventory count.
long ArchiveByteCount { get; }
Source
Gets the frozen canonical archive size.
DurableRetentionManifestState State { get; }
Source
Gets the current event-derived lifecycle state.
long LifecycleSequence { get; }
Source
Gets the compare-and-swap sequence for the projected lifecycle state.
DateTimeOffset CreatedAtUtc { get; }
Source
Gets when immutable manifest facts were recorded.
Requests creation of an immutable manifest from a successful bounded assessment.
DurableCommandId CommandId { get; }
Source
Gets the idempotent command identity.
DurableRetentionAssessment Assessment { get; }
Source
Gets the successful assessment whose source facts must still match.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the versioned semantic command fingerprint.
Reports an immutable-manifest creation result.
DurableRetentionManifestCreateOutcome Outcome { get; }
Source
Gets whether this command created or replayed the manifest.
DurableRetentionManifest Manifest { get; }
Source
Gets the immutable manifest and its current projection.
Represents a content-addressed adopter assertion about a durable-flow archive package.
string ReceiptId { get; }
Source
Gets the adopter-owned opaque receipt identity; it is not a URI or external-storage claim.
DurableRetentionDigest PackageDigest { get; }
Source
Gets the DFA1 package digest claimed by the archive writer.
DurableRetentionDigest ClosureDigest { get; }
Source
Gets the frozen closure digest named by the receipt.
int RecordCount { get; }
Source
Gets the canonical package record count.
Returns a reproducible DFA1 archive package without writing to external storage.
DurableRetentionManifest Manifest { get; }
Source
Gets the manifest whose exact source facts the package represents.
ReadOnlyMemory<byte> Bytes { get; }
Source
Gets the reproducible package bytes. The caller writes these bytes to application-owned storage.
DurableRetentionDigest PackageDigest { get; }
Source
Gets the package's canonical SHA-256 digest.
int RecordCount { get; }
Source
Gets the manifest-ordered record count.
Reports a successful lifecycle command.
DurableRetentionManifestId ManifestId { get; }
Source
Gets the affected manifest.
DurableRetentionMutationOutcome Outcome { get; }
Source
Gets whether the mutation was applied, duplicated, or found after purge.
DurableRetentionManifestState State { get; }
Source
Gets the projected lifecycle state after the command.
long LifecycleSequence { get; }
Source
Gets the projected lifecycle sequence after the command.
Requests one idempotent, compare-and-swap retention lifecycle mutation.
DurableScopeId ScopeId { get; }
Source
Gets the application-authorized scope.
DurableRetentionManifestId ManifestId { get; }
Source
Gets the exact target manifest.
DurableCommandId CommandId { get; }
Source
Gets the idempotent command identity.
string ActorId { get; }
Source
Gets the privacy-safe authorized actor identity.
string ReasonCode { get; }
Source
Gets the privacy-safe audit reason.
long ExpectedLifecycleSequence { get; }
Source
Gets the required current lifecycle sequence.
DurableCommandFingerprint Fingerprint { get; }
Source
Gets the versioned semantic fingerprint.
Records an adopter assertion that it stored one DFA1 package externally.
DurableArchiveReceiptV1 Receipt { get; }
Source
Gets the opaque external-archive assertion to record.
Requests source-correspondence verification for a recorded archive receipt.
Requests an explicit hold placement or release on a verified retention manifest.
bool PlaceHold { get; }
Source
Gets whether this command places rather than releases the hold.
Requests the separately authorized, irreversible purge of a verified and unheld manifest.
Provides application-authorized verified retention lifecycle operations for one Flow at a time.
The application owns authorization, retention cadence, external archive transport, encryption, availability, and compliance. This API never accepts a date-range delete, archive URI, arbitrary SQL, continuation token, or a multi-Flow manifest. Verification proves only that the claimed package corresponds to the frozen source set.
ValueTask<DurableOperationResult<DurableRetentionAssessment>> AssessAsync(DurableRetentionAssessmentRequest request, CancellationToken cancellationToken = default)
Source
Assesses one bounded Flow closure without mutating source rows.
ValueTask<DurableOperationResult<DurableRetentionManifestCreateResult>> CreateManifestAsync(DurableRetentionManifestCreateRequest request, CancellationToken cancellationToken = default)
Source
Freezes a still-matching successful assessment as an immutable manifest.
ValueTask<DurableOperationResult<DurableRetentionManifest>> GetManifestAsync(DurableScopeId scopeId, DurableRetentionManifestId manifestId, CancellationToken cancellationToken = default)
Source
Reads one scope-isolated manifest lifecycle projection.
ValueTask<DurableOperationResult<DurableArchivePackageV1>> BuildArchivePackageAsync(DurableScopeId scopeId, DurableRetentionManifestId manifestId, CancellationToken cancellationToken = default)
Source
Builds a reproducible package from a still-matching immutable manifest without external I/O.
ValueTask<DurableOperationResult<DurableRetentionMutationResult>> RecordArchiveReceiptAsync(DurableRetentionRecordArchiveReceiptRequest request, CancellationToken cancellationToken = default)
Source
Records an adopter-provided archive receipt; this does not verify external storage.
ValueTask<DurableOperationResult<DurableRetentionMutationResult>> VerifyArchiveAsync(DurableRetentionVerifyArchiveRequest request, CancellationToken cancellationToken = default)
Source
Rebuilds the source package and verifies source correspondence with the receipt.
ValueTask<DurableOperationResult<DurableRetentionMutationResult>> SetHoldAsync(DurableRetentionHoldRequest request, CancellationToken cancellationToken = default)
Source
Places or releases an application-owned hold on a verified manifest.
ValueTask<DurableOperationResult<DurableRetentionMutationResult>> PurgeAsync(DurableRetentionPurgeRequest request, CancellationToken cancellationToken = default)
Source
Atomically records separate purge authorization and deletes only verified manifest-covered source rows.
Classifies the safety of removing one exact Flow history source set.
Provides a privacy-safe, deterministic reason for a retention assessment.
Represents the append-only lifecycle state projected for a frozen retention manifest.
Identifies an idempotent manifest-create result.
Identifies an idempotent lifecycle mutation result.
Carries one provider claim across the storage-to-executor boundary.
Providers create this only after a scoped, fenced claim succeeds. The claim is not authorization by itself; the provider must record the matching effect permit before invoking prepared work.
DurableWorkExecutionContext ToExecutionContext()
Source
Creates the validated application execution context for this provider claim.
DurableScopeId ScopeId { get; }
Source
Gets the trusted owning scope.
DurableWorkId WorkId { get; }
Source
Gets the immutable work aggregate identifier.
string ActivityId { get; }
Source
Gets the immutable provider-operation activity identifier.
string WorkName { get; }
Source
Gets the registered work name.
string WorkVersion { get; }
Source
Gets the registered work version.
DurableEncodedPayload Payload { get; }
Source
Gets the encoded work payload.
DurableProviderSafety ProviderSafety { get; }
Source
Gets the provider ambiguity policy snapshot.
int AttemptNumber { get; }
Source
Gets the monotonically increasing attempt number.
long LeaseGeneration { get; }
Source
Gets the claim lease generation.
long ScopeGeneration { get; }
Source
Gets the owning scope lifecycle generation.
string RuntimeEpoch { get; }
Source
Gets the out-of-band recovery epoch.
Wraps already prepared application work for invocation after the provider commits its effect permit.
ValueTask<DurableEncodedPayload> InvokeAsync(CancellationToken cancellationToken = default)
Source
Invokes the prepared application executor and returns its encoded terminal result.
Adapts validated provider claims to adopter-owned work registrations.
DurablePreparedWorkInvocation Prepare(DurableWorkRegistration registration, IServiceProvider services, DurableClaimedWork claim)
Source
Prepares an application executor without performing provider I/O.
ValueTask<DurableEncodedEffectReconciliation> ReconcileAsync(DurableWorkRegistration registration, IServiceProvider services, DurableClaimedWork claim, CancellationToken cancellationToken = default)
Source
Runs the adopter-owned side-effect-free reconciler for a validated provider claim.