Skip to content

@codesoul-co/hypha-memory / bounded-recovery

模块用法

用于处理有界恢复、重试或降级。Bounded recovery 模块公开 2 函数、2 接口、1 类型。

从包入口导入

ts
import {
  createMemoryFailureFingerprint,
  resolveBoundedMemoryRecovery,
} from '@codesoul-co/hypha-memory';

import type {
  BoundedMemoryRecoveryOutcome,
  MemoryRecoveryBudget,
  MemoryRunRecoveryState,
} from '@codesoul-co/hypha-memory';

使用要点

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

公共导出

Symbol种类签名说明
createMemoryFailureFingerprint函数createMemoryFailureFingerprint(failure: RecoveryFailure): stringCreate Memory Failure Fingerprint 函数,提供 1 个公开调用签名;参数与返回类型见下表。
resolveBoundedMemoryRecovery函数resolveBoundedMemoryRecovery(failure: RecoveryFailure, budget: MemoryRecoveryBudget): BoundedMemoryRecoveryOutcomeResolve Bounded Memory Recovery 函数,提供 1 个公开调用签名;参数与返回类型见下表。
BoundedMemoryRecoveryOutcome接口interface BoundedMemoryRecoveryOutcomeBounded Memory Recovery Outcome 接口,共包含 7 个公开字段或方法。
MemoryRecoveryBudget接口interface MemoryRecoveryBudgetMemory Recovery Budget 接口,共包含 5 个公开字段或方法。
MemoryRunRecoveryState类型type MemoryRunRecoveryState = 'degraded' | 'waiting' | 'review' | 'quarantined' | 'failed'Memory Run Recovery State 公共类型别名;完整类型表达式见声明。

createMemoryFailureFingerprint

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

  • 种类: 函数
  • 导入: import { createMemoryFailureFingerprint } from '@codesoul-co/hypha-memory';
  • 源码模块: bounded-recovery

声明

text
export declare function createMemoryFailureFingerprint(failure: RecoveryFailure): string;

调用签名

text
createMemoryFailureFingerprint(failure: RecoveryFailure): string

参数

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

返回值

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

resolveBoundedMemoryRecovery

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

  • 种类: 函数
  • 导入: import { resolveBoundedMemoryRecovery } from '@codesoul-co/hypha-memory';
  • 源码模块: bounded-recovery

声明

text
export declare function resolveBoundedMemoryRecovery(failure: RecoveryFailure, budget: MemoryRecoveryBudget): BoundedMemoryRecoveryOutcome;

调用签名

text
resolveBoundedMemoryRecovery(failure: RecoveryFailure, budget: MemoryRecoveryBudget): BoundedMemoryRecoveryOutcome

参数

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

返回值

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

BoundedMemoryRecoveryOutcome

Bounded Memory Recovery Outcome 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { BoundedMemoryRecoveryOutcome } from '@codesoul-co/hypha-memory';
  • 源码模块: bounded-recovery

声明

text
export interface BoundedMemoryRecoveryOutcome {
    state: MemoryRunRecoveryState;
    strategy: ReturnType<typeof adviseMemoryRecovery>['strategy'];
    retryAllowed: boolean;
    boundedEmptyResultAllowed: boolean;
    failureFingerprint: string;
    reason: string;
    nextAttempt?: number;
}

契约成员

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

MemoryRecoveryBudget

Memory Recovery Budget 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryRecoveryBudget } from '@codesoul-co/hypha-memory';
  • 源码模块: bounded-recovery

声明

text
export interface MemoryRecoveryBudget {
    maxAttempts: number;
    attemptsUsed: number;
    deadline?: string;
    now?: string;
    seenFailureFingerprints?: string[];
}

契约成员

成员种类签名说明
attemptsUsed属性attemptsUsed: number公开属性;类型、只读和可选状态以签名列为准。
deadline属性deadline?: string公开属性;类型、只读和可选状态以签名列为准。
maxAttempts属性maxAttempts: number公开属性;类型、只读和可选状态以签名列为准。
now属性now?: string公开属性;类型、只读和可选状态以签名列为准。
seenFailureFingerprints属性seenFailureFingerprints?: string[]公开属性;类型、只读和可选状态以签名列为准。

MemoryRunRecoveryState

Memory Run Recovery State 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { MemoryRunRecoveryState } from '@codesoul-co/hypha-memory';
  • 源码模块: bounded-recovery

声明

text
export type MemoryRunRecoveryState = 'degraded' | 'waiting' | 'review' | 'quarantined' | 'failed';