faf-mcp 2.3.0 → 3.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/CHANGELOG.md +42 -3
- package/CLAUDE.md +7 -7
- package/README.md +73 -74
- package/dist/src/faf-core/commands/bi-sync.d.ts +1 -3
- package/dist/src/faf-core/commands/bi-sync.js +21 -64
- package/dist/src/faf-core/commands/bi-sync.js.map +1 -1
- package/dist/src/faf-core/commands/sync.js.map +1 -1
- package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -1
- package/dist/src/faf-core/fix-once/colors.js +1 -1
- package/dist/src/faf-core/fix-once/colors.js.map +1 -1
- package/dist/src/faf-core/parsers/agents-parser.d.ts +15 -0
- package/dist/src/faf-core/parsers/agents-parser.js +29 -123
- package/dist/src/faf-core/parsers/agents-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/conductor-parser.js +1 -1
- package/dist/src/faf-core/parsers/conductor-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/cursorrules-parser.d.ts +15 -0
- package/dist/src/faf-core/parsers/cursorrules-parser.js +54 -111
- package/dist/src/faf-core/parsers/cursorrules-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/faf-git-generator.js +0 -1
- package/dist/src/faf-core/parsers/faf-git-generator.js.map +1 -1
- package/dist/src/faf-core/parsers/gemini-parser.d.ts +10 -0
- package/dist/src/faf-core/parsers/gemini-parser.js +19 -77
- package/dist/src/faf-core/parsers/gemini-parser.js.map +1 -1
- package/dist/src/handlers/engine-adapter.d.ts +13 -12
- package/dist/src/handlers/engine-adapter.js +124 -688
- package/dist/src/handlers/engine-adapter.js.map +1 -1
- package/dist/src/handlers/resources.d.ts +19 -1
- package/dist/src/handlers/resources.js +108 -23
- package/dist/src/handlers/resources.js.map +1 -1
- package/dist/src/handlers/skills.d.ts +70 -0
- package/dist/src/handlers/skills.js +174 -0
- package/dist/src/handlers/skills.js.map +1 -0
- package/dist/src/handlers/tools.d.ts +41 -5
- package/dist/src/handlers/tools.js +213 -258
- package/dist/src/handlers/tools.js.map +1 -1
- package/dist/src/server.d.ts +4 -0
- package/dist/src/server.js +51 -6
- package/dist/src/server.js.map +1 -1
- package/dist/src/utils/faf-cli-bridge.d.ts +2 -0
- package/dist/src/utils/faf-cli-bridge.js +16 -0
- package/dist/src/utils/faf-cli-bridge.js.map +1 -1
- package/package.json +17 -14
- package/project.faf +23 -5
- package/scripts/check-engines.mjs +53 -0
- package/scripts/run-tests.sh +54 -0
- package/scripts/sync-version.js +33 -19
- package/skills/faf-ide/SKILL.md +40 -0
- package/dist/src/config/visibility.d.ts +0 -41
- package/dist/src/config/visibility.js +0 -158
- package/dist/src/config/visibility.js.map +0 -1
- package/dist/src/faf-core/commands/audit.d.ts +0 -21
- package/dist/src/faf-core/commands/audit.js +0 -83
- package/dist/src/faf-core/commands/audit.js.map +0 -1
- package/dist/src/faf-core/commands/auto.d.ts +0 -25
- package/dist/src/faf-core/commands/auto.js +0 -74
- package/dist/src/faf-core/commands/auto.js.map +0 -1
- package/dist/src/faf-core/commands/doctor.d.ts +0 -17
- package/dist/src/faf-core/commands/doctor.js +0 -198
- package/dist/src/faf-core/commands/doctor.js.map +0 -1
- package/dist/src/faf-core/commands/enhance.d.ts +0 -46
- package/dist/src/faf-core/commands/enhance.js +0 -360
- package/dist/src/faf-core/commands/enhance.js.map +0 -1
- package/dist/src/faf-core/commands/formats.d.ts +0 -22
- package/dist/src/faf-core/commands/formats.js +0 -117
- package/dist/src/faf-core/commands/formats.js.map +0 -1
- package/dist/src/faf-core/commands/human.d.ts +0 -27
- package/dist/src/faf-core/commands/human.js +0 -183
- package/dist/src/faf-core/commands/human.js.map +0 -1
- package/dist/src/faf-core/commands/init.d.ts +0 -26
- package/dist/src/faf-core/commands/init.js +0 -114
- package/dist/src/faf-core/commands/init.js.map +0 -1
- package/dist/src/faf-core/commands/innit.d.ts +0 -7
- package/dist/src/faf-core/commands/innit.js +0 -13
- package/dist/src/faf-core/commands/innit.js.map +0 -1
- package/dist/src/faf-core/commands/migrate.d.ts +0 -15
- package/dist/src/faf-core/commands/migrate.js +0 -86
- package/dist/src/faf-core/commands/migrate.js.map +0 -1
- package/dist/src/faf-core/commands/quick.d.ts +0 -16
- package/dist/src/faf-core/commands/quick.js +0 -184
- package/dist/src/faf-core/commands/quick.js.map +0 -1
- package/dist/src/faf-core/commands/readme.d.ts +0 -47
- package/dist/src/faf-core/commands/readme.js +0 -361
- package/dist/src/faf-core/commands/readme.js.map +0 -1
- package/dist/src/faf-core/commands/score.d.ts +0 -47
- package/dist/src/faf-core/commands/score.js +0 -49
- package/dist/src/faf-core/commands/score.js.map +0 -1
- package/dist/src/faf-core/commands/update.d.ts +0 -12
- package/dist/src/faf-core/commands/update.js +0 -46
- package/dist/src/faf-core/commands/update.js.map +0 -1
- package/dist/src/faf-core/commands/validate.d.ts +0 -21
- package/dist/src/faf-core/commands/validate.js +0 -81
- package/dist/src/faf-core/commands/validate.js.map +0 -1
- package/dist/src/faf-core/compiler/faf-compiler.d.ts +0 -138
- package/dist/src/faf-core/compiler/faf-compiler.js +0 -1362
- package/dist/src/faf-core/compiler/faf-compiler.js.map +0 -1
- package/dist/src/faf-core/engines/fab-formats-processor.d.ts +0 -166
- package/dist/src/faf-core/engines/fab-formats-processor.js +0 -1274
- package/dist/src/faf-core/engines/fab-formats-processor.js.map +0 -1
- package/dist/src/faf-core/engines/faf-dna.d.ts +0 -159
- package/dist/src/faf-core/engines/faf-dna.js +0 -555
- package/dist/src/faf-core/engines/faf-dna.js.map +0 -1
- package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +0 -100
- package/dist/src/faf-core/engines/relentless-context-extractor.js +0 -625
- package/dist/src/faf-core/engines/relentless-context-extractor.js.map +0 -1
- package/dist/src/faf-core/fix-once/types.d.ts +0 -257
- package/dist/src/faf-core/fix-once/types.js +0 -26
- package/dist/src/faf-core/fix-once/types.js.map +0 -1
- package/dist/src/faf-core/generators/faf-generator-championship.d.ts +0 -16
- package/dist/src/faf-core/generators/faf-generator-championship.js +0 -463
- package/dist/src/faf-core/generators/faf-generator-championship.js.map +0 -1
- package/dist/src/faf-core/inject.d.ts +0 -19
- package/dist/src/faf-core/inject.js +0 -57
- package/dist/src/faf-core/inject.js.map +0 -1
- package/dist/src/faf-core/parsers/index.d.ts +0 -12
- package/dist/src/faf-core/parsers/index.js +0 -29
- package/dist/src/faf-core/parsers/index.js.map +0 -1
- package/dist/src/faf-core/utils/balance-visualizer.d.ts +0 -37
- package/dist/src/faf-core/utils/balance-visualizer.js +0 -197
- package/dist/src/faf-core/utils/balance-visualizer.js.map +0 -1
- package/dist/src/faf-core/utils/championship-style.d.ts +0 -109
- package/dist/src/faf-core/utils/championship-style.js +0 -219
- package/dist/src/faf-core/utils/championship-style.js.map +0 -1
- package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +0 -73
- package/dist/src/faf-core/utils/chrome-extension-detector.js +0 -268
- package/dist/src/faf-core/utils/chrome-extension-detector.js.map +0 -1
- package/dist/src/faf-core/utils/platform-detector.d.ts +0 -30
- package/dist/src/faf-core/utils/platform-detector.js +0 -218
- package/dist/src/faf-core/utils/platform-detector.js.map +0 -1
- package/dist/src/faf-core/utils/technical-credit.d.ts +0 -35
- package/dist/src/faf-core/utils/technical-credit.js +0 -286
- package/dist/src/faf-core/utils/technical-credit.js.map +0 -1
- package/dist/src/faf-core/utils/yaml-generator.d.ts +0 -41
- package/dist/src/faf-core/utils/yaml-generator.js +0 -360
- package/dist/src/faf-core/utils/yaml-generator.js.map +0 -1
- package/dist/src/handlers/behavioral-instruction.d.ts +0 -16
- package/dist/src/handlers/behavioral-instruction.js +0 -43
- package/dist/src/handlers/behavioral-instruction.js.map +0 -1
- package/dist/src/handlers/championship-tools.d.ts +0 -116
- package/dist/src/handlers/championship-tools.js +0 -2320
- package/dist/src/handlers/championship-tools.js.map +0 -1
- package/dist/src/handlers/cloud-handler.d.ts +0 -59
- package/dist/src/handlers/cloud-handler.js +0 -348
- package/dist/src/handlers/cloud-handler.js.map +0 -1
- package/dist/src/handlers/tool-registry.d.ts +0 -23
- package/dist/src/handlers/tool-registry.js +0 -68
- package/dist/src/handlers/tool-registry.js.map +0 -1
- package/dist/src/handlers/tool-types.d.ts +0 -167
- package/dist/src/handlers/tool-types.js +0 -7
- package/dist/src/handlers/tool-types.js.map +0 -1
- package/dist/src/test-all-functions.d.ts +0 -15
- package/dist/src/test-all-functions.js +0 -163
- package/dist/src/test-all-functions.js.map +0 -1
- package/dist/src/types/mcp-tools.d.ts +0 -53
- package/dist/src/types/mcp-tools.js +0 -77
- package/dist/src/types/mcp-tools.js.map +0 -1
- package/dist/src/types/tool-visibility.d.ts +0 -36
- package/dist/src/types/tool-visibility.js +0 -551
- package/dist/src/types/tool-visibility.js.map +0 -1
- package/dist/src/utils/auto-path-detection.d.ts +0 -26
- package/dist/src/utils/auto-path-detection.js +0 -198
- package/dist/src/utils/auto-path-detection.js.map +0 -1
- package/dist/src/utils/championship-format.d.ts +0 -30
- package/dist/src/utils/championship-format.js +0 -81
- package/dist/src/utils/championship-format.js.map +0 -1
- package/dist/src/utils/cli-detector.d.ts +0 -17
- package/dist/src/utils/cli-detector.js +0 -247
- package/dist/src/utils/cli-detector.js.map +0 -1
- package/dist/src/utils/display-protocol.d.ts +0 -57
- package/dist/src/utils/display-protocol.js +0 -131
- package/dist/src/utils/display-protocol.js.map +0 -1
- package/dist/src/utils/username-detector.d.ts +0 -27
- package/dist/src/utils/username-detector.js +0 -90
- package/dist/src/utils/username-detector.js.map +0 -1
- package/dist/src/utils/visual-style.d.ts +0 -62
- package/dist/src/utils/visual-style.js +0 -166
- package/dist/src/utils/visual-style.js.map +0 -1
- package/scripts/postinstall.js +0 -50
- package/skill/SKILL.md +0 -385
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 🔍 faf validate - Validation Command (Mk3 Bundled)
|
|
4
|
-
* Validates project.faf files with detailed feedback
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.validateFafFile = validateFafFile;
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const yaml_1 = require("../fix-once/yaml");
|
|
10
|
-
const file_utils_1 = require("../utils/file-utils");
|
|
11
|
-
async function validateFafFile(projectPath, options = {}) {
|
|
12
|
-
try {
|
|
13
|
-
const fafPath = projectPath ? `${projectPath}/project.faf` : await (0, file_utils_1.findFafFile)();
|
|
14
|
-
if (!fafPath || !await (0, file_utils_1.fileExists)(fafPath)) {
|
|
15
|
-
return {
|
|
16
|
-
success: false,
|
|
17
|
-
valid: false,
|
|
18
|
-
errors: [{ message: 'No project.faf file found', severity: 'error' }],
|
|
19
|
-
warnings: [],
|
|
20
|
-
message: 'No project.faf file found. Run faf init first.'
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
// Read and parse project.faf file
|
|
24
|
-
const content = await fs_1.promises.readFile(fafPath, 'utf-8');
|
|
25
|
-
let fafData;
|
|
26
|
-
try {
|
|
27
|
-
fafData = (0, yaml_1.parse)(content);
|
|
28
|
-
}
|
|
29
|
-
catch (parseError) {
|
|
30
|
-
return {
|
|
31
|
-
success: false,
|
|
32
|
-
valid: false,
|
|
33
|
-
errors: [{ message: 'Invalid YAML syntax', severity: 'error' }],
|
|
34
|
-
warnings: [],
|
|
35
|
-
message: 'project.faf contains invalid YAML'
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
// Validate structure
|
|
39
|
-
const errors = [];
|
|
40
|
-
const warnings = [];
|
|
41
|
-
// Check required top-level fields
|
|
42
|
-
if (!fafData.faf_version) {
|
|
43
|
-
errors.push({ message: 'Missing required field: faf_version', path: 'faf_version', severity: 'error' });
|
|
44
|
-
}
|
|
45
|
-
if (!fafData.project) {
|
|
46
|
-
errors.push({ message: 'Missing required section: project', path: 'project', severity: 'error' });
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
if (!fafData.project.name) {
|
|
50
|
-
errors.push({ message: 'Missing required field: project.name', path: 'project.name', severity: 'error' });
|
|
51
|
-
}
|
|
52
|
-
if (!fafData.project.goal) {
|
|
53
|
-
warnings.push({ message: 'Missing recommended field: project.goal', path: 'project.goal', severity: 'warning' });
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (!fafData.instant_context) {
|
|
57
|
-
warnings.push({ message: 'Missing recommended section: instant_context', path: 'instant_context', severity: 'warning' });
|
|
58
|
-
}
|
|
59
|
-
if (!fafData.stack) {
|
|
60
|
-
warnings.push({ message: 'Missing recommended section: stack', path: 'stack', severity: 'warning' });
|
|
61
|
-
}
|
|
62
|
-
const valid = errors.length === 0;
|
|
63
|
-
return {
|
|
64
|
-
success: true,
|
|
65
|
-
valid,
|
|
66
|
-
errors,
|
|
67
|
-
warnings,
|
|
68
|
-
message: valid ? 'Valid project.faf file' : `Invalid project.faf file (${errors.length} errors, ${warnings.length} warnings)`
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
return {
|
|
73
|
-
success: false,
|
|
74
|
-
valid: false,
|
|
75
|
-
errors: [{ message: error instanceof Error ? error.message : 'Validation failed', severity: 'error' }],
|
|
76
|
-
warnings: [],
|
|
77
|
-
message: 'Validation failed'
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/faf-core/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 🏎️ FAF Scoring Compiler
|
|
3
|
-
* Deterministic, multi-pass compiler for .faf scoring
|
|
4
|
-
*
|
|
5
|
-
* Philosophy: Like Svelte, we compile away the complexity
|
|
6
|
-
* Result: Pure, traceable, reproducible scores
|
|
7
|
-
*/
|
|
8
|
-
export interface CompilationResult {
|
|
9
|
-
score: number;
|
|
10
|
-
filled: number;
|
|
11
|
-
total: number;
|
|
12
|
-
breakdown: SectionBreakdown;
|
|
13
|
-
trace: CompilationTrace;
|
|
14
|
-
diagnostics: Diagnostic[];
|
|
15
|
-
ir: IntermediateRepresentation;
|
|
16
|
-
checksum: string;
|
|
17
|
-
}
|
|
18
|
-
interface SectionBreakdown {
|
|
19
|
-
project: SlotSection;
|
|
20
|
-
stack: SlotSection;
|
|
21
|
-
human: SlotSection;
|
|
22
|
-
discovery: SlotSection;
|
|
23
|
-
}
|
|
24
|
-
interface SlotSection {
|
|
25
|
-
filled: number;
|
|
26
|
-
total: number;
|
|
27
|
-
percentage: number;
|
|
28
|
-
slots: SlotInfo[];
|
|
29
|
-
}
|
|
30
|
-
interface SlotInfo {
|
|
31
|
-
id: string;
|
|
32
|
-
value: any;
|
|
33
|
-
filled: boolean;
|
|
34
|
-
source: 'original' | 'discovered' | 'default';
|
|
35
|
-
points: number;
|
|
36
|
-
}
|
|
37
|
-
interface CompilationTrace {
|
|
38
|
-
version: string;
|
|
39
|
-
timestamp: string;
|
|
40
|
-
inputHash: string;
|
|
41
|
-
passes: PassResult[];
|
|
42
|
-
}
|
|
43
|
-
interface PassResult {
|
|
44
|
-
name: string;
|
|
45
|
-
duration: number;
|
|
46
|
-
input: any;
|
|
47
|
-
output: any;
|
|
48
|
-
changes: string[];
|
|
49
|
-
}
|
|
50
|
-
interface Diagnostic {
|
|
51
|
-
severity: 'error' | 'warning' | 'info';
|
|
52
|
-
message: string;
|
|
53
|
-
location?: {
|
|
54
|
-
line: number;
|
|
55
|
-
column: number;
|
|
56
|
-
field: string;
|
|
57
|
-
};
|
|
58
|
-
suggestion?: string;
|
|
59
|
-
}
|
|
60
|
-
interface IntermediateRepresentation {
|
|
61
|
-
version: string;
|
|
62
|
-
slots: IRSlot[];
|
|
63
|
-
metadata: Record<string, any>;
|
|
64
|
-
}
|
|
65
|
-
interface IRSlot {
|
|
66
|
-
id: string;
|
|
67
|
-
path: string;
|
|
68
|
-
value: any;
|
|
69
|
-
type: string;
|
|
70
|
-
source: 'original' | 'discovered';
|
|
71
|
-
weight: number;
|
|
72
|
-
filled: boolean;
|
|
73
|
-
}
|
|
74
|
-
export declare class FafCompiler {
|
|
75
|
-
private static readonly VERSION;
|
|
76
|
-
private diagnostics;
|
|
77
|
-
private trace;
|
|
78
|
-
private ir;
|
|
79
|
-
constructor();
|
|
80
|
-
/**
|
|
81
|
-
* Main compilation pipeline
|
|
82
|
-
*/
|
|
83
|
-
compile(fafPath: string): Promise<CompilationResult>;
|
|
84
|
-
private readSource;
|
|
85
|
-
private parse;
|
|
86
|
-
private analyze;
|
|
87
|
-
private validateTypes;
|
|
88
|
-
private optimize;
|
|
89
|
-
private discover;
|
|
90
|
-
private removeDefaults;
|
|
91
|
-
private generate;
|
|
92
|
-
private buildIR;
|
|
93
|
-
private addSlot;
|
|
94
|
-
private isSlotFilled;
|
|
95
|
-
private hasValue;
|
|
96
|
-
private detectProjectTypeFromContext;
|
|
97
|
-
private requiresFrontendStack;
|
|
98
|
-
private requiresBackendStack;
|
|
99
|
-
private calculateSlots;
|
|
100
|
-
private calculateScore;
|
|
101
|
-
private calculateChecksum;
|
|
102
|
-
private recordPass;
|
|
103
|
-
private sanitize;
|
|
104
|
-
private addDiagnostic;
|
|
105
|
-
/**
|
|
106
|
-
* Compile with trace output
|
|
107
|
-
*/
|
|
108
|
-
compileWithTrace(fafPath: string): Promise<CompilationResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Verify a checksum
|
|
111
|
-
*/
|
|
112
|
-
verify(fafPath: string, checksum: string): Promise<boolean>;
|
|
113
|
-
/**
|
|
114
|
-
* Get intermediate representation
|
|
115
|
-
*/
|
|
116
|
-
getIR(fafPath: string): Promise<IntermediateRepresentation>;
|
|
117
|
-
/**
|
|
118
|
-
* Print diagnostic report
|
|
119
|
-
*/
|
|
120
|
-
printDiagnostics(): void;
|
|
121
|
-
/**
|
|
122
|
-
* Print compilation trace
|
|
123
|
-
*/
|
|
124
|
-
private printTrace;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Compile a .faf file
|
|
128
|
-
*/
|
|
129
|
-
export declare function compile(fafPath: string): Promise<CompilationResult>;
|
|
130
|
-
/**
|
|
131
|
-
* Compile with trace output
|
|
132
|
-
*/
|
|
133
|
-
export declare function compileWithTrace(fafPath: string): Promise<CompilationResult>;
|
|
134
|
-
/**
|
|
135
|
-
* Verify a checksum
|
|
136
|
-
*/
|
|
137
|
-
export declare function verify(fafPath: string, checksum: string): Promise<boolean>;
|
|
138
|
-
export {};
|