driftdetect-lsp 0.9.27 → 0.9.29
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/package.json +3 -3
- package/dist/bin/server.d.ts +0 -12
- package/dist/bin/server.js +0 -26
- package/dist/bin/server.js.map +0 -1
- package/dist/capabilities.d.ts +0 -91
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js +0 -183
- package/dist/capabilities.js.map +0 -1
- package/dist/commands/approve-pattern.d.ts +0 -15
- package/dist/commands/approve-pattern.js +0 -83
- package/dist/commands/approve-pattern.js.map +0 -1
- package/dist/commands/create-variant.d.ts +0 -22
- package/dist/commands/create-variant.js +0 -109
- package/dist/commands/create-variant.js.map +0 -1
- package/dist/commands/explain-ai.d.ts +0 -11
- package/dist/commands/explain-ai.js +0 -144
- package/dist/commands/explain-ai.js.map +0 -1
- package/dist/commands/fix-ai.d.ts +0 -11
- package/dist/commands/fix-ai.js +0 -146
- package/dist/commands/fix-ai.js.map +0 -1
- package/dist/commands/ignore-once.d.ts +0 -33
- package/dist/commands/ignore-once.js +0 -147
- package/dist/commands/ignore-once.js.map +0 -1
- package/dist/commands/ignore-pattern.d.ts +0 -15
- package/dist/commands/ignore-pattern.js +0 -77
- package/dist/commands/ignore-pattern.js.map +0 -1
- package/dist/commands/index.d.ts +0 -14
- package/dist/commands/index.js +0 -14
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/rescan.d.ts +0 -19
- package/dist/commands/rescan.js +0 -125
- package/dist/commands/rescan.js.map +0 -1
- package/dist/commands/show-patterns.d.ts +0 -30
- package/dist/commands/show-patterns.js +0 -175
- package/dist/commands/show-patterns.js.map +0 -1
- package/dist/commands/show-violations.d.ts +0 -11
- package/dist/commands/show-violations.js +0 -259
- package/dist/commands/show-violations.js.map +0 -1
- package/dist/handlers/code-actions.d.ts +0 -32
- package/dist/handlers/code-actions.js +0 -184
- package/dist/handlers/code-actions.js.map +0 -1
- package/dist/handlers/code-lens.d.ts +0 -32
- package/dist/handlers/code-lens.js +0 -162
- package/dist/handlers/code-lens.js.map +0 -1
- package/dist/handlers/commands.d.ts +0 -48
- package/dist/handlers/commands.js +0 -360
- package/dist/handlers/commands.js.map +0 -1
- package/dist/handlers/diagnostics.d.ts +0 -73
- package/dist/handlers/diagnostics.js +0 -259
- package/dist/handlers/diagnostics.js.map +0 -1
- package/dist/handlers/document-sync.d.ts +0 -37
- package/dist/handlers/document-sync.js +0 -49
- package/dist/handlers/document-sync.js.map +0 -1
- package/dist/handlers/hover.d.ts +0 -30
- package/dist/handlers/hover.js +0 -119
- package/dist/handlers/hover.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -23
- package/dist/handlers/index.js +0 -16
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/initialize.d.ts +0 -41
- package/dist/handlers/initialize.d.ts.map +0 -1
- package/dist/handlers/initialize.js +0 -33
- package/dist/handlers/initialize.js.map +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/integration/core-scanner.d.ts +0 -89
- package/dist/integration/core-scanner.js +0 -309
- package/dist/integration/core-scanner.js.map +0 -1
- package/dist/integration/index.d.ts +0 -11
- package/dist/integration/index.js +0 -11
- package/dist/integration/index.js.map +0 -1
- package/dist/integration/pattern-store-adapter.d.ts +0 -117
- package/dist/integration/pattern-store-adapter.js +0 -349
- package/dist/integration/pattern-store-adapter.js.map +0 -1
- package/dist/integration/types.d.ts +0 -134
- package/dist/integration/types.js +0 -39
- package/dist/integration/types.js.map +0 -1
- package/dist/server/index.d.ts +0 -5
- package/dist/server/index.js +0 -5
- package/dist/server/index.js.map +0 -1
- package/dist/server/types.d.ts +0 -139
- package/dist/server/types.js +0 -8
- package/dist/server/types.js.map +0 -1
- package/dist/server.d.ts +0 -63
- package/dist/server.js +0 -208
- package/dist/server.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types/index.js.map +0 -1
- package/dist/types/lsp-types.d.ts +0 -321
- package/dist/types/lsp-types.js +0 -274
- package/dist/types/lsp-types.js.map +0 -1
- package/dist/utils/diagnostic.d.ts +0 -84
- package/dist/utils/diagnostic.js +0 -256
- package/dist/utils/diagnostic.js.map +0 -1
- package/dist/utils/document.d.ts +0 -40
- package/dist/utils/document.d.ts.map +0 -1
- package/dist/utils/document.js +0 -138
- package/dist/utils/document.js.map +0 -1
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -8
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/position.d.ts +0 -44
- package/dist/utils/position.d.ts.map +0 -1
- package/dist/utils/position.js +0 -96
- package/dist/utils/position.js.map +0 -1
- package/dist/utils/workspace.d.ts +0 -98
- package/dist/utils/workspace.js +0 -241
- package/dist/utils/workspace.js.map +0 -1
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Commands Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles execution of Drift LSP commands.
|
|
5
|
-
* Routes commands to appropriate handlers and returns results.
|
|
6
|
-
* Integrates with driftdetect-core pattern store for persistence.
|
|
7
|
-
*
|
|
8
|
-
* @requirements 28.1 - drift.approvePattern
|
|
9
|
-
* @requirements 28.2 - drift.ignorePattern
|
|
10
|
-
* @requirements 28.3 - drift.ignoreOnce
|
|
11
|
-
* @requirements 28.4 - drift.createVariant
|
|
12
|
-
* @requirements 28.5 - drift.explainWithAI
|
|
13
|
-
* @requirements 28.6 - drift.fixWithAI
|
|
14
|
-
* @requirements 28.7 - drift.rescan
|
|
15
|
-
* @requirements 28.8 - drift.showPatterns
|
|
16
|
-
* @requirements 28.9 - drift.showViolations
|
|
17
|
-
*/
|
|
18
|
-
import { DRIFT_COMMANDS } from '../capabilities.js';
|
|
19
|
-
// ============================================================================
|
|
20
|
-
// Command Implementations
|
|
21
|
-
// ============================================================================
|
|
22
|
-
/**
|
|
23
|
-
* Approve a pattern
|
|
24
|
-
* @requirements 28.1 - drift.approvePattern
|
|
25
|
-
*/
|
|
26
|
-
async function executeApprovePattern(connection, diagnosticsHandler, logger, patternId) {
|
|
27
|
-
logger.info(`Approving pattern: ${patternId}`);
|
|
28
|
-
// Get the pattern store adapter from diagnostics handler
|
|
29
|
-
const patternStoreAdapter = diagnosticsHandler.getPatternStoreAdapter();
|
|
30
|
-
if (patternStoreAdapter && patternStoreAdapter.isInitialized()) {
|
|
31
|
-
// Use the pattern store adapter to persist the approval
|
|
32
|
-
const result = await patternStoreAdapter.approve(patternId);
|
|
33
|
-
if (result.success) {
|
|
34
|
-
// Clear diagnostics for all documents to remove violations for this pattern
|
|
35
|
-
diagnosticsHandler.clearAllDiagnostics();
|
|
36
|
-
connection.window.showInformationMessage(`Pattern "${patternId}" approved. ${result.removedViolations} violation(s) will be cleared.`);
|
|
37
|
-
return {
|
|
38
|
-
success: true,
|
|
39
|
-
message: `Pattern "${patternId}" approved`,
|
|
40
|
-
data: { patternId, removedViolations: result.removedViolations },
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
connection.window.showErrorMessage(`Failed to approve pattern: ${result.error ?? 'Unknown error'}`);
|
|
45
|
-
return {
|
|
46
|
-
success: false,
|
|
47
|
-
error: result.error ?? 'Unknown error',
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// Fallback if pattern store adapter not available
|
|
52
|
-
connection.window.showInformationMessage(`Pattern "${patternId}" approved. Violations will be cleared.`);
|
|
53
|
-
return {
|
|
54
|
-
success: true,
|
|
55
|
-
message: `Pattern "${patternId}" approved`,
|
|
56
|
-
data: { patternId },
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Ignore a pattern
|
|
61
|
-
* @requirements 28.2 - drift.ignorePattern
|
|
62
|
-
*/
|
|
63
|
-
async function executeIgnorePattern(connection, diagnosticsHandler, logger, patternId) {
|
|
64
|
-
logger.info(`Ignoring pattern: ${patternId}`);
|
|
65
|
-
// Get the pattern store adapter from diagnostics handler
|
|
66
|
-
const patternStoreAdapter = diagnosticsHandler.getPatternStoreAdapter();
|
|
67
|
-
if (patternStoreAdapter && patternStoreAdapter.isInitialized()) {
|
|
68
|
-
// Use the pattern store adapter to persist the ignore
|
|
69
|
-
const result = await patternStoreAdapter.ignore(patternId);
|
|
70
|
-
if (result.success) {
|
|
71
|
-
// Clear diagnostics for all documents to remove violations for this pattern
|
|
72
|
-
diagnosticsHandler.clearAllDiagnostics();
|
|
73
|
-
connection.window.showInformationMessage(`Pattern "${patternId}" ignored. ${result.suppressedViolations} violation(s) will be suppressed.`);
|
|
74
|
-
return {
|
|
75
|
-
success: true,
|
|
76
|
-
message: `Pattern "${patternId}" ignored`,
|
|
77
|
-
data: { patternId, suppressedViolations: result.suppressedViolations },
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
connection.window.showErrorMessage(`Failed to ignore pattern: ${result.error ?? 'Unknown error'}`);
|
|
82
|
-
return {
|
|
83
|
-
success: false,
|
|
84
|
-
error: result.error ?? 'Unknown error',
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Fallback if pattern store adapter not available
|
|
89
|
-
connection.window.showInformationMessage(`Pattern "${patternId}" ignored. Violations will be suppressed.`);
|
|
90
|
-
return {
|
|
91
|
-
success: true,
|
|
92
|
-
message: `Pattern "${patternId}" ignored`,
|
|
93
|
-
data: { patternId },
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Ignore a single occurrence
|
|
98
|
-
* @requirements 28.3 - drift.ignoreOnce
|
|
99
|
-
*/
|
|
100
|
-
async function executeIgnoreOnce(connection, logger, violationId, uri, line) {
|
|
101
|
-
logger.info(`Ignoring violation once: ${violationId} at ${uri}:${line}`);
|
|
102
|
-
// TODO: Add ignore comment to the file
|
|
103
|
-
// - Insert // drift-ignore-next-line or similar
|
|
104
|
-
// - Re-scan the document
|
|
105
|
-
connection.window.showInformationMessage(`Violation ignored for this occurrence.`);
|
|
106
|
-
return {
|
|
107
|
-
success: true,
|
|
108
|
-
message: 'Violation ignored',
|
|
109
|
-
data: { violationId, uri, line },
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Create a variant
|
|
114
|
-
* @requirements 28.4 - drift.createVariant
|
|
115
|
-
*/
|
|
116
|
-
async function executeCreateVariant(connection, diagnosticsHandler, logger, patternId, violationId, file, line, column) {
|
|
117
|
-
logger.info(`Creating variant for pattern: ${patternId}`);
|
|
118
|
-
// Get the pattern store adapter from diagnostics handler
|
|
119
|
-
const patternStoreAdapter = diagnosticsHandler.getPatternStoreAdapter();
|
|
120
|
-
if (patternStoreAdapter && patternStoreAdapter.isInitialized()) {
|
|
121
|
-
// Generate a variant name
|
|
122
|
-
const variantName = `variant-${Date.now().toString(36)}`;
|
|
123
|
-
// Build the variant input, conditionally including scopeValue
|
|
124
|
-
const variantInput = {
|
|
125
|
-
patternId,
|
|
126
|
-
name: variantName,
|
|
127
|
-
reason: 'Intentional deviation from pattern',
|
|
128
|
-
scope: file ? 'file' : 'global',
|
|
129
|
-
file: file || '',
|
|
130
|
-
line: line || 1,
|
|
131
|
-
column: column || 1,
|
|
132
|
-
};
|
|
133
|
-
// Only add scopeValue if file is provided
|
|
134
|
-
if (file) {
|
|
135
|
-
variantInput.scopeValue = file;
|
|
136
|
-
}
|
|
137
|
-
// Create the variant
|
|
138
|
-
const result = await patternStoreAdapter.createVariant(variantInput);
|
|
139
|
-
if (result.success) {
|
|
140
|
-
connection.window.showInformationMessage(`Variant "${variantName}" created for pattern "${patternId}". Configure it in .drift/patterns/variants/`);
|
|
141
|
-
return {
|
|
142
|
-
success: true,
|
|
143
|
-
message: `Variant "${variantName}" created`,
|
|
144
|
-
data: { patternId, variantName, variantId: result.variantId, violationId },
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
connection.window.showErrorMessage(`Failed to create variant: ${result.error ?? 'Unknown error'}`);
|
|
149
|
-
return {
|
|
150
|
-
success: false,
|
|
151
|
-
error: result.error ?? 'Unknown error',
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Fallback if pattern store adapter not available
|
|
156
|
-
const variantName = `variant-${Date.now()}`;
|
|
157
|
-
connection.window.showInformationMessage(`Variant "${variantName}" created for pattern "${patternId}". Configure it in .drift/patterns/variants/`);
|
|
158
|
-
return {
|
|
159
|
-
success: true,
|
|
160
|
-
message: `Variant "${variantName}" created`,
|
|
161
|
-
data: { patternId, variantName, violationId },
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Explain with AI
|
|
166
|
-
* @requirements 28.5 - drift.explainWithAI
|
|
167
|
-
*/
|
|
168
|
-
async function executeExplainAI(connection, logger, violationId, patternId) {
|
|
169
|
-
logger.info(`AI explain requested for violation: ${violationId}`);
|
|
170
|
-
// TODO: Integrate with @drift/ai
|
|
171
|
-
// - Build context from violation and pattern
|
|
172
|
-
// - Send to AI provider
|
|
173
|
-
// - Display explanation to user
|
|
174
|
-
connection.window.showInformationMessage('AI explanation feature requires @drift/ai integration. Coming soon!');
|
|
175
|
-
return {
|
|
176
|
-
success: true,
|
|
177
|
-
message: 'AI explain requested',
|
|
178
|
-
data: { violationId, patternId },
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Fix with AI
|
|
183
|
-
* @requirements 28.6 - drift.fixWithAI
|
|
184
|
-
*/
|
|
185
|
-
async function executeFixAI(connection, logger, violationId, uri) {
|
|
186
|
-
logger.info(`AI fix requested for violation: ${violationId}`);
|
|
187
|
-
// TODO: Integrate with @drift/ai
|
|
188
|
-
// - Build context from violation
|
|
189
|
-
// - Generate fix with AI
|
|
190
|
-
// - Show diff preview
|
|
191
|
-
// - Apply fix if confirmed
|
|
192
|
-
connection.window.showInformationMessage('AI fix feature requires @drift/ai integration. Coming soon!');
|
|
193
|
-
return {
|
|
194
|
-
success: true,
|
|
195
|
-
message: 'AI fix requested',
|
|
196
|
-
data: { violationId, uri },
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Rescan workspace
|
|
201
|
-
* @requirements 28.7 - drift.rescan
|
|
202
|
-
*/
|
|
203
|
-
async function executeRescan(connection, documents, diagnosticsHandler, logger, uri) {
|
|
204
|
-
logger.info(`Rescan requested${uri ? ` for: ${uri}` : ' for all documents'}`);
|
|
205
|
-
// Get documents to scan
|
|
206
|
-
const documentsToScan = uri
|
|
207
|
-
? [documents.get(uri)].filter((d) => d !== undefined)
|
|
208
|
-
: documents.all();
|
|
209
|
-
if (documentsToScan.length === 0) {
|
|
210
|
-
return {
|
|
211
|
-
success: true,
|
|
212
|
-
message: 'No documents to scan',
|
|
213
|
-
data: { scannedCount: 0 },
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
// Note: withProgress is not available in vscode-languageserver
|
|
217
|
-
// Show a simple message instead
|
|
218
|
-
connection.window.showInformationMessage(`Rescanning ${documentsToScan.length} document(s)...`);
|
|
219
|
-
for (const doc of documentsToScan) {
|
|
220
|
-
await diagnosticsHandler.publishDiagnostics(doc.uri);
|
|
221
|
-
}
|
|
222
|
-
connection.window.showInformationMessage(`Rescan complete: ${documentsToScan.length} document(s) scanned.`);
|
|
223
|
-
return {
|
|
224
|
-
success: true,
|
|
225
|
-
message: 'Rescan complete',
|
|
226
|
-
data: { scannedCount: documentsToScan.length },
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Show patterns
|
|
231
|
-
* @requirements 28.8 - drift.showPatterns
|
|
232
|
-
*/
|
|
233
|
-
async function executeShowPatterns(connection, diagnosticsHandler, logger, patternId) {
|
|
234
|
-
logger.info(`Show patterns requested${patternId ? `: ${patternId}` : ''}`);
|
|
235
|
-
// Get the pattern store adapter from diagnostics handler
|
|
236
|
-
const patternStoreAdapter = diagnosticsHandler.getPatternStoreAdapter();
|
|
237
|
-
if (patternStoreAdapter && patternStoreAdapter.isInitialized()) {
|
|
238
|
-
if (patternId) {
|
|
239
|
-
// Get specific pattern
|
|
240
|
-
const pattern = patternStoreAdapter.getPattern(patternId);
|
|
241
|
-
if (pattern) {
|
|
242
|
-
connection.window.showInformationMessage(`Pattern "${pattern.name}": ${pattern.description || 'No description'} (confidence: ${(pattern.confidence ?? 0) * 100}%)`);
|
|
243
|
-
return {
|
|
244
|
-
success: true,
|
|
245
|
-
message: 'Pattern found',
|
|
246
|
-
data: { pattern },
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
connection.window.showWarningMessage(`Pattern not found: ${patternId}`);
|
|
251
|
-
return {
|
|
252
|
-
success: false,
|
|
253
|
-
error: `Pattern not found: ${patternId}`,
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// Get all patterns
|
|
259
|
-
const approved = patternStoreAdapter.getApprovedPatterns();
|
|
260
|
-
const discovered = patternStoreAdapter.getDiscoveredPatterns();
|
|
261
|
-
const ignored = patternStoreAdapter.getIgnoredPatterns();
|
|
262
|
-
connection.window.showInformationMessage(`Patterns: ${approved.length} approved, ${discovered.length} discovered, ${ignored.length} ignored`);
|
|
263
|
-
return {
|
|
264
|
-
success: true,
|
|
265
|
-
message: 'Patterns retrieved',
|
|
266
|
-
data: {
|
|
267
|
-
approved: approved.length,
|
|
268
|
-
discovered: discovered.length,
|
|
269
|
-
ignored: ignored.length,
|
|
270
|
-
patterns: [...approved, ...discovered],
|
|
271
|
-
},
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
// Fallback if pattern store adapter not available
|
|
276
|
-
connection.window.showInformationMessage('Pattern viewer coming soon! Patterns are stored in .drift/patterns/');
|
|
277
|
-
return {
|
|
278
|
-
success: true,
|
|
279
|
-
message: 'Show patterns',
|
|
280
|
-
data: { patternId },
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Show violations
|
|
285
|
-
* @requirements 28.9 - drift.showViolations
|
|
286
|
-
*/
|
|
287
|
-
async function executeShowViolations(connection, diagnosticsHandler, logger, uri, patternId, violationId) {
|
|
288
|
-
logger.info(`Show violations requested${uri ? ` for: ${uri}` : ''}${patternId ? ` pattern: ${patternId}` : ''}`);
|
|
289
|
-
// Get violations
|
|
290
|
-
if (uri) {
|
|
291
|
-
const diagnostics = diagnosticsHandler.getDiagnostics(uri);
|
|
292
|
-
const filtered = patternId
|
|
293
|
-
? diagnostics.filter((d) => d.data?.patternId === patternId)
|
|
294
|
-
: diagnostics;
|
|
295
|
-
connection.window.showInformationMessage(`Found ${filtered.length} violation(s) in this file.`);
|
|
296
|
-
return {
|
|
297
|
-
success: true,
|
|
298
|
-
message: `${filtered.length} violations`,
|
|
299
|
-
data: { uri, patternId, count: filtered.length },
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
// TODO: Show all violations across workspace
|
|
303
|
-
connection.window.showInformationMessage('Violation viewer coming soon!');
|
|
304
|
-
return {
|
|
305
|
-
success: true,
|
|
306
|
-
message: 'Show violations',
|
|
307
|
-
data: { patternId, violationId },
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
// ============================================================================
|
|
311
|
-
// Handler Factory
|
|
312
|
-
// ============================================================================
|
|
313
|
-
/**
|
|
314
|
-
* Create the commands handler
|
|
315
|
-
*/
|
|
316
|
-
export function createCommandsHandler(connection, documents, diagnosticsHandler, logger) {
|
|
317
|
-
return {
|
|
318
|
-
async onExecuteCommand(params) {
|
|
319
|
-
const { command, arguments: args = [] } = params;
|
|
320
|
-
logger.debug(`Executing command: ${command}`);
|
|
321
|
-
try {
|
|
322
|
-
switch (command) {
|
|
323
|
-
case DRIFT_COMMANDS.APPROVE_PATTERN:
|
|
324
|
-
return await executeApprovePattern(connection, diagnosticsHandler, logger, args[0]);
|
|
325
|
-
case DRIFT_COMMANDS.IGNORE_PATTERN:
|
|
326
|
-
return await executeIgnorePattern(connection, diagnosticsHandler, logger, args[0]);
|
|
327
|
-
case DRIFT_COMMANDS.IGNORE_ONCE:
|
|
328
|
-
return await executeIgnoreOnce(connection, logger, args[0], args[1], args[2]);
|
|
329
|
-
case DRIFT_COMMANDS.CREATE_VARIANT:
|
|
330
|
-
return await executeCreateVariant(connection, diagnosticsHandler, logger, args[0], args[1], args[2], args[3], args[4]);
|
|
331
|
-
case DRIFT_COMMANDS.EXPLAIN_AI:
|
|
332
|
-
return await executeExplainAI(connection, logger, args[0], args[1]);
|
|
333
|
-
case DRIFT_COMMANDS.FIX_AI:
|
|
334
|
-
return await executeFixAI(connection, logger, args[0], args[1]);
|
|
335
|
-
case DRIFT_COMMANDS.RESCAN:
|
|
336
|
-
return await executeRescan(connection, documents, diagnosticsHandler, logger, args[0]);
|
|
337
|
-
case DRIFT_COMMANDS.SHOW_PATTERNS:
|
|
338
|
-
return await executeShowPatterns(connection, diagnosticsHandler, logger, args[0]);
|
|
339
|
-
case DRIFT_COMMANDS.SHOW_VIOLATIONS:
|
|
340
|
-
return await executeShowViolations(connection, diagnosticsHandler, logger, args[0], args[1], args[2]);
|
|
341
|
-
default:
|
|
342
|
-
logger.warn(`Unknown command: ${command}`);
|
|
343
|
-
return {
|
|
344
|
-
success: false,
|
|
345
|
-
error: `Unknown command: ${command}`,
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
catch (error) {
|
|
350
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
351
|
-
logger.error(`Command ${command} failed: ${errorMessage}`);
|
|
352
|
-
return {
|
|
353
|
-
success: false,
|
|
354
|
-
error: errorMessage,
|
|
355
|
-
};
|
|
356
|
-
}
|
|
357
|
-
},
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
//# sourceMappingURL=commands.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/handlers/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Diagnostics Handler
|
|
3
|
-
*
|
|
4
|
-
* Publishes diagnostics (squiggly lines) for pattern violations.
|
|
5
|
-
* Manages diagnostic state and provides incremental updates.
|
|
6
|
-
* Integrates with driftdetect-core scanner for pattern detection.
|
|
7
|
-
*
|
|
8
|
-
* @requirements 27.3 - THE LSP_Server SHALL publish diagnostics for violations
|
|
9
|
-
* @requirements 27.7 - THE LSP_Server SHALL respond to diagnostics within 200ms of file change
|
|
10
|
-
*/
|
|
11
|
-
import type { Connection, Diagnostic, TextDocuments } from 'vscode-languageserver';
|
|
12
|
-
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
13
|
-
import type { Violation } from 'driftdetect-core';
|
|
14
|
-
import { CoreScanner, PatternStoreAdapter, type CoreIntegrationConfig } from '../integration/index.js';
|
|
15
|
-
interface ServerState {
|
|
16
|
-
initialized: boolean;
|
|
17
|
-
workspaceFolders: Array<{
|
|
18
|
-
uri: string;
|
|
19
|
-
name: string;
|
|
20
|
-
}>;
|
|
21
|
-
}
|
|
22
|
-
interface Logger {
|
|
23
|
-
error(message: string): void;
|
|
24
|
-
warn(message: string): void;
|
|
25
|
-
info(message: string): void;
|
|
26
|
-
debug(message: string): void;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Extended diagnostic with Drift-specific data
|
|
30
|
-
*/
|
|
31
|
-
export interface ViolationDiagnostic extends Diagnostic {
|
|
32
|
-
data?: {
|
|
33
|
-
violationId: string;
|
|
34
|
-
patternId: string;
|
|
35
|
-
file: string;
|
|
36
|
-
hasQuickFix: boolean;
|
|
37
|
-
aiExplainAvailable: boolean;
|
|
38
|
-
aiFixAvailable: boolean;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Diagnostics handler interface
|
|
43
|
-
*/
|
|
44
|
-
export interface DiagnosticsHandler {
|
|
45
|
-
/** Publish diagnostics for a document */
|
|
46
|
-
publishDiagnostics(uri: string): Promise<void>;
|
|
47
|
-
/** Clear diagnostics for a document */
|
|
48
|
-
clearDiagnostics(uri: string): void;
|
|
49
|
-
/** Clear all diagnostics */
|
|
50
|
-
clearAllDiagnostics(): void;
|
|
51
|
-
/** Get diagnostics for a document */
|
|
52
|
-
getDiagnostics(uri: string): ViolationDiagnostic[];
|
|
53
|
-
/** Get diagnostic at a specific position */
|
|
54
|
-
getDiagnosticAtPosition(uri: string, line: number, character: number): ViolationDiagnostic | undefined;
|
|
55
|
-
/** Get all violations for a document */
|
|
56
|
-
getViolations(uri: string): Violation[];
|
|
57
|
-
/** Schedule a diagnostic update with debouncing */
|
|
58
|
-
scheduleUpdate(uri: string, delayMs?: number): void;
|
|
59
|
-
/** Cancel a scheduled update */
|
|
60
|
-
cancelUpdate(uri: string): void;
|
|
61
|
-
/** Get the core scanner instance */
|
|
62
|
-
getCoreScanner(): CoreScanner | null;
|
|
63
|
-
/** Get the pattern store adapter instance */
|
|
64
|
-
getPatternStoreAdapter(): PatternStoreAdapter | null;
|
|
65
|
-
/** Initialize the core integration */
|
|
66
|
-
initializeCoreIntegration(config?: Partial<CoreIntegrationConfig>): Promise<void>;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Create the diagnostics handler
|
|
70
|
-
*/
|
|
71
|
-
export declare function createDiagnosticsHandler(connection: Connection, documents: TextDocuments<TextDocument>, state: ServerState, logger: Logger): DiagnosticsHandler;
|
|
72
|
-
export {};
|
|
73
|
-
//# sourceMappingURL=diagnostics.d.ts.map
|