fivocell 3.1.0 → 4.1.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 (176) hide show
  1. package/dist/__tests__/behavior-intelligence-bug.test.d.ts +2 -0
  2. package/dist/__tests__/behavior-intelligence-bug.test.d.ts.map +1 -0
  3. package/dist/__tests__/behavior-intelligence-bug.test.js +21 -0
  4. package/dist/__tests__/behavior-intelligence-bug.test.js.map +1 -0
  5. package/dist/__tests__/code-scanner-arrow-return-type.test.d.ts +2 -0
  6. package/dist/__tests__/code-scanner-arrow-return-type.test.d.ts.map +1 -0
  7. package/dist/__tests__/code-scanner-arrow-return-type.test.js +76 -0
  8. package/dist/__tests__/code-scanner-arrow-return-type.test.js.map +1 -0
  9. package/dist/__tests__/code-scanner-blindspot.test.d.ts +2 -0
  10. package/dist/__tests__/code-scanner-blindspot.test.d.ts.map +1 -0
  11. package/dist/__tests__/code-scanner-blindspot.test.js +18 -0
  12. package/dist/__tests__/code-scanner-blindspot.test.js.map +1 -0
  13. package/dist/__tests__/code-scanner-error-recovery.test.d.ts +2 -0
  14. package/dist/__tests__/code-scanner-error-recovery.test.d.ts.map +1 -0
  15. package/dist/__tests__/code-scanner-error-recovery.test.js +21 -0
  16. package/dist/__tests__/code-scanner-error-recovery.test.js.map +1 -0
  17. package/dist/__tests__/code-scanner-n1-detection.test.d.ts +2 -0
  18. package/dist/__tests__/code-scanner-n1-detection.test.d.ts.map +1 -0
  19. package/dist/__tests__/code-scanner-n1-detection.test.js +113 -0
  20. package/dist/__tests__/code-scanner-n1-detection.test.js.map +1 -0
  21. package/dist/__tests__/code-scanner-nesting.test.d.ts +2 -0
  22. package/dist/__tests__/code-scanner-nesting.test.d.ts.map +1 -0
  23. package/dist/__tests__/code-scanner-nesting.test.js +113 -0
  24. package/dist/__tests__/code-scanner-nesting.test.js.map +1 -0
  25. package/dist/__tests__/code-scanner-null-check.test.d.ts +2 -0
  26. package/dist/__tests__/code-scanner-null-check.test.d.ts.map +1 -0
  27. package/dist/__tests__/code-scanner-null-check.test.js +126 -0
  28. package/dist/__tests__/code-scanner-null-check.test.js.map +1 -0
  29. package/dist/__tests__/code-scanner-sql-fix.test.d.ts +2 -0
  30. package/dist/__tests__/code-scanner-sql-fix.test.d.ts.map +1 -0
  31. package/dist/__tests__/code-scanner-sql-fix.test.js +21 -0
  32. package/dist/__tests__/code-scanner-sql-fix.test.js.map +1 -0
  33. package/dist/__tests__/code-scanner-trust-score.test.d.ts +1 -0
  34. package/dist/__tests__/code-scanner-trust-score.test.d.ts.map +1 -0
  35. package/dist/__tests__/code-scanner-trust-score.test.js +39 -0
  36. package/dist/__tests__/code-scanner-trust-score.test.js.map +1 -0
  37. package/dist/__tests__/code-scanner-validation.test.d.ts +2 -0
  38. package/dist/__tests__/code-scanner-validation.test.d.ts.map +1 -0
  39. package/dist/__tests__/code-scanner-validation.test.js +131 -0
  40. package/dist/__tests__/code-scanner-validation.test.js.map +1 -0
  41. package/dist/__tests__/community-store.test.d.ts +2 -0
  42. package/dist/__tests__/community-store.test.d.ts.map +1 -0
  43. package/dist/__tests__/community-store.test.js +231 -0
  44. package/dist/__tests__/community-store.test.js.map +1 -0
  45. package/dist/__tests__/enhanced-blind-spots.test.d.ts +2 -0
  46. package/dist/__tests__/enhanced-blind-spots.test.d.ts.map +1 -0
  47. package/dist/__tests__/enhanced-blind-spots.test.js +302 -0
  48. package/dist/__tests__/enhanced-blind-spots.test.js.map +1 -0
  49. package/dist/__tests__/knowledge-graph-store.test.d.ts +2 -0
  50. package/dist/__tests__/knowledge-graph-store.test.d.ts.map +1 -0
  51. package/dist/__tests__/knowledge-graph-store.test.js +252 -0
  52. package/dist/__tests__/knowledge-graph-store.test.js.map +1 -0
  53. package/dist/__tests__/live-watcher.test.d.ts +2 -0
  54. package/dist/__tests__/live-watcher.test.d.ts.map +1 -0
  55. package/dist/__tests__/live-watcher.test.js +312 -0
  56. package/dist/__tests__/live-watcher.test.js.map +1 -0
  57. package/dist/__tests__/mcp-cell-tools.test.d.ts +2 -0
  58. package/dist/__tests__/mcp-cell-tools.test.d.ts.map +1 -0
  59. package/dist/__tests__/mcp-cell-tools.test.js +176 -0
  60. package/dist/__tests__/mcp-cell-tools.test.js.map +1 -0
  61. package/dist/__tests__/multi-project.test.d.ts +2 -0
  62. package/dist/__tests__/multi-project.test.d.ts.map +1 -0
  63. package/dist/__tests__/multi-project.test.js +145 -0
  64. package/dist/__tests__/multi-project.test.js.map +1 -0
  65. package/dist/__tests__/pc-scanner-paths.test.d.ts +2 -0
  66. package/dist/__tests__/pc-scanner-paths.test.d.ts.map +1 -0
  67. package/dist/__tests__/pc-scanner-paths.test.js +16 -0
  68. package/dist/__tests__/pc-scanner-paths.test.js.map +1 -0
  69. package/dist/__tests__/prompt-builder-realdata.test.d.ts +2 -0
  70. package/dist/__tests__/prompt-builder-realdata.test.d.ts.map +1 -0
  71. package/dist/__tests__/prompt-builder-realdata.test.js +94 -0
  72. package/dist/__tests__/prompt-builder-realdata.test.js.map +1 -0
  73. package/dist/__tests__/prompt-builder-sessions.test.d.ts +2 -0
  74. package/dist/__tests__/prompt-builder-sessions.test.d.ts.map +1 -0
  75. package/dist/__tests__/prompt-builder-sessions.test.js +124 -0
  76. package/dist/__tests__/prompt-builder-sessions.test.js.map +1 -0
  77. package/dist/__tests__/security.test.d.ts +1 -0
  78. package/dist/__tests__/security.test.d.ts.map +1 -0
  79. package/dist/__tests__/security.test.js +161 -0
  80. package/dist/__tests__/security.test.js.map +1 -0
  81. package/dist/__tests__/session-bridge.test.d.ts +2 -0
  82. package/dist/__tests__/session-bridge.test.d.ts.map +1 -0
  83. package/dist/__tests__/session-bridge.test.js +158 -0
  84. package/dist/__tests__/session-bridge.test.js.map +1 -0
  85. package/dist/__tests__/session-memory-tables.test.d.ts +2 -0
  86. package/dist/__tests__/session-memory-tables.test.d.ts.map +1 -0
  87. package/dist/__tests__/session-memory-tables.test.js +169 -0
  88. package/dist/__tests__/session-memory-tables.test.js.map +1 -0
  89. package/dist/__tests__/staleness-detection.test.d.ts +2 -0
  90. package/dist/__tests__/staleness-detection.test.d.ts.map +1 -0
  91. package/dist/__tests__/staleness-detection.test.js +105 -0
  92. package/dist/__tests__/staleness-detection.test.js.map +1 -0
  93. package/dist/__tests__/team-collaboration.test.d.ts +2 -0
  94. package/dist/__tests__/team-collaboration.test.d.ts.map +1 -0
  95. package/dist/__tests__/team-collaboration.test.js +224 -0
  96. package/dist/__tests__/team-collaboration.test.js.map +1 -0
  97. package/dist/__tests__/tool-specific-format.test.d.ts +2 -0
  98. package/dist/__tests__/tool-specific-format.test.d.ts.map +1 -0
  99. package/dist/__tests__/tool-specific-format.test.js +132 -0
  100. package/dist/__tests__/tool-specific-format.test.js.map +1 -0
  101. package/dist/__tests__/usage-intelligence-store.test.d.ts +2 -0
  102. package/dist/__tests__/usage-intelligence-store.test.d.ts.map +1 -0
  103. package/dist/__tests__/usage-intelligence-store.test.js +266 -0
  104. package/dist/__tests__/usage-intelligence-store.test.js.map +1 -0
  105. package/dist/ai-bridge.d.ts +20 -0
  106. package/dist/ai-bridge.d.ts.map +1 -0
  107. package/dist/ai-bridge.js +250 -0
  108. package/dist/ai-bridge.js.map +1 -0
  109. package/dist/behavior-intelligence.d.ts.map +1 -1
  110. package/dist/behavior-intelligence.js +12 -1
  111. package/dist/behavior-intelligence.js.map +1 -1
  112. package/dist/cli.js +501 -4
  113. package/dist/cli.js.map +1 -1
  114. package/dist/code-scanner.d.ts.map +1 -1
  115. package/dist/code-scanner.js +426 -69
  116. package/dist/code-scanner.js.map +1 -1
  117. package/dist/core/community-store.d.ts +128 -0
  118. package/dist/core/community-store.d.ts.map +1 -0
  119. package/dist/core/community-store.js +329 -0
  120. package/dist/core/community-store.js.map +1 -0
  121. package/dist/core/database.d.ts +0 -3
  122. package/dist/core/database.d.ts.map +1 -1
  123. package/dist/core/database.js +287 -15
  124. package/dist/core/database.js.map +1 -1
  125. package/dist/core/enhanced-blind-spots.d.ts +27 -0
  126. package/dist/core/enhanced-blind-spots.d.ts.map +1 -0
  127. package/dist/core/enhanced-blind-spots.js +591 -0
  128. package/dist/core/enhanced-blind-spots.js.map +1 -0
  129. package/dist/core/knowledge-graph-store.d.ts +69 -0
  130. package/dist/core/knowledge-graph-store.d.ts.map +1 -0
  131. package/dist/core/knowledge-graph-store.js +269 -0
  132. package/dist/core/knowledge-graph-store.js.map +1 -0
  133. package/dist/core/live-watcher.d.ts +52 -0
  134. package/dist/core/live-watcher.d.ts.map +1 -0
  135. package/dist/core/live-watcher.js +369 -0
  136. package/dist/core/live-watcher.js.map +1 -0
  137. package/dist/core/project-registry.d.ts +24 -0
  138. package/dist/core/project-registry.d.ts.map +1 -0
  139. package/dist/core/project-registry.js +70 -0
  140. package/dist/core/project-registry.js.map +1 -0
  141. package/dist/core/prompt-builder.d.ts +50 -0
  142. package/dist/core/prompt-builder.d.ts.map +1 -1
  143. package/dist/core/prompt-builder.js +533 -79
  144. package/dist/core/prompt-builder.js.map +1 -1
  145. package/dist/core/security.d.ts +23 -0
  146. package/dist/core/security.d.ts.map +1 -0
  147. package/dist/core/security.js +117 -0
  148. package/dist/core/security.js.map +1 -0
  149. package/dist/core/session-memory.d.ts +64 -0
  150. package/dist/core/session-memory.d.ts.map +1 -1
  151. package/dist/core/session-memory.js +111 -0
  152. package/dist/core/session-memory.js.map +1 -1
  153. package/dist/core/usage-intelligence-store.d.ts +126 -0
  154. package/dist/core/usage-intelligence-store.d.ts.map +1 -0
  155. package/dist/core/usage-intelligence-store.js +405 -0
  156. package/dist/core/usage-intelligence-store.js.map +1 -0
  157. package/dist/daemon/server.d.ts.map +1 -1
  158. package/dist/daemon/server.js +936 -17
  159. package/dist/daemon/server.js.map +1 -1
  160. package/dist/knowledge-graph-builder.d.ts +16 -0
  161. package/dist/knowledge-graph-builder.d.ts.map +1 -0
  162. package/dist/knowledge-graph-builder.js +186 -0
  163. package/dist/knowledge-graph-builder.js.map +1 -0
  164. package/dist/pc-scanner.d.ts +1 -0
  165. package/dist/pc-scanner.d.ts.map +1 -1
  166. package/dist/pc-scanner.js +58 -30
  167. package/dist/pc-scanner.js.map +1 -1
  168. package/dist/stack-detector.d.ts +34 -0
  169. package/dist/stack-detector.d.ts.map +1 -0
  170. package/dist/stack-detector.js +471 -0
  171. package/dist/stack-detector.js.map +1 -0
  172. package/dist/team-intel.d.ts +31 -0
  173. package/dist/team-intel.d.ts.map +1 -0
  174. package/dist/team-intel.js +310 -0
  175. package/dist/team-intel.js.map +1 -0
  176. package/package.json +1 -1
@@ -0,0 +1,126 @@
1
+ export interface DecisionOutcome {
2
+ id: number;
3
+ project: string;
4
+ technology: string;
5
+ reason: string;
6
+ outcome: string;
7
+ wasRight: boolean;
8
+ confidence: number;
9
+ context: string;
10
+ createdAt: string;
11
+ }
12
+ export interface DecisionPattern {
13
+ technology: string;
14
+ timesChosen: number;
15
+ timesRight: number;
16
+ timesWrong: number;
17
+ regretRate: number;
18
+ advice: string;
19
+ }
20
+ export interface RepeatMistake {
21
+ errorType: string;
22
+ filePattern: string;
23
+ count: number;
24
+ lastSeen: string;
25
+ severity: 'critical' | 'warning' | 'info';
26
+ suggestion: string;
27
+ }
28
+ export interface AIInteractionStats {
29
+ modelName: string;
30
+ totalInteractions: number;
31
+ accepted: number;
32
+ rejected: number;
33
+ acceptanceRate: number;
34
+ avgIterations: number;
35
+ bestUseCases: string[];
36
+ worstUseCases: string[];
37
+ recommendation: string;
38
+ }
39
+ export interface ProductivitySignal {
40
+ signalType: 'flow' | 'friction' | 'context_switch' | 'long_session';
41
+ durationMinutes: number;
42
+ filesTouched: number;
43
+ contextSwitches: number;
44
+ flowScore: number;
45
+ frictionScore: number;
46
+ recommendation: string;
47
+ createdAt: string;
48
+ }
49
+ export interface SkillProgress {
50
+ technology: string;
51
+ errorsLast30d: number;
52
+ errorsLast90d: number;
53
+ trend: 'improving' | 'stable' | 'regressing';
54
+ proficiency: number;
55
+ plateau: boolean;
56
+ advice: string;
57
+ }
58
+ export interface BurnoutSignals {
59
+ risk: 'high' | 'medium' | 'low';
60
+ signals: string[];
61
+ avgSessionLength: number;
62
+ sessionFrequency: number;
63
+ contextSwitchRate: number;
64
+ advice: string;
65
+ }
66
+ export interface UsageDashboard {
67
+ decisions: {
68
+ total: number;
69
+ right: number;
70
+ wrong: number;
71
+ topPatterns: DecisionPattern[];
72
+ };
73
+ mistakes: {
74
+ total: number;
75
+ critical: number;
76
+ top: RepeatMistake[];
77
+ };
78
+ ai: {
79
+ modelsUsed: number;
80
+ avgAcceptance: number;
81
+ topModel: string;
82
+ };
83
+ productivity: {
84
+ flowScore: number;
85
+ frictionScore: number;
86
+ sessionsToday: number;
87
+ };
88
+ skills: {
89
+ improving: number;
90
+ plateau: number;
91
+ regressing: number;
92
+ };
93
+ burnout: BurnoutSignals;
94
+ generatedAt: string;
95
+ }
96
+ export declare function logDecisionOutcome(params: {
97
+ project: string;
98
+ technology: string;
99
+ reason: string;
100
+ outcome: string;
101
+ wasRight: boolean;
102
+ confidence?: number;
103
+ context?: string;
104
+ }): {
105
+ id: number;
106
+ };
107
+ export declare function getDecisionOutcomes(project: string, limit?: number): DecisionOutcome[];
108
+ export declare function getDecisionPatterns(project: string): DecisionPattern[];
109
+ export declare function detectRepeatMistakes(project: string): RepeatMistake[];
110
+ export declare function getAIInteractionStats(project: string): AIInteractionStats[];
111
+ export declare function logProductivitySignal(params: {
112
+ project: string;
113
+ signalType: 'flow' | 'friction' | 'context_switch' | 'long_session';
114
+ durationMinutes: number;
115
+ filesTouched: number;
116
+ contextSwitches: number;
117
+ }): {
118
+ id: number;
119
+ flowScore: number;
120
+ frictionScore: number;
121
+ };
122
+ export declare function getProductivitySignals(project: string, days?: number): ProductivitySignal[];
123
+ export declare function getSkillProgression(project: string): SkillProgress[];
124
+ export declare function getBurnoutSignals(project: string): BurnoutSignals;
125
+ export declare function getUsageDashboard(project: string): UsageDashboard;
126
+ //# sourceMappingURL=usage-intelligence-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-intelligence-store.d.ts","sourceRoot":"","sources":["../../src/core/usage-intelligence-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logDecisionOutcome = logDecisionOutcome;
4
+ exports.getDecisionOutcomes = getDecisionOutcomes;
5
+ exports.getDecisionPatterns = getDecisionPatterns;
6
+ exports.detectRepeatMistakes = detectRepeatMistakes;
7
+ exports.getAIInteractionStats = getAIInteractionStats;
8
+ exports.logProductivitySignal = logProductivitySignal;
9
+ exports.getProductivitySignals = getProductivitySignals;
10
+ exports.getSkillProgression = getSkillProgression;
11
+ exports.getBurnoutSignals = getBurnoutSignals;
12
+ exports.getUsageDashboard = getUsageDashboard;
13
+ const database_1 = require("./database");
14
+ // ─── Decision History with Outcomes (6.2) ─────────────────────────────────
15
+ function logDecisionOutcome(params) {
16
+ const db = (0, database_1.getDb)();
17
+ const result = db.prepare(`
18
+ INSERT INTO decision_outcomes (project, technology, reason, outcome, was_right, confidence, context)
19
+ VALUES (?, ?, ?, ?, ?, ?, ?)
20
+ `).run(params.project, params.technology, params.reason || '', params.outcome || '', params.wasRight ? 1 : 0, params.confidence || 50, params.context || '');
21
+ return { id: Number(result.lastInsertRowid) };
22
+ }
23
+ function getDecisionOutcomes(project, limit = 50) {
24
+ const db = (0, database_1.getDb)();
25
+ const rows = db.prepare(`
26
+ SELECT id, project, technology, reason, outcome, was_right, confidence, context, created_at
27
+ FROM decision_outcomes WHERE project = ? ORDER BY created_at DESC LIMIT ?
28
+ `).all(project, limit);
29
+ return rows.map(r => ({
30
+ id: Number(r.id),
31
+ project: String(r.project || ''),
32
+ technology: String(r.technology || ''),
33
+ reason: String(r.reason || ''),
34
+ outcome: String(r.outcome || ''),
35
+ wasRight: r.was_right === 1,
36
+ confidence: Number(r.confidence || 50),
37
+ context: String(r.context || ''),
38
+ createdAt: String(r.created_at || ''),
39
+ }));
40
+ }
41
+ function getDecisionPatterns(project) {
42
+ const db = (0, database_1.getDb)();
43
+ const rows = db.prepare(`
44
+ SELECT technology, COUNT(*) as total,
45
+ SUM(CASE WHEN was_right = 1 THEN 1 ELSE 0 END) as right_count,
46
+ SUM(CASE WHEN was_right = 0 THEN 1 ELSE 0 END) as wrong_count
47
+ FROM decision_outcomes WHERE project = ?
48
+ GROUP BY technology
49
+ HAVING total >= 2
50
+ ORDER BY total DESC
51
+ `).all(project);
52
+ return rows.map(r => {
53
+ const regretRate = r.total > 0 ? r.wrong_count / r.total : 0;
54
+ let advice;
55
+ if (regretRate >= 0.7) {
56
+ advice = `🚨 STOP picking ${r.technology} — ${Math.round(regretRate * 100)}% regret rate (${r.wrong_count}/${r.total})`;
57
+ }
58
+ else if (regretRate >= 0.5) {
59
+ advice = `⚠ Be careful with ${r.technology} — ${Math.round(regretRate * 100)}% regret rate`;
60
+ }
61
+ else if (regretRate <= 0.2 && r.total >= 3) {
62
+ advice = `✓ ${r.technology} is a great choice — ${Math.round((r.right_count / r.total) * 100)}% success rate`;
63
+ }
64
+ else {
65
+ advice = `${r.technology} has mixed results — review specific cases`;
66
+ }
67
+ return {
68
+ technology: r.technology,
69
+ timesChosen: r.total,
70
+ timesRight: r.right_count,
71
+ timesWrong: r.wrong_count,
72
+ regretRate,
73
+ advice,
74
+ };
75
+ });
76
+ }
77
+ // ─── Repeat Mistakes Map (6.3) ────────────────────────────────────────────
78
+ function detectRepeatMistakes(project) {
79
+ const db = (0, database_1.getDb)();
80
+ // Mine error_log
81
+ const errorRows = db.prepare(`
82
+ SELECT error_type, file_path, COUNT(*) as count, MAX(occurred_at) as last_seen
83
+ FROM error_log
84
+ WHERE project = ?
85
+ GROUP BY error_type, file_path
86
+ HAVING count >= 2
87
+ ORDER BY count DESC
88
+ `).all(project);
89
+ const mistakes = errorRows.map(r => {
90
+ const severity = r.count >= 5 ? 'critical' : r.count >= 3 ? 'warning' : 'info';
91
+ const filePattern = r.file_path ? r.file_path.replace(/\d+/g, '*').replace(/\/[^/]+$/, '/*') : 'unknown';
92
+ return {
93
+ errorType: r.error_type,
94
+ filePattern,
95
+ count: r.count,
96
+ lastSeen: r.last_seen,
97
+ severity,
98
+ suggestion: getSuggestionForError(r.error_type, r.count),
99
+ };
100
+ });
101
+ // Also save to alerts table for tracking dismissal
102
+ for (const m of mistakes) {
103
+ const existing = db.prepare(`
104
+ SELECT id FROM repeat_mistake_alerts
105
+ WHERE project = ? AND error_type = ? AND file_pattern = ?
106
+ `).get(project, m.errorType, m.filePattern);
107
+ if (existing) {
108
+ db.prepare(`
109
+ UPDATE repeat_mistake_alerts SET occurrence_count = ?, last_seen = ?
110
+ WHERE id = ?
111
+ `).run(m.count, m.lastSeen, existing.id);
112
+ }
113
+ else {
114
+ db.prepare(`
115
+ INSERT INTO repeat_mistake_alerts (project, error_type, file_pattern, occurrence_count, last_seen)
116
+ VALUES (?, ?, ?, ?, ?)
117
+ `).run(project, m.errorType, m.filePattern, m.count, m.lastSeen);
118
+ }
119
+ }
120
+ return mistakes;
121
+ }
122
+ function getSuggestionForError(errorType, count) {
123
+ const tips = {
124
+ null_check: 'Add a guard at function entry or use optional chaining everywhere',
125
+ validation: 'Add Zod/Joi schema for this input type',
126
+ n_plus_1: 'Use eager loading or batch query — check EXPLAIN plan',
127
+ async_error: 'Wrap awaits in try/catch — never let rejections slip',
128
+ sql_injection: 'Use parameterized queries — never concatenate user input',
129
+ off_by_one: 'Walk through loop boundaries on paper; add boundary tests',
130
+ type_error: 'Add TypeScript strict mode + explicit return types',
131
+ import_error: 'Check path resolution; use explicit .ts extensions',
132
+ };
133
+ return tips[errorType] || `Review pattern — seen ${count}x`;
134
+ }
135
+ // ─── AI Interaction Pattern Tracking (6.5) ────────────────────────────────
136
+ function getAIInteractionStats(project) {
137
+ const db = (0, database_1.getDb)();
138
+ // Aggregate model_profiles (global) + model_interactions (per project if present)
139
+ const profiles = db.prepare(`
140
+ SELECT model_name, acceptance_rate, rejection_rate, avg_time_ms, best_use_cases, worst_use_cases
141
+ FROM model_profiles
142
+ `).all();
143
+ // Try to get per-project interaction count from model_interactions
144
+ const interactions = db.prepare(`
145
+ SELECT model_name,
146
+ COUNT(*) as total,
147
+ SUM(CASE WHEN accepted = 1 THEN 1 ELSE 0 END) as accepted,
148
+ SUM(CASE WHEN accepted = 0 THEN 1 ELSE 0 END) as rejected,
149
+ AVG(time_to_accept_ms) as avg_time
150
+ FROM model_interactions
151
+ WHERE project = ? OR project IS NULL
152
+ GROUP BY model_name
153
+ `).all(project);
154
+ const interactionMap = new Map(interactions.map(i => [i.model_name, i]));
155
+ return profiles.map(p => {
156
+ const ints = interactionMap.get(p.model_name);
157
+ const accepted = ints?.accepted || 0;
158
+ const rejected = ints?.rejected || 0;
159
+ const total = ints?.total || 0;
160
+ const acceptanceRate = total > 0 ? accepted / total : Number(p.acceptance_rate || 0);
161
+ let recommendation;
162
+ if (acceptanceRate >= 0.8)
163
+ recommendation = `Strong match for this project — keep using ${p.model_name}`;
164
+ else if (acceptanceRate >= 0.5)
165
+ recommendation = `Decent — review rejections to find better task types`;
166
+ else if (total > 0)
167
+ recommendation = `Low acceptance — consider switching for this task type`;
168
+ else
169
+ recommendation = `No data yet — track interactions to get personalized recommendations`;
170
+ return {
171
+ modelName: p.model_name,
172
+ totalInteractions: total,
173
+ accepted,
174
+ rejected,
175
+ acceptanceRate,
176
+ avgIterations: Number(ints?.avg_time || p.avg_time_ms || 0) / 1000,
177
+ bestUseCases: safeJsonArr(p.best_use_cases),
178
+ worstUseCases: safeJsonArr(p.worst_use_cases),
179
+ recommendation,
180
+ };
181
+ });
182
+ }
183
+ function safeJsonArr(s) {
184
+ if (typeof s !== 'string' || !s)
185
+ return [];
186
+ try {
187
+ return JSON.parse(s);
188
+ }
189
+ catch {
190
+ return [];
191
+ }
192
+ }
193
+ // ─── Productivity Intelligence (6.4) ──────────────────────────────────────
194
+ function logProductivitySignal(params) {
195
+ const db = (0, database_1.getDb)();
196
+ // Heuristics:
197
+ // flow: many files, low switches, long duration
198
+ // friction: many switches, few files
199
+ // context_switch: many switches regardless
200
+ // long_session: very long duration
201
+ const flowScore = Math.min(100, Math.round((params.filesTouched * 5)
202
+ + (params.durationMinutes / 2)
203
+ - (params.contextSwitches * 3)));
204
+ const frictionScore = Math.min(100, Math.round((params.contextSwitches * 8)
205
+ - (params.filesTouched * 2)));
206
+ const isFlow = flowScore > 50 ? 1 : 0;
207
+ const result = db.prepare(`
208
+ INSERT INTO productivity_signals
209
+ (project, signal_type, duration_minutes, files_touched, context_switches, flow_state, friction_score)
210
+ VALUES (?, ?, ?, ?, ?, ?, ?)
211
+ `).run(params.project, params.signalType, params.durationMinutes, params.filesTouched, params.contextSwitches, isFlow, frictionScore);
212
+ return { id: Number(result.lastInsertRowid), flowScore, frictionScore };
213
+ }
214
+ function getProductivitySignals(project, days = 30) {
215
+ const db = (0, database_1.getDb)();
216
+ const rows = db.prepare(`
217
+ SELECT signal_type, duration_minutes, files_touched, context_switches, flow_state, friction_score, created_at
218
+ FROM productivity_signals
219
+ WHERE project = ? AND created_at >= datetime('now', ?)
220
+ ORDER BY created_at DESC
221
+ `).all(project, `-${days} days`);
222
+ return rows.map(r => {
223
+ const friction = Number(r.friction_score || 0);
224
+ const files = Number(r.files_touched || 0);
225
+ const switches = Number(r.context_switches || 0);
226
+ const dur = Number(r.duration_minutes || 0);
227
+ // Recompute flow score from raw values (flow_state is just 0/1 boolean)
228
+ const flow = Math.min(100, Math.round((files * 5) + (dur / 2) - (switches * 3)));
229
+ let recommendation;
230
+ if (flow > 50)
231
+ recommendation = `Strong flow — keep doing what you were doing`;
232
+ else if (friction > 60)
233
+ recommendation = `High friction — reduce context switches or batch tasks`;
234
+ else if (switches > 10)
235
+ recommendation = `Many context switches — consider time-boxing`;
236
+ else
237
+ recommendation = `Normal productivity`;
238
+ return {
239
+ signalType: String(r.signal_type || 'flow'),
240
+ durationMinutes: dur,
241
+ filesTouched: files,
242
+ contextSwitches: switches,
243
+ flowScore: flow,
244
+ frictionScore: friction,
245
+ recommendation,
246
+ createdAt: String(r.created_at || ''),
247
+ };
248
+ });
249
+ }
250
+ // ─── Skill Progression (6.6) ─────────────────────────────────────────────
251
+ function getSkillProgression(project) {
252
+ const db = (0, database_1.getDb)();
253
+ const techs = db.prepare(`
254
+ SELECT technology, signals_count, proficiency_score
255
+ FROM tech_proficiency WHERE project = ?
256
+ `).all(project);
257
+ // Get error counts per tech (rough: file_path contains tech name)
258
+ return techs.map(t => {
259
+ const tech = t.technology;
260
+ const errors30 = db.prepare(`
261
+ SELECT COUNT(*) as c FROM error_log
262
+ WHERE project = ? AND occurred_at >= datetime('now', '-30 days')
263
+ `).get(project).c;
264
+ const errors90 = db.prepare(`
265
+ SELECT COUNT(*) as c FROM error_log
266
+ WHERE project = ? AND occurred_at >= datetime('now', '-90 days')
267
+ `).get(project).c;
268
+ const errorsLast60 = errors90 - errors30;
269
+ // Trend: compare last 30 days to previous 30 days
270
+ let trend = 'stable';
271
+ if (errors30 < errorsLast60 * 0.7)
272
+ trend = 'improving';
273
+ else if (errors30 > errorsLast60 * 1.3)
274
+ trend = 'regressing';
275
+ const proficiency = t.proficiency_score;
276
+ const plateau = trend === 'stable' && proficiency >= 50 && proficiency < 80 && t.signals_count > 20;
277
+ let advice;
278
+ if (trend === 'improving')
279
+ advice = `Making fewer errors with ${tech} — keep learning`;
280
+ else if (trend === 'regressing')
281
+ advice = `More errors in ${tech} recently — review fundamentals`;
282
+ else if (plateau)
283
+ advice = `${tech} plateau detected — try a stretch project`;
284
+ else
285
+ advice = `Steady with ${tech} — explore advanced patterns`;
286
+ return {
287
+ technology: tech,
288
+ errorsLast30d: errors30,
289
+ errorsLast90d: errors90,
290
+ trend,
291
+ proficiency,
292
+ plateau,
293
+ advice,
294
+ };
295
+ });
296
+ }
297
+ // ─── Burnout Detection (6.4 supplement) ──────────────────────────────────
298
+ function getBurnoutSignals(project) {
299
+ const db = (0, database_1.getDb)();
300
+ // Look at sessions + productivity signals
301
+ const signals = [];
302
+ const sessionStats = db.prepare(`
303
+ SELECT
304
+ AVG(CASE WHEN end_time IS NOT NULL AND start_time IS NOT NULL
305
+ THEN (julianday(end_time) - julianday(start_time)) * 24 * 60
306
+ ELSE NULL END) as avg_duration_min,
307
+ COUNT(*) as total,
308
+ SUM(CASE WHEN start_time >= datetime('now', '-7 days') THEN 1 ELSE 0 END) as week_count
309
+ FROM sessions WHERE project = ?
310
+ `).get(project);
311
+ const prodSignals = db.prepare(`
312
+ SELECT AVG(context_switches) as avg_switches, AVG(friction_score) as avg_friction
313
+ FROM productivity_signals
314
+ WHERE project = ? AND created_at >= datetime('now', '-7 days')
315
+ `).get(project);
316
+ const avgSession = Math.round(Number(sessionStats.avg_duration_min || 0));
317
+ const weekCount = sessionStats.week_count || 0;
318
+ const avgSwitches = Number(prodSignals.avg_switches || 0);
319
+ const avgFriction = Number(prodSignals.avg_friction || 0);
320
+ // Risk calculation
321
+ let riskScore = 0;
322
+ if (avgSession > 180) {
323
+ riskScore += 2;
324
+ signals.push(`Long sessions (avg ${avgSession} min)`);
325
+ }
326
+ if (weekCount > 30) {
327
+ riskScore += 2;
328
+ signals.push(`High session frequency (${weekCount} in 7 days)`);
329
+ }
330
+ if (avgSwitches > 8) {
331
+ riskScore += 1;
332
+ signals.push(`Many context switches (avg ${avgSwitches.toFixed(1)})`);
333
+ }
334
+ if (avgFriction > 50) {
335
+ riskScore += 2;
336
+ signals.push(`High friction (${avgFriction.toFixed(0)})`);
337
+ }
338
+ const risk = riskScore >= 5 ? 'high' : riskScore >= 3 ? 'medium' : 'low';
339
+ let advice;
340
+ if (risk === 'high')
341
+ advice = 'Take a break — high burnout risk detected';
342
+ else if (risk === 'medium')
343
+ advice = 'Monitor workload — some warning signs';
344
+ else
345
+ advice = 'Healthy work pattern — keep it up';
346
+ return {
347
+ risk,
348
+ signals,
349
+ avgSessionLength: avgSession,
350
+ sessionFrequency: weekCount,
351
+ contextSwitchRate: avgSwitches,
352
+ advice,
353
+ };
354
+ }
355
+ // ─── Combined Dashboard ──────────────────────────────────────────────────
356
+ function getUsageDashboard(project) {
357
+ const decisions = getDecisionOutcomes(project, 200);
358
+ const patterns = getDecisionPatterns(project);
359
+ const mistakes = detectRepeatMistakes(project);
360
+ const ai = getAIInteractionStats(project);
361
+ const prod = getProductivitySignals(project, 30);
362
+ const skills = getSkillProgression(project);
363
+ const burnout = getBurnoutSignals(project);
364
+ const flowScore = prod.length > 0
365
+ ? Math.round(prod.reduce((s, p) => s + p.flowScore, 0) / prod.length)
366
+ : 0;
367
+ const frictionScore = prod.length > 0
368
+ ? Math.round(prod.reduce((s, p) => s + p.frictionScore, 0) / prod.length)
369
+ : 0;
370
+ return {
371
+ decisions: {
372
+ total: decisions.length,
373
+ right: decisions.filter(d => d.wasRight).length,
374
+ wrong: decisions.filter(d => !d.wasRight).length,
375
+ topPatterns: patterns.slice(0, 5),
376
+ },
377
+ mistakes: {
378
+ total: mistakes.length,
379
+ critical: mistakes.filter(m => m.severity === 'critical').length,
380
+ top: mistakes.slice(0, 5),
381
+ },
382
+ ai: {
383
+ modelsUsed: ai.length,
384
+ avgAcceptance: ai.length > 0
385
+ ? Math.round(ai.reduce((s, a) => s + a.acceptanceRate * 100, 0) / ai.length)
386
+ : 0,
387
+ topModel: ai.length > 0
388
+ ? ai.sort((a, b) => b.acceptanceRate - a.acceptanceRate)[0].modelName
389
+ : 'none',
390
+ },
391
+ productivity: {
392
+ flowScore,
393
+ frictionScore,
394
+ sessionsToday: 0,
395
+ },
396
+ skills: {
397
+ improving: skills.filter(s => s.trend === 'improving').length,
398
+ plateau: skills.filter(s => s.plateau).length,
399
+ regressing: skills.filter(s => s.trend === 'regressing').length,
400
+ },
401
+ burnout,
402
+ generatedAt: new Date().toISOString(),
403
+ };
404
+ }
405
+ //# sourceMappingURL=usage-intelligence-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-intelligence-store.js","sourceRoot":"","sources":["../../src/core/usage-intelligence-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAgDrD,QAAA,MAAM,GAAG,6CAAY,CAAC;AAGtB,QAAA,MAAM,OAAO;;;mBAGuB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqChD,CAAC;AA0tDF,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiDrD,QAAA,MAAM,GAAG,6CAAY,CAAC;AAItB,QAAA,MAAM,OAAO;;;mBAGuB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqChD,CAAC;AAkkFF,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}