faf-cli 2.4.1 β 2.4.2
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 +154 -212
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +55 -143
- package/dist/cli.js.map +1 -1
- package/dist/commands/enhance-real.d.ts +18 -0
- package/dist/commands/enhance-real.d.ts.map +1 -0
- package/dist/commands/enhance-real.js +1027 -0
- package/dist/commands/enhance-real.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/notifications.d.ts +12 -0
- package/dist/commands/notifications.d.ts.map +1 -0
- package/dist/commands/notifications.js +38 -0
- package/dist/commands/notifications.js.map +1 -0
- package/dist/commands/score-v3.d.ts.map +1 -1
- package/dist/commands/score-v3.js +7 -14
- package/dist/commands/score-v3.js.map +1 -1
- package/dist/commands/score.d.ts.map +1 -1
- package/dist/commands/score.js +10 -30
- package/dist/commands/score.js.map +1 -1
- package/dist/commands/subscribe.d.ts +12 -0
- package/dist/commands/subscribe.d.ts.map +1 -0
- package/dist/commands/subscribe.js +38 -0
- package/dist/commands/subscribe.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 +7 -20
- package/dist/engine-bridge.js.map +1 -1
- package/dist/types/faf-types.d.ts +144 -0
- package/dist/types/faf-types.d.ts.map +1 -0
- package/dist/types/faf-types.js +21 -0
- package/dist/types/faf-types.js.map +1 -0
- package/dist/utils/announcements.d.ts +16 -0
- package/dist/utils/announcements.d.ts.map +1 -0
- package/dist/utils/announcements.js +136 -0
- package/dist/utils/announcements.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 +13 -17
- package/dist/utils/championship-style.js.map +1 -1
- package/dist/utils/email-opt-in.d.ts +31 -0
- package/dist/utils/email-opt-in.d.ts.map +1 -0
- package/dist/utils/email-opt-in.js +195 -0
- package/dist/utils/email-opt-in.js.map +1 -0
- package/dist/utils/feedback-messages.d.ts +13 -0
- package/dist/utils/feedback-messages.d.ts.map +1 -0
- package/dist/utils/feedback-messages.js +121 -0
- package/dist/utils/feedback-messages.js.map +1 -0
- package/dist/utils/score-header.js +16 -10
- package/dist/utils/score-header.js.map +1 -1
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/utils/update-checker.js +3 -12
- package/dist/utils/update-checker.js.map +1 -1
- package/dist/utils/yaml-generator.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ποΈ FAF Type Definitions
|
|
3
|
+
* Strict types for the FAF CLI
|
|
4
|
+
*/
|
|
5
|
+
export interface FafProjectData {
|
|
6
|
+
projectName: string;
|
|
7
|
+
projectGoal?: string;
|
|
8
|
+
mainLanguage: string;
|
|
9
|
+
framework: string;
|
|
10
|
+
cssFramework?: string;
|
|
11
|
+
uiLibrary?: string;
|
|
12
|
+
stateManagement?: string;
|
|
13
|
+
backend: string;
|
|
14
|
+
apiType: string;
|
|
15
|
+
server: string;
|
|
16
|
+
database: string;
|
|
17
|
+
connection: string;
|
|
18
|
+
hosting: string;
|
|
19
|
+
buildTool: string;
|
|
20
|
+
packageManager?: string;
|
|
21
|
+
cicd: string;
|
|
22
|
+
fafScore: number;
|
|
23
|
+
slotBasedPercentage: number;
|
|
24
|
+
targetUser?: string;
|
|
25
|
+
coreProblem?: string;
|
|
26
|
+
missionPurpose?: string;
|
|
27
|
+
deploymentMarket?: string;
|
|
28
|
+
timeline?: string;
|
|
29
|
+
approach?: string;
|
|
30
|
+
additionalWho?: string[];
|
|
31
|
+
additionalWhat?: string[];
|
|
32
|
+
additionalHow?: string[];
|
|
33
|
+
discoveredFormats?: string[];
|
|
34
|
+
author?: string;
|
|
35
|
+
createdAt?: string;
|
|
36
|
+
updatedAt?: string;
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
}
|
|
39
|
+
export interface FafYamlStructure {
|
|
40
|
+
project: {
|
|
41
|
+
name: string;
|
|
42
|
+
stack: string;
|
|
43
|
+
goal?: string;
|
|
44
|
+
approach?: string;
|
|
45
|
+
[key: string]: unknown;
|
|
46
|
+
};
|
|
47
|
+
stack: {
|
|
48
|
+
frontend?: {
|
|
49
|
+
framework?: string;
|
|
50
|
+
language?: string;
|
|
51
|
+
css?: string;
|
|
52
|
+
ui?: string;
|
|
53
|
+
state?: string;
|
|
54
|
+
};
|
|
55
|
+
backend?: {
|
|
56
|
+
language?: string;
|
|
57
|
+
framework?: string;
|
|
58
|
+
api?: string;
|
|
59
|
+
server?: string;
|
|
60
|
+
};
|
|
61
|
+
database?: {
|
|
62
|
+
type?: string;
|
|
63
|
+
connection?: string;
|
|
64
|
+
};
|
|
65
|
+
infrastructure?: {
|
|
66
|
+
hosting?: string;
|
|
67
|
+
cicd?: string;
|
|
68
|
+
monitoring?: string;
|
|
69
|
+
};
|
|
70
|
+
[key: string]: unknown;
|
|
71
|
+
};
|
|
72
|
+
human?: {
|
|
73
|
+
who?: string | string[];
|
|
74
|
+
what?: string | string[];
|
|
75
|
+
why?: string | string[];
|
|
76
|
+
how?: string | string[];
|
|
77
|
+
where?: string | string[];
|
|
78
|
+
when?: string | string[];
|
|
79
|
+
};
|
|
80
|
+
context?: {
|
|
81
|
+
purpose?: string;
|
|
82
|
+
problem?: string;
|
|
83
|
+
market?: string;
|
|
84
|
+
timeline?: string;
|
|
85
|
+
[key: string]: unknown;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export interface PackageJson {
|
|
89
|
+
name?: string;
|
|
90
|
+
version?: string;
|
|
91
|
+
description?: string;
|
|
92
|
+
main?: string;
|
|
93
|
+
scripts?: Record<string, string>;
|
|
94
|
+
dependencies?: Record<string, string>;
|
|
95
|
+
devDependencies?: Record<string, string>;
|
|
96
|
+
peerDependencies?: Record<string, string>;
|
|
97
|
+
engines?: {
|
|
98
|
+
node?: string;
|
|
99
|
+
npm?: string;
|
|
100
|
+
[key: string]: string | undefined;
|
|
101
|
+
};
|
|
102
|
+
repository?: {
|
|
103
|
+
type?: string;
|
|
104
|
+
url?: string;
|
|
105
|
+
} | string;
|
|
106
|
+
keywords?: string[];
|
|
107
|
+
author?: string | {
|
|
108
|
+
name?: string;
|
|
109
|
+
email?: string;
|
|
110
|
+
url?: string;
|
|
111
|
+
};
|
|
112
|
+
license?: string;
|
|
113
|
+
bugs?: {
|
|
114
|
+
url?: string;
|
|
115
|
+
email?: string;
|
|
116
|
+
} | string;
|
|
117
|
+
homepage?: string;
|
|
118
|
+
[key: string]: unknown;
|
|
119
|
+
}
|
|
120
|
+
export interface TsConfig {
|
|
121
|
+
compilerOptions?: Record<string, unknown>;
|
|
122
|
+
include?: string[];
|
|
123
|
+
exclude?: string[];
|
|
124
|
+
extends?: string;
|
|
125
|
+
[key: string]: unknown;
|
|
126
|
+
}
|
|
127
|
+
export interface WebpackConfig {
|
|
128
|
+
entry?: string | string[] | Record<string, string | string[]>;
|
|
129
|
+
output?: Record<string, unknown>;
|
|
130
|
+
module?: {
|
|
131
|
+
rules?: Array<Record<string, unknown>>;
|
|
132
|
+
};
|
|
133
|
+
plugins?: unknown[];
|
|
134
|
+
[key: string]: unknown;
|
|
135
|
+
}
|
|
136
|
+
export interface ViteConfig {
|
|
137
|
+
build?: Record<string, unknown>;
|
|
138
|
+
server?: Record<string, unknown>;
|
|
139
|
+
plugins?: unknown[];
|
|
140
|
+
[key: string]: unknown;
|
|
141
|
+
}
|
|
142
|
+
export declare function isFafProjectData(data: unknown): data is FafProjectData;
|
|
143
|
+
export declare function isPackageJson(data: unknown): data is PackageJson;
|
|
144
|
+
//# sourceMappingURL=faf-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faf-types.d.ts","sourceRoot":"","sources":["../../src/types/faf-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ποΈ FAF Type Definitions
|
|
4
|
+
* Strict types for the FAF CLI
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isFafProjectData = isFafProjectData;
|
|
8
|
+
exports.isPackageJson = isPackageJson;
|
|
9
|
+
// Type guards
|
|
10
|
+
function isFafProjectData(data) {
|
|
11
|
+
return typeof data === 'object' &&
|
|
12
|
+
data !== null &&
|
|
13
|
+
'projectName' in data &&
|
|
14
|
+
'mainLanguage' in data;
|
|
15
|
+
}
|
|
16
|
+
function isPackageJson(data) {
|
|
17
|
+
return typeof data === 'object' &&
|
|
18
|
+
data !== null &&
|
|
19
|
+
('name' in data || 'version' in data);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=faf-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faf-types.js","sourceRoot":"","sources":["../../src/types/faf-types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA+JH,4CAKC;AAED,sCAIC;AAZD,cAAc;AACd,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,IAAI,KAAK,IAAI;QACb,aAAa,IAAI,IAAI;QACrB,cAAc,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa,CAAC,IAAa;IACzC,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,IAAI,KAAK,IAAI;QACb,CAAC,MAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* π’ Version announcements for existing users
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Show v2.4.0 announcement to existing users
|
|
6
|
+
*/
|
|
7
|
+
export declare function showV240Announcement(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Show update available notice (brief)
|
|
10
|
+
*/
|
|
11
|
+
export declare function showUpdateAvailable(currentVersion: string, latestVersion: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Critical update notice (security, breaking changes)
|
|
14
|
+
*/
|
|
15
|
+
export declare function showCriticalUpdate(message: string): void;
|
|
16
|
+
//# sourceMappingURL=announcements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"announcements.d.ts","sourceRoot":"","sources":["../../src/utils/announcements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiEH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAuC3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAevF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAaxD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* π’ Version announcements for existing users
|
|
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.showV240Announcement = showV240Announcement;
|
|
10
|
+
exports.showUpdateAvailable = showUpdateAvailable;
|
|
11
|
+
exports.showCriticalUpdate = showCriticalUpdate;
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const os_1 = __importDefault(require("os"));
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
const FAF_DIR = path_1.default.join(os_1.default.homedir(), '.faf');
|
|
17
|
+
const ANNOUNCEMENTS_FILE = path_1.default.join(FAF_DIR, '.announcements-seen');
|
|
18
|
+
/**
|
|
19
|
+
* Load seen announcements
|
|
20
|
+
*/
|
|
21
|
+
function loadAnnouncementRecord() {
|
|
22
|
+
try {
|
|
23
|
+
if (fs_1.default.existsSync(ANNOUNCEMENTS_FILE)) {
|
|
24
|
+
return JSON.parse(fs_1.default.readFileSync(ANNOUNCEMENTS_FILE, 'utf-8'));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Ignore errors
|
|
29
|
+
}
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Save announcement record
|
|
34
|
+
*/
|
|
35
|
+
function saveAnnouncementRecord(record) {
|
|
36
|
+
try {
|
|
37
|
+
if (!fs_1.default.existsSync(FAF_DIR)) {
|
|
38
|
+
fs_1.default.mkdirSync(FAF_DIR, { recursive: true });
|
|
39
|
+
}
|
|
40
|
+
fs_1.default.writeFileSync(ANNOUNCEMENTS_FILE, JSON.stringify(record, null, 2));
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Ignore errors - not critical
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check if announcement has been seen
|
|
48
|
+
*/
|
|
49
|
+
function hasSeenAnnouncement(version) {
|
|
50
|
+
const record = loadAnnouncementRecord();
|
|
51
|
+
return record[version]?.seen === true;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Mark announcement as seen
|
|
55
|
+
*/
|
|
56
|
+
function markAnnouncementSeen(version) {
|
|
57
|
+
const record = loadAnnouncementRecord();
|
|
58
|
+
record[version] = {
|
|
59
|
+
seen: true,
|
|
60
|
+
seenAt: new Date().toISOString()
|
|
61
|
+
};
|
|
62
|
+
saveAnnouncementRecord(record);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Show v2.4.0 announcement to existing users
|
|
66
|
+
*/
|
|
67
|
+
function showV240Announcement() {
|
|
68
|
+
const VERSION = '2.4.0';
|
|
69
|
+
// Skip if already seen or in quiet/CI mode
|
|
70
|
+
if (hasSeenAnnouncement(VERSION) ||
|
|
71
|
+
process.argv.includes('--quiet') ||
|
|
72
|
+
process.argv.includes('-q') ||
|
|
73
|
+
process.env.CI ||
|
|
74
|
+
!process.stdin.isTTY) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
// Mark as seen immediately (even if they Ctrl+C)
|
|
78
|
+
markAnnouncementSeen(VERSION);
|
|
79
|
+
console.log();
|
|
80
|
+
console.log(chalk_1.default.cyan.bold('ββββββββββββββββββββββββββββββββββββββββββββββββ'));
|
|
81
|
+
console.log(chalk_1.default.cyan.bold(' π NEW: FAF v2.4.0 - Major Update Released!'));
|
|
82
|
+
console.log(chalk_1.default.cyan.bold('ββββββββββββββββββββββββββββββββββββββββββββββββ'));
|
|
83
|
+
console.log();
|
|
84
|
+
console.log(chalk_1.default.white.bold(' What\'s New:'));
|
|
85
|
+
console.log(chalk_1.default.green(' β¨ Email notifications for new versions'));
|
|
86
|
+
console.log(chalk_1.default.green(' β‘ Quick mode: faf quick "project, stack, tools"'));
|
|
87
|
+
console.log(chalk_1.default.green(' π₯ Doctor command: faf doctor (fix issues)'));
|
|
88
|
+
console.log(chalk_1.default.green(' π Improved bi-sync performance'));
|
|
89
|
+
console.log();
|
|
90
|
+
console.log(chalk_1.default.yellow.bold(' Coming Next:'));
|
|
91
|
+
console.log(chalk_1.default.gray(' π Vercel integration - fix build failures with AI'));
|
|
92
|
+
console.log(chalk_1.default.gray(' π Stack analysis - "Your stack actually sucks"'));
|
|
93
|
+
console.log(chalk_1.default.gray(' π€ More MCP tools for Claude Desktop'));
|
|
94
|
+
console.log();
|
|
95
|
+
console.log(chalk_1.default.white(' π‘ Get notified of new features:'));
|
|
96
|
+
console.log(chalk_1.default.cyan.bold(' faf notifications'));
|
|
97
|
+
console.log();
|
|
98
|
+
console.log(chalk_1.default.gray(' This message appears once. Thank you for using .faf!'));
|
|
99
|
+
console.log(chalk_1.default.cyan('ββββββββββββββββββββββββββββββββββββββββββββββββ'));
|
|
100
|
+
console.log();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Show update available notice (brief)
|
|
104
|
+
*/
|
|
105
|
+
function showUpdateAvailable(currentVersion, latestVersion) {
|
|
106
|
+
// Only show if it's a significant update
|
|
107
|
+
const current = currentVersion.split('.').map(Number);
|
|
108
|
+
const latest = latestVersion.split('.').map(Number);
|
|
109
|
+
// Skip if patch version only
|
|
110
|
+
if (current[0] === latest[0] && current[1] === latest[1]) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
console.log();
|
|
114
|
+
console.log(chalk_1.default.yellow(`π¦ New version available: v${latestVersion} (you have v${currentVersion})`));
|
|
115
|
+
console.log(chalk_1.default.gray(' Update with: npm update -g faf-cli'));
|
|
116
|
+
console.log(chalk_1.default.gray(' Get notified: faf notifications'));
|
|
117
|
+
console.log();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Critical update notice (security, breaking changes)
|
|
121
|
+
*/
|
|
122
|
+
function showCriticalUpdate(message) {
|
|
123
|
+
console.log();
|
|
124
|
+
console.log(chalk_1.default.red.bold('ββββββββββββββββββββββββββββββββββββββββ'));
|
|
125
|
+
console.log(chalk_1.default.red.bold(' β οΈ CRITICAL UPDATE REQUIRED'));
|
|
126
|
+
console.log(chalk_1.default.red.bold('ββββββββββββββββββββββββββββββββββββββββ'));
|
|
127
|
+
console.log();
|
|
128
|
+
console.log(chalk_1.default.white(message));
|
|
129
|
+
console.log();
|
|
130
|
+
console.log(chalk_1.default.yellow.bold(' Update immediately:'));
|
|
131
|
+
console.log(chalk_1.default.white(' npm update -g faf-cli'));
|
|
132
|
+
console.log();
|
|
133
|
+
console.log(chalk_1.default.red.bold('ββββββββββββββββββββββββββββββββββββββββ'));
|
|
134
|
+
console.log();
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=announcements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"announcements.js","sourceRoot":"","sources":["../../src/utils/announcements.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 (no contextual subtitles)
|
|
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,CAc1C;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"}
|
|
@@ -141,26 +141,22 @@ ${exports.FAF_COLORS.fafCyan('β')} ${e
|
|
|
141
141
|
${exports.FAF_COLORS.fafCyan('βββββββββββββββββββββββββββββββββββββββββββ')}`;
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
* Generate static championship header (
|
|
144
|
+
* Generate static championship header (no contextual subtitles)
|
|
145
145
|
*/
|
|
146
146
|
function generateFAFHeader() {
|
|
147
147
|
const version = require('../../package.json').version;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
|
|
161
|
-
β π Universal, AI-Context β‘ FAST AF π β
|
|
162
|
-
β β
|
|
163
|
-
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ`;
|
|
148
|
+
return `${exports.FAF_COLORS.fafCyan('βββββββββββββββββββββββββββββββββββββββββββ')}
|
|
149
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafWhite('βββββββ')}${exports.FAF_COLORS.fafWhite('β')} ${exports.FAF_COLORS.fafWhite('βββββ')}${exports.FAF_COLORS.fafWhite('β')} ${exports.FAF_COLORS.fafWhite('βββββββ')}${exports.FAF_COLORS.fafWhite('β')} ποΈβ‘οΈπ v${version} ${exports.FAF_COLORS.fafCyan('β')}
|
|
150
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafCyan('ββ')}${exports.FAF_COLORS.fafWhite('ββββββ')}${exports.FAF_COLORS.fafCyan('ββ')}${exports.FAF_COLORS.fafWhite('βββ')}${exports.FAF_COLORS.fafCyan('ββ')}${exports.FAF_COLORS.fafWhite('β')}${exports.FAF_COLORS.fafCyan('ββ')}${exports.FAF_COLORS.fafWhite('ββββββ')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
151
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafCyan('βββββ')}${exports.FAF_COLORS.fafWhite('β ')}${exports.FAF_COLORS.fafCyan('βββββββ')}${exports.FAF_COLORS.fafWhite('β')}${exports.FAF_COLORS.fafCyan('βββββ')}${exports.FAF_COLORS.fafWhite('β')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
152
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('ββββ ')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('βββ')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('β')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('ββββ')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
153
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('β ')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('β ')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('β')}${exports.FAF_COLORS.fafOrange('ββ')}${exports.FAF_COLORS.fafWhite('β')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
154
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafWhite('βββ βββ ββββββ')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
155
|
+
${exports.FAF_COLORS.fafCyan('β')} ${exports.FAF_COLORS.fafCyan('β')}
|
|
156
|
+
${exports.FAF_COLORS.fafCyan('β')} AI needed a format, it got oneβ .faf ${exports.FAF_COLORS.fafCyan('β')}
|
|
157
|
+
${exports.FAF_COLORS.fafCyan('β')} βββββββββββββββββββββββββββββββββββββ ${exports.FAF_COLORS.fafCyan('β')}
|
|
158
|
+
${exports.FAF_COLORS.fafCyan('β')} π Foundational AI-context Format ${exports.FAF_COLORS.fafCyan('β')}
|
|
159
|
+
${exports.FAF_COLORS.fafCyan('βββββββββββββββββββββββββββββββββββββββββββ')}`;
|
|
164
160
|
}
|
|
165
161
|
// π Default ASCII Art Header (for backwards compatibility)
|
|
166
162
|
exports.FAF_HEADER = generateFAFHeader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"championship-style.js","sourceRoot":"","sources":["../../src/utils/championship-style.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAyIH,gDAUC;AAKD,
|
|
1
|
+
{"version":3,"file":"championship-style.js","sourceRoot":"","sources":["../../src/utils/championship-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email opt-in system for FAF CLI
|
|
3
|
+
* Respectful, one-time only, completely optional
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Check if we've already asked for email
|
|
7
|
+
*/
|
|
8
|
+
export declare function hasAskedForEmail(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Check if user is subscribed
|
|
11
|
+
*/
|
|
12
|
+
export declare function isSubscribed(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Prompt for email opt-in (one time only)
|
|
15
|
+
*/
|
|
16
|
+
export declare function promptEmailOptIn(options?: {
|
|
17
|
+
quiet?: boolean;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Allow manual subscription via flag
|
|
21
|
+
*/
|
|
22
|
+
export declare function subscribeViaFlag(email: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Show notification status
|
|
25
|
+
*/
|
|
26
|
+
export declare function showSubscriptionStatus(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Remove email from notifications
|
|
29
|
+
*/
|
|
30
|
+
export declare function unsubscribe(): void;
|
|
31
|
+
//# sourceMappingURL=email-opt-in.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-opt-in.d.ts","sourceRoot":"","sources":["../../src/utils/email-opt-in.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAUD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAmCD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEvF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAanE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAc7C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC"}
|