kairn-cli 1.9.0 → 1.9.1
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.js +83 -57
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -65,24 +65,47 @@ async function saveConfig(config) {
|
|
|
65
65
|
// src/ui.ts
|
|
66
66
|
import chalk from "chalk";
|
|
67
67
|
var maroon = chalk.rgb(139, 0, 0);
|
|
68
|
-
var
|
|
68
|
+
var darkMaroon = chalk.rgb(100, 0, 0);
|
|
69
|
+
var warmStone = chalk.rgb(212, 165, 116);
|
|
70
|
+
var lightStone = chalk.rgb(220, 190, 160);
|
|
71
|
+
var dimStone = chalk.rgb(140, 100, 70);
|
|
69
72
|
var ui = {
|
|
70
|
-
// Brand
|
|
73
|
+
// Brand colors
|
|
71
74
|
brand: (text) => maroon.bold(text),
|
|
72
|
-
accent: (text) =>
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
const
|
|
75
|
+
accent: (text) => warmStone(text),
|
|
76
|
+
// Logos and banners
|
|
77
|
+
fullBanner: (subtitle) => {
|
|
78
|
+
const KAIRN_WORDMARK2 = [
|
|
79
|
+
maroon("\u2588\u2588\u2557 \u2588\u2588\u2557") + " " + maroon("\u2588\u2588\u2588\u2588\u2588\u2557 ") + " " + maroon("\u2588\u2588\u2557") + " " + maroon("\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ") + " " + maroon("\u2588\u2588\u2588\u2557 \u2588\u2588\u2557"),
|
|
80
|
+
maroon("\u2588\u2588\u2551 \u2588\u2588\u2554\u255D") + " " + maroon("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + " " + maroon("\u2588\u2588\u2551") + " " + maroon("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + " " + maroon("\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551"),
|
|
81
|
+
warmStone("\u2588\u2588\u2588\u2588\u2588\u2554\u255D ") + " " + warmStone("\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551") + " " + warmStone("\u2588\u2588\u2551") + " " + warmStone("\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D") + " " + warmStone("\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551"),
|
|
82
|
+
warmStone("\u2588\u2588\u2554\u2550\u2588\u2588\u2557 ") + " " + warmStone("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551") + " " + warmStone("\u2588\u2588\u2551") + " " + warmStone("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + " " + warmStone("\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551"),
|
|
83
|
+
lightStone("\u2588\u2588\u2551 \u2588\u2588\u2557") + " " + lightStone("\u2588\u2588\u2551 \u2588\u2588\u2551") + " " + lightStone("\u2588\u2588\u2551") + " " + lightStone("\u2588\u2588\u2551 \u2588\u2588\u2551") + " " + lightStone("\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551"),
|
|
84
|
+
lightStone("\u255A\u2550\u255D \u255A\u2550\u255D") + " " + lightStone("\u255A\u2550\u255D \u255A\u2550\u255D") + " " + lightStone("\u255A\u2550\u255D") + " " + lightStone("\u255A\u2550\u255D \u255A\u2550\u255D") + " " + lightStone("\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D")
|
|
85
|
+
];
|
|
86
|
+
console.log("");
|
|
87
|
+
for (const line of KAIRN_WORDMARK2) {
|
|
88
|
+
console.log(" " + line);
|
|
89
|
+
}
|
|
90
|
+
if (subtitle) {
|
|
91
|
+
console.log(dimStone(` ${subtitle}`));
|
|
92
|
+
}
|
|
93
|
+
console.log("");
|
|
94
|
+
},
|
|
95
|
+
compactBanner: (subtitle) => {
|
|
96
|
+
const line = maroon("\u2501").repeat(52);
|
|
97
|
+
console.log(` ${line}`);
|
|
98
|
+
console.log(` ${maroon(" \u25C6")} ${chalk.bold.rgb(139, 0, 0)("KAIRN")}` + (subtitle ? ` ${dimStone("\u2014 " + subtitle)}` : ""));
|
|
99
|
+
console.log(` ${line}`);
|
|
100
|
+
},
|
|
101
|
+
// Section headers
|
|
102
|
+
section: (title) => {
|
|
103
|
+
const len = chalk.dim(title).length;
|
|
104
|
+
const line = "\u2501".repeat(Math.max(0, 48 - len));
|
|
76
105
|
return `
|
|
77
|
-
${
|
|
78
|
-
${maroon("\u2502")} ${maroon.bold(text.padEnd(49))}${maroon("\u2502")}
|
|
79
|
-
${maroon("\u2514" + line + "\u2518")}
|
|
80
|
-
`;
|
|
106
|
+
${warmStone("\u2501\u2501")} ${chalk.bold(title)} ${chalk.dim(warmStone(line))}`;
|
|
81
107
|
},
|
|
82
|
-
//
|
|
83
|
-
section: (title) => `
|
|
84
|
-
${warm("\u2501\u2501")} ${chalk.bold(title)} ${warm("\u2501".repeat(Math.max(0, 44 - title.length)))}`,
|
|
85
|
-
// Status
|
|
108
|
+
// Status messages
|
|
86
109
|
success: (text) => chalk.green(` \u2713 ${text}`),
|
|
87
110
|
warn: (text) => chalk.yellow(` \u26A0 ${text}`),
|
|
88
111
|
error: (text) => chalk.red(` \u2717 ${text}`),
|
|
@@ -92,65 +115,68 @@ var ui = {
|
|
|
92
115
|
// File list
|
|
93
116
|
file: (path15) => chalk.dim(` ${path15}`),
|
|
94
117
|
// Tool display
|
|
95
|
-
tool: (name, reason) => ` ${
|
|
118
|
+
tool: (name, reason) => ` ${warmStone("\u25CF")} ${chalk.bold(name)}
|
|
96
119
|
${chalk.dim(reason)}`,
|
|
97
120
|
// Divider
|
|
98
121
|
divider: () => chalk.dim(` ${"\u2500".repeat(50)}`),
|
|
99
122
|
// Command suggestion
|
|
100
123
|
cmd: (command) => ` ${chalk.bold.white("$ " + command)}`,
|
|
101
|
-
// Env var setup
|
|
102
|
-
|
|
103
|
-
let out = `
|
|
104
|
-
`;
|
|
105
|
-
out += chalk.dim(` ${desc}`);
|
|
124
|
+
// Env var setup with signupUrl
|
|
125
|
+
envVarPrompt: (name, desc, url) => {
|
|
126
|
+
let out = ` ${chalk.bold(name)}${chalk.dim(` (${desc})`)}`;
|
|
106
127
|
if (url) out += `
|
|
107
|
-
|
|
128
|
+
${chalk.dim("Get one at:")} ${warmStone(url)}`;
|
|
108
129
|
return out;
|
|
109
130
|
},
|
|
110
|
-
// Clarification question
|
|
111
|
-
question: (q, suggestion) =>
|
|
112
|
-
${
|
|
113
|
-
|
|
131
|
+
// Clarification question
|
|
132
|
+
question: (q, suggestion) => {
|
|
133
|
+
let msg = ` ${warmStone("?")} ${chalk.bold(q)}`;
|
|
134
|
+
if (suggestion) {
|
|
135
|
+
msg += `
|
|
136
|
+
${chalk.dim(`(suggested: ${suggestion})`)}`;
|
|
137
|
+
}
|
|
138
|
+
return msg;
|
|
139
|
+
},
|
|
140
|
+
// Error box for compile failures
|
|
114
141
|
errorBox: (title, message) => {
|
|
115
142
|
const line = "\u2500".repeat(50);
|
|
116
|
-
return `
|
|
117
|
-
${
|
|
118
|
-
|
|
119
|
-
${
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
`;
|
|
143
|
+
return chalk.red(`
|
|
144
|
+
\u250C${line}\u2510
|
|
145
|
+
\u2502 ${title.padEnd(49)}\u2502
|
|
146
|
+
\u2502 ${message.padEnd(49)}\u2502
|
|
147
|
+
\u2514${line}\u2518
|
|
148
|
+
`);
|
|
123
149
|
}
|
|
124
150
|
};
|
|
125
151
|
|
|
126
152
|
// src/logo.ts
|
|
127
153
|
import chalk2 from "chalk";
|
|
128
154
|
var maroon2 = chalk2.rgb(139, 0, 0);
|
|
129
|
-
var
|
|
130
|
-
var
|
|
131
|
-
var
|
|
132
|
-
var
|
|
155
|
+
var darkMaroon2 = chalk2.rgb(100, 0, 0);
|
|
156
|
+
var warmStone2 = chalk2.rgb(180, 120, 80);
|
|
157
|
+
var lightStone2 = chalk2.rgb(212, 165, 116);
|
|
158
|
+
var dimStone2 = chalk2.rgb(140, 100, 70);
|
|
133
159
|
var KAIRN_WORDMARK = [
|
|
134
|
-
maroon2("\u2588\u2588\u2557 \u2588\u2588\u2557") +
|
|
135
|
-
maroon2("\u2588\u2588\u2551 \u2588\u2588\u2554\u255D") +
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
160
|
+
maroon2("\u2588\u2588\u2557 \u2588\u2588\u2557") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2588\u2588\u2588\u2557 ") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2557") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2588\u2557 \u2588\u2588\u2557"),
|
|
161
|
+
maroon2("\u2588\u2588\u2551 \u2588\u2588\u2554\u255D") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2551") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + darkMaroon2(" ") + maroon2("\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551"),
|
|
162
|
+
warmStone2("\u2588\u2588\u2588\u2588\u2588\u2554\u255D ") + dimStone2(" ") + warmStone2("\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551") + dimStone2(" ") + warmStone2("\u2588\u2588\u2551") + dimStone2(" ") + warmStone2("\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D") + dimStone2(" ") + warmStone2("\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551"),
|
|
163
|
+
warmStone2("\u2588\u2588\u2554\u2550\u2588\u2588\u2557 ") + dimStone2(" ") + warmStone2("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551") + dimStone2(" ") + warmStone2("\u2588\u2588\u2551") + dimStone2(" ") + warmStone2("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557") + dimStone2(" ") + warmStone2("\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551"),
|
|
164
|
+
lightStone2("\u2588\u2588\u2551 \u2588\u2588\u2557") + dimStone2(" ") + lightStone2("\u2588\u2588\u2551 \u2588\u2588\u2551") + dimStone2(" ") + lightStone2("\u2588\u2588\u2551") + dimStone2(" ") + lightStone2("\u2588\u2588\u2551 \u2588\u2588\u2551") + dimStone2(" ") + lightStone2("\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551"),
|
|
165
|
+
lightStone2("\u255A\u2550\u255D \u255A\u2550\u255D") + dimStone2(" ") + lightStone2("\u255A\u2550\u255D \u255A\u2550\u255D") + dimStone2(" ") + lightStone2("\u255A\u2550\u255D") + dimStone2(" ") + lightStone2("\u255A\u2550\u255D \u255A\u2550\u255D") + dimStone2(" ") + lightStone2("\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D")
|
|
140
166
|
];
|
|
141
167
|
var CAIRN_ART = [
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
168
|
+
dimStone2(" \u28C0\u28C0\u28C0 "),
|
|
169
|
+
warmStone2(" \u28F4\u28FF\u28FF\u28FF\u28E6 "),
|
|
170
|
+
warmStone2(" \u2819\u283F\u283F\u280B "),
|
|
171
|
+
dimStone2(" \u28C0\u28E4\u28E4\u28E4\u28E4\u28C0 "),
|
|
172
|
+
lightStone2(" \u28F4\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E6 "),
|
|
173
|
+
lightStone2(" \u2819\u283B\u283F\u283F\u283F\u281F\u280B "),
|
|
174
|
+
dimStone2(" \u28C0\u28E4\u28E4\u28F6\u28F6\u28F6\u28F6\u28E4\u28E4\u28C0 "),
|
|
175
|
+
warmStone2(" \u28F4\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E6 "),
|
|
176
|
+
warmStone2(" \u2819\u283B\u283F\u283F\u283F\u283F\u283F\u283F\u281F\u280B "),
|
|
177
|
+
dimStone2(" \u28C0\u28E4\u28F6\u28F6\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F6\u28F6\u28E4\u28C0 "),
|
|
178
|
+
lightStone2(" \u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF "),
|
|
179
|
+
dimStone2(" \u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809\u2809 ")
|
|
154
180
|
];
|
|
155
181
|
function printFullBanner(subtitle) {
|
|
156
182
|
console.log("");
|
|
@@ -158,7 +184,7 @@ function printFullBanner(subtitle) {
|
|
|
158
184
|
console.log(" " + line);
|
|
159
185
|
}
|
|
160
186
|
if (subtitle) {
|
|
161
|
-
console.log(
|
|
187
|
+
console.log(dimStone2(` ${subtitle}`));
|
|
162
188
|
}
|
|
163
189
|
console.log("");
|
|
164
190
|
}
|
|
@@ -166,7 +192,7 @@ function printCompactBanner() {
|
|
|
166
192
|
const line = maroon2("\u2501").repeat(50);
|
|
167
193
|
console.log(`
|
|
168
194
|
${line}`);
|
|
169
|
-
console.log(` ${maroon2(" \u25C6")} ${chalk2.bold.rgb(139, 0, 0)("KAIRN")} ${
|
|
195
|
+
console.log(` ${maroon2(" \u25C6")} ${chalk2.bold.rgb(139, 0, 0)("KAIRN")} ${dimStone2("\u2014 Agent Environment Compiler")}`);
|
|
170
196
|
console.log(` ${line}
|
|
171
197
|
`);
|
|
172
198
|
}
|
|
@@ -2399,7 +2425,7 @@ var optimizeCommand = new Command6("optimize").description("Scan an existing pro
|
|
|
2399
2425
|
console.log(ui.file(file));
|
|
2400
2426
|
}
|
|
2401
2427
|
if (hasEnvVars) {
|
|
2402
|
-
await collectAndWriteKeys(summary.envSetup, targetDir);
|
|
2428
|
+
await collectAndWriteKeys(summary.envSetup, targetDir, { quick: options.quick });
|
|
2403
2429
|
console.log("");
|
|
2404
2430
|
}
|
|
2405
2431
|
if (summary.pluginCommands.length > 0) {
|