Skip to content

@codesoul-co/hypha-testing / evaluation

模块用法

用于使用该功能边界的公共契约与操作。Evaluation 模块公开 3 类、1 函数、10 接口、1 类型。

从包入口导入

ts
import {
  DeterministicEvaluator,
  OutputContractValidator,
  TraceCompletenessEvaluator,
  validateJsonSchemaValue,
} from '@codesoul-co/hypha-testing';

import type {
  DeterministicEvaluationInput,
  DeterministicEvaluatorOptions,
  EvaluationCheckResult,
  EvaluationEventContext,
  EvaluationResult,
  EvaluationSummary,
  JsonSchemaValidationIssue,
  OutputContractValidationInput,
} from '@codesoul-co/hypha-testing';

// 完整导出列表见下方。

使用要点

  • 11 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 3 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 1 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
DeterministicEvaluatornew DeterministicEvaluator(options?: DeterministicEvaluatorOptions): DeterministicEvaluatorDeterministic Evaluator 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
OutputContractValidatornew OutputContractValidator(options?: { now?: () => string; }): OutputContractValidatorOutput Contract Validator 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。
TraceCompletenessEvaluatornew TraceCompletenessEvaluator(options?: TraceCompletenessEvaluatorOptions): TraceCompletenessEvaluatorTrace Completeness Evaluator 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。
validateJsonSchemaValue函数validateJsonSchemaValue(value: unknown, schema: JsonSchema, path?: string): JsonSchemaValidationIssue[]Validate JSON Schema Value 函数,提供 1 个公开调用签名;参数与返回类型见下表。
DeterministicEvaluationInput接口interface DeterministicEvaluationInputDeterministic Evaluation Input 接口,共包含 7 个公开字段或方法。
DeterministicEvaluatorOptions接口interface DeterministicEvaluatorOptionsDeterministic Evaluator Options 接口,共包含 9 个公开字段或方法。
EvaluationCheckResult接口interface EvaluationCheckResultEvaluation Check Result 接口,共包含 7 个公开字段或方法。
EvaluationEventContext接口interface EvaluationEventContextEvaluation Event Context 接口,共包含 5 个公开字段或方法。
EvaluationResult接口interface EvaluationResultEvaluation Result 接口,共包含 10 个公开字段或方法。
EvaluationSummary接口interface EvaluationSummaryEvaluation Summary 接口,共包含 7 个公开字段或方法。
JsonSchemaValidationIssue接口interface JsonSchemaValidationIssueJSON Schema Validation Issue 接口,共包含 4 个公开字段或方法。
OutputContractValidationInput接口interface OutputContractValidationInputOutput Contract Validation Input 接口,共包含 5 个公开字段或方法。
TraceCompletenessEvaluatorOptions接口interface TraceCompletenessEvaluatorOptionsTrace Completeness Evaluator Options 接口,共包含 3 个公开字段或方法。
TraceCompletenessInput接口interface TraceCompletenessInputTrace Completeness Input 接口,共包含 6 个公开字段或方法。
EvaluationStatus类型type EvaluationStatus = 'passed' | 'failed'Evaluation Status 公共类型别名;完整类型表达式见声明。

DeterministicEvaluator

Deterministic Evaluator 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { DeterministicEvaluator } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export declare class DeterministicEvaluator {
    constructor(options?: DeterministicEvaluatorOptions);
    evaluate(input: DeterministicEvaluationInput): EvaluationSummary;
    evaluateAndRecord(input: DeterministicEvaluationInput): Promise<EvaluationSummary>;
}

公开成员

成员种类签名说明
constructor构造函数(options?: DeterministicEvaluatorOptions): DeterministicEvaluator创建该类的实例。
evaluate方法evaluate(input: DeterministicEvaluationInput): EvaluationSummary公开方法;参数与返回类型以签名列为准。
evaluateAndRecord方法evaluateAndRecord(input: DeterministicEvaluationInput): Promise<EvaluationSummary>公开方法;参数与返回类型以签名列为准。

OutputContractValidator

Output Contract Validator 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { OutputContractValidator } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export declare class OutputContractValidator {
    constructor(options?: {
            now?: () => string;
        });
    validate(input: OutputContractValidationInput): EvaluationResult;
}

公开成员

成员种类签名说明
constructor构造函数(options?: { now?: () => string; }): OutputContractValidator创建该类的实例。
validate方法validate(input: OutputContractValidationInput): EvaluationResult公开方法;参数与返回类型以签名列为准。

TraceCompletenessEvaluator

Trace Completeness Evaluator 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { TraceCompletenessEvaluator } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export declare class TraceCompletenessEvaluator {
    constructor(options?: TraceCompletenessEvaluatorOptions);
    evaluate(input: TraceCompletenessInput): EvaluationResult;
}

公开成员

成员种类签名说明
constructor构造函数(options?: TraceCompletenessEvaluatorOptions): TraceCompletenessEvaluator创建该类的实例。
evaluate方法evaluate(input: TraceCompletenessInput): EvaluationResult公开方法;参数与返回类型以签名列为准。

validateJsonSchemaValue

Validate JSON Schema Value 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { validateJsonSchemaValue } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export declare function validateJsonSchemaValue(value: unknown, schema: JsonSchema, path?: string): JsonSchemaValidationIssue[];

调用签名

text
validateJsonSchemaValue(value: unknown, schema: JsonSchema, path?: string): JsonSchemaValidationIssue[]

参数

参数类型必需说明
valueunknown必需参数;接受的值由类型列定义。
schemaJsonSchema必需参数;接受的值由类型列定义。
pathstring可选参数;接受的值由类型列定义。

返回值

  • 类型: JsonSchemaValidationIssue[]
  • 说明: 返回值契约由上述类型定义。

DeterministicEvaluationInput

Deterministic Evaluation Input 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { DeterministicEvaluationInput } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface DeterministicEvaluationInput {
    runId?: string;
    events?: FrameworkEvent[];
    output?: unknown;
    outputContracts?: OutputContractSpec[];
    traceSpecs?: TraceSpec[];
    evaluationSpecs?: EvaluationSpec[];
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
evaluationSpecs属性evaluationSpecs?: EvaluationSpec[]公开属性;类型、只读和可选状态以签名列为准。
events属性events?: FrameworkEvent<unknown>[]公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
output属性output?: unknown公开属性;类型、只读和可选状态以签名列为准。
outputContracts属性outputContracts?: OutputContractSpec[]公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。
traceSpecs属性traceSpecs?: TraceSpec[]公开属性;类型、只读和可选状态以签名列为准。

DeterministicEvaluatorOptions

Deterministic Evaluator Options 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { DeterministicEvaluatorOptions } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface DeterministicEvaluatorOptions {
    now?: () => string;
    outputValidator?: OutputContractValidator;
    traceEvaluator?: TraceCompletenessEvaluator;
    trace?: TraceRecorder;
    eventRunId?: string;
    sessionId?: string;
    workspaceId?: string;
    agentId?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
agentId属性agentId?: string公开属性;类型、只读和可选状态以签名列为准。
eventRunId属性eventRunId?: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
now方法now?(): string公开方法;参数与返回类型以签名列为准。
outputValidator属性outputValidator?: OutputContractValidator公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId?: string公开属性;类型、只读和可选状态以签名列为准。
trace属性trace?: TraceRecorder公开属性;类型、只读和可选状态以签名列为准。
traceEvaluator属性traceEvaluator?: TraceCompletenessEvaluator公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

EvaluationCheckResult

Evaluation Check Result 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { EvaluationCheckResult } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface EvaluationCheckResult {
    id: string;
    status: EvaluationStatus;
    message: string;
    path?: string;
    expected?: unknown;
    actual?: unknown;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
actual属性actual?: unknown公开属性;类型、只读和可选状态以签名列为准。
expected属性expected?: unknown公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
message属性message: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
path属性path?: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: EvaluationStatus公开属性;类型、只读和可选状态以签名列为准。

EvaluationEventContext

Evaluation Event Context 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { EvaluationEventContext } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface EvaluationEventContext {
    runId: string;
    sessionId?: string;
    workspaceId?: string;
    agentId?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
agentId属性agentId?: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
runId属性runId: string公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId?: string公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

EvaluationResult

Evaluation Result 接口,共包含 10 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { EvaluationResult } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface EvaluationResult {
    id: string;
    evaluatorId: string;
    type: string;
    status: EvaluationStatus;
    score: number;
    checks: EvaluationCheckResult[];
    runId?: string;
    startedAt: string;
    completedAt: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
checks属性checks: EvaluationCheckResult[]公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt: string公开属性;类型、只读和可选状态以签名列为准。
evaluatorId属性evaluatorId: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。
score属性score: number公开属性;类型、只读和可选状态以签名列为准。
startedAt属性startedAt: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: EvaluationStatus公开属性;类型、只读和可选状态以签名列为准。
type属性type: string公开属性;类型、只读和可选状态以签名列为准。

EvaluationSummary

Evaluation Summary 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { EvaluationSummary } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface EvaluationSummary {
    id: string;
    status: EvaluationStatus;
    score: number;
    results: EvaluationResult[];
    runId?: string;
    startedAt: string;
    completedAt: string;
}

契约成员

成员种类签名说明
completedAt属性completedAt: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
results属性results: EvaluationResult[]公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。
score属性score: number公开属性;类型、只读和可选状态以签名列为准。
startedAt属性startedAt: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: EvaluationStatus公开属性;类型、只读和可选状态以签名列为准。

JsonSchemaValidationIssue

JSON Schema Validation Issue 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { JsonSchemaValidationIssue } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface JsonSchemaValidationIssue {
    path: string;
    message: string;
    expected?: unknown;
    actual?: unknown;
}

契约成员

成员种类签名说明
actual属性actual?: unknown公开属性;类型、只读和可选状态以签名列为准。
expected属性expected?: unknown公开属性;类型、只读和可选状态以签名列为准。
message属性message: string公开属性;类型、只读和可选状态以签名列为准。
path属性path: string公开属性;类型、只读和可选状态以签名列为准。

OutputContractValidationInput

Output Contract Validation Input 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { OutputContractValidationInput } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface OutputContractValidationInput {
    contract: OutputContractSpec;
    output: unknown;
    runId?: string;
    evaluationId?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
contract属性contract: OutputContractSpec公开属性;类型、只读和可选状态以签名列为准。
evaluationId属性evaluationId?: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
output属性output: unknown公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。

TraceCompletenessEvaluatorOptions

Trace Completeness Evaluator Options 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { TraceCompletenessEvaluatorOptions } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface TraceCompletenessEvaluatorOptions {
    now?: () => string;
    enforceLifecyclePairs?: boolean;
    requireTerminalRun?: boolean;
}

契约成员

成员种类签名说明
enforceLifecyclePairs属性enforceLifecyclePairs?: boolean公开属性;类型、只读和可选状态以签名列为准。
now方法now?(): string公开方法;参数与返回类型以签名列为准。
requireTerminalRun属性requireTerminalRun?: boolean公开属性;类型、只读和可选状态以签名列为准。

TraceCompletenessInput

Trace Completeness Input 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { TraceCompletenessInput } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export interface TraceCompletenessInput {
    events: FrameworkEvent[];
    traceSpec?: TraceSpec;
    runId?: string;
    requiredEventTypes?: string[];
    evaluationId?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
evaluationId属性evaluationId?: string公开属性;类型、只读和可选状态以签名列为准。
events属性events: FrameworkEvent<unknown>[]公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
requiredEventTypes属性requiredEventTypes?: string[]公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。
traceSpec属性traceSpec?: TraceSpec公开属性;类型、只读和可选状态以签名列为准。

EvaluationStatus

Evaluation Status 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { EvaluationStatus } from '@codesoul-co/hypha-testing';
  • 源码模块: evaluation

声明

text
export type EvaluationStatus = 'passed' | 'failed';