code-auditor-mcp 1.20.0 → 1.21.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.
Files changed (46) hide show
  1. package/dist/analyzers/schemaAnalyzer.d.ts +21 -0
  2. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -0
  3. package/dist/analyzers/schemaAnalyzer.js +405 -0
  4. package/dist/analyzers/schemaAnalyzer.js.map +1 -0
  5. package/dist/auditRunner.d.ts.map +1 -1
  6. package/dist/auditRunner.js +5 -1
  7. package/dist/auditRunner.js.map +1 -1
  8. package/dist/codeIndexDb.d.ts +70 -1
  9. package/dist/codeIndexDb.d.ts.map +1 -1
  10. package/dist/codeIndexDb.js +197 -0
  11. package/dist/codeIndexDb.js.map +1 -1
  12. package/dist/mcp-hybrid.d.ts +10 -0
  13. package/dist/mcp-hybrid.d.ts.map +1 -0
  14. package/dist/mcp-hybrid.js +41 -0
  15. package/dist/mcp-hybrid.js.map +1 -0
  16. package/dist/mcp-index.d.ts +11 -0
  17. package/dist/mcp-index.d.ts.map +1 -0
  18. package/dist/mcp-index.js +101 -0
  19. package/dist/mcp-index.js.map +1 -0
  20. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  21. package/dist/mcp-tools/workflowGuide.js +67 -10
  22. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  23. package/dist/mcp-tools-shared.d.ts +46 -0
  24. package/dist/mcp-tools-shared.d.ts.map +1 -0
  25. package/dist/mcp-tools-shared.js +1161 -0
  26. package/dist/mcp-tools-shared.js.map +1 -0
  27. package/dist/mcp-ui-server.d.ts +27 -0
  28. package/dist/mcp-ui-server.d.ts.map +1 -0
  29. package/dist/mcp-ui-server.js +484 -0
  30. package/dist/mcp-ui-server.js.map +1 -0
  31. package/dist/mcp-ui-simple.d.ts +27 -0
  32. package/dist/mcp-ui-simple.d.ts.map +1 -0
  33. package/dist/mcp-ui-simple.js +425 -0
  34. package/dist/mcp-ui-simple.js.map +1 -0
  35. package/dist/mcp.js +4 -4
  36. package/dist/mcp.js.map +1 -1
  37. package/dist/services/SchemaParser.d.ts +89 -0
  38. package/dist/services/SchemaParser.d.ts.map +1 -0
  39. package/dist/services/SchemaParser.js +434 -0
  40. package/dist/services/SchemaParser.js.map +1 -0
  41. package/dist/types.d.ts +127 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js.map +1 -1
  44. package/examples/schema-example.json +364 -0
  45. package/examples/schema-example.yaml +137 -0
  46. package/package.json +22 -14
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Schema Analyzer
3
+ * Analyzes code against loaded database schemas to find violations and patterns
4
+ */
5
+ import type { AnalyzerFunction, AnalyzerDefinition } from '../types.js';
6
+ export interface SchemaAnalyzerConfig {
7
+ enableTableUsageTracking: boolean;
8
+ checkMissingReferences: boolean;
9
+ checkNamingConventions: boolean;
10
+ detectUnusedTables: boolean;
11
+ validateQueryPatterns: boolean;
12
+ maxQueriesPerFunction: number;
13
+ allowedQueryPatterns: string[];
14
+ requiredSchemas: string[];
15
+ }
16
+ export declare const analyzeSchema: AnalyzerFunction;
17
+ /**
18
+ * Schema Analyzer Definition
19
+ */
20
+ export declare const schemaAnalyzer: AnalyzerDefinition;
21
+ //# sourceMappingURL=schemaAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/schemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAmC,MAAM,aAAa,CAAC;AAMzG,MAAM,WAAW,oBAAoB;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAaD,eAAO,MAAM,aAAa,EAAE,gBA2F3B,CAAC;AAoXF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,kBAM5B,CAAC"}
@@ -0,0 +1,405 @@
1
+ /**
2
+ * Schema Analyzer
3
+ * Analyzes code against loaded database schemas to find violations and patterns
4
+ */
5
+ import { CodeIndexDB } from '../codeIndexDB.js';
6
+ import { promises as fs } from 'fs';
7
+ import path from 'path';
8
+ import ts from 'typescript';
9
+ const DEFAULT_CONFIG = {
10
+ enableTableUsageTracking: true,
11
+ checkMissingReferences: true,
12
+ checkNamingConventions: true,
13
+ detectUnusedTables: false,
14
+ validateQueryPatterns: true,
15
+ maxQueriesPerFunction: 5,
16
+ allowedQueryPatterns: ['SELECT', 'INSERT', 'UPDATE', 'DELETE'],
17
+ requiredSchemas: []
18
+ };
19
+ export const analyzeSchema = async (files, config = {}, options = {}, progressCallback) => {
20
+ const finalConfig = { ...DEFAULT_CONFIG, ...config };
21
+ const violations = [];
22
+ const errors = [];
23
+ let filesProcessed = 0;
24
+ const startTime = Date.now();
25
+ // Get database handle
26
+ const db = CodeIndexDB.getInstance();
27
+ await db.initialize();
28
+ // Get all loaded schemas
29
+ const loadedSchemas = await db.getAllSchemas();
30
+ if (loadedSchemas.length === 0 && finalConfig.requiredSchemas.length > 0) {
31
+ violations.push({
32
+ file: 'project',
33
+ severity: 'warning',
34
+ message: 'No database schemas loaded for analysis',
35
+ schemaType: 'missing-reference',
36
+ details: 'Load schema definitions using schema management tools'
37
+ });
38
+ }
39
+ // Build table name lookup for fast access
40
+ const allTables = new Set();
41
+ const tableToSchema = new Map();
42
+ for (const { schema } of loadedSchemas) {
43
+ for (const database of schema.databases) {
44
+ for (const table of database.tables) {
45
+ allTables.add(table.name);
46
+ tableToSchema.set(table.name, schema.name);
47
+ }
48
+ }
49
+ }
50
+ // Analyze each file
51
+ for (const file of files) {
52
+ try {
53
+ progressCallback?.({
54
+ current: filesProcessed,
55
+ total: files.length,
56
+ analyzer: 'schema',
57
+ file: path.basename(file),
58
+ phase: 'analyzing'
59
+ });
60
+ // Skip non-source files
61
+ if (!file.match(/\.(ts|tsx|js|jsx)$/)) {
62
+ continue;
63
+ }
64
+ const content = await fs.readFile(file, 'utf-8');
65
+ const fileViolations = await analyzeFile(file, content, allTables, tableToSchema, finalConfig, db);
66
+ violations.push(...fileViolations);
67
+ filesProcessed++;
68
+ }
69
+ catch (error) {
70
+ errors.push({
71
+ file,
72
+ error: error instanceof Error ? error.message : 'Unknown error'
73
+ });
74
+ }
75
+ }
76
+ return {
77
+ violations,
78
+ filesProcessed,
79
+ executionTime: Date.now() - startTime,
80
+ errors: errors.length > 0 ? errors : undefined,
81
+ analyzerName: 'schema',
82
+ metadata: {
83
+ loadedSchemas: loadedSchemas.length,
84
+ totalTables: allTables.size,
85
+ config: finalConfig
86
+ }
87
+ };
88
+ };
89
+ async function analyzeFile(filePath, content, allTables, tableToSchema, config, db) {
90
+ const violations = [];
91
+ // Parse TypeScript/JavaScript
92
+ const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
93
+ // Track schema usage for this file
94
+ const schemaUsages = [];
95
+ // Analyze the AST
96
+ function visit(node, currentFunction) {
97
+ // Detect ORM-specific patterns
98
+ // 1. Drizzle ORM - Functional table definitions
99
+ if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {
100
+ const funcName = node.expression.text;
101
+ if (['pgTable', 'mysqlTable', 'sqliteTable'].includes(funcName)) {
102
+ const tableName = extractTableNameFromDrizzle(node);
103
+ if (tableName) {
104
+ const pos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
105
+ schemaUsages.push({
106
+ tableName,
107
+ functionName: currentFunction || 'schema-definition',
108
+ usageType: 'reference',
109
+ line: pos.line + 1,
110
+ column: pos.character + 1
111
+ });
112
+ }
113
+ }
114
+ }
115
+ // 2. TypeORM - Entity decorators
116
+ if (ts.isDecorator(node) && ts.isCallExpression(node.expression)) {
117
+ const decoratorName = getDecoratorName(node.expression);
118
+ if (decoratorName === 'Entity') {
119
+ // Extract table name from Entity decorator
120
+ const tableName = extractTableNameFromTypeORM(node.expression);
121
+ if (tableName) {
122
+ const pos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
123
+ schemaUsages.push({
124
+ tableName,
125
+ functionName: currentFunction || 'entity-definition',
126
+ usageType: 'reference',
127
+ line: pos.line + 1,
128
+ column: pos.character + 1
129
+ });
130
+ }
131
+ }
132
+ }
133
+ // 3. Mongoose - Schema constructors
134
+ if (ts.isNewExpression(node) && ts.isIdentifier(node.expression)) {
135
+ if (node.expression.text === 'Schema') {
136
+ // Analyze schema object literal for field references
137
+ analyzeMongooseSchema(node, currentFunction);
138
+ }
139
+ }
140
+ // 4. Prisma Client - Table access patterns
141
+ if (ts.isPropertyAccessExpression(node)) {
142
+ const propertyName = node.name.text;
143
+ // Check if this looks like Prisma client table access (prisma.user.findMany)
144
+ if (isPrismaBoundProperty(node)) {
145
+ const pos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
146
+ schemaUsages.push({
147
+ tableName: propertyName,
148
+ functionName: currentFunction || 'unknown',
149
+ usageType: 'query',
150
+ line: pos.line + 1,
151
+ column: pos.character + 1
152
+ });
153
+ }
154
+ }
155
+ // 5. Detect SQL queries and table references (existing logic)
156
+ if (ts.isStringLiteral(node) || ts.isTemplateExpression(node)) {
157
+ const queryText = getQueryText(node);
158
+ if (queryText) {
159
+ const queryAnalysis = analyzeQuery(queryText, allTables, filePath);
160
+ violations.push(...queryAnalysis.violations);
161
+ // Record schema usage
162
+ for (const table of queryAnalysis.tables) {
163
+ const pos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
164
+ schemaUsages.push({
165
+ tableName: table,
166
+ functionName: currentFunction || 'unknown',
167
+ usageType: queryAnalysis.type,
168
+ line: pos.line + 1,
169
+ column: pos.character + 1,
170
+ rawQuery: queryText
171
+ });
172
+ }
173
+ }
174
+ }
175
+ // Detect ORM/model references
176
+ if (ts.isPropertyAccessExpression(node)) {
177
+ const propertyName = node.name.text;
178
+ if (allTables.has(propertyName)) {
179
+ const pos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
180
+ schemaUsages.push({
181
+ tableName: propertyName,
182
+ functionName: currentFunction || 'unknown',
183
+ usageType: 'reference',
184
+ line: pos.line + 1,
185
+ column: pos.character + 1
186
+ });
187
+ }
188
+ }
189
+ // Track current function context
190
+ let funcName = currentFunction;
191
+ if (ts.isFunctionDeclaration(node) || ts.isMethodDeclaration(node) || ts.isArrowFunction(node)) {
192
+ if (ts.isFunctionDeclaration(node) && node.name) {
193
+ funcName = node.name.text;
194
+ }
195
+ else if (ts.isMethodDeclaration(node) && ts.isIdentifier(node.name)) {
196
+ funcName = node.name.text;
197
+ }
198
+ }
199
+ ts.forEachChild(node, child => visit(child, funcName));
200
+ }
201
+ visit(sourceFile);
202
+ // Record schema usages in database
203
+ if (config.enableTableUsageTracking) {
204
+ for (const usage of schemaUsages) {
205
+ await db.recordSchemaUsage({
206
+ tableName: usage.tableName,
207
+ filePath,
208
+ functionName: usage.functionName,
209
+ usageType: usage.usageType,
210
+ line: usage.line,
211
+ column: usage.column,
212
+ rawQuery: usage.rawQuery
213
+ });
214
+ }
215
+ }
216
+ // Check for violations
217
+ if (config.checkMissingReferences) {
218
+ violations.push(...checkMissingTableReferences(schemaUsages, allTables, filePath));
219
+ }
220
+ if (config.validateQueryPatterns) {
221
+ violations.push(...validateQueryPatterns(schemaUsages, config, filePath));
222
+ }
223
+ return violations;
224
+ }
225
+ function getQueryText(node) {
226
+ if (ts.isStringLiteral(node)) {
227
+ const text = node.text.toUpperCase();
228
+ // Check if it looks like SQL
229
+ if (text.includes('SELECT') || text.includes('INSERT') ||
230
+ text.includes('UPDATE') || text.includes('DELETE') ||
231
+ text.includes('CREATE') || text.includes('DROP')) {
232
+ return node.text;
233
+ }
234
+ }
235
+ if (ts.isTemplateExpression(node)) {
236
+ // For template literals, check the head
237
+ const headText = node.head.text.toUpperCase();
238
+ if (headText.includes('SELECT') || headText.includes('INSERT') ||
239
+ headText.includes('UPDATE') || headText.includes('DELETE')) {
240
+ // Return a simplified version for analysis
241
+ return node.head.text + ' ...';
242
+ }
243
+ }
244
+ return null;
245
+ }
246
+ function analyzeQuery(query, allTables, filePath) {
247
+ const violations = [];
248
+ const tables = [];
249
+ const queryUpper = query.toUpperCase();
250
+ let type = 'query';
251
+ if (queryUpper.includes('SELECT'))
252
+ type = 'query';
253
+ else if (queryUpper.includes('INSERT'))
254
+ type = 'insert';
255
+ else if (queryUpper.includes('UPDATE'))
256
+ type = 'update';
257
+ else if (queryUpper.includes('DELETE'))
258
+ type = 'delete';
259
+ // Extract table names (basic regex - could be enhanced)
260
+ const tableMatches = query.match(/(?:FROM|JOIN|INTO|UPDATE)\s+([a-zA-Z_][a-zA-Z0-9_]*)/gi);
261
+ if (tableMatches) {
262
+ for (const match of tableMatches) {
263
+ const tableName = match.split(/\s+/).pop();
264
+ if (tableName && !allTables.has(tableName)) {
265
+ violations.push({
266
+ file: filePath,
267
+ severity: 'warning',
268
+ message: `Table '${tableName}' not found in loaded schemas`,
269
+ schemaType: 'missing-reference',
270
+ tableName,
271
+ snippet: query.substring(0, 100),
272
+ suggestion: 'Load the appropriate database schema or check table name spelling'
273
+ });
274
+ }
275
+ else if (tableName) {
276
+ tables.push(tableName);
277
+ }
278
+ }
279
+ }
280
+ return { violations, tables, type };
281
+ }
282
+ function checkMissingTableReferences(usages, allTables, filePath) {
283
+ const violations = [];
284
+ for (const usage of usages) {
285
+ if (!allTables.has(usage.tableName)) {
286
+ violations.push({
287
+ file: filePath,
288
+ line: usage.line,
289
+ severity: 'warning',
290
+ message: `Reference to unknown table '${usage.tableName}'`,
291
+ schemaType: 'missing-reference',
292
+ tableName: usage.tableName,
293
+ suggestion: 'Load the database schema that contains this table'
294
+ });
295
+ }
296
+ }
297
+ return violations;
298
+ }
299
+ function validateQueryPatterns(usages, config, filePath) {
300
+ const violations = [];
301
+ // Count queries per function
302
+ const queriesPerFunction = usages.reduce((acc, usage) => {
303
+ if (usage.usageType !== 'reference') {
304
+ acc[usage.functionName] = (acc[usage.functionName] || 0) + 1;
305
+ }
306
+ return acc;
307
+ }, {});
308
+ // Check for functions with too many queries
309
+ for (const [funcName, count] of Object.entries(queriesPerFunction)) {
310
+ if (count > config.maxQueriesPerFunction) {
311
+ violations.push({
312
+ file: filePath,
313
+ severity: 'suggestion',
314
+ message: `Function '${funcName}' has ${count} database queries (max recommended: ${config.maxQueriesPerFunction})`,
315
+ schemaType: 'missing-reference',
316
+ suggestion: 'Consider consolidating queries or extracting to a data access layer'
317
+ });
318
+ }
319
+ }
320
+ return violations;
321
+ }
322
+ // ORM-specific helper functions
323
+ function extractTableNameFromDrizzle(node) {
324
+ // Drizzle: pgTable('table_name', { ... })
325
+ if (node.arguments.length > 0 && ts.isStringLiteral(node.arguments[0])) {
326
+ return node.arguments[0].text;
327
+ }
328
+ return null;
329
+ }
330
+ function getDecoratorName(node) {
331
+ if (ts.isIdentifier(node.expression)) {
332
+ return node.expression.text;
333
+ }
334
+ return null;
335
+ }
336
+ function extractTableNameFromTypeORM(node) {
337
+ // TypeORM: @Entity('table_name') or @Entity({ name: 'table_name' })
338
+ if (node.arguments.length > 0) {
339
+ const firstArg = node.arguments[0];
340
+ if (ts.isStringLiteral(firstArg)) {
341
+ return firstArg.text;
342
+ }
343
+ if (ts.isObjectLiteralExpression(firstArg)) {
344
+ // Look for name property
345
+ for (const prop of firstArg.properties) {
346
+ if (ts.isPropertyAssignment(prop) &&
347
+ ts.isIdentifier(prop.name) &&
348
+ prop.name.text === 'name' &&
349
+ ts.isStringLiteral(prop.initializer)) {
350
+ return prop.initializer.text;
351
+ }
352
+ }
353
+ }
354
+ }
355
+ return null;
356
+ }
357
+ function analyzeMongooseSchema(node, currentFunction) {
358
+ // Mongoose: new Schema({ field: { type: String, ref: 'OtherModel' } })
359
+ if (node.arguments && node.arguments.length > 0) {
360
+ const schemaArg = node.arguments[0];
361
+ if (ts.isObjectLiteralExpression(schemaArg)) {
362
+ // Look for ref properties that indicate relationships
363
+ analyzeObjectForReferences(schemaArg, currentFunction);
364
+ }
365
+ }
366
+ }
367
+ function analyzeObjectForReferences(obj, currentFunction) {
368
+ for (const prop of obj.properties) {
369
+ if (ts.isPropertyAssignment(prop) && ts.isObjectLiteralExpression(prop.initializer)) {
370
+ // Look for ref property
371
+ for (const nestedProp of prop.initializer.properties) {
372
+ if (ts.isPropertyAssignment(nestedProp) &&
373
+ ts.isIdentifier(nestedProp.name) &&
374
+ nestedProp.name.text === 'ref' &&
375
+ ts.isStringLiteral(nestedProp.initializer)) {
376
+ // Found a reference to another model
377
+ const referencedModel = nestedProp.initializer.text;
378
+ // Add to schema usage tracking
379
+ // This would need access to the parent scope's schemaUsages array
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ function isPrismaBoundProperty(node) {
386
+ // Check if this looks like prisma.tableName.operation
387
+ if (ts.isPropertyAccessExpression(node.expression) &&
388
+ ts.isIdentifier(node.expression.expression)) {
389
+ const baseName = node.expression.expression.text;
390
+ // Common Prisma client variable names
391
+ return ['prisma', 'db', 'client'].includes(baseName.toLowerCase());
392
+ }
393
+ return false;
394
+ }
395
+ /**
396
+ * Schema Analyzer Definition
397
+ */
398
+ export const schemaAnalyzer = {
399
+ name: 'schema',
400
+ analyze: analyzeSchema,
401
+ defaultConfig: DEFAULT_CONFIG,
402
+ description: 'Analyzes code against loaded database schemas to detect violations and track usage patterns',
403
+ category: 'Data Access'
404
+ };
405
+ //# sourceMappingURL=schemaAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/schemaAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auditRunner.d.ts","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AA0BpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB;iCAM5B,kBAAkB,KAAG,IAAI;oCAOhB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;uBAQjD,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAAC;6BA+H1B,WAAW,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAU7F;AA8FD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGjF;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"auditRunner.d.ts","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AA8BpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB;iCAM5B,kBAAkB,KAAG,IAAI;oCAOhB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;uBAQjD,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAAC;6BA+H1B,WAAW,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAU7F;AA8FD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGjF;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -13,6 +13,8 @@ import { dryAnalyzer } from './analyzers/dryAnalyzer.js';
13
13
  // import { componentAnalyzer } from './analyzers/componentAnalyzer.js';
14
14
  import { dataAccessAnalyzer } from './analyzers/dataAccessAnalyzer.js';
15
15
  import { reactAnalyzer } from './analyzers/reactAnalyzer.js';
16
+ import { documentationAnalyzer } from './analyzers/documentationAnalyzer.js';
17
+ import { schemaAnalyzer } from './analyzers/schemaAnalyzer.js';
16
18
  /**
17
19
  * Default analyzer registry
18
20
  */
@@ -22,7 +24,9 @@ const DEFAULT_ANALYZERS = {
22
24
  // 'security': securityAnalyzer,
23
25
  // 'component': componentAnalyzer,
24
26
  'data-access': dataAccessAnalyzer,
25
- 'react': reactAnalyzer
27
+ 'react': reactAnalyzer,
28
+ 'documentation': documentationAnalyzer,
29
+ 'schema': schemaAnalyzer
26
30
  };
27
31
  /**
28
32
  * Create an audit runner with the given options
@@ -1 +1 @@
1
- {"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Code Index Database using LokiJS + FlexSearch
3
3
  * Pure JavaScript implementation with no native dependencies
4
4
  */
5
- import { EnhancedFunctionMetadata, FunctionMetadata, SearchResult, SearchOptions } from './types.js';
5
+ import { EnhancedFunctionMetadata, FunctionMetadata, SearchResult, SearchOptions, SchemaDefinition, SchemaIndexMetadata, SchemaUsage } from './types.js';
6
6
  import { WhitelistEntry, WhitelistType, WhitelistStatus, WhitelistSuggestion } from './types/whitelist.js';
7
7
  export declare class CodeIndexDB {
8
8
  private static instance;
@@ -12,6 +12,8 @@ export declare class CodeIndexDB {
12
12
  private auditResultsCollection;
13
13
  private analyzerConfigCollection;
14
14
  private codeMapCollection;
15
+ private schemaCollection;
16
+ private schemaUsageCollection;
15
17
  private searchIndex;
16
18
  private dbPath;
17
19
  private isInitialized;
@@ -292,5 +294,72 @@ export declare class CodeIndexDB {
292
294
  * Delete all sections for a specific mapId
293
295
  */
294
296
  deleteCodeMap(mapId: string): Promise<number>;
297
+ /**
298
+ * Store a database schema definition
299
+ */
300
+ storeSchema(schema: SchemaDefinition): Promise<string>;
301
+ /**
302
+ * Retrieve a schema by ID
303
+ */
304
+ getSchema(schemaId: string): Promise<SchemaDefinition | null>;
305
+ /**
306
+ * Get all schemas
307
+ */
308
+ getAllSchemas(): Promise<Array<{
309
+ schemaId: string;
310
+ metadata: SchemaIndexMetadata;
311
+ schema: SchemaDefinition;
312
+ }>>;
313
+ /**
314
+ * Delete a schema
315
+ */
316
+ deleteSchema(schemaId: string): Promise<boolean>;
317
+ /**
318
+ * Record schema usage in code
319
+ */
320
+ recordSchemaUsage(usage: SchemaUsage, schemaId?: string): Promise<void>;
321
+ /**
322
+ * Get schema usage patterns
323
+ */
324
+ getSchemaUsage(options?: {
325
+ schemaId?: string;
326
+ tableName?: string;
327
+ filePath?: string;
328
+ functionName?: string;
329
+ usageType?: string;
330
+ }): Promise<SchemaUsage[]>;
331
+ /**
332
+ * Find functions that interact with specific tables
333
+ */
334
+ findFunctionsUsingTable(tableName: string): Promise<Array<{
335
+ functionName: string;
336
+ filePath: string;
337
+ usageType: string;
338
+ line: number;
339
+ }>>;
340
+ /**
341
+ * Get schema statistics
342
+ */
343
+ getSchemaStats(): Promise<{
344
+ totalSchemas: number;
345
+ totalTables: number;
346
+ totalUsagePatterns: number;
347
+ mostUsedTables: Array<{
348
+ tableName: string;
349
+ usageCount: number;
350
+ }>;
351
+ usageByType: Record<string, number>;
352
+ }>;
353
+ /**
354
+ * Update search to include schema context
355
+ */
356
+ searchWithSchemaContext(query: string, options?: SearchOptions & {
357
+ includeSchemaUsage?: boolean;
358
+ }): Promise<SearchResult & {
359
+ schemaContext?: Array<{
360
+ tableName: string;
361
+ usageType: string;
362
+ }>;
363
+ }>;
295
364
  }
296
365
  //# sourceMappingURL=codeIndexDB.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeIndexDB.d.ts","sourceRoot":"","sources":["../src/codeIndexDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeIndexDB.d.ts","sourceRoot":"","sources":["../src/codeIndexDB.ts"],"names":[],"mappings":"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"}