cmp-standards 2.8.0 → 2.9.1

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 (124) hide show
  1. package/dist/analytics/CrossProjectAnalytics.d.ts +128 -0
  2. package/dist/analytics/CrossProjectAnalytics.d.ts.map +1 -0
  3. package/dist/analytics/CrossProjectAnalytics.js +431 -0
  4. package/dist/analytics/CrossProjectAnalytics.js.map +1 -0
  5. package/dist/analytics/index.d.ts +1 -0
  6. package/dist/analytics/index.d.ts.map +1 -1
  7. package/dist/analytics/index.js +2 -0
  8. package/dist/analytics/index.js.map +1 -1
  9. package/dist/cache/EmbeddingCache.d.ts +6 -4
  10. package/dist/cache/EmbeddingCache.d.ts.map +1 -1
  11. package/dist/cache/EmbeddingCache.js +28 -17
  12. package/dist/cache/EmbeddingCache.js.map +1 -1
  13. package/dist/cli/index.js +247 -141
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/ui.d.ts +134 -0
  16. package/dist/cli/ui.d.ts.map +1 -0
  17. package/dist/cli/ui.js +311 -0
  18. package/dist/cli/ui.js.map +1 -0
  19. package/dist/dashboard/tokens.d.ts +228 -0
  20. package/dist/dashboard/tokens.d.ts.map +1 -0
  21. package/dist/dashboard/tokens.js +450 -0
  22. package/dist/dashboard/tokens.js.map +1 -0
  23. package/dist/dashboard/ui.d.ts +3 -0
  24. package/dist/dashboard/ui.d.ts.map +1 -1
  25. package/dist/dashboard/ui.js +95 -61
  26. package/dist/dashboard/ui.js.map +1 -1
  27. package/dist/db/cloud.d.ts +11 -0
  28. package/dist/db/cloud.d.ts.map +1 -1
  29. package/dist/db/cloud.js +49 -1
  30. package/dist/db/cloud.js.map +1 -1
  31. package/dist/db/migrations.d.ts +1 -0
  32. package/dist/db/migrations.d.ts.map +1 -1
  33. package/dist/db/migrations.js +109 -0
  34. package/dist/db/migrations.js.map +1 -1
  35. package/dist/experts/ExpertVotePersistence.d.ts +86 -0
  36. package/dist/experts/ExpertVotePersistence.d.ts.map +1 -0
  37. package/dist/experts/ExpertVotePersistence.js +234 -0
  38. package/dist/experts/ExpertVotePersistence.js.map +1 -0
  39. package/dist/experts/index.d.ts +1 -0
  40. package/dist/experts/index.d.ts.map +1 -1
  41. package/dist/experts/index.js +2 -0
  42. package/dist/experts/index.js.map +1 -1
  43. package/dist/hooks/cloud-post-tool-use.d.ts +5 -0
  44. package/dist/hooks/cloud-post-tool-use.d.ts.map +1 -1
  45. package/dist/hooks/cloud-post-tool-use.js +43 -10
  46. package/dist/hooks/cloud-post-tool-use.js.map +1 -1
  47. package/dist/hooks/cloud-session-start.d.ts.map +1 -1
  48. package/dist/hooks/cloud-session-start.js +64 -0
  49. package/dist/hooks/cloud-session-start.js.map +1 -1
  50. package/dist/hooks/index.d.ts +2 -0
  51. package/dist/hooks/index.d.ts.map +1 -1
  52. package/dist/hooks/index.js +4 -0
  53. package/dist/hooks/index.js.map +1 -1
  54. package/dist/hooks/session-end.d.ts +67 -0
  55. package/dist/hooks/session-end.d.ts.map +1 -0
  56. package/dist/hooks/session-end.js +268 -0
  57. package/dist/hooks/session-end.js.map +1 -0
  58. package/dist/hooks/startup-verify.d.ts +31 -0
  59. package/dist/hooks/startup-verify.d.ts.map +1 -0
  60. package/dist/hooks/startup-verify.js +360 -0
  61. package/dist/hooks/startup-verify.js.map +1 -0
  62. package/dist/mcp/schemas.d.ts +2 -2
  63. package/dist/performance/Debouncer.d.ts +57 -0
  64. package/dist/performance/Debouncer.d.ts.map +1 -1
  65. package/dist/performance/Debouncer.js +149 -0
  66. package/dist/performance/Debouncer.js.map +1 -1
  67. package/dist/performance/index.d.ts +1 -1
  68. package/dist/performance/index.d.ts.map +1 -1
  69. package/dist/performance/index.js +3 -1
  70. package/dist/performance/index.js.map +1 -1
  71. package/dist/plugins/PluginManager.d.ts +160 -0
  72. package/dist/plugins/PluginManager.d.ts.map +1 -0
  73. package/dist/plugins/PluginManager.js +417 -0
  74. package/dist/plugins/PluginManager.js.map +1 -0
  75. package/dist/plugins/index.d.ts +7 -0
  76. package/dist/plugins/index.d.ts.map +1 -0
  77. package/dist/plugins/index.js +7 -0
  78. package/dist/plugins/index.js.map +1 -0
  79. package/dist/schema/expert-types.d.ts +2 -2
  80. package/dist/services/AuditLog.d.ts +205 -0
  81. package/dist/services/AuditLog.d.ts.map +1 -0
  82. package/dist/services/AuditLog.js +352 -0
  83. package/dist/services/AuditLog.js.map +1 -0
  84. package/dist/services/FeedbackCollector.d.ts +71 -0
  85. package/dist/services/FeedbackCollector.d.ts.map +1 -0
  86. package/dist/services/FeedbackCollector.js +236 -0
  87. package/dist/services/FeedbackCollector.js.map +1 -0
  88. package/dist/services/GitIntegration.d.ts +140 -0
  89. package/dist/services/GitIntegration.d.ts.map +1 -0
  90. package/dist/services/GitIntegration.js +423 -0
  91. package/dist/services/GitIntegration.js.map +1 -0
  92. package/dist/services/HookVerifier.d.ts +95 -0
  93. package/dist/services/HookVerifier.d.ts.map +1 -0
  94. package/dist/services/HookVerifier.js +493 -0
  95. package/dist/services/HookVerifier.js.map +1 -0
  96. package/dist/services/MemoryVersioning.d.ts +108 -0
  97. package/dist/services/MemoryVersioning.d.ts.map +1 -0
  98. package/dist/services/MemoryVersioning.js +281 -0
  99. package/dist/services/MemoryVersioning.js.map +1 -0
  100. package/dist/services/context-injector.d.ts +8 -0
  101. package/dist/services/context-injector.d.ts.map +1 -1
  102. package/dist/services/context-injector.js +19 -2
  103. package/dist/services/context-injector.js.map +1 -1
  104. package/dist/services/index.d.ts +6 -1
  105. package/dist/services/index.d.ts.map +1 -1
  106. package/dist/services/index.js +8 -1
  107. package/dist/services/index.js.map +1 -1
  108. package/dist/services/memory-router.d.ts +8 -0
  109. package/dist/services/memory-router.d.ts.map +1 -1
  110. package/dist/services/memory-router.js +19 -2
  111. package/dist/services/memory-router.js.map +1 -1
  112. package/dist/services/pattern-tracker.d.ts +63 -0
  113. package/dist/services/pattern-tracker.d.ts.map +1 -1
  114. package/dist/services/pattern-tracker.js +180 -2
  115. package/dist/services/pattern-tracker.js.map +1 -1
  116. package/dist/services/semantic-search.d.ts +4 -0
  117. package/dist/services/semantic-search.d.ts.map +1 -1
  118. package/dist/services/semantic-search.js +53 -13
  119. package/dist/services/semantic-search.js.map +1 -1
  120. package/dist/types/index.d.ts +1 -0
  121. package/dist/types/index.d.ts.map +1 -1
  122. package/dist/types/index.js +1 -0
  123. package/dist/types/index.js.map +1 -1
  124. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Debouncer.js","sourceRoot":"","sources":["../../src/performance/Debouncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Debouncer.js","sourceRoot":"","sources":["../../src/performance/Debouncer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@
2
2
  * @file Performance Module - cmp-standards v2.8
3
3
  * @description Performance optimization utilities
4
4
  */
5
- export { Debouncer, DebouncerConfig, DebouncerStats, EmbeddingDebouncer, HookDebouncer, getDebouncer, getEmbeddingDebouncer, getHookDebouncer, resetDebouncers, } from './Debouncer.js';
5
+ export { Debouncer, DebouncerConfig, DebouncerStats, EmbeddingDebouncer, HookDebouncer, SmartDebouncer, getDebouncer, getEmbeddingDebouncer, getHookDebouncer, getSmartDebouncer, resetDebouncers, TOOL_DEBOUNCE_CONFIG, getToolDebounceMs, isWriteOperation, } from './Debouncer.js';
6
6
  export { MemoryDecay, MemoryForScoring, ScoredMemory, DecayConfig, getMemoryDecay, resetMemoryDecay, } from './MemoryDecay.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAA"}
@@ -3,7 +3,9 @@
3
3
  * @description Performance optimization utilities
4
4
  */
5
5
  // Debouncing
6
- export { Debouncer, EmbeddingDebouncer, HookDebouncer, getDebouncer, getEmbeddingDebouncer, getHookDebouncer, resetDebouncers, } from './Debouncer.js';
6
+ export { Debouncer, EmbeddingDebouncer, HookDebouncer, SmartDebouncer, getDebouncer, getEmbeddingDebouncer, getHookDebouncer, getSmartDebouncer, resetDebouncers,
7
+ // Smart debouncing utilities
8
+ TOOL_DEBOUNCE_CONFIG, getToolDebounceMs, isWriteOperation, } from './Debouncer.js';
7
9
  // Memory Decay
8
10
  export { MemoryDecay, getMemoryDecay, resetMemoryDecay, } from './MemoryDecay.js';
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EACL,SAAS,EAGT,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AAEvB,eAAe;AACf,OAAO,EACL,WAAW,EAIX,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EACL,SAAS,EAGT,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe;AACf,6BAA6B;AAC7B,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AAEvB,eAAe;AACf,OAAO,EACL,WAAW,EAIX,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Plugin Manager
3
+ *
4
+ * Extensible plugin system for CMP Standards:
5
+ * - Register custom plugins
6
+ * - Lifecycle hooks (init, dispose)
7
+ * - Plugin dependencies
8
+ * - Configuration per plugin
9
+ * - Event-based communication
10
+ *
11
+ * @version 2.9.0
12
+ */
13
+ import type { DevSystem } from '../types/index.js';
14
+ type PluginEventType = 'plugin:registered' | 'plugin:unregistered' | 'plugin:loaded' | 'plugin:unloaded' | 'plugin:error';
15
+ interface PluginEventData {
16
+ name: string;
17
+ version?: string;
18
+ error?: string;
19
+ }
20
+ type PluginEventHandler = (data: PluginEventData) => void;
21
+ declare class PluginEventEmitter {
22
+ private handlers;
23
+ on(event: PluginEventType, handler: PluginEventHandler): void;
24
+ off(event: PluginEventType, handler: PluginEventHandler): void;
25
+ emit(event: PluginEventType, data: PluginEventData): void;
26
+ }
27
+ export interface PluginContext {
28
+ system: DevSystem;
29
+ events: PluginEventEmitter;
30
+ config: Record<string, unknown>;
31
+ getPlugin: <T extends Plugin>(name: string) => T | undefined;
32
+ log: (message: string, level?: 'info' | 'warn' | 'error') => void;
33
+ }
34
+ export interface PluginMetadata {
35
+ name: string;
36
+ version: string;
37
+ description?: string;
38
+ author?: string;
39
+ dependencies?: string[];
40
+ optionalDependencies?: string[];
41
+ }
42
+ export interface Plugin {
43
+ metadata: PluginMetadata;
44
+ init(context: PluginContext): Promise<void> | void;
45
+ dispose?(): Promise<void> | void;
46
+ }
47
+ export type PluginFactory = (config?: Record<string, unknown>) => Plugin;
48
+ export interface PluginConfig {
49
+ enabled: boolean;
50
+ config?: Record<string, unknown>;
51
+ }
52
+ export interface PluginStatus {
53
+ name: string;
54
+ version: string;
55
+ enabled: boolean;
56
+ loaded: boolean;
57
+ error?: string;
58
+ dependencies: string[];
59
+ loadedAt?: string;
60
+ }
61
+ export declare class PluginManager {
62
+ private plugins;
63
+ private loadedPlugins;
64
+ private pluginConfigs;
65
+ private pluginErrors;
66
+ private system;
67
+ private events;
68
+ constructor(options: {
69
+ system: DevSystem;
70
+ });
71
+ /**
72
+ * Subscribe to plugin events
73
+ */
74
+ on(event: PluginEventType, handler: PluginEventHandler): void;
75
+ /**
76
+ * Unsubscribe from plugin events
77
+ */
78
+ off(event: PluginEventType, handler: PluginEventHandler): void;
79
+ /**
80
+ * Register a plugin
81
+ */
82
+ register(plugin: Plugin, config?: PluginConfig): void;
83
+ /**
84
+ * Register a plugin from a factory function
85
+ */
86
+ registerFactory(factory: PluginFactory, config?: Record<string, unknown>): void;
87
+ /**
88
+ * Unregister a plugin
89
+ */
90
+ unregister(name: string): Promise<boolean>;
91
+ /**
92
+ * Load and initialize a plugin
93
+ */
94
+ load(name: string): Promise<boolean>;
95
+ /**
96
+ * Unload a plugin
97
+ */
98
+ unload(name: string): Promise<boolean>;
99
+ /**
100
+ * Load all enabled plugins
101
+ */
102
+ loadAll(): Promise<{
103
+ loaded: string[];
104
+ failed: string[];
105
+ }>;
106
+ /**
107
+ * Unload all plugins
108
+ */
109
+ unloadAll(): Promise<void>;
110
+ /**
111
+ * Get a loaded plugin by name
112
+ */
113
+ getPlugin<T extends Plugin>(name: string): T | undefined;
114
+ /**
115
+ * Check if a plugin is registered
116
+ */
117
+ isRegistered(name: string): boolean;
118
+ /**
119
+ * Check if a plugin is loaded
120
+ */
121
+ isLoaded(name: string): boolean;
122
+ /**
123
+ * Get plugin status
124
+ */
125
+ getStatus(name: string): PluginStatus | null;
126
+ /**
127
+ * Get all plugin statuses
128
+ */
129
+ getAllStatuses(): PluginStatus[];
130
+ /**
131
+ * Enable a plugin
132
+ */
133
+ enable(name: string): boolean;
134
+ /**
135
+ * Disable a plugin
136
+ */
137
+ disable(name: string): Promise<boolean>;
138
+ /**
139
+ * Update plugin config
140
+ */
141
+ updateConfig(name: string, newConfig: Record<string, unknown>): boolean;
142
+ private createContext;
143
+ private checkDependencies;
144
+ private getDependents;
145
+ private topologicalSort;
146
+ }
147
+ export declare function getPluginManager(system?: DevSystem): PluginManager;
148
+ export declare function resetPluginManager(): void;
149
+ /**
150
+ * Create a simple plugin with minimal boilerplate
151
+ */
152
+ export declare function createPlugin(metadata: PluginMetadata, init: (context: PluginContext) => Promise<void> | void, dispose?: () => Promise<void> | void): Plugin;
153
+ /**
154
+ * Create a plugin factory for configurable plugins
155
+ */
156
+ export declare function createPluginFactory<TConfig extends Record<string, unknown>>(metadata: Omit<PluginMetadata, 'name'> & {
157
+ name: string;
158
+ }, factory: (config: TConfig, context: PluginContext) => Promise<void> | void, dispose?: () => Promise<void> | void): PluginFactory;
159
+ export {};
160
+ //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,417 @@
1
+ /**
2
+ * Plugin Manager
3
+ *
4
+ * Extensible plugin system for CMP Standards:
5
+ * - Register custom plugins
6
+ * - Lifecycle hooks (init, dispose)
7
+ * - Plugin dependencies
8
+ * - Configuration per plugin
9
+ * - Event-based communication
10
+ *
11
+ * @version 2.9.0
12
+ */
13
+ class PluginEventEmitter {
14
+ handlers = new Map();
15
+ on(event, handler) {
16
+ if (!this.handlers.has(event)) {
17
+ this.handlers.set(event, new Set());
18
+ }
19
+ this.handlers.get(event).add(handler);
20
+ }
21
+ off(event, handler) {
22
+ this.handlers.get(event)?.delete(handler);
23
+ }
24
+ emit(event, data) {
25
+ const handlers = this.handlers.get(event);
26
+ if (handlers) {
27
+ for (const handler of handlers) {
28
+ try {
29
+ handler(data);
30
+ }
31
+ catch (e) {
32
+ console.error(`[PluginEventEmitter] Handler error for ${event}:`, e);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ // =============================================================================
39
+ // Plugin Manager
40
+ // =============================================================================
41
+ export class PluginManager {
42
+ plugins = new Map();
43
+ loadedPlugins = new Set();
44
+ pluginConfigs = new Map();
45
+ pluginErrors = new Map();
46
+ system;
47
+ events = new PluginEventEmitter();
48
+ constructor(options) {
49
+ this.system = options.system;
50
+ }
51
+ /**
52
+ * Subscribe to plugin events
53
+ */
54
+ on(event, handler) {
55
+ this.events.on(event, handler);
56
+ }
57
+ /**
58
+ * Unsubscribe from plugin events
59
+ */
60
+ off(event, handler) {
61
+ this.events.off(event, handler);
62
+ }
63
+ /**
64
+ * Register a plugin
65
+ */
66
+ register(plugin, config) {
67
+ const { name } = plugin.metadata;
68
+ if (this.plugins.has(name)) {
69
+ throw new Error(`Plugin "${name}" is already registered`);
70
+ }
71
+ this.plugins.set(name, plugin);
72
+ this.pluginConfigs.set(name, config ?? { enabled: true });
73
+ this.events.emit('plugin:registered', {
74
+ name,
75
+ version: plugin.metadata.version,
76
+ });
77
+ }
78
+ /**
79
+ * Register a plugin from a factory function
80
+ */
81
+ registerFactory(factory, config) {
82
+ const plugin = factory(config);
83
+ this.register(plugin, { enabled: true, config });
84
+ }
85
+ /**
86
+ * Unregister a plugin
87
+ */
88
+ async unregister(name) {
89
+ const plugin = this.plugins.get(name);
90
+ if (!plugin)
91
+ return false;
92
+ // Dispose if loaded
93
+ if (this.loadedPlugins.has(name)) {
94
+ await this.unload(name);
95
+ }
96
+ this.plugins.delete(name);
97
+ this.pluginConfigs.delete(name);
98
+ this.pluginErrors.delete(name);
99
+ this.events.emit('plugin:unregistered', { name });
100
+ return true;
101
+ }
102
+ /**
103
+ * Load and initialize a plugin
104
+ */
105
+ async load(name) {
106
+ const plugin = this.plugins.get(name);
107
+ const config = this.pluginConfigs.get(name);
108
+ if (!plugin) {
109
+ this.pluginErrors.set(name, 'Plugin not registered');
110
+ return false;
111
+ }
112
+ if (!config?.enabled) {
113
+ this.pluginErrors.set(name, 'Plugin is disabled');
114
+ return false;
115
+ }
116
+ if (this.loadedPlugins.has(name)) {
117
+ return true; // Already loaded
118
+ }
119
+ // Check dependencies
120
+ const depCheck = await this.checkDependencies(plugin);
121
+ if (!depCheck.satisfied) {
122
+ this.pluginErrors.set(name, `Missing dependencies: ${depCheck.missing.join(', ')}`);
123
+ return false;
124
+ }
125
+ // Load dependencies first
126
+ for (const dep of plugin.metadata.dependencies ?? []) {
127
+ if (!this.loadedPlugins.has(dep)) {
128
+ const depLoaded = await this.load(dep);
129
+ if (!depLoaded) {
130
+ this.pluginErrors.set(name, `Failed to load dependency: ${dep}`);
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ // Initialize plugin
136
+ try {
137
+ const context = this.createContext(name, config.config);
138
+ await plugin.init(context);
139
+ this.loadedPlugins.add(name);
140
+ this.pluginErrors.delete(name);
141
+ this.events.emit('plugin:loaded', {
142
+ name,
143
+ version: plugin.metadata.version,
144
+ });
145
+ return true;
146
+ }
147
+ catch (error) {
148
+ const errorMessage = error instanceof Error ? error.message : String(error);
149
+ this.pluginErrors.set(name, errorMessage);
150
+ this.events.emit('plugin:error', {
151
+ name,
152
+ error: errorMessage,
153
+ });
154
+ return false;
155
+ }
156
+ }
157
+ /**
158
+ * Unload a plugin
159
+ */
160
+ async unload(name) {
161
+ const plugin = this.plugins.get(name);
162
+ if (!plugin || !this.loadedPlugins.has(name)) {
163
+ return false;
164
+ }
165
+ // Check if other plugins depend on this one
166
+ const dependents = this.getDependents(name);
167
+ if (dependents.length > 0) {
168
+ // Unload dependents first
169
+ for (const dep of dependents) {
170
+ await this.unload(dep);
171
+ }
172
+ }
173
+ try {
174
+ if (plugin.dispose) {
175
+ await plugin.dispose();
176
+ }
177
+ this.loadedPlugins.delete(name);
178
+ this.events.emit('plugin:unloaded', { name });
179
+ return true;
180
+ }
181
+ catch (error) {
182
+ const errorMessage = error instanceof Error ? error.message : String(error);
183
+ this.pluginErrors.set(name, errorMessage);
184
+ return false;
185
+ }
186
+ }
187
+ /**
188
+ * Load all enabled plugins
189
+ */
190
+ async loadAll() {
191
+ const loaded = [];
192
+ const failed = [];
193
+ // Sort by dependencies (topological sort)
194
+ const sorted = this.topologicalSort();
195
+ for (const name of sorted) {
196
+ const config = this.pluginConfigs.get(name);
197
+ if (config?.enabled) {
198
+ const success = await this.load(name);
199
+ if (success) {
200
+ loaded.push(name);
201
+ }
202
+ else {
203
+ failed.push(name);
204
+ }
205
+ }
206
+ }
207
+ return { loaded, failed };
208
+ }
209
+ /**
210
+ * Unload all plugins
211
+ */
212
+ async unloadAll() {
213
+ // Unload in reverse dependency order
214
+ const sorted = this.topologicalSort().reverse();
215
+ for (const name of sorted) {
216
+ if (this.loadedPlugins.has(name)) {
217
+ await this.unload(name);
218
+ }
219
+ }
220
+ }
221
+ /**
222
+ * Get a loaded plugin by name
223
+ */
224
+ getPlugin(name) {
225
+ if (!this.loadedPlugins.has(name))
226
+ return undefined;
227
+ return this.plugins.get(name);
228
+ }
229
+ /**
230
+ * Check if a plugin is registered
231
+ */
232
+ isRegistered(name) {
233
+ return this.plugins.has(name);
234
+ }
235
+ /**
236
+ * Check if a plugin is loaded
237
+ */
238
+ isLoaded(name) {
239
+ return this.loadedPlugins.has(name);
240
+ }
241
+ /**
242
+ * Get plugin status
243
+ */
244
+ getStatus(name) {
245
+ const plugin = this.plugins.get(name);
246
+ const config = this.pluginConfigs.get(name);
247
+ if (!plugin)
248
+ return null;
249
+ return {
250
+ name: plugin.metadata.name,
251
+ version: plugin.metadata.version,
252
+ enabled: config?.enabled ?? false,
253
+ loaded: this.loadedPlugins.has(name),
254
+ error: this.pluginErrors.get(name),
255
+ dependencies: plugin.metadata.dependencies ?? [],
256
+ };
257
+ }
258
+ /**
259
+ * Get all plugin statuses
260
+ */
261
+ getAllStatuses() {
262
+ const statuses = [];
263
+ for (const name of this.plugins.keys()) {
264
+ const status = this.getStatus(name);
265
+ if (status)
266
+ statuses.push(status);
267
+ }
268
+ return statuses;
269
+ }
270
+ /**
271
+ * Enable a plugin
272
+ */
273
+ enable(name) {
274
+ const config = this.pluginConfigs.get(name);
275
+ if (!config)
276
+ return false;
277
+ config.enabled = true;
278
+ return true;
279
+ }
280
+ /**
281
+ * Disable a plugin
282
+ */
283
+ async disable(name) {
284
+ const config = this.pluginConfigs.get(name);
285
+ if (!config)
286
+ return false;
287
+ if (this.loadedPlugins.has(name)) {
288
+ await this.unload(name);
289
+ }
290
+ config.enabled = false;
291
+ return true;
292
+ }
293
+ /**
294
+ * Update plugin config
295
+ */
296
+ updateConfig(name, newConfig) {
297
+ const config = this.pluginConfigs.get(name);
298
+ if (!config)
299
+ return false;
300
+ config.config = { ...config.config, ...newConfig };
301
+ return true;
302
+ }
303
+ // ==========================================================================
304
+ // Private Methods
305
+ // ==========================================================================
306
+ createContext(name, config) {
307
+ return {
308
+ system: this.system,
309
+ events: this.events,
310
+ config: config ?? {},
311
+ getPlugin: (pluginName) => this.getPlugin(pluginName),
312
+ log: (message, level = 'info') => {
313
+ const prefix = `[Plugin:${name}]`;
314
+ switch (level) {
315
+ case 'error':
316
+ console.error(prefix, message);
317
+ break;
318
+ case 'warn':
319
+ console.warn(prefix, message);
320
+ break;
321
+ default:
322
+ console.log(prefix, message);
323
+ }
324
+ },
325
+ };
326
+ }
327
+ async checkDependencies(plugin) {
328
+ const missing = [];
329
+ const deps = plugin.metadata.dependencies ?? [];
330
+ for (const dep of deps) {
331
+ if (!this.plugins.has(dep)) {
332
+ missing.push(dep);
333
+ }
334
+ }
335
+ return {
336
+ satisfied: missing.length === 0,
337
+ missing,
338
+ };
339
+ }
340
+ getDependents(name) {
341
+ const dependents = [];
342
+ for (const [pluginName, plugin] of this.plugins.entries()) {
343
+ if (plugin.metadata.dependencies?.includes(name)) {
344
+ dependents.push(pluginName);
345
+ }
346
+ }
347
+ return dependents;
348
+ }
349
+ topologicalSort() {
350
+ const sorted = [];
351
+ const visited = new Set();
352
+ const visiting = new Set();
353
+ const visit = (name) => {
354
+ if (visited.has(name))
355
+ return;
356
+ if (visiting.has(name)) {
357
+ throw new Error(`Circular dependency detected: ${name}`);
358
+ }
359
+ visiting.add(name);
360
+ const plugin = this.plugins.get(name);
361
+ if (plugin) {
362
+ for (const dep of plugin.metadata.dependencies ?? []) {
363
+ if (this.plugins.has(dep)) {
364
+ visit(dep);
365
+ }
366
+ }
367
+ }
368
+ visiting.delete(name);
369
+ visited.add(name);
370
+ sorted.push(name);
371
+ };
372
+ for (const name of this.plugins.keys()) {
373
+ visit(name);
374
+ }
375
+ return sorted;
376
+ }
377
+ }
378
+ // =============================================================================
379
+ // Singleton Instance
380
+ // =============================================================================
381
+ let instance = null;
382
+ export function getPluginManager(system = 'ECOSYSTEM') {
383
+ if (!instance) {
384
+ instance = new PluginManager({ system });
385
+ }
386
+ return instance;
387
+ }
388
+ export function resetPluginManager() {
389
+ if (instance) {
390
+ instance.unloadAll().catch(() => { });
391
+ instance = null;
392
+ }
393
+ }
394
+ // =============================================================================
395
+ // Plugin Creation Helpers
396
+ // =============================================================================
397
+ /**
398
+ * Create a simple plugin with minimal boilerplate
399
+ */
400
+ export function createPlugin(metadata, init, dispose) {
401
+ return {
402
+ metadata,
403
+ init,
404
+ dispose,
405
+ };
406
+ }
407
+ /**
408
+ * Create a plugin factory for configurable plugins
409
+ */
410
+ export function createPluginFactory(metadata, factory, dispose) {
411
+ return (config) => ({
412
+ metadata,
413
+ init: (context) => factory((config ?? {}), context),
414
+ dispose,
415
+ });
416
+ }
417
+ //# sourceMappingURL=PluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}