fivocell 7.0.0 → 7.1.1

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 (75) hide show
  1. package/README.md +120 -237
  2. package/dist/__tests__/cli-regression.test.js +2 -2
  3. package/dist/__tests__/cli-regression.test.js.map +1 -1
  4. package/dist/walls/01-context/context/agents-md.d.ts +1 -1
  5. package/dist/walls/01-context/context/agents-md.d.ts.map +1 -1
  6. package/dist/walls/01-context/context/agents-md.js +33 -1
  7. package/dist/walls/01-context/context/agents-md.js.map +1 -1
  8. package/dist/walls/01-context/context/context-bridge.d.ts +39 -0
  9. package/dist/walls/01-context/context/context-bridge.d.ts.map +1 -0
  10. package/dist/walls/01-context/context/context-bridge.js +224 -0
  11. package/dist/walls/01-context/context/context-bridge.js.map +1 -0
  12. package/dist/walls/01-context/context/context-continuity.d.ts +54 -0
  13. package/dist/walls/01-context/context/context-continuity.d.ts.map +1 -0
  14. package/dist/walls/01-context/context/context-continuity.js +350 -0
  15. package/dist/walls/01-context/context/context-continuity.js.map +1 -0
  16. package/dist/walls/01-context/context/context-predictor.d.ts +24 -0
  17. package/dist/walls/01-context/context/context-predictor.d.ts.map +1 -0
  18. package/dist/walls/01-context/context/context-predictor.js +322 -0
  19. package/dist/walls/01-context/context/context-predictor.js.map +1 -0
  20. package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
  21. package/dist/walls/01-context/context/prompt-builder.js +53 -0
  22. package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
  23. package/dist/walls/01-context/sessions/session-memory.d.ts.map +1 -1
  24. package/dist/walls/01-context/sessions/session-memory.js +47 -1
  25. package/dist/walls/01-context/sessions/session-memory.js.map +1 -1
  26. package/dist/walls/04-team/collab/team-supreme.d.ts +70 -0
  27. package/dist/walls/04-team/collab/team-supreme.d.ts.map +1 -0
  28. package/dist/walls/04-team/collab/team-supreme.js +357 -0
  29. package/dist/walls/04-team/collab/team-supreme.js.map +1 -0
  30. package/dist/walls/05-community/share/cloud-connector.d.ts +83 -0
  31. package/dist/walls/05-community/share/cloud-connector.d.ts.map +1 -0
  32. package/dist/walls/05-community/share/cloud-connector.js +385 -0
  33. package/dist/walls/05-community/share/cloud-connector.js.map +1 -0
  34. package/dist/walls/05-community/stats/community-supreme.d.ts +83 -0
  35. package/dist/walls/05-community/stats/community-supreme.d.ts.map +1 -0
  36. package/dist/walls/05-community/stats/community-supreme.js +221 -0
  37. package/dist/walls/05-community/stats/community-supreme.js.map +1 -0
  38. package/dist/walls/06-memory/vibe/vibe-confidence.js +6 -6
  39. package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -1
  40. package/dist/walls/06-memory/vibe/vibe-engine.d.ts +7 -0
  41. package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -1
  42. package/dist/walls/06-memory/vibe/vibe-engine.js +323 -240
  43. package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -1
  44. package/dist/walls/06-memory/vibe/vibe-intelligence.d.ts +19 -0
  45. package/dist/walls/06-memory/vibe/vibe-intelligence.d.ts.map +1 -0
  46. package/dist/walls/06-memory/vibe/vibe-intelligence.js +264 -0
  47. package/dist/walls/06-memory/vibe/vibe-intelligence.js.map +1 -0
  48. package/dist/walls/06-memory/vibe/vibe-signals.d.ts +3 -0
  49. package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -1
  50. package/dist/walls/06-memory/vibe/vibe-signals.js +122 -9
  51. package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -1
  52. package/dist/walls/07-runtime/cli/cli.js +8 -0
  53. package/dist/walls/07-runtime/cli/cli.js.map +1 -1
  54. package/dist/walls/07-runtime/cli/commands/cloud.d.ts +3 -0
  55. package/dist/walls/07-runtime/cli/commands/cloud.d.ts.map +1 -0
  56. package/dist/walls/07-runtime/cli/commands/cloud.js +219 -0
  57. package/dist/walls/07-runtime/cli/commands/cloud.js.map +1 -0
  58. package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -1
  59. package/dist/walls/07-runtime/cli/commands/community.js +6 -0
  60. package/dist/walls/07-runtime/cli/commands/community.js.map +1 -1
  61. package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -1
  62. package/dist/walls/07-runtime/cli/commands/help.js +85 -75
  63. package/dist/walls/07-runtime/cli/commands/help.js.map +1 -1
  64. package/dist/walls/07-runtime/cli/commands/setup.d.ts.map +1 -1
  65. package/dist/walls/07-runtime/cli/commands/setup.js +20 -4
  66. package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -1
  67. package/dist/walls/07-runtime/cli/utils.js +2 -2
  68. package/dist/walls/07-runtime/daemon/lifecycle.d.ts.map +1 -1
  69. package/dist/walls/07-runtime/daemon/lifecycle.js +13 -1
  70. package/dist/walls/07-runtime/daemon/lifecycle.js.map +1 -1
  71. package/dist/walls/07-runtime/setup/setup.d.ts +1 -0
  72. package/dist/walls/07-runtime/setup/setup.d.ts.map +1 -1
  73. package/dist/walls/07-runtime/setup/setup.js +2 -1
  74. package/dist/walls/07-runtime/setup/setup.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,385 @@
1
+ "use strict";
2
+ // cloud-connector.ts — Secure Cloud Bridge for Cell OSS
3
+ // Handles: auth, push/pull sync, community packs, privacy validation
4
+ // Additive layer — reads from existing DB & files, writes config only.
5
+ // Zero core modification. Cloud is optional — everything works without it.
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.loadConfig = loadConfig;
41
+ exports.saveConfig = saveConfig;
42
+ exports.deleteConfig = deleteConfig;
43
+ exports.getDeviceId = getDeviceId;
44
+ exports.cloudLogin = cloudLogin;
45
+ exports.cloudVerify = cloudVerify;
46
+ exports.buildIntelligenceBundle = buildIntelligenceBundle;
47
+ exports.compressBundle = compressBundle;
48
+ exports.cloudPush = cloudPush;
49
+ exports.cloudPull = cloudPull;
50
+ exports.cloudStatus = cloudStatus;
51
+ exports.getLocalPacks = getLocalPacks;
52
+ exports.getPackById = getPackById;
53
+ exports.cloudHealthCheck = cloudHealthCheck;
54
+ const crypto = __importStar(require("crypto"));
55
+ const fs = __importStar(require("fs"));
56
+ const path = __importStar(require("path"));
57
+ const os = __importStar(require("os"));
58
+ const database_1 = require("../../06-memory/database/database");
59
+ // ─── Config Management ──────────────────────────────────────────────────────
60
+ const CONFIG_PATH = path.join(os.homedir(), '.fivo', 'cell-cloud.json');
61
+ const COMMUNITY_PACKS_DIR = path.join(process.cwd(), '.cell', 'community', 'packs');
62
+ function ensureDir(p) {
63
+ if (!fs.existsSync(p))
64
+ fs.mkdirSync(p, { recursive: true });
65
+ }
66
+ function loadConfig() {
67
+ try {
68
+ if (!fs.existsSync(CONFIG_PATH))
69
+ return null;
70
+ const raw = fs.readFileSync(CONFIG_PATH, 'utf-8');
71
+ return JSON.parse(raw);
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
77
+ function saveConfig(config) {
78
+ ensureDir(path.dirname(CONFIG_PATH));
79
+ fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');
80
+ // Set restrictive permissions (Windows ignored, Unix respected)
81
+ try {
82
+ fs.chmodSync(CONFIG_PATH, 0o600);
83
+ }
84
+ catch { }
85
+ }
86
+ function deleteConfig() {
87
+ if (fs.existsSync(CONFIG_PATH))
88
+ fs.unlinkSync(CONFIG_PATH);
89
+ }
90
+ function getDeviceId() {
91
+ try {
92
+ return crypto.createHash('sha256')
93
+ .update(os.hostname() + os.userInfo().username)
94
+ .digest('hex').substring(0, 12);
95
+ }
96
+ catch {
97
+ return crypto.randomBytes(6).toString('hex');
98
+ }
99
+ }
100
+ // ─── HTTP Client ────────────────────────────────────────────────────────────
101
+ function apiUrl(config, endpoint) {
102
+ const base = (config.cloudUrl || 'https://cell.fivo.live').replace(/\/$/, '');
103
+ return `${base}${endpoint}`;
104
+ }
105
+ async function cloudPost(config, endpoint, body) {
106
+ const url = apiUrl(config, endpoint);
107
+ const data = JSON.stringify(body);
108
+ const response = await fetch(url, {
109
+ method: 'POST',
110
+ headers: {
111
+ 'Authorization': `Bearer ${config.apiKey}`,
112
+ 'Content-Type': 'application/json',
113
+ 'X-Device-Id': config.deviceId,
114
+ },
115
+ body: data,
116
+ signal: AbortSignal.timeout(15000),
117
+ });
118
+ if (!response.ok) {
119
+ const text = await response.text();
120
+ throw new Error(`Cloud API error ${response.status}: ${text.substring(0, 100)}`);
121
+ }
122
+ return response.json();
123
+ }
124
+ async function cloudGet(config, endpoint) {
125
+ const url = apiUrl(config, endpoint);
126
+ const response = await fetch(url, {
127
+ method: 'GET',
128
+ headers: {
129
+ 'Authorization': `Bearer ${config.apiKey}`,
130
+ 'X-Device-Id': config.deviceId,
131
+ },
132
+ signal: AbortSignal.timeout(15000),
133
+ });
134
+ if (!response.ok) {
135
+ const text = await response.text();
136
+ throw new Error(`Cloud API error ${response.status}: ${text.substring(0, 100)}`);
137
+ }
138
+ return response.json();
139
+ }
140
+ // ─── Auth ───────────────────────────────────────────────────────────────────
141
+ async function cloudLogin(email, password, cloudUrl) {
142
+ const deviceId = getDeviceId();
143
+ const base = (cloudUrl || 'https://cell.fivo.live').replace(/\/$/, '');
144
+ const url = `${base}/auth/login`;
145
+ const response = await fetch(url, {
146
+ method: 'POST',
147
+ headers: { 'Content-Type': 'application/json' },
148
+ body: JSON.stringify({ email, password, deviceId }),
149
+ signal: AbortSignal.timeout(15000),
150
+ });
151
+ if (!response.ok) {
152
+ const text = await response.text();
153
+ throw new Error(`Login failed: ${response.status} — ${text.substring(0, 100)}`);
154
+ }
155
+ const result = await response.json();
156
+ const apiKey = result.apiKey || result.api_key;
157
+ if (!apiKey)
158
+ throw new Error('No API key in response');
159
+ const config = {
160
+ apiKey,
161
+ deviceId,
162
+ email,
163
+ lastSync: '',
164
+ syncEnabled: true,
165
+ cloudUrl: base,
166
+ };
167
+ saveConfig(config);
168
+ return config;
169
+ }
170
+ async function cloudVerify(config) {
171
+ try {
172
+ const result = await cloudPost(config, '/auth/verify', { deviceId: config.deviceId });
173
+ return result.valid === true || result.status === 'active';
174
+ }
175
+ catch {
176
+ return false;
177
+ }
178
+ }
179
+ // ─── Privacy Validation ─────────────────────────────────────────────────────
180
+ const FORBIDDEN_PATTERNS = [
181
+ /['"]password['"]\s*[:=]/i,
182
+ /['"](?:sk-|fv_)?[A-Za-z0-9+/]{30,}['"]/,
183
+ /-----BEGIN (?:RSA |EC )?PRIVATE KEY-----/,
184
+ /mongodb\+srv:\/\/[^/\s]+/,
185
+ /postgres:\/\/[^:@]+:[^@]+@/,
186
+ /DATABASE_URL\s*=\s*['"][^'"]+['"]/i,
187
+ /API[_-]?KEY\s*=\s*['"][A-Za-z0-9]{20,}['"]/i,
188
+ ];
189
+ function validatePrivacy(data) {
190
+ const issues = [];
191
+ for (const pattern of FORBIDDEN_PATTERNS) {
192
+ if (pattern.test(data)) {
193
+ issues.push(`Forbidden pattern detected: ${pattern.source.substring(0, 40)}`);
194
+ }
195
+ }
196
+ return { valid: issues.length === 0, issues };
197
+ }
198
+ // ─── Intelligence Builder ───────────────────────────────────────────────────
199
+ function buildIntelligenceBundle(config) {
200
+ const db = (0, database_1.getDb)();
201
+ const warnings = [];
202
+ // Profile
203
+ let profile = {};
204
+ try {
205
+ const rows = db.prepare('SELECT * FROM developer_profile ORDER BY updated_at DESC LIMIT 1').all();
206
+ if (rows.length > 0) {
207
+ profile = {
208
+ sections: rows.map((r) => ({ key: r.section_key || r.key, value: r.raw_text || r.value, scanned_at: r.scanned_at })),
209
+ };
210
+ }
211
+ }
212
+ catch { }
213
+ // Vibe signals (numbers only, no raw text)
214
+ let vibe = {};
215
+ try {
216
+ const vibePath = path.join(process.cwd(), '.cell', 'vibe', 'signals.json');
217
+ if (fs.existsSync(vibePath)) {
218
+ const raw = JSON.parse(fs.readFileSync(vibePath, 'utf-8'));
219
+ if (raw.signals && Array.isArray(raw.signals)) {
220
+ for (const s of raw.signals) {
221
+ if (s.vibe >= 60)
222
+ vibe[s.id] = s.vibe;
223
+ }
224
+ }
225
+ }
226
+ }
227
+ catch { }
228
+ // Memory summary (top events only, importance >= 7, no details)
229
+ let memorySummary = [];
230
+ try {
231
+ const events = db.prepare(`SELECT type, topic, summary, importance FROM memory_events
232
+ WHERE importance >= 7 AND project IS NOT NULL
233
+ ORDER BY importance DESC, created_at DESC LIMIT 20`).all();
234
+ memorySummary = events.map((e) => ({
235
+ type: e.type,
236
+ topic: e.topic || '',
237
+ summary: e.summary || '',
238
+ importance: e.importance || 7,
239
+ }));
240
+ }
241
+ catch { }
242
+ // Project summary
243
+ let projectSummary = { name: 'unknown', status: 'active', fileCount: 0, recentDecisions: [] };
244
+ try {
245
+ const projects = db.prepare('SELECT name, file_count, status FROM projects LIMIT 1').all();
246
+ if (projects.length > 0) {
247
+ const p = projects[0];
248
+ const decisions = db.prepare('SELECT technology, reason FROM decisions ORDER BY created_at DESC LIMIT 5').all();
249
+ projectSummary = {
250
+ name: p.name || 'unknown',
251
+ status: p.status || 'active',
252
+ fileCount: p.file_count || 0,
253
+ recentDecisions: decisions.map((d) => `${d.technology}: ${(d.reason || '').substring(0, 60)}`),
254
+ };
255
+ }
256
+ }
257
+ catch { }
258
+ // Anonymous signals (no identity data)
259
+ let anonymousSignals = [];
260
+ try {
261
+ const vibePath = path.join(process.cwd(), '.cell', 'vibe', 'signals.json');
262
+ if (fs.existsSync(vibePath)) {
263
+ const raw = JSON.parse(fs.readFileSync(vibePath, 'utf-8'));
264
+ if (raw.signals && Array.isArray(raw.signals)) {
265
+ anonymousSignals = raw.signals
266
+ .filter((s) => s.vibe >= 60 && s.count >= 2)
267
+ .map((s) => ({ category: s.group || 'unknown', signal: s.id, confidence: s.vibe }));
268
+ }
269
+ }
270
+ }
271
+ catch { }
272
+ // Privacy check
273
+ const bundleStr = JSON.stringify({ profile, vibe, memorySummary, projectSummary, anonymousSignals });
274
+ const privacyCheck = validatePrivacy(bundleStr);
275
+ if (!privacyCheck.valid) {
276
+ warnings.push(...privacyCheck.issues);
277
+ }
278
+ const bundle = {
279
+ version: 1,
280
+ deviceId: config.deviceId,
281
+ compressedAt: new Date().toISOString(),
282
+ profile,
283
+ vibe,
284
+ memorySummary,
285
+ projectSummary,
286
+ anonymousSignals,
287
+ };
288
+ return { bundle, warnings };
289
+ }
290
+ function compressBundle(bundle) {
291
+ const json = JSON.stringify(bundle);
292
+ const compressed = Buffer.from(json).toString('base64');
293
+ const checksum = crypto.createHash('sha256').update(json).digest('hex').substring(0, 16);
294
+ return { compressed, checksum };
295
+ }
296
+ // ─── Sync Operations ────────────────────────────────────────────────────────
297
+ async function cloudPush(config) {
298
+ const { bundle, warnings } = buildIntelligenceBundle(config);
299
+ const { compressed, checksum } = compressBundle(bundle);
300
+ if (warnings.length > 0 && warnings.some(w => w.includes('Forbidden'))) {
301
+ return { pushed: false, warnings };
302
+ }
303
+ await cloudPost(config, '/sync/push', {
304
+ deviceId: config.deviceId,
305
+ bundle: compressed,
306
+ checksum,
307
+ signalCount: bundle.anonymousSignals.length,
308
+ compressedAt: bundle.compressedAt,
309
+ });
310
+ // Update last sync
311
+ config.lastSync = new Date().toISOString();
312
+ saveConfig(config);
313
+ return { pushed: true, warnings };
314
+ }
315
+ async function cloudPull(config) {
316
+ const result = await cloudGet(config, '/community/packs');
317
+ const rawPacks = (result.packs || result.data || []);
318
+ const packs = rawPacks.map((p) => ({
319
+ id: p.id || p.pack_id || crypto.randomUUID(),
320
+ title: p.title || p.name || 'Unnamed Pack',
321
+ category: p.category || 'general',
322
+ description: p.description || '',
323
+ authorScore: p.author_score || p.authorScore || 50,
324
+ trustScore: p.trust_score || p.trustScore || 50,
325
+ downloadCount: p.download_count || p.downloadCount || 0,
326
+ signals: p.signals || {},
327
+ rules: p.rules || [],
328
+ version: p.version || 1,
329
+ }));
330
+ // Save to local community directory
331
+ ensureDir(COMMUNITY_PACKS_DIR);
332
+ for (const pack of packs) {
333
+ const packFile = path.join(COMMUNITY_PACKS_DIR, `${pack.id}.json`);
334
+ fs.writeFileSync(packFile, JSON.stringify(pack, null, 2), 'utf-8');
335
+ }
336
+ // Update last sync
337
+ config.lastSync = new Date().toISOString();
338
+ saveConfig(config);
339
+ return { packs, count: packs.length };
340
+ }
341
+ async function cloudStatus(config) {
342
+ const isValid = await cloudVerify(config);
343
+ return {
344
+ connected: isValid,
345
+ email: config.email,
346
+ deviceId: config.deviceId,
347
+ lastSync: config.lastSync || 'never',
348
+ pendingUpload: 0,
349
+ pendingDownload: 0,
350
+ serverHealthy: isValid,
351
+ };
352
+ }
353
+ // ─── Community Pack Management ──────────────────────────────────────────────
354
+ function getLocalPacks() {
355
+ if (!fs.existsSync(COMMUNITY_PACKS_DIR))
356
+ return [];
357
+ return fs.readdirSync(COMMUNITY_PACKS_DIR)
358
+ .filter(f => f.endsWith('.json'))
359
+ .map(f => {
360
+ try {
361
+ return JSON.parse(fs.readFileSync(path.join(COMMUNITY_PACKS_DIR, f), 'utf-8'));
362
+ }
363
+ catch {
364
+ return null;
365
+ }
366
+ })
367
+ .filter(Boolean);
368
+ }
369
+ function getPackById(id) {
370
+ const packFile = path.join(COMMUNITY_PACKS_DIR, `${id}.json`);
371
+ if (!fs.existsSync(packFile))
372
+ return null;
373
+ return JSON.parse(fs.readFileSync(packFile, 'utf-8'));
374
+ }
375
+ // ─── Health ─────────────────────────────────────────────────────────────────
376
+ async function cloudHealthCheck(config) {
377
+ try {
378
+ const result = await cloudGet(config, '/health');
379
+ return result.status === 'ok' || result.healthy === true;
380
+ }
381
+ catch {
382
+ return false;
383
+ }
384
+ }
385
+ //# sourceMappingURL=cloud-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-connector.js","sourceRoot":"","sources":["../../../../src/walls/05-community/share/cloud-connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ export interface SharedPattern {
2
+ id: string;
3
+ title: string;
4
+ category: string;
5
+ description: string;
6
+ language: string;
7
+ framework: string;
8
+ qualityScore: number;
9
+ usefulnessScore: number;
10
+ adoptionCount: number;
11
+ upvotes: number;
12
+ downvotes: number;
13
+ sharedBy: string;
14
+ sharedAt: string;
15
+ tags: string[];
16
+ }
17
+ export interface ReputationScore {
18
+ contributorId: string;
19
+ totalPatterns: number;
20
+ averageQuality: number;
21
+ totalUpvotes: number;
22
+ totalDownvotes: number;
23
+ trustLevel: 'emerging' | 'established' | 'expert';
24
+ badges: string[];
25
+ score: number;
26
+ }
27
+ export interface CommunityTrend {
28
+ topic: string;
29
+ category: string;
30
+ growthRate: string;
31
+ patternCount: number;
32
+ recentAdoptions: number;
33
+ firstSeenWeeksAgo: number;
34
+ description: string;
35
+ }
36
+ export interface SmartRecommendation {
37
+ forPattern: string;
38
+ suggestedPattern: string;
39
+ category: string;
40
+ confidence: number;
41
+ reason: string;
42
+ adoptionRate: string;
43
+ }
44
+ export interface Playbook {
45
+ title: string;
46
+ category: string;
47
+ generatedFor: string;
48
+ generateAt: string;
49
+ sections: PlaybookSection[];
50
+ summary: string;
51
+ }
52
+ export interface PlaybookSection {
53
+ heading: string;
54
+ content: string;
55
+ patterns: string[];
56
+ tips: string[];
57
+ }
58
+ export interface PrivacyEnvelope {
59
+ canShare: boolean;
60
+ risks: string[];
61
+ sensitiveDataDetected: string[];
62
+ anonymizationApplied: boolean;
63
+ consentRequired: boolean;
64
+ safeToShareFields: string[];
65
+ }
66
+ export interface CommunitySupremeContext {
67
+ trendingPatterns: CommunityTrend[];
68
+ recommendedPatterns: SmartRecommendation[];
69
+ topSharedPatterns: SharedPattern[];
70
+ playbook: Playbook | null;
71
+ privacyCheck: PrivacyEnvelope;
72
+ communityHealth: CommunityHealth;
73
+ }
74
+ export interface CommunityHealth {
75
+ totalPatterns: number;
76
+ activeContributors: number;
77
+ averageQuality: number;
78
+ trendingCategories: string[];
79
+ growth: string;
80
+ }
81
+ export declare function buildCommunitySupremeContext(): CommunitySupremeContext;
82
+ export declare function formatCommunityContext(ctx: CommunitySupremeContext): string;
83
+ //# sourceMappingURL=community-supreme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"community-supreme.d.ts","sourceRoot":"","sources":["../../../../src/walls/05-community/stats/community-supreme.ts"],"names":[],"mappings":"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"}