driftdetect 0.4.7 → 0.5.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/bin/drift.js +27 -1
- package/dist/bin/drift.js.map +1 -1
- package/dist/commands/approve.d.ts +20 -0
- package/dist/commands/approve.d.ts.map +1 -1
- package/dist/commands/approve.js +38 -72
- package/dist/commands/approve.js.map +1 -1
- package/dist/commands/check.d.ts +41 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +21 -11
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/coupling.d.ts +17 -0
- package/dist/commands/coupling.d.ts.map +1 -0
- package/dist/commands/coupling.js +726 -0
- package/dist/commands/coupling.js.map +1 -0
- package/dist/commands/error-handling.d.ts +15 -0
- package/dist/commands/error-handling.d.ts.map +1 -0
- package/dist/commands/error-handling.js +608 -0
- package/dist/commands/error-handling.js.map +1 -0
- package/dist/commands/export.d.ts +16 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +46 -50
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/files.d.ts +15 -0
- package/dist/commands/files.d.ts.map +1 -1
- package/dist/commands/files.js +27 -48
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/ignore.d.ts +20 -0
- package/dist/commands/ignore.d.ts.map +1 -1
- package/dist/commands/ignore.js +25 -48
- package/dist/commands/ignore.js.map +1 -1
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +7 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/migrate-storage.d.ts +23 -0
- package/dist/commands/migrate-storage.d.ts.map +1 -0
- package/dist/commands/migrate-storage.js +337 -0
- package/dist/commands/migrate-storage.js.map +1 -0
- package/dist/commands/report.d.ts +22 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +19 -10
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/scan.d.ts +2 -0
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +134 -3
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/skills.d.ts +16 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +409 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +20 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +74 -72
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/test-topology.d.ts +15 -0
- package/dist/commands/test-topology.d.ts.map +1 -0
- package/dist/commands/test-topology.js +589 -0
- package/dist/commands/test-topology.js.map +1 -0
- package/dist/commands/where.d.ts +15 -0
- package/dist/commands/where.d.ts.map +1 -1
- package/dist/commands/where.js +41 -88
- package/dist/commands/where.js.map +1 -1
- package/dist/commands/wrappers.d.ts +16 -0
- package/dist/commands/wrappers.d.ts.map +1 -0
- package/dist/commands/wrappers.js +181 -0
- package/dist/commands/wrappers.js.map +1 -0
- package/dist/services/pattern-service-factory.d.ts +37 -0
- package/dist/services/pattern-service-factory.d.ts.map +1 -0
- package/dist/services/pattern-service-factory.js +41 -0
- package/dist/services/pattern-service-factory.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,eAAO,MAAM,aAAa,SA4LtB,CAAC"}
|
package/dist/commands/export.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Export Command - Export manifest in various formats
|
|
3
3
|
*
|
|
4
4
|
* Exports the pattern manifest for AI consumption or reporting.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* MIGRATION: Now uses IPatternService for pattern operations.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
9
|
* drift export # Export as JSON to stdout
|
|
@@ -15,7 +15,8 @@ import { Command } from 'commander';
|
|
|
15
15
|
import * as fs from 'node:fs/promises';
|
|
16
16
|
import * as path from 'node:path';
|
|
17
17
|
import chalk from 'chalk';
|
|
18
|
-
import {
|
|
18
|
+
import { exportManifest, estimateTokens, } from 'driftdetect-core';
|
|
19
|
+
import { createCLIPatternService } from '../services/pattern-service-factory.js';
|
|
19
20
|
const VALID_FORMATS = ['json', 'ai-context', 'summary', 'markdown'];
|
|
20
21
|
const VALID_CATEGORIES = [
|
|
21
22
|
'api', 'auth', 'security', 'errors', 'logging', 'testing',
|
|
@@ -40,46 +41,41 @@ export const exportCommand = new Command('export')
|
|
|
40
41
|
console.error(`Valid formats: ${VALID_FORMATS.join(', ')}`);
|
|
41
42
|
process.exit(1);
|
|
42
43
|
}
|
|
43
|
-
//
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
// Initialize pattern service
|
|
45
|
+
const service = createCLIPatternService(cwd);
|
|
46
|
+
// Get all patterns (service auto-initializes)
|
|
47
|
+
const allPatternsResult = await service.listPatterns({ limit: 10000 });
|
|
48
|
+
// Fetch full pattern details
|
|
49
|
+
const allPatterns = await Promise.all(allPatternsResult.items.map(async (summary) => {
|
|
50
|
+
const pattern = await service.getPattern(summary.id);
|
|
51
|
+
return pattern;
|
|
52
|
+
}));
|
|
53
|
+
// Filter out nulls
|
|
54
|
+
const validPatterns = allPatterns.filter((p) => p !== null);
|
|
55
|
+
if (validPatterns.length === 0) {
|
|
53
56
|
console.error(chalk.red('No patterns found. Run `drift scan` first.'));
|
|
54
57
|
process.exit(1);
|
|
55
58
|
}
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// Merge PatternStore patterns into manifest
|
|
76
|
-
// This ensures all 15 categories are available for export
|
|
77
|
-
for (const pattern of allPatterns) {
|
|
59
|
+
// Build manifest from patterns
|
|
60
|
+
const manifest = {
|
|
61
|
+
version: '2.0.0',
|
|
62
|
+
generated: new Date().toISOString(),
|
|
63
|
+
codebaseHash: '',
|
|
64
|
+
projectRoot: cwd,
|
|
65
|
+
summary: {
|
|
66
|
+
totalPatterns: 0,
|
|
67
|
+
patternsByStatus: { discovered: 0, approved: 0, ignored: 0 },
|
|
68
|
+
patternsByCategory: {},
|
|
69
|
+
totalFiles: 0,
|
|
70
|
+
totalLocations: 0,
|
|
71
|
+
totalOutliers: 0,
|
|
72
|
+
},
|
|
73
|
+
patterns: {},
|
|
74
|
+
files: {},
|
|
75
|
+
};
|
|
76
|
+
// Convert patterns to manifest format
|
|
77
|
+
for (const pattern of validPatterns) {
|
|
78
78
|
const manifestKey = `${pattern.category}/${pattern.subcategory}/${pattern.id}`;
|
|
79
|
-
// Skip if already in manifest with same or more data
|
|
80
|
-
if (manifest.patterns[manifestKey]) {
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
79
|
// Convert Pattern to ManifestPattern format
|
|
84
80
|
const manifestPattern = {
|
|
85
81
|
id: manifestKey,
|
|
@@ -87,34 +83,34 @@ export const exportCommand = new Command('export')
|
|
|
87
83
|
category: pattern.category,
|
|
88
84
|
subcategory: pattern.subcategory,
|
|
89
85
|
status: pattern.status,
|
|
90
|
-
confidence: pattern.confidence
|
|
86
|
+
confidence: pattern.confidence,
|
|
91
87
|
locations: pattern.locations.map(loc => ({
|
|
92
88
|
file: loc.file,
|
|
93
89
|
hash: '',
|
|
94
|
-
range: { start: loc.line, end: loc.endLine
|
|
90
|
+
range: { start: loc.line, end: loc.endLine ?? loc.line },
|
|
95
91
|
type: 'block',
|
|
96
92
|
name: `line-${loc.line}`,
|
|
97
|
-
confidence:
|
|
98
|
-
snippet: '',
|
|
93
|
+
confidence: pattern.confidence,
|
|
94
|
+
snippet: loc.snippet ?? '',
|
|
99
95
|
language: getLanguageFromFile(loc.file),
|
|
100
96
|
})),
|
|
101
97
|
outliers: pattern.outliers.map(outlier => ({
|
|
102
98
|
file: outlier.file,
|
|
103
99
|
hash: '',
|
|
104
|
-
range: { start: outlier.line, end: outlier.endLine
|
|
100
|
+
range: { start: outlier.line, end: outlier.endLine ?? outlier.line },
|
|
105
101
|
type: 'block',
|
|
106
|
-
name: outlier.reason
|
|
102
|
+
name: outlier.reason ?? `line-${outlier.line}`,
|
|
107
103
|
confidence: 0.5,
|
|
108
|
-
snippet: '',
|
|
104
|
+
snippet: outlier.snippet ?? '',
|
|
109
105
|
language: getLanguageFromFile(outlier.file),
|
|
110
106
|
})),
|
|
111
107
|
description: pattern.description,
|
|
112
|
-
firstSeen: pattern.
|
|
113
|
-
lastSeen: pattern.
|
|
108
|
+
firstSeen: pattern.firstSeen,
|
|
109
|
+
lastSeen: pattern.lastSeen,
|
|
114
110
|
};
|
|
115
111
|
manifest.patterns[manifestKey] = manifestPattern;
|
|
116
112
|
}
|
|
117
|
-
//
|
|
113
|
+
// Calculate summary
|
|
118
114
|
const patterns = Object.values(manifest.patterns);
|
|
119
115
|
const patternsByStatus = { discovered: 0, approved: 0, ignored: 0 };
|
|
120
116
|
const patternsByCategory = {};
|
|
@@ -130,7 +126,7 @@ export const exportCommand = new Command('export')
|
|
|
130
126
|
totalPatterns: patterns.length,
|
|
131
127
|
patternsByStatus,
|
|
132
128
|
patternsByCategory,
|
|
133
|
-
totalFiles:
|
|
129
|
+
totalFiles: new Set(patterns.flatMap(p => p.locations.map(l => l.file))).size,
|
|
134
130
|
totalLocations,
|
|
135
131
|
totalOutliers,
|
|
136
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Files Command - Show patterns in a file
|
|
3
|
+
*
|
|
4
|
+
* Show what patterns are found in a specific file.
|
|
5
|
+
*
|
|
6
|
+
* MIGRATION: Now uses IPatternService for pattern operations.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* drift files src/auth/middleware.py
|
|
10
|
+
* drift files 'src/api/*.ts'
|
|
11
|
+
* drift files --json src/api/
|
|
12
|
+
*/
|
|
13
|
+
import { Command } from 'commander';
|
|
14
|
+
export declare const filesCommand: Command;
|
|
15
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,YAAY,SAwJrB,CAAC"}
|
package/dist/commands/files.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Files Command - Show patterns in a file
|
|
3
3
|
*
|
|
4
4
|
* Show what patterns are found in a specific file.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* MIGRATION: Now uses IPatternService for pattern operations.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
9
|
* drift files src/auth/middleware.py
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { Command } from 'commander';
|
|
14
14
|
import chalk from 'chalk';
|
|
15
|
-
import {
|
|
15
|
+
import { createCLIPatternService } from '../services/pattern-service-factory.js';
|
|
16
16
|
export const filesCommand = new Command('files')
|
|
17
17
|
.description('Show patterns in a file')
|
|
18
18
|
.argument('<path>', 'File path (supports glob patterns)')
|
|
@@ -20,33 +20,27 @@ export const filesCommand = new Command('files')
|
|
|
20
20
|
.option('--json', 'Output as JSON')
|
|
21
21
|
.action(async (filePath, options) => {
|
|
22
22
|
const cwd = process.cwd();
|
|
23
|
-
//
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
await
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
// Initialize pattern service
|
|
24
|
+
const service = createCLIPatternService(cwd);
|
|
25
|
+
// Get all patterns (service auto-initializes)
|
|
26
|
+
const allPatternsResult = await service.listPatterns({ limit: 10000 });
|
|
27
|
+
// Fetch full pattern details
|
|
28
|
+
const allPatterns = await Promise.all(allPatternsResult.items.map(async (summary) => {
|
|
29
|
+
const pattern = await service.getPattern(summary.id);
|
|
30
|
+
return pattern;
|
|
31
|
+
}));
|
|
32
|
+
// Filter out nulls
|
|
33
|
+
const validPatterns = allPatterns.filter((p) => p !== null);
|
|
34
|
+
if (validPatterns.length === 0) {
|
|
31
35
|
console.error(chalk.red('No patterns found. Run `drift scan` first.'));
|
|
32
36
|
process.exit(1);
|
|
33
37
|
}
|
|
34
|
-
//
|
|
35
|
-
const
|
|
36
|
-
path: filePath,
|
|
37
|
-
};
|
|
38
|
-
if (options.category) {
|
|
39
|
-
query.category = options.category;
|
|
40
|
-
}
|
|
41
|
-
// Query file from manifest
|
|
42
|
-
let result = manifest ? manifestStore.queryFile(query) : null;
|
|
43
|
-
// Also search in PatternStore for patterns in this file
|
|
44
|
-
// This ensures all 15 categories are searched
|
|
45
|
-
const patternStoreResults = [];
|
|
38
|
+
// Search for patterns in this file
|
|
39
|
+
const patternResults = [];
|
|
46
40
|
// Match file path (supports glob-like patterns)
|
|
47
41
|
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
48
42
|
const isGlob = normalizedPath.includes('*');
|
|
49
|
-
for (const pattern of
|
|
43
|
+
for (const pattern of validPatterns) {
|
|
50
44
|
// Filter by category if specified
|
|
51
45
|
if (options.category && pattern.category !== options.category) {
|
|
52
46
|
continue;
|
|
@@ -60,38 +54,23 @@ export const filesCommand = new Command('files')
|
|
|
60
54
|
return locPath === normalizedPath || locPath.endsWith(normalizedPath) || locPath.includes(normalizedPath);
|
|
61
55
|
});
|
|
62
56
|
if (matchingLocations.length > 0) {
|
|
63
|
-
|
|
57
|
+
patternResults.push({
|
|
64
58
|
id: pattern.id,
|
|
65
59
|
name: pattern.name,
|
|
66
60
|
category: pattern.category,
|
|
67
61
|
locations: matchingLocations.map(loc => ({
|
|
68
|
-
range: { start: loc.line, end: loc.endLine
|
|
62
|
+
range: { start: loc.line, end: loc.endLine ?? loc.line },
|
|
69
63
|
type: 'block',
|
|
70
64
|
name: `line-${loc.line}`,
|
|
71
65
|
})),
|
|
72
66
|
});
|
|
73
67
|
}
|
|
74
68
|
}
|
|
75
|
-
|
|
76
|
-
const mergedPatterns = new Map();
|
|
77
|
-
// Add manifest results
|
|
78
|
-
if (result) {
|
|
79
|
-
for (const p of result.patterns) {
|
|
80
|
-
mergedPatterns.set(p.id, p);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Add PatternStore results (may add new categories)
|
|
84
|
-
for (const p of patternStoreResults) {
|
|
85
|
-
if (!mergedPatterns.has(p.id)) {
|
|
86
|
-
mergedPatterns.set(p.id, p);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
const finalPatterns = Array.from(mergedPatterns.values());
|
|
90
|
-
if (finalPatterns.length === 0) {
|
|
69
|
+
if (patternResults.length === 0) {
|
|
91
70
|
console.log(chalk.yellow(`No patterns found in "${filePath}"`));
|
|
92
|
-
// Show available files from
|
|
71
|
+
// Show available files from patterns
|
|
93
72
|
const allFiles = new Set();
|
|
94
|
-
for (const pattern of
|
|
73
|
+
for (const pattern of validPatterns) {
|
|
95
74
|
for (const loc of pattern.locations) {
|
|
96
75
|
allFiles.add(loc.file);
|
|
97
76
|
}
|
|
@@ -110,11 +89,11 @@ export const filesCommand = new Command('files')
|
|
|
110
89
|
}
|
|
111
90
|
// Build final result
|
|
112
91
|
const finalResult = {
|
|
113
|
-
file:
|
|
114
|
-
patterns:
|
|
115
|
-
metadata:
|
|
92
|
+
file: filePath,
|
|
93
|
+
patterns: patternResults,
|
|
94
|
+
metadata: {
|
|
116
95
|
hash: '',
|
|
117
|
-
patterns:
|
|
96
|
+
patterns: patternResults.map(p => p.id),
|
|
118
97
|
lastScanned: new Date().toISOString(),
|
|
119
98
|
},
|
|
120
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ignore Command - drift ignore
|
|
3
|
+
*
|
|
4
|
+
* Ignore a pattern to stop tracking it.
|
|
5
|
+
*
|
|
6
|
+
* MIGRATION: Now uses IPatternService for pattern operations.
|
|
7
|
+
*
|
|
8
|
+
* @requirements 29.6
|
|
9
|
+
*/
|
|
10
|
+
import { Command } from 'commander';
|
|
11
|
+
export interface IgnoreOptions {
|
|
12
|
+
/** Reason for ignoring */
|
|
13
|
+
reason?: string;
|
|
14
|
+
/** Skip confirmation prompt */
|
|
15
|
+
yes?: boolean;
|
|
16
|
+
/** Enable verbose output */
|
|
17
|
+
verbose?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare const ignoreCommand: Command;
|
|
20
|
+
//# sourceMappingURL=ignore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoLD,eAAO,MAAM,aAAa,SAMH,CAAC"}
|
package/dist/commands/ignore.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Ignore a pattern to stop tracking it.
|
|
5
5
|
*
|
|
6
|
+
* MIGRATION: Now uses IPatternService for pattern operations.
|
|
7
|
+
*
|
|
6
8
|
* @requirements 29.6
|
|
7
9
|
*/
|
|
8
10
|
import { Command } from 'commander';
|
|
9
11
|
import * as fs from 'node:fs/promises';
|
|
10
12
|
import * as path from 'node:path';
|
|
11
13
|
import chalk from 'chalk';
|
|
12
|
-
import {
|
|
14
|
+
import { createCLIPatternService } from '../services/pattern-service-factory.js';
|
|
13
15
|
import { createSpinner, status } from '../ui/spinner.js';
|
|
14
16
|
import { confirmPrompt, promptIgnoreReason } from '../ui/prompts.js';
|
|
15
17
|
import { createPatternsTable } from '../ui/table.js';
|
|
@@ -40,28 +42,27 @@ async function ignoreAction(patternId, options) {
|
|
|
40
42
|
status.error('Drift is not initialized. Run `drift init` first.');
|
|
41
43
|
process.exit(1);
|
|
42
44
|
}
|
|
43
|
-
// Initialize pattern
|
|
45
|
+
// Initialize pattern service
|
|
44
46
|
const spinner = createSpinner('Loading patterns...');
|
|
45
47
|
spinner.start();
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
+
const service = createCLIPatternService(rootDir);
|
|
49
|
+
// Trigger initialization by getting status
|
|
50
|
+
await service.getStatus();
|
|
48
51
|
spinner.succeed('Patterns loaded');
|
|
49
52
|
// Find the pattern
|
|
50
|
-
const pattern =
|
|
53
|
+
const pattern = await service.getPattern(patternId);
|
|
51
54
|
if (!pattern) {
|
|
52
55
|
// Try to find by partial ID match
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
p.name.toLowerCase().includes(patternId.toLowerCase()));
|
|
56
|
-
if (matches.length === 0) {
|
|
56
|
+
const searchResult = await service.search(patternId, { limit: 20 });
|
|
57
|
+
if (searchResult.length === 0) {
|
|
57
58
|
status.error(`Pattern not found: ${patternId}`);
|
|
58
59
|
console.log();
|
|
59
60
|
console.log(chalk.gray('Use `drift status -d` to see available patterns'));
|
|
60
61
|
process.exit(1);
|
|
61
62
|
}
|
|
62
|
-
if (
|
|
63
|
+
if (searchResult.length === 1) {
|
|
63
64
|
// Single match, use it
|
|
64
|
-
const match =
|
|
65
|
+
const match = searchResult[0];
|
|
65
66
|
console.log(chalk.gray(`Found pattern: ${match.id}`));
|
|
66
67
|
console.log();
|
|
67
68
|
// Get reason if not provided
|
|
@@ -77,27 +78,16 @@ async function ignoreAction(patternId, options) {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
try {
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
metadata: {
|
|
84
|
-
...match.metadata,
|
|
85
|
-
custom: {
|
|
86
|
-
...match.metadata.custom,
|
|
87
|
-
ignoreReason: reason,
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
store.ignore(match.id);
|
|
93
|
-
await store.saveAll();
|
|
81
|
+
// Note: reason is stored via the service's ignorePattern method
|
|
82
|
+
// The service handles metadata updates internally
|
|
83
|
+
await service.ignorePattern(match.id);
|
|
94
84
|
status.success(`Ignored pattern: ${match.name}`);
|
|
95
85
|
if (reason) {
|
|
96
86
|
console.log(chalk.gray(` Reason: ${reason}`));
|
|
97
87
|
}
|
|
98
88
|
}
|
|
99
89
|
catch (error) {
|
|
100
|
-
if (error instanceof
|
|
90
|
+
if (error instanceof Error && error.message.includes('already ignored')) {
|
|
101
91
|
status.warning(`Pattern is already ignored: ${match.name}`);
|
|
102
92
|
}
|
|
103
93
|
else {
|
|
@@ -110,17 +100,17 @@ async function ignoreAction(patternId, options) {
|
|
|
110
100
|
// Multiple matches, show them
|
|
111
101
|
console.log(chalk.yellow(`Multiple patterns match "${patternId}":`));
|
|
112
102
|
console.log();
|
|
113
|
-
const rows =
|
|
103
|
+
const rows = searchResult.slice(0, 10).map((p) => ({
|
|
114
104
|
id: p.id.slice(0, 13),
|
|
115
105
|
name: p.name.slice(0, 28),
|
|
116
106
|
category: p.category,
|
|
117
|
-
confidence: p.confidence
|
|
118
|
-
locations: p.
|
|
119
|
-
outliers: p.
|
|
107
|
+
confidence: p.confidence,
|
|
108
|
+
locations: p.locationCount,
|
|
109
|
+
outliers: p.outlierCount,
|
|
120
110
|
}));
|
|
121
111
|
console.log(createPatternsTable(rows));
|
|
122
|
-
if (
|
|
123
|
-
console.log(chalk.gray(` ... and ${
|
|
112
|
+
if (searchResult.length > 10) {
|
|
113
|
+
console.log(chalk.gray(` ... and ${searchResult.length - 10} more`));
|
|
124
114
|
}
|
|
125
115
|
console.log();
|
|
126
116
|
console.log(chalk.gray('Please specify a more specific pattern ID'));
|
|
@@ -133,7 +123,7 @@ async function ignoreAction(patternId, options) {
|
|
|
133
123
|
console.log(` Name: ${pattern.name}`);
|
|
134
124
|
console.log(` Category: ${pattern.category}`);
|
|
135
125
|
console.log(` Status: ${pattern.status}`);
|
|
136
|
-
console.log(` Confidence: ${(pattern.confidence
|
|
126
|
+
console.log(` Confidence: ${(pattern.confidence * 100).toFixed(0)}% (${pattern.confidenceLevel})`);
|
|
137
127
|
console.log(` Locations: ${pattern.locations.length}`);
|
|
138
128
|
console.log(` Outliers: ${pattern.outliers.length}`);
|
|
139
129
|
console.log();
|
|
@@ -161,27 +151,14 @@ async function ignoreAction(patternId, options) {
|
|
|
161
151
|
}
|
|
162
152
|
// Ignore the pattern
|
|
163
153
|
try {
|
|
164
|
-
|
|
165
|
-
if (reason) {
|
|
166
|
-
store.update(pattern.id, {
|
|
167
|
-
metadata: {
|
|
168
|
-
...pattern.metadata,
|
|
169
|
-
custom: {
|
|
170
|
-
...pattern.metadata.custom,
|
|
171
|
-
ignoreReason: reason,
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
store.ignore(patternId);
|
|
177
|
-
await store.saveAll();
|
|
154
|
+
await service.ignorePattern(patternId);
|
|
178
155
|
status.success(`Ignored pattern: ${pattern.name}`);
|
|
179
156
|
if (reason) {
|
|
180
157
|
console.log(chalk.gray(` Reason: ${reason}`));
|
|
181
158
|
}
|
|
182
159
|
}
|
|
183
160
|
catch (error) {
|
|
184
|
-
if (error instanceof
|
|
161
|
+
if (error instanceof Error && error.message.includes('Cannot transition')) {
|
|
185
162
|
status.error(`Cannot ignore pattern from status: ${pattern.status}`);
|
|
186
163
|
}
|
|
187
164
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAC;AAWtE,6CAA6C;AAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC;AAE3B;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,SAAiB,EACjB,OAAsB;IAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjD,2CAA2C;IAC3C,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAE1B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnC,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,kCAAkC;QAClC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,uBAAuB;YACvB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,6BAA6B;YAC7B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,mBAAmB,KAAK,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,gEAAgE;gBAChE,kDAAkD;gBAClD,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxE,MAAM,CAAC,OAAO,CAAC,+BAA+B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,SAAS,IAAI,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,IAAI,GAAiB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,SAAS,EAAE,CAAC,CAAC,aAAa;YAC1B,QAAQ,EAAE,CAAC,CAAC,YAAY;SACzB,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvC,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,KAAK,UAAU;YAC3B,CAAC,CAAC,+CAA+C,OAAO,CAAC,IAAI,IAAI;YACjE,CAAC,CAAC,mBAAmB,OAAO,CAAC,IAAI,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -21,4 +21,10 @@ export { dnaCommand } from './dna/index.js';
|
|
|
21
21
|
export { boundariesCommand } from './boundaries.js';
|
|
22
22
|
export { callgraphCommand } from './callgraph.js';
|
|
23
23
|
export { projectsCommand } from './projects.js';
|
|
24
|
+
export { skillsCommand } from './skills.js';
|
|
25
|
+
export { migrateStorageCommand } from './migrate-storage.js';
|
|
26
|
+
export { wrappersCommand } from './wrappers.js';
|
|
27
|
+
export { createTestTopologyCommand } from './test-topology.js';
|
|
28
|
+
export { createCouplingCommand } from './coupling.js';
|
|
29
|
+
export { createErrorHandlingCommand } from './error-handling.js';
|
|
24
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -21,4 +21,11 @@ export { dnaCommand } from './dna/index.js';
|
|
|
21
21
|
export { boundariesCommand } from './boundaries.js';
|
|
22
22
|
export { callgraphCommand } from './callgraph.js';
|
|
23
23
|
export { projectsCommand } from './projects.js';
|
|
24
|
+
export { skillsCommand } from './skills.js';
|
|
25
|
+
export { migrateStorageCommand } from './migrate-storage.js';
|
|
26
|
+
export { wrappersCommand } from './wrappers.js';
|
|
27
|
+
// Analysis commands (L5-L7 layers)
|
|
28
|
+
export { createTestTopologyCommand } from './test-topology.js';
|
|
29
|
+
export { createCouplingCommand } from './coupling.js';
|
|
30
|
+
export { createErrorHandlingCommand } from './error-handling.js';
|
|
24
31
|
//# sourceMappingURL=index.js.map
|