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.
- package/dist/cli.js +0 -0
- package/dist/commands/ai-analyze.js +32 -35
- package/dist/commands/ai-analyze.js.map +1 -1
- package/dist/commands/ai-enhance.js +19 -22
- package/dist/commands/ai-enhance.js.map +1 -1
- package/dist/commands/audit.js +18 -21
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/auto.js +30 -33
- package/dist/commands/auto.js.map +1 -1
- package/dist/commands/chat.js +2 -2
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/convert.js +13 -16
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/doctor.js +11 -14
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit-helper.js +23 -26
- package/dist/commands/edit-helper.js.map +1 -1
- package/dist/commands/enhance-real.js +46 -46
- package/dist/commands/enhance-real.js.map +1 -1
- package/dist/commands/faq.js +12 -12
- package/dist/commands/faq.js.map +1 -1
- package/dist/commands/formats.js +6 -9
- package/dist/commands/formats.js.map +1 -1
- package/dist/commands/index.js +11 -14
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.js +12 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.js +18 -21
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/notifications.js +3 -6
- package/dist/commands/notifications.js.map +1 -1
- package/dist/commands/quick.js +18 -21
- package/dist/commands/quick.js.map +1 -1
- package/dist/commands/score-v3.js +28 -31
- package/dist/commands/score-v3.js.map +1 -1
- package/dist/commands/score.js +26 -29
- package/dist/commands/score.js.map +1 -1
- package/dist/commands/show.js +25 -28
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/sync.js +17 -20
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/trust.js +31 -31
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/verify.js +21 -21
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/version.js +6 -9
- package/dist/commands/version.js.map +1 -1
- package/dist/commands/vibe.js +2 -5
- package/dist/commands/vibe.js.map +1 -1
- package/dist/commands/welcome.js +15 -18
- package/dist/commands/welcome.js.map +1 -1
- package/dist/tests/test-chrome-fuzzy.js +7 -10
- package/dist/tests/test-chrome-fuzzy.js.map +1 -1
- package/dist/utils/announcements.js +27 -27
- package/dist/utils/announcements.js.map +1 -1
- package/dist/utils/chrome-extension-confirmer.js +5 -5
- package/dist/utils/chrome-extension-confirmer.js.map +1 -1
- package/dist/utils/color-utils.d.ts +6 -6
- package/dist/utils/color-utils.js +20 -23
- package/dist/utils/color-utils.js.map +1 -1
- package/dist/utils/email-opt-in.js +22 -22
- package/dist/utils/email-opt-in.js.map +1 -1
- package/dist/utils/feedback-messages.d.ts +1 -1
- package/dist/utils/feedback-messages.d.ts.map +1 -1
- package/dist/utils/feedback-messages.js +32 -35
- package/dist/utils/feedback-messages.js.map +1 -1
- package/dist/utils/native-cli-parser.d.ts +4 -1
- package/dist/utils/native-cli-parser.d.ts.map +1 -1
- package/dist/utils/native-cli-parser.js +6 -2
- package/dist/utils/native-cli-parser.js.map +1 -1
- package/dist/utils/score-header.js +7 -10
- package/dist/utils/score-header.js.map +1 -1
- package/dist/utils/update-checker.js +2 -2
- package/dist/utils/update-checker.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/about.d.ts +0 -10
- package/dist/commands/about.d.ts.map +0 -1
- package/dist/commands/about.js +0 -249
- package/dist/commands/about.js.map +0 -1
- package/dist/commands/art.d.ts +0 -10
- package/dist/commands/art.d.ts.map +0 -1
- package/dist/commands/art.js +0 -130
- package/dist/commands/art.js.map +0 -1
- package/dist/commands/email.d.ts +0 -23
- package/dist/commands/email.d.ts.map +0 -1
- package/dist/commands/email.js +0 -183
- package/dist/commands/email.js.map +0 -1
- package/dist/commands/license-config.d.ts +0 -10
- package/dist/commands/license-config.d.ts.map +0 -1
- package/dist/commands/license-config.js +0 -140
- package/dist/commands/license-config.js.map +0 -1
- package/dist/commands/license.d.ts +0 -7
- package/dist/commands/license.d.ts.map +0 -1
- package/dist/commands/license.js +0 -60
- package/dist/commands/license.js.map +0 -1
- package/dist/commands/submit-art.d.ts +0 -25
- package/dist/commands/submit-art.d.ts.map +0 -1
- package/dist/commands/submit-art.js +0 -348
- package/dist/commands/submit-art.js.map +0 -1
- package/dist/commands/subscribe.d.ts +0 -12
- package/dist/commands/subscribe.d.ts.map +0 -1
- package/dist/commands/subscribe.js +0 -38
- package/dist/commands/subscribe.js.map +0 -1
- package/dist/engine/engine-loader.d.ts +0 -24
- package/dist/engine/engine-loader.d.ts.map +0 -1
- package/dist/engine/engine-loader.js +0 -156
- package/dist/engine/engine-loader.js.map +0 -1
- package/dist/engine-bridge.d.ts +0 -38
- package/dist/engine-bridge.d.ts.map +0 -1
- package/dist/engine-bridge.js +0 -71
- package/dist/engine-bridge.js.map +0 -1
- package/dist/engine-mk2/mk2-core.d.ts +0 -38
- package/dist/engine-mk2/mk2-core.d.ts.map +0 -1
- package/dist/engine-mk2/mk2-core.js +0 -217
- package/dist/engine-mk2/mk2-core.js.map +0 -1
- package/dist/license/license-config.d.ts +0 -59
- package/dist/license/license-config.d.ts.map +0 -1
- package/dist/license/license-config.js +0 -263
- package/dist/license/license-config.js.map +0 -1
- package/dist/license/license-controller.d.ts +0 -41
- package/dist/license/license-controller.d.ts.map +0 -1
- package/dist/license/license-controller.js +0 -243
- package/dist/license/license-controller.js.map +0 -1
- package/dist/utils/art-gallery.d.ts +0 -66
- package/dist/utils/art-gallery.d.ts.map +0 -1
- package/dist/utils/art-gallery.js +0 -320
- package/dist/utils/art-gallery.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -27
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/error-handler.js +0 -152
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/score-indicators.d.ts +0 -47
- package/dist/utils/score-indicators.d.ts.map +0 -1
- package/dist/utils/score-indicators.js +0 -197
- package/dist/utils/score-indicators.js.map +0 -1
package/dist/commands/email.js
DELETED
|
@@ -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"}
|
package/dist/commands/license.js
DELETED
|
@@ -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"}
|