faf-cli 2.4.7 → 2.4.9

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 (135) 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/init.js +12 -12
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/lint.js +18 -21
  29. package/dist/commands/lint.js.map +1 -1
  30. package/dist/commands/notifications.js +3 -6
  31. package/dist/commands/notifications.js.map +1 -1
  32. package/dist/commands/quick.js +18 -21
  33. package/dist/commands/quick.js.map +1 -1
  34. package/dist/commands/score-v3.js +28 -31
  35. package/dist/commands/score-v3.js.map +1 -1
  36. package/dist/commands/score.js +26 -29
  37. package/dist/commands/score.js.map +1 -1
  38. package/dist/commands/show.js +25 -28
  39. package/dist/commands/show.js.map +1 -1
  40. package/dist/commands/sync.js +17 -20
  41. package/dist/commands/sync.js.map +1 -1
  42. package/dist/commands/trust.js +31 -31
  43. package/dist/commands/trust.js.map +1 -1
  44. package/dist/commands/verify.js +21 -21
  45. package/dist/commands/verify.js.map +1 -1
  46. package/dist/commands/version.js +6 -9
  47. package/dist/commands/version.js.map +1 -1
  48. package/dist/commands/vibe.js +2 -5
  49. package/dist/commands/vibe.js.map +1 -1
  50. package/dist/commands/welcome.js +15 -18
  51. package/dist/commands/welcome.js.map +1 -1
  52. package/dist/tests/test-chrome-fuzzy.js +7 -10
  53. package/dist/tests/test-chrome-fuzzy.js.map +1 -1
  54. package/dist/utils/announcements.js +27 -27
  55. package/dist/utils/announcements.js.map +1 -1
  56. package/dist/utils/chrome-extension-confirmer.js +5 -5
  57. package/dist/utils/chrome-extension-confirmer.js.map +1 -1
  58. package/dist/utils/color-utils.d.ts +6 -6
  59. package/dist/utils/color-utils.js +20 -23
  60. package/dist/utils/color-utils.js.map +1 -1
  61. package/dist/utils/email-opt-in.js +22 -22
  62. package/dist/utils/email-opt-in.js.map +1 -1
  63. package/dist/utils/feedback-messages.d.ts +1 -1
  64. package/dist/utils/feedback-messages.d.ts.map +1 -1
  65. package/dist/utils/feedback-messages.js +32 -35
  66. package/dist/utils/feedback-messages.js.map +1 -1
  67. package/dist/utils/native-cli-parser.d.ts +4 -1
  68. package/dist/utils/native-cli-parser.d.ts.map +1 -1
  69. package/dist/utils/native-cli-parser.js +6 -2
  70. package/dist/utils/native-cli-parser.js.map +1 -1
  71. package/dist/utils/score-header.js +7 -10
  72. package/dist/utils/score-header.js.map +1 -1
  73. package/dist/utils/update-checker.js +2 -2
  74. package/dist/utils/update-checker.js.map +1 -1
  75. package/package.json +2 -2
  76. package/dist/commands/about.d.ts +0 -10
  77. package/dist/commands/about.d.ts.map +0 -1
  78. package/dist/commands/about.js +0 -249
  79. package/dist/commands/about.js.map +0 -1
  80. package/dist/commands/art.d.ts +0 -10
  81. package/dist/commands/art.d.ts.map +0 -1
  82. package/dist/commands/art.js +0 -130
  83. package/dist/commands/art.js.map +0 -1
  84. package/dist/commands/email.d.ts +0 -23
  85. package/dist/commands/email.d.ts.map +0 -1
  86. package/dist/commands/email.js +0 -183
  87. package/dist/commands/email.js.map +0 -1
  88. package/dist/commands/license-config.d.ts +0 -10
  89. package/dist/commands/license-config.d.ts.map +0 -1
  90. package/dist/commands/license-config.js +0 -140
  91. package/dist/commands/license-config.js.map +0 -1
  92. package/dist/commands/license.d.ts +0 -7
  93. package/dist/commands/license.d.ts.map +0 -1
  94. package/dist/commands/license.js +0 -60
  95. package/dist/commands/license.js.map +0 -1
  96. package/dist/commands/submit-art.d.ts +0 -25
  97. package/dist/commands/submit-art.d.ts.map +0 -1
  98. package/dist/commands/submit-art.js +0 -348
  99. package/dist/commands/submit-art.js.map +0 -1
  100. package/dist/commands/subscribe.d.ts +0 -12
  101. package/dist/commands/subscribe.d.ts.map +0 -1
  102. package/dist/commands/subscribe.js +0 -38
  103. package/dist/commands/subscribe.js.map +0 -1
  104. package/dist/engine/engine-loader.d.ts +0 -24
  105. package/dist/engine/engine-loader.d.ts.map +0 -1
  106. package/dist/engine/engine-loader.js +0 -156
  107. package/dist/engine/engine-loader.js.map +0 -1
  108. package/dist/engine-bridge.d.ts +0 -38
  109. package/dist/engine-bridge.d.ts.map +0 -1
  110. package/dist/engine-bridge.js +0 -71
  111. package/dist/engine-bridge.js.map +0 -1
  112. package/dist/engine-mk2/mk2-core.d.ts +0 -38
  113. package/dist/engine-mk2/mk2-core.d.ts.map +0 -1
  114. package/dist/engine-mk2/mk2-core.js +0 -217
  115. package/dist/engine-mk2/mk2-core.js.map +0 -1
  116. package/dist/license/license-config.d.ts +0 -59
  117. package/dist/license/license-config.d.ts.map +0 -1
  118. package/dist/license/license-config.js +0 -263
  119. package/dist/license/license-config.js.map +0 -1
  120. package/dist/license/license-controller.d.ts +0 -41
  121. package/dist/license/license-controller.d.ts.map +0 -1
  122. package/dist/license/license-controller.js +0 -243
  123. package/dist/license/license-controller.js.map +0 -1
  124. package/dist/utils/art-gallery.d.ts +0 -66
  125. package/dist/utils/art-gallery.d.ts.map +0 -1
  126. package/dist/utils/art-gallery.js +0 -320
  127. package/dist/utils/art-gallery.js.map +0 -1
  128. package/dist/utils/error-handler.d.ts +0 -27
  129. package/dist/utils/error-handler.d.ts.map +0 -1
  130. package/dist/utils/error-handler.js +0 -152
  131. package/dist/utils/error-handler.js.map +0 -1
  132. package/dist/utils/score-indicators.d.ts +0 -47
  133. package/dist/utils/score-indicators.d.ts.map +0 -1
  134. package/dist/utils/score-indicators.js +0 -197
  135. package/dist/utils/score-indicators.js.map +0 -1
@@ -1,183 +0,0 @@
1
- "use strict";
2
- /**
3
- * šŸ“§ faf email - Free .faf Delivery Service
4
- * "We'll email your .faf anywhere - even freeloaders! 😸"
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.emailCommand = emailCommand;
44
- const chalk_1 = __importDefault(require("chalk"));
45
- const fs_1 = require("fs");
46
- const path = __importStar(require("path"));
47
- const inquirer_1 = __importDefault(require("inquirer"));
48
- const file_utils_1 = require("../utils/file-utils");
49
- // Simple email validation
50
- function isValidEmail(email) {
51
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
52
- }
53
- // Get stored email from config
54
- async function getStoredEmail() {
55
- try {
56
- const configPath = path.join(require('os').homedir(), '.faf', 'config.json');
57
- const config = JSON.parse(await fs_1.promises.readFile(configPath, 'utf8'));
58
- return config.email || null;
59
- }
60
- catch {
61
- return null;
62
- }
63
- }
64
- // Store email for future use
65
- async function storeEmail(email) {
66
- const configDir = path.join(require('os').homedir(), '.faf');
67
- const configPath = path.join(configDir, 'config.json');
68
- try {
69
- await fs_1.promises.mkdir(configDir, { recursive: true });
70
- let config = {};
71
- try {
72
- config = JSON.parse(await fs_1.promises.readFile(configPath, 'utf8'));
73
- }
74
- catch { }
75
- config = { ...config, email, lastEmailSent: new Date().toISOString() };
76
- await fs_1.promises.writeFile(configPath, JSON.stringify(config, null, 2));
77
- }
78
- catch { }
79
- }
80
- async function emailCommand(directory, options = {}) {
81
- const targetDir = directory || process.cwd();
82
- console.log(chalk_1.default.bold.blue("\nšŸ“§ FAF EMAIL SERVICE"));
83
- console.log(chalk_1.default.gray("Send yourself a hard copy - you'll be glad you did"));
84
- console.log(chalk_1.default.gray("(Free for everyone, even freeloaders 😸)\n"));
85
- try {
86
- // Find .faf file
87
- const fafPath = await (0, file_utils_1.findFafFile)(targetDir);
88
- if (!fafPath) {
89
- console.log(chalk_1.default.yellow("āš ļø No .faf file found in current directory"));
90
- console.log(chalk_1.default.gray("šŸ’” Tip: Run 'faf auto' first to generate your .faf\n"));
91
- return;
92
- }
93
- // Get email address
94
- let email = options.to;
95
- const storedEmail = await getStoredEmail();
96
- if (!email) {
97
- const answers = await inquirer_1.default.prompt([
98
- {
99
- type: 'input',
100
- name: 'email',
101
- message: 'šŸ“¬ Email address for your .faf hard copy:',
102
- default: storedEmail || undefined,
103
- validate: (input) => {
104
- if (!input)
105
- return 'Email is required';
106
- if (!isValidEmail(input))
107
- return 'Please enter a valid email';
108
- return true;
109
- }
110
- },
111
- {
112
- type: 'confirm',
113
- name: 'remember',
114
- message: 'Remember this email for next time?',
115
- default: true,
116
- when: (answers) => answers.email !== storedEmail
117
- }
118
- ]);
119
- email = answers.email;
120
- if (answers.remember && answers.email) {
121
- await storeEmail(answers.email);
122
- }
123
- }
124
- else {
125
- // Validate provided email
126
- if (!isValidEmail(email)) {
127
- console.log(chalk_1.default.red("āŒ Invalid email address"));
128
- return;
129
- }
130
- }
131
- // Read .faf content
132
- const fafContent = await fs_1.promises.readFile(fafPath, 'utf8');
133
- const projectName = path.basename(path.dirname(fafPath));
134
- // Create backup directory and copy
135
- const backupDir = path.join(require('os').homedir(), '.faf', 'backups');
136
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5);
137
- const backupFileName = `${projectName}_${timestamp}.faf`;
138
- const backupPath = path.join(backupDir, backupFileName);
139
- // Ensure backup directory exists
140
- await fs_1.promises.mkdir(backupDir, { recursive: true });
141
- // Write backup copy
142
- await fs_1.promises.writeFile(backupPath, fafContent);
143
- // Creating actual backup
144
- console.log(chalk_1.default.yellow("\nšŸ“¤ Creating your .faf hard copy..."));
145
- console.log(chalk_1.default.gray(`šŸ’¾ Backup location: ~/.faf/backups/`));
146
- // Simulate email sending delay
147
- await new Promise(resolve => setTimeout(resolve, 1500));
148
- console.log(chalk_1.default.green("\nāœ… Success! Hard copy delivered:"));
149
- console.log(chalk_1.default.gray(`šŸ“§ Email sent to: ${email}`));
150
- console.log(chalk_1.default.gray(`šŸ“Ž Attachment: ${projectName}.faf (${(fafContent.length / 1024).toFixed(1)}KB)`));
151
- console.log(chalk_1.default.gray(`šŸ’¾ Backup created: ${backupFileName}`));
152
- console.log(chalk_1.default.gray(`šŸ“ Location: ~/.faf/backups/`));
153
- // The secret sauce - subtle monetization
154
- console.log(chalk_1.default.gray("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"));
155
- console.log(chalk_1.default.blue("šŸ’Œ Check your inbox for:"));
156
- console.log(chalk_1.default.gray(" • .faf file attachment (hard copy)"));
157
- console.log(chalk_1.default.gray(" • Quick start instructions"));
158
- console.log(chalk_1.default.gray(" • How to get 99% scores (feed the cat!)"));
159
- // Rare TURBO-CAT appearance (1 in 20 chance)
160
- if (Math.random() < 0.05) {
161
- console.log(chalk_1.default.yellow("\nšŸŽļøšŸ˜ø TURBO-CAT says: Meow! Consider feeding me at faf.one/pro"));
162
- }
163
- console.log(chalk_1.default.gray("\nšŸ’” Want updates? We'll only email when there's real value to share."));
164
- console.log(chalk_1.default.gray("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"));
165
- }
166
- catch (error) {
167
- console.log(chalk_1.default.red("āŒ Email service error:"));
168
- console.log(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
169
- }
170
- }
171
- /**
172
- * Email Footer Template (for actual emails):
173
- *
174
- * ---
175
- * šŸŽļø Sent by FAF - The JPEG for AIā„¢
176
- *
177
- * P.S. Getting 85% scores? Want 99%?
178
- * 🐱 Feed the cat → faf.one/pro ($9/month)
179
- *
180
- * Have you been dot.faffed yet? šŸ§”āš”ļø
181
- * Share the love: faf.one
182
- */
183
- //# sourceMappingURL=email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/commands/email.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * License Config Command - Manage license tier limits dynamically
3
- */
4
- export declare function showLicenseConfig(): Promise<void>;
5
- export declare function setTierLimit(tier: string, limit: string): Promise<void>;
6
- export declare function toggleTier(tier: string, enabled: boolean): Promise<void>;
7
- export declare function resetConfig(): Promise<void>;
8
- export declare function testConfiguration(): Promise<void>;
9
- export declare function interactiveConfig(): Promise<void>;
10
- //# sourceMappingURL=license-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-config.d.ts","sourceRoot":"","sources":["../../src/commands/license-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wBAAsB,iBAAiB,kBAyBtC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAa7D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,iBAW9D;AAED,wBAAsB,WAAW,kBAIhC;AAED,wBAAsB,iBAAiB,kBAsBtC;AAGD,wBAAsB,iBAAiB,kBA0DtC"}
@@ -1,140 +0,0 @@
1
- "use strict";
2
- /**
3
- * License Config Command - Manage license tier limits dynamically
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.showLicenseConfig = showLicenseConfig;
10
- exports.setTierLimit = setTierLimit;
11
- exports.toggleTier = toggleTier;
12
- exports.resetConfig = resetConfig;
13
- exports.testConfiguration = testConfiguration;
14
- exports.interactiveConfig = interactiveConfig;
15
- const chalk_1 = __importDefault(require("chalk"));
16
- const license_config_1 = require("../license/license-config");
17
- async function showLicenseConfig() {
18
- const config = license_config_1.licenseConfig.getFullConfig();
19
- console.log(chalk_1.default.cyan('\nāš™ļø FAF License Configuration\n'));
20
- console.log(chalk_1.default.yellow('Tier Limits:'));
21
- Object.entries(config.tiers).forEach(([tier, settings]) => {
22
- const status = settings.enabled ? chalk_1.default.green('āœ“') : chalk_1.default.red('āœ—');
23
- console.log(` ${status} ${tier}: ${settings.scoreLimit}%`);
24
- });
25
- console.log(chalk_1.default.yellow('\nChampionship Mode:'));
26
- console.log(` Enabled: ${config.championshipMode.enabled ? chalk_1.default.green('Yes') : chalk_1.default.red('No')}`);
27
- console.log(` Duration: ${config.championshipMode.duration} minutes`);
28
- console.log(` Limit: ${config.championshipMode.limit}%`);
29
- console.log(chalk_1.default.yellow('\nMessaging:'));
30
- console.log(` Upgrade CTA: ${config.messaging.upgradeCTA ? 'Enabled' : 'Disabled'}`);
31
- console.log(` Limit Warnings: ${config.messaging.showLimitWarnings ? 'Enabled' : 'Disabled'}`);
32
- console.log(chalk_1.default.gray('\nšŸ’” Quick Configuration:'));
33
- console.log(chalk_1.default.gray(' FAF_FREE_LIMIT=75 faf score # Set free tier to 75%'));
34
- console.log(chalk_1.default.gray(' FAF_FREE_LIMIT=90 faf score # Set free tier to 90%'));
35
- console.log(chalk_1.default.gray(' FAF_FREE_ENABLED=false faf score # Disable free tier'));
36
- console.log(chalk_1.default.gray(' FAF_CHAMPIONSHIP_MODE=false faf # Disable championship mode'));
37
- }
38
- async function setTierLimit(tier, limit) {
39
- const limitNum = parseInt(limit);
40
- if (isNaN(limitNum) || limitNum < 0 || limitNum > 100) {
41
- console.log(chalk_1.default.red('āŒ Limit must be between 0 and 100'));
42
- return;
43
- }
44
- license_config_1.licenseConfig.updateTierLimit(tier, limitNum);
45
- console.log(chalk_1.default.green(`āœ… Updated ${tier} tier limit to ${limitNum}%`));
46
- // Show new config
47
- await showLicenseConfig();
48
- }
49
- async function toggleTier(tier, enabled) {
50
- if (enabled) {
51
- license_config_1.licenseConfig.enableTier(tier);
52
- console.log(chalk_1.default.green(`āœ… Enabled ${tier} tier`));
53
- }
54
- else {
55
- license_config_1.licenseConfig.disableTier(tier);
56
- console.log(chalk_1.default.yellow(`āš ļø Disabled ${tier} tier`));
57
- }
58
- // Show new config
59
- await showLicenseConfig();
60
- }
61
- async function resetConfig() {
62
- license_config_1.licenseConfig.resetToDefaults();
63
- console.log(chalk_1.default.green('āœ… Reset to default configuration'));
64
- await showLicenseConfig();
65
- }
66
- async function testConfiguration() {
67
- console.log(chalk_1.default.cyan('\n🧪 Testing License Configuration\n'));
68
- // Test different free tier limits
69
- const testLimits = [70, 75, 80, 85, 90];
70
- for (const limit of testLimits) {
71
- license_config_1.licenseConfig.updateTierLimit('free', limit);
72
- const current = license_config_1.licenseConfig.getScoreLimit('free');
73
- console.log(`Free tier at ${limit}%: ${current === limit ? chalk_1.default.green('āœ“') : chalk_1.default.red('āœ—')}`);
74
- }
75
- // Test tier enable/disable
76
- license_config_1.licenseConfig.disableTier('free');
77
- console.log(`Free tier disabled: ${!license_config_1.licenseConfig.isTierEnabled('free') ? chalk_1.default.green('āœ“') : chalk_1.default.red('āœ—')}`);
78
- license_config_1.licenseConfig.enableTier('free');
79
- console.log(`Free tier enabled: ${license_config_1.licenseConfig.isTierEnabled('free') ? chalk_1.default.green('āœ“') : chalk_1.default.red('āœ—')}`);
80
- // Reset after test
81
- license_config_1.licenseConfig.resetToDefaults();
82
- console.log(chalk_1.default.gray('\nāœ… Tests complete, config reset to defaults'));
83
- }
84
- // Interactive configuration
85
- async function interactiveConfig() {
86
- const inquirer = require('inquirer');
87
- const answers = await inquirer.prompt([
88
- {
89
- type: 'number',
90
- name: 'freeLimit',
91
- message: 'Free tier score limit (%):',
92
- default: license_config_1.licenseConfig.getScoreLimit('free'),
93
- validate: (v) => v >= 0 && v <= 100
94
- },
95
- {
96
- type: 'number',
97
- name: 'devLimit',
98
- message: 'Developer tier score limit (%):',
99
- default: license_config_1.licenseConfig.getScoreLimit('developer'),
100
- validate: (v) => v >= 0 && v <= 100
101
- },
102
- {
103
- type: 'number',
104
- name: 'proLimit',
105
- message: 'Professional tier score limit (%):',
106
- default: license_config_1.licenseConfig.getScoreLimit('professional'),
107
- validate: (v) => v >= 0 && v <= 100
108
- },
109
- {
110
- type: 'confirm',
111
- name: 'championshipMode',
112
- message: 'Enable Championship Mode?',
113
- default: license_config_1.licenseConfig.isChampionshipModeEnabled()
114
- },
115
- {
116
- type: 'confirm',
117
- name: 'upgradeCTA',
118
- message: 'Show upgrade messages?',
119
- default: license_config_1.licenseConfig.shouldShowUpgradeMessages()
120
- }
121
- ]);
122
- // Apply configuration
123
- license_config_1.licenseConfig.updateTierLimit('free', answers.freeLimit);
124
- license_config_1.licenseConfig.updateTierLimit('developer', answers.devLimit);
125
- license_config_1.licenseConfig.updateTierLimit('professional', answers.proLimit);
126
- license_config_1.licenseConfig.setTestConfig({
127
- championshipMode: {
128
- enabled: answers.championshipMode,
129
- duration: 60,
130
- limit: 100
131
- },
132
- messaging: {
133
- upgradeCTA: answers.upgradeCTA,
134
- showLimitWarnings: true
135
- }
136
- });
137
- console.log(chalk_1.default.green('\nāœ… Configuration updated!'));
138
- await showLicenseConfig();
139
- }
140
- //# sourceMappingURL=license-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-config.js","sourceRoot":"","sources":["../../src/commands/license-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * License command - Manage FAF license
3
- */
4
- export declare function showLicense(): Promise<void>;
5
- export declare function setLicense(key: string): Promise<void>;
6
- export declare function generateTrial(email: string): Promise<void>;
7
- //# sourceMappingURL=license.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAsB,WAAW,kBAqBhC;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,iBAiB3C;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,iBAahD"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- /**
3
- * License command - Manage FAF license
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.showLicense = showLicense;
10
- exports.setLicense = setLicense;
11
- exports.generateTrial = generateTrial;
12
- const chalk_1 = __importDefault(require("chalk"));
13
- const license_controller_1 = require("../license/license-controller");
14
- const engine_loader_1 = require("../engine/engine-loader");
15
- async function showLicense() {
16
- const info = license_controller_1.licenseController.getInfo();
17
- const engineInfo = engine_loader_1.engineLoader.getEngineInfo();
18
- console.log(chalk_1.default.cyan('\nšŸ”‘ FAF License Information\n'));
19
- console.log(info);
20
- if (engineInfo.name) {
21
- console.log(chalk_1.default.gray(`\nEngine: ${engineInfo.name} v${engineInfo.version}`));
22
- }
23
- const license = license_controller_1.licenseController.getLicense();
24
- // Show upgrade path
25
- if (license.type === 'free') {
26
- console.log(chalk_1.default.yellow('\nšŸ’” Upgrade to unlock:'));
27
- console.log(chalk_1.default.gray(' • Developer: Score up to 85%, Chrome extension'));
28
- console.log(chalk_1.default.gray(' • Professional: MK-2 engine, Score up to 95%'));
29
- console.log(chalk_1.default.gray(' • Enterprise: Full features, Score up to 100%'));
30
- console.log(chalk_1.default.gray('\n Run: faf license set <key>'));
31
- }
32
- }
33
- async function setLicense(key) {
34
- console.log(chalk_1.default.cyan('šŸ”‘ Setting license...'));
35
- const success = license_controller_1.licenseController.setLicense(key);
36
- if (success) {
37
- console.log(chalk_1.default.green('āœ… License activated successfully!'));
38
- // Reload engine with new license
39
- await engine_loader_1.engineLoader.reloadWithNewLicense();
40
- // Show new license info
41
- await showLicense();
42
- }
43
- else {
44
- console.log(chalk_1.default.red('āŒ Invalid license key'));
45
- console.log(chalk_1.default.gray('Please check your key and try again'));
46
- }
47
- }
48
- async function generateTrial(email) {
49
- if (!email || !email.includes('@')) {
50
- console.log(chalk_1.default.red('āŒ Please provide a valid email address'));
51
- return;
52
- }
53
- const trialKey = license_controller_1.licenseController.generateTrialKey(email, 14);
54
- console.log(chalk_1.default.green('\nāœ… Trial license generated!'));
55
- console.log(chalk_1.default.cyan(`\nYour 14-day trial key:`));
56
- console.log(chalk_1.default.yellow(trialKey));
57
- console.log(chalk_1.default.gray(`\nActivate with: faf license set ${trialKey}`));
58
- console.log(chalk_1.default.gray('This gives you access to MK-2 engine and 85% scoring'));
59
- }
60
- //# sourceMappingURL=license.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * šŸŽØ Submit Art Command - Let users contribute their own FAF art!
3
- * Building a community gallery of creativity
4
- */
5
- /**
6
- * Submit new art to the gallery
7
- */
8
- export declare function submitArtCommand(): Promise<void>;
9
- /**
10
- * View user gallery
11
- */
12
- export declare function viewGalleryCommand(filter?: string): Promise<void>;
13
- /**
14
- * Share art (generate shareable format)
15
- */
16
- export declare function shareArtCommand(name: string): Promise<void>;
17
- /**
18
- * Import shared art
19
- */
20
- export declare function importArtCommand(code: string): Promise<void>;
21
- /**
22
- * Get user art by name (for use in art gallery)
23
- */
24
- export declare function getUserArt(name: string): Promise<string | null>;
25
- //# sourceMappingURL=submit-art.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"submit-art.d.ts","sourceRoot":"","sources":["../../src/commands/submit-art.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH;;GAEG;AACH,wBAAsB,gBAAgB,kBAiKrC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,iBAuCvD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,iBAwBjD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,iBAoClD;AA4CD;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUrE"}