@codesoul-co/hypha-core / contracts/execution-output
模块用法
用于声明并运行时校验契约。Execution output 模块公开 9 接口、2 类型。
从包入口导入
ts
import type {
CollectedExecutionOutput,
ExecutionOutputArtifactManager,
ExecutionOutputCollectionContext,
ExecutionOutputCollectionItem,
ExecutionOutputCollectionPlan,
ExecutionOutputCollectionPolicy,
ExecutionOutputCollectionResult,
ExecutionOutputCollector,
} from '@codesoul-co/hypha-core';
// 完整导出列表见下方。使用要点
- 11 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用
import type,运行时不应依赖它们。
公共导出
| Symbol | 种类 | 签名 | 说明 |
|---|---|---|---|
CollectedExecutionOutput | 接口 | interface CollectedExecutionOutput | Collected Execution Output 接口,共包含 6 个公开字段或方法。 |
ExecutionOutputArtifactManager | 接口 | interface ExecutionOutputArtifactManager | Minimal Artifact Manager port required by output collection. |
ExecutionOutputCollectionContext | 接口 | interface ExecutionOutputCollectionContext | Identity and Artifact policy context supplied by the Execution composition root. |
ExecutionOutputCollectionItem | 接口 | interface ExecutionOutputCollectionItem | A bounded, content-addressed file that may be handed to Artifact collection. |
ExecutionOutputCollectionPlan | 接口 | interface ExecutionOutputCollectionPlan | Deterministic output of policy evaluation; creating Artifact records is a later side effect. |
ExecutionOutputCollectionPolicy | 接口 | interface ExecutionOutputCollectionPolicy | Framework-level rules for collecting files produced by an Execution. |
ExecutionOutputCollectionResult | 接口 | interface ExecutionOutputCollectionResult | Execution Output Collection Result 接口,共包含 5 个公开字段或方法。 |
ExecutionOutputCollector | 接口 | interface ExecutionOutputCollector | Execution Output Collector 接口,共包含 1 个公开字段或方法。 |
ExecutionOutputPlanner | 接口 | interface ExecutionOutputPlanner | Execution Output Planner 接口,共包含 1 个公开字段或方法。 |
ExecutionOutputSkipReason | 类型 | type ExecutionOutputSkipReason = 'not_included' | 'excluded' | 'unsupported_mutation' | 'missing_integrity_evidence' | 'artifact_limit' | 'byte_limit' | Execution Output Skip Reason 公共类型别名;完整类型表达式见声明。 |
ExecutionOutputTerminalStatus | 类型 | type ExecutionOutputTerminalStatus = Exclude<CommandExecutionStatus, 'queued' | 'starting' | 'running' | 'cancelling'> | Execution Output Terminal Status 公共类型别名;完整类型表达式见声明。 |
CollectedExecutionOutput
Collected Execution Output 接口,共包含 6 个公开字段或方法。
- 种类: 接口
- 导入:
import type { CollectedExecutionOutput } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface CollectedExecutionOutput {
relativePath: string;
artifactRef: string;
versionId: string;
contentHash: string;
sizeBytes: number;
status: ArtifactStatus;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
artifactRef | 属性 | artifactRef: string | 公开属性;类型、只读和可选状态以签名列为准。 |
contentHash | 属性 | contentHash: string | 公开属性;类型、只读和可选状态以签名列为准。 |
relativePath | 属性 | relativePath: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sizeBytes | 属性 | sizeBytes: number | 公开属性;类型、只读和可选状态以签名列为准。 |
status | 属性 | status: ArtifactStatus | 公开属性;类型、只读和可选状态以签名列为准。 |
versionId | 属性 | versionId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputArtifactManager
Minimal Artifact Manager port required by output collection.
- 种类: 接口
- 导入:
import type { ExecutionOutputArtifactManager } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputArtifactManager {
createFromWorkspace(request: ArtifactFromWorkspaceRequest): Promise<ArtifactRecord>;
finalize(request: ArtifactFinalizeRequest): Promise<ArtifactRecord>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
createFromWorkspace | 方法 | createFromWorkspace(request: ArtifactFromWorkspaceRequest): Promise<ArtifactRecord> | 公开方法;参数与返回类型以签名列为准。 |
finalize | 方法 | finalize(request: ArtifactFinalizeRequest): Promise<ArtifactRecord> | 公开方法;参数与返回类型以签名列为准。 |
ExecutionOutputCollectionContext
Identity and Artifact policy context supplied by the Execution composition root.
- 种类: 接口
- 导入:
import type { ExecutionOutputCollectionContext } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollectionContext {
operationId: string;
principal: ExecutionPrincipal;
profileRef: SpecRef;
userId: string;
tenantId?: string;
workspaceId: string;
sessionId?: string;
runId?: string;
agentId?: string;
idempotencyKeyPrefix?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
agentId | 属性 | agentId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKeyPrefix | 属性 | idempotencyKeyPrefix?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
profileRef | 属性 | profileRef: SpecRef | 公开属性;类型、只读和可选状态以签名列为准。 |
runId | 属性 | runId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sessionId | 属性 | sessionId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
tenantId | 属性 | tenantId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
userId | 属性 | userId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
workspaceId | 属性 | workspaceId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputCollectionItem
A bounded, content-addressed file that may be handed to Artifact collection.
- 种类: 接口
- 导入:
import type { ExecutionOutputCollectionItem } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollectionItem {
relativePath: string;
contentHash: string;
sizeBytes: number;
kind: ArtifactKind;
mimeType?: string;
existingArtifactRef?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
contentHash | 属性 | contentHash: string | 公开属性;类型、只读和可选状态以签名列为准。 |
existingArtifactRef | 属性 | existingArtifactRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
kind | 属性 | kind: ArtifactKind | 公开属性;类型、只读和可选状态以签名列为准。 |
mimeType | 属性 | mimeType?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
relativePath | 属性 | relativePath: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sizeBytes | 属性 | sizeBytes: number | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputCollectionPlan
Deterministic output of policy evaluation; creating Artifact records is a later side effect.
- 种类: 接口
- 导入:
import type { ExecutionOutputCollectionPlan } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollectionPlan {
executionId: string;
status: ExecutionOutputTerminalStatus;
items: ExecutionOutputCollectionItem[];
existingArtifactRefs: string[];
totalBytes: number;
finalize: boolean;
skipped: Record<ExecutionOutputSkipReason, number>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
executionId | 属性 | executionId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
existingArtifactRefs | 属性 | existingArtifactRefs: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
finalize | 属性 | finalize: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
items | 属性 | items: ExecutionOutputCollectionItem[] | 公开属性;类型、只读和可选状态以签名列为准。 |
skipped | 属性 | skipped: Record<ExecutionOutputSkipReason, number> | 公开属性;类型、只读和可选状态以签名列为准。 |
status | 属性 | status: ExecutionOutputTerminalStatus | 公开属性;类型、只读和可选状态以签名列为准。 |
totalBytes | 属性 | totalBytes: number | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputCollectionPolicy
Framework-level rules for collecting files produced by an Execution.
- 种类: 接口
- 导入:
import type { ExecutionOutputCollectionPolicy } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollectionPolicy {
includePatterns?: string[];
excludePatterns?: string[];
maxArtifacts?: number;
maxTotalBytes?: number;
classifyByExtension?: boolean;
finalizeOnSuccess?: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
classifyByExtension | 属性 | classifyByExtension?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
excludePatterns | 属性 | excludePatterns?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
finalizeOnSuccess | 属性 | finalizeOnSuccess?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
includePatterns | 属性 | includePatterns?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
maxArtifacts | 属性 | maxArtifacts?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxTotalBytes | 属性 | maxTotalBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputCollectionResult
Execution Output Collection Result 接口,共包含 5 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionOutputCollectionResult } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollectionResult {
executionId: string;
collected: CollectedExecutionOutput[];
existingArtifactRefs: string[];
artifactRefs: string[];
finalizedArtifactRefs: string[];
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
artifactRefs | 属性 | artifactRefs: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
collected | 属性 | collected: CollectedExecutionOutput[] | 公开属性;类型、只读和可选状态以签名列为准。 |
executionId | 属性 | executionId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
existingArtifactRefs | 属性 | existingArtifactRefs: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
finalizedArtifactRefs | 属性 | finalizedArtifactRefs: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionOutputCollector
Execution Output Collector 接口,共包含 1 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionOutputCollector } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputCollector {
collect(plan: ExecutionOutputCollectionPlan, context: ExecutionOutputCollectionContext): Promise<ExecutionOutputCollectionResult>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
collect | 方法 | collect(plan: ExecutionOutputCollectionPlan, context: ExecutionOutputCollectionContext): Promise<ExecutionOutputCollectionResult> | 公开方法;参数与返回类型以签名列为准。 |
ExecutionOutputPlanner
Execution Output Planner 接口,共包含 1 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionOutputPlanner } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export interface ExecutionOutputPlanner {
plan(result: CommandExecutionResult, policy: ExecutionOutputCollectionPolicy): ExecutionOutputCollectionPlan;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
plan | 方法 | plan(result: CommandExecutionResult, policy: ExecutionOutputCollectionPolicy): ExecutionOutputCollectionPlan | 公开方法;参数与返回类型以签名列为准。 |
ExecutionOutputSkipReason
Execution Output Skip Reason 公共类型别名;完整类型表达式见声明。
- 种类: 类型
- 导入:
import type { ExecutionOutputSkipReason } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export type ExecutionOutputSkipReason = 'not_included' | 'excluded' | 'unsupported_mutation' | 'missing_integrity_evidence' | 'artifact_limit' | 'byte_limit';ExecutionOutputTerminalStatus
Execution Output Terminal Status 公共类型别名;完整类型表达式见声明。
- 种类: 类型
- 导入:
import type { ExecutionOutputTerminalStatus } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/execution-output
声明
text
export type ExecutionOutputTerminalStatus = Exclude<CommandExecutionStatus, 'queued' | 'starting' | 'running' | 'cancelling'>;