import type { DocdexClient } from "../docdex/DocdexClient.js"; import type { AgentEvent, Provider } from "../providers/ProviderTypes.js"; import type { RunLogger } from "../runtime/RunLogger.js"; import type { AgentRequest, CodaliResponse } from "../agents/AgentProtocol.js"; import type { ContextManager } from "./ContextManager.js"; import type { ContextBundle, ContextImpactSummary, ContextImpactDiagnostics, ContextSnippet, ContextSymbolSummary, ContextAstSummary, ContextSearchResult, LaneScope } from "./Types.js"; export interface ContextAssemblerOptions { maxQueries?: number; maxHitsPerQuery?: number; snippetWindow?: number; impactMaxDepth?: number; impactMaxEdges?: number; maxFiles?: number; maxTotalBytes?: number; tokenBudget?: number; includeRepoMap?: boolean; includeImpact?: boolean; includeSnippets?: boolean; workspaceRoot?: string; readStrategy?: "docdex" | "fs"; focusMaxFileBytes?: number; peripheryMaxBytes?: number; skeletonizeLargeFiles?: boolean; serializationMode?: "bundle_text" | "json"; redactSecrets?: boolean; redactPatterns?: string[]; ignoreFilesFrom?: string[]; readOnlyPaths?: string[]; allowDocEdits?: boolean; preferredFiles?: string[]; recentFiles?: string[]; skipSearchWhenPreferred?: boolean; deepMode?: boolean; queryProvider?: Provider; queryTemperature?: number; agentId?: string; contextManager?: ContextManager; laneScope?: Omit; onEvent?: (event: AgentEvent) => void; logger?: RunLogger; } export interface ResearchToolRun { tool: string; ok: boolean; skipped?: boolean; durationMs?: number; notes?: string; error?: string; } export interface ResearchToolExecution { toolRuns: ResearchToolRun[]; warnings: string[]; outputs: { searchResults: ContextSearchResult[]; snippets: ContextSnippet[]; symbols: ContextSymbolSummary[]; ast: ContextAstSummary[]; impact: ContextImpactSummary[]; impactDiagnostics: ContextImpactDiagnostics[]; repoMap?: string; repoMapRaw?: string; dagSummary?: string; }; } export declare class ContextAssembler { private client; private options; private queryProvider?; private queryTemperature?; private agentId?; private contextManager?; private laneScope?; private onEvent?; private logger?; private deepScanPresetApplied; constructor(client: DocdexClient, options?: ContextAssemblerOptions); applyDeepScanPreset(): void; runResearchTools(request: string, context: ContextBundle): Promise; assemble(request: string, options?: { additionalQueries?: string[]; preferredFiles?: string[]; recentFiles?: string[]; forceFocusFiles?: string[]; }): Promise; buildContextRefreshOptions(request: AgentRequest): { additionalQueries: string[]; preferredFiles: string[]; }; fulfillAgentRequest(request: AgentRequest): Promise; } //# sourceMappingURL=ContextAssembler.d.ts.map