faf-cli 2.3.5 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +128 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.d.ts +10 -0
- package/dist/commands/about.d.ts.map +1 -0
- package/dist/commands/about.js +249 -0
- package/dist/commands/about.js.map +1 -0
- package/dist/commands/art.d.ts +10 -0
- package/dist/commands/art.d.ts.map +1 -0
- package/dist/commands/art.js +129 -0
- package/dist/commands/art.js.map +1 -0
- package/dist/commands/license-config.d.ts +10 -0
- package/dist/commands/license-config.d.ts.map +1 -0
- package/dist/commands/license-config.js +140 -0
- package/dist/commands/license-config.js.map +1 -0
- package/dist/commands/license.d.ts +7 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +60 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/commands/score-v3.d.ts.map +1 -1
- package/dist/commands/score-v3.js +14 -7
- package/dist/commands/score-v3.js.map +1 -1
- package/dist/commands/score.d.ts.map +1 -1
- package/dist/commands/score.js +30 -10
- package/dist/commands/score.js.map +1 -1
- package/dist/commands/submit-art.d.ts +25 -0
- package/dist/commands/submit-art.d.ts.map +1 -0
- package/dist/commands/submit-art.js +348 -0
- package/dist/commands/submit-art.js.map +1 -0
- package/dist/engine/engine-loader.d.ts +24 -0
- package/dist/engine/engine-loader.d.ts.map +1 -0
- package/dist/engine/engine-loader.js +156 -0
- package/dist/engine/engine-loader.js.map +1 -0
- package/dist/engine-bridge.d.ts +5 -5
- package/dist/engine-bridge.d.ts.map +1 -1
- package/dist/engine-bridge.js +20 -7
- package/dist/engine-bridge.js.map +1 -1
- package/dist/engine-mk2/mk2-core.d.ts +38 -0
- package/dist/engine-mk2/mk2-core.d.ts.map +1 -0
- package/dist/engine-mk2/mk2-core.js +217 -0
- package/dist/engine-mk2/mk2-core.js.map +1 -0
- package/dist/license/license-config.d.ts +59 -0
- package/dist/license/license-config.d.ts.map +1 -0
- package/dist/license/license-config.js +263 -0
- package/dist/license/license-config.js.map +1 -0
- package/dist/license/license-controller.d.ts +41 -0
- package/dist/license/license-controller.d.ts.map +1 -0
- package/dist/license/license-controller.js +243 -0
- package/dist/license/license-controller.js.map +1 -0
- package/dist/utils/art-gallery.d.ts +58 -0
- package/dist/utils/art-gallery.d.ts.map +1 -0
- package/dist/utils/art-gallery.js +275 -0
- package/dist/utils/art-gallery.js.map +1 -0
- package/dist/utils/championship-style.d.ts +1 -1
- package/dist/utils/championship-style.d.ts.map +1 -1
- package/dist/utils/championship-style.js +17 -13
- package/dist/utils/championship-style.js.map +1 -1
- package/dist/utils/score-header.d.ts +22 -0
- package/dist/utils/score-header.d.ts.map +1 -0
- package/dist/utils/score-header.js +85 -0
- package/dist/utils/score-header.js.map +1 -0
- package/dist/utils/score-indicators.d.ts +47 -0
- package/dist/utils/score-indicators.d.ts.map +1 -0
- package/dist/utils/score-indicators.js +197 -0
- package/dist/utils/score-indicators.js.map +1 -0
- package/package.json +8 -3
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* License Controller for FAF Engine
|
|
4
|
+
* Controls which engine (MK-1/MK-2) and features are available
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.licenseController = exports.LicenseController = void 0;
|
|
41
|
+
const crypto = __importStar(require("crypto"));
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const os = __importStar(require("os"));
|
|
45
|
+
class LicenseController {
|
|
46
|
+
static instance;
|
|
47
|
+
currentLicense;
|
|
48
|
+
licensePath;
|
|
49
|
+
constructor() {
|
|
50
|
+
// Check for license file in order of precedence
|
|
51
|
+
this.licensePath = this.findLicenseFile();
|
|
52
|
+
this.currentLicense = this.loadLicense();
|
|
53
|
+
}
|
|
54
|
+
static getInstance() {
|
|
55
|
+
if (!this.instance) {
|
|
56
|
+
this.instance = new LicenseController();
|
|
57
|
+
}
|
|
58
|
+
return this.instance;
|
|
59
|
+
}
|
|
60
|
+
findLicenseFile() {
|
|
61
|
+
// Check locations in order
|
|
62
|
+
const locations = [
|
|
63
|
+
process.env.FAF_LICENSE_FILE, // Environment variable
|
|
64
|
+
path.join(process.cwd(), '.faf-license'), // Project directory
|
|
65
|
+
path.join(os.homedir(), '.faf', 'license'), // User home
|
|
66
|
+
'/etc/faf/license' // System-wide
|
|
67
|
+
].filter(Boolean);
|
|
68
|
+
for (const location of locations) {
|
|
69
|
+
if (location && fs.existsSync(location)) {
|
|
70
|
+
return location;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return path.join(os.homedir(), '.faf', 'license');
|
|
74
|
+
}
|
|
75
|
+
loadLicense() {
|
|
76
|
+
// Check environment variable first
|
|
77
|
+
if (process.env.FAF_LICENSE_KEY) {
|
|
78
|
+
return this.validateKey(process.env.FAF_LICENSE_KEY);
|
|
79
|
+
}
|
|
80
|
+
// Try to load from file
|
|
81
|
+
try {
|
|
82
|
+
if (fs.existsSync(this.licensePath)) {
|
|
83
|
+
const content = fs.readFileSync(this.licensePath, 'utf-8');
|
|
84
|
+
return this.validateKey(content.trim());
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// Fall through to free tier
|
|
89
|
+
}
|
|
90
|
+
// Default to free tier
|
|
91
|
+
return this.getFreeTier();
|
|
92
|
+
}
|
|
93
|
+
validateKey(key) {
|
|
94
|
+
// Special keys for testing
|
|
95
|
+
if (key === 'FREE')
|
|
96
|
+
return this.getFreeTier();
|
|
97
|
+
if (key === 'CHAMPIONSHIP-TEST')
|
|
98
|
+
return this.getChampionshipTier();
|
|
99
|
+
// Decode license key (format: TYPE-ENGINE-EXPIRY-SIGNATURE)
|
|
100
|
+
try {
|
|
101
|
+
const parts = key.split('-');
|
|
102
|
+
if (parts.length < 3)
|
|
103
|
+
return this.getFreeTier();
|
|
104
|
+
const [type, engine, expiry, ...signature] = parts;
|
|
105
|
+
// Verify signature
|
|
106
|
+
if (!this.verifySignature(key)) {
|
|
107
|
+
return this.getFreeTier();
|
|
108
|
+
}
|
|
109
|
+
// Check expiry
|
|
110
|
+
if (expiry !== 'NEVER') {
|
|
111
|
+
const expiryDate = new Date(parseInt(expiry));
|
|
112
|
+
if (expiryDate < new Date()) {
|
|
113
|
+
return this.getFreeTier();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Return appropriate license
|
|
117
|
+
return this.buildLicense(type, engine);
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return this.getFreeTier();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
verifySignature(key) {
|
|
124
|
+
// In production, verify against your signing key
|
|
125
|
+
// For now, simple validation
|
|
126
|
+
return key.includes('-') && key.length > 10;
|
|
127
|
+
}
|
|
128
|
+
buildLicense(type, engine) {
|
|
129
|
+
const licenses = {
|
|
130
|
+
free: this.getFreeTier(),
|
|
131
|
+
developer: {
|
|
132
|
+
type: 'developer',
|
|
133
|
+
engine: 'MK-1',
|
|
134
|
+
scoreLimit: 85,
|
|
135
|
+
features: ['basic', 'cache', 'chrome-extension']
|
|
136
|
+
},
|
|
137
|
+
professional: {
|
|
138
|
+
type: 'professional',
|
|
139
|
+
engine: 'MK-2',
|
|
140
|
+
scoreLimit: 95,
|
|
141
|
+
features: ['basic', 'cache', 'chrome-extension', 'advanced-scoring', 'compiler']
|
|
142
|
+
},
|
|
143
|
+
enterprise: {
|
|
144
|
+
type: 'enterprise',
|
|
145
|
+
engine: 'MK-2',
|
|
146
|
+
scoreLimit: 100,
|
|
147
|
+
features: ['all']
|
|
148
|
+
},
|
|
149
|
+
championship: this.getChampionshipTier()
|
|
150
|
+
};
|
|
151
|
+
const license = licenses[type];
|
|
152
|
+
if (engine) {
|
|
153
|
+
license.engine = engine;
|
|
154
|
+
}
|
|
155
|
+
return license;
|
|
156
|
+
}
|
|
157
|
+
getFreeTier() {
|
|
158
|
+
return {
|
|
159
|
+
type: 'free',
|
|
160
|
+
engine: 'MK-1',
|
|
161
|
+
scoreLimit: 70,
|
|
162
|
+
features: ['basic']
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
getChampionshipTier() {
|
|
166
|
+
return {
|
|
167
|
+
type: 'championship',
|
|
168
|
+
engine: 'MK-2',
|
|
169
|
+
scoreLimit: 100,
|
|
170
|
+
features: ['all', 'priority-support', 'custom-features']
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
// Public API
|
|
174
|
+
getLicense() {
|
|
175
|
+
return this.currentLicense;
|
|
176
|
+
}
|
|
177
|
+
getEngine() {
|
|
178
|
+
return this.currentLicense.engine;
|
|
179
|
+
}
|
|
180
|
+
getScoreLimit() {
|
|
181
|
+
return this.currentLicense.scoreLimit;
|
|
182
|
+
}
|
|
183
|
+
hasFeature(feature) {
|
|
184
|
+
return this.currentLicense.features.includes('all') ||
|
|
185
|
+
this.currentLicense.features.includes(feature);
|
|
186
|
+
}
|
|
187
|
+
canUseEngine(engine) {
|
|
188
|
+
if (engine === 'MK-1')
|
|
189
|
+
return true; // Everyone can use MK-1
|
|
190
|
+
if (engine === 'MK-2') {
|
|
191
|
+
return this.currentLicense.engine === 'MK-2';
|
|
192
|
+
}
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
setLicense(key) {
|
|
196
|
+
const newLicense = this.validateKey(key);
|
|
197
|
+
if (newLicense.type !== 'free') {
|
|
198
|
+
this.currentLicense = newLicense;
|
|
199
|
+
// Save to file
|
|
200
|
+
try {
|
|
201
|
+
const dir = path.dirname(this.licensePath);
|
|
202
|
+
if (!fs.existsSync(dir)) {
|
|
203
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
204
|
+
}
|
|
205
|
+
fs.writeFileSync(this.licensePath, key, 'utf-8');
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// Still use the license in memory
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
generateTrialKey(email, days = 14) {
|
|
216
|
+
const expiry = Date.now() + (days * 24 * 60 * 60 * 1000);
|
|
217
|
+
const key = `TRIAL-MK2-${expiry}-${this.hash(email)}`;
|
|
218
|
+
return key;
|
|
219
|
+
}
|
|
220
|
+
hash(input) {
|
|
221
|
+
return crypto.createHash('sha256').update(input).digest('hex').substring(0, 8);
|
|
222
|
+
}
|
|
223
|
+
getInfo() {
|
|
224
|
+
const license = this.currentLicense;
|
|
225
|
+
const lines = [
|
|
226
|
+
`License Type: ${license.type.toUpperCase()}`,
|
|
227
|
+
`Engine: ${license.engine}`,
|
|
228
|
+
`Score Limit: ${license.scoreLimit}%`,
|
|
229
|
+
`Features: ${license.features.join(', ')}`,
|
|
230
|
+
];
|
|
231
|
+
if (license.expiresAt) {
|
|
232
|
+
lines.push(`Expires: ${license.expiresAt.toLocaleDateString()}`);
|
|
233
|
+
}
|
|
234
|
+
if (license.issuedTo) {
|
|
235
|
+
lines.push(`Issued To: ${license.issuedTo}`);
|
|
236
|
+
}
|
|
237
|
+
return lines.join('\n');
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.LicenseController = LicenseController;
|
|
241
|
+
// Export singleton instance
|
|
242
|
+
exports.licenseController = LicenseController.getInstance();
|
|
243
|
+
//# sourceMappingURL=license-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-controller.js","sourceRoot":"","sources":["../../src/license/license-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🎨 FAF Art Gallery - Multiple banner styles for fun!
|
|
3
|
+
* Because who doesn't want options?
|
|
4
|
+
*/
|
|
5
|
+
export type ArtStyle = 'classic' | 'v1' | 'v2' | 'retro' | 'minimal' | 'big' | 'racing' | 'neon' | 'ascii' | 'random';
|
|
6
|
+
/**
|
|
7
|
+
* Classic 3D FAF (the current one)
|
|
8
|
+
*/
|
|
9
|
+
export declare function artClassic(version: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Original v1 style (simpler box chars)
|
|
12
|
+
*/
|
|
13
|
+
export declare function artV1(version: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* V2 style (horizontal gradient)
|
|
16
|
+
*/
|
|
17
|
+
export declare function artV2(version: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Retro terminal style (old school)
|
|
20
|
+
*/
|
|
21
|
+
export declare function artRetro(version: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Minimal style (clean and simple)
|
|
24
|
+
*/
|
|
25
|
+
export declare function artMinimal(version: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* BIG ORANGE style (when you hit 99%+)
|
|
28
|
+
*/
|
|
29
|
+
export declare function artBig(version: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Racing style (F1 inspired)
|
|
32
|
+
*/
|
|
33
|
+
export declare function artRacing(version: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Neon style (cyberpunk vibes)
|
|
36
|
+
*/
|
|
37
|
+
export declare function artNeon(version: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Pure ASCII art (no unicode)
|
|
40
|
+
*/
|
|
41
|
+
export declare function artAscii(version: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get a random art style
|
|
44
|
+
*/
|
|
45
|
+
export declare function artRandom(version: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Get art by style name (including user submissions)
|
|
48
|
+
*/
|
|
49
|
+
export declare function getArtByStyle(style: ArtStyle | string, version: string): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Get style based on score (for fun!)
|
|
52
|
+
*/
|
|
53
|
+
export declare function getArtByScore(score: number, version: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* List all available styles
|
|
56
|
+
*/
|
|
57
|
+
export declare function listArtStyles(): string[];
|
|
58
|
+
//# sourceMappingURL=art-gallery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art-gallery.d.ts","sourceRoot":"","sources":["../../src/utils/art-gallery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtH;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBlD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW7C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAY9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B9F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAaxC"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 🎨 FAF Art Gallery - Multiple banner styles for fun!
|
|
4
|
+
* Because who doesn't want options?
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.artClassic = artClassic;
|
|
41
|
+
exports.artV1 = artV1;
|
|
42
|
+
exports.artV2 = artV2;
|
|
43
|
+
exports.artRetro = artRetro;
|
|
44
|
+
exports.artMinimal = artMinimal;
|
|
45
|
+
exports.artBig = artBig;
|
|
46
|
+
exports.artRacing = artRacing;
|
|
47
|
+
exports.artNeon = artNeon;
|
|
48
|
+
exports.artAscii = artAscii;
|
|
49
|
+
exports.artRandom = artRandom;
|
|
50
|
+
exports.getArtByStyle = getArtByStyle;
|
|
51
|
+
exports.getArtByScore = getArtByScore;
|
|
52
|
+
exports.listArtStyles = listArtStyles;
|
|
53
|
+
const championship_style_1 = require("./championship-style");
|
|
54
|
+
/**
|
|
55
|
+
* Classic 3D FAF (the current one)
|
|
56
|
+
*/
|
|
57
|
+
function artClassic(version) {
|
|
58
|
+
return `╔══════════════════════════════════════════════════════════════╗
|
|
59
|
+
║ ║
|
|
60
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('███████╗')} ${championship_style_1.FAF_COLORS.fafCyan('███████╗')} ${championship_style_1.FAF_COLORS.fafCyan('███████╗')} 🏎️ 🏁 v${version}
|
|
61
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('██╔════╝')} ${championship_style_1.FAF_COLORS.fafCyan('██╔══██╗')} ${championship_style_1.FAF_COLORS.fafCyan('██╔════╝')}
|
|
62
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('█████╗ ')} ${championship_style_1.FAF_COLORS.fafCyan('███████║')} ${championship_style_1.FAF_COLORS.fafCyan('█████╗ ')}
|
|
63
|
+
║ ${championship_style_1.FAF_COLORS.fafWhite('██╔══╝ ')} ${championship_style_1.FAF_COLORS.fafWhite('██╔══██║')} ${championship_style_1.FAF_COLORS.fafWhite('██╔══╝ ')}
|
|
64
|
+
║ ${championship_style_1.FAF_COLORS.fafWhite('██║ ')} ${championship_style_1.FAF_COLORS.fafWhite('██║ ██║')} ${championship_style_1.FAF_COLORS.fafWhite('██║ ')}
|
|
65
|
+
║ ${championship_style_1.FAF_COLORS.fafOrange('██║ ')} ${championship_style_1.FAF_COLORS.fafOrange('██║ ██║')} ${championship_style_1.FAF_COLORS.fafOrange('██║ ')}
|
|
66
|
+
║ ${championship_style_1.FAF_COLORS.fafOrange('╚═╝ ')} ${championship_style_1.FAF_COLORS.fafOrange('╚═╝ ╚═╝')} ${championship_style_1.FAF_COLORS.fafOrange('╚═╝ ')}
|
|
67
|
+
║ ║
|
|
68
|
+
║ 🤖 Make Your AI Happy! 🧡 Trust Driven ║
|
|
69
|
+
║ ───────────────────────────────────────────────── ║
|
|
70
|
+
║ 🌐 Universal, AI-Context ⚡ FAST AF 💙 ║
|
|
71
|
+
║ ║
|
|
72
|
+
╚══════════════════════════════════════════════════════════════╝`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Original v1 style (simpler box chars)
|
|
76
|
+
*/
|
|
77
|
+
function artV1(version) {
|
|
78
|
+
return `┌─────────────────────────────────────────────────────────────┐
|
|
79
|
+
│ ███████ ███████ ███████ 🏎️ FAST ⚡ v${version} │
|
|
80
|
+
│ ██ ██ ██ ██ │
|
|
81
|
+
│ █████ ███████ █████ AI Context Format │
|
|
82
|
+
│ ██ ██ ██ ██ │
|
|
83
|
+
│ ██ ██ ██ ██ .faf = THE JPEG for AI │
|
|
84
|
+
│ │
|
|
85
|
+
│ 🧡 Make Your AI Happy! · Trust Driven · FAST AF 🏁 │
|
|
86
|
+
└─────────────────────────────────────────────────────────────┘`;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* V2 style (horizontal gradient)
|
|
90
|
+
*/
|
|
91
|
+
function artV2(version) {
|
|
92
|
+
return `╔═══════════════════════════════════════════════════════════════════╗
|
|
93
|
+
║ ║
|
|
94
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('███')}${championship_style_1.FAF_COLORS.fafWhite('███')}${championship_style_1.FAF_COLORS.fafOrange('█')} ${championship_style_1.FAF_COLORS.fafCyan('███')}${championship_style_1.FAF_COLORS.fafWhite('███')}${championship_style_1.FAF_COLORS.fafOrange('█')} ${championship_style_1.FAF_COLORS.fafCyan('███')}${championship_style_1.FAF_COLORS.fafWhite('███')}${championship_style_1.FAF_COLORS.fafOrange('█')} v${version}
|
|
95
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('██')}${championship_style_1.FAF_COLORS.fafWhite('═══')}${championship_style_1.FAF_COLORS.fafOrange('═╝')} ${championship_style_1.FAF_COLORS.fafCyan('██')}${championship_style_1.FAF_COLORS.fafWhite('═══')}${championship_style_1.FAF_COLORS.fafOrange('██')} ${championship_style_1.FAF_COLORS.fafCyan('██')}${championship_style_1.FAF_COLORS.fafWhite('═══')}${championship_style_1.FAF_COLORS.fafOrange('═╝')}
|
|
96
|
+
║ ${championship_style_1.FAF_COLORS.fafCyan('█████')}${championship_style_1.FAF_COLORS.fafOrange('╗')} ${championship_style_1.FAF_COLORS.fafCyan('███████')} ${championship_style_1.FAF_COLORS.fafCyan('█████')}${championship_style_1.FAF_COLORS.fafOrange('╗')} 🏎️ Championship Edition
|
|
97
|
+
║ ${championship_style_1.FAF_COLORS.fafWhite('██')}${championship_style_1.FAF_COLORS.fafOrange('═══╝')} ${championship_style_1.FAF_COLORS.fafWhite('██')}${championship_style_1.FAF_COLORS.fafOrange('═══██')} ${championship_style_1.FAF_COLORS.fafWhite('██')}${championship_style_1.FAF_COLORS.fafOrange('═══╝')}
|
|
98
|
+
║ ${championship_style_1.FAF_COLORS.fafWhite('██')} ${championship_style_1.FAF_COLORS.fafWhite('██ ██')} ${championship_style_1.FAF_COLORS.fafWhite('██')}
|
|
99
|
+
║ ${championship_style_1.FAF_COLORS.fafOrange('╚═')} ${championship_style_1.FAF_COLORS.fafOrange('╚═ ╚═')} ${championship_style_1.FAF_COLORS.fafOrange('╚═')} Trust 🧡 Speed ⚡
|
|
100
|
+
║ ║
|
|
101
|
+
╚═══════════════════════════════════════════════════════════════════╝`;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Retro terminal style (old school)
|
|
105
|
+
*/
|
|
106
|
+
function artRetro(version) {
|
|
107
|
+
return `+------------------------------------------------------------------+
|
|
108
|
+
| |
|
|
109
|
+
| FFFFF AAAAA FFFFF .FAF v${version.padEnd(6)} |
|
|
110
|
+
| F A A F Foundational AI-context Format |
|
|
111
|
+
| FFF AAAAA FFF ================================ |
|
|
112
|
+
| F A A F > LOADING AI CONTEXT... |
|
|
113
|
+
| F A A F > TRUST PROTOCOL ACTIVE |
|
|
114
|
+
| > READY FOR LAUNCH |
|
|
115
|
+
| |
|
|
116
|
+
| [OK] System Status: OPTIMAL CPU: <50ms RAM: 2.3MB |
|
|
117
|
+
+------------------------------------------------------------------+`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Minimal style (clean and simple)
|
|
121
|
+
*/
|
|
122
|
+
function artMinimal(version) {
|
|
123
|
+
return `
|
|
124
|
+
${championship_style_1.FAF_COLORS.fafCyan('FAF')} · ${championship_style_1.FAF_COLORS.fafWhite('AI Context')} · ${championship_style_1.FAF_COLORS.fafOrange('v' + version)}
|
|
125
|
+
─────────────────────────────
|
|
126
|
+
Make Your AI Happy 🧡
|
|
127
|
+
`;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* BIG ORANGE style (when you hit 99%+)
|
|
131
|
+
*/
|
|
132
|
+
function artBig(version) {
|
|
133
|
+
return `${championship_style_1.FAF_COLORS.fafOrange('╔════════════════════════════════════════════════════════════════════╗')}
|
|
134
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('║')}
|
|
135
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('███████╗ ███████╗ ███████╗')} 🍊 BIG ORANGE 🍊 v${version}
|
|
136
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('██╔════╝ ██╔══██╗ ██╔════╝')}
|
|
137
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('█████╗ ███████║ █████╗ ')} 105% ACHIEVED!
|
|
138
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('██╔══╝ ██╔══██║ ██╔══╝ ')}
|
|
139
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('██║ ██║ ██║ ██║ ')} CHAMPIONSHIP PERFORMANCE
|
|
140
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('╚═╝ ╚═╝ ╚═╝ ╚═╝ ')}
|
|
141
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} ${championship_style_1.FAF_COLORS.fafOrange('║')}
|
|
142
|
+
${championship_style_1.FAF_COLORS.fafOrange('║')} 🏆 YOU ARE THE CHAMPION! 🏆 ${championship_style_1.FAF_COLORS.fafOrange('║')}
|
|
143
|
+
${championship_style_1.FAF_COLORS.fafOrange('╚════════════════════════════════════════════════════════════════════╝')}`;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Racing style (F1 inspired)
|
|
147
|
+
*/
|
|
148
|
+
function artRacing(version) {
|
|
149
|
+
return `
|
|
150
|
+
🏁━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━🏁
|
|
151
|
+
🏎️ FAF RACING TEAM 🏎️
|
|
152
|
+
🏁━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━🏁
|
|
153
|
+
███████╗ ███████╗ ███████╗
|
|
154
|
+
██╔════╝ ██╔══██╗ ██╔════╝ POLE POSITION
|
|
155
|
+
█████╗ ███████║ █████╗ LAP TIME: <50ms
|
|
156
|
+
██╔══╝ ██╔══██║ ██╔══╝ SECTOR 1: ✅
|
|
157
|
+
██║ ██║ ██║ ██║ SECTOR 2: ✅
|
|
158
|
+
╚═╝ ╚═╝ ╚═╝ ╚═╝ SECTOR 3: ✅
|
|
159
|
+
|
|
160
|
+
⚡ TURBO: ENGAGED | 🏆 POINTS: 99 | 📊 TELEMETRY: LIVE
|
|
161
|
+
🏁━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━🏁`;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Neon style (cyberpunk vibes)
|
|
165
|
+
*/
|
|
166
|
+
function artNeon(version) {
|
|
167
|
+
return `${championship_style_1.FAF_COLORS.fafCyan('╔═[SYSTEM:FAF]═══════════════════════════════════[v' + version + ']═╗')}
|
|
168
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} ${championship_style_1.FAF_COLORS.gradient('░▒▓█ FAF █▓▒░')} ${championship_style_1.FAF_COLORS.fafCyan('[NEURAL LINK: ESTABLISHED]')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
169
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} ${championship_style_1.FAF_COLORS.fafOrange('▀▀█▀▀ █▀█ █▀▀')} ${championship_style_1.FAF_COLORS.fafWhite('[AI CONTEXT: LOADED]')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
170
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} ${championship_style_1.FAF_COLORS.fafOrange(' █ █▀█ █▀ ')} ${championship_style_1.FAF_COLORS.fafGreen('[TRUST LEVEL: ████████░░] 85%')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
171
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} ${championship_style_1.FAF_COLORS.fafOrange(' ▀ ▀ ▀ ▀ ')} ${championship_style_1.FAF_COLORS.gradient('[QUANTUM STATE: COHERENT]')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
172
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
173
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} > INITIALIZE /usr/ai/context ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
174
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} > LOADING... ████████████████████████ 100% ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
175
|
+
${championship_style_1.FAF_COLORS.fafCyan('║')} > STATUS: ${championship_style_1.FAF_COLORS.fafGreen('●')} ONLINE | LATENCY: ${championship_style_1.FAF_COLORS.fafGreen('<50ms')} | MODE: ${championship_style_1.FAF_COLORS.fafOrange('TURBO')} ${championship_style_1.FAF_COLORS.fafCyan('║')}
|
|
176
|
+
${championship_style_1.FAF_COLORS.fafCyan('╚══════════════════════════════════════════════════════════╝')}`;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Pure ASCII art (no unicode)
|
|
180
|
+
*/
|
|
181
|
+
function artAscii(version) {
|
|
182
|
+
return `
|
|
183
|
+
_/_/_/_/ _/_/ _/_/_/_/
|
|
184
|
+
_/ _/ _/ _/
|
|
185
|
+
_/_/_/ _/_/_/_/ _/_/_/
|
|
186
|
+
_/ _/ _/ _/
|
|
187
|
+
_/ _/ _/ _/
|
|
188
|
+
|
|
189
|
+
.faf - THE JPEG for AI - v${version}
|
|
190
|
+
Make Your AI Happy!`;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get a random art style
|
|
194
|
+
*/
|
|
195
|
+
function artRandom(version) {
|
|
196
|
+
const styles = [
|
|
197
|
+
artClassic,
|
|
198
|
+
artV1,
|
|
199
|
+
artV2,
|
|
200
|
+
artRetro,
|
|
201
|
+
artMinimal,
|
|
202
|
+
artRacing,
|
|
203
|
+
artNeon,
|
|
204
|
+
artAscii
|
|
205
|
+
];
|
|
206
|
+
const randomIndex = Math.floor(Math.random() * styles.length);
|
|
207
|
+
return styles[randomIndex](version);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get art by style name (including user submissions)
|
|
211
|
+
*/
|
|
212
|
+
async function getArtByStyle(style, version) {
|
|
213
|
+
// Check for user art (format: user:artname)
|
|
214
|
+
if (typeof style === 'string' && style.startsWith('user:')) {
|
|
215
|
+
const userArtName = style.substring(5);
|
|
216
|
+
const { getUserArt } = await Promise.resolve().then(() => __importStar(require('../commands/submit-art')));
|
|
217
|
+
const userArt = await getUserArt(userArtName);
|
|
218
|
+
if (userArt) {
|
|
219
|
+
return userArt;
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
return `User art "${userArtName}" not found. Using classic instead.\n\n` + artClassic(version);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const styleMap = {
|
|
226
|
+
'classic': artClassic,
|
|
227
|
+
'v1': artV1,
|
|
228
|
+
'v2': artV2,
|
|
229
|
+
'retro': artRetro,
|
|
230
|
+
'minimal': artMinimal,
|
|
231
|
+
'big': artBig,
|
|
232
|
+
'racing': artRacing,
|
|
233
|
+
'neon': artNeon,
|
|
234
|
+
'ascii': artAscii,
|
|
235
|
+
'random': artRandom
|
|
236
|
+
};
|
|
237
|
+
const artFunction = styleMap[style] || artClassic;
|
|
238
|
+
return artFunction(version);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get style based on score (for fun!)
|
|
242
|
+
*/
|
|
243
|
+
function getArtByScore(score, version) {
|
|
244
|
+
if (score >= 99)
|
|
245
|
+
return artBig(version); // BIG ORANGE!
|
|
246
|
+
if (score >= 90)
|
|
247
|
+
return artRacing(version); // Racing mode
|
|
248
|
+
if (score >= 80)
|
|
249
|
+
return artNeon(version); // Neon vibes
|
|
250
|
+
if (score >= 70)
|
|
251
|
+
return artClassic(version); // Classic
|
|
252
|
+
if (score >= 60)
|
|
253
|
+
return artV2(version); // V2
|
|
254
|
+
if (score >= 50)
|
|
255
|
+
return artV1(version); // V1
|
|
256
|
+
return artMinimal(version); // Minimal for low scores
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* List all available styles
|
|
260
|
+
*/
|
|
261
|
+
function listArtStyles() {
|
|
262
|
+
return [
|
|
263
|
+
'classic - The classic 3D FAF design',
|
|
264
|
+
'v1 - Original simple box style',
|
|
265
|
+
'v2 - Horizontal gradient style',
|
|
266
|
+
'retro - Old school terminal style',
|
|
267
|
+
'minimal - Clean and simple',
|
|
268
|
+
'big - BIG ORANGE celebration (99%+)',
|
|
269
|
+
'racing - F1 inspired with telemetry',
|
|
270
|
+
'neon - Cyberpunk vibes',
|
|
271
|
+
'ascii - Pure ASCII, no unicode',
|
|
272
|
+
'random - Surprise me!'
|
|
273
|
+
];
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=art-gallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art-gallery.js","sourceRoot":"","sources":["../../src/utils/art-gallery.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,7 @@ export declare const BRAND_MESSAGES: {
|
|
|
99
99
|
*/
|
|
100
100
|
export declare function generateHelpHeader(): string;
|
|
101
101
|
/**
|
|
102
|
-
* Generate static championship header (
|
|
102
|
+
* Generate static championship header (classic 3D design)
|
|
103
103
|
*/
|
|
104
104
|
export declare function generateFAFHeader(): string;
|
|
105
105
|
export declare const FAF_HEADER: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"championship-style.d.ts","sourceRoot":"","sources":["../../src/utils/championship-style.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,UAAU;;;;;;;;qBAaJ,MAAM;CACxB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;CAgBzB,CAAC;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;CAWjC,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAqB1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"championship-style.d.ts","sourceRoot":"","sources":["../../src/utils/championship-style.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,UAAU;;;;;;;;qBAaJ,MAAM;CACxB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;CAgBzB,CAAC;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;CAWjC,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAqB1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAmB1C;AAGD,eAAO,MAAM,UAAU,QAAsB,CAAC;AAG9C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAU3D;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQxD;AAGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQvD;AAGD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D"}
|