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.
- 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/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/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
|
@@ -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"}
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 🎨 Submit Art Command - Let users contribute their own FAF art!
|
|
4
|
-
* Building a community gallery of creativity
|
|
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.submitArtCommand = submitArtCommand;
|
|
44
|
-
exports.viewGalleryCommand = viewGalleryCommand;
|
|
45
|
-
exports.shareArtCommand = shareArtCommand;
|
|
46
|
-
exports.importArtCommand = importArtCommand;
|
|
47
|
-
exports.getUserArt = getUserArt;
|
|
48
|
-
const fs = __importStar(require("fs/promises"));
|
|
49
|
-
const path = __importStar(require("path"));
|
|
50
|
-
const os = __importStar(require("os"));
|
|
51
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
52
|
-
const championship_style_1 = require("../utils/championship-style");
|
|
53
|
-
const USER_GALLERY_DIR = path.join(os.homedir(), '.faf', 'user-gallery');
|
|
54
|
-
const SUBMISSION_FILE = path.join(USER_GALLERY_DIR, 'submissions.json');
|
|
55
|
-
/**
|
|
56
|
-
* Submit new art to the gallery
|
|
57
|
-
*/
|
|
58
|
-
async function submitArtCommand() {
|
|
59
|
-
const inquirer = await Promise.resolve().then(() => __importStar(require('inquirer')));
|
|
60
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('╔══════════════════════════════════════════════════════════════╗'));
|
|
61
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('║') + ' 🎨 FAF ART SUBMISSION STUDIO 🎨 ' + championship_style_1.FAF_COLORS.fafCyan('║'));
|
|
62
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('╚══════════════════════════════════════════════════════════════╝'));
|
|
63
|
-
console.log();
|
|
64
|
-
// Get art details
|
|
65
|
-
const details = await inquirer.default.prompt([
|
|
66
|
-
{
|
|
67
|
-
type: 'input',
|
|
68
|
-
name: 'name',
|
|
69
|
-
message: '🎨 Name your art style:',
|
|
70
|
-
validate: (input) => input.length > 0 && input.length < 30
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
type: 'input',
|
|
74
|
-
name: 'author',
|
|
75
|
-
message: '✍️ Your name/handle:',
|
|
76
|
-
default: process.env.USER || 'anonymous'
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
type: 'input',
|
|
80
|
-
name: 'description',
|
|
81
|
-
message: '📝 Description (optional):',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
type: 'list',
|
|
85
|
-
name: 'scoreRequirement',
|
|
86
|
-
message: '🏆 Minimum score to unlock this art:',
|
|
87
|
-
choices: [
|
|
88
|
-
{ name: '0% - Available to everyone', value: 0 },
|
|
89
|
-
{ name: '50% - Halfway there', value: 50 },
|
|
90
|
-
{ name: '70% - Good progress', value: 70 },
|
|
91
|
-
{ name: '85% - High achievers', value: 85 },
|
|
92
|
-
{ name: '99% - Champions only!', value: 99 },
|
|
93
|
-
{ name: '105% - BIG ORANGE exclusive!', value: 105 }
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
type: 'list',
|
|
98
|
-
name: 'inputMethod',
|
|
99
|
-
message: '📥 How will you provide the art?',
|
|
100
|
-
choices: [
|
|
101
|
-
{ name: 'Type/paste it now', value: 'inline' },
|
|
102
|
-
{ name: 'Load from file', value: 'file' },
|
|
103
|
-
{ name: 'Use editor', value: 'editor' }
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
]);
|
|
107
|
-
let artContent = '';
|
|
108
|
-
// Get the art content
|
|
109
|
-
if (details.inputMethod === 'inline') {
|
|
110
|
-
console.log(chalk_1.default.yellow('\nPaste your ASCII art below (press Enter twice when done):\n'));
|
|
111
|
-
const lines = [];
|
|
112
|
-
let emptyLineCount = 0;
|
|
113
|
-
// Read until we get two empty lines
|
|
114
|
-
const readline = require('readline').createInterface({
|
|
115
|
-
input: process.stdin,
|
|
116
|
-
output: process.stdout
|
|
117
|
-
});
|
|
118
|
-
await new Promise((resolve) => {
|
|
119
|
-
readline.on('line', (line) => {
|
|
120
|
-
if (line === '') {
|
|
121
|
-
emptyLineCount++;
|
|
122
|
-
if (emptyLineCount >= 2) {
|
|
123
|
-
readline.close();
|
|
124
|
-
resolve();
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
emptyLineCount = 0;
|
|
130
|
-
}
|
|
131
|
-
lines.push(line);
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
artContent = lines.join('\n').trim();
|
|
135
|
-
}
|
|
136
|
-
else if (details.inputMethod === 'file') {
|
|
137
|
-
const fileAnswer = await inquirer.default.prompt([
|
|
138
|
-
{
|
|
139
|
-
type: 'input',
|
|
140
|
-
name: 'filepath',
|
|
141
|
-
message: '📂 Path to art file:',
|
|
142
|
-
validate: async (input) => {
|
|
143
|
-
try {
|
|
144
|
-
await fs.access(input);
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
return 'File not found';
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
]);
|
|
153
|
-
artContent = await fs.readFile(fileAnswer.filepath, 'utf-8');
|
|
154
|
-
}
|
|
155
|
-
else if (details.inputMethod === 'editor') {
|
|
156
|
-
const editorAnswer = await inquirer.default.prompt([
|
|
157
|
-
{
|
|
158
|
-
type: 'editor',
|
|
159
|
-
name: 'art',
|
|
160
|
-
message: '✏️ Create your art in the editor:'
|
|
161
|
-
}
|
|
162
|
-
]);
|
|
163
|
-
artContent = editorAnswer.art;
|
|
164
|
-
}
|
|
165
|
-
// Validate art
|
|
166
|
-
if (!artContent || artContent.length < 10) {
|
|
167
|
-
console.log(chalk_1.default.red('❌ Art seems too short. Please try again.'));
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
// Add placeholder for version
|
|
171
|
-
if (!artContent.includes('{version}') && !artContent.includes('v2.')) {
|
|
172
|
-
console.log(chalk_1.default.yellow('💡 TIP: Use {version} as placeholder for version number'));
|
|
173
|
-
}
|
|
174
|
-
// Preview the art
|
|
175
|
-
console.log(chalk_1.default.cyan('\n═══ PREVIEW ═══\n'));
|
|
176
|
-
console.log(artContent.replace(/{version}/g, '2.4.0'));
|
|
177
|
-
console.log(chalk_1.default.cyan('\n═══════════════\n'));
|
|
178
|
-
const confirm = await inquirer.default.prompt([
|
|
179
|
-
{
|
|
180
|
-
type: 'confirm',
|
|
181
|
-
name: 'submit',
|
|
182
|
-
message: '💾 Save this art to your gallery?',
|
|
183
|
-
default: true
|
|
184
|
-
}
|
|
185
|
-
]);
|
|
186
|
-
if (!confirm.submit) {
|
|
187
|
-
console.log(chalk_1.default.yellow('Cancelled'));
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
// Save the art
|
|
191
|
-
await saveUserArt({
|
|
192
|
-
id: generateId(),
|
|
193
|
-
name: details.name,
|
|
194
|
-
author: details.author,
|
|
195
|
-
description: details.description,
|
|
196
|
-
art: artContent,
|
|
197
|
-
score: details.scoreRequirement,
|
|
198
|
-
timestamp: new Date().toISOString(),
|
|
199
|
-
version: require('../../package.json').version
|
|
200
|
-
});
|
|
201
|
-
console.log(championship_style_1.FAF_COLORS.fafGreen('\n✅ Art submitted successfully!'));
|
|
202
|
-
console.log(chalk_1.default.gray(`\nTo use your art: faf --art-style user:${details.name}`));
|
|
203
|
-
console.log(chalk_1.default.gray(`To share: faf art share ${details.name}`));
|
|
204
|
-
console.log(chalk_1.default.gray(`To view gallery: faf art gallery\n`));
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* View user gallery
|
|
208
|
-
*/
|
|
209
|
-
async function viewGalleryCommand(filter) {
|
|
210
|
-
const arts = await loadUserArts();
|
|
211
|
-
if (arts.length === 0) {
|
|
212
|
-
console.log(chalk_1.default.yellow('No user art submissions yet!'));
|
|
213
|
-
console.log(chalk_1.default.gray('Submit your own with: faf submit-art'));
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('╔══════════════════════════════════════════════════════════════╗'));
|
|
217
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('║') + ' 🎨 USER ART GALLERY 🎨 ' + championship_style_1.FAF_COLORS.fafCyan('║'));
|
|
218
|
-
console.log(championship_style_1.FAF_COLORS.fafCyan('╚══════════════════════════════════════════════════════════════╝'));
|
|
219
|
-
console.log();
|
|
220
|
-
const filtered = filter
|
|
221
|
-
? arts.filter(a => a.name.toLowerCase().includes(filter.toLowerCase()) ||
|
|
222
|
-
a.author.toLowerCase().includes(filter.toLowerCase()))
|
|
223
|
-
: arts;
|
|
224
|
-
for (const art of filtered) {
|
|
225
|
-
console.log(chalk_1.default.yellow(`\n═══ ${art.name.toUpperCase()} ═══`));
|
|
226
|
-
console.log(chalk_1.default.gray(`By: ${art.author} | ${art.timestamp.split('T')[0]}`));
|
|
227
|
-
if (art.description) {
|
|
228
|
-
console.log(chalk_1.default.gray(art.description));
|
|
229
|
-
}
|
|
230
|
-
if (art.score && art.score > 0) {
|
|
231
|
-
console.log(chalk_1.default.gray(`Requires: ${art.score}% score`));
|
|
232
|
-
}
|
|
233
|
-
console.log();
|
|
234
|
-
console.log(art.art.replace(/{version}/g, '2.4.0'));
|
|
235
|
-
console.log();
|
|
236
|
-
}
|
|
237
|
-
console.log(chalk_1.default.gray(`\n📊 Total submissions: ${filtered.length}`));
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Share art (generate shareable format)
|
|
241
|
-
*/
|
|
242
|
-
async function shareArtCommand(name) {
|
|
243
|
-
const arts = await loadUserArts();
|
|
244
|
-
const art = arts.find(a => a.name.toLowerCase() === name.toLowerCase());
|
|
245
|
-
if (!art) {
|
|
246
|
-
console.log(chalk_1.default.red(`Art "${name}" not found`));
|
|
247
|
-
console.log(chalk_1.default.gray('Use "faf art gallery" to see available art'));
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
const shareData = {
|
|
251
|
-
faf_art: {
|
|
252
|
-
version: '1.0',
|
|
253
|
-
art: art
|
|
254
|
-
}
|
|
255
|
-
};
|
|
256
|
-
const encoded = Buffer.from(JSON.stringify(shareData)).toString('base64');
|
|
257
|
-
console.log(chalk_1.default.cyan('\n═══ SHAREABLE ART CODE ═══\n'));
|
|
258
|
-
console.log(chalk_1.default.yellow(encoded));
|
|
259
|
-
console.log(chalk_1.default.cyan('\n═══════════════════════════\n'));
|
|
260
|
-
console.log(chalk_1.default.gray('Share this code with others!'));
|
|
261
|
-
console.log(chalk_1.default.gray('They can import with: faf art import <code>'));
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Import shared art
|
|
265
|
-
*/
|
|
266
|
-
async function importArtCommand(code) {
|
|
267
|
-
try {
|
|
268
|
-
const decoded = Buffer.from(code, 'base64').toString('utf-8');
|
|
269
|
-
const data = JSON.parse(decoded);
|
|
270
|
-
if (!data.faf_art || !data.faf_art.art) {
|
|
271
|
-
throw new Error('Invalid art code');
|
|
272
|
-
}
|
|
273
|
-
const art = data.faf_art.art;
|
|
274
|
-
console.log(chalk_1.default.cyan('\n═══ PREVIEW IMPORTED ART ═══\n'));
|
|
275
|
-
console.log(chalk_1.default.yellow(`Name: ${art.name}`));
|
|
276
|
-
console.log(chalk_1.default.gray(`Author: ${art.author}`));
|
|
277
|
-
console.log();
|
|
278
|
-
console.log(art.art.replace(/{version}/g, '2.4.0'));
|
|
279
|
-
console.log();
|
|
280
|
-
const inquirer = await Promise.resolve().then(() => __importStar(require('inquirer')));
|
|
281
|
-
const confirm = await inquirer.default.prompt([
|
|
282
|
-
{
|
|
283
|
-
type: 'confirm',
|
|
284
|
-
name: 'import',
|
|
285
|
-
message: '💾 Import this art to your gallery?',
|
|
286
|
-
default: true
|
|
287
|
-
}
|
|
288
|
-
]);
|
|
289
|
-
if (confirm.import) {
|
|
290
|
-
await saveUserArt(art);
|
|
291
|
-
console.log(championship_style_1.FAF_COLORS.fafGreen('✅ Art imported successfully!'));
|
|
292
|
-
console.log(chalk_1.default.gray(`Use with: faf --art-style user:${art.name}`));
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
catch (error) {
|
|
296
|
-
console.log(chalk_1.default.red('❌ Invalid art code'));
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Helper functions
|
|
301
|
-
*/
|
|
302
|
-
async function ensureGalleryDir() {
|
|
303
|
-
try {
|
|
304
|
-
await fs.mkdir(USER_GALLERY_DIR, { recursive: true });
|
|
305
|
-
}
|
|
306
|
-
catch {
|
|
307
|
-
// Dir exists
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
async function loadUserArts() {
|
|
311
|
-
await ensureGalleryDir();
|
|
312
|
-
try {
|
|
313
|
-
const data = await fs.readFile(SUBMISSION_FILE, 'utf-8');
|
|
314
|
-
return JSON.parse(data);
|
|
315
|
-
}
|
|
316
|
-
catch {
|
|
317
|
-
return [];
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
async function saveUserArt(art) {
|
|
321
|
-
await ensureGalleryDir();
|
|
322
|
-
const arts = await loadUserArts();
|
|
323
|
-
// Check for duplicates
|
|
324
|
-
const existing = arts.findIndex(a => a.id === art.id);
|
|
325
|
-
if (existing >= 0) {
|
|
326
|
-
arts[existing] = art;
|
|
327
|
-
}
|
|
328
|
-
else {
|
|
329
|
-
arts.push(art);
|
|
330
|
-
}
|
|
331
|
-
await fs.writeFile(SUBMISSION_FILE, JSON.stringify(arts, null, 2));
|
|
332
|
-
}
|
|
333
|
-
function generateId() {
|
|
334
|
-
return Date.now().toString(36) + Math.random().toString(36).substr(2);
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Get user art by name (for use in art gallery)
|
|
338
|
-
*/
|
|
339
|
-
async function getUserArt(name) {
|
|
340
|
-
const arts = await loadUserArts();
|
|
341
|
-
const art = arts.find(a => a.name.toLowerCase() === name.toLowerCase());
|
|
342
|
-
if (art) {
|
|
343
|
-
const version = require('../../package.json').version;
|
|
344
|
-
return art.art.replace(/{version}/g, version);
|
|
345
|
-
}
|
|
346
|
-
return null;
|
|
347
|
-
}
|
|
348
|
-
//# sourceMappingURL=submit-art.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submit-art.js","sourceRoot":"","sources":["../../src/commands/submit-art.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 📧 faf subscribe - Email subscription management
|
|
3
|
-
*/
|
|
4
|
-
interface SubscribeOptions {
|
|
5
|
-
email?: string;
|
|
6
|
-
status?: boolean;
|
|
7
|
-
unsubscribe?: boolean;
|
|
8
|
-
quiet?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function subscribeCommand(options?: SubscribeOptions): Promise<void>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=subscribe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../src/commands/subscribe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,iBA4BpE"}
|