agenticmail 0.5.7 → 0.5.9
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 +62 -12
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -4295,13 +4295,51 @@ var LOADING_MESSAGES = {
|
|
|
4295
4295
|
"Almost there..."
|
|
4296
4296
|
]
|
|
4297
4297
|
};
|
|
4298
|
+
var GRADIENT_COLORS = [
|
|
4299
|
+
205,
|
|
4300
|
+
// hot pink
|
|
4301
|
+
212,
|
|
4302
|
+
// light pink
|
|
4303
|
+
219,
|
|
4304
|
+
// pink-lavender
|
|
4305
|
+
183,
|
|
4306
|
+
// lavender
|
|
4307
|
+
147,
|
|
4308
|
+
// periwinkle
|
|
4309
|
+
111,
|
|
4310
|
+
// sky blue
|
|
4311
|
+
117,
|
|
4312
|
+
// light blue
|
|
4313
|
+
123,
|
|
4314
|
+
// cyan-blue
|
|
4315
|
+
159,
|
|
4316
|
+
// ice blue
|
|
4317
|
+
153,
|
|
4318
|
+
// pale blue
|
|
4319
|
+
189,
|
|
4320
|
+
// light lavender
|
|
4321
|
+
225,
|
|
4322
|
+
// baby pink
|
|
4323
|
+
218,
|
|
4324
|
+
// salmon pink
|
|
4325
|
+
211,
|
|
4326
|
+
// coral
|
|
4327
|
+
205
|
|
4328
|
+
// hot pink (loop)
|
|
4329
|
+
];
|
|
4330
|
+
function color256(code, s) {
|
|
4331
|
+
return `\x1B[38;5;${code}m${s}\x1B[0m`;
|
|
4332
|
+
}
|
|
4298
4333
|
var Spinner = class {
|
|
4299
4334
|
interval = null;
|
|
4300
4335
|
frameIdx = 0;
|
|
4301
4336
|
msgIdx = 0;
|
|
4302
4337
|
msgChangeCounter = 0;
|
|
4338
|
+
colorIdx = 0;
|
|
4303
4339
|
category;
|
|
4304
4340
|
currentMsg;
|
|
4341
|
+
progressMsg = "";
|
|
4342
|
+
// message set by progress update
|
|
4305
4343
|
progressPct = -1;
|
|
4306
4344
|
// -1 = no progress bar
|
|
4307
4345
|
constructor(category, initialMsg) {
|
|
@@ -4313,23 +4351,34 @@ var Spinner = class {
|
|
|
4313
4351
|
this.frameIdx = 0;
|
|
4314
4352
|
this.msgIdx = 0;
|
|
4315
4353
|
this.msgChangeCounter = 0;
|
|
4354
|
+
this.colorIdx = 0;
|
|
4316
4355
|
this.progressPct = -1;
|
|
4317
4356
|
const msgs = LOADING_MESSAGES[this.category] ?? LOADING_MESSAGES.general;
|
|
4318
4357
|
this.interval = setInterval(() => {
|
|
4319
4358
|
const frame = SPINNER_FRAMES[this.frameIdx % SPINNER_FRAMES.length];
|
|
4359
|
+
const clr = GRADIENT_COLORS[this.colorIdx % GRADIENT_COLORS.length];
|
|
4320
4360
|
if (this.progressPct >= 0) {
|
|
4321
4361
|
const barWidth = 20;
|
|
4322
4362
|
const filled = Math.round(this.progressPct / 100 * barWidth);
|
|
4323
4363
|
const empty = barWidth - filled;
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4364
|
+
let bar = "";
|
|
4365
|
+
for (let i = 0; i < filled; i++) {
|
|
4366
|
+
const barClr = GRADIENT_COLORS[(this.colorIdx + i) % GRADIENT_COLORS.length];
|
|
4367
|
+
bar += color256(barClr, "\u2588");
|
|
4368
|
+
}
|
|
4369
|
+
bar += c2.dim("\u2591".repeat(empty));
|
|
4370
|
+
const pctStr = color256(clr, `${this.progressPct}%`);
|
|
4371
|
+
const displayMsg = this.progressMsg || this.currentMsg;
|
|
4372
|
+
process.stdout.write(`\r ${color256(clr, frame)} ${bar} ${pctStr} ${color256(clr, displayMsg)}\x1B[K`);
|
|
4327
4373
|
} else {
|
|
4328
|
-
process.stdout.write(`\r ${
|
|
4374
|
+
process.stdout.write(`\r ${color256(clr, frame)} ${color256(clr, this.currentMsg)}\x1B[K`);
|
|
4329
4375
|
}
|
|
4330
4376
|
this.frameIdx++;
|
|
4331
4377
|
this.msgChangeCounter++;
|
|
4332
|
-
if (this.
|
|
4378
|
+
if (this.frameIdx % 2 === 0) {
|
|
4379
|
+
this.colorIdx = (this.colorIdx + 1) % GRADIENT_COLORS.length;
|
|
4380
|
+
}
|
|
4381
|
+
if (this.msgChangeCounter >= 30) {
|
|
4333
4382
|
this.msgChangeCounter = 0;
|
|
4334
4383
|
this.msgIdx = (this.msgIdx + 1) % msgs.length;
|
|
4335
4384
|
this.currentMsg = msgs[this.msgIdx];
|
|
@@ -4340,9 +4389,10 @@ var Spinner = class {
|
|
|
4340
4389
|
const match = msg.match(/^__progress__:(\d+):(.*)$/);
|
|
4341
4390
|
if (match) {
|
|
4342
4391
|
this.progressPct = Math.min(100, parseInt(match[1], 10));
|
|
4343
|
-
this.
|
|
4392
|
+
this.progressMsg = match[2];
|
|
4344
4393
|
} else {
|
|
4345
4394
|
this.currentMsg = msg;
|
|
4395
|
+
this.progressMsg = "";
|
|
4346
4396
|
}
|
|
4347
4397
|
this.msgChangeCounter = 0;
|
|
4348
4398
|
}
|
|
@@ -4468,7 +4518,7 @@ function stopApiServer() {
|
|
|
4468
4518
|
}
|
|
4469
4519
|
async function cmdSetup() {
|
|
4470
4520
|
log2("");
|
|
4471
|
-
log2(` ${c2.
|
|
4521
|
+
log2(` ${c2.pinkBg(" \u{1F380} AgenticMail Setup ")}`);
|
|
4472
4522
|
log2("");
|
|
4473
4523
|
log2(` ${c2.bold("Welcome!")} We're going to set up everything your AI agent`);
|
|
4474
4524
|
log2(` needs to send and receive real email.`);
|
|
@@ -4540,7 +4590,7 @@ async function cmdSetup() {
|
|
|
4540
4590
|
const ver = dep.version && /^\d/.test(dep.version) ? ` ${c2.dim("v" + dep.version)}` : "";
|
|
4541
4591
|
ok2(`${c2.bold(f.name)}${ver} ${c2.dim("\u2014 " + f.desc)}`);
|
|
4542
4592
|
} else {
|
|
4543
|
-
|
|
4593
|
+
console.log(` ${c2.yellow("\u25CC")} ${c2.bold(f.name)} ${c2.dim("\u2014 " + f.desc)} ${c2.yellow("(will install)")}`);
|
|
4544
4594
|
}
|
|
4545
4595
|
}
|
|
4546
4596
|
log2("");
|
|
@@ -5451,7 +5501,7 @@ function mergePluginConfig(existing, apiUrl, masterKey, agentApiKey, pluginDir)
|
|
|
5451
5501
|
}
|
|
5452
5502
|
async function cmdOpenClaw() {
|
|
5453
5503
|
log2("");
|
|
5454
|
-
log2(` ${c2.
|
|
5504
|
+
log2(` ${c2.pinkBg(" \u{1F380} AgenticMail for OpenClaw ")}`);
|
|
5455
5505
|
log2("");
|
|
5456
5506
|
log2(` ${c2.bold("Let's get your OpenClaw agent set up with email.")}`);
|
|
5457
5507
|
log2(` This will:`);
|
|
@@ -6136,7 +6186,7 @@ function printPluginSnippet(apiUrl, masterKey, agentApiKey) {
|
|
|
6136
6186
|
}
|
|
6137
6187
|
async function cmdStatus() {
|
|
6138
6188
|
log2("");
|
|
6139
|
-
log2(` ${c2.
|
|
6189
|
+
log2(` ${c2.pinkBg(" \u{1F380} AgenticMail Status ")}`);
|
|
6140
6190
|
log2("");
|
|
6141
6191
|
const setup = new SetupManager();
|
|
6142
6192
|
const FRIENDLY_NAMES = {
|
|
@@ -6241,7 +6291,7 @@ async function cmdStart() {
|
|
|
6241
6291
|
return;
|
|
6242
6292
|
}
|
|
6243
6293
|
log2("");
|
|
6244
|
-
log2(` ${c2.
|
|
6294
|
+
log2(` ${c2.pinkBg(" \u{1F380} Starting AgenticMail ")}`);
|
|
6245
6295
|
log2("");
|
|
6246
6296
|
const cfgPath = join(homedir(), ".agenticmail", "config.json");
|
|
6247
6297
|
let config;
|
|
@@ -6527,7 +6577,7 @@ switch (command) {
|
|
|
6527
6577
|
case "--help":
|
|
6528
6578
|
case "-h":
|
|
6529
6579
|
log2("");
|
|
6530
|
-
log2(` ${c2.
|
|
6580
|
+
log2(` ${c2.pinkBg(" \u{1F380} AgenticMail ")} ${c2.dim("Give your AI agent a real email address")}`);
|
|
6531
6581
|
log2("");
|
|
6532
6582
|
log2(" Commands:");
|
|
6533
6583
|
log2(` ${c2.green("agenticmail")} Get started (setup + start)`);
|
package/package.json
CHANGED