driftdetect-vscode 0.9.25 → 0.9.26
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 +14 -14
- package/.turbo/turbo-build.log +0 -4
- package/.turbo/turbo-test.log +0 -138
- package/LICENSE +0 -121
- package/dist/activation/activation-controller.d.ts +0 -61
- package/dist/activation/activation-controller.d.ts.map +0 -1
- package/dist/activation/activation-controller.js +0 -235
- package/dist/activation/activation-controller.js.map +0 -1
- package/dist/activation/activation-phases.d.ts +0 -28
- package/dist/activation/activation-phases.d.ts.map +0 -1
- package/dist/activation/activation-phases.js +0 -80
- package/dist/activation/activation-phases.js.map +0 -1
- package/dist/activation/index.d.ts +0 -6
- package/dist/activation/index.d.ts.map +0 -1
- package/dist/activation/index.js +0 -6
- package/dist/activation/index.js.map +0 -1
- package/dist/client/connection-config.d.ts +0 -50
- package/dist/client/connection-config.d.ts.map +0 -1
- package/dist/client/connection-config.js +0 -56
- package/dist/client/connection-config.js.map +0 -1
- package/dist/client/connection-manager.d.ts +0 -70
- package/dist/client/connection-manager.d.ts.map +0 -1
- package/dist/client/connection-manager.js +0 -214
- package/dist/client/connection-manager.js.map +0 -1
- package/dist/client/index.d.ts +0 -8
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -8
- package/dist/client/index.js.map +0 -1
- package/dist/client/language-client-factory.d.ts +0 -29
- package/dist/client/language-client-factory.d.ts.map +0 -1
- package/dist/client/language-client-factory.js +0 -76
- package/dist/client/language-client-factory.js.map +0 -1
- package/dist/client/request-middleware.d.ts +0 -38
- package/dist/client/request-middleware.d.ts.map +0 -1
- package/dist/client/request-middleware.js +0 -85
- package/dist/client/request-middleware.js.map +0 -1
- package/dist/commands/command-definitions.d.ts +0 -53
- package/dist/commands/command-definitions.d.ts.map +0 -1
- package/dist/commands/command-definitions.js +0 -212
- package/dist/commands/command-definitions.js.map +0 -1
- package/dist/commands/command-router.d.ts +0 -80
- package/dist/commands/command-router.d.ts.map +0 -1
- package/dist/commands/command-router.js +0 -127
- package/dist/commands/command-router.js.map +0 -1
- package/dist/commands/handlers/connection-handlers.d.ts +0 -14
- package/dist/commands/handlers/connection-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/connection-handlers.js +0 -57
- package/dist/commands/handlers/connection-handlers.js.map +0 -1
- package/dist/commands/handlers/constants-handlers.d.ts +0 -11
- package/dist/commands/handlers/constants-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/constants-handlers.js +0 -84
- package/dist/commands/handlers/constants-handlers.js.map +0 -1
- package/dist/commands/handlers/index.d.ts +0 -10
- package/dist/commands/handlers/index.d.ts.map +0 -1
- package/dist/commands/handlers/index.js +0 -10
- package/dist/commands/handlers/index.js.map +0 -1
- package/dist/commands/handlers/pattern-handlers.d.ts +0 -13
- package/dist/commands/handlers/pattern-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/pattern-handlers.js +0 -127
- package/dist/commands/handlers/pattern-handlers.js.map +0 -1
- package/dist/commands/handlers/scan-handlers.d.ts +0 -15
- package/dist/commands/handlers/scan-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/scan-handlers.js +0 -74
- package/dist/commands/handlers/scan-handlers.js.map +0 -1
- package/dist/commands/handlers/ui-handlers.d.ts +0 -12
- package/dist/commands/handlers/ui-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/ui-handlers.js +0 -74
- package/dist/commands/handlers/ui-handlers.js.map +0 -1
- package/dist/commands/handlers/violation-handlers.d.ts +0 -13
- package/dist/commands/handlers/violation-handlers.d.ts.map +0 -1
- package/dist/commands/handlers/violation-handlers.js +0 -76
- package/dist/commands/handlers/violation-handlers.js.map +0 -1
- package/dist/commands/index.d.ts +0 -7
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -7
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/middleware/connection-check-middleware.d.ts +0 -12
- package/dist/commands/middleware/connection-check-middleware.d.ts.map +0 -1
- package/dist/commands/middleware/connection-check-middleware.js +0 -34
- package/dist/commands/middleware/connection-check-middleware.js.map +0 -1
- package/dist/commands/middleware/index.d.ts +0 -7
- package/dist/commands/middleware/index.d.ts.map +0 -1
- package/dist/commands/middleware/index.js +0 -7
- package/dist/commands/middleware/index.js.map +0 -1
- package/dist/commands/middleware/logging-middleware.d.ts +0 -12
- package/dist/commands/middleware/logging-middleware.d.ts.map +0 -1
- package/dist/commands/middleware/logging-middleware.js +0 -24
- package/dist/commands/middleware/logging-middleware.js.map +0 -1
- package/dist/commands/middleware/telemetry-middleware.d.ts +0 -22
- package/dist/commands/middleware/telemetry-middleware.d.ts.map +0 -1
- package/dist/commands/middleware/telemetry-middleware.js +0 -30
- package/dist/commands/middleware/telemetry-middleware.js.map +0 -1
- package/dist/config/config-manager.d.ts +0 -53
- package/dist/config/config-manager.d.ts.map +0 -1
- package/dist/config/config-manager.js +0 -178
- package/dist/config/config-manager.js.map +0 -1
- package/dist/config/defaults.d.ts +0 -11
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -43
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/index.d.ts +0 -7
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -7
- package/dist/config/index.js.map +0 -1
- package/dist/config/validator.d.ts +0 -22
- package/dist/config/validator.d.ts.map +0 -1
- package/dist/config/validator.js +0 -93
- package/dist/config/validator.js.map +0 -1
- package/dist/extension.d.ts +0 -32
- package/dist/extension.d.ts.map +0 -1
- package/dist/extension.js +0 -50
- package/dist/extension.js.map +0 -1
- package/dist/infrastructure/disposable-manager.d.ts +0 -43
- package/dist/infrastructure/disposable-manager.d.ts.map +0 -1
- package/dist/infrastructure/disposable-manager.js +0 -75
- package/dist/infrastructure/disposable-manager.js.map +0 -1
- package/dist/infrastructure/event-bus.d.ts +0 -85
- package/dist/infrastructure/event-bus.d.ts.map +0 -1
- package/dist/infrastructure/event-bus.js +0 -74
- package/dist/infrastructure/event-bus.js.map +0 -1
- package/dist/infrastructure/index.d.ts +0 -10
- package/dist/infrastructure/index.d.ts.map +0 -1
- package/dist/infrastructure/index.js +0 -10
- package/dist/infrastructure/index.js.map +0 -1
- package/dist/infrastructure/logger.d.ts +0 -37
- package/dist/infrastructure/logger.d.ts.map +0 -1
- package/dist/infrastructure/logger.js +0 -86
- package/dist/infrastructure/logger.js.map +0 -1
- package/dist/infrastructure/service-container.d.ts +0 -68
- package/dist/infrastructure/service-container.d.ts.map +0 -1
- package/dist/infrastructure/service-container.js +0 -94
- package/dist/infrastructure/service-container.js.map +0 -1
- package/dist/state/index.d.ts +0 -7
- package/dist/state/index.d.ts.map +0 -1
- package/dist/state/index.js +0 -7
- package/dist/state/index.js.map +0 -1
- package/dist/state/initial-state.d.ts +0 -11
- package/dist/state/initial-state.d.ts.map +0 -1
- package/dist/state/initial-state.js +0 -58
- package/dist/state/initial-state.js.map +0 -1
- package/dist/state/selectors.d.ts +0 -41
- package/dist/state/selectors.d.ts.map +0 -1
- package/dist/state/selectors.js +0 -61
- package/dist/state/selectors.js.map +0 -1
- package/dist/state/state-manager.d.ts +0 -54
- package/dist/state/state-manager.d.ts.map +0 -1
- package/dist/state/state-manager.js +0 -166
- package/dist/state/state-manager.js.map +0 -1
- package/dist/types/config-types.d.ts +0 -69
- package/dist/types/config-types.d.ts.map +0 -1
- package/dist/types/config-types.js +0 -5
- package/dist/types/config-types.js.map +0 -1
- package/dist/types/extension-types.d.ts +0 -45
- package/dist/types/extension-types.d.ts.map +0 -1
- package/dist/types/extension-types.js +0 -5
- package/dist/types/extension-types.js.map +0 -1
- package/dist/types/index.d.ts +0 -12
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -12
- package/dist/types/index.js.map +0 -1
- package/dist/types/lsp-types.d.ts +0 -70
- package/dist/types/lsp-types.d.ts.map +0 -1
- package/dist/types/lsp-types.js +0 -5
- package/dist/types/lsp-types.js.map +0 -1
- package/dist/types/state-types.d.ts +0 -82
- package/dist/types/state-types.d.ts.map +0 -1
- package/dist/types/state-types.js +0 -5
- package/dist/types/state-types.js.map +0 -1
- package/dist/types/vscode-types.d.ts +0 -36
- package/dist/types/vscode-types.d.ts.map +0 -1
- package/dist/types/vscode-types.js +0 -7
- package/dist/types/vscode-types.js.map +0 -1
- package/dist/ui/decorations/decoration-controller.d.ts +0 -45
- package/dist/ui/decorations/decoration-controller.d.ts.map +0 -1
- package/dist/ui/decorations/decoration-controller.js +0 -198
- package/dist/ui/decorations/decoration-controller.js.map +0 -1
- package/dist/ui/decorations/decoration-types.d.ts +0 -28
- package/dist/ui/decorations/decoration-types.d.ts.map +0 -1
- package/dist/ui/decorations/decoration-types.js +0 -98
- package/dist/ui/decorations/decoration-types.js.map +0 -1
- package/dist/ui/decorations/index.d.ts +0 -7
- package/dist/ui/decorations/index.d.ts.map +0 -1
- package/dist/ui/decorations/index.js +0 -6
- package/dist/ui/decorations/index.js.map +0 -1
- package/dist/ui/index.d.ts +0 -7
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -7
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/notifications/index.d.ts +0 -5
- package/dist/ui/notifications/index.d.ts.map +0 -1
- package/dist/ui/notifications/index.js +0 -5
- package/dist/ui/notifications/index.js.map +0 -1
- package/dist/ui/notifications/notification-service.d.ts +0 -66
- package/dist/ui/notifications/notification-service.d.ts.map +0 -1
- package/dist/ui/notifications/notification-service.js +0 -103
- package/dist/ui/notifications/notification-service.js.map +0 -1
- package/dist/ui/status-bar/index.d.ts +0 -6
- package/dist/ui/status-bar/index.d.ts.map +0 -1
- package/dist/ui/status-bar/index.js +0 -6
- package/dist/ui/status-bar/index.js.map +0 -1
- package/dist/ui/status-bar/status-bar-controller.d.ts +0 -37
- package/dist/ui/status-bar/status-bar-controller.d.ts.map +0 -1
- package/dist/ui/status-bar/status-bar-controller.js +0 -111
- package/dist/ui/status-bar/status-bar-controller.js.map +0 -1
- package/dist/ui/status-bar/status-bar-modes.d.ts +0 -26
- package/dist/ui/status-bar/status-bar-modes.d.ts.map +0 -1
- package/dist/ui/status-bar/status-bar-modes.js +0 -97
- package/dist/ui/status-bar/status-bar-modes.js.map +0 -1
- package/dist/views/base-tree-provider.d.ts +0 -74
- package/dist/views/base-tree-provider.d.ts.map +0 -1
- package/dist/views/base-tree-provider.js +0 -95
- package/dist/views/base-tree-provider.js.map +0 -1
- package/dist/views/constants-tree-provider.d.ts +0 -112
- package/dist/views/constants-tree-provider.d.ts.map +0 -1
- package/dist/views/constants-tree-provider.js +0 -344
- package/dist/views/constants-tree-provider.js.map +0 -1
- package/dist/views/files-tree-provider.d.ts +0 -37
- package/dist/views/files-tree-provider.d.ts.map +0 -1
- package/dist/views/files-tree-provider.js +0 -98
- package/dist/views/files-tree-provider.js.map +0 -1
- package/dist/views/index.d.ts +0 -10
- package/dist/views/index.d.ts.map +0 -1
- package/dist/views/index.js +0 -10
- package/dist/views/index.js.map +0 -1
- package/dist/views/patterns-tree-provider.d.ts +0 -39
- package/dist/views/patterns-tree-provider.d.ts.map +0 -1
- package/dist/views/patterns-tree-provider.js +0 -139
- package/dist/views/patterns-tree-provider.js.map +0 -1
- package/dist/views/violations-tree-provider.d.ts +0 -46
- package/dist/views/violations-tree-provider.d.ts.map +0 -1
- package/dist/views/violations-tree-provider.js +0 -158
- package/dist/views/violations-tree-provider.js.map +0 -1
- package/dist/webview/index.d.ts +0 -7
- package/dist/webview/index.d.ts.map +0 -1
- package/dist/webview/index.js +0 -7
- package/dist/webview/index.js.map +0 -1
- package/dist/webview/webview-manager.d.ts +0 -57
- package/dist/webview/webview-manager.d.ts.map +0 -1
- package/dist/webview/webview-manager.js +0 -167
- package/dist/webview/webview-manager.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Activation phases configuration
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Define activation phase order and timing.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Activation phases in order
|
|
8
|
-
*/
|
|
9
|
-
export const ActivationPhases = [
|
|
10
|
-
// Immediate phase - must complete before activate() returns
|
|
11
|
-
{
|
|
12
|
-
name: 'infrastructure',
|
|
13
|
-
phase: 'immediate',
|
|
14
|
-
timeout: 50,
|
|
15
|
-
critical: true,
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'state',
|
|
19
|
-
phase: 'immediate',
|
|
20
|
-
timeout: 50,
|
|
21
|
-
critical: true,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: 'config',
|
|
25
|
-
phase: 'immediate',
|
|
26
|
-
timeout: 50,
|
|
27
|
-
critical: true,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'statusBar',
|
|
31
|
-
phase: 'immediate',
|
|
32
|
-
timeout: 50,
|
|
33
|
-
critical: false,
|
|
34
|
-
},
|
|
35
|
-
// Deferred phase - runs after activate() returns
|
|
36
|
-
{
|
|
37
|
-
name: 'connection',
|
|
38
|
-
phase: 'deferred',
|
|
39
|
-
timeout: 10000,
|
|
40
|
-
critical: true,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: 'commands',
|
|
44
|
-
phase: 'deferred',
|
|
45
|
-
timeout: 100,
|
|
46
|
-
critical: true,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: 'decorations',
|
|
50
|
-
phase: 'deferred',
|
|
51
|
-
timeout: 100,
|
|
52
|
-
critical: false,
|
|
53
|
-
},
|
|
54
|
-
// Lazy phase - activated on demand
|
|
55
|
-
{
|
|
56
|
-
name: 'treeViews',
|
|
57
|
-
phase: 'lazy',
|
|
58
|
-
timeout: 500,
|
|
59
|
-
critical: false,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: 'webviews',
|
|
63
|
-
phase: 'lazy',
|
|
64
|
-
timeout: 500,
|
|
65
|
-
critical: false,
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
/**
|
|
69
|
-
* Get phases by type
|
|
70
|
-
*/
|
|
71
|
-
export function getPhasesByType(type) {
|
|
72
|
-
return ActivationPhases.filter(p => p.phase === type);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get critical phases
|
|
76
|
-
*/
|
|
77
|
-
export function getCriticalPhases() {
|
|
78
|
-
return ActivationPhases.filter(p => p.critical);
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=activation-phases.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"activation-phases.js","sourceRoot":"","sources":["../../src/activation/activation-phases.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,4DAA4D;IAC5D;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;KAChB;IAED,iDAAiD;IACjD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,KAAK;KAChB;IAED,mCAAmC;IACnC;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/activation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/activation/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connection configuration constants
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Define connection-related constants.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Connection configuration
|
|
8
|
-
*/
|
|
9
|
-
export declare const CONNECTION_CONFIG: {
|
|
10
|
-
/**
|
|
11
|
-
* Maximum restart attempts before giving up
|
|
12
|
-
*/
|
|
13
|
-
readonly maxRestarts: 5;
|
|
14
|
-
/**
|
|
15
|
-
* Base delay between restarts (ms)
|
|
16
|
-
*/
|
|
17
|
-
readonly restartDelay: 1000;
|
|
18
|
-
/**
|
|
19
|
-
* Exponential backoff multiplier
|
|
20
|
-
*/
|
|
21
|
-
readonly backoffMultiplier: 2;
|
|
22
|
-
/**
|
|
23
|
-
* Maximum backoff delay (ms)
|
|
24
|
-
*/
|
|
25
|
-
readonly maxBackoffDelay: 30000;
|
|
26
|
-
/**
|
|
27
|
-
* Health check interval (ms)
|
|
28
|
-
*/
|
|
29
|
-
readonly healthCheckInterval: 30000;
|
|
30
|
-
/**
|
|
31
|
-
* Server initialization timeout (ms)
|
|
32
|
-
*/
|
|
33
|
-
readonly initializeTimeout: 10000;
|
|
34
|
-
/**
|
|
35
|
-
* Individual request timeout (ms)
|
|
36
|
-
*/
|
|
37
|
-
readonly requestTimeout: 5000;
|
|
38
|
-
/**
|
|
39
|
-
* Graceful shutdown timeout (ms)
|
|
40
|
-
*/
|
|
41
|
-
readonly shutdownTimeout: 2000;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Document selectors for the language client
|
|
45
|
-
*/
|
|
46
|
-
export declare const DOCUMENT_SELECTORS: {
|
|
47
|
-
scheme: string;
|
|
48
|
-
language: string;
|
|
49
|
-
}[];
|
|
50
|
-
//# sourceMappingURL=connection-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-config.d.ts","sourceRoot":"","sources":["../../src/client/connection-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEK,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;GAS9B,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connection configuration constants
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Define connection-related constants.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Connection configuration
|
|
8
|
-
*/
|
|
9
|
-
export const CONNECTION_CONFIG = {
|
|
10
|
-
/**
|
|
11
|
-
* Maximum restart attempts before giving up
|
|
12
|
-
*/
|
|
13
|
-
maxRestarts: 5,
|
|
14
|
-
/**
|
|
15
|
-
* Base delay between restarts (ms)
|
|
16
|
-
*/
|
|
17
|
-
restartDelay: 1000,
|
|
18
|
-
/**
|
|
19
|
-
* Exponential backoff multiplier
|
|
20
|
-
*/
|
|
21
|
-
backoffMultiplier: 2,
|
|
22
|
-
/**
|
|
23
|
-
* Maximum backoff delay (ms)
|
|
24
|
-
*/
|
|
25
|
-
maxBackoffDelay: 30000,
|
|
26
|
-
/**
|
|
27
|
-
* Health check interval (ms)
|
|
28
|
-
*/
|
|
29
|
-
healthCheckInterval: 30000,
|
|
30
|
-
/**
|
|
31
|
-
* Server initialization timeout (ms)
|
|
32
|
-
*/
|
|
33
|
-
initializeTimeout: 10000,
|
|
34
|
-
/**
|
|
35
|
-
* Individual request timeout (ms)
|
|
36
|
-
*/
|
|
37
|
-
requestTimeout: 5000,
|
|
38
|
-
/**
|
|
39
|
-
* Graceful shutdown timeout (ms)
|
|
40
|
-
*/
|
|
41
|
-
shutdownTimeout: 2000,
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Document selectors for the language client
|
|
45
|
-
*/
|
|
46
|
-
export const DOCUMENT_SELECTORS = [
|
|
47
|
-
{ scheme: 'file', language: 'typescript' },
|
|
48
|
-
{ scheme: 'file', language: 'typescriptreact' },
|
|
49
|
-
{ scheme: 'file', language: 'javascript' },
|
|
50
|
-
{ scheme: 'file', language: 'javascriptreact' },
|
|
51
|
-
{ scheme: 'file', language: 'python' },
|
|
52
|
-
{ scheme: 'file', language: 'csharp' },
|
|
53
|
-
{ scheme: 'file', language: 'java' },
|
|
54
|
-
{ scheme: 'file', language: 'php' },
|
|
55
|
-
];
|
|
56
|
-
//# sourceMappingURL=connection-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-config.js","sourceRoot":"","sources":["../../src/client/connection-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B;;OAEG;IACH,WAAW,EAAE,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,IAAI;IAElB;;OAEG;IACH,iBAAiB,EAAE,CAAC;IAEpB;;OAEG;IACH,eAAe,EAAE,KAAK;IAEtB;;OAEG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;OAEG;IACH,iBAAiB,EAAE,KAAK;IAExB;;OAEG;IACH,cAAc,EAAE,IAAI;IAEpB;;OAEG;IACH,eAAe,EAAE,IAAI;CACb,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE;IAC/C,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE;IAC/C,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACtC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACtC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;CACpC,CAAC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConnectionManager - LSP connection lifecycle management
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Manage LSP client connection with auto-recovery.
|
|
5
|
-
*/
|
|
6
|
-
import * as vscode from 'vscode';
|
|
7
|
-
import type { EventBus } from '../infrastructure/event-bus.js';
|
|
8
|
-
import type { Logger } from '../infrastructure/index.js';
|
|
9
|
-
import type { ConnectionState, ServerConfig } from '../types/index.js';
|
|
10
|
-
import type { LanguageClient } from 'vscode-languageclient/node';
|
|
11
|
-
/**
|
|
12
|
-
* Connection manager for LSP client
|
|
13
|
-
*/
|
|
14
|
-
export declare class ConnectionManager implements vscode.Disposable {
|
|
15
|
-
private readonly context;
|
|
16
|
-
private readonly logger;
|
|
17
|
-
private readonly eventBus;
|
|
18
|
-
private config;
|
|
19
|
-
private client;
|
|
20
|
-
private state;
|
|
21
|
-
private restartCount;
|
|
22
|
-
private healthCheckTimer;
|
|
23
|
-
private readonly disposables;
|
|
24
|
-
private readonly stateEmitter;
|
|
25
|
-
readonly onStateChange: vscode.Event<ConnectionState>;
|
|
26
|
-
constructor(context: vscode.ExtensionContext, logger: Logger, eventBus: EventBus, config: ServerConfig);
|
|
27
|
-
/**
|
|
28
|
-
* Get current connection state
|
|
29
|
-
*/
|
|
30
|
-
getState(): ConnectionState;
|
|
31
|
-
/**
|
|
32
|
-
* Get the language client (if connected)
|
|
33
|
-
*/
|
|
34
|
-
getClient(): LanguageClient | null;
|
|
35
|
-
/**
|
|
36
|
-
* Connect to the LSP server
|
|
37
|
-
*/
|
|
38
|
-
connect(): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Disconnect from the LSP server
|
|
41
|
-
*/
|
|
42
|
-
disconnect(): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Reconnect to the LSP server
|
|
45
|
-
*/
|
|
46
|
-
reconnect(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Update server configuration
|
|
49
|
-
*/
|
|
50
|
-
updateConfig(config: ServerConfig): void;
|
|
51
|
-
/**
|
|
52
|
-
* Dispose resources
|
|
53
|
-
*/
|
|
54
|
-
dispose(): void;
|
|
55
|
-
private setState;
|
|
56
|
-
private setupClientHandlers;
|
|
57
|
-
private waitForReady;
|
|
58
|
-
private handleConnectionError;
|
|
59
|
-
private calculateBackoff;
|
|
60
|
-
private startHealthCheck;
|
|
61
|
-
private stopHealthCheck;
|
|
62
|
-
private isHealthy;
|
|
63
|
-
private timeout;
|
|
64
|
-
private delay;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Factory function for creating connection manager
|
|
68
|
-
*/
|
|
69
|
-
export declare function createConnectionManager(context: vscode.ExtensionContext, logger: Logger, eventBus: EventBus, config: ServerConfig): ConnectionManager;
|
|
70
|
-
//# sourceMappingURL=connection-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/client/connection-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,4BAA4B,CAAC;AAGnF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,MAAM,CAAC,UAAU;IAWvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM;IAbhB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,QAAQ,CAAC,aAAa,gCAA2B;gBAG9B,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAC3B,MAAM,EAAE,YAAY;IAG9B;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;OAEG;IACH,SAAS,IAAI,cAAc,GAAG,IAAI;IAIlC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,mBAAmB;YASb,YAAY;YAkBZ,qBAAqB;IA4BnC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;YAOT,SAAS;IAgBvB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;CAGd;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,GACnB,iBAAiB,CAEnB"}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConnectionManager - LSP connection lifecycle management
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Manage LSP client connection with auto-recovery.
|
|
5
|
-
*/
|
|
6
|
-
import * as vscode from 'vscode';
|
|
7
|
-
import { CONNECTION_CONFIG } from './connection-config.js';
|
|
8
|
-
import { createLanguageClient } from './language-client-factory.js';
|
|
9
|
-
/**
|
|
10
|
-
* Connection manager for LSP client
|
|
11
|
-
*/
|
|
12
|
-
export class ConnectionManager {
|
|
13
|
-
context;
|
|
14
|
-
logger;
|
|
15
|
-
eventBus;
|
|
16
|
-
config;
|
|
17
|
-
client = null;
|
|
18
|
-
state = 'disconnected';
|
|
19
|
-
restartCount = 0;
|
|
20
|
-
healthCheckTimer = null;
|
|
21
|
-
disposables = [];
|
|
22
|
-
stateEmitter = new vscode.EventEmitter();
|
|
23
|
-
onStateChange = this.stateEmitter.event;
|
|
24
|
-
constructor(context, logger, eventBus, config) {
|
|
25
|
-
this.context = context;
|
|
26
|
-
this.logger = logger;
|
|
27
|
-
this.eventBus = eventBus;
|
|
28
|
-
this.config = config;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Get current connection state
|
|
32
|
-
*/
|
|
33
|
-
getState() {
|
|
34
|
-
return this.state;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Get the language client (if connected)
|
|
38
|
-
*/
|
|
39
|
-
getClient() {
|
|
40
|
-
return this.state === 'connected' ? this.client : null;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Connect to the LSP server
|
|
44
|
-
*/
|
|
45
|
-
async connect() {
|
|
46
|
-
if (this.state === 'connected' || this.state === 'connecting') {
|
|
47
|
-
this.logger.debug('Already connected or connecting');
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
this.setState('connecting');
|
|
51
|
-
try {
|
|
52
|
-
this.client = createLanguageClient(this.context, this.logger, this.config);
|
|
53
|
-
// Set up client event handlers
|
|
54
|
-
this.setupClientHandlers();
|
|
55
|
-
// Start the client
|
|
56
|
-
await this.client.start();
|
|
57
|
-
// Wait for ready state
|
|
58
|
-
await this.waitForReady();
|
|
59
|
-
this.setState('connected');
|
|
60
|
-
this.restartCount = 0;
|
|
61
|
-
this.startHealthCheck();
|
|
62
|
-
this.logger.info('Connected to Drift LSP server');
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
await this.handleConnectionError(error);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Disconnect from the LSP server
|
|
70
|
-
*/
|
|
71
|
-
async disconnect() {
|
|
72
|
-
this.stopHealthCheck();
|
|
73
|
-
if (this.client) {
|
|
74
|
-
try {
|
|
75
|
-
await Promise.race([
|
|
76
|
-
this.client.stop(),
|
|
77
|
-
this.timeout(CONNECTION_CONFIG.shutdownTimeout),
|
|
78
|
-
]);
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
this.logger.warn('Error during disconnect:', error);
|
|
82
|
-
}
|
|
83
|
-
this.client = null;
|
|
84
|
-
}
|
|
85
|
-
this.setState('disconnected');
|
|
86
|
-
this.logger.info('Disconnected from Drift LSP server');
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Reconnect to the LSP server
|
|
90
|
-
*/
|
|
91
|
-
async reconnect() {
|
|
92
|
-
await this.disconnect();
|
|
93
|
-
await this.connect();
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Update server configuration
|
|
97
|
-
*/
|
|
98
|
-
updateConfig(config) {
|
|
99
|
-
this.config = config;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Dispose resources
|
|
103
|
-
*/
|
|
104
|
-
dispose() {
|
|
105
|
-
this.stopHealthCheck();
|
|
106
|
-
this.stateEmitter.dispose();
|
|
107
|
-
if (this.client) {
|
|
108
|
-
this.client.stop().catch(() => { });
|
|
109
|
-
this.client = null;
|
|
110
|
-
}
|
|
111
|
-
for (const d of this.disposables) {
|
|
112
|
-
d.dispose();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
setState(state) {
|
|
116
|
-
const previousState = this.state;
|
|
117
|
-
this.state = state;
|
|
118
|
-
this.stateEmitter.fire(state);
|
|
119
|
-
this.eventBus.emit('connection:changed', { status: state, previousStatus: previousState });
|
|
120
|
-
}
|
|
121
|
-
setupClientHandlers() {
|
|
122
|
-
if (!this.client) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
// Handle client errors
|
|
126
|
-
this.client.onDidChangeState((event) => {
|
|
127
|
-
this.logger.debug(`Client state changed: ${event.oldState} -> ${event.newState}`);
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
async waitForReady() {
|
|
131
|
-
if (!this.client) {
|
|
132
|
-
throw new Error('Client not initialized');
|
|
133
|
-
}
|
|
134
|
-
const timeout = CONNECTION_CONFIG.initializeTimeout;
|
|
135
|
-
const startTime = Date.now();
|
|
136
|
-
while (Date.now() - startTime < timeout) {
|
|
137
|
-
if (this.client.isRunning()) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
await this.delay(100);
|
|
141
|
-
}
|
|
142
|
-
throw new Error(`Server initialization timed out after ${timeout}ms`);
|
|
143
|
-
}
|
|
144
|
-
async handleConnectionError(error) {
|
|
145
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
146
|
-
this.logger.error('Connection error:', errorMessage);
|
|
147
|
-
this.setState('error');
|
|
148
|
-
this.eventBus.emit('connection:error', {
|
|
149
|
-
error: error instanceof Error ? error : new Error(errorMessage),
|
|
150
|
-
recoverable: this.restartCount < CONNECTION_CONFIG.maxRestarts,
|
|
151
|
-
});
|
|
152
|
-
if (this.restartCount >= CONNECTION_CONFIG.maxRestarts) {
|
|
153
|
-
this.setState('failed');
|
|
154
|
-
this.logger.error(`Max restart attempts (${CONNECTION_CONFIG.maxRestarts}) reached`);
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
const delay = this.calculateBackoff();
|
|
158
|
-
this.restartCount++;
|
|
159
|
-
this.logger.info(`Reconnecting in ${delay}ms (attempt ${this.restartCount}/${CONNECTION_CONFIG.maxRestarts})`);
|
|
160
|
-
this.setState('reconnecting');
|
|
161
|
-
await this.delay(delay);
|
|
162
|
-
await this.connect();
|
|
163
|
-
}
|
|
164
|
-
calculateBackoff() {
|
|
165
|
-
const delay = CONNECTION_CONFIG.restartDelay *
|
|
166
|
-
Math.pow(CONNECTION_CONFIG.backoffMultiplier, this.restartCount);
|
|
167
|
-
return Math.min(delay, CONNECTION_CONFIG.maxBackoffDelay);
|
|
168
|
-
}
|
|
169
|
-
startHealthCheck() {
|
|
170
|
-
this.stopHealthCheck();
|
|
171
|
-
this.healthCheckTimer = setInterval(async () => {
|
|
172
|
-
if (!await this.isHealthy()) {
|
|
173
|
-
this.logger.warn('Health check failed, reconnecting...');
|
|
174
|
-
await this.reconnect();
|
|
175
|
-
}
|
|
176
|
-
}, CONNECTION_CONFIG.healthCheckInterval);
|
|
177
|
-
}
|
|
178
|
-
stopHealthCheck() {
|
|
179
|
-
if (this.healthCheckTimer) {
|
|
180
|
-
clearInterval(this.healthCheckTimer);
|
|
181
|
-
this.healthCheckTimer = null;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
async isHealthy() {
|
|
185
|
-
if (!this.client?.isRunning()) {
|
|
186
|
-
return false;
|
|
187
|
-
}
|
|
188
|
-
try {
|
|
189
|
-
await Promise.race([
|
|
190
|
-
this.client.sendRequest('drift/health'),
|
|
191
|
-
this.timeout(5000),
|
|
192
|
-
]);
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
timeout(ms) {
|
|
200
|
-
return new Promise((_, reject) => {
|
|
201
|
-
setTimeout(() => { reject(new Error('Timeout')); }, ms);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
delay(ms) {
|
|
205
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Factory function for creating connection manager
|
|
210
|
-
*/
|
|
211
|
-
export function createConnectionManager(context, logger, eventBus, config) {
|
|
212
|
-
return new ConnectionManager(context, logger, eventBus, config);
|
|
213
|
-
}
|
|
214
|
-
//# sourceMappingURL=connection-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/client/connection-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LSP Client module exports
|
|
3
|
-
*/
|
|
4
|
-
export { ConnectionManager, createConnectionManager } from './connection-manager.js';
|
|
5
|
-
export { LanguageClientFactory, createLanguageClient } from './language-client-factory.js';
|
|
6
|
-
export { RequestMiddleware, createRequestMiddleware } from './request-middleware.js';
|
|
7
|
-
export { CONNECTION_CONFIG } from './connection-config.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/client/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LSP Client module exports
|
|
3
|
-
*/
|
|
4
|
-
export { ConnectionManager, createConnectionManager } from './connection-manager.js';
|
|
5
|
-
export { LanguageClientFactory, createLanguageClient } from './language-client-factory.js';
|
|
6
|
-
export { RequestMiddleware, createRequestMiddleware } from './request-middleware.js';
|
|
7
|
-
export { CONNECTION_CONFIG } from './connection-config.js';
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LanguageClientFactory - Creates configured LSP clients
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Create and configure LanguageClient instances.
|
|
5
|
-
*/
|
|
6
|
-
import * as vscode from 'vscode';
|
|
7
|
-
import { LanguageClient } from 'vscode-languageclient/node';
|
|
8
|
-
import type { Logger } from '../infrastructure/index.js';
|
|
9
|
-
import type { ServerConfig } from '../types/index.js';
|
|
10
|
-
/**
|
|
11
|
-
* Factory for creating language clients
|
|
12
|
-
*/
|
|
13
|
-
export declare class LanguageClientFactory {
|
|
14
|
-
private readonly context;
|
|
15
|
-
private readonly logger;
|
|
16
|
-
constructor(context: vscode.ExtensionContext, logger: Logger);
|
|
17
|
-
/**
|
|
18
|
-
* Create a new language client
|
|
19
|
-
*/
|
|
20
|
-
create(config: ServerConfig): LanguageClient;
|
|
21
|
-
private createServerOptions;
|
|
22
|
-
private createClientOptions;
|
|
23
|
-
private getBundledServerPath;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Factory function for creating language client factory
|
|
27
|
-
*/
|
|
28
|
-
export declare function createLanguageClient(context: vscode.ExtensionContext, logger: Logger, config: ServerConfig): LanguageClient;
|
|
29
|
-
//# sourceMappingURL=language-client-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language-client-factory.d.ts","sourceRoot":"","sources":["../../src/client/language-client-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,cAAc,EAIf,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,MAAM,EAAE,MAAM;IAGjC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc;IAc5C,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,oBAAoB;CAa7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,cAAc,CAGhB"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LanguageClientFactory - Creates configured LSP clients
|
|
3
|
-
*
|
|
4
|
-
* Single responsibility: Create and configure LanguageClient instances.
|
|
5
|
-
*/
|
|
6
|
-
import * as path from 'node:path';
|
|
7
|
-
import * as vscode from 'vscode';
|
|
8
|
-
import { LanguageClient, TransportKind, } from 'vscode-languageclient/node';
|
|
9
|
-
import { DOCUMENT_SELECTORS } from './connection-config.js';
|
|
10
|
-
/**
|
|
11
|
-
* Factory for creating language clients
|
|
12
|
-
*/
|
|
13
|
-
export class LanguageClientFactory {
|
|
14
|
-
context;
|
|
15
|
-
logger;
|
|
16
|
-
constructor(context, logger) {
|
|
17
|
-
this.context = context;
|
|
18
|
-
this.logger = logger;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Create a new language client
|
|
22
|
-
*/
|
|
23
|
-
create(config) {
|
|
24
|
-
const serverOptions = this.createServerOptions(config);
|
|
25
|
-
const clientOptions = this.createClientOptions(config);
|
|
26
|
-
const client = new LanguageClient('drift', 'Drift Language Server', serverOptions, clientOptions);
|
|
27
|
-
return client;
|
|
28
|
-
}
|
|
29
|
-
createServerOptions(config) {
|
|
30
|
-
// Use custom path if provided, otherwise use bundled server
|
|
31
|
-
const serverModule = config.path || this.getBundledServerPath();
|
|
32
|
-
this.logger.debug(`Server module: ${serverModule}`);
|
|
33
|
-
return {
|
|
34
|
-
run: {
|
|
35
|
-
module: serverModule,
|
|
36
|
-
transport: TransportKind.ipc,
|
|
37
|
-
args: config.args,
|
|
38
|
-
},
|
|
39
|
-
debug: {
|
|
40
|
-
module: serverModule,
|
|
41
|
-
transport: TransportKind.ipc,
|
|
42
|
-
args: [...config.args, '--debug'],
|
|
43
|
-
options: {
|
|
44
|
-
execArgv: ['--nolazy', '--inspect=6009'],
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
createClientOptions(config) {
|
|
50
|
-
return {
|
|
51
|
-
documentSelector: DOCUMENT_SELECTORS,
|
|
52
|
-
synchronize: {
|
|
53
|
-
// Watch .drift directory for config changes
|
|
54
|
-
fileEvents: vscode.workspace.createFileSystemWatcher('**/.drift/**'),
|
|
55
|
-
},
|
|
56
|
-
outputChannel: vscode.window.createOutputChannel('Drift LSP'),
|
|
57
|
-
traceOutputChannel: vscode.window.createOutputChannel('Drift LSP Trace'),
|
|
58
|
-
initializationOptions: {
|
|
59
|
-
trace: config.trace,
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
getBundledServerPath() {
|
|
64
|
-
// Look for the LSP server in the extension's dependencies
|
|
65
|
-
const serverPath = path.join(this.context.extensionPath, 'node_modules', 'driftdetect-lsp', 'dist', 'bin', 'server.js');
|
|
66
|
-
return serverPath;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Factory function for creating language client factory
|
|
71
|
-
*/
|
|
72
|
-
export function createLanguageClient(context, logger, config) {
|
|
73
|
-
const factory = new LanguageClientFactory(context, logger);
|
|
74
|
-
return factory.create(config);
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=language-client-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language-client-factory.js","sourceRoot":"","sources":["../../src/client/language-client-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,cAAc,EAGd,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,OAAgC,EAChC,MAAc;QADd,YAAO,GAAP,OAAO,CAAyB;QAChC,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,MAAoB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,OAAO,EACP,uBAAuB,EACvB,aAAa,EACb,aAAa,CACd,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,MAAoB;QAC9C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;QAEpD,OAAO;YACL,GAAG,EAAE;gBACH,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,aAAa,CAAC,GAAG;gBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,aAAa,CAAC,GAAG;gBAC5B,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;gBACjC,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;iBACzC;aACF;SACF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,MAAoB;QAC9C,OAAO;YACL,gBAAgB,EAAE,kBAAkB;YACpC,WAAW,EAAE;gBACX,4CAA4C;gBAC5C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,cAAc,CAAC;aACrE;YACD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC;YAC7D,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YACxE,qBAAqB,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;SACF,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,KAAK,EACL,WAAW,CACZ,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgC,EAChC,MAAc,EACd,MAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|