@codesoul-co/hypha-core / contracts/artifact-retention
模块用法
用于声明并运行时校验契约。Artifact retention 模块公开 7 接口、2 类型。
从包入口导入
ts
import type {
ArtifactRetentionDecision,
ArtifactRetentionEvaluationRequest,
ArtifactRetentionEvaluator,
ArtifactRetentionProcessor,
ArtifactRetentionProcessRequest,
ArtifactRetentionProcessResult,
DefaultArtifactRetentionProcessorOptions,
ArtifactRetentionAction,
} from '@codesoul-co/hypha-core';
// 完整导出列表见下方。使用要点
- 9 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用
import type,运行时不应依赖它们。
公共导出
| Symbol | 种类 | 签名 | 说明 |
|---|---|---|---|
ArtifactRetentionDecision | 接口 | interface ArtifactRetentionDecision | Artifact Retention Decision 接口,共包含 3 个公开字段或方法。 |
ArtifactRetentionEvaluationRequest | 接口 | interface ArtifactRetentionEvaluationRequest | Artifact Retention Evaluation Request 接口,共包含 3 个公开字段或方法。 |
ArtifactRetentionEvaluator | 接口 | interface ArtifactRetentionEvaluator | Artifact Retention Evaluator 接口,共包含 1 个公开字段或方法。 |
ArtifactRetentionProcessor | 接口 | interface ArtifactRetentionProcessor | Artifact Retention Processor 接口,共包含 1 个公开字段或方法。 |
ArtifactRetentionProcessRequest | 接口 | interface ArtifactRetentionProcessRequest | Artifact Retention Process Request 接口,共包含 6 个公开字段或方法。 |
ArtifactRetentionProcessResult | 接口 | interface ArtifactRetentionProcessResult | Artifact Retention Process Result 接口,共包含 7 个公开字段或方法。 |
DefaultArtifactRetentionProcessorOptions | 接口 | interface DefaultArtifactRetentionProcessorOptions | Default Artifact Retention Processor Options 接口,共包含 4 个公开字段或方法。 |
ArtifactRetentionAction | 类型 | type ArtifactRetentionAction = 'retain' | 'archive' | 'delete' | Artifact Retention Action 公共类型别名;完整类型表达式见声明。 |
ArtifactRetentionDecisionReason | 类型 | type ArtifactRetentionDecisionReason = 'not_due' | 'already_terminal' | 'archive_after' | 'delete_after' | 'expired' | 'legal_hold' | 'referenced' | 'retain_final' | 'retain_failure' | Artifact Retention Decision Reason 公共类型别名;完整类型表达式见声明。 |
ArtifactRetentionDecision
Artifact Retention Decision 接口,共包含 3 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionDecision } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionDecision {
action: ArtifactRetentionAction;
reason: ArtifactRetentionDecisionReason;
effectiveAt?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
action | 属性 | action: ArtifactRetentionAction | 公开属性;类型、只读和可选状态以签名列为准。 |
effectiveAt | 属性 | effectiveAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
reason | 属性 | reason: ArtifactRetentionDecisionReason | 公开属性;类型、只读和可选状态以签名列为准。 |
ArtifactRetentionEvaluationRequest
Artifact Retention Evaluation Request 接口,共包含 3 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionEvaluationRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionEvaluationRequest {
record: ArtifactRecord;
profile: ArtifactProfileSpec;
evaluatedAt: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
evaluatedAt | 属性 | evaluatedAt: string | 公开属性;类型、只读和可选状态以签名列为准。 |
profile | 属性 | profile: ArtifactProfileSpec | 公开属性;类型、只读和可选状态以签名列为准。 |
record | 属性 | record: ArtifactRecord | 公开属性;类型、只读和可选状态以签名列为准。 |
ArtifactRetentionEvaluator
Artifact Retention Evaluator 接口,共包含 1 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionEvaluator } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionEvaluator {
evaluate(request: ArtifactRetentionEvaluationRequest): ArtifactRetentionDecision;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
evaluate | 方法 | evaluate(request: ArtifactRetentionEvaluationRequest): ArtifactRetentionDecision | 公开方法;参数与返回类型以签名列为准。 |
ArtifactRetentionProcessor
Artifact Retention Processor 接口,共包含 1 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionProcessor } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionProcessor {
process(request: ArtifactRetentionProcessRequest): Promise<ArtifactRetentionProcessResult>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
process | 方法 | process(request: ArtifactRetentionProcessRequest): Promise<ArtifactRetentionProcessResult> | 公开方法;参数与返回类型以签名列为准。 |
ArtifactRetentionProcessRequest
Artifact Retention Process Request 接口,共包含 6 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionProcessRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionProcessRequest {
operationId: string;
principal: ExecutionPrincipal;
artifactId: string;
evaluatedAt?: string;
dryRun?: boolean;
idempotencyKey?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
artifactId | 属性 | artifactId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
dryRun | 属性 | dryRun?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
evaluatedAt | 属性 | evaluatedAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKey | 属性 | idempotencyKey?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
ArtifactRetentionProcessResult
Artifact Retention Process Result 接口,共包含 7 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ArtifactRetentionProcessResult } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface ArtifactRetentionProcessResult {
artifactId: string;
versionId: string;
workspaceId: string;
decision: ArtifactRetentionDecision;
/** True when this invocation applied the retention mutation. */
applied: boolean;
/** True when the same idempotent mutation was committed by an earlier attempt. */
replayed: boolean;
dryRun: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
applied | 属性 | applied: boolean | True when this invocation applied the retention mutation. |
artifactId | 属性 | artifactId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
decision | 属性 | decision: ArtifactRetentionDecision | 公开属性;类型、只读和可选状态以签名列为准。 |
dryRun | 属性 | dryRun: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
replayed | 属性 | replayed: boolean | True when the same idempotent mutation was committed by an earlier attempt. |
versionId | 属性 | versionId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
workspaceId | 属性 | workspaceId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
DefaultArtifactRetentionProcessorOptions
Default Artifact Retention Processor Options 接口,共包含 4 个公开字段或方法。
- 种类: 接口
- 导入:
import type { DefaultArtifactRetentionProcessorOptions } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export interface DefaultArtifactRetentionProcessorOptions {
manager: ArtifactManager;
repository: ArtifactRecordRepository;
evaluator?: ArtifactRetentionEvaluator;
now?: () => string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
evaluator | 属性 | evaluator?: ArtifactRetentionEvaluator | 公开属性;类型、只读和可选状态以签名列为准。 |
manager | 属性 | manager: ArtifactManager | 公开属性;类型、只读和可选状态以签名列为准。 |
now | 方法 | now?(): string | 公开方法;参数与返回类型以签名列为准。 |
repository | 属性 | repository: ArtifactRecordRepository | 公开属性;类型、只读和可选状态以签名列为准。 |
ArtifactRetentionAction
Artifact Retention Action 公共类型别名;完整类型表达式见声明。
- 种类: 类型
- 导入:
import type { ArtifactRetentionAction } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export type ArtifactRetentionAction = 'retain' | 'archive' | 'delete';ArtifactRetentionDecisionReason
Artifact Retention Decision Reason 公共类型别名;完整类型表达式见声明。
- 种类: 类型
- 导入:
import type { ArtifactRetentionDecisionReason } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/artifact-retention
声明
text
export type ArtifactRetentionDecisionReason = 'not_due' | 'already_terminal' | 'archive_after' | 'delete_after' | 'expired' | 'legal_hold' | 'referenced' | 'retain_final' | 'retain_failure';