Skip to content

@codesoul-co/hypha-core / modules/execution-output/completion

Using this module

Use the Completion module for executing runtime behavior at this boundary. It exports 2 classes, 1 function, 7 interfaces.

Import from the package entrypoint

ts
import {
  DurableExecutionCompletionCoordinator,
  DurableExecutionTerminalEventCoordinator,
  createDurableExecutionTerminalEvent,
} from '@codesoul-co/hypha-core';

import type {
  DurableExecutionCompletionCoordinatorOptions,
  DurableExecutionCompletionRequest,
  DurableExecutionCompletionResult,
  DurableExecutionCompletionWorker,
  DurableExecutionTerminalEventCommitPort,
  DurableExecutionTerminalEventCommitRequest,
  DurableExecutionTerminalEventCoordinatorOptions,
} from '@codesoul-co/hypha-core';

Usage patterns

  • Use the 7 type/interface exports as static contracts in application code, adapters, or tests. Import them with import type; they do not exist at runtime.
  • The module exposes 2 classes as constructable runtime implementations. Each symbol entry lists its constructor and public methods.
  • The module exposes 1 function as direct operation entrypoints. Every overload, required/optional parameter, and return type is documented below.

Public exports

SymbolKindSignatureDescription
DurableExecutionCompletionCoordinatorclassnew DurableExecutionCompletionCoordinator(options: DurableExecutionCompletionCoordinatorOptions): DurableExecutionCompletionCoordinatorOrders the Execution-owned durable completion barriers. Provider execution is deliberately absent: retries begin from the persisted terminal receipt, repeat idempotent Artifact collection/finalization, and only then attempt the fenced terminal record CAS.
DurableExecutionTerminalEventCoordinatorclassnew DurableExecutionTerminalEventCoordinator(options: DurableExecutionTerminalEventCoordinatorOptions): DurableExecutionTerminalEventCoordinatorAppends the Execution terminal event only after a durable terminal record exists. Provider execution and Artifact collection are deliberately absent, so recovery can retry a failed append without repeating either side effect.
createDurableExecutionTerminalEventfunctioncreateDurableExecutionTerminalEvent(recordValue: ExecutionRecord): ExecutionFrameworkEventCreate Durable Execution Terminal Event function with 1 public call signature; parameters and return types are listed below.
DurableExecutionCompletionCoordinatorOptionsinterfaceinterface DurableExecutionCompletionCoordinatorOptionsDurable Execution Completion Coordinator Options interface with 3 public fields or methods.
DurableExecutionCompletionRequestinterfaceinterface DurableExecutionCompletionRequestDurable Execution Completion Request interface with 4 public fields or methods.
DurableExecutionCompletionResultinterfaceinterface DurableExecutionCompletionResultDurable Execution Completion Result interface with 2 public fields or methods.
DurableExecutionCompletionWorkerinterfaceinterface DurableExecutionCompletionWorkerDurable Execution Completion Worker interface with 3 public fields or methods.
DurableExecutionTerminalEventCommitPortinterfaceinterface DurableExecutionTerminalEventCommitPortRuntime implements this port with its durable Event Store. Repeated calls with the same idempotency key and event must resolve to the same append.
DurableExecutionTerminalEventCommitRequestinterfaceinterface DurableExecutionTerminalEventCommitRequestDurable Execution Terminal Event Commit Request interface with 3 public fields or methods.
DurableExecutionTerminalEventCoordinatorOptionsinterfaceinterface DurableExecutionTerminalEventCoordinatorOptionsDurable Execution Terminal Event Coordinator Options interface with 1 public fields or methods.

DurableExecutionCompletionCoordinator

Orders the Execution-owned durable completion barriers. Provider execution is deliberately absent: retries begin from the persisted terminal receipt, repeat idempotent Artifact collection/finalization, and only then attempt the fenced terminal record CAS.

Declaration

text
export declare class DurableExecutionCompletionCoordinator {
    constructor(options: DurableExecutionCompletionCoordinatorOptions);
    complete(request: DurableExecutionCompletionRequest): Promise<DurableExecutionCompletionResult>;
}

Public members

MemberKindSignatureDescription
completemethodcomplete(request: DurableExecutionCompletionRequest): Promise<DurableExecutionCompletionResult>Public method; parameters and return type are shown in the signature.
constructorconstructor(options: DurableExecutionCompletionCoordinatorOptions): DurableExecutionCompletionCoordinatorCreates an instance of this class.

DurableExecutionTerminalEventCoordinator

Appends the Execution terminal event only after a durable terminal record exists. Provider execution and Artifact collection are deliberately absent, so recovery can retry a failed append without repeating either side effect.

Declaration

text
export declare class DurableExecutionTerminalEventCoordinator {
    constructor(options: DurableExecutionTerminalEventCoordinatorOptions);
    append(recordValue: ExecutionRecord): Promise<ExecutionFrameworkEvent>;
}

Public members

MemberKindSignatureDescription
appendmethodappend(recordValue: ExecutionRecord): Promise<ExecutionFrameworkEvent>Public method; parameters and return type are shown in the signature.
constructorconstructor(options: DurableExecutionTerminalEventCoordinatorOptions): DurableExecutionTerminalEventCoordinatorCreates an instance of this class.

createDurableExecutionTerminalEvent

Create Durable Execution Terminal Event function with 1 public call signature; parameters and return types are listed below.

Declaration

text
export declare function createDurableExecutionTerminalEvent(recordValue: ExecutionRecord): ExecutionFrameworkEvent;

Call signature

text
createDurableExecutionTerminalEvent(recordValue: ExecutionRecord): ExecutionFrameworkEvent

Parameters

ParameterTypeRequiredDescription
recordValueExecutionRecordYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: ExecutionFrameworkEvent
  • Description: The return contract is defined by the type shown above.

DurableExecutionCompletionCoordinatorOptions

Durable Execution Completion Coordinator Options interface with 3 public fields or methods.

Declaration

text
export interface DurableExecutionCompletionCoordinatorOptions {
    worker: DurableExecutionCompletionWorker;
    planner: ExecutionOutputPlanner;
    collector: ExecutionOutputCollector;
}

Contract members

MemberKindSignatureDescription
collectorpropertycollector: ExecutionOutputCollectorPublic property; its type, readonly modifier and optionality are shown in the signature.
plannerpropertyplanner: ExecutionOutputPlannerPublic property; its type, readonly modifier and optionality are shown in the signature.
workerpropertyworker: DurableExecutionCompletionWorkerPublic property; its type, readonly modifier and optionality are shown in the signature.

DurableExecutionCompletionRequest

Durable Execution Completion Request interface with 4 public fields or methods.

Declaration

text
export interface DurableExecutionCompletionRequest {
    record: ExecutionRecord;
    result: CommandExecutionResult;
    outputPolicy: ExecutionOutputCollectionPolicy;
    outputContext: ExecutionOutputCollectionContext;
}

Contract members

MemberKindSignatureDescription
outputContextpropertyoutputContext: ExecutionOutputCollectionContextPublic property; its type, readonly modifier and optionality are shown in the signature.
outputPolicypropertyoutputPolicy: ExecutionOutputCollectionPolicyPublic property; its type, readonly modifier and optionality are shown in the signature.
recordpropertyrecord: ExecutionRecordPublic property; its type, readonly modifier and optionality are shown in the signature.
resultpropertyresult: CommandExecutionResultPublic property; its type, readonly modifier and optionality are shown in the signature.

DurableExecutionCompletionResult

Durable Execution Completion Result interface with 2 public fields or methods.

Declaration

text
export interface DurableExecutionCompletionResult {
    record: ExecutionRecord;
    output: ExecutionOutputCollectionResult;
}

Contract members

MemberKindSignatureDescription
outputpropertyoutput: ExecutionOutputCollectionResultPublic property; its type, readonly modifier and optionality are shown in the signature.
recordpropertyrecord: ExecutionRecordPublic property; its type, readonly modifier and optionality are shown in the signature.

DurableExecutionCompletionWorker

Durable Execution Completion Worker interface with 3 public fields or methods.

Declaration

text
export interface DurableExecutionCompletionWorker {
    renew(record: ExecutionRecord): Promise<ExecutionRecord>;
    checkpointTerminalReceipt(record: ExecutionRecord, receipt: ExecutionReceipt): Promise<ExecutionRecord>;
    commit(record: ExecutionRecord, result: CommandExecutionResult): Promise<ExecutionRecord>;
}

Contract members

MemberKindSignatureDescription
checkpointTerminalReceiptmethodcheckpointTerminalReceipt(record: ExecutionRecord, receipt: ExecutionReceipt): Promise<ExecutionRecord>Public method; parameters and return type are shown in the signature.
commitmethodcommit(record: ExecutionRecord, result: CommandExecutionResult): Promise<ExecutionRecord>Public method; parameters and return type are shown in the signature.
renewmethodrenew(record: ExecutionRecord): Promise<ExecutionRecord>Public method; parameters and return type are shown in the signature.

DurableExecutionTerminalEventCommitPort

Runtime implements this port with its durable Event Store. Repeated calls with the same idempotency key and event must resolve to the same append.

Declaration

text
export interface DurableExecutionTerminalEventCommitPort {
    append(request: DurableExecutionTerminalEventCommitRequest): Promise<unknown>;
}

Contract members

MemberKindSignatureDescription
appendmethodappend(request: DurableExecutionTerminalEventCommitRequest): Promise<unknown>Public method; parameters and return type are shown in the signature.

DurableExecutionTerminalEventCommitRequest

Durable Execution Terminal Event Commit Request interface with 3 public fields or methods.

Declaration

text
export interface DurableExecutionTerminalEventCommitRequest {
    event: ExecutionFrameworkEvent;
    executionRevision: number;
    idempotencyKey: string;
}

Contract members

MemberKindSignatureDescription
eventpropertyevent: ExecutionFrameworkEventPublic property; its type, readonly modifier and optionality are shown in the signature.
executionRevisionpropertyexecutionRevision: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
idempotencyKeypropertyidempotencyKey: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

DurableExecutionTerminalEventCoordinatorOptions

Durable Execution Terminal Event Coordinator Options interface with 1 public fields or methods.

Declaration

text
export interface DurableExecutionTerminalEventCoordinatorOptions {
    events: DurableExecutionTerminalEventCommitPort;
}

Contract members

MemberKindSignatureDescription
eventspropertyevents: DurableExecutionTerminalEventCommitPortPublic property; its type, readonly modifier and optionality are shown in the signature.