Skip to content

@codesoul-co/hypha-testing / evaluation

Using this module

Use the Evaluation module for using the public contracts and operations for this capability boundary. It exports 3 classes, 1 function, 10 interfaces, 1 type.

Import from the package entrypoint

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';

// The complete export list is documented below.

Usage patterns

  • Use the 11 type/interface exports as static contracts in application code, adapters, or tests. Import them with import type; they do not exist at runtime.
  • The module exposes 3 classes as constructable runtime implementations. Each symbol entry lists its constructor and public methods.
  • The module exposes 1 function as direct operation entrypoints. Every overload, required/optional parameter, and return type is documented below.

Public exports

SymbolKindSignatureDescription
DeterministicEvaluatorclassnew DeterministicEvaluator(options?: DeterministicEvaluatorOptions): DeterministicEvaluatorDeterministic Evaluator class with 3 public constructor or member entries; its exact declarations are listed below.
OutputContractValidatorclassnew OutputContractValidator(options?: { now?: () => string; }): OutputContractValidatorOutput Contract Validator class with 2 public constructor or member entries; its exact declarations are listed below.
TraceCompletenessEvaluatorclassnew TraceCompletenessEvaluator(options?: TraceCompletenessEvaluatorOptions): TraceCompletenessEvaluatorTrace Completeness Evaluator class with 2 public constructor or member entries; its exact declarations are listed below.
validateJsonSchemaValuefunctionvalidateJsonSchemaValue(value: unknown, schema: JsonSchema, path?: string): JsonSchemaValidationIssue[]Validate JSON Schema Value function with 1 public call signature; parameters and return types are listed below.
DeterministicEvaluationInputinterfaceinterface DeterministicEvaluationInputDeterministic Evaluation Input interface with 7 public fields or methods.
DeterministicEvaluatorOptionsinterfaceinterface DeterministicEvaluatorOptionsDeterministic Evaluator Options interface with 9 public fields or methods.
EvaluationCheckResultinterfaceinterface EvaluationCheckResultEvaluation Check Result interface with 7 public fields or methods.
EvaluationEventContextinterfaceinterface EvaluationEventContextEvaluation Event Context interface with 5 public fields or methods.
EvaluationResultinterfaceinterface EvaluationResultEvaluation Result interface with 10 public fields or methods.
EvaluationSummaryinterfaceinterface EvaluationSummaryEvaluation Summary interface with 7 public fields or methods.
JsonSchemaValidationIssueinterfaceinterface JsonSchemaValidationIssueJSON Schema Validation Issue interface with 4 public fields or methods.
OutputContractValidationInputinterfaceinterface OutputContractValidationInputOutput Contract Validation Input interface with 5 public fields or methods.
TraceCompletenessEvaluatorOptionsinterfaceinterface TraceCompletenessEvaluatorOptionsTrace Completeness Evaluator Options interface with 3 public fields or methods.
TraceCompletenessInputinterfaceinterface TraceCompletenessInputTrace Completeness Input interface with 6 public fields or methods.
EvaluationStatustypetype EvaluationStatus = 'passed' | 'failed'Public type alias for Evaluation Status; the declaration contains its complete type expression.

DeterministicEvaluator

Deterministic Evaluator class with 3 public constructor or member entries; its exact declarations are listed below.

  • Kind: class
  • Import: import { DeterministicEvaluator } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Public members

MemberKindSignatureDescription
constructorconstructor(options?: DeterministicEvaluatorOptions): DeterministicEvaluatorCreates an instance of this class.
evaluatemethodevaluate(input: DeterministicEvaluationInput): EvaluationSummaryPublic method; parameters and return type are shown in the signature.
evaluateAndRecordmethodevaluateAndRecord(input: DeterministicEvaluationInput): Promise<EvaluationSummary>Public method; parameters and return type are shown in the signature.

OutputContractValidator

Output Contract Validator class with 2 public constructor or member entries; its exact declarations are listed below.

  • Kind: class
  • Import: import { OutputContractValidator } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Public members

MemberKindSignatureDescription
constructorconstructor(options?: { now?: () => string; }): OutputContractValidatorCreates an instance of this class.
validatemethodvalidate(input: OutputContractValidationInput): EvaluationResultPublic method; parameters and return type are shown in the signature.

TraceCompletenessEvaluator

Trace Completeness Evaluator class with 2 public constructor or member entries; its exact declarations are listed below.

  • Kind: class
  • Import: import { TraceCompletenessEvaluator } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Public members

MemberKindSignatureDescription
constructorconstructor(options?: TraceCompletenessEvaluatorOptions): TraceCompletenessEvaluatorCreates an instance of this class.
evaluatemethodevaluate(input: TraceCompletenessInput): EvaluationResultPublic method; parameters and return type are shown in the signature.

validateJsonSchemaValue

Validate JSON Schema Value function with 1 public call signature; parameters and return types are listed below.

  • Kind: function
  • Import: import { validateJsonSchemaValue } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
valueunknownYesRequired parameter; accepted values are defined by the type column.
schemaJsonSchemaYesRequired parameter; accepted values are defined by the type column.
pathstringNoOptional parameter; accepted values are defined by the type column.

Returns

  • Type: JsonSchemaValidationIssue[]
  • Description: The return contract is defined by the type shown above.

DeterministicEvaluationInput

Deterministic Evaluation Input interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { DeterministicEvaluationInput } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
evaluationSpecspropertyevaluationSpecs?: EvaluationSpec[]Public property; its type, readonly modifier and optionality are shown in the signature.
eventspropertyevents?: FrameworkEvent<unknown>[]Public property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
outputpropertyoutput?: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
outputContractspropertyoutputContracts?: OutputContractSpec[]Public property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
traceSpecspropertytraceSpecs?: TraceSpec[]Public property; its type, readonly modifier and optionality are shown in the signature.

DeterministicEvaluatorOptions

Deterministic Evaluator Options interface with 9 public fields or methods.

  • Kind: interface
  • Import: import type { DeterministicEvaluatorOptions } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
agentIdpropertyagentId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
eventRunIdpropertyeventRunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
nowmethodnow?(): stringPublic method; parameters and return type are shown in the signature.
outputValidatorpropertyoutputValidator?: OutputContractValidatorPublic property; its type, readonly modifier and optionality are shown in the signature.
sessionIdpropertysessionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
tracepropertytrace?: TraceRecorderPublic property; its type, readonly modifier and optionality are shown in the signature.
traceEvaluatorpropertytraceEvaluator?: TraceCompletenessEvaluatorPublic property; its type, readonly modifier and optionality are shown in the signature.
workspaceIdpropertyworkspaceId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

EvaluationCheckResult

Evaluation Check Result interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { EvaluationCheckResult } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
actualpropertyactual?: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
expectedpropertyexpected?: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
idpropertyid: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
messagepropertymessage: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
pathpropertypath?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
statuspropertystatus: EvaluationStatusPublic property; its type, readonly modifier and optionality are shown in the signature.

EvaluationEventContext

Evaluation Event Context interface with 5 public fields or methods.

  • Kind: interface
  • Import: import type { EvaluationEventContext } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
agentIdpropertyagentId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
sessionIdpropertysessionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
workspaceIdpropertyworkspaceId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

EvaluationResult

Evaluation Result interface with 10 public fields or methods.

  • Kind: interface
  • Import: import type { EvaluationResult } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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>;
}

Contract members

MemberKindSignatureDescription
checkspropertychecks: EvaluationCheckResult[]Public property; its type, readonly modifier and optionality are shown in the signature.
completedAtpropertycompletedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
evaluatorIdpropertyevaluatorId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
idpropertyid: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
scorepropertyscore: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
startedAtpropertystartedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
statuspropertystatus: EvaluationStatusPublic property; its type, readonly modifier and optionality are shown in the signature.
typepropertytype: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

EvaluationSummary

Evaluation Summary interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { EvaluationSummary } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
completedAtpropertycompletedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
idpropertyid: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
resultspropertyresults: EvaluationResult[]Public property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
scorepropertyscore: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
startedAtpropertystartedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
statuspropertystatus: EvaluationStatusPublic property; its type, readonly modifier and optionality are shown in the signature.

JsonSchemaValidationIssue

JSON Schema Validation Issue interface with 4 public fields or methods.

  • Kind: interface
  • Import: import type { JsonSchemaValidationIssue } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
actualpropertyactual?: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
expectedpropertyexpected?: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
messagepropertymessage: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
pathpropertypath: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

OutputContractValidationInput

Output Contract Validation Input interface with 5 public fields or methods.

  • Kind: interface
  • Import: import type { OutputContractValidationInput } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
contractpropertycontract: OutputContractSpecPublic property; its type, readonly modifier and optionality are shown in the signature.
evaluationIdpropertyevaluationId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
outputpropertyoutput: unknownPublic property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

TraceCompletenessEvaluatorOptions

Trace Completeness Evaluator Options interface with 3 public fields or methods.

  • Kind: interface
  • Import: import type { TraceCompletenessEvaluatorOptions } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
enforceLifecyclePairspropertyenforceLifecyclePairs?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
nowmethodnow?(): stringPublic method; parameters and return type are shown in the signature.
requireTerminalRunpropertyrequireTerminalRun?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.

TraceCompletenessInput

Trace Completeness Input interface with 6 public fields or methods.

  • Kind: interface
  • Import: import type { TraceCompletenessInput } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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

Contract members

MemberKindSignatureDescription
evaluationIdpropertyevaluationId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
eventspropertyevents: FrameworkEvent<unknown>[]Public property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
requiredEventTypespropertyrequiredEventTypes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
traceSpecpropertytraceSpec?: TraceSpecPublic property; its type, readonly modifier and optionality are shown in the signature.

EvaluationStatus

Public type alias for Evaluation Status; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { EvaluationStatus } from '@codesoul-co/hypha-testing';
  • Source module: evaluation

Declaration

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