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.
Files changed (112) hide show
  1. package/LICENSE +121 -0
  2. package/package.json +15 -15
  3. package/dist/bin/server.d.ts +0 -12
  4. package/dist/bin/server.js +0 -26
  5. package/dist/bin/server.js.map +0 -1
  6. package/dist/capabilities.d.ts +0 -91
  7. package/dist/capabilities.d.ts.map +0 -1
  8. package/dist/capabilities.js +0 -183
  9. package/dist/capabilities.js.map +0 -1
  10. package/dist/commands/approve-pattern.d.ts +0 -15
  11. package/dist/commands/approve-pattern.js +0 -83
  12. package/dist/commands/approve-pattern.js.map +0 -1
  13. package/dist/commands/create-variant.d.ts +0 -22
  14. package/dist/commands/create-variant.js +0 -109
  15. package/dist/commands/create-variant.js.map +0 -1
  16. package/dist/commands/explain-ai.d.ts +0 -11
  17. package/dist/commands/explain-ai.js +0 -144
  18. package/dist/commands/explain-ai.js.map +0 -1
  19. package/dist/commands/fix-ai.d.ts +0 -11
  20. package/dist/commands/fix-ai.js +0 -146
  21. package/dist/commands/fix-ai.js.map +0 -1
  22. package/dist/commands/ignore-once.d.ts +0 -33
  23. package/dist/commands/ignore-once.js +0 -147
  24. package/dist/commands/ignore-once.js.map +0 -1
  25. package/dist/commands/ignore-pattern.d.ts +0 -15
  26. package/dist/commands/ignore-pattern.js +0 -77
  27. package/dist/commands/ignore-pattern.js.map +0 -1
  28. package/dist/commands/index.d.ts +0 -14
  29. package/dist/commands/index.js +0 -14
  30. package/dist/commands/index.js.map +0 -1
  31. package/dist/commands/rescan.d.ts +0 -19
  32. package/dist/commands/rescan.js +0 -125
  33. package/dist/commands/rescan.js.map +0 -1
  34. package/dist/commands/show-patterns.d.ts +0 -30
  35. package/dist/commands/show-patterns.js +0 -175
  36. package/dist/commands/show-patterns.js.map +0 -1
  37. package/dist/commands/show-violations.d.ts +0 -11
  38. package/dist/commands/show-violations.js +0 -259
  39. package/dist/commands/show-violations.js.map +0 -1
  40. package/dist/handlers/code-actions.d.ts +0 -32
  41. package/dist/handlers/code-actions.js +0 -184
  42. package/dist/handlers/code-actions.js.map +0 -1
  43. package/dist/handlers/code-lens.d.ts +0 -32
  44. package/dist/handlers/code-lens.js +0 -162
  45. package/dist/handlers/code-lens.js.map +0 -1
  46. package/dist/handlers/commands.d.ts +0 -48
  47. package/dist/handlers/commands.js +0 -360
  48. package/dist/handlers/commands.js.map +0 -1
  49. package/dist/handlers/diagnostics.d.ts +0 -73
  50. package/dist/handlers/diagnostics.js +0 -259
  51. package/dist/handlers/diagnostics.js.map +0 -1
  52. package/dist/handlers/document-sync.d.ts +0 -37
  53. package/dist/handlers/document-sync.js +0 -49
  54. package/dist/handlers/document-sync.js.map +0 -1
  55. package/dist/handlers/hover.d.ts +0 -30
  56. package/dist/handlers/hover.js +0 -119
  57. package/dist/handlers/hover.js.map +0 -1
  58. package/dist/handlers/index.d.ts +0 -23
  59. package/dist/handlers/index.js +0 -16
  60. package/dist/handlers/index.js.map +0 -1
  61. package/dist/handlers/initialize.d.ts +0 -41
  62. package/dist/handlers/initialize.d.ts.map +0 -1
  63. package/dist/handlers/initialize.js +0 -33
  64. package/dist/handlers/initialize.js.map +0 -1
  65. package/dist/index.d.ts +0 -22
  66. package/dist/index.js +0 -26
  67. package/dist/index.js.map +0 -1
  68. package/dist/integration/core-scanner.d.ts +0 -89
  69. package/dist/integration/core-scanner.js +0 -309
  70. package/dist/integration/core-scanner.js.map +0 -1
  71. package/dist/integration/index.d.ts +0 -11
  72. package/dist/integration/index.js +0 -11
  73. package/dist/integration/index.js.map +0 -1
  74. package/dist/integration/pattern-store-adapter.d.ts +0 -117
  75. package/dist/integration/pattern-store-adapter.js +0 -349
  76. package/dist/integration/pattern-store-adapter.js.map +0 -1
  77. package/dist/integration/types.d.ts +0 -134
  78. package/dist/integration/types.js +0 -39
  79. package/dist/integration/types.js.map +0 -1
  80. package/dist/server/index.d.ts +0 -5
  81. package/dist/server/index.js +0 -5
  82. package/dist/server/index.js.map +0 -1
  83. package/dist/server/types.d.ts +0 -139
  84. package/dist/server/types.js +0 -8
  85. package/dist/server/types.js.map +0 -1
  86. package/dist/server.d.ts +0 -63
  87. package/dist/server.js +0 -208
  88. package/dist/server.js.map +0 -1
  89. package/dist/types/index.d.ts +0 -5
  90. package/dist/types/index.js +0 -5
  91. package/dist/types/index.js.map +0 -1
  92. package/dist/types/lsp-types.d.ts +0 -321
  93. package/dist/types/lsp-types.js +0 -274
  94. package/dist/types/lsp-types.js.map +0 -1
  95. package/dist/utils/diagnostic.d.ts +0 -84
  96. package/dist/utils/diagnostic.js +0 -256
  97. package/dist/utils/diagnostic.js.map +0 -1
  98. package/dist/utils/document.d.ts +0 -40
  99. package/dist/utils/document.d.ts.map +0 -1
  100. package/dist/utils/document.js +0 -138
  101. package/dist/utils/document.js.map +0 -1
  102. package/dist/utils/index.d.ts +0 -8
  103. package/dist/utils/index.d.ts.map +0 -1
  104. package/dist/utils/index.js +0 -8
  105. package/dist/utils/index.js.map +0 -1
  106. package/dist/utils/position.d.ts +0 -44
  107. package/dist/utils/position.d.ts.map +0 -1
  108. package/dist/utils/position.js +0 -96
  109. package/dist/utils/position.js.map +0 -1
  110. package/dist/utils/workspace.d.ts +0 -98
  111. package/dist/utils/workspace.js +0 -241
  112. package/dist/utils/workspace.js.map +0 -1
@@ -1,349 +0,0 @@
1
- /**
2
- * Pattern Store Adapter
3
- *
4
- * Adapts driftdetect-core PatternStore and VariantManager for use in LSP commands.
5
- * Provides approve, ignore, and variant operations that persist to disk.
6
- *
7
- * @requirements 28.1 - drift.approvePattern
8
- * @requirements 28.2 - drift.ignorePattern
9
- * @requirements 28.3 - drift.ignoreOnce
10
- * @requirements 28.4 - drift.createVariant
11
- */
12
- import { PatternStore, VariantManager, } from 'driftdetect-core';
13
- import { DEFAULT_CORE_INTEGRATION_CONFIG, patternToInfo } from './types.js';
14
- /**
15
- * Pattern Store Adapter
16
- *
17
- * Provides a simplified interface for LSP commands to interact with
18
- * the driftdetect-core PatternStore and VariantManager.
19
- */
20
- export class PatternStoreAdapter {
21
- config;
22
- logger;
23
- patternStore = null;
24
- variantManager = null;
25
- initialized = false;
26
- constructor(config = {}, logger) {
27
- this.config = { ...DEFAULT_CORE_INTEGRATION_CONFIG, ...config };
28
- this.logger = logger;
29
- }
30
- /**
31
- * Initialize the adapter
32
- */
33
- async initialize() {
34
- if (this.initialized) {
35
- return;
36
- }
37
- this.logger.info('Initializing pattern store adapter...');
38
- try {
39
- // Initialize pattern store
40
- const storeConfig = {
41
- rootDir: this.config.rootDir,
42
- validateSchema: this.config.validateSchema,
43
- trackHistory: this.config.trackHistory,
44
- autoSave: this.config.autoSave,
45
- };
46
- this.patternStore = new PatternStore(storeConfig);
47
- await this.patternStore.initialize();
48
- this.logger.info('Pattern store initialized');
49
- // Initialize variant manager
50
- const variantConfig = {
51
- rootDir: this.config.rootDir,
52
- autoSave: this.config.autoSave,
53
- };
54
- this.variantManager = new VariantManager(variantConfig);
55
- await this.variantManager.initialize();
56
- this.logger.info('Variant manager initialized');
57
- this.initialized = true;
58
- this.logger.info('Pattern store adapter initialization complete');
59
- }
60
- catch (error) {
61
- this.logger.error(`Failed to initialize pattern store adapter: ${error}`);
62
- throw error;
63
- }
64
- }
65
- /**
66
- * Check if the adapter is initialized
67
- */
68
- isInitialized() {
69
- return this.initialized;
70
- }
71
- /**
72
- * Get the pattern store instance
73
- */
74
- getPatternStore() {
75
- return this.patternStore;
76
- }
77
- /**
78
- * Get the variant manager instance
79
- */
80
- getVariantManager() {
81
- return this.variantManager;
82
- }
83
- /**
84
- * Approve a pattern
85
- *
86
- * Moves the pattern from discovered to approved status and persists the change.
87
- *
88
- * @requirements 28.1 - drift.approvePattern
89
- */
90
- async approve(patternId, approvedBy) {
91
- if (!this.initialized || !this.patternStore) {
92
- return {
93
- success: false,
94
- patternId,
95
- removedViolations: 0,
96
- error: 'Pattern store not initialized',
97
- };
98
- }
99
- try {
100
- this.logger.info(`Approving pattern: ${patternId}`);
101
- // Check if pattern exists
102
- const pattern = this.patternStore.get(patternId);
103
- if (!pattern) {
104
- return {
105
- success: false,
106
- patternId,
107
- removedViolations: 0,
108
- error: `Pattern not found: ${patternId}`,
109
- };
110
- }
111
- // Approve the pattern
112
- this.patternStore.approve(patternId, approvedBy);
113
- // Save changes
114
- await this.patternStore.saveAll();
115
- this.logger.info(`Pattern approved: ${patternId}`);
116
- return {
117
- success: true,
118
- patternId,
119
- removedViolations: pattern.outliers.length,
120
- };
121
- }
122
- catch (error) {
123
- const errorMessage = error instanceof Error ? error.message : String(error);
124
- this.logger.error(`Failed to approve pattern ${patternId}: ${errorMessage}`);
125
- return {
126
- success: false,
127
- patternId,
128
- removedViolations: 0,
129
- error: errorMessage,
130
- };
131
- }
132
- }
133
- /**
134
- * Ignore a pattern
135
- *
136
- * Moves the pattern to ignored status and persists the change.
137
- *
138
- * @requirements 28.2 - drift.ignorePattern
139
- */
140
- async ignore(patternId) {
141
- if (!this.initialized || !this.patternStore) {
142
- return {
143
- success: false,
144
- patternId,
145
- suppressedViolations: 0,
146
- error: 'Pattern store not initialized',
147
- };
148
- }
149
- try {
150
- this.logger.info(`Ignoring pattern: ${patternId}`);
151
- // Check if pattern exists
152
- const pattern = this.patternStore.get(patternId);
153
- if (!pattern) {
154
- return {
155
- success: false,
156
- patternId,
157
- suppressedViolations: 0,
158
- error: `Pattern not found: ${patternId}`,
159
- };
160
- }
161
- // Ignore the pattern
162
- this.patternStore.ignore(patternId);
163
- // Save changes
164
- await this.patternStore.saveAll();
165
- this.logger.info(`Pattern ignored: ${patternId}`);
166
- return {
167
- success: true,
168
- patternId,
169
- suppressedViolations: pattern.outliers.length,
170
- };
171
- }
172
- catch (error) {
173
- const errorMessage = error instanceof Error ? error.message : String(error);
174
- this.logger.error(`Failed to ignore pattern ${patternId}: ${errorMessage}`);
175
- return {
176
- success: false,
177
- patternId,
178
- suppressedViolations: 0,
179
- error: errorMessage,
180
- };
181
- }
182
- }
183
- /**
184
- * Create a variant for a pattern
185
- *
186
- * Creates an intentional deviation from a pattern and persists it.
187
- *
188
- * @requirements 28.4 - drift.createVariant
189
- */
190
- async createVariant(input) {
191
- if (!this.initialized || !this.variantManager) {
192
- return {
193
- success: false,
194
- patternId: input.patternId,
195
- suppressedViolations: 0,
196
- error: 'Variant manager not initialized',
197
- };
198
- }
199
- try {
200
- this.logger.info(`Creating variant for pattern: ${input.patternId}`);
201
- // Create the location
202
- const location = {
203
- file: input.file,
204
- line: input.line,
205
- column: input.column,
206
- };
207
- // Build the variant input, conditionally including scopeValue
208
- const variantInput = {
209
- patternId: input.patternId,
210
- name: input.name,
211
- reason: input.reason,
212
- scope: input.scope,
213
- locations: [location],
214
- };
215
- // Only add scopeValue if provided
216
- if (input.scopeValue) {
217
- variantInput.scopeValue = input.scopeValue;
218
- }
219
- // Create the variant
220
- const variant = this.variantManager.create(variantInput);
221
- // Save changes
222
- await this.variantManager.saveAll();
223
- this.logger.info(`Variant created: ${variant.id}`);
224
- return {
225
- success: true,
226
- variantId: variant.id,
227
- patternId: input.patternId,
228
- suppressedViolations: 1,
229
- };
230
- }
231
- catch (error) {
232
- const errorMessage = error instanceof Error ? error.message : String(error);
233
- this.logger.error(`Failed to create variant for ${input.patternId}: ${errorMessage}`);
234
- return {
235
- success: false,
236
- patternId: input.patternId,
237
- suppressedViolations: 0,
238
- error: errorMessage,
239
- };
240
- }
241
- }
242
- /**
243
- * Check if a location is covered by a variant
244
- *
245
- * Used to filter out violations that are covered by variants.
246
- */
247
- isLocationCovered(patternId, file, line, column) {
248
- if (!this.initialized || !this.variantManager) {
249
- return false;
250
- }
251
- const location = { file, line, column };
252
- return this.variantManager.isLocationCovered(patternId, location);
253
- }
254
- /**
255
- * Get all patterns
256
- */
257
- getAllPatterns() {
258
- if (!this.initialized || !this.patternStore) {
259
- return [];
260
- }
261
- return this.patternStore.getAll().map(patternToInfo);
262
- }
263
- /**
264
- * Get approved patterns
265
- */
266
- getApprovedPatterns() {
267
- if (!this.initialized || !this.patternStore) {
268
- return [];
269
- }
270
- return this.patternStore.getApproved().map(patternToInfo);
271
- }
272
- /**
273
- * Get discovered patterns
274
- */
275
- getDiscoveredPatterns() {
276
- if (!this.initialized || !this.patternStore) {
277
- return [];
278
- }
279
- return this.patternStore.getDiscovered().map(patternToInfo);
280
- }
281
- /**
282
- * Get ignored patterns
283
- */
284
- getIgnoredPatterns() {
285
- if (!this.initialized || !this.patternStore) {
286
- return [];
287
- }
288
- return this.patternStore.getIgnored().map(patternToInfo);
289
- }
290
- /**
291
- * Get a pattern by ID
292
- */
293
- getPattern(patternId) {
294
- if (!this.initialized || !this.patternStore) {
295
- return undefined;
296
- }
297
- const pattern = this.patternStore.get(patternId);
298
- return pattern ? patternToInfo(pattern) : undefined;
299
- }
300
- /**
301
- * Filter violations by removing those covered by variants
302
- */
303
- filterViolationsByVariants(violations) {
304
- if (!this.initialized || !this.variantManager) {
305
- return violations;
306
- }
307
- return violations.filter((violation) => {
308
- const location = {
309
- file: violation.file,
310
- line: violation.range.start.line + 1, // Convert to 1-indexed
311
- column: violation.range.start.character + 1,
312
- };
313
- return !this.variantManager.isLocationCovered(violation.patternId, location);
314
- });
315
- }
316
- /**
317
- * Shutdown the adapter
318
- */
319
- async shutdown() {
320
- this.logger.info('Shutting down pattern store adapter...');
321
- // Save pattern store
322
- if (this.patternStore && this.config.autoSave) {
323
- try {
324
- await this.patternStore.saveAll();
325
- }
326
- catch (error) {
327
- this.logger.error(`Error saving pattern store: ${error}`);
328
- }
329
- }
330
- // Save variant manager
331
- if (this.variantManager && this.config.autoSave) {
332
- try {
333
- await this.variantManager.saveAll();
334
- }
335
- catch (error) {
336
- this.logger.error(`Error saving variant manager: ${error}`);
337
- }
338
- }
339
- this.initialized = false;
340
- this.logger.info('Pattern store adapter shutdown complete');
341
- }
342
- }
343
- /**
344
- * Create a pattern store adapter instance
345
- */
346
- export function createPatternStoreAdapter(config = {}, logger) {
347
- return new PatternStoreAdapter(config, logger);
348
- }
349
- //# sourceMappingURL=pattern-store-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-store-adapter.js","sourceRoot":"","sources":["../../src/integration/pattern-store-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,134 +0,0 @@
1
- /**
2
- * Integration Types
3
- *
4
- * Types for the integration between @drift/lsp and driftdetect-core.
5
- */
6
- import type { Pattern, PatternCategory } from 'driftdetect-core';
7
- import type { ViolationInfo, PatternInfo } from '../types/lsp-types.js';
8
- /**
9
- * Configuration for the core integration
10
- */
11
- export interface CoreIntegrationConfig {
12
- /** Root directory for .drift folder */
13
- rootDir: string;
14
- /** Whether to auto-save pattern changes */
15
- autoSave: boolean;
16
- /** Whether to validate schemas */
17
- validateSchema: boolean;
18
- /** Whether to track history */
19
- trackHistory: boolean;
20
- /** Minimum confidence threshold for violations */
21
- minConfidence: number;
22
- /** Whether AI features are available */
23
- aiEnabled: boolean;
24
- }
25
- /**
26
- * Default core integration configuration
27
- */
28
- export declare const DEFAULT_CORE_INTEGRATION_CONFIG: CoreIntegrationConfig;
29
- /**
30
- * Result of scanning a document
31
- */
32
- export interface ScanResult {
33
- /** URI of the scanned document */
34
- uri: string;
35
- /** Violations found in the document */
36
- violations: ViolationInfo[];
37
- /** Patterns detected in the document */
38
- patterns: PatternInfo[];
39
- /** Scan duration in milliseconds */
40
- duration: number;
41
- /** Any errors encountered during scanning */
42
- errors: ScanError[];
43
- }
44
- /**
45
- * Error encountered during scanning
46
- */
47
- export interface ScanError {
48
- /** Error message */
49
- message: string;
50
- /** Error code */
51
- code?: string;
52
- /** Whether scanning can continue */
53
- recoverable: boolean;
54
- }
55
- /**
56
- * Options for scanning a document
57
- */
58
- export interface ScanOptions {
59
- /** Force rescan even if cached */
60
- force?: boolean;
61
- /** Specific pattern categories to check */
62
- categories?: PatternCategory[];
63
- /** Specific pattern IDs to check */
64
- patternIds?: string[];
65
- /** Minimum confidence threshold */
66
- minConfidence?: number;
67
- }
68
- /**
69
- * Result of approving a pattern
70
- */
71
- export interface ApproveResult {
72
- /** Whether the operation succeeded */
73
- success: boolean;
74
- /** Pattern ID that was approved */
75
- patternId: string;
76
- /** Number of violations removed */
77
- removedViolations: number;
78
- /** Error message if failed */
79
- error?: string;
80
- }
81
- /**
82
- * Result of ignoring a pattern
83
- */
84
- export interface IgnoreResult {
85
- /** Whether the operation succeeded */
86
- success: boolean;
87
- /** Pattern ID that was ignored */
88
- patternId: string;
89
- /** Number of violations suppressed */
90
- suppressedViolations: number;
91
- /** Error message if failed */
92
- error?: string;
93
- }
94
- /**
95
- * Result of creating a variant
96
- */
97
- export interface CreateVariantResult {
98
- /** Whether the operation succeeded */
99
- success: boolean;
100
- /** Variant ID that was created */
101
- variantId?: string;
102
- /** Pattern ID the variant applies to */
103
- patternId: string;
104
- /** Number of violations suppressed */
105
- suppressedViolations: number;
106
- /** Error message if failed */
107
- error?: string;
108
- }
109
- /**
110
- * Input for creating a variant
111
- */
112
- export interface CreateVariantInput {
113
- /** Pattern ID this variant applies to */
114
- patternId: string;
115
- /** Human-readable name for the variant */
116
- name: string;
117
- /** Reason explaining why this deviation is intentional */
118
- reason: string;
119
- /** Scope of the variant: 'global', 'directory', or 'file' */
120
- scope: 'global' | 'directory' | 'file';
121
- /** Scope value (directory path or file path, depending on scope) */
122
- scopeValue?: string;
123
- /** File path where the variant applies */
124
- file: string;
125
- /** Line number where the variant applies */
126
- line: number;
127
- /** Column number where the variant applies */
128
- column: number;
129
- }
130
- /**
131
- * Convert a driftdetect-core Pattern to LSP PatternInfo
132
- */
133
- export declare function patternToInfo(pattern: Pattern): PatternInfo;
134
- //# sourceMappingURL=types.d.ts.map
@@ -1,39 +0,0 @@
1
- /**
2
- * Integration Types
3
- *
4
- * Types for the integration between @drift/lsp and driftdetect-core.
5
- */
6
- /**
7
- * Default core integration configuration
8
- */
9
- export const DEFAULT_CORE_INTEGRATION_CONFIG = {
10
- rootDir: '.',
11
- autoSave: true,
12
- validateSchema: true,
13
- trackHistory: true,
14
- minConfidence: 0.5,
15
- aiEnabled: false,
16
- };
17
- /**
18
- * Convert a driftdetect-core Pattern to LSP PatternInfo
19
- */
20
- export function patternToInfo(pattern) {
21
- const info = {
22
- id: pattern.id,
23
- name: pattern.name,
24
- description: pattern.description,
25
- category: pattern.category,
26
- subcategory: pattern.subcategory,
27
- confidence: pattern.confidence.score,
28
- frequency: pattern.confidence.frequency,
29
- };
30
- // Only set optional properties if they have values
31
- if (pattern.severity !== undefined) {
32
- info.severity = pattern.severity;
33
- }
34
- if (pattern.autoFixable !== undefined) {
35
- info.autoFixable = pattern.autoFixable;
36
- }
37
- return info;
38
- }
39
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/integration/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,KAAK;CACjB,CAAC;AAwIF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;QACpC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;KACxC,CAAC;IAEF,mDAAmD;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Server module exports
3
- */
4
- export * from './types.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1,5 +0,0 @@
1
- /**
2
- * Server module exports
3
- */
4
- export * from './types.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}