/** * Prompt builders for the two-phase module tree LLM process. */ import type { AnnotatedSymbolInfo, Module } from '../../../db/database.js'; import type { ModuleSymbol } from '../../../db/repositories/module-repository.js'; export interface DomainSummary { domain: string; count: number; sampleSymbols: Array<{ name: string; kind: string; role: string | null; }>; } export interface DirectoryInfo { path: string; symbolCount: number; } export interface TreeGenerationContext { totalSymbolCount: number; domains: DomainSummary[]; directoryStructure: DirectoryInfo[]; maxModules?: number; } /** * Build the system prompt for Phase 1 (tree structure generation). */ export declare function buildTreeSystemPrompt(): string; /** * Build the user prompt for Phase 1 (tree structure generation). */ export declare function buildTreeUserPrompt(context: TreeGenerationContext): string; /** * Check if a file path is a test file based on naming conventions. */ export declare function isTestFile(filePath: string): boolean; export interface SymbolForAssignment { id: number; name: string; kind: string; filePath: string; isExported: boolean; purpose: string | null; domain: string[] | null; role: string | null; extendsName: string | null; extendedByCount: number; } /** * Build the system prompt for Phase 2 (symbol assignment). */ export declare function buildAssignmentSystemPrompt(): string; /** * Format module tree for display in user prompt. */ export declare function formatModuleTreeForPrompt(modules: Module[], directoryHints?: Map): string; /** * Build the user prompt for Phase 2 (symbol assignment batch). */ export declare function buildAssignmentUserPrompt(modules: Module[], symbols: SymbolForAssignment[], directoryHints?: Map): string; /** * Convert AnnotatedSymbolInfo to SymbolForAssignment. */ export declare function toSymbolForAssignment(sym: AnnotatedSymbolInfo): SymbolForAssignment; export interface ModuleMemberForDeepening { definitionId: number; name: string; kind: string; filePath: string; isExported: boolean; } export interface ModuleForDeepening { id: number; fullPath: string; name: string; members: ModuleMemberForDeepening[]; } /** * Build the system prompt for Phase 3 (module deepening). */ export declare function buildDeepenSystemPrompt(): string; /** * Build the user prompt for Phase 3 (module deepening). */ export declare function buildDeepenUserPrompt(module: ModuleForDeepening): string; export interface AncestorSymbolGroup { moduleId: number; modulePath: string; symbols: ModuleSymbol[]; } export interface NewSubModuleInfo { path: string; name: string; description: string | null; } /** * Build the system prompt for ancestor rebalancing. */ export declare function buildRebalanceSystemPrompt(): string; /** * Build the system prompt for aggressive branch pushdown. * Unlike rebalance (conservative), this pushes ALL direct members to children. */ export declare function buildBranchPushdownSystemPrompt(): string; /** * Build the user prompt for ancestor rebalancing. */ export declare function buildRebalanceUserPrompt(ancestorSymbols: AncestorSymbolGroup[], newSubModules: NewSubModuleInfo[]): string; //# sourceMappingURL=module-prompts.d.ts.map