fivocell 6.2.0 → 6.3.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 (183) hide show
  1. package/README.md +197 -202
  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/core/search-engine.d.ts.map +1 -1
  7. package/dist/core/search-engine.js +8 -11
  8. package/dist/core/search-engine.js.map +1 -1
  9. package/dist/walls/02-scanner/blindspots/code-scanner.d.ts +11 -0
  10. package/dist/walls/02-scanner/blindspots/code-scanner.d.ts.map +1 -1
  11. package/dist/walls/02-scanner/blindspots/code-scanner.js +63 -0
  12. package/dist/walls/02-scanner/blindspots/code-scanner.js.map +1 -1
  13. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts +14 -0
  14. package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts.map +1 -1
  15. package/dist/walls/03-knowledge/decisions/branch-snapshot.js +88 -21
  16. package/dist/walls/03-knowledge/decisions/branch-snapshot.js.map +1 -1
  17. package/dist/walls/03-knowledge/decisions/failure-memory.d.ts +15 -0
  18. package/dist/walls/03-knowledge/decisions/failure-memory.d.ts.map +1 -1
  19. package/dist/walls/03-knowledge/decisions/failure-memory.js +141 -54
  20. package/dist/walls/03-knowledge/decisions/failure-memory.js.map +1 -1
  21. package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts +8 -0
  22. package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts.map +1 -1
  23. package/dist/walls/03-knowledge/decisions/predictive-engine.js +41 -0
  24. package/dist/walls/03-knowledge/decisions/predictive-engine.js.map +1 -1
  25. package/dist/walls/06-memory/archive/blob-vault.js +9 -10
  26. package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
  27. package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
  28. package/dist/walls/06-memory/archive/memory-archive.js +19 -39
  29. package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
  30. package/dist/walls/06-memory/mirror/cell-mirror.d.ts +2 -0
  31. package/dist/walls/06-memory/mirror/cell-mirror.d.ts.map +1 -1
  32. package/dist/walls/06-memory/mirror/cell-mirror.js +76 -35
  33. package/dist/walls/06-memory/mirror/cell-mirror.js.map +1 -1
  34. package/dist/walls/06-memory/privacy/key-provider.d.ts +10 -0
  35. package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
  36. package/dist/walls/06-memory/privacy/key-provider.js +27 -0
  37. package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
  38. package/dist/walls/06-memory/retrieval/context-pipeline.d.ts +2 -0
  39. package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
  40. package/dist/walls/06-memory/retrieval/context-pipeline.js +72 -13
  41. package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
  42. package/dist/walls/06-memory/stores/memory-search.d.ts +9 -0
  43. package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -1
  44. package/dist/walls/06-memory/stores/memory-search.js +62 -13
  45. package/dist/walls/06-memory/stores/memory-search.js.map +1 -1
  46. package/dist/walls/06-memory/stores/weekly-report.d.ts +5 -0
  47. package/dist/walls/06-memory/stores/weekly-report.d.ts.map +1 -1
  48. package/dist/walls/06-memory/stores/weekly-report.js +24 -2
  49. package/dist/walls/06-memory/stores/weekly-report.js.map +1 -1
  50. package/dist/walls/07-runtime/cli/cli.js +100 -4678
  51. package/dist/walls/07-runtime/cli/cli.js.map +1 -1
  52. package/dist/walls/07-runtime/cli/commands/branch.d.ts +7 -0
  53. package/dist/walls/07-runtime/cli/commands/branch.d.ts.map +1 -0
  54. package/dist/walls/07-runtime/cli/commands/branch.js +169 -0
  55. package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -0
  56. package/dist/walls/07-runtime/cli/commands/ci.d.ts +2 -0
  57. package/dist/walls/07-runtime/cli/commands/ci.d.ts.map +1 -0
  58. package/dist/walls/07-runtime/cli/commands/ci.js +57 -0
  59. package/dist/walls/07-runtime/cli/commands/ci.js.map +1 -0
  60. package/dist/walls/07-runtime/cli/commands/community.d.ts +2 -0
  61. package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -0
  62. package/dist/walls/07-runtime/cli/commands/community.js +64 -0
  63. package/dist/walls/07-runtime/cli/commands/community.js.map +1 -0
  64. package/dist/walls/07-runtime/cli/commands/dashboard.d.ts +3 -0
  65. package/dist/walls/07-runtime/cli/commands/dashboard.d.ts.map +1 -0
  66. package/dist/walls/07-runtime/cli/commands/dashboard.js +45 -0
  67. package/dist/walls/07-runtime/cli/commands/dashboard.js.map +1 -0
  68. package/dist/walls/07-runtime/cli/commands/help.d.ts +4 -0
  69. package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -0
  70. package/dist/walls/07-runtime/cli/commands/help.js +91 -0
  71. package/dist/walls/07-runtime/cli/commands/help.js.map +1 -0
  72. package/dist/walls/07-runtime/cli/commands/memory.d.ts +5 -0
  73. package/dist/walls/07-runtime/cli/commands/memory.d.ts.map +1 -0
  74. package/dist/walls/07-runtime/cli/commands/memory.js +252 -0
  75. package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -0
  76. package/dist/walls/07-runtime/cli/commands/repl.d.ts +2 -0
  77. package/dist/walls/07-runtime/cli/commands/repl.d.ts.map +1 -0
  78. package/dist/walls/07-runtime/cli/commands/repl.js +63 -0
  79. package/dist/walls/07-runtime/cli/commands/repl.js.map +1 -0
  80. package/dist/walls/07-runtime/cli/commands/scan.d.ts +4 -0
  81. package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -0
  82. package/dist/walls/07-runtime/cli/commands/scan.js +244 -0
  83. package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -0
  84. package/dist/walls/07-runtime/cli/commands/session.d.ts +4 -0
  85. package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -0
  86. package/dist/walls/07-runtime/cli/commands/session.js +79 -0
  87. package/dist/walls/07-runtime/cli/commands/session.js.map +1 -0
  88. package/dist/walls/07-runtime/cli/commands/setup.d.ts +4 -0
  89. package/dist/walls/07-runtime/cli/commands/setup.d.ts.map +1 -0
  90. package/dist/walls/07-runtime/cli/commands/setup.js +216 -0
  91. package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -0
  92. package/dist/walls/07-runtime/cli/commands/status.d.ts +4 -0
  93. package/dist/walls/07-runtime/cli/commands/status.d.ts.map +1 -0
  94. package/dist/walls/07-runtime/cli/commands/status.js +352 -0
  95. package/dist/walls/07-runtime/cli/commands/status.js.map +1 -0
  96. package/dist/walls/07-runtime/cli/commands/sync.d.ts +4 -0
  97. package/dist/walls/07-runtime/cli/commands/sync.d.ts.map +1 -0
  98. package/dist/walls/07-runtime/cli/commands/sync.js +116 -0
  99. package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -0
  100. package/dist/walls/07-runtime/cli/commands/team.d.ts +2 -0
  101. package/dist/walls/07-runtime/cli/commands/team.d.ts.map +1 -0
  102. package/dist/walls/07-runtime/cli/commands/team.js +58 -0
  103. package/dist/walls/07-runtime/cli/commands/team.js.map +1 -0
  104. package/dist/walls/07-runtime/cli/commands/watch.d.ts +4 -0
  105. package/dist/walls/07-runtime/cli/commands/watch.d.ts.map +1 -0
  106. package/dist/walls/07-runtime/cli/commands/watch.js +129 -0
  107. package/dist/walls/07-runtime/cli/commands/watch.js.map +1 -0
  108. package/dist/walls/07-runtime/cli/utils.d.ts +26 -0
  109. package/dist/walls/07-runtime/cli/utils.d.ts.map +1 -0
  110. package/dist/walls/07-runtime/cli/utils.js +217 -0
  111. package/dist/walls/07-runtime/cli/utils.js.map +1 -0
  112. package/dist/walls/07-runtime/daemon/routes/community.d.ts +3 -0
  113. package/dist/walls/07-runtime/daemon/routes/community.d.ts.map +1 -0
  114. package/dist/walls/07-runtime/daemon/routes/community.js +191 -0
  115. package/dist/walls/07-runtime/daemon/routes/community.js.map +1 -0
  116. package/dist/walls/07-runtime/daemon/routes/cost.d.ts +3 -0
  117. package/dist/walls/07-runtime/daemon/routes/cost.d.ts.map +1 -0
  118. package/dist/walls/07-runtime/daemon/routes/cost.js +73 -0
  119. package/dist/walls/07-runtime/daemon/routes/cost.js.map +1 -0
  120. package/dist/walls/07-runtime/daemon/routes/health.d.ts +3 -0
  121. package/dist/walls/07-runtime/daemon/routes/health.d.ts.map +1 -0
  122. package/dist/walls/07-runtime/daemon/routes/health.js +40 -0
  123. package/dist/walls/07-runtime/daemon/routes/health.js.map +1 -0
  124. package/dist/walls/07-runtime/daemon/routes/memory.d.ts +3 -0
  125. package/dist/walls/07-runtime/daemon/routes/memory.d.ts.map +1 -0
  126. package/dist/walls/07-runtime/daemon/routes/memory.js +75 -0
  127. package/dist/walls/07-runtime/daemon/routes/memory.js.map +1 -0
  128. package/dist/walls/07-runtime/daemon/routes/privacy.d.ts +3 -0
  129. package/dist/walls/07-runtime/daemon/routes/privacy.d.ts.map +1 -0
  130. package/dist/walls/07-runtime/daemon/routes/privacy.js +160 -0
  131. package/dist/walls/07-runtime/daemon/routes/privacy.js.map +1 -0
  132. package/dist/walls/07-runtime/daemon/routes/project.d.ts +3 -0
  133. package/dist/walls/07-runtime/daemon/routes/project.d.ts.map +1 -0
  134. package/dist/walls/07-runtime/daemon/routes/project.js +59 -0
  135. package/dist/walls/07-runtime/daemon/routes/project.js.map +1 -0
  136. package/dist/walls/07-runtime/daemon/routes/session.d.ts +3 -0
  137. package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -0
  138. package/dist/walls/07-runtime/daemon/routes/session.js +100 -0
  139. package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -0
  140. package/dist/walls/07-runtime/daemon/routes/signal.d.ts +3 -0
  141. package/dist/walls/07-runtime/daemon/routes/signal.d.ts.map +1 -0
  142. package/dist/walls/07-runtime/daemon/routes/signal.js +60 -0
  143. package/dist/walls/07-runtime/daemon/routes/signal.js.map +1 -0
  144. package/dist/walls/07-runtime/daemon/routes/workflow.d.ts +3 -0
  145. package/dist/walls/07-runtime/daemon/routes/workflow.d.ts.map +1 -0
  146. package/dist/walls/07-runtime/daemon/routes/workflow.js +105 -0
  147. package/dist/walls/07-runtime/daemon/routes/workflow.js.map +1 -0
  148. package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
  149. package/dist/walls/07-runtime/daemon/server.js +19 -0
  150. package/dist/walls/07-runtime/daemon/server.js.map +1 -1
  151. package/package.json +1 -1
  152. package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts +0 -38
  153. package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts.map +0 -1
  154. package/dist/walls/03-knowledge/decisions/cross-model-engine.js +0 -98
  155. package/dist/walls/03-knowledge/decisions/cross-model-engine.js.map +0 -1
  156. package/dist/walls/03-knowledge/decisions/insight-generator.d.ts +0 -58
  157. package/dist/walls/03-knowledge/decisions/insight-generator.d.ts.map +0 -1
  158. package/dist/walls/03-knowledge/decisions/insight-generator.js +0 -314
  159. package/dist/walls/03-knowledge/decisions/insight-generator.js.map +0 -1
  160. package/dist/walls/05-community/stats/community-advanced-engine.d.ts +0 -30
  161. package/dist/walls/05-community/stats/community-advanced-engine.d.ts.map +0 -1
  162. package/dist/walls/05-community/stats/community-advanced-engine.js +0 -103
  163. package/dist/walls/05-community/stats/community-advanced-engine.js.map +0 -1
  164. package/dist/walls/05-community/stats/community-engine.d.ts +0 -62
  165. package/dist/walls/05-community/stats/community-engine.d.ts.map +0 -1
  166. package/dist/walls/05-community/stats/community-engine.js +0 -194
  167. package/dist/walls/05-community/stats/community-engine.js.map +0 -1
  168. package/dist/walls/05-community/stats/community-v2.d.ts +0 -106
  169. package/dist/walls/05-community/stats/community-v2.d.ts.map +0 -1
  170. package/dist/walls/05-community/stats/community-v2.js +0 -378
  171. package/dist/walls/05-community/stats/community-v2.js.map +0 -1
  172. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts +0 -20
  173. package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts.map +0 -1
  174. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js +0 -250
  175. package/dist/walls/08-cloud-bridge/sync/ai-bridge.js.map +0 -1
  176. package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts +0 -40
  177. package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts.map +0 -1
  178. package/dist/walls/08-cloud-bridge/sync/cloud-client.js +0 -126
  179. package/dist/walls/08-cloud-bridge/sync/cloud-client.js.map +0 -1
  180. package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts +0 -66
  181. package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts.map +0 -1
  182. package/dist/walls/08-cloud-bridge/sync/cloud-sync.js +0 -328
  183. package/dist/walls/08-cloud-bridge/sync/cloud-sync.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fivocell",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "description": "FIVO Cell — Permanent Developer Memory. Learns how you think, build, fail, and grow.",
5
5
  "main": "dist/walls/07-runtime/cli/cli.js",
6
6
  "types": "dist/walls/07-runtime/cli/cli.d.ts",
@@ -1,38 +0,0 @@
1
- export interface ModelProfile {
2
- modelName: string;
3
- taskType: string;
4
- totalCalls: number;
5
- acceptedCount: number;
6
- rejectedCount: number;
7
- avgResponseTimeMs: number;
8
- trustScore: number;
9
- }
10
- export interface ModelRecommendation {
11
- taskType: string;
12
- bestModel: string;
13
- trustScore: number;
14
- reason: string;
15
- alternatives: Array<{
16
- model: string;
17
- trustScore: number;
18
- }>;
19
- }
20
- export interface CrossModelReport {
21
- profiles: ModelProfile[];
22
- recommendations: ModelRecommendation[];
23
- bestOverall: string;
24
- totalInteractions: number;
25
- generatedAt: string;
26
- }
27
- export declare function recordModelInteraction(params: {
28
- modelName: string;
29
- taskType: string;
30
- accepted: boolean;
31
- responseTimeMs?: number;
32
- project?: string;
33
- suggestion?: string;
34
- }): void;
35
- export declare function getModelProfiles(): ModelProfile[];
36
- export declare function getModelRecommendations(): ModelRecommendation[];
37
- export declare function generateCrossModelReport(): CrossModelReport;
38
- //# sourceMappingURL=cross-model-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-model-engine.d.ts","sourceRoot":"","sources":["../../../../src/walls/03-knowledge/decisions/cross-model-engine.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CA2BP;AAID,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CA8BjD;AAED,wBAAgB,uBAAuB,IAAI,mBAAmB,EAAE,CAgC/D;AAED,wBAAgB,wBAAwB,IAAI,gBAAgB,CAkB3D"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recordModelInteraction = recordModelInteraction;
4
- exports.getModelProfiles = getModelProfiles;
5
- exports.getModelRecommendations = getModelRecommendations;
6
- exports.generateCrossModelReport = generateCrossModelReport;
7
- const database_1 = require("../../06-memory/database/database");
8
- // ─── Engine ──────────────────────────────────────────────────────────────────
9
- function recordModelInteraction(params) {
10
- const db = (0, database_1.getDb)();
11
- db.exec(`
12
- CREATE TABLE IF NOT EXISTS model_interactions (
13
- id INTEGER PRIMARY KEY AUTOINCREMENT,
14
- model_name TEXT NOT NULL,
15
- task_type TEXT NOT NULL,
16
- accepted INTEGER DEFAULT 0,
17
- response_time_ms INTEGER,
18
- project TEXT,
19
- suggestion TEXT,
20
- created_at TEXT DEFAULT (datetime('now'))
21
- );
22
- CREATE INDEX IF NOT EXISTS idx_model_interactions_model ON model_interactions(model_name, task_type);
23
- `);
24
- db.prepare('INSERT INTO model_interactions (model_name, task_type, accepted, response_time_ms, project, suggestion) VALUES (?, ?, ?, ?, ?, ?)').run(params.modelName, params.taskType, params.accepted ? 1 : 0, params.responseTimeMs || null, params.project || null, params.suggestion || null);
25
- }
26
- // ─── Analysis ────────────────────────────────────────────────────────────────
27
- function getModelProfiles() {
28
- const db = (0, database_1.getDb)();
29
- const rows = db.prepare(`
30
- SELECT model_name, task_type,
31
- COUNT(*) as total,
32
- SUM(accepted) as accepted,
33
- SUM(CASE WHEN accepted = 0 THEN 1 ELSE 0 END) as rejected,
34
- AVG(response_time_ms) as avg_time
35
- FROM model_interactions
36
- GROUP BY model_name, task_type
37
- HAVING total >= 2
38
- ORDER BY model_name, accepted DESC
39
- `).all();
40
- return rows.map((r) => {
41
- const total = r.total;
42
- const accepted = r.accepted;
43
- const trustScore = total > 0 ? Math.round((accepted / total) * 100) : 50;
44
- return {
45
- modelName: r.model_name,
46
- taskType: r.task_type,
47
- totalCalls: total,
48
- acceptedCount: accepted,
49
- rejectedCount: r.rejected,
50
- avgResponseTimeMs: Math.round(r.avg_time || 0),
51
- trustScore,
52
- };
53
- });
54
- }
55
- function getModelRecommendations() {
56
- const profiles = getModelProfiles();
57
- const byTask = new Map();
58
- for (const p of profiles) {
59
- const list = byTask.get(p.taskType) || [];
60
- list.push(p);
61
- byTask.set(p.taskType, list);
62
- }
63
- const recommendations = [];
64
- for (const [taskType, models] of byTask) {
65
- models.sort((a, b) => b.trustScore - a.trustScore);
66
- const best = models[0];
67
- const alternatives = models.slice(1, 3).map(m => ({ model: m.modelName, trustScore: m.trustScore }));
68
- let reason = '';
69
- if (best.trustScore >= 90)
70
- reason = `"${best.modelName}" consistently delivers — ${best.acceptedCount}/${best.totalCalls} accepted.`;
71
- else if (best.trustScore >= 70)
72
- reason = `"${best.modelName}" works well — ${best.trustScore}/100 trust. ${alternatives.length > 0 ? `Better than ${alternatives.map(a => a.model).join(', ')}.` : ''}`;
73
- else
74
- reason = `Mixed results (${best.trustScore}/100). Try different tool for this task.`;
75
- recommendations.push({
76
- taskType,
77
- bestModel: best.modelName,
78
- trustScore: best.trustScore,
79
- reason,
80
- alternatives,
81
- });
82
- }
83
- return recommendations;
84
- }
85
- function generateCrossModelReport() {
86
- const profiles = getModelProfiles();
87
- const recommendations = getModelRecommendations();
88
- const topModel = profiles.reduce((best, p) => p.trustScore > (best?.trustScore || 0) ? p : best, profiles[0]);
89
- const total = profiles.reduce((s, p) => s + p.totalCalls, 0);
90
- return {
91
- profiles: profiles.sort((a, b) => b.trustScore - a.trustScore).slice(0, 20),
92
- recommendations: recommendations.slice(0, 10),
93
- bestOverall: topModel?.modelName || 'unknown',
94
- totalInteractions: total,
95
- generatedAt: new Date().toISOString(),
96
- };
97
- }
98
- //# sourceMappingURL=cross-model-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-model-engine.js","sourceRoot":"","sources":["../../../../src/walls/03-knowledge/decisions/cross-model-engine.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- export interface Trend {
2
- metric: string;
3
- direction: 'improving' | 'stable' | 'declining' | 'insufficient-data';
4
- details: string;
5
- firstValue: string;
6
- latestValue: string;
7
- }
8
- export interface ProgressMetrics {
9
- independence: {
10
- score: number;
11
- detail: string;
12
- trend: Trend['direction'];
13
- };
14
- speed: {
15
- score: number;
16
- detail: string;
17
- trend: Trend['direction'];
18
- };
19
- quality: {
20
- score: number;
21
- detail: string;
22
- trend: Trend['direction'];
23
- };
24
- repeatMistakes: {
25
- count: number;
26
- detail: string;
27
- trend: Trend['direction'];
28
- };
29
- testCoverage: {
30
- percentage: number;
31
- detail: string;
32
- trend: Trend['direction'];
33
- };
34
- }
35
- export interface LevelAssessment {
36
- currentLevel: 'junior' | 'mid' | 'senior' | 'unclear';
37
- confidence: number;
38
- evidence: string[];
39
- missingSkills: string[];
40
- timeToNextLevel: string;
41
- nextLevel: 'mid' | 'senior' | 'staff' | 'done';
42
- }
43
- export interface InsightReport {
44
- trends: Trend[];
45
- progress: ProgressMetrics;
46
- level: LevelAssessment;
47
- growthStory: string[];
48
- strengths: string[];
49
- weaknesses: string[];
50
- recommendations: string[];
51
- nextFocus: string[];
52
- snapshotCount: number;
53
- daysTracked: number;
54
- generatedAt: string;
55
- }
56
- export declare function buildInsightReport(): InsightReport;
57
- export declare function saveInsightReport(report: InsightReport): string;
58
- //# sourceMappingURL=insight-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insight-generator.d.ts","sourceRoot":"","sources":["../../../../src/walls/03-knowledge/decisions/insight-generator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,mBAAmB,CAAC;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IAC3E,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IACpE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IACtE,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IAC7E,YAAY,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;CACjF;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAuBD,wBAAgB,kBAAkB,IAAI,aAAa,CAgHlD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQ/D"}
@@ -1,314 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.buildInsightReport = buildInsightReport;
37
- exports.saveInsightReport = saveInsightReport;
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const os = __importStar(require("os"));
41
- function memoryDir() { return path.join(os.homedir(), '.fivo', 'cell', 'memory'); }
42
- function readSnapshots(prefix) {
43
- const dir = memoryDir();
44
- if (!fs.existsSync(dir))
45
- return [];
46
- const files = fs.readdirSync(dir).filter(f => f.startsWith(prefix) && f.endsWith('.json')).sort();
47
- return files.map(f => {
48
- try {
49
- return JSON.parse(fs.readFileSync(path.join(dir, f), 'utf-8'));
50
- }
51
- catch {
52
- return null;
53
- }
54
- }).filter(Boolean);
55
- }
56
- function trending(values) {
57
- if (values.length < 2)
58
- return 'insufficient-data';
59
- const first = values[0];
60
- const last = values[values.length - 1];
61
- const diff = last - first;
62
- if (diff > 0)
63
- return values.length >= 3 ? 'improving' : 'stable';
64
- if (diff < 0)
65
- return 'declining';
66
- return 'stable';
67
- }
68
- function buildInsightReport() {
69
- const intelSnaps = readSnapshots('intelligence-');
70
- const journeySnaps = readSnapshots('journey-');
71
- const allSnaps = [...intelSnaps, ...journeySnaps].filter(s => s.generatedAt);
72
- allSnaps.sort((a, b) => new Date(a.generatedAt).getTime() - new Date(b.generatedAt).getTime());
73
- const daysTracked = allSnaps.length > 1
74
- ? Math.ceil((new Date(allSnaps[allSnaps.length - 1].generatedAt).getTime() - new Date(allSnaps[0].generatedAt).getTime()) / (24 * 60 * 60 * 1000))
75
- : 0;
76
- const latest = allSnaps[allSnaps.length - 1] || null;
77
- const trends = [];
78
- const metricsFromIntels = [];
79
- const bugCounts = [];
80
- const mistakeCounts = [];
81
- const blindCounts = [];
82
- const totalFiles = [];
83
- for (const snap of intelSnaps) {
84
- if (snap.bugHistory)
85
- bugCounts.push(snap.bugHistory.length);
86
- if (snap.mistakes)
87
- mistakeCounts.push(snap.mistakes.length);
88
- if (snap.blindSpots)
89
- blindCounts.push(snap.blindSpots.length);
90
- if (snap.totalFiles)
91
- totalFiles.push(snap.totalFiles);
92
- metricsFromIntels.push(1);
93
- }
94
- trends.push({ metric: 'Bugs found', direction: trending(bugCounts), details: bugCounts.length > 1 ? `Changed from ${bugCounts[0]} to ${bugCounts[bugCounts.length - 1]}` : 'Single snapshot', firstValue: String(bugCounts[0] || 0), latestValue: String(bugCounts[bugCounts.length - 1] || 0) });
95
- trends.push({ metric: 'Repeat mistakes', direction: trending(mistakeCounts), details: mistakeCounts.length > 1 ? `Changed from ${mistakeCounts[0]} to ${mistakeCounts[mistakeCounts.length - 1]}` : 'Single snapshot', firstValue: String(mistakeCounts[0] || 0), latestValue: String(mistakeCounts[mistakeCounts.length - 1] || 0) });
96
- trends.push({ metric: 'Blind spots', direction: trending(blindCounts).replace('improving', 'declining').replace('declining', 'improving'), details: blindCounts.length > 1 ? `Changed from ${blindCounts[0]} to ${blindCounts[blindCounts.length - 1]}` : 'Single snapshot', firstValue: String(blindCounts[0] || 0), latestValue: String(blindCounts[blindCounts.length - 1] || 0) });
97
- const progress = {
98
- independence: { score: daysTracked > 30 ? 75 : 50, detail: 'Still building baseline data', trend: 'stable' },
99
- speed: { score: daysTracked > 30 ? 70 : 50, detail: `${bugCounts.length > 0 ? 'Bug fixing tracked' : 'No bug data yet'}`, trend: 'stable' },
100
- quality: { score: daysTracked > 30 ? 80 : 50, detail: `${blindCounts.length > 0 && blindCounts[0] > 0 ? `${blindCounts[0]} blind spots detected` : 'Clean code detected'}`, trend: 'stable' },
101
- repeatMistakes: { count: mistakeCounts[mistakeCounts.length - 1] || 0, detail: 'Tracking started', trend: 'stable' },
102
- testCoverage: { percentage: 0, detail: 'Not yet measured', trend: 'stable' },
103
- };
104
- let levelScore = 0;
105
- const evidence = [];
106
- const missingSk = [];
107
- if (latest) {
108
- const skills = latest.skills || [];
109
- const mastered = skills.filter((s) => s.currentLevel === 'mastered').length;
110
- const proficient = skills.filter((s) => s.currentLevel === 'proficient' || s.currentLevel === 'mastered').length;
111
- const total = skills.length || 1;
112
- if (mastered >= 1) {
113
- levelScore += 30;
114
- evidence.push(`${mastered} languages/skills at MASTERED level`);
115
- }
116
- else if (proficient >= 2) {
117
- levelScore += 20;
118
- evidence.push(`${proficient} languages at proficient+ level`);
119
- }
120
- else {
121
- levelScore += 10;
122
- missingSk.push('Master or become proficient in at least 1 language');
123
- }
124
- if (latest.summary && latest.summary.totalCommits > 200) {
125
- levelScore += 20;
126
- evidence.push(`${latest.summary.totalCommits} commits across projects`);
127
- }
128
- else {
129
- levelScore += 10;
130
- missingSk.push('More consistent commits needed');
131
- }
132
- if (latest.summary && latest.summary.totalProjects >= 5) {
133
- levelScore += 15;
134
- evidence.push(`${latest.summary.totalProjects} projects built`);
135
- }
136
- else {
137
- missingSk.push('Build more projects (currently <5)');
138
- }
139
- if (bugCounts.length > 0 && bugCounts[bugCounts.length - 1] < 10) {
140
- levelScore += 15;
141
- evidence.push('Low bug count — quality code');
142
- }
143
- else if (bugCounts.length > 0) {
144
- levelScore += 5;
145
- evidence.push(`${bugCounts[bugCounts.length - 1]} bugs found — moderate quality`);
146
- }
147
- const chainsCount = latest.chains ? latest.chains.length : 0;
148
- if (chainsCount >= 2) {
149
- levelScore += 10;
150
- evidence.push(`${chainsCount} solution patterns reused across projects`);
151
- }
152
- else {
153
- missingSk.push('Reuse more patterns across projects');
154
- }
155
- if (daysTracked > 30) {
156
- levelScore += 10;
157
- evidence.push(`${daysTracked}+ days of tracked development`);
158
- }
159
- else {
160
- missingSk.push('Need 30+ days of tracking for accurate assessment');
161
- }
162
- }
163
- let currentLevel = 'unclear';
164
- let nextLevel = 'mid';
165
- let timeToNext = 'Needs more data (run `cell intelligence` regularly)';
166
- if (levelScore >= 80) {
167
- currentLevel = 'senior';
168
- nextLevel = 'done';
169
- timeToNext = 'At peak — focus on leadership/architecture';
170
- }
171
- else if (levelScore >= 50) {
172
- currentLevel = 'mid';
173
- nextLevel = 'senior';
174
- timeToNext = '~6 months to senior with consistent practice';
175
- }
176
- else if (levelScore >= 20) {
177
- currentLevel = 'junior';
178
- nextLevel = 'mid';
179
- timeToNext = '~3-6 months to mid-level';
180
- }
181
- else {
182
- currentLevel = 'junior';
183
- nextLevel = 'mid';
184
- timeToNext = 'Build more projects to establish baseline';
185
- }
186
- const level = { currentLevel, confidence: Math.min(100, levelScore), evidence, missingSkills: missingSk, timeToNextLevel: timeToNext, nextLevel };
187
- const strengths = [];
188
- const weaknesses = [];
189
- if (latest) {
190
- const skills = latest.skills || [];
191
- for (const s of skills) {
192
- if (s.currentLevel === 'mastered' || s.currentLevel === 'proficient')
193
- strengths.push(s.area);
194
- else
195
- weaknesses.push(s.area);
196
- }
197
- if (latest.summary && latest.summary.totalProjects >= 5)
198
- strengths.push('Serial builder (builds many projects)');
199
- if (bugCounts.length > 0 && bugCounts[bugCounts.length - 1] < 5)
200
- strengths.push('Low bug rate — produces quality code');
201
- }
202
- const recommendations = [];
203
- const nextFocus = [];
204
- if (weaknesses.length > 0) {
205
- recommendations.push(`Improve ${weaknesses.join(', ')}`);
206
- nextFocus.push(weaknesses[0]);
207
- }
208
- if (level.currentLevel === 'junior') {
209
- recommendations.push('Build 2-3 more production projects with real users');
210
- nextFocus.push('Ship a real product');
211
- }
212
- if (level.currentLevel === 'mid') {
213
- recommendations.push('Lead a project end-to-end or mentor someone');
214
- nextFocus.push('Leadership experience');
215
- }
216
- if (blindCounts.length > 0 && blindCounts[blindCounts.length - 1] > 10) {
217
- recommendations.push(`Fix the ${blindCounts[blindCounts.length - 1]} blind spots in your codebase`);
218
- nextFocus.push('Clean up technical debt');
219
- }
220
- if (daysTracked < 30) {
221
- recommendations.push('Run `cell intelligence` and `cell journey` weekly to build your profile');
222
- nextFocus.push('Keep tracking (run cell weekly)');
223
- }
224
- if (strengths.length > 0) {
225
- recommendations.push(`Double down on your strengths: ${strengths.slice(0, 3).join(', ')}`);
226
- }
227
- const growthStory = [];
228
- if (daysTracked > 0) {
229
- growthStory.push(`Tracked for ${daysTracked} days across ${latest.summary ? latest.summary.totalProjects : 0} projects`);
230
- if (strengths.length > 0)
231
- growthStory.push(`Built strong skills in: ${strengths.slice(0, 3).join(', ')}`);
232
- if (bugCounts.length > 0 && bugCounts[bugCounts.length - 1] < 10)
233
- growthStory.push(`Maintains good code quality — bug count is low`);
234
- }
235
- else {
236
- growthStory.push('Just started tracking — check back in a month for meaningful trends');
237
- growthStory.push('Run `cell intelligence` and `cell journey` weekly to build your profile');
238
- }
239
- return { trends, progress, level, growthStory, strengths, weaknesses, recommendations, nextFocus, snapshotCount: allSnaps.length, daysTracked, generatedAt: new Date().toISOString() };
240
- }
241
- function saveInsightReport(report) {
242
- const dir = path.join(os.homedir(), '.fivo', 'cell');
243
- if (!fs.existsSync(dir))
244
- fs.mkdirSync(dir, { recursive: true });
245
- const fp = path.join(dir, 'insights.json');
246
- fs.writeFileSync(fp, JSON.stringify(report, null, 2), 'utf-8');
247
- const mdPath = path.join(dir, 'insights.md');
248
- fs.writeFileSync(mdPath, renderInsightsMd(report), 'utf-8');
249
- return fp;
250
- }
251
- function renderInsightsMd(r) {
252
- const l = [];
253
- l.push('# 🔮 FIVO Cell — Your Growth Insights');
254
- l.push('');
255
- l.push(`> Generated: ${r.generatedAt}`);
256
- l.push(`> Snapshots: ${r.snapshotCount} | Days tracked: ${r.daysTracked}`);
257
- l.push('');
258
- const levelIcons = { senior: '🏆', mid: '🔥', junior: '🌱', unclear: '❓' };
259
- l.push(`## 🎯 Current Level: ${levelIcons[r.level.currentLevel]} ${r.level.currentLevel.toUpperCase()} (${r.level.confidence}% confidence)`);
260
- l.push('');
261
- if (r.level.evidence.length > 0) {
262
- l.push('### Evidence');
263
- for (const e of r.level.evidence)
264
- l.push(`- ✅ ${e}`);
265
- l.push('');
266
- }
267
- if (r.level.missingSkills.length > 0) {
268
- l.push('### Missing for next level');
269
- for (const m of r.level.missingSkills)
270
- l.push(`- ⏳ ${m}`);
271
- l.push('');
272
- }
273
- l.push(`**Next level:** ${r.level.nextLevel} | **ETA:** ${r.level.timeToNextLevel}`);
274
- l.push('');
275
- l.push('## 📈 Trends');
276
- l.push('');
277
- for (const t of r.trends) {
278
- const dirIcon = t.direction === 'improving' ? '📈' : t.direction === 'declining' ? '📉' : '➡️';
279
- l.push(`- ${dirIcon} **${t.metric}**: ${t.direction} — ${t.details}`);
280
- }
281
- l.push('');
282
- if (r.strengths.length > 0) {
283
- l.push('## 💪 Strengths');
284
- for (const s of r.strengths)
285
- l.push(`- ${s}`);
286
- l.push('');
287
- }
288
- if (r.weaknesses.length > 0) {
289
- l.push('## 🎯 Areas to improve');
290
- for (const w of r.weaknesses)
291
- l.push(`- ${w}`);
292
- l.push('');
293
- }
294
- if (r.growthStory.length > 0) {
295
- l.push('## 📖 Your Growth Story');
296
- for (const g of r.growthStory)
297
- l.push(`- ${g}`);
298
- l.push('');
299
- }
300
- if (r.recommendations.length > 0) {
301
- l.push('## 💡 Recommendations');
302
- for (const rec of r.recommendations)
303
- l.push(`- ${rec}`);
304
- l.push('');
305
- }
306
- if (r.nextFocus.length > 0) {
307
- l.push('## 🎯 Next to focus on');
308
- for (const nf of r.nextFocus)
309
- l.push(`- 🔥 ${nf}`);
310
- l.push('');
311
- }
312
- return l.join('\n');
313
- }
314
- //# sourceMappingURL=insight-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insight-generator.js","sourceRoot":"","sources":["../../../../src/walls/03-knowledge/decisions/insight-generator.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- interface StackDecision {
2
- technology: string;
3
- alternatives: string[];
4
- recommendation: string;
5
- reason: string;
6
- confidence: number;
7
- usedBy: number;
8
- }
9
- interface ArchValidation {
10
- pattern: string;
11
- context: string;
12
- result: 'recommended' | 'caution' | 'avoid';
13
- reason: string;
14
- teamSizeMin: number;
15
- teamSizeMax: number;
16
- }
17
- export declare class CommunityAdvancedEngine {
18
- private store;
19
- private data;
20
- constructor(cellDir?: string);
21
- recordTechnology(tech: string): void;
22
- getStackRecommendation(currentTech: string): StackDecision | null;
23
- getArchitectureValidation(pattern: string, teamSize: number): ArchValidation | null;
24
- getSummary(): string[];
25
- private defaultStackDecisions;
26
- private defaultArchValidations;
27
- private save;
28
- }
29
- export {};
30
- //# sourceMappingURL=community-advanced-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"community-advanced-engine.d.ts","sourceRoot":"","sources":["../../../../src/walls/05-community/stats/community-advanced-engine.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IACvC,UAAU,EAAE,MAAM,CAAa;IAAC,MAAM,EAAE,MAAM,CAA0B;CACzE;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAC1D;AASD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,IAAI,CAAmB;gBAEnB,OAAO,CAAC,EAAE,MAAM;IAU5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKpC,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAMjE,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAQnF,UAAU,IAAI,MAAM,EAAE;IAWtB,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,IAAI;CACb"}