@jayjiang/byoao 2.0.5 → 2.0.7
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/cli/byoao-logo-art.js +12 -0
- package/dist/cli/byoao-logo-art.js.map +1 -0
- package/dist/cli/cli-program.js +27 -4
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/installer.js +17 -58
- package/dist/cli/installer.js.map +1 -1
- package/dist/cli/logo-bit.js +14 -0
- package/dist/cli/logo-bit.js.map +1 -0
- package/dist/cli/ui.js +38 -62
- package/dist/cli/ui.js.map +1 -1
- package/dist/index.js +204 -105
- package/dist/vault/__tests__/copy-bundled-skills.test.js +36 -0
- package/dist/vault/__tests__/copy-bundled-skills.test.js.map +1 -0
- package/dist/vault/__tests__/upgrade.test.js +3 -3
- package/dist/vault/__tests__/upgrade.test.js.map +1 -1
- package/dist/vault/copy-bundled-skills.js +70 -0
- package/dist/vault/copy-bundled-skills.js.map +1 -0
- package/dist/vault/manifest.js +1 -1
- package/dist/vault/self-update.js +1 -1
- package/dist/vault/upgrade.js +40 -1
- package/dist/vault/upgrade.js.map +1 -1
- package/package.json +2 -1
package/dist/cli/ui.js
CHANGED
|
@@ -1,42 +1,23 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
// B Y O Λ O
|
|
5
|
-
// 👁 👄 👁 ← the hidden face
|
|
6
|
-
//
|
|
7
|
-
// Λ = pointed top, no crossbar (unlike A). Two open legs = cat-mouth vibe.
|
|
8
|
-
// Column index where OΛO begins (after " " prefix + BY columns)
|
|
9
|
-
const FACE_START = 20;
|
|
10
|
-
// Full logo as single block for precise alignment.
|
|
11
|
-
// The A column is replaced with a symmetric Λ:
|
|
12
|
-
// pointed top (██╗), widening (████╗), open legs, no crossbar.
|
|
13
|
-
const LOGO_LINES = [
|
|
14
|
-
" ██████╗ ██╗ ██╗ ██████╗ ██╗ ██████╗ ",
|
|
15
|
-
" ██╔══██╗╚██╗ ██╔╝██╔═══██╗ ████╗ ██╔═══██╗",
|
|
16
|
-
" ██████╔╝ ╚████╔╝ ██║ ██║██╔══██╗██║ ██║",
|
|
17
|
-
" ██╔══██╗ ╚██╔╝ ██║ ██║██║ ██║██║ ██║",
|
|
18
|
-
" ██████╔╝ ██║ ╚██████╔╝██║ ██║╚██████╔╝",
|
|
19
|
-
" ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ",
|
|
20
|
-
];
|
|
2
|
+
import { BYOAO_LOGO_LINES } from "./byoao-logo-art.js";
|
|
21
3
|
const TAGLINE = "Build Your Own AI OS";
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
[
|
|
25
|
-
[
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
[
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// Tagline: full spectrum
|
|
4
|
+
/** Logo anchor + TUI accents (warm marmot, same family as `byoao_logo.js` 175;120;82) */
|
|
5
|
+
const RGB = {
|
|
6
|
+
furLight: [198, 148, 108],
|
|
7
|
+
headline: [215, 178, 132],
|
|
8
|
+
accent: [190, 140, 95],
|
|
9
|
+
success: [118, 142, 88],
|
|
10
|
+
warn: [212, 170, 72],
|
|
11
|
+
error: [188, 82, 76],
|
|
12
|
+
};
|
|
13
|
+
const tc = (rgb, s) => chalk.rgb(rgb[0], rgb[1], rgb[2])(s);
|
|
14
|
+
// Tagline: warm brown–tan (banner art from `byoao-logo-art.ts`)
|
|
34
15
|
const GRADIENT_FULL = [
|
|
35
|
-
[
|
|
36
|
-
[
|
|
37
|
-
[
|
|
38
|
-
[
|
|
39
|
-
[
|
|
16
|
+
[132, 86, 58],
|
|
17
|
+
[158, 108, 74],
|
|
18
|
+
[175, 120, 82],
|
|
19
|
+
[198, 148, 108],
|
|
20
|
+
[218, 172, 128],
|
|
40
21
|
];
|
|
41
22
|
function lerpColor(c1, c2, t) {
|
|
42
23
|
return [
|
|
@@ -61,15 +42,9 @@ function colorize(text, gradient, row, totalRows) {
|
|
|
61
42
|
}
|
|
62
43
|
const BAR_WIDTH = 22;
|
|
63
44
|
export function printLogo() {
|
|
64
|
-
const totalRows = LOGO_LINES.length;
|
|
65
45
|
console.log();
|
|
66
|
-
for (
|
|
67
|
-
|
|
68
|
-
const byPart = chars.slice(0, FACE_START).join("");
|
|
69
|
-
const facePart = chars.slice(FACE_START).join("");
|
|
70
|
-
const by = colorize(byPart, GRADIENT_BY, i, totalRows);
|
|
71
|
-
const face = colorize(facePart, GRADIENT_FACE, i, totalRows);
|
|
72
|
-
console.log(by + face);
|
|
46
|
+
for (const line of BYOAO_LOGO_LINES) {
|
|
47
|
+
console.log(` ${line}`);
|
|
73
48
|
}
|
|
74
49
|
console.log();
|
|
75
50
|
const pad = " ".repeat(6);
|
|
@@ -85,10 +60,10 @@ export function printSectionHeader(title) {
|
|
|
85
60
|
}
|
|
86
61
|
export function printProgress(label, status, detail) {
|
|
87
62
|
const markers = {
|
|
88
|
-
ok:
|
|
89
|
-
warn:
|
|
63
|
+
ok: tc(RGB.success, "✓"),
|
|
64
|
+
warn: tc(RGB.warn, "⚠"),
|
|
90
65
|
skip: chalk.dim("⏭"),
|
|
91
|
-
fail:
|
|
66
|
+
fail: tc(RGB.error, "✗"),
|
|
92
67
|
};
|
|
93
68
|
const marker = markers[status];
|
|
94
69
|
const text = detail ? `${label} ${chalk.dim(`(${detail})`)}` : label;
|
|
@@ -97,54 +72,55 @@ export function printProgress(label, status, detail) {
|
|
|
97
72
|
export function printProgressBar(percent) {
|
|
98
73
|
const filled = Math.round((percent / 100) * BAR_WIDTH);
|
|
99
74
|
const empty = BAR_WIDTH - filled;
|
|
100
|
-
const bar = "█".repeat(filled) + "░".repeat(empty);
|
|
75
|
+
const bar = tc(RGB.furLight, "█".repeat(filled)) + chalk.dim("░".repeat(empty));
|
|
101
76
|
const pct = `${Math.round(percent)}%`;
|
|
102
|
-
console.log(
|
|
77
|
+
console.log(` ${bar}${chalk.dim(` ${pct}`)}`);
|
|
103
78
|
}
|
|
104
79
|
export function printProgressWithBar(label, status, percent, detail) {
|
|
105
80
|
const markers = {
|
|
106
|
-
ok:
|
|
107
|
-
warn:
|
|
81
|
+
ok: tc(RGB.success, "✓"),
|
|
82
|
+
warn: tc(RGB.warn, "⚠"),
|
|
108
83
|
skip: chalk.dim("⏭"),
|
|
109
|
-
fail:
|
|
84
|
+
fail: tc(RGB.error, "✗"),
|
|
110
85
|
};
|
|
111
86
|
const marker = markers[status];
|
|
112
87
|
const text = detail ? `${label} ${chalk.dim(`(${detail})`)}` : label;
|
|
113
88
|
const filled = Math.round((percent / 100) * BAR_WIDTH);
|
|
114
89
|
const empty = BAR_WIDTH - filled;
|
|
115
|
-
const bar = "█".repeat(filled) + "░".repeat(empty);
|
|
90
|
+
const bar = tc(RGB.furLight, "█".repeat(filled)) + chalk.dim("░".repeat(empty));
|
|
116
91
|
const pct = `${Math.round(percent)}%`;
|
|
117
92
|
// Pad label to align bars
|
|
118
93
|
const padded = text.padEnd(36);
|
|
119
|
-
console.log(` ${marker} ${padded} ${chalk.dim(
|
|
94
|
+
console.log(` ${marker} ${padded} ${bar}${chalk.dim(` ${pct}`)}`);
|
|
120
95
|
}
|
|
121
96
|
export function printGettingStarted(items) {
|
|
122
97
|
console.log();
|
|
123
|
-
console.log(chalk.bold(" Build Your Own AI OS — Obsidian + AI Agent"));
|
|
98
|
+
console.log(chalk.rgb(RGB.headline[0], RGB.headline[1], RGB.headline[2]).bold(" Build Your Own AI OS — Obsidian + AI Agent"));
|
|
124
99
|
console.log();
|
|
125
100
|
for (const item of items) {
|
|
126
|
-
const cmd =
|
|
101
|
+
const cmd = tc(RGB.accent, item.cmd.padEnd(28));
|
|
127
102
|
const desc = chalk.dim(item.desc);
|
|
128
103
|
console.log(` ${cmd}${desc}`);
|
|
129
104
|
}
|
|
130
105
|
}
|
|
131
106
|
export function printFooter(url) {
|
|
132
107
|
console.log();
|
|
133
|
-
console.log(chalk.dim(
|
|
108
|
+
console.log(` ${chalk.dim("For more info visit")} ${tc(RGB.furLight, url)}`);
|
|
134
109
|
console.log();
|
|
135
110
|
}
|
|
136
111
|
export function printBlank() {
|
|
137
112
|
console.log();
|
|
138
113
|
}
|
|
139
114
|
export function printWarning(message) {
|
|
140
|
-
|
|
115
|
+
const w = tc(RGB.warn, "⚠");
|
|
116
|
+
console.log(` ${w} ${tc(RGB.warn, message)}`);
|
|
141
117
|
}
|
|
142
118
|
export function printInfo(message) {
|
|
143
119
|
console.log(chalk.dim(` ${message}`));
|
|
144
120
|
}
|
|
145
121
|
/** Print an event-line marker: ● label */
|
|
146
122
|
export function printEvent(label) {
|
|
147
|
-
console.log(` ${
|
|
123
|
+
console.log(` ${tc(RGB.accent, "●")} ${chalk.bold(label)}`);
|
|
148
124
|
}
|
|
149
125
|
/** Print event-line detail (indented under event) */
|
|
150
126
|
export function printEventDetail(text) {
|
|
@@ -152,11 +128,11 @@ export function printEventDetail(text) {
|
|
|
152
128
|
}
|
|
153
129
|
/** Print a completed event detail with checkmark: ✓ text */
|
|
154
130
|
export function printEventCheck(text) {
|
|
155
|
-
console.log(` ${
|
|
131
|
+
console.log(` ${tc(RGB.success, "✓")} ${text}`);
|
|
156
132
|
}
|
|
157
133
|
/** Print a completed event: ◆ label */
|
|
158
134
|
export function printEventDone(label) {
|
|
159
|
-
console.log(` ${
|
|
135
|
+
console.log(` ${tc(RGB.success, "◆")} ${chalk.bold(label)}`);
|
|
160
136
|
}
|
|
161
137
|
/** Animated spinner for long-running operations. Call stop() when done. */
|
|
162
138
|
export function startSpinner(label) {
|
|
@@ -164,7 +140,7 @@ export function startSpinner(label) {
|
|
|
164
140
|
let i = 0;
|
|
165
141
|
const stream = process.stderr;
|
|
166
142
|
const interval = setInterval(() => {
|
|
167
|
-
stream.write(`\r ${
|
|
143
|
+
stream.write(`\r ${tc(RGB.accent, frames[i % frames.length])} ${chalk.bold(label)}`);
|
|
168
144
|
i++;
|
|
169
145
|
}, 80);
|
|
170
146
|
return {
|
package/dist/cli/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
|