@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 ArtifactGarbageCollectionCandidate | Artifact Garbage Collection Candidate 接口,共包含 5 个公开字段或方法。 |
ArtifactGarbageCollectionClaimRequest | 接口 | interface ArtifactGarbageCollectionClaimRequest | Artifact Garbage Collection Claim Request 接口,共包含 4 个公开字段或方法。 |
ArtifactGarbageCollectionFailure | 接口 | interface ArtifactGarbageCollectionFailure | Artifact Garbage Collection Failure 接口,共包含 4 个公开字段或方法。 |
ArtifactGarbageCollectionRequest | 接口 | interface ArtifactGarbageCollectionRequest | Artifact Garbage Collection Request 接口,共包含 4 个公开字段或方法。 |
ArtifactGarbageCollectionResult | 接口 | interface ArtifactGarbageCollectionResult | Artifact Garbage Collection Result 接口,共包含 12 个公开字段或方法。 |
ArtifactGarbageCollectionScanRequest | 接口 | interface ArtifactGarbageCollectionScanRequest | Artifact Garbage Collection Scan Request 接口,共包含 2 个公开字段或方法。 |
ArtifactGarbageCollector | 接口 | interface ArtifactGarbageCollector | Artifact Garbage Collector 接口,共包含 1 个公开字段或方法。 |
DefaultArtifactGarbageCollectorOptions | 接口 | interface DefaultArtifactGarbageCollectorOptions | Default 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[] | 公开属性;类型、只读和可选状态以签名列为准。 |
