faf-cli 2.4.8 → 2.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/cli.js +0 -0
  2. package/dist/commands/ai-analyze.js +32 -35
  3. package/dist/commands/ai-analyze.js.map +1 -1
  4. package/dist/commands/ai-enhance.js +19 -22
  5. package/dist/commands/ai-enhance.js.map +1 -1
  6. package/dist/commands/audit.js +18 -21
  7. package/dist/commands/audit.js.map +1 -1
  8. package/dist/commands/auto.js +30 -33
  9. package/dist/commands/auto.js.map +1 -1
  10. package/dist/commands/chat.js +2 -2
  11. package/dist/commands/chat.js.map +1 -1
  12. package/dist/commands/convert.js +13 -16
  13. package/dist/commands/convert.js.map +1 -1
  14. package/dist/commands/doctor.js +11 -14
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/edit-helper.js +23 -26
  17. package/dist/commands/edit-helper.js.map +1 -1
  18. package/dist/commands/enhance-real.js +46 -46
  19. package/dist/commands/enhance-real.js.map +1 -1
  20. package/dist/commands/faq.js +12 -12
  21. package/dist/commands/faq.js.map +1 -1
  22. package/dist/commands/formats.js +6 -9
  23. package/dist/commands/formats.js.map +1 -1
  24. package/dist/commands/index.js +11 -14
  25. package/dist/commands/index.js.map +1 -1
  26. package/dist/commands/lint.js +18 -21
  27. package/dist/commands/lint.js.map +1 -1
  28. package/dist/commands/notifications.js +3 -6
  29. package/dist/commands/notifications.js.map +1 -1
  30. package/dist/commands/quick.js +18 -21
  31. package/dist/commands/quick.js.map +1 -1
  32. package/dist/commands/score-v3.js +28 -31
  33. package/dist/commands/score-v3.js.map +1 -1
  34. package/dist/commands/score.js +26 -29
  35. package/dist/commands/score.js.map +1 -1
  36. package/dist/commands/show.js +25 -28
  37. package/dist/commands/show.js.map +1 -1
  38. package/dist/commands/sync.js +17 -20
  39. package/dist/commands/sync.js.map +1 -1
  40. package/dist/commands/trust.js +31 -31
  41. package/dist/commands/trust.js.map +1 -1
  42. package/dist/commands/verify.js +21 -21
  43. package/dist/commands/verify.js.map +1 -1
  44. package/dist/commands/version.js +6 -9
  45. package/dist/commands/version.js.map +1 -1
  46. package/dist/commands/vibe.js +2 -5
  47. package/dist/commands/vibe.js.map +1 -1
  48. package/dist/commands/welcome.js +15 -18
  49. package/dist/commands/welcome.js.map +1 -1
  50. package/dist/tests/test-chrome-fuzzy.js +7 -10
  51. package/dist/tests/test-chrome-fuzzy.js.map +1 -1
  52. package/dist/utils/announcements.js +27 -27
  53. package/dist/utils/announcements.js.map +1 -1
  54. package/dist/utils/chrome-extension-confirmer.js +5 -5
  55. package/dist/utils/chrome-extension-confirmer.js.map +1 -1
  56. package/dist/utils/color-utils.d.ts +6 -6
  57. package/dist/utils/color-utils.js +20 -23
  58. package/dist/utils/color-utils.js.map +1 -1
  59. package/dist/utils/email-opt-in.js +22 -22
  60. package/dist/utils/email-opt-in.js.map +1 -1
  61. package/dist/utils/feedback-messages.d.ts +1 -1
  62. package/dist/utils/feedback-messages.d.ts.map +1 -1
  63. package/dist/utils/feedback-messages.js +32 -35
  64. package/dist/utils/feedback-messages.js.map +1 -1
  65. package/dist/utils/score-header.js +7 -10
  66. package/dist/utils/score-header.js.map +1 -1
  67. package/dist/utils/update-checker.js +2 -2
  68. package/dist/utils/update-checker.js.map +1 -1
  69. package/package.json +2 -2
  70. package/dist/commands/about.d.ts +0 -10
  71. package/dist/commands/about.d.ts.map +0 -1
  72. package/dist/commands/about.js +0 -249
  73. package/dist/commands/about.js.map +0 -1
  74. package/dist/commands/art.d.ts +0 -10
  75. package/dist/commands/art.d.ts.map +0 -1
  76. package/dist/commands/art.js +0 -130
  77. package/dist/commands/art.js.map +0 -1
  78. package/dist/commands/email.d.ts +0 -23
  79. package/dist/commands/email.d.ts.map +0 -1
  80. package/dist/commands/email.js +0 -183
  81. package/dist/commands/email.js.map +0 -1
  82. package/dist/commands/license-config.d.ts +0 -10
  83. package/dist/commands/license-config.d.ts.map +0 -1
  84. package/dist/commands/license-config.js +0 -140
  85. package/dist/commands/license-config.js.map +0 -1
  86. package/dist/commands/license.d.ts +0 -7
  87. package/dist/commands/license.d.ts.map +0 -1
  88. package/dist/commands/license.js +0 -60
  89. package/dist/commands/license.js.map +0 -1
  90. package/dist/commands/submit-art.d.ts +0 -25
  91. package/dist/commands/submit-art.d.ts.map +0 -1
  92. package/dist/commands/submit-art.js +0 -348
  93. package/dist/commands/submit-art.js.map +0 -1
  94. package/dist/commands/subscribe.d.ts +0 -12
  95. package/dist/commands/subscribe.d.ts.map +0 -1
  96. package/dist/commands/subscribe.js +0 -38
  97. package/dist/commands/subscribe.js.map +0 -1
  98. package/dist/engine/engine-loader.d.ts +0 -24
  99. package/dist/engine/engine-loader.d.ts.map +0 -1
  100. package/dist/engine/engine-loader.js +0 -156
  101. package/dist/engine/engine-loader.js.map +0 -1
  102. package/dist/engine-bridge.d.ts +0 -38
  103. package/dist/engine-bridge.d.ts.map +0 -1
  104. package/dist/engine-bridge.js +0 -71
  105. package/dist/engine-bridge.js.map +0 -1
  106. package/dist/engine-mk2/mk2-core.d.ts +0 -38
  107. package/dist/engine-mk2/mk2-core.d.ts.map +0 -1
  108. package/dist/engine-mk2/mk2-core.js +0 -217
  109. package/dist/engine-mk2/mk2-core.js.map +0 -1
  110. package/dist/license/license-config.d.ts +0 -59
  111. package/dist/license/license-config.d.ts.map +0 -1
  112. package/dist/license/license-config.js +0 -263
  113. package/dist/license/license-config.js.map +0 -1
  114. package/dist/license/license-controller.d.ts +0 -41
  115. package/dist/license/license-controller.d.ts.map +0 -1
  116. package/dist/license/license-controller.js +0 -243
  117. package/dist/license/license-controller.js.map +0 -1
  118. package/dist/utils/art-gallery.d.ts +0 -66
  119. package/dist/utils/art-gallery.d.ts.map +0 -1
  120. package/dist/utils/art-gallery.js +0 -320
  121. package/dist/utils/art-gallery.js.map +0 -1
  122. package/dist/utils/error-handler.d.ts +0 -27
  123. package/dist/utils/error-handler.d.ts.map +0 -1
  124. package/dist/utils/error-handler.js +0 -152
  125. package/dist/utils/error-handler.js.map +0 -1
  126. package/dist/utils/score-indicators.d.ts +0 -47
  127. package/dist/utils/score-indicators.d.ts.map +0 -1
  128. package/dist/utils/score-indicators.js +0 -197
  129. package/dist/utils/score-indicators.js.map +0 -1
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /**
3
- * 📧 faf subscribe - Email subscription management
4
- */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.subscribeCommand = subscribeCommand;
10
- const chalk_1 = __importDefault(require("chalk"));
11
- const email_opt_in_1 = require("../utils/email-opt-in");
12
- async function subscribeCommand(options = {}) {
13
- try {
14
- // Show status
15
- if (options.status) {
16
- (0, email_opt_in_1.showSubscriptionStatus)();
17
- return;
18
- }
19
- // Unsubscribe
20
- if (options.unsubscribe) {
21
- (0, email_opt_in_1.unsubscribe)();
22
- return;
23
- }
24
- // Subscribe with provided email
25
- if (options.email) {
26
- await (0, email_opt_in_1.subscribeViaFlag)(options.email);
27
- return;
28
- }
29
- // Interactive subscribe
30
- await (0, email_opt_in_1.promptEmailOptIn)({ quiet: options.quiet });
31
- }
32
- catch (error) {
33
- console.log(chalk_1.default.red('Error managing subscription:'));
34
- console.log(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
35
- process.exit(1);
36
- }
37
- }
38
- //# sourceMappingURL=subscribe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../src/commands/subscribe.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAiBH,4CA4BC;AA3CD,kDAA0B;AAC1B,wDAK+B;AASxB,KAAK,UAAU,gBAAgB,CAAC,UAA4B,EAAE;IACjE,IAAI,CAAC;QACD,cAAc;QACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAA,qCAAsB,GAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,cAAc;QACd,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,IAAA,0BAAW,GAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAA,+BAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAA,+BAAgB,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAErD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Engine Loader - Loads MK-1 or MK-2 based on license
3
- */
4
- interface Engine {
5
- name: string;
6
- version: string;
7
- analyzeProject(path: string): Promise<any>;
8
- calculateScore(data: any): Promise<any>;
9
- }
10
- declare class EngineLoader {
11
- private static instance;
12
- private currentEngine;
13
- private constructor();
14
- static getInstance(): EngineLoader;
15
- loadEngine(): Promise<Engine>;
16
- private loadMK1;
17
- private loadMK2;
18
- private getFallbackEngine;
19
- getEngineInfo(): any;
20
- reloadWithNewLicense(): Promise<Engine>;
21
- }
22
- export declare const engineLoader: EngineLoader;
23
- export {};
24
- //# sourceMappingURL=engine-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-loader.d.ts","sourceRoot":"","sources":["../../src/engine/engine-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACzC;AAED,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAO5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YA0BrB,OAAO;YAoDP,OAAO;IAqCrB,OAAO,CAAC,iBAAiB;IAwBzB,aAAa,IAAI,GAAG;IAcd,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI9C;AAED,eAAO,MAAM,YAAY,cAA6B,CAAC"}
@@ -1,156 +0,0 @@
1
- "use strict";
2
- /**
3
- * Engine Loader - Loads MK-1 or MK-2 based on license
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.engineLoader = void 0;
7
- const license_controller_1 = require("../license/license-controller");
8
- class EngineLoader {
9
- static instance;
10
- currentEngine = null;
11
- constructor() { }
12
- static getInstance() {
13
- if (!this.instance) {
14
- this.instance = new EngineLoader();
15
- }
16
- return this.instance;
17
- }
18
- async loadEngine() {
19
- if (this.currentEngine) {
20
- return this.currentEngine;
21
- }
22
- const license = license_controller_1.licenseController.getLicense();
23
- const engineVersion = license.engine;
24
- console.log(`Loading ${engineVersion} engine (${license.type} license)`);
25
- try {
26
- if (engineVersion === 'MK-2' && license_controller_1.licenseController.canUseEngine('MK-2')) {
27
- // Load MK-2 (obfuscated in production)
28
- this.currentEngine = await this.loadMK2();
29
- }
30
- else {
31
- // Fall back to MK-1
32
- this.currentEngine = await this.loadMK1();
33
- }
34
- }
35
- catch (error) {
36
- console.warn('Failed to load engine, using fallback');
37
- this.currentEngine = this.getFallbackEngine();
38
- }
39
- return this.currentEngine;
40
- }
41
- async loadMK1() {
42
- // MK-1 is the basic engine
43
- return {
44
- name: 'FAF Engine MK-1',
45
- version: '1.0.0',
46
- async analyzeProject(path) {
47
- // Basic analysis
48
- const fs = require('fs');
49
- const glob = require('glob');
50
- const files = glob.sync('**/*', {
51
- cwd: path,
52
- ignore: ['node_modules/**', '.git/**'],
53
- nodir: true
54
- });
55
- return {
56
- engine: 'MK-1',
57
- filesFound: files.length,
58
- formats: this.detectBasicFormats(files),
59
- score: Math.min(70, 10 + files.length) // Capped at 70%
60
- };
61
- },
62
- async calculateScore(data) {
63
- const baseScore = 10;
64
- const fileBonus = Math.min(30, data.filesFound || 0);
65
- const formatBonus = Math.min(30, (data.formats?.length || 0) * 5);
66
- const total = baseScore + fileBonus + formatBonus;
67
- const capped = Math.min(70, total); // MK-1 caps at 70%
68
- return {
69
- engine: 'MK-1',
70
- score: capped,
71
- limit: 70,
72
- capped: total > 70
73
- };
74
- },
75
- detectBasicFormats(files) {
76
- const formats = new Set();
77
- files.forEach(file => {
78
- const ext = file.split('.').pop();
79
- if (ext)
80
- formats.add(ext);
81
- });
82
- return Array.from(formats);
83
- }
84
- };
85
- }
86
- async loadMK2() {
87
- try {
88
- // In production, this loads the obfuscated MK-2
89
- const MK2Module = require('../engine-mk2/mk2-core');
90
- const FafEngineMK2 = MK2Module.default || MK2Module.FafEngineMK2;
91
- const licenseKey = license_controller_1.licenseController.getLicense().key;
92
- const mk2Instance = new FafEngineMK2(licenseKey);
93
- return {
94
- name: 'FAF Engine MK-2',
95
- version: '2.0.0',
96
- async analyzeProject(path) {
97
- return await mk2Instance.analyzeProject(path);
98
- },
99
- async calculateScore(data) {
100
- const result = await mk2Instance.calculateScore(data);
101
- const scoreLimit = license_controller_1.licenseController.getScoreLimit();
102
- // Apply license cap
103
- if (result.finalScore > scoreLimit) {
104
- result.finalScore = scoreLimit;
105
- result.capped = true;
106
- result.cappedBy = 'license';
107
- }
108
- return result;
109
- }
110
- };
111
- }
112
- catch (error) {
113
- console.warn('MK-2 unavailable, falling back to MK-1');
114
- return this.loadMK1();
115
- }
116
- }
117
- getFallbackEngine() {
118
- // Minimal engine when nothing else works
119
- return {
120
- name: 'FAF Engine Fallback',
121
- version: '0.0.1',
122
- async analyzeProject() {
123
- return {
124
- engine: 'fallback',
125
- error: 'Engine unavailable',
126
- score: 0
127
- };
128
- },
129
- async calculateScore() {
130
- return {
131
- engine: 'fallback',
132
- score: 0,
133
- error: 'Engine unavailable'
134
- };
135
- }
136
- };
137
- }
138
- getEngineInfo() {
139
- if (!this.currentEngine) {
140
- return { status: 'not loaded' };
141
- }
142
- return {
143
- name: this.currentEngine.name,
144
- version: this.currentEngine.version,
145
- license: license_controller_1.licenseController.getLicense().type,
146
- scoreLimit: license_controller_1.licenseController.getScoreLimit(),
147
- features: license_controller_1.licenseController.getLicense().features
148
- };
149
- }
150
- async reloadWithNewLicense() {
151
- this.currentEngine = null;
152
- return this.loadEngine();
153
- }
154
- }
155
- exports.engineLoader = EngineLoader.getInstance();
156
- //# sourceMappingURL=engine-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-loader.js","sourceRoot":"","sources":["../../src/engine/engine-loader.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * 🚀 faf-engine Integration Bridge
3
- * DEPRECATED: This was for Mk-1, we now use Mk3 FafCompiler directly
4
- * Keeping stub for backwards compatibility
5
- */
6
- import { FafCompiler } from './compiler/faf-compiler';
7
- export type FafEngine = any;
8
- export type FafData = any;
9
- export type FafScore = any;
10
- export type ContextOnDemandResult = any;
11
- /**
12
- * Create a CLI-configured engine instance
13
- * NOW USES Mk3 FafCompiler!
14
- */
15
- export declare function createCLIEngine(projectDir?: string): FafCompiler;
16
- /**
17
- * Bridge function for existing CLI score command
18
- */
19
- export declare function scoreWithEngine(fafFilePath: string): Promise<FafScore>;
20
- /**
21
- * Bridge function for existing CLI init command
22
- */
23
- export declare function generateWithEngine(projectDir?: string): Promise<ContextOnDemandResult>;
24
- /**
25
- * Bridge function for existing CLI validate command
26
- */
27
- export declare function validateWithEngine(fafFilePath: string): Promise<any>;
28
- /**
29
- * Compatibility layer for existing CLI functions
30
- */
31
- export declare const EngineBridge: {
32
- createEngine: typeof createCLIEngine;
33
- score: typeof scoreWithEngine;
34
- generate: typeof generateWithEngine;
35
- validate: typeof validateWithEngine;
36
- enhance(fafData: FafData, apiKey?: string): Promise<FafData>;
37
- };
38
- //# sourceMappingURL=engine-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-bridge.d.ts","sourceRoot":"","sources":["../src/engine-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AAC1B,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC3B,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAExC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAEhE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAI5E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAG5F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,gBAI3D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;qBAUA,OAAO,WAAW,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAgBnE,CAAC"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- /**
3
- * 🚀 faf-engine Integration Bridge
4
- * DEPRECATED: This was for Mk-1, we now use Mk3 FafCompiler directly
5
- * Keeping stub for backwards compatibility
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.EngineBridge = void 0;
9
- exports.createCLIEngine = createCLIEngine;
10
- exports.scoreWithEngine = scoreWithEngine;
11
- exports.generateWithEngine = generateWithEngine;
12
- exports.validateWithEngine = validateWithEngine;
13
- // Import the Mk3 compiler instead
14
- const faf_compiler_1 = require("./compiler/faf-compiler");
15
- /**
16
- * Create a CLI-configured engine instance
17
- * NOW USES Mk3 FafCompiler!
18
- */
19
- function createCLIEngine(projectDir) {
20
- return new faf_compiler_1.FafCompiler();
21
- }
22
- /**
23
- * Bridge function for existing CLI score command
24
- */
25
- async function scoreWithEngine(fafFilePath) {
26
- const engine = createCLIEngine();
27
- const fafData = await engine.loadFaf(fafFilePath);
28
- return engine.score(fafData);
29
- }
30
- /**
31
- * Bridge function for existing CLI init command
32
- */
33
- async function generateWithEngine(projectDir) {
34
- const engine = createCLIEngine(projectDir);
35
- return engine.generateContext(projectDir);
36
- }
37
- /**
38
- * Bridge function for existing CLI validate command
39
- */
40
- async function validateWithEngine(fafFilePath) {
41
- const engine = createCLIEngine();
42
- const fafData = await engine.loadFaf(fafFilePath);
43
- return engine.validate(fafData);
44
- }
45
- /**
46
- * Compatibility layer for existing CLI functions
47
- */
48
- exports.EngineBridge = {
49
- // Direct engine access
50
- createEngine: createCLIEngine,
51
- // Command bridges
52
- score: scoreWithEngine,
53
- generate: generateWithEngine,
54
- validate: validateWithEngine,
55
- // Utility functions
56
- async enhance(fafData, apiKey) {
57
- // This would integrate with AI enhancement
58
- const engine = createCLIEngine();
59
- const validation = engine.validate(fafData);
60
- if (!validation.valid) {
61
- throw new Error(`Invalid .faf data: ${validation.errors.join(', ')}`);
62
- }
63
- // Return enhanced data (stub for now)
64
- return {
65
- ...fafData,
66
- ai_enhanced: true,
67
- enhancement_timestamp: new Date().toISOString()
68
- };
69
- }
70
- };
71
- //# sourceMappingURL=engine-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-bridge.js","sourceRoot":"","sources":["../src/engine-bridge.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAeH,0CAEC;AAKD,0CAIC;AAKD,gDAGC;AAKD,gDAIC;AAzCD,kCAAkC;AAClC,0DAAsD;AAQtD;;;GAGG;AACH,SAAgB,eAAe,CAAC,UAAmB;IACjD,OAAO,IAAI,0BAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,UAAmB;IAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,uBAAuB;IACvB,YAAY,EAAE,eAAe;IAE7B,kBAAkB;IAClB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAE5B,oBAAoB;IACpB,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAe;QAC7C,2CAA2C;QAC3C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,sCAAsC;QACtC,OAAO;YACL,GAAG,OAAO;YACV,WAAW,EAAE,IAAI;YACjB,qBAAqB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAChD,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * 🏎️ FAF Engine MK-2 Core
3
- * Championship Edition - The Secret Sauce
4
- */
5
- declare const MK2_SIGNATURE = "FAF-ENGINE-MK2-CHAMPIONSHIP";
6
- /**
7
- * FAF Engine MK-2 - Main Class
8
- */
9
- export declare class FafEngineMK2 {
10
- private fabFormats;
11
- private dnaManager;
12
- private licenseLevel;
13
- private initialized;
14
- constructor(licenseKey?: string);
15
- /**
16
- * Initialize MK-2 engine
17
- */
18
- private initialize;
19
- /**
20
- * Analyze project with MK-2 intelligence
21
- */
22
- analyzeProject(projectPath: string): Promise<any>;
23
- /**
24
- * Calculate championship score
25
- */
26
- calculateScore(data: any): Promise<any>;
27
- /**
28
- * Generate checksum for verification
29
- */
30
- private generateChecksum;
31
- /**
32
- * Get engine info
33
- */
34
- getInfo(): any;
35
- }
36
- export default FafEngineMK2;
37
- export { FafEngineMK2, MK2_SIGNATURE };
38
- //# sourceMappingURL=mk2-core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mk2-core.d.ts","sourceRoot":"","sources":["../../src/engine-mk2/mk2-core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,QAAA,MAAM,aAAa,gCAAgC,CAAC;AAwEpD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAkB;gBAEzB,UAAU,CAAC,EAAE,MAAM;IAW/B;;OAEG;YACW,UAAU;IAYxB;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgCvD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAmC7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,IAAI,GAAG;CAgBf;AAeD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,217 +0,0 @@
1
- "use strict";
2
- /**
3
- * 🏎️ FAF Engine MK-2 Core
4
- * Championship Edition - The Secret Sauce
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MK2_SIGNATURE = exports.FafEngineMK2 = void 0;
8
- // Import all proprietary modules (these will be bundled and obfuscated)
9
- const fab_formats_processor_1 = require("../engines/fab-formats-processor");
10
- const relentless_context_extractor_1 = require("../engines/relentless-context-extractor");
11
- const faf_dna_1 = require("../engines/faf-dna");
12
- const turbo_cat_knowledge_1 = require("../utils/turbo-cat-knowledge");
13
- // MK-2 Version identifier
14
- const MK2_SIGNATURE = 'FAF-ENGINE-MK2-CHAMPIONSHIP';
15
- exports.MK2_SIGNATURE = MK2_SIGNATURE;
16
- const BUILD_TIME = process.env.ENGINE_BUILD || Date.now();
17
- /**
18
- * License validation for MK-2
19
- */
20
- class MK2LicenseValidator {
21
- static CHECKSUM = 'mk2-2025-championship';
22
- static validatedCache = new Map();
23
- static validate(key) {
24
- if (!key)
25
- return 'free';
26
- // Cache validation results
27
- if (this.validatedCache.has(key)) {
28
- return this.validatedCache.get(key) ? 'championship' : 'free';
29
- }
30
- // Simple validation (enhanced in obfuscated version)
31
- const isValid = key.includes('MK2') || key.startsWith('dev_');
32
- this.validatedCache.set(key, isValid);
33
- if (key.startsWith('CHAMPIONSHIP'))
34
- return 'championship';
35
- if (key.startsWith('dev_'))
36
- return 'developer';
37
- return 'free';
38
- }
39
- static getScoreLimit(level) {
40
- switch (level) {
41
- case 'championship': return 100;
42
- case 'developer': return 85;
43
- default: return 70;
44
- }
45
- }
46
- }
47
- /**
48
- * Self-protection mechanisms
49
- */
50
- class MK2Protection {
51
- static tamperDetected = false;
52
- static initialize() {
53
- // Detect debugger
54
- const detectDebugger = () => {
55
- const start = Date.now();
56
- // debugger; // Uncomment in production
57
- const duration = Date.now() - start;
58
- if (duration > 100) {
59
- this.tamperDetected = true;
60
- }
61
- };
62
- // Check periodically
63
- setInterval(detectDebugger, 5000);
64
- // Detect tampering via function toString
65
- const originalToString = Function.prototype.toString;
66
- Function.prototype.toString = function (...args) {
67
- if (this === FafEngineMK2 || this === MK2Protection) {
68
- MK2Protection.tamperDetected = true;
69
- return 'function() { [native code] }';
70
- }
71
- return originalToString.apply(this, args);
72
- };
73
- }
74
- static checkIntegrity() {
75
- return !this.tamperDetected;
76
- }
77
- }
78
- /**
79
- * FAF Engine MK-2 - Main Class
80
- */
81
- class FafEngineMK2 {
82
- fabFormats;
83
- dnaManager = null;
84
- licenseLevel;
85
- initialized = false;
86
- constructor(licenseKey) {
87
- // Initialize protection
88
- MK2Protection.initialize();
89
- // Validate license
90
- this.licenseLevel = MK2LicenseValidator.validate(licenseKey);
91
- // Initialize processors
92
- this.fabFormats = new fab_formats_processor_1.FabFormatsProcessor();
93
- }
94
- /**
95
- * Initialize MK-2 engine
96
- */
97
- async initialize(projectPath) {
98
- if (this.initialized)
99
- return;
100
- try {
101
- this.dnaManager = new faf_dna_1.FafDNAManager(projectPath);
102
- this.initialized = true;
103
- }
104
- catch (error) {
105
- console.warn('MK-2 initialization warning:', error);
106
- this.initialized = true; // Continue without DNA
107
- }
108
- }
109
- /**
110
- * Analyze project with MK-2 intelligence
111
- */
112
- async analyzeProject(projectPath) {
113
- // Check integrity
114
- if (!MK2Protection.checkIntegrity()) {
115
- throw new Error('Engine integrity check failed');
116
- }
117
- await this.initialize(projectPath);
118
- // Run championship analysis
119
- const fabResults = await this.fabFormats.processFiles(projectPath);
120
- const contextResults = await relentless_context_extractor_1.relentlessExtractor.extractFromProject(projectPath);
121
- // Apply license limits
122
- const scoreLimit = MK2LicenseValidator.getScoreLimit(this.licenseLevel);
123
- return {
124
- engine: MK2_SIGNATURE,
125
- version: 'MK-2',
126
- build: BUILD_TIME,
127
- license: this.licenseLevel,
128
- analysis: {
129
- fabFormats: fabResults,
130
- context: contextResults,
131
- scoreLimit,
132
- turbocat: {
133
- formats: turbo_cat_knowledge_1.TURBO_CAT_KNOWLEDGE.knowledgeBase.formats.length,
134
- pyramid: turbo_cat_knowledge_1.TURBO_CAT_KNOWLEDGE.formatPyramid.length
135
- }
136
- }
137
- };
138
- }
139
- /**
140
- * Calculate championship score
141
- */
142
- async calculateScore(data) {
143
- // Check integrity
144
- if (!MK2Protection.checkIntegrity()) {
145
- return { score: 0, error: 'Integrity check failed' };
146
- }
147
- // Calculate raw score
148
- let score = 10; // Base score
149
- // Add FAB-FORMATS intelligence
150
- if (data.fabFormats) {
151
- score += data.fabFormats.totalBonus || 0;
152
- }
153
- // Add context extraction bonus
154
- if (data.context) {
155
- const contextSlots = Object.keys(data.context).filter(k => data.context[k]).length;
156
- score += contextSlots * 5;
157
- }
158
- // Apply license cap
159
- const scoreLimit = MK2LicenseValidator.getScoreLimit(this.licenseLevel);
160
- const finalScore = Math.min(score, scoreLimit);
161
- return {
162
- engine: 'MK-2',
163
- rawScore: score,
164
- finalScore,
165
- capped: score > scoreLimit,
166
- license: this.licenseLevel,
167
- scoreLimit,
168
- checksum: this.generateChecksum(data)
169
- };
170
- }
171
- /**
172
- * Generate checksum for verification
173
- */
174
- generateChecksum(data) {
175
- const crypto = require('crypto');
176
- const stringified = JSON.stringify(data, Object.keys(data).sort());
177
- return crypto
178
- .createHash('sha256')
179
- .update(stringified + MK2_SIGNATURE)
180
- .digest('hex')
181
- .substring(0, 8);
182
- }
183
- /**
184
- * Get engine info
185
- */
186
- getInfo() {
187
- return {
188
- engine: 'FAF Engine MK-2',
189
- version: '2.0.0',
190
- signature: MK2_SIGNATURE,
191
- build: BUILD_TIME,
192
- license: this.licenseLevel,
193
- features: this.licenseLevel === 'championship'
194
- ? ['all']
195
- : this.licenseLevel === 'developer'
196
- ? ['advanced', 'cache', 'chrome']
197
- : ['basic'],
198
- protection: 'MAXIMUM',
199
- formats: turbo_cat_knowledge_1.TURBO_CAT_KNOWLEDGE.knowledgeBase.formats.length
200
- };
201
- }
202
- }
203
- exports.FafEngineMK2 = FafEngineMK2;
204
- // Self-defending wrapper
205
- (function () {
206
- // Prevent extraction of source
207
- if (typeof global !== 'undefined') {
208
- Object.defineProperty(global, 'FafEngineMK2', {
209
- value: FafEngineMK2,
210
- writable: false,
211
- configurable: false
212
- });
213
- }
214
- })();
215
- // Default export for CommonJS
216
- exports.default = FafEngineMK2;
217
- //# sourceMappingURL=mk2-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mk2-core.js","sourceRoot":"","sources":["../../src/engine-mk2/mk2-core.ts"],"names":[],"mappings":"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"}