fivocell 6.2.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +229 -120
- package/dist/__tests__/cell-mirror.test.js +2 -2
- package/dist/__tests__/cell-mirror.test.js.map +1 -1
- 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/core/search-engine.d.ts.map +1 -1
- package/dist/core/search-engine.js +8 -11
- package/dist/core/search-engine.js.map +1 -1
- 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 +15 -1
- package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
- package/dist/walls/02-scanner/blindspots/code-scanner.d.ts +11 -0
- package/dist/walls/02-scanner/blindspots/code-scanner.d.ts.map +1 -1
- package/dist/walls/02-scanner/blindspots/code-scanner.js +63 -0
- package/dist/walls/02-scanner/blindspots/code-scanner.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts +14 -0
- package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/branch-snapshot.js +88 -21
- package/dist/walls/03-knowledge/decisions/branch-snapshot.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/failure-memory.d.ts +15 -0
- package/dist/walls/03-knowledge/decisions/failure-memory.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/failure-memory.js +141 -54
- package/dist/walls/03-knowledge/decisions/failure-memory.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts +8 -0
- package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/predictive-engine.js +41 -0
- package/dist/walls/03-knowledge/decisions/predictive-engine.js.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.js +1 -3
- 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 +38 -48
- package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts +2 -0
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts.map +1 -1
- package/dist/walls/06-memory/mirror/cell-mirror.js +76 -35
- package/dist/walls/06-memory/mirror/cell-mirror.js.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.d.ts +29 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.js +79 -0
- package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts +2 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.js +81 -13
- package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
- package/dist/walls/06-memory/stores/memory-search.d.ts +9 -0
- package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/memory-search.js +62 -13
- package/dist/walls/06-memory/stores/memory-search.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/stores/weekly-report.d.ts +5 -0
- package/dist/walls/06-memory/stores/weekly-report.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/weekly-report.js +24 -2
- package/dist/walls/06-memory/stores/weekly-report.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 +38 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js +587 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js +138 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
- package/dist/walls/07-runtime/cli/cli.js +116 -4677
- package/dist/walls/07-runtime/cli/cli.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/branch.d.ts +7 -0
- package/dist/walls/07-runtime/cli/commands/branch.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/branch.js +169 -0
- package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/ci.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/ci.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/ci.js +57 -0
- package/dist/walls/07-runtime/cli/commands/ci.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/community.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/community.js +64 -0
- package/dist/walls/07-runtime/cli/commands/community.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.js +45 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/help.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/help.js +91 -0
- package/dist/walls/07-runtime/cli/commands/help.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/memory.d.ts +5 -0
- package/dist/walls/07-runtime/cli/commands/memory.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/memory.js +252 -0
- package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/repl.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/repl.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/repl.js +63 -0
- package/dist/walls/07-runtime/cli/commands/repl.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/scan.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/scan.js +263 -0
- package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/session.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/session.js +80 -0
- package/dist/walls/07-runtime/cli/commands/session.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/setup.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/setup.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/setup.js +216 -0
- package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/status.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/status.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/status.js +352 -0
- package/dist/walls/07-runtime/cli/commands/status.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/sync.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/sync.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/sync.js +116 -0
- package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -0
- 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/commands/team.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/team.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/team.js +58 -0
- package/dist/walls/07-runtime/cli/commands/team.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/watch.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/watch.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/watch.js +129 -0
- package/dist/walls/07-runtime/cli/commands/watch.js.map +1 -0
- package/dist/walls/07-runtime/cli/utils.d.ts +26 -0
- package/dist/walls/07-runtime/cli/utils.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/utils.js +217 -0
- package/dist/walls/07-runtime/cli/utils.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/community.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/community.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/community.js +191 -0
- package/dist/walls/07-runtime/daemon/routes/community.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/cost.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/cost.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/cost.js +73 -0
- package/dist/walls/07-runtime/daemon/routes/cost.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/health.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/health.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/health.js +40 -0
- package/dist/walls/07-runtime/daemon/routes/health.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/memory.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/memory.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/memory.js +75 -0
- package/dist/walls/07-runtime/daemon/routes/memory.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.js +160 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/project.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/project.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/project.js +59 -0
- package/dist/walls/07-runtime/daemon/routes/project.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/session.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/session.js +101 -0
- package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/signal.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/signal.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/signal.js +60 -0
- package/dist/walls/07-runtime/daemon/routes/signal.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.js +105 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.js.map +1 -0
- package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/server.js +22 -0
- package/dist/walls/07-runtime/daemon/server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/deep-audit.js +103 -0
- package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts +0 -38
- package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts.map +0 -1
- package/dist/walls/03-knowledge/decisions/cross-model-engine.js +0 -98
- package/dist/walls/03-knowledge/decisions/cross-model-engine.js.map +0 -1
- package/dist/walls/03-knowledge/decisions/insight-generator.d.ts +0 -58
- package/dist/walls/03-knowledge/decisions/insight-generator.d.ts.map +0 -1
- package/dist/walls/03-knowledge/decisions/insight-generator.js +0 -314
- package/dist/walls/03-knowledge/decisions/insight-generator.js.map +0 -1
- package/dist/walls/05-community/stats/community-advanced-engine.d.ts +0 -30
- package/dist/walls/05-community/stats/community-advanced-engine.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-advanced-engine.js +0 -103
- package/dist/walls/05-community/stats/community-advanced-engine.js.map +0 -1
- package/dist/walls/05-community/stats/community-engine.d.ts +0 -62
- package/dist/walls/05-community/stats/community-engine.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-engine.js +0 -194
- package/dist/walls/05-community/stats/community-engine.js.map +0 -1
- package/dist/walls/05-community/stats/community-v2.d.ts +0 -106
- package/dist/walls/05-community/stats/community-v2.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-v2.js +0 -378
- package/dist/walls/05-community/stats/community-v2.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts +0 -20
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.js +0 -250
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts +0 -40
- package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-client.js +0 -126
- package/dist/walls/08-cloud-bridge/sync/cloud-client.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts +0 -66
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.js +0 -328
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.js.map +0 -1
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validatePayload = validatePayload;
|
|
4
|
-
exports.createAnonymousId = createAnonymousId;
|
|
5
|
-
exports.submitToCommunity = submitToCommunity;
|
|
6
|
-
exports.detectTrends = detectTrends;
|
|
7
|
-
exports.benchmarkPersonal = benchmarkPersonal;
|
|
8
|
-
exports.benchmarkBlindSpots = benchmarkBlindSpots;
|
|
9
|
-
exports.sharePattern = sharePattern;
|
|
10
|
-
exports.votePattern = votePattern;
|
|
11
|
-
exports.getCommunityPatterns = getCommunityPatterns;
|
|
12
|
-
exports.generateInsights = generateInsights;
|
|
13
|
-
exports.getWeeklyChallenges = getWeeklyChallenges;
|
|
14
|
-
exports.getCommunityStats = getCommunityStats;
|
|
15
|
-
const database_1 = require("../../06-memory/database/database");
|
|
16
|
-
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
17
|
-
const FORBIDDEN_FIELDS = new Set([
|
|
18
|
-
'source_code', 'file_path', 'file_content', 'file_name',
|
|
19
|
-
'prompt', 'response', 'ai_response', 'repo_name',
|
|
20
|
-
'company_name', 'project_name', 'customer_name',
|
|
21
|
-
'secret', 'secrets', 'api_key', 'api_keys', 'password',
|
|
22
|
-
'token', 'auth_token', 'refresh_token', 'private_key',
|
|
23
|
-
'email', 'phone', 'address', 'ssn',
|
|
24
|
-
'environment_vars', 'env_vars', 'stack_trace', 'raw_stack',
|
|
25
|
-
'variable_name', 'function_name', 'api_name', 'endpoint_name',
|
|
26
|
-
'class_name', 'interface_name', 'username', 'display_name',
|
|
27
|
-
]);
|
|
28
|
-
const MAX_PAYLOAD_BYTES = 300;
|
|
29
|
-
// ─── Data Pipeline ───────────────────────────────────────────────────────────
|
|
30
|
-
function validatePayload(payload) {
|
|
31
|
-
const errors = [];
|
|
32
|
-
for (const key of Object.keys(payload)) {
|
|
33
|
-
if (FORBIDDEN_FIELDS.has(key.toLowerCase())) {
|
|
34
|
-
errors.push(`Forbidden field: "${key}" — must not be included in community payload`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const jsonSize = Buffer.byteLength(JSON.stringify(payload), 'utf-8');
|
|
38
|
-
if (jsonSize > MAX_PAYLOAD_BYTES) {
|
|
39
|
-
errors.push(`Payload too large: ${jsonSize} bytes (max ${MAX_PAYLOAD_BYTES})`);
|
|
40
|
-
}
|
|
41
|
-
if (payload.email || payload.phone || payload.address || payload.ssn) {
|
|
42
|
-
errors.push('PII detected — community payloads must be zero PII');
|
|
43
|
-
}
|
|
44
|
-
if (payload.source_code || payload.file_content || payload.prompt || payload.response) {
|
|
45
|
-
errors.push('Code/content detected — community payloads must not contain source code or AI interactions');
|
|
46
|
-
}
|
|
47
|
-
return { valid: errors.length === 0, errors };
|
|
48
|
-
}
|
|
49
|
-
function createAnonymousId() {
|
|
50
|
-
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
51
|
-
let id = 'anon_';
|
|
52
|
-
for (let i = 0; i < 8; i++) {
|
|
53
|
-
id += chars[Math.floor(Math.random() * chars.length)];
|
|
54
|
-
}
|
|
55
|
-
return id;
|
|
56
|
-
}
|
|
57
|
-
function submitToCommunity(params) {
|
|
58
|
-
const payload = {
|
|
59
|
-
patternCategory: params.patternCategory,
|
|
60
|
-
language: params.language,
|
|
61
|
-
confidence: params.confidence,
|
|
62
|
-
projectCount: params.projectCount,
|
|
63
|
-
fileCount: params.fileCount,
|
|
64
|
-
trend: 'stable',
|
|
65
|
-
anonymousId: createAnonymousId(),
|
|
66
|
-
};
|
|
67
|
-
const validation = validatePayload(payload);
|
|
68
|
-
if (!validation.valid) {
|
|
69
|
-
return { success: false, errors: validation.errors };
|
|
70
|
-
}
|
|
71
|
-
const db = (0, database_1.getDb)();
|
|
72
|
-
db.prepare('INSERT INTO community_signals (pattern_hash, category, language, frequency, trend, percentile, region) VALUES (?, ?, ?, ?, ?, ?, ?)').run(payload.anonymousId, payload.patternCategory, payload.language, 1, 'stable', 50, 'global');
|
|
73
|
-
return { success: true, errors: [], payload };
|
|
74
|
-
}
|
|
75
|
-
// ─── Trend Detection ─────────────────────────────────────────────────────────
|
|
76
|
-
function detectTrends() {
|
|
77
|
-
const db = (0, database_1.getDb)();
|
|
78
|
-
const trends = [];
|
|
79
|
-
const communityTrends = db.prepare('SELECT category, language, frequency, trend, percentile FROM community_signals ORDER BY frequency DESC').all();
|
|
80
|
-
const techMap = new Map();
|
|
81
|
-
for (const t of communityTrends) {
|
|
82
|
-
const key = t.language || t.category;
|
|
83
|
-
const freq = Number(t.frequency) || 0;
|
|
84
|
-
const existing = techMap.get(key);
|
|
85
|
-
if (existing) {
|
|
86
|
-
existing.freq += freq;
|
|
87
|
-
if (t.trend === 'rising')
|
|
88
|
-
existing.trend = 'rising';
|
|
89
|
-
else if (t.trend === 'declining')
|
|
90
|
-
existing.trend = 'declining';
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
techMap.set(key, { freq, trend: t.trend || 'stable', percentile: Number(t.percentile) || 50 });
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
const userSkills = db.prepare('SELECT language, level, file_count FROM skills ORDER BY file_count DESC').all();
|
|
97
|
-
const userLanguages = new Set(userSkills.map(s => s.language));
|
|
98
|
-
const sorted = [...techMap.entries()].sort((a, b) => b[1].freq - a[1].freq);
|
|
99
|
-
for (const [tech, data] of sorted.slice(0, 15)) {
|
|
100
|
-
const direction = data.trend;
|
|
101
|
-
const changePercent = direction === 'rising' ? Math.round(data.freq * 0.15) : direction === 'declining' ? -Math.round(data.freq * 0.1) : 0;
|
|
102
|
-
trends.push({
|
|
103
|
-
technology: tech,
|
|
104
|
-
adoption: Math.min(100, Math.max(1, data.freq)),
|
|
105
|
-
direction,
|
|
106
|
-
changePercent,
|
|
107
|
-
userHasIt: userLanguages.has(tech),
|
|
108
|
-
userScore: userLanguages.has(tech) ? 80 : 20,
|
|
109
|
-
communityScore: data.percentile,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
return trends;
|
|
113
|
-
}
|
|
114
|
-
// ─── Benchmark System ────────────────────────────────────────────────────────
|
|
115
|
-
function benchmarkPersonal() {
|
|
116
|
-
const db = (0, database_1.getDb)();
|
|
117
|
-
const results = [];
|
|
118
|
-
const userPatterns = db.prepare('SELECT COUNT(*) as cnt FROM patterns').get();
|
|
119
|
-
const communityAvgPatterns = 45;
|
|
120
|
-
const patternPercentile = Math.min(99, Math.round((userPatterns.cnt / communityAvgPatterns) * 50));
|
|
121
|
-
results.push({
|
|
122
|
-
metric: 'Learned Patterns',
|
|
123
|
-
yourValue: userPatterns.cnt,
|
|
124
|
-
communityAvg: communityAvgPatterns,
|
|
125
|
-
percentile: patternPercentile,
|
|
126
|
-
verdict: patternPercentile >= 70 ? 'ahead' : patternPercentile >= 40 ? 'average' : 'behind',
|
|
127
|
-
detail: `You have ${userPatterns.cnt} patterns. Community average: ${communityAvgPatterns}`,
|
|
128
|
-
});
|
|
129
|
-
const userProjects = db.prepare('SELECT COUNT(DISTINCT project) as cnt FROM sessions').get();
|
|
130
|
-
const communityAvgProjects = 5;
|
|
131
|
-
const projectPercentile = Math.min(99, Math.round((userProjects.cnt / communityAvgProjects) * 50));
|
|
132
|
-
results.push({
|
|
133
|
-
metric: 'Active Projects',
|
|
134
|
-
yourValue: userProjects.cnt,
|
|
135
|
-
communityAvg: communityAvgProjects,
|
|
136
|
-
percentile: projectPercentile,
|
|
137
|
-
verdict: projectPercentile >= 70 ? 'ahead' : projectPercentile >= 40 ? 'average' : 'behind',
|
|
138
|
-
detail: `You work on ${userProjects.cnt} projects. Community average: ${communityAvgProjects}`,
|
|
139
|
-
});
|
|
140
|
-
const userDecisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions').get();
|
|
141
|
-
const rightDecisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions WHERE was_right = 1').get();
|
|
142
|
-
const decisionAccuracy = userDecisions.cnt > 0 ? Math.round((rightDecisions.cnt / userDecisions.cnt) * 100) : 0;
|
|
143
|
-
const communityAvgAccuracy = 62;
|
|
144
|
-
const accuracyPercentile = Math.min(99, Math.round(decisionAccuracy * 1.2));
|
|
145
|
-
results.push({
|
|
146
|
-
metric: 'Decision Accuracy',
|
|
147
|
-
yourValue: decisionAccuracy,
|
|
148
|
-
communityAvg: communityAvgAccuracy,
|
|
149
|
-
percentile: accuracyPercentile,
|
|
150
|
-
verdict: accuracyPercentile >= 70 ? 'ahead' : accuracyPercentile >= 40 ? 'average' : 'behind',
|
|
151
|
-
detail: `Your decisions are ${decisionAccuracy}% correct. Community average: ${communityAvgAccuracy}%`,
|
|
152
|
-
});
|
|
153
|
-
const userSessions = db.prepare('SELECT COUNT(*) as cnt FROM sessions').get();
|
|
154
|
-
const avgSessionMin = db.prepare("SELECT AVG(strftime('%s', end_time) - strftime('%s', start_time)) / 60 as avg FROM sessions WHERE end_time IS NOT NULL").get();
|
|
155
|
-
const sessionPercentile = Math.min(99, Math.round(userSessions.cnt * 5));
|
|
156
|
-
results.push({
|
|
157
|
-
metric: 'Session Count',
|
|
158
|
-
yourValue: userSessions.cnt,
|
|
159
|
-
communityAvg: 20,
|
|
160
|
-
percentile: sessionPercentile,
|
|
161
|
-
verdict: sessionPercentile >= 70 ? 'ahead' : sessionPercentile >= 40 ? 'average' : 'behind',
|
|
162
|
-
detail: `You've had ${userSessions.cnt} sessions. Community average: 20`,
|
|
163
|
-
});
|
|
164
|
-
return results;
|
|
165
|
-
}
|
|
166
|
-
function benchmarkBlindSpots() {
|
|
167
|
-
const db = (0, database_1.getDb)();
|
|
168
|
-
const benchmarks = [];
|
|
169
|
-
const communityBlindSpots = [
|
|
170
|
-
{ area: 'Error Handling', communityAvg: 63, description: 'Files missing try/catch' },
|
|
171
|
-
{ area: 'Null Safety', communityAvg: 58, description: 'Files without null checks' },
|
|
172
|
-
{ area: 'Test Coverage', communityAvg: 52, description: 'Untested source files' },
|
|
173
|
-
{ area: 'Type Safety', communityAvg: 45, description: 'TypeScript files without annotations' },
|
|
174
|
-
{ area: 'Code Duplication', communityAvg: 38, description: 'Duplicated code blocks' },
|
|
175
|
-
];
|
|
176
|
-
const missingTryCatch = db.prepare("SELECT COUNT(DISTINCT file_path) as cnt FROM behavior_events WHERE event_type = 'bug_fix' AND (description LIKE '%null%' OR description LIKE '%undefined%')").get();
|
|
177
|
-
const totalFiles = db.prepare("SELECT COUNT(DISTINCT file_path) as cnt FROM behavior_events").get();
|
|
178
|
-
const yourNullRate = totalFiles.cnt > 0 ? Math.round((missingTryCatch.cnt / totalFiles.cnt) * 100) : 0;
|
|
179
|
-
benchmarks.push({
|
|
180
|
-
area: 'Null Safety',
|
|
181
|
-
yourScore: yourNullRate,
|
|
182
|
-
communityAvg: 58,
|
|
183
|
-
percentile: Math.max(1, 100 - yourNullRate),
|
|
184
|
-
description: `${yourNullRate}% of your files have null/undefined issues`,
|
|
185
|
-
recommendation: yourNullRate < 58 ? 'You\'re ahead of community average on null safety' : 'Add optional chaining (?.) and nullish coalescing (??)',
|
|
186
|
-
});
|
|
187
|
-
const totalBugs = db.prepare("SELECT COUNT(*) as cnt FROM behavior_events WHERE event_type = 'bug_fix'").get();
|
|
188
|
-
const repeatBugs = db.prepare("SELECT COUNT(*) as cnt FROM behavior_events WHERE event_type = 'bug_fix' AND recurrence_count > 1").get();
|
|
189
|
-
const repeatRate = totalBugs.cnt > 0 ? Math.round((repeatBugs.cnt / totalBugs.cnt) * 100) : 0;
|
|
190
|
-
benchmarks.push({
|
|
191
|
-
area: 'Repeat Mistakes',
|
|
192
|
-
yourScore: repeatRate,
|
|
193
|
-
communityAvg: 40,
|
|
194
|
-
percentile: Math.max(1, 100 - repeatRate),
|
|
195
|
-
description: `${repeatRate}% of your bugs are repeat issues`,
|
|
196
|
-
recommendation: repeatRate < 40 ? 'Fewer repeat mistakes than community average' : 'Focus on preventing repeat mistakes with lint rules',
|
|
197
|
-
});
|
|
198
|
-
const decisions = db.prepare('SELECT COUNT(*) as cnt FROM decisions').get();
|
|
199
|
-
const decisionsWithRight = db.prepare('SELECT was_right FROM decisions WHERE was_right IS NOT NULL').all();
|
|
200
|
-
const knownDecisions = decisionsWithRight.length;
|
|
201
|
-
const unvalidatedRate = decisions.cnt > 0 ? Math.round(((decisions.cnt - knownDecisions) / decisions.cnt) * 100) : 0;
|
|
202
|
-
benchmarks.push({
|
|
203
|
-
area: 'Decision Validation',
|
|
204
|
-
yourScore: unvalidatedRate,
|
|
205
|
-
communityAvg: 35,
|
|
206
|
-
percentile: Math.max(1, 100 - unvalidatedRate),
|
|
207
|
-
description: `${unvalidatedRate}% of decisions have unknown outcomes`,
|
|
208
|
-
recommendation: unvalidatedRate < 35 ? 'Good decision tracking' : 'Track decision outcomes more consistently',
|
|
209
|
-
});
|
|
210
|
-
return benchmarks.sort((a, b) => b.percentile - a.percentile);
|
|
211
|
-
}
|
|
212
|
-
// ─── Pattern Marketplace ─────────────────────────────────────────────────────
|
|
213
|
-
function sharePattern(params) {
|
|
214
|
-
const db = (0, database_1.getDb)();
|
|
215
|
-
const id = `cp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
216
|
-
const anonId = createAnonymousId();
|
|
217
|
-
db.prepare('INSERT INTO community_signals (pattern_hash, category, language, frequency, trend, percentile, region) VALUES (?, ?, ?, ?, ?, ?, ?)').run(id, params.category, params.language, 1, 'rising', 50, 'global');
|
|
218
|
-
return {
|
|
219
|
-
id,
|
|
220
|
-
category: params.category,
|
|
221
|
-
language: params.language,
|
|
222
|
-
rule: params.rule,
|
|
223
|
-
confidence: params.confidence,
|
|
224
|
-
upvotes: 0,
|
|
225
|
-
downvotes: 0,
|
|
226
|
-
shareCount: 1,
|
|
227
|
-
anonymousAuthor: anonId,
|
|
228
|
-
createdAt: new Date().toISOString(),
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
function votePattern(patternId, upvote) {
|
|
232
|
-
const db = (0, database_1.getDb)();
|
|
233
|
-
const signal = db.prepare('SELECT frequency FROM community_signals WHERE pattern_hash = ?').get(patternId);
|
|
234
|
-
if (!signal)
|
|
235
|
-
return { success: false, newScore: 0 };
|
|
236
|
-
const delta = upvote ? 1 : -1;
|
|
237
|
-
db.prepare('UPDATE community_signals SET frequency = MAX(0, frequency + ?) WHERE pattern_hash = ?').run(delta, patternId);
|
|
238
|
-
const updated = db.prepare('SELECT frequency FROM community_signals WHERE pattern_hash = ?').get(patternId);
|
|
239
|
-
return { success: true, newScore: updated.frequency };
|
|
240
|
-
}
|
|
241
|
-
function getCommunityPatterns(limit = 20) {
|
|
242
|
-
const db = (0, database_1.getDb)();
|
|
243
|
-
const rows = db.prepare('SELECT pattern_hash, category, language, frequency, trend, percentile, created_at FROM community_signals ORDER BY frequency DESC LIMIT ?').all(limit);
|
|
244
|
-
return rows.map(r => ({
|
|
245
|
-
id: String(r.pattern_hash || ''),
|
|
246
|
-
category: String(r.category || ''),
|
|
247
|
-
language: String(r.language || ''),
|
|
248
|
-
rule: '',
|
|
249
|
-
confidence: Number(r.percentile || 50) / 100,
|
|
250
|
-
upvotes: Math.max(0, Number(r.frequency || 0)),
|
|
251
|
-
downvotes: 0,
|
|
252
|
-
shareCount: Number(r.frequency || 0),
|
|
253
|
-
anonymousAuthor: 'anonymous',
|
|
254
|
-
createdAt: String(r.created_at || ''),
|
|
255
|
-
}));
|
|
256
|
-
}
|
|
257
|
-
// ─── Community Insights ──────────────────────────────────────────────────────
|
|
258
|
-
function generateInsights() {
|
|
259
|
-
const insights = [];
|
|
260
|
-
const benchmarks = benchmarkPersonal();
|
|
261
|
-
const blindSpots = benchmarkBlindSpots();
|
|
262
|
-
const trends = detectTrends();
|
|
263
|
-
for (const b of benchmarks) {
|
|
264
|
-
if (b.verdict === 'ahead') {
|
|
265
|
-
insights.push({
|
|
266
|
-
type: 'benchmark',
|
|
267
|
-
title: `${b.metric}: You're ahead`,
|
|
268
|
-
message: `${b.detail}. You're in the ${b.percentile}th percentile.`,
|
|
269
|
-
actionable: false,
|
|
270
|
-
confidence: 0.8,
|
|
271
|
-
source: 'personal_benchmark',
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
else if (b.verdict === 'behind') {
|
|
275
|
-
insights.push({
|
|
276
|
-
type: 'benchmark',
|
|
277
|
-
title: `${b.metric}: Room to improve`,
|
|
278
|
-
message: `${b.detail}. Community average is higher.`,
|
|
279
|
-
actionable: true,
|
|
280
|
-
suggestedAction: `Focus on improving ${b.metric.toLowerCase()} to match community standards`,
|
|
281
|
-
confidence: 0.75,
|
|
282
|
-
source: 'personal_benchmark',
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
for (const bs of blindSpots.slice(0, 3)) {
|
|
287
|
-
if (bs.percentile < 50) {
|
|
288
|
-
insights.push({
|
|
289
|
-
type: 'blind_spot',
|
|
290
|
-
title: `Blind Spot: ${bs.area}`,
|
|
291
|
-
message: bs.description,
|
|
292
|
-
actionable: true,
|
|
293
|
-
suggestedAction: bs.recommendation,
|
|
294
|
-
confidence: 0.7,
|
|
295
|
-
source: 'blind_spot_benchmark',
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
for (const t of trends.slice(0, 5)) {
|
|
300
|
-
if (t.direction === 'rising' && !t.userHasIt) {
|
|
301
|
-
insights.push({
|
|
302
|
-
type: 'trend',
|
|
303
|
-
title: `Rising Trend: ${t.technology}`,
|
|
304
|
-
message: `${t.technology} is trending upward (${t.changePercent}% change). You don't use it yet.`,
|
|
305
|
-
actionable: true,
|
|
306
|
-
suggestedAction: `Consider evaluating ${t.technology} for your stack`,
|
|
307
|
-
confidence: 0.65,
|
|
308
|
-
source: 'trend_detection',
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
const userTech = db().prepare('SELECT DISTINCT language FROM skills').all();
|
|
313
|
-
for (const tech of userTech) {
|
|
314
|
-
const match = trends.find(t => t.technology === tech.language);
|
|
315
|
-
if (match && match.direction === 'declining') {
|
|
316
|
-
insights.push({
|
|
317
|
-
type: 'validation',
|
|
318
|
-
title: `${tech.language}: Declining trend`,
|
|
319
|
-
message: `${tech.language} is declining in the community. You use it — consider migration timeline.`,
|
|
320
|
-
actionable: true,
|
|
321
|
-
suggestedAction: `Monitor ${tech.language} community adoption. Plan migration if decline continues.`,
|
|
322
|
-
confidence: 0.6,
|
|
323
|
-
source: 'trend_detection',
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
return insights.sort((a, b) => b.confidence - a.confidence);
|
|
328
|
-
}
|
|
329
|
-
function db() { return (0, database_1.getDb)(); }
|
|
330
|
-
// ─── Weekly Challenges ───────────────────────────────────────────────────────
|
|
331
|
-
function getWeeklyChallenges() {
|
|
332
|
-
return [
|
|
333
|
-
{
|
|
334
|
-
id: 'ch_001',
|
|
335
|
-
title: 'Null Safety Week',
|
|
336
|
-
description: 'Add optional chaining to all your files this week',
|
|
337
|
-
area: 'null_safety',
|
|
338
|
-
difficulty: 'easy',
|
|
339
|
-
participants: 127,
|
|
340
|
-
reward: 'Null Safety Badge',
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
id: 'ch_002',
|
|
344
|
-
title: 'Test Coverage Sprint',
|
|
345
|
-
description: 'Write tests for 3 untested files',
|
|
346
|
-
area: 'testing',
|
|
347
|
-
difficulty: 'medium',
|
|
348
|
-
participants: 89,
|
|
349
|
-
reward: 'Testing Champion Badge',
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
id: 'ch_003',
|
|
353
|
-
title: 'Error Handling Audit',
|
|
354
|
-
description: 'Add try/catch to all API calls and file operations',
|
|
355
|
-
area: 'error_handling',
|
|
356
|
-
difficulty: 'hard',
|
|
357
|
-
participants: 56,
|
|
358
|
-
reward: 'Robust Code Badge',
|
|
359
|
-
},
|
|
360
|
-
];
|
|
361
|
-
}
|
|
362
|
-
// ─── Community Stats ─────────────────────────────────────────────────────────
|
|
363
|
-
function getCommunityStats() {
|
|
364
|
-
const db = (0, database_1.getDb)();
|
|
365
|
-
const totalPatterns = db.prepare('SELECT COUNT(*) as cnt FROM patterns').get().cnt;
|
|
366
|
-
const totalSessions = db.prepare('SELECT COUNT(*) as cnt FROM sessions').get().cnt;
|
|
367
|
-
const languages = db.prepare('SELECT DISTINCT language FROM community_signals').all();
|
|
368
|
-
const trends = detectTrends();
|
|
369
|
-
return {
|
|
370
|
-
totalDevelopers: 150,
|
|
371
|
-
totalPatterns,
|
|
372
|
-
totalProjects: Math.max(1, Math.round(totalSessions / 3)),
|
|
373
|
-
activeLanguages: languages.map(l => l.language).filter(Boolean),
|
|
374
|
-
topTrends: trends.slice(0, 5),
|
|
375
|
-
yourPosition: `${Math.min(95, 30 + totalPatterns)}th percentile`,
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
//# sourceMappingURL=community-v2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"community-v2.js","sourceRoot":"","sources":["../../../../src/walls/05-community/stats/community-v2.ts"],"names":[],"mappings":";;AAuGA,0CAuBC;AAED,8CAOC;AAED,8CAoCC;AAID,oCA0CC;AAID,8CAuDC;AAED,kDAqDC;AAID,oCA0BC;AAED,kCASC;AAED,oDAkBC;AAID,4CA0EC;AAMD,kDA8BC;AAID,8CAgBC;AAhhBD,gEAA8E;AAqF9E,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW;IACvD,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW;IAChD,cAAc,EAAE,cAAc,EAAE,eAAe;IAC/C,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa;IACrD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK;IAClC,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW;IAC1D,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe;IAC7D,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc;CAC3D,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,gFAAgF;AAEhF,SAAgB,eAAe,CAAC,OAAgC;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,+CAA+C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,eAAe,iBAAiB,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,IAAI,EAAE,GAAG,OAAO,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAMjC;IACC,MAAM,OAAO,GAAqB;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,iBAAiB,EAAE;KACjC,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,CAAC,OAA6C,CAAC,CAAC;IAClF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,EAAE,CAAC,OAAO,CACR,qIAAqI,CACtI,CAAC,GAAG,CACH,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,QAAQ,EAChB,CAAC,EACD,QAAQ,EACR,EAAE,EACF,QAAQ,CACT,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED,gFAAgF;AAEhF,SAAgB,YAAY;IAC1B,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAChC,wGAAwG,CACzG,CAAC,GAAG,EAAyG,CAAC;IAE/G,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+D,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;YACtB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;iBAC/C,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW;gBAAE,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC,GAAG,EAAoE,CAAC;IACjL,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAA+B,CAAC;QACvD,MAAM,aAAa,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3I,MAAM,CAAC,IAAI,CAAC;YACV,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS;YACT,aAAa;YACb,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAClC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC5C,cAAc,EAAE,IAAI,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,SAAgB,iBAAiB;IAC/B,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAqB,CAAC;IACjG,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,YAAY,CAAC,GAAG;QAC3B,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAC3F,MAAM,EAAE,YAAY,YAAY,CAAC,GAAG,iCAAiC,oBAAoB,EAAE;KAC5F,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,EAAqB,CAAC;IAChH,MAAM,oBAAoB,GAAG,CAAC,CAAC;IAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,iBAAiB;QACzB,SAAS,EAAE,YAAY,CAAC,GAAG;QAC3B,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAC3F,MAAM,EAAE,eAAe,YAAY,CAAC,GAAG,iCAAiC,oBAAoB,EAAE;KAC/F,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAqB,CAAC;IACnG,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,EAAqB,CAAC;IACxH,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAC7F,MAAM,EAAE,sBAAsB,gBAAgB,iCAAiC,oBAAoB,GAAG;KACvG,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAqB,CAAC;IACjG,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,wHAAwH,CAAC,CAAC,GAAG,EAAqB,CAAC;IACpL,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,YAAY,CAAC,GAAG;QAC3B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAC3F,MAAM,EAAE,cAAc,YAAY,CAAC,GAAG,kCAAkC;KACzE,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,mBAAmB;IACjC,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,MAAM,mBAAmB,GAAG;QAC1B,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE;QACpF,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE;QACnF,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACjF,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE;QAC9F,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE;KACtF,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,6JAA6J,CAAC,CAAC,GAAG,EAAqB,CAAC;IAC3N,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,EAAqB,CAAC;IACvH,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvG,UAAU,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,YAAY;QACvB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC;QAC3C,WAAW,EAAE,GAAG,YAAY,4CAA4C;QACxE,cAAc,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,wDAAwD;KACnJ,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC,GAAG,EAAqB,CAAC;IAClI,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,mGAAmG,CAAC,CAAC,GAAG,EAAqB,CAAC;IAC5J,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9F,UAAU,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC;QACzC,WAAW,EAAE,GAAG,UAAU,kCAAkC;QAC5D,cAAc,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,qDAAqD;KACzI,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAqB,CAAC;IAC/F,MAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,EAAkC,CAAC;IAC3I,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACjD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErH,UAAU,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC;QAC9C,WAAW,EAAE,GAAG,eAAe,sCAAsC;QACrE,cAAc,EAAE,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,2CAA2C;KAC9G,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAChE,CAAC;AAED,gFAAgF;AAEhF,SAAgB,YAAY,CAAC,MAK5B;IACC,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,EAAE,CAAC,OAAO,CACR,qIAAqI,CACtI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEvE,OAAO;QACL,EAAE;QACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,MAAM;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,SAAiB,EAAE,MAAe;IAC5D,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAsC,CAAC;IAChJ,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,EAAE,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1H,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAAC,SAAS,CAA0B,CAAC;IACrI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAgB,EAAE;IACrD,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,0IAA0I,CAC3I,CAAC,GAAG,CAAC,KAAK,CAAmC,CAAC;IAE/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,GAAG;QAC5C,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAC9C,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;QACpC,eAAe,EAAE,WAAW;QAC5B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,gFAAgF;AAEhF,SAAgB,gBAAgB;IAC9B,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,gBAAgB;gBAClC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,mBAAmB,CAAC,CAAC,UAAU,gBAAgB;gBACnE,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,oBAAoB;aAC7B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,mBAAmB;gBACrC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,gCAAgC;gBACpD,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,+BAA+B;gBAC5F,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,oBAAoB;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE,CAAC,WAAW;gBACvB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,EAAE,CAAC,cAAc;gBAClC,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,iBAAiB,CAAC,CAAC,UAAU,EAAE;gBACtC,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,wBAAwB,CAAC,CAAC,aAAa,kCAAkC;gBACjG,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,uBAAuB,CAAC,CAAC,UAAU,iBAAiB;gBACrE,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAiC,CAAC;IAC3G,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,mBAAmB;gBAC1C,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,2EAA2E;gBACpG,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,WAAW,IAAI,CAAC,QAAQ,2DAA2D;gBACpG,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,EAAE,KAAK,OAAO,IAAA,gBAAK,GAAE,CAAC,CAAC,CAAC;AAEjC,gFAAgF;AAEhF,SAAgB,mBAAmB;IACjC,OAAO;QACL;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,mDAAmD;YAChE,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,mBAAmB;SAC5B;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,mBAAmB;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAgB,iBAAiB;IAC/B,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,aAAa,GAAI,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAsB,CAAC,GAAG,CAAC;IACxG,MAAM,aAAa,GAAI,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAsB,CAAC,GAAG,CAAC;IACxG,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,EAAiC,CAAC;IAErH,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO;QACL,eAAe,EAAE,GAAG;QACpB,aAAa;QACb,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACzD,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/D,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,eAAe;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface AnalysisPrompt {
|
|
2
|
-
title: string;
|
|
3
|
-
prompt: string;
|
|
4
|
-
category: 'project_identity' | 'architecture' | 'blind_spots' | 'recommendations' | 'team';
|
|
5
|
-
tokensEstimate: number;
|
|
6
|
-
}
|
|
7
|
-
export interface AIInsight {
|
|
8
|
-
category: string;
|
|
9
|
-
content: string;
|
|
10
|
-
timestamp: string;
|
|
11
|
-
source: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function generateAnalysisPrompts(projectDir?: string): AnalysisPrompt[];
|
|
14
|
-
export declare function saveAIInsight(project: string, category: string, content: string): void;
|
|
15
|
-
export declare function getAIInsights(project?: string): AIInsight[];
|
|
16
|
-
export declare function getAnalysisCommand(projectDir?: string): {
|
|
17
|
-
intro: string;
|
|
18
|
-
prompts: AnalysisPrompt[];
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=ai-bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-bridge.d.ts","sourceRoot":"","sources":["../../../../src/walls/08-cloud-bridge/sync/ai-bridge.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAC3F,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA2H7E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuBtF;AAED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB3D;AAID,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAKpG"}
|