Skip to content

@codesoul-co/hypha-testing / regression

模块用法

用于使用该功能边界的公共契约与操作。Regression 模块公开 1 类、5 接口、1 类型。

从包入口导入

ts
import {
  RegressionRunner,
} from '@codesoul-co/hypha-testing';

import type {
  RegressionCase,
  RegressionCaseResult,
  RegressionRunnerOptions,
  RegressionRunResult,
  RegressionSpecRunInput,
  RegressionCheck,
} from '@codesoul-co/hypha-testing';

使用要点

  • 6 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 1 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。

公共导出

Symbol种类签名说明
RegressionRunnernew RegressionRunner(options?: RegressionRunnerOptions): RegressionRunnerRegression Runner 类,共公开 4 个构造函数或成员;精确签名见本条目的声明与成员表。
RegressionCase接口interface RegressionCaseRegression Case 接口,共包含 6 个公开字段或方法。
RegressionCaseResult接口interface RegressionCaseResultRegression Case Result 接口,共包含 8 个公开字段或方法。
RegressionRunnerOptions接口interface RegressionRunnerOptionsRegression Runner Options 接口,共包含 9 个公开字段或方法。
RegressionRunResult接口interface RegressionRunResultRegression Run Result 接口,共包含 7 个公开字段或方法。
RegressionSpecRunInput接口interface RegressionSpecRunInputRegression Spec Run Input 接口,共包含 9 个公开字段或方法。
RegressionCheck类型type RegressionCheck = 'event_types' | 'state_path' | 'tool_calls' | 'policy_decisions' | 'output_contract'Regression Check 公共类型别名;完整类型表达式见声明。

RegressionRunner

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

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

声明

text
export declare class RegressionRunner {
    constructor(options?: RegressionRunnerOptions);
    runCase(regressionCase: RegressionCase): RegressionCaseResult;
    runSpec(input: RegressionSpecRunInput): RegressionRunResult;
    runSpecAndRecord(input: RegressionSpecRunInput): Promise<RegressionRunResult>;
}

公开成员

成员种类签名说明
constructor构造函数(options?: RegressionRunnerOptions): RegressionRunner创建该类的实例。
runCase方法runCase(regressionCase: RegressionCase): RegressionCaseResult公开方法;参数与返回类型以签名列为准。
runSpec方法runSpec(input: RegressionSpecRunInput): RegressionRunResult公开方法;参数与返回类型以签名列为准。
runSpecAndRecord方法runSpecAndRecord(input: RegressionSpecRunInput): Promise<RegressionRunResult>公开方法;参数与返回类型以签名列为准。

RegressionCase

Regression Case 接口,共包含 6 个公开字段或方法。

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

声明

text
export interface RegressionCase {
    id: string;
    fixture: ReplayFixture;
    actualEvents?: FrameworkEvent[];
    requiredChecks?: RegressionCheck[];
    outputContract?: OutputContractSpec;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
actualEvents属性actualEvents?: FrameworkEvent<unknown>[]公开属性;类型、只读和可选状态以签名列为准。
fixture属性fixture: ReplayFixture公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
outputContract属性outputContract?: OutputContractSpec公开属性;类型、只读和可选状态以签名列为准。
requiredChecks属性requiredChecks?: RegressionCheck[]公开属性;类型、只读和可选状态以签名列为准。

RegressionCaseResult

Regression Case Result 接口,共包含 8 个公开字段或方法。

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

声明

text
export interface RegressionCaseResult {
    id: string;
    fixtureId: string;
    runId: string;
    status: EvaluationStatus;
    checks: EvaluationCheckResult[];
    traceDiff: TraceDiff;
    outputContractResult?: EvaluationResult;
    metadata?: Record<string, unknown>;
}

契约成员

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

RegressionRunnerOptions

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

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

声明

text
export interface RegressionRunnerOptions {
    replayEngine?: ReplayEngine;
    outputValidator?: OutputContractValidator;
    now?: () => string;
    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公开属性;类型、只读和可选状态以签名列为准。
replayEngine属性replayEngine?: ReplayEngine公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId?: string公开属性;类型、只读和可选状态以签名列为准。
trace属性trace?: TraceRecorder公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

RegressionRunResult

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

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

声明

text
export interface RegressionRunResult {
    id: string;
    status: EvaluationStatus;
    specId?: string;
    startedAt: string;
    completedAt: string;
    cases: RegressionCaseResult[];
    summary: {
        total: number;
        passed: number;
        failed: number;
    };
}

契约成员

成员种类签名说明
cases属性cases: RegressionCaseResult[]公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
specId属性specId?: string公开属性;类型、只读和可选状态以签名列为准。
startedAt属性startedAt: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: EvaluationStatus公开属性;类型、只读和可选状态以签名列为准。
summary属性summary: { total: number; passed: number; failed: number; }公开属性;类型、只读和可选状态以签名列为准。

RegressionSpecRunInput

Regression Spec Run Input 接口,共包含 9 个公开字段或方法。

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

声明

text
export interface RegressionSpecRunInput {
    spec: RegressionSpec;
    fixtures: ReplayFixture[] | Map<string, ReplayFixture>;
    actualEventsByFixtureId?: Map<string, FrameworkEvent[]>;
    outputContractsByFixtureId?: Map<string, OutputContractSpec>;
    runId?: string;
    sessionId?: string;
    workspaceId?: string;
    agentId?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
actualEventsByFixtureId属性actualEventsByFixtureId?: Map<string, FrameworkEvent<unknown>[]>公开属性;类型、只读和可选状态以签名列为准。
agentId属性agentId?: string公开属性;类型、只读和可选状态以签名列为准。
fixtures属性fixtures: ReplayFixture[] | Map<string, ReplayFixture>公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
outputContractsByFixtureId属性outputContractsByFixtureId?: Map<string, OutputContractSpec>公开属性;类型、只读和可选状态以签名列为准。
runId属性runId?: string公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId?: string公开属性;类型、只读和可选状态以签名列为准。
spec属性spec: RegressionSpec公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

RegressionCheck

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

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

声明

text
export type RegressionCheck = 'event_types' | 'state_path' | 'tool_calls' | 'policy_decisions' | 'output_contract';