claude-mycelium 2.0.0 → 2.2.0

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 (208) hide show
  1. package/.agent-meta/_inhibitors.ndjson +1287 -0
  2. package/.agent-meta/_quarantine.json +45 -0
  3. package/.agent-meta/config.json +9 -0
  4. package/.agent-meta/tasks/_active.json +4 -0
  5. package/.agent-meta/tasks/task_0657b028-05a0-4b0c-b0b9-a4eae3d66cd9.json +168 -0
  6. package/.claude/memory.db +0 -0
  7. package/.claude/settings.local.json +4 -1
  8. package/README.md +85 -233
  9. package/SECURITY.md +145 -0
  10. package/dist/agent/task-worker.d.ts +11 -0
  11. package/dist/agent/task-worker.d.ts.map +1 -0
  12. package/dist/agent/task-worker.js +173 -0
  13. package/dist/agent/task-worker.js.map +1 -0
  14. package/dist/agent/worker.d.ts +8 -0
  15. package/dist/agent/worker.d.ts.map +1 -0
  16. package/dist/agent/worker.js +97 -0
  17. package/dist/agent/worker.js.map +1 -0
  18. package/dist/bin.d.ts +7 -0
  19. package/dist/bin.d.ts.map +1 -0
  20. package/dist/bin.js +11 -0
  21. package/dist/bin.js.map +1 -0
  22. package/dist/cli/cost.d.ts +10 -0
  23. package/dist/cli/cost.d.ts.map +1 -0
  24. package/dist/cli/cost.js +163 -0
  25. package/dist/cli/cost.js.map +1 -0
  26. package/dist/cli/gc.d.ts +10 -0
  27. package/dist/cli/gc.d.ts.map +1 -0
  28. package/dist/cli/gc.js +108 -0
  29. package/dist/cli/gc.js.map +1 -0
  30. package/dist/cli/gradients.d.ts +10 -0
  31. package/dist/cli/gradients.d.ts.map +1 -0
  32. package/dist/cli/gradients.js +70 -0
  33. package/dist/cli/gradients.js.map +1 -0
  34. package/dist/cli/grow.d.ts +17 -0
  35. package/dist/cli/grow.d.ts.map +1 -0
  36. package/dist/cli/grow.js +373 -0
  37. package/dist/cli/grow.js.map +1 -0
  38. package/dist/cli/index.d.ts +17 -0
  39. package/dist/cli/index.d.ts.map +1 -0
  40. package/dist/cli/index.js +74 -0
  41. package/dist/cli/index.js.map +1 -0
  42. package/dist/cli/init.d.ts +11 -0
  43. package/dist/cli/init.d.ts.map +1 -0
  44. package/dist/cli/init.js +97 -0
  45. package/dist/cli/init.js.map +1 -0
  46. package/dist/cli/status.d.ts +10 -0
  47. package/dist/cli/status.d.ts.map +1 -0
  48. package/dist/cli/status.js +191 -0
  49. package/dist/cli/status.js.map +1 -0
  50. package/dist/coordination/file-locks.d.ts +42 -0
  51. package/dist/coordination/file-locks.d.ts.map +1 -0
  52. package/dist/coordination/file-locks.js +269 -0
  53. package/dist/coordination/file-locks.js.map +1 -0
  54. package/dist/coordination/index.d.ts +4 -0
  55. package/dist/coordination/index.d.ts.map +1 -1
  56. package/dist/coordination/index.js +4 -0
  57. package/dist/coordination/index.js.map +1 -1
  58. package/dist/coordination/inhibitors.d.ts +84 -0
  59. package/dist/coordination/inhibitors.d.ts.map +1 -0
  60. package/dist/coordination/inhibitors.js +290 -0
  61. package/dist/coordination/inhibitors.js.map +1 -0
  62. package/dist/coordination/process-manager.d.ts +73 -0
  63. package/dist/coordination/process-manager.d.ts.map +1 -0
  64. package/dist/coordination/process-manager.js +144 -0
  65. package/dist/coordination/process-manager.js.map +1 -0
  66. package/dist/core/agent-executor.d.ts +4 -1
  67. package/dist/core/agent-executor.d.ts.map +1 -1
  68. package/dist/core/agent-executor.js +38 -12
  69. package/dist/core/agent-executor.js.map +1 -1
  70. package/dist/core/change-applier.d.ts +29 -5
  71. package/dist/core/change-applier.d.ts.map +1 -1
  72. package/dist/core/change-applier.js +254 -24
  73. package/dist/core/change-applier.js.map +1 -1
  74. package/dist/core/signals/churn.d.ts.map +1 -1
  75. package/dist/core/signals/churn.js +6 -4
  76. package/dist/core/signals/churn.js.map +1 -1
  77. package/dist/core/signals/debt.d.ts.map +1 -1
  78. package/dist/core/signals/debt.js +4 -3
  79. package/dist/core/signals/debt.js.map +1 -1
  80. package/dist/cost/cost-tracker.d.ts.map +1 -1
  81. package/dist/cost/cost-tracker.js +2 -0
  82. package/dist/cost/cost-tracker.js.map +1 -1
  83. package/dist/gc/index.d.ts +17 -0
  84. package/dist/gc/index.d.ts.map +1 -0
  85. package/dist/gc/index.js +17 -0
  86. package/dist/gc/index.js.map +1 -0
  87. package/dist/gc/runner.d.ts +39 -0
  88. package/dist/gc/runner.d.ts.map +1 -0
  89. package/dist/gc/runner.js +277 -0
  90. package/dist/gc/runner.js.map +1 -0
  91. package/dist/gc/trace-compactor.d.ts +31 -0
  92. package/dist/gc/trace-compactor.d.ts.map +1 -0
  93. package/dist/gc/trace-compactor.js +162 -0
  94. package/dist/gc/trace-compactor.js.map +1 -0
  95. package/dist/index.d.ts +5 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +6 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/prompts/index.d.ts +2 -1
  100. package/dist/prompts/index.d.ts.map +1 -1
  101. package/dist/prompts/index.js.map +1 -1
  102. package/dist/quarantine/explorer.d.ts +65 -0
  103. package/dist/quarantine/explorer.d.ts.map +1 -0
  104. package/dist/quarantine/explorer.js +175 -0
  105. package/dist/quarantine/explorer.js.map +1 -0
  106. package/dist/quarantine/index.d.ts +7 -0
  107. package/dist/quarantine/index.d.ts.map +1 -0
  108. package/dist/quarantine/index.js +7 -0
  109. package/dist/quarantine/index.js.map +1 -0
  110. package/dist/quarantine/manager.d.ts +75 -0
  111. package/dist/quarantine/manager.d.ts.map +1 -0
  112. package/dist/quarantine/manager.js +275 -0
  113. package/dist/quarantine/manager.js.map +1 -0
  114. package/dist/task/acceptance.d.ts +29 -0
  115. package/dist/task/acceptance.d.ts.map +1 -0
  116. package/dist/task/acceptance.js +228 -0
  117. package/dist/task/acceptance.js.map +1 -0
  118. package/dist/task/agent-coordinator.d.ts +40 -0
  119. package/dist/task/agent-coordinator.d.ts.map +1 -0
  120. package/dist/task/agent-coordinator.js +168 -0
  121. package/dist/task/agent-coordinator.js.map +1 -0
  122. package/dist/task/executor.d.ts +37 -0
  123. package/dist/task/executor.d.ts.map +1 -0
  124. package/dist/task/executor.js +462 -0
  125. package/dist/task/executor.js.map +1 -0
  126. package/dist/task/index.d.ts +12 -0
  127. package/dist/task/index.d.ts.map +1 -0
  128. package/dist/task/index.js +12 -0
  129. package/dist/task/index.js.map +1 -0
  130. package/dist/task/planner.d.ts +21 -0
  131. package/dist/task/planner.d.ts.map +1 -0
  132. package/dist/task/planner.js +253 -0
  133. package/dist/task/planner.js.map +1 -0
  134. package/dist/task/storage.d.ts +46 -0
  135. package/dist/task/storage.d.ts.map +1 -0
  136. package/dist/task/storage.js +266 -0
  137. package/dist/task/storage.js.map +1 -0
  138. package/dist/trace/trace-event.d.ts +2 -18
  139. package/dist/trace/trace-event.d.ts.map +1 -1
  140. package/dist/trace/trace-event.js +6 -6
  141. package/dist/trace/trace-event.js.map +1 -1
  142. package/dist/utils/file-utils.d.ts.map +1 -1
  143. package/dist/utils/file-utils.js +54 -15
  144. package/dist/utils/file-utils.js.map +1 -1
  145. package/docs/PHASE5_IMPLEMENTATION.md +237 -0
  146. package/docs/PHASES-3-7-COMPLETE.md +177 -0
  147. package/docs/PHASE_4_COMPLETE.md +135 -0
  148. package/docs/PHASE_7_DELIVERABLES.md +295 -0
  149. package/docs/PHASE_7_IMPLEMENTATION.md +306 -0
  150. package/docs/PHASE_7_SUMMARY.txt +195 -0
  151. package/docs/RELEASE-NOTES-v2.1.md +213 -0
  152. package/docs/ROADMAP.md +194 -107
  153. package/docs/SECURITY-AUDIT.md +387 -0
  154. package/docs/SNAPSHOT.md +59 -32
  155. package/docs/implementation/phase3-summary.md +220 -0
  156. package/package.json +27 -11
  157. package/src/agent/task-worker.ts +196 -0
  158. package/src/agent/worker.ts +111 -0
  159. package/src/bin.ts +13 -0
  160. package/src/cli/cost.ts +210 -0
  161. package/src/cli/gc.ts +138 -0
  162. package/src/cli/gradients.ts +97 -0
  163. package/src/cli/grow.ts +416 -0
  164. package/src/cli/index.ts +81 -0
  165. package/src/cli/init.ts +139 -0
  166. package/src/cli/status.ts +218 -0
  167. package/src/coordination/file-locks.ts +300 -0
  168. package/src/coordination/index.ts +4 -0
  169. package/src/coordination/inhibitors.ts +345 -0
  170. package/src/coordination/process-manager.ts +199 -0
  171. package/src/core/agent-executor.ts +37 -8
  172. package/src/core/signals/churn.ts +8 -5
  173. package/src/core/signals/debt.ts +4 -3
  174. package/src/cost/cost-tracker.ts +2 -0
  175. package/src/gc/index.ts +17 -0
  176. package/src/gc/runner.ts +314 -0
  177. package/src/gc/trace-compactor.ts +187 -0
  178. package/src/index.ts +7 -1
  179. package/src/prompts/index.ts +2 -1
  180. package/src/quarantine/explorer.ts +234 -0
  181. package/src/quarantine/index.ts +7 -0
  182. package/src/quarantine/manager.ts +336 -0
  183. package/src/task/acceptance.ts +267 -0
  184. package/src/task/agent-coordinator.ts +220 -0
  185. package/src/task/executor.ts +543 -0
  186. package/src/task/index.ts +38 -0
  187. package/src/task/planner.ts +294 -0
  188. package/src/task/storage.ts +332 -0
  189. package/src/trace/trace-event.ts +7 -26
  190. package/src/utils/file-utils.ts +61 -15
  191. package/tests/cli/gc.test.ts +206 -0
  192. package/tests/cli/init.test.ts +181 -0
  193. package/tests/cli/status.test.ts +282 -0
  194. package/tests/coordination/file-locks.test.ts +196 -0
  195. package/tests/coordination/inhibitors.test.ts +459 -0
  196. package/tests/coordination/integration.test.ts +195 -0
  197. package/tests/coordination/process-manager.test.ts +165 -0
  198. package/tests/gc/trace-compactor.test.ts +245 -0
  199. package/tests/integration/phase-7.test.ts +145 -0
  200. package/tests/quarantine/explorer.test.ts +381 -0
  201. package/tests/quarantine/manager.test.ts +399 -0
  202. package/tests/security/command-injection.test.ts +88 -0
  203. package/tests/security/path-traversal.test.ts +103 -0
  204. package/tests/task/acceptance.test.ts +411 -0
  205. package/tests/task/executor.test.ts +421 -0
  206. package/tests/task/planner.test.ts +359 -0
  207. package/tests/trace/trace-event.test.ts +62 -20
  208. package/tsconfig.json +2 -2
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Gradients CLI Command
3
+ *
4
+ * Display gradient scores for all files
5
+ * Sorted by score descending with colorized output
6
+ */
7
+ import { Command } from 'commander';
8
+ declare const command: Command;
9
+ export default command;
10
+ //# sourceMappingURL=gradients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradients.d.ts","sourceRoot":"","sources":["../../src/cli/gradients.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,QAAA,MAAM,OAAO,SAiFT,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Gradients CLI Command
3
+ *
4
+ * Display gradient scores for all files
5
+ * Sorted by score descending with colorized output
6
+ */
7
+ import { Command } from 'commander';
8
+ import chalk from 'chalk';
9
+ import glob from 'fast-glob';
10
+ import { calculateGradientBatch } from '../core/gradient.js';
11
+ const command = new Command()
12
+ .name('gradients')
13
+ .description('Show gradient scores for all files')
14
+ .argument('[path]', 'Root path to analyze', '.')
15
+ .option('--json', 'Output as JSON')
16
+ .option('--limit <number>', 'Show top N files', '20')
17
+ .action(async (rootPath, options) => {
18
+ try {
19
+ // Find all TypeScript files (not .d.ts)
20
+ const files = await glob('**/*.ts', {
21
+ cwd: rootPath,
22
+ ignore: ['node_modules/**', 'dist/**', '**/*.d.ts', '**/*.test.ts', '**/*.spec.ts'],
23
+ absolute: true, // Get absolute paths
24
+ });
25
+ if (files.length === 0) {
26
+ console.log(chalk.yellow('No TypeScript files found'));
27
+ return;
28
+ }
29
+ const gradientMap = await calculateGradientBatch(files);
30
+ const gradients = Array.from(gradientMap.values());
31
+ // Sort by score descending
32
+ const sorted = [...gradients].sort((a, b) => b.score - a.score);
33
+ // Apply limit
34
+ const limit = parseInt(options.limit, 10) || 20;
35
+ const limited = sorted.slice(0, limit);
36
+ if (options.json) {
37
+ console.log(JSON.stringify(limited, null, 2));
38
+ return;
39
+ }
40
+ // Colorized output
41
+ console.log('');
42
+ console.log(chalk.bold('Gradient Scores (sorted by impact)'));
43
+ console.log(chalk.dim('─'.repeat(80)));
44
+ console.log(chalk.gray(`${String('File').padEnd(50)} ${'Score'.padStart(10)} ${'Signal'.padStart(15)}`));
45
+ console.log(chalk.dim('─'.repeat(80)));
46
+ for (const gradient of limited) {
47
+ const scoreColor = gradient.score > 0.7 ? 'red' : gradient.score > 0.4 ? 'yellow' : 'green';
48
+ const score = gradient.score.toFixed(3);
49
+ const signal = gradient.dominantSignal.name;
50
+ console.log(`${gradient.file.substring(0, 50).padEnd(50)} ${chalk[scoreColor](score.padStart(10))} ${signal.padStart(15)}`);
51
+ }
52
+ console.log(chalk.dim('─'.repeat(80)));
53
+ console.log(chalk.dim(`Showing ${limited.length} of ${gradients.length} files`));
54
+ console.log('');
55
+ // Summary
56
+ const highImpact = sorted.filter(g => g.score > 0.7).length;
57
+ const mediumImpact = sorted.filter(g => g.score > 0.4 && g.score <= 0.7).length;
58
+ const lowImpact = sorted.filter(g => g.score <= 0.4).length;
59
+ console.log(chalk.bold('Summary:'));
60
+ console.log(` ${chalk.red(`High impact: ${highImpact}`)} | ${chalk.yellow(`Medium: ${mediumImpact}`)} | ${chalk.green(`Low: ${lowImpact}`)}`);
61
+ console.log('');
62
+ }
63
+ catch (error) {
64
+ const message = error instanceof Error ? error.message : 'Unknown error';
65
+ console.error(chalk.red(`Error: ${message}`));
66
+ process.exit(1);
67
+ }
68
+ });
69
+ export default command;
70
+ //# sourceMappingURL=gradients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradients.js","sourceRoot":"","sources":["../../src/cli/gradients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Grow CLI Command - Interactive Mycelium Growth Interface
3
+ *
4
+ * Interactive terminal for spawning agents to improve your codebase
5
+ * Usage: npx claude-mycelium grow
6
+ */
7
+ import { Command } from 'commander';
8
+ /**
9
+ * Start interactive grow session
10
+ */
11
+ export declare function startGrowSession(): Promise<void>;
12
+ /**
13
+ * Commander.js command definition
14
+ */
15
+ declare const command: Command;
16
+ export default command;
17
+ //# sourceMappingURL=grow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grow.d.ts","sourceRoot":"","sources":["../../src/cli/grow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkHpC;;GAEG;AACH,wBAAsB,gBAAgB,kBA6MrC;AAED;;GAEG;AACH,QAAA,MAAM,OAAO,SA+ET,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -0,0 +1,373 @@
1
+ /**
2
+ * Grow CLI Command - Interactive Mycelium Growth Interface
3
+ *
4
+ * Interactive terminal for spawning agents to improve your codebase
5
+ * Usage: npx claude-mycelium grow
6
+ */
7
+ import { Command } from 'commander';
8
+ import prompts from 'prompts';
9
+ import chalk from 'chalk';
10
+ import ora from 'ora';
11
+ import { executeAgent } from '../core/agent-executor.js';
12
+ import { calculateGradient } from '../core/gradient.js';
13
+ import { planTask, executeTask } from '../task/index.js';
14
+ import { storeTask } from '../task/storage.js';
15
+ import { randomUUID } from 'crypto';
16
+ /**
17
+ * Parse natural language task into action
18
+ */
19
+ function parseTask(input) {
20
+ const lower = input.toLowerCase().trim();
21
+ if (lower === 'help' || lower === '?') {
22
+ return { type: 'help' };
23
+ }
24
+ if (lower === 'exit' || lower === 'quit' || lower === 'q') {
25
+ return { type: 'exit' };
26
+ }
27
+ if (lower.startsWith('analyze ') || lower.startsWith('check ')) {
28
+ const file = lower.split(/\s+/).slice(1).join(' ');
29
+ return { type: 'analyze', file };
30
+ }
31
+ // Check if input has a file path - if so, use quick spawn commands
32
+ const file = extractFilePath(input);
33
+ if (file) {
34
+ // File-specific quick commands
35
+ if (lower.includes('fix') || lower.includes('bug') || lower.includes('error')) {
36
+ return { type: 'spawn', mode: 'error_reducer', file };
37
+ }
38
+ if (lower.includes('complex') || lower.includes('simplify') || lower.includes('reduce')) {
39
+ return { type: 'spawn', mode: 'complexity_reducer', file };
40
+ }
41
+ if (lower.includes('clean') || lower.includes('debt') || lower.includes('lint')) {
42
+ return { type: 'spawn', mode: 'debt_payer', file };
43
+ }
44
+ if (lower.includes('stabil') || lower.includes('churn')) {
45
+ return { type: 'spawn', mode: 'stabilizer', file };
46
+ }
47
+ // Has file but no recognized keywords - analyze it
48
+ return { type: 'analyze', file };
49
+ }
50
+ // No file path - treat as general task (like "implement MCP", "add health check", etc.)
51
+ // Keywords that indicate a general task
52
+ if (lower.includes('implement') ||
53
+ lower.includes('create') ||
54
+ lower.includes('add') ||
55
+ lower.includes('build') ||
56
+ lower.includes('make') ||
57
+ lower.includes('develop') ||
58
+ lower.includes('write') ||
59
+ lower.startsWith('let\'s')) {
60
+ return { type: 'task', description: input };
61
+ }
62
+ return { type: 'help' };
63
+ }
64
+ /**
65
+ * Extract file path from natural language
66
+ */
67
+ function extractFilePath(input) {
68
+ const words = input.split(/\s+/);
69
+ const fileWord = words.find((w) => w.includes('/') || w.endsWith('.ts') || w.endsWith('.js') || w.endsWith('.tsx') || w.endsWith('.jsx'));
70
+ return fileWord;
71
+ }
72
+ /**
73
+ * Show help message
74
+ */
75
+ function showHelp() {
76
+ console.log('');
77
+ console.log(chalk.bold.green('🍄 Claude Mycelium - Interactive Growth'));
78
+ console.log('');
79
+ console.log(chalk.bold('General Tasks (Multi-Step):'));
80
+ console.log('');
81
+ console.log(chalk.cyan(' "implement MCP server"') + ' - Plan and execute multi-step task');
82
+ console.log(chalk.cyan(' "add health check endpoint"') + ' - Create feature with tests');
83
+ console.log(chalk.cyan(' "create authentication system"') + ' - Build complete feature');
84
+ console.log('');
85
+ console.log(chalk.bold('File-Specific Commands (Quick):'));
86
+ console.log('');
87
+ console.log(chalk.cyan(' "fix bugs in src/api.ts"') + ' - Spawn error_reducer agent');
88
+ console.log(chalk.cyan(' "reduce complexity in src/utils.ts"') + ' - Spawn complexity_reducer agent');
89
+ console.log(chalk.cyan(' "clean up src/legacy.ts"') + ' - Spawn debt_payer agent');
90
+ console.log(chalk.cyan(' "stabilize src/volatile.ts"') + ' - Spawn stabilizer agent');
91
+ console.log(chalk.cyan(' "analyze src/app.ts"') + ' - Show gradient analysis');
92
+ console.log('');
93
+ console.log(chalk.dim(' Type "exit" to quit'));
94
+ console.log('');
95
+ }
96
+ /**
97
+ * Start interactive grow session
98
+ */
99
+ export async function startGrowSession() {
100
+ console.clear();
101
+ console.log(chalk.bold.green('🍄 Mycelium Network Active'));
102
+ console.log(chalk.dim('Growing intelligence through autonomous agents'));
103
+ console.log('');
104
+ showHelp();
105
+ let running = true;
106
+ while (running) {
107
+ try {
108
+ const response = await prompts({
109
+ type: 'text',
110
+ name: 'task',
111
+ message: chalk.green('🌱 What would you like to grow?'),
112
+ validate: (value) => value.length > 0 || 'Please enter a task',
113
+ });
114
+ if (!response.task) {
115
+ // User cancelled with Ctrl+C
116
+ running = false;
117
+ break;
118
+ }
119
+ const task = parseTask(response.task);
120
+ if (task.type === 'help') {
121
+ showHelp();
122
+ continue;
123
+ }
124
+ if (task.type === 'exit') {
125
+ running = false;
126
+ break;
127
+ }
128
+ if (task.type === 'analyze') {
129
+ if (!task.file) {
130
+ console.log(chalk.yellow('⚠️ Please specify a file to analyze'));
131
+ continue;
132
+ }
133
+ const spinner = ora(`Analyzing ${task.file}...`).start();
134
+ try {
135
+ const gradient = await calculateGradient(task.file);
136
+ spinner.succeed(chalk.green(`Analysis complete for ${task.file}`));
137
+ console.log('');
138
+ console.log(chalk.bold('📊 Gradient Analysis:'));
139
+ console.log(chalk.dim('─'.repeat(50)));
140
+ console.log(`${chalk.bold('Overall Score:')} ${gradient.score.toFixed(3)}`);
141
+ console.log(`${chalk.bold('Dominant Signal:')} ${gradient.dominantSignal.name}`);
142
+ console.log('');
143
+ console.log(chalk.dim('Signal Breakdown:'));
144
+ console.log(` Complexity: ${gradient.signals.complexity.toFixed(3)}`);
145
+ console.log(` Churn: ${gradient.signals.churn.toFixed(3)}`);
146
+ console.log(` Debt: ${gradient.signals.debt.toFixed(3)}`);
147
+ console.log(` Error Rate: ${gradient.signals.error_rate.toFixed(3)}`);
148
+ console.log(` Centrality: ${gradient.signals.centrality.toFixed(3)}`);
149
+ console.log('');
150
+ }
151
+ catch (error) {
152
+ spinner.fail(chalk.red('Analysis failed'));
153
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
154
+ }
155
+ continue;
156
+ }
157
+ if (task.type === 'task') {
158
+ if (!task.description) {
159
+ console.log(chalk.yellow('⚠️ Could not determine task description'));
160
+ continue;
161
+ }
162
+ const spinner = ora('Planning task...').start();
163
+ try {
164
+ // Create task object
165
+ const newTask = {
166
+ id: randomUUID(),
167
+ description: task.description,
168
+ status: 'planning',
169
+ created_at: new Date().toISOString(),
170
+ acceptance_criteria: [],
171
+ steps_completed: 0,
172
+ steps_total: 0,
173
+ files_created: [],
174
+ files_modified: [],
175
+ traces: [],
176
+ };
177
+ spinner.text = 'Generating task plan...';
178
+ const plan = await planTask(newTask);
179
+ newTask.plan = plan;
180
+ newTask.steps_total = plan.steps.length;
181
+ newTask.status = 'in_progress';
182
+ await storeTask(newTask);
183
+ spinner.succeed(chalk.green('Task plan generated'));
184
+ console.log('');
185
+ console.log(chalk.bold('📋 Task Plan:'));
186
+ console.log(chalk.dim('─'.repeat(50)));
187
+ console.log(`${chalk.bold('Summary:')} ${plan.summary}`);
188
+ console.log(`${chalk.bold('Steps:')} ${plan.steps.length}`);
189
+ console.log(`${chalk.bold('Complexity:')} ${plan.estimated_complexity}`);
190
+ if (plan.risks.length > 0) {
191
+ console.log(`${chalk.bold('Risks:')}`);
192
+ plan.risks.forEach(risk => console.log(chalk.yellow(` ⚠️ ${risk}`)));
193
+ }
194
+ console.log('');
195
+ // Show steps
196
+ console.log(chalk.bold('Steps:'));
197
+ plan.steps.forEach(step => {
198
+ console.log(` ${step.order}. ${step.description}`);
199
+ console.log(` ${chalk.dim(`File: ${step.target_file}, Mode: ${step.mode}`)}`);
200
+ });
201
+ console.log('');
202
+ const executeSpinner = ora('Executing task...').start();
203
+ const executedTask = await executeTask(newTask);
204
+ if (executedTask.status === 'completed') {
205
+ executeSpinner.succeed(chalk.green('Task completed successfully'));
206
+ console.log('');
207
+ console.log(chalk.bold('✅ Results:'));
208
+ console.log(chalk.dim('─'.repeat(50)));
209
+ console.log(`${chalk.bold('Task ID:')} ${executedTask.id}`);
210
+ console.log(`${chalk.bold('Steps:')} ${executedTask.steps_completed}/${executedTask.steps_total}`);
211
+ console.log(`${chalk.bold('Files Created:')} ${executedTask.files_created.length}`);
212
+ console.log(`${chalk.bold('Files Modified:')} ${executedTask.files_modified.length}`);
213
+ console.log('');
214
+ if (executedTask.files_created.length > 0) {
215
+ console.log(chalk.bold('Created:'));
216
+ executedTask.files_created.forEach(f => console.log(` ${chalk.green('+')} ${f}`));
217
+ }
218
+ if (executedTask.files_modified.length > 0) {
219
+ console.log(chalk.bold('Modified:'));
220
+ executedTask.files_modified.forEach(f => console.log(` ${chalk.yellow('~')} ${f}`));
221
+ }
222
+ console.log('');
223
+ console.log(chalk.green('💡 Task completed. Run tests to verify.'));
224
+ }
225
+ else {
226
+ executeSpinner.fail(chalk.red('Task execution failed'));
227
+ console.error(chalk.red(`Error: ${executedTask.error || 'Unknown error'}`));
228
+ }
229
+ await storeTask(executedTask);
230
+ console.log('');
231
+ }
232
+ catch (error) {
233
+ spinner.fail(chalk.red('Task execution failed'));
234
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
235
+ console.log('');
236
+ }
237
+ continue;
238
+ }
239
+ if (task.type === 'spawn') {
240
+ if (!task.file || !task.mode) {
241
+ console.log(chalk.yellow('⚠️ Could not determine file and mode from task'));
242
+ continue;
243
+ }
244
+ const spinner = ora(`Spawning ${task.mode} agent for ${task.file}...`).start();
245
+ try {
246
+ const result = await executeAgent(task.file, task.mode, { dryRun: false });
247
+ spinner.succeed(chalk.green(`Agent completed successfully`));
248
+ console.log('');
249
+ console.log(chalk.bold('✅ Results:'));
250
+ console.log(chalk.dim('─'.repeat(50)));
251
+ console.log(`${chalk.bold('File:')} ${task.file}`);
252
+ console.log(`${chalk.bold('Mode:')} ${task.mode}`);
253
+ console.log(`${chalk.bold('Changes:')} ${result.changes} modifications`);
254
+ console.log(`${chalk.bold('Cost:')} $${result.cost.toFixed(4)}`);
255
+ console.log(`${chalk.bold('Efficiency:')} ${result.trace.efficiency.toFixed(3)}`);
256
+ console.log('');
257
+ if (result.changes && result.changes.length > 0) {
258
+ console.log(chalk.green('💡 Changes have been applied. Run tests to verify.'));
259
+ }
260
+ else {
261
+ console.log(chalk.yellow('ℹ️ No changes were needed.'));
262
+ }
263
+ console.log('');
264
+ }
265
+ catch (error) {
266
+ spinner.fail(chalk.red('Agent execution failed'));
267
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
268
+ console.log('');
269
+ }
270
+ continue;
271
+ }
272
+ }
273
+ catch (error) {
274
+ if (error instanceof Error && error.message.includes('User force closed')) {
275
+ running = false;
276
+ break;
277
+ }
278
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
279
+ }
280
+ }
281
+ console.log('');
282
+ console.log(chalk.green('🍄 Mycelium network dormant. Growth complete.'));
283
+ console.log('');
284
+ }
285
+ /**
286
+ * Commander.js command definition
287
+ */
288
+ const command = new Command()
289
+ .name('grow')
290
+ .description('Start interactive mycelium growth interface')
291
+ .option('--task <description>', 'Run a single task and exit')
292
+ .action(async (options) => {
293
+ if (options.task) {
294
+ // Non-interactive mode - single task
295
+ const task = parseTask(options.task);
296
+ if (task.type === 'task' && task.description) {
297
+ const spinner = ora('Planning task...').start();
298
+ try {
299
+ // Create and execute task
300
+ const newTask = {
301
+ id: randomUUID(),
302
+ description: task.description,
303
+ status: 'planning',
304
+ created_at: new Date().toISOString(),
305
+ acceptance_criteria: [],
306
+ steps_completed: 0,
307
+ steps_total: 0,
308
+ files_created: [],
309
+ files_modified: [],
310
+ traces: [],
311
+ };
312
+ const plan = await planTask(newTask);
313
+ newTask.plan = plan;
314
+ newTask.steps_total = plan.steps.length;
315
+ newTask.status = 'in_progress';
316
+ await storeTask(newTask);
317
+ spinner.text = 'Executing task...';
318
+ const executedTask = await executeTask(newTask);
319
+ await storeTask(executedTask);
320
+ if (executedTask.status === 'completed') {
321
+ spinner.succeed(chalk.green('Task completed'));
322
+ console.log(`Steps: ${executedTask.steps_completed}/${executedTask.steps_total}, Created: ${executedTask.files_created.length}, Modified: ${executedTask.files_modified.length}`);
323
+ }
324
+ else {
325
+ spinner.fail(chalk.red('Task failed'));
326
+ console.error(chalk.red(`Error: ${executedTask.error || 'Unknown error'}`));
327
+ process.exit(1);
328
+ }
329
+ }
330
+ catch (error) {
331
+ spinner.fail(chalk.red('Task failed'));
332
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
333
+ process.exit(1);
334
+ }
335
+ }
336
+ else if (task.type === 'spawn' && task.file && task.mode) {
337
+ const spinner = ora(`Spawning ${task.mode} agent...`).start();
338
+ try {
339
+ const result = await executeAgent(task.file, task.mode, { dryRun: false });
340
+ spinner.succeed(chalk.green('Agent completed'));
341
+ console.log(`Changes: ${result.changes}, Cost: $${result.cost.toFixed(4)}, Efficiency: ${result.trace.efficiency.toFixed(3)}`);
342
+ }
343
+ catch (error) {
344
+ spinner.fail(chalk.red('Agent failed'));
345
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
346
+ process.exit(1);
347
+ }
348
+ }
349
+ else if (task.type === 'analyze' && task.file) {
350
+ const spinner = ora(`Analyzing ${task.file}...`).start();
351
+ try {
352
+ const gradient = await calculateGradient(task.file);
353
+ spinner.succeed(chalk.green('Analysis complete'));
354
+ console.log(`Score: ${gradient.score.toFixed(3)}, Dominant: ${gradient.dominantSignal.name}`);
355
+ }
356
+ catch (error) {
357
+ spinner.fail(chalk.red('Analysis failed'));
358
+ console.error(chalk.red(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
359
+ process.exit(1);
360
+ }
361
+ }
362
+ else {
363
+ console.log(chalk.yellow('Could not parse task. Use interactive mode for help.'));
364
+ process.exit(1);
365
+ }
366
+ }
367
+ else {
368
+ // Interactive TUI mode
369
+ await startGrowSession();
370
+ }
371
+ });
372
+ export default command;
373
+ //# sourceMappingURL=grow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grow.js","sourceRoot":"","sources":["../../src/cli/grow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Claude Mycelium CLI
3
+ *
4
+ * Main CLI entry point using Commander.js
5
+ * Coordinates all CLI subcommands
6
+ */
7
+ import { Command } from 'commander';
8
+ export declare const program: Command;
9
+ /**
10
+ * Import and register subcommands
11
+ */
12
+ export declare function registerCommands(): Promise<void>;
13
+ /**
14
+ * Parse and execute CLI
15
+ */
16
+ export declare function execute(argv?: string[]): Promise<Command>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,OAAO,SAAgB,CAAC;AAkBrC;;GAEG;AACH,wBAAsB,gBAAgB,kBAerC;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,oBAG5C"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Claude Mycelium CLI
3
+ *
4
+ * Main CLI entry point using Commander.js
5
+ * Coordinates all CLI subcommands
6
+ */
7
+ import { Command } from 'commander';
8
+ import { readFileSync } from 'fs';
9
+ import { resolve } from 'path';
10
+ import { fileURLToPath } from 'url';
11
+ import { dirname } from 'path';
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+ // Read package.json for version
15
+ let version = '2.0.0';
16
+ try {
17
+ const pkgPath = resolve(__dirname, '../../package.json');
18
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
19
+ if (pkg.version) {
20
+ version = pkg.version;
21
+ }
22
+ }
23
+ catch {
24
+ // Fallback to default version
25
+ }
26
+ export const program = new Command();
27
+ program
28
+ .name('claude-mycelium')
29
+ .description('Intelligent automated code improvement system')
30
+ .version(version)
31
+ .option('-v, --verbose', 'Enable verbose logging')
32
+ .option('--config <path>', 'Path to config file')
33
+ .hook('preAction', (thisCommand) => {
34
+ // Handle global options
35
+ if (thisCommand.optsWithGlobals().verbose) {
36
+ process.env.DEBUG = '1';
37
+ }
38
+ if (thisCommand.optsWithGlobals().config) {
39
+ process.env.MYCELIUM_CONFIG = thisCommand.optsWithGlobals().config;
40
+ }
41
+ });
42
+ /**
43
+ * Import and register subcommands
44
+ */
45
+ export async function registerCommands() {
46
+ // Dynamically import subcommands
47
+ const { default: gradients } = await import('./gradients.js');
48
+ const { default: cost } = await import('./cost.js');
49
+ const { default: status } = await import('./status.js');
50
+ const { default: init } = await import('./init.js');
51
+ const { default: gc } = await import('./gc.js');
52
+ const { default: grow } = await import('./grow.js');
53
+ program.addCommand(gradients);
54
+ program.addCommand(cost);
55
+ program.addCommand(status);
56
+ program.addCommand(init);
57
+ program.addCommand(gc);
58
+ program.addCommand(grow);
59
+ }
60
+ /**
61
+ * Parse and execute CLI
62
+ */
63
+ export async function execute(argv) {
64
+ await registerCommands();
65
+ return program.parseAsync(argv || process.argv);
66
+ }
67
+ // Auto-execute when run as script
68
+ if (import.meta.url === `file://${process.argv[1]}`) {
69
+ execute().catch((error) => {
70
+ console.error('CLI Error:', error);
71
+ process.exit(1);
72
+ });
73
+ }
74
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Init CLI Command
3
+ *
4
+ * Initialize .agent-meta/ directory structure
5
+ * Create default configuration files
6
+ * Per Phase 7 specification §15
7
+ */
8
+ import { Command } from 'commander';
9
+ declare const command: Command;
10
+ export default command;
11
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,QAAA,MAAM,OAAO,SAYT,CAAC;AAgHL,eAAe,OAAO,CAAC"}