claude-flow 2.0.0-alpha.42 → 2.0.0-alpha.44

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 (149) hide show
  1. package/README.md +1 -1
  2. package/bin/claude-flow +1 -1
  3. package/dist/__tests__/features/mocks/MockFeatureManager.d.ts +26 -0
  4. package/dist/__tests__/features/mocks/MockFeatureManager.d.ts.map +1 -0
  5. package/dist/__tests__/features/mocks/MockFeatureManager.js +200 -0
  6. package/dist/__tests__/features/mocks/MockFeatureManager.js.map +1 -0
  7. package/dist/__tests__/features/setup.d.ts +24 -0
  8. package/dist/__tests__/features/setup.d.ts.map +1 -0
  9. package/dist/__tests__/features/setup.js +42 -0
  10. package/dist/__tests__/features/setup.js.map +1 -0
  11. package/dist/__tests__/features/utils/test-helpers.d.ts +96 -0
  12. package/dist/__tests__/features/utils/test-helpers.d.ts.map +1 -0
  13. package/dist/__tests__/features/utils/test-helpers.js +281 -0
  14. package/dist/__tests__/features/utils/test-helpers.js.map +1 -0
  15. package/dist/cli/commands/features.d.ts +3 -0
  16. package/dist/cli/commands/features.d.ts.map +1 -0
  17. package/dist/cli/commands/features.js +77 -0
  18. package/dist/cli/commands/features.js.map +1 -0
  19. package/dist/cli/simple-commands/features.d.ts +2 -0
  20. package/dist/cli/simple-commands/features.d.ts.map +1 -0
  21. package/dist/cli/simple-commands/features.js +92 -0
  22. package/dist/cli/simple-commands/features.js.map +1 -0
  23. package/dist/cli/simple-commands/hooks.d.ts +1 -0
  24. package/dist/cli/simple-commands/hooks.d.ts.map +1 -1
  25. package/dist/cli/simple-commands/hooks.js +506 -229
  26. package/dist/cli/simple-commands/hooks.js.map +1 -1
  27. package/dist/cli/simple-commands/init/index.js +3 -5
  28. package/dist/cli/simple-commands/init/index.js.map +1 -1
  29. package/dist/features/adapters/CliFeatureAdapter.d.ts +36 -0
  30. package/dist/features/adapters/CliFeatureAdapter.d.ts.map +1 -0
  31. package/dist/features/adapters/CliFeatureAdapter.js +311 -0
  32. package/dist/features/adapters/CliFeatureAdapter.js.map +1 -0
  33. package/dist/features/adapters/McpFeatureAdapter.d.ts +61 -0
  34. package/dist/features/adapters/McpFeatureAdapter.d.ts.map +1 -0
  35. package/dist/features/adapters/McpFeatureAdapter.js +487 -0
  36. package/dist/features/adapters/McpFeatureAdapter.js.map +1 -0
  37. package/dist/features/adapters/index.d.ts +7 -0
  38. package/dist/features/adapters/index.d.ts.map +1 -0
  39. package/dist/features/adapters/index.js +7 -0
  40. package/dist/features/adapters/index.js.map +1 -0
  41. package/dist/features/built-in/index.d.ts +53 -0
  42. package/dist/features/built-in/index.d.ts.map +1 -0
  43. package/dist/features/built-in/index.js +286 -0
  44. package/dist/features/built-in/index.js.map +1 -0
  45. package/dist/features/core/FeatureManager.d.ts +37 -0
  46. package/dist/features/core/FeatureManager.d.ts.map +1 -0
  47. package/dist/features/core/FeatureManager.js +291 -0
  48. package/dist/features/core/FeatureManager.js.map +1 -0
  49. package/dist/features/core/FeatureRegistry.d.ts +24 -0
  50. package/dist/features/core/FeatureRegistry.d.ts.map +1 -0
  51. package/dist/features/core/FeatureRegistry.js +75 -0
  52. package/dist/features/core/FeatureRegistry.js.map +1 -0
  53. package/dist/features/core/configuration-manager.d.ts +16 -0
  54. package/dist/features/core/configuration-manager.d.ts.map +1 -0
  55. package/dist/features/core/configuration-manager.js +94 -0
  56. package/dist/features/core/configuration-manager.js.map +1 -0
  57. package/dist/features/core/feature-manager.d.ts +23 -0
  58. package/dist/features/core/feature-manager.d.ts.map +1 -0
  59. package/dist/features/core/feature-manager.js +163 -0
  60. package/dist/features/core/feature-manager.js.map +1 -0
  61. package/dist/features/core/feature-registry.d.ts +16 -0
  62. package/dist/features/core/feature-registry.d.ts.map +1 -0
  63. package/dist/features/core/feature-registry.js +175 -0
  64. package/dist/features/core/feature-registry.js.map +1 -0
  65. package/dist/features/core/feature.d.ts +25 -0
  66. package/dist/features/core/feature.d.ts.map +1 -0
  67. package/dist/features/core/feature.js +113 -0
  68. package/dist/features/core/feature.js.map +1 -0
  69. package/dist/features/core/index.d.ts +10 -0
  70. package/dist/features/core/index.d.ts.map +1 -0
  71. package/dist/features/core/index.js +11 -0
  72. package/dist/features/core/index.js.map +1 -0
  73. package/dist/features/core/transparency-layer.d.ts +16 -0
  74. package/dist/features/core/transparency-layer.d.ts.map +1 -0
  75. package/dist/features/core/transparency-layer.js +61 -0
  76. package/dist/features/core/transparency-layer.js.map +1 -0
  77. package/dist/features/hooks/command-hooks.d.ts +40 -0
  78. package/dist/features/hooks/command-hooks.d.ts.map +1 -0
  79. package/dist/features/hooks/command-hooks.js +159 -0
  80. package/dist/features/hooks/command-hooks.js.map +1 -0
  81. package/dist/features/index.d.ts +6 -0
  82. package/dist/features/index.d.ts.map +1 -0
  83. package/dist/features/index.js +8 -0
  84. package/dist/features/index.js.map +1 -0
  85. package/dist/features/initializer.d.ts +17 -0
  86. package/dist/features/initializer.d.ts.map +1 -0
  87. package/dist/features/initializer.js +41 -0
  88. package/dist/features/initializer.js.map +1 -0
  89. package/dist/features/tests/manual-test.d.ts +6 -0
  90. package/dist/features/tests/manual-test.d.ts.map +1 -0
  91. package/dist/features/tests/manual-test.js +130 -0
  92. package/dist/features/tests/manual-test.js.map +1 -0
  93. package/dist/features/types/IFeature.d.ts +148 -0
  94. package/dist/features/types/IFeature.d.ts.map +1 -0
  95. package/dist/features/types/IFeature.js +43 -0
  96. package/dist/features/types/IFeature.js.map +1 -0
  97. package/dist/features/types/IFeatureAdapter.d.ts +298 -0
  98. package/dist/features/types/IFeatureAdapter.d.ts.map +1 -0
  99. package/dist/features/types/IFeatureAdapter.js +2 -0
  100. package/dist/features/types/IFeatureAdapter.js.map +1 -0
  101. package/dist/features/types/IFeatureConfiguration.d.ts +380 -0
  102. package/dist/features/types/IFeatureConfiguration.d.ts.map +1 -0
  103. package/dist/features/types/IFeatureConfiguration.js +2 -0
  104. package/dist/features/types/IFeatureConfiguration.js.map +1 -0
  105. package/dist/features/types/IFeatureManager.d.ts +216 -0
  106. package/dist/features/types/IFeatureManager.d.ts.map +1 -0
  107. package/dist/features/types/IFeatureManager.js +2 -0
  108. package/dist/features/types/IFeatureManager.js.map +1 -0
  109. package/dist/features/types/IFeatureMetrics.d.ts +543 -0
  110. package/dist/features/types/IFeatureMetrics.d.ts.map +1 -0
  111. package/dist/features/types/IFeatureMetrics.js +25 -0
  112. package/dist/features/types/IFeatureMetrics.js.map +1 -0
  113. package/dist/features/types/ITransparencyLayer.d.ts +552 -0
  114. package/dist/features/types/ITransparencyLayer.d.ts.map +1 -0
  115. package/dist/features/types/ITransparencyLayer.js +60 -0
  116. package/dist/features/types/ITransparencyLayer.js.map +1 -0
  117. package/dist/features/types/feature-types.d.ts +153 -0
  118. package/dist/features/types/feature-types.d.ts.map +1 -0
  119. package/dist/features/types/feature-types.js +40 -0
  120. package/dist/features/types/feature-types.js.map +1 -0
  121. package/dist/features/types/index.d.ts +13 -0
  122. package/dist/features/types/index.d.ts.map +1 -0
  123. package/dist/features/types/index.js +16 -0
  124. package/dist/features/types/index.js.map +1 -0
  125. package/dist/features/types/type-guards.d.ts +100 -0
  126. package/dist/features/types/type-guards.d.ts.map +1 -0
  127. package/dist/features/types/type-guards.js +212 -0
  128. package/dist/features/types/type-guards.js.map +1 -0
  129. package/dist/features/types/utility-types.d.ts +440 -0
  130. package/dist/features/types/utility-types.d.ts.map +1 -0
  131. package/dist/features/types/utility-types.js +2 -0
  132. package/dist/features/types/utility-types.js.map +1 -0
  133. package/dist/mcp/feature-tools.d.ts +24 -0
  134. package/dist/mcp/feature-tools.d.ts.map +1 -0
  135. package/dist/mcp/feature-tools.js +65 -0
  136. package/dist/mcp/feature-tools.js.map +1 -0
  137. package/dist/memory/shared-memory.js +656 -0
  138. package/dist/memory/shared-memory.js.map +1 -0
  139. package/dist/memory/sqlite-store.js +6 -10
  140. package/dist/memory/sqlite-store.js.map +1 -1
  141. package/package.json +1 -1
  142. package/src/cli/commands/features.ts +84 -0
  143. package/src/cli/help-text.js +2 -2
  144. package/src/cli/simple-commands/init/templates/CLAUDE.md +132 -25
  145. package/src/cli/simple-commands/hooks-complete.js +0 -677
  146. package/src/cli/simple-commands/hooks-enhanced-integration.js +0 -231
  147. package/src/cli/simple-commands/hooks-enhanced.js +0 -424
  148. package/src/cli/simple-commands/hooks-memory-bridge.js +0 -97
  149. package/src/cli/simple-commands/hooks-original.js +0 -377
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Test Helpers and Utilities
3
+ * Common utilities for feature system testing
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ /**
7
+ * Creates a mock feature for testing
8
+ */
9
+ export function createMockFeature(overrides) {
10
+ return {
11
+ id: 'mock-feature',
12
+ name: 'Mock Feature',
13
+ version: '1.0.0',
14
+ description: 'A mock feature for testing',
15
+ activate: jest.fn().mockResolvedValue(undefined),
16
+ deactivate: jest.fn().mockResolvedValue(undefined),
17
+ ...overrides,
18
+ };
19
+ }
20
+ /**
21
+ * Creates a mock adapter context for testing
22
+ */
23
+ export function createMockAdapterContext(overrides) {
24
+ const eventBus = new EventEmitter();
25
+ return {
26
+ eventBus,
27
+ logger: {
28
+ log: jest.fn(),
29
+ error: jest.fn(),
30
+ warn: jest.fn(),
31
+ info: jest.fn(),
32
+ debug: jest.fn(),
33
+ },
34
+ config: {
35
+ version: '1.0.0',
36
+ environment: 'test',
37
+ },
38
+ services: new Map(),
39
+ ...overrides,
40
+ };
41
+ }
42
+ /**
43
+ * Creates a mock feature configuration
44
+ */
45
+ export function createMockConfig(overrides) {
46
+ return {
47
+ enabled: true,
48
+ settings: {},
49
+ ...overrides,
50
+ };
51
+ }
52
+ /**
53
+ * Waits for an event to be emitted
54
+ */
55
+ export function waitForEvent(emitter, eventName, timeout = 1000) {
56
+ return new Promise((resolve, reject) => {
57
+ const timer = setTimeout(() => {
58
+ reject(new Error(`Timeout waiting for event: ${eventName}`));
59
+ }, timeout);
60
+ emitter.once(eventName, (data) => {
61
+ clearTimeout(timer);
62
+ resolve(data);
63
+ });
64
+ });
65
+ }
66
+ /**
67
+ * Creates a spy that tracks method calls with timing information
68
+ */
69
+ export function createTimingSpy() {
70
+ const calls = [];
71
+ const spy = jest.fn().mockImplementation((...args) => {
72
+ calls.push({
73
+ timestamp: Date.now(),
74
+ args,
75
+ });
76
+ });
77
+ return Object.assign(spy, {
78
+ calls,
79
+ wasCalledBefore(otherSpy) {
80
+ if (this.calls.length === 0 || otherSpy.calls.length === 0) {
81
+ return false;
82
+ }
83
+ return this.calls[0].timestamp < otherSpy.calls[0].timestamp;
84
+ },
85
+ wasCalledAfter(otherSpy) {
86
+ if (this.calls.length === 0 || otherSpy.calls.length === 0) {
87
+ return false;
88
+ }
89
+ return this.calls[0].timestamp > otherSpy.calls[0].timestamp;
90
+ },
91
+ });
92
+ }
93
+ /**
94
+ * Delays execution for testing async operations
95
+ */
96
+ export function delay(ms) {
97
+ return new Promise(resolve => setTimeout(resolve, ms));
98
+ }
99
+ /**
100
+ * Creates a mock storage provider
101
+ */
102
+ export function createMockStorage() {
103
+ const storage = new Map();
104
+ return {
105
+ save: jest.fn().mockImplementation((key, value) => {
106
+ storage.set(key, value);
107
+ return Promise.resolve();
108
+ }),
109
+ load: jest.fn().mockImplementation((key) => {
110
+ return Promise.resolve(storage.get(key) || null);
111
+ }),
112
+ delete: jest.fn().mockImplementation((key) => {
113
+ storage.delete(key);
114
+ return Promise.resolve();
115
+ }),
116
+ clear: jest.fn().mockImplementation(() => {
117
+ storage.clear();
118
+ return Promise.resolve();
119
+ }),
120
+ _storage: storage, // Expose for testing
121
+ };
122
+ }
123
+ /**
124
+ * Custom Jest matchers for feature testing
125
+ */
126
+ export const featureMatchers = {
127
+ toBeActivated(received) {
128
+ const pass = received.activate.mock.calls.length > 0;
129
+ return {
130
+ pass,
131
+ message: () => pass
132
+ ? `Expected feature not to be activated`
133
+ : `Expected feature to be activated`,
134
+ };
135
+ },
136
+ toBeDeactivated(received) {
137
+ const pass = received.deactivate.mock.calls.length > 0;
138
+ return {
139
+ pass,
140
+ message: () => pass
141
+ ? `Expected feature not to be deactivated`
142
+ : `Expected feature to be deactivated`,
143
+ };
144
+ },
145
+ toHaveBeenCalledBefore(received, other) {
146
+ const receivedCalls = received.mock.invocationCallOrder;
147
+ const otherCalls = other.mock.invocationCallOrder;
148
+ if (receivedCalls.length === 0 || otherCalls.length === 0) {
149
+ return {
150
+ pass: false,
151
+ message: () => `One or both functions were not called`,
152
+ };
153
+ }
154
+ const pass = Math.min(...receivedCalls) < Math.min(...otherCalls);
155
+ return {
156
+ pass,
157
+ message: () => pass
158
+ ? `Expected ${received.getMockName()} not to be called before ${other.getMockName()}`
159
+ : `Expected ${received.getMockName()} to be called before ${other.getMockName()}`,
160
+ };
161
+ },
162
+ toHaveBeenCalledAfter(received, other) {
163
+ const receivedCalls = received.mock.invocationCallOrder;
164
+ const otherCalls = other.mock.invocationCallOrder;
165
+ if (receivedCalls.length === 0 || otherCalls.length === 0) {
166
+ return {
167
+ pass: false,
168
+ message: () => `One or both functions were not called`,
169
+ };
170
+ }
171
+ const pass = Math.min(...receivedCalls) > Math.max(...otherCalls);
172
+ return {
173
+ pass,
174
+ message: () => pass
175
+ ? `Expected ${received.getMockName()} not to be called after ${other.getMockName()}`
176
+ : `Expected ${received.getMockName()} to be called after ${other.getMockName()}`,
177
+ };
178
+ },
179
+ };
180
+ /**
181
+ * Test data fixtures
182
+ */
183
+ export const fixtures = {
184
+ features: {
185
+ basic: createMockFeature({
186
+ id: 'basic-feature',
187
+ name: 'Basic Feature',
188
+ }),
189
+ withDependencies: createMockFeature({
190
+ id: 'dependent-feature',
191
+ name: 'Dependent Feature',
192
+ dependencies: ['base-feature'],
193
+ }),
194
+ withConfiguration: createMockFeature({
195
+ id: 'configurable-feature',
196
+ name: 'Configurable Feature',
197
+ configure: jest.fn().mockResolvedValue(undefined),
198
+ configSchema: {
199
+ type: 'object',
200
+ properties: {
201
+ apiKey: { type: 'string' },
202
+ timeout: { type: 'number' },
203
+ },
204
+ required: ['apiKey'],
205
+ },
206
+ }),
207
+ withHooks: createMockFeature({
208
+ id: 'hook-feature',
209
+ name: 'Feature with Hooks',
210
+ onBeforeActivate: jest.fn().mockResolvedValue(undefined),
211
+ onAfterActivate: jest.fn().mockResolvedValue(undefined),
212
+ onBeforeDeactivate: jest.fn().mockResolvedValue(undefined),
213
+ onAfterDeactivate: jest.fn().mockResolvedValue(undefined),
214
+ }),
215
+ },
216
+ configs: {
217
+ basic: createMockConfig({
218
+ enabled: true,
219
+ settings: {
220
+ debug: false,
221
+ },
222
+ }),
223
+ withApiKey: createMockConfig({
224
+ enabled: true,
225
+ settings: {
226
+ apiKey: 'test-api-key-12345',
227
+ timeout: 5000,
228
+ },
229
+ }),
230
+ disabled: createMockConfig({
231
+ enabled: false,
232
+ settings: {},
233
+ }),
234
+ },
235
+ };
236
+ /**
237
+ * Performance measurement utilities
238
+ */
239
+ export class PerformanceMeasurer {
240
+ marks = new Map();
241
+ mark(name) {
242
+ this.marks.set(name, performance.now());
243
+ }
244
+ measure(name, startMark, endMark) {
245
+ const start = this.marks.get(startMark);
246
+ const end = endMark ? this.marks.get(endMark) : performance.now();
247
+ if (!start) {
248
+ throw new Error(`Start mark '${startMark}' not found`);
249
+ }
250
+ if (endMark && !this.marks.has(endMark)) {
251
+ throw new Error(`End mark '${endMark}' not found`);
252
+ }
253
+ return (end || performance.now()) - start;
254
+ }
255
+ clear() {
256
+ this.marks.clear();
257
+ }
258
+ }
259
+ /**
260
+ * Memory usage tracker for tests
261
+ */
262
+ export class MemoryTracker {
263
+ snapshots = [];
264
+ snapshot() {
265
+ const usage = process.memoryUsage();
266
+ this.snapshots.push({ timestamp: Date.now(), usage });
267
+ return usage;
268
+ }
269
+ getGrowth() {
270
+ if (this.snapshots.length < 2) {
271
+ return 0;
272
+ }
273
+ const first = this.snapshots[0].usage.heapUsed;
274
+ const last = this.snapshots[this.snapshots.length - 1].usage.heapUsed;
275
+ return last - first;
276
+ }
277
+ clear() {
278
+ this.snapshots = [];
279
+ }
280
+ }
281
+ //# sourceMappingURL=test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../../src/__tests__/features/utils/test-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFeaturesCommand(): Command;
3
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,IAAI,OAAO,CA+E/C"}
@@ -0,0 +1,77 @@
1
+ import { Command } from 'commander';
2
+ import { ConfigManager } from '../../config/config-manager.js';
3
+ import { createCliFeatureAdapter } from '../../features/adapters/CliFeatureAdapter.js';
4
+ export function createFeaturesCommand() {
5
+ const features = new Command('features')
6
+ .description('Manage transparent features')
7
+ .addHelpText('after', `
8
+ Examples:
9
+ claude-flow features list # List all available features
10
+ claude-flow features enable auto-format # Enable the auto-format feature
11
+ claude-flow features disable auto-format # Disable the auto-format feature
12
+ claude-flow features status # Show status of all features
13
+ claude-flow features config auto-format # Configure a specific feature
14
+ `);
15
+ // List features
16
+ features
17
+ .command('list')
18
+ .description('List all available features')
19
+ .option('-v, --verbose', 'Show detailed feature information')
20
+ .action(async (options) => {
21
+ const configManager = new ConfigManager();
22
+ const adapter = createCliFeatureAdapter(configManager);
23
+ await adapter.listFeatures([], options);
24
+ });
25
+ // Enable feature
26
+ features
27
+ .command('enable <feature>')
28
+ .description('Enable a specific feature')
29
+ .action(async (feature) => {
30
+ const configManager = new ConfigManager();
31
+ const adapter = createCliFeatureAdapter(configManager);
32
+ await adapter.enableFeature([feature], {});
33
+ });
34
+ // Disable feature
35
+ features
36
+ .command('disable <feature>')
37
+ .description('Disable a specific feature')
38
+ .action(async (feature) => {
39
+ const configManager = new ConfigManager();
40
+ const adapter = createCliFeatureAdapter(configManager);
41
+ await adapter.disableFeature([feature], {});
42
+ });
43
+ // Toggle feature
44
+ features
45
+ .command('toggle <feature>')
46
+ .description('Toggle a feature on/off')
47
+ .action(async (feature) => {
48
+ const configManager = new ConfigManager();
49
+ const adapter = createCliFeatureAdapter(configManager);
50
+ await adapter.toggleFeature([feature], {});
51
+ });
52
+ // Configure feature
53
+ features
54
+ .command('config <feature>')
55
+ .alias('configure')
56
+ .description('Configure a specific feature')
57
+ .option('-s, --set <key=value>', 'Set a configuration value')
58
+ .option('-g, --get <key>', 'Get a configuration value')
59
+ .option('-r, --reset', 'Reset to default configuration')
60
+ .action(async (feature, options) => {
61
+ const configManager = new ConfigManager();
62
+ const adapter = createCliFeatureAdapter(configManager);
63
+ await adapter.configureFeature([feature], options);
64
+ });
65
+ // Feature status
66
+ features
67
+ .command('status [feature]')
68
+ .description('Show feature status')
69
+ .option('-d, --detailed', 'Show detailed status information')
70
+ .action(async (feature, options) => {
71
+ const configManager = new ConfigManager();
72
+ const adapter = createCliFeatureAdapter(configManager);
73
+ await adapter.showFeatureStatus(feature ? [feature] : [], options);
74
+ });
75
+ return features;
76
+ }
77
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/cli/commands/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;SACrC,WAAW,CAAC,6BAA6B,CAAC;SAC1C,WAAW,CAAC,OAAO,EAAE;;;;;;;CAOzB,CAAC,CAAC;IAED,gBAAgB;IAChB,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,QAAQ;SACL,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,QAAQ;SACL,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,QAAQ;SACL,OAAO,CAAC,kBAAkB,CAAC;SAC3B,KAAK,CAAC,WAAW,CAAC;SAClB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,QAAQ;SACL,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function featuresCommand(args: any, flags: any): Promise<void>;
2
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/cli/simple-commands/features.js"],"names":[],"mappings":"AAQA,sEA4CC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Feature management CLI commands
3
+ */
4
+ import { ConfigManager } from '../../config/config-manager.js';
5
+ import { createCliFeatureAdapter } from '../../features/adapters/CliFeatureAdapter.js';
6
+ // Feature command handler
7
+ export async function featuresCommand(args, flags) {
8
+ const subcommand = args[0];
9
+ const subArgs = args.slice(1);
10
+ // Initialize config manager
11
+ const configManager = new ConfigManager();
12
+ const adapter = createCliFeatureAdapter(configManager);
13
+ try {
14
+ switch (subcommand) {
15
+ case 'list':
16
+ await adapter.listFeatures(subArgs, flags);
17
+ break;
18
+ case 'enable':
19
+ await adapter.enableFeature(subArgs, flags);
20
+ break;
21
+ case 'disable':
22
+ await adapter.disableFeature(subArgs, flags);
23
+ break;
24
+ case 'toggle':
25
+ await adapter.toggleFeature(subArgs, flags);
26
+ break;
27
+ case 'config':
28
+ case 'configure':
29
+ await adapter.configureFeature(subArgs, flags);
30
+ break;
31
+ case 'status':
32
+ await adapter.showFeatureStatus(subArgs, flags);
33
+ break;
34
+ case 'help':
35
+ default:
36
+ showFeatureHelp();
37
+ break;
38
+ }
39
+ }
40
+ catch (error) {
41
+ console.error('Error:', error.message);
42
+ process.exit(1);
43
+ }
44
+ }
45
+ function showFeatureHelp() {
46
+ console.log(`
47
+ 🎯 Claude-Flow Feature Management
48
+
49
+ Feature flags allow you to enable/disable and configure various system capabilities.
50
+
51
+ Usage: claude-flow features <subcommand> [options]
52
+
53
+ Subcommands:
54
+ list List all available features
55
+ enable <feature-id> Enable a feature
56
+ disable <feature-id> Disable a feature
57
+ toggle <feature-id> Toggle a feature on/off
58
+ config <feature-id> Configure a feature
59
+ status [feature-id] Show feature status
60
+
61
+ Options:
62
+ --category <type> Filter by category (list)
63
+ --enabled <true|false> Filter by enabled state (list)
64
+ --experimental <bool> Filter experimental features (list)
65
+ --verbose Show detailed information
66
+ --json Output in JSON format
67
+ --set <key=value> Set configuration value (config)
68
+ --get Get configuration (config)
69
+ --reset Reset configuration (config)
70
+ --health Include health check (status)
71
+
72
+ Examples:
73
+ claude-flow features list
74
+ claude-flow features list --category swarm --enabled true
75
+ claude-flow features enable advanced-memory
76
+ claude-flow features config swarm-coordination --set maxAgents=10
77
+ claude-flow features status --health
78
+
79
+ Feature Categories:
80
+ • core Core system features
81
+ • memory Memory and persistence features
82
+ • swarm Swarm coordination features
83
+ • agent Agent management features
84
+ • workflow Workflow automation features
85
+ • integration External integration features
86
+ • performance Performance optimization features
87
+ • experimental Experimental features (use with caution)
88
+
89
+ Tip: Use 'claude-flow features list --verbose' to see all feature details.
90
+ `);
91
+ }
92
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/cli/simple-commands/features.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,0BAA0B;AAC1B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAI,EAAE,KAAK;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9B,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM;YAER,KAAK,SAAS;gBACZ,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM;YAER,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChD,MAAM;YAER,KAAK,MAAM,CAAC;YACZ;gBACE,eAAe,EAAE,CAAC;gBAClB,MAAM;QACV,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CX,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export function hooksAction(subArgs: any, flags: any): Promise<void>;
2
+ export default hooksAction;
2
3
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/cli/simple-commands/hooks.js"],"names":[],"mappings":"AAOA,qEAiCC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/cli/simple-commands/hooks.js"],"names":[],"mappings":"AAmBA,qEAoEC"}