Skip to content

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

模块用法

用于执行该边界的运行时行为。Completion 模块公开 2 类、1 函数、7 接口。

从包入口导入

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

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

使用要点

  • 7 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 2 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 1 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
DurableExecutionCompletionCoordinatornew 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.
DurableExecutionTerminalEventCoordinatornew 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.
createDurableExecutionTerminalEvent函数createDurableExecutionTerminalEvent(recordValue: ExecutionRecord): ExecutionFrameworkEventCreate Durable Execution Terminal Event 函数,提供 1 个公开调用签名;参数与返回类型见下表。
DurableExecutionCompletionCoordinatorOptions接口interface DurableExecutionCompletionCoordinatorOptionsDurable Execution Completion Coordinator Options 接口,共包含 3 个公开字段或方法。
DurableExecutionCompletionRequest接口interface DurableExecutionCompletionRequestDurable Execution Completion Request 接口,共包含 4 个公开字段或方法。
DurableExecutionCompletionResult接口interface DurableExecutionCompletionResultDurable Execution Completion Result 接口,共包含 2 个公开字段或方法。
DurableExecutionCompletionWorker接口interface DurableExecutionCompletionWorkerDurable Execution Completion Worker 接口,共包含 3 个公开字段或方法。
DurableExecutionTerminalEventCommitPort接口interface DurableExecutionTerminalEventCommitPortRuntime implements this port with its durable Event Store. Repeated calls with the same idempotency key and event must resolve to the same append.
DurableExecutionTerminalEventCommitRequest接口interface DurableExecutionTerminalEventCommitRequestDurable Execution Terminal Event Commit Request 接口,共包含 3 个公开字段或方法。
DurableExecutionTerminalEventCoordinatorOptions接口interface DurableExecutionTerminalEventCoordinatorOptionsDurable Execution Terminal Event Coordinator Options 接口,共包含 1 个公开字段或方法。

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.

声明

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

公开成员

成员种类签名说明
complete方法complete(request: DurableExecutionCompletionRequest): Promise<DurableExecutionCompletionResult>公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: DurableExecutionCompletionCoordinatorOptions): DurableExecutionCompletionCoordinator创建该类的实例。

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.

声明

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

公开成员

成员种类签名说明
append方法append(recordValue: ExecutionRecord): Promise<ExecutionFrameworkEvent>公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: DurableExecutionTerminalEventCoordinatorOptions): DurableExecutionTerminalEventCoordinator创建该类的实例。

createDurableExecutionTerminalEvent

Create Durable Execution Terminal Event 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

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

调用签名

text
createDurableExecutionTerminalEvent(recordValue: ExecutionRecord): ExecutionFrameworkEvent

参数

参数类型必需说明
recordValueExecutionRecord必需参数;接受的值由类型列定义。

返回值

  • 类型: ExecutionFrameworkEvent
  • 说明: 返回值契约由上述类型定义。

DurableExecutionCompletionCoordinatorOptions

Durable Execution Completion Coordinator Options 接口,共包含 3 个公开字段或方法。

声明

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

契约成员

成员种类签名说明
collector属性collector: ExecutionOutputCollector公开属性;类型、只读和可选状态以签名列为准。
planner属性planner: ExecutionOutputPlanner公开属性;类型、只读和可选状态以签名列为准。
worker属性worker: DurableExecutionCompletionWorker公开属性;类型、只读和可选状态以签名列为准。

DurableExecutionCompletionRequest

Durable Execution Completion Request 接口,共包含 4 个公开字段或方法。

声明

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

契约成员

成员种类签名说明
outputContext属性outputContext: ExecutionOutputCollectionContext公开属性;类型、只读和可选状态以签名列为准。
outputPolicy属性outputPolicy: ExecutionOutputCollectionPolicy公开属性;类型、只读和可选状态以签名列为准。
record属性record: ExecutionRecord公开属性;类型、只读和可选状态以签名列为准。
result属性result: CommandExecutionResult公开属性;类型、只读和可选状态以签名列为准。

DurableExecutionCompletionResult

Durable Execution Completion Result 接口,共包含 2 个公开字段或方法。

声明

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

契约成员

成员种类签名说明
output属性output: ExecutionOutputCollectionResult公开属性;类型、只读和可选状态以签名列为准。
record属性record: ExecutionRecord公开属性;类型、只读和可选状态以签名列为准。

DurableExecutionCompletionWorker

Durable Execution Completion Worker 接口,共包含 3 个公开字段或方法。

声明

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

契约成员

成员种类签名说明
checkpointTerminalReceipt方法checkpointTerminalReceipt(record: ExecutionRecord, receipt: ExecutionReceipt): Promise<ExecutionRecord>公开方法;参数与返回类型以签名列为准。
commit方法commit(record: ExecutionRecord, result: CommandExecutionResult): Promise<ExecutionRecord>公开方法;参数与返回类型以签名列为准。
renew方法renew(record: ExecutionRecord): Promise<ExecutionRecord>公开方法;参数与返回类型以签名列为准。

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.

声明

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

契约成员

成员种类签名说明
append方法append(request: DurableExecutionTerminalEventCommitRequest): Promise<unknown>公开方法;参数与返回类型以签名列为准。

DurableExecutionTerminalEventCommitRequest

Durable Execution Terminal Event Commit Request 接口,共包含 3 个公开字段或方法。

声明

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

契约成员

成员种类签名说明
event属性event: ExecutionFrameworkEvent公开属性;类型、只读和可选状态以签名列为准。
executionRevision属性executionRevision: number公开属性;类型、只读和可选状态以签名列为准。
idempotencyKey属性idempotencyKey: string公开属性;类型、只读和可选状态以签名列为准。

DurableExecutionTerminalEventCoordinatorOptions

Durable Execution Terminal Event Coordinator Options 接口,共包含 1 个公开字段或方法。

声明

text
export interface DurableExecutionTerminalEventCoordinatorOptions {
    events: DurableExecutionTerminalEventCommitPort;
}

契约成员

成员种类签名说明
events属性events: DurableExecutionTerminalEventCommitPort公开属性;类型、只读和可选状态以签名列为准。