{"nodes": [{"id": "src_infrastructure_database_database_optimizer_ts", "label": "database-optimizer.ts", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L1"}, {"id": "database_optimizer_databaseoptimizer", "label": "DatabaseOptimizer", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L48"}, {"id": "database_optimizer_databaseoptimizer_constructor", "label": ".constructor()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L52"}, {"id": "database_optimizer_databaseoptimizer_analyzeperformance", "label": ".analyzePerformance()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L59"}, {"id": "database_optimizer_databaseoptimizer_analyzetables", "label": ".analyzeTables()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L74"}, {"id": "database_optimizer_databaseoptimizer_analyzeindexes", "label": ".analyzeIndexes()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L122"}, {"id": "database_optimizer_databaseoptimizer_analyzequeries", "label": ".analyzeQueries()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L157"}, {"id": "database_optimizer_databaseoptimizer_generateindexrecommendations", "label": ".generateIndexRecommendations()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L186"}, {"id": "database_optimizer_databaseoptimizer_analyzequerypatterns", "label": ".analyzeQueryPatterns()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L234"}, {"id": "database_optimizer_databaseoptimizer_generatequeryrecommendations", "label": ".generateQueryRecommendations()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L273"}, {"id": "database_optimizer_databaseoptimizer_assessquerycomplexity", "label": ".assessQueryComplexity()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L302"}, {"id": "database_optimizer_databaseoptimizer_recordquery", "label": ".recordQuery()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L320"}, {"id": "database_optimizer_databaseoptimizer_createindex", "label": ".createIndex()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L338"}, {"id": "database_optimizer_databaseoptimizer_dropindex", "label": ".dropIndex()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L349"}, {"id": "database_optimizer_databaseoptimizer_analyzedatabase", "label": ".analyzeDatabase()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L356"}, {"id": "database_optimizer_databaseoptimizer_extractcolumnsfromquery", "label": ".extractColumnsFromQuery()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L363"}, {"id": "database_optimizer_databaseoptimizer_extractcolumnfromcondition", "label": ".extractColumnFromCondition()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L389"}, {"id": "database_optimizer_databaseoptimizer_extractcolumnsfromindexsql", "label": ".extractColumnsFromIndexSQL()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L397"}, {"id": "database_optimizer_databaseoptimizer_generateoptimizationreport", "label": ".generateOptimizationReport()", "file_type": "code", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L408"}], "edges": [{"source": "src_infrastructure_database_database_optimizer_ts", "target": "database_optimizer_interface_js", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L6", "weight": 1.0}, {"source": "src_infrastructure_database_database_optimizer_ts", "target": "database_js", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L7", "weight": 1.0}, {"source": "src_infrastructure_database_database_optimizer_ts", "target": "better_sqlite3", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L8", "weight": 1.0}, {"source": "src_infrastructure_database_database_optimizer_ts", "target": "database_optimizer_databaseoptimizer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L48", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_constructor", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L52", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzeperformance", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L59", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzetables", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L74", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzeindexes", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L122", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzequeries", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L157", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_generateindexrecommendations", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L186", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzequerypatterns", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L234", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_generatequeryrecommendations", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L273", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_assessquerycomplexity", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L302", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_recordquery", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L320", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_createindex", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L338", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_dropindex", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L349", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_analyzedatabase", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L356", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_extractcolumnsfromquery", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L363", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_extractcolumnfromcondition", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L389", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_extractcolumnsfromindexsql", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L397", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer", "target": "database_optimizer_databaseoptimizer_generateoptimizationreport", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L408", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_analyzeperformance", "target": "database_optimizer_databaseoptimizer_analyzetables", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L60", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_analyzeperformance", "target": "database_optimizer_databaseoptimizer_analyzeindexes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L61", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_analyzeperformance", "target": "database_optimizer_databaseoptimizer_analyzequeries", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L62", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_analyzeindexes", "target": "database_optimizer_databaseoptimizer_extractcolumnsfromindexsql", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L139", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_generateindexrecommendations", "target": "database_optimizer_databaseoptimizer_analyzequerypatterns", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L190", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_generateindexrecommendations", "target": "database_optimizer_databaseoptimizer_extractcolumnsfromquery", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L215", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_analyzequerypatterns", "target": "database_optimizer_databaseoptimizer_extractcolumnfromcondition", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L248", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_extractcolumnsfromquery", "target": "database_optimizer_databaseoptimizer_extractcolumnfromcondition", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L371", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_generateoptimizationreport", "target": "database_optimizer_databaseoptimizer_analyzeperformance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L409", "weight": 1.0}, {"source": "database_optimizer_databaseoptimizer_generateoptimizationreport", "target": "database_optimizer_databaseoptimizer_generateindexrecommendations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "src/infrastructure/database/database-optimizer.ts", "source_location": "L410", "weight": 1.0}]}