fivocell 4.3.0 → 4.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 (875) hide show
  1. package/README.md +45 -23
  2. package/bin/cell.js +1 -1
  3. package/dist/__tests__/agents-md.test.js +1 -1
  4. package/dist/__tests__/agents-md.test.js.map +1 -1
  5. package/dist/__tests__/antigravity-rich-format.test.js +2 -2
  6. package/dist/__tests__/antigravity-rich-format.test.js.map +1 -1
  7. package/dist/__tests__/atcell-live-fallback.test.js +2 -2
  8. package/dist/__tests__/atcell-live-fallback.test.js.map +1 -1
  9. package/dist/__tests__/behavior-intelligence-bug.test.js +1 -1
  10. package/dist/__tests__/behavior-intelligence-bug.test.js.map +1 -1
  11. package/dist/__tests__/branch-context.test.d.ts +2 -0
  12. package/dist/__tests__/branch-context.test.d.ts.map +1 -0
  13. package/dist/__tests__/branch-context.test.js +215 -0
  14. package/dist/__tests__/branch-context.test.js.map +1 -0
  15. package/dist/__tests__/cell-state-setup.test.d.ts +2 -0
  16. package/dist/__tests__/cell-state-setup.test.d.ts.map +1 -0
  17. package/dist/__tests__/cell-state-setup.test.js +190 -0
  18. package/dist/__tests__/cell-state-setup.test.js.map +1 -0
  19. package/dist/__tests__/cli-regression.test.d.ts +2 -0
  20. package/dist/__tests__/cli-regression.test.d.ts.map +1 -0
  21. package/dist/__tests__/cli-regression.test.js +105 -0
  22. package/dist/__tests__/cli-regression.test.js.map +1 -0
  23. package/dist/__tests__/cli-smoke.test.d.ts +2 -0
  24. package/dist/__tests__/cli-smoke.test.d.ts.map +1 -0
  25. package/dist/__tests__/cli-smoke.test.js +79 -0
  26. package/dist/__tests__/cli-smoke.test.js.map +1 -0
  27. package/dist/__tests__/code-scanner-blindspot.test.js +1 -1
  28. package/dist/__tests__/code-scanner-blindspot.test.js.map +1 -1
  29. package/dist/__tests__/code-scanner-error-recovery.test.js +1 -1
  30. package/dist/__tests__/code-scanner-error-recovery.test.js.map +1 -1
  31. package/dist/__tests__/code-scanner-sql-fix.test.js +1 -1
  32. package/dist/__tests__/code-scanner-sql-fix.test.js.map +1 -1
  33. package/dist/__tests__/community-store.test.js +20 -20
  34. package/dist/__tests__/community-store.test.js.map +1 -1
  35. package/dist/__tests__/cross-memory-continue.test.d.ts +8 -0
  36. package/dist/__tests__/cross-memory-continue.test.d.ts.map +1 -0
  37. package/dist/__tests__/cross-memory-continue.test.js +179 -0
  38. package/dist/__tests__/cross-memory-continue.test.js.map +1 -0
  39. package/dist/__tests__/cross-memory-editor-monitor.test.d.ts +6 -0
  40. package/dist/__tests__/cross-memory-editor-monitor.test.d.ts.map +1 -0
  41. package/dist/__tests__/cross-memory-editor-monitor.test.js +109 -0
  42. package/dist/__tests__/cross-memory-editor-monitor.test.js.map +1 -0
  43. package/dist/__tests__/cross-memory-event-capture.test.d.ts +2 -0
  44. package/dist/__tests__/cross-memory-event-capture.test.d.ts.map +1 -0
  45. package/dist/__tests__/cross-memory-event-capture.test.js +530 -0
  46. package/dist/__tests__/cross-memory-event-capture.test.js.map +1 -0
  47. package/dist/__tests__/cross-memory-replay.test.d.ts +2 -0
  48. package/dist/__tests__/cross-memory-replay.test.d.ts.map +1 -0
  49. package/dist/__tests__/cross-memory-replay.test.js +362 -0
  50. package/dist/__tests__/cross-memory-replay.test.js.map +1 -0
  51. package/dist/__tests__/cross-memory-socket-bridge.test.d.ts +9 -0
  52. package/dist/__tests__/cross-memory-socket-bridge.test.d.ts.map +1 -0
  53. package/dist/__tests__/cross-memory-socket-bridge.test.js +633 -0
  54. package/dist/__tests__/cross-memory-socket-bridge.test.js.map +1 -0
  55. package/dist/__tests__/enhanced-blind-spots.test.js +89 -1
  56. package/dist/__tests__/enhanced-blind-spots.test.js.map +1 -1
  57. package/dist/__tests__/failure-memory.test.d.ts +2 -0
  58. package/dist/__tests__/failure-memory.test.d.ts.map +1 -0
  59. package/dist/__tests__/failure-memory.test.js +108 -0
  60. package/dist/__tests__/failure-memory.test.js.map +1 -0
  61. package/dist/__tests__/journey-memory.test.d.ts +2 -0
  62. package/dist/__tests__/journey-memory.test.d.ts.map +1 -0
  63. package/dist/__tests__/journey-memory.test.js +141 -0
  64. package/dist/__tests__/journey-memory.test.js.map +1 -0
  65. package/dist/__tests__/knowledge-graph-store.test.js +3 -3
  66. package/dist/__tests__/knowledge-graph-store.test.js.map +1 -1
  67. package/dist/__tests__/live-watcher.test.js +24 -24
  68. package/dist/__tests__/live-watcher.test.js.map +1 -1
  69. package/dist/__tests__/mcp-cell-tools.test.js +2 -2
  70. package/dist/__tests__/mcp-cell-tools.test.js.map +1 -1
  71. package/dist/__tests__/multi-project.test.js +1 -1
  72. package/dist/__tests__/multi-project.test.js.map +1 -1
  73. package/dist/__tests__/pc-scanner-paths.test.js +1 -1
  74. package/dist/__tests__/pc-scanner-paths.test.js.map +1 -1
  75. package/dist/__tests__/prelaunch-reality-check.test.js +27 -27
  76. package/dist/__tests__/prelaunch-reality-check.test.js.map +1 -1
  77. package/dist/__tests__/project-name-override.test.js +2 -2
  78. package/dist/__tests__/project-name-override.test.js.map +1 -1
  79. package/dist/__tests__/prompt-builder-realdata.test.js +90 -2
  80. package/dist/__tests__/prompt-builder-realdata.test.js.map +1 -1
  81. package/dist/__tests__/prompt-builder-sessions.test.js +2 -2
  82. package/dist/__tests__/prompt-builder-sessions.test.js.map +1 -1
  83. package/dist/__tests__/repl.test.d.ts +2 -0
  84. package/dist/__tests__/repl.test.d.ts.map +1 -0
  85. package/dist/__tests__/repl.test.js +77 -0
  86. package/dist/__tests__/repl.test.js.map +1 -0
  87. package/dist/__tests__/security.test.js +19 -19
  88. package/dist/__tests__/security.test.js.map +1 -1
  89. package/dist/__tests__/session-bridge.test.js +2 -2
  90. package/dist/__tests__/session-bridge.test.js.map +1 -1
  91. package/dist/__tests__/session-memory-tables.test.js +2 -2
  92. package/dist/__tests__/session-memory-tables.test.js.map +1 -1
  93. package/dist/__tests__/setup.test.js +1 -1
  94. package/dist/__tests__/setup.test.js.map +1 -1
  95. package/dist/__tests__/staleness-detection.test.js +3 -3
  96. package/dist/__tests__/staleness-detection.test.js.map +1 -1
  97. package/dist/__tests__/team-collaboration.test.js +10 -10
  98. package/dist/__tests__/team-collaboration.test.js.map +1 -1
  99. package/dist/__tests__/tool-specific-format.test.js +2 -2
  100. package/dist/__tests__/tool-specific-format.test.js.map +1 -1
  101. package/dist/__tests__/usage-intelligence-store.test.js +23 -23
  102. package/dist/__tests__/usage-intelligence-store.test.js.map +1 -1
  103. package/dist/__tests__/watch-cli.test.js +1 -1
  104. package/dist/__tests__/watch-cli.test.js.map +1 -1
  105. package/dist/core/__tests__/ab-test-framework.test.js +1 -1
  106. package/dist/core/__tests__/ab-test-framework.test.js.map +1 -1
  107. package/dist/core/__tests__/ai-memory.test.js +1 -1
  108. package/dist/core/__tests__/ai-memory.test.js.map +1 -1
  109. package/dist/core/__tests__/ast-differ.test.d.ts +2 -0
  110. package/dist/core/__tests__/ast-differ.test.d.ts.map +1 -0
  111. package/dist/core/__tests__/ast-differ.test.js +68 -0
  112. package/dist/core/__tests__/ast-differ.test.js.map +1 -0
  113. package/dist/core/__tests__/build-failure-predictor.test.js +1 -1
  114. package/dist/core/__tests__/build-failure-predictor.test.js.map +1 -1
  115. package/dist/core/__tests__/chapter3-verify.test.js +3 -3
  116. package/dist/core/__tests__/chapter3-verify.test.js.map +1 -1
  117. package/dist/core/__tests__/chapter4-hostile.test.js +2 -2
  118. package/dist/core/__tests__/chapter4-hostile.test.js.map +1 -1
  119. package/dist/core/__tests__/chapter4-verify.test.js +3 -3
  120. package/dist/core/__tests__/chapter4-verify.test.js.map +1 -1
  121. package/dist/core/__tests__/community-full.test.js +1 -1
  122. package/dist/core/__tests__/community-full.test.js.map +1 -1
  123. package/dist/core/__tests__/community-live.test.js +1 -1
  124. package/dist/core/__tests__/community-live.test.js.map +1 -1
  125. package/dist/core/__tests__/config-attribution.test.js +1 -1
  126. package/dist/core/__tests__/config-attribution.test.js.map +1 -1
  127. package/dist/core/__tests__/convention-detector.test.js +1 -1
  128. package/dist/core/__tests__/convention-detector.test.js.map +1 -1
  129. package/dist/core/__tests__/cost-optimizer.test.js +1 -1
  130. package/dist/core/__tests__/cost-optimizer.test.js.map +1 -1
  131. package/dist/core/__tests__/cross-domain-projections.test.js +1 -1
  132. package/dist/core/__tests__/cross-domain-projections.test.js.map +1 -1
  133. package/dist/core/__tests__/cross-project-sync.test.js +1 -1
  134. package/dist/core/__tests__/cross-project-sync.test.js.map +1 -1
  135. package/dist/core/__tests__/error-predictor.test.js +1 -1
  136. package/dist/core/__tests__/error-predictor.test.js.map +1 -1
  137. package/dist/core/__tests__/explainability.test.js +3 -3
  138. package/dist/core/__tests__/explainability.test.js.map +1 -1
  139. package/dist/core/__tests__/extraction-cascade.test.d.ts +2 -0
  140. package/dist/core/__tests__/extraction-cascade.test.d.ts.map +1 -0
  141. package/dist/core/__tests__/extraction-cascade.test.js +59 -0
  142. package/dist/core/__tests__/extraction-cascade.test.js.map +1 -0
  143. package/dist/core/__tests__/failure-memory.test.js +1 -1
  144. package/dist/core/__tests__/failure-memory.test.js.map +1 -1
  145. package/dist/core/__tests__/git-branch-pregenerator.test.js +1 -1
  146. package/dist/core/__tests__/git-branch-pregenerator.test.js.map +1 -1
  147. package/dist/core/__tests__/interruption-recovery.test.js +1 -1
  148. package/dist/core/__tests__/interruption-recovery.test.js.map +1 -1
  149. package/dist/core/__tests__/knowledge-graph.test.js +1 -1
  150. package/dist/core/__tests__/knowledge-graph.test.js.map +1 -1
  151. package/dist/core/__tests__/marketplace.test.js +1 -1
  152. package/dist/core/__tests__/marketplace.test.js.map +1 -1
  153. package/dist/core/__tests__/merge-conflict-predictor.test.js +1 -1
  154. package/dist/core/__tests__/merge-conflict-predictor.test.js.map +1 -1
  155. package/dist/core/__tests__/performance-predictor.test.js +1 -1
  156. package/dist/core/__tests__/performance-predictor.test.js.map +1 -1
  157. package/dist/core/__tests__/playbook-generator.test.js +1 -1
  158. package/dist/core/__tests__/playbook-generator.test.js.map +1 -1
  159. package/dist/core/__tests__/pr-review-assistant.test.js +1 -1
  160. package/dist/core/__tests__/pr-review-assistant.test.js.map +1 -1
  161. package/dist/core/__tests__/privacy-manager.test.js +1 -1
  162. package/dist/core/__tests__/privacy-manager.test.js.map +1 -1
  163. package/dist/core/__tests__/project-dna.test.js +1 -1
  164. package/dist/core/__tests__/project-dna.test.js.map +1 -1
  165. package/dist/core/__tests__/reputation.test.js +1 -1
  166. package/dist/core/__tests__/reputation.test.js.map +1 -1
  167. package/dist/core/__tests__/security-predictor.test.js +1 -1
  168. package/dist/core/__tests__/security-predictor.test.js.map +1 -1
  169. package/dist/core/__tests__/signal-capture.test.js +1 -1
  170. package/dist/core/__tests__/signal-capture.test.js.map +1 -1
  171. package/dist/core/__tests__/team-composer.test.js +1 -1
  172. package/dist/core/__tests__/team-composer.test.js.map +1 -1
  173. package/dist/core/__tests__/time-saved.test.js +1 -1
  174. package/dist/core/__tests__/time-saved.test.js.map +1 -1
  175. package/dist/core/__tests__/validation-run.test.js +1 -1
  176. package/dist/core/__tests__/validation-run.test.js.map +1 -1
  177. package/dist/core/__tests__/workflow-outcome-graph.test.js +1 -1
  178. package/dist/core/__tests__/workflow-outcome-graph.test.js.map +1 -1
  179. package/dist/core/architecture-engine.js +1 -1
  180. package/dist/core/architecture-engine.js.map +1 -1
  181. package/dist/core/backend-engine.js +1 -1
  182. package/dist/core/backend-engine.js.map +1 -1
  183. package/dist/core/cross-project-sync.d.ts +1 -1
  184. package/dist/core/cross-project-sync.d.ts.map +1 -1
  185. package/dist/core/enhanced-blind-spots.d.ts +8 -0
  186. package/dist/core/enhanced-blind-spots.d.ts.map +1 -1
  187. package/dist/core/enhanced-blind-spots.js +59 -0
  188. package/dist/core/enhanced-blind-spots.js.map +1 -1
  189. package/dist/core/extraction-cascade.d.ts +2 -2
  190. package/dist/core/extraction-cascade.d.ts.map +1 -1
  191. package/dist/core/extraction-cascade.js +2 -2
  192. package/dist/core/extraction-cascade.js.map +1 -1
  193. package/dist/core/frontend-engine.js +1 -1
  194. package/dist/core/frontend-engine.js.map +1 -1
  195. package/dist/core/learning-layer.d.ts +1 -1
  196. package/dist/core/learning-layer.d.ts.map +1 -1
  197. package/dist/core/naming-engine.js +1 -1
  198. package/dist/core/naming-engine.js.map +1 -1
  199. package/dist/core/productivity-engine.js +1 -1
  200. package/dist/core/productivity-engine.js.map +1 -1
  201. package/dist/core/project-registry.js +1 -1
  202. package/dist/core/project-registry.js.map +1 -1
  203. package/dist/core/search-engine.js +1 -1
  204. package/dist/core/search-engine.js.map +1 -1
  205. package/dist/core/similarity-engine.d.ts +1 -1
  206. package/dist/core/similarity-engine.d.ts.map +1 -1
  207. package/dist/core/structure-engine.js +1 -1
  208. package/dist/core/structure-engine.js.map +1 -1
  209. package/dist/core/syntax-engine.js +1 -1
  210. package/dist/core/syntax-engine.js.map +1 -1
  211. package/dist/core/team-advanced-engine.js +1 -1
  212. package/dist/core/team-advanced-engine.js.map +1 -1
  213. package/dist/core/team-composer.d.ts +1 -1
  214. package/dist/core/team-composer.d.ts.map +1 -1
  215. package/dist/core/team-engine.js +1 -1
  216. package/dist/core/team-engine.js.map +1 -1
  217. package/dist/index.d.ts +40 -46
  218. package/dist/index.d.ts.map +1 -1
  219. package/dist/index.js +33 -65
  220. package/dist/index.js.map +1 -1
  221. package/dist/validation/quick-run.js +1 -1
  222. package/dist/validation/quick-run.js.map +1 -1
  223. package/dist/walls/01-context/context/agents-md.d.ts.map +1 -0
  224. package/dist/walls/01-context/context/agents-md.js.map +1 -0
  225. package/dist/walls/01-context/context/ide-intelligence.d.ts.map +1 -0
  226. package/dist/{ide-intelligence.js → walls/01-context/context/ide-intelligence.js} +1 -1
  227. package/dist/walls/01-context/context/ide-intelligence.js.map +1 -0
  228. package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -0
  229. package/dist/{core → walls/01-context/context}/prompt-builder.js +27 -3
  230. package/dist/walls/01-context/context/prompt-builder.js.map +1 -0
  231. package/dist/walls/01-context/context/user-intelligence.d.ts.map +1 -0
  232. package/dist/walls/01-context/context/user-intelligence.js.map +1 -0
  233. package/dist/walls/01-context/sessions/event-capture.d.ts +126 -0
  234. package/dist/walls/01-context/sessions/event-capture.d.ts.map +1 -0
  235. package/dist/walls/01-context/sessions/event-capture.js +418 -0
  236. package/dist/walls/01-context/sessions/event-capture.js.map +1 -0
  237. package/dist/walls/01-context/sessions/interruption-recovery.d.ts.map +1 -0
  238. package/dist/walls/01-context/sessions/interruption-recovery.js.map +1 -0
  239. package/dist/walls/01-context/sessions/replay.d.ts +50 -0
  240. package/dist/walls/01-context/sessions/replay.d.ts.map +1 -0
  241. package/dist/walls/01-context/sessions/replay.js +426 -0
  242. package/dist/walls/01-context/sessions/replay.js.map +1 -0
  243. package/dist/walls/01-context/sessions/session-memory.d.ts.map +1 -0
  244. package/dist/{core → walls/01-context/sessions}/session-memory.js +2 -2
  245. package/dist/walls/01-context/sessions/session-memory.js.map +1 -0
  246. package/dist/walls/02-scanner/blindspots/code-scanner.d.ts.map +1 -0
  247. package/dist/{code-scanner.js → walls/02-scanner/blindspots/code-scanner.js} +15 -10
  248. package/dist/walls/02-scanner/blindspots/code-scanner.js.map +1 -0
  249. package/dist/{developer-intelligence.d.ts → walls/02-scanner/profile/developer-intelligence.d.ts} +3 -3
  250. package/dist/walls/02-scanner/profile/developer-intelligence.d.ts.map +1 -0
  251. package/dist/{developer-intelligence.js → walls/02-scanner/profile/developer-intelligence.js} +4 -4
  252. package/dist/walls/02-scanner/profile/developer-intelligence.js.map +1 -0
  253. package/dist/walls/02-scanner/stack/pc-scanner.d.ts.map +1 -0
  254. package/dist/{pc-scanner.js → walls/02-scanner/stack/pc-scanner.js} +1 -1
  255. package/dist/walls/02-scanner/stack/pc-scanner.js.map +1 -0
  256. package/dist/walls/02-scanner/stack/stack-detector.d.ts.map +1 -0
  257. package/dist/walls/02-scanner/stack/stack-detector.js.map +1 -0
  258. package/dist/walls/02-scanner/style/style-pull.d.ts.map +1 -0
  259. package/dist/walls/02-scanner/style/style-pull.js.map +1 -0
  260. package/dist/walls/03-knowledge/decisions/ab-test-framework.d.ts.map +1 -0
  261. package/dist/walls/03-knowledge/decisions/ab-test-framework.js.map +1 -0
  262. package/dist/walls/03-knowledge/decisions/ai-bridge.d.ts.map +1 -0
  263. package/dist/{ai-bridge.js → walls/03-knowledge/decisions/ai-bridge.js} +68 -68
  264. package/dist/walls/03-knowledge/decisions/ai-bridge.js.map +1 -0
  265. package/dist/{core → walls/03-knowledge/decisions}/ai-memory.d.ts +1 -1
  266. package/dist/walls/03-knowledge/decisions/ai-memory.d.ts.map +1 -0
  267. package/dist/{core → walls/03-knowledge/decisions}/ai-memory.js +1 -1
  268. package/dist/walls/03-knowledge/decisions/ai-memory.js.map +1 -0
  269. package/dist/walls/03-knowledge/decisions/behavior-intelligence.d.ts.map +1 -0
  270. package/dist/walls/03-knowledge/decisions/behavior-intelligence.js.map +1 -0
  271. package/dist/walls/03-knowledge/decisions/behavioral-tracker.d.ts.map +1 -0
  272. package/dist/{behavioral-tracker.js → walls/03-knowledge/decisions/behavioral-tracker.js} +80 -80
  273. package/dist/walls/03-knowledge/decisions/behavioral-tracker.js.map +1 -0
  274. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts +20 -0
  275. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts.map +1 -0
  276. package/dist/walls/03-knowledge/decisions/branch-snapshot.js +175 -0
  277. package/dist/walls/03-knowledge/decisions/branch-snapshot.js.map +1 -0
  278. package/dist/walls/03-knowledge/decisions/build-failure-predictor.d.ts.map +1 -0
  279. package/dist/walls/03-knowledge/decisions/build-failure-predictor.js.map +1 -0
  280. package/dist/walls/03-knowledge/decisions/cost-optimizer.d.ts.map +1 -0
  281. package/dist/{core → walls/03-knowledge/decisions}/cost-optimizer.js +1 -1
  282. package/dist/walls/03-knowledge/decisions/cost-optimizer.js.map +1 -0
  283. package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts.map +1 -0
  284. package/dist/{cross-model-engine.js → walls/03-knowledge/decisions/cross-model-engine.js} +23 -23
  285. package/dist/walls/03-knowledge/decisions/cross-model-engine.js.map +1 -0
  286. package/dist/walls/03-knowledge/decisions/cross-model-memory.d.ts.map +1 -0
  287. package/dist/{cross-model-memory.js → walls/03-knowledge/decisions/cross-model-memory.js} +1 -1
  288. package/dist/walls/03-knowledge/decisions/cross-model-memory.js.map +1 -0
  289. package/dist/walls/03-knowledge/decisions/developer-profile.d.ts +6 -0
  290. package/dist/walls/03-knowledge/decisions/developer-profile.d.ts.map +1 -0
  291. package/dist/walls/03-knowledge/decisions/developer-profile.js.map +1 -0
  292. package/dist/walls/03-knowledge/decisions/error-predictor.d.ts.map +1 -0
  293. package/dist/walls/03-knowledge/decisions/error-predictor.js.map +1 -0
  294. package/dist/{core → walls/03-knowledge/decisions}/failure-memory.d.ts +7 -6
  295. package/dist/walls/03-knowledge/decisions/failure-memory.d.ts.map +1 -0
  296. package/dist/walls/03-knowledge/decisions/failure-memory.js +288 -0
  297. package/dist/walls/03-knowledge/decisions/failure-memory.js.map +1 -0
  298. package/dist/walls/03-knowledge/decisions/focus-report.d.ts.map +1 -0
  299. package/dist/walls/03-knowledge/decisions/focus-report.js.map +1 -0
  300. package/dist/{core → walls/03-knowledge/decisions}/git-branch-pregenerator.d.ts +1 -1
  301. package/dist/walls/03-knowledge/decisions/git-branch-pregenerator.d.ts.map +1 -0
  302. package/dist/walls/03-knowledge/decisions/git-branch-pregenerator.js.map +1 -0
  303. package/dist/walls/03-knowledge/decisions/insight-generator.d.ts.map +1 -0
  304. package/dist/walls/03-knowledge/decisions/insight-generator.js.map +1 -0
  305. package/dist/walls/03-knowledge/decisions/journey-memory.d.ts.map +1 -0
  306. package/dist/walls/03-knowledge/decisions/journey-memory.js.map +1 -0
  307. package/dist/walls/03-knowledge/decisions/merge-conflict-predictor.d.ts.map +1 -0
  308. package/dist/walls/03-knowledge/decisions/merge-conflict-predictor.js.map +1 -0
  309. package/dist/walls/03-knowledge/decisions/model-intelligence.d.ts.map +1 -0
  310. package/dist/walls/03-knowledge/decisions/model-intelligence.js.map +1 -0
  311. package/dist/{core → walls/03-knowledge/decisions}/outcome-engine.d.ts +2 -2
  312. package/dist/walls/03-knowledge/decisions/outcome-engine.d.ts.map +1 -0
  313. package/dist/walls/03-knowledge/decisions/outcome-engine.js.map +1 -0
  314. package/dist/{core → walls/03-knowledge/decisions}/outcome-recorder.d.ts +1 -1
  315. package/dist/walls/03-knowledge/decisions/outcome-recorder.d.ts.map +1 -0
  316. package/dist/walls/03-knowledge/decisions/outcome-recorder.js.map +1 -0
  317. package/dist/walls/03-knowledge/decisions/performance-predictor.d.ts.map +1 -0
  318. package/dist/walls/03-knowledge/decisions/performance-predictor.js.map +1 -0
  319. package/dist/walls/03-knowledge/decisions/platt-calibration.d.ts.map +1 -0
  320. package/dist/walls/03-knowledge/decisions/platt-calibration.js.map +1 -0
  321. package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts.map +1 -0
  322. package/dist/{predictive-engine.js → walls/03-knowledge/decisions/predictive-engine.js} +1 -1
  323. package/dist/walls/03-knowledge/decisions/predictive-engine.js.map +1 -0
  324. package/dist/walls/03-knowledge/decisions/predictive-intelligence.d.ts.map +1 -0
  325. package/dist/{predictive-intelligence.js → walls/03-knowledge/decisions/predictive-intelligence.js} +1 -1
  326. package/dist/walls/03-knowledge/decisions/predictive-intelligence.js.map +1 -0
  327. package/dist/walls/03-knowledge/decisions/realtime-guardian.d.ts.map +1 -0
  328. package/dist/walls/03-knowledge/decisions/realtime-guardian.js.map +1 -0
  329. package/dist/{core → walls/03-knowledge/decisions}/recommendation-engine.d.ts +5 -5
  330. package/dist/walls/03-knowledge/decisions/recommendation-engine.d.ts.map +1 -0
  331. package/dist/{core → walls/03-knowledge/decisions}/recommendation-engine.js +1 -1
  332. package/dist/walls/03-knowledge/decisions/recommendation-engine.js.map +1 -0
  333. package/dist/walls/03-knowledge/decisions/security-predictor.d.ts.map +1 -0
  334. package/dist/walls/03-knowledge/decisions/security-predictor.js.map +1 -0
  335. package/dist/walls/03-knowledge/decisions/time-saved.d.ts.map +1 -0
  336. package/dist/walls/03-knowledge/decisions/time-saved.js.map +1 -0
  337. package/dist/walls/03-knowledge/decisions/workflow-outcome-graph.d.ts.map +1 -0
  338. package/dist/walls/03-knowledge/decisions/workflow-outcome-graph.js.map +1 -0
  339. package/dist/{core → walls/03-knowledge/decisions}/workflow-tracker.d.ts +1 -1
  340. package/dist/walls/03-knowledge/decisions/workflow-tracker.d.ts.map +1 -0
  341. package/dist/walls/03-knowledge/decisions/workflow-tracker.js.map +1 -0
  342. package/dist/{core → walls/03-knowledge/dna}/config-attribution.d.ts +1 -1
  343. package/dist/walls/03-knowledge/dna/config-attribution.d.ts.map +1 -0
  344. package/dist/walls/03-knowledge/dna/config-attribution.js.map +1 -0
  345. package/dist/{core → walls/03-knowledge/dna}/convention-detector.d.ts +1 -1
  346. package/dist/walls/03-knowledge/dna/convention-detector.d.ts.map +1 -0
  347. package/dist/{core → walls/03-knowledge/dna}/convention-detector.js +1 -1
  348. package/dist/walls/03-knowledge/dna/convention-detector.js.map +1 -0
  349. package/dist/walls/03-knowledge/dna/cross-domain-projections.d.ts.map +1 -0
  350. package/dist/walls/03-knowledge/dna/cross-domain-projections.js.map +1 -0
  351. package/dist/walls/03-knowledge/dna/cross-language-mappings.d.ts.map +1 -0
  352. package/dist/walls/03-knowledge/dna/cross-language-mappings.js.map +1 -0
  353. package/dist/{core → walls/03-knowledge/dna}/explainability.d.ts +1 -1
  354. package/dist/walls/03-knowledge/dna/explainability.d.ts.map +1 -0
  355. package/dist/{core → walls/03-knowledge/dna}/explainability.js +2 -2
  356. package/dist/walls/03-knowledge/dna/explainability.js.map +1 -0
  357. package/dist/walls/03-knowledge/dna/personal-intelligence.d.ts.map +1 -0
  358. package/dist/{personal-intelligence.js → walls/03-knowledge/dna/personal-intelligence.js} +1 -1
  359. package/dist/walls/03-knowledge/dna/personal-intelligence.js.map +1 -0
  360. package/dist/{core → walls/03-knowledge/dna}/project-dna.d.ts +2 -2
  361. package/dist/walls/03-knowledge/dna/project-dna.d.ts.map +1 -0
  362. package/dist/{core → walls/03-knowledge/dna}/project-dna.js +1 -1
  363. package/dist/walls/03-knowledge/dna/project-dna.js.map +1 -0
  364. package/dist/walls/03-knowledge/dna/proof-engine.d.ts.map +1 -0
  365. package/dist/{core → walls/03-knowledge/dna}/proof-engine.js +1 -1
  366. package/dist/walls/03-knowledge/dna/proof-engine.js.map +1 -0
  367. package/dist/walls/03-knowledge/graph/knowledge-graph-builder.d.ts.map +1 -0
  368. package/dist/walls/03-knowledge/graph/knowledge-graph-builder.js.map +1 -0
  369. package/dist/walls/03-knowledge/graph/knowledge-graph-engine.d.ts.map +1 -0
  370. package/dist/{core → walls/03-knowledge/graph}/knowledge-graph-engine.js +1 -1
  371. package/dist/walls/03-knowledge/graph/knowledge-graph-engine.js.map +1 -0
  372. package/dist/walls/03-knowledge/graph/knowledge-graph.d.ts.map +1 -0
  373. package/dist/{core → walls/03-knowledge/graph}/knowledge-graph.js +1 -1
  374. package/dist/walls/03-knowledge/graph/knowledge-graph.js.map +1 -0
  375. package/dist/walls/04-team/collab/team-collaboration.d.ts.map +1 -0
  376. package/dist/{team-collaboration.js → walls/04-team/collab/team-collaboration.js} +1 -1
  377. package/dist/walls/04-team/collab/team-collaboration.js.map +1 -0
  378. package/dist/walls/04-team/collab/team-git.d.ts.map +1 -0
  379. package/dist/{team-git.js → walls/04-team/collab/team-git.js} +1 -1
  380. package/dist/walls/04-team/collab/team-git.js.map +1 -0
  381. package/dist/walls/04-team/collab/team-intel.d.ts.map +1 -0
  382. package/dist/walls/04-team/collab/team-intel.js.map +1 -0
  383. package/dist/{core → walls/04-team/review}/pr-review-assistant.d.ts +1 -1
  384. package/dist/walls/04-team/review/pr-review-assistant.d.ts.map +1 -0
  385. package/dist/walls/04-team/review/pr-review-assistant.js.map +1 -0
  386. package/dist/walls/05-community/privacy/privacy-manager.d.ts.map +1 -0
  387. package/dist/walls/05-community/privacy/privacy-manager.js.map +1 -0
  388. package/dist/walls/05-community/privacy/security.d.ts.map +1 -0
  389. package/dist/walls/05-community/privacy/security.js.map +1 -0
  390. package/dist/walls/05-community/share/identity-resolver.d.ts.map +1 -0
  391. package/dist/walls/05-community/share/identity-resolver.js.map +1 -0
  392. package/dist/walls/05-community/share/marketplace.d.ts.map +1 -0
  393. package/dist/walls/05-community/share/marketplace.js.map +1 -0
  394. package/dist/walls/05-community/share/reputation.d.ts.map +1 -0
  395. package/dist/walls/05-community/share/reputation.js.map +1 -0
  396. package/dist/{core → walls/05-community/share}/signal-capture.d.ts +1 -1
  397. package/dist/walls/05-community/share/signal-capture.d.ts.map +1 -0
  398. package/dist/{core → walls/05-community/share}/signal-capture.js +2 -2
  399. package/dist/walls/05-community/share/signal-capture.js.map +1 -0
  400. package/dist/walls/05-community/stats/community-advanced-engine.d.ts.map +1 -0
  401. package/dist/{core → walls/05-community/stats}/community-advanced-engine.js +1 -1
  402. package/dist/walls/05-community/stats/community-advanced-engine.js.map +1 -0
  403. package/dist/walls/05-community/stats/community-engine.d.ts.map +1 -0
  404. package/dist/{core → walls/05-community/stats}/community-engine.js +1 -1
  405. package/dist/walls/05-community/stats/community-engine.js.map +1 -0
  406. package/dist/{core → walls/05-community/stats}/community-full.d.ts +1 -1
  407. package/dist/walls/05-community/stats/community-full.d.ts.map +1 -0
  408. package/dist/walls/05-community/stats/community-full.js.map +1 -0
  409. package/dist/walls/05-community/stats/community-intel.d.ts.map +1 -0
  410. package/dist/{community-intel.js → walls/05-community/stats/community-intel.js} +1 -1
  411. package/dist/walls/05-community/stats/community-intel.js.map +1 -0
  412. package/dist/walls/05-community/stats/community-intelligence.d.ts.map +1 -0
  413. package/dist/walls/05-community/stats/community-intelligence.js.map +1 -0
  414. package/dist/walls/05-community/stats/community-live.d.ts.map +1 -0
  415. package/dist/walls/05-community/stats/community-live.js.map +1 -0
  416. package/dist/{core → walls/05-community/stats}/community-prior.d.ts +1 -1
  417. package/dist/walls/05-community/stats/community-prior.d.ts.map +1 -0
  418. package/dist/walls/05-community/stats/community-prior.js.map +1 -0
  419. package/dist/walls/05-community/stats/community-v2.d.ts.map +1 -0
  420. package/dist/{community-v2.js → walls/05-community/stats/community-v2.js} +1 -1
  421. package/dist/walls/05-community/stats/community-v2.js.map +1 -0
  422. package/dist/walls/05-community/stats/layers.d.ts.map +1 -0
  423. package/dist/walls/05-community/stats/layers.js.map +1 -0
  424. package/dist/{core → walls/05-community/stats}/playbook-generator.d.ts +1 -1
  425. package/dist/walls/05-community/stats/playbook-generator.d.ts.map +1 -0
  426. package/dist/walls/05-community/stats/playbook-generator.js.map +1 -0
  427. package/dist/walls/06-memory/database/database.d.ts.map +1 -0
  428. package/dist/{core → walls/06-memory/database}/database.js +37 -2
  429. package/dist/walls/06-memory/database/database.js.map +1 -0
  430. package/dist/walls/06-memory/database/logger.d.ts.map +1 -0
  431. package/dist/walls/06-memory/database/logger.js.map +1 -0
  432. package/dist/walls/06-memory/stores/cell-store.d.ts.map +1 -0
  433. package/dist/walls/06-memory/stores/cell-store.js.map +1 -0
  434. package/dist/walls/06-memory/stores/community-store.d.ts.map +1 -0
  435. package/dist/{core → walls/06-memory/stores}/community-store.js +1 -1
  436. package/dist/walls/06-memory/stores/community-store.js.map +1 -0
  437. package/dist/walls/06-memory/stores/decay-engine.d.ts.map +1 -0
  438. package/dist/walls/06-memory/stores/decay-engine.js.map +1 -0
  439. package/dist/{core → walls/06-memory/stores}/knowledge-graph-store.d.ts +1 -1
  440. package/dist/walls/06-memory/stores/knowledge-graph-store.d.ts.map +1 -0
  441. package/dist/{core → walls/06-memory/stores}/knowledge-graph-store.js +47 -47
  442. package/dist/walls/06-memory/stores/knowledge-graph-store.js.map +1 -0
  443. package/dist/walls/06-memory/stores/outcome-store.d.ts.map +1 -0
  444. package/dist/walls/06-memory/stores/outcome-store.js.map +1 -0
  445. package/dist/walls/06-memory/stores/outcome-types.d.ts.map +1 -0
  446. package/dist/walls/06-memory/stores/outcome-types.js.map +1 -0
  447. package/dist/{core → walls/06-memory/stores}/pattern-store.d.ts +4 -4
  448. package/dist/walls/06-memory/stores/pattern-store.d.ts.map +1 -0
  449. package/dist/{core → walls/06-memory/stores}/pattern-store.js +9 -9
  450. package/dist/walls/06-memory/stores/pattern-store.js.map +1 -0
  451. package/dist/walls/06-memory/stores/recommendation-store.d.ts.map +1 -0
  452. package/dist/walls/06-memory/stores/recommendation-store.js.map +1 -0
  453. package/dist/walls/06-memory/stores/recommendation-types.d.ts.map +1 -0
  454. package/dist/walls/06-memory/stores/recommendation-types.js.map +1 -0
  455. package/dist/walls/06-memory/stores/usage-intelligence-store.d.ts.map +1 -0
  456. package/dist/{core → walls/06-memory/stores}/usage-intelligence-store.js +1 -1
  457. package/dist/walls/06-memory/stores/usage-intelligence-store.js.map +1 -0
  458. package/dist/walls/07-runtime/cli/cli-repl.d.ts +27 -0
  459. package/dist/walls/07-runtime/cli/cli-repl.d.ts.map +1 -0
  460. package/dist/walls/07-runtime/cli/cli-repl.js +76 -0
  461. package/dist/walls/07-runtime/cli/cli-repl.js.map +1 -0
  462. package/dist/walls/07-runtime/cli/cli.d.ts.map +1 -0
  463. package/dist/walls/07-runtime/cli/cli.js +3183 -0
  464. package/dist/walls/07-runtime/cli/cli.js.map +1 -0
  465. package/dist/walls/07-runtime/daemon/lifecycle.d.ts.map +1 -0
  466. package/dist/walls/07-runtime/daemon/lifecycle.js.map +1 -0
  467. package/dist/walls/07-runtime/daemon/server.d.ts +83 -0
  468. package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -0
  469. package/dist/{daemon → walls/07-runtime/daemon}/server.js +211 -279
  470. package/dist/walls/07-runtime/daemon/server.js.map +1 -0
  471. package/dist/walls/07-runtime/daemon/watchdog.d.ts.map +1 -0
  472. package/dist/walls/07-runtime/daemon/watchdog.js.map +1 -0
  473. package/dist/walls/07-runtime/daemon/websocket.d.ts.map +1 -0
  474. package/dist/{daemon → walls/07-runtime/daemon}/websocket.js +1 -1
  475. package/dist/walls/07-runtime/daemon/websocket.js.map +1 -0
  476. package/dist/walls/07-runtime/setup/cell-state.d.ts +17 -0
  477. package/dist/walls/07-runtime/setup/cell-state.d.ts.map +1 -0
  478. package/dist/walls/07-runtime/setup/cell-state.js +94 -0
  479. package/dist/walls/07-runtime/setup/cell-state.js.map +1 -0
  480. package/dist/walls/07-runtime/setup/first-run.d.ts.map +1 -0
  481. package/dist/walls/07-runtime/setup/first-run.js.map +1 -0
  482. package/dist/walls/07-runtime/setup/production.d.ts.map +1 -0
  483. package/dist/{production.js → walls/07-runtime/setup/production.js} +2 -2
  484. package/dist/walls/07-runtime/setup/production.js.map +1 -0
  485. package/dist/walls/07-runtime/setup/setup.d.ts.map +1 -0
  486. package/dist/{core → walls/07-runtime/setup}/setup.js +5 -5
  487. package/dist/walls/07-runtime/setup/setup.js.map +1 -0
  488. package/dist/walls/07-runtime/watcher/editor-monitor.d.ts +93 -0
  489. package/dist/walls/07-runtime/watcher/editor-monitor.d.ts.map +1 -0
  490. package/dist/walls/07-runtime/watcher/editor-monitor.js +497 -0
  491. package/dist/walls/07-runtime/watcher/editor-monitor.js.map +1 -0
  492. package/dist/walls/07-runtime/watcher/live-watcher.d.ts.map +1 -0
  493. package/dist/{core → walls/07-runtime/watcher}/live-watcher.js +46 -46
  494. package/dist/walls/07-runtime/watcher/live-watcher.js.map +1 -0
  495. package/dist/walls/07-runtime/watcher/socket-bridge.d.ts +139 -0
  496. package/dist/walls/07-runtime/watcher/socket-bridge.d.ts.map +1 -0
  497. package/dist/walls/07-runtime/watcher/socket-bridge.js +566 -0
  498. package/dist/walls/07-runtime/watcher/socket-bridge.js.map +1 -0
  499. package/dist/walls/07-runtime/watcher/watch-cli.d.ts.map +1 -0
  500. package/dist/walls/07-runtime/watcher/watch-cli.js.map +1 -0
  501. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts +20 -0
  502. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts.map +1 -0
  503. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js +250 -0
  504. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js.map +1 -0
  505. package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts.map +1 -0
  506. package/dist/{core → walls/08-cloud-bridge/sync}/cloud-client.js +1 -1
  507. package/dist/walls/08-cloud-bridge/sync/cloud-client.js.map +1 -0
  508. package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts.map +1 -0
  509. package/dist/{cloud-sync.js → walls/08-cloud-bridge/sync/cloud-sync.js} +2 -2
  510. package/dist/walls/08-cloud-bridge/sync/cloud-sync.js.map +1 -0
  511. package/package.json +4 -5
  512. package/dist/ai-bridge.d.ts.map +0 -1
  513. package/dist/ai-bridge.js.map +0 -1
  514. package/dist/behavior-intelligence.d.ts.map +0 -1
  515. package/dist/behavior-intelligence.js.map +0 -1
  516. package/dist/behavioral-tracker.d.ts.map +0 -1
  517. package/dist/behavioral-tracker.js.map +0 -1
  518. package/dist/cli.d.ts.map +0 -1
  519. package/dist/cli.js +0 -1538
  520. package/dist/cli.js.map +0 -1
  521. package/dist/cloud-sync.d.ts.map +0 -1
  522. package/dist/cloud-sync.js.map +0 -1
  523. package/dist/code-scanner.d.ts.map +0 -1
  524. package/dist/code-scanner.js.map +0 -1
  525. package/dist/community-intel.d.ts.map +0 -1
  526. package/dist/community-intel.js.map +0 -1
  527. package/dist/community-intelligence.d.ts.map +0 -1
  528. package/dist/community-intelligence.js.map +0 -1
  529. package/dist/community-v2.d.ts.map +0 -1
  530. package/dist/community-v2.js.map +0 -1
  531. package/dist/core/ab-test-framework.d.ts.map +0 -1
  532. package/dist/core/ab-test-framework.js.map +0 -1
  533. package/dist/core/agents-md.d.ts.map +0 -1
  534. package/dist/core/agents-md.js.map +0 -1
  535. package/dist/core/ai-memory.d.ts.map +0 -1
  536. package/dist/core/ai-memory.js.map +0 -1
  537. package/dist/core/build-failure-predictor.d.ts.map +0 -1
  538. package/dist/core/build-failure-predictor.js.map +0 -1
  539. package/dist/core/cell-store.d.ts.map +0 -1
  540. package/dist/core/cell-store.js.map +0 -1
  541. package/dist/core/cloud-client.d.ts.map +0 -1
  542. package/dist/core/cloud-client.js.map +0 -1
  543. package/dist/core/community-advanced-engine.d.ts.map +0 -1
  544. package/dist/core/community-advanced-engine.js.map +0 -1
  545. package/dist/core/community-engine.d.ts.map +0 -1
  546. package/dist/core/community-engine.js.map +0 -1
  547. package/dist/core/community-full.d.ts.map +0 -1
  548. package/dist/core/community-full.js.map +0 -1
  549. package/dist/core/community-live.d.ts.map +0 -1
  550. package/dist/core/community-live.js.map +0 -1
  551. package/dist/core/community-prior.d.ts.map +0 -1
  552. package/dist/core/community-prior.js.map +0 -1
  553. package/dist/core/community-store.d.ts.map +0 -1
  554. package/dist/core/community-store.js.map +0 -1
  555. package/dist/core/config-attribution.d.ts.map +0 -1
  556. package/dist/core/config-attribution.js.map +0 -1
  557. package/dist/core/convention-detector.d.ts.map +0 -1
  558. package/dist/core/convention-detector.js.map +0 -1
  559. package/dist/core/cost-optimizer.d.ts.map +0 -1
  560. package/dist/core/cost-optimizer.js.map +0 -1
  561. package/dist/core/cross-domain-projections.d.ts.map +0 -1
  562. package/dist/core/cross-domain-projections.js.map +0 -1
  563. package/dist/core/cross-language-mappings.d.ts.map +0 -1
  564. package/dist/core/cross-language-mappings.js.map +0 -1
  565. package/dist/core/database.d.ts.map +0 -1
  566. package/dist/core/database.js.map +0 -1
  567. package/dist/core/decay-engine.d.ts.map +0 -1
  568. package/dist/core/decay-engine.js.map +0 -1
  569. package/dist/core/developer-profile.d.ts +0 -6
  570. package/dist/core/developer-profile.d.ts.map +0 -1
  571. package/dist/core/developer-profile.js.map +0 -1
  572. package/dist/core/error-predictor.d.ts.map +0 -1
  573. package/dist/core/error-predictor.js.map +0 -1
  574. package/dist/core/explainability.d.ts.map +0 -1
  575. package/dist/core/explainability.js.map +0 -1
  576. package/dist/core/failure-memory.d.ts.map +0 -1
  577. package/dist/core/failure-memory.js +0 -113
  578. package/dist/core/failure-memory.js.map +0 -1
  579. package/dist/core/git-branch-pregenerator.d.ts.map +0 -1
  580. package/dist/core/git-branch-pregenerator.js.map +0 -1
  581. package/dist/core/identity-resolver.d.ts.map +0 -1
  582. package/dist/core/identity-resolver.js.map +0 -1
  583. package/dist/core/interruption-recovery.d.ts.map +0 -1
  584. package/dist/core/interruption-recovery.js.map +0 -1
  585. package/dist/core/knowledge-graph-engine.d.ts.map +0 -1
  586. package/dist/core/knowledge-graph-engine.js.map +0 -1
  587. package/dist/core/knowledge-graph-store.d.ts.map +0 -1
  588. package/dist/core/knowledge-graph-store.js.map +0 -1
  589. package/dist/core/knowledge-graph.d.ts.map +0 -1
  590. package/dist/core/knowledge-graph.js.map +0 -1
  591. package/dist/core/live-watcher.d.ts.map +0 -1
  592. package/dist/core/live-watcher.js.map +0 -1
  593. package/dist/core/logger.d.ts.map +0 -1
  594. package/dist/core/logger.js.map +0 -1
  595. package/dist/core/marketplace.d.ts.map +0 -1
  596. package/dist/core/marketplace.js.map +0 -1
  597. package/dist/core/merge-conflict-predictor.d.ts.map +0 -1
  598. package/dist/core/merge-conflict-predictor.js.map +0 -1
  599. package/dist/core/model-intelligence.d.ts.map +0 -1
  600. package/dist/core/model-intelligence.js.map +0 -1
  601. package/dist/core/outcome-engine.d.ts.map +0 -1
  602. package/dist/core/outcome-engine.js.map +0 -1
  603. package/dist/core/outcome-recorder.d.ts.map +0 -1
  604. package/dist/core/outcome-recorder.js.map +0 -1
  605. package/dist/core/outcome-store.d.ts.map +0 -1
  606. package/dist/core/outcome-store.js.map +0 -1
  607. package/dist/core/outcome-types.d.ts.map +0 -1
  608. package/dist/core/outcome-types.js.map +0 -1
  609. package/dist/core/pattern-store.d.ts.map +0 -1
  610. package/dist/core/pattern-store.js.map +0 -1
  611. package/dist/core/performance-predictor.d.ts.map +0 -1
  612. package/dist/core/performance-predictor.js.map +0 -1
  613. package/dist/core/platt-calibration.d.ts.map +0 -1
  614. package/dist/core/platt-calibration.js.map +0 -1
  615. package/dist/core/playbook-generator.d.ts.map +0 -1
  616. package/dist/core/playbook-generator.js.map +0 -1
  617. package/dist/core/pr-review-assistant.d.ts.map +0 -1
  618. package/dist/core/pr-review-assistant.js.map +0 -1
  619. package/dist/core/privacy-manager.d.ts.map +0 -1
  620. package/dist/core/privacy-manager.js.map +0 -1
  621. package/dist/core/project-dna.d.ts.map +0 -1
  622. package/dist/core/project-dna.js.map +0 -1
  623. package/dist/core/prompt-builder.d.ts.map +0 -1
  624. package/dist/core/prompt-builder.js.map +0 -1
  625. package/dist/core/proof-engine.d.ts.map +0 -1
  626. package/dist/core/proof-engine.js.map +0 -1
  627. package/dist/core/realtime-guardian.d.ts.map +0 -1
  628. package/dist/core/realtime-guardian.js.map +0 -1
  629. package/dist/core/recommendation-engine.d.ts.map +0 -1
  630. package/dist/core/recommendation-engine.js.map +0 -1
  631. package/dist/core/recommendation-store.d.ts.map +0 -1
  632. package/dist/core/recommendation-store.js.map +0 -1
  633. package/dist/core/recommendation-types.d.ts.map +0 -1
  634. package/dist/core/recommendation-types.js.map +0 -1
  635. package/dist/core/reputation.d.ts.map +0 -1
  636. package/dist/core/reputation.js.map +0 -1
  637. package/dist/core/security-predictor.d.ts.map +0 -1
  638. package/dist/core/security-predictor.js.map +0 -1
  639. package/dist/core/security.d.ts.map +0 -1
  640. package/dist/core/security.js.map +0 -1
  641. package/dist/core/session-memory.d.ts.map +0 -1
  642. package/dist/core/session-memory.js.map +0 -1
  643. package/dist/core/setup.d.ts.map +0 -1
  644. package/dist/core/setup.js.map +0 -1
  645. package/dist/core/signal-capture.d.ts.map +0 -1
  646. package/dist/core/signal-capture.js.map +0 -1
  647. package/dist/core/time-saved.d.ts.map +0 -1
  648. package/dist/core/time-saved.js.map +0 -1
  649. package/dist/core/usage-intelligence-store.d.ts.map +0 -1
  650. package/dist/core/usage-intelligence-store.js.map +0 -1
  651. package/dist/core/watch-cli.d.ts.map +0 -1
  652. package/dist/core/watch-cli.js.map +0 -1
  653. package/dist/core/workflow-outcome-graph.d.ts.map +0 -1
  654. package/dist/core/workflow-outcome-graph.js.map +0 -1
  655. package/dist/core/workflow-tracker.d.ts.map +0 -1
  656. package/dist/core/workflow-tracker.js.map +0 -1
  657. package/dist/cross-model-engine.d.ts.map +0 -1
  658. package/dist/cross-model-engine.js.map +0 -1
  659. package/dist/cross-model-memory.d.ts.map +0 -1
  660. package/dist/cross-model-memory.js.map +0 -1
  661. package/dist/daemon/lifecycle.d.ts.map +0 -1
  662. package/dist/daemon/lifecycle.js.map +0 -1
  663. package/dist/daemon/server.d.ts +0 -83
  664. package/dist/daemon/server.d.ts.map +0 -1
  665. package/dist/daemon/server.js.map +0 -1
  666. package/dist/daemon/watchdog.d.ts.map +0 -1
  667. package/dist/daemon/watchdog.js.map +0 -1
  668. package/dist/daemon/websocket.d.ts.map +0 -1
  669. package/dist/daemon/websocket.js.map +0 -1
  670. package/dist/developer-intelligence.d.ts.map +0 -1
  671. package/dist/developer-intelligence.js.map +0 -1
  672. package/dist/first-run.d.ts.map +0 -1
  673. package/dist/first-run.js.map +0 -1
  674. package/dist/focus-report.d.ts.map +0 -1
  675. package/dist/focus-report.js.map +0 -1
  676. package/dist/ide-intelligence.d.ts.map +0 -1
  677. package/dist/ide-intelligence.js.map +0 -1
  678. package/dist/insight-generator.d.ts.map +0 -1
  679. package/dist/insight-generator.js.map +0 -1
  680. package/dist/journey-memory.d.ts.map +0 -1
  681. package/dist/journey-memory.js.map +0 -1
  682. package/dist/knowledge-graph-builder.d.ts.map +0 -1
  683. package/dist/knowledge-graph-builder.js.map +0 -1
  684. package/dist/layers.d.ts.map +0 -1
  685. package/dist/layers.js.map +0 -1
  686. package/dist/mcp-server.d.ts +0 -406
  687. package/dist/mcp-server.d.ts.map +0 -1
  688. package/dist/mcp-server.js +0 -414
  689. package/dist/mcp-server.js.map +0 -1
  690. package/dist/onboarding-scan.d.ts +0 -174
  691. package/dist/onboarding-scan.d.ts.map +0 -1
  692. package/dist/onboarding-scan.js +0 -1039
  693. package/dist/onboarding-scan.js.map +0 -1
  694. package/dist/pc-scanner.d.ts.map +0 -1
  695. package/dist/pc-scanner.js.map +0 -1
  696. package/dist/personal-intelligence.d.ts.map +0 -1
  697. package/dist/personal-intelligence.js.map +0 -1
  698. package/dist/predictive-engine.d.ts.map +0 -1
  699. package/dist/predictive-engine.js.map +0 -1
  700. package/dist/predictive-intelligence.d.ts.map +0 -1
  701. package/dist/predictive-intelligence.js.map +0 -1
  702. package/dist/production.d.ts.map +0 -1
  703. package/dist/production.js.map +0 -1
  704. package/dist/senior-features.d.ts +0 -63
  705. package/dist/senior-features.d.ts.map +0 -1
  706. package/dist/senior-features.js +0 -325
  707. package/dist/senior-features.js.map +0 -1
  708. package/dist/stack-detector.d.ts.map +0 -1
  709. package/dist/stack-detector.js.map +0 -1
  710. package/dist/store.d.ts +0 -4
  711. package/dist/store.d.ts.map +0 -1
  712. package/dist/store.js +0 -47
  713. package/dist/store.js.map +0 -1
  714. package/dist/style-pull.d.ts.map +0 -1
  715. package/dist/style-pull.js.map +0 -1
  716. package/dist/team-collaboration.d.ts.map +0 -1
  717. package/dist/team-collaboration.js.map +0 -1
  718. package/dist/team-git.d.ts.map +0 -1
  719. package/dist/team-git.js.map +0 -1
  720. package/dist/team-intel.d.ts.map +0 -1
  721. package/dist/team-intel.js.map +0 -1
  722. package/dist/team-intelligence.d.ts +0 -64
  723. package/dist/team-intelligence.d.ts.map +0 -1
  724. package/dist/team-intelligence.js +0 -289
  725. package/dist/team-intelligence.js.map +0 -1
  726. package/dist/test-touch-145026.d.ts +0 -1
  727. package/dist/test-touch-145026.d.ts.map +0 -1
  728. package/dist/test-touch-145026.js +0 -2
  729. package/dist/test-touch-145026.js.map +0 -1
  730. package/dist/test-watch.d.ts +0 -2
  731. package/dist/test-watch.d.ts.map +0 -1
  732. package/dist/test-watch.js +0 -8
  733. package/dist/test-watch.js.map +0 -1
  734. package/dist/user-intelligence.d.ts.map +0 -1
  735. package/dist/user-intelligence.js.map +0 -1
  736. package/dist/verify-145929.d.ts +0 -1
  737. package/dist/verify-145929.d.ts.map +0 -1
  738. package/dist/verify-145929.js +0 -2
  739. package/dist/verify-145929.js.map +0 -1
  740. package/dist/verify2-150021.d.ts +0 -1
  741. package/dist/verify2-150021.d.ts.map +0 -1
  742. package/dist/verify2-150021.js +0 -2
  743. package/dist/verify2-150021.js.map +0 -1
  744. package/dist/work-style.d.ts +0 -49
  745. package/dist/work-style.d.ts.map +0 -1
  746. package/dist/work-style.js +0 -247
  747. package/dist/work-style.js.map +0 -1
  748. /package/dist/{core → walls/01-context/context}/agents-md.d.ts +0 -0
  749. /package/dist/{core → walls/01-context/context}/agents-md.js +0 -0
  750. /package/dist/{ide-intelligence.d.ts → walls/01-context/context/ide-intelligence.d.ts} +0 -0
  751. /package/dist/{core → walls/01-context/context}/prompt-builder.d.ts +0 -0
  752. /package/dist/{user-intelligence.d.ts → walls/01-context/context/user-intelligence.d.ts} +0 -0
  753. /package/dist/{user-intelligence.js → walls/01-context/context/user-intelligence.js} +0 -0
  754. /package/dist/{core → walls/01-context/sessions}/interruption-recovery.d.ts +0 -0
  755. /package/dist/{core → walls/01-context/sessions}/interruption-recovery.js +0 -0
  756. /package/dist/{core → walls/01-context/sessions}/session-memory.d.ts +0 -0
  757. /package/dist/{code-scanner.d.ts → walls/02-scanner/blindspots/code-scanner.d.ts} +0 -0
  758. /package/dist/{pc-scanner.d.ts → walls/02-scanner/stack/pc-scanner.d.ts} +0 -0
  759. /package/dist/{stack-detector.d.ts → walls/02-scanner/stack/stack-detector.d.ts} +0 -0
  760. /package/dist/{stack-detector.js → walls/02-scanner/stack/stack-detector.js} +0 -0
  761. /package/dist/{style-pull.d.ts → walls/02-scanner/style/style-pull.d.ts} +0 -0
  762. /package/dist/{style-pull.js → walls/02-scanner/style/style-pull.js} +0 -0
  763. /package/dist/{core → walls/03-knowledge/decisions}/ab-test-framework.d.ts +0 -0
  764. /package/dist/{core → walls/03-knowledge/decisions}/ab-test-framework.js +0 -0
  765. /package/dist/{ai-bridge.d.ts → walls/03-knowledge/decisions/ai-bridge.d.ts} +0 -0
  766. /package/dist/{behavior-intelligence.d.ts → walls/03-knowledge/decisions/behavior-intelligence.d.ts} +0 -0
  767. /package/dist/{behavior-intelligence.js → walls/03-knowledge/decisions/behavior-intelligence.js} +0 -0
  768. /package/dist/{behavioral-tracker.d.ts → walls/03-knowledge/decisions/behavioral-tracker.d.ts} +0 -0
  769. /package/dist/{core → walls/03-knowledge/decisions}/build-failure-predictor.d.ts +0 -0
  770. /package/dist/{core → walls/03-knowledge/decisions}/build-failure-predictor.js +0 -0
  771. /package/dist/{core → walls/03-knowledge/decisions}/cost-optimizer.d.ts +0 -0
  772. /package/dist/{cross-model-engine.d.ts → walls/03-knowledge/decisions/cross-model-engine.d.ts} +0 -0
  773. /package/dist/{cross-model-memory.d.ts → walls/03-knowledge/decisions/cross-model-memory.d.ts} +0 -0
  774. /package/dist/{core → walls/03-knowledge/decisions}/developer-profile.js +0 -0
  775. /package/dist/{core → walls/03-knowledge/decisions}/error-predictor.d.ts +0 -0
  776. /package/dist/{core → walls/03-knowledge/decisions}/error-predictor.js +0 -0
  777. /package/dist/{focus-report.d.ts → walls/03-knowledge/decisions/focus-report.d.ts} +0 -0
  778. /package/dist/{focus-report.js → walls/03-knowledge/decisions/focus-report.js} +0 -0
  779. /package/dist/{core → walls/03-knowledge/decisions}/git-branch-pregenerator.js +0 -0
  780. /package/dist/{insight-generator.d.ts → walls/03-knowledge/decisions/insight-generator.d.ts} +0 -0
  781. /package/dist/{insight-generator.js → walls/03-knowledge/decisions/insight-generator.js} +0 -0
  782. /package/dist/{journey-memory.d.ts → walls/03-knowledge/decisions/journey-memory.d.ts} +0 -0
  783. /package/dist/{journey-memory.js → walls/03-knowledge/decisions/journey-memory.js} +0 -0
  784. /package/dist/{core → walls/03-knowledge/decisions}/merge-conflict-predictor.d.ts +0 -0
  785. /package/dist/{core → walls/03-knowledge/decisions}/merge-conflict-predictor.js +0 -0
  786. /package/dist/{core → walls/03-knowledge/decisions}/model-intelligence.d.ts +0 -0
  787. /package/dist/{core → walls/03-knowledge/decisions}/model-intelligence.js +0 -0
  788. /package/dist/{core → walls/03-knowledge/decisions}/outcome-engine.js +0 -0
  789. /package/dist/{core → walls/03-knowledge/decisions}/outcome-recorder.js +0 -0
  790. /package/dist/{core → walls/03-knowledge/decisions}/performance-predictor.d.ts +0 -0
  791. /package/dist/{core → walls/03-knowledge/decisions}/performance-predictor.js +0 -0
  792. /package/dist/{core → walls/03-knowledge/decisions}/platt-calibration.d.ts +0 -0
  793. /package/dist/{core → walls/03-knowledge/decisions}/platt-calibration.js +0 -0
  794. /package/dist/{predictive-engine.d.ts → walls/03-knowledge/decisions/predictive-engine.d.ts} +0 -0
  795. /package/dist/{predictive-intelligence.d.ts → walls/03-knowledge/decisions/predictive-intelligence.d.ts} +0 -0
  796. /package/dist/{core → walls/03-knowledge/decisions}/realtime-guardian.d.ts +0 -0
  797. /package/dist/{core → walls/03-knowledge/decisions}/realtime-guardian.js +0 -0
  798. /package/dist/{core → walls/03-knowledge/decisions}/security-predictor.d.ts +0 -0
  799. /package/dist/{core → walls/03-knowledge/decisions}/security-predictor.js +0 -0
  800. /package/dist/{core → walls/03-knowledge/decisions}/time-saved.d.ts +0 -0
  801. /package/dist/{core → walls/03-knowledge/decisions}/time-saved.js +0 -0
  802. /package/dist/{core → walls/03-knowledge/decisions}/workflow-outcome-graph.d.ts +0 -0
  803. /package/dist/{core → walls/03-knowledge/decisions}/workflow-outcome-graph.js +0 -0
  804. /package/dist/{core → walls/03-knowledge/decisions}/workflow-tracker.js +0 -0
  805. /package/dist/{core → walls/03-knowledge/dna}/config-attribution.js +0 -0
  806. /package/dist/{core → walls/03-knowledge/dna}/cross-domain-projections.d.ts +0 -0
  807. /package/dist/{core → walls/03-knowledge/dna}/cross-domain-projections.js +0 -0
  808. /package/dist/{core → walls/03-knowledge/dna}/cross-language-mappings.d.ts +0 -0
  809. /package/dist/{core → walls/03-knowledge/dna}/cross-language-mappings.js +0 -0
  810. /package/dist/{personal-intelligence.d.ts → walls/03-knowledge/dna/personal-intelligence.d.ts} +0 -0
  811. /package/dist/{core → walls/03-knowledge/dna}/proof-engine.d.ts +0 -0
  812. /package/dist/{knowledge-graph-builder.d.ts → walls/03-knowledge/graph/knowledge-graph-builder.d.ts} +0 -0
  813. /package/dist/{knowledge-graph-builder.js → walls/03-knowledge/graph/knowledge-graph-builder.js} +0 -0
  814. /package/dist/{core → walls/03-knowledge/graph}/knowledge-graph-engine.d.ts +0 -0
  815. /package/dist/{core → walls/03-knowledge/graph}/knowledge-graph.d.ts +0 -0
  816. /package/dist/{team-collaboration.d.ts → walls/04-team/collab/team-collaboration.d.ts} +0 -0
  817. /package/dist/{team-git.d.ts → walls/04-team/collab/team-git.d.ts} +0 -0
  818. /package/dist/{team-intel.d.ts → walls/04-team/collab/team-intel.d.ts} +0 -0
  819. /package/dist/{team-intel.js → walls/04-team/collab/team-intel.js} +0 -0
  820. /package/dist/{core → walls/04-team/review}/pr-review-assistant.js +0 -0
  821. /package/dist/{core → walls/05-community/privacy}/privacy-manager.d.ts +0 -0
  822. /package/dist/{core → walls/05-community/privacy}/privacy-manager.js +0 -0
  823. /package/dist/{core → walls/05-community/privacy}/security.d.ts +0 -0
  824. /package/dist/{core → walls/05-community/privacy}/security.js +0 -0
  825. /package/dist/{core → walls/05-community/share}/identity-resolver.d.ts +0 -0
  826. /package/dist/{core → walls/05-community/share}/identity-resolver.js +0 -0
  827. /package/dist/{core → walls/05-community/share}/marketplace.d.ts +0 -0
  828. /package/dist/{core → walls/05-community/share}/marketplace.js +0 -0
  829. /package/dist/{core → walls/05-community/share}/reputation.d.ts +0 -0
  830. /package/dist/{core → walls/05-community/share}/reputation.js +0 -0
  831. /package/dist/{core → walls/05-community/stats}/community-advanced-engine.d.ts +0 -0
  832. /package/dist/{core → walls/05-community/stats}/community-engine.d.ts +0 -0
  833. /package/dist/{core → walls/05-community/stats}/community-full.js +0 -0
  834. /package/dist/{community-intel.d.ts → walls/05-community/stats/community-intel.d.ts} +0 -0
  835. /package/dist/{community-intelligence.d.ts → walls/05-community/stats/community-intelligence.d.ts} +0 -0
  836. /package/dist/{community-intelligence.js → walls/05-community/stats/community-intelligence.js} +0 -0
  837. /package/dist/{core → walls/05-community/stats}/community-live.d.ts +0 -0
  838. /package/dist/{core → walls/05-community/stats}/community-live.js +0 -0
  839. /package/dist/{core → walls/05-community/stats}/community-prior.js +0 -0
  840. /package/dist/{community-v2.d.ts → walls/05-community/stats/community-v2.d.ts} +0 -0
  841. /package/dist/{layers.d.ts → walls/05-community/stats/layers.d.ts} +0 -0
  842. /package/dist/{layers.js → walls/05-community/stats/layers.js} +0 -0
  843. /package/dist/{core → walls/05-community/stats}/playbook-generator.js +0 -0
  844. /package/dist/{core → walls/06-memory/database}/database.d.ts +0 -0
  845. /package/dist/{core → walls/06-memory/database}/logger.d.ts +0 -0
  846. /package/dist/{core → walls/06-memory/database}/logger.js +0 -0
  847. /package/dist/{core → walls/06-memory/stores}/cell-store.d.ts +0 -0
  848. /package/dist/{core → walls/06-memory/stores}/cell-store.js +0 -0
  849. /package/dist/{core → walls/06-memory/stores}/community-store.d.ts +0 -0
  850. /package/dist/{core → walls/06-memory/stores}/decay-engine.d.ts +0 -0
  851. /package/dist/{core → walls/06-memory/stores}/decay-engine.js +0 -0
  852. /package/dist/{core → walls/06-memory/stores}/outcome-store.d.ts +0 -0
  853. /package/dist/{core → walls/06-memory/stores}/outcome-store.js +0 -0
  854. /package/dist/{core → walls/06-memory/stores}/outcome-types.d.ts +0 -0
  855. /package/dist/{core → walls/06-memory/stores}/outcome-types.js +0 -0
  856. /package/dist/{core → walls/06-memory/stores}/recommendation-store.d.ts +0 -0
  857. /package/dist/{core → walls/06-memory/stores}/recommendation-store.js +0 -0
  858. /package/dist/{core → walls/06-memory/stores}/recommendation-types.d.ts +0 -0
  859. /package/dist/{core → walls/06-memory/stores}/recommendation-types.js +0 -0
  860. /package/dist/{core → walls/06-memory/stores}/usage-intelligence-store.d.ts +0 -0
  861. /package/dist/{cli.d.ts → walls/07-runtime/cli/cli.d.ts} +0 -0
  862. /package/dist/{daemon → walls/07-runtime/daemon}/lifecycle.d.ts +0 -0
  863. /package/dist/{daemon → walls/07-runtime/daemon}/lifecycle.js +0 -0
  864. /package/dist/{daemon → walls/07-runtime/daemon}/watchdog.d.ts +0 -0
  865. /package/dist/{daemon → walls/07-runtime/daemon}/watchdog.js +0 -0
  866. /package/dist/{daemon → walls/07-runtime/daemon}/websocket.d.ts +0 -0
  867. /package/dist/{first-run.d.ts → walls/07-runtime/setup/first-run.d.ts} +0 -0
  868. /package/dist/{first-run.js → walls/07-runtime/setup/first-run.js} +0 -0
  869. /package/dist/{production.d.ts → walls/07-runtime/setup/production.d.ts} +0 -0
  870. /package/dist/{core → walls/07-runtime/setup}/setup.d.ts +0 -0
  871. /package/dist/{core → walls/07-runtime/watcher}/live-watcher.d.ts +0 -0
  872. /package/dist/{core → walls/07-runtime/watcher}/watch-cli.d.ts +0 -0
  873. /package/dist/{core → walls/07-runtime/watcher}/watch-cli.js +0 -0
  874. /package/dist/{core → walls/08-cloud-bridge/sync}/cloud-client.d.ts +0 -0
  875. /package/dist/{cloud-sync.d.ts → walls/08-cloud-bridge/sync/cloud-sync.d.ts} +0 -0
package/dist/cli.js DELETED
@@ -1,1538 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- const path = __importStar(require("path"));
41
- const fs = __importStar(require("fs"));
42
- const os = __importStar(require("os"));
43
- const chalk_1 = __importDefault(require("chalk"));
44
- const figlet_1 = __importDefault(require("figlet"));
45
- const gradient_string_1 = __importDefault(require("gradient-string"));
46
- const database_1 = require("./core/database");
47
- const layers_1 = require("./layers");
48
- (0, database_1.initializeDatabase)();
49
- const C = {
50
- primary: chalk_1.default.hex('#FF6B35'),
51
- success: chalk_1.default.green,
52
- warn: chalk_1.default.yellow,
53
- dim: chalk_1.default.dim,
54
- bold: chalk_1.default.bold,
55
- num: (s) => chalk_1.default.hex('#FF6B35').bold(s),
56
- };
57
- const project = path.basename(process.cwd());
58
- // ─── Parse ──────────────────────────────────────────────────────────────────
59
- // Parse args, treating double-quoted values as single tokens (so paths with spaces survive).
60
- function parseArgs(argv) {
61
- const out = [];
62
- let buf = '';
63
- let inQuote = false;
64
- for (const a of argv) {
65
- if (inQuote) {
66
- buf += ' ' + a;
67
- if (a.endsWith('"')) {
68
- out.push(buf.slice(0, -1));
69
- buf = '';
70
- inQuote = false;
71
- }
72
- }
73
- else if (a.startsWith('"') && !a.endsWith('"')) {
74
- buf = a.slice(1);
75
- inQuote = true;
76
- }
77
- else if (a.startsWith('"') && a.endsWith('"') && a.length > 1) {
78
- out.push(a.slice(1, -1));
79
- }
80
- else {
81
- out.push(a);
82
- }
83
- }
84
- if (buf)
85
- out.push(buf);
86
- return out;
87
- }
88
- const args = parseArgs(process.argv.slice(2));
89
- const cmd = args[0] || '';
90
- switch (cmd) {
91
- case '--version':
92
- case '-v':
93
- case 'version':
94
- doVersion();
95
- break;
96
- case 'start':
97
- doStart();
98
- break;
99
- case 'stop':
100
- doStop();
101
- break;
102
- case 'setup':
103
- doSetup().catch((e) => {
104
- const msg = e instanceof Error ? e.message : String(e);
105
- console.log(C.warn(' Setup crashed: ' + msg));
106
- process.exit(1);
107
- });
108
- break;
109
- case 'scan':
110
- doScan();
111
- break;
112
- case 'analyze':
113
- doAnalyze();
114
- break;
115
- case 'status':
116
- doStatus();
117
- break;
118
- case 'session':
119
- doSession();
120
- break;
121
- case 'decisions':
122
- doDecisions();
123
- break;
124
- case 'team':
125
- doTeam();
126
- break;
127
- case 'community':
128
- doCommunity();
129
- break;
130
- case 'watch':
131
- doWatch();
132
- break;
133
- case 'blindspots':
134
- doBlindspots();
135
- break;
136
- case 'context':
137
- doContext();
138
- break;
139
- case 'mcp-config':
140
- doMcpConfig();
141
- break;
142
- case 'help':
143
- case '--help':
144
- case '-h':
145
- doHelp();
146
- break;
147
- default:
148
- doStatus();
149
- break;
150
- }
151
- // ─── cell start ─────────────────────────────────────────────────────────────
152
- function doStart() {
153
- const banner = figlet_1.default.textSync('CELL', { font: 'ANSI Shadow', horizontalLayout: 'fitted' });
154
- console.log((0, gradient_string_1.default)(['#FF6B35', '#FFAB91'])(banner));
155
- console.log(C.dim(' Starting everything...\n'));
156
- // 0. First-run greeting
157
- try {
158
- const { firstRunGreeting } = require('./first-run');
159
- firstRunGreeting();
160
- }
161
- catch { }
162
- // 1. Check if daemon is already running (cheap /health probe) — if so,
163
- // skip restart and just print status. This makes `cell start` re-run safe.
164
- const http = require('http');
165
- const probeReq = http.request({
166
- hostname: '127.0.0.1', port: 9876, path: '/health', method: 'GET', timeout: 1000,
167
- }, (res) => {
168
- if (res.statusCode === 200) {
169
- let data = '';
170
- res.on('data', (chunk) => { data += chunk ? chunk.toString() : ''; });
171
- res.on('end', () => {
172
- let up = 0;
173
- try {
174
- up = JSON.parse(data).uptimeSeconds || 0;
175
- }
176
- catch { }
177
- const upH = Math.floor(up / 3600);
178
- const upM = Math.floor((up % 3600) / 60);
179
- const upStr = upH > 0 ? `${upH}h ${upM}m` : upM > 0 ? `${upM}m` : `${up}s`;
180
- console.log(C.success(` Daemon: already running on port 9876 (uptime ${upStr})`));
181
- printProjectStatusAndExit();
182
- });
183
- }
184
- else {
185
- startDaemon();
186
- }
187
- });
188
- probeReq.on('error', () => { startDaemon(); });
189
- probeReq.on('timeout', () => { probeReq.destroy(); startDaemon(); });
190
- probeReq.end();
191
- }
192
- function startDaemon() {
193
- // 1. Kill any stale daemon (clean restart)
194
- try {
195
- const { stopDaemon } = require('./daemon/lifecycle');
196
- stopDaemon();
197
- // Wait for port to be released
198
- const { execSync } = require('child_process');
199
- execSync('timeout /t 1 /nobreak >nul 2>&1', { stdio: 'ignore' });
200
- }
201
- catch { }
202
- try {
203
- const fsMod = require('fs');
204
- const osMod = require('os');
205
- const pidFile = require('path').join(osMod.homedir(), '.fivo', 'cell', 'daemon.pid');
206
- try {
207
- fsMod.unlinkSync(pidFile);
208
- }
209
- catch { }
210
- }
211
- catch { }
212
- // 2. Start daemon as detached background process
213
- console.log(C.primary(' Starting daemon + MCP...'));
214
- try {
215
- const { spawn } = require('child_process');
216
- const pathMod = require('path');
217
- const fsMod = require('fs');
218
- const osMod = require('os');
219
- const serverPath = pathMod.join(__dirname, 'daemon', 'server.js');
220
- const logFile = pathMod.join(osMod.homedir(), '.fivo', 'cell', 'daemon.log');
221
- fsMod.mkdirSync(pathMod.dirname(logFile), { recursive: true });
222
- const out = fsMod.openSync(logFile, 'a');
223
- const err = fsMod.openSync(logFile, 'a');
224
- const child = spawn('node', [serverPath], {
225
- detached: true,
226
- stdio: ['ignore', out, err],
227
- });
228
- child.unref();
229
- // Write PID
230
- const pidFile = pathMod.join(osMod.homedir(), '.fivo', 'cell', 'daemon.pid');
231
- fsMod.mkdirSync(pathMod.dirname(pidFile), { recursive: true });
232
- fsMod.writeFileSync(pidFile, String(child.pid), 'utf-8');
233
- console.log(C.success(` Daemon + MCP started (PID: ${child.pid})`));
234
- console.log(C.dim(' Daemon + MCP: http://localhost:9876'));
235
- console.log(C.dim(' MCP endpoint: POST http://localhost:9876/mcp'));
236
- console.log();
237
- // Give the daemon a moment to bind to the port, then print project status.
238
- setTimeout(() => { printProjectStatusAndExit(); }, 500);
239
- }
240
- catch (e) {
241
- console.log(C.warn(' Start failed: ' + String(e)));
242
- process.exit(1);
243
- }
244
- }
245
- function printProjectStatusAndExit() {
246
- try {
247
- const { detectProject, checkScanState, checkWatchState, checkMcpState, isDaemonRunning } = require('./core/setup');
248
- const httpMod = require('http');
249
- const project = detectProject(process.cwd());
250
- const scan = checkScanState(process.cwd());
251
- const watch = checkWatchState(project.name);
252
- const mcp = checkMcpState(os.homedir());
253
- console.log();
254
- console.log(C.bold(' Project:'), C.num(project.name), C.dim(`(${project.source})`));
255
- console.log();
256
- console.log(` ${scan.done ? C.success('OK') : C.dim('--')} scan: ${scan.reason}`);
257
- console.log(` ${watch.done ? C.success('OK') : C.dim('--')} watch: ${watch.reason}`);
258
- console.log(` ${mcp.done === mcp.total ? C.success('OK') : C.dim('--')} mcp: ${mcp.done}/${mcp.total} IDEs wired${mcp.needsWrite.length > 0 ? C.warn(' (need: ' + mcp.needsWrite.join(', ') + ')') : ''}`);
259
- console.log();
260
- const allReady = scan.done && watch.done && mcp.done === mcp.total;
261
- if (allReady) {
262
- console.log(C.dim(' Cell is fully ready. Use @cell in your AI chat.'));
263
- }
264
- else {
265
- console.log(C.primary(' Run: cell setup (one-time, idempotent) to finish setup'));
266
- }
267
- console.log();
268
- process.exit(0);
269
- }
270
- catch {
271
- console.log(C.dim(' Next: cell scan (scan codebase + build layers)'));
272
- console.log(C.dim(' Then: cell status'));
273
- console.log();
274
- process.exit(0);
275
- }
276
- }
277
- // ─── cell stop ──────────────────────────────────────────────────────────────
278
- function doStop() {
279
- console.log(C.dim(' Stopping Cell daemon...'));
280
- try {
281
- const { stopDaemon } = require('./daemon/lifecycle');
282
- const result = stopDaemon();
283
- console.log(result.success ? C.success(` ${result.message}`) : C.warn(` ${result.message}`));
284
- }
285
- catch (e) {
286
- console.log(C.warn(' Stop failed: ' + String(e)));
287
- }
288
- console.log();
289
- }
290
- // ─── cell analyze ───────────────────────────────────────────────────────────
291
- function doAnalyze() {
292
- console.log();
293
- console.log(C.bold(' Cell AI Analysis'));
294
- console.log(C.dim(' ────────────────'));
295
- console.log();
296
- const sub = args[1] || '';
297
- // ─── Save AI-generated insights ────────────────────────────────────
298
- if (sub === '--save' && args[2]) {
299
- const category = args[2];
300
- console.log(C.primary(` Save AI insights for: ${category}`));
301
- console.log(C.dim(' Paste the AI-generated response below (Ctrl+Z or Ctrl+D to finish):'));
302
- console.log();
303
- // Read from stdin
304
- const chunks = [];
305
- process.stdin.on('data', (chunk) => chunks.push(chunk));
306
- process.stdin.on('end', () => {
307
- const content = Buffer.concat(chunks).toString().trim();
308
- if (content) {
309
- const { saveAIInsight } = require('./ai-bridge');
310
- saveAIInsight(project, category, content);
311
- console.log(C.success(` Insights saved: ${category}`));
312
- console.log(C.dim(` .cell/personal/insights/${category}.md`));
313
- console.log();
314
- process.exit(0);
315
- }
316
- else {
317
- console.log(C.warn(' No content provided.'));
318
- console.log();
319
- process.exit(1);
320
- }
321
- });
322
- process.stdin.resume();
323
- return;
324
- }
325
- // ─── Show insights ─────────────────────────────────────────────────
326
- if (sub === '--show') {
327
- const { getAIInsights } = require('./ai-bridge');
328
- const insights = getAIInsights(project);
329
- if (insights.length === 0) {
330
- console.log(C.dim(' No AI insights yet. Run: cell analyze'));
331
- console.log();
332
- return;
333
- }
334
- for (const i of insights) {
335
- console.log(C.bold(` ${i.category}`));
336
- console.log(C.dim(` ${i.timestamp} | Source: ${i.source}`));
337
- console.log(i.content.substring(0, 300));
338
- console.log(C.dim(' ...'));
339
- console.log();
340
- }
341
- return;
342
- }
343
- // ─── Default: Generate prompts ─────────────────────────────────────
344
- const { getAnalysisCommand } = require('./ai-bridge');
345
- const { intro, prompts } = getAnalysisCommand(process.cwd());
346
- console.log(C.dim(intro));
347
- console.log();
348
- for (const p of prompts) {
349
- console.log(C.bold(` ━━━ ${p.title} ━━━`));
350
- console.log(C.dim(` Tokens: ~${p.tokensEstimate} | Category: ${p.category}`));
351
- console.log();
352
- const promptLines = p.prompt.split('\n');
353
- for (const line of promptLines.slice(0, 10)) {
354
- console.log(` ${C.dim('│')} ${line}`);
355
- }
356
- if (promptLines.length > 10) {
357
- console.log(` ${C.dim('│')} ... (${promptLines.length - 10} more lines)`);
358
- }
359
- console.log();
360
- console.log(C.primary(` → Copy to AI tool, get answer, then: cell analyze --save ${p.category}`));
361
- console.log();
362
- }
363
- console.log(C.dim(' cell analyze --show View saved insights'));
364
- console.log();
365
- }
366
- // ─── cell scan ───────────────────────────────────────────────────────────────
367
- function doScan() {
368
- const banner = figlet_1.default.textSync('CELL', { font: 'ANSI Shadow', horizontalLayout: 'fitted' });
369
- console.log((0, gradient_string_1.default)(['#FF6B35', '#FFAB91'])(banner));
370
- console.log(C.dim(' Scanning codebase + building all layers...\n'));
371
- // ─── Flag parsing ─────────────────────────────────────────────────────
372
- // --no-rules → skip writing AGENTS.md and .cursorrules to project root
373
- // --force-rules → overwrite existing AGENTS.md/.cursorrules (otherwise keep user edits)
374
- const noRules = args.includes('--no-rules');
375
- const forceRules = args.includes('--force-rules');
376
- // First positional arg (after `scan`) is an optional explicit path.
377
- // Default to current working directory (process.cwd()) — never to
378
- // path.basename(cwd) which is a *name*, not a directory path.
379
- const scanPathArg = args.find((a, i) => i >= 1 && !a.startsWith('--'));
380
- const scanCwd = scanPathArg ? path.resolve(scanPathArg) : process.cwd();
381
- const scanProject = path.basename(scanCwd);
382
- try {
383
- const { scanCodebase } = require('./code-scanner');
384
- const result = scanCodebase(scanCwd, scanProject);
385
- console.log(C.success(` [1/2] Scanned ${result.filesScanned} files, ${result.totalLines.toLocaleString()} lines`));
386
- (0, layers_1.populateAllLayers)({
387
- profile: result.profile,
388
- patterns: result.patterns,
389
- project: scanProject,
390
- });
391
- console.log(C.success(' [2/2] Populated all layers:'));
392
- console.log(C.dim(' .cell/personal/ — profile, style, errors, decisions'));
393
- console.log(C.dim(' .cell/team/ — shared patterns, blind spots'));
394
- console.log(C.dim(' .cell/community/ — community patterns, trends'));
395
- // ─── AI rules files (AGENTS.md, .cursorrules) ─────────────────────────
396
- if (!noRules) {
397
- const { writeCellRules } = require('./core/agents-md');
398
- const rulesResult = writeCellRules(scanCwd, { overwrite: forceRules });
399
- const lines = [];
400
- if (rulesResult.agentsMd === 'written')
401
- lines.push('AGENTS.md');
402
- if (rulesResult.cursorRules === 'written')
403
- lines.push('.cursorrules');
404
- if (lines.length > 0) {
405
- console.log(C.success(` [3/3] Wrote AI rules: ${lines.join(', ')} (idempotent — kept existing files)`));
406
- }
407
- else {
408
- console.log(C.dim(' [3/3] AI rules: AGENTS.md + .cursorrules already present (kept as-is)'));
409
- }
410
- }
411
- else {
412
- console.log(C.dim(' [3/3] AI rules: skipped (--no-rules)'));
413
- }
414
- console.log();
415
- console.log(C.dim(' Run: cell status'));
416
- console.log();
417
- }
418
- catch (e) {
419
- console.log(C.warn(' Scan failed: ' + String(e)));
420
- console.log();
421
- }
422
- }
423
- // ─── cell setup (idempotent one-time project setup) ─────────────────────────
424
- /**
425
- * One-command setup for a new project. Runs scan + watcher + MCP config
426
- * with full idempotency — safe to re-run any number of times. Skips steps
427
- * that are already done and only does the missing pieces.
428
- *
429
- * Flags:
430
- * --project <name> Override project name (default: package.json name or folder basename)
431
- * --no-rules Skip writing AGENTS.md / .cursorrules
432
- * --force-rules Overwrite existing AGENTS.md / .cursorrules
433
- * --skip-scan Don't run scan
434
- * --skip-watch Don't start watcher
435
- * --skip-mcp Don't write MCP configs
436
- * --dir <path> Watch dir (default: cwd)
437
- * --dry-run Print what would happen, don't change anything
438
- */
439
- async function doSetup() {
440
- const banner = figlet_1.default.textSync('CELL', { font: 'ANSI Shadow', horizontalLayout: 'fitted' });
441
- console.log((0, gradient_string_1.default)(['#FF6B35', '#FFAB91'])(banner));
442
- console.log(C.dim(' Setting up project (idempotent)...\n'));
443
- // ─── Flag parsing ─────────────────────────────────────────────────────
444
- const noRules = args.includes('--no-rules');
445
- const forceRules = args.includes('--force-rules');
446
- const skipScan = args.includes('--skip-scan');
447
- const skipWatch = args.includes('--skip-watch');
448
- const skipMcp = args.includes('--skip-mcp');
449
- const dryRun = args.includes('--dry-run');
450
- const projectIdx = args.indexOf('--project');
451
- const projectName = projectIdx > 0 ? args[projectIdx + 1] : undefined;
452
- const dirIdx = args.indexOf('--dir');
453
- const dir = dirIdx > 0 ? args[dirIdx + 1] : undefined;
454
- try {
455
- const { runSetup, detectProject, checkScanState, checkWatchState, checkMcpState, isDaemonRunning, } = require('./core/setup');
456
- const cwd = process.cwd();
457
- const project = detectProject(cwd, projectName);
458
- console.log(C.bold(` Project: ${C.num(project.name)}`));
459
- console.log(C.dim(` Source: ${project.source}${project.packageJsonPath ? ' (' + project.packageJsonPath + ')' : ''}`));
460
- console.log(C.dim(` Cwd: ${cwd}`));
461
- if (dryRun)
462
- console.log(C.warn(' Mode: DRY RUN (no changes will be made)'));
463
- console.log();
464
- // ─── Daemon check ────────────────────────────────────────────────────
465
- const daemonUp = await isDaemonRunning();
466
- if (daemonUp) {
467
- console.log(C.success(' [daemon] running on http://localhost:9876'));
468
- }
469
- else {
470
- console.log(C.warn(' [daemon] not running — watcher will be skipped'));
471
- console.log(C.dim(' run `cell start` to bring it up, then re-run `cell setup`'));
472
- }
473
- console.log();
474
- // ─── Pre-flight state report ────────────────────────────────────────
475
- if (!dryRun) {
476
- const scan = checkScanState(cwd);
477
- const watch = daemonUp ? checkWatchState(project.name) : { done: false, reason: 'daemon not running' };
478
- const mcp = checkMcpState(os.homedir());
479
- console.log(C.bold(' Pre-flight:'));
480
- console.log(` scan: ${scan.done ? C.success('done') : C.dim('missing')} (${scan.reason})`);
481
- console.log(` watch: ${watch.done ? C.success('active') : C.dim('inactive')} (${watch.reason})`);
482
- console.log(` mcp: ${mcp.done}/${mcp.total} IDEs wired${mcp.needsWrite.length > 0 ? C.warn(' (need: ' + mcp.needsWrite.join(', ') + ')') : ''}`);
483
- console.log();
484
- const allDone = scan.done && watch.done && mcp.done === mcp.total;
485
- if (allDone) {
486
- console.log(C.success(' Already fully set up — nothing to do.'));
487
- console.log(C.dim(' Tip: re-run anytime; it is safe and idempotent.'));
488
- console.log();
489
- return;
490
- }
491
- }
492
- // ─── Run setup ───────────────────────────────────────────────────────
493
- const start = Date.now();
494
- const result = await runSetup({
495
- cwd,
496
- homedir: os.homedir(),
497
- noRules,
498
- forceRules,
499
- projectName,
500
- skipScan,
501
- skipWatch: skipWatch || !daemonUp,
502
- skipMcp,
503
- dir,
504
- dryRun,
505
- });
506
- const ms = Date.now() - start;
507
- // ─── Result summary ─────────────────────────────────────────────────
508
- console.log(C.bold(' Result:'));
509
- console.log(` ${result.scan.done ? C.success('OK') : C.warn('FAIL')} scan: ${result.scan.reason}`);
510
- console.log(` ${result.watch.done ? C.success('OK') : C.warn('FAIL')} watch: ${result.watch.reason}`);
511
- const mcpOk = result.mcp.done === result.mcp.total;
512
- console.log(` ${mcpOk ? C.success('OK') : C.warn('PARTIAL')} mcp: ${result.mcp.done}/${result.mcp.total} IDEs wired${result.mcp.written.length > 0 ? ' (' + result.mcp.written.length + ' just written)' : ''}`);
513
- console.log();
514
- if (result.warnings.length > 0) {
515
- console.log(C.warn(' Warnings:'));
516
- for (const w of result.warnings)
517
- console.log(C.warn(` ! ${w}`));
518
- console.log();
519
- }
520
- if (result.errors.length > 0) {
521
- console.log(C.warn(' Errors:'));
522
- for (const e of result.errors)
523
- console.log(C.warn(` x ${e}`));
524
- console.log();
525
- }
526
- // ─── Final verdict ──────────────────────────────────────────────────
527
- const allGood = result.scan.done && result.watch.done && mcpOk && result.errors.length === 0;
528
- if (allGood) {
529
- console.log(C.success(` Setup complete in ${ms}ms. Cell is ready.`));
530
- }
531
- else {
532
- console.log(C.warn(` Setup finished in ${ms}ms with warnings (see above).`));
533
- }
534
- console.log();
535
- console.log(C.dim(' Run: cell status Check what Cell knows about you'));
536
- console.log(C.dim(' Run: cell context Inject @cell block into your AI prompt'));
537
- console.log();
538
- }
539
- catch (e) {
540
- const msg = e instanceof Error ? e.message : String(e);
541
- console.log(C.warn(' Setup failed: ' + msg));
542
- console.log();
543
- }
544
- process.exit(0);
545
- }
546
- // ─── cell status ────────────────────────────────────────────────────────────
547
- function semiLabel(s) {
548
- if (s === 'with semicolons' || s === 'always')
549
- return 'always';
550
- if (s === 'no semicolons' || s === 'never')
551
- return 'never';
552
- if (s === 'mixed')
553
- return 'mixed';
554
- return s;
555
- }
556
- // ─── cell --version / -v / version ───────────────────────────────────────────
557
- function doVersion() {
558
- const pkg = require('../package.json');
559
- console.log(`${C.primary('cell')} v${C.num(pkg.version)}`);
560
- console.log(C.dim(` ${pkg.description}`));
561
- console.log();
562
- // Live info that's useful at a glance
563
- try {
564
- const http = require('http');
565
- http.get('http://localhost:9876/health', (res) => {
566
- let data = '';
567
- res.on('data', (c) => { data += c || ''; });
568
- res.on('end', () => {
569
- const live = res.statusCode === 200 ? C.success('running') : C.warn(`status ${res.statusCode}`);
570
- console.log(` Daemon: ${live} on port 9876`);
571
- console.log(` Tools: 67 MCP tools registered`);
572
- console.log(` License: Apache-2.0`);
573
- console.log();
574
- });
575
- }).on('error', () => {
576
- console.log(` Daemon: ${C.warn('not running')} — start with: cell start`);
577
- console.log(` Tools: 67 MCP tools (ready when daemon starts)`);
578
- console.log(` License: Apache-2.0`);
579
- console.log();
580
- });
581
- }
582
- catch { }
583
- }
584
- function doStatus() {
585
- // ─── Flag passthroughs (Pre-Launch Test 1 + Test 3) ────────────────────
586
- // Allow `cell status --session` and `cell status --decisions` as
587
- // documented in the pre-launch test suite. The dedicated `cell session`
588
- // and `cell decisions` top-level commands still work.
589
- if (args[1] === '--session') {
590
- doSession();
591
- return;
592
- }
593
- if (args[1] === '--decisions') {
594
- doDecisions();
595
- return;
596
- }
597
- const banner = figlet_1.default.textSync('CELL', { font: 'ANSI Shadow', horizontalLayout: 'fitted' });
598
- console.log((0, gradient_string_1.default)(['#FF6B35', '#FFAB91'])(banner));
599
- console.log();
600
- // Check daemon
601
- const http = require('http');
602
- try {
603
- http.get('http://localhost:9876/health', (res) => {
604
- let data = '';
605
- res.on('data', (c) => data += c);
606
- res.on('end', () => {
607
- console.log(C.success(' Daemon: Running'));
608
- showProjectStatus();
609
- });
610
- }).on('error', () => {
611
- console.log(C.warn(' Daemon: Not running (run: cell start)'));
612
- showProjectStatus();
613
- });
614
- }
615
- catch {
616
- showProjectStatus();
617
- }
618
- }
619
- function showProjectStatus() {
620
- const { getDeveloperProfile } = require('./code-scanner');
621
- const profile = getDeveloperProfile(project);
622
- if (!profile) {
623
- console.log(C.warn(`\n No profile for "${project}". Run: cell start`));
624
- console.log();
625
- return;
626
- }
627
- console.log();
628
- console.log(C.bold(` Project: ${project}`));
629
- // ─── Personal Layer ──────────────────────────────────────────────────────
630
- console.log();
631
- console.log(C.bold(' 📂 Personal Layer'));
632
- console.log(C.dim(' ─────────────────'));
633
- // Stack fingerprint (from stack-detector)
634
- try {
635
- const { detectProjectDNA } = require('./stack-detector');
636
- const dna = detectProjectDNA(process.cwd());
637
- if (dna && dna.stack.trustScore > 0) {
638
- const s = dna.stack;
639
- console.log(` Stack: ${C.num(s.languages?.join(', ') || '')} · ${s.frontend !== 'none' ? s.frontend + ' + ' : ''}${s.backend}${s.database[0] !== 'none' ? ' · ' + s.database.join(', ') : ''}`);
640
- console.log(` ${s.orm !== 'none' ? 'ORM: ' + s.orm + ' · ' : ''}Test: ${s.testing.join(', ')}${s.validation !== 'none' ? ' · Validation: ' + s.validation : ''}`);
641
- console.log(` Arch: ${dna.architecture.type} (${dna.architecture.confidence}), Entry: ${dna.architecture.entryPoints.join(', ')}`);
642
- console.log(` Style: ${C.num(profile.quoteStyle)} quotes, ${C.num(semiLabel(profile.semicolonStyle))} semis, ${C.num(profile.indentStyle)}`);
643
- }
644
- else {
645
- console.log(` Style: ${C.num(profile.quoteStyle)} quotes, ${C.num(semiLabel(profile.semicolonStyle))} semis, ${C.num(profile.indentStyle)}`);
646
- }
647
- }
648
- catch {
649
- console.log(` Style: ${C.num(profile.quoteStyle)} quotes, ${C.num(semiLabel(profile.semicolonStyle))} semis, ${C.num(profile.indentStyle)}`);
650
- }
651
- console.log(` Code: ${C.num(profile.functionStyle)} functions, ${C.num(profile.asyncStyle)}, ${C.num(profile.errorHandling)} errors`);
652
- if (profile.strengths.length) {
653
- for (const s of profile.strengths)
654
- console.log(` ${C.success('+')} ${s}`);
655
- }
656
- if (profile.improvements.length) {
657
- for (const i of profile.improvements)
658
- console.log(` ${C.warn('!')} ${i}`);
659
- }
660
- // Show .cell/personal/ files
661
- const personalDir = path.join(layers_1.CELL_DIR, 'personal');
662
- if (fs.existsSync(personalDir)) {
663
- const files = fs.readdirSync(personalDir);
664
- console.log(C.dim(` Files: ${files.join(', ')}`));
665
- }
666
- // Behavioral data
667
- try {
668
- const { getBehaviorSummary } = require('./behavioral-tracker');
669
- const b = getBehaviorSummary(project);
670
- if (b.totalErrors > 0 || b.totalDecisions > 0 || b.currentContext || b.stuckIssues.length > 0) {
671
- console.log(C.bold(' Behavior:'));
672
- if (b.totalErrors > 0)
673
- console.log(` Errors: ${b.totalErrors} logged`);
674
- if (b.totalDecisions > 0)
675
- console.log(` Decisions: ${b.totalDecisions} logged`);
676
- if (b.currentContext)
677
- console.log(` Working on: ${b.currentContext.task}`);
678
- if (b.stuckIssues.length > 0)
679
- console.log(` Stuck: ${b.stuckIssues.length} issues`);
680
- }
681
- }
682
- catch { }
683
- // ─── Git Intelligence ────────────────────────────────────────────────────
684
- try {
685
- const { buildDeveloperIntelligence } = require('./developer-intelligence');
686
- const gitIntel = buildDeveloperIntelligence(process.cwd());
687
- if (gitIntel) {
688
- console.log();
689
- console.log(C.bold(' 🧠 Git Intelligence'));
690
- console.log(C.dim(' ──────────────────'));
691
- console.log(` Score: ${C.num(String(gitIntel.behavioralScore))}/100`);
692
- if (gitIntel.timeSummary)
693
- console.log(C.dim(` ${gitIntel.timeSummary}`));
694
- if (gitIntel.journeySummary)
695
- console.log(C.dim(` ${gitIntel.journeySummary}`));
696
- if (gitIntel.topBlindSpots.length > 0) {
697
- console.log(C.bold(' Top Blind Spots:'));
698
- for (const bs of gitIntel.topBlindSpots.slice(0, 3)) {
699
- console.log(` ${C.warn('!')} ${bs}`);
700
- }
701
- }
702
- if (gitIntel.topMistakes.length > 0) {
703
- console.log(C.bold(' Repeat Mistakes:'));
704
- for (const m of gitIntel.topMistakes.slice(0, 3)) {
705
- console.log(` ${C.warn('↻')} ${m}`);
706
- }
707
- }
708
- if (gitIntel.topStrengths.length > 0) {
709
- for (const s of gitIntel.topStrengths.slice(0, 3)) {
710
- console.log(` ${C.success('+')} ${s}`);
711
- }
712
- }
713
- }
714
- }
715
- catch { }
716
- // ─── Predictions ─────────────────────────────────────────────────────────
717
- try {
718
- const { getQuickWarnings } = require('./predictive-engine');
719
- const warnings = getQuickWarnings(project);
720
- if (warnings.length > 0) {
721
- console.log();
722
- console.log(C.bold(' 🔮 Predictions'));
723
- console.log(C.dim(' ──────────────'));
724
- for (const w of warnings) {
725
- console.log(` ${w}`);
726
- }
727
- }
728
- }
729
- catch { }
730
- // ─── Team Layer ──────────────────────────────────────────────────────────
731
- console.log();
732
- console.log(C.bold(' 👥 Team Layer'));
733
- console.log(C.dim(' ─────────────'));
734
- const teamData = (0, layers_1.getTeamMembers)();
735
- if (teamData && teamData.members && teamData.members.length > 0) {
736
- for (const m of teamData.members) {
737
- console.log(` ${C.success('•')} ${m.name} — ${m.role}`);
738
- }
739
- }
740
- else {
741
- console.log(C.dim(' No team members. Add: cell team add <name>'));
742
- }
743
- const teamPatterns = (0, layers_1.getTeamPatterns)();
744
- if (teamPatterns && teamPatterns.patterns && teamPatterns.patterns.length > 0) {
745
- console.log(C.dim(` Shared patterns: ${teamPatterns.patterns.length}`));
746
- }
747
- const teamBlinds = (0, layers_1.getTeamBlindSpots)();
748
- if (teamBlinds && teamBlinds.blindSpots && teamBlinds.blindSpots.length > 0) {
749
- console.log(C.warn(` Blind spots: ${teamBlinds.blindSpots.length}`));
750
- }
751
- // ─── Community Layer ─────────────────────────────────────────────────────
752
- console.log();
753
- console.log(C.bold(' 🌐 Community Layer'));
754
- console.log(C.dim(' ──────────────────'));
755
- const commPatterns = (0, layers_1.getCommunityPatterns)();
756
- if (commPatterns && commPatterns.patterns && commPatterns.patterns.length > 0) {
757
- console.log(C.dim(` Patterns shared: ${commPatterns.patterns.length}`));
758
- }
759
- else {
760
- console.log(C.dim(' No community patterns yet. Run: cell community'));
761
- }
762
- const commTrends = (0, layers_1.getCommunityTrends)();
763
- if (commTrends && commTrends.trends && commTrends.trends.length > 0) {
764
- console.log(C.dim(` Trends: ${commTrends.trends.length}`));
765
- }
766
- const commRank = (0, layers_1.getCommunityRankings)();
767
- if (commRank && commRank.rankings && commRank.rankings.length > 0) {
768
- console.log(C.dim(` Rankings: ${commRank.rankings.length}`));
769
- }
770
- console.log();
771
- }
772
- // ─── cell status --session (Pre-Launch Test 1) ──────────────────────────────
773
- function doSession() {
774
- console.log();
775
- console.log(C.bold(' Cell Session — Last Activity'));
776
- console.log(C.dim(' ───────────────────────────────'));
777
- console.log();
778
- try {
779
- const { getLastTouchedFile, getPatternCounts, getBehaviorSummary } = require('./behavioral-tracker');
780
- const last = getLastTouchedFile(project);
781
- const patterns = getPatternCounts(project);
782
- const behavior = getBehaviorSummary(project);
783
- if (last) {
784
- const ago = formatTimeAgo(parseSqliteUtc(last.lastTouched));
785
- console.log(` Last file: ${C.num(last.file)}`);
786
- console.log(` Time: ${ago} (${last.touchCount} touch${last.touchCount === 1 ? '' : 'es'})`);
787
- }
788
- else {
789
- console.log(C.dim(' Last file: (none yet — save a file to start tracking)'));
790
- }
791
- console.log(` Patterns: ${C.num(String(patterns.total))} detected`);
792
- if (Object.keys(patterns.byCategory).length > 0) {
793
- const catStr = Object.entries(patterns.byCategory)
794
- .slice(0, 5)
795
- .map(([cat, n]) => `${cat}=${n}`)
796
- .join(', ');
797
- console.log(C.dim(` ${catStr}`));
798
- }
799
- if (behavior.currentContext) {
800
- console.log(` Current task: ${C.num(behavior.currentContext.task)}`);
801
- }
802
- }
803
- catch (err) {
804
- const msg = err instanceof Error ? err.message : String(err);
805
- console.log(C.warn(` Session lookup failed: ${msg}`));
806
- }
807
- console.log();
808
- }
809
- // ─── cell status --decisions (Pre-Launch Test 3) ────────────────────────────
810
- function doDecisions() {
811
- console.log();
812
- console.log(C.bold(' Cell Decisions — Recent Activity'));
813
- console.log(C.dim(' ─────────────────────────────────'));
814
- console.log();
815
- try {
816
- const { getRecentDecisionsWithAgo, getBehaviorSummary } = require('./behavioral-tracker');
817
- const decisions = getRecentDecisionsWithAgo(project, 5);
818
- const behavior = getBehaviorSummary(project);
819
- if (decisions.length === 0) {
820
- console.log(C.dim(' No decisions logged yet.'));
821
- console.log(C.dim(' Decisions are auto-logged when AI suggestions are accepted/rejected in your IDE.'));
822
- }
823
- else {
824
- for (const d of decisions) {
825
- const verdict = d.worked ? C.success('Accepted') : C.warn('Rejected');
826
- console.log(` ${verdict} ${d.decision}`);
827
- console.log(C.dim(` ${d.ago}${d.file ? ' · ' + d.file : ''}`));
828
- }
829
- }
830
- console.log();
831
- console.log(C.dim(` Total: ${behavior.totalDecisions} decision${behavior.totalDecisions === 1 ? '' : 's'} logged`));
832
- }
833
- catch (err) {
834
- const msg = err instanceof Error ? err.message : String(err);
835
- console.log(C.warn(` Decisions lookup failed: ${msg}`));
836
- }
837
- console.log();
838
- }
839
- function formatTimeAgo(ts) {
840
- const diff = Date.now() - ts;
841
- if (diff < 0)
842
- return 'just now';
843
- const sec = Math.floor(diff / 1000);
844
- if (sec < 60)
845
- return `${sec} second${sec === 1 ? '' : 's'} ago`;
846
- const min = Math.floor(sec / 60);
847
- if (min < 60)
848
- return `${min} minute${min === 1 ? '' : 's'} ago`;
849
- const hr = Math.floor(min / 60);
850
- if (hr < 24)
851
- return `${hr} hour${hr === 1 ? '' : 's'} ago`;
852
- const day = Math.floor(hr / 24);
853
- if (day < 30)
854
- return `${day} day${day === 1 ? '' : 's'} ago`;
855
- const month = Math.floor(day / 30);
856
- return `${month} month${month === 1 ? '' : 's'} ago`;
857
- }
858
- /**
859
- * Parse a SQLite `datetime('now')` string into a JS millisecond timestamp.
860
- * SQLite's datetime() returns UTC time as a string like "2026-06-05 09:20:26"
861
- * (no timezone marker). JS `new Date(str)` would treat this as LOCAL time,
862
- * which causes a 5h30m offset in IST. We force UTC interpretation by
863
- * appending "Z" or by replacing the space with "T" + "Z".
864
- */
865
- function parseSqliteUtc(s) {
866
- if (!s)
867
- return 0;
868
- // Already has TZ marker
869
- if (s.endsWith('Z') || /[+-]\d{2}:?\d{2}$/.test(s)) {
870
- return new Date(s).getTime();
871
- }
872
- // Replace space separator with T, append Z
873
- return new Date(s.replace(' ', 'T') + 'Z').getTime();
874
- }
875
- // ─── cell team ──────────────────────────────────────────────────────────────
876
- function doTeam() {
877
- console.log();
878
- console.log(C.bold(' Cell Team'));
879
- console.log(C.dim(' ─────────'));
880
- console.log();
881
- const db = (0, database_1.getDb)();
882
- db.exec(`
883
- CREATE TABLE IF NOT EXISTS team_members (
884
- id INTEGER PRIMARY KEY AUTOINCREMENT,
885
- name TEXT NOT NULL,
886
- role TEXT DEFAULT 'developer',
887
- joined_at TEXT DEFAULT (datetime('now'))
888
- )
889
- `);
890
- const sub = args[1] || '';
891
- // ─── team push ──────────────────────────────────────────────────────
892
- if (sub === 'push') {
893
- console.log(C.primary(' Pushing your patterns to team...'));
894
- const { teamPush } = require('./team-git');
895
- const name = args[2];
896
- if (!name) {
897
- console.log(C.warn(' Usage: cell team push <your-name> [role]'));
898
- console.log();
899
- return;
900
- }
901
- const role = args[3] || 'developer';
902
- const result = teamPush(name, role);
903
- console.log(result.success ? C.success(` ${result.message}`) : C.warn(` ${result.message}`));
904
- console.log();
905
- return;
906
- }
907
- // ─── team pull ──────────────────────────────────────────────────────
908
- if (sub === 'pull') {
909
- console.log(C.primary(' Pulling team data...'));
910
- const { teamPull } = require('./team-git');
911
- const result = teamPull();
912
- if (result.success) {
913
- console.log(C.success(` ${result.message}`));
914
- console.log(C.dim(` Members: ${result.newMembers}, Patterns: ${result.newPatterns}`));
915
- }
916
- else {
917
- console.log(C.warn(` ${result.message}`));
918
- }
919
- console.log();
920
- return;
921
- }
922
- // ─── team onboard ───────────────────────────────────────────────────
923
- if (sub === 'onboard' && args[2]) {
924
- const newMember = args[2];
925
- const teamPath = path.join(process.cwd(), '.cell', 'team');
926
- console.log(C.primary(` Generating onboarding guide for ${newMember}...`));
927
- const { generateOnboardingGuide, formatOnboardingText } = require('./team-intel');
928
- const guide = generateOnboardingGuide(teamPath, newMember);
929
- if (guide) {
930
- console.log(formatOnboardingText(guide));
931
- }
932
- else {
933
- console.log(C.warn(' No team data found. Run: cell team push <your-name> first.'));
934
- }
935
- console.log();
936
- return;
937
- }
938
- // ─── team status ────────────────────────────────────────────────────
939
- if (sub === 'status') {
940
- const { teamStatus } = require('./team-git');
941
- const intel = teamStatus();
942
- if (!intel) {
943
- console.log(C.dim(' No team data. Run: cell team push <your-name>'));
944
- console.log();
945
- return;
946
- }
947
- console.log(C.bold(` Team: ${intel.summary.totalMembers} members`));
948
- console.log(C.dim(` Patterns: ${intel.summary.totalPatterns}, Bus Factor: ${intel.summary.avgBusFactor}`));
949
- console.log();
950
- if (intel.members.length > 0) {
951
- console.log(C.bold(' Members:'));
952
- for (const m of intel.members) {
953
- console.log(` ${C.success('•')} ${m.name} (${m.role}) — ${m.patterns} patterns`);
954
- if (m.strengths.length > 0)
955
- console.log(C.dim(` Strengths: ${m.strengths.join(', ')}`));
956
- }
957
- console.log();
958
- }
959
- if (intel.knowledgeMap.length > 0) {
960
- console.log(C.bold(' Knowledge Map:'));
961
- for (const k of intel.knowledgeMap) {
962
- const risk = k.busFactor <= 1 ? C.warn('⚠ BUS=1') : C.dim(`bus=${k.busFactor}`);
963
- console.log(` ${k.area}: ${k.experts.join(', ')} ${risk}`);
964
- }
965
- console.log();
966
- }
967
- if (intel.sharedPatterns.length > 0) {
968
- console.log(C.bold(' Top Shared Patterns:'));
969
- for (const p of intel.sharedPatterns.slice(0, 5)) {
970
- console.log(` ${C.dim('•')} ${p.name}: ${p.value} (${p.count}x)`);
971
- }
972
- console.log();
973
- }
974
- if (intel.summary.strongestArea)
975
- console.log(C.success(` + Strongest: ${intel.summary.strongestArea}`));
976
- if (intel.summary.weakestArea)
977
- console.log(C.warn(` ! Weakest: ${intel.summary.weakestArea}`));
978
- // Team pattern library
979
- const teamPath = path.join(process.cwd(), '.cell', 'team');
980
- try {
981
- const { buildTeamPatternLibrary } = require('./team-intel');
982
- const rules = buildTeamPatternLibrary(teamPath);
983
- if (rules.length > 0) {
984
- console.log(C.bold(' 📋 Pattern Library:'));
985
- const doRules = rules.filter((r) => r.type === 'do').slice(0, 3);
986
- const dontRules = rules.filter((r) => r.type === 'dont').slice(0, 2);
987
- for (const r of doRules) {
988
- console.log(` ${C.success('✓')} ${r.rule} (${r.agreement}% agreement)`);
989
- }
990
- for (const r of dontRules) {
991
- console.log(` ${C.warn('✗')} ${r.rule}`);
992
- }
993
- }
994
- }
995
- catch { }
996
- if (intel.summary.criticalBlindSpots > 0)
997
- console.log(C.warn(` ! ${intel.summary.criticalBlindSpots} critical blind spots`));
998
- console.log();
999
- return;
1000
- }
1001
- // ─── team silos ─────────────────────────────────────────────────────
1002
- if (sub === 'silos') {
1003
- const { detectKnowledgeSilos } = require('./team-collaboration');
1004
- const silos = detectKnowledgeSilos();
1005
- console.log(C.bold(` Knowledge Silos: ${silos.length}`));
1006
- console.log();
1007
- if (silos.length === 0) {
1008
- console.log(C.dim(' No silos detected. Knowledge is well distributed.'));
1009
- }
1010
- else {
1011
- for (const s of silos.slice(0, 10)) {
1012
- const riskColor = s.riskLevel === 'high' ? C.warn : s.riskLevel === 'medium' ? C.primary : C.dim;
1013
- console.log(` ${riskColor('●')} ${s.name} — ${s.knowledgeArea}`);
1014
- console.log(C.dim(` ${s.members.join(', ')} (bus factor: ${s.busFactor})`));
1015
- }
1016
- }
1017
- console.log();
1018
- return;
1019
- }
1020
- // ─── team bus-factor ───────────────────────────────────────────────
1021
- if (sub === 'bus-factor') {
1022
- const { calculateBusFactor } = require('./team-collaboration');
1023
- const report = calculateBusFactor();
1024
- console.log(C.bold(` Bus Factor: ${report.overallScore}/100`));
1025
- console.log();
1026
- if (report.singlePointsOfFailure.length > 0) {
1027
- console.log(C.warn(' Single Points of Failure:'));
1028
- for (const spof of report.singlePointsOfFailure.slice(0, 5)) {
1029
- console.log(C.warn(` ⚠ ${spof}`));
1030
- }
1031
- console.log();
1032
- }
1033
- if (report.members.length > 0) {
1034
- console.log(C.dim(' Top members:'));
1035
- for (const m of report.members.slice(0, 5)) {
1036
- console.log(` ${m.name}: score ${m.score} (${m.risk} risk)`);
1037
- }
1038
- }
1039
- console.log();
1040
- return;
1041
- }
1042
- // ─── team health ───────────────────────────────────────────────────
1043
- if (sub === 'health') {
1044
- const { getTeamHealth } = require('./team-collaboration');
1045
- const health = getTeamHealth(args[2]);
1046
- console.log(C.bold(` Team Health: ${health.score}/100`));
1047
- console.log();
1048
- console.log(C.dim(` Bus factor: ${health.busFactor}, Silos: ${health.siloCount}, Edges: ${health.collaborationEdges}`));
1049
- if (health.strengths.length > 0) {
1050
- console.log(C.success(' Strengths:'));
1051
- for (const s of health.strengths.slice(0, 3))
1052
- console.log(C.success(` + ${s}`));
1053
- }
1054
- if (health.skillGaps.length > 0) {
1055
- console.log(C.warn(' Skill gaps:'));
1056
- for (const g of health.skillGaps.slice(0, 3))
1057
- console.log(C.warn(` ! ${g}`));
1058
- }
1059
- if (health.recommendations.length > 0) {
1060
- console.log(C.primary(' Recommendations:'));
1061
- for (const r of health.recommendations.slice(0, 3))
1062
- console.log(` → ${r}`);
1063
- }
1064
- console.log();
1065
- return;
1066
- }
1067
- // ─── community sub-commands ─────────────────────────────────────────
1068
- if (sub === 'community' || sub === 'comm') {
1069
- const csub = args[2];
1070
- if (csub === 'stats') {
1071
- const { getCommunityStats } = require('./core/community-store');
1072
- const stats = getCommunityStats();
1073
- console.log(C.bold(' Community Stats'));
1074
- console.log(C.dim(` Patterns: ${stats.totalPatterns}, Insights: ${stats.totalInsights}, Benchmarks: ${stats.totalBenchmarks}`));
1075
- console.log(C.dim(` Total votes: ${stats.totalVotes}`));
1076
- if (Object.keys(stats.byCategory).length > 0) {
1077
- console.log(C.dim(' By category:'));
1078
- for (const [cat, count] of Object.entries(stats.byCategory)) {
1079
- console.log(` ${cat}: ${count}`);
1080
- }
1081
- }
1082
- console.log();
1083
- return;
1084
- }
1085
- if (csub === 'share' && args[3]) {
1086
- const { shareCommunityPattern, validatePrivacy } = require('./core/community-store');
1087
- const rule = args[3];
1088
- const category = args[4] || 'general';
1089
- const language = args[5];
1090
- const validation = validatePrivacy(rule);
1091
- if (!validation.safe) {
1092
- console.log(C.warn(' Blocked — privacy violations:'));
1093
- for (const e of validation.errors)
1094
- console.log(C.warn(` ✗ ${e}`));
1095
- console.log();
1096
- return;
1097
- }
1098
- const result = shareCommunityPattern({ category, rule, language });
1099
- console.log(C.success(` Shared: ${result.patternId}`));
1100
- if (result.warnings.length > 0) {
1101
- console.log(C.dim(' Warnings:'));
1102
- for (const w of result.warnings)
1103
- console.log(C.dim(` - ${w}`));
1104
- }
1105
- console.log();
1106
- return;
1107
- }
1108
- if (csub === 'trends') {
1109
- const { getTechEvolution } = require('./core/community-store');
1110
- const trends = getTechEvolution();
1111
- console.log(C.bold(' Technology Trends'));
1112
- for (const t of trends.slice(0, 10)) {
1113
- const arrow = t.trend30d > 0 ? C.success('↑') : t.trend30d < 0 ? C.warn('↓') : C.dim('→');
1114
- console.log(` ${arrow} ${t.technology} — ${t.adoptionPhase} (${t.currentUsage} signals)`);
1115
- }
1116
- console.log();
1117
- return;
1118
- }
1119
- console.log(C.dim(' Usage: cell team community [stats|share <rule> <category>|trends]'));
1120
- console.log();
1121
- return;
1122
- }
1123
- // ─── team usage (Phase 6) ──────────────────────────────────────────
1124
- if (sub === 'usage') {
1125
- const { getUsageDashboard, getDecisionPatterns, detectRepeatMistakes, getBurnoutSignals } = require('./core/usage-intelligence-store');
1126
- const project = args[2] || 'Fivo-Cell';
1127
- const dash = getUsageDashboard(project);
1128
- console.log(C.bold(` Usage Dashboard — ${project}`));
1129
- console.log();
1130
- console.log(C.dim(` Decisions: ${dash.decisions.total} (${dash.decisions.right} right, ${dash.decisions.wrong} wrong)`));
1131
- if (dash.decisions.topPatterns.length > 0) {
1132
- console.log(C.bold(' Decision Patterns:'));
1133
- for (const p of dash.decisions.topPatterns.slice(0, 3)) {
1134
- console.log(` ${p.advice}`);
1135
- }
1136
- }
1137
- console.log();
1138
- console.log(C.dim(` Mistakes: ${dash.mistakes.total} repeated (${dash.mistakes.critical} critical)`));
1139
- if (dash.mistakes.top.length > 0) {
1140
- for (const m of dash.mistakes.top.slice(0, 3)) {
1141
- console.log(` ${C.warn('!')} ${m.errorType} (${m.count}x) — ${m.suggestion}`);
1142
- }
1143
- }
1144
- console.log();
1145
- console.log(C.dim(` AI: ${dash.ai.modelsUsed} models, avg acceptance ${dash.ai.avgAcceptance}%`));
1146
- if (dash.ai.topModel !== 'none')
1147
- console.log(C.dim(` Top model: ${dash.ai.topModel}`));
1148
- console.log();
1149
- console.log(C.dim(` Productivity: flow ${dash.productivity.flowScore}, friction ${dash.productivity.frictionScore}`));
1150
- console.log();
1151
- console.log(C.dim(` Skills: ${dash.skills.improving} improving, ${dash.skills.plateau} plateau, ${dash.skills.regressing} regressing`));
1152
- console.log();
1153
- const burnoutColor = dash.burnout.risk === 'high' ? C.warn : dash.burnout.risk === 'medium' ? C.primary : C.success;
1154
- console.log(burnoutColor(` Burnout risk: ${dash.burnout.risk.toUpperCase()}`));
1155
- if (dash.burnout.signals.length > 0) {
1156
- for (const s of dash.burnout.signals)
1157
- console.log(C.dim(` - ${s}`));
1158
- }
1159
- console.log(C.dim(` ${dash.burnout.advice}`));
1160
- console.log();
1161
- return;
1162
- }
1163
- if (sub === 'add' && args[2]) {
1164
- const name = args[2];
1165
- const role = args[3] || 'developer';
1166
- db.prepare('INSERT INTO team_members (name, role) VALUES (?, ?)').run(name, role);
1167
- const members = db.prepare('SELECT name, role, joined_at FROM team_members').all();
1168
- (0, layers_1.saveTeamMembers)(members.map((m) => ({ name: m.name, role: m.role, joinedAt: m.joined_at })));
1169
- console.log(C.success(` Added: ${name} (${role})`));
1170
- console.log(C.dim(' Saved to .cell/team/members.json'));
1171
- console.log();
1172
- return;
1173
- }
1174
- if (sub === 'remove' && args[2]) {
1175
- db.prepare('DELETE FROM team_members WHERE name = ?').run(args[2]);
1176
- const members = db.prepare('SELECT name, role, joined_at FROM team_members').all();
1177
- (0, layers_1.saveTeamMembers)(members.map((m) => ({ name: m.name, role: m.role, joinedAt: m.joined_at })));
1178
- console.log(C.success(` Removed: ${args[2]}`));
1179
- console.log();
1180
- return;
1181
- }
1182
- // Default: show member list + team commands
1183
- const members = db.prepare('SELECT name, role, joined_at FROM team_members').all();
1184
- if (members.length === 0) {
1185
- console.log(C.dim(' No team members yet.'));
1186
- console.log();
1187
- }
1188
- console.log(C.bold(' Members:'));
1189
- for (const m of members) {
1190
- console.log(` ${C.num(m.name)} — ${m.role}`);
1191
- }
1192
- console.log();
1193
- console.log(' Commands:');
1194
- console.log(` ${C.primary('cell team push <name>')} Share your patterns with team`);
1195
- console.log(` ${C.primary('cell team pull')} Pull team data from git`);
1196
- console.log(` ${C.primary('cell team status')} Team intelligence dashboard`);
1197
- console.log(` ${C.primary('cell team silos')} Knowledge silo detection`);
1198
- console.log(` ${C.primary('cell team bus-factor')} Bus factor analysis`);
1199
- console.log(` ${C.primary('cell team health [proj]')} Team health score`);
1200
- console.log(` ${C.primary('cell team community')} Community stats/share/trends`);
1201
- console.log(` ${C.primary('cell team usage [proj]')} Personal usage intelligence`);
1202
- console.log(` ${C.primary('cell team add/remove')} Manage members`);
1203
- console.log();
1204
- }
1205
- // ─── cell watch ─────────────────────────────────────────────────────────────
1206
- function doWatch() {
1207
- console.log();
1208
- console.log(C.bold(' Cell Live Watcher'));
1209
- console.log(C.dim(' ─────────────────'));
1210
- console.log();
1211
- const sub = args[1] || 'daemon';
1212
- // Parse flags first so positional args don't get eaten by --limit / --type.
1213
- // Examples supported:
1214
- // cell watch events
1215
- // cell watch events fivo-cell
1216
- // cell watch events fivo-cell --limit 10
1217
- // cell watch events fivo-cell --type file_save
1218
- // cell watch events --limit 5 --type file_create
1219
- const watchArgs = args.slice(2);
1220
- const { positional } = require('./core/watch-cli').parseWatchFlags(watchArgs);
1221
- const watchLimit = require('./core/watch-cli').parseWatchLimit(watchArgs);
1222
- const watchEventType = require('./core/watch-cli').parseWatchEventType(watchArgs);
1223
- const project = positional[0] || path.basename(process.cwd());
1224
- const dir = positional[1] || process.cwd();
1225
- // If invoked with no subcommand: run as a long-lived watcher daemon (for .bat auto-restart loop)
1226
- if (sub === 'daemon' || sub === '') {
1227
- runWatchDaemon(project, dir);
1228
- return;
1229
- }
1230
- try {
1231
- const liveWatcher = require('./core/live-watcher');
1232
- const http = require('http');
1233
- function callDaemon(toolName, toolArgs) {
1234
- return new Promise((resolve, reject) => {
1235
- const body = JSON.stringify({ method: 'tools/call', params: { name: toolName, arguments: toolArgs } });
1236
- const req = http.request({ hostname: '127.0.0.1', port: 9876, path: '/mcp', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) } }, (res) => {
1237
- let data = '';
1238
- res.on('data', (chunk) => { data += chunk; });
1239
- res.on('end', () => {
1240
- try {
1241
- const parsed = JSON.parse(data);
1242
- resolve(parsed.result || parsed);
1243
- }
1244
- catch (e) {
1245
- reject(e);
1246
- }
1247
- });
1248
- });
1249
- req.on('error', reject);
1250
- req.write(body);
1251
- req.end();
1252
- });
1253
- }
1254
- if (sub === 'start' || sub === 'stop') {
1255
- // Watcher state lives in daemon's in-memory map; CLI must talk to daemon
1256
- const toolName = sub === 'start' ? 'cell_watch_start' : 'cell_watch_stop';
1257
- const toolArgs = { project };
1258
- if (sub === 'start')
1259
- toolArgs.dir = dir;
1260
- callDaemon(toolName, toolArgs).then((r) => {
1261
- const ok = sub === 'start' ? r.started : r.stopped;
1262
- console.log(ok ? C.success(` ✓ ${r.message}`) : C.warn(` ! ${r.message}`));
1263
- console.log();
1264
- }).catch((e) => {
1265
- const msg = e instanceof Error ? e.message : String(e);
1266
- console.log(C.warn(` Daemon not running (${msg}). Start with: cell start`));
1267
- console.log();
1268
- });
1269
- return;
1270
- }
1271
- if (sub === 'events') {
1272
- const { isValidEventType } = require('./core/watch-cli');
1273
- const typeFilter = isValidEventType(watchEventType) ? watchEventType : undefined;
1274
- const events = liveWatcher.getLiveEvents(project, watchLimit, typeFilter);
1275
- if (events.length === 0) {
1276
- const hint = typeFilter
1277
- ? `No ${typeFilter} events for ${project} in the last ${watchLimit}.`
1278
- : `No live events for ${project} yet. Start watcher with: cell watch start ${project}`;
1279
- console.log(C.dim(` ${hint}`));
1280
- }
1281
- else {
1282
- const header = typeFilter
1283
- ? `Recent ${typeFilter} events for ${project} (${events.length}, limit ${watchLimit}):`
1284
- : `Recent events for ${project} (${events.length}, limit ${watchLimit}):`;
1285
- console.log(C.bold(` ${header}`));
1286
- for (const e of events) {
1287
- const icon = e.eventType === 'file_save' ? '~' : e.eventType === 'file_create' ? '+' : e.eventType === 'file_delete' ? '-' : e.eventType === 'file_rename' ? '>' : e.eventType === 'git_commit' ? '@' : '*';
1288
- console.log(` ${C.dim(icon)} ${C.dim(e.createdAt)} ${e.eventType}: ${C.num(e.filePath)}`);
1289
- }
1290
- }
1291
- }
1292
- else if (sub === 'refresh') {
1293
- const result = liveWatcher.performAutoRefresh(project, true);
1294
- console.log(C.success(` ✓ Refresh logged: ${result.details} (${result.durationMs}ms)`));
1295
- }
1296
- else if (sub === 'check') {
1297
- const check = liveWatcher.checkIfNeedsRefresh(project);
1298
- const needs = check.needsRefresh;
1299
- console.log(needs ? C.warn(` ⚠ Needs refresh: ${check.reason}`) : C.success(` ✓ ${check.reason}`));
1300
- console.log(C.dim(` Data age: ${check.dataAge} | Recommended: ${check.recommendedAction}`));
1301
- }
1302
- else {
1303
- // status
1304
- const status = liveWatcher.getWatcherStatus(project);
1305
- const active = liveWatcher.getActiveWatchers();
1306
- if (status && status.active) {
1307
- console.log(C.success(` ● ${project}: ${C.bold('LIVE')} — ${status.eventCount} events, last: ${status.lastEventAt || 'never'}`));
1308
- }
1309
- else {
1310
- console.log(C.dim(` ○ ${project}: not watched`));
1311
- }
1312
- if (active.length > 1 || (active.length === 1 && active[0]?.project !== project)) {
1313
- console.log();
1314
- console.log(C.bold(' Other active watchers:'));
1315
- for (const a of active) {
1316
- if (a.project !== project)
1317
- console.log(` ● ${a.project} (${a.eventCount} events)`);
1318
- }
1319
- }
1320
- }
1321
- }
1322
- catch (err) {
1323
- const msg = err instanceof Error ? err.message : String(err);
1324
- console.log(C.warn(` Watch error: ${msg}`));
1325
- }
1326
- console.log();
1327
- }
1328
- // ─── cell blindspots ────────────────────────────────────────────────────────
1329
- function doBlindspots() {
1330
- console.log();
1331
- console.log(C.bold(' Cell Blind Spots'));
1332
- console.log(C.dim(' ────────────────'));
1333
- console.log();
1334
- const dir = args[1] || process.cwd();
1335
- const maxFiles = parseInt(args[2] || '200', 10);
1336
- try {
1337
- const { scanDirectoryForBlindSpots, formatBlindSpotReport, summarizeBlindSpots } = require('./core/enhanced-blind-spots');
1338
- console.log(C.dim(` Scanning ${dir} (max ${maxFiles} files)...`));
1339
- const spots = scanDirectoryForBlindSpots(dir, maxFiles);
1340
- console.log();
1341
- console.log(formatBlindSpotReport(spots));
1342
- const summary = summarizeBlindSpots(spots);
1343
- if (Object.keys(summary.byCategory).length > 0) {
1344
- console.log();
1345
- console.log(C.dim(' By category:'));
1346
- for (const [cat, count] of Object.entries(summary.byCategory)) {
1347
- console.log(` ${C.num(String(count))} ${cat}`);
1348
- }
1349
- }
1350
- }
1351
- catch (err) {
1352
- const msg = err instanceof Error ? err.message : String(err);
1353
- console.log(C.warn(` Blind spot scan failed: ${msg}`));
1354
- }
1355
- console.log();
1356
- }
1357
- // Long-lived watcher daemon — auto-attaches to current project, runs forever.
1358
- // Used by fivo-cell-daemon.bat to keep a watcher alive in the background.
1359
- function runWatchDaemon(project, dir) {
1360
- const liveWatcher = require('./core/live-watcher');
1361
- const result = liveWatcher.startWatcher(project, dir);
1362
- if (!result.started) {
1363
- // "already running" means the daemon process already has a watcher; keep this process alive anyway
1364
- console.log(` Watcher for ${project}: ${result.message}`);
1365
- }
1366
- else {
1367
- console.log(` ✓ Watcher attached: ${result.message}`);
1368
- }
1369
- console.log(` Watching ${dir} for changes. Press Ctrl+C to stop.`);
1370
- console.log();
1371
- // Keep the process alive — the file watcher uses fs.watch which keeps the event loop busy,
1372
- // but we add an explicit interval as a belt-and-braces guard against premature exit.
1373
- const keepAlive = setInterval(() => { }, 60_000);
1374
- process.on('SIGINT', () => {
1375
- clearInterval(keepAlive);
1376
- liveWatcher.stopWatcher(project);
1377
- console.log(`\n Watcher stopped for ${project}.`);
1378
- process.exit(0);
1379
- });
1380
- process.on('SIGTERM', () => {
1381
- clearInterval(keepAlive);
1382
- liveWatcher.stopWatcher(project);
1383
- process.exit(0);
1384
- });
1385
- }
1386
- // ─── cell community ─────────────────────────────────────────────────────────
1387
- function doCommunity() {
1388
- console.log();
1389
- console.log(C.bold(' Cell Community'));
1390
- console.log(C.dim(' ──────────────'));
1391
- console.log();
1392
- const sub = args[1] || '';
1393
- if (sub === 'share') {
1394
- try {
1395
- const { sharePatterns } = require('./community-intel');
1396
- const result = sharePatterns();
1397
- console.log(result.success ? C.success(` ${result.message}`) : C.warn(` ${result.message}`));
1398
- console.log(C.dim(' Anonymous — only pattern types shared, zero code.'));
1399
- }
1400
- catch {
1401
- console.log(C.warn(' Share failed. Run cell scan first.'));
1402
- }
1403
- console.log();
1404
- return;
1405
- }
1406
- if (sub === 'browse' || sub === '') {
1407
- try {
1408
- const { generateCommunityReport } = require('./community-intel');
1409
- const report = generateCommunityReport();
1410
- if (report.patterns.length > 0) {
1411
- console.log(C.bold(` 📊 Top Patterns (${report.patterns.length} total):`));
1412
- for (const p of report.patterns.slice(0, 8)) {
1413
- console.log(` ${C.num(String(p.percentage))}% ${p.category}: ${p.description}`);
1414
- }
1415
- console.log();
1416
- }
1417
- if (report.benchmarks.length > 0) {
1418
- console.log(C.bold(' 📈 Benchmarks:'));
1419
- for (const b of report.benchmarks) {
1420
- console.log(` ${b.metric}: ${C.num(String(b.percentile))}th percentile — ${b.interpretation}`);
1421
- }
1422
- console.log();
1423
- }
1424
- if (report.topStacks.length > 0) {
1425
- console.log(C.bold(' 🏗️ Top Stacks:'));
1426
- for (const s of report.topStacks) {
1427
- console.log(` ${C.success('•')} ${s.stack} (${s.count}x)`);
1428
- }
1429
- console.log();
1430
- }
1431
- if (report.topBlindSpots.length > 0) {
1432
- console.log(C.bold(' ⚠️ Common Blind Spots:'));
1433
- for (const b of report.topBlindSpots) {
1434
- console.log(` ${C.warn('!')} ${b.blindSpot} (${b.percentage}%)`);
1435
- }
1436
- console.log();
1437
- }
1438
- }
1439
- catch {
1440
- console.log(C.dim(' No community data yet. Run: cell scan first.'));
1441
- }
1442
- return;
1443
- }
1444
- console.log(' Commands:');
1445
- console.log(' cell community browse Browse community patterns & benchmarks');
1446
- console.log(' cell community share Share patterns anonymously');
1447
- console.log();
1448
- }
1449
- // ─── cell context ───────────────────────────────────────────────────────────
1450
- function doContext() {
1451
- // args[0] is the project name (optional, defaults to cwd)
1452
- // args[1] is the tool name (optional, e.g. 'claude-code', 'cursor')
1453
- const projectArg = args[1] || project;
1454
- const toolArg = args[2] || 'claude-code';
1455
- let ctx;
1456
- try {
1457
- const { buildContext, formatContextForTool } = require('./core/prompt-builder');
1458
- ctx = buildContext(projectArg, toolArg);
1459
- const text = formatContextForTool(ctx, toolArg, projectArg);
1460
- console.log(text);
1461
- }
1462
- catch (e) {
1463
- console.log(C.warn(' No context available yet.'));
1464
- console.log(C.dim(' Run: cell scan first to populate context.'));
1465
- return;
1466
- }
1467
- }
1468
- // ─── cell mcp-config (Pre-Launch: auto-register all IDEs) ────────────────────
1469
- /**
1470
- * Auto-write MCP config for every supported IDE. Detects which config files
1471
- * exist and creates/updates the cell MCP entry in each.
1472
- *
1473
- * Supported IDEs:
1474
- * - Cursor: ~/.cursor/mcp.json
1475
- * - Gemini CLI: ~/.gemini/settings.json
1476
- * - Antigravity: ~/.gemini/config/mcp_config.json
1477
- * - Codex: ~/.codex/config.json
1478
- * - OpenCode: ~/.config/opencode/opencode.jsonc
1479
- */
1480
- function doMcpConfig() {
1481
- console.log();
1482
- console.log(C.bold(' Cell MCP Auto-Config'));
1483
- console.log(C.dim(' ─────────────────────'));
1484
- console.log();
1485
- const { writeMcpConfig, getMcpTargets } = require('./core/mcp-config');
1486
- const homedir = os.homedir();
1487
- const targets = getMcpTargets(homedir);
1488
- const result = writeMcpConfig(homedir);
1489
- for (const t of targets) {
1490
- if (result.written.includes(t.configPath)) {
1491
- const action = fs.existsSync(t.configPath) ? 'updated' : 'created';
1492
- console.log(` ${C.success('✓')} ${t.name.padEnd(14)} ${C.dim(action)} — ${t.configPath}`);
1493
- }
1494
- }
1495
- for (const s of result.skipped) {
1496
- console.log(` ${C.warn('!')} ${s.name}: ${s.reason}`);
1497
- }
1498
- console.log();
1499
- console.log(` ${C.success('Done')}: ${result.written.length} config file${result.written.length === 1 ? '' : 's'} written`);
1500
- if (result.skipped.length > 0)
1501
- console.log(C.dim(` ${result.skipped.length} skipped (parse errors)`));
1502
- console.log();
1503
- console.log(C.dim(' Restart your IDE to load the new MCP config.'));
1504
- console.log(C.dim(' Make sure `cell start` is running for tools to connect.'));
1505
- console.log();
1506
- }
1507
- // ─── cell help ──────────────────────────────────────────────────────────────
1508
- function doHelp() {
1509
- console.log();
1510
- console.log(C.bold(' Cell Commands'));
1511
- console.log(C.dim(' ─────────────'));
1512
- console.log();
1513
- console.log(` ${C.primary('cell start')} Start daemon + MCP (port 9876) — re-run safe`);
1514
- console.log(` ${C.primary('cell stop')} Stop daemon`);
1515
- console.log(` ${C.primary('cell setup')} One-time project setup: scan + watcher + MCP (idempotent)`);
1516
- console.log(` ${C.primary('cell --version')} Print version + daemon status`);
1517
- console.log(` ${C.primary('cell mcp-config')} Auto-register cell MCP in Cursor/Antigravity/Codex/OpenCode`);
1518
- console.log(` ${C.primary('cell scan')} Scan codebase + build layers`);
1519
- console.log(` ${C.primary('cell analyze')} AI prompts from scan data`);
1520
- console.log(` ${C.primary('cell status')} What Cell knows about you`);
1521
- console.log(` ${C.primary('cell status --session')} Last touched file + patterns (Pre-Launch Test 1)`);
1522
- console.log(` ${C.primary('cell status --decisions')} Recent decisions with verdict (Pre-Launch Test 3)`);
1523
- console.log(` ${C.primary('cell session')} Same as cell status --session`);
1524
- console.log(` ${C.primary('cell decisions')} Same as cell status --decisions`);
1525
- console.log(` ${C.primary('cell team')} Team collaboration (git-based)`);
1526
- console.log(` ${C.primary('cell community')} Community patterns + benchmarks`);
1527
- console.log(` ${C.primary('cell watch [start|stop|events|check|status] [proj] [dir]')} Live file watcher`);
1528
- console.log(` ${C.primary('cell watch daemon [proj] [dir]')} Run as long-lived watcher (for .bat)`);
1529
- console.log(` ${C.primary('cell blindspots [dir] [maxFiles]')} Scan for blind spots (15+ types)`);
1530
- console.log(` ${C.primary('cell context [project] [tool]')} Inject @cell context block`);
1531
- console.log(` ${C.primary('cell help')} Show this help`);
1532
- console.log();
1533
- console.log(C.dim(' Install: npm i -g fivocell'));
1534
- console.log(C.dim(' Then: cell start'));
1535
- console.log();
1536
- }
1537
- // test touch 14:40:59
1538
- //# sourceMappingURL=cli.js.map