Skip to content

@codesoul-co/hypha-core / contracts/artifact-gc

模块用法

用于声明并运行时校验契约。Artifact gc 模块公开 8 接口。

从包入口导入

ts
import type {
  ArtifactGarbageCollectionCandidate,
  ArtifactGarbageCollectionClaimRequest,
  ArtifactGarbageCollectionFailure,
  ArtifactGarbageCollectionRequest,
  ArtifactGarbageCollectionResult,
  ArtifactGarbageCollectionScanRequest,
  ArtifactGarbageCollector,
  DefaultArtifactGarbageCollectorOptions,
} from '@codesoul-co/hypha-core';

使用要点

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

公共导出

Symbol种类签名说明
ArtifactGarbageCollectionCandidate接口interface ArtifactGarbageCollectionCandidateArtifact Garbage Collection Candidate 接口,共包含 5 个公开字段或方法。
ArtifactGarbageCollectionClaimRequest接口interface ArtifactGarbageCollectionClaimRequestArtifact Garbage Collection Claim Request 接口,共包含 4 个公开字段或方法。
ArtifactGarbageCollectionFailure接口interface ArtifactGarbageCollectionFailureArtifact Garbage Collection Failure 接口,共包含 4 个公开字段或方法。
ArtifactGarbageCollectionRequest接口interface ArtifactGarbageCollectionRequestArtifact Garbage Collection Request 接口,共包含 4 个公开字段或方法。
ArtifactGarbageCollectionResult接口interface ArtifactGarbageCollectionResultArtifact Garbage Collection Result 接口,共包含 12 个公开字段或方法。
ArtifactGarbageCollectionScanRequest接口interface ArtifactGarbageCollectionScanRequestArtifact Garbage Collection Scan Request 接口,共包含 2 个公开字段或方法。
ArtifactGarbageCollector接口interface ArtifactGarbageCollectorArtifact Garbage Collector 接口,共包含 1 个公开字段或方法。
DefaultArtifactGarbageCollectorOptions接口interface DefaultArtifactGarbageCollectorOptionsDefault Artifact Garbage Collector Options 接口,共包含 5 个公开字段或方法。

ArtifactGarbageCollectionCandidate

Artifact Garbage Collection Candidate 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionCandidate } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionCandidate {
    storageRef: ArtifactStorageRef;
    contentHash: string;
    sizeBytes: number;
    versionIds: string[];
    profileRefs: SpecRef[];
}

契约成员

成员种类签名说明
contentHash属性contentHash: string公开属性;类型、只读和可选状态以签名列为准。
profileRefs属性profileRefs: SpecRef[]公开属性;类型、只读和可选状态以签名列为准。
sizeBytes属性sizeBytes: number公开属性;类型、只读和可选状态以签名列为准。
storageRef属性storageRef: ArtifactStorageRef公开属性;类型、只读和可选状态以签名列为准。
versionIds属性versionIds: string[]公开属性;类型、只读和可选状态以签名列为准。

ArtifactGarbageCollectionClaimRequest

Artifact Garbage Collection Claim Request 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionClaimRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionClaimRequest {
    claimId: string;
    claimedAt: string;
    staleBefore: string;
    candidate: ArtifactGarbageCollectionCandidate;
}

契约成员

成员种类签名说明
candidate属性candidate: ArtifactGarbageCollectionCandidate公开属性;类型、只读和可选状态以签名列为准。
claimedAt属性claimedAt: string公开属性;类型、只读和可选状态以签名列为准。
claimId属性claimId: string公开属性;类型、只读和可选状态以签名列为准。
staleBefore属性staleBefore: string公开属性;类型、只读和可选状态以签名列为准。

ArtifactGarbageCollectionFailure

Artifact Garbage Collection Failure 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionFailure } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionFailure {
    storageRef: ArtifactStorageRef;
    code: string;
    message: string;
    retryable: boolean;
}

契约成员

成员种类签名说明
code属性code: string公开属性;类型、只读和可选状态以签名列为准。
message属性message: string公开属性;类型、只读和可选状态以签名列为准。
retryable属性retryable: boolean公开属性;类型、只读和可选状态以签名列为准。
storageRef属性storageRef: ArtifactStorageRef公开属性;类型、只读和可选状态以签名列为准。

ArtifactGarbageCollectionRequest

Artifact Garbage Collection Request 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionRequest {
    operationId: string;
    dryRun?: boolean;
    limit?: number;
    claimTtlSeconds?: number;
}

契约成员

成员种类签名说明
claimTtlSeconds属性claimTtlSeconds?: number公开属性;类型、只读和可选状态以签名列为准。
dryRun属性dryRun?: boolean公开属性;类型、只读和可选状态以签名列为准。
limit属性limit?: number公开属性;类型、只读和可选状态以签名列为准。
operationId属性operationId: string公开属性;类型、只读和可选状态以签名列为准。

ArtifactGarbageCollectionResult

Artifact Garbage Collection Result 接口,共包含 12 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionResult } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionResult {
    operationId: string;
    dryRun: boolean;
    candidateObjects: number;
    claimedObjects: number;
    deletedObjects: number;
    missingObjects: number;
    skippedPolicyObjects: number;
    skippedConcurrentObjects: number;
    reclaimedBytes: number;
    failures: ArtifactGarbageCollectionFailure[];
    startedAt: string;
    completedAt: string;
}

契约成员

成员种类签名说明
candidateObjects属性candidateObjects: number公开属性;类型、只读和可选状态以签名列为准。
claimedObjects属性claimedObjects: number公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt: string公开属性;类型、只读和可选状态以签名列为准。
deletedObjects属性deletedObjects: number公开属性;类型、只读和可选状态以签名列为准。
dryRun属性dryRun: boolean公开属性;类型、只读和可选状态以签名列为准。
failures属性failures: ArtifactGarbageCollectionFailure[]公开属性;类型、只读和可选状态以签名列为准。
missingObjects属性missingObjects: number公开属性;类型、只读和可选状态以签名列为准。
operationId属性operationId: string公开属性;类型、只读和可选状态以签名列为准。
reclaimedBytes属性reclaimedBytes: number公开属性;类型、只读和可选状态以签名列为准。
skippedConcurrentObjects属性skippedConcurrentObjects: number公开属性;类型、只读和可选状态以签名列为准。
skippedPolicyObjects属性skippedPolicyObjects: number公开属性;类型、只读和可选状态以签名列为准。
startedAt属性startedAt: string公开属性;类型、只读和可选状态以签名列为准。

ArtifactGarbageCollectionScanRequest

Artifact Garbage Collection Scan Request 接口,共包含 2 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollectionScanRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollectionScanRequest {
    limit?: number;
    staleBefore: string;
}

契约成员

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

ArtifactGarbageCollector

Artifact Garbage Collector 接口,共包含 1 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ArtifactGarbageCollector } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface ArtifactGarbageCollector {
    collect(request: ArtifactGarbageCollectionRequest): Promise<ArtifactGarbageCollectionResult>;
}

契约成员

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

DefaultArtifactGarbageCollectorOptions

Default Artifact Garbage Collector Options 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { DefaultArtifactGarbageCollectorOptions } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/artifact-gc

声明

text
export interface DefaultArtifactGarbageCollectorOptions {
    profiles: ArtifactProfileSpec[];
    stores: ArtifactStoreProvider[];
    repository: ArtifactRecordRepository;
    idGenerator: () => string;
    now?: () => string;
}

契约成员

成员种类签名说明
idGenerator方法idGenerator(): string公开方法;参数与返回类型以签名列为准。
now方法now?(): string公开方法;参数与返回类型以签名列为准。
profiles属性profiles: ArtifactProfileSpec[]公开属性;类型、只读和可选状态以签名列为准。
repository属性repository: ArtifactRecordRepository公开属性;类型、只读和可选状态以签名列为准。
stores属性stores: ArtifactStoreProvider[]公开属性;类型、只读和可选状态以签名列为准。