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.