claude-faf-mcp 2.2.14 β 2.3.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.
- package/README.md +17 -7
- package/dist/src/handlers/tools.d.ts +1 -0
- package/dist/src/handlers/tools.js +93 -6
- package/dist/src/handlers/tools.js.map +1 -1
- package/dist/src/utils/fuzzy-detector.d.ts +56 -0
- package/dist/src/utils/fuzzy-detector.js +221 -0
- package/dist/src/utils/fuzzy-detector.js.map +1 -0
- package/package.json +1 -2
- package/src/cli.ts +0 -31
- package/src/handlers/behavioral-instruction.ts +0 -41
- package/src/handlers/championship-tools.ts +0 -1940
- package/src/handlers/engine-adapter.ts +0 -223
- package/src/handlers/fileHandler.ts +0 -235
- package/src/handlers/resources.ts +0 -81
- package/src/handlers/tools.ts +0 -767
- package/src/server.ts +0 -199
- package/src/test-all-functions.ts +0 -177
- package/src/utils/championship-format.ts +0 -85
- package/src/utils/display-protocol.ts +0 -100
- package/src/utils/visual-style.ts +0 -174
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# π§‘β‘οΈ .faf - The JPEG for AIβ’
|
|
2
2
|
|
|
3
|
+
## π MAJOR UPDATE v2.3.0 - Friday Features!
|
|
4
|
+
**No pricing, no subscriptions, 100% FREE MCP Server**
|
|
5
|
+
|
|
3
6
|
**Foundational AI-context Format**
|
|
4
7
|
|
|
5
8
|
Universal, shareable AI-Context for any AI, human or team, regardless of size, location, languages, stack, setup or documentation.
|
|
@@ -23,15 +26,15 @@ Universal, shareable AI-Context for any AI, human or team, regardless of size, l
|
|
|
23
26
|
|
|
24
27
|
## π Production Ready
|
|
25
28
|
|
|
26
|
-
**v2.
|
|
29
|
+
**v2.3.0** β’ **π FREE & Open Source** β’ **800+ WEEKLY DOWNLOADS!** π β’ **<50ms operations** β’ **MCP Ready (PR #2759)**
|
|
27
30
|
|
|
28
31
|
## π Quick Install
|
|
29
32
|
|
|
30
|
-
### β‘οΈπ₯ GET BOTH! Double Down!
|
|
33
|
+
### β‘οΈπ₯ GET BOTH! Double Down! (100% FREE)
|
|
31
34
|
```bash
|
|
32
|
-
# Install BOTH for maximum power!
|
|
33
|
-
npm install -g claude-faf-mcp # π§‘β‘οΈ Claude Desktop integration
|
|
34
|
-
npm install -g faf-cli # π©΅β‘οΈ AI-powered CLI
|
|
35
|
+
# Install BOTH for maximum power - completely FREE!
|
|
36
|
+
npm install -g claude-faf-mcp # π§‘β‘οΈ FREE Claude Desktop integration
|
|
37
|
+
npm install -g faf-cli # π©΅β‘οΈ FREE AI-powered CLI
|
|
35
38
|
|
|
36
39
|
# Add to Claude Desktop
|
|
37
40
|
echo '{"mcpServers":{"claude-faf-mcp":{"command":"claude-faf-mcp","args":[],"env":{}}}}' > ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
|
@@ -43,6 +46,12 @@ Restart Claude Desktop - Done! π
|
|
|
43
46
|
|
|
44
47
|
The MCP server that brings .faf format power to Claude Desktop. Drop any project file into Claude and get instant AI understanding.
|
|
45
48
|
|
|
49
|
+
### π Friday Features - Chrome Extension Support!
|
|
50
|
+
|
|
51
|
+
**Chrome Extension Auto-Detection** | Projects detected as Chrome Extensions automatically get 90%+ scores
|
|
52
|
+
**Universal Fuzzy Matching** | Type "raect" or "chr ext" - we know what you mean!
|
|
53
|
+
**Intel-Fridayβ’** | Smart detection that fills 7 critical slots for Chrome Extensions
|
|
54
|
+
|
|
46
55
|
### Key Features
|
|
47
56
|
|
|
48
57
|
- β
**Zero Configuration** - Works instantly
|
|
@@ -56,6 +65,7 @@ The MCP server that brings .faf format power to Claude Desktop. Drop any project
|
|
|
56
65
|
### Core Tools
|
|
57
66
|
- `faf_init` - Initialize .faf context
|
|
58
67
|
- `faf_score` - Calculate AI readiness score
|
|
68
|
+
- `faf_friday` - π Test Friday Features & Chrome Extension detection
|
|
59
69
|
- `faf_status` - Get project status
|
|
60
70
|
|
|
61
71
|
### Enhancement Tools
|
|
@@ -94,7 +104,7 @@ Add to Claude Desktop configuration:
|
|
|
94
104
|
|
|
95
105
|
```
|
|
96
106
|
π Status: PRODUCTION
|
|
97
|
-
ββ π Version: 2.
|
|
107
|
+
ββ π Version: 2.3.0
|
|
98
108
|
ββ π Performance: <50ms
|
|
99
109
|
ββ π¦ Dependencies: 1 (MCP SDK only)
|
|
100
110
|
ββ π§ͺ Tests Run: 11,240+
|
|
@@ -138,7 +148,7 @@ MIT License - see LICENSE file
|
|
|
138
148
|
|
|
139
149
|
## β‘οΈπ₯ The Complete FAF Ecosystem
|
|
140
150
|
|
|
141
|
-
[π©΅β‘οΈ CLI](https://npmjs.com/package/faf-cli) β’ [π§‘β‘οΈ MCP](https://npmjs.com/package/claude-faf-mcp) β’ [πβ‘οΈ WEB](https://faf.one) β’ [π§°β‘οΈ DevOps](https://fafdev.tools) β’ [π₯οΈβ‘οΈ Chrome](https://
|
|
151
|
+
[π©΅β‘οΈ CLI](https://npmjs.com/package/faf-cli) β’ [π§‘β‘οΈ MCP](https://npmjs.com/package/claude-faf-mcp) β’ [πβ‘οΈ WEB](https://faf.one) β’ [π§°β‘οΈ DevOps](https://fafdev.tools) β’ [π₯οΈβ‘οΈ Chrome](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)
|
|
142
152
|
|
|
143
153
|
**ποΈβ‘οΈ FAST AF - The JPEG for AIβ’**
|
|
144
154
|
|
|
@@ -37,6 +37,7 @@ exports.FafToolHandler = void 0;
|
|
|
37
37
|
const fileHandler_1 = require("./fileHandler");
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const fuzzy_detector_1 = require("../utils/fuzzy-detector");
|
|
40
41
|
class FafToolHandler {
|
|
41
42
|
engineAdapter;
|
|
42
43
|
constructor(engineAdapter) {
|
|
@@ -195,6 +196,20 @@ class FafToolHandler {
|
|
|
195
196
|
required: ['path', 'content'],
|
|
196
197
|
additionalProperties: false
|
|
197
198
|
}
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: 'faf_friday',
|
|
202
|
+
description: 'π Friday Features - Chrome Extension detection, fuzzy matching & more! π§‘β‘οΈ',
|
|
203
|
+
inputSchema: {
|
|
204
|
+
type: 'object',
|
|
205
|
+
properties: {
|
|
206
|
+
test: {
|
|
207
|
+
type: 'string',
|
|
208
|
+
description: 'Test fuzzy matching with typos like "raect" or "chr ext"'
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
additionalProperties: false
|
|
212
|
+
}
|
|
198
213
|
}
|
|
199
214
|
]
|
|
200
215
|
};
|
|
@@ -229,6 +244,8 @@ class FafToolHandler {
|
|
|
229
244
|
return await this.handleFafWhat(args);
|
|
230
245
|
case 'faf_read':
|
|
231
246
|
return await fileHandler_1.fileHandlers.faf_read(args);
|
|
247
|
+
case 'faf_friday':
|
|
248
|
+
return await this.handleFafFriday(args);
|
|
232
249
|
case 'faf_write':
|
|
233
250
|
return await fileHandler_1.fileHandlers.faf_write(args);
|
|
234
251
|
default:
|
|
@@ -443,12 +460,32 @@ class FafToolHandler {
|
|
|
443
460
|
}]
|
|
444
461
|
};
|
|
445
462
|
}
|
|
446
|
-
//
|
|
463
|
+
// Check project type with fuzzy detection (Friday Feature!)
|
|
464
|
+
const projectName = path.basename(cwd);
|
|
465
|
+
const projectDescription = args?.description || '';
|
|
466
|
+
// Detect Chrome Extension with fuzzy matching
|
|
467
|
+
const chromeDetection = fuzzy_detector_1.FuzzyDetector.detectChromeExtension(projectDescription);
|
|
468
|
+
const projectType = fuzzy_detector_1.FuzzyDetector.detectProjectType(projectDescription);
|
|
469
|
+
// Build project data with Intel-Friday auto-fill!
|
|
470
|
+
let projectData = {
|
|
471
|
+
project: projectName,
|
|
472
|
+
project_type: projectType,
|
|
473
|
+
description: projectDescription,
|
|
474
|
+
generated: new Date().toISOString(),
|
|
475
|
+
version: '1.0.0'
|
|
476
|
+
};
|
|
477
|
+
// Apply Intel-Friday: Auto-fill Chrome Extension slots for 90%+ score!
|
|
478
|
+
if (chromeDetection.detected) {
|
|
479
|
+
projectData = (0, fuzzy_detector_1.applyIntelFriday)(projectData);
|
|
480
|
+
}
|
|
481
|
+
// Create enhanced .faf content
|
|
447
482
|
const fafContent = `# FAF - Foundational AI Context
|
|
448
|
-
project: ${
|
|
483
|
+
project: ${projectData.project}
|
|
484
|
+
type: ${projectData.project_type}${chromeDetection.detected ? ' π―' : ''}
|
|
449
485
|
context: Iβ‘π
|
|
450
|
-
generated: ${
|
|
451
|
-
version:
|
|
486
|
+
generated: ${projectData.generated}
|
|
487
|
+
version: ${projectData.version}
|
|
488
|
+
${chromeDetection.corrected ? `# Auto-corrected: "${args?.description}" β "${chromeDetection.corrected}"` : ''}
|
|
452
489
|
|
|
453
490
|
# The Formula
|
|
454
491
|
human_input: Your project files
|
|
@@ -457,15 +494,24 @@ output: 105% Big Orange Performance
|
|
|
457
494
|
|
|
458
495
|
# Quick Context
|
|
459
496
|
working_directory: ${cwd}
|
|
460
|
-
initialized_by: claude-faf-mcp
|
|
497
|
+
initialized_by: claude-faf-mcp${projectData._friday_feature ? `\nfriday_feature: ${projectData._friday_feature}` : ''}
|
|
461
498
|
vitamin_context: true
|
|
462
499
|
faffless: true
|
|
500
|
+
|
|
501
|
+
${chromeDetection.detected ? `# Chrome Extension Auto-Fill (90%+ Score!)
|
|
502
|
+
runtime: ${projectData.runtime}
|
|
503
|
+
hosting: ${projectData.hosting}
|
|
504
|
+
api_type: ${projectData.api_type}
|
|
505
|
+
backend: ${projectData.backend}
|
|
506
|
+
database: ${projectData.database}
|
|
507
|
+
build: ${projectData.build}
|
|
508
|
+
package_manager: ${projectData.package_manager}` : ''}
|
|
463
509
|
`;
|
|
464
510
|
fs.writeFileSync(fafPath, fafContent);
|
|
465
511
|
return {
|
|
466
512
|
content: [{
|
|
467
513
|
type: 'text',
|
|
468
|
-
text: `π Claude FAF Initialization:\n\nβ
Created .faf file in ${cwd}\nπ Vitamin Context activated!\nβ‘ FAFFLESS AI ready
|
|
514
|
+
text: `π Claude FAF Initialization:\n\nβ
Created .faf file in ${cwd}\nπ Vitamin Context activated!\nβ‘ FAFFLESS AI ready!${chromeDetection.detected ? '\n\nπ― Friday Feature: Chrome Extension detected!\nπ Auto-filled 7 slots for 90%+ score!' : ''}${chromeDetection.corrected ? `\nπ Auto-corrected: "${args?.description}" β "${chromeDetection.corrected}"` : ''}`
|
|
469
515
|
}]
|
|
470
516
|
};
|
|
471
517
|
}
|
|
@@ -757,6 +803,47 @@ ${debugInfo.permissions.fafError ? ` FAF Error: ${debugInfo.permissions.fafErr
|
|
|
757
803
|
};
|
|
758
804
|
}
|
|
759
805
|
}
|
|
806
|
+
async handleFafFriday(args) {
|
|
807
|
+
const { test } = args || {};
|
|
808
|
+
let response = `π **Friday Features in FAF MCP!**\n\n`;
|
|
809
|
+
response += `**Chrome Extension Auto-Detection** | Boosts scores to 90%+ automatically\n`;
|
|
810
|
+
response += `**Universal Fuzzy Matching** | Typo-tolerant: "raect"β"react", "chr ext"β"chrome extension"\n`;
|
|
811
|
+
response += `**Intel-Fridayβ’** | Smart IF statements that add massive value\n\n`;
|
|
812
|
+
if (test) {
|
|
813
|
+
// Test fuzzy matching
|
|
814
|
+
const suggestion = fuzzy_detector_1.FuzzyDetector.getSuggestion(test);
|
|
815
|
+
const projectType = fuzzy_detector_1.FuzzyDetector.detectProjectType(test);
|
|
816
|
+
const chromeDetection = fuzzy_detector_1.FuzzyDetector.detectChromeExtension(test);
|
|
817
|
+
response += `\n**Testing: "${test}"**\n`;
|
|
818
|
+
if (suggestion) {
|
|
819
|
+
response += `β
Fuzzy Match: "${test}" β "${suggestion}"\n`;
|
|
820
|
+
}
|
|
821
|
+
response += `π¦ Project Type Detected: ${projectType}\n`;
|
|
822
|
+
if (chromeDetection.detected) {
|
|
823
|
+
response += `π― Chrome Extension Detected! (Confidence: ${chromeDetection.confidence})\n`;
|
|
824
|
+
if (chromeDetection.corrected) {
|
|
825
|
+
response += ` Corrected from: "${test}" β "${chromeDetection.corrected}"\n`;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
// Show what would be auto-filled
|
|
829
|
+
if (chromeDetection.detected && chromeDetection.confidence === 'high') {
|
|
830
|
+
response += `\n**Auto-fill Preview (7 slots for 90%+ score):**\n`;
|
|
831
|
+
const slots = fuzzy_detector_1.FuzzyDetector.getChromeExtensionSlots();
|
|
832
|
+
for (const [key, value] of Object.entries(slots)) {
|
|
833
|
+
response += `β’ ${key}: ${value}\n`;
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
else {
|
|
838
|
+
response += `\nπ‘ Try: \`faf_friday test:"raect"\` or \`faf_friday test:"chr ext"\``;
|
|
839
|
+
}
|
|
840
|
+
return {
|
|
841
|
+
content: [{
|
|
842
|
+
type: 'text',
|
|
843
|
+
text: response
|
|
844
|
+
}]
|
|
845
|
+
};
|
|
846
|
+
}
|
|
760
847
|
}
|
|
761
848
|
exports.FafToolHandler = FafToolHandler;
|
|
762
849
|
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/handlers/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/handlers/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAA6C;AAC7C,uCAAyB;AACzB,2CAA6B;AAC7B,4DAA0E;AAE1E,MAAa,cAAc;IACL;IAApB,YAAoB,aAA+B;QAA/B,kBAAa,GAAb,aAAa,CAAkB;IAAG,CAAC;IAEvD,KAAK,CAAC,SAAS;QACb,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,2CAA2C;oBACxD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,yDAAyD;oBACtE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,qFAAqF;oBAClG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,uGAAuG;oBACpH,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wDAAwD,EAAE;yBACpG;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,oFAAoF;oBACjG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;yBACnF;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,kEAAkE;oBAC/E,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,0EAA0E;oBACvF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,qFAAqF;oBAClG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oEAAoE,EAAE;4BAC5G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8EAA8E,EAAE;4BACtH,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;4BACtF,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8CAA8C,EAAE;yBACzF;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,4FAA4F;oBACzG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;4BAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2CAA2C,EAAE;4BACpF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE;yBAC/E;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,sEAAsE;oBACnF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE;4BACjE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;4BAChE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE;4BACpE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;yBACpE;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,4FAA4F;oBACzG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;wBACd,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,oDAAoD;oBACjE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wCAAwC;6BACtD;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAClB,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,mDAAmD;oBAChE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,yCAAyC;6BACvD;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8BAA8B;6BAC5C;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;wBAC7B,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,8EAA8E;oBAC3F,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0DAA0D;6BACxE;yBACF;wBACD,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;aACQ;SACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAS;QACpC,mBAAmB;QACnB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY;gBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,aAAa;gBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,aAAa;gBAChB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,UAAU;gBACb,OAAO,MAAM,0BAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,YAAY;gBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,WAAW;gBACd,OAAO,MAAM,0BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAS;QACrC,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4DAA4D,GAAG,iCAAiC;yBACvG,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAElD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yDAAyD,GAAG,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAC9G,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,EAAE;qBACnE,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAS;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAE9B,sEAAsE;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAErD,+BAA+B;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,6CAA6C;YAClE,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzB,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC;gBACjB,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC;gBACjB,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/C,CAAC;YAED,+DAA+D;YAC/D,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3F,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;oBACtC,cAAc,GAAG,IAAI,CAAC;oBACtB,KAAK,IAAI,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC;oBACzC,MAAM;gBACR,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB;gBACtB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACnD,CAAC;YAED,6EAA6E;YAC7E,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC/B,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAE7D,kEAAkE;oBAClE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAE9E,IAAI,OAAO,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;wBACvC,yBAAyB;wBACzB,kBAAkB,GAAG,IAAI,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,kBAAkB,EAAE,CAAC;gBACvB,+BAA+B;gBAC/B,MAAM,GAAG,+DAA+D,CAAC;gBACzE,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtC,MAAM,IAAI,4BAA4B,CAAC;oBACvC,MAAM,IAAI,qDAAqD,CAAC;oBAChE,MAAM,IAAI,wDAAwD,CAAC;gBACrE,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBACvB,0BAA0B;gBAC1B,MAAM,GAAG,mEAAmE,CAAC;gBAC7E,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,MAAM,IAAI,sEAAsE,CAAC;gBACnF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,KAAK,GAAG,EAAE,CAAC;gBAEf,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;oBACrB,MAAM,GAAG,WAAW,CAAC;oBACrB,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,WAAW,CAAC;oBACrB,KAAK,GAAG,GAAG,CAAC;gBACd,CAAC;qBAAM,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,MAAM,CAAC;oBAChB,KAAK,GAAG,GAAG,CAAC;gBACd,CAAC;qBAAM,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;oBAC5B,MAAM,GAAG,WAAW,CAAC;oBACrB,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,iBAAiB,CAAC;oBAC3B,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;gBAED,4BAA4B;gBAC5B,MAAM,GAAG,iBAAiB,UAAU,MAAM,KAAK,IAAI,MAAM,kBAAkB,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC;gBAErH,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;wBACpB,MAAM,IAAI,2BAA2B,CAAC;wBACtC,IAAI,CAAC,MAAM;4BAAE,MAAM,IAAI,2CAA2C,CAAC;wBACnE,IAAI,CAAC,SAAS;4BAAE,MAAM,IAAI,uCAAuC,CAAC;wBAClE,IAAI,CAAC,SAAS;4BAAE,MAAM,IAAI,yCAAyC,CAAC;wBACpE,IAAI,CAAC,cAAc;4BAAE,MAAM,IAAI,oCAAoC,CAAC;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACb,CAAC;aACH,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,8CAA8C;YAC9C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+DAA+D,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,8EAA8E,CAAC,CAAC,CAAC,EAAE,EAAE;qBAC3K,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAS;QACnC,oDAAoD;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,sCAAsC;YACtC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC3C,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,mEAAmE,GAAG,mCAAmC;yBAChH,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,4DAA4D;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,kBAAkB,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;YAEnD,8CAA8C;YAC9C,MAAM,eAAe,GAAG,8BAAa,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,8BAAa,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YAExE,kDAAkD;YAClD,IAAI,WAAW,GAAQ;gBACrB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,kBAAkB;gBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,OAAO;aACjB,CAAC;YAEF,uEAAuE;YACvE,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC7B,WAAW,GAAG,IAAA,iCAAgB,EAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YAED,+BAA+B;YAC/B,MAAM,UAAU,GAAG;WACd,WAAW,CAAC,OAAO;QACtB,WAAW,CAAC,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;;aAE3D,WAAW,CAAC,SAAS;WACvB,WAAW,CAAC,OAAO;EAC5B,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,EAAE,WAAW,QAAQ,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;qBAQzF,GAAG;gCACQ,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;;;;EAInH,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;WAClB,WAAW,CAAC,OAAO;WACnB,WAAW,CAAC,OAAO;YAClB,WAAW,CAAC,QAAQ;WACrB,WAAW,CAAC,OAAO;YAClB,WAAW,CAAC,QAAQ;SACvB,WAAW,CAAC,KAAK;mBACP,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;CACpD,CAAC;YAEI,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEtC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2DAA2D,GAAG,wDAClE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAC,EAC3H,GACE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,IAAI,EAAE,WAAW,QAAQ,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAC/G,EAAE;qBACH,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,EAAE;qBACnE,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAS;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6DAA6D,MAAM,CAAC,KAAK,EAAE;qBAClF,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sCAAsC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;iBACjF,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAS;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C,MAAM,CAAC,KAAK,EAAE;qBAC/D,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;iBACrE,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAS;QACtC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oDAAoD,MAAM,CAAC,KAAK,EAAE;qBACzE,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iCAAiC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;iBAC5E,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAS;QACrC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gDAAgD,MAAM,CAAC,KAAK,EAAE;qBACrE,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6BAA6B,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;iBACxE,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAS;QACpC,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4CAA4C,MAAM,CAAC,KAAK,EAAE;qBACjE,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,2BAA2B,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;iBACtE,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAS;QACpC,wCAAwC;QACxC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,kEAAkE;YAC/E,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE,iBAAiB;YAC1B,GAAG,EAAE,8CAA8C;SACpD,CAAC;QAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;UAaZ,WAAW,CAAC,OAAO;;;;;;;;;;;;8BAYC,CAAC;QAE3B,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;iBAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAS;QACnC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;8BAaS,CAAC;QAE3B,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAS;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG;gBAChB,gBAAgB,EAAE,GAAG;gBACrB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAqB;gBACjC,UAAU,EAAE,IAAqB;gBACjC,WAAW,EAAE,EAAS;gBACtB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;gBAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;aAC5C,CAAC;YAEF,0BAA0B;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBACpD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;gBACtD,IAAI,QAAQ,GAAG,WAAW,CAAC;gBAE3B,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;oBACzB,uBAAuB;oBACvB,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,sCAAsC;oBACtC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC9C,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnD,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBACvE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1F,CAAC;YAED,+BAA+B;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,WAAW,GAAG;;wBAEF,SAAS,CAAC,gBAAgB;wBAC1B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;EAC3D,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,SAAS,CAAC,UAAU;oBAClH,SAAS,CAAC,UAAU,IAAI,aAAa;kBACvC,SAAS,CAAC,UAAU,IAAI,SAAS;EACjD,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,SAAS,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B;mBAC/I,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;;;;;;CAMtG,CAAC;YAEI,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;qBAClB,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC9F,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAS;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,QAAQ,GAAG,wCAAwC,CAAC;QACxD,QAAQ,IAAI,6EAA6E,CAAC;QAC1F,QAAQ,IAAI,+FAA+F,CAAC;QAC5G,QAAQ,IAAI,oEAAoE,CAAC;QAEjF,IAAI,IAAI,EAAE,CAAC;YACT,sBAAsB;YACtB,MAAM,UAAU,GAAG,8BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,8BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,8BAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAElE,QAAQ,IAAI,iBAAiB,IAAI,OAAO,CAAC;YAEzC,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,UAAU,KAAK,CAAC;YAC7D,CAAC;YAED,QAAQ,IAAI,6BAA6B,WAAW,IAAI,CAAC;YAEzD,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC7B,QAAQ,IAAI,8CAA8C,eAAe,CAAC,UAAU,KAAK,CAAC;gBAC1F,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;oBAC9B,QAAQ,IAAI,uBAAuB,IAAI,QAAQ,eAAe,CAAC,SAAS,KAAK,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACtE,QAAQ,IAAI,qDAAqD,CAAC;gBAClE,MAAM,KAAK,GAAG,8BAAa,CAAC,uBAAuB,EAAE,CAAC;gBACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,QAAQ,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,wEAAwE,CAAC;QACvF,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AA91BD,wCA81BC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* π― MCP Fuzzy Detector - Friday Features Edition!
|
|
3
|
+
* Google-style "close enough is good enough" matching
|
|
4
|
+
* Ported from CLI v2.3.5 for MCP users
|
|
5
|
+
*/
|
|
6
|
+
interface FuzzyMatch {
|
|
7
|
+
detected: boolean;
|
|
8
|
+
type: string;
|
|
9
|
+
confidence: 'high' | 'medium' | 'low';
|
|
10
|
+
corrected?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class FuzzyDetector {
|
|
13
|
+
/**
|
|
14
|
+
* Common typos that MCP users make
|
|
15
|
+
*/
|
|
16
|
+
private static readonly TYPO_CORRECTIONS;
|
|
17
|
+
/**
|
|
18
|
+
* Detect Chrome Extension with fuzzy matching
|
|
19
|
+
*/
|
|
20
|
+
static detectChromeExtension(text: string): FuzzyMatch;
|
|
21
|
+
/**
|
|
22
|
+
* Detect project type with fuzzy matching
|
|
23
|
+
*/
|
|
24
|
+
static detectProjectType(text: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Correct common typos
|
|
27
|
+
*/
|
|
28
|
+
private static correctTypos;
|
|
29
|
+
/**
|
|
30
|
+
* Get auto-fill slots for Chrome Extensions (90%+ scores!)
|
|
31
|
+
*/
|
|
32
|
+
static getChromeExtensionSlots(): {
|
|
33
|
+
runtime: string;
|
|
34
|
+
hosting: string;
|
|
35
|
+
api_type: string;
|
|
36
|
+
backend: string;
|
|
37
|
+
database: string;
|
|
38
|
+
build: string;
|
|
39
|
+
package_manager: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Smart suggestions for typos
|
|
43
|
+
*/
|
|
44
|
+
static getSuggestion(input: string): string | null;
|
|
45
|
+
}
|
|
46
|
+
export declare function applyIntelFriday(projectData: any): any;
|
|
47
|
+
export {};
|
|
48
|
+
/**
|
|
49
|
+
* Friday Features for MCP! π
|
|
50
|
+
*
|
|
51
|
+
* Usage:
|
|
52
|
+
* 1. Import in your MCP handler
|
|
53
|
+
* 2. Use FuzzyDetector.detectProjectType() on user input
|
|
54
|
+
* 3. Apply applyIntelFriday() before scoring
|
|
55
|
+
* 4. Watch scores jump to 90%+!
|
|
56
|
+
*/
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* π― MCP Fuzzy Detector - Friday Features Edition!
|
|
4
|
+
* Google-style "close enough is good enough" matching
|
|
5
|
+
* Ported from CLI v2.3.5 for MCP users
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.FuzzyDetector = void 0;
|
|
9
|
+
exports.applyIntelFriday = applyIntelFriday;
|
|
10
|
+
class FuzzyDetector {
|
|
11
|
+
/**
|
|
12
|
+
* Common typos that MCP users make
|
|
13
|
+
*/
|
|
14
|
+
static TYPO_CORRECTIONS = {
|
|
15
|
+
// React typos
|
|
16
|
+
'raect': 'react',
|
|
17
|
+
'reat': 'react',
|
|
18
|
+
'recat': 'react',
|
|
19
|
+
'reaxt': 'react',
|
|
20
|
+
// Chrome Extension typos
|
|
21
|
+
'chrome extention': 'chrome extension',
|
|
22
|
+
'chrom extension': 'chrome extension',
|
|
23
|
+
'chrome exten': 'chrome extension',
|
|
24
|
+
'chr ext': 'chrome extension',
|
|
25
|
+
'ce': 'chrome extension',
|
|
26
|
+
// TypeScript typos
|
|
27
|
+
'typescipt': 'typescript',
|
|
28
|
+
'typscript': 'typescript',
|
|
29
|
+
'type script': 'typescript',
|
|
30
|
+
'ts': 'typescript',
|
|
31
|
+
// JavaScript typos
|
|
32
|
+
'javscript': 'javascript',
|
|
33
|
+
'javascrpt': 'javascript',
|
|
34
|
+
'java script': 'javascript',
|
|
35
|
+
'js': 'javascript',
|
|
36
|
+
// Python typos
|
|
37
|
+
'pyton': 'python',
|
|
38
|
+
'pythong': 'python',
|
|
39
|
+
'pyhton': 'python',
|
|
40
|
+
'py': 'python',
|
|
41
|
+
// Common framework typos
|
|
42
|
+
'nexjs': 'nextjs',
|
|
43
|
+
'next js': 'nextjs',
|
|
44
|
+
'vuee': 'vue',
|
|
45
|
+
'agular': 'angular',
|
|
46
|
+
'agnular': 'angular',
|
|
47
|
+
'sveltekit': 'svelte',
|
|
48
|
+
'svelte kit': 'svelte'
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Detect Chrome Extension with fuzzy matching
|
|
52
|
+
*/
|
|
53
|
+
static detectChromeExtension(text) {
|
|
54
|
+
if (!text) {
|
|
55
|
+
return { detected: false, type: '', confidence: 'low' };
|
|
56
|
+
}
|
|
57
|
+
const normalized = text.toLowerCase().trim();
|
|
58
|
+
const corrected = this.correctTypos(normalized);
|
|
59
|
+
// High confidence patterns
|
|
60
|
+
const highConfidence = [
|
|
61
|
+
'chrome extension',
|
|
62
|
+
'browser extension',
|
|
63
|
+
'chrome addon',
|
|
64
|
+
'browser addon',
|
|
65
|
+
'manifest.json',
|
|
66
|
+
'chrome web store'
|
|
67
|
+
];
|
|
68
|
+
for (const pattern of highConfidence) {
|
|
69
|
+
if (corrected.includes(pattern)) {
|
|
70
|
+
return {
|
|
71
|
+
detected: true,
|
|
72
|
+
type: 'chrome-extension',
|
|
73
|
+
confidence: 'high',
|
|
74
|
+
corrected: corrected !== normalized ? corrected : undefined
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Medium confidence patterns
|
|
79
|
+
const mediumConfidence = [
|
|
80
|
+
'extension',
|
|
81
|
+
'browser',
|
|
82
|
+
'chrome',
|
|
83
|
+
'addon',
|
|
84
|
+
'plugin'
|
|
85
|
+
];
|
|
86
|
+
let matchCount = 0;
|
|
87
|
+
for (const pattern of mediumConfidence) {
|
|
88
|
+
if (corrected.includes(pattern))
|
|
89
|
+
matchCount++;
|
|
90
|
+
}
|
|
91
|
+
if (matchCount >= 2) {
|
|
92
|
+
return {
|
|
93
|
+
detected: true,
|
|
94
|
+
type: 'chrome-extension',
|
|
95
|
+
confidence: 'medium',
|
|
96
|
+
corrected: corrected !== normalized ? corrected : undefined
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { detected: false, type: '', confidence: 'low' };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Detect project type with fuzzy matching
|
|
103
|
+
*/
|
|
104
|
+
static detectProjectType(text) {
|
|
105
|
+
if (!text)
|
|
106
|
+
return 'general';
|
|
107
|
+
const normalized = text.toLowerCase().trim();
|
|
108
|
+
const corrected = this.correctTypos(normalized);
|
|
109
|
+
// Check for Chrome Extension first (Friday Feature!)
|
|
110
|
+
const chromeCheck = this.detectChromeExtension(normalized);
|
|
111
|
+
if (chromeCheck.detected) {
|
|
112
|
+
return 'chrome-extension';
|
|
113
|
+
}
|
|
114
|
+
// React/Next.js
|
|
115
|
+
if (corrected.includes('react') || corrected.includes('next')) {
|
|
116
|
+
return 'react';
|
|
117
|
+
}
|
|
118
|
+
// Vue/Nuxt
|
|
119
|
+
if (corrected.includes('vue') || corrected.includes('nuxt')) {
|
|
120
|
+
return 'vue';
|
|
121
|
+
}
|
|
122
|
+
// Svelte/SvelteKit
|
|
123
|
+
if (corrected.includes('svelte')) {
|
|
124
|
+
return 'svelte';
|
|
125
|
+
}
|
|
126
|
+
// Angular
|
|
127
|
+
if (corrected.includes('angular')) {
|
|
128
|
+
return 'angular';
|
|
129
|
+
}
|
|
130
|
+
// Python frameworks
|
|
131
|
+
if (corrected.includes('fastapi'))
|
|
132
|
+
return 'python-fastapi';
|
|
133
|
+
if (corrected.includes('django'))
|
|
134
|
+
return 'python-django';
|
|
135
|
+
if (corrected.includes('flask'))
|
|
136
|
+
return 'python-flask';
|
|
137
|
+
// API/Backend
|
|
138
|
+
if (corrected.includes('api') || corrected.includes('backend')) {
|
|
139
|
+
return 'node-api';
|
|
140
|
+
}
|
|
141
|
+
// CLI
|
|
142
|
+
if (corrected.includes('cli') || corrected.includes('command')) {
|
|
143
|
+
return 'cli-tool';
|
|
144
|
+
}
|
|
145
|
+
// Mobile
|
|
146
|
+
if (corrected.includes('mobile') || corrected.includes('ios') || corrected.includes('android')) {
|
|
147
|
+
return 'mobile';
|
|
148
|
+
}
|
|
149
|
+
return 'general';
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Correct common typos
|
|
153
|
+
*/
|
|
154
|
+
static correctTypos(text) {
|
|
155
|
+
let corrected = text;
|
|
156
|
+
for (const [typo, correction] of Object.entries(this.TYPO_CORRECTIONS)) {
|
|
157
|
+
const regex = new RegExp(`\\b${typo}\\b`, 'gi');
|
|
158
|
+
corrected = corrected.replace(regex, correction);
|
|
159
|
+
}
|
|
160
|
+
return corrected;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get auto-fill slots for Chrome Extensions (90%+ scores!)
|
|
164
|
+
*/
|
|
165
|
+
static getChromeExtensionSlots() {
|
|
166
|
+
return {
|
|
167
|
+
runtime: 'Chrome/Browser',
|
|
168
|
+
hosting: 'Chrome Web Store',
|
|
169
|
+
api_type: 'Chrome Extension APIs',
|
|
170
|
+
backend: 'Service Worker',
|
|
171
|
+
database: 'chrome.storage API',
|
|
172
|
+
build: 'Webpack/Vite',
|
|
173
|
+
package_manager: 'npm'
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Smart suggestions for typos
|
|
178
|
+
*/
|
|
179
|
+
static getSuggestion(input) {
|
|
180
|
+
const corrected = this.correctTypos(input.toLowerCase());
|
|
181
|
+
if (corrected !== input.toLowerCase()) {
|
|
182
|
+
return corrected;
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.FuzzyDetector = FuzzyDetector;
|
|
188
|
+
// Intel-Friday: Simple IF statements adding massive value!
|
|
189
|
+
function applyIntelFriday(projectData) {
|
|
190
|
+
// IF: Chrome Extension detected β Auto-fill 7 slots for 90%+ score
|
|
191
|
+
if (projectData.project_type === 'chrome-extension' ||
|
|
192
|
+
FuzzyDetector.detectChromeExtension(projectData.description || '').detected) {
|
|
193
|
+
const chromeSlots = FuzzyDetector.getChromeExtensionSlots();
|
|
194
|
+
return {
|
|
195
|
+
...projectData,
|
|
196
|
+
...chromeSlots,
|
|
197
|
+
_friday_feature: 'Chrome Extension auto-filled! π―'
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
// IF: React detected β Add common React patterns
|
|
201
|
+
if (projectData.framework?.includes('react')) {
|
|
202
|
+
projectData.state_management = projectData.state_management || 'React Context/Redux';
|
|
203
|
+
projectData.css_framework = projectData.css_framework || 'Tailwind CSS';
|
|
204
|
+
}
|
|
205
|
+
// IF: Python detected β Add common Python patterns
|
|
206
|
+
if (projectData.language?.includes('python')) {
|
|
207
|
+
projectData.package_manager = 'pip';
|
|
208
|
+
projectData.runtime = 'Python 3.11+';
|
|
209
|
+
}
|
|
210
|
+
return projectData;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Friday Features for MCP! π
|
|
214
|
+
*
|
|
215
|
+
* Usage:
|
|
216
|
+
* 1. Import in your MCP handler
|
|
217
|
+
* 2. Use FuzzyDetector.detectProjectType() on user input
|
|
218
|
+
* 3. Apply applyIntelFriday() before scoring
|
|
219
|
+
* 4. Watch scores jump to 90%+!
|
|
220
|
+
*/
|
|
221
|
+
//# sourceMappingURL=fuzzy-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy-detector.js","sourceRoot":"","sources":["../../../src/utils/fuzzy-detector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-faf-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": ".faf The JPEG for AI is here. The C in MCP is .faf - Foundational AI-context Format. Universal AI context management with 33+ tools for Claude Desktop. Every command shows AI-Readiness score. Drop file β Type 'faf' β 99% ready!",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"bin": {
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
},
|
|
57
57
|
"files": [
|
|
58
58
|
"dist/**/*",
|
|
59
|
-
"src/**/*",
|
|
60
59
|
"README.md",
|
|
61
60
|
"CLAUDE.md",
|
|
62
61
|
".faf",
|
package/src/cli.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { program } from 'commander';
|
|
4
|
-
import { ClaudeFafMcpServer } from './server';
|
|
5
|
-
import * as path from 'path';
|
|
6
|
-
|
|
7
|
-
program
|
|
8
|
-
.name('claude-faf-mcp')
|
|
9
|
-
.description('Universal FAF MCP Server for Claude - AI Context Intelligence & Project Enhancement')
|
|
10
|
-
.version('2.2.0')
|
|
11
|
-
.option('-t, --transport <type>', 'Transport type (stdio|http-sse)', 'stdio')
|
|
12
|
-
.option('-p, --port <number>', 'Port for HTTP-SSE transport', '3001')
|
|
13
|
-
.option('--faf-engine <path>', 'Path to FAF CLI engine', 'faf')
|
|
14
|
-
.option('--debug', 'Enable debug logging')
|
|
15
|
-
.action(async (options) => {
|
|
16
|
-
try {
|
|
17
|
-
const server = new ClaudeFafMcpServer({
|
|
18
|
-
transport: options.transport,
|
|
19
|
-
port: options.transport === 'http-sse' ? parseInt(options.port) : undefined,
|
|
20
|
-
fafEnginePath: options.fafEngine,
|
|
21
|
-
debug: options.debug
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
await server.start();
|
|
25
|
-
} catch (error) {
|
|
26
|
-
console.error('Failed to start Claude FAF MCP Server:', error);
|
|
27
|
-
process.exit(1);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
program.parse();
|