import type { ExtensionContext, ToolResultEvent, TurnEndEvent } from '@earendil-works/pi-coding-agent'; import { type RequestTracker } from './request.js'; import type { RuntimeState } from './types.js'; export declare const DISCOVERY_SYSTEM_PROMPT: string; export interface DiscoveryEvidence { readonly id: string; readonly toolCallId: string; readonly toolName: string; readonly text: string; } export interface DiscoveryEvidenceReference { readonly id: string; readonly quote: string; } export interface DiscoveredFact { readonly kind: 'fact'; readonly content: string; readonly evidence: readonly DiscoveryEvidenceReference[]; } export interface DiscoveryOutput { readonly discoveries: readonly DiscoveredFact[]; } export type DiscoveryParseResult = { readonly ok: true; readonly output: DiscoveryOutput; } | { readonly ok: false; readonly failureKind: 'aborted' | 'provider' | 'invalid-response' | 'invalid-output'; }; interface DiscoveryDependencies { readonly getEpoch: () => number; readonly getState: () => RuntimeState; readonly clearPendingSnapshot: () => void; readonly persist: () => void; readonly requestTracker: RequestTracker; } export interface DiscoveryController { beginTurn(): void; resetForSession(): void; handleToolResult(event: ToolResultEvent): void; handleTurnEnd(event: TurnEndEvent, ctx: ExtensionContext): Promise; abortActive(): void; } export declare function parseDiscoveryResponse(response: unknown, evidence: readonly DiscoveryEvidence[]): DiscoveryParseResult; export declare function createDiscoveryPayload(evidence: readonly DiscoveryEvidence[]): string; export declare function createDiscoveryController(dependencies: DiscoveryDependencies): DiscoveryController; export {}; //# sourceMappingURL=discovery.d.ts.map