/** * NegotiationSummarizer — pure LLM pass that compresses one DiscoveryNegotiation * (potentially several KB of turn reasoning + outcome reasoning) into a * DiscoveryNegotiationDigest (≤256 bytes structured). The digest is what the decision- * question generator consumes, replacing the raw negotiation blob. * * Why: a 10-candidate discovery turn used to produce a 60+ KB prompt for the * question generator, which stalled upstream Gemini/OpenRouter routes and * dropped the connection at ~3 minutes. Per-negotiation summarization caps * the question-generator input at a fixed, predictable size. */ import { type DiscoveryNegotiationDigest } from "../../shared/schemas/negotiation-digest.schema.js"; import type { DiscoveryNegotiation } from "../../shared/schemas/discovery-question.schema.js"; export declare class NegotiationSummarizer { private model; constructor(); summarize(negotiation: DiscoveryNegotiation, options?: { signal?: AbortSignal; }): Promise; } /** * Deterministic fallback when the LLM summarizer fails or isn't wired. Produces * a minimal but valid digest so the question generator still has *some* signal. */ export declare function buildFallbackDigest(n: DiscoveryNegotiation): DiscoveryNegotiationDigest;