driftdetect-vscode 0.9.33 → 0.9.37

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 (110) hide show
  1. package/package.json +14 -14
  2. package/.turbo/turbo-build.log +0 -4
  3. package/.turbo/turbo-lint.log +0 -47
  4. package/.turbo/turbo-test.log +0 -0
  5. package/LICENSE +0 -121
  6. package/dist/activation/activation-controller.d.ts.map +0 -1
  7. package/dist/activation/activation-controller.js +0 -235
  8. package/dist/activation/activation-controller.js.map +0 -1
  9. package/dist/activation/activation-phases.d.ts.map +0 -1
  10. package/dist/activation/index.d.ts.map +0 -1
  11. package/dist/client/connection-manager.d.ts.map +0 -1
  12. package/dist/client/connection-manager.js +0 -216
  13. package/dist/client/connection-manager.js.map +0 -1
  14. package/dist/client/index.d.ts.map +0 -1
  15. package/dist/client/language-client-factory.d.ts.map +0 -1
  16. package/dist/client/request-middleware.d.ts.map +0 -1
  17. package/dist/client/request-middleware.js +0 -85
  18. package/dist/client/request-middleware.js.map +0 -1
  19. package/dist/commands/command-router.d.ts.map +0 -1
  20. package/dist/commands/command-router.js +0 -129
  21. package/dist/commands/command-router.js.map +0 -1
  22. package/dist/commands/handlers/connection-handlers.d.ts.map +0 -1
  23. package/dist/commands/handlers/connection-handlers.js +0 -57
  24. package/dist/commands/handlers/connection-handlers.js.map +0 -1
  25. package/dist/commands/handlers/constants-handlers.d.ts.map +0 -1
  26. package/dist/commands/handlers/constants-handlers.js +0 -85
  27. package/dist/commands/handlers/constants-handlers.js.map +0 -1
  28. package/dist/commands/handlers/index.d.ts.map +0 -1
  29. package/dist/commands/handlers/pattern-handlers.d.ts.map +0 -1
  30. package/dist/commands/handlers/pattern-handlers.js +0 -127
  31. package/dist/commands/handlers/pattern-handlers.js.map +0 -1
  32. package/dist/commands/handlers/scan-handlers.d.ts.map +0 -1
  33. package/dist/commands/handlers/scan-handlers.js +0 -74
  34. package/dist/commands/handlers/scan-handlers.js.map +0 -1
  35. package/dist/commands/handlers/ui-handlers.d.ts.map +0 -1
  36. package/dist/commands/handlers/violation-handlers.d.ts.map +0 -1
  37. package/dist/commands/handlers/violation-handlers.js +0 -75
  38. package/dist/commands/handlers/violation-handlers.js.map +0 -1
  39. package/dist/commands/index.d.ts.map +0 -1
  40. package/dist/commands/middleware/connection-check-middleware.d.ts.map +0 -1
  41. package/dist/commands/middleware/index.d.ts.map +0 -1
  42. package/dist/commands/middleware/logging-middleware.d.ts.map +0 -1
  43. package/dist/commands/middleware/telemetry-middleware.d.ts.map +0 -1
  44. package/dist/config/config-manager.d.ts.map +0 -1
  45. package/dist/config/config-manager.js +0 -182
  46. package/dist/config/config-manager.js.map +0 -1
  47. package/dist/config/defaults.d.ts.map +0 -1
  48. package/dist/config/index.d.ts.map +0 -1
  49. package/dist/config/validator.d.ts.map +0 -1
  50. package/dist/config/validator.js +0 -89
  51. package/dist/config/validator.js.map +0 -1
  52. package/dist/extension.d.ts.map +0 -1
  53. package/dist/extension.js +0 -51
  54. package/dist/extension.js.map +0 -1
  55. package/dist/infrastructure/disposable-manager.d.ts.map +0 -1
  56. package/dist/infrastructure/disposable-manager.js +0 -76
  57. package/dist/infrastructure/disposable-manager.js.map +0 -1
  58. package/dist/infrastructure/index.d.ts.map +0 -1
  59. package/dist/infrastructure/logger.d.ts.map +0 -1
  60. package/dist/infrastructure/logger.js +0 -82
  61. package/dist/infrastructure/logger.js.map +0 -1
  62. package/dist/infrastructure/service-container.d.ts +0 -68
  63. package/dist/infrastructure/service-container.d.ts.map +0 -1
  64. package/dist/infrastructure/service-container.js +0 -92
  65. package/dist/infrastructure/service-container.js.map +0 -1
  66. package/dist/state/index.d.ts.map +0 -1
  67. package/dist/state/initial-state.d.ts.map +0 -1
  68. package/dist/state/selectors.d.ts.map +0 -1
  69. package/dist/state/state-manager.d.ts.map +0 -1
  70. package/dist/state/state-manager.js +0 -166
  71. package/dist/state/state-manager.js.map +0 -1
  72. package/dist/types/config-types.d.ts.map +0 -1
  73. package/dist/types/extension-types.d.ts +0 -45
  74. package/dist/types/extension-types.d.ts.map +0 -1
  75. package/dist/types/extension-types.js +0 -5
  76. package/dist/types/extension-types.js.map +0 -1
  77. package/dist/types/index.d.ts.map +0 -1
  78. package/dist/types/lsp-types.d.ts.map +0 -1
  79. package/dist/types/state-types.d.ts.map +0 -1
  80. package/dist/ui/decorations/decoration-controller.d.ts.map +0 -1
  81. package/dist/ui/decorations/decoration-controller.js +0 -196
  82. package/dist/ui/decorations/decoration-controller.js.map +0 -1
  83. package/dist/ui/decorations/decoration-types.d.ts.map +0 -1
  84. package/dist/ui/decorations/index.d.ts.map +0 -1
  85. package/dist/ui/index.d.ts.map +0 -1
  86. package/dist/ui/notifications/index.d.ts.map +0 -1
  87. package/dist/ui/notifications/notification-service.d.ts.map +0 -1
  88. package/dist/ui/notifications/notification-service.js +0 -103
  89. package/dist/ui/notifications/notification-service.js.map +0 -1
  90. package/dist/ui/status-bar/index.d.ts.map +0 -1
  91. package/dist/ui/status-bar/status-bar-controller.d.ts.map +0 -1
  92. package/dist/ui/status-bar/status-bar-controller.js +0 -111
  93. package/dist/ui/status-bar/status-bar-controller.js.map +0 -1
  94. package/dist/ui/status-bar/status-bar-modes.d.ts.map +0 -1
  95. package/dist/ui/status-bar/status-bar-modes.js +0 -112
  96. package/dist/ui/status-bar/status-bar-modes.js.map +0 -1
  97. package/dist/views/constants-tree-provider.d.ts +0 -111
  98. package/dist/views/constants-tree-provider.d.ts.map +0 -1
  99. package/dist/views/constants-tree-provider.js +0 -343
  100. package/dist/views/constants-tree-provider.js.map +0 -1
  101. package/dist/views/files-tree-provider.d.ts +0 -36
  102. package/dist/views/files-tree-provider.d.ts.map +0 -1
  103. package/dist/views/files-tree-provider.js +0 -95
  104. package/dist/views/files-tree-provider.js.map +0 -1
  105. package/dist/views/index.d.ts.map +0 -1
  106. package/dist/views/patterns-tree-provider.d.ts.map +0 -1
  107. package/dist/views/violations-tree-provider.d.ts.map +0 -1
  108. package/dist/webview/index.d.ts.map +0 -1
  109. package/dist/webview/webview-manager.d.ts.map +0 -1
  110. package/tsconfig.tsbuildinfo +0 -1
package/dist/extension.js DELETED
@@ -1,51 +0,0 @@
1
- /**
2
- * @drift/vscode - VS Code Extension Entry Point
3
- *
4
- * This is the main entry point for the Drift VS Code extension.
5
- * It delegates all work to the ActivationController for proper
6
- * lifecycle management and phased activation.
7
- */
8
- import * as vscode from 'vscode';
9
- import { createActivationController } from './activation/index.js';
10
- /**
11
- * Extension version - read from package.json at runtime
12
- */
13
- export function getVersion() {
14
- const extension = vscode.extensions.getExtension('driftdetect.driftdetect-vscode');
15
- const packageJSON = extension?.packageJSON;
16
- return packageJSON?.version ?? '0.0.0';
17
- }
18
- // For backwards compatibility
19
- export const VERSION = '0.4.4';
20
- /**
21
- * Activation controller instance
22
- */
23
- let controller = null;
24
- /**
25
- * Activates the Drift extension
26
- *
27
- * This function is called by VS Code when the extension is activated.
28
- * Activation is phased for optimal startup performance:
29
- *
30
- * 1. Immediate phase (<100ms): Infrastructure, state, config, status bar
31
- * 2. Deferred phase: LSP connection, commands, decorations
32
- * 3. Lazy phase: Tree views, webviews (on-demand)
33
- */
34
- export async function activate(context) {
35
- controller = createActivationController(context);
36
- context.subscriptions.push(controller);
37
- await controller.activate();
38
- }
39
- /**
40
- * Deactivates the Drift extension
41
- *
42
- * This function is called by VS Code when the extension is deactivated.
43
- * It ensures proper cleanup of all resources.
44
- */
45
- export async function deactivate() {
46
- if (controller) {
47
- await controller.deactivate();
48
- controller = null;
49
- }
50
- }
51
- //# sourceMappingURL=extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAA6B,MAAM,uBAAuB,CAAC;AAE9F;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,SAAS,EAAE,WAA+C,CAAC;IAC/E,OAAO,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC;AACzC,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B;;GAEG;AACH,IAAI,UAAU,GAAgC,IAAI,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAgC;IAC7D,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"disposable-manager.d.ts","sourceRoot":"","sources":["../../src/infrastructure/disposable-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEjF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB,EAAE,MAAM,CAAC,UAAU;IAC7E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI;IASxC;;OAEG;IACH,MAAM,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI;IAMjD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAItC;;OAEG;IACH,OAAO,IAAI,IAAI;IAmBf;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;CACF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
@@ -1,76 +0,0 @@
1
- /**
2
- * DisposableManager - Centralized resource cleanup
3
- *
4
- * Single responsibility: Track and dispose VS Code disposables.
5
- */
6
- /**
7
- * Manages disposable resources for proper cleanup
8
- */
9
- export class DisposableManager {
10
- disposables = [];
11
- disposed = false;
12
- /**
13
- * Add a disposable to be managed
14
- */
15
- add(disposable) {
16
- if (this.disposed) {
17
- // If already disposed, dispose the new item immediately
18
- disposable.dispose();
19
- return;
20
- }
21
- this.disposables.push(disposable);
22
- }
23
- /**
24
- * Add multiple disposables
25
- */
26
- addAll(...disposables) {
27
- for (const d of disposables) {
28
- this.add(d);
29
- }
30
- }
31
- /**
32
- * Create a disposable from a cleanup function
33
- */
34
- addCallback(cleanup) {
35
- this.add({ dispose: cleanup });
36
- }
37
- /**
38
- * Dispose all managed resources
39
- */
40
- dispose() {
41
- if (this.disposed) {
42
- return;
43
- }
44
- this.disposed = true;
45
- // Dispose in reverse order (LIFO)
46
- while (this.disposables.length > 0) {
47
- const disposable = this.disposables.pop();
48
- try {
49
- disposable?.dispose();
50
- }
51
- catch (error) {
52
- // Log error but continue disposing other resources
53
- void error;
54
- }
55
- }
56
- }
57
- /**
58
- * Check if already disposed
59
- */
60
- isDisposed() {
61
- return this.disposed;
62
- }
63
- /**
64
- * Get count of managed disposables
65
- */
66
- get count() {
67
- return this.disposables.length;
68
- }
69
- }
70
- /**
71
- * Factory function for creating disposable managers
72
- */
73
- export function createDisposableManager() {
74
- return new DisposableManager();
75
- }
76
- //# sourceMappingURL=disposable-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disposable-manager.js","sourceRoot":"","sources":["../../src/infrastructure/disposable-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACX,WAAW,GAAwB,EAAE,CAAC;IAC/C,QAAQ,GAAG,KAAK,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,UAA6B;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,wDAAwD;YACxD,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,WAAgC;QACxC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAmB;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,kCAAkC;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,UAAU,EAAE,OAAO,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mDAAmD;gBACnD,KAAK,KAAK,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/infrastructure/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AASpD;;GAEG;AACH,qBAAa,MAAO,YAAW,OAAO;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAExB,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB;IAK5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,GAAG;CA+BZ;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAAgB,EAAE,QAAQ,GAAE,QAAiB,GAAG,MAAM,CAE/F"}
@@ -1,82 +0,0 @@
1
- /**
2
- * Logger - Centralized logging with output channel integration
3
- *
4
- * Single responsibility: Provide structured logging to VS Code output channel.
5
- */
6
- import * as vscode from 'vscode';
7
- const LOG_LEVEL_PRIORITY = {
8
- error: 0,
9
- warn: 1,
10
- info: 2,
11
- debug: 3,
12
- };
13
- /**
14
- * Logger implementation with VS Code output channel
15
- */
16
- export class Logger {
17
- channel;
18
- minLevel;
19
- constructor(channelName, minLevel = 'info') {
20
- this.channel = vscode.window.createOutputChannel(channelName);
21
- this.minLevel = minLevel;
22
- }
23
- error(message, ...args) {
24
- this.log('error', message, args);
25
- }
26
- warn(message, ...args) {
27
- this.log('warn', message, args);
28
- }
29
- info(message, ...args) {
30
- this.log('info', message, args);
31
- }
32
- debug(message, ...args) {
33
- this.log('debug', message, args);
34
- }
35
- /**
36
- * Show the output channel
37
- */
38
- show() {
39
- this.channel.show();
40
- }
41
- /**
42
- * Dispose the output channel
43
- */
44
- dispose() {
45
- this.channel.dispose();
46
- }
47
- log(level, message, args) {
48
- if (LOG_LEVEL_PRIORITY[level] > LOG_LEVEL_PRIORITY[this.minLevel]) {
49
- return;
50
- }
51
- const timestamp = new Date().toISOString();
52
- const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
53
- let formattedMessage = `${prefix} ${message}`;
54
- if (args.length > 0) {
55
- const argsStr = args
56
- .map(arg => {
57
- if (arg instanceof Error) {
58
- return `${arg.message}\n${arg.stack ?? ''}`;
59
- }
60
- if (typeof arg === 'object' && arg !== null) {
61
- try {
62
- return JSON.stringify(arg, null, 2);
63
- }
64
- catch {
65
- return '[Object]';
66
- }
67
- }
68
- return String(arg);
69
- })
70
- .join(' ');
71
- formattedMessage += ` ${argsStr}`;
72
- }
73
- this.channel.appendLine(formattedMessage);
74
- }
75
- }
76
- /**
77
- * Factory function for creating loggers
78
- */
79
- export function createLogger(channelName = 'Drift', minLevel = 'info') {
80
- return new Logger(channelName, minLevel);
81
- }
82
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/infrastructure/logger.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * ServiceContainer - Dependency injection container
3
- *
4
- * Single responsibility: Manage service instances and dependencies.
5
- */
6
- import type { ServiceContainer as IServiceContainer } from '../types/index.js';
7
- /**
8
- * Service registration options
9
- */
10
- interface ServiceOptions {
11
- singleton?: boolean;
12
- }
13
- /**
14
- * Service factory function type
15
- */
16
- type ServiceFactory<T> = (container: ServiceContainer) => T;
17
- /**
18
- * Simple dependency injection container
19
- */
20
- export declare class ServiceContainer implements IServiceContainer {
21
- private readonly instances;
22
- private readonly factories;
23
- private readonly options;
24
- /**
25
- * Register a service instance directly
26
- */
27
- register(key: string, instance: unknown): void;
28
- /**
29
- * Register a service factory for lazy instantiation
30
- */
31
- registerFactory(key: string, factory: ServiceFactory<unknown>, options?: ServiceOptions): void;
32
- /**
33
- * Get a service instance
34
- */
35
- get<T>(key: string): T;
36
- /**
37
- * Check if a service is registered
38
- */
39
- has(key: string): boolean;
40
- /**
41
- * Try to get a service, returning undefined if not found
42
- */
43
- tryGet<T>(key: string): T | undefined;
44
- /**
45
- * Clear all registered services
46
- */
47
- clear(): void;
48
- }
49
- /**
50
- * Service keys for type-safe access
51
- */
52
- export declare const ServiceKeys: {
53
- readonly Logger: "logger";
54
- readonly StateManager: "stateManager";
55
- readonly ConfigManager: "configManager";
56
- readonly ConnectionManager: "connectionManager";
57
- readonly LanguageClient: "languageClient";
58
- readonly CommandRouter: "commandRouter";
59
- readonly TelemetryService: "telemetryService";
60
- readonly StatusBar: "statusBar";
61
- readonly DecorationController: "decorationController";
62
- };
63
- /**
64
- * Factory function for creating service containers
65
- */
66
- export declare function createServiceContainer(): ServiceContainer;
67
- export {};
68
- //# sourceMappingURL=service-container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-container.d.ts","sourceRoot":"","sources":["../../src/infrastructure/service-container.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,KAAK,CAAC,CAAC;AAE5D;;GAEG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAE7D;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,OAAO,GAAE,cAAoC,GAC5C,IAAI;IAKP;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAwBtB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAOrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
@@ -1,92 +0,0 @@
1
- /**
2
- * ServiceContainer - Dependency injection container
3
- *
4
- * Single responsibility: Manage service instances and dependencies.
5
- */
6
- /**
7
- * Simple dependency injection container
8
- */
9
- export class ServiceContainer {
10
- instances = new Map();
11
- factories = new Map();
12
- options = new Map();
13
- /**
14
- * Register a service instance directly
15
- */
16
- register(key, instance) {
17
- this.instances.set(key, instance);
18
- }
19
- /**
20
- * Register a service factory for lazy instantiation
21
- */
22
- registerFactory(key, factory, options = { singleton: true }) {
23
- this.factories.set(key, factory);
24
- this.options.set(key, options);
25
- }
26
- /**
27
- * Get a service instance
28
- */
29
- get(key) {
30
- // Check for existing instance
31
- if (this.instances.has(key)) {
32
- return this.instances.get(key);
33
- }
34
- // Check for factory
35
- const factory = this.factories.get(key);
36
- if (!factory) {
37
- throw new Error(`Service not registered: ${key}`);
38
- }
39
- // Create instance
40
- const instance = factory(this);
41
- // Cache if singleton
42
- const opts = this.options.get(key);
43
- if (opts?.singleton !== false) {
44
- this.instances.set(key, instance);
45
- }
46
- return instance;
47
- }
48
- /**
49
- * Check if a service is registered
50
- */
51
- has(key) {
52
- return this.instances.has(key) || this.factories.has(key);
53
- }
54
- /**
55
- * Try to get a service, returning undefined if not found
56
- */
57
- tryGet(key) {
58
- if (this.has(key)) {
59
- return this.get(key);
60
- }
61
- return undefined;
62
- }
63
- /**
64
- * Clear all registered services
65
- */
66
- clear() {
67
- this.instances.clear();
68
- this.factories.clear();
69
- this.options.clear();
70
- }
71
- }
72
- /**
73
- * Service keys for type-safe access
74
- */
75
- export const ServiceKeys = {
76
- Logger: 'logger',
77
- StateManager: 'stateManager',
78
- ConfigManager: 'configManager',
79
- ConnectionManager: 'connectionManager',
80
- LanguageClient: 'languageClient',
81
- CommandRouter: 'commandRouter',
82
- TelemetryService: 'telemetryService',
83
- StatusBar: 'statusBar',
84
- DecorationController: 'decorationController',
85
- };
86
- /**
87
- * Factory function for creating service containers
88
- */
89
- export function createServiceContainer() {
90
- return new ServiceContainer();
91
- }
92
- //# sourceMappingURL=service-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-container.js","sourceRoot":"","sources":["../../src/infrastructure/service-container.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACV,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IACvD,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE7D;;OAEG;IACH,QAAQ,CAAC,GAAW,EAAE,QAAiB;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,eAAe,CACb,GAAW,EACX,OAAgC,EAChC,UAA0B,EAAE,SAAS,EAAE,IAAI,EAAE;QAE7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,GAAW;QAChB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;QACtC,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAM,CAAC;QAEpC,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAI,GAAW;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,WAAW;IACtB,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAChC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,cAAc,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../src/state/initial-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAgDnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/state/selectors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMvD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,MAAM,CACrB,CAAC;AAErC,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,CACD,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CACxB,CAAC;AAExC,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAClB,CAAC;AAM5C,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,CACf,CAAC;AAEzC,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CACnB,CAAC;AAEzC,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,CACf,CAAC;AAEtC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CACnB,CAAC;AAM1C,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CACpB,CAAC;AAElC,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACrC,CAAC;AAEvC,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACrC,CAAC;AAErC,eAAO,MAAM,yBAAyB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAC5B,CAAC;AAMxC,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,CACpB,CAAC;AAEpC,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACrC,CAAC;AAEzC,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,MAAM,CAChB,CAAC;AAE9C,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAClB,CAAC;AAMzC,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,OAAO,CACpB,CAAC;AAEvC,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,OAAO,CACpB,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAC1B,CAAC;AAMlC,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,OAAO,CACX,CAAC;AAExC,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,OAAO,CACX,CAAC;AAE/C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,EAAE,CACZ,CAAC;AAE9C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,EAAE,CACZ,CAAC;AAM9C,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAIC,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAKC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/state/state-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAO3B;;GAEG;AACH,qBAAa,YAAa,YAAW,MAAM,CAAC,UAAU;IACpD,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,OAAO,EAAE,MAAM,CAAC,gBAAgB;IAK5C;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;IAIpC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAWnC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAUrC;;OAEG;IACH,SAAS,CAAC,CAAC,EACT,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,MAAM,CAAC,UAAU;IAoBpB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,CAAC,UAAU;IAS1E;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;CAkBrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAEjF"}
@@ -1,166 +0,0 @@
1
- /**
2
- * StateManager - Centralized reactive state management
3
- *
4
- * Single responsibility: Manage extension state with subscriptions.
5
- */
6
- import { createInitialState } from './initial-state.js';
7
- /**
8
- * Persistence key for state
9
- */
10
- const PERSISTENCE_KEY = 'drift.state';
11
- /**
12
- * State manager with selector-based subscriptions
13
- */
14
- export class StateManager {
15
- state;
16
- listeners = new Set();
17
- context;
18
- constructor(context) {
19
- this.context = context;
20
- this.state = this.loadState();
21
- }
22
- /**
23
- * Get current state (readonly)
24
- */
25
- getState() {
26
- return this.state;
27
- }
28
- /**
29
- * Update state with an updater function
30
- */
31
- update(updater) {
32
- // Create a shallow copy for the updater
33
- const draft = this.createDraft();
34
- updater(draft);
35
- // Apply changes
36
- this.state = draft;
37
- this.notifyListeners();
38
- this.persistState();
39
- }
40
- /**
41
- * Batch multiple updates
42
- */
43
- batch(updaters) {
44
- const draft = this.createDraft();
45
- for (const updater of updaters) {
46
- updater(draft);
47
- }
48
- this.state = draft;
49
- this.notifyListeners();
50
- this.persistState();
51
- }
52
- /**
53
- * Subscribe to state changes with a selector
54
- */
55
- subscribe(selector, callback) {
56
- let previousValue = selector(this.state);
57
- const listener = (state) => {
58
- const newValue = selector(state);
59
- if (!this.shallowEqual(previousValue, newValue)) {
60
- previousValue = newValue;
61
- callback(newValue);
62
- }
63
- };
64
- this.listeners.add(listener);
65
- return {
66
- dispose: () => {
67
- this.listeners.delete(listener);
68
- },
69
- };
70
- }
71
- /**
72
- * Subscribe to all state changes
73
- */
74
- subscribeAll(callback) {
75
- this.listeners.add(callback);
76
- return {
77
- dispose: () => {
78
- this.listeners.delete(callback);
79
- },
80
- };
81
- }
82
- /**
83
- * Reset state to initial values
84
- */
85
- reset() {
86
- this.state = createInitialState();
87
- this.notifyListeners();
88
- this.persistState();
89
- }
90
- /**
91
- * Dispose the state manager
92
- */
93
- dispose() {
94
- this.listeners.clear();
95
- }
96
- createDraft() {
97
- // Deep clone for immutability
98
- return JSON.parse(JSON.stringify(this.state));
99
- }
100
- notifyListeners() {
101
- for (const listener of this.listeners) {
102
- try {
103
- listener(this.state);
104
- }
105
- catch {
106
- // Listener error, continue with others
107
- }
108
- }
109
- }
110
- loadState() {
111
- const initial = createInitialState();
112
- try {
113
- const persisted = this.context.globalState.get(PERSISTENCE_KEY);
114
- if (persisted?.preferences !== undefined) {
115
- // Only restore preferences, not transient state
116
- return {
117
- ...initial,
118
- preferences: {
119
- ...initial.preferences,
120
- ...persisted.preferences,
121
- },
122
- };
123
- }
124
- }
125
- catch {
126
- // Failed to load persisted state, use initial
127
- }
128
- return initial;
129
- }
130
- persistState() {
131
- // Only persist user preferences
132
- const toPersist = {
133
- preferences: this.state.preferences,
134
- };
135
- void this.context.globalState.update(PERSISTENCE_KEY, toPersist);
136
- }
137
- shallowEqual(a, b) {
138
- if (a === b) {
139
- return true;
140
- }
141
- if (typeof a !== typeof b) {
142
- return false;
143
- }
144
- if (typeof a !== 'object' || a === null || b === null) {
145
- return false;
146
- }
147
- const keysA = Object.keys(a);
148
- const keysB = Object.keys(b);
149
- if (keysA.length !== keysB.length) {
150
- return false;
151
- }
152
- for (const key of keysA) {
153
- if (a[key] !== b[key]) {
154
- return false;
155
- }
156
- }
157
- return true;
158
- }
159
- }
160
- /**
161
- * Factory function for creating state manager
162
- */
163
- export function createStateManager(context) {
164
- return new StateManager(context);
165
- }
166
- //# sourceMappingURL=state-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../src/state/state-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../src/types/config-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,QAAQ,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,WAAW,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Extension-level type definitions
3
- */
4
- import type * as vscode from 'vscode';
5
- /**
6
- * Extension activation phases for progressive loading
7
- */
8
- export type ActivationPhase = 'immediate' | 'deferred' | 'lazy';
9
- /**
10
- * Connection states for LSP client
11
- */
12
- export type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error' | 'failed';
13
- /**
14
- * Severity levels matching LSP
15
- */
16
- export type Severity = 'error' | 'warning' | 'info' | 'hint';
17
- /**
18
- * Pattern status
19
- */
20
- export type PatternStatus = 'discovered' | 'approved' | 'ignored';
21
- /**
22
- * Logger interface for dependency injection
23
- */
24
- export interface Logger {
25
- error(message: string, ...args: unknown[]): void;
26
- warn(message: string, ...args: unknown[]): void;
27
- info(message: string, ...args: unknown[]): void;
28
- debug(message: string, ...args: unknown[]): void;
29
- }
30
- /**
31
- * Disposable resource manager
32
- */
33
- export interface DisposableManager {
34
- add(disposable: vscode.Disposable): void;
35
- dispose(): void;
36
- }
37
- /**
38
- * Service locator for dependency injection
39
- */
40
- export interface ServiceContainer {
41
- get<T>(key: string): T;
42
- register(key: string, instance: unknown): void;
43
- has(key: string): boolean;
44
- }
45
- //# sourceMappingURL=extension-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-types.d.ts","sourceRoot":"","sources":["../../src/types/extension-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,OAAO,GACP,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Extension-level type definitions
3
- */
4
- export {};
5
- //# sourceMappingURL=extension-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-types.js","sourceRoot":"","sources":["../../src/types/extension-types.ts"],"names":[],"mappings":"AAAA;;GAEG"}