driftdetect-lsp 0.9.27 → 0.9.28
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/LICENSE +121 -0
- package/package.json +15 -15
- 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,321 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LSP-specific type definitions for Drift
|
|
3
|
-
*
|
|
4
|
-
* These types bridge driftdetect-core types with LSP protocol types.
|
|
5
|
-
* They maintain compatibility with vscode-languageserver while
|
|
6
|
-
* providing Drift-specific extensions.
|
|
7
|
-
*
|
|
8
|
-
* @requirements 27.1-27.6, 28.1-28.9
|
|
9
|
-
*/
|
|
10
|
-
import type { Violation, QuickFix, Range, Position, Severity, WorkspaceEdit as CoreWorkspaceEdit } from 'driftdetect-core';
|
|
11
|
-
export type { Range, Position, Severity };
|
|
12
|
-
/**
|
|
13
|
-
* Location in a document (LSP compatible)
|
|
14
|
-
*/
|
|
15
|
-
export interface Location {
|
|
16
|
-
uri: string;
|
|
17
|
-
range: Range;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Diagnostic severity mapping to LSP DiagnosticSeverity numbers
|
|
21
|
-
* LSP: 1 = Error, 2 = Warning, 3 = Information, 4 = Hint
|
|
22
|
-
*/
|
|
23
|
-
export type DiagnosticSeverity = 'error' | 'warning' | 'info' | 'hint';
|
|
24
|
-
/**
|
|
25
|
-
* Drift diagnostic - extends LSP Diagnostic with Drift-specific data
|
|
26
|
-
*/
|
|
27
|
-
export interface DriftDiagnostic {
|
|
28
|
-
/** Unique violation identifier */
|
|
29
|
-
violationId: string;
|
|
30
|
-
/** Pattern that was violated */
|
|
31
|
-
patternId: string;
|
|
32
|
-
/** Severity level */
|
|
33
|
-
severity: DiagnosticSeverity;
|
|
34
|
-
/** Human-readable message */
|
|
35
|
-
message: string;
|
|
36
|
-
/** Range in the document */
|
|
37
|
-
range: Range;
|
|
38
|
-
/** Source identifier (always 'drift') */
|
|
39
|
-
source: string;
|
|
40
|
-
/** Code (pattern ID for navigation) */
|
|
41
|
-
code: string;
|
|
42
|
-
/** Related information for multi-location diagnostics */
|
|
43
|
-
relatedInformation?: DiagnosticRelatedInformation[];
|
|
44
|
-
/** Available quick fixes */
|
|
45
|
-
quickFixes: DriftQuickFix[];
|
|
46
|
-
/** Additional data for code actions */
|
|
47
|
-
data?: DiagnosticData;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Related information for diagnostics
|
|
51
|
-
*/
|
|
52
|
-
export interface DiagnosticRelatedInformation {
|
|
53
|
-
location: Location;
|
|
54
|
-
message: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Additional diagnostic data for code actions and commands
|
|
58
|
-
*/
|
|
59
|
-
export interface DiagnosticData {
|
|
60
|
-
violationId: string;
|
|
61
|
-
patternId: string;
|
|
62
|
-
file: string;
|
|
63
|
-
confidence?: number | undefined;
|
|
64
|
-
expected?: string | undefined;
|
|
65
|
-
actual?: string | undefined;
|
|
66
|
-
aiExplainAvailable?: boolean | undefined;
|
|
67
|
-
aiFixAvailable?: boolean | undefined;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Drift quick fix - LSP compatible code action
|
|
71
|
-
*/
|
|
72
|
-
export interface DriftQuickFix {
|
|
73
|
-
/** Human-readable title */
|
|
74
|
-
title: string;
|
|
75
|
-
/** Whether this is the preferred fix */
|
|
76
|
-
isPreferred: boolean;
|
|
77
|
-
/** Kind of code action */
|
|
78
|
-
kind: CodeActionKind;
|
|
79
|
-
/** Workspace edit to apply */
|
|
80
|
-
edit: WorkspaceEdit;
|
|
81
|
-
/** Optional command to execute after edit */
|
|
82
|
-
command?: Command;
|
|
83
|
-
/** Confidence score (0-1) */
|
|
84
|
-
confidence?: number;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Code action kinds supported by Drift
|
|
88
|
-
*/
|
|
89
|
-
export type CodeActionKind = 'quickfix' | 'refactor' | 'source';
|
|
90
|
-
/**
|
|
91
|
-
* Workspace edit (LSP compatible)
|
|
92
|
-
*/
|
|
93
|
-
export interface WorkspaceEdit {
|
|
94
|
-
changes?: Record<string, TextEdit[]>;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Text edit (LSP compatible)
|
|
98
|
-
*/
|
|
99
|
-
export interface TextEdit {
|
|
100
|
-
range: Range;
|
|
101
|
-
newText: string;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* LSP Command
|
|
105
|
-
*/
|
|
106
|
-
export interface Command {
|
|
107
|
-
title: string;
|
|
108
|
-
command: string;
|
|
109
|
-
arguments?: unknown[];
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Result of executing a command
|
|
113
|
-
*/
|
|
114
|
-
export interface CommandResult {
|
|
115
|
-
success: boolean;
|
|
116
|
-
message?: string;
|
|
117
|
-
data?: unknown;
|
|
118
|
-
error?: string;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Server state - tracks all runtime state
|
|
122
|
-
*/
|
|
123
|
-
export interface ServerState {
|
|
124
|
-
/** Whether server has been initialized */
|
|
125
|
-
initialized: boolean;
|
|
126
|
-
/** Workspace folders being tracked */
|
|
127
|
-
workspaceFolders: WorkspaceFolder[];
|
|
128
|
-
/** Open documents */
|
|
129
|
-
documents: Map<string, DocumentState>;
|
|
130
|
-
/** Diagnostics by document URI */
|
|
131
|
-
diagnostics: Map<string, DriftDiagnostic[]>;
|
|
132
|
-
/** Known patterns */
|
|
133
|
-
patterns: Map<string, PatternInfo>;
|
|
134
|
-
/** Violations by document URI */
|
|
135
|
-
violations: Map<string, ViolationInfo[]>;
|
|
136
|
-
/** Server configuration */
|
|
137
|
-
configuration: ServerConfiguration;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Workspace folder
|
|
141
|
-
*/
|
|
142
|
-
export interface WorkspaceFolder {
|
|
143
|
-
uri: string;
|
|
144
|
-
name: string;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Document state for open documents
|
|
148
|
-
*/
|
|
149
|
-
export interface DocumentState {
|
|
150
|
-
uri: string;
|
|
151
|
-
content: string;
|
|
152
|
-
version: number;
|
|
153
|
-
languageId: string;
|
|
154
|
-
isDirty: boolean;
|
|
155
|
-
lastScanTime: number | undefined;
|
|
156
|
-
cachedViolations: ViolationInfo[] | undefined;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Pattern information for display
|
|
160
|
-
*/
|
|
161
|
-
export interface PatternInfo {
|
|
162
|
-
id: string;
|
|
163
|
-
name?: string;
|
|
164
|
-
description?: string;
|
|
165
|
-
category?: string;
|
|
166
|
-
subcategory?: string;
|
|
167
|
-
confidence?: number;
|
|
168
|
-
frequency?: number;
|
|
169
|
-
severity?: Severity;
|
|
170
|
-
autoFixable?: boolean;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Violation information - simplified from driftdetect-core Violation
|
|
174
|
-
* Uses range instead of location for LSP compatibility
|
|
175
|
-
*/
|
|
176
|
-
export interface ViolationInfo {
|
|
177
|
-
id: string;
|
|
178
|
-
patternId: string;
|
|
179
|
-
message: string;
|
|
180
|
-
severity: string;
|
|
181
|
-
file: string;
|
|
182
|
-
range: Range;
|
|
183
|
-
expected?: string | undefined;
|
|
184
|
-
actual?: string | undefined;
|
|
185
|
-
explanation?: string | undefined;
|
|
186
|
-
quickFix?: QuickFixInfo | undefined;
|
|
187
|
-
aiExplainAvailable?: boolean | undefined;
|
|
188
|
-
aiFixAvailable?: boolean | undefined;
|
|
189
|
-
confidence?: number | undefined;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Quick fix information
|
|
193
|
-
*/
|
|
194
|
-
export interface QuickFixInfo {
|
|
195
|
-
title: string;
|
|
196
|
-
isPreferred: boolean;
|
|
197
|
-
confidence: number;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Server configuration
|
|
201
|
-
*/
|
|
202
|
-
export interface ServerConfiguration {
|
|
203
|
-
/** Enable/disable diagnostics */
|
|
204
|
-
diagnosticsEnabled: boolean;
|
|
205
|
-
/** Delay before publishing diagnostics (ms) */
|
|
206
|
-
diagnosticDelay: number;
|
|
207
|
-
/** Enable/disable code lens */
|
|
208
|
-
codeLensEnabled: boolean;
|
|
209
|
-
/** Enable/disable hover */
|
|
210
|
-
hoverEnabled: boolean;
|
|
211
|
-
/** Maximum diagnostics per file */
|
|
212
|
-
maxDiagnosticsPerFile: number;
|
|
213
|
-
/** Minimum confidence to show violations */
|
|
214
|
-
minConfidence: number;
|
|
215
|
-
/** Severity mapping overrides */
|
|
216
|
-
severityMapping: SeverityMapping;
|
|
217
|
-
/** Enable AI features */
|
|
218
|
-
aiEnabled: boolean;
|
|
219
|
-
/** File patterns to exclude */
|
|
220
|
-
excludePatterns: string[];
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Severity mapping configuration
|
|
224
|
-
*/
|
|
225
|
-
export interface SeverityMapping {
|
|
226
|
-
error: DiagnosticSeverity;
|
|
227
|
-
warning: DiagnosticSeverity;
|
|
228
|
-
info: DiagnosticSeverity;
|
|
229
|
-
hint: DiagnosticSeverity;
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Drift code lens
|
|
233
|
-
*/
|
|
234
|
-
export interface DriftCodeLens {
|
|
235
|
-
range: Range;
|
|
236
|
-
command?: Command;
|
|
237
|
-
data?: CodeLensData;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Code lens data for deferred resolution
|
|
241
|
-
*/
|
|
242
|
-
export interface CodeLensData {
|
|
243
|
-
patternId?: string;
|
|
244
|
-
violationId?: string;
|
|
245
|
-
violationCount?: number;
|
|
246
|
-
confidence?: number;
|
|
247
|
-
uri: string;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Server capability options
|
|
251
|
-
*/
|
|
252
|
-
export interface ServerCapabilityOptions {
|
|
253
|
-
textDocumentSync?: boolean | number;
|
|
254
|
-
hover?: boolean;
|
|
255
|
-
codeActions?: boolean;
|
|
256
|
-
codeLens?: boolean;
|
|
257
|
-
executeCommand?: boolean;
|
|
258
|
-
commands?: readonly string[];
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Convert driftdetect-core Violation to ViolationInfo
|
|
262
|
-
*/
|
|
263
|
-
export declare function violationToInfo(violation: Violation): ViolationInfo;
|
|
264
|
-
/**
|
|
265
|
-
* Convert ViolationInfo to DriftDiagnostic
|
|
266
|
-
*/
|
|
267
|
-
export declare function violationToLspDiagnostic(violation: ViolationInfo, _pattern?: PatternInfo): DriftDiagnostic;
|
|
268
|
-
/**
|
|
269
|
-
* Map severity string to DiagnosticSeverity
|
|
270
|
-
*/
|
|
271
|
-
export declare function mapSeverity(severity: string): DiagnosticSeverity;
|
|
272
|
-
/**
|
|
273
|
-
* Convert DiagnosticSeverity to LSP severity number
|
|
274
|
-
* LSP: 1 = Error, 2 = Warning, 3 = Information, 4 = Hint
|
|
275
|
-
*/
|
|
276
|
-
export declare function severityToNumber(severity: DiagnosticSeverity): number;
|
|
277
|
-
/**
|
|
278
|
-
* Convert LSP severity number to DiagnosticSeverity
|
|
279
|
-
*/
|
|
280
|
-
export declare function numberToSeverity(num: number): DiagnosticSeverity;
|
|
281
|
-
/**
|
|
282
|
-
* Convert driftdetect-core QuickFix to DriftQuickFix
|
|
283
|
-
*/
|
|
284
|
-
export declare function quickFixToLsp(quickFix: QuickFix, _uri: string): DriftQuickFix;
|
|
285
|
-
/**
|
|
286
|
-
* Convert driftdetect-core WorkspaceEdit to LSP WorkspaceEdit
|
|
287
|
-
*/
|
|
288
|
-
export declare function workspaceEditToLsp(edit: CoreWorkspaceEdit): WorkspaceEdit;
|
|
289
|
-
/**
|
|
290
|
-
* Create default server configuration
|
|
291
|
-
*/
|
|
292
|
-
export declare function createDefaultConfiguration(): ServerConfiguration;
|
|
293
|
-
/**
|
|
294
|
-
* Create initial server state
|
|
295
|
-
*/
|
|
296
|
-
export declare function createInitialState(): ServerState;
|
|
297
|
-
/**
|
|
298
|
-
* Create empty document state
|
|
299
|
-
*/
|
|
300
|
-
export declare function createDocumentState(uri: string, content: string, version: number, languageId: string): DocumentState;
|
|
301
|
-
/**
|
|
302
|
-
* Check if a position is within a range
|
|
303
|
-
*/
|
|
304
|
-
export declare function isPositionInRange(position: Position, range: Range): boolean;
|
|
305
|
-
/**
|
|
306
|
-
* Check if two ranges overlap
|
|
307
|
-
*/
|
|
308
|
-
export declare function rangesOverlap(a: Range, b: Range): boolean;
|
|
309
|
-
/**
|
|
310
|
-
* Get file name from URI
|
|
311
|
-
*/
|
|
312
|
-
export declare function getFileName(uri: string): string;
|
|
313
|
-
/**
|
|
314
|
-
* Format position for display
|
|
315
|
-
*/
|
|
316
|
-
export declare function formatPosition(position: Position): string;
|
|
317
|
-
/**
|
|
318
|
-
* Format range for display
|
|
319
|
-
*/
|
|
320
|
-
export declare function formatRange(range: Range): string;
|
|
321
|
-
//# sourceMappingURL=lsp-types.d.ts.map
|
package/dist/types/lsp-types.js
DELETED
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LSP-specific type definitions for Drift
|
|
3
|
-
*
|
|
4
|
-
* These types bridge driftdetect-core types with LSP protocol types.
|
|
5
|
-
* They maintain compatibility with vscode-languageserver while
|
|
6
|
-
* providing Drift-specific extensions.
|
|
7
|
-
*
|
|
8
|
-
* @requirements 27.1-27.6, 28.1-28.9
|
|
9
|
-
*/
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Conversion Functions
|
|
12
|
-
// ============================================================================
|
|
13
|
-
/**
|
|
14
|
-
* Convert driftdetect-core Violation to ViolationInfo
|
|
15
|
-
*/
|
|
16
|
-
export function violationToInfo(violation) {
|
|
17
|
-
return {
|
|
18
|
-
id: violation.id,
|
|
19
|
-
patternId: violation.patternId,
|
|
20
|
-
message: violation.message,
|
|
21
|
-
severity: violation.severity,
|
|
22
|
-
file: violation.file,
|
|
23
|
-
range: violation.range,
|
|
24
|
-
expected: violation.expected,
|
|
25
|
-
actual: violation.actual,
|
|
26
|
-
explanation: violation.explanation,
|
|
27
|
-
quickFix: violation.quickFix
|
|
28
|
-
? {
|
|
29
|
-
title: violation.quickFix.title,
|
|
30
|
-
isPreferred: violation.quickFix.isPreferred,
|
|
31
|
-
confidence: violation.quickFix.confidence,
|
|
32
|
-
}
|
|
33
|
-
: undefined,
|
|
34
|
-
aiExplainAvailable: violation.aiExplainAvailable,
|
|
35
|
-
aiFixAvailable: violation.aiFixAvailable,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Convert ViolationInfo to DriftDiagnostic
|
|
40
|
-
*/
|
|
41
|
-
export function violationToLspDiagnostic(violation, _pattern) {
|
|
42
|
-
const quickFixes = [];
|
|
43
|
-
// Add quick fix if available
|
|
44
|
-
if (violation.quickFix) {
|
|
45
|
-
quickFixes.push({
|
|
46
|
-
title: violation.quickFix.title,
|
|
47
|
-
isPreferred: violation.quickFix.isPreferred,
|
|
48
|
-
kind: 'quickfix',
|
|
49
|
-
edit: { changes: {} },
|
|
50
|
-
confidence: violation.quickFix.confidence,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
return {
|
|
54
|
-
violationId: violation.id,
|
|
55
|
-
patternId: violation.patternId,
|
|
56
|
-
severity: mapSeverity(violation.severity),
|
|
57
|
-
message: violation.message,
|
|
58
|
-
range: violation.range,
|
|
59
|
-
source: 'drift',
|
|
60
|
-
code: violation.patternId,
|
|
61
|
-
quickFixes,
|
|
62
|
-
data: {
|
|
63
|
-
violationId: violation.id,
|
|
64
|
-
patternId: violation.patternId,
|
|
65
|
-
file: violation.file,
|
|
66
|
-
confidence: violation.confidence,
|
|
67
|
-
expected: violation.expected,
|
|
68
|
-
actual: violation.actual,
|
|
69
|
-
aiExplainAvailable: violation.aiExplainAvailable,
|
|
70
|
-
aiFixAvailable: violation.aiFixAvailable,
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Map severity string to DiagnosticSeverity
|
|
76
|
-
*/
|
|
77
|
-
export function mapSeverity(severity) {
|
|
78
|
-
switch (severity.toLowerCase()) {
|
|
79
|
-
case 'error':
|
|
80
|
-
return 'error';
|
|
81
|
-
case 'warning':
|
|
82
|
-
return 'warning';
|
|
83
|
-
case 'info':
|
|
84
|
-
case 'information':
|
|
85
|
-
return 'info';
|
|
86
|
-
case 'hint':
|
|
87
|
-
default:
|
|
88
|
-
return 'hint';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Convert DiagnosticSeverity to LSP severity number
|
|
93
|
-
* LSP: 1 = Error, 2 = Warning, 3 = Information, 4 = Hint
|
|
94
|
-
*/
|
|
95
|
-
export function severityToNumber(severity) {
|
|
96
|
-
switch (severity) {
|
|
97
|
-
case 'error':
|
|
98
|
-
return 1;
|
|
99
|
-
case 'warning':
|
|
100
|
-
return 2;
|
|
101
|
-
case 'info':
|
|
102
|
-
return 3;
|
|
103
|
-
case 'hint':
|
|
104
|
-
return 4;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Convert LSP severity number to DiagnosticSeverity
|
|
109
|
-
*/
|
|
110
|
-
export function numberToSeverity(num) {
|
|
111
|
-
switch (num) {
|
|
112
|
-
case 1:
|
|
113
|
-
return 'error';
|
|
114
|
-
case 2:
|
|
115
|
-
return 'warning';
|
|
116
|
-
case 3:
|
|
117
|
-
return 'info';
|
|
118
|
-
case 4:
|
|
119
|
-
default:
|
|
120
|
-
return 'hint';
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Convert driftdetect-core QuickFix to DriftQuickFix
|
|
125
|
-
*/
|
|
126
|
-
export function quickFixToLsp(quickFix, _uri) {
|
|
127
|
-
const changes = {};
|
|
128
|
-
// Convert workspace edit
|
|
129
|
-
if (quickFix.edit.changes) {
|
|
130
|
-
for (const [fileUri, edits] of Object.entries(quickFix.edit.changes)) {
|
|
131
|
-
changes[fileUri] = edits.map((edit) => ({
|
|
132
|
-
range: edit.range,
|
|
133
|
-
newText: edit.newText,
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
title: quickFix.title,
|
|
139
|
-
isPreferred: quickFix.isPreferred,
|
|
140
|
-
kind: quickFix.kind,
|
|
141
|
-
edit: { changes },
|
|
142
|
-
confidence: quickFix.confidence,
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Convert driftdetect-core WorkspaceEdit to LSP WorkspaceEdit
|
|
147
|
-
*/
|
|
148
|
-
export function workspaceEditToLsp(edit) {
|
|
149
|
-
const changes = {};
|
|
150
|
-
if (edit.changes) {
|
|
151
|
-
for (const [uri, edits] of Object.entries(edit.changes)) {
|
|
152
|
-
changes[uri] = edits.map((e) => ({
|
|
153
|
-
range: e.range,
|
|
154
|
-
newText: e.newText,
|
|
155
|
-
}));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return { changes };
|
|
159
|
-
}
|
|
160
|
-
// ============================================================================
|
|
161
|
-
// Factory Functions
|
|
162
|
-
// ============================================================================
|
|
163
|
-
/**
|
|
164
|
-
* Create default server configuration
|
|
165
|
-
*/
|
|
166
|
-
export function createDefaultConfiguration() {
|
|
167
|
-
return {
|
|
168
|
-
diagnosticsEnabled: true,
|
|
169
|
-
diagnosticDelay: 200,
|
|
170
|
-
codeLensEnabled: true,
|
|
171
|
-
hoverEnabled: true,
|
|
172
|
-
maxDiagnosticsPerFile: 100,
|
|
173
|
-
minConfidence: 0.5,
|
|
174
|
-
severityMapping: {
|
|
175
|
-
error: 'error',
|
|
176
|
-
warning: 'warning',
|
|
177
|
-
info: 'info',
|
|
178
|
-
hint: 'hint',
|
|
179
|
-
},
|
|
180
|
-
aiEnabled: false,
|
|
181
|
-
excludePatterns: ['**/node_modules/**', '**/dist/**', '**/.git/**'],
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Create initial server state
|
|
186
|
-
*/
|
|
187
|
-
export function createInitialState() {
|
|
188
|
-
return {
|
|
189
|
-
initialized: false,
|
|
190
|
-
workspaceFolders: [],
|
|
191
|
-
documents: new Map(),
|
|
192
|
-
diagnostics: new Map(),
|
|
193
|
-
patterns: new Map(),
|
|
194
|
-
violations: new Map(),
|
|
195
|
-
configuration: createDefaultConfiguration(),
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Create empty document state
|
|
200
|
-
*/
|
|
201
|
-
export function createDocumentState(uri, content, version, languageId) {
|
|
202
|
-
return {
|
|
203
|
-
uri,
|
|
204
|
-
content,
|
|
205
|
-
version,
|
|
206
|
-
languageId,
|
|
207
|
-
isDirty: false,
|
|
208
|
-
lastScanTime: undefined,
|
|
209
|
-
cachedViolations: undefined,
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
// ============================================================================
|
|
213
|
-
// Utility Functions
|
|
214
|
-
// ============================================================================
|
|
215
|
-
/**
|
|
216
|
-
* Check if a position is within a range
|
|
217
|
-
*/
|
|
218
|
-
export function isPositionInRange(position, range) {
|
|
219
|
-
const { line, character } = position;
|
|
220
|
-
const { start, end } = range;
|
|
221
|
-
if (line < start.line || line > end.line) {
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
if (line === start.line && character < start.character) {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
if (line === end.line && character > end.character) {
|
|
228
|
-
return false;
|
|
229
|
-
}
|
|
230
|
-
return true;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Check if two ranges overlap
|
|
234
|
-
*/
|
|
235
|
-
export function rangesOverlap(a, b) {
|
|
236
|
-
// a ends before b starts
|
|
237
|
-
if (a.end.line < b.start.line) {
|
|
238
|
-
return false;
|
|
239
|
-
}
|
|
240
|
-
if (a.end.line === b.start.line && a.end.character < b.start.character) {
|
|
241
|
-
return false;
|
|
242
|
-
}
|
|
243
|
-
// b ends before a starts
|
|
244
|
-
if (b.end.line < a.start.line) {
|
|
245
|
-
return false;
|
|
246
|
-
}
|
|
247
|
-
if (b.end.line === a.start.line && b.end.character < a.start.character) {
|
|
248
|
-
return false;
|
|
249
|
-
}
|
|
250
|
-
return true;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Get file name from URI
|
|
254
|
-
*/
|
|
255
|
-
export function getFileName(uri) {
|
|
256
|
-
const parts = uri.split('/');
|
|
257
|
-
return parts[parts.length - 1] ?? uri;
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Format position for display
|
|
261
|
-
*/
|
|
262
|
-
export function formatPosition(position) {
|
|
263
|
-
return `${position.line + 1}:${position.character + 1}`;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Format range for display
|
|
267
|
-
*/
|
|
268
|
-
export function formatRange(range) {
|
|
269
|
-
if (range.start.line === range.end.line) {
|
|
270
|
-
return `line ${range.start.line + 1}`;
|
|
271
|
-
}
|
|
272
|
-
return `lines ${range.start.line + 1}-${range.end.line + 1}`;
|
|
273
|
-
}
|
|
274
|
-
//# sourceMappingURL=lsp-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-types.js","sourceRoot":"","sources":["../../src/types/lsp-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Diagnostic Utilities - Diagnostic helpers
|
|
3
|
-
* @requirements 27.3
|
|
4
|
-
*/
|
|
5
|
-
import type { DriftDiagnostic, DiagnosticSeverity, Range } from '../types/lsp-types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Create a drift diagnostic
|
|
8
|
-
*/
|
|
9
|
-
export declare function createDiagnostic(violationId: string, patternId: string, message: string, range: Range, severity?: DiagnosticSeverity): DriftDiagnostic;
|
|
10
|
-
/**
|
|
11
|
-
* Create an error diagnostic
|
|
12
|
-
*/
|
|
13
|
-
export declare function createErrorDiagnostic(violationId: string, patternId: string, message: string, range: Range): DriftDiagnostic;
|
|
14
|
-
/**
|
|
15
|
-
* Create a warning diagnostic
|
|
16
|
-
*/
|
|
17
|
-
export declare function createWarningDiagnostic(violationId: string, patternId: string, message: string, range: Range): DriftDiagnostic;
|
|
18
|
-
/**
|
|
19
|
-
* Create an info diagnostic
|
|
20
|
-
*/
|
|
21
|
-
export declare function createInfoDiagnostic(violationId: string, patternId: string, message: string, range: Range): DriftDiagnostic;
|
|
22
|
-
/**
|
|
23
|
-
* Create a hint diagnostic
|
|
24
|
-
*/
|
|
25
|
-
export declare function createHintDiagnostic(violationId: string, patternId: string, message: string, range: Range): DriftDiagnostic;
|
|
26
|
-
/**
|
|
27
|
-
* Filter diagnostics by severity
|
|
28
|
-
*/
|
|
29
|
-
export declare function filterBySeverity(diagnostics: DriftDiagnostic[], severities: DiagnosticSeverity[]): DriftDiagnostic[];
|
|
30
|
-
/**
|
|
31
|
-
* Filter diagnostics by pattern
|
|
32
|
-
*/
|
|
33
|
-
export declare function filterByPattern(diagnostics: DriftDiagnostic[], patternIds: string[]): DriftDiagnostic[];
|
|
34
|
-
/**
|
|
35
|
-
* Filter diagnostics by range
|
|
36
|
-
*/
|
|
37
|
-
export declare function filterByRange(diagnostics: DriftDiagnostic[], range: Range): DriftDiagnostic[];
|
|
38
|
-
/**
|
|
39
|
-
* Filter diagnostics by line
|
|
40
|
-
*/
|
|
41
|
-
export declare function filterByLine(diagnostics: DriftDiagnostic[], line: number): DriftDiagnostic[];
|
|
42
|
-
/**
|
|
43
|
-
* Sort diagnostics by position
|
|
44
|
-
*/
|
|
45
|
-
export declare function sortByPosition(diagnostics: DriftDiagnostic[]): DriftDiagnostic[];
|
|
46
|
-
/**
|
|
47
|
-
* Sort diagnostics by severity
|
|
48
|
-
*/
|
|
49
|
-
export declare function sortBySeverity(diagnostics: DriftDiagnostic[]): DriftDiagnostic[];
|
|
50
|
-
/**
|
|
51
|
-
* Sort diagnostics by pattern
|
|
52
|
-
*/
|
|
53
|
-
export declare function sortByPattern(diagnostics: DriftDiagnostic[]): DriftDiagnostic[];
|
|
54
|
-
/**
|
|
55
|
-
* Group diagnostics by severity
|
|
56
|
-
*/
|
|
57
|
-
export declare function groupBySeverity(diagnostics: DriftDiagnostic[]): Map<DiagnosticSeverity, DriftDiagnostic[]>;
|
|
58
|
-
/**
|
|
59
|
-
* Group diagnostics by pattern
|
|
60
|
-
*/
|
|
61
|
-
export declare function groupByPattern(diagnostics: DriftDiagnostic[]): Map<string, DriftDiagnostic[]>;
|
|
62
|
-
/**
|
|
63
|
-
* Group diagnostics by line
|
|
64
|
-
*/
|
|
65
|
-
export declare function groupByLine(diagnostics: DriftDiagnostic[]): Map<number, DriftDiagnostic[]>;
|
|
66
|
-
/**
|
|
67
|
-
* Get diagnostic statistics
|
|
68
|
-
*/
|
|
69
|
-
export declare function getDiagnosticStats(diagnostics: DriftDiagnostic[]): {
|
|
70
|
-
total: number;
|
|
71
|
-
bySeverity: Record<DiagnosticSeverity, number>;
|
|
72
|
-
byPattern: Record<string, number>;
|
|
73
|
-
uniquePatterns: number;
|
|
74
|
-
affectedLines: number;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Merge overlapping diagnostics
|
|
78
|
-
*/
|
|
79
|
-
export declare function mergeOverlapping(diagnostics: DriftDiagnostic[]): DriftDiagnostic[];
|
|
80
|
-
/**
|
|
81
|
-
* Deduplicate diagnostics
|
|
82
|
-
*/
|
|
83
|
-
export declare function deduplicate(diagnostics: DriftDiagnostic[]): DriftDiagnostic[];
|
|
84
|
-
//# sourceMappingURL=diagnostic.d.ts.map
|