Skip to content

@codesoul-co/hypha-memory / external-provider-acceptance

模块用法

用于把外部或本地 Provider 绑定到 Hypha Port。External provider acceptance 模块公开 2 函数、6 接口。

从包入口导入

ts
import {
  assertContractShape,
  runExternalProviderAcceptance,
} from '@codesoul-co/hypha-memory';

import type {
  ExternalProviderAcceptanceEvidence,
  ExternalProviderAcceptanceEvidenceInput,
  ExternalProviderAcceptanceFixture,
  ExternalProviderAcceptanceHooks,
  ExternalProviderAcceptanceReport,
  ExternalProviderFailureProbe,
} from '@codesoul-co/hypha-memory';

使用要点

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

公共导出

Symbol种类签名说明
assertContractShape函数assertContractShape(client: ExternalMemoryClient): voidAssert Contract Shape 函数,提供 1 个公开调用签名;参数与返回类型见下表。
runExternalProviderAcceptance函数runExternalProviderAcceptance(client: ExternalMemoryClient, fixture: ExternalProviderAcceptanceFixture, signal?: AbortSignal, evidenceInput?: ExternalProviderAcceptanceEvidenceInput, hooks?: ExternalProviderAcceptanceHooks): Promise<ExternalProviderAcceptanceReport>Provider-neutral management acceptance flow shared by every external client.
ExternalProviderAcceptanceEvidence接口interface ExternalProviderAcceptanceEvidenceExternal Provider Acceptance Evidence 接口,共包含 8 个公开字段或方法。
ExternalProviderAcceptanceEvidenceInput接口interface ExternalProviderAcceptanceEvidenceInputExternal Provider Acceptance Evidence Input 接口,共包含 6 个公开字段或方法。
ExternalProviderAcceptanceFixture接口interface ExternalProviderAcceptanceFixtureExternal Provider Acceptance Fixture 接口,共包含 9 个公开字段或方法。
ExternalProviderAcceptanceHooks接口interface ExternalProviderAcceptanceHooksExternal Provider Acceptance Hooks 接口,共包含 6 个公开字段或方法。
ExternalProviderAcceptanceReport接口interface ExternalProviderAcceptanceReportExternal Provider Acceptance Report 接口,共包含 15 个公开字段或方法。
ExternalProviderFailureProbe接口interface ExternalProviderFailureProbeExternal Provider Failure Probe 接口,共包含 3 个公开字段或方法。

assertContractShape

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

声明

text
export declare function assertContractShape(client: ExternalMemoryClient): void;

调用签名

text
assertContractShape(client: ExternalMemoryClient): void

参数

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

返回值

  • 类型: void
  • 说明: 不返回值。

runExternalProviderAcceptance

Provider-neutral management acceptance flow shared by every external client.

声明

text
export declare function runExternalProviderAcceptance(client: ExternalMemoryClient, fixture: ExternalProviderAcceptanceFixture, signal?: AbortSignal, evidenceInput?: ExternalProviderAcceptanceEvidenceInput, hooks?: ExternalProviderAcceptanceHooks): Promise<ExternalProviderAcceptanceReport>;

调用签名

text
runExternalProviderAcceptance(client: ExternalMemoryClient, fixture: ExternalProviderAcceptanceFixture, signal?: AbortSignal, evidenceInput?: ExternalProviderAcceptanceEvidenceInput, hooks?: ExternalProviderAcceptanceHooks): Promise<ExternalProviderAcceptanceReport>

Provider-neutral management acceptance flow shared by every external client.

参数

参数类型必需说明
clientExternalMemoryClient必需参数;接受的值由类型列定义。
fixtureExternalProviderAcceptanceFixture必需参数;接受的值由类型列定义。
signalAbortSignal可选参数;接受的值由类型列定义。
evidenceInputExternalProviderAcceptanceEvidenceInput可选参数;接受的值由类型列定义。
hooksExternalProviderAcceptanceHooks可选参数;接受的值由类型列定义。

返回值

  • 类型: Promise<ExternalProviderAcceptanceReport>
  • 说明: 返回值契约由上述类型定义。

ExternalProviderAcceptanceEvidence

External Provider Acceptance Evidence 接口,共包含 8 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderAcceptanceEvidence } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderAcceptanceEvidence {
    commitSha: string;
    providerId: string;
    providerVersion: string;
    profileHash: string;
    capabilitySnapshot: MemoryManagementCapabilities;
    environmentHash: string;
    startedAt: string;
    finishedAt: string;
}

契约成员

成员种类签名说明
capabilitySnapshot属性capabilitySnapshot: MemoryManagementCapabilities公开属性;类型、只读和可选状态以签名列为准。
commitSha属性commitSha: string公开属性;类型、只读和可选状态以签名列为准。
environmentHash属性environmentHash: string公开属性;类型、只读和可选状态以签名列为准。
finishedAt属性finishedAt: string公开属性;类型、只读和可选状态以签名列为准。
profileHash属性profileHash: string公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId: string公开属性;类型、只读和可选状态以签名列为准。
providerVersion属性providerVersion: string公开属性;类型、只读和可选状态以签名列为准。
startedAt属性startedAt: string公开属性;类型、只读和可选状态以签名列为准。

ExternalProviderAcceptanceEvidenceInput

External Provider Acceptance Evidence Input 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderAcceptanceEvidenceInput } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderAcceptanceEvidenceInput {
    commitSha: string;
    providerId: string;
    providerVersion: string;
    profileHash: string;
    environmentHash: string;
    now?: () => string;
}

契约成员

成员种类签名说明
commitSha属性commitSha: string公开属性;类型、只读和可选状态以签名列为准。
environmentHash属性environmentHash: string公开属性;类型、只读和可选状态以签名列为准。
now方法now?(): string公开方法;参数与返回类型以签名列为准。
profileHash属性profileHash: string公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId: string公开属性;类型、只读和可选状态以签名列为准。
providerVersion属性providerVersion: string公开属性;类型、只读和可选状态以签名列为准。

ExternalProviderAcceptanceFixture

External Provider Acceptance Fixture 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderAcceptanceFixture } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderAcceptanceFixture {
    add: MemoryAddRequest;
    search: ManagedMemorySearchRequest;
    list: MemoryListRequest;
    get(memoryId: string): MemoryGetRequest;
    update(memoryId: string): ManagedMemoryUpdateRequest;
    history(memoryId: string): MemoryHistoryRequest;
    delete(memoryId: string): ManagedMemoryDeleteRequest;
    forbiddenGet?(memoryId: string): MemoryGetRequest;
    resolveMemoryId(result: {
        addedIds: string[];
        searchedIds: string[];
        listedIds: string[];
    }): string | undefined;
}

契约成员

成员种类签名说明
add属性add: MemoryAddRequest公开属性;类型、只读和可选状态以签名列为准。
delete方法delete(memoryId: string): ManagedMemoryDeleteRequest公开方法;参数与返回类型以签名列为准。
forbiddenGet方法forbiddenGet?(memoryId: string): MemoryGetRequest公开方法;参数与返回类型以签名列为准。
get方法get(memoryId: string): MemoryGetRequest公开方法;参数与返回类型以签名列为准。
history方法history(memoryId: string): MemoryHistoryRequest公开方法;参数与返回类型以签名列为准。
list属性list: MemoryListRequest公开属性;类型、只读和可选状态以签名列为准。
resolveMemoryId方法resolveMemoryId(result: { addedIds: string[]; searchedIds: string[]; listedIds: string[]; }): string | undefined公开方法;参数与返回类型以签名列为准。
search属性search: ManagedMemorySearchRequest公开属性;类型、只读和可选状态以签名列为准。
update方法update(memoryId: string): ManagedMemoryUpdateRequest公开方法;参数与返回类型以签名列为准。

ExternalProviderAcceptanceHooks

External Provider Acceptance Hooks 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderAcceptanceHooks } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderAcceptanceHooks {
    settleAdd?(result: ManagedMemoryWriteResult, signal?: AbortSignal): Promise<void>;
    preparePagination?(signal?: AbortSignal): Promise<void>;
    verifyRestart?(memoryId: string, signal?: AbortSignal): Promise<void>;
    verifyDelete?(memoryId: string, signal?: AbortSignal): Promise<void>;
    failureProbes?: readonly ExternalProviderFailureProbe[];
    cleanup?(signal?: AbortSignal): Promise<void>;
}

契约成员

成员种类签名说明
cleanup方法cleanup?(signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。
failureProbes属性failureProbes?: readonly ExternalProviderFailureProbe[]公开属性;类型、只读和可选状态以签名列为准。
preparePagination方法preparePagination?(signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。
settleAdd方法settleAdd?(result: ManagedMemoryWriteResult, signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。
verifyDelete方法verifyDelete?(memoryId: string, signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。
verifyRestart方法verifyRestart?(memoryId: string, signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。

ExternalProviderAcceptanceReport

External Provider Acceptance Report 接口,共包含 15 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderAcceptanceReport } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderAcceptanceReport {
    status: 'passed';
    capabilities: MemoryManagementCapabilities;
    memoryId: string;
    addStatus: string;
    searchCount: number;
    listCount: number;
    updateStatus?: string;
    historyCount?: number;
    deleteStatus: string;
    healthStatus: string;
    paginationPageCount: number;
    scopeIsolationVerified: boolean;
    restartVerified: boolean;
    failureProbeCount: number;
    evidence?: ExternalProviderAcceptanceEvidence;
}

契约成员

成员种类签名说明
addStatus属性addStatus: string公开属性;类型、只读和可选状态以签名列为准。
capabilities属性capabilities: MemoryManagementCapabilities公开属性;类型、只读和可选状态以签名列为准。
deleteStatus属性deleteStatus: string公开属性;类型、只读和可选状态以签名列为准。
evidence属性evidence?: ExternalProviderAcceptanceEvidence公开属性;类型、只读和可选状态以签名列为准。
failureProbeCount属性failureProbeCount: number公开属性;类型、只读和可选状态以签名列为准。
healthStatus属性healthStatus: string公开属性;类型、只读和可选状态以签名列为准。
historyCount属性historyCount?: number公开属性;类型、只读和可选状态以签名列为准。
listCount属性listCount: number公开属性;类型、只读和可选状态以签名列为准。
memoryId属性memoryId: string公开属性;类型、只读和可选状态以签名列为准。
paginationPageCount属性paginationPageCount: number公开属性;类型、只读和可选状态以签名列为准。
restartVerified属性restartVerified: boolean公开属性;类型、只读和可选状态以签名列为准。
scopeIsolationVerified属性scopeIsolationVerified: boolean公开属性;类型、只读和可选状态以签名列为准。
searchCount属性searchCount: number公开属性;类型、只读和可选状态以签名列为准。
status属性status: "passed"公开属性;类型、只读和可选状态以签名列为准。
updateStatus属性updateStatus?: string公开属性;类型、只读和可选状态以签名列为准。

ExternalProviderFailureProbe

External Provider Failure Probe 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ExternalProviderFailureProbe } from '@codesoul-co/hypha-memory';
  • 源码模块: external-provider-acceptance

声明

text
export interface ExternalProviderFailureProbe {
    id: string;
    expectedCodes: readonly NormalizedMemoryError['code'][];
    run(signal?: AbortSignal): Promise<void>;
}

契约成员

成员种类签名说明
expectedCodes属性expectedCodes: readonly ("MEMORY_INVALID_INPUT" | "MEMORY_EXTRACTION_SOURCE_UNAVAILABLE" | "MEMORY_EXTRACTION_FAILED" | "MEMORY_EXTRACTION_CURSOR_CONFLICT" | "MEMORY_MAINTENANCE_CONFLICT" | "MEMORY_RANKING_FAILED" | "MEMORY_IDEMPOTENCY_CONFLICT" | "MEMORY_SCOPE_DENIED" | "MEMORY_PERMISSION_DENIED" | "MEMORY_NOT_FOUND" | "MEMORY_REVISION_CONFLICT" | "MEMORY_PROVIDER_NOT_INSTALLED" | "MEMORY_PROVIDER_UNAVAILABLE" | ...公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
run方法run(signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。