Skip to content

@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 CollectedExecutionOutputCollected Execution Output 接口,共包含 6 个公开字段或方法。
ExecutionOutputArtifactManager接口interface ExecutionOutputArtifactManagerMinimal Artifact Manager port required by output collection.
ExecutionOutputCollectionContext接口interface ExecutionOutputCollectionContextIdentity and Artifact policy context supplied by the Execution composition root.
ExecutionOutputCollectionItem接口interface ExecutionOutputCollectionItemA bounded, content-addressed file that may be handed to Artifact collection.
ExecutionOutputCollectionPlan接口interface ExecutionOutputCollectionPlanDeterministic output of policy evaluation; creating Artifact records is a later side effect.
ExecutionOutputCollectionPolicy接口interface ExecutionOutputCollectionPolicyFramework-level rules for collecting files produced by an Execution.
ExecutionOutputCollectionResult接口interface ExecutionOutputCollectionResultExecution Output Collection Result 接口,共包含 5 个公开字段或方法。
ExecutionOutputCollector接口interface ExecutionOutputCollectorExecution Output Collector 接口,共包含 1 个公开字段或方法。
ExecutionOutputPlanner接口interface ExecutionOutputPlannerExecution 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'>;