claude-flow-novice 1.3.0 → 1.3.2

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 (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,307 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Script to fix Cliffy imports by creating a compatibility layer
5
+ * This allows using Deno's Cliffy modules in Node.js
6
+ */
7
+
8
+ import { promises as fs } from 'fs';
9
+ import path from 'path';
10
+ import { fileURLToPath } from 'url';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+
15
+ // Create Cliffy compatibility modules
16
+ const cliffyModules = {
17
+ '@cliffy/command': `
18
+ export class Command {
19
+ constructor() {
20
+ this._name = '';
21
+ this._version = '';
22
+ this._description = '';
23
+ this._options = [];
24
+ this._commands = new Map();
25
+ this._action = null;
26
+ }
27
+
28
+ name(name) {
29
+ this._name = name;
30
+ return this;
31
+ }
32
+
33
+ version(version) {
34
+ this._version = version;
35
+ return this;
36
+ }
37
+
38
+ description(description) {
39
+ this._description = description;
40
+ return this;
41
+ }
42
+
43
+ arguments(args) {
44
+ this._arguments = args;
45
+ return this;
46
+ }
47
+
48
+ option(flags, description, options) {
49
+ this._options.push({ flags, description, options });
50
+ return this;
51
+ }
52
+
53
+ action(fn) {
54
+ this._action = fn;
55
+ return this;
56
+ }
57
+
58
+ command(name, command) {
59
+ if (command) {
60
+ this._commands.set(name, command);
61
+ }
62
+ return command || new Command();
63
+ }
64
+
65
+ async parse(args) {
66
+ // Simple parse implementation
67
+ const parsed = { options: {}, args: [] };
68
+ return parsed;
69
+ }
70
+
71
+ help() {
72
+ console.log(\`Command: \${this._name}\`);
73
+ console.log(\`Version: \${this._version}\`);
74
+ console.log(\`Description: \${this._description}\`);
75
+ }
76
+
77
+ showHelp() {
78
+ this.help();
79
+ }
80
+ }
81
+ `,
82
+ '@cliffy/table': `
83
+ export class Table {
84
+ constructor() {
85
+ this._headers = [];
86
+ this._rows = [];
87
+ this._options = {};
88
+ }
89
+
90
+ static from(data) {
91
+ const table = new Table();
92
+ if (Array.isArray(data) && data.length > 0) {
93
+ if (typeof data[0] === 'object') {
94
+ table._headers = Object.keys(data[0]);
95
+ table._rows = data.map(row => Object.values(row));
96
+ } else {
97
+ table._rows = data;
98
+ }
99
+ }
100
+ return table;
101
+ }
102
+
103
+ header(headers) {
104
+ this._headers = headers;
105
+ return this;
106
+ }
107
+
108
+ body(rows) {
109
+ this._rows = rows;
110
+ return this;
111
+ }
112
+
113
+ push(...rows) {
114
+ this._rows.push(...rows);
115
+ return this;
116
+ }
117
+
118
+ padding(padding) {
119
+ this._options.padding = padding;
120
+ return this;
121
+ }
122
+
123
+ indent(indent) {
124
+ this._options.indent = indent;
125
+ return this;
126
+ }
127
+
128
+ border(border) {
129
+ this._options.border = border;
130
+ return this;
131
+ }
132
+
133
+ toString() {
134
+ // Simple table rendering
135
+ let result = '';
136
+ if (this._headers.length) {
137
+ result += this._headers.join(' | ') + '\\n';
138
+ result += '-'.repeat(this._headers.join(' | ').length) + '\\n';
139
+ }
140
+ for (const row of this._rows) {
141
+ result += row.join(' | ') + '\\n';
142
+ }
143
+ return result;
144
+ }
145
+
146
+ render() {
147
+ console.log(this.toString());
148
+ }
149
+ }
150
+ `,
151
+ '@cliffy/ansi/colors': `
152
+ const colorize = (code) => (text) => \`\\x1b[\${code}m\${text}\\x1b[0m\`;
153
+
154
+ export const red = colorize('31');
155
+ export const green = colorize('32');
156
+ export const yellow = colorize('33');
157
+ export const blue = colorize('34');
158
+ export const magenta = colorize('35');
159
+ export const cyan = colorize('36');
160
+ export const white = colorize('37');
161
+ export const gray = colorize('90');
162
+ export const bold = colorize('1');
163
+ export const dim = colorize('2');
164
+ export const italic = colorize('3');
165
+ export const underline = colorize('4');
166
+ export const inverse = colorize('7');
167
+ export const hidden = colorize('8');
168
+ export const strikethrough = colorize('9');
169
+ export const bgRed = colorize('41');
170
+ export const bgGreen = colorize('42');
171
+ export const bgYellow = colorize('43');
172
+ export const bgBlue = colorize('44');
173
+ export const bgMagenta = colorize('45');
174
+ export const bgCyan = colorize('46');
175
+ export const bgWhite = colorize('47');
176
+
177
+ export const colors = {
178
+ red, green, yellow, blue, magenta, cyan, white, gray,
179
+ bold, dim, italic, underline, inverse, hidden, strikethrough,
180
+ bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite
181
+ };
182
+ `,
183
+ '@cliffy/prompt': `
184
+ export const prompt = async (questions) => {
185
+ const answers = {};
186
+ for (const q of questions) {
187
+ console.log(q.message);
188
+ // Simplified implementation
189
+ answers[q.name] = q.default || '';
190
+ }
191
+ return answers;
192
+ };
193
+
194
+ export const confirm = async (options) => {
195
+ console.log(options.message);
196
+ return options.default !== false;
197
+ };
198
+
199
+ export const input = async (options) => {
200
+ console.log(options.message);
201
+ return options.default || '';
202
+ };
203
+
204
+ export const number = async (options) => {
205
+ console.log(options.message);
206
+ return options.default || 0;
207
+ };
208
+
209
+ export const secret = async (options) => {
210
+ console.log(options.message);
211
+ return options.default || '';
212
+ };
213
+
214
+ export const select = async (options) => {
215
+ console.log(options.message);
216
+ return options.options?.[0] || options.default || '';
217
+ };
218
+
219
+ export const checkbox = async (options) => {
220
+ console.log(options.message);
221
+ return options.default || [];
222
+ };
223
+
224
+ // Add class exports
225
+ export class Select {
226
+ constructor(options) {
227
+ this.options = options;
228
+ }
229
+ async prompt() {
230
+ return select(this.options);
231
+ }
232
+ }
233
+
234
+ export class Input {
235
+ constructor(options) {
236
+ this.options = options;
237
+ }
238
+ async prompt() {
239
+ return input(this.options);
240
+ }
241
+ }
242
+
243
+ export class Confirm {
244
+ constructor(options) {
245
+ this.options = options;
246
+ }
247
+ async prompt() {
248
+ return confirm(this.options);
249
+ }
250
+ }
251
+
252
+ export class Number {
253
+ constructor(options) {
254
+ this.options = options;
255
+ }
256
+ async prompt() {
257
+ return number(this.options);
258
+ }
259
+ }
260
+ `
261
+ };
262
+
263
+ async function createCliffyModules() {
264
+ const nodeModulesDir = path.join(__dirname, '..', 'node_modules');
265
+ const cliffyDir = path.join(nodeModulesDir, '@cliffy');
266
+
267
+ // Create @cliffy directory
268
+ await fs.mkdir(cliffyDir, { recursive: true });
269
+
270
+ // Create each module
271
+ for (const [modulePath, content] of Object.entries(cliffyModules)) {
272
+ const parts = modulePath.split('/');
273
+ const moduleName = parts[1];
274
+ const subPath = parts[2];
275
+
276
+ const moduleDir = path.join(cliffyDir, moduleName);
277
+ await fs.mkdir(moduleDir, { recursive: true });
278
+
279
+ if (subPath) {
280
+ // Create subdirectory for nested modules
281
+ const fullPath = path.join(moduleDir, subPath + '.js');
282
+ const dirPath = path.dirname(fullPath);
283
+ await fs.mkdir(dirPath, { recursive: true });
284
+ await fs.writeFile(fullPath, content.trim());
285
+ } else {
286
+ // Create main module file
287
+ await fs.writeFile(path.join(moduleDir, 'index.js'), content.trim());
288
+ }
289
+
290
+ // Create package.json for the module
291
+ const packageJson = {
292
+ name: modulePath,
293
+ version: '0.22.2',
294
+ main: subPath ? `${subPath}.js` : 'index.js',
295
+ type: 'module'
296
+ };
297
+ await fs.writeFile(
298
+ path.join(moduleDir, 'package.json'),
299
+ JSON.stringify(packageJson, null, 2)
300
+ );
301
+ }
302
+
303
+ console.log('✅ Created Cliffy compatibility modules');
304
+ }
305
+
306
+ // Run the script
307
+ createCliffyModules().catch(console.error);
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Script to fix duplicate imports in the codebase
5
+ */
6
+
7
+ import { promises as fs } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { dirname } from 'node:path';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ async function removeDuplicateImports(filePath) {
16
+ try {
17
+ let content = await fs.readFile(filePath, 'utf-8');
18
+ let modified = false;
19
+
20
+ // Remove duplicate error handler imports
21
+ const errorHandlerRegex = /import\s+{\s*getErrorMessage\s*}\s+from\s+['"].*?error-handler\.js['"];\s*\n/g;
22
+ const matches = content.match(errorHandlerRegex);
23
+
24
+ if (matches && matches.length > 1) {
25
+ // Keep only the first import
26
+ let firstFound = false;
27
+ content = content.replace(errorHandlerRegex, (match) => {
28
+ if (!firstFound) {
29
+ firstFound = true;
30
+ return match;
31
+ }
32
+ modified = true;
33
+ return '';
34
+ });
35
+ }
36
+
37
+ // Remove duplicate fs imports
38
+ const fsImportRegex = /import\s+{\s*promises\s+as\s+fs\s*}\s+from\s+['"]node:fs['"];\s*\n/g;
39
+ const fsMatches = content.match(fsImportRegex);
40
+
41
+ if (fsMatches && fsMatches.length > 1) {
42
+ // Keep only the first import
43
+ let firstFound = false;
44
+ content = content.replace(fsImportRegex, (match) => {
45
+ if (!firstFound) {
46
+ firstFound = true;
47
+ return match;
48
+ }
49
+ modified = true;
50
+ return '';
51
+ });
52
+ }
53
+
54
+ // Fix duplicate type imports
55
+ const typeImportRegex = /import\s+type\s+{\s*([^}]+)\s*}\s+from\s+['"]([^'"]+)['"];\s*\n/g;
56
+ const typeImports = new Map();
57
+
58
+ content = content.replace(typeImportRegex, (match, types, from) => {
59
+ const key = from;
60
+ if (typeImports.has(key)) {
61
+ // Merge with existing import
62
+ const existing = typeImports.get(key);
63
+ const newTypes = types.split(',').map(t => t.trim());
64
+ const existingTypes = existing.split(',').map(t => t.trim());
65
+ const allTypes = [...new Set([...existingTypes, ...newTypes])];
66
+ typeImports.set(key, allTypes.join(', '));
67
+ modified = true;
68
+ return '';
69
+ } else {
70
+ typeImports.set(key, types);
71
+ return match;
72
+ }
73
+ });
74
+
75
+ if (modified) {
76
+ await fs.writeFile(filePath, content);
77
+ console.log(`✅ Fixed duplicate imports in: ${filePath}`);
78
+ }
79
+ } catch (error) {
80
+ console.error(`❌ Error processing ${filePath}:`, error.message);
81
+ }
82
+ }
83
+
84
+ async function findTypeScriptFiles(dir) {
85
+ const files = [];
86
+ const entries = await fs.readdir(dir, { withFileTypes: true });
87
+
88
+ for (const entry of entries) {
89
+ const fullPath = join(dir, entry.name);
90
+
91
+ if (entry.isDirectory() && !entry.name.includes('node_modules') && !entry.name.includes('dist')) {
92
+ files.push(...await findTypeScriptFiles(fullPath));
93
+ } else if (entry.isFile() && entry.name.endsWith('.ts')) {
94
+ files.push(fullPath);
95
+ }
96
+ }
97
+
98
+ return files;
99
+ }
100
+
101
+ async function main() {
102
+ const srcDir = join(dirname(__dirname), 'src');
103
+ const files = await findTypeScriptFiles(srcDir);
104
+
105
+ console.log(`Found ${files.length} TypeScript files to check...`);
106
+
107
+ for (const file of files) {
108
+ await removeDuplicateImports(file);
109
+ }
110
+
111
+ console.log('✅ Duplicate import fixes complete!');
112
+ }
113
+
114
+ main().catch(console.error);
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const glob = require('glob');
6
+
7
+ // Find all TypeScript files
8
+ const files = glob.sync('src/**/*.ts', {
9
+ ignore: ['src/**/*.test.ts', 'src/**/*.spec.ts']
10
+ });
11
+
12
+ let totalFixed = 0;
13
+
14
+ files.forEach(file => {
15
+ let content = fs.readFileSync(file, 'utf8');
16
+ let modified = false;
17
+
18
+ // Fix error handling patterns
19
+ const patterns = [
20
+ // Fix unknown error types in catch blocks
21
+ {
22
+ regex: /catch\s*\(\s*error\s*\)\s*{([^}]+error\.message)/g,
23
+ replacement: 'catch (error) {$1'
24
+ },
25
+ // Fix error.message access
26
+ {
27
+ regex: /(\$\{|`)error\.message/g,
28
+ replacement: '$1(error instanceof Error ? error.message : String(error))'
29
+ },
30
+ // Fix standalone error.message
31
+ {
32
+ regex: /([^`$])error\.message/g,
33
+ replacement: '$1(error instanceof Error ? error.message : String(error))'
34
+ },
35
+ // Fix error type annotations
36
+ {
37
+ regex: /catch\s*\(\s*error:\s*any\s*\)/g,
38
+ replacement: 'catch (error)'
39
+ },
40
+ // Fix error type in functions
41
+ {
42
+ regex: /\(error:\s*unknown\)/g,
43
+ replacement: '(error)'
44
+ }
45
+ ];
46
+
47
+ patterns.forEach(pattern => {
48
+ const before = content;
49
+ content = content.replace(pattern.regex, pattern.replacement);
50
+ if (before !== content) {
51
+ modified = true;
52
+ }
53
+ });
54
+
55
+ if (modified) {
56
+ // Add error handler import if needed
57
+ if (!content.includes("from '../utils/error-handler'") &&
58
+ !content.includes("from '../../utils/error-handler'") &&
59
+ content.includes('error instanceof Error')) {
60
+ const importPath = file.includes('cli/commands') ? '../../utils/error-handler' : '../utils/error-handler';
61
+ content = `import { getErrorMessage } from '${importPath}';\n` + content;
62
+ }
63
+
64
+ fs.writeFileSync(file, content);
65
+ totalFixed++;
66
+ console.log(`Fixed: ${file}`);
67
+ }
68
+ });
69
+
70
+ console.log(`\nTotal files fixed: ${totalFixed}`);
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Script to fix incorrect import paths in the codebase
5
+ */
6
+
7
+ import { promises as fs } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { dirname } from 'node:path';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ async function fixImportPaths(filePath) {
16
+ try {
17
+ let content = await fs.readFile(filePath, 'utf-8');
18
+ let modified = false;
19
+
20
+ // Fix error-handler import paths in CLI commands
21
+ if (filePath.includes('/cli/commands/')) {
22
+ const wrongPath = '../utils/error-handler.js';
23
+ const correctPath = '../../utils/error-handler.js';
24
+
25
+ if (content.includes(wrongPath)) {
26
+ content = content.replace(new RegExp(wrongPath, 'g'), correctPath);
27
+ modified = true;
28
+ }
29
+ }
30
+
31
+ // Fix type imports that should be value imports
32
+ const typeImportFixes = [
33
+ // EventEmitter should be a value import
34
+ {
35
+ from: "import type { EventEmitter } from 'events';",
36
+ to: "import { EventEmitter } from 'events';"
37
+ },
38
+ {
39
+ from: "import type { EventEmitter } from 'node:events';",
40
+ to: "import { EventEmitter } from 'node:events';"
41
+ },
42
+ // Command should be a value import for Cliffy
43
+ {
44
+ from: "import type { Command } from '@cliffy/command';",
45
+ to: "import { Command } from '@cliffy/command';"
46
+ },
47
+ // Logger should be a value import
48
+ {
49
+ from: "import type { Logger } from '../../core/logger.js';",
50
+ to: "import { Logger } from '../../core/logger.js';"
51
+ },
52
+ {
53
+ from: "import type { AdvancedMemoryManager } from '../../memory/advanced-memory-manager.js';",
54
+ to: "import { AdvancedMemoryManager } from '../../memory/advanced-memory-manager.js';"
55
+ }
56
+ ];
57
+
58
+ for (const fix of typeImportFixes) {
59
+ if (content.includes(fix.from)) {
60
+ content = content.replace(fix.from, fix.to);
61
+ modified = true;
62
+ }
63
+ }
64
+
65
+ if (modified) {
66
+ await fs.writeFile(filePath, content);
67
+ console.log(`✅ Fixed import paths in: ${filePath}`);
68
+ }
69
+ } catch (error) {
70
+ console.error(`❌ Error processing ${filePath}:`, error.message);
71
+ }
72
+ }
73
+
74
+ async function findTypeScriptFiles(dir) {
75
+ const files = [];
76
+ const entries = await fs.readdir(dir, { withFileTypes: true });
77
+
78
+ for (const entry of entries) {
79
+ const fullPath = join(dir, entry.name);
80
+
81
+ if (entry.isDirectory() && !entry.name.includes('node_modules') && !entry.name.includes('dist')) {
82
+ files.push(...await findTypeScriptFiles(fullPath));
83
+ } else if (entry.isFile() && entry.name.endsWith('.ts')) {
84
+ files.push(fullPath);
85
+ }
86
+ }
87
+
88
+ return files;
89
+ }
90
+
91
+ async function main() {
92
+ const srcDir = join(dirname(__dirname), 'src');
93
+ const files = await findTypeScriptFiles(srcDir);
94
+
95
+ console.log(`Found ${files.length} TypeScript files to check for import path issues...`);
96
+
97
+ for (const file of files) {
98
+ await fixImportPaths(file);
99
+ }
100
+
101
+ console.log('✅ Import path fixes complete!');
102
+ }
103
+
104
+ main().catch(console.error);
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Script to fix import issues in the codebase
5
+ */
6
+
7
+ import { promises as fs } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { dirname } from 'node:path';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ const replacements = [
16
+ // Cliffy imports to Commander/Inquirer
17
+ {
18
+ from: /import\s*{\s*Command\s*}\s*from\s*['"]@cliffy\/command['"]/g,
19
+ to: "import { Command } from 'commander'"
20
+ },
21
+ {
22
+ from: /import\s*{\s*Table\s*}\s*from\s*['"]@cliffy\/table['"]/g,
23
+ to: "import Table from 'cli-table3'"
24
+ },
25
+ {
26
+ from: /import\s*\*?\s*as\s*colors\s*from\s*['"]@cliffy\/ansi\/colors['"]/g,
27
+ to: "import chalk from 'chalk'"
28
+ },
29
+ {
30
+ from: /import\s*{\s*colors\s*}\s*from\s*['"]@cliffy\/ansi\/colors['"]/g,
31
+ to: "import chalk from 'chalk'"
32
+ },
33
+ {
34
+ from: /import\s*{\s*Select,\s*Input,\s*Confirm,\s*Number\s*}\s*from\s*['"]@cliffy\/prompt['"]/g,
35
+ to: "import inquirer from 'inquirer'"
36
+ },
37
+ // Fix colors usage
38
+ {
39
+ from: /colors\.(green|red|yellow|blue|gray|cyan|magenta|white|black|bold|dim)/g,
40
+ to: "chalk.$1"
41
+ },
42
+ // Fix duplicate fs imports
43
+ {
44
+ from: /import\s*{\s*promises\s*as\s*fs\s*}\s*from\s*['"]node:fs['"];?\s*\n(?:.*\n)*?import\s*{\s*promises\s*as\s*fs\s*}\s*from\s*['"]node:fs['"];?/g,
45
+ to: "import { promises as fs } from 'node:fs';"
46
+ },
47
+ // Fix showHelp() calls
48
+ {
49
+ from: /\.showHelp\(\)/g,
50
+ to: ".outputHelp()"
51
+ },
52
+ // Fix Table.push usage
53
+ {
54
+ from: /table\.push\(/g,
55
+ to: "table.push("
56
+ },
57
+ // Fix missing error handler imports
58
+ {
59
+ from: /^((?!import.*getErrorMessage)[\s\S])*?import/m,
60
+ to: "import { getErrorMessage } from '../utils/error-handler.js';\n$&"
61
+ }
62
+ ];
63
+
64
+ async function processFile(filePath) {
65
+ try {
66
+ let content = await fs.readFile(filePath, 'utf-8');
67
+ let modified = false;
68
+
69
+ for (const replacement of replacements) {
70
+ const before = content;
71
+ content = content.replace(replacement.from, replacement.to);
72
+ if (content !== before) {
73
+ modified = true;
74
+ }
75
+ }
76
+
77
+ if (modified) {
78
+ await fs.writeFile(filePath, content);
79
+ console.log(`✅ Fixed imports in: ${filePath}`);
80
+ }
81
+ } catch (error) {
82
+ console.error(`❌ Error processing ${filePath}:`, error.message);
83
+ }
84
+ }
85
+
86
+ async function findTypeScriptFiles(dir) {
87
+ const files = [];
88
+ const entries = await fs.readdir(dir, { withFileTypes: true });
89
+
90
+ for (const entry of entries) {
91
+ const fullPath = join(dir, entry.name);
92
+
93
+ if (entry.isDirectory() && !entry.name.includes('node_modules') && !entry.name.includes('dist')) {
94
+ files.push(...await findTypeScriptFiles(fullPath));
95
+ } else if (entry.isFile() && entry.name.endsWith('.ts')) {
96
+ files.push(fullPath);
97
+ }
98
+ }
99
+
100
+ return files;
101
+ }
102
+
103
+ async function main() {
104
+ const srcDir = join(dirname(__dirname), 'src');
105
+ const files = await findTypeScriptFiles(srcDir);
106
+
107
+ console.log(`Found ${files.length} TypeScript files to process...`);
108
+
109
+ for (const file of files) {
110
+ await processFile(file);
111
+ }
112
+
113
+ console.log('✅ Import fixes complete!');
114
+ }
115
+
116
+ main().catch(console.error);