Skip to content

@codesoul-co/hypha-core / modules/execution/recovery

模块用法

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

从包入口导入

ts
import {
  adviseExecutionRecovery,
  classifyExecutionFailure,
} from '@codesoul-co/hypha-core';

import type {
  ExecutionFailureContext,
  ExecutionRecoveryAdvice,
  ExecutionRecoveryOperation,
} from '@codesoul-co/hypha-core';

使用要点

  • 3 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 2 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
adviseExecutionRecovery函数adviseExecutionRecovery(failure: RecoveryFailure): ExecutionRecoveryAdviceAdvise Execution Recovery 函数,提供 1 个公开调用签名;参数与返回类型见下表。
classifyExecutionFailure函数classifyExecutionFailure(error: unknown, context: ExecutionFailureContext): RecoveryFailureClassify Execution Failure 函数,提供 1 个公开调用签名;参数与返回类型见下表。
ExecutionFailureContext接口interface ExecutionFailureContextExecution Failure Context 接口,共包含 14 个公开字段或方法。
ExecutionRecoveryAdvice接口interface ExecutionRecoveryAdviceExecution Recovery Advice 接口,共包含 4 个公开字段或方法。
ExecutionRecoveryOperation类型type ExecutionRecoveryOperation = 'validate' | 'queue' | 'start' | 'poll' | 'cancel' | 'persist' | 'cleanup'Execution Recovery Operation 公共类型别名;完整类型表达式见声明。

adviseExecutionRecovery

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

声明

text
export declare function adviseExecutionRecovery(failure: RecoveryFailure): ExecutionRecoveryAdvice;

调用签名

text
adviseExecutionRecovery(failure: RecoveryFailure): ExecutionRecoveryAdvice

参数

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

返回值

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

classifyExecutionFailure

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

声明

text
export declare function classifyExecutionFailure(error: unknown, context: ExecutionFailureContext): RecoveryFailure;

调用签名

text
classifyExecutionFailure(error: unknown, context: ExecutionFailureContext): RecoveryFailure

参数

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

返回值

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

ExecutionFailureContext

Execution Failure Context 接口,共包含 14 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExecutionFailureContext } from '@codesoul-co/hypha-core';
  • 源码模块: modules/execution/recovery

声明

text
export interface ExecutionFailureContext {
    id: string;
    operation: ExecutionRecoveryOperation;
    occurredAt?: string;
    request?: CommandExecutionRequest;
    record?: ExecutionRecord;
    result?: CommandExecutionResult;
    assessment?: ExecutionRecoveryAssessment;
    providerId?: string;
    providerRevision?: string;
    policyRevision?: string;
    specRevision?: string;
    sideEffectState?: RecoverySideEffectState;
    compensationAvailable?: boolean;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
assessment属性assessment?: ExecutionRecoveryAssessment公开属性;类型、只读和可选状态以签名列为准。
compensationAvailable属性compensationAvailable?: boolean公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
occurredAt属性occurredAt?: string公开属性;类型、只读和可选状态以签名列为准。
operation属性operation: ExecutionRecoveryOperation公开属性;类型、只读和可选状态以签名列为准。
policyRevision属性policyRevision?: string公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId?: string公开属性;类型、只读和可选状态以签名列为准。
providerRevision属性providerRevision?: string公开属性;类型、只读和可选状态以签名列为准。
record属性record?: ExecutionRecord公开属性;类型、只读和可选状态以签名列为准。
request属性request?: CommandExecutionRequest公开属性;类型、只读和可选状态以签名列为准。
result属性result?: CommandExecutionResult公开属性;类型、只读和可选状态以签名列为准。
sideEffectState属性sideEffectState?: RecoverySideEffectState公开属性;类型、只读和可选状态以签名列为准。
specRevision属性specRevision?: string公开属性;类型、只读和可选状态以签名列为准。

ExecutionRecoveryAdvice

Execution Recovery Advice 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExecutionRecoveryAdvice } from '@codesoul-co/hypha-core';
  • 源码模块: modules/execution/recovery

声明

text
export interface ExecutionRecoveryAdvice {
    strategy: RecoveryStrategy;
    reason: string;
    refreshRecordBeforeRetry: boolean;
    requireReceiptReconciliation: boolean;
}

契约成员

成员种类签名说明
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
refreshRecordBeforeRetry属性refreshRecordBeforeRetry: boolean公开属性;类型、只读和可选状态以签名列为准。
requireReceiptReconciliation属性requireReceiptReconciliation: boolean公开属性;类型、只读和可选状态以签名列为准。
strategy属性strategy: "fail" | "retry" | "human_review" | "reconcile" | "fallback" | "degrade" | "compensate" | "wait" | "quarantine" | "cancel"公开属性;类型、只读和可选状态以签名列为准。

ExecutionRecoveryOperation

Execution Recovery Operation 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { ExecutionRecoveryOperation } from '@codesoul-co/hypha-core';
  • 源码模块: modules/execution/recovery

声明

text
export type ExecutionRecoveryOperation = 'validate' | 'queue' | 'start' | 'poll' | 'cancel' | 'persist' | 'cleanup';