import type { EnginePoolHealth, RawSearchResult } from '../../types.js'; import { type Vertical } from './intent-router.js'; import { type EngineOutcome } from './engine-base.js'; import { type TimeRange } from './time-range.js'; export interface OrchestratorInput { query: string; category?: Vertical; fromDate?: string; toDate?: string; maxResults?: number; timeoutMs?: number; language?: string; includeDomains?: string[]; excludeDomains?: string[]; /** When true, each returned result carries a `_score_breakdown` field. * Wired from SearchInput.include_engine_outcomes at the provider layer. */ includeScoreBreakdown?: boolean; /** ISO 3166-1 alpha-2 country code. Threaded to engines that support a * geographic boost; advisory, not a strict filter. */ country?: string; /** Caller-supplied freshness window. Overrides any date hint inferred * from the query text. Resolved to a `fromDate` relative to now and * passed to engines; results older than the window are post-filtered * out (unless they have no published_date — kept conservatively). */ timeRange?: TimeRange; /** When true, the query is wrapped in double quotes before dispatch * (engines that honour `"..."` treat it as a phrase match) and any * result whose title+snippet does not contain the unquoted query as a * case-insensitive substring is dropped post-rerank. */ exactMatch?: boolean; } export interface OrchestratorOutput { vertical: Vertical; results: RawSearchResult[]; enginesUsed: string[]; outcomes: EngineOutcome[]; degraded: boolean; /** Set when the engine pool degraded during this dispatch — e.g. a thin * vertical starved and was backfilled from the general pool. Carries the * merged engine count + the reasons that fired. Consumed by core-provider, * which surfaces it as SearchOutput.engine_pool. */ pool_degraded?: EnginePoolHealth; } interface RunV1SearchOptions { _isFallback?: boolean; } export declare function runV1Search(input: OrchestratorInput, opts?: RunV1SearchOptions): Promise; export declare function _resetOrchestratorVerticalsForTest(): void; export {}; //# sourceMappingURL=orchestrator.d.ts.map