@5ive-tech/cli 1.0.4
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 +226 -0
- package/dist/assets/vm/five_vm_wasm.d.ts +762 -0
- package/dist/assets/vm/five_vm_wasm.js +3754 -0
- package/dist/assets/vm/five_vm_wasm_bg.wasm +0 -0
- package/dist/assets/vm/five_vm_wasm_bg.wasm.d.ts +247 -0
- package/dist/assets/vm/package.json +11 -0
- package/dist/cli.d.ts +47 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +343 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/analyze.d.ts +3 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +435 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/build.d.ts +3 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +66 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/compile.d.ts +3 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/compile.js +872 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +431 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/deploy-and-execute.d.ts +3 -0
- package/dist/commands/deploy-and-execute.d.ts.map +1 -0
- package/dist/commands/deploy-and-execute.js +317 -0
- package/dist/commands/deploy-and-execute.js.map +1 -0
- package/dist/commands/deploy.d.ts +21 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +806 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/donate.d.ts +4 -0
- package/dist/commands/donate.d.ts.map +1 -0
- package/dist/commands/donate.js +104 -0
- package/dist/commands/donate.js.map +1 -0
- package/dist/commands/execute.d.ts +6 -0
- package/dist/commands/execute.d.ts.map +1 -0
- package/dist/commands/execute.js +749 -0
- package/dist/commands/execute.js.map +1 -0
- package/dist/commands/fmt.d.ts +3 -0
- package/dist/commands/fmt.d.ts.map +1 -0
- package/dist/commands/fmt.js +327 -0
- package/dist/commands/fmt.js.map +1 -0
- package/dist/commands/help.d.ts +6 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +224 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/index.d.ts +45 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +119 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +887 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/local.d.ts +3 -0
- package/dist/commands/local.d.ts.map +1 -0
- package/dist/commands/local.js +703 -0
- package/dist/commands/local.js.map +1 -0
- package/dist/commands/namespace.d.ts +3 -0
- package/dist/commands/namespace.d.ts.map +1 -0
- package/dist/commands/namespace.js +328 -0
- package/dist/commands/namespace.js.map +1 -0
- package/dist/commands/template.d.ts +4 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +486 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/test.d.ts +6 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +890 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/version.d.ts +6 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +339 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +69 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +261 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +21 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +35 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +105 -0
- package/dist/config/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/project/ProjectLoader.d.ts +12 -0
- package/dist/project/ProjectLoader.d.ts.map +1 -0
- package/dist/project/ProjectLoader.js +115 -0
- package/dist/project/ProjectLoader.js.map +1 -0
- package/dist/types.d.ts +334 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/AccountFixtureGenerator.d.ts +48 -0
- package/dist/utils/AccountFixtureGenerator.d.ts.map +1 -0
- package/dist/utils/AccountFixtureGenerator.js +265 -0
- package/dist/utils/AccountFixtureGenerator.js.map +1 -0
- package/dist/utils/FiveFileManager.d.ts +96 -0
- package/dist/utils/FiveFileManager.d.ts.map +1 -0
- package/dist/utils/FiveFileManager.js +329 -0
- package/dist/utils/FiveFileManager.js.map +1 -0
- package/dist/utils/ascii-art.d.ts +72 -0
- package/dist/utils/ascii-art.d.ts.map +1 -0
- package/dist/utils/ascii-art.js +314 -0
- package/dist/utils/ascii-art.js.map +1 -0
- package/dist/utils/cli-ui.d.ts +39 -0
- package/dist/utils/cli-ui.d.ts.map +1 -0
- package/dist/utils/cli-ui.js +75 -0
- package/dist/utils/cli-ui.js.map +1 -0
- package/dist/utils/fileUtils.d.ts +25 -0
- package/dist/utils/fileUtils.d.ts.map +1 -0
- package/dist/utils/fileUtils.js +50 -0
- package/dist/utils/fileUtils.js.map +1 -0
- package/dist/utils/logger.d.ts +53 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +287 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/wasm/compiler.d.ts +101 -0
- package/dist/wasm/compiler.d.ts.map +1 -0
- package/dist/wasm/compiler.js +906 -0
- package/dist/wasm/compiler.js.map +1 -0
- package/dist/wasm/loader.d.ts +2 -0
- package/dist/wasm/loader.d.ts.map +1 -0
- package/dist/wasm/loader.js +90 -0
- package/dist/wasm/loader.js.map +1 -0
- package/dist/wasm/vm.d.ts +32 -0
- package/dist/wasm/vm.d.ts.map +1 -0
- package/dist/wasm/vm.js +440 -0
- package/dist/wasm/vm.js.map +1 -0
- package/package.json +100 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Five CLI ASCII Art and Visual Effects
|
|
3
|
+
*
|
|
4
|
+
* Cool 2000s-style terminal aesthetics with colorful ASCII art,
|
|
5
|
+
* gradients, and retro visual effects.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
/**
|
|
9
|
+
* Main 5IVE ASCII art banner with demoscene styling
|
|
10
|
+
* Enhanced step by step following user's iterative approach
|
|
11
|
+
*/
|
|
12
|
+
export function getFiveASCIIBanner() {
|
|
13
|
+
// Step 2.5: Responsive demoscene-style banner (narrower and reactive)
|
|
14
|
+
const terminalWidth = process.stdout.columns || 80;
|
|
15
|
+
// ACID-MELTED LIQUID WASTE EFFECT - Compact banner for narrow terminals (< 70 columns)
|
|
16
|
+
const bannerCompact = `
|
|
17
|
+
╔═══════════════════════════════════════════════════╗
|
|
18
|
+
║░▒▓██▓▒░░▒▓█████▓▒░░▒▓██▓▒░░▒▓██▓▒░░▒▓█████▓▒░░▒║
|
|
19
|
+
║ ███████╗██╗██╗ ██╗███████╗ ░▒▓█▓▒░ ║
|
|
20
|
+
║ ██╔═▓▒░▒██║██║▒▓░██║██╔══▒▓▒░ ░║
|
|
21
|
+
║ █████▓▒ ██║██║ ▒▓██║█████▓▒░ ░║
|
|
22
|
+
║ ██╔══░ ██║██║ ░▒██║██╔══░ ░║
|
|
23
|
+
║ ██║ ░▒▓▒██║╚████▓▒▓███████╗ ░║
|
|
24
|
+
║ ╚═╝ ░▒▓╚═╝ ╚═▓▒░▒ ╚══════╝░▒▓█ ░║
|
|
25
|
+
║░ ░ ░▒▓░ ░░▒▓██▓▒░ ░ ░▒▓░ ░░▒▓█▓▒░ ░║
|
|
26
|
+
║░░▒▓░ ░ ░▒▓██▓▒░ ░ ░▒▓█▓▒░ ░▒▓█ ║
|
|
27
|
+
║░▒▓█▓▒░░▒▓██▓▒░░▒▓█▓▒░░▒▓██▓▒░░▒▓█████▓▒░░▒▓║
|
|
28
|
+
╚═══════════════════════════════════════════════════╝
|
|
29
|
+
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
|
|
30
|
+
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█
|
|
31
|
+
░▒▓█ ░▒▓█ ░▒▓
|
|
32
|
+
░ ░ ░`;
|
|
33
|
+
// ACID-MELTED LIQUID WASTE EFFECT - Medium banner for standard terminals (70-100 columns)
|
|
34
|
+
const bannerMedium = `
|
|
35
|
+
╔══════════════════════════════════════════════════════════╗
|
|
36
|
+
║░▒▓███▓▒░░▒▓████▓▒░░▒▓███▓▒░░▒▓███▓▒░░▒▓████▓▒░░▒▓███▓▒║
|
|
37
|
+
║░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░║
|
|
38
|
+
║ ███████╗██╗██╗ ██╗███████╗ ░▒▓█████▓▒░ ║
|
|
39
|
+
║ ██╔═▓▒░▒██║██║▒▓░██║██╔══▒▓▒░ ║
|
|
40
|
+
║ █████▓▒ ██║██║ ▒▓██║█████▓▒░ ║
|
|
41
|
+
║ ██╔══░ ██║██║ ░▒██║██╔══░ ║
|
|
42
|
+
║ ██║ ░▒▓▒██║╚████▓▒▓███████╗ ║
|
|
43
|
+
║ ╚═╝ ░▒▓╚═╝ ╚═▓▒░▒ ╚══════╝░▒▓█ ║
|
|
44
|
+
║░ ░ ░▒▓░ ░░▒▓██▓▒░ ░ ░▒▓░ ░░▒▓█▓▒░ ║
|
|
45
|
+
║░░▒▓░ ░ ░▒▓██▓▒░ ░ ░▒▓█▓▒░ ░▒▓█ ║
|
|
46
|
+
║░▒▓█▓▒░░▒▓██▓▒░░▒▓█▓▒░░▒▓██▓▒░░▒▓█████▓▒░░▒▓█▓▒░░▒▓ ║
|
|
47
|
+
║░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓█ ░ ░▒▓║
|
|
48
|
+
╚══════════════════════════════════════════════════════════╝
|
|
49
|
+
░▒▓███▓▒░ ░▒▓███▓▒░ ░▒▓███▓▒░ ░▒▓███▓▒░ ░▒▓███▓▒░
|
|
50
|
+
░▒▓███▓▒░ ░▒▓███▓▒░ ░▒▓███▓▒░ ░▒▓███▓▒░
|
|
51
|
+
░▒▓████ ░▒▓████ ░▒▓████ ░▒▓
|
|
52
|
+
░▒▓█▓ ░▒▓█▓ ░▒▓█▓
|
|
53
|
+
░▒ ░▒ ░▒
|
|
54
|
+
░ ░ ░`;
|
|
55
|
+
// ACID-MELTED LIQUID WASTE EFFECT - Wide banner for large terminals (> 100 columns)
|
|
56
|
+
const bannerWide = `
|
|
57
|
+
╔═══════════════════════════════════════════════════════════════════════╗
|
|
58
|
+
║░▒▓████▓▒░░▒▓█████▓▒░░▒▓████▓▒░░▒▓████▓▒░░▒▓█████▓▒░░▒▓████▓▒░░▒▓████║
|
|
59
|
+
║░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░▒║
|
|
60
|
+
║░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░║
|
|
61
|
+
║ ███████╗██╗██╗ ██╗███████╗ ░▒▓██████▓▒░ ║
|
|
62
|
+
║ ██╔═▓▒░▒██║██║▒▓░██║██╔══▒▓▒░ ║
|
|
63
|
+
║ █████▓▒ ██║██║ ▒▓██║█████▓▒░ ║
|
|
64
|
+
║ ██╔══░ ██║██║ ░▒██║██╔══░ ║
|
|
65
|
+
║ ██║ ░▒▓▒██║╚████▓▒▓███████╗ ║
|
|
66
|
+
║ ╚═╝ ░▒▓╚═╝ ╚═▓▒░▒ ╚══════╝░▒▓█ ║
|
|
67
|
+
║░ ░ ░▒▓░ ░░▒▓██▓▒░ ░ ░▒▓░ ░░▒▓█▓▒░ ║
|
|
68
|
+
║░░▒▓░ ░ ░▒▓██▓▒░ ░ ░▒▓█▓▒░ ░▒▓█ ║
|
|
69
|
+
║░▒▓█▓▒░░▒▓██▓▒░░▒▓█▓▒░░▒▓██▓▒░░▒▓█████▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█ ║
|
|
70
|
+
║░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██ ░ ░▒▓██║
|
|
71
|
+
║░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ░▒▓█ ║
|
|
72
|
+
╚═══════════════════════════════════════════════════════════════════════╝
|
|
73
|
+
░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░
|
|
74
|
+
░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░ ░▒▓████▓▒░
|
|
75
|
+
░▒▓█████ ░▒▓█████ ░▒▓█████ ░▒▓█████ ░▒▓
|
|
76
|
+
░▒▓███▓ ░▒▓███▓ ░▒▓███▓ ░▒▓███▓
|
|
77
|
+
░▒▓█▓ ░▒▓█▓ ░▒▓█▓ ░▒▓█▓
|
|
78
|
+
░▒▓ ░▒▓ ░▒▓ ░▒▓
|
|
79
|
+
░ ░ ░ ░`;
|
|
80
|
+
// Choose responsive banner based on terminal width
|
|
81
|
+
const selectedBanner = terminalWidth < 70 ? bannerCompact :
|
|
82
|
+
terminalWidth < 100 ? bannerMedium :
|
|
83
|
+
bannerWide;
|
|
84
|
+
const lines = selectedBanner.split('\n');
|
|
85
|
+
const coloredLines = lines.map((line, index) => {
|
|
86
|
+
if (line.trim() === '')
|
|
87
|
+
return line;
|
|
88
|
+
// ACID-MELTED LIQUID WASTE COLOR SCHEME
|
|
89
|
+
// Simulate toxic waste colors: acid greens, warning yellows, radioactive blues, dangerous reds
|
|
90
|
+
if (line.includes('░▒▓') || line.includes('▓▒░')) {
|
|
91
|
+
// Acid drip effects and waste patterns - radioactive green and toxic yellow
|
|
92
|
+
if (line.includes('░▒▓█')) {
|
|
93
|
+
return chalk.hex('#00FF41')(line); // Matrix green for heavy acid
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return chalk.hex('#CCFF00')(line); // Radioactive yellow-green
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (line.includes('██') && line.includes('╗╝╚═')) {
|
|
100
|
+
// Main FIVE text - corrupted but still readable - toxic blue-white
|
|
101
|
+
return chalk.hex('#00FFFF')(line); // Bright cyan like acid
|
|
102
|
+
}
|
|
103
|
+
else if (line.includes('██')) {
|
|
104
|
+
// FIVE letter forms - bright corrosive colors
|
|
105
|
+
if (index % 3 === 0) {
|
|
106
|
+
return chalk.hex('#FF0040')(line); // Danger red
|
|
107
|
+
}
|
|
108
|
+
else if (index % 3 === 1) {
|
|
109
|
+
return chalk.hex('#40FF00')(line); // Toxic green
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return chalk.hex('#FFFF00')(line); // Warning yellow
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else if (line.includes('╔╗╚═')) {
|
|
116
|
+
// Border frames - dark radioactive
|
|
117
|
+
return chalk.hex('#004000')(line); // Dark toxic green
|
|
118
|
+
}
|
|
119
|
+
else if (line.includes('░') || line.includes('▒') || line.includes('▓')) {
|
|
120
|
+
// Dripping waste effects
|
|
121
|
+
return chalk.hex('#80FF00')(line); // Bright lime acid
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// Other elements - muted toxic glow
|
|
125
|
+
return chalk.hex('#008040')(line); // Medium toxic green
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
return coloredLines.join('\n');
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Alternative retro computer style banner
|
|
132
|
+
*/
|
|
133
|
+
export function getRetroComputerBanner() {
|
|
134
|
+
const banner = `
|
|
135
|
+
┌─── ▄▄▄▄▄ ─── ▄ ─── ▄ ▄ ─── ▄▄▄▄▄ ────────────────────────────────────────────┐
|
|
136
|
+
│ ▐▌ █▀▀▀▀ ▐▌ █ ▐▌ █ ▐▌ █ ▐▌ █▀▀▀▀ ▐▌ F I V E V I R T U A L M A C H I N E │
|
|
137
|
+
│ ▐▌ █▄▄▄ ▐▌ █ ▐▌ █ ▐▌ █ ▐▌ █▄▄▄ ▐▌ ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ │
|
|
138
|
+
│ ▐▌ █ ▐▌ █ ▐▌ █ ▐▌ █ ▐▌ █ ▐▌ ░░ BLOCKCHAIN BYTECODE EXECUTION ░░ │
|
|
139
|
+
│ ▐▌ ▄▄▄▄█ ▐▌ █▄▄▄▄ ▐▌▄▄█ ▐▌ ▄▄▄▄█ ▐▌ ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ │
|
|
140
|
+
└─────────────────────────────────────────────────────────────────────────────┘`;
|
|
141
|
+
return chalk.cyan(banner);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Compact matrix/digital style banner
|
|
145
|
+
*/
|
|
146
|
+
export function getMatrixStyleBanner() {
|
|
147
|
+
const banner = `
|
|
148
|
+
▀█▀▀█ █ █ █ █▀▀▀ ░▒▓█ FIVE VM █▓▒░ █▀▀▀ █ █ █ █▀▀█▀
|
|
149
|
+
▀▀▀▀█ █ █ █ █▄▄▄ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ █▄▄▄ █ █ █ █▀▀▀▀
|
|
150
|
+
█ █ ▀▄█ █▄▄▄ ▒▒▒ SOL VM ▒▒▒ █▄▄▄ █▄▀ █ █
|
|
151
|
+
▄▄▄▄█ █ ▄▄█ ▄▄▄▄ ░░░░░░░░░░░░░░░ ▄▄▄▄ █▄▄ █ █▄▄▄▄`;
|
|
152
|
+
const lines = banner.split('\n');
|
|
153
|
+
return lines.map((line, index) => {
|
|
154
|
+
const colors = [chalk.green, chalk.cyan, chalk.magenta, chalk.yellow];
|
|
155
|
+
return colors[index % colors.length](line);
|
|
156
|
+
}).join('\n');
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Alternative stylized 5IVE logo for compact display
|
|
160
|
+
*/
|
|
161
|
+
export function getCompactFiveLogo() {
|
|
162
|
+
return chalk.cyan('█') + chalk.magenta('5') + chalk.yellow('█') +
|
|
163
|
+
chalk.cyan('I') + chalk.magenta('V') + chalk.yellow('E') + chalk.cyan('█');
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* 2000s-style welcome message with decorative elements
|
|
167
|
+
*/
|
|
168
|
+
export function getWelcomeMessage() {
|
|
169
|
+
const decorativeBar = chalk.cyan('═'.repeat(60));
|
|
170
|
+
const tagline = chalk.bold.magenta('Five VM - The Future of Blockchain Execution');
|
|
171
|
+
const subtitle = chalk.gray('Ultra-fast bytecode VM for Solana smart contracts');
|
|
172
|
+
return `
|
|
173
|
+
${decorativeBar}
|
|
174
|
+
${chalk.bold.cyan(' Welcome to Five CLI')}
|
|
175
|
+
${tagline}
|
|
176
|
+
${subtitle}
|
|
177
|
+
${decorativeBar}
|
|
178
|
+
`;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Stylized section header with 2000s aesthetics
|
|
182
|
+
*/
|
|
183
|
+
export function createSectionHeader(title, color = 'cyan') {
|
|
184
|
+
const colorFn = chalk[color];
|
|
185
|
+
const border = '▓'.repeat(title.length + 4);
|
|
186
|
+
return `
|
|
187
|
+
${colorFn(border)}
|
|
188
|
+
${colorFn(`▓ ${title} ▓`)}
|
|
189
|
+
${colorFn(border)}`;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Retro-style command example with syntax highlighting
|
|
193
|
+
*/
|
|
194
|
+
export function styleCommandExample(command, description) {
|
|
195
|
+
// Split command into parts for colorization
|
|
196
|
+
const parts = command.split(' ');
|
|
197
|
+
const baseCommand = chalk.bold.cyan(parts[0]);
|
|
198
|
+
const subCommand = parts[1] ? chalk.bold.yellow(parts[1]) : '';
|
|
199
|
+
const flags = parts.slice(2).map(part => part.startsWith('-') ? chalk.green(part) : chalk.white(part)).join(' ');
|
|
200
|
+
const styledCommand = [baseCommand, subCommand, flags].filter(Boolean).join(' ');
|
|
201
|
+
const arrow = chalk.magenta('▶');
|
|
202
|
+
const desc = chalk.gray(description);
|
|
203
|
+
return ` ${arrow} ${styledCommand.padEnd(35)} ${desc}`;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 2000s-style loading animation frames
|
|
207
|
+
*/
|
|
208
|
+
export const loadingFrames = [
|
|
209
|
+
chalk.cyan('⠋'),
|
|
210
|
+
chalk.magenta('⠙'),
|
|
211
|
+
chalk.yellow('⠹'),
|
|
212
|
+
chalk.green('⠸'),
|
|
213
|
+
chalk.blue('⠼'),
|
|
214
|
+
chalk.red('⠴'),
|
|
215
|
+
chalk.cyan('⠦'),
|
|
216
|
+
chalk.magenta('⠧'),
|
|
217
|
+
chalk.yellow('⠇'),
|
|
218
|
+
chalk.green('⠏')
|
|
219
|
+
];
|
|
220
|
+
/**
|
|
221
|
+
* Status indicator with retro styling
|
|
222
|
+
*/
|
|
223
|
+
export function getStatusIndicator(status) {
|
|
224
|
+
const indicators = {
|
|
225
|
+
success: chalk.green('✓'),
|
|
226
|
+
error: chalk.red('✗'),
|
|
227
|
+
warning: chalk.yellow('⚠'),
|
|
228
|
+
info: chalk.cyan('ℹ')
|
|
229
|
+
};
|
|
230
|
+
return indicators[status];
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Retro progress bar
|
|
234
|
+
*/
|
|
235
|
+
export function createProgressBar(progress, width = 20) {
|
|
236
|
+
const completed = Math.floor((progress / 100) * width);
|
|
237
|
+
const remaining = width - completed;
|
|
238
|
+
const completedBar = chalk.cyan('█'.repeat(completed));
|
|
239
|
+
const remainingBar = chalk.gray('░'.repeat(remaining));
|
|
240
|
+
const percentage = chalk.bold.magenta(`${progress}%`);
|
|
241
|
+
return `[${completedBar}${remainingBar}] ${percentage}`;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Test responsive banner at different widths (for debugging)
|
|
245
|
+
*/
|
|
246
|
+
export function testResponsiveBanner() {
|
|
247
|
+
console.log('\n=== Responsive Banner Test ===\n');
|
|
248
|
+
// Test different terminal widths
|
|
249
|
+
const testWidths = [60, 80, 120];
|
|
250
|
+
testWidths.forEach(width => {
|
|
251
|
+
console.log(`\n--- Terminal Width: ${width} columns ---`);
|
|
252
|
+
// Temporarily override columns for testing
|
|
253
|
+
const originalColumns = process.stdout.columns;
|
|
254
|
+
process.stdout.columns = width;
|
|
255
|
+
console.log(getFiveASCIIBanner());
|
|
256
|
+
// Restore original
|
|
257
|
+
process.stdout.columns = originalColumns;
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Network status display with colors
|
|
262
|
+
*/
|
|
263
|
+
export function getNetworkDisplay(network) {
|
|
264
|
+
const networkColors = {
|
|
265
|
+
'wasm': chalk.cyan('WASM'),
|
|
266
|
+
'local': chalk.gray('LOCAL'),
|
|
267
|
+
'devnet': chalk.yellow('DEVNET'),
|
|
268
|
+
'testnet': chalk.magenta('TESTNET'),
|
|
269
|
+
'mainnet': chalk.red('MAINNET')
|
|
270
|
+
};
|
|
271
|
+
const displayName = networkColors[network] || chalk.white(network.toUpperCase());
|
|
272
|
+
return `[${displayName}]`;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Error message with retro styling
|
|
276
|
+
*/
|
|
277
|
+
export function styleError(message) {
|
|
278
|
+
const errorIcon = chalk.red('◢◤');
|
|
279
|
+
const border = chalk.red('━'.repeat(Math.min(message.length + 4, 60)));
|
|
280
|
+
return `
|
|
281
|
+
${border}
|
|
282
|
+
${errorIcon} ${chalk.bold.red('ERROR:')} ${chalk.white(message)}
|
|
283
|
+
${border}`;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Success message with celebration
|
|
287
|
+
*/
|
|
288
|
+
export function styleSuccess(message) {
|
|
289
|
+
const successIcon = chalk.green('★');
|
|
290
|
+
const celebration = chalk.yellow('◆') + chalk.cyan('◇') + chalk.magenta('◆');
|
|
291
|
+
return `${celebration} ${successIcon} ${chalk.bold.green(message)} ${successIcon} ${celebration}`;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Info box with decorative border
|
|
295
|
+
*/
|
|
296
|
+
export function createInfoBox(title, content) {
|
|
297
|
+
const maxWidth = Math.max(title.length, ...content.map(line => line.length)) + 4;
|
|
298
|
+
const topBorder = chalk.cyan('┌' + '─'.repeat(maxWidth - 2) + '┐');
|
|
299
|
+
const bottomBorder = chalk.cyan('└' + '─'.repeat(maxWidth - 2) + '┘');
|
|
300
|
+
const titleLine = chalk.cyan('│ ') + chalk.bold.yellow(title) + ' '.repeat(maxWidth - title.length - 3) + chalk.cyan('│');
|
|
301
|
+
const contentLines = content.map(line => chalk.cyan('│ ') + line + ' '.repeat(maxWidth - line.length - 3) + chalk.cyan('│'));
|
|
302
|
+
return [topBorder, titleLine, ...contentLines, bottomBorder].join('\n');
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Command not found with suggestions
|
|
306
|
+
*/
|
|
307
|
+
export function styleCommandNotFound(command, suggestions) {
|
|
308
|
+
const sadFace = chalk.yellow('(╯°□°)╯');
|
|
309
|
+
const suggestion = suggestions.length > 0
|
|
310
|
+
? `\n${chalk.cyan('Did you mean:')} ${suggestions.map(s => chalk.yellow(s)).join(', ')}`
|
|
311
|
+
: '';
|
|
312
|
+
return `${sadFace} ${chalk.red('Command not found:')} ${chalk.bold(command)}${suggestion}`;
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=ascii-art.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-art.js","sourceRoot":"","sources":["../../src/utils/ascii-art.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal retro CLI UI helpers using Five frontend colors (Rose Pine).
|
|
3
|
+
*/
|
|
4
|
+
export declare const palette: {
|
|
5
|
+
base: string;
|
|
6
|
+
surface: string;
|
|
7
|
+
overlay: string;
|
|
8
|
+
muted: string;
|
|
9
|
+
subtle: string;
|
|
10
|
+
text: string;
|
|
11
|
+
love: string;
|
|
12
|
+
gold: string;
|
|
13
|
+
rose: string;
|
|
14
|
+
pine: string;
|
|
15
|
+
foam: string;
|
|
16
|
+
iris: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const uiColors: {
|
|
19
|
+
text: (value: string) => string;
|
|
20
|
+
muted: (value: string) => string;
|
|
21
|
+
subtle: (value: string) => string;
|
|
22
|
+
accent: (value: string) => string;
|
|
23
|
+
success: (value: string) => string;
|
|
24
|
+
warn: (value: string) => string;
|
|
25
|
+
error: (value: string) => string;
|
|
26
|
+
info: (value: string) => string;
|
|
27
|
+
rose: (value: string) => string;
|
|
28
|
+
};
|
|
29
|
+
export declare function brandLine(): string;
|
|
30
|
+
export declare function section(title: string): string;
|
|
31
|
+
export declare function commandExample(command: string, description: string): string;
|
|
32
|
+
export declare function keyValue(key: string, value: string): string;
|
|
33
|
+
export declare function success(message: string): string;
|
|
34
|
+
export declare function warning(message: string): string;
|
|
35
|
+
export declare function error(message: string): string;
|
|
36
|
+
export declare function hint(message: string): string;
|
|
37
|
+
export declare function commandNotFound(command: string, suggestions: string[]): string;
|
|
38
|
+
export declare function isTTY(): boolean;
|
|
39
|
+
//# sourceMappingURL=cli-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-ui.d.ts","sourceRoot":"","sources":["../../src/utils/cli-ui.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAanB,CAAC;AAcF,eAAO,MAAM,QAAQ;kBACL,MAAM;mBACL,MAAM;oBACL,MAAM;oBACN,MAAM;qBACL,MAAM;kBACT,MAAM;mBACL,MAAM;kBACP,MAAM;kBACN,MAAM;CACrB,CAAC;AAEF,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAM9E;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal retro CLI UI helpers using Five frontend colors (Rose Pine).
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
export const palette = {
|
|
6
|
+
base: '#232136',
|
|
7
|
+
surface: '#2a273f',
|
|
8
|
+
overlay: '#393552',
|
|
9
|
+
muted: '#6e6a86',
|
|
10
|
+
subtle: '#908caa',
|
|
11
|
+
text: '#e0def4',
|
|
12
|
+
love: '#eb6f92',
|
|
13
|
+
gold: '#f6c177',
|
|
14
|
+
rose: '#ea9a97',
|
|
15
|
+
pine: '#3e8fb0',
|
|
16
|
+
foam: '#9ccfd8',
|
|
17
|
+
iris: '#c4a7e7'
|
|
18
|
+
};
|
|
19
|
+
const colors = {
|
|
20
|
+
text: chalk.white,
|
|
21
|
+
muted: chalk.gray,
|
|
22
|
+
subtle: chalk.gray,
|
|
23
|
+
accent: chalk.magenta,
|
|
24
|
+
success: chalk.green,
|
|
25
|
+
warn: chalk.yellow,
|
|
26
|
+
error: chalk.red,
|
|
27
|
+
info: chalk.cyan,
|
|
28
|
+
rose: chalk.magentaBright
|
|
29
|
+
};
|
|
30
|
+
export const uiColors = {
|
|
31
|
+
text: (value) => colors.text(value),
|
|
32
|
+
muted: (value) => colors.muted(value),
|
|
33
|
+
subtle: (value) => colors.subtle(value),
|
|
34
|
+
accent: (value) => colors.accent(value),
|
|
35
|
+
success: (value) => colors.success(value),
|
|
36
|
+
warn: (value) => colors.warn(value),
|
|
37
|
+
error: (value) => colors.error(value),
|
|
38
|
+
info: (value) => colors.info(value),
|
|
39
|
+
rose: (value) => colors.rose(value)
|
|
40
|
+
};
|
|
41
|
+
export function brandLine() {
|
|
42
|
+
return `${colors.rose('==')} ${colors.accent('5IVE CLI')} ${colors.rose('==')}`;
|
|
43
|
+
}
|
|
44
|
+
export function section(title) {
|
|
45
|
+
return colors.subtle(title.toUpperCase());
|
|
46
|
+
}
|
|
47
|
+
export function commandExample(command, description) {
|
|
48
|
+
return ` ${colors.info(command)} ${colors.muted(description)}`;
|
|
49
|
+
}
|
|
50
|
+
export function keyValue(key, value) {
|
|
51
|
+
return ` ${colors.info(key)} ${colors.text(value)}`;
|
|
52
|
+
}
|
|
53
|
+
export function success(message) {
|
|
54
|
+
return `${colors.success('OK')} ${colors.text(message)}`;
|
|
55
|
+
}
|
|
56
|
+
export function warning(message) {
|
|
57
|
+
return `${colors.warn('warn:')} ${colors.text(message)}`;
|
|
58
|
+
}
|
|
59
|
+
export function error(message) {
|
|
60
|
+
return `${colors.error('error:')} ${colors.text(message)}`;
|
|
61
|
+
}
|
|
62
|
+
export function hint(message) {
|
|
63
|
+
return `${colors.muted('hint:')} ${colors.muted(message)}`;
|
|
64
|
+
}
|
|
65
|
+
export function commandNotFound(command, suggestions) {
|
|
66
|
+
const parts = [error(`unknown command "${command}"`)];
|
|
67
|
+
if (suggestions.length > 0) {
|
|
68
|
+
parts.push(hint(`did you mean ${suggestions.join(', ')}?`));
|
|
69
|
+
}
|
|
70
|
+
return parts.join('\n');
|
|
71
|
+
}
|
|
72
|
+
export function isTTY() {
|
|
73
|
+
return Boolean(process.stdout.isTTY);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=cli-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../src/utils/cli-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use FiveFileManager.loadFile() instead
|
|
3
|
+
*/
|
|
4
|
+
export declare function loadAnyFiveFile(filePath: string): Promise<{
|
|
5
|
+
bytecode: Uint8Array;
|
|
6
|
+
abi?: any;
|
|
7
|
+
format: string;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use FiveFileManager.extractBytecode() instead
|
|
11
|
+
*/
|
|
12
|
+
export declare function getBytecodeFromFile(filePath: string): Promise<Uint8Array>;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use FiveFileManager.extractABI() instead
|
|
15
|
+
*/
|
|
16
|
+
export declare function getABIFromFile(filePath: string): Promise<any | null>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use FiveFileManager.detectFormat() instead
|
|
19
|
+
*/
|
|
20
|
+
export declare function detectFileFormat(filePath: string): 'five' | 'bin' | 'v' | 'unknown';
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use FiveFileManager.validateFileContent() instead
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateBytecodeFile(filePath: string): Promise<boolean>;
|
|
25
|
+
//# sourceMappingURL=fileUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,QAAQ,EAAE,UAAU,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CASD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAG/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,CAGnF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS7E"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Legacy file utilities for FiveFileManager compatibility.
|
|
2
|
+
import { FiveFileManager } from './FiveFileManager.js';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use FiveFileManager.loadFile() instead
|
|
5
|
+
*/
|
|
6
|
+
export async function loadAnyFiveFile(filePath) {
|
|
7
|
+
const manager = FiveFileManager.getInstance();
|
|
8
|
+
const file = await manager.loadFile(filePath, { validateFormat: true });
|
|
9
|
+
return {
|
|
10
|
+
bytecode: file.bytecode,
|
|
11
|
+
abi: file.abi,
|
|
12
|
+
format: file.format
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use FiveFileManager.extractBytecode() instead
|
|
17
|
+
*/
|
|
18
|
+
export async function getBytecodeFromFile(filePath) {
|
|
19
|
+
const { bytecode } = await loadAnyFiveFile(filePath);
|
|
20
|
+
return bytecode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use FiveFileManager.extractABI() instead
|
|
24
|
+
*/
|
|
25
|
+
export async function getABIFromFile(filePath) {
|
|
26
|
+
const { abi } = await loadAnyFiveFile(filePath);
|
|
27
|
+
return abi || null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Use FiveFileManager.detectFormat() instead
|
|
31
|
+
*/
|
|
32
|
+
export function detectFileFormat(filePath) {
|
|
33
|
+
const manager = FiveFileManager.getInstance();
|
|
34
|
+
return manager.detectFormat(filePath);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use FiveFileManager.validateFileContent() instead
|
|
38
|
+
*/
|
|
39
|
+
export async function validateBytecodeFile(filePath) {
|
|
40
|
+
try {
|
|
41
|
+
const manager = FiveFileManager.getInstance();
|
|
42
|
+
const file = await manager.loadFile(filePath);
|
|
43
|
+
const validation = manager.validateFileContent(file);
|
|
44
|
+
return validation.valid;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=fileUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,EAAE,eAAe,EAAiC,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IAKpD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { LogLevel, Logger } from '../types.js';
|
|
2
|
+
export interface LoggerOptions {
|
|
3
|
+
level: LogLevel;
|
|
4
|
+
enableColors: boolean;
|
|
5
|
+
enableTimestamps: boolean;
|
|
6
|
+
enableContext: boolean;
|
|
7
|
+
logFile?: string;
|
|
8
|
+
maxLogSize?: number;
|
|
9
|
+
maxBackups?: number;
|
|
10
|
+
enablePerformance?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class FiveLogger implements Logger {
|
|
13
|
+
private options;
|
|
14
|
+
private context;
|
|
15
|
+
private performanceMarks;
|
|
16
|
+
constructor(options?: Partial<LoggerOptions>);
|
|
17
|
+
debug(message: string, ...args: any[]): void;
|
|
18
|
+
info(message: string, ...args: any[]): void;
|
|
19
|
+
warn(message: string, ...args: any[]): void;
|
|
20
|
+
error(message: string, ...args: any[]): void;
|
|
21
|
+
perf(operation: string, message: string, ...args: any[]): void;
|
|
22
|
+
startPerformanceMark(operation: string): void;
|
|
23
|
+
endPerformanceMark(operation: string): number | null;
|
|
24
|
+
addContext(key: string, value: any): void;
|
|
25
|
+
removeContext(key: string): void;
|
|
26
|
+
clearContext(): void;
|
|
27
|
+
child(context: Record<string, any>): FiveLogger;
|
|
28
|
+
logObject(level: LogLevel, object: any, label?: string): void;
|
|
29
|
+
command(command: string, args: string[], duration?: number): void;
|
|
30
|
+
compilation(sourceFile: string, success: boolean, duration: number, details?: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* Log VM execution results
|
|
33
|
+
*/
|
|
34
|
+
execution(success: boolean, computeUnits: number, duration: number, details?: any): void;
|
|
35
|
+
/**
|
|
36
|
+
* Core logging method
|
|
37
|
+
*/
|
|
38
|
+
private log;
|
|
39
|
+
/**
|
|
40
|
+
* Format log entry with timestamp, level, context, and message
|
|
41
|
+
*/
|
|
42
|
+
private formatLogEntry;
|
|
43
|
+
private outputToConsole;
|
|
44
|
+
private outputToFile;
|
|
45
|
+
private rotateLogIfNeeded;
|
|
46
|
+
private shouldLog;
|
|
47
|
+
updateOptions(options: Partial<LoggerOptions>): void;
|
|
48
|
+
getOptions(): LoggerOptions;
|
|
49
|
+
}
|
|
50
|
+
export declare function createLogger(options?: Partial<LoggerOptions>): FiveLogger;
|
|
51
|
+
export declare function createFileLogger(logFile: string, options?: Partial<LoggerOptions>): FiveLogger;
|
|
52
|
+
export declare function measureTime<T>(logger: FiveLogger, operation: string, fn: () => T | Promise<T>): T | Promise<T>;
|
|
53
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|