/** * HyDE Generator Agent: pure LLM agent for generating hypothetical documents * in the target corpus voice. Uses free-text lens labels instead of enum strategies. */ import type { BaseLanguageModelInput } from '@langchain/core/language_models/base'; import type { HydeSourceFrame } from './hyde.frame.js'; import type { HydeTargetCorpus } from './lens.inferrer.js'; export interface HydeGeneratorOutput { text: string; } export interface HydeGenerateInput { /** Original intent or query text. */ sourceText: string; /** Free-text lens label from LensInferrer (e.g. "crypto infra VC"). */ lens: string; /** Which corpus voice to generate in. */ corpus: HydeTargetCorpus; /** Sanitized source-grounded frame. Absence preserves the exact legacy prompt. */ sourceFrame?: HydeSourceFrame; } /** Minimal structured model contract used for deterministic injection in tests. */ export interface HydeGeneratorStructuredModel { invoke(input: BaseLanguageModelInput, config?: { signal?: AbortSignal; }): Promise; } /** Build the frame-v1 generation prompt from sanitized source evidence. */ export declare function buildFrameHydePrompt(input: HydeGenerateInput & { sourceFrame: HydeSourceFrame; }): string; /** Generates hypothetical documents in a target corpus voice for semantic search. */ export declare class HydeGenerator { private model?; constructor(model?: HydeGeneratorStructuredModel); private getModel; /** Generate a hypothetical document for the given source text and lens. */ generate(input: HydeGenerateInput): Promise; }