/** * SQLite schema for the dependency tracer. * 6 tables: codebases, files, symbols, edges, module_deps, schema_version. */ export declare const SCHEMA_VERSION = 1; export declare const CREATE_TABLES = "\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS codebases (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n language TEXT NOT NULL CHECK(language IN ('haskell', 'rescript')),\n root_path TEXT NOT NULL,\n indexed_at TEXT,\n file_count INTEGER DEFAULT 0,\n symbol_count INTEGER DEFAULT 0\n);\n\nCREATE TABLE IF NOT EXISTS files (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n codebase_id INTEGER NOT NULL REFERENCES codebases(id) ON DELETE CASCADE,\n path TEXT NOT NULL,\n mtime_ms INTEGER NOT NULL,\n indexed_at TEXT NOT NULL,\n UNIQUE(codebase_id, path)\n);\n\nCREATE TABLE IF NOT EXISTS symbols (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n codebase_id INTEGER NOT NULL REFERENCES codebases(id) ON DELETE CASCADE,\n file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n qualified TEXT NOT NULL,\n kind TEXT NOT NULL CHECK(kind IN ('function','type','class','module','component','value','pattern')),\n line_start INTEGER,\n line_end INTEGER,\n exported INTEGER DEFAULT 1,\n metadata TEXT\n);\n\nCREATE TABLE IF NOT EXISTS edges (\n source_id INTEGER NOT NULL REFERENCES symbols(id) ON DELETE CASCADE,\n target_id INTEGER NOT NULL REFERENCES symbols(id) ON DELETE CASCADE,\n kind TEXT NOT NULL CHECK(kind IN ('calls','imports','uses_type','instantiates','opens','inherits')),\n UNIQUE(source_id, target_id, kind)\n);\n\nCREATE TABLE IF NOT EXISTS module_deps (\n source_file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,\n target_file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,\n dep_kind TEXT NOT NULL CHECK(dep_kind IN ('import','open','qualified_use')),\n UNIQUE(source_file_id, target_file_id, dep_kind)\n);\n\n-- Indexes for query performance\nCREATE INDEX IF NOT EXISTS idx_symbols_qualified ON symbols(qualified);\nCREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);\nCREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file_id);\nCREATE INDEX IF NOT EXISTS idx_symbols_codebase_kind ON symbols(codebase_id, kind);\nCREATE INDEX IF NOT EXISTS idx_edges_source ON edges(source_id);\nCREATE INDEX IF NOT EXISTS idx_edges_target ON edges(target_id);\nCREATE INDEX IF NOT EXISTS idx_module_deps_source ON module_deps(source_file_id);\nCREATE INDEX IF NOT EXISTS idx_module_deps_target ON module_deps(target_file_id);\nCREATE INDEX IF NOT EXISTS idx_files_codebase_path ON files(codebase_id, path);\n"; //# sourceMappingURL=schema.d.ts.map