Skip to content

@codesoul-co/hypha-core / contracts/runtime-integrity-audit

模块用法

用于声明并运行时校验契约。Runtime integrity audit 模块公开 9 接口。

从包入口导入

ts
import type {
  CanonicalEventScanPort,
  RuntimeIntegrityRepairCommand,
  RuntimeIntegrityRepairEvidence,
  RuntimeIntegrityRepairPort,
  RuntimeIntegrityRepairResult,
  RuntimeIntegrityStore,
  RuntimeIntegrityWatermark,
  ScanCanonicalEventsRequest,
} from '@codesoul-co/hypha-core';

// 完整导出列表见下方。

使用要点

  • 9 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。

公共导出

Symbol种类签名说明
CanonicalEventScanPort接口interface CanonicalEventScanPortCanonical Event Scan Port 接口,共包含 1 个公开字段或方法。
RuntimeIntegrityRepairCommand接口interface RuntimeIntegrityRepairCommandRuntime Integrity Repair Command 接口,共包含 6 个公开字段或方法。
RuntimeIntegrityRepairEvidence接口interface RuntimeIntegrityRepairEvidenceRuntime Integrity Repair Evidence 接口,共包含 8 个公开字段或方法。
RuntimeIntegrityRepairPort接口interface RuntimeIntegrityRepairPortRuntime Integrity Repair Port 接口,共包含 1 个公开字段或方法。
RuntimeIntegrityRepairResult接口interface RuntimeIntegrityRepairResultRuntime Integrity Repair Result 接口,共包含 3 个公开字段或方法。
RuntimeIntegrityStore接口interface RuntimeIntegrityStoreRuntime Integrity Store 接口,共包含 4 个公开字段或方法。
RuntimeIntegrityWatermark接口interface RuntimeIntegrityWatermarkRuntime Integrity Watermark 接口,共包含 7 个公开字段或方法。
ScanCanonicalEventsRequest接口interface ScanCanonicalEventsRequestScan Canonical Events Request 接口,共包含 3 个公开字段或方法。
ScanCanonicalEventsResult接口interface ScanCanonicalEventsResultScan Canonical Events Result 接口,共包含 4 个公开字段或方法。

CanonicalEventScanPort

Canonical Event Scan Port 接口,共包含 1 个公开字段或方法。

声明

text
export interface CanonicalEventScanPort {
    scanCanonicalEvents(request: ScanCanonicalEventsRequest): Promise<ScanCanonicalEventsResult>;
}

契约成员

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

RuntimeIntegrityRepairCommand

Runtime Integrity Repair Command 接口,共包含 6 个公开字段或方法。

声明

text
export interface RuntimeIntegrityRepairCommand {
    version: '1.0.0';
    repairId: string;
    findingHash: string;
    requestedRevision: string;
    requestedBy: string;
    requestedAt: string;
}

契约成员

成员种类签名说明
findingHash属性findingHash: string公开属性;类型、只读和可选状态以签名列为准。
repairId属性repairId: string公开属性;类型、只读和可选状态以签名列为准。
requestedAt属性requestedAt: string公开属性;类型、只读和可选状态以签名列为准。
requestedBy属性requestedBy: string公开属性;类型、只读和可选状态以签名列为准。
requestedRevision属性requestedRevision: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

RuntimeIntegrityRepairEvidence

Runtime Integrity Repair Evidence 接口,共包含 8 个公开字段或方法。

声明

text
export interface RuntimeIntegrityRepairEvidence {
    version: '1.0.0';
    repairId: string;
    findingHash: string;
    repairedRevision: string;
    evidenceRef: string;
    evidenceHash: string;
    repairedBy: string;
    repairedAt: string;
}

契约成员

成员种类签名说明
evidenceHash属性evidenceHash: string公开属性;类型、只读和可选状态以签名列为准。
evidenceRef属性evidenceRef: string公开属性;类型、只读和可选状态以签名列为准。
findingHash属性findingHash: string公开属性;类型、只读和可选状态以签名列为准。
repairedAt属性repairedAt: string公开属性;类型、只读和可选状态以签名列为准。
repairedBy属性repairedBy: string公开属性;类型、只读和可选状态以签名列为准。
repairedRevision属性repairedRevision: string公开属性;类型、只读和可选状态以签名列为准。
repairId属性repairId: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

RuntimeIntegrityRepairPort

Runtime Integrity Repair Port 接口,共包含 1 个公开字段或方法。

声明

text
export interface RuntimeIntegrityRepairPort {
    repair(command: RuntimeIntegrityRepairCommand): Promise<RuntimeIntegrityRepairResult>;
}

契约成员

成员种类签名说明
repair方法repair(command: RuntimeIntegrityRepairCommand): Promise<RuntimeIntegrityRepairResult>公开方法;参数与返回类型以签名列为准。

RuntimeIntegrityRepairResult

Runtime Integrity Repair Result 接口,共包含 3 个公开字段或方法。

声明

text
export interface RuntimeIntegrityRepairResult {
    evidenceRef: string;
    evidenceHash: string;
    repairedRevision: string;
}

契约成员

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

RuntimeIntegrityStore

Runtime Integrity Store 接口,共包含 4 个公开字段或方法。

声明

text
export interface RuntimeIntegrityStore {
    getWatermark(): Promise<RuntimeIntegrityWatermark | null>;
    putWatermark(watermark: RuntimeIntegrityWatermark, expectedLastGlobalSequence: number | null): Promise<void>;
    getRepair(repairId: string): Promise<RuntimeIntegrityRepairEvidence | null>;
    putRepair(evidence: RuntimeIntegrityRepairEvidence): Promise<void>;
}

契约成员

成员种类签名说明
getRepair方法getRepair(repairId: string): Promise<RuntimeIntegrityRepairEvidence | null>公开方法;参数与返回类型以签名列为准。
getWatermark方法getWatermark(): Promise<RuntimeIntegrityWatermark | null>公开方法;参数与返回类型以签名列为准。
putRepair方法putRepair(evidence: RuntimeIntegrityRepairEvidence): Promise<void>公开方法;参数与返回类型以签名列为准。
putWatermark方法putWatermark(watermark: RuntimeIntegrityWatermark, expectedLastGlobalSequence: number | null): Promise<void>公开方法;参数与返回类型以签名列为准。

RuntimeIntegrityWatermark

Runtime Integrity Watermark 接口,共包含 7 个公开字段或方法。

声明

text
export interface RuntimeIntegrityWatermark {
    version: '1.0.0';
    lastGlobalSequence: number;
    projectionRevision: string;
    schemaCatalogHash: string;
    streamFingerprintRevision: string;
    reportHash: string;
    auditedAt: string;
}

契约成员

成员种类签名说明
auditedAt属性auditedAt: string公开属性;类型、只读和可选状态以签名列为准。
lastGlobalSequence属性lastGlobalSequence: number公开属性;类型、只读和可选状态以签名列为准。
projectionRevision属性projectionRevision: string公开属性;类型、只读和可选状态以签名列为准。
reportHash属性reportHash: string公开属性;类型、只读和可选状态以签名列为准。
schemaCatalogHash属性schemaCatalogHash: string公开属性;类型、只读和可选状态以签名列为准。
streamFingerprintRevision属性streamFingerprintRevision: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

ScanCanonicalEventsRequest

Scan Canonical Events Request 接口,共包含 3 个公开字段或方法。

声明

text
export interface ScanCanonicalEventsRequest {
    afterGlobalSequence: number;
    limit: number;
    maxBytes: number;
}

契约成员

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

ScanCanonicalEventsResult

Scan Canonical Events Result 接口,共包含 4 个公开字段或方法。

声明

text
export interface ScanCanonicalEventsResult {
    events: PersistedFrameworkEvent[];
    scannedBytes: number;
    lastGlobalSequence: number;
    hasMore: boolean;
}

契约成员

成员种类签名说明
events属性events: PersistedFrameworkEvent<unknown>[]公开属性;类型、只读和可选状态以签名列为准。
hasMore属性hasMore: boolean公开属性;类型、只读和可选状态以签名列为准。
lastGlobalSequence属性lastGlobalSequence: number公开属性;类型、只读和可选状态以签名列为准。
scannedBytes属性scannedBytes: number公开属性;类型、只读和可选状态以签名列为准。