@poolzin/pool-bot 2026.3.31 → 2026.3.33
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/dist/build-info.json +5 -0
- package/dist/cli/banner.enhanced.js +76 -0
- package/package.json +16 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { chalk } from '../terminal/chalk.js';
|
|
2
|
+
|
|
3
|
+
export const POOLBOT_ASCII = `
|
|
4
|
+
${chalk.cyan('███╗')} ${chalk.cyan('███╗██╗ ██╗██╗ ██╗ ██████╗ ██╗ ${chalk.yellow('██╗')}${chalk.cyan('██╗')}
|
|
5
|
+
${chalk.cyan('████╗')} ${chalk.cyan('████║██║ ██╔╝██║ ██║██╔═══██╗██║ ${chalk.yellow('██║')}${chalk.cyan('██║')}
|
|
6
|
+
${chalk.cyan('██╔████╔██║█████╔╝ ███████║██║ ██║██║ █╗ ${chalk.yellow('██║')}${chalk.cyan('██║')}
|
|
7
|
+
${chalk.cyan('██║╚██╔╝██║██╔═██╗ ╚════██║██║ ██║██║███╗${chalk.yellow('██║')}${chalk.cyan('██║')}
|
|
8
|
+
${chalk.cyan('██║ ╚═╝ ██║██║ ██╗ ██║╚██████╔╝╚███╔███╔╝${chalk.cyan('██║')}
|
|
9
|
+
${chalk.cyan('╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝ ${chalk.cyan('╚═╝')}
|
|
10
|
+
`;
|
|
11
|
+
|
|
12
|
+
export const VERSION_BADGE = (version: string) =>
|
|
13
|
+
`${chalk.bgBlue.black(' v' + version + ' ')} ${chalk.gray('•')} ${chalk.green('●')} ${chalk.gray('Production Ready')}`;
|
|
14
|
+
|
|
15
|
+
export const STATUS_INDICATORS = {
|
|
16
|
+
success: chalk.green('✓'),
|
|
17
|
+
warning: chalk.yellow('⚠'),
|
|
18
|
+
error: chalk.red('✗'),
|
|
19
|
+
info: chalk.blue('ℹ'),
|
|
20
|
+
running: chalk.cyan('⟳'),
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export function buildWelcomeBanner(version: string): string {
|
|
24
|
+
return `
|
|
25
|
+
${chalk.cyan('═'.repeat(70))}
|
|
26
|
+
${POOLBOT_ASCII}
|
|
27
|
+
${chalk.gray('AI Assistant with PLCODE Integrations')}
|
|
28
|
+
${chalk.dim('https://docs.molt.bot')}
|
|
29
|
+
${chalk.cyan('═'.repeat(70))}
|
|
30
|
+
${VERSION_BADGE(version)}
|
|
31
|
+
${chalk.cyan('═'.repeat(70))}
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function buildStatusBox(title: string, items: Array<{ label: string; value: string; status?: 'success' | 'warning' | 'error' }>): string {
|
|
36
|
+
const border = chalk.cyan('│');
|
|
37
|
+
const line = chalk.cyan('─');
|
|
38
|
+
|
|
39
|
+
let output = `\n${chalk.cyan('┌')} ${chalk.bold(title)} ${chalk.cyan(line.repeat(Math.max(0, 56 - title.length)))} ${chalk.cyan('┐')}\n`;
|
|
40
|
+
|
|
41
|
+
for (const item of items) {
|
|
42
|
+
const status = item.status === 'success' ? STATUS_INDICATORS.success :
|
|
43
|
+
item.status === 'error' ? STATUS_INDICATORS.error :
|
|
44
|
+
item.status === 'warning' ? STATUS_INDICATORS.warning : ' ';
|
|
45
|
+
|
|
46
|
+
const label = chalk.gray(item.label.padEnd(20));
|
|
47
|
+
const value = chalk.white(item.value);
|
|
48
|
+
output += `${border} ${status} ${label}: ${value}${' '.repeat(Math.max(0, 32 - item.value.length))} ${border}\n`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
output += chalk.cyan('└') + chalk.cyan(line.repeat(58)) + chalk.cyan('┘') + '\n';
|
|
52
|
+
return output;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function buildProgressBar(current: number, total: number, width: number = 40): string {
|
|
56
|
+
const percentage = Math.min(100, Math.max(0, (current / total) * 100));
|
|
57
|
+
const filled = Math.round((width * percentage) / 100);
|
|
58
|
+
const empty = width - filled;
|
|
59
|
+
|
|
60
|
+
const bar = chalk.green('█'.repeat(filled)) + chalk.gray('░'.repeat(empty));
|
|
61
|
+
return `[${bar}] ${chalk.yellow(Math.round(percentage) + '%')} ${chalk.gray(`(${current}/${total})`)}`;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function buildAlert(type: 'info' | 'warning' | 'error' | 'success', message: string): string {
|
|
65
|
+
const icon = type === 'info' ? STATUS_INDICATORS.info :
|
|
66
|
+
type === 'warning' ? STATUS_INDICATORS.warning :
|
|
67
|
+
type === 'error' ? STATUS_INDICATORS.error :
|
|
68
|
+
STATUS_INDICATORS.success;
|
|
69
|
+
|
|
70
|
+
const color = type === 'info' ? chalk.blue :
|
|
71
|
+
type === 'warning' ? chalk.yellow :
|
|
72
|
+
type === 'error' ? chalk.red :
|
|
73
|
+
chalk.green;
|
|
74
|
+
|
|
75
|
+
return `\n${color('[' + icon + ']')} ${color(message)}\n`;
|
|
76
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poolzin/pool-bot",
|
|
3
|
-
"version": "2026.3.
|
|
3
|
+
"version": "2026.3.33",
|
|
4
4
|
"description": "🎱 Pool Bot - AI assistant with PLCODE integrations",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
"sharp": "^0.34.5",
|
|
228
228
|
"signal-utils": "^0.21.1",
|
|
229
229
|
"sqlite-vec": "0.1.7-alpha.2",
|
|
230
|
-
"tar": "7.5.
|
|
230
|
+
"tar": "^7.5.8",
|
|
231
231
|
"tslog": "^4.10.2",
|
|
232
232
|
"undici": "^7.21.0",
|
|
233
233
|
"ws": "^8.19.0",
|
|
@@ -292,5 +292,19 @@
|
|
|
292
292
|
"protobufjs",
|
|
293
293
|
"sharp"
|
|
294
294
|
]
|
|
295
|
+
},
|
|
296
|
+
"overrides": {
|
|
297
|
+
"npmlog": "^7.0.1",
|
|
298
|
+
"are-we-there-yet": "^4.0.2",
|
|
299
|
+
"gauge": "^5.0.2",
|
|
300
|
+
"tar": "^7.5.8",
|
|
301
|
+
"node-domexception": "^2.0.0"
|
|
302
|
+
},
|
|
303
|
+
"resolutions": {
|
|
304
|
+
"npmlog": "^7.0.1",
|
|
305
|
+
"are-we-there-yet": "^4.0.2",
|
|
306
|
+
"gauge": "^5.0.2",
|
|
307
|
+
"tar": "^7.5.8",
|
|
308
|
+
"node-domexception": "^2.0.0"
|
|
295
309
|
}
|
|
296
310
|
}
|