code-auditor-mcp 1.21.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/GoAdapter.d.ts +53 -0
- package/dist/adapters/GoAdapter.d.ts.map +1 -0
- package/dist/adapters/GoAdapter.js +602 -0
- package/dist/adapters/GoAdapter.js.map +1 -0
- package/dist/adapters/GoConfig.d.ts +35 -0
- package/dist/adapters/GoConfig.d.ts.map +1 -0
- package/dist/adapters/GoConfig.js +155 -0
- package/dist/adapters/GoConfig.js.map +1 -0
- package/dist/adapters/LanguageAdapter.d.ts +135 -0
- package/dist/adapters/LanguageAdapter.d.ts.map +1 -0
- package/dist/adapters/LanguageAdapter.js +47 -0
- package/dist/adapters/LanguageAdapter.js.map +1 -0
- package/dist/adapters/TypeScriptAdapter.d.ts +43 -0
- package/dist/adapters/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/adapters/TypeScriptAdapter.js +386 -0
- package/dist/adapters/TypeScriptAdapter.js.map +1 -0
- package/dist/adapters/UniversalAnalyzer.d.ts +42 -0
- package/dist/adapters/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalAnalyzer.js +103 -0
- package/dist/adapters/UniversalAnalyzer.js.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +48 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js +178 -0
- package/dist/adapters/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts +21 -0
- package/dist/adapters/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/adapters/solidAnalyzerCompat.js +78 -0
- package/dist/adapters/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +103 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +425 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +117 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +618 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +129 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +473 -0
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +126 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.js +522 -0
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js +59 -0
- package/dist/analyzers/dataAccessAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/documentationAnalyzerCompat.js +52 -0
- package/dist/analyzers/documentationAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/dryAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/dryAnalyzerCompat.js +44 -0
- package/dist/analyzers/dryAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/schemaAnalyzerCompat.js +69 -0
- package/dist/analyzers/schemaAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts +20 -0
- package/dist/analyzers/solidAnalyzerCompat.d.ts.map +1 -0
- package/dist/analyzers/solidAnalyzerCompat.js +78 -0
- package/dist/analyzers/solidAnalyzerCompat.js.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +71 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +276 -0
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +82 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +489 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +48 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +175 -0
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +64 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +286 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +119 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +812 -0
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -0
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +20 -8
- package/dist/auditRunner.js.map +1 -1
- package/dist/codeIndexDB-enhanced.d.ts +80 -0
- package/dist/codeIndexDB-enhanced.d.ts.map +1 -0
- package/dist/codeIndexDB-enhanced.js +488 -0
- package/dist/codeIndexDB-enhanced.js.map +1 -0
- package/dist/codeIndexDb.js +2 -2
- package/dist/codeIndexDb.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +181 -0
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -0
- package/dist/languages/LanguageOrchestrator.js +365 -0
- package/dist/languages/LanguageOrchestrator.js.map +1 -0
- package/dist/languages/LanguageRegistry.d.ts +43 -0
- package/dist/languages/LanguageRegistry.d.ts.map +1 -0
- package/dist/languages/LanguageRegistry.js +86 -0
- package/dist/languages/LanguageRegistry.js.map +1 -0
- package/dist/languages/RuntimeManager.d.ts +181 -0
- package/dist/languages/RuntimeManager.d.ts.map +1 -0
- package/dist/languages/RuntimeManager.js +841 -0
- package/dist/languages/RuntimeManager.js.map +1 -0
- package/dist/languages/UniversalAnalyzer.d.ts +37 -0
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -0
- package/dist/languages/UniversalAnalyzer.js +101 -0
- package/dist/languages/UniversalAnalyzer.js.map +1 -0
- package/dist/languages/go/GoAdapter.d.ts +57 -0
- package/dist/languages/go/GoAdapter.d.ts.map +1 -0
- package/dist/languages/go/GoAdapter.js +360 -0
- package/dist/languages/go/GoAdapter.js.map +1 -0
- package/dist/languages/index.d.ts +13 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +23 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/types.d.ts +182 -0
- package/dist/languages/types.d.ts.map +1 -0
- package/dist/languages/types.js +5 -0
- package/dist/languages/types.js.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts +108 -0
- package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +1 -0
- package/dist/languages/typescript/TypeScriptAdapter.js +567 -0
- package/dist/languages/typescript/TypeScriptAdapter.js.map +1 -0
- package/dist/languages/typescript/test-extraction.d.ts +2 -0
- package/dist/languages/typescript/test-extraction.d.ts.map +1 -0
- package/dist/languages/typescript/test-extraction.js +36 -0
- package/dist/languages/typescript/test-extraction.js.map +1 -0
- package/dist/mcp-tools-shared.d.ts +3 -0
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +123 -2
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp.js +3 -0
- package/dist/mcp.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +267 -0
- package/dist/types/crossLanguage.d.ts.map +1 -0
- package/dist/types/crossLanguage.js +6 -0
- package/dist/types/crossLanguage.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +6 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +12 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/package.json +19 -20
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Code Index Database for Cross-Language Support
|
|
3
|
+
* Extends the existing CodeIndexDB with multi-language capabilities
|
|
4
|
+
*/
|
|
5
|
+
import * as FlexSearch from 'flexsearch';
|
|
6
|
+
import { CodeIndexDB } from './codeIndexDB.js';
|
|
7
|
+
/**
|
|
8
|
+
* Enhanced CodeIndexDB with cross-language support
|
|
9
|
+
* Maintains backward compatibility while adding new capabilities
|
|
10
|
+
*/
|
|
11
|
+
export class EnhancedCodeIndexDB extends CodeIndexDB {
|
|
12
|
+
// New collections for cross-language support
|
|
13
|
+
crossLanguageEntitiesCollection = null;
|
|
14
|
+
crossReferencesCollection = null;
|
|
15
|
+
apiContractsCollection = null;
|
|
16
|
+
// Enhanced search index for cross-language entities
|
|
17
|
+
crossLanguageSearchIndex;
|
|
18
|
+
migrationCompleted = false;
|
|
19
|
+
constructor(dbPath = ':memory:') {
|
|
20
|
+
super(dbPath);
|
|
21
|
+
// Initialize enhanced FlexSearch for cross-language entities
|
|
22
|
+
const { Document } = FlexSearch;
|
|
23
|
+
this.crossLanguageSearchIndex = new Document({
|
|
24
|
+
document: {
|
|
25
|
+
id: '$loki',
|
|
26
|
+
index: [
|
|
27
|
+
{
|
|
28
|
+
field: 'name',
|
|
29
|
+
tokenize: 'full',
|
|
30
|
+
optimize: true,
|
|
31
|
+
resolution: 9,
|
|
32
|
+
bidirectional: true,
|
|
33
|
+
weight: 10
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
field: 'signature',
|
|
37
|
+
tokenize: 'full',
|
|
38
|
+
optimize: true,
|
|
39
|
+
resolution: 9,
|
|
40
|
+
weight: 9
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
field: 'purpose',
|
|
44
|
+
tokenize: 'full',
|
|
45
|
+
optimize: true,
|
|
46
|
+
resolution: 9,
|
|
47
|
+
weight: 8
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
field: 'context',
|
|
51
|
+
tokenize: 'full',
|
|
52
|
+
optimize: true,
|
|
53
|
+
resolution: 9,
|
|
54
|
+
weight: 7
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
field: 'language',
|
|
58
|
+
tokenize: 'full',
|
|
59
|
+
optimize: true,
|
|
60
|
+
resolution: 9,
|
|
61
|
+
weight: 6
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
field: 'type',
|
|
65
|
+
tokenize: 'full',
|
|
66
|
+
optimize: true,
|
|
67
|
+
resolution: 9,
|
|
68
|
+
weight: 6
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
field: 'searchTokens',
|
|
72
|
+
tokenize: 'full',
|
|
73
|
+
optimize: true,
|
|
74
|
+
resolution: 9,
|
|
75
|
+
weight: 5
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
field: 'file',
|
|
79
|
+
tokenize: 'full',
|
|
80
|
+
optimize: true,
|
|
81
|
+
resolution: 9,
|
|
82
|
+
weight: 3
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Initialize enhanced collections
|
|
90
|
+
*/
|
|
91
|
+
async initializeEnhanced() {
|
|
92
|
+
await this.initialize(); // Initialize base collections first
|
|
93
|
+
// Initialize cross-language collections
|
|
94
|
+
this.crossLanguageEntitiesCollection = this.getDatabase().addCollection('crossLanguageEntities', {
|
|
95
|
+
indices: ['id', 'name', 'language', 'type', 'file'],
|
|
96
|
+
unique: ['id']
|
|
97
|
+
});
|
|
98
|
+
this.crossReferencesCollection = this.getDatabase().addCollection('crossReferences', {
|
|
99
|
+
indices: ['sourceId', 'targetId', 'sourceLanguage', 'targetLanguage', 'type']
|
|
100
|
+
});
|
|
101
|
+
this.apiContractsCollection = this.getDatabase().addCollection('apiContracts', {
|
|
102
|
+
indices: ['entityId', 'version']
|
|
103
|
+
});
|
|
104
|
+
console.log('[EnhancedCodeIndexDB] Cross-language collections initialized');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Migrate existing data to cross-language format
|
|
108
|
+
*/
|
|
109
|
+
async migrateToEnhanced(options = {
|
|
110
|
+
preserveExisting: true,
|
|
111
|
+
enhanceMetadata: true,
|
|
112
|
+
buildReferences: false,
|
|
113
|
+
validateContracts: false
|
|
114
|
+
}) {
|
|
115
|
+
if (this.migrationCompleted) {
|
|
116
|
+
console.log('[EnhancedCodeIndexDB] Migration already completed');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
console.log('[EnhancedCodeIndexDB] Starting migration to enhanced schema...');
|
|
120
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
121
|
+
await this.initializeEnhanced();
|
|
122
|
+
}
|
|
123
|
+
const adapter = new DefaultCompatibilityAdapter();
|
|
124
|
+
// Migrate existing functions
|
|
125
|
+
const existingFunctions = await this.getAllFunctions();
|
|
126
|
+
for (const func of existingFunctions) {
|
|
127
|
+
const entity = adapter.convertFunction(func);
|
|
128
|
+
await this.addCrossLanguageEntity(entity);
|
|
129
|
+
}
|
|
130
|
+
// Migrate existing components (if any)
|
|
131
|
+
// Note: This assumes components are stored somehow in the base class
|
|
132
|
+
// Implementation would depend on how components are currently stored
|
|
133
|
+
console.log(`[EnhancedCodeIndexDB] Migrated ${existingFunctions.length} functions to cross-language format`);
|
|
134
|
+
this.migrationCompleted = true;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Add a cross-language entity to the index
|
|
138
|
+
*/
|
|
139
|
+
async addCrossLanguageEntity(entity) {
|
|
140
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
141
|
+
await this.initializeEnhanced();
|
|
142
|
+
}
|
|
143
|
+
// Ensure required fields
|
|
144
|
+
const enhancedEntity = {
|
|
145
|
+
...entity,
|
|
146
|
+
id: entity.id || this.generateEntityId(entity),
|
|
147
|
+
searchTokens: entity.searchTokens || this.generateSearchTokens(entity),
|
|
148
|
+
createdAt: new Date(),
|
|
149
|
+
updatedAt: new Date()
|
|
150
|
+
};
|
|
151
|
+
// Check for existing entity
|
|
152
|
+
const existing = this.crossLanguageEntitiesCollection.findOne({ id: enhancedEntity.id });
|
|
153
|
+
if (existing) {
|
|
154
|
+
// Update existing
|
|
155
|
+
Object.assign(existing, enhancedEntity);
|
|
156
|
+
existing.updatedAt = new Date();
|
|
157
|
+
this.crossLanguageEntitiesCollection.update(existing);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// Add new
|
|
161
|
+
this.crossLanguageEntitiesCollection.insert(enhancedEntity);
|
|
162
|
+
}
|
|
163
|
+
// Update search index
|
|
164
|
+
this.crossLanguageSearchIndex.add(enhancedEntity);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Add cross-reference between entities
|
|
168
|
+
*/
|
|
169
|
+
async addCrossReference(reference) {
|
|
170
|
+
if (!this.crossReferencesCollection) {
|
|
171
|
+
await this.initializeEnhanced();
|
|
172
|
+
}
|
|
173
|
+
const refDoc = {
|
|
174
|
+
...reference,
|
|
175
|
+
createdAt: new Date(),
|
|
176
|
+
updatedAt: new Date()
|
|
177
|
+
};
|
|
178
|
+
this.crossReferencesCollection.insert(refDoc);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Add API contract for an entity
|
|
182
|
+
*/
|
|
183
|
+
async addAPIContract(entityId, contract) {
|
|
184
|
+
if (!this.apiContractsCollection) {
|
|
185
|
+
await this.initializeEnhanced();
|
|
186
|
+
}
|
|
187
|
+
const contractDoc = {
|
|
188
|
+
...contract,
|
|
189
|
+
entityId,
|
|
190
|
+
createdAt: new Date(),
|
|
191
|
+
updatedAt: new Date()
|
|
192
|
+
};
|
|
193
|
+
// Remove existing contract for this entity
|
|
194
|
+
this.apiContractsCollection.removeWhere({ entityId });
|
|
195
|
+
// Add new contract
|
|
196
|
+
this.apiContractsCollection.insert(contractDoc);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Search cross-language entities
|
|
200
|
+
*/
|
|
201
|
+
async searchCrossLanguage(query, options = {}) {
|
|
202
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
203
|
+
await this.initializeEnhanced();
|
|
204
|
+
}
|
|
205
|
+
// Perform FlexSearch
|
|
206
|
+
const searchResults = this.crossLanguageSearchIndex.search(query, {
|
|
207
|
+
limit: 50,
|
|
208
|
+
enrich: true
|
|
209
|
+
});
|
|
210
|
+
const results = [];
|
|
211
|
+
for (const result of searchResults) {
|
|
212
|
+
for (const doc of result.result) {
|
|
213
|
+
const entity = this.crossLanguageEntitiesCollection.get(doc.id);
|
|
214
|
+
if (!entity)
|
|
215
|
+
continue;
|
|
216
|
+
// Apply filters
|
|
217
|
+
if (options.languages && !options.languages.includes(entity.language))
|
|
218
|
+
continue;
|
|
219
|
+
if (options.types && !options.types.includes(entity.type))
|
|
220
|
+
continue;
|
|
221
|
+
const searchResult = {
|
|
222
|
+
entity,
|
|
223
|
+
score: 1.0, // FlexSearch doesn't provide scores directly
|
|
224
|
+
matches: [result.field] // Field that matched
|
|
225
|
+
};
|
|
226
|
+
// Include references if requested
|
|
227
|
+
if (options.includeReferences) {
|
|
228
|
+
searchResult.references = this.crossReferencesCollection.find({
|
|
229
|
+
$or: [
|
|
230
|
+
{ sourceId: entity.id },
|
|
231
|
+
{ targetId: entity.id }
|
|
232
|
+
]
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
// Include contracts if requested
|
|
236
|
+
if (options.includeContracts) {
|
|
237
|
+
searchResult.contracts = this.apiContractsCollection.find({ entityId: entity.id });
|
|
238
|
+
}
|
|
239
|
+
results.push(searchResult);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return results;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Find entity by ID
|
|
246
|
+
*/
|
|
247
|
+
async findEntityById(id) {
|
|
248
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
249
|
+
await this.initializeEnhanced();
|
|
250
|
+
}
|
|
251
|
+
return this.crossLanguageEntitiesCollection.findOne({ id }) || null;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Find entities by language
|
|
255
|
+
*/
|
|
256
|
+
async findEntitiesByLanguage(language) {
|
|
257
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
258
|
+
await this.initializeEnhanced();
|
|
259
|
+
}
|
|
260
|
+
return this.crossLanguageEntitiesCollection.find({ language });
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Find entities by type
|
|
264
|
+
*/
|
|
265
|
+
async findEntitiesByType(type) {
|
|
266
|
+
if (!this.crossLanguageEntitiesCollection) {
|
|
267
|
+
await this.initializeEnhanced();
|
|
268
|
+
}
|
|
269
|
+
return this.crossLanguageEntitiesCollection.find({ type });
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Get cross-references for an entity
|
|
273
|
+
*/
|
|
274
|
+
async getCrossReferences(entityId) {
|
|
275
|
+
if (!this.crossReferencesCollection) {
|
|
276
|
+
await this.initializeEnhanced();
|
|
277
|
+
}
|
|
278
|
+
return this.crossReferencesCollection.find({
|
|
279
|
+
$or: [
|
|
280
|
+
{ sourceId: entityId },
|
|
281
|
+
{ targetId: entityId }
|
|
282
|
+
]
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Generate dependency graph
|
|
287
|
+
*/
|
|
288
|
+
async generateDependencyGraph(languages) {
|
|
289
|
+
if (!this.crossLanguageEntitiesCollection || !this.crossReferencesCollection) {
|
|
290
|
+
await this.initializeEnhanced();
|
|
291
|
+
}
|
|
292
|
+
const entities = languages
|
|
293
|
+
? this.crossLanguageEntitiesCollection.find({ language: { $in: languages } })
|
|
294
|
+
: this.crossLanguageEntitiesCollection.find();
|
|
295
|
+
const references = this.crossReferencesCollection.find();
|
|
296
|
+
const nodes = entities.map(entity => ({
|
|
297
|
+
id: entity.id,
|
|
298
|
+
name: entity.name,
|
|
299
|
+
language: entity.language,
|
|
300
|
+
type: entity.type,
|
|
301
|
+
file: entity.file,
|
|
302
|
+
weight: entity.complexity || 1
|
|
303
|
+
}));
|
|
304
|
+
const edges = references.map(ref => ({
|
|
305
|
+
from: ref.sourceId,
|
|
306
|
+
to: ref.targetId,
|
|
307
|
+
type: ref.type,
|
|
308
|
+
weight: ref.confidence,
|
|
309
|
+
protocol: ref.protocol
|
|
310
|
+
}));
|
|
311
|
+
// TODO: Implement cycle detection
|
|
312
|
+
const cycles = [];
|
|
313
|
+
return {
|
|
314
|
+
nodes,
|
|
315
|
+
edges,
|
|
316
|
+
cycles,
|
|
317
|
+
metrics: {
|
|
318
|
+
totalNodes: nodes.length,
|
|
319
|
+
totalEdges: edges.length,
|
|
320
|
+
cycleCount: cycles.length,
|
|
321
|
+
averageDepth: 0, // TODO: Calculate
|
|
322
|
+
maxDepth: 0, // TODO: Calculate
|
|
323
|
+
stronglyConnectedComponents: 0 // TODO: Calculate
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Get analysis summary
|
|
329
|
+
*/
|
|
330
|
+
async getAnalysisSummary() {
|
|
331
|
+
if (!this.crossLanguageEntitiesCollection || !this.crossReferencesCollection) {
|
|
332
|
+
await this.initializeEnhanced();
|
|
333
|
+
}
|
|
334
|
+
const entities = this.crossLanguageEntitiesCollection.find();
|
|
335
|
+
const references = this.crossReferencesCollection.find();
|
|
336
|
+
const contracts = this.apiContractsCollection.find();
|
|
337
|
+
const entitiesByLanguage = {};
|
|
338
|
+
const entitiesByType = {};
|
|
339
|
+
const complexities = {};
|
|
340
|
+
for (const entity of entities) {
|
|
341
|
+
entitiesByLanguage[entity.language] = (entitiesByLanguage[entity.language] || 0) + 1;
|
|
342
|
+
entitiesByType[entity.type] = (entitiesByType[entity.type] || 0) + 1;
|
|
343
|
+
if (entity.complexity) {
|
|
344
|
+
if (!complexities[entity.language])
|
|
345
|
+
complexities[entity.language] = [];
|
|
346
|
+
complexities[entity.language].push(entity.complexity);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
// Calculate average complexities
|
|
350
|
+
const avgComplexities = {};
|
|
351
|
+
for (const [lang, values] of Object.entries(complexities)) {
|
|
352
|
+
avgComplexities[lang] = values.reduce((a, b) => a + b, 0) / values.length;
|
|
353
|
+
}
|
|
354
|
+
// Find orphaned entities (no references)
|
|
355
|
+
const referencedIds = new Set([
|
|
356
|
+
...references.map(r => r.sourceId),
|
|
357
|
+
...references.map(r => r.targetId)
|
|
358
|
+
]);
|
|
359
|
+
const orphanedEntities = entities
|
|
360
|
+
.filter(e => !referencedIds.has(e.id))
|
|
361
|
+
.map(e => e.id);
|
|
362
|
+
return {
|
|
363
|
+
totalEntities: entities.length,
|
|
364
|
+
entitiesByLanguage,
|
|
365
|
+
entitiesByType,
|
|
366
|
+
crossReferences: references.length,
|
|
367
|
+
apiContracts: contracts.length,
|
|
368
|
+
orphanedEntities,
|
|
369
|
+
complexities: avgComplexities,
|
|
370
|
+
coverage: {} // TODO: Calculate test coverage
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Generate entity ID
|
|
375
|
+
*/
|
|
376
|
+
generateEntityId(entity) {
|
|
377
|
+
return `${entity.language}:${entity.type}:${entity.file}:${entity.name}:${entity.startLine || 0}`;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Generate search tokens for an entity
|
|
381
|
+
*/
|
|
382
|
+
generateSearchTokens(entity) {
|
|
383
|
+
const tokens = new Set();
|
|
384
|
+
// Add name variations
|
|
385
|
+
tokens.add(entity.name);
|
|
386
|
+
tokens.add(entity.name.toLowerCase());
|
|
387
|
+
// Add camelCase breakdown
|
|
388
|
+
const camelCaseTokens = entity.name.replace(/([A-Z])/g, ' $1').trim().split(' ');
|
|
389
|
+
camelCaseTokens.forEach(token => tokens.add(token.toLowerCase()));
|
|
390
|
+
// Add snake_case breakdown
|
|
391
|
+
const snakeCaseTokens = entity.name.split('_');
|
|
392
|
+
snakeCaseTokens.forEach(token => tokens.add(token.toLowerCase()));
|
|
393
|
+
// Add type and language
|
|
394
|
+
tokens.add(entity.type);
|
|
395
|
+
tokens.add(entity.language);
|
|
396
|
+
// Add purpose keywords
|
|
397
|
+
const purposeWords = entity.purpose.split(/\s+/);
|
|
398
|
+
purposeWords.forEach(word => {
|
|
399
|
+
if (word.length > 2)
|
|
400
|
+
tokens.add(word.toLowerCase());
|
|
401
|
+
});
|
|
402
|
+
return Array.from(tokens);
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Get access to the underlying database for advanced operations
|
|
406
|
+
*/
|
|
407
|
+
getDatabase() {
|
|
408
|
+
// Protected method to access the underlying database
|
|
409
|
+
return this.db;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Default compatibility adapter for migrating existing data
|
|
414
|
+
*/
|
|
415
|
+
class DefaultCompatibilityAdapter {
|
|
416
|
+
convertFunction(func) {
|
|
417
|
+
return {
|
|
418
|
+
id: this.generateId('function', func.filePath, func.name, func.lineNumber),
|
|
419
|
+
name: func.name,
|
|
420
|
+
language: func.language || 'typescript',
|
|
421
|
+
file: func.filePath,
|
|
422
|
+
type: 'function',
|
|
423
|
+
startLine: func.startLine,
|
|
424
|
+
endLine: func.endLine,
|
|
425
|
+
lineNumber: func.lineNumber,
|
|
426
|
+
signature: func.name, // Basic signature, could be enhanced
|
|
427
|
+
parameters: [], // Would need to be extracted from enhanced metadata
|
|
428
|
+
purpose: func.purpose,
|
|
429
|
+
context: func.context,
|
|
430
|
+
searchTokens: [],
|
|
431
|
+
calls: [],
|
|
432
|
+
calledBy: [],
|
|
433
|
+
implementedBy: [],
|
|
434
|
+
extendedBy: [],
|
|
435
|
+
metadata: func.metadata
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
convertComponent(comp) {
|
|
439
|
+
return {
|
|
440
|
+
id: this.generateId('component', comp.filePath, comp.name, comp.lineNumber),
|
|
441
|
+
name: comp.name,
|
|
442
|
+
language: comp.language || 'typescript',
|
|
443
|
+
file: comp.filePath,
|
|
444
|
+
type: 'component',
|
|
445
|
+
startLine: comp.startLine,
|
|
446
|
+
endLine: comp.endLine,
|
|
447
|
+
lineNumber: comp.lineNumber,
|
|
448
|
+
signature: comp.name,
|
|
449
|
+
parameters: comp.props?.map(prop => ({
|
|
450
|
+
name: prop.name,
|
|
451
|
+
type: prop.type,
|
|
452
|
+
optional: !prop.required,
|
|
453
|
+
language: 'typescript'
|
|
454
|
+
})) || [],
|
|
455
|
+
purpose: comp.purpose,
|
|
456
|
+
context: comp.context,
|
|
457
|
+
searchTokens: [],
|
|
458
|
+
calls: [],
|
|
459
|
+
calledBy: [],
|
|
460
|
+
implementedBy: [],
|
|
461
|
+
extendedBy: [],
|
|
462
|
+
complexity: comp.complexity,
|
|
463
|
+
metadata: comp.metadata
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
toFunctionMetadata(entity) {
|
|
467
|
+
return {
|
|
468
|
+
name: entity.name,
|
|
469
|
+
filePath: entity.file,
|
|
470
|
+
lineNumber: entity.lineNumber,
|
|
471
|
+
startLine: entity.startLine,
|
|
472
|
+
endLine: entity.endLine,
|
|
473
|
+
language: entity.language,
|
|
474
|
+
dependencies: [], // Would need to be extracted from references
|
|
475
|
+
purpose: entity.purpose,
|
|
476
|
+
context: entity.context,
|
|
477
|
+
metadata: entity.metadata
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
toComponentMetadata(entity) {
|
|
481
|
+
// This would need more implementation based on the ComponentMetadata interface
|
|
482
|
+
throw new Error('Component metadata conversion not implemented');
|
|
483
|
+
}
|
|
484
|
+
generateId(type, filePath, name, line) {
|
|
485
|
+
return `${type}:${filePath}:${name}:${line || 0}`;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
//# sourceMappingURL=codeIndexDB-enhanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeIndexDB-enhanced.js","sourceRoot":"","sources":["../src/codeIndexDB-enhanced.ts"],"names":[],"mappings":"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"}
|
package/dist/codeIndexDb.js
CHANGED
|
@@ -1139,7 +1139,7 @@ export class CodeIndexDB {
|
|
|
1139
1139
|
*/
|
|
1140
1140
|
async synchronizeFile(filePath) {
|
|
1141
1141
|
this.ensureInitialized();
|
|
1142
|
-
|
|
1142
|
+
// fs is already imported at the top of the file
|
|
1143
1143
|
try {
|
|
1144
1144
|
// Check if file exists
|
|
1145
1145
|
await fs.access(filePath);
|
|
@@ -1205,7 +1205,7 @@ export class CodeIndexDB {
|
|
|
1205
1205
|
*/
|
|
1206
1206
|
async bulkCleanup() {
|
|
1207
1207
|
this.ensureInitialized();
|
|
1208
|
-
|
|
1208
|
+
// fs is already imported at the top of the file
|
|
1209
1209
|
const allFunctions = this.functionsCollection.find();
|
|
1210
1210
|
const fileMap = new Map();
|
|
1211
1211
|
// Group functions by file
|