bloby-bot 0.65.0 → 0.65.3
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/bin/cli.js +19 -14
- package/cli/utils/ui.ts +30 -16
- package/package.json +1 -1
- package/scripts/install +18 -10
- package/scripts/install.ps1 +25 -17
- package/scripts/install.sh +18 -10
package/bin/cli.js
CHANGED
|
@@ -278,8 +278,15 @@ const c = {
|
|
|
278
278
|
yellow: '\x1b[33m',
|
|
279
279
|
red: '\x1b[31m',
|
|
280
280
|
white: '\x1b[97m',
|
|
281
|
-
blue: '\x1b[38;2;
|
|
282
|
-
pink: '\x1b[38;2;
|
|
281
|
+
blue: '\x1b[38;2;0;173;254m',
|
|
282
|
+
pink: '\x1b[38;2;1;88;251m',
|
|
283
|
+
g1: '\x1b[38;2;0;173;254m',
|
|
284
|
+
g2: '\x1b[38;2;0;159;254m',
|
|
285
|
+
g3: '\x1b[38;2;0;145;253m',
|
|
286
|
+
g4: '\x1b[38;2;1;131;253m',
|
|
287
|
+
g5: '\x1b[38;2;1;116;252m',
|
|
288
|
+
g6: '\x1b[38;2;1;102;251m',
|
|
289
|
+
g7: '\x1b[38;2;1;88;251m',
|
|
283
290
|
};
|
|
284
291
|
|
|
285
292
|
const SPINNER = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
@@ -287,9 +294,9 @@ const BAR_WIDTH = 30;
|
|
|
287
294
|
|
|
288
295
|
function gradientChar(i, total) {
|
|
289
296
|
const t = total > 1 ? i / (total - 1) : 0;
|
|
290
|
-
const r = Math.round(
|
|
291
|
-
const g = Math.round(
|
|
292
|
-
const b = Math.round(
|
|
297
|
+
const r = Math.round(0 + t * (1 - 0));
|
|
298
|
+
const g = Math.round(173 + t * (88 - 173));
|
|
299
|
+
const b = Math.round(254 + t * (251 - 254));
|
|
293
300
|
return `\x1b[38;2;${r};${g};${b}m`;
|
|
294
301
|
}
|
|
295
302
|
|
|
@@ -617,15 +624,13 @@ class Stepper {
|
|
|
617
624
|
|
|
618
625
|
function banner() {
|
|
619
626
|
console.log(`
|
|
620
|
-
${c.
|
|
621
|
-
${c.
|
|
622
|
-
${c.
|
|
623
|
-
${c.
|
|
624
|
-
${c.
|
|
625
|
-
${c.
|
|
626
|
-
${c.
|
|
627
|
-
${c.pink}${c.bold} ██ ${c.reset}
|
|
628
|
-
${c.pink}${c.bold} ▀▀▀ ${c.reset}
|
|
627
|
+
${c.g1}${c.bold} █▄ ${c.reset}
|
|
628
|
+
${c.g2}${c.bold} ▄ ▄ ██ ${c.reset}
|
|
629
|
+
${c.g3}${c.bold} ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██${c.reset}
|
|
630
|
+
${c.g4}${c.bold} ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██${c.reset}
|
|
631
|
+
${c.g5}${c.bold} ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀${c.reset}
|
|
632
|
+
${c.g6}${c.bold} ██ ██ ${c.reset}
|
|
633
|
+
${c.g7}${c.bold} ▀ ▀▀▀ ${c.reset}
|
|
629
634
|
${c.dim}v${pkg.version} · Self-hosted AI agent${c.reset}`);
|
|
630
635
|
}
|
|
631
636
|
|
package/cli/utils/ui.ts
CHANGED
|
@@ -1,24 +1,38 @@
|
|
|
1
1
|
import pc from 'picocolors';
|
|
2
2
|
import { pkg } from '../core/config.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
// 24-bit truecolor wrapper (picocolors only ships the 16-color set). Respects
|
|
5
|
+
// picocolors' own support detection so NO_COLOR / piped output stays clean.
|
|
6
|
+
const tc = (r: number, g: number, b: number) => (s: string) =>
|
|
7
|
+
pc.isColorSupported ? `\x1b[38;2;${r};${g};${b}m${s}\x1b[39m` : s;
|
|
8
|
+
|
|
9
|
+
// Morphy logo gradient: #00ADFE (top) -> #0158FB (bottom)
|
|
10
|
+
const grad = [
|
|
11
|
+
tc(0, 173, 254),
|
|
12
|
+
tc(0, 159, 254),
|
|
13
|
+
tc(0, 145, 253),
|
|
14
|
+
tc(1, 131, 253),
|
|
15
|
+
tc(1, 116, 252),
|
|
16
|
+
tc(1, 102, 251),
|
|
17
|
+
tc(1, 88, 251),
|
|
18
|
+
];
|
|
8
19
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
const logo = [
|
|
21
|
+
' █▄ ',
|
|
22
|
+
' ▄ ▄ ██ ',
|
|
23
|
+
' ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██',
|
|
24
|
+
' ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██',
|
|
25
|
+
' ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀',
|
|
26
|
+
' ██ ██ ',
|
|
27
|
+
' ▀ ▀▀▀ ',
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
export function banner() {
|
|
31
|
+
console.log('');
|
|
32
|
+
logo.forEach((row, i) => console.log(grad[i](pc.bold(row))));
|
|
33
|
+
console.log(pc.dim(`v${pkg.version || '1.0.0'} · Self-hosted AI agent`));
|
|
20
34
|
}
|
|
21
35
|
|
|
22
36
|
export function commandExample(name: string, cmd: string) {
|
|
23
|
-
return ` ${pc.dim(name)} ${
|
|
37
|
+
return ` ${pc.dim(name)} ${tc(0, 173, 254)(cmd)}`;
|
|
24
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bloby-bot",
|
|
3
|
-
"version": "0.65.
|
|
3
|
+
"version": "0.65.3",
|
|
4
4
|
"releaseNotes": [
|
|
5
5
|
"1. Fix: image (and audio) attachments now render in chat again — /api/files is fetched with the auth token instead of a raw <img> src that 401'd after the endpoint hardening",
|
|
6
6
|
"2. Affects chat thumbnails, the image lightbox, voice-note playback, and agent image cards",
|
package/scripts/install
CHANGED
|
@@ -15,9 +15,17 @@ NODE_DIR="$TOOLS_DIR/node"
|
|
|
15
15
|
BIN_DIR="$BLOBY_HOME/bin"
|
|
16
16
|
USE_SYSTEM_NODE=false
|
|
17
17
|
|
|
18
|
-
# Brand colors: #
|
|
19
|
-
BLUE='\033[38;2;
|
|
20
|
-
PINK='\033[38;2;
|
|
18
|
+
# Brand colors: #00ADFE (light) and #0158FB (deep) -- Morphy palette, 24-bit truecolor
|
|
19
|
+
BLUE='\033[38;2;0;173;254m'
|
|
20
|
+
PINK='\033[38;2;1;88;251m'
|
|
21
|
+
# Logo gradient: #00ADFE (top) -> #0158FB (bottom)
|
|
22
|
+
G1='\033[38;2;0;173;254m'
|
|
23
|
+
G2='\033[38;2;0;159;254m'
|
|
24
|
+
G3='\033[38;2;0;145;253m'
|
|
25
|
+
G4='\033[38;2;1;131;253m'
|
|
26
|
+
G5='\033[38;2;1;116;252m'
|
|
27
|
+
G6='\033[38;2;1;102;251m'
|
|
28
|
+
G7='\033[38;2;1;88;251m'
|
|
21
29
|
YELLOW='\033[33m'
|
|
22
30
|
RED='\033[31m'
|
|
23
31
|
DIM='\033[2m'
|
|
@@ -25,13 +33,13 @@ BOLD='\033[1m'
|
|
|
25
33
|
RESET='\033[0m'
|
|
26
34
|
|
|
27
35
|
printf "\n"
|
|
28
|
-
printf "${
|
|
29
|
-
printf "${
|
|
30
|
-
printf "${
|
|
31
|
-
printf "${
|
|
32
|
-
printf "${
|
|
33
|
-
printf "${
|
|
34
|
-
printf "${
|
|
36
|
+
printf "${G1}${BOLD} █▄ ${RESET}\n"
|
|
37
|
+
printf "${G2}${BOLD} ▄ ▄ ██ ${RESET}\n"
|
|
38
|
+
printf "${G3}${BOLD} ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██${RESET}\n"
|
|
39
|
+
printf "${G4}${BOLD} ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██${RESET}\n"
|
|
40
|
+
printf "${G5}${BOLD} ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀${RESET}\n"
|
|
41
|
+
printf "${G6}${BOLD} ██ ██ ${RESET}\n"
|
|
42
|
+
printf "${G7}${BOLD} ▀ ▀▀▀ ${RESET}\n"
|
|
35
43
|
printf "\n"
|
|
36
44
|
printf "${DIM} Self-hosted, self-evolving AI agent with its own dashboard.${RESET}\n"
|
|
37
45
|
printf "${DIM} ─────────────────────────────${RESET}\n\n"
|
package/scripts/install.ps1
CHANGED
|
@@ -17,9 +17,17 @@ $USE_SYSTEM_NODE = $false
|
|
|
17
17
|
# Ensure UTF-8 output for proper rendering
|
|
18
18
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
19
19
|
|
|
20
|
-
# Brand colors
|
|
21
|
-
$BLUE = "`e[38;2;
|
|
22
|
-
$PINK = "`e[38;2;
|
|
20
|
+
# Brand colors: #00ADFE (light) and #0158FB (deep) -- Morphy palette
|
|
21
|
+
$BLUE = "`e[38;2;0;173;254m"
|
|
22
|
+
$PINK = "`e[38;2;1;88;251m"
|
|
23
|
+
# Logo gradient: #00ADFE (top) -> #0158FB (bottom)
|
|
24
|
+
$G1 = "`e[38;2;0;173;254m"
|
|
25
|
+
$G2 = "`e[38;2;0;159;254m"
|
|
26
|
+
$G3 = "`e[38;2;0;145;253m"
|
|
27
|
+
$G4 = "`e[38;2;1;131;253m"
|
|
28
|
+
$G5 = "`e[38;2;1;116;252m"
|
|
29
|
+
$G6 = "`e[38;2;1;102;251m"
|
|
30
|
+
$G7 = "`e[38;2;1;88;251m"
|
|
23
31
|
$BOLD = "`e[1m"
|
|
24
32
|
$RSET = "`e[0m"
|
|
25
33
|
|
|
@@ -38,21 +46,21 @@ function Write-Down($text) {
|
|
|
38
46
|
|
|
39
47
|
Write-Host ""
|
|
40
48
|
if ($vtSupported) {
|
|
41
|
-
Write-Host "${
|
|
42
|
-
Write-Host "${
|
|
43
|
-
Write-Host "${
|
|
44
|
-
Write-Host "${
|
|
45
|
-
Write-Host "${
|
|
46
|
-
Write-Host "${
|
|
47
|
-
Write-Host "${
|
|
49
|
+
Write-Host "${G1}${BOLD} █▄ ${RSET}"
|
|
50
|
+
Write-Host "${G2}${BOLD} ▄ ▄ ██ ${RSET}"
|
|
51
|
+
Write-Host "${G3}${BOLD} ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██${RSET}"
|
|
52
|
+
Write-Host "${G4}${BOLD} ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██${RSET}"
|
|
53
|
+
Write-Host "${G5}${BOLD} ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀${RSET}"
|
|
54
|
+
Write-Host "${G6}${BOLD} ██ ██ ${RSET}"
|
|
55
|
+
Write-Host "${G7}${BOLD} ▀ ▀▀▀ ${RSET}"
|
|
48
56
|
} else {
|
|
49
|
-
Write-Host "
|
|
50
|
-
Write-Host "
|
|
51
|
-
Write-Host "
|
|
52
|
-
Write-Host "
|
|
53
|
-
Write-Host "
|
|
54
|
-
Write-Host "
|
|
55
|
-
Write-Host "
|
|
57
|
+
Write-Host " █▄ " -ForegroundColor Cyan
|
|
58
|
+
Write-Host " ▄ ▄ ██ " -ForegroundColor Cyan
|
|
59
|
+
Write-Host " ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██" -ForegroundColor Cyan
|
|
60
|
+
Write-Host " ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██" -ForegroundColor Blue
|
|
61
|
+
Write-Host " ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀" -ForegroundColor Blue
|
|
62
|
+
Write-Host " ██ ██ " -ForegroundColor Blue
|
|
63
|
+
Write-Host " ▀ ▀▀▀ " -ForegroundColor Blue
|
|
56
64
|
}
|
|
57
65
|
Write-Host ""
|
|
58
66
|
Write-Host " Self-hosted, self-evolving AI agent with its own dashboard." -ForegroundColor DarkGray
|
package/scripts/install.sh
CHANGED
|
@@ -15,9 +15,17 @@ NODE_DIR="$TOOLS_DIR/node"
|
|
|
15
15
|
BIN_DIR="$BLOBY_HOME/bin"
|
|
16
16
|
USE_SYSTEM_NODE=false
|
|
17
17
|
|
|
18
|
-
# Brand colors: #
|
|
19
|
-
BLUE='\033[38;2;
|
|
20
|
-
PINK='\033[38;2;
|
|
18
|
+
# Brand colors: #00ADFE (light) and #0158FB (deep) -- Morphy palette, 24-bit truecolor
|
|
19
|
+
BLUE='\033[38;2;0;173;254m'
|
|
20
|
+
PINK='\033[38;2;1;88;251m'
|
|
21
|
+
# Logo gradient: #00ADFE (top) -> #0158FB (bottom)
|
|
22
|
+
G1='\033[38;2;0;173;254m'
|
|
23
|
+
G2='\033[38;2;0;159;254m'
|
|
24
|
+
G3='\033[38;2;0;145;253m'
|
|
25
|
+
G4='\033[38;2;1;131;253m'
|
|
26
|
+
G5='\033[38;2;1;116;252m'
|
|
27
|
+
G6='\033[38;2;1;102;251m'
|
|
28
|
+
G7='\033[38;2;1;88;251m'
|
|
21
29
|
YELLOW='\033[33m'
|
|
22
30
|
RED='\033[31m'
|
|
23
31
|
DIM='\033[2m'
|
|
@@ -25,13 +33,13 @@ BOLD='\033[1m'
|
|
|
25
33
|
RESET='\033[0m'
|
|
26
34
|
|
|
27
35
|
printf "\n"
|
|
28
|
-
printf "${
|
|
29
|
-
printf "${
|
|
30
|
-
printf "${
|
|
31
|
-
printf "${
|
|
32
|
-
printf "${
|
|
33
|
-
printf "${
|
|
34
|
-
printf "${
|
|
36
|
+
printf "${G1}${BOLD} █▄ ${RESET}\n"
|
|
37
|
+
printf "${G2}${BOLD} ▄ ▄ ██ ${RESET}\n"
|
|
38
|
+
printf "${G3}${BOLD} ███▄███▄ ▄███▄ ████▄████▄ ████▄ ██ ██${RESET}\n"
|
|
39
|
+
printf "${G4}${BOLD} ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▄██${RESET}\n"
|
|
40
|
+
printf "${G5}${BOLD} ▄██ ██ ▀█▄▀███▀▄█▀ ▄████▀▄██ ██▄▄▀██▀${RESET}\n"
|
|
41
|
+
printf "${G6}${BOLD} ██ ██ ${RESET}\n"
|
|
42
|
+
printf "${G7}${BOLD} ▀ ▀▀▀ ${RESET}\n"
|
|
35
43
|
printf "\n"
|
|
36
44
|
printf "${DIM} Self-hosted, self-evolving AI agent with its own dashboard.${RESET}\n"
|
|
37
45
|
printf "${DIM} ─────────────────────────────${RESET}\n\n"
|