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.
Files changed (111) hide show
  1. package/package.json +3 -3
  2. package/dist/bin/server.d.ts +0 -12
  3. package/dist/bin/server.js +0 -26
  4. package/dist/bin/server.js.map +0 -1
  5. package/dist/capabilities.d.ts +0 -91
  6. package/dist/capabilities.d.ts.map +0 -1
  7. package/dist/capabilities.js +0 -183
  8. package/dist/capabilities.js.map +0 -1
  9. package/dist/commands/approve-pattern.d.ts +0 -15
  10. package/dist/commands/approve-pattern.js +0 -83
  11. package/dist/commands/approve-pattern.js.map +0 -1
  12. package/dist/commands/create-variant.d.ts +0 -22
  13. package/dist/commands/create-variant.js +0 -109
  14. package/dist/commands/create-variant.js.map +0 -1
  15. package/dist/commands/explain-ai.d.ts +0 -11
  16. package/dist/commands/explain-ai.js +0 -144
  17. package/dist/commands/explain-ai.js.map +0 -1
  18. package/dist/commands/fix-ai.d.ts +0 -11
  19. package/dist/commands/fix-ai.js +0 -146
  20. package/dist/commands/fix-ai.js.map +0 -1
  21. package/dist/commands/ignore-once.d.ts +0 -33
  22. package/dist/commands/ignore-once.js +0 -147
  23. package/dist/commands/ignore-once.js.map +0 -1
  24. package/dist/commands/ignore-pattern.d.ts +0 -15
  25. package/dist/commands/ignore-pattern.js +0 -77
  26. package/dist/commands/ignore-pattern.js.map +0 -1
  27. package/dist/commands/index.d.ts +0 -14
  28. package/dist/commands/index.js +0 -14
  29. package/dist/commands/index.js.map +0 -1
  30. package/dist/commands/rescan.d.ts +0 -19
  31. package/dist/commands/rescan.js +0 -125
  32. package/dist/commands/rescan.js.map +0 -1
  33. package/dist/commands/show-patterns.d.ts +0 -30
  34. package/dist/commands/show-patterns.js +0 -175
  35. package/dist/commands/show-patterns.js.map +0 -1
  36. package/dist/commands/show-violations.d.ts +0 -11
  37. package/dist/commands/show-violations.js +0 -259
  38. package/dist/commands/show-violations.js.map +0 -1
  39. package/dist/handlers/code-actions.d.ts +0 -32
  40. package/dist/handlers/code-actions.js +0 -184
  41. package/dist/handlers/code-actions.js.map +0 -1
  42. package/dist/handlers/code-lens.d.ts +0 -32
  43. package/dist/handlers/code-lens.js +0 -162
  44. package/dist/handlers/code-lens.js.map +0 -1
  45. package/dist/handlers/commands.d.ts +0 -48
  46. package/dist/handlers/commands.js +0 -360
  47. package/dist/handlers/commands.js.map +0 -1
  48. package/dist/handlers/diagnostics.d.ts +0 -73
  49. package/dist/handlers/diagnostics.js +0 -259
  50. package/dist/handlers/diagnostics.js.map +0 -1
  51. package/dist/handlers/document-sync.d.ts +0 -37
  52. package/dist/handlers/document-sync.js +0 -49
  53. package/dist/handlers/document-sync.js.map +0 -1
  54. package/dist/handlers/hover.d.ts +0 -30
  55. package/dist/handlers/hover.js +0 -119
  56. package/dist/handlers/hover.js.map +0 -1
  57. package/dist/handlers/index.d.ts +0 -23
  58. package/dist/handlers/index.js +0 -16
  59. package/dist/handlers/index.js.map +0 -1
  60. package/dist/handlers/initialize.d.ts +0 -41
  61. package/dist/handlers/initialize.d.ts.map +0 -1
  62. package/dist/handlers/initialize.js +0 -33
  63. package/dist/handlers/initialize.js.map +0 -1
  64. package/dist/index.d.ts +0 -22
  65. package/dist/index.js +0 -26
  66. package/dist/index.js.map +0 -1
  67. package/dist/integration/core-scanner.d.ts +0 -89
  68. package/dist/integration/core-scanner.js +0 -309
  69. package/dist/integration/core-scanner.js.map +0 -1
  70. package/dist/integration/index.d.ts +0 -11
  71. package/dist/integration/index.js +0 -11
  72. package/dist/integration/index.js.map +0 -1
  73. package/dist/integration/pattern-store-adapter.d.ts +0 -117
  74. package/dist/integration/pattern-store-adapter.js +0 -349
  75. package/dist/integration/pattern-store-adapter.js.map +0 -1
  76. package/dist/integration/types.d.ts +0 -134
  77. package/dist/integration/types.js +0 -39
  78. package/dist/integration/types.js.map +0 -1
  79. package/dist/server/index.d.ts +0 -5
  80. package/dist/server/index.js +0 -5
  81. package/dist/server/index.js.map +0 -1
  82. package/dist/server/types.d.ts +0 -139
  83. package/dist/server/types.js +0 -8
  84. package/dist/server/types.js.map +0 -1
  85. package/dist/server.d.ts +0 -63
  86. package/dist/server.js +0 -208
  87. package/dist/server.js.map +0 -1
  88. package/dist/types/index.d.ts +0 -5
  89. package/dist/types/index.js +0 -5
  90. package/dist/types/index.js.map +0 -1
  91. package/dist/types/lsp-types.d.ts +0 -321
  92. package/dist/types/lsp-types.js +0 -274
  93. package/dist/types/lsp-types.js.map +0 -1
  94. package/dist/utils/diagnostic.d.ts +0 -84
  95. package/dist/utils/diagnostic.js +0 -256
  96. package/dist/utils/diagnostic.js.map +0 -1
  97. package/dist/utils/document.d.ts +0 -40
  98. package/dist/utils/document.d.ts.map +0 -1
  99. package/dist/utils/document.js +0 -138
  100. package/dist/utils/document.js.map +0 -1
  101. package/dist/utils/index.d.ts +0 -8
  102. package/dist/utils/index.d.ts.map +0 -1
  103. package/dist/utils/index.js +0 -8
  104. package/dist/utils/index.js.map +0 -1
  105. package/dist/utils/position.d.ts +0 -44
  106. package/dist/utils/position.d.ts.map +0 -1
  107. package/dist/utils/position.js +0 -96
  108. package/dist/utils/position.js.map +0 -1
  109. package/dist/utils/workspace.d.ts +0 -98
  110. package/dist/utils/workspace.js +0 -241
  111. 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
@@ -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