Skip to content

@codesoul-co/hypha-inference / reasoning-registry

模块用法

用于注册并解析版本化能力或实现。Reasoning registry 模块公开 1 类、5 接口。

从包入口导入

ts
import {
  ReasoningStrategyRegistry,
} from '@codesoul-co/hypha-inference';

import type {
  ReasoningStrategy,
  ReasoningStrategyContext,
  ReasoningStrategyDescriptor,
  ReasoningStrategyReference,
  ReasoningStrategyRuntime,
} from '@codesoul-co/hypha-inference';

使用要点

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

公共导出

Symbol种类签名说明
ReasoningStrategyRegistrynew ReasoningStrategyRegistry(): ReasoningStrategyRegistryReasoning Strategy Registry 类,共公开 7 个构造函数或成员;精确签名见本条目的声明与成员表。
ReasoningStrategy接口interface ReasoningStrategyReasoning Strategy 接口,共包含 3 个公开字段或方法。
ReasoningStrategyContext接口interface ReasoningStrategyContextReasoning Strategy Context 接口,共包含 3 个公开字段或方法。
ReasoningStrategyDescriptor接口interface ReasoningStrategyDescriptorReasoning Strategy Descriptor 接口,共包含 9 个公开字段或方法。
ReasoningStrategyReference接口interface ReasoningStrategyReferenceReasoning Strategy Reference 接口,共包含 9 个公开字段或方法。
ReasoningStrategyRuntime接口interface ReasoningStrategyRuntimeReasoning Strategy Runtime 接口,共包含 8 个公开字段或方法。

ReasoningStrategyRegistry

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

  • 种类: 类
  • 导入: import { ReasoningStrategyRegistry } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export declare class ReasoningStrategyRegistry {
    register(strategy: ReasoningStrategy, options?: {
            replace?: boolean;
        }): void;
    unregister(id: string): boolean;
    get(idOrAlias: string): ReasoningStrategy | null;
    require(idOrAlias: string): ReasoningStrategy;
    has(idOrAlias: string): boolean;
    list(): ReasoningStrategyDescriptor[];
}

公开成员

成员种类签名说明
constructor构造函数(): ReasoningStrategyRegistry创建该类的实例。
get方法get(idOrAlias: string): ReasoningStrategy | null公开方法;参数与返回类型以签名列为准。
has方法has(idOrAlias: string): boolean公开方法;参数与返回类型以签名列为准。
list方法list(): ReasoningStrategyDescriptor[]公开方法;参数与返回类型以签名列为准。
register方法register(strategy: ReasoningStrategy, options?: { replace?: boolean; }): void公开方法;参数与返回类型以签名列为准。
require方法require(idOrAlias: string): ReasoningStrategy公开方法;参数与返回类型以签名列为准。
unregister方法unregister(id: string): boolean公开方法;参数与返回类型以签名列为准。

ReasoningStrategy

Reasoning Strategy 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReasoningStrategy } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export interface ReasoningStrategy {
    descriptor: ReasoningStrategyDescriptor;
    execute(context: ReasoningStrategyContext): Promise<InferenceResponse>;
    stream?(context: ReasoningStrategyContext): AsyncIterable<InferenceResponse>;
}

契约成员

成员种类签名说明
descriptor属性descriptor: ReasoningStrategyDescriptor公开属性;类型、只读和可选状态以签名列为准。
execute方法execute(context: ReasoningStrategyContext): Promise<InferenceResponse>公开方法;参数与返回类型以签名列为准。
stream方法stream?(context: ReasoningStrategyContext): AsyncIterable<InferenceResponse>公开方法;参数与返回类型以签名列为准。

ReasoningStrategyContext

Reasoning Strategy Context 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReasoningStrategyContext } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export interface ReasoningStrategyContext {
    request: ReasoningRequest;
    options: ReasoningOptions;
    runtime: ReasoningStrategyRuntime;
}

契约成员

成员种类签名说明
options属性options: ReasoningOptions公开属性;类型、只读和可选状态以签名列为准。
request属性request: ReasoningRequest<unknown>公开属性;类型、只读和可选状态以签名列为准。
runtime属性runtime: ReasoningStrategyRuntime公开属性;类型、只读和可选状态以签名列为准。

ReasoningStrategyDescriptor

Reasoning Strategy Descriptor 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReasoningStrategyDescriptor } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export interface ReasoningStrategyDescriptor {
    id: string;
    version: string;
    method: ReasoningMethod;
    name: string;
    description: string;
    aliases?: string[];
    references: ReasoningStrategyReference[];
    capabilities: {
        branching: boolean;
        graph: boolean;
        aggregation: boolean;
        streaming: boolean;
        toolLoop: boolean;
    };
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
aliases属性aliases?: string[]公开属性;类型、只读和可选状态以签名列为准。
capabilities属性capabilities: { branching: boolean; graph: boolean; aggregation: boolean; streaming: boolean; toolLoop: boolean; }公开属性;类型、只读和可选状态以签名列为准。
description属性description: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
method属性method: ReasoningMethod公开属性;类型、只读和可选状态以签名列为准。
name属性name: string公开属性;类型、只读和可选状态以签名列为准。
references属性references: ReasoningStrategyReference[]公开属性;类型、只读和可选状态以签名列为准。
version属性version: string公开属性;类型、只读和可选状态以签名列为准。

ReasoningStrategyReference

Reasoning Strategy Reference 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReasoningStrategyReference } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export interface ReasoningStrategyReference {
    kind: 'repository' | 'paper' | 'documentation';
    title: string;
    url: string;
    repository?: string;
    revision?: string;
    license?: string;
    official: boolean;
    usage: 'adapted' | 'referenced';
    notes?: string;
}

契约成员

成员种类签名说明
kind属性kind: "repository" | "paper" | "documentation"公开属性;类型、只读和可选状态以签名列为准。
license属性license?: string公开属性;类型、只读和可选状态以签名列为准。
notes属性notes?: string公开属性;类型、只读和可选状态以签名列为准。
official属性official: boolean公开属性;类型、只读和可选状态以签名列为准。
repository属性repository?: string公开属性;类型、只读和可选状态以签名列为准。
revision属性revision?: string公开属性;类型、只读和可选状态以签名列为准。
title属性title: string公开属性;类型、只读和可选状态以签名列为准。
url属性url: string公开属性;类型、只读和可选状态以签名列为准。
usage属性usage: "referenced" | "adapted"公开属性;类型、只读和可选状态以签名列为准。

ReasoningStrategyRuntime

Reasoning Strategy Runtime 接口,共包含 8 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReasoningStrategyRuntime } from '@codesoul-co/hypha-inference';
  • 源码模块: reasoning-registry

声明

text
export interface ReasoningStrategyRuntime {
    callProvider(metadata: Record<string, unknown>): Promise<InferenceResponse>;
    aggregate(responses: InferenceResponse[], defaultAggregation?: ReasoningOptions['aggregation']): Promise<InferenceResponse>;
    score(response: InferenceResponse, node: ThoughtNode): Promise<number>;
    withReasoningMetadata(response: InferenceResponse, reasoning: Record<string, unknown>): InferenceResponse;
    trace(event: ReasoningTraceEvent): Promise<void>;
    assertBudget(nodeCount?: number): void;
    readonly modelCalls: number;
    readonly maxNodes: number;
}

契约成员

成员种类签名说明
aggregate方法aggregate(responses: InferenceResponse[], defaultAggregation?: ReasoningOptions["aggregation"]): Promise<InferenceResponse>公开方法;参数与返回类型以签名列为准。
assertBudget方法assertBudget(nodeCount?: number): void公开方法;参数与返回类型以签名列为准。
callProvider方法callProvider(metadata: Record<string, unknown>): Promise<InferenceResponse>公开方法;参数与返回类型以签名列为准。
maxNodes属性readonly maxNodes: number公开属性;类型、只读和可选状态以签名列为准。
modelCalls属性readonly modelCalls: number公开属性;类型、只读和可选状态以签名列为准。
score方法score(response: InferenceResponse, node: ThoughtNode): Promise<number>公开方法;参数与返回类型以签名列为准。
trace方法trace(event: ReasoningTraceEvent): Promise<void>公开方法;参数与返回类型以签名列为准。
withReasoningMetadata方法withReasoningMetadata(response: InferenceResponse, reasoning: Record<string, unknown>): InferenceResponse公开方法;参数与返回类型以签名列为准。