faf-mcp 1.0.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.
Files changed (207) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/CLAUDE.md +73 -0
  3. package/LICENSE +22 -0
  4. package/README.md +165 -0
  5. package/assets/Project-faf-pckg-json-README.png +0 -0
  6. package/assets/icons/faf-icon-128.png +0 -0
  7. package/assets/icons/faf-icon-256.png +0 -0
  8. package/assets/icons/faf-icon-48.png +0 -0
  9. package/assets/icons/faf-icon-512.png +0 -0
  10. package/assets/icons/orange-smiley.svg +6 -0
  11. package/dist/src/compiler/index.d.ts +7 -0
  12. package/dist/src/compiler/index.js +24 -0
  13. package/dist/src/compiler/index.js.map +1 -0
  14. package/dist/src/compiler/scorer.d.ts +53 -0
  15. package/dist/src/compiler/scorer.js +189 -0
  16. package/dist/src/compiler/scorer.js.map +1 -0
  17. package/dist/src/compiler/slot-validator.d.ts +32 -0
  18. package/dist/src/compiler/slot-validator.js +293 -0
  19. package/dist/src/compiler/slot-validator.js.map +1 -0
  20. package/dist/src/compiler/type-detector.d.ts +62 -0
  21. package/dist/src/compiler/type-detector.js +388 -0
  22. package/dist/src/compiler/type-detector.js.map +1 -0
  23. package/dist/src/config/visibility.d.ts +41 -0
  24. package/dist/src/config/visibility.js +158 -0
  25. package/dist/src/config/visibility.js.map +1 -0
  26. package/dist/src/faf-core/commands/audit.d.ts +21 -0
  27. package/dist/src/faf-core/commands/audit.js +83 -0
  28. package/dist/src/faf-core/commands/audit.js.map +1 -0
  29. package/dist/src/faf-core/commands/auto.d.ts +25 -0
  30. package/dist/src/faf-core/commands/auto.js +74 -0
  31. package/dist/src/faf-core/commands/auto.js.map +1 -0
  32. package/dist/src/faf-core/commands/bi-sync.d.ts +26 -0
  33. package/dist/src/faf-core/commands/bi-sync.js +157 -0
  34. package/dist/src/faf-core/commands/bi-sync.js.map +1 -0
  35. package/dist/src/faf-core/commands/doctor.d.ts +17 -0
  36. package/dist/src/faf-core/commands/doctor.js +198 -0
  37. package/dist/src/faf-core/commands/doctor.js.map +1 -0
  38. package/dist/src/faf-core/commands/enhance.d.ts +46 -0
  39. package/dist/src/faf-core/commands/enhance.js +360 -0
  40. package/dist/src/faf-core/commands/enhance.js.map +1 -0
  41. package/dist/src/faf-core/commands/formats.d.ts +22 -0
  42. package/dist/src/faf-core/commands/formats.js +117 -0
  43. package/dist/src/faf-core/commands/formats.js.map +1 -0
  44. package/dist/src/faf-core/commands/init.d.ts +26 -0
  45. package/dist/src/faf-core/commands/init.js +114 -0
  46. package/dist/src/faf-core/commands/init.js.map +1 -0
  47. package/dist/src/faf-core/commands/innit.d.ts +7 -0
  48. package/dist/src/faf-core/commands/innit.js +13 -0
  49. package/dist/src/faf-core/commands/innit.js.map +1 -0
  50. package/dist/src/faf-core/commands/migrate.d.ts +15 -0
  51. package/dist/src/faf-core/commands/migrate.js +86 -0
  52. package/dist/src/faf-core/commands/migrate.js.map +1 -0
  53. package/dist/src/faf-core/commands/quick.d.ts +16 -0
  54. package/dist/src/faf-core/commands/quick.js +184 -0
  55. package/dist/src/faf-core/commands/quick.js.map +1 -0
  56. package/dist/src/faf-core/commands/score.d.ts +47 -0
  57. package/dist/src/faf-core/commands/score.js +49 -0
  58. package/dist/src/faf-core/commands/score.js.map +1 -0
  59. package/dist/src/faf-core/commands/sync.d.ts +16 -0
  60. package/dist/src/faf-core/commands/sync.js +210 -0
  61. package/dist/src/faf-core/commands/sync.js.map +1 -0
  62. package/dist/src/faf-core/commands/update.d.ts +12 -0
  63. package/dist/src/faf-core/commands/update.js +46 -0
  64. package/dist/src/faf-core/commands/update.js.map +1 -0
  65. package/dist/src/faf-core/commands/validate.d.ts +21 -0
  66. package/dist/src/faf-core/commands/validate.js +81 -0
  67. package/dist/src/faf-core/commands/validate.js.map +1 -0
  68. package/dist/src/faf-core/compiler/faf-compiler.d.ts +138 -0
  69. package/dist/src/faf-core/compiler/faf-compiler.js +794 -0
  70. package/dist/src/faf-core/compiler/faf-compiler.js.map +1 -0
  71. package/dist/src/faf-core/engines/dependency-tsa.d.ts +88 -0
  72. package/dist/src/faf-core/engines/dependency-tsa.js +361 -0
  73. package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -0
  74. package/dist/src/faf-core/engines/fab-formats-processor.d.ts +166 -0
  75. package/dist/src/faf-core/engines/fab-formats-processor.js +1274 -0
  76. package/dist/src/faf-core/engines/fab-formats-processor.js.map +1 -0
  77. package/dist/src/faf-core/engines/faf-dna.d.ts +159 -0
  78. package/dist/src/faf-core/engines/faf-dna.js +554 -0
  79. package/dist/src/faf-core/engines/faf-dna.js.map +1 -0
  80. package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +100 -0
  81. package/dist/src/faf-core/engines/relentless-context-extractor.js +625 -0
  82. package/dist/src/faf-core/engines/relentless-context-extractor.js.map +1 -0
  83. package/dist/src/faf-core/fix-once/colors.d.ts +104 -0
  84. package/dist/src/faf-core/fix-once/colors.js +236 -0
  85. package/dist/src/faf-core/fix-once/colors.js.map +1 -0
  86. package/dist/src/faf-core/fix-once/types.d.ts +257 -0
  87. package/dist/src/faf-core/fix-once/types.js +26 -0
  88. package/dist/src/faf-core/fix-once/types.js.map +1 -0
  89. package/dist/src/faf-core/fix-once/yaml.d.ts +57 -0
  90. package/dist/src/faf-core/fix-once/yaml.js +172 -0
  91. package/dist/src/faf-core/fix-once/yaml.js.map +1 -0
  92. package/dist/src/faf-core/generators/faf-generator-championship.d.ts +16 -0
  93. package/dist/src/faf-core/generators/faf-generator-championship.js +462 -0
  94. package/dist/src/faf-core/generators/faf-generator-championship.js.map +1 -0
  95. package/dist/src/faf-core/utils/balance-visualizer.d.ts +37 -0
  96. package/dist/src/faf-core/utils/balance-visualizer.js +197 -0
  97. package/dist/src/faf-core/utils/balance-visualizer.js.map +1 -0
  98. package/dist/src/faf-core/utils/championship-style.d.ts +109 -0
  99. package/dist/src/faf-core/utils/championship-style.js +219 -0
  100. package/dist/src/faf-core/utils/championship-style.js.map +1 -0
  101. package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +73 -0
  102. package/dist/src/faf-core/utils/chrome-extension-detector.js +268 -0
  103. package/dist/src/faf-core/utils/chrome-extension-detector.js.map +1 -0
  104. package/dist/src/faf-core/utils/fafignore-parser.d.ts +20 -0
  105. package/dist/src/faf-core/utils/fafignore-parser.js +178 -0
  106. package/dist/src/faf-core/utils/fafignore-parser.js.map +1 -0
  107. package/dist/src/faf-core/utils/file-utils.d.ts +112 -0
  108. package/dist/src/faf-core/utils/file-utils.js +846 -0
  109. package/dist/src/faf-core/utils/file-utils.js.map +1 -0
  110. package/dist/src/faf-core/utils/native-file-finder.d.ts +115 -0
  111. package/dist/src/faf-core/utils/native-file-finder.js +211 -0
  112. package/dist/src/faf-core/utils/native-file-finder.js.map +1 -0
  113. package/dist/src/faf-core/utils/platform-detector.d.ts +30 -0
  114. package/dist/src/faf-core/utils/platform-detector.js +218 -0
  115. package/dist/src/faf-core/utils/platform-detector.js.map +1 -0
  116. package/dist/src/faf-core/utils/technical-credit.d.ts +35 -0
  117. package/dist/src/faf-core/utils/technical-credit.js +286 -0
  118. package/dist/src/faf-core/utils/technical-credit.js.map +1 -0
  119. package/dist/src/faf-core/utils/yaml-generator.d.ts +41 -0
  120. package/dist/src/faf-core/utils/yaml-generator.js +360 -0
  121. package/dist/src/faf-core/utils/yaml-generator.js.map +1 -0
  122. package/dist/src/handlers/behavioral-instruction.d.ts +16 -0
  123. package/dist/src/handlers/behavioral-instruction.js +43 -0
  124. package/dist/src/handlers/behavioral-instruction.js.map +1 -0
  125. package/dist/src/handlers/championship-tools.d.ts +113 -0
  126. package/dist/src/handlers/championship-tools.js +2602 -0
  127. package/dist/src/handlers/championship-tools.js.map +1 -0
  128. package/dist/src/handlers/engine-adapter.d.ts +28 -0
  129. package/dist/src/handlers/engine-adapter.js +603 -0
  130. package/dist/src/handlers/engine-adapter.js.map +1 -0
  131. package/dist/src/handlers/fileHandler.d.ts +36 -0
  132. package/dist/src/handlers/fileHandler.js +246 -0
  133. package/dist/src/handlers/fileHandler.js.map +1 -0
  134. package/dist/src/handlers/resources.d.ts +18 -0
  135. package/dist/src/handlers/resources.js +78 -0
  136. package/dist/src/handlers/resources.js.map +1 -0
  137. package/dist/src/handlers/tool-registry.d.ts +23 -0
  138. package/dist/src/handlers/tool-registry.js +68 -0
  139. package/dist/src/handlers/tool-registry.js.map +1 -0
  140. package/dist/src/handlers/tool-types.d.ts +167 -0
  141. package/dist/src/handlers/tool-types.js +7 -0
  142. package/dist/src/handlers/tool-types.js.map +1 -0
  143. package/dist/src/handlers/tools.d.ts +25 -0
  144. package/dist/src/handlers/tools.js +1168 -0
  145. package/dist/src/handlers/tools.js.map +1 -0
  146. package/dist/src/index.d.ts +2 -0
  147. package/dist/src/index.js +17 -0
  148. package/dist/src/index.js.map +1 -0
  149. package/dist/src/server.d.ts +28 -0
  150. package/dist/src/server.js +179 -0
  151. package/dist/src/server.js.map +1 -0
  152. package/dist/src/test-all-functions.d.ts +15 -0
  153. package/dist/src/test-all-functions.js +163 -0
  154. package/dist/src/test-all-functions.js.map +1 -0
  155. package/dist/src/types/mcp-tools.d.ts +53 -0
  156. package/dist/src/types/mcp-tools.js +77 -0
  157. package/dist/src/types/mcp-tools.js.map +1 -0
  158. package/dist/src/types/project-types.d.ts +22 -0
  159. package/dist/src/types/project-types.js +85 -0
  160. package/dist/src/types/project-types.js.map +1 -0
  161. package/dist/src/types/slots.d.ts +39 -0
  162. package/dist/src/types/slots.js +162 -0
  163. package/dist/src/types/slots.js.map +1 -0
  164. package/dist/src/types/tool-visibility.d.ts +36 -0
  165. package/dist/src/types/tool-visibility.js +510 -0
  166. package/dist/src/types/tool-visibility.js.map +1 -0
  167. package/dist/src/utils/auto-path-detection.d.ts +26 -0
  168. package/dist/src/utils/auto-path-detection.js +198 -0
  169. package/dist/src/utils/auto-path-detection.js.map +1 -0
  170. package/dist/src/utils/championship-format.d.ts +30 -0
  171. package/dist/src/utils/championship-format.js +79 -0
  172. package/dist/src/utils/championship-format.js.map +1 -0
  173. package/dist/src/utils/cli-detector.d.ts +20 -0
  174. package/dist/src/utils/cli-detector.js +230 -0
  175. package/dist/src/utils/cli-detector.js.map +1 -0
  176. package/dist/src/utils/display-protocol.d.ts +57 -0
  177. package/dist/src/utils/display-protocol.js +131 -0
  178. package/dist/src/utils/display-protocol.js.map +1 -0
  179. package/dist/src/utils/faf-file-finder.d.ts +59 -0
  180. package/dist/src/utils/faf-file-finder.js +139 -0
  181. package/dist/src/utils/faf-file-finder.js.map +1 -0
  182. package/dist/src/utils/fuzzy-detector.d.ts +56 -0
  183. package/dist/src/utils/fuzzy-detector.js +221 -0
  184. package/dist/src/utils/fuzzy-detector.js.map +1 -0
  185. package/dist/src/utils/path-resolver.d.ts +51 -0
  186. package/dist/src/utils/path-resolver.js +214 -0
  187. package/dist/src/utils/path-resolver.js.map +1 -0
  188. package/dist/src/utils/type-guards.d.ts +9 -0
  189. package/dist/src/utils/type-guards.js +27 -0
  190. package/dist/src/utils/type-guards.js.map +1 -0
  191. package/dist/src/utils/username-detector.d.ts +27 -0
  192. package/dist/src/utils/username-detector.js +90 -0
  193. package/dist/src/utils/username-detector.js.map +1 -0
  194. package/dist/src/utils/visual-style.d.ts +62 -0
  195. package/dist/src/utils/visual-style.js +164 -0
  196. package/dist/src/utils/visual-style.js.map +1 -0
  197. package/dist/src/version.d.ts +9 -0
  198. package/dist/src/version.js +37 -0
  199. package/dist/src/version.js.map +1 -0
  200. package/package.json +114 -0
  201. package/scripts/discord-sync-curated.js +233 -0
  202. package/scripts/discord-sync-final.js +218 -0
  203. package/scripts/discord-sync-simple.js +175 -0
  204. package/scripts/discord-sync-working.js +187 -0
  205. package/scripts/discord-sync.js +181 -0
  206. package/scripts/postinstall.js +46 -0
  207. package/skill/SKILL.md +385 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faf-generator-championship.js","sourceRoot":"","sources":["../../../../src/faf-core/generators/faf-generator-championship.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ๐ŸŽฏ AI|HUMAN Balance Visualizer
3
+ * Visual-only gamification that drives +144% human context completion
4
+ * The 50/50 eternal truth: AI detects tech (50%), humans provide meaning (50%)
5
+ */
6
+ export interface BalanceData {
7
+ aiPercentage: number;
8
+ humanPercentage: number;
9
+ isBalanced: boolean;
10
+ }
11
+ export declare class BalanceVisualizer {
12
+ private static readonly BAR_WIDTH;
13
+ private static readonly CYAN;
14
+ private static readonly ORANGE;
15
+ private static readonly GREEN;
16
+ /**
17
+ * Calculate balance from FAF data
18
+ * Matches fafdev.tools calculation - INDEPENDENT percentages
19
+ * AI: How complete is technical context (0-100%)
20
+ * HUMAN: How complete is human context (0-100%)
21
+ * Perfect balance when both are high and similar
22
+ */
23
+ static calculateBalance(fafData: any): BalanceData;
24
+ /**
25
+ * Generate the visual balance bar
26
+ * Matches fafdev.tools - single bar showing AI|HUMAN proportion
27
+ */
28
+ static generateBalanceBar(balance: BalanceData): string;
29
+ /**
30
+ * Generate a compact balance indicator for inline display
31
+ */
32
+ static generateCompactBalance(balance: BalanceData): string;
33
+ /**
34
+ * Get balance achievement message for gamification
35
+ */
36
+ static getAchievementMessage(balance: BalanceData): string | null;
37
+ }
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ /**
3
+ * ๐ŸŽฏ AI|HUMAN Balance Visualizer
4
+ * Visual-only gamification that drives +144% human context completion
5
+ * The 50/50 eternal truth: AI detects tech (50%), humans provide meaning (50%)
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BalanceVisualizer = void 0;
9
+ const colors_1 = require("../fix-once/colors");
10
+ class BalanceVisualizer {
11
+ static BAR_WIDTH = 40;
12
+ static CYAN = '#00FFFF';
13
+ static ORANGE = '#FFA500';
14
+ static GREEN = '#00FF00';
15
+ /**
16
+ * Calculate balance from FAF data
17
+ * Matches fafdev.tools calculation - INDEPENDENT percentages
18
+ * AI: How complete is technical context (0-100%)
19
+ * HUMAN: How complete is human context (0-100%)
20
+ * Perfect balance when both are high and similar
21
+ */
22
+ static calculateBalance(fafData) {
23
+ // AI fields (technical detection) - what AI can detect
24
+ const aiFields = [
25
+ 'stack.frontend',
26
+ 'stack.backend',
27
+ 'stack.database',
28
+ 'stack.runtime',
29
+ 'stack.build',
30
+ 'stack.package_manager',
31
+ 'project.main_language',
32
+ 'project.generated',
33
+ 'ai_instructions',
34
+ 'preferences.quality_bar',
35
+ 'state.version',
36
+ 'state.phase'
37
+ ];
38
+ // HUMAN fields (context meaning) - what humans provide
39
+ const humanFields = [
40
+ 'human_context.who',
41
+ 'human_context.what',
42
+ 'human_context.why',
43
+ 'human_context.where',
44
+ 'human_context.when',
45
+ 'human_context.how',
46
+ 'project.goal',
47
+ 'project.mission',
48
+ 'state.focus',
49
+ 'state.next_milestone',
50
+ 'state.blockers',
51
+ 'preferences.communication'
52
+ ];
53
+ let aiFilledCount = 0;
54
+ let humanFilledCount = 0;
55
+ // Count AI fields
56
+ aiFields.forEach(field => {
57
+ const value = field.split('.').reduce((obj, key) => obj?.[key], fafData);
58
+ if (value && value !== 'None' && value !== 'Not specified' && value !== '') {
59
+ aiFilledCount++;
60
+ }
61
+ });
62
+ // Count HUMAN fields
63
+ humanFields.forEach(field => {
64
+ const value = field.split('.').reduce((obj, key) => obj?.[key], fafData);
65
+ if (value && value !== 'Not specified' && value !== '') {
66
+ humanFilledCount++;
67
+ }
68
+ });
69
+ // Calculate INDEPENDENT percentages (like fafdev.tools)
70
+ const aiPercentage = Math.round((aiFilledCount / aiFields.length) * 100);
71
+ const humanPercentage = Math.round((humanFilledCount / humanFields.length) * 100);
72
+ // Perfect balance when both are high and within 10% of each other
73
+ const isBalanced = Math.abs(aiPercentage - humanPercentage) <= 10 &&
74
+ aiPercentage >= 50 &&
75
+ humanPercentage >= 50;
76
+ return {
77
+ aiPercentage,
78
+ humanPercentage,
79
+ isBalanced
80
+ };
81
+ }
82
+ /**
83
+ * Generate the visual balance bar
84
+ * Matches fafdev.tools - single bar showing AI|HUMAN proportion
85
+ */
86
+ static generateBalanceBar(balance) {
87
+ const { aiPercentage, humanPercentage, isBalanced } = balance;
88
+ // Calculate proportional split (matching fafdev.tools logic)
89
+ const totalContext = aiPercentage + humanPercentage;
90
+ let aiProportion;
91
+ let humanProportion;
92
+ if (totalContext === 0) {
93
+ aiProportion = 50;
94
+ humanProportion = 50;
95
+ }
96
+ else {
97
+ aiProportion = Math.round((aiPercentage / totalContext) * 100);
98
+ humanProportion = 100 - aiProportion;
99
+ }
100
+ // Build the visual bar
101
+ const lines = [];
102
+ // Header matching fafdev.tools style
103
+ lines.push('');
104
+ if (isBalanced) {
105
+ lines.push(colors_1.colors.success(colors_1.colors.bold(' PRD Balance')));
106
+ }
107
+ else {
108
+ lines.push(colors_1.colors.bright(colors_1.colors.bold(' AI|HUMAN CONTEXT BALANCE')));
109
+ }
110
+ lines.push('');
111
+ // Build the single unified bar
112
+ const aiBarWidth = Math.round((aiProportion / 100) * this.BAR_WIDTH);
113
+ const humanBarWidth = this.BAR_WIDTH - aiBarWidth;
114
+ let barLine = ' ';
115
+ // GREEN celebration when perfectly balanced!
116
+ if (isBalanced) {
117
+ // Entire bar turns GREEN for perfect balance
118
+ barLine += colors_1.bars.green(this.BAR_WIDTH);
119
+ }
120
+ else {
121
+ // Normal cyan/orange split when not balanced
122
+ if (aiBarWidth > 0 && humanBarWidth > 0) {
123
+ barLine += colors_1.bars.cyan(aiBarWidth);
124
+ barLine += colors_1.bars.orange(humanBarWidth);
125
+ }
126
+ else if (aiBarWidth > 0) {
127
+ barLine += colors_1.bars.cyan(this.BAR_WIDTH);
128
+ }
129
+ else {
130
+ barLine += colors_1.bars.orange(this.BAR_WIDTH);
131
+ }
132
+ }
133
+ lines.push(barLine);
134
+ // Guidance text
135
+ lines.push('');
136
+ if (isBalanced) {
137
+ lines.push(colors_1.colors.muted(' โš–๏ธ PERFECT BALANCE!'));
138
+ }
139
+ else {
140
+ lines.push(colors_1.colors.muted(' DROP FILES OR ADD CONTEXT TO SEE AI/HUMAN BALANCE'));
141
+ }
142
+ // Status message
143
+ lines.push('');
144
+ if (isBalanced) {
145
+ lines.push(colors_1.colors.success(' โœ… Your context is perfectly balanced!'));
146
+ lines.push(colors_1.colors.success(' ๐Ÿ† AI understands your tech, you provide the meaning'));
147
+ }
148
+ else if (aiPercentage > humanPercentage + 20) {
149
+ lines.push(colors_1.colors.warning(' ๐Ÿ“ Add more human context (who, what, why, etc.)'));
150
+ lines.push(colors_1.colors.muted(' ๐Ÿ’ก AI detected your tech, now tell your story'));
151
+ }
152
+ else if (humanPercentage > aiPercentage + 20) {
153
+ lines.push(colors_1.colors.warning(' ๐Ÿ”ง Add more technical details (stack, dependencies)'));
154
+ lines.push(colors_1.colors.muted(' ๐Ÿ’ก Great story, now specify the implementation'));
155
+ }
156
+ else if (aiPercentage < 30 && humanPercentage < 30) {
157
+ lines.push(colors_1.colors.error(' โš ๏ธ Both AI and HUMAN context are low'));
158
+ lines.push(colors_1.colors.muted(' ๐Ÿ’ก Start by filling in basic project info'));
159
+ }
160
+ else {
161
+ lines.push(colors_1.colors.primary(' ๐ŸŽฏ Getting closer to balance!'));
162
+ lines.push(colors_1.colors.muted(` ๐Ÿ“Š AI: ${aiPercentage}% | HUMAN: ${humanPercentage}%`));
163
+ }
164
+ return lines.join('\n');
165
+ }
166
+ /**
167
+ * Generate a compact balance indicator for inline display
168
+ */
169
+ static generateCompactBalance(balance) {
170
+ const { aiPercentage, isBalanced } = balance;
171
+ const humanPercentage = 100 - aiPercentage; // Force balance to 100%
172
+ if (isBalanced) {
173
+ return colors_1.colors.success('โš–๏ธ BALANCED');
174
+ }
175
+ const aiColor = colors_1.colors.primary;
176
+ const humanColor = colors_1.colors.secondary;
177
+ return `${aiColor(`AI:${aiPercentage}%`)} | ${humanColor(`HUMAN:${humanPercentage}%`)}`;
178
+ }
179
+ /**
180
+ * Get balance achievement message for gamification
181
+ */
182
+ static getAchievementMessage(balance) {
183
+ const { isBalanced, aiPercentage, humanPercentage } = balance;
184
+ if (isBalanced && aiPercentage >= 80 && humanPercentage >= 80) {
185
+ return colors_1.colors.success(colors_1.colors.bold('๐Ÿ† CHAMPION BALANCE - Both AI and HUMAN above 80%!'));
186
+ }
187
+ else if (isBalanced) {
188
+ return colors_1.colors.success('โœจ Balance achieved! Keep adding context to reach Champion status');
189
+ }
190
+ else if (Math.abs(aiPercentage - humanPercentage) <= 5) {
191
+ return colors_1.colors.warning('๐Ÿ”ฅ So close to perfect balance! Just a few more fields...');
192
+ }
193
+ return null;
194
+ }
195
+ }
196
+ exports.BalanceVisualizer = BalanceVisualizer;
197
+ //# sourceMappingURL=balance-visualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-visualizer.js","sourceRoot":"","sources":["../../../../src/faf-core/utils/balance-visualizer.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAA+D;AAQ/D,MAAa,iBAAiB;IACpB,MAAM,CAAU,SAAS,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAU,IAAI,GAAG,SAAS,CAAC;IACjC,MAAM,CAAU,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,CAAU,KAAK,GAAG,SAAS,CAAC;IAE1C;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAY;QAClC,uDAAuD;QACvD,MAAM,QAAQ,GAAG;YACf,gBAAgB;YAChB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,aAAa;YACb,uBAAuB;YACvB,uBAAuB;YACvB,mBAAmB;YACnB,iBAAiB;YACjB,yBAAyB;YACzB,eAAe;YACf,aAAa;SACd,CAAC;QAEF,uDAAuD;QACvD,MAAM,WAAW,GAAG;YAClB,mBAAmB;YACnB,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;YACnB,cAAc;YACd,iBAAiB;YACjB,aAAa;YACb,sBAAsB;YACtB,gBAAgB;YAChB,2BAA2B;SAC5B,CAAC;QAEF,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,kBAAkB;QAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC3E,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,KAAK,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACvD,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QAElF,kEAAkE;QAClE,MAAM,UAAU,GACd,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE;YAC9C,YAAY,IAAI,EAAE;YAClB,eAAe,IAAI,EAAE,CAAC;QAExB,OAAO;YACL,YAAY;YACZ,eAAe;YACf,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAoB;QAC5C,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAE9D,6DAA6D;QAC7D,MAAM,YAAY,GAAG,YAAY,GAAG,eAAe,CAAC;QACpD,IAAI,YAAoB,CAAC;QACzB,IAAI,eAAuB,CAAC;QAE5B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,YAAY,GAAG,EAAE,CAAC;YAClB,eAAe,GAAG,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/D,eAAe,GAAG,GAAG,GAAG,YAAY,CAAC;QACvC,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,eAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAElD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,6CAA6C;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,6CAA6C;YAC7C,OAAO,IAAI,aAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,IAAI,UAAU,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,aAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,OAAO,IAAI,aAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,aAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,aAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,gBAAgB;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,iBAAiB;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,YAAY,GAAG,eAAe,GAAG,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,eAAe,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,YAAY,GAAG,EAAE,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,aAAa,YAAY,cAAc,eAAe,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAoB;QAChD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,eAAe,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC,wBAAwB;QAEpE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,eAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,eAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,UAAU,GAAG,eAAM,CAAC,SAAS,CAAC;QAEpC,OAAO,GAAG,OAAO,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,SAAS,eAAe,GAAG,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAoB;QAC/C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE9D,IAAI,UAAU,IAAI,YAAY,IAAI,EAAE,IAAI,eAAe,IAAI,EAAE,EAAE,CAAC;YAC9D,OAAO,eAAM,CAAC,OAAO,CAAC,eAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,eAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO,eAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AAxMH,8CAyMC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * ๐Ÿ Championship Style Guide - Revolutionary AI-Context Infrastructure
3
+ * Visual Identity System for FAF CLI v2.0.0
4
+ *
5
+ * Color Trinity: ๐Ÿฉต AI Precision + ๐Ÿ’š Solution Bridge + ๐Ÿงก Human Energy
6
+ */
7
+ export declare const FAF_COLORS: {
8
+ cyan: string;
9
+ white: string;
10
+ orange: string;
11
+ fafCyan: (text: string) => string;
12
+ fafWhite: (text: string) => string;
13
+ fafGreen: (text: string) => string;
14
+ fafOrange: (text: string) => string;
15
+ gradient: (text: string) => string;
16
+ };
17
+ /**
18
+ * โšก FAF Icons & Emoji System
19
+ *
20
+ * โ›” LOCKED STANDARDS - DO NOT MODIFY
21
+ * These emojis are FINAL and IMMUTABLE as per EMOJI-STANDARDS.md
22
+ * Any changes will be rejected in code review.
23
+ *
24
+ * ๐Ÿšซ FORBIDDEN: Never use ๐ŸŽฏ (target) - explicitly rejected
25
+ * โ˜‘๏ธ See EMOJI-STANDARDS.md for complete approved list
26
+ */
27
+ export declare const FAF_ICONS: {
28
+ lightning: string;
29
+ rocket: string;
30
+ precision: string;
31
+ trophy: string;
32
+ checkered_flag: string;
33
+ robot: string;
34
+ brain: string;
35
+ crystal_ball: string;
36
+ gem: string;
37
+ magic_wand: string;
38
+ heart_orange: string;
39
+ green_heart: string;
40
+ blue_heart: string;
41
+ shield: string;
42
+ star: string;
43
+ chart_up: string;
44
+ fire: string;
45
+ zap: string;
46
+ sparkles: string;
47
+ party: string;
48
+ balance: string;
49
+ gear: string;
50
+ magnify: string;
51
+ file: string;
52
+ folder: string;
53
+ link: string;
54
+ magnifying_glass: string;
55
+ clipboard: string;
56
+ broom: string;
57
+ pencil: string;
58
+ dna: string;
59
+ turbo_cat: string;
60
+ };
61
+ export declare const STATUS_COLORS: {
62
+ trust_excellent: string;
63
+ trust_good: string;
64
+ trust_medium: string;
65
+ trust_low: string;
66
+ fast: string;
67
+ medium: string;
68
+ slow: string;
69
+ ai_happy: string;
70
+ ai_neutral: string;
71
+ ai_confused: string;
72
+ };
73
+ export declare const PERFORMANCE_STANDARDS: {
74
+ status_command: number;
75
+ trust_dashboard: number;
76
+ stack_detection: number;
77
+ context_generation: number;
78
+ minimum_trust: number;
79
+ target_trust: number;
80
+ excellence_trust: number;
81
+ };
82
+ export declare const BRAND_MESSAGES: {
83
+ primary: string;
84
+ technical: string;
85
+ performance: string;
86
+ achievement: string;
87
+ improvement: string;
88
+ discovery: string;
89
+ speed_result: string;
90
+ magic_healing: string;
91
+ breakthrough: string;
92
+ podium_celebration: string;
93
+ sharing: string;
94
+ optimization: string;
95
+ ecosystem: string;
96
+ };
97
+ /**
98
+ * Generate simple help header (clean and focused)
99
+ */
100
+ export declare function generateHelpHeader(): string;
101
+ /**
102
+ * Generate static championship header (with optional scoreboard title)
103
+ */
104
+ export declare function generateFAFHeader(scoreboardTitle?: string): string;
105
+ export declare const FAF_HEADER: string;
106
+ export declare function formatTrustLevel(trustScore: number): string;
107
+ export declare function formatPerformance(timeMs: number): string;
108
+ export declare function formatAIHappiness(score: number): string;
109
+ export declare function formatTechnicalCredit(credit: number): string;
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ /**
3
+ * ๐Ÿ Championship Style Guide - Revolutionary AI-Context Infrastructure
4
+ * Visual Identity System for FAF CLI v2.0.0
5
+ *
6
+ * Color Trinity: ๐Ÿฉต AI Precision + ๐Ÿ’š Solution Bridge + ๐Ÿงก Human Energy
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FAF_HEADER = exports.BRAND_MESSAGES = exports.PERFORMANCE_STANDARDS = exports.STATUS_COLORS = exports.FAF_ICONS = exports.FAF_COLORS = void 0;
10
+ exports.generateHelpHeader = generateHelpHeader;
11
+ exports.generateFAFHeader = generateFAFHeader;
12
+ exports.formatTrustLevel = formatTrustLevel;
13
+ exports.formatPerformance = formatPerformance;
14
+ exports.formatAIHappiness = formatAIHappiness;
15
+ exports.formatTechnicalCredit = formatTechnicalCredit;
16
+ const colors_1 = require("../fix-once/colors");
17
+ // ๐ŸŽจ Championship Color Trinity (v2.0.0 White Stripe Edition)
18
+ exports.FAF_COLORS = {
19
+ // Primary Color Palette
20
+ cyan: '#00CCFF', // ๐Ÿฉต Championship AI Precision
21
+ white: '#FFFFFF', // โšช Championship Victory (replaced green)
22
+ orange: '#FF4500', // ๐Ÿงก Championship Orange
23
+ // Color functions for CLI (using fix-once system)
24
+ fafCyan: colors_1.colors.fafCyan,
25
+ fafWhite: colors_1.colors.fafWhite,
26
+ fafGreen: colors_1.colors.fafGreen,
27
+ fafOrange: colors_1.colors.fafOrange,
28
+ // Gradient simulation for CLI (fallback to single colors)
29
+ gradient: (text) => colors_1.colors.championship(text), // Championship cyan
30
+ };
31
+ /**
32
+ * โšก FAF Icons & Emoji System
33
+ *
34
+ * โ›” LOCKED STANDARDS - DO NOT MODIFY
35
+ * These emojis are FINAL and IMMUTABLE as per EMOJI-STANDARDS.md
36
+ * Any changes will be rejected in code review.
37
+ *
38
+ * ๐Ÿšซ FORBIDDEN: Never use ๐ŸŽฏ (target) - explicitly rejected
39
+ * โ˜‘๏ธ See EMOJI-STANDARDS.md for complete approved list
40
+ */
41
+ exports.FAF_ICONS = {
42
+ // Core System - LOCKED
43
+ lightning: 'โšก๏ธ', // Performance/Speed
44
+ rocket: '๐Ÿš€', // Launch/Initialization
45
+ precision: 'โŒš๏ธ', // Precision/Accuracy
46
+ trophy: '๐Ÿ†', // Achievement/Success
47
+ checkered_flag: '๐Ÿ', // Racing/Competition
48
+ // AI & Intelligence
49
+ robot: '๐Ÿค–', // AI Integration
50
+ brain: '๐Ÿง ', // Intelligence
51
+ crystal_ball: '๐Ÿ”ฎ', // Prediction/Analysis
52
+ gem: '๐Ÿ’Ž', // Premium/Quality
53
+ magic_wand: '๐Ÿช„', // AI Magic
54
+ // Trust & Quality
55
+ heart_orange: '๐Ÿงก', // Trust/Human Connection
56
+ green_heart: '๐Ÿ’š', // Health/Good Status
57
+ blue_heart: '๐Ÿฉต', // AI/Technical Excellence
58
+ shield: '๐Ÿ›ก๏ธ', // Protection/Security
59
+ star: 'โญ', // Rating/Excellence
60
+ // Progress & Status
61
+ chart_up: '๐Ÿ“ˆ', // Improvement/Growth
62
+ fire: '๐Ÿ”ฅ', // High Performance
63
+ zap: 'โšก', // Speed/Energy
64
+ sparkles: 'โœจ', // Discovery/New
65
+ party: '๐ŸŽ‰', // Celebration/Success
66
+ balance: 'โš–๏ธ', // AI|HUMAN Balance
67
+ // Technical
68
+ gear: 'โš™๏ธ', // Configuration
69
+ magnify: '๐Ÿ”', // Scanning/Analysis
70
+ file: '๐Ÿ“„', // Documents/Files
71
+ folder: '๐Ÿ“', // Directory/Organization
72
+ link: '๐Ÿ”—', // Connection/Integration
73
+ // New command icons
74
+ magnifying_glass: '๐Ÿ”', // Search
75
+ clipboard: '๐Ÿ“', // Todo/Tasks
76
+ broom: '๐Ÿงน', // Clear/Clean
77
+ pencil: 'โœ๏ธ', // Edit
78
+ dna: '๐Ÿงฌ', // DNA/Lifecycle
79
+ turbo_cat: '๐Ÿ˜ฝ', // TURBO-CAT mascot
80
+ };
81
+ // ๐Ÿ“Š Status Color Coding
82
+ exports.STATUS_COLORS = {
83
+ // Trust Levels
84
+ trust_excellent: '๐ŸŸข', // 90-100% (Green)
85
+ trust_good: '๐ŸŸก', // 70-89% (Yellow)
86
+ trust_medium: '๐ŸŸ ', // 50-69% (Orange)
87
+ trust_low: '๐Ÿ”ด', // 0-49% (Red)
88
+ // Performance
89
+ fast: '๐ŸŸข', // <50ms (Green)
90
+ medium: '๐ŸŸก', // 50-200ms (Yellow)
91
+ slow: '๐ŸŸ ', // 200ms+ (Orange)
92
+ // AI Status
93
+ ai_happy: '๐Ÿ˜Š', // High trust
94
+ ai_neutral: '๐Ÿ˜', // Medium trust
95
+ ai_confused: '๐Ÿ˜•', // Low trust
96
+ };
97
+ // ๐ŸŽ๏ธ F1-Inspired Performance Standards
98
+ exports.PERFORMANCE_STANDARDS = {
99
+ // Championship Speed Targets
100
+ status_command: 38, // ms - Faster than git status
101
+ trust_dashboard: 40, // ms - Real-time trust calculation
102
+ stack_detection: 50, // ms - Instant stack recognition
103
+ context_generation: 200, // ms - Full context rebuild
104
+ // Quality Gates
105
+ minimum_trust: 60, // % - Below this triggers improvement
106
+ target_trust: 85, // % - Optimal AI compatibility
107
+ excellence_trust: 95, // % - Championship performance
108
+ };
109
+ // ๐ŸŽฎ Brand Messaging
110
+ exports.BRAND_MESSAGES = {
111
+ // CLI Headers
112
+ primary: "AI needed a format, it got oneโ€” .faf",
113
+ technical: "Foundational AI-context Format",
114
+ performance: "F1-Inspired Software Engineering",
115
+ // Success Messages
116
+ achievement: "Technical Credit ๐Ÿ’Ž +1",
117
+ improvement: "Trust Score Improved! ๐Ÿงก",
118
+ discovery: "New Stack Discovered! ๐Ÿ’Ž",
119
+ speed_result: "โŒš๏ธ <40ms - FAST AF!",
120
+ // Special Moments
121
+ magic_healing: "๐Ÿช„ Self-healing activated!",
122
+ breakthrough: "๐Ÿ’ฅ BREAKTHROUGH! Massive improvement!",
123
+ podium_celebration: "๐Ÿพ Podium finish! Championship performance!",
124
+ // Call to Action
125
+ sharing: "Send them the .faf ๐Ÿš€",
126
+ optimization: "Zero context debt ๐Ÿ’Ž",
127
+ ecosystem: "Making AI development better for everyone ๐Ÿ"
128
+ };
129
+ /**
130
+ * Generate simple help header (clean and focused)
131
+ */
132
+ function generateHelpHeader() {
133
+ return `${exports.FAF_COLORS.fafCyan('โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”')}
134
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
135
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafOrange('=== H E L P ===')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
136
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
137
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} AI needed a format, it got oneโ€” .faf ${exports.FAF_COLORS.fafCyan('โ”‚')}
138
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ${exports.FAF_COLORS.fafCyan('โ”‚')}
139
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ๐ŸŒ Foundational AI-context Format ${exports.FAF_COLORS.fafCyan('โ”‚')}
140
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
141
+ ${exports.FAF_COLORS.fafCyan('โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜')}`;
142
+ }
143
+ /**
144
+ * Generate static championship header (with optional scoreboard title)
145
+ */
146
+ function generateFAFHeader(scoreboardTitle) {
147
+ const version = require('../../package.json').version;
148
+ // Title line above ASCII box (scoreboard or default)
149
+ const titleLine = scoreboardTitle
150
+ ? `${scoreboardTitle}\n`
151
+ : '๐ŸŽ๏ธโšก๏ธ FAF Championship Edition ๐Ÿ\n\n';
152
+ return `
153
+ ${titleLine}${exports.FAF_COLORS.fafCyan('โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”')}
154
+ ${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('โ”‚')}
155
+ ${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('โ”‚')}
156
+ ${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('โ”‚')}
157
+ ${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('โ”‚')}
158
+ ${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('โ”‚')}
159
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafWhite('โ•šโ•โ• โ•šโ•โ• โ•šโ•โ•โ•šโ•โ•')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
160
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ${exports.FAF_COLORS.fafCyan('โ”‚')}
161
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} AI needed a format, it got oneโ€” .faf ${exports.FAF_COLORS.fafCyan('โ”‚')}
162
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ${exports.FAF_COLORS.fafCyan('โ”‚')}
163
+ ${exports.FAF_COLORS.fafCyan('โ”‚')} ๐ŸŒ Foundational AI-context Format ${exports.FAF_COLORS.fafCyan('โ”‚')}
164
+ ${exports.FAF_COLORS.fafCyan('โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜')}`;
165
+ }
166
+ // ๐Ÿ Default ASCII Art Header (for backwards compatibility)
167
+ exports.FAF_HEADER = generateFAFHeader();
168
+ // ๐Ÿ“Š Trust Level Formatter
169
+ function formatTrustLevel(trustScore) {
170
+ if (trustScore >= 90) {
171
+ return `${trustScore}% ${exports.STATUS_COLORS.trust_excellent} (Excellence)`;
172
+ }
173
+ else if (trustScore >= 70) {
174
+ return `${trustScore}% ${exports.STATUS_COLORS.trust_good} (Good)`;
175
+ }
176
+ else if (trustScore >= 50) {
177
+ return `${trustScore}% ${exports.STATUS_COLORS.trust_medium} (Improving)`;
178
+ }
179
+ else {
180
+ return `${trustScore}% ${exports.STATUS_COLORS.trust_low} (Needs work)`;
181
+ }
182
+ }
183
+ // โšก Performance Formatter
184
+ function formatPerformance(timeMs) {
185
+ if (timeMs < 50) {
186
+ return `${timeMs}ms ${exports.STATUS_COLORS.fast} ${exports.FAF_ICONS.lightning}`;
187
+ }
188
+ else if (timeMs < 200) {
189
+ return `${timeMs}ms ${exports.STATUS_COLORS.medium}`;
190
+ }
191
+ else {
192
+ return `${timeMs}ms ${exports.STATUS_COLORS.slow}`;
193
+ }
194
+ }
195
+ // ๐Ÿค– AI Happiness Formatter
196
+ function formatAIHappiness(score) {
197
+ if (score >= 80) {
198
+ return `${exports.STATUS_COLORS.ai_happy} AI loves your context!`;
199
+ }
200
+ else if (score >= 60) {
201
+ return `${exports.STATUS_COLORS.ai_neutral} AI understands your context`;
202
+ }
203
+ else {
204
+ return `${exports.STATUS_COLORS.ai_confused} AI needs better context`;
205
+ }
206
+ }
207
+ // ๐Ÿ’Ž Technical Credit Formatter
208
+ function formatTechnicalCredit(credit) {
209
+ if (credit > 0) {
210
+ return `${exports.FAF_ICONS.chart_up} +${credit} ${exports.FAF_ICONS.gem}`;
211
+ }
212
+ else if (credit === 0) {
213
+ return `${credit} (neutral)`;
214
+ }
215
+ else {
216
+ return `${credit} (debt)`;
217
+ }
218
+ }
219
+ //# sourceMappingURL=championship-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"championship-style.js","sourceRoot":"","sources":["../../../../src/faf-core/utils/championship-style.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAyIH,gDAUC;AAKD,8CAqBC;AAMD,4CAUC;AAGD,8CAQC;AAGD,8CAQC;AAGD,sDAQC;AA5ND,+CAA4C;AAE5C,8DAA8D;AACjD,QAAA,UAAU,GAAG;IACxB,wBAAwB;IACxB,IAAI,EAAE,SAAS,EAAO,+BAA+B;IACrD,KAAK,EAAE,SAAS,EAAM,0CAA0C;IAChE,MAAM,EAAE,SAAS,EAAK,yBAAyB;IAE/C,kDAAkD;IAClD,OAAO,EAAE,eAAM,CAAC,OAAO;IACvB,QAAQ,EAAE,eAAM,CAAC,QAAQ;IACzB,QAAQ,EAAE,eAAM,CAAC,QAAQ;IACzB,SAAS,EAAE,eAAM,CAAC,SAAS;IAE3B,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,eAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,oBAAoB;CAC5E,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,SAAS,GAAG;IACvB,uBAAuB;IACvB,SAAS,EAAE,IAAI,EAAS,oBAAoB;IAC5C,MAAM,EAAE,IAAI,EAAY,0BAA0B;IAClD,SAAS,EAAE,IAAI,EAAS,qBAAqB;IAC7C,MAAM,EAAE,IAAI,EAAY,sBAAsB;IAC9C,cAAc,EAAE,IAAI,EAAI,qBAAqB;IAE7C,oBAAoB;IACpB,KAAK,EAAE,IAAI,EAAa,iBAAiB;IACzC,KAAK,EAAE,IAAI,EAAa,eAAe;IACvC,YAAY,EAAE,IAAI,EAAM,sBAAsB;IAC9C,GAAG,EAAE,IAAI,EAAe,kBAAkB;IAC1C,UAAU,EAAE,IAAI,EAAQ,WAAW;IAEnC,kBAAkB;IAClB,YAAY,EAAE,IAAI,EAAM,yBAAyB;IACjD,WAAW,EAAE,IAAI,EAAO,qBAAqB;IAC7C,UAAU,EAAE,IAAI,EAAQ,0BAA0B;IAClD,MAAM,EAAE,KAAK,EAAW,sBAAsB;IAC9C,IAAI,EAAE,GAAG,EAAc,oBAAoB;IAE3C,oBAAoB;IACpB,QAAQ,EAAE,IAAI,EAAU,qBAAqB;IAC7C,IAAI,EAAE,IAAI,EAAc,mBAAmB;IAC3C,GAAG,EAAE,GAAG,EAAe,eAAe;IACtC,QAAQ,EAAE,GAAG,EAAU,gBAAgB;IACvC,KAAK,EAAE,IAAI,EAAa,sBAAsB;IAC9C,OAAO,EAAE,IAAI,EAAW,mBAAmB;IAE3C,YAAY;IACZ,IAAI,EAAE,IAAI,EAAc,gBAAgB;IACxC,OAAO,EAAE,IAAI,EAAW,oBAAoB;IAC5C,IAAI,EAAE,IAAI,EAAc,kBAAkB;IAC1C,MAAM,EAAE,IAAI,EAAY,yBAAyB;IACjD,IAAI,EAAE,IAAI,EAAc,yBAAyB;IAEjD,oBAAoB;IACpB,gBAAgB,EAAE,IAAI,EAAE,SAAS;IACjC,SAAS,EAAE,IAAI,EAAS,aAAa;IACrC,KAAK,EAAE,IAAI,EAAY,cAAc;IACrC,MAAM,EAAE,IAAI,EAAW,OAAO;IAC9B,GAAG,EAAE,IAAI,EAAc,gBAAgB;IACvC,SAAS,EAAE,IAAI,EAAS,mBAAmB;CAC5C,CAAC;AAEF,yBAAyB;AACZ,QAAA,aAAa,GAAG;IAC3B,eAAe;IACf,eAAe,EAAE,IAAI,EAAI,kBAAkB;IAC3C,UAAU,EAAE,IAAI,EAAS,mBAAmB;IAC5C,YAAY,EAAE,IAAI,EAAO,mBAAmB;IAC5C,SAAS,EAAE,IAAI,EAAU,gBAAgB;IAEzC,cAAc;IACd,IAAI,EAAE,IAAI,EAAe,kBAAkB;IAC3C,MAAM,EAAE,IAAI,EAAa,oBAAoB;IAC7C,IAAI,EAAE,IAAI,EAAe,mBAAmB;IAE5C,YAAY;IACZ,QAAQ,EAAE,IAAI,EAAW,aAAa;IACtC,UAAU,EAAE,IAAI,EAAS,eAAe;IACxC,WAAW,EAAE,IAAI,EAAQ,YAAY;CACtC,CAAC;AAEF,wCAAwC;AAC3B,QAAA,qBAAqB,GAAG;IACnC,6BAA6B;IAC7B,cAAc,EAAE,EAAE,EAAS,8BAA8B;IACzD,eAAe,EAAE,EAAE,EAAQ,mCAAmC;IAC9D,eAAe,EAAE,EAAE,EAAQ,iCAAiC;IAC5D,kBAAkB,EAAE,GAAG,EAAI,4BAA4B;IAEvD,gBAAgB;IAChB,aAAa,EAAE,EAAE,EAAU,sCAAsC;IACjE,YAAY,EAAE,EAAE,EAAW,+BAA+B;IAC1D,gBAAgB,EAAE,EAAE,EAAO,+BAA+B;CAC3D,CAAC;AAEF,qBAAqB;AACR,QAAA,cAAc,GAAG;IAC5B,cAAc;IACd,OAAO,EAAE,sCAAsC;IAC/C,SAAS,EAAE,gCAAgC;IAC3C,WAAW,EAAE,kCAAkC;IAE/C,mBAAmB;IACnB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,0BAA0B;IACvC,SAAS,EAAE,0BAA0B;IACrC,YAAY,EAAE,qBAAqB;IAEnC,kBAAkB;IAClB,aAAa,EAAE,4BAA4B;IAC3C,YAAY,EAAE,uCAAuC;IACrD,kBAAkB,EAAE,6CAA6C;IAEjE,iBAAiB;IACjB,OAAO,EAAE,uBAAuB;IAChC,YAAY,EAAE,sBAAsB;IACpC,SAAS,EAAE,8CAA8C;CAC1D,CAAC;AAEF;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,GAAG,kBAAU,CAAC,OAAO,CAAC,6CAA6C,CAAC;EAC3E,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,kBAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EACrH,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,6CAA6C,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,eAAwB;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;IAEtD,qDAAqD;IACrD,MAAM,SAAS,GAAG,eAAe;QAC/B,CAAC,CAAC,GAAG,eAAe,IAAI;QACxB,CAAC,CAAC,uCAAuC,CAAC;IAE5C,OAAO;EACP,SAAS,GAAG,kBAAU,CAAC,OAAO,CAAC,6CAA6C,CAAC;EAC7E,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,OAAO,IAAI,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC7P,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,kBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,kBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,kBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EACtS,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,kBAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,kBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EACnP,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC9S,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC9S,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,wBAAwB,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EACpH,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC;EAC1F,kBAAU,CAAC,OAAO,CAAC,6CAA6C,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,4DAA4D;AAC/C,QAAA,UAAU,GAAG,iBAAiB,EAAE,CAAC;AAE9C,2BAA2B;AAC3B,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACrB,OAAO,GAAG,UAAU,KAAK,qBAAa,CAAC,eAAe,eAAe,CAAC;IACxE,CAAC;SAAM,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,GAAG,UAAU,KAAK,qBAAa,CAAC,UAAU,SAAS,CAAC;IAC7D,CAAC;SAAM,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,GAAG,UAAU,KAAK,qBAAa,CAAC,YAAY,cAAc,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,UAAU,KAAK,qBAAa,CAAC,SAAS,eAAe,CAAC;IAClE,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,OAAO,GAAG,MAAM,MAAM,qBAAa,CAAC,IAAI,IAAI,iBAAS,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;SAAM,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,MAAM,qBAAa,CAAC,MAAM,EAAE,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,MAAM,qBAAa,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,GAAG,qBAAa,CAAC,QAAQ,yBAAyB,CAAC;IAC5D,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,GAAG,qBAAa,CAAC,UAAU,8BAA8B,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,qBAAa,CAAC,WAAW,0BAA0B,CAAC;IAChE,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,SAAgB,qBAAqB,CAAC,MAAc;IAClD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,iBAAS,CAAC,QAAQ,KAAK,MAAM,IAAI,iBAAS,CAAC,GAAG,EAAE,CAAC;IAC7D,CAAC;SAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,YAAY,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC"}