Skip to content

@codesoul-co/hypha-harness / index

模块用法

聚合 @codesoul-co/hypha-harness 的公共入口导出;应用应从包入口导入这些 Symbol,不应依赖内部文件路径。

从包入口导入

ts
import {
  InMemoryTraceRecorder,
  SessionProjector,
  UserScopedSessionQueue,
  createRunStartedEvent,
} from '@codesoul-co/hypha-harness';

import type {
  QueueTask,
  RegressionCase,
  ReplayFixture,
  RunRecord,
  SessionView,
} from '@codesoul-co/hypha-harness';

使用要点

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

公共导出

Symbol种类签名说明
InMemoryTraceRecordernew InMemoryTraceRecorder(): InMemoryTraceRecorderIn Memory Trace Recorder 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
SessionProjectornew SessionProjector(): SessionProjectorSession Projector 类,共公开 2 个构造函数或成员;精确签名见本条目的声明与成员表。
UserScopedSessionQueuenew UserScopedSessionQueue<T = unknown>(): UserScopedSessionQueue<T>User Scoped Session Queue 类,共公开 4 个构造函数或成员;精确签名见本条目的声明与成员表。
createRunStartedEvent函数createRunStartedEvent(run: RunRecord): FrameworkEventCreate Run Started Event 函数,提供 1 个公开调用签名;参数与返回类型见下表。
QueueTask接口interface QueueTaskQueue Task 接口,共包含 4 个公开字段或方法。
RegressionCase接口interface RegressionCaseRegression Case 接口,共包含 6 个公开字段或方法。
ReplayFixture接口interface ReplayFixtureReplay Fixture 接口,共包含 15 个公开字段或方法。
RunRecord接口interface RunRecordRun Record 接口,共包含 10 个公开字段或方法。
SessionView接口interface SessionViewSession View 接口,共包含 5 个公开字段或方法。

InMemoryTraceRecorder

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

  • 种类: 类
  • 导入: import { InMemoryTraceRecorder } from '@codesoul-co/hypha-harness';
  • 源码模块: index

声明

text
export declare class InMemoryTraceRecorder implements TraceRecorder {
    record(event: FrameworkEvent): Promise<void>;
    list(filter?: EventFilter): Promise<FrameworkEvent[]>;
}

公开成员

成员种类签名说明
constructor构造函数(): InMemoryTraceRecorder创建该类的实例。
list方法list(filter?: EventFilter): Promise<FrameworkEvent[]>公开方法;参数与返回类型以签名列为准。
record方法record(event: FrameworkEvent): Promise<void>公开方法;参数与返回类型以签名列为准。

SessionProjector

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

  • 种类: 类
  • 导入: import { SessionProjector } from '@codesoul-co/hypha-harness';
  • 源码模块: index

声明

text
export declare class SessionProjector {
    project(events: FrameworkEvent[]): SessionView[];
}

公开成员

成员种类签名说明
constructor构造函数(): SessionProjector创建该类的实例。
project方法project(events: FrameworkEvent[]): SessionView[]公开方法;参数与返回类型以签名列为准。

UserScopedSessionQueue

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

  • 种类: 类
  • 导入: import { UserScopedSessionQueue } from '@codesoul-co/hypha-harness';
  • 源码模块: index

声明

text
export declare class UserScopedSessionQueue<T = unknown> {
    enqueue(task: QueueTask<T>): number;
    dequeue(userId: string, sessionId: string): QueueTask<T> | null;
    size(userId: string, sessionId: string): number;
}

公开成员

成员种类签名说明
constructor构造函数<T = unknown>(): UserScopedSessionQueue<T>创建该类的实例。
dequeue方法dequeue(userId: string, sessionId: string): QueueTask<T> | null公开方法;参数与返回类型以签名列为准。
enqueue方法enqueue(task: QueueTask<T>): number公开方法;参数与返回类型以签名列为准。
size方法size(userId: string, sessionId: string): number公开方法;参数与返回类型以签名列为准。

createRunStartedEvent

Create Run Started Event 函数,提供 1 个公开调用签名;参数与返回类型见下表。

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

声明

text
export declare function createRunStartedEvent(run: RunRecord): FrameworkEvent;

调用签名

text
createRunStartedEvent(run: RunRecord): FrameworkEvent

参数

参数类型必需说明
runRunRecord<unknown, unknown>必需参数;接受的值由类型列定义。

返回值

  • 类型: FrameworkEvent<unknown>
  • 说明: 返回值契约由上述类型定义。

QueueTask

Queue Task 接口,共包含 4 个公开字段或方法。

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

声明

text
export interface QueueTask<T = unknown> {
    id: string;
    userId: string;
    sessionId: string;
    payload: T;
}

契约成员

成员种类签名说明
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
payload属性payload: T公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId: string公开属性;类型、只读和可选状态以签名列为准。
userId属性userId: string公开属性;类型、只读和可选状态以签名列为准。

RegressionCase

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

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

声明

text
export interface RegressionCase {
    id: string;
    fixture: ReplayFixture;
    actualEvents?: FrameworkEvent[];
    requiredChecks?: Array<'event_types' | 'state_path' | 'tool_calls' | 'policy_decisions' | 'output_contract'>;
    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?: ("output_contract" | "state_path" | "event_types" | "tool_calls" | "policy_decisions")[]公开属性;类型、只读和可选状态以签名列为准。

ReplayFixture

Replay Fixture 接口,共包含 15 个公开字段或方法。

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

声明

text
export interface ReplayFixture {
    id: string;
    version: string;
    runId: string;
    createdAt?: string;
    replaySpecRef?: SpecRef;
    events: FrameworkEvent[];
    eventTypes?: string[];
    statePath: string[];
    finalOutput?: unknown;
    toolCalls?: string[];
    modelCalls?: string[];
    policyDecisions?: string[];
    memoryReadSet?: string[];
    outputContract?: OutputContractSpec;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
createdAt属性createdAt?: string公开属性;类型、只读和可选状态以签名列为准。
events属性events: FrameworkEvent<unknown>[]公开属性;类型、只读和可选状态以签名列为准。
eventTypes属性eventTypes?: string[]公开属性;类型、只读和可选状态以签名列为准。
finalOutput属性finalOutput?: unknown公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
memoryReadSet属性memoryReadSet?: string[]公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
modelCalls属性modelCalls?: string[]公开属性;类型、只读和可选状态以签名列为准。
outputContract属性outputContract?: OutputContractSpec公开属性;类型、只读和可选状态以签名列为准。
policyDecisions属性policyDecisions?: string[]公开属性;类型、只读和可选状态以签名列为准。
replaySpecRef属性replaySpecRef?: SpecRef公开属性;类型、只读和可选状态以签名列为准。
runId属性runId: string公开属性;类型、只读和可选状态以签名列为准。
statePath属性statePath: string[]公开属性;类型、只读和可选状态以签名列为准。
toolCalls属性toolCalls?: string[]公开属性;类型、只读和可选状态以签名列为准。
version属性version: string公开属性;类型、只读和可选状态以签名列为准。

RunRecord

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

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

声明

text
export interface RunRecord<TInput = unknown, TOutput = unknown> {
    id: string;
    sessionId?: string;
    userId?: string;
    agentSystemId: string;
    status: 'queued' | 'running' | 'waiting_human' | 'completed' | 'failed' | 'cancelled';
    input: TInput;
    output?: TOutput;
    fsmSnapshot?: FSMSnapshot;
    createdAt: string;
    completedAt?: string;
}

契约成员

成员种类签名说明
agentSystemId属性agentSystemId: string公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt?: string公开属性;类型、只读和可选状态以签名列为准。
createdAt属性createdAt: string公开属性;类型、只读和可选状态以签名列为准。
fsmSnapshot属性fsmSnapshot?: FSMSnapshot公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
input属性input: TInput公开属性;类型、只读和可选状态以签名列为准。
output属性output?: TOutput公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId?: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: "completed" | "queued" | "running" | "cancelled" | "failed" | "waiting_human"公开属性;类型、只读和可选状态以签名列为准。
userId属性userId?: string公开属性;类型、只读和可选状态以签名列为准。

SessionView

Session View 接口,共包含 5 个公开字段或方法。

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

声明

text
export interface SessionView {
    id: string;
    userId: string;
    runIds: string[];
    status: 'active' | 'closed';
    updatedAt: string;
}

契约成员

成员种类签名说明
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
runIds属性runIds: string[]公开属性;类型、只读和可选状态以签名列为准。
status属性status: "active" | "closed"公开属性;类型、只读和可选状态以签名列为准。
updatedAt属性updatedAt: string公开属性;类型、只读和可选状态以签名列为准。
userId属性userId: string公开属性;类型、只读和可选状态以签名列为准。