/** * CSV parsing for module tree and symbol assignment LLM responses. */ export { formatCsvValue } from './csv-utils.js'; /** * Normalize an LLM-returned module path before validation. * * Fixes common LLM formatting quirks: * - Strips backticks and surrounding quotes * - Lowercases each segment * - Replaces underscores with hyphens * - Trims whitespace within segments * - Collapses consecutive dots */ export declare function normalizeModulePath(raw: string): string; /** * Validate a module slug. * Rules: ^[a-z][a-z0-9-]*$, max 50 chars, no consecutive/trailing hyphens */ export declare function isValidSlug(slug: string): boolean; /** * Validate a module path. * Rules: Must start with "project", dot-separated valid slugs */ export declare function isValidModulePath(path: string): boolean; export interface ModuleDefinitionRow { parentPath: string; slug: string; name: string; description: string; isTest: boolean; } export interface TreeParseResult { modules: ModuleDefinitionRow[]; errors: string[]; } /** * Parse Phase 1 LLM response (tree structure). * Expected CSV format: type,parent_path,slug,name,description,is_test * Also accepts legacy 5-column format without is_test. */ export declare function parseTreeCsv(content: string): TreeParseResult; export interface SymbolAssignmentRow { symbolId: number; modulePath: string; } export interface AssignmentParseResult { assignments: SymbolAssignmentRow[]; errors: string[]; } /** * Parse Phase 2 LLM response (symbol assignments). * Expected CSV format: type,symbol_id,module_path */ export declare function parseAssignmentCsv(content: string): AssignmentParseResult; export interface DeepenModuleRow { parentPath: string; slug: string; name: string; description: string; } export interface DeepenReassignRow { definitionId: number; targetModulePath: string; } export interface DeepenParseResult { newModules: DeepenModuleRow[]; reassignments: DeepenReassignRow[]; errors: string[]; } /** * Parse Phase 3 LLM response (deepen/split modules). * Expected CSV format: type,parent_path,slug,name,description,definition_id */ export declare function parseDeepenCsv(content: string): DeepenParseResult; //# sourceMappingURL=module-csv.d.ts.map