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
@@ -1,378 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePayload = validatePayload;
4
- exports.createAnonymousId = createAnonymousId;
5
- exports.submitToCommunity = submitToCommunity;
6
- exports.detectTrends = detectTrends;
7
- exports.benchmarkPersonal = benchmarkPersonal;
8
- exports.benchmarkBlindSpots = benchmarkBlindSpots;
9
- exports.sharePattern = sharePattern;
10
- exports.votePattern = votePattern;
11
- exports.getCommunityPatterns = getCommunityPatterns;
12
- exports.generateInsights = generateInsights;
13
- exports.getWeeklyChallenges = getWeeklyChallenges;
14
- exports.getCommunityStats = getCommunityStats;
15
- const database_1 = require("../../06-memory/database/database");
16
- // ─── Constants ───────────────────────────────────────────────────────────────
17
- const FORBIDDEN_FIELDS = new Set([
18
- 'source_code', 'file_path', 'file_content', 'file_name',
19
- 'prompt', 'response', 'ai_response', 'repo_name',
20
- 'company_name', 'project_name', 'customer_name',
21
- 'secret', 'secrets', 'api_key', 'api_keys', 'password',
22
- 'token', 'auth_token', 'refresh_token', 'private_key',
23
- 'email', 'phone', 'address', 'ssn',
24
- 'environment_vars', 'env_vars', 'stack_trace', 'raw_stack',
25
- 'variable_name', 'function_name', 'api_name', 'endpoint_name',
26
- 'class_name', 'interface_name', 'username', 'display_name',
27
- ]);
28
- const MAX_PAYLOAD_BYTES = 300;
29
- // ─── Data Pipeline ───────────────────────────────────────────────────────────
30
- function validatePayload(payload) {
31
- const errors = [];
32
- for (const key of Object.keys(payload)) {
33
- if (FORBIDDEN_FIELDS.has(key.toLowerCase())) {
34
- errors.push(`Forbidden field: "${key}" — must not be included in community payload`);
35
- }
36
- }
37
- const jsonSize = Buffer.byteLength(JSON.stringify(payload), 'utf-8');
38
- if (jsonSize > MAX_PAYLOAD_BYTES) {
39
- errors.push(`Payload too large: ${jsonSize} bytes (max ${MAX_PAYLOAD_BYTES})`);
40
- }
41
- if (payload.email || payload.phone || payload.address || payload.ssn) {
42
- errors.push('PII detected — community payloads must be zero PII');
43
- }
44
- if (payload.source_code || payload.file_content || payload.prompt || payload.response) {
45
- errors.push('Code/content detected — community payloads must not contain source code or AI interactions');
46
- }
47
- return { valid: errors.length === 0, errors };
48
- }
49
- function createAnonymousId() {
50
- const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
51
- let id = 'anon_';
52
- for (let i = 0; i < 8; i++) {
53
- id += chars[Math.floor(Math.random() * chars.length)];
54
- }
55
- return id;
56
- }
57
- function submitToCommunity(params) {
58
- const payload = {
59
- patternCategory: params.patternCategory,
60
- language: params.language,
61
- confidence: params.confidence,
62
- projectCount: params.projectCount,
63
- fileCount: params.fileCount,
64
- trend: 'stable',
65
- anonymousId: createAnonymousId(),
66
- };
67
- const validation = validatePayload(payload);
68
- if (!validation.valid) {
69
- return { success: false, errors: validation.errors };
70
- }
71
- const db = (0, database_1.getDb)();
72
- db.prepare('INSERT INTO community_signals (pattern_hash, category, language, frequency, trend, percentile, region) VALUES (?, ?, ?, ?, ?, ?, ?)').run(payload.anonymousId, payload.patternCategory, payload.language, 1, 'stable', 50, 'global');
73
- return { success: true, errors: [], payload };
74
- }
75
- // ─── Trend Detection ─────────────────────────────────────────────────────────
76
- function detectTrends() {
77
- const db = (0, database_1.getDb)();
78
- const trends = [];
79
- const communityTrends = db.prepare('SELECT category, language, frequency, trend, percentile FROM community_signals ORDER BY frequency DESC').all();
80
- const techMap = new Map();
81
- for (const t of communityTrends) {
82
- const key = t.language || t.category;
83
- const freq = Number(t.frequency) || 0;
84
- const existing = techMap.get(key);
85
- if (existing) {
86
- existing.freq += freq;
87
- if (t.trend === 'rising')
88
- existing.trend = 'rising';
89
- else if (t.trend === 'declining')
90
- existing.trend = 'declining';
91
- }
92
- else {
93
- techMap.set(key, { freq, trend: t.trend || 'stable', percentile: Number(t.percentile) || 50 });
94
- }
95
- }
96
- const userSkills = db.prepare('SELECT language, level, file_count FROM skills ORDER BY file_count DESC').all();
97
- const userLanguages = new Set(userSkills.map(s => s.language));
98
- const sorted = [...techMap.entries()].sort((a, b) => b[1].freq - a[1].freq);
99
- for (const [tech, data] of sorted.slice(0, 15)) {
100
- const direction = data.trend;
101
- const changePercent = direction === 'rising' ? Math.round(data.freq * 0.15) : direction === 'declining' ? -Math.round(data.freq * 0.1) : 0;
102
- trends.push({
103
- technology: tech,
104
- adoption: Math.min(100, Math.max(1, data.freq)),
105
- direction,
106
- changePercent,
107
- userHasIt: userLanguages.has(tech),
108
- userScore: userLanguages.has(tech) ? 80 : 20,
109
- communityScore: data.percentile,
110
- });
111
- }
112
- return trends;
113
- }
114
- // ─── Benchmark System ────────────────────────────────────────────────────────
115
- function benchmarkPersonal() {
116
- const db = (0, database_1.getDb)();
117
- const results = [];
118
- const userPatterns = db.prepare('SELECT COUNT(*) as cnt FROM patterns').get();
119
- const communityAvgPatterns = 45;
120
- const patternPercentile = Math.min(99, Math.round((userPatterns.cnt / communityAvgPatterns) * 50));
121
- results.push({
122
- metric: 'Learned Patterns',
123
- yourValue: userPatterns.cnt,
124
- communityAvg: communityAvgPatterns,
125
- percentile: patternPercentile,
126
- verdict: patternPercentile >= 70 ? 'ahead' : patternPercentile >= 40 ? 'average' : 'behind',
127
- detail: `You have ${userPatterns.cnt} patterns. Community average: ${communityAvgPatterns}`,
128
- });
129
- const userProjects = db.prepare('SELECT COUNT(DISTINCT project) as cnt FROM sessions').get();
130
- const communityAvgProjects = 5;
131
- const projectPercentile = Math.min(99, Math.round((userProjects.cnt / communityAvgProjects) * 50));
132
- results.push({
133
- metric: 'Active Projects',
134
- yourValue: userProjects.cnt,
135
- communityAvg: communityAvgProjects,
136
- percentile: projectPercentile,
137
- verdict: projectPercentile >= 70 ? 'ahead' : projectPercentile >= 40 ? 'average' : 'behind',
138
- detail: `You work on ${userProjects.cnt} projects. Community average: ${communityAvgProjects}`,
139
- });
140
- const userDecisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions').get();
141
- const rightDecisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions WHERE was_right = 1').get();
142
- const decisionAccuracy = userDecisions.cnt > 0 ? Math.round((rightDecisions.cnt / userDecisions.cnt) * 100) : 0;
143
- const communityAvgAccuracy = 62;
144
- const accuracyPercentile = Math.min(99, Math.round(decisionAccuracy * 1.2));
145
- results.push({
146
- metric: 'Decision Accuracy',
147
- yourValue: decisionAccuracy,
148
- communityAvg: communityAvgAccuracy,
149
- percentile: accuracyPercentile,
150
- verdict: accuracyPercentile >= 70 ? 'ahead' : accuracyPercentile >= 40 ? 'average' : 'behind',
151
- detail: `Your decisions are ${decisionAccuracy}% correct. Community average: ${communityAvgAccuracy}%`,
152
- });
153
- const userSessions = db.prepare('SELECT COUNT(*) as cnt FROM sessions').get();
154
- const avgSessionMin = db.prepare("SELECT AVG(strftime('%s', end_time) - strftime('%s', start_time)) / 60 as avg FROM sessions WHERE end_time IS NOT NULL").get();
155
- const sessionPercentile = Math.min(99, Math.round(userSessions.cnt * 5));
156
- results.push({
157
- metric: 'Session Count',
158
- yourValue: userSessions.cnt,
159
- communityAvg: 20,
160
- percentile: sessionPercentile,
161
- verdict: sessionPercentile >= 70 ? 'ahead' : sessionPercentile >= 40 ? 'average' : 'behind',
162
- detail: `You've had ${userSessions.cnt} sessions. Community average: 20`,
163
- });
164
- return results;
165
- }
166
- function benchmarkBlindSpots() {
167
- const db = (0, database_1.getDb)();
168
- const benchmarks = [];
169
- const communityBlindSpots = [
170
- { area: 'Error Handling', communityAvg: 63, description: 'Files missing try/catch' },
171
- { area: 'Null Safety', communityAvg: 58, description: 'Files without null checks' },
172
- { area: 'Test Coverage', communityAvg: 52, description: 'Untested source files' },
173
- { area: 'Type Safety', communityAvg: 45, description: 'TypeScript files without annotations' },
174
- { area: 'Code Duplication', communityAvg: 38, description: 'Duplicated code blocks' },
175
- ];
176
- const missingTryCatch = db.prepare("SELECT COUNT(DISTINCT file_path) as cnt FROM behavior_events WHERE event_type = 'bug_fix' AND (description LIKE '%null%' OR description LIKE '%undefined%')").get();
177
- const totalFiles = db.prepare("SELECT COUNT(DISTINCT file_path) as cnt FROM behavior_events").get();
178
- const yourNullRate = totalFiles.cnt > 0 ? Math.round((missingTryCatch.cnt / totalFiles.cnt) * 100) : 0;
179
- benchmarks.push({
180
- area: 'Null Safety',
181
- yourScore: yourNullRate,
182
- communityAvg: 58,
183
- percentile: Math.max(1, 100 - yourNullRate),
184
- description: `${yourNullRate}% of your files have null/undefined issues`,
185
- recommendation: yourNullRate < 58 ? 'You\'re ahead of community average on null safety' : 'Add optional chaining (?.) and nullish coalescing (??)',
186
- });
187
- const totalBugs = db.prepare("SELECT COUNT(*) as cnt FROM behavior_events WHERE event_type = 'bug_fix'").get();
188
- const repeatBugs = db.prepare("SELECT COUNT(*) as cnt FROM behavior_events WHERE event_type = 'bug_fix' AND recurrence_count > 1").get();
189
- const repeatRate = totalBugs.cnt > 0 ? Math.round((repeatBugs.cnt / totalBugs.cnt) * 100) : 0;
190
- benchmarks.push({
191
- area: 'Repeat Mistakes',
192
- yourScore: repeatRate,
193
- communityAvg: 40,
194
- percentile: Math.max(1, 100 - repeatRate),
195
- description: `${repeatRate}% of your bugs are repeat issues`,
196
- recommendation: repeatRate < 40 ? 'Fewer repeat mistakes than community average' : 'Focus on preventing repeat mistakes with lint rules',
197
- });
198
- const decisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions').get();
199
- const decisionsWithRight = db.prepare('SELECT was_right FROM decisions WHERE was_right IS NOT NULL').all();
200
- const knownDecisions = decisionsWithRight.length;
201
- const unvalidatedRate = decisions.cnt > 0 ? Math.round(((decisions.cnt - knownDecisions) / decisions.cnt) * 100) : 0;
202
- benchmarks.push({
203
- area: 'Decision Validation',
204
- yourScore: unvalidatedRate,
205
- communityAvg: 35,
206
- percentile: Math.max(1, 100 - unvalidatedRate),
207
- description: `${unvalidatedRate}% of decisions have unknown outcomes`,
208
- recommendation: unvalidatedRate < 35 ? 'Good decision tracking' : 'Track decision outcomes more consistently',
209
- });
210
- return benchmarks.sort((a, b) => b.percentile - a.percentile);
211
- }
212
- // ─── Pattern Marketplace ─────────────────────────────────────────────────────
213
- function sharePattern(params) {
214
- const db = (0, database_1.getDb)();
215
- const id = `cp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
216
- const anonId = createAnonymousId();
217
- db.prepare('INSERT INTO community_signals (pattern_hash, category, language, frequency, trend, percentile, region) VALUES (?, ?, ?, ?, ?, ?, ?)').run(id, params.category, params.language, 1, 'rising', 50, 'global');
218
- return {
219
- id,
220
- category: params.category,
221
- language: params.language,
222
- rule: params.rule,
223
- confidence: params.confidence,
224
- upvotes: 0,
225
- downvotes: 0,
226
- shareCount: 1,
227
- anonymousAuthor: anonId,
228
- createdAt: new Date().toISOString(),
229
- };
230
- }
231
- function votePattern(patternId, upvote) {
232
- const db = (0, database_1.getDb)();
233
- const signal = db.prepare('SELECT frequency FROM community_signals WHERE pattern_hash = ?').get(patternId);
234
- if (!signal)
235
- return { success: false, newScore: 0 };
236
- const delta = upvote ? 1 : -1;
237
- db.prepare('UPDATE community_signals SET frequency = MAX(0, frequency + ?) WHERE pattern_hash = ?').run(delta, patternId);
238
- const updated = db.prepare('SELECT frequency FROM community_signals WHERE pattern_hash = ?').get(patternId);
239
- return { success: true, newScore: updated.frequency };
240
- }
241
- function getCommunityPatterns(limit = 20) {
242
- const db = (0, database_1.getDb)();
243
- const rows = db.prepare('SELECT pattern_hash, category, language, frequency, trend, percentile, created_at FROM community_signals ORDER BY frequency DESC LIMIT ?').all(limit);
244
- return rows.map(r => ({
245
- id: String(r.pattern_hash || ''),
246
- category: String(r.category || ''),
247
- language: String(r.language || ''),
248
- rule: '',
249
- confidence: Number(r.percentile || 50) / 100,
250
- upvotes: Math.max(0, Number(r.frequency || 0)),
251
- downvotes: 0,
252
- shareCount: Number(r.frequency || 0),
253
- anonymousAuthor: 'anonymous',
254
- createdAt: String(r.created_at || ''),
255
- }));
256
- }
257
- // ─── Community Insights ──────────────────────────────────────────────────────
258
- function generateInsights() {
259
- const insights = [];
260
- const benchmarks = benchmarkPersonal();
261
- const blindSpots = benchmarkBlindSpots();
262
- const trends = detectTrends();
263
- for (const b of benchmarks) {
264
- if (b.verdict === 'ahead') {
265
- insights.push({
266
- type: 'benchmark',
267
- title: `${b.metric}: You're ahead`,
268
- message: `${b.detail}. You're in the ${b.percentile}th percentile.`,
269
- actionable: false,
270
- confidence: 0.8,
271
- source: 'personal_benchmark',
272
- });
273
- }
274
- else if (b.verdict === 'behind') {
275
- insights.push({
276
- type: 'benchmark',
277
- title: `${b.metric}: Room to improve`,
278
- message: `${b.detail}. Community average is higher.`,
279
- actionable: true,
280
- suggestedAction: `Focus on improving ${b.metric.toLowerCase()} to match community standards`,
281
- confidence: 0.75,
282
- source: 'personal_benchmark',
283
- });
284
- }
285
- }
286
- for (const bs of blindSpots.slice(0, 3)) {
287
- if (bs.percentile < 50) {
288
- insights.push({
289
- type: 'blind_spot',
290
- title: `Blind Spot: ${bs.area}`,
291
- message: bs.description,
292
- actionable: true,
293
- suggestedAction: bs.recommendation,
294
- confidence: 0.7,
295
- source: 'blind_spot_benchmark',
296
- });
297
- }
298
- }
299
- for (const t of trends.slice(0, 5)) {
300
- if (t.direction === 'rising' && !t.userHasIt) {
301
- insights.push({
302
- type: 'trend',
303
- title: `Rising Trend: ${t.technology}`,
304
- message: `${t.technology} is trending upward (${t.changePercent}% change). You don't use it yet.`,
305
- actionable: true,
306
- suggestedAction: `Consider evaluating ${t.technology} for your stack`,
307
- confidence: 0.65,
308
- source: 'trend_detection',
309
- });
310
- }
311
- }
312
- const userTech = db().prepare('SELECT DISTINCT language FROM skills').all();
313
- for (const tech of userTech) {
314
- const match = trends.find(t => t.technology === tech.language);
315
- if (match && match.direction === 'declining') {
316
- insights.push({
317
- type: 'validation',
318
- title: `${tech.language}: Declining trend`,
319
- message: `${tech.language} is declining in the community. You use it — consider migration timeline.`,
320
- actionable: true,
321
- suggestedAction: `Monitor ${tech.language} community adoption. Plan migration if decline continues.`,
322
- confidence: 0.6,
323
- source: 'trend_detection',
324
- });
325
- }
326
- }
327
- return insights.sort((a, b) => b.confidence - a.confidence);
328
- }
329
- function db() { return (0, database_1.getDb)(); }
330
- // ─── Weekly Challenges ───────────────────────────────────────────────────────
331
- function getWeeklyChallenges() {
332
- return [
333
- {
334
- id: 'ch_001',
335
- title: 'Null Safety Week',
336
- description: 'Add optional chaining to all your files this week',
337
- area: 'null_safety',
338
- difficulty: 'easy',
339
- participants: 127,
340
- reward: 'Null Safety Badge',
341
- },
342
- {
343
- id: 'ch_002',
344
- title: 'Test Coverage Sprint',
345
- description: 'Write tests for 3 untested files',
346
- area: 'testing',
347
- difficulty: 'medium',
348
- participants: 89,
349
- reward: 'Testing Champion Badge',
350
- },
351
- {
352
- id: 'ch_003',
353
- title: 'Error Handling Audit',
354
- description: 'Add try/catch to all API calls and file operations',
355
- area: 'error_handling',
356
- difficulty: 'hard',
357
- participants: 56,
358
- reward: 'Robust Code Badge',
359
- },
360
- ];
361
- }
362
- // ─── Community Stats ─────────────────────────────────────────────────────────
363
- function getCommunityStats() {
364
- const db = (0, database_1.getDb)();
365
- const totalPatterns = db.prepare('SELECT COUNT(*) as cnt FROM patterns').get().cnt;
366
- const totalSessions = db.prepare('SELECT COUNT(*) as cnt FROM sessions').get().cnt;
367
- const languages = db.prepare('SELECT DISTINCT language FROM community_signals').all();
368
- const trends = detectTrends();
369
- return {
370
- totalDevelopers: 150,
371
- totalPatterns,
372
- totalProjects: Math.max(1, Math.round(totalSessions / 3)),
373
- activeLanguages: languages.map(l => l.language).filter(Boolean),
374
- topTrends: trends.slice(0, 5),
375
- yourPosition: `${Math.min(95, 30 + totalPatterns)}th percentile`,
376
- };
377
- }
378
- //# sourceMappingURL=community-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"community-v2.js","sourceRoot":"","sources":["../../../../src/walls/05-community/stats/community-v2.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- export interface AnalysisPrompt {
2
- title: string;
3
- prompt: string;
4
- category: 'project_identity' | 'architecture' | 'blind_spots' | 'recommendations' | 'team';
5
- tokensEstimate: number;
6
- }
7
- export interface AIInsight {
8
- category: string;
9
- content: string;
10
- timestamp: string;
11
- source: string;
12
- }
13
- export declare function generateAnalysisPrompts(projectDir?: string): AnalysisPrompt[];
14
- export declare function saveAIInsight(project: string, category: string, content: string): void;
15
- export declare function getAIInsights(project?: string): AIInsight[];
16
- export declare function getAnalysisCommand(projectDir?: string): {
17
- intro: string;
18
- prompts: AnalysisPrompt[];
19
- };
20
- //# sourceMappingURL=ai-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-bridge.d.ts","sourceRoot":"","sources":["../../../../src/walls/08-cloud-bridge/sync/ai-bridge.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAC3F,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA2H7E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuBtF;AAED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB3D;AAID,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAKpG"}