Skip to content

@codesoul-co/hypha-core / modules/runtime/runtime-helper-sdk

模块用法

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

从包入口导入

ts
import {
  DefaultRuntimeTransitionHelper,
  DefaultRuntimeWaitHelper,
  DeterministicRuntimeClockHelper,
  DeterministicRuntimeIdHelper,
  InMemoryRuntimeDeterminismStore,
  createRuntimeHelperSdk,
  deterministicObservationKey,
} from '@codesoul-co/hypha-core';

import type {
  CreateRuntimeHelperSdkOptions,
} from '@codesoul-co/hypha-core';

使用要点

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

公共导出

Symbol种类签名说明
DefaultRuntimeTransitionHelpernew DefaultRuntimeTransitionHelper(): DefaultRuntimeTransitionHelperDefault Runtime Transition Helper 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。
DefaultRuntimeWaitHelpernew DefaultRuntimeWaitHelper(): DefaultRuntimeWaitHelperDefault Runtime Wait Helper 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。
DeterministicRuntimeClockHelpernew DeterministicRuntimeClockHelper(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, waits: RuntimeWaitHelper, source?: () => string): DeterministicRuntimeClockHelperDeterministic Runtime Clock Helper 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
DeterministicRuntimeIdHelpernew DeterministicRuntimeIdHelper(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, source?: (namespace: string) => string): DeterministicRuntimeIdHelperDeterministic Runtime ID Helper 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。
InMemoryRuntimeDeterminismStorenew InMemoryRuntimeDeterminismStore(): InMemoryRuntimeDeterminismStoreIn Memory Runtime Determinism Store 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。
createRuntimeHelperSdk函数createRuntimeHelperSdk(options: CreateRuntimeHelperSdkOptions): RuntimeHelperSdkCreate Runtime Helper Sdk 函数,提供 1 个公开调用签名;参数与返回类型见下表。
deterministicObservationKey函数deterministicObservationKey(scope: RuntimeDeterminismScope, key: string): stringDeterministic Observation Key 函数,提供 1 个公开调用签名;参数与返回类型见下表。
CreateRuntimeHelperSdkOptions接口interface CreateRuntimeHelperSdkOptionsCreate Runtime Helper Sdk Options 接口,共包含 4 个公开字段或方法。

DefaultRuntimeTransitionHelper

Default Runtime Transition Helper 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class DefaultRuntimeTransitionHelper implements RuntimeTransitionHelper {
    propose(to: string, reason?: string, variablesPatch?: Record<string, RuntimeJsonValue>): RuntimeTransitionProposal;
    complete(output?: RuntimeJsonValue, variablesPatch?: Record<string, RuntimeJsonValue>): RuntimeStateExecutionResult;
    continue(observation?: RuntimeJsonValue): RuntimeStateExecutionResult;
    fail(error: NormalizedRuntimeError): RuntimeStateExecutionResult;
}

公开成员

成员种类签名说明
complete方法complete(output?: RuntimeJsonValue, variablesPatch?: Record<string, RuntimeJsonValue>): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
constructor构造函数(): DefaultRuntimeTransitionHelper创建该类的实例。
continue方法continue(observation?: RuntimeJsonValue): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
fail方法fail(error: NormalizedRuntimeError): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
propose方法propose(to: string, reason?: string, variablesPatch?: Record<string, RuntimeJsonValue>): RuntimeTransitionProposal公开方法;参数与返回类型以签名列为准。

DefaultRuntimeWaitHelper

Default Runtime Wait Helper 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class DefaultRuntimeWaitHelper implements RuntimeWaitHelper {
    human(request: HumanWaitRequest): RuntimeStateExecutionResult;
    signal(request: SignalWaitRequest): RuntimeStateExecutionResult;
    timer(request: TimerWaitRequest): RuntimeStateExecutionResult;
    pause(request: PauseRequest): RuntimeStateExecutionResult;
}

公开成员

成员种类签名说明
constructor构造函数(): DefaultRuntimeWaitHelper创建该类的实例。
human方法human(request: HumanWaitRequest): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
pause方法pause(request: PauseRequest): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
signal方法signal(request: SignalWaitRequest): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。
timer方法timer(request: TimerWaitRequest): RuntimeStateExecutionResult公开方法;参数与返回类型以签名列为准。

DeterministicRuntimeClockHelper

Deterministic Runtime Clock Helper 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class DeterministicRuntimeClockHelper implements RuntimeClockHelper {
    constructor(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, waits: RuntimeWaitHelper, source?: () => string);
    now(): Promise<string>;
    sleepUntil(isoTime: string): Promise<RuntimeStateExecutionResult>;
}

公开成员

成员种类签名说明
constructor构造函数(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, waits: RuntimeWaitHelper, source?: () => string): DeterministicRuntimeClockHelper创建该类的实例。
now方法now(): Promise<string>公开方法;参数与返回类型以签名列为准。
sleepUntil方法sleepUntil(isoTime: string): Promise<RuntimeStateExecutionResult>公开方法;参数与返回类型以签名列为准。

DeterministicRuntimeIdHelper

Deterministic Runtime ID Helper 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class DeterministicRuntimeIdHelper implements RuntimeIdHelper {
    constructor(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, source?: (namespace: string) => string);
    next(namespace: string): Promise<string>;
}

公开成员

成员种类签名说明
constructor构造函数(scope: RuntimeDeterminismScope, store: RuntimeDeterminismStore, source?: (namespace: string) => string): DeterministicRuntimeIdHelper创建该类的实例。
next方法next(namespace: string): Promise<string>公开方法;参数与返回类型以签名列为准。

InMemoryRuntimeDeterminismStore

In Memory Runtime Determinism Store 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class InMemoryRuntimeDeterminismStore implements RuntimeDeterminismStore {
    resolve<T extends RuntimeJsonValue>(request: RuntimeDeterminismResolveRequest, produce: () => T | Promise<T>): Promise<RuntimeDeterminismResolution<T>>;
}

公开成员

成员种类签名说明
constructor构造函数(): InMemoryRuntimeDeterminismStore创建该类的实例。
resolve方法resolve<T extends RuntimeJsonValue>(request: RuntimeDeterminismResolveRequest, produce: () => T | Promise<T>): Promise<RuntimeDeterminismResolution<T>>公开方法;参数与返回类型以签名列为准。

createRuntimeHelperSdk

Create Runtime Helper Sdk 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function createRuntimeHelperSdk(options: CreateRuntimeHelperSdkOptions): RuntimeHelperSdk;

调用签名

text
createRuntimeHelperSdk(options: CreateRuntimeHelperSdkOptions): RuntimeHelperSdk

参数

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

返回值

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

deterministicObservationKey

Deterministic Observation Key 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function deterministicObservationKey(scope: RuntimeDeterminismScope, key: string): string;

调用签名

text
deterministicObservationKey(scope: RuntimeDeterminismScope, key: string): string

参数

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

返回值

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

CreateRuntimeHelperSdkOptions

Create Runtime Helper Sdk Options 接口,共包含 4 个公开字段或方法。

声明

text
export interface CreateRuntimeHelperSdkOptions {
    scope: RuntimeDeterminismScope;
    determinismStore: RuntimeDeterminismStore;
    now?: () => string;
    nextId?: (namespace: string) => string;
}

契约成员

成员种类签名说明
determinismStore属性determinismStore: RuntimeDeterminismStore公开属性;类型、只读和可选状态以签名列为准。
nextId方法nextId?(namespace: string): string公开方法;参数与返回类型以签名列为准。
now方法now?(): string公开方法;参数与返回类型以签名列为准。
scope属性scope: RuntimeDeterminismScope公开属性;类型、只读和可选状态以签名列为准。