fivocell 6.3.0 → 7.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.
- package/README.md +194 -197
- package/dist/__tests__/cli-regression.test.js +1 -1
- package/dist/__tests__/cli-regression.test.js.map +1 -1
- package/dist/__tests__/teach-context.test.d.ts +2 -0
- package/dist/__tests__/teach-context.test.d.ts.map +1 -0
- package/dist/__tests__/teach-context.test.js +44 -0
- package/dist/__tests__/teach-context.test.js.map +1 -0
- package/dist/__tests__/teach-parser.test.d.ts +2 -0
- package/dist/__tests__/teach-parser.test.d.ts.map +1 -0
- package/dist/__tests__/teach-parser.test.js +56 -0
- package/dist/__tests__/teach-parser.test.js.map +1 -0
- package/dist/__tests__/teach-store.test.d.ts +2 -0
- package/dist/__tests__/teach-store.test.d.ts.map +1 -0
- package/dist/__tests__/teach-store.test.js +68 -0
- package/dist/__tests__/teach-store.test.js.map +1 -0
- package/dist/__tests__/vibe-engine.test.d.ts +2 -0
- package/dist/__tests__/vibe-engine.test.d.ts.map +1 -0
- package/dist/__tests__/vibe-engine.test.js +132 -0
- package/dist/__tests__/vibe-engine.test.js.map +1 -0
- package/dist/walls/01-context/context/agents-md.d.ts +1 -1
- package/dist/walls/01-context/context/agents-md.d.ts.map +1 -1
- package/dist/walls/01-context/context/agents-md.js +33 -1
- package/dist/walls/01-context/context/agents-md.js.map +1 -1
- package/dist/walls/01-context/context/context-bridge.d.ts +39 -0
- package/dist/walls/01-context/context/context-bridge.d.ts.map +1 -0
- package/dist/walls/01-context/context/context-bridge.js +224 -0
- package/dist/walls/01-context/context/context-bridge.js.map +1 -0
- package/dist/walls/01-context/context/context-continuity.d.ts +54 -0
- package/dist/walls/01-context/context/context-continuity.d.ts.map +1 -0
- package/dist/walls/01-context/context/context-continuity.js +350 -0
- package/dist/walls/01-context/context/context-continuity.js.map +1 -0
- package/dist/walls/01-context/context/context-predictor.d.ts +24 -0
- package/dist/walls/01-context/context/context-predictor.d.ts.map +1 -0
- package/dist/walls/01-context/context/context-predictor.js +322 -0
- package/dist/walls/01-context/context/context-predictor.js.map +1 -0
- package/dist/walls/01-context/context/prompt-builder.d.ts +1 -0
- package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
- package/dist/walls/01-context/context/prompt-builder.js +68 -1
- package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
- package/dist/walls/01-context/sessions/session-memory.d.ts.map +1 -1
- package/dist/walls/01-context/sessions/session-memory.js +47 -1
- package/dist/walls/01-context/sessions/session-memory.js.map +1 -1
- package/dist/walls/04-team/collab/team-supreme.d.ts +70 -0
- package/dist/walls/04-team/collab/team-supreme.d.ts.map +1 -0
- package/dist/walls/04-team/collab/team-supreme.js +357 -0
- package/dist/walls/04-team/collab/team-supreme.js.map +1 -0
- package/dist/walls/05-community/share/cloud-connector.d.ts +83 -0
- package/dist/walls/05-community/share/cloud-connector.d.ts.map +1 -0
- package/dist/walls/05-community/share/cloud-connector.js +385 -0
- package/dist/walls/05-community/share/cloud-connector.js.map +1 -0
- package/dist/walls/05-community/stats/community-supreme.d.ts +83 -0
- package/dist/walls/05-community/stats/community-supreme.d.ts.map +1 -0
- package/dist/walls/05-community/stats/community-supreme.js +221 -0
- package/dist/walls/05-community/stats/community-supreme.js.map +1 -0
- package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.js +8 -9
- package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.js +32 -22
- package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.d.ts +19 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.js +52 -0
- package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.js +9 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.js +56 -49
- package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
- package/dist/walls/06-memory/teach/teach-context.d.ts +8 -0
- package/dist/walls/06-memory/teach/teach-context.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-context.js +25 -0
- package/dist/walls/06-memory/teach/teach-context.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts +6 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.js +42 -0
- package/dist/walls/06-memory/teach/teach-parser.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts +10 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.js +67 -0
- package/dist/walls/06-memory/teach/teach-sections.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts +25 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.js +95 -0
- package/dist/walls/06-memory/teach/teach-store.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts +2 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js +217 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js +91 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts +8 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.js +88 -0
- package/dist/walls/06-memory/vibe/vibe-context.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts +45 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js +670 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-intelligence.d.ts +19 -0
- package/dist/walls/06-memory/vibe/vibe-intelligence.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-intelligence.js +264 -0
- package/dist/walls/06-memory/vibe/vibe-intelligence.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts +27 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js +251 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
- package/dist/walls/07-runtime/cli/cli.js +25 -0
- package/dist/walls/07-runtime/cli/cli.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/branch.js +6 -6
- package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/cloud.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/cloud.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/cloud.js +219 -0
- package/dist/walls/07-runtime/cli/commands/cloud.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/community.js +6 -0
- package/dist/walls/07-runtime/cli/commands/community.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/help.js +87 -77
- package/dist/walls/07-runtime/cli/commands/help.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/memory.js +5 -5
- package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/scan.js +39 -20
- package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/session.js +2 -1
- package/dist/walls/07-runtime/cli/commands/session.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/setup.js +2 -2
- package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/status.js +7 -7
- package/dist/walls/07-runtime/cli/commands/status.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/sync.js +1 -1
- package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/teach.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/teach.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/teach.js +203 -0
- package/dist/walls/07-runtime/cli/commands/teach.js.map +1 -0
- package/dist/walls/07-runtime/cli/utils.js +2 -2
- package/dist/walls/07-runtime/daemon/lifecycle.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/lifecycle.js +13 -1
- package/dist/walls/07-runtime/daemon/lifecycle.js.map +1 -1
- package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/routes/session.js +4 -3
- package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -1
- package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/server.js +3 -0
- package/dist/walls/07-runtime/daemon/server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/deep-audit.js +103 -0
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// team-supreme.ts — Supreme Team Intelligence Layer
|
|
3
|
+
// Vibe v3-level team profiling: DNA, knowledge map, health scoring, handoff quality.
|
|
4
|
+
// Additive layer — reads from existing team-collaboration DB, adds supreme insights.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildTeamSupremeContext = buildTeamSupremeContext;
|
|
7
|
+
exports.formatTeamContext = formatTeamContext;
|
|
8
|
+
const database_1 = require("../../06-memory/database/database");
|
|
9
|
+
function getAllMembers() {
|
|
10
|
+
const db = (0, database_1.getDb)();
|
|
11
|
+
try {
|
|
12
|
+
const members = db.prepare('SELECT name, email, commit_count, skills, project FROM collaborators ORDER BY commit_count DESC LIMIT 20').all();
|
|
13
|
+
return members.map((m) => {
|
|
14
|
+
// Get files from session_files for this member's sessions
|
|
15
|
+
let files = [];
|
|
16
|
+
try {
|
|
17
|
+
files = db.prepare(`SELECT DISTINCT sf.file_path FROM session_files sf
|
|
18
|
+
JOIN sessions s ON sf.session_id = s.id
|
|
19
|
+
WHERE s.project = ? OR s.project = ?
|
|
20
|
+
ORDER BY sf.last_touched DESC LIMIT 10`).all(m.project || m.name || 'fivo-cell', m.name || 'fivo-cell');
|
|
21
|
+
files = files.map((f) => f.file_path);
|
|
22
|
+
}
|
|
23
|
+
catch { }
|
|
24
|
+
const commitRhythm = detectCommitRhythm(m.name);
|
|
25
|
+
const codeStyleTags = detectMemberCodeStyle(m.name, files);
|
|
26
|
+
const collabScore = calculateCollaborationScore(m.name);
|
|
27
|
+
const busFactor = calculateBusFactorImpact(m.name, files);
|
|
28
|
+
return {
|
|
29
|
+
name: m.name,
|
|
30
|
+
email: m.email || '',
|
|
31
|
+
primaryFiles: files.slice(0, 8),
|
|
32
|
+
expertiseAreas: inferExpertise(files),
|
|
33
|
+
commitRhythm,
|
|
34
|
+
codeStyleTags,
|
|
35
|
+
aiUsagePattern: detectAiUsage(m.name),
|
|
36
|
+
sessionPattern: detectSessionPattern(m.name),
|
|
37
|
+
collaborationScore: collabScore,
|
|
38
|
+
busFactorImpact: busFactor,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function detectCommitRhythm(name) {
|
|
47
|
+
try {
|
|
48
|
+
const db = (0, database_1.getDb)();
|
|
49
|
+
const sessions = db.prepare(`SELECT start_time FROM sessions
|
|
50
|
+
WHERE project = (SELECT project FROM collaborators WHERE name = ? LIMIT 1)
|
|
51
|
+
ORDER BY id DESC LIMIT 20`).all(name);
|
|
52
|
+
if (sessions.length < 3)
|
|
53
|
+
return 'unknown';
|
|
54
|
+
let morning = 0, afternoon = 0, evening = 0, night = 0;
|
|
55
|
+
for (const s of sessions) {
|
|
56
|
+
if (!s.start_time)
|
|
57
|
+
continue;
|
|
58
|
+
const h = new Date(s.start_time).getHours();
|
|
59
|
+
if (h >= 5 && h < 12)
|
|
60
|
+
morning++;
|
|
61
|
+
else if (h >= 12 && h < 17)
|
|
62
|
+
afternoon++;
|
|
63
|
+
else if (h >= 17 && h < 21)
|
|
64
|
+
evening++;
|
|
65
|
+
else
|
|
66
|
+
night++;
|
|
67
|
+
}
|
|
68
|
+
const max = Math.max(morning, afternoon, evening, night);
|
|
69
|
+
if (max === night)
|
|
70
|
+
return 'night_owl';
|
|
71
|
+
if (max === morning)
|
|
72
|
+
return 'morning_coder';
|
|
73
|
+
if (max === evening)
|
|
74
|
+
return 'evening_developer';
|
|
75
|
+
if (max === afternoon)
|
|
76
|
+
return 'afternoon_person';
|
|
77
|
+
return 'irregular';
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return 'unknown';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function detectMemberCodeStyle(name, files) {
|
|
84
|
+
const tags = [];
|
|
85
|
+
try {
|
|
86
|
+
const db = (0, database_1.getDb)();
|
|
87
|
+
const styles = db.prepare(`SELECT pattern_key, pattern_value FROM style_profiles WHERE member_name = ?`).all(name);
|
|
88
|
+
for (const s of styles) {
|
|
89
|
+
if (s.pattern_key === 'change_size' && s.pattern_value === 'minimal')
|
|
90
|
+
tags.push('minimal_changes');
|
|
91
|
+
if (s.pattern_key === 'change_size' && s.pattern_value === 'thorough')
|
|
92
|
+
tags.push('refactor_heavy');
|
|
93
|
+
if (s.pattern_key === 'type_strictness' && s.pattern_value === 'strict')
|
|
94
|
+
tags.push('strict_type');
|
|
95
|
+
if (s.pattern_key === 'abstraction' && s.pattern_value === 'low')
|
|
96
|
+
tags.push('flat_structure');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch { }
|
|
100
|
+
if (files.length > 10)
|
|
101
|
+
tags.push('wide_toucher');
|
|
102
|
+
if (files.length <= 3)
|
|
103
|
+
tags.push('focused');
|
|
104
|
+
return tags;
|
|
105
|
+
}
|
|
106
|
+
function detectAiUsage(name) {
|
|
107
|
+
try {
|
|
108
|
+
const db = (0, database_1.getDb)();
|
|
109
|
+
const sessions = db.prepare(`SELECT tool_name FROM sessions WHERE key_decisions LIKE ? ORDER BY id DESC LIMIT 10`).all(`%${name}%`);
|
|
110
|
+
const tools = sessions.map((s) => s.tool_name).filter(Boolean);
|
|
111
|
+
if (tools.length === 0)
|
|
112
|
+
return 'unknown';
|
|
113
|
+
const unique = new Set(tools);
|
|
114
|
+
if (unique.size >= 3)
|
|
115
|
+
return 'multi_tool';
|
|
116
|
+
if (tools.filter((t) => t.includes('cursor')).length >= 5)
|
|
117
|
+
return 'cursor_main';
|
|
118
|
+
return 'single_tool';
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return 'unknown';
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function detectSessionPattern(name) {
|
|
125
|
+
try {
|
|
126
|
+
const db = (0, database_1.getDb)();
|
|
127
|
+
const sessions = db.prepare(`SELECT start_time, end_time FROM sessions ORDER BY id DESC LIMIT 10`).all();
|
|
128
|
+
if (sessions.length < 3)
|
|
129
|
+
return 'unknown';
|
|
130
|
+
let totalMinutes = 0;
|
|
131
|
+
let validSessions = 0;
|
|
132
|
+
for (const s of sessions) {
|
|
133
|
+
if (s.start_time && s.end_time) {
|
|
134
|
+
const dur = (new Date(s.end_time).getTime() - new Date(s.start_time).getTime()) / 60000;
|
|
135
|
+
if (dur > 0 && dur < 480) {
|
|
136
|
+
totalMinutes += dur;
|
|
137
|
+
validSessions++;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const avg = validSessions > 0 ? totalMinutes / validSessions : 0;
|
|
142
|
+
if (avg > 120)
|
|
143
|
+
return 'deep_work';
|
|
144
|
+
if (avg < 20)
|
|
145
|
+
return 'fragmented';
|
|
146
|
+
return 'normal';
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return 'unknown';
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function calculateCollaborationScore(name) {
|
|
153
|
+
try {
|
|
154
|
+
const db = (0, database_1.getDb)();
|
|
155
|
+
const sharedFiles = db.prepare(`SELECT COUNT(DISTINCT sf.file_path) as count FROM session_files sf
|
|
156
|
+
JOIN sessions s ON sf.session_id = s.id
|
|
157
|
+
WHERE sf.file_path IN (
|
|
158
|
+
SELECT DISTINCT sf2.file_path FROM session_files sf2
|
|
159
|
+
WHERE sf2.session_id != sf.session_id
|
|
160
|
+
)
|
|
161
|
+
AND s.id IN (SELECT id FROM sessions LIMIT 50)`).get();
|
|
162
|
+
const totalFiles = db.prepare(`SELECT COUNT(DISTINCT file_path) as count FROM session_files`).get();
|
|
163
|
+
if (!totalFiles?.count)
|
|
164
|
+
return 50;
|
|
165
|
+
const ratio = (sharedFiles?.count || 0) / totalFiles.count;
|
|
166
|
+
return Math.min(100, Math.round(ratio * 100 + 30));
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return 50;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function calculateBusFactorImpact(name, files) {
|
|
173
|
+
if (files.length === 0)
|
|
174
|
+
return 20;
|
|
175
|
+
// Higher = more critical if this person leaves
|
|
176
|
+
const uniqueFileScore = Math.min(80, files.length * 3);
|
|
177
|
+
return Math.min(100, uniqueFileScore + 10);
|
|
178
|
+
}
|
|
179
|
+
function inferExpertise(files) {
|
|
180
|
+
const areas = [];
|
|
181
|
+
const mapping = {
|
|
182
|
+
auth: 'Authentication', login: 'Authentication', jwt: 'Authentication', oauth: 'Authentication',
|
|
183
|
+
middleware: 'API Middleware', route: 'API Routing', api: 'API Design', controller: 'API Design',
|
|
184
|
+
test: 'Testing', spec: 'Testing', jest: 'Testing', vitest: 'Testing',
|
|
185
|
+
database: 'Database', db: 'Database', sql: 'Database', migration: 'Database',
|
|
186
|
+
component: 'Frontend', ui: 'Frontend', style: 'Frontend', css: 'Frontend', layout: 'Frontend',
|
|
187
|
+
config: 'Infrastructure', deploy: 'Infrastructure', ci: 'Infrastructure', docker: 'Infrastructure',
|
|
188
|
+
package: 'Dependencies', import: 'Dependencies',
|
|
189
|
+
};
|
|
190
|
+
for (const f of files) {
|
|
191
|
+
const lower = f.toLowerCase();
|
|
192
|
+
for (const [key, area] of Object.entries(mapping)) {
|
|
193
|
+
if (lower.includes(key) && !areas.includes(area))
|
|
194
|
+
areas.push(area);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return areas.length > 0 ? areas : ['General Development'];
|
|
198
|
+
}
|
|
199
|
+
function detectCrossMemberPatterns() {
|
|
200
|
+
const patterns = [];
|
|
201
|
+
try {
|
|
202
|
+
const db = (0, database_1.getDb)();
|
|
203
|
+
const blindspots = db.prepare(`SELECT file_path, category, COUNT(*) as count FROM code_patterns
|
|
204
|
+
WHERE category IN ('null_safety', 'error_handling', 'type_safety')
|
|
205
|
+
GROUP BY file_path, category
|
|
206
|
+
HAVING COUNT(*) >= 2
|
|
207
|
+
LIMIT 10`).all();
|
|
208
|
+
for (const b of blindspots) {
|
|
209
|
+
patterns.push({
|
|
210
|
+
pattern: `repeated_${b.category}`,
|
|
211
|
+
description: `File ${b.file_path} has ${b.count} ${b.category} issues — may be a weak area`,
|
|
212
|
+
affectedMembers: [],
|
|
213
|
+
severity: b.count >= 5 ? 'critical' : 'warning',
|
|
214
|
+
firstSeen: new Date().toISOString(),
|
|
215
|
+
recurrenceCount: b.count,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
catch { }
|
|
220
|
+
return patterns;
|
|
221
|
+
}
|
|
222
|
+
function buildKnowledgeMap(members) {
|
|
223
|
+
const areaMap = new Map();
|
|
224
|
+
for (const m of members) {
|
|
225
|
+
for (const area of m.expertiseAreas) {
|
|
226
|
+
const existing = areaMap.get(area) || { files: [], experts: [] };
|
|
227
|
+
existing.files = [...new Set([...existing.files, ...m.primaryFiles])];
|
|
228
|
+
if (!existing.experts.includes(m.name))
|
|
229
|
+
existing.experts.push(m.name);
|
|
230
|
+
areaMap.set(area, existing);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const map = [];
|
|
234
|
+
for (const [area, data] of areaMap) {
|
|
235
|
+
const confidence = Math.min(100, data.experts.length * 25 + data.files.length * 3);
|
|
236
|
+
const busFactor = data.experts.length;
|
|
237
|
+
map.push({
|
|
238
|
+
area,
|
|
239
|
+
files: data.files.slice(0, 5),
|
|
240
|
+
experts: data.experts,
|
|
241
|
+
confidence,
|
|
242
|
+
riskLevel: busFactor <= 1 ? 'critical' : busFactor <= 2 ? 'at_risk' : 'safe',
|
|
243
|
+
busFactor,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
return map.sort((a, b) => a.riskLevel === 'critical' ? -1 : 0);
|
|
247
|
+
}
|
|
248
|
+
function buildCollaborationHealth(members, knowledgeMap) {
|
|
249
|
+
const avgCollab = members.length > 0 ? Math.round(members.reduce((a, m) => a + m.collaborationScore, 0) / members.length) : 50;
|
|
250
|
+
const silos = knowledgeMap.filter(k => k.riskLevel === 'critical');
|
|
251
|
+
const spofs = silos.map(s => ({ area: s.area, person: s.experts[0] || 'unknown' }));
|
|
252
|
+
const strengths = [];
|
|
253
|
+
if (avgCollab >= 65)
|
|
254
|
+
strengths.push('Strong cross-team collaboration');
|
|
255
|
+
if (silos.length <= 1)
|
|
256
|
+
strengths.push('Good knowledge distribution');
|
|
257
|
+
if (members.length >= 3)
|
|
258
|
+
strengths.push('Healthy team size');
|
|
259
|
+
const risks = [];
|
|
260
|
+
if (silos.length >= 3)
|
|
261
|
+
risks.push(`${silos.length} knowledge silos — bus factor critical`);
|
|
262
|
+
for (const sp of spofs)
|
|
263
|
+
risks.push(`${sp.person} is single point of failure for ${sp.area}`);
|
|
264
|
+
if (avgCollab < 40)
|
|
265
|
+
risks.push('Low collaboration — members working in isolation');
|
|
266
|
+
return {
|
|
267
|
+
overallScore: Math.round((avgCollab * 0.4 + (100 - silos.length * 15) * 0.4 + Math.min(100, members.length * 10) * 0.2)),
|
|
268
|
+
pairFrequency: 0,
|
|
269
|
+
reviewSpeed: 'medium',
|
|
270
|
+
knowledgeSpread: Math.round(100 - silos.length * 20),
|
|
271
|
+
siloCount: silos.length,
|
|
272
|
+
singlePointsOfFailure: spofs,
|
|
273
|
+
strengths: strengths.length > 0 ? strengths : ['Team health still being analyzed'],
|
|
274
|
+
risks: risks.length > 0 ? risks : ['No critical risks detected'],
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
function buildTeamVibe(members, collaborationHealth) {
|
|
278
|
+
const allTags = members.flatMap(m => m.codeStyleTags);
|
|
279
|
+
const tagCounts = new Map();
|
|
280
|
+
for (const t of allTags)
|
|
281
|
+
tagCounts.set(t, (tagCounts.get(t) || 0) + 1);
|
|
282
|
+
const rhythms = members.map(m => m.commitRhythm).filter(r => r !== 'unknown');
|
|
283
|
+
const nightCount = rhythms.filter(r => r === 'night_owl').length;
|
|
284
|
+
const morningCount = rhythms.filter(r => r === 'morning_coder').length;
|
|
285
|
+
const summaryParts = [];
|
|
286
|
+
if (tagCounts.get('minimal_changes') && tagCounts.get('minimal_changes') > members.length * 0.5) {
|
|
287
|
+
summaryParts.push('team prefers minimal, focused changes');
|
|
288
|
+
}
|
|
289
|
+
if (nightCount > members.length * 0.5) {
|
|
290
|
+
summaryParts.push('mostly night owls');
|
|
291
|
+
}
|
|
292
|
+
if (collaborationHealth.overallScore >= 60) {
|
|
293
|
+
summaryParts.push('collaborates well');
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
dominantWorkflow: tagCounts.get('minimal_changes') ? 'minimal_changes' : 'balanced',
|
|
297
|
+
dominantCommunication: 'varies_per_member',
|
|
298
|
+
collectiveRiskTolerance: collaborationHealth.siloCount <= 1 ? 'high' : 'low',
|
|
299
|
+
decisionStyle: 'varies_by_member',
|
|
300
|
+
strengths: collaborationHealth.strengths,
|
|
301
|
+
watchOut: collaborationHealth.risks,
|
|
302
|
+
summary: summaryParts.length > 0 ? summaryParts.join(', ') + '.' : 'Team style still emerging.',
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
function buildTeamSupremeContext() {
|
|
306
|
+
const members = getAllMembers();
|
|
307
|
+
const crossMemberPatterns = detectCrossMemberPatterns();
|
|
308
|
+
const knowledgeMap = buildKnowledgeMap(members);
|
|
309
|
+
const collaborationHealth = buildCollaborationHealth(members, knowledgeMap);
|
|
310
|
+
const handoffQuality = [];
|
|
311
|
+
const teamVibe = buildTeamVibe(members, collaborationHealth);
|
|
312
|
+
return {
|
|
313
|
+
members,
|
|
314
|
+
crossMemberPatterns,
|
|
315
|
+
knowledgeMap,
|
|
316
|
+
collaborationHealth,
|
|
317
|
+
handoffQuality,
|
|
318
|
+
teamVibe,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
function formatTeamContext(ctx) {
|
|
322
|
+
const lines = [];
|
|
323
|
+
if (ctx.members.length === 0) {
|
|
324
|
+
lines.push('👥 TEAM');
|
|
325
|
+
lines.push(' No team members detected.');
|
|
326
|
+
return lines.join('\n');
|
|
327
|
+
}
|
|
328
|
+
lines.push('👥 TEAM');
|
|
329
|
+
// Team Vibe summary
|
|
330
|
+
if (ctx.teamVibe.summary && ctx.teamVibe.summary !== 'Team style still emerging.') {
|
|
331
|
+
lines.push(` Vibe: ${ctx.teamVibe.summary}`);
|
|
332
|
+
}
|
|
333
|
+
// Members
|
|
334
|
+
lines.push(` Members: ${ctx.members.map(m => m.name).join(', ')}`);
|
|
335
|
+
// Bus factor & health
|
|
336
|
+
if (ctx.collaborationHealth.singlePointsOfFailure.length > 0) {
|
|
337
|
+
lines.push(` ⚠️ Bus factor: ${ctx.collaborationHealth.singlePointsOfFailure.length} single points of failure`);
|
|
338
|
+
for (const sp of ctx.collaborationHealth.singlePointsOfFailure.slice(0, 3)) {
|
|
339
|
+
lines.push(` → ${sp.person} is the only one who knows ${sp.area}`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Knowledge map critical
|
|
343
|
+
const critical = ctx.knowledgeMap.filter(k => k.riskLevel === 'critical');
|
|
344
|
+
if (critical.length > 0) {
|
|
345
|
+
lines.push(` Knowledge gaps: ${critical.map(k => k.area).join(', ')}`);
|
|
346
|
+
}
|
|
347
|
+
// Cross-member patterns
|
|
348
|
+
if (ctx.crossMemberPatterns.length > 0) {
|
|
349
|
+
const crit = ctx.crossMemberPatterns.filter(p => p.severity === 'critical');
|
|
350
|
+
if (crit.length > 0) {
|
|
351
|
+
lines.push(` Team patterns: ${crit[0].description.substring(0, 80)}`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
lines.push(` Health score: ${ctx.collaborationHealth.overallScore}/100`);
|
|
355
|
+
return lines.join('\n');
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=team-supreme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-supreme.js","sourceRoot":"","sources":["../../../../src/walls/04-team/collab/team-supreme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export interface CloudConfig {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
deviceId: string;
|
|
4
|
+
email: string;
|
|
5
|
+
lastSync: string;
|
|
6
|
+
syncEnabled: boolean;
|
|
7
|
+
cloudUrl: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CloudStatus {
|
|
10
|
+
connected: boolean;
|
|
11
|
+
email: string;
|
|
12
|
+
deviceId: string;
|
|
13
|
+
lastSync: string;
|
|
14
|
+
pendingUpload: number;
|
|
15
|
+
pendingDownload: number;
|
|
16
|
+
serverHealthy: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface IntelligenceBundle {
|
|
19
|
+
version: number;
|
|
20
|
+
deviceId: string;
|
|
21
|
+
compressedAt: string;
|
|
22
|
+
profile: Record<string, unknown>;
|
|
23
|
+
vibe: Record<string, number>;
|
|
24
|
+
memorySummary: Array<{
|
|
25
|
+
type: string;
|
|
26
|
+
topic: string;
|
|
27
|
+
summary: string;
|
|
28
|
+
importance: number;
|
|
29
|
+
}>;
|
|
30
|
+
projectSummary: {
|
|
31
|
+
name: string;
|
|
32
|
+
status: string;
|
|
33
|
+
fileCount: number;
|
|
34
|
+
recentDecisions: string[];
|
|
35
|
+
};
|
|
36
|
+
anonymousSignals: Array<{
|
|
37
|
+
category: string;
|
|
38
|
+
signal: string;
|
|
39
|
+
confidence: number;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export interface CommunityPack {
|
|
43
|
+
id: string;
|
|
44
|
+
title: string;
|
|
45
|
+
category: string;
|
|
46
|
+
description: string;
|
|
47
|
+
authorScore: number;
|
|
48
|
+
trustScore: number;
|
|
49
|
+
downloadCount: number;
|
|
50
|
+
signals: Record<string, number>;
|
|
51
|
+
rules: Array<{
|
|
52
|
+
text: string;
|
|
53
|
+
confidence: number;
|
|
54
|
+
}>;
|
|
55
|
+
version: number;
|
|
56
|
+
}
|
|
57
|
+
export declare function loadConfig(): CloudConfig | null;
|
|
58
|
+
export declare function saveConfig(config: CloudConfig): void;
|
|
59
|
+
export declare function deleteConfig(): void;
|
|
60
|
+
export declare function getDeviceId(): string;
|
|
61
|
+
export declare function cloudLogin(email: string, password: string, cloudUrl?: string): Promise<CloudConfig>;
|
|
62
|
+
export declare function cloudVerify(config: CloudConfig): Promise<boolean>;
|
|
63
|
+
export declare function buildIntelligenceBundle(config: CloudConfig): {
|
|
64
|
+
bundle: IntelligenceBundle;
|
|
65
|
+
warnings: string[];
|
|
66
|
+
};
|
|
67
|
+
export declare function compressBundle(bundle: IntelligenceBundle): {
|
|
68
|
+
compressed: string;
|
|
69
|
+
checksum: string;
|
|
70
|
+
};
|
|
71
|
+
export declare function cloudPush(config: CloudConfig): Promise<{
|
|
72
|
+
pushed: boolean;
|
|
73
|
+
warnings: string[];
|
|
74
|
+
}>;
|
|
75
|
+
export declare function cloudPull(config: CloudConfig): Promise<{
|
|
76
|
+
packs: CommunityPack[];
|
|
77
|
+
count: number;
|
|
78
|
+
}>;
|
|
79
|
+
export declare function cloudStatus(config: CloudConfig): Promise<CloudStatus>;
|
|
80
|
+
export declare function getLocalPacks(): CommunityPack[];
|
|
81
|
+
export declare function getPackById(id: string): CommunityPack | null;
|
|
82
|
+
export declare function cloudHealthCheck(config: CloudConfig): Promise<boolean>;
|
|
83
|
+
//# sourceMappingURL=cloud-connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-connector.d.ts","sourceRoot":"","sources":["../../../../src/walls/05-community/share/cloud-connector.ts"],"names":[],"mappings":"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"}
|