fivocell 6.2.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/README.md +229 -120
  2. package/dist/__tests__/cell-mirror.test.js +2 -2
  3. package/dist/__tests__/cell-mirror.test.js.map +1 -1
  4. package/dist/__tests__/cli-regression.test.js +1 -1
  5. package/dist/__tests__/cli-regression.test.js.map +1 -1
  6. package/dist/__tests__/teach-context.test.d.ts +2 -0
  7. package/dist/__tests__/teach-context.test.d.ts.map +1 -0
  8. package/dist/__tests__/teach-context.test.js +44 -0
  9. package/dist/__tests__/teach-context.test.js.map +1 -0
  10. package/dist/__tests__/teach-parser.test.d.ts +2 -0
  11. package/dist/__tests__/teach-parser.test.d.ts.map +1 -0
  12. package/dist/__tests__/teach-parser.test.js +56 -0
  13. package/dist/__tests__/teach-parser.test.js.map +1 -0
  14. package/dist/__tests__/teach-store.test.d.ts +2 -0
  15. package/dist/__tests__/teach-store.test.d.ts.map +1 -0
  16. package/dist/__tests__/teach-store.test.js +68 -0
  17. package/dist/__tests__/teach-store.test.js.map +1 -0
  18. package/dist/__tests__/vibe-engine.test.d.ts +2 -0
  19. package/dist/__tests__/vibe-engine.test.d.ts.map +1 -0
  20. package/dist/__tests__/vibe-engine.test.js +132 -0
  21. package/dist/__tests__/vibe-engine.test.js.map +1 -0
  22. package/dist/core/search-engine.d.ts.map +1 -1
  23. package/dist/core/search-engine.js +8 -11
  24. package/dist/core/search-engine.js.map +1 -1
  25. package/dist/walls/01-context/context/prompt-builder.d.ts +1 -0
  26. package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
  27. package/dist/walls/01-context/context/prompt-builder.js +15 -1
  28. package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
  29. package/dist/walls/02-scanner/blindspots/code-scanner.d.ts +11 -0
  30. package/dist/walls/02-scanner/blindspots/code-scanner.d.ts.map +1 -1
  31. package/dist/walls/02-scanner/blindspots/code-scanner.js +63 -0
  32. package/dist/walls/02-scanner/blindspots/code-scanner.js.map +1 -1
  33. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts +14 -0
  34. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts.map +1 -1
  35. package/dist/walls/03-knowledge/decisions/branch-snapshot.js +88 -21
  36. package/dist/walls/03-knowledge/decisions/branch-snapshot.js.map +1 -1
  37. package/dist/walls/03-knowledge/decisions/failure-memory.d.ts +15 -0
  38. package/dist/walls/03-knowledge/decisions/failure-memory.d.ts.map +1 -1
  39. package/dist/walls/03-knowledge/decisions/failure-memory.js +141 -54
  40. package/dist/walls/03-knowledge/decisions/failure-memory.js.map +1 -1
  41. package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts +8 -0
  42. package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts.map +1 -1
  43. package/dist/walls/03-knowledge/decisions/predictive-engine.js +41 -0
  44. package/dist/walls/03-knowledge/decisions/predictive-engine.js.map +1 -1
  45. package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
  46. package/dist/walls/06-memory/archive/blob-vault.js +1 -3
  47. package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
  48. package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
  49. package/dist/walls/06-memory/archive/memory-archive.js +38 -48
  50. package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
  51. package/dist/walls/06-memory/mirror/cell-mirror.d.ts +2 -0
  52. package/dist/walls/06-memory/mirror/cell-mirror.d.ts.map +1 -1
  53. package/dist/walls/06-memory/mirror/cell-mirror.js +76 -35
  54. package/dist/walls/06-memory/mirror/cell-mirror.js.map +1 -1
  55. package/dist/walls/06-memory/privacy/key-provider.d.ts +29 -0
  56. package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
  57. package/dist/walls/06-memory/privacy/key-provider.js +79 -0
  58. package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
  59. package/dist/walls/06-memory/retrieval/context-pipeline.d.ts +2 -0
  60. package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
  61. package/dist/walls/06-memory/retrieval/context-pipeline.js +81 -13
  62. package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
  63. package/dist/walls/06-memory/stores/memory-search.d.ts +9 -0
  64. package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -1
  65. package/dist/walls/06-memory/stores/memory-search.js +62 -13
  66. package/dist/walls/06-memory/stores/memory-search.js.map +1 -1
  67. package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
  68. package/dist/walls/06-memory/stores/sync-engine.js +56 -49
  69. package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
  70. package/dist/walls/06-memory/stores/weekly-report.d.ts +5 -0
  71. package/dist/walls/06-memory/stores/weekly-report.d.ts.map +1 -1
  72. package/dist/walls/06-memory/stores/weekly-report.js +24 -2
  73. package/dist/walls/06-memory/stores/weekly-report.js.map +1 -1
  74. package/dist/walls/06-memory/teach/teach-context.d.ts +8 -0
  75. package/dist/walls/06-memory/teach/teach-context.d.ts.map +1 -0
  76. package/dist/walls/06-memory/teach/teach-context.js +25 -0
  77. package/dist/walls/06-memory/teach/teach-context.js.map +1 -0
  78. package/dist/walls/06-memory/teach/teach-parser.d.ts +6 -0
  79. package/dist/walls/06-memory/teach/teach-parser.d.ts.map +1 -0
  80. package/dist/walls/06-memory/teach/teach-parser.js +42 -0
  81. package/dist/walls/06-memory/teach/teach-parser.js.map +1 -0
  82. package/dist/walls/06-memory/teach/teach-sections.d.ts +10 -0
  83. package/dist/walls/06-memory/teach/teach-sections.d.ts.map +1 -0
  84. package/dist/walls/06-memory/teach/teach-sections.js +67 -0
  85. package/dist/walls/06-memory/teach/teach-sections.js.map +1 -0
  86. package/dist/walls/06-memory/teach/teach-store.d.ts +25 -0
  87. package/dist/walls/06-memory/teach/teach-store.d.ts.map +1 -0
  88. package/dist/walls/06-memory/teach/teach-store.js +95 -0
  89. package/dist/walls/06-memory/teach/teach-store.js.map +1 -0
  90. package/dist/walls/06-memory/vibe/vibe-cli.d.ts +2 -0
  91. package/dist/walls/06-memory/vibe/vibe-cli.d.ts.map +1 -0
  92. package/dist/walls/06-memory/vibe/vibe-cli.js +217 -0
  93. package/dist/walls/06-memory/vibe/vibe-cli.js.map +1 -0
  94. package/dist/walls/06-memory/vibe/vibe-confidence.d.ts +24 -0
  95. package/dist/walls/06-memory/vibe/vibe-confidence.d.ts.map +1 -0
  96. package/dist/walls/06-memory/vibe/vibe-confidence.js +91 -0
  97. package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -0
  98. package/dist/walls/06-memory/vibe/vibe-context.d.ts +8 -0
  99. package/dist/walls/06-memory/vibe/vibe-context.d.ts.map +1 -0
  100. package/dist/walls/06-memory/vibe/vibe-context.js +88 -0
  101. package/dist/walls/06-memory/vibe/vibe-context.js.map +1 -0
  102. package/dist/walls/06-memory/vibe/vibe-engine.d.ts +38 -0
  103. package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
  104. package/dist/walls/06-memory/vibe/vibe-engine.js +587 -0
  105. package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
  106. package/dist/walls/06-memory/vibe/vibe-signals.d.ts +24 -0
  107. package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
  108. package/dist/walls/06-memory/vibe/vibe-signals.js +138 -0
  109. package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
  110. package/dist/walls/07-runtime/cli/cli.js +116 -4677
  111. package/dist/walls/07-runtime/cli/cli.js.map +1 -1
  112. package/dist/walls/07-runtime/cli/commands/branch.d.ts +7 -0
  113. package/dist/walls/07-runtime/cli/commands/branch.d.ts.map +1 -0
  114. package/dist/walls/07-runtime/cli/commands/branch.js +169 -0
  115. package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -0
  116. package/dist/walls/07-runtime/cli/commands/ci.d.ts +2 -0
  117. package/dist/walls/07-runtime/cli/commands/ci.d.ts.map +1 -0
  118. package/dist/walls/07-runtime/cli/commands/ci.js +57 -0
  119. package/dist/walls/07-runtime/cli/commands/ci.js.map +1 -0
  120. package/dist/walls/07-runtime/cli/commands/community.d.ts +2 -0
  121. package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -0
  122. package/dist/walls/07-runtime/cli/commands/community.js +64 -0
  123. package/dist/walls/07-runtime/cli/commands/community.js.map +1 -0
  124. package/dist/walls/07-runtime/cli/commands/dashboard.d.ts +3 -0
  125. package/dist/walls/07-runtime/cli/commands/dashboard.d.ts.map +1 -0
  126. package/dist/walls/07-runtime/cli/commands/dashboard.js +45 -0
  127. package/dist/walls/07-runtime/cli/commands/dashboard.js.map +1 -0
  128. package/dist/walls/07-runtime/cli/commands/help.d.ts +4 -0
  129. package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -0
  130. package/dist/walls/07-runtime/cli/commands/help.js +91 -0
  131. package/dist/walls/07-runtime/cli/commands/help.js.map +1 -0
  132. package/dist/walls/07-runtime/cli/commands/memory.d.ts +5 -0
  133. package/dist/walls/07-runtime/cli/commands/memory.d.ts.map +1 -0
  134. package/dist/walls/07-runtime/cli/commands/memory.js +252 -0
  135. package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -0
  136. package/dist/walls/07-runtime/cli/commands/repl.d.ts +2 -0
  137. package/dist/walls/07-runtime/cli/commands/repl.d.ts.map +1 -0
  138. package/dist/walls/07-runtime/cli/commands/repl.js +63 -0
  139. package/dist/walls/07-runtime/cli/commands/repl.js.map +1 -0
  140. package/dist/walls/07-runtime/cli/commands/scan.d.ts +4 -0
  141. package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -0
  142. package/dist/walls/07-runtime/cli/commands/scan.js +263 -0
  143. package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -0
  144. package/dist/walls/07-runtime/cli/commands/session.d.ts +4 -0
  145. package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -0
  146. package/dist/walls/07-runtime/cli/commands/session.js +80 -0
  147. package/dist/walls/07-runtime/cli/commands/session.js.map +1 -0
  148. package/dist/walls/07-runtime/cli/commands/setup.d.ts +4 -0
  149. package/dist/walls/07-runtime/cli/commands/setup.d.ts.map +1 -0
  150. package/dist/walls/07-runtime/cli/commands/setup.js +216 -0
  151. package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -0
  152. package/dist/walls/07-runtime/cli/commands/status.d.ts +4 -0
  153. package/dist/walls/07-runtime/cli/commands/status.d.ts.map +1 -0
  154. package/dist/walls/07-runtime/cli/commands/status.js +352 -0
  155. package/dist/walls/07-runtime/cli/commands/status.js.map +1 -0
  156. package/dist/walls/07-runtime/cli/commands/sync.d.ts +4 -0
  157. package/dist/walls/07-runtime/cli/commands/sync.d.ts.map +1 -0
  158. package/dist/walls/07-runtime/cli/commands/sync.js +116 -0
  159. package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -0
  160. package/dist/walls/07-runtime/cli/commands/teach.d.ts +3 -0
  161. package/dist/walls/07-runtime/cli/commands/teach.d.ts.map +1 -0
  162. package/dist/walls/07-runtime/cli/commands/teach.js +203 -0
  163. package/dist/walls/07-runtime/cli/commands/teach.js.map +1 -0
  164. package/dist/walls/07-runtime/cli/commands/team.d.ts +2 -0
  165. package/dist/walls/07-runtime/cli/commands/team.d.ts.map +1 -0
  166. package/dist/walls/07-runtime/cli/commands/team.js +58 -0
  167. package/dist/walls/07-runtime/cli/commands/team.js.map +1 -0
  168. package/dist/walls/07-runtime/cli/commands/watch.d.ts +4 -0
  169. package/dist/walls/07-runtime/cli/commands/watch.d.ts.map +1 -0
  170. package/dist/walls/07-runtime/cli/commands/watch.js +129 -0
  171. package/dist/walls/07-runtime/cli/commands/watch.js.map +1 -0
  172. package/dist/walls/07-runtime/cli/utils.d.ts +26 -0
  173. package/dist/walls/07-runtime/cli/utils.d.ts.map +1 -0
  174. package/dist/walls/07-runtime/cli/utils.js +217 -0
  175. package/dist/walls/07-runtime/cli/utils.js.map +1 -0
  176. package/dist/walls/07-runtime/daemon/routes/community.d.ts +3 -0
  177. package/dist/walls/07-runtime/daemon/routes/community.d.ts.map +1 -0
  178. package/dist/walls/07-runtime/daemon/routes/community.js +191 -0
  179. package/dist/walls/07-runtime/daemon/routes/community.js.map +1 -0
  180. package/dist/walls/07-runtime/daemon/routes/cost.d.ts +3 -0
  181. package/dist/walls/07-runtime/daemon/routes/cost.d.ts.map +1 -0
  182. package/dist/walls/07-runtime/daemon/routes/cost.js +73 -0
  183. package/dist/walls/07-runtime/daemon/routes/cost.js.map +1 -0
  184. package/dist/walls/07-runtime/daemon/routes/health.d.ts +3 -0
  185. package/dist/walls/07-runtime/daemon/routes/health.d.ts.map +1 -0
  186. package/dist/walls/07-runtime/daemon/routes/health.js +40 -0
  187. package/dist/walls/07-runtime/daemon/routes/health.js.map +1 -0
  188. package/dist/walls/07-runtime/daemon/routes/memory.d.ts +3 -0
  189. package/dist/walls/07-runtime/daemon/routes/memory.d.ts.map +1 -0
  190. package/dist/walls/07-runtime/daemon/routes/memory.js +75 -0
  191. package/dist/walls/07-runtime/daemon/routes/memory.js.map +1 -0
  192. package/dist/walls/07-runtime/daemon/routes/privacy.d.ts +3 -0
  193. package/dist/walls/07-runtime/daemon/routes/privacy.d.ts.map +1 -0
  194. package/dist/walls/07-runtime/daemon/routes/privacy.js +160 -0
  195. package/dist/walls/07-runtime/daemon/routes/privacy.js.map +1 -0
  196. package/dist/walls/07-runtime/daemon/routes/project.d.ts +3 -0
  197. package/dist/walls/07-runtime/daemon/routes/project.d.ts.map +1 -0
  198. package/dist/walls/07-runtime/daemon/routes/project.js +59 -0
  199. package/dist/walls/07-runtime/daemon/routes/project.js.map +1 -0
  200. package/dist/walls/07-runtime/daemon/routes/session.d.ts +3 -0
  201. package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -0
  202. package/dist/walls/07-runtime/daemon/routes/session.js +101 -0
  203. package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -0
  204. package/dist/walls/07-runtime/daemon/routes/signal.d.ts +3 -0
  205. package/dist/walls/07-runtime/daemon/routes/signal.d.ts.map +1 -0
  206. package/dist/walls/07-runtime/daemon/routes/signal.js +60 -0
  207. package/dist/walls/07-runtime/daemon/routes/signal.js.map +1 -0
  208. package/dist/walls/07-runtime/daemon/routes/workflow.d.ts +3 -0
  209. package/dist/walls/07-runtime/daemon/routes/workflow.d.ts.map +1 -0
  210. package/dist/walls/07-runtime/daemon/routes/workflow.js +105 -0
  211. package/dist/walls/07-runtime/daemon/routes/workflow.js.map +1 -0
  212. package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
  213. package/dist/walls/07-runtime/daemon/server.js +22 -0
  214. package/dist/walls/07-runtime/daemon/server.js.map +1 -1
  215. package/package.json +1 -1
  216. package/scripts/deep-audit.js +103 -0
  217. package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts +0 -38
  218. package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts.map +0 -1
  219. package/dist/walls/03-knowledge/decisions/cross-model-engine.js +0 -98
  220. package/dist/walls/03-knowledge/decisions/cross-model-engine.js.map +0 -1
  221. package/dist/walls/03-knowledge/decisions/insight-generator.d.ts +0 -58
  222. package/dist/walls/03-knowledge/decisions/insight-generator.d.ts.map +0 -1
  223. package/dist/walls/03-knowledge/decisions/insight-generator.js +0 -314
  224. package/dist/walls/03-knowledge/decisions/insight-generator.js.map +0 -1
  225. package/dist/walls/05-community/stats/community-advanced-engine.d.ts +0 -30
  226. package/dist/walls/05-community/stats/community-advanced-engine.d.ts.map +0 -1
  227. package/dist/walls/05-community/stats/community-advanced-engine.js +0 -103
  228. package/dist/walls/05-community/stats/community-advanced-engine.js.map +0 -1
  229. package/dist/walls/05-community/stats/community-engine.d.ts +0 -62
  230. package/dist/walls/05-community/stats/community-engine.d.ts.map +0 -1
  231. package/dist/walls/05-community/stats/community-engine.js +0 -194
  232. package/dist/walls/05-community/stats/community-engine.js.map +0 -1
  233. package/dist/walls/05-community/stats/community-v2.d.ts +0 -106
  234. package/dist/walls/05-community/stats/community-v2.d.ts.map +0 -1
  235. package/dist/walls/05-community/stats/community-v2.js +0 -378
  236. package/dist/walls/05-community/stats/community-v2.js.map +0 -1
  237. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts +0 -20
  238. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts.map +0 -1
  239. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js +0 -250
  240. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js.map +0 -1
  241. package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts +0 -40
  242. package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts.map +0 -1
  243. package/dist/walls/08-cloud-bridge/sync/cloud-client.js +0 -126
  244. package/dist/walls/08-cloud-bridge/sync/cloud-client.js.map +0 -1
  245. package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts +0 -66
  246. package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts.map +0 -1
  247. package/dist/walls/08-cloud-bridge/sync/cloud-sync.js +0 -328
  248. package/dist/walls/08-cloud-bridge/sync/cloud-sync.js.map +0 -1
@@ -92,8 +92,20 @@ function generateWeeklyReport(project, projectDir) {
92
92
  catch { }
93
93
  // Productivity score (0-10)
94
94
  const productivityScore = calcProductivityScore(events, totalEvents, keyDecisions.length, errors.length, fixes.length);
95
+ // CI summary
96
+ let ciSummary = { totalBuilds: 0, successRate: 0, failures: [] };
97
+ try {
98
+ const ciEvents = db.prepare(`SELECT type, summary, topic, importance, created_at FROM memory_events
99
+ WHERE project = ? AND created_at >= ? AND topic LIKE 'ci-%'
100
+ ORDER BY created_at DESC`).all(project, since);
101
+ ciSummary.totalBuilds = ciEvents.length;
102
+ const successes = ciEvents.filter(e => e.topic === 'ci-build' || e.topic === 'ci-test-passed').length;
103
+ ciSummary.successRate = ciEvents.length > 0 ? Math.round(successes / ciEvents.length * 100) : 100;
104
+ ciSummary.failures = ciEvents.filter(e => e.topic === 'ci-build-failed' || e.topic === 'ci-test-failed').slice(0, 5).map(e => e.summary);
105
+ }
106
+ catch { /* ignore */ }
95
107
  // Generate markdown
96
- const markdown = buildMarkdownReport(project, weekStart, weekEnd, totalEvents, avgImportance, byType, topTopics, keyDecisions, errors, fixes, insights, handoffSummary, productivityScore);
108
+ const markdown = buildMarkdownReport(project, weekStart, weekEnd, totalEvents, avgImportance, byType, topTopics, keyDecisions, errors, fixes, insights, handoffSummary, productivityScore, ciSummary);
97
109
  return {
98
110
  project,
99
111
  weekStart,
@@ -108,6 +120,7 @@ function generateWeeklyReport(project, projectDir) {
108
120
  insights,
109
121
  handoffSummary,
110
122
  productivityScore,
123
+ ciSummary,
111
124
  markdown,
112
125
  };
113
126
  }
@@ -147,7 +160,7 @@ function calcProductivityScore(events, total, decisions, errors, fixes) {
147
160
  score += 0.5;
148
161
  return Math.max(1, Math.min(10, Math.round(score * 10) / 10));
149
162
  }
150
- function buildMarkdownReport(project, weekStart, weekEnd, totalEvents, avgImportance, byType, topTopics, keyDecisions, errors, fixes, insights, handoffSummary, productivityScore) {
163
+ function buildMarkdownReport(project, weekStart, weekEnd, totalEvents, avgImportance, byType, topTopics, keyDecisions, errors, fixes, insights, handoffSummary, productivityScore, ciSummary) {
151
164
  const lines = [];
152
165
  lines.push(`# Weekly Report — ${project}`);
153
166
  lines.push(`**${weekStart} → ${weekEnd}**\n`);
@@ -157,7 +170,16 @@ function buildMarkdownReport(project, weekStart, weekEnd, totalEvents, avgImport
157
170
  lines.push(`| Total events | ${totalEvents} |`);
158
171
  lines.push(`| Avg importance | ${avgImportance} |`);
159
172
  lines.push(`| Productivity score | ${productivityScore}/10 |`);
173
+ if (ciSummary.totalBuilds > 0) {
174
+ lines.push(`| CI builds | ${ciSummary.totalBuilds} (${ciSummary.successRate}% success) |`);
175
+ }
160
176
  lines.push('');
177
+ if (ciSummary.totalBuilds > 0 && ciSummary.failures.length > 0) {
178
+ lines.push(`## CI Failures`);
179
+ for (const f of ciSummary.failures)
180
+ lines.push(`- ${f}`);
181
+ lines.push('');
182
+ }
161
183
  if (topTopics.length > 0) {
162
184
  lines.push(`## Top Topics`);
163
185
  for (const t of topTopics)
@@ -1 +1 @@
1
- {"version":3,"file":"weekly-report.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/weekly-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weekly-report.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/weekly-report.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,oDAgGC;AAED,4CAUC;AAlID,uCAAyB;AACzB,2CAA6B;AAC7B,mDAA6C;AAoB7C,SAAgB,oBAAoB,CAAC,OAAe,EAAE,UAAmB;IACvE,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnE,SAAS;IACT,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;GAIzB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAEnB,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,aAAa,GAAG,WAAW,GAAG,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE;QAClF,CAAC,CAAC,CAAC,CAAC;IAEN,UAAU;IACV,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE,SAAS;IACT,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,KAAK;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAElG,2BAA2B;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpF,gCAAgC;IAChC,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvD,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,kBAAkB;IAClB,IAAI,cAAc,GAAG,iBAAiB,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvH,aAAa;IACb,IAAI,SAAS,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAc,EAAE,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB;;gCAE0B,CAC3B,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAA2G,CAAC;QAChI,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;QACtG,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClG,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3I,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAExB,oBAAoB;IACpB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAC1F,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAE1G,OAAO;QACL,OAAO;QACP,SAAS;QACT,OAAO;QACP,WAAW;QACX,aAAa;QACb,MAAM;QACN,SAAS;QACT,YAAY;QACZ,MAAM;QACN,KAAK;QACL,QAAQ;QACR,cAAc;QACd,iBAAiB;QACjB,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAoB,EAAE,UAAmB;IACxE,MAAM,GAAG,GAAG,UAAU;QACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;QACjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAmD,EACnD,KAAa,EACb,SAAiB,EACjB,MAAc,EACd,KAAa;IAEb,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,sBAAsB;IACtB,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;SAC3B,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;IACrC,+BAA+B;IAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACxC,8BAA8B;IAC9B,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG;QAAE,KAAK,IAAI,CAAC,CAAC;SAChC,IAAI,MAAM,GAAG,KAAK,GAAG,IAAI;QAAE,KAAK,IAAI,CAAC,CAAC;IAC3C,gCAAgC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACpE,IAAI,MAAM,GAAG,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC3B,mBAAmB;IACnB,IAAI,KAAK,GAAG,EAAE;QAAE,KAAK,IAAI,GAAG,CAAC;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAe,EAAE,SAAiB,EAAE,OAAe,EACnD,WAAmB,EAAE,aAAqB,EAC1C,MAA8B,EAAE,SAAmB,EACnD,YAAsB,EAAE,MAAgB,EAAE,KAAe,EACzD,QAAkB,EAAE,cAAsB,EAAE,iBAAyB,EACrE,SAA2E;IAE3E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,MAAM,OAAO,MAAM,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,IAAI,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,0BAA0B,iBAAiB,OAAO,CAAC,CAAC;IAC/D,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,cAAc,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface ContextSource {
2
+ type: string;
3
+ reason: string;
4
+ data: string;
5
+ importance: number;
6
+ }
7
+ export declare function getProfileForContext(): ContextSource | null;
8
+ //# sourceMappingURL=teach-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-context.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-context.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,IAAI,aAAa,GAAG,IAAI,CAa3D"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // teach-context.ts — Profile → context injection logic
4
+ //
5
+ // Converts developer profile to context source for @cell injection.
6
+ // ============================================================
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getProfileForContext = getProfileForContext;
9
+ const teach_store_1 = require("./teach-store");
10
+ const teach_parser_1 = require("./teach-parser");
11
+ function getProfileForContext() {
12
+ const profile = (0, teach_store_1.getFullProfile)();
13
+ if (Object.keys(profile).length === 0)
14
+ return null;
15
+ const contextString = (0, teach_parser_1.profileToContextString)(profile);
16
+ if (!contextString)
17
+ return null;
18
+ return {
19
+ type: 'developer_profile',
20
+ reason: 'developer identity and preferences',
21
+ data: contextString,
22
+ importance: 85, // High priority — identity is critical context
23
+ };
24
+ }
25
+ //# sourceMappingURL=teach-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-context.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-context.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,oEAAoE;AACpE,+DAA+D;;AAY/D,oDAaC;AAvBD,+CAA+C;AAC/C,iDAAwD;AASxD,SAAgB,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,oCAAoC;QAC5C,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE,EAAE,+CAA+C;KAChE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function parseTeachInput(rawText: string, section: string): Record<string, string>;
2
+ export declare function profileToContextString(profile: Record<string, {
3
+ rawText: string;
4
+ structuredData: Record<string, string>;
5
+ }>): string;
6
+ //# sourceMappingURL=teach-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-parser.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-parser.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,GAAG,MAAM,CAcnI"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // teach-parser.ts — Free text → structured JSON parser
4
+ //
5
+ // Parses developer's free text input into structured data.
6
+ // Simple rule-based parsing — no ML needed.
7
+ // ============================================================
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.parseTeachInput = parseTeachInput;
10
+ exports.profileToContextString = profileToContextString;
11
+ function parseTeachInput(rawText, section) {
12
+ const lines = rawText.split('\n').filter(l => l.trim());
13
+ const result = {};
14
+ for (const line of lines) {
15
+ // Remove numbering: "1. Minimal changes" → "Minimal changes"
16
+ const cleaned = line.replace(/^\d+[\.\)]\s*/, '').replace(/^[-•]\s*/, '').trim();
17
+ if (!cleaned)
18
+ continue;
19
+ // Convert to snake_case key
20
+ const key = cleaned
21
+ .toLowerCase()
22
+ .replace(/[^a-z0-9]+/g, '_')
23
+ .replace(/^_|_$/g, '');
24
+ // Store both key and original text
25
+ result[key] = cleaned;
26
+ }
27
+ return result;
28
+ }
29
+ function profileToContextString(profile) {
30
+ if (Object.keys(profile).length === 0)
31
+ return '';
32
+ const lines = ['Developer Profile:'];
33
+ for (const [section, data] of Object.entries(profile)) {
34
+ const items = Object.values(data.structuredData);
35
+ if (items.length > 0) {
36
+ const sectionName = section.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
37
+ lines.push(` ${sectionName}: ${items.join(', ')}`);
38
+ }
39
+ }
40
+ return lines.join('\n');
41
+ }
42
+ //# sourceMappingURL=teach-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-parser.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-parser.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,2DAA2D;AAC3D,4CAA4C;AAC5C,+DAA+D;;AAE/D,0CAoBC;AAED,wDAcC;AApCD,SAAgB,eAAe,CAAC,OAAe,EAAE,OAAe;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,4BAA4B;QAC5B,MAAM,GAAG,GAAG,OAAO;aAChB,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEzB,mCAAmC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAoF;IACzH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAE/C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface TeachSection {
2
+ key: string;
3
+ title: string;
4
+ prompt: string;
5
+ example: string;
6
+ }
7
+ export declare const TEACH_SECTIONS: TeachSection[];
8
+ export declare function getSection(key: string): TeachSection | undefined;
9
+ export declare function getNextPending(doneSections: string[]): TeachSection | null;
10
+ //# sourceMappingURL=teach-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-sections.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-sections.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,EAiDxC,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI,CAE1E"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // teach-sections.ts — Section definitions for cell teach
4
+ //
5
+ // 8 sections that define what developer profile contains.
6
+ // ============================================================
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TEACH_SECTIONS = void 0;
9
+ exports.getSection = getSection;
10
+ exports.getNextPending = getNextPending;
11
+ exports.TEACH_SECTIONS = [
12
+ {
13
+ key: 'coding_style',
14
+ title: 'My Coding Style',
15
+ prompt: 'How do you code? What matters to you? (e.g., minimal changes, strong typing, readability first)',
16
+ example: '1. Minimal changes\n2. No large rewrites\n3. Strong typing\n4. Readability over cleverness',
17
+ },
18
+ {
19
+ key: 'ai_expectations',
20
+ title: 'My AI Expectations',
21
+ prompt: 'What do you expect from AI tools? (e.g., explain first, ask before major changes)',
22
+ example: '1. Explain before coding\n2. Ask before major changes\n3. Show risks\n4. Be direct',
23
+ },
24
+ {
25
+ key: 'hates',
26
+ title: 'Things I Hate',
27
+ prompt: 'What drives you crazy in AI-generated code? (e.g., random refactors, new dependencies)',
28
+ example: '1. Random refactors\n2. New dependencies\n3. Huge responses\n4. Assumptions',
29
+ },
30
+ {
31
+ key: 'project_rules',
32
+ title: 'My Project Rules',
33
+ prompt: 'What rules should always be followed? (e.g., always run tests, security first)',
34
+ example: '1. Always run tests\n2. Never edit production configs\n3. Security first',
35
+ },
36
+ {
37
+ key: 'workflow',
38
+ title: 'My Workflow',
39
+ prompt: 'How do you work? What order? (e.g., plan first, then code, then test)',
40
+ example: '1. Plan first\n2. Code second\n3. Test third\n4. Deploy last',
41
+ },
42
+ {
43
+ key: 'communication',
44
+ title: 'My Communication Style',
45
+ prompt: 'How should AI talk to you? (e.g., direct, no fluff, bullet points)',
46
+ example: '1. Direct\n2. No fluff\n3. Bullet points\n4. Technical language',
47
+ },
48
+ {
49
+ key: 'problems',
50
+ title: 'My Repeated Problems',
51
+ prompt: 'What mistakes do you make often? (e.g., scope creep, over-engineering)',
52
+ example: '1. Scope creep\n2. Over-engineering\n3. Missing tests\n4. Large PRs',
53
+ },
54
+ {
55
+ key: 'notes',
56
+ title: 'Anything Else',
57
+ prompt: 'Anything else you want Cell to know about you?',
58
+ example: '1. OSS focused\n2. CLI tools preferred\n3. Simplicity over cleverness',
59
+ },
60
+ ];
61
+ function getSection(key) {
62
+ return exports.TEACH_SECTIONS.find(s => s.key === key);
63
+ }
64
+ function getNextPending(doneSections) {
65
+ return exports.TEACH_SECTIONS.find(s => !doneSections.includes(s.key)) || null;
66
+ }
67
+ //# sourceMappingURL=teach-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-sections.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-sections.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yDAAyD;AACzD,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;;;AA4D/D,gCAEC;AAED,wCAEC;AAzDY,QAAA,cAAc,GAAmB;IAC5C;QACE,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,iGAAiG;QACzG,OAAO,EAAE,4FAA4F;KACtG;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,mFAAmF;QAC3F,OAAO,EAAE,oFAAoF;KAC9F;IACD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,wFAAwF;QAChG,OAAO,EAAE,6EAA6E;KACvF;IACD;QACE,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,gFAAgF;QACxF,OAAO,EAAE,0EAA0E;KACpF;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,uEAAuE;QAC/E,OAAO,EAAE,8DAA8D;KACxE;IACD;QACE,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,oEAAoE;QAC5E,OAAO,EAAE,iEAAiE;KAC3E;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,wEAAwE;QAChF,OAAO,EAAE,qEAAqE;KAC/E;IACD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gDAAgD;QACxD,OAAO,EAAE,uEAAuE;KACjF;CACF,CAAC;AAEF,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,cAAc,CAAC,YAAsB;IACnD,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface ProfileSection {
2
+ section: string;
3
+ rawText: string;
4
+ structuredData: Record<string, string>;
5
+ importance: number;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ }
9
+ export interface ProfileCompletionStatus {
10
+ done: string[];
11
+ pending: string[];
12
+ total: number;
13
+ completionPercent: number;
14
+ }
15
+ export declare function saveProfileSection(section: string, rawText: string, structuredData: Record<string, string>, importance?: number): void;
16
+ export declare function getProfileSection(section: string): ProfileSection | null;
17
+ export declare function getFullProfile(): Record<string, {
18
+ rawText: string;
19
+ structuredData: Record<string, string>;
20
+ }>;
21
+ export declare function deleteProfile(): void;
22
+ export declare function deleteSection(section: string): void;
23
+ export declare function profileExists(): boolean;
24
+ export declare function profileCompletionStatus(allSections: string[]): ProfileCompletionStatus;
25
+ //# sourceMappingURL=teach-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-store.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-store.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAiBD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,UAAU,GAAE,MAAW,GACtB,IAAI,CAaN;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAexE;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAe5G;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,uBAAuB,CActF"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.saveProfileSection = saveProfileSection;
4
+ exports.getProfileSection = getProfileSection;
5
+ exports.getFullProfile = getFullProfile;
6
+ exports.deleteProfile = deleteProfile;
7
+ exports.deleteSection = deleteSection;
8
+ exports.profileExists = profileExists;
9
+ exports.profileCompletionStatus = profileCompletionStatus;
10
+ const database_1 = require("../database/database");
11
+ function ensureTable() {
12
+ const db = (0, database_1.getDb)();
13
+ db.exec(`
14
+ CREATE TABLE IF NOT EXISTS developer_profile (
15
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
16
+ section TEXT NOT NULL UNIQUE,
17
+ raw_text TEXT NOT NULL,
18
+ structured_data TEXT,
19
+ importance INTEGER DEFAULT 85,
20
+ created_at TEXT DEFAULT (datetime('now')),
21
+ updated_at TEXT DEFAULT (datetime('now'))
22
+ )
23
+ `);
24
+ }
25
+ function saveProfileSection(section, rawText, structuredData, importance = 85) {
26
+ const db = (0, database_1.getDb)();
27
+ ensureTable();
28
+ db.prepare(`
29
+ INSERT INTO developer_profile (section, raw_text, structured_data, importance, updated_at)
30
+ VALUES (?, ?, ?, ?, datetime('now'))
31
+ ON CONFLICT(section) DO UPDATE SET
32
+ raw_text = excluded.raw_text,
33
+ structured_data = excluded.structured_data,
34
+ importance = excluded.importance,
35
+ updated_at = datetime('now')
36
+ `).run(section, rawText, JSON.stringify(structuredData), importance);
37
+ }
38
+ function getProfileSection(section) {
39
+ const db = (0, database_1.getDb)();
40
+ ensureTable();
41
+ const row = db.prepare('SELECT * FROM developer_profile WHERE section = ?').get(section);
42
+ if (!row)
43
+ return null;
44
+ return {
45
+ section: row.section,
46
+ rawText: row.raw_text,
47
+ structuredData: JSON.parse(String(row.structured_data || '{}')),
48
+ importance: row.importance,
49
+ createdAt: row.created_at,
50
+ updatedAt: row.updated_at,
51
+ };
52
+ }
53
+ function getFullProfile() {
54
+ const db = (0, database_1.getDb)();
55
+ ensureTable();
56
+ const rows = db.prepare('SELECT section, raw_text, structured_data FROM developer_profile ORDER BY id').all();
57
+ const profile = {};
58
+ for (const row of rows) {
59
+ profile[row.section] = {
60
+ rawText: row.raw_text,
61
+ structuredData: JSON.parse(String(row.structured_data || '{}')),
62
+ };
63
+ }
64
+ return profile;
65
+ }
66
+ function deleteProfile() {
67
+ const db = (0, database_1.getDb)();
68
+ ensureTable();
69
+ db.prepare('DELETE FROM developer_profile').run();
70
+ }
71
+ function deleteSection(section) {
72
+ const db = (0, database_1.getDb)();
73
+ ensureTable();
74
+ db.prepare('DELETE FROM developer_profile WHERE section = ?').run(section);
75
+ }
76
+ function profileExists() {
77
+ const db = (0, database_1.getDb)();
78
+ ensureTable();
79
+ const row = db.prepare('SELECT COUNT(*) as c FROM developer_profile').get();
80
+ return row.c > 0;
81
+ }
82
+ function profileCompletionStatus(allSections) {
83
+ const db = (0, database_1.getDb)();
84
+ ensureTable();
85
+ const rows = db.prepare('SELECT section FROM developer_profile').all();
86
+ const done = rows.map(r => r.section);
87
+ const pending = allSections.filter(s => !done.includes(s));
88
+ return {
89
+ done,
90
+ pending,
91
+ total: allSections.length,
92
+ completionPercent: Math.round((done.length / allSections.length) * 100),
93
+ };
94
+ }
95
+ //# sourceMappingURL=teach-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teach-store.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function doVibe(args: string[]): void;
2
+ //# sourceMappingURL=vibe-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-cli.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-cli.ts"],"names":[],"mappings":"AA2BA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAsB3C"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ // vibe-cli.ts — CLI interface for Cell Vibe
3
+ // Commands: cell vibe, cell vibe show, cell vibe learn, cell vibe reset
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.doVibe = doVibe;
39
+ const path = __importStar(require("path"));
40
+ const vibe_engine_1 = require("./vibe-engine");
41
+ const C = {
42
+ bold: (s) => `\x1b[1m${s}\x1b[0m`,
43
+ dim: (s) => `\x1b[2m${s}\x1b[0m`,
44
+ warn: (s) => `\x1b[33m${s}\x1b[0m`,
45
+ success: (s) => `\x1b[32m${s}\x1b[0m`,
46
+ primary: (s) => `\x1b[36m${s}\x1b[0m`,
47
+ };
48
+ function printDim(s) { console.log(C.dim(s)); }
49
+ function printSuccess(s) { console.log(C.success(s)); }
50
+ function printWarning(s) { console.log(C.warn(s)); }
51
+ function getProjectName() {
52
+ try {
53
+ const pkg = require('../../../../../package.json');
54
+ return pkg.name || path.basename(process.cwd());
55
+ }
56
+ catch {
57
+ return path.basename(process.cwd());
58
+ }
59
+ }
60
+ function doVibe(args) {
61
+ const sub = args[1] || '';
62
+ const cwd = process.cwd();
63
+ switch (sub) {
64
+ case 'learn':
65
+ doVibeLearn(cwd);
66
+ break;
67
+ case 'reset':
68
+ doVibeReset(cwd);
69
+ break;
70
+ case 'show':
71
+ case 'view':
72
+ doVibeShow(cwd);
73
+ break;
74
+ case 'export':
75
+ doVibeExport(cwd);
76
+ break;
77
+ default:
78
+ doVibeSummary(cwd);
79
+ break;
80
+ }
81
+ }
82
+ function doVibeSummary(cwd) {
83
+ console.log();
84
+ console.log(C.bold(' Cell Vibe'));
85
+ console.log(C.dim(' ─────────'));
86
+ console.log();
87
+ const summary = (0, vibe_engine_1.getVibeSummary)(cwd);
88
+ if (!summary || summary.totalRules === 0) {
89
+ printDim('No vibe data yet. Vibe learns automatically from your sessions.');
90
+ console.log();
91
+ console.log(C.dim(' Just keep working — Cell observes and learns your style.'));
92
+ console.log(C.dim(' Or force-learn now: cell vibe learn'));
93
+ console.log();
94
+ return;
95
+ }
96
+ console.log(C.bold(` ${summary.summary}`));
97
+ console.log();
98
+ console.log(C.dim(` Learned ${summary.totalRules} rules (avg vibe: ${summary.averageVibe}/100)`));
99
+ console.log();
100
+ if (Object.keys(summary.coding).length > 0) {
101
+ const parts = [];
102
+ if (summary.coding.changeSize)
103
+ parts.push(`Changes: ${summary.coding.changeSize}`);
104
+ if (summary.coding.abstraction)
105
+ parts.push(`Abstraction: ${summary.coding.abstraction}`);
106
+ if (summary.coding.testing)
107
+ parts.push(`Testing: ${summary.coding.testing}`);
108
+ console.log(` Code: ${parts.join(', ') || 'learning...'}`);
109
+ }
110
+ if (Object.keys(summary.communication).length > 0) {
111
+ const parts = [];
112
+ if (summary.communication.language)
113
+ parts.push(summary.communication.language);
114
+ if (summary.communication.structure)
115
+ parts.push(summary.communication.structure);
116
+ if (summary.communication.tone)
117
+ parts.push(summary.communication.tone);
118
+ console.log(` Comm: ${parts.join(', ') || 'learning...'}`);
119
+ }
120
+ console.log(` Decisions: ${summary.decisionDriver}-driven`);
121
+ console.log(` Risk: ${summary.riskProfile}`);
122
+ console.log(` Ship: ${summary.shipStyle}`);
123
+ console.log(` AI Trust: ${summary.aiTrust}`);
124
+ console.log();
125
+ if (summary.strengths.length > 0 && summary.strengths[0] !== 'Still discovering strengths') {
126
+ console.log(C.success(' Strengths:'));
127
+ for (const s of summary.strengths)
128
+ console.log(C.dim(` • ${s}`));
129
+ console.log();
130
+ }
131
+ if (summary.risks.length > 0 && summary.risks[0] !== 'No risks detected yet') {
132
+ console.log(C.warn(' Watch out:'));
133
+ for (const r of summary.risks)
134
+ console.log(C.dim(` • ${r}`));
135
+ console.log();
136
+ }
137
+ if (summary.avoid.length > 0 && summary.avoid[0] !== 'Nothing specific yet') {
138
+ console.log(C.warn(' Avoid:'));
139
+ for (const a of summary.avoid)
140
+ console.log(C.dim(` • ${a}`));
141
+ console.log();
142
+ }
143
+ console.log(C.dim(' Commands: cell vibe show | cell vibe learn | cell vibe reset'));
144
+ console.log();
145
+ }
146
+ function doVibeShow(cwd) {
147
+ console.log();
148
+ console.log(C.bold(' Cell Vibe — Full Profile'));
149
+ console.log(C.dim(' ────────────────────────'));
150
+ console.log();
151
+ const md = (0, vibe_engine_1.getVibeMarkdown)(cwd);
152
+ const lines = md.split('\n');
153
+ for (const line of lines) {
154
+ if (line.startsWith('# ')) {
155
+ console.log(C.bold(`\n ${line.replace('# ', '')}`));
156
+ }
157
+ else if (line.startsWith('## ')) {
158
+ console.log(C.bold(`\n ${line.replace('## ', '')}`));
159
+ }
160
+ else if (line.startsWith('- ')) {
161
+ console.log(C.dim(` ${line}`));
162
+ }
163
+ else if (line.trim()) {
164
+ console.log(` ${line}`);
165
+ }
166
+ }
167
+ console.log();
168
+ }
169
+ function doVibeLearn(cwd) {
170
+ console.log();
171
+ console.log(C.bold(' Cell Vibe — Learning'));
172
+ console.log(C.dim(' ────────────────────'));
173
+ console.log();
174
+ const project = getProjectName();
175
+ printDim(` Analyzing sessions for: ${project}...`);
176
+ try {
177
+ const { getDb } = require('../database/database');
178
+ const db = getDb();
179
+ const sessionCount = db.prepare('SELECT COUNT(*) as c FROM sessions WHERE project = ?').get(project);
180
+ printDim(` Found ${sessionCount.c} sessions.`);
181
+ const data = (0, vibe_engine_1.analyzeSession)(project, cwd, sessionCount.c);
182
+ printSuccess(`\n Vibe learned from ${sessionCount.c} sessions!`);
183
+ const cats = new Set(data.rules.map(r => r.category)).size;
184
+ console.log(C.dim(` ${data.rules.length} rules across ${cats} categories.`));
185
+ console.log();
186
+ console.log(C.dim(' View: cell vibe'));
187
+ console.log(C.dim(' Show: cell vibe show'));
188
+ console.log();
189
+ }
190
+ catch (e) {
191
+ const msg = e instanceof Error ? e.message : String(e);
192
+ printWarning(` Learn failed: ${msg}`);
193
+ console.log();
194
+ }
195
+ }
196
+ function doVibeExport(cwd) {
197
+ const summary = (0, vibe_engine_1.getVibeSummary)(cwd);
198
+ if (!summary) {
199
+ console.log(JSON.stringify({ error: 'No vibe data yet' }, null, 2));
200
+ return;
201
+ }
202
+ console.log(JSON.stringify(summary, null, 2));
203
+ }
204
+ function doVibeReset(cwd) {
205
+ console.log();
206
+ console.log(C.warn(' Reset all vibe data?'));
207
+ const confirmed = process.argv.includes('--force') || process.argv.includes('-f');
208
+ if (!confirmed) {
209
+ console.log(C.dim(' Run: cell vibe reset --force to confirm'));
210
+ console.log();
211
+ return;
212
+ }
213
+ (0, vibe_engine_1.resetVibe)(cwd);
214
+ printSuccess(' Vibe data cleared.');
215
+ console.log();
216
+ }
217
+ //# sourceMappingURL=vibe-cli.js.map