@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.
Files changed (139) hide show
  1. package/README.md +226 -0
  2. package/dist/assets/vm/five_vm_wasm.d.ts +762 -0
  3. package/dist/assets/vm/five_vm_wasm.js +3754 -0
  4. package/dist/assets/vm/five_vm_wasm_bg.wasm +0 -0
  5. package/dist/assets/vm/five_vm_wasm_bg.wasm.d.ts +247 -0
  6. package/dist/assets/vm/package.json +11 -0
  7. package/dist/cli.d.ts +47 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +343 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/analyze.d.ts +3 -0
  12. package/dist/commands/analyze.d.ts.map +1 -0
  13. package/dist/commands/analyze.js +435 -0
  14. package/dist/commands/analyze.js.map +1 -0
  15. package/dist/commands/build.d.ts +3 -0
  16. package/dist/commands/build.d.ts.map +1 -0
  17. package/dist/commands/build.js +66 -0
  18. package/dist/commands/build.js.map +1 -0
  19. package/dist/commands/compile.d.ts +3 -0
  20. package/dist/commands/compile.d.ts.map +1 -0
  21. package/dist/commands/compile.js +872 -0
  22. package/dist/commands/compile.js.map +1 -0
  23. package/dist/commands/config.d.ts +3 -0
  24. package/dist/commands/config.d.ts.map +1 -0
  25. package/dist/commands/config.js +431 -0
  26. package/dist/commands/config.js.map +1 -0
  27. package/dist/commands/deploy-and-execute.d.ts +3 -0
  28. package/dist/commands/deploy-and-execute.d.ts.map +1 -0
  29. package/dist/commands/deploy-and-execute.js +317 -0
  30. package/dist/commands/deploy-and-execute.js.map +1 -0
  31. package/dist/commands/deploy.d.ts +21 -0
  32. package/dist/commands/deploy.d.ts.map +1 -0
  33. package/dist/commands/deploy.js +806 -0
  34. package/dist/commands/deploy.js.map +1 -0
  35. package/dist/commands/donate.d.ts +4 -0
  36. package/dist/commands/donate.d.ts.map +1 -0
  37. package/dist/commands/donate.js +104 -0
  38. package/dist/commands/donate.js.map +1 -0
  39. package/dist/commands/execute.d.ts +6 -0
  40. package/dist/commands/execute.d.ts.map +1 -0
  41. package/dist/commands/execute.js +749 -0
  42. package/dist/commands/execute.js.map +1 -0
  43. package/dist/commands/fmt.d.ts +3 -0
  44. package/dist/commands/fmt.d.ts.map +1 -0
  45. package/dist/commands/fmt.js +327 -0
  46. package/dist/commands/fmt.js.map +1 -0
  47. package/dist/commands/help.d.ts +6 -0
  48. package/dist/commands/help.d.ts.map +1 -0
  49. package/dist/commands/help.js +224 -0
  50. package/dist/commands/help.js.map +1 -0
  51. package/dist/commands/index.d.ts +45 -0
  52. package/dist/commands/index.d.ts.map +1 -0
  53. package/dist/commands/index.js +119 -0
  54. package/dist/commands/index.js.map +1 -0
  55. package/dist/commands/init.d.ts +3 -0
  56. package/dist/commands/init.d.ts.map +1 -0
  57. package/dist/commands/init.js +887 -0
  58. package/dist/commands/init.js.map +1 -0
  59. package/dist/commands/local.d.ts +3 -0
  60. package/dist/commands/local.d.ts.map +1 -0
  61. package/dist/commands/local.js +703 -0
  62. package/dist/commands/local.js.map +1 -0
  63. package/dist/commands/namespace.d.ts +3 -0
  64. package/dist/commands/namespace.d.ts.map +1 -0
  65. package/dist/commands/namespace.js +328 -0
  66. package/dist/commands/namespace.js.map +1 -0
  67. package/dist/commands/template.d.ts +4 -0
  68. package/dist/commands/template.d.ts.map +1 -0
  69. package/dist/commands/template.js +486 -0
  70. package/dist/commands/template.js.map +1 -0
  71. package/dist/commands/test.d.ts +6 -0
  72. package/dist/commands/test.d.ts.map +1 -0
  73. package/dist/commands/test.js +890 -0
  74. package/dist/commands/test.js.map +1 -0
  75. package/dist/commands/version.d.ts +6 -0
  76. package/dist/commands/version.d.ts.map +1 -0
  77. package/dist/commands/version.js +339 -0
  78. package/dist/commands/version.js.map +1 -0
  79. package/dist/config/ConfigManager.d.ts +69 -0
  80. package/dist/config/ConfigManager.d.ts.map +1 -0
  81. package/dist/config/ConfigManager.js +261 -0
  82. package/dist/config/ConfigManager.js.map +1 -0
  83. package/dist/config/index.d.ts +10 -0
  84. package/dist/config/index.d.ts.map +1 -0
  85. package/dist/config/index.js +21 -0
  86. package/dist/config/index.js.map +1 -0
  87. package/dist/config/types.d.ts +35 -0
  88. package/dist/config/types.d.ts.map +1 -0
  89. package/dist/config/types.js +105 -0
  90. package/dist/config/types.js.map +1 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +29 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/project/ProjectLoader.d.ts +12 -0
  96. package/dist/project/ProjectLoader.d.ts.map +1 -0
  97. package/dist/project/ProjectLoader.js +115 -0
  98. package/dist/project/ProjectLoader.js.map +1 -0
  99. package/dist/types.d.ts +334 -0
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +2 -0
  102. package/dist/types.js.map +1 -0
  103. package/dist/utils/AccountFixtureGenerator.d.ts +48 -0
  104. package/dist/utils/AccountFixtureGenerator.d.ts.map +1 -0
  105. package/dist/utils/AccountFixtureGenerator.js +265 -0
  106. package/dist/utils/AccountFixtureGenerator.js.map +1 -0
  107. package/dist/utils/FiveFileManager.d.ts +96 -0
  108. package/dist/utils/FiveFileManager.d.ts.map +1 -0
  109. package/dist/utils/FiveFileManager.js +329 -0
  110. package/dist/utils/FiveFileManager.js.map +1 -0
  111. package/dist/utils/ascii-art.d.ts +72 -0
  112. package/dist/utils/ascii-art.d.ts.map +1 -0
  113. package/dist/utils/ascii-art.js +314 -0
  114. package/dist/utils/ascii-art.js.map +1 -0
  115. package/dist/utils/cli-ui.d.ts +39 -0
  116. package/dist/utils/cli-ui.d.ts.map +1 -0
  117. package/dist/utils/cli-ui.js +75 -0
  118. package/dist/utils/cli-ui.js.map +1 -0
  119. package/dist/utils/fileUtils.d.ts +25 -0
  120. package/dist/utils/fileUtils.d.ts.map +1 -0
  121. package/dist/utils/fileUtils.js +50 -0
  122. package/dist/utils/fileUtils.js.map +1 -0
  123. package/dist/utils/logger.d.ts +53 -0
  124. package/dist/utils/logger.d.ts.map +1 -0
  125. package/dist/utils/logger.js +287 -0
  126. package/dist/utils/logger.js.map +1 -0
  127. package/dist/wasm/compiler.d.ts +101 -0
  128. package/dist/wasm/compiler.d.ts.map +1 -0
  129. package/dist/wasm/compiler.js +906 -0
  130. package/dist/wasm/compiler.js.map +1 -0
  131. package/dist/wasm/loader.d.ts +2 -0
  132. package/dist/wasm/loader.d.ts.map +1 -0
  133. package/dist/wasm/loader.js +90 -0
  134. package/dist/wasm/loader.js.map +1 -0
  135. package/dist/wasm/vm.d.ts +32 -0
  136. package/dist/wasm/vm.d.ts.map +1 -0
  137. package/dist/wasm/vm.js +440 -0
  138. package/dist/wasm/vm.js.map +1 -0
  139. package/package.json +100 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountFixtureGenerator.js","sourceRoot":"","sources":["../../src/utils/AccountFixtureGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ export interface FiveCompiledFile {
2
+ bytecode: string;
3
+ abi: {
4
+ functions: Record<string, {
5
+ index: number;
6
+ parameters: any[];
7
+ accounts: any[];
8
+ }>;
9
+ fields: any[];
10
+ version: string;
11
+ };
12
+ version: string;
13
+ disassembly?: string[];
14
+ metadata?: {
15
+ sourceFile?: string;
16
+ compilationTime?: number;
17
+ optimizationLevel?: string;
18
+ compilerVersion?: string;
19
+ [key: string]: any;
20
+ };
21
+ debug?: any;
22
+ }
23
+ export interface LoadedFiveFile {
24
+ bytecode: Uint8Array;
25
+ abi?: any;
26
+ metadata?: any;
27
+ debug?: any;
28
+ format: 'five' | 'bin' | 'v';
29
+ sourceFile: string;
30
+ size: number;
31
+ }
32
+ export interface FiveFileValidationResult {
33
+ valid: boolean;
34
+ errors: string[];
35
+ warnings: string[];
36
+ format: string;
37
+ size: number;
38
+ }
39
+ export interface SaveOptions {
40
+ preserveMetadata?: boolean;
41
+ indent?: number;
42
+ compression?: boolean;
43
+ }
44
+ export interface LoadOptions {
45
+ validateFormat?: boolean;
46
+ requireABI?: boolean;
47
+ cacheable?: boolean;
48
+ }
49
+ export declare class FiveFileManager {
50
+ private static instance;
51
+ private fileCache;
52
+ private readonly supportedExtensions;
53
+ static getInstance(): FiveFileManager;
54
+ loadFile(filePath: string, options?: LoadOptions): Promise<LoadedFiveFile>;
55
+ saveFiveFile(filePath: string, bytecode: Uint8Array, abi: any, metadata?: any, disassembly?: string[], options?: SaveOptions): Promise<void>;
56
+ /**
57
+ * Save raw bytecode to .bin format
58
+ */
59
+ saveBinFile(filePath: string, bytecode: Uint8Array): Promise<void>;
60
+ /**
61
+ * Detect file format without loading content
62
+ */
63
+ detectFormat(filePath: string): 'five' | 'bin' | 'v' | 'unknown';
64
+ validateFileContent(file: LoadedFiveFile): FiveFileValidationResult;
65
+ getFileInfo(filePath: string): Promise<{
66
+ exists: boolean;
67
+ size: number;
68
+ format: string;
69
+ lastModified: Date;
70
+ }>;
71
+ convertFormat(inputPath: string, outputPath: string, options?: {
72
+ preserveMetadata?: boolean;
73
+ }): Promise<void>;
74
+ clearCache(): void;
75
+ getCacheStats(): {
76
+ size: number;
77
+ keys: string[];
78
+ };
79
+ private loadFiveFile;
80
+ private loadBinFile;
81
+ private loadSourceFile;
82
+ private validateFilePath;
83
+ private getCompilerVersion;
84
+ private arraysEqual;
85
+ }
86
+ export declare class FiveFileError extends Error {
87
+ readonly code: string;
88
+ readonly details: any;
89
+ constructor(message: string, code: string, details?: any);
90
+ }
91
+ export declare function loadFiveFile(filePath: string): Promise<LoadedFiveFile>;
92
+ export declare function saveFiveFile(filePath: string, bytecode: Uint8Array, abi: any, metadata?: any, disassembly?: string[]): Promise<void>;
93
+ export declare function extractBytecode(filePath: string): Promise<Uint8Array>;
94
+ export declare function extractABI(filePath: string): Promise<any>;
95
+ export declare function validateFiveFile(filePath: string): Promise<FiveFileValidationResult>;
96
+ //# sourceMappingURL=FiveFileManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiveFileManager.d.ts","sourceRoot":"","sources":["../../src/utils/FiveFileManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,329 @@
1
+ // Five file format manager for .five/.bin/.v.
2
+ import { readFile, writeFile, stat } from 'fs/promises';
3
+ import { extname } from 'path';
4
+ import { Buffer } from 'buffer';
5
+ export class FiveFileManager {
6
+ static instance;
7
+ fileCache = new Map();
8
+ supportedExtensions = ['.five', '.bin', '.v'];
9
+ static getInstance() {
10
+ if (!FiveFileManager.instance) {
11
+ FiveFileManager.instance = new FiveFileManager();
12
+ }
13
+ return FiveFileManager.instance;
14
+ }
15
+ async loadFile(filePath, options = {}) {
16
+ // Input validation
17
+ await this.validateFilePath(filePath);
18
+ const ext = extname(filePath).toLowerCase();
19
+ const cacheKey = `${filePath}:${JSON.stringify(options)}`;
20
+ if (options.cacheable && this.fileCache.has(cacheKey)) {
21
+ return this.fileCache.get(cacheKey);
22
+ }
23
+ let result;
24
+ switch (ext) {
25
+ case '.five':
26
+ result = await this.loadFiveFile(filePath, options);
27
+ break;
28
+ case '.bin':
29
+ result = await this.loadBinFile(filePath, options);
30
+ break;
31
+ case '.v':
32
+ result = await this.loadSourceFile(filePath, options);
33
+ break;
34
+ default:
35
+ throw new FiveFileError(`Unsupported file format: ${ext}. Supported: ${this.supportedExtensions.join(', ')}`, 'UNSUPPORTED_FORMAT', { filePath, extension: ext });
36
+ }
37
+ if (options.validateFormat) {
38
+ const validation = this.validateFileContent(result);
39
+ if (!validation.valid) {
40
+ throw new FiveFileError(`File validation failed: ${validation.errors.join(', ')}`, 'VALIDATION_FAILED', { filePath, errors: validation.errors });
41
+ }
42
+ }
43
+ if (options.requireABI && !result.abi) {
44
+ throw new FiveFileError(`ABI required but not found in ${ext} file`, 'ABI_REQUIRED', { filePath, format: result.format });
45
+ }
46
+ if (options.cacheable) {
47
+ this.fileCache.set(cacheKey, result);
48
+ }
49
+ return result;
50
+ }
51
+ async saveFiveFile(filePath, bytecode, abi, metadata, disassembly, options = {}) {
52
+ const fiveFile = {
53
+ bytecode: Buffer.from(bytecode).toString('base64'),
54
+ abi: {
55
+ functions: abi.functions || {},
56
+ fields: abi.fields || [],
57
+ version: abi.version || '1.0'
58
+ },
59
+ version: '1.0',
60
+ metadata: {
61
+ compilationTime: Date.now(),
62
+ compilerVersion: await this.getCompilerVersion(),
63
+ ...metadata
64
+ }
65
+ };
66
+ if (disassembly && disassembly.length > 0) {
67
+ fiveFile.disassembly = disassembly;
68
+ }
69
+ if (metadata?.debug) {
70
+ fiveFile.debug = metadata.debug;
71
+ }
72
+ const jsonContent = JSON.stringify(fiveFile, null, options.indent || 2);
73
+ try {
74
+ await writeFile(filePath, jsonContent, 'utf8');
75
+ }
76
+ catch (error) {
77
+ throw new FiveFileError(`Failed to save .five file: ${error instanceof Error ? error.message : 'Unknown error'}`, 'SAVE_FAILED', { filePath, error });
78
+ }
79
+ }
80
+ /**
81
+ * Save raw bytecode to .bin format
82
+ */
83
+ async saveBinFile(filePath, bytecode) {
84
+ try {
85
+ await writeFile(filePath, bytecode);
86
+ }
87
+ catch (error) {
88
+ throw new FiveFileError(`Failed to save .bin file: ${error instanceof Error ? error.message : 'Unknown error'}`, 'SAVE_FAILED', { filePath, error });
89
+ }
90
+ }
91
+ /**
92
+ * Detect file format without loading content
93
+ */
94
+ detectFormat(filePath) {
95
+ const ext = extname(filePath).toLowerCase();
96
+ switch (ext) {
97
+ case '.five': return 'five';
98
+ case '.bin': return 'bin';
99
+ case '.v': return 'v';
100
+ default: return 'unknown';
101
+ }
102
+ }
103
+ validateFileContent(file) {
104
+ const errors = [];
105
+ const warnings = [];
106
+ if (!file.bytecode || file.bytecode.length === 0) {
107
+ errors.push('Bytecode is empty or missing');
108
+ }
109
+ if (file.format === 'five') {
110
+ if (!file.abi) {
111
+ errors.push('ABI is missing in .five file');
112
+ }
113
+ else {
114
+ if (!file.abi.functions) {
115
+ warnings.push('No functions defined in ABI');
116
+ }
117
+ if (!file.abi.version) {
118
+ warnings.push('ABI version not specified');
119
+ }
120
+ }
121
+ }
122
+ if (file.bytecode.length < 4) {
123
+ errors.push('Bytecode too short to be valid');
124
+ }
125
+ const expectedMagic = [0x35, 0x49, 0x56, 0x45]; // "5IVE"
126
+ const actualMagic = Array.from(file.bytecode.slice(0, 4));
127
+ if (!this.arraysEqual(expectedMagic, actualMagic)) {
128
+ warnings.push('Bytecode does not start with Five VM magic bytes');
129
+ }
130
+ return {
131
+ valid: errors.length === 0,
132
+ errors,
133
+ warnings,
134
+ format: file.format,
135
+ size: file.size
136
+ };
137
+ }
138
+ async getFileInfo(filePath) {
139
+ try {
140
+ const stats = await stat(filePath);
141
+ return {
142
+ exists: true,
143
+ size: stats.size,
144
+ format: this.detectFormat(filePath),
145
+ lastModified: stats.mtime
146
+ };
147
+ }
148
+ catch (error) {
149
+ return {
150
+ exists: false,
151
+ size: 0,
152
+ format: 'unknown',
153
+ lastModified: new Date(0)
154
+ };
155
+ }
156
+ }
157
+ async convertFormat(inputPath, outputPath, options = {}) {
158
+ const inputFile = await this.loadFile(inputPath, { validateFormat: true });
159
+ const outputFormat = this.detectFormat(outputPath);
160
+ switch (outputFormat) {
161
+ case 'five':
162
+ await this.saveFiveFile(outputPath, inputFile.bytecode, inputFile.abi || { functions: {}, fields: [], version: '1.0' }, options.preserveMetadata ? inputFile.metadata : undefined);
163
+ break;
164
+ case 'bin':
165
+ await this.saveBinFile(outputPath, inputFile.bytecode);
166
+ break;
167
+ default:
168
+ throw new FiveFileError(`Cannot convert to format: ${outputFormat}`, 'CONVERSION_UNSUPPORTED', { inputPath, outputPath, outputFormat });
169
+ }
170
+ }
171
+ clearCache() {
172
+ this.fileCache.clear();
173
+ }
174
+ getCacheStats() {
175
+ return {
176
+ size: this.fileCache.size,
177
+ keys: Array.from(this.fileCache.keys())
178
+ };
179
+ }
180
+ async loadFiveFile(filePath, options) {
181
+ try {
182
+ const fileContent = await readFile(filePath, 'utf8');
183
+ const stats = await stat(filePath);
184
+ let fiveFile;
185
+ try {
186
+ fiveFile = JSON.parse(fileContent);
187
+ }
188
+ catch (parseError) {
189
+ // Check if it's a binary file (starts with FIVE magic bytes)
190
+ // We need to read it as a buffer to check magic bytes
191
+ const buffer = await readFile(filePath);
192
+ const magic = buffer.subarray(0, 4).toString('utf8');
193
+ if (magic === 'FIVE') {
194
+ // It's a binary .five file!
195
+ // Treat as binary file; full TS parser not available
196
+ return {
197
+ bytecode: new Uint8Array(buffer),
198
+ format: 'bin', // Treat as bin for now, but it's actually binary .five
199
+ sourceFile: filePath,
200
+ size: stats.size,
201
+ metadata: {
202
+ isBinaryFive: true
203
+ }
204
+ };
205
+ }
206
+ throw new FiveFileError('Invalid JSON in .five file and not a valid binary format', 'JSON_PARSE_ERROR', { filePath, parseError });
207
+ }
208
+ // Validate required fields
209
+ if (!fiveFile.bytecode) {
210
+ throw new FiveFileError('Missing bytecode field in .five file', 'INVALID_FORMAT', { filePath });
211
+ }
212
+ if (!fiveFile.abi) {
213
+ throw new FiveFileError('Missing abi field in .five file', 'INVALID_FORMAT', { filePath });
214
+ }
215
+ // Decode base64 bytecode
216
+ let bytecode;
217
+ try {
218
+ bytecode = new Uint8Array(Buffer.from(fiveFile.bytecode, 'base64'));
219
+ }
220
+ catch (decodeError) {
221
+ throw new FiveFileError('Invalid base64 bytecode in .five file', 'BYTECODE_DECODE_ERROR', { filePath, decodeError });
222
+ }
223
+ return {
224
+ bytecode,
225
+ abi: fiveFile.abi,
226
+ metadata: fiveFile.metadata,
227
+ debug: fiveFile.debug,
228
+ format: 'five',
229
+ sourceFile: filePath,
230
+ size: stats.size
231
+ };
232
+ }
233
+ catch (error) {
234
+ if (error instanceof FiveFileError) {
235
+ throw error;
236
+ }
237
+ throw new FiveFileError(`Failed to load .five file: ${error instanceof Error ? error.message : 'Unknown error'}`, 'LOAD_FAILED', { filePath, error });
238
+ }
239
+ }
240
+ async loadBinFile(filePath, options) {
241
+ try {
242
+ const bytecode = await readFile(filePath);
243
+ const stats = await stat(filePath);
244
+ return {
245
+ bytecode: new Uint8Array(bytecode),
246
+ format: 'bin',
247
+ sourceFile: filePath,
248
+ size: stats.size
249
+ };
250
+ }
251
+ catch (error) {
252
+ throw new FiveFileError(`Failed to load .bin file: ${error instanceof Error ? error.message : 'Unknown error'}`, 'LOAD_FAILED', { filePath, error });
253
+ }
254
+ }
255
+ async loadSourceFile(filePath, options) {
256
+ try {
257
+ const sourceCode = await readFile(filePath, 'utf8');
258
+ const stats = await stat(filePath);
259
+ const sourceBuffer = Buffer.from(sourceCode, 'utf8');
260
+ return {
261
+ bytecode: new Uint8Array(sourceBuffer),
262
+ format: 'v',
263
+ sourceFile: filePath,
264
+ size: stats.size,
265
+ metadata: {
266
+ isSourceCode: true,
267
+ sourceLength: sourceCode.length
268
+ }
269
+ };
270
+ }
271
+ catch (error) {
272
+ throw new FiveFileError(`Failed to load .v file: ${error instanceof Error ? error.message : 'Unknown error'}`, 'LOAD_FAILED', { filePath, error });
273
+ }
274
+ }
275
+ async validateFilePath(filePath) {
276
+ if (!filePath || typeof filePath !== 'string') {
277
+ throw new FiveFileError('File path is required and must be a string', 'INVALID_PATH', { filePath });
278
+ }
279
+ const info = await this.getFileInfo(filePath);
280
+ if (!info.exists) {
281
+ throw new FiveFileError(`File does not exist: ${filePath}`, 'FILE_NOT_FOUND', { filePath });
282
+ }
283
+ const format = this.detectFormat(filePath);
284
+ if (format === 'unknown') {
285
+ throw new FiveFileError(`Unsupported file extension. Supported: ${this.supportedExtensions.join(', ')}`, 'UNSUPPORTED_EXTENSION', { filePath, supportedExtensions: this.supportedExtensions });
286
+ }
287
+ }
288
+ async getCompilerVersion() {
289
+ return '1.0.0';
290
+ }
291
+ arraysEqual(a, b) {
292
+ return a.length === b.length && a.every((val, i) => val === b[i]);
293
+ }
294
+ }
295
+ export class FiveFileError extends Error {
296
+ code;
297
+ details;
298
+ constructor(message, code, details) {
299
+ super(message);
300
+ this.name = 'FiveFileError';
301
+ this.code = code;
302
+ this.details = details;
303
+ }
304
+ }
305
+ export async function loadFiveFile(filePath) {
306
+ const manager = FiveFileManager.getInstance();
307
+ return manager.loadFile(filePath, { validateFormat: true });
308
+ }
309
+ export async function saveFiveFile(filePath, bytecode, abi, metadata, disassembly) {
310
+ const manager = FiveFileManager.getInstance();
311
+ return manager.saveFiveFile(filePath, bytecode, abi, metadata, disassembly);
312
+ }
313
+ export async function extractBytecode(filePath) {
314
+ const file = await loadFiveFile(filePath);
315
+ return file.bytecode;
316
+ }
317
+ export async function extractABI(filePath) {
318
+ const file = await loadFiveFile(filePath);
319
+ if (!file.abi) {
320
+ throw new FiveFileError(`No ABI available in ${file.format} file`, 'NO_ABI', { filePath, format: file.format });
321
+ }
322
+ return file.abi;
323
+ }
324
+ export async function validateFiveFile(filePath) {
325
+ const manager = FiveFileManager.getInstance();
326
+ const file = await manager.loadFile(filePath);
327
+ return manager.validateFileContent(file);
328
+ }
329
+ //# sourceMappingURL=FiveFileManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiveFileManager.js","sourceRoot":"","sources":["../../src/utils/FiveFileManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
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
+ /**
8
+ * Main 5IVE ASCII art banner with demoscene styling
9
+ * Enhanced step by step following user's iterative approach
10
+ */
11
+ export declare function getFiveASCIIBanner(): string;
12
+ /**
13
+ * Alternative retro computer style banner
14
+ */
15
+ export declare function getRetroComputerBanner(): string;
16
+ /**
17
+ * Compact matrix/digital style banner
18
+ */
19
+ export declare function getMatrixStyleBanner(): string;
20
+ /**
21
+ * Alternative stylized 5IVE logo for compact display
22
+ */
23
+ export declare function getCompactFiveLogo(): string;
24
+ /**
25
+ * 2000s-style welcome message with decorative elements
26
+ */
27
+ export declare function getWelcomeMessage(): string;
28
+ /**
29
+ * Stylized section header with 2000s aesthetics
30
+ */
31
+ export declare function createSectionHeader(title: string, color?: 'cyan' | 'magenta' | 'yellow' | 'green'): string;
32
+ /**
33
+ * Retro-style command example with syntax highlighting
34
+ */
35
+ export declare function styleCommandExample(command: string, description: string): string;
36
+ /**
37
+ * 2000s-style loading animation frames
38
+ */
39
+ export declare const loadingFrames: string[];
40
+ /**
41
+ * Status indicator with retro styling
42
+ */
43
+ export declare function getStatusIndicator(status: 'success' | 'error' | 'warning' | 'info'): string;
44
+ /**
45
+ * Retro progress bar
46
+ */
47
+ export declare function createProgressBar(progress: number, width?: number): string;
48
+ /**
49
+ * Test responsive banner at different widths (for debugging)
50
+ */
51
+ export declare function testResponsiveBanner(): void;
52
+ /**
53
+ * Network status display with colors
54
+ */
55
+ export declare function getNetworkDisplay(network: string): string;
56
+ /**
57
+ * Error message with retro styling
58
+ */
59
+ export declare function styleError(message: string): string;
60
+ /**
61
+ * Success message with celebration
62
+ */
63
+ export declare function styleSuccess(message: string): string;
64
+ /**
65
+ * Info box with decorative border
66
+ */
67
+ export declare function createInfoBox(title: string, content: string[]): string;
68
+ /**
69
+ * Command not found with suggestions
70
+ */
71
+ export declare function styleCommandNotFound(command: string, suggestions: string[]): string;
72
+ //# sourceMappingURL=ascii-art.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascii-art.d.ts","sourceRoot":"","sources":["../../src/utils/ascii-art.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAmH3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAY7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAgB,GAAG,MAAM,CAQlH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAchF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,UAWzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAS3F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAS9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAkB3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAWtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAOnF"}