@bonginkan/maria 4.2.24 → 4.2.26
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/README.md +5 -5
- package/dist/READY.manifest.json +1 -1
- package/dist/bin/maria.cjs +816 -654
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +879 -717
- package/dist/cli.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/express-server.cjs +2 -2
- package/dist/server/express-server.cjs.map +1 -1
- package/package.json +2 -2
- package/src/slash-commands/READY.manifest.json +1 -1
package/dist/bin/maria.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var fs4 = require('fs');
|
|
5
5
|
var path10 = require('path');
|
|
6
|
-
var
|
|
6
|
+
var chalk28 = require('chalk');
|
|
7
7
|
var os16 = require('os');
|
|
8
8
|
var Stream = require('stream');
|
|
9
9
|
var util = require('util');
|
|
@@ -51,7 +51,7 @@ function _interopNamespace(e) {
|
|
|
51
51
|
|
|
52
52
|
var fs4__namespace = /*#__PURE__*/_interopNamespace(fs4);
|
|
53
53
|
var path10__namespace = /*#__PURE__*/_interopNamespace(path10);
|
|
54
|
-
var
|
|
54
|
+
var chalk28__default = /*#__PURE__*/_interopDefault(chalk28);
|
|
55
55
|
var os16__namespace = /*#__PURE__*/_interopNamespace(os16);
|
|
56
56
|
var Stream__default = /*#__PURE__*/_interopDefault(Stream);
|
|
57
57
|
var http__namespace = /*#__PURE__*/_interopNamespace(http);
|
|
@@ -273,129 +273,129 @@ function displayStartupLogo() {
|
|
|
273
273
|
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
274
274
|
console.log("");
|
|
275
275
|
console.log(
|
|
276
|
-
|
|
276
|
+
chalk28__default.default.magentaBright(
|
|
277
277
|
"\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"
|
|
278
278
|
)
|
|
279
279
|
);
|
|
280
280
|
console.log(
|
|
281
|
-
|
|
281
|
+
chalk28__default.default.magentaBright(
|
|
282
282
|
"\u2551 \u2551"
|
|
283
283
|
)
|
|
284
284
|
);
|
|
285
285
|
console.log(
|
|
286
|
-
|
|
286
|
+
chalk28__default.default.magentaBright(
|
|
287
287
|
"\u2551 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2551"
|
|
288
288
|
)
|
|
289
289
|
);
|
|
290
290
|
console.log(
|
|
291
|
-
|
|
291
|
+
chalk28__default.default.magentaBright(
|
|
292
292
|
"\u2551 \u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2551"
|
|
293
293
|
)
|
|
294
294
|
);
|
|
295
295
|
console.log(
|
|
296
|
-
|
|
296
|
+
chalk28__default.default.magentaBright(
|
|
297
297
|
"\u2551 \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u2551"
|
|
298
298
|
)
|
|
299
299
|
);
|
|
300
300
|
console.log(
|
|
301
|
-
|
|
301
|
+
chalk28__default.default.magentaBright(
|
|
302
302
|
"\u2551 \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2551"
|
|
303
303
|
)
|
|
304
304
|
);
|
|
305
305
|
console.log(
|
|
306
|
-
|
|
306
|
+
chalk28__default.default.magentaBright(
|
|
307
307
|
"\u2551 \u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2551"
|
|
308
308
|
)
|
|
309
309
|
);
|
|
310
310
|
console.log(
|
|
311
|
-
|
|
311
|
+
chalk28__default.default.magentaBright(
|
|
312
312
|
"\u2551 \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u2551"
|
|
313
313
|
)
|
|
314
314
|
);
|
|
315
315
|
console.log(
|
|
316
|
-
|
|
316
|
+
chalk28__default.default.magentaBright(
|
|
317
317
|
"\u2551 \u2551"
|
|
318
318
|
)
|
|
319
319
|
);
|
|
320
320
|
console.log(
|
|
321
|
-
|
|
321
|
+
chalk28__default.default.magentaBright(
|
|
322
322
|
"\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2551"
|
|
323
323
|
)
|
|
324
324
|
);
|
|
325
325
|
console.log(
|
|
326
|
-
|
|
326
|
+
chalk28__default.default.magentaBright(
|
|
327
327
|
"\u2551 \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D \u2551"
|
|
328
328
|
)
|
|
329
329
|
);
|
|
330
330
|
console.log(
|
|
331
|
-
|
|
331
|
+
chalk28__default.default.magentaBright(
|
|
332
332
|
"\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2551"
|
|
333
333
|
)
|
|
334
334
|
);
|
|
335
335
|
console.log(
|
|
336
|
-
|
|
336
|
+
chalk28__default.default.magentaBright(
|
|
337
337
|
"\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2551"
|
|
338
338
|
)
|
|
339
339
|
);
|
|
340
340
|
console.log(
|
|
341
|
-
|
|
341
|
+
chalk28__default.default.magentaBright(
|
|
342
342
|
"\u2551 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2551"
|
|
343
343
|
)
|
|
344
344
|
);
|
|
345
345
|
console.log(
|
|
346
|
-
|
|
346
|
+
chalk28__default.default.magentaBright(
|
|
347
347
|
"\u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2551"
|
|
348
348
|
)
|
|
349
349
|
);
|
|
350
350
|
console.log(
|
|
351
|
-
|
|
351
|
+
chalk28__default.default.magentaBright(
|
|
352
352
|
"\u2551 \u2551"
|
|
353
353
|
)
|
|
354
354
|
);
|
|
355
355
|
console.log(
|
|
356
|
-
|
|
356
|
+
chalk28__default.default.magentaBright(
|
|
357
357
|
"\u2551 AI-Powered Development Platform \u2551"
|
|
358
358
|
)
|
|
359
359
|
);
|
|
360
360
|
console.log(
|
|
361
|
-
|
|
361
|
+
chalk28__default.default.magentaBright(
|
|
362
362
|
"\u2551 (c) 2025 Bonginkan Inc. \u2551"
|
|
363
363
|
)
|
|
364
364
|
);
|
|
365
365
|
console.log(
|
|
366
|
-
|
|
366
|
+
chalk28__default.default.magentaBright(
|
|
367
367
|
"\u2551 \u2551"
|
|
368
368
|
)
|
|
369
369
|
);
|
|
370
370
|
console.log(
|
|
371
|
-
|
|
371
|
+
chalk28__default.default.magentaBright(
|
|
372
372
|
"\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"
|
|
373
373
|
)
|
|
374
374
|
);
|
|
375
375
|
console.log("");
|
|
376
376
|
console.log(
|
|
377
|
-
|
|
377
|
+
chalk28__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk28__default.default.gray(" \u2014 Ready")
|
|
378
378
|
);
|
|
379
379
|
console.log(
|
|
380
|
-
|
|
380
|
+
chalk28__default.default.yellow("Type /login to get started \xB7 /help for commands")
|
|
381
381
|
);
|
|
382
382
|
console.log("");
|
|
383
383
|
}
|
|
384
384
|
function displayCompactLogo() {
|
|
385
385
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
386
386
|
console.log(
|
|
387
|
-
|
|
387
|
+
chalk28__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk28__default.default.gray(" \u2014 Ready")
|
|
388
388
|
);
|
|
389
389
|
console.log(
|
|
390
|
-
|
|
390
|
+
chalk28__default.default.yellow("Type /login to get started \xB7 /help for commands")
|
|
391
391
|
);
|
|
392
392
|
console.log("");
|
|
393
393
|
}
|
|
394
394
|
function displayDashboardHeader() {
|
|
395
395
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
396
|
-
const version =
|
|
397
|
-
const commands =
|
|
398
|
-
const providers =
|
|
396
|
+
const version = chalk28__default.default.cyan.bold(`MARIA CODE v${getVersion()}`);
|
|
397
|
+
const commands = chalk28__default.default.gray(" | /help /status /model");
|
|
398
|
+
const providers = chalk28__default.default.gray(
|
|
399
399
|
"Providers: 8/8 OK (openai, anthropic, google, groq, lmstudio, ollama, vllm)"
|
|
400
400
|
);
|
|
401
401
|
console.log(version + commands);
|
|
@@ -404,8 +404,8 @@ function displayDashboardHeader() {
|
|
|
404
404
|
}
|
|
405
405
|
function displayLogsBox(logs) {
|
|
406
406
|
const width = getResponsiveWidth({ marginLeft: 5, marginRight: 5, maxWidth: 120 });
|
|
407
|
-
const borderColor =
|
|
408
|
-
const titleColor =
|
|
407
|
+
const borderColor = chalk28__default.default.white;
|
|
408
|
+
const titleColor = chalk28__default.default.cyan;
|
|
409
409
|
const topLeft = "\u250C";
|
|
410
410
|
const topRight = "\u2510";
|
|
411
411
|
const bottomLeft = "\u2514";
|
|
@@ -438,7 +438,7 @@ function displayLogsBox(logs) {
|
|
|
438
438
|
function displaySpinner(text = "Processing") {
|
|
439
439
|
const spinnerFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
440
440
|
const frame = spinnerFrames[Math.floor(Date.now() / 80) % spinnerFrames.length];
|
|
441
|
-
process.stdout.write(`\r[${
|
|
441
|
+
process.stdout.write(`\r[${chalk28__default.default.cyan(frame)}] ${text}...`);
|
|
442
442
|
}
|
|
443
443
|
function getCurrentPath() {
|
|
444
444
|
return process.cwd();
|
|
@@ -456,18 +456,18 @@ async function displayFinalStartupScreen(_selectedProvider, _selectedModel) {
|
|
|
456
456
|
const version = getVersion();
|
|
457
457
|
const systemInfo = getSystemInfo();
|
|
458
458
|
console.log(
|
|
459
|
-
|
|
459
|
+
chalk28__default.default.cyan.bold(`MARIA CODE v${version}`) + chalk28__default.default.gray(" \u2014 Ready")
|
|
460
460
|
);
|
|
461
461
|
const cwd2 = systemInfo.cwd.replace(os16__namespace.homedir(), "~");
|
|
462
|
-
console.log(
|
|
463
|
-
console.log(
|
|
464
|
-
console.log(
|
|
462
|
+
console.log(chalk28__default.default.gray("cwd: ") + chalk28__default.default.white(cwd2));
|
|
463
|
+
console.log(chalk28__default.default.gray("Not signed in"));
|
|
464
|
+
console.log(chalk28__default.default.yellow("Tip: /login \xB7 /help \xB7 /help code"));
|
|
465
465
|
console.log("");
|
|
466
466
|
}
|
|
467
467
|
function displayRoundedInputBox() {
|
|
468
468
|
const width = getResponsiveWidth({ marginLeft: 5, marginRight: 5, maxWidth: 90 });
|
|
469
|
-
const borderColor =
|
|
470
|
-
const promptColor =
|
|
469
|
+
const borderColor = chalk28__default.default.white;
|
|
470
|
+
const promptColor = chalk28__default.default.cyan;
|
|
471
471
|
const topLeft = "\u256D";
|
|
472
472
|
const topRight = "\u256E";
|
|
473
473
|
const bottomLeft = "\u2570";
|
|
@@ -477,7 +477,7 @@ function displayRoundedInputBox() {
|
|
|
477
477
|
const lines = [];
|
|
478
478
|
lines.push(borderColor(topLeft + horizontal.repeat(width - 2) + topRight));
|
|
479
479
|
const promptStr = promptColor("> ");
|
|
480
|
-
const placeholder =
|
|
480
|
+
const placeholder = chalk28__default.default.gray("");
|
|
481
481
|
const inputLine = promptStr + placeholder;
|
|
482
482
|
const padding = width - 4;
|
|
483
483
|
lines.push(
|
|
@@ -8390,29 +8390,29 @@ var init_provider_selector = __esm({
|
|
|
8390
8390
|
const inquirer = await import('inquirer');
|
|
8391
8391
|
const prompt = inquirer.default?.prompt || inquirer.prompt;
|
|
8392
8392
|
const providers = await this.getAvailableProviders();
|
|
8393
|
-
console.log(
|
|
8394
|
-
console.log(
|
|
8393
|
+
console.log(chalk28__default.default.cyan("\nAvailable AI Providers:"));
|
|
8394
|
+
console.log(chalk28__default.default.gray("\u2500".repeat(50)));
|
|
8395
8395
|
const _cloudProviders = providers.filter((p) => p.type === "cloud");
|
|
8396
8396
|
const _localProviders = providers.filter((p) => p.type === "local");
|
|
8397
8397
|
if (_cloudProviders.length > 0) {
|
|
8398
|
-
console.log(
|
|
8398
|
+
console.log(chalk28__default.default.yellow("\n\u2601\uFE0F Cloud AI:"));
|
|
8399
8399
|
_cloudProviders.forEach((p) => {
|
|
8400
8400
|
if (p.available) {
|
|
8401
8401
|
console.log(
|
|
8402
|
-
` ${
|
|
8402
|
+
` ${chalk28__default.default.green("*")} ${chalk28__default.default.white(p.name.split(" ")[0])}`
|
|
8403
8403
|
);
|
|
8404
8404
|
} else {
|
|
8405
|
-
console.log(` ${
|
|
8405
|
+
console.log(` ${chalk28__default.default.gray(p.name.split(" ")[0])}`);
|
|
8406
8406
|
}
|
|
8407
8407
|
});
|
|
8408
8408
|
}
|
|
8409
8409
|
if (_localProviders.length > 0) {
|
|
8410
|
-
console.log(
|
|
8410
|
+
console.log(chalk28__default.default.cyan("\n\u{1F4BB} Local AI:"));
|
|
8411
8411
|
_localProviders.forEach((p) => {
|
|
8412
8412
|
if (p.available) {
|
|
8413
|
-
console.log(` ${
|
|
8413
|
+
console.log(` ${chalk28__default.default.green("*")} ${chalk28__default.default.white(p.name)}`);
|
|
8414
8414
|
} else {
|
|
8415
|
-
console.log(` ${
|
|
8415
|
+
console.log(` ${chalk28__default.default.green("*")} ${chalk28__default.default.gray(p.name)}`);
|
|
8416
8416
|
}
|
|
8417
8417
|
});
|
|
8418
8418
|
}
|
|
@@ -8427,20 +8427,20 @@ var init_provider_selector = __esm({
|
|
|
8427
8427
|
});
|
|
8428
8428
|
if (selectableProviders.length === 0) {
|
|
8429
8429
|
console.log(
|
|
8430
|
-
|
|
8430
|
+
chalk28__default.default.yellow("\n\u26A0\uFE0F No AI providers are currently available.")
|
|
8431
8431
|
);
|
|
8432
|
-
console.log(
|
|
8432
|
+
console.log(chalk28__default.default.gray("\nTo use MARIA, you need to:"));
|
|
8433
8433
|
console.log(
|
|
8434
|
-
|
|
8434
|
+
chalk28__default.default.gray(
|
|
8435
8435
|
"1. Set up API keys for cloud providers (OpenAI, Anthropic, Google, etc.)"
|
|
8436
8436
|
)
|
|
8437
8437
|
);
|
|
8438
|
-
console.log(
|
|
8438
|
+
console.log(chalk28__default.default.gray(" Example: export OPENAI_API_KEY=your_api_key"));
|
|
8439
8439
|
console.log(
|
|
8440
|
-
|
|
8440
|
+
chalk28__default.default.gray("2. Or start a local AI service (Ollama, LM Studio, vLLM)")
|
|
8441
8441
|
);
|
|
8442
|
-
console.log(
|
|
8443
|
-
console.log(
|
|
8442
|
+
console.log(chalk28__default.default.gray(" Example: maria setup-ollama"));
|
|
8443
|
+
console.log(chalk28__default.default.gray("\nFor more information, run: maria --help"));
|
|
8444
8444
|
process.exit(1);
|
|
8445
8445
|
}
|
|
8446
8446
|
const choices = selectableProviders.map((p) => ({
|
|
@@ -8461,29 +8461,29 @@ var init_provider_selector = __esm({
|
|
|
8461
8461
|
const provider = providers.find((p) => p.value === selectedProvider);
|
|
8462
8462
|
if (provider && provider.type === "local" && !provider.available) {
|
|
8463
8463
|
console.log(
|
|
8464
|
-
|
|
8464
|
+
chalk28__default.default.yellow(`
|
|
8465
8465
|
\u26A0\uFE0F ${provider.name} is not currently running.`)
|
|
8466
8466
|
);
|
|
8467
|
-
console.log(
|
|
8467
|
+
console.log(chalk28__default.default.gray(`
|
|
8468
8468
|
To use ${provider.name}, you need to:`));
|
|
8469
8469
|
if (selectedProvider === "ollama") {
|
|
8470
|
-
console.log(
|
|
8471
|
-
console.log(
|
|
8472
|
-
console.log(
|
|
8470
|
+
console.log(chalk28__default.default.gray("1. Install Ollama: brew install ollama"));
|
|
8471
|
+
console.log(chalk28__default.default.gray("2. Start Ollama: ollama serve"));
|
|
8472
|
+
console.log(chalk28__default.default.gray("3. Pull a model: ollama pull llama3.2:3b"));
|
|
8473
8473
|
console.log(
|
|
8474
|
-
|
|
8474
|
+
chalk28__default.default.gray("\nOr use the setup command: maria setup-ollama")
|
|
8475
8475
|
);
|
|
8476
8476
|
} else if (selectedProvider === "lmstudio") {
|
|
8477
8477
|
console.log(
|
|
8478
|
-
|
|
8478
|
+
chalk28__default.default.gray("1. Download LM Studio from https://lmstudio.ai")
|
|
8479
8479
|
);
|
|
8480
|
-
console.log(
|
|
8481
|
-
console.log(
|
|
8482
|
-
console.log(
|
|
8480
|
+
console.log(chalk28__default.default.gray("2. Start LM Studio application"));
|
|
8481
|
+
console.log(chalk28__default.default.gray("3. Load a model in LM Studio"));
|
|
8482
|
+
console.log(chalk28__default.default.gray("4. Start the local server in LM Studio"));
|
|
8483
8483
|
} else if (selectedProvider === "vllm") {
|
|
8484
|
-
console.log(
|
|
8485
|
-
console.log(
|
|
8486
|
-
console.log(
|
|
8484
|
+
console.log(chalk28__default.default.gray("1. Install vLLM: pip install vllm"));
|
|
8485
|
+
console.log(chalk28__default.default.gray("2. Start vLLM server with a model"));
|
|
8486
|
+
console.log(chalk28__default.default.gray("\nOr use the setup command: maria setup-vllm"));
|
|
8487
8487
|
}
|
|
8488
8488
|
process.exit(1);
|
|
8489
8489
|
}
|
|
@@ -12426,7 +12426,7 @@ var init_IntelligentRouterService = __esm({
|
|
|
12426
12426
|
this.emit("initialized");
|
|
12427
12427
|
} catch (_error) {
|
|
12428
12428
|
console._error(
|
|
12429
|
-
|
|
12429
|
+
chalk28__default.default.red("Failed to initialize Intelligent Router:"),
|
|
12430
12430
|
_error
|
|
12431
12431
|
);
|
|
12432
12432
|
throw _error;
|
|
@@ -12480,7 +12480,7 @@ var init_IntelligentRouterService = __esm({
|
|
|
12480
12480
|
} catch (_error) {
|
|
12481
12481
|
this.metrics.failedRoutes++;
|
|
12482
12482
|
this.emit("route:_error", { input: input3, _error });
|
|
12483
|
-
console._error(
|
|
12483
|
+
console._error(chalk28__default.default.red("Routing _error:"), _error);
|
|
12484
12484
|
return null;
|
|
12485
12485
|
}
|
|
12486
12486
|
}
|
|
@@ -15219,16 +15219,16 @@ var init_log_symbols = __esm({
|
|
|
15219
15219
|
"node_modules/.pnpm/log-symbols@6.0.0/node_modules/log-symbols/index.js"() {
|
|
15220
15220
|
init_is_unicode_supported();
|
|
15221
15221
|
main = {
|
|
15222
|
-
info:
|
|
15223
|
-
success:
|
|
15224
|
-
warning:
|
|
15225
|
-
error:
|
|
15222
|
+
info: chalk28__default.default.blue("\u2139"),
|
|
15223
|
+
success: chalk28__default.default.green("\u2714"),
|
|
15224
|
+
warning: chalk28__default.default.yellow("\u26A0"),
|
|
15225
|
+
error: chalk28__default.default.red("\u2716")
|
|
15226
15226
|
};
|
|
15227
15227
|
fallback = {
|
|
15228
|
-
info:
|
|
15229
|
-
success:
|
|
15230
|
-
warning:
|
|
15231
|
-
error:
|
|
15228
|
+
info: chalk28__default.default.blue("i"),
|
|
15229
|
+
success: chalk28__default.default.green("\u221A"),
|
|
15230
|
+
warning: chalk28__default.default.yellow("\u203C"),
|
|
15231
|
+
error: chalk28__default.default.red("\xD7")
|
|
15232
15232
|
};
|
|
15233
15233
|
logSymbols = isUnicodeSupported() ? main : fallback;
|
|
15234
15234
|
log_symbols_default = logSymbols;
|
|
@@ -15625,7 +15625,7 @@ var init_ora = __esm({
|
|
|
15625
15625
|
const { frames } = this.#spinner;
|
|
15626
15626
|
let frame = frames[this.#frameIndex];
|
|
15627
15627
|
if (this.color) {
|
|
15628
|
-
frame =
|
|
15628
|
+
frame = chalk28__default.default[this.color](frame);
|
|
15629
15629
|
}
|
|
15630
15630
|
const fullPrefixText = typeof this.#prefixText === "string" && this.#prefixText !== "" ? this.#prefixText + " " : "";
|
|
15631
15631
|
const fullText = typeof this.text === "string" ? " " + this.text : "";
|
|
@@ -15745,28 +15745,28 @@ var init_ChalkAdapter = __esm({
|
|
|
15745
15745
|
spinnerId = 0;
|
|
15746
15746
|
async showWelcome() {
|
|
15747
15747
|
console.log(
|
|
15748
|
-
|
|
15748
|
+
chalk28__default.default.cyan.bold("\n\u{1F916} Welcome to MARIA Interactive Session v3.5.0")
|
|
15749
15749
|
);
|
|
15750
|
-
console.log(
|
|
15750
|
+
console.log(chalk28__default.default.gray("Type /help for available commands\n"));
|
|
15751
15751
|
}
|
|
15752
15752
|
showGoodbye() {
|
|
15753
15753
|
this.stopAllSpinners();
|
|
15754
|
-
console.log(
|
|
15754
|
+
console.log(chalk28__default.default.green("\n\u{1F44B} Goodbye! Thank you for using MARIA.\n"));
|
|
15755
15755
|
}
|
|
15756
15756
|
async print(message) {
|
|
15757
15757
|
console.log(message);
|
|
15758
15758
|
}
|
|
15759
15759
|
error(message) {
|
|
15760
|
-
console.error(
|
|
15760
|
+
console.error(chalk28__default.default.red(`\u274C ${message}`));
|
|
15761
15761
|
}
|
|
15762
15762
|
success(message) {
|
|
15763
|
-
console.log(
|
|
15763
|
+
console.log(chalk28__default.default.green(`\u2705 ${message}`));
|
|
15764
15764
|
}
|
|
15765
15765
|
warning(message) {
|
|
15766
|
-
console.warn(
|
|
15766
|
+
console.warn(chalk28__default.default.yellow(`\u26A0\uFE0F ${message}`));
|
|
15767
15767
|
}
|
|
15768
15768
|
info(message) {
|
|
15769
|
-
console.info(
|
|
15769
|
+
console.info(chalk28__default.default.blue(`\u2139\uFE0F ${message}`));
|
|
15770
15770
|
}
|
|
15771
15771
|
startSpinner(message) {
|
|
15772
15772
|
const id = `spinner-${++this.spinnerId}`;
|
|
@@ -15816,12 +15816,12 @@ var init_ChalkAdapter = __esm({
|
|
|
15816
15816
|
* Format helpers for consistent styling
|
|
15817
15817
|
*/
|
|
15818
15818
|
static format = {
|
|
15819
|
-
command: (text) =>
|
|
15820
|
-
keyword: (text) =>
|
|
15821
|
-
value: (text) =>
|
|
15822
|
-
dim: (text) =>
|
|
15823
|
-
bold: (text) =>
|
|
15824
|
-
code: (text) =>
|
|
15819
|
+
command: (text) => chalk28__default.default.cyan(text),
|
|
15820
|
+
keyword: (text) => chalk28__default.default.magenta(text),
|
|
15821
|
+
value: (text) => chalk28__default.default.green(text),
|
|
15822
|
+
dim: (text) => chalk28__default.default.gray(text),
|
|
15823
|
+
bold: (text) => chalk28__default.default.bold(text),
|
|
15824
|
+
code: (text) => chalk28__default.default.bgGray.white(` ${text} `)
|
|
15825
15825
|
};
|
|
15826
15826
|
};
|
|
15827
15827
|
}
|
|
@@ -17942,27 +17942,27 @@ var init_logger = __esm({
|
|
|
17942
17942
|
}
|
|
17943
17943
|
debug(...args2) {
|
|
17944
17944
|
if (this.level <= 0 /* DEBUG */) {
|
|
17945
|
-
console.log(
|
|
17945
|
+
console.log(chalk28__default.default.magenta(`${this.prefix} [DEBUG]`), ...args2);
|
|
17946
17946
|
}
|
|
17947
17947
|
}
|
|
17948
17948
|
info(...args2) {
|
|
17949
17949
|
if (this.level <= 1 /* INFO */) {
|
|
17950
|
-
console.log(
|
|
17950
|
+
console.log(chalk28__default.default.bold.magenta(`${this.prefix} [INFO]`), ...args2);
|
|
17951
17951
|
}
|
|
17952
17952
|
}
|
|
17953
17953
|
warn(...args2) {
|
|
17954
17954
|
if (this.level <= 2 /* WARN */) {
|
|
17955
|
-
console.warn(
|
|
17955
|
+
console.warn(chalk28__default.default.bold.magenta(`${this.prefix} [WARN]`), ...args2);
|
|
17956
17956
|
}
|
|
17957
17957
|
}
|
|
17958
17958
|
error(...args2) {
|
|
17959
17959
|
if (this.level <= 3 /* ERROR */) {
|
|
17960
|
-
console.error(
|
|
17960
|
+
console.error(chalk28__default.default.bold.magenta(`${this.prefix} [ERROR]`), ...args2);
|
|
17961
17961
|
}
|
|
17962
17962
|
}
|
|
17963
17963
|
success(...args2) {
|
|
17964
17964
|
if (this.level <= 1 /* INFO */) {
|
|
17965
|
-
console.log(
|
|
17965
|
+
console.log(chalk28__default.default.bold.magenta(`${this.prefix} [SUCCESS]`), ...args2);
|
|
17966
17966
|
}
|
|
17967
17967
|
}
|
|
17968
17968
|
task(taskName, status, message) {
|
|
@@ -17976,10 +17976,10 @@ var init_logger = __esm({
|
|
|
17976
17976
|
error: "\u274C"
|
|
17977
17977
|
};
|
|
17978
17978
|
const statusColors = {
|
|
17979
|
-
start:
|
|
17980
|
-
progress:
|
|
17981
|
-
complete:
|
|
17982
|
-
error:
|
|
17979
|
+
start: chalk28__default.default.bold.magenta,
|
|
17980
|
+
progress: chalk28__default.default.magenta,
|
|
17981
|
+
complete: chalk28__default.default.bold.magenta,
|
|
17982
|
+
error: chalk28__default.default.bold.magenta
|
|
17983
17983
|
};
|
|
17984
17984
|
const icon = statusIcons[status];
|
|
17985
17985
|
const color = statusColors[status];
|
|
@@ -17996,14 +17996,14 @@ var init_logger = __esm({
|
|
|
17996
17996
|
if (this.level > 0 /* DEBUG */) {
|
|
17997
17997
|
return;
|
|
17998
17998
|
}
|
|
17999
|
-
console.log(
|
|
17999
|
+
console.log(chalk28__default.default.magenta(`${this.prefix} [JSON]`));
|
|
18000
18000
|
console.log(pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj));
|
|
18001
18001
|
}
|
|
18002
18002
|
divider() {
|
|
18003
18003
|
if (this.level > 1 /* INFO */) {
|
|
18004
18004
|
return;
|
|
18005
18005
|
}
|
|
18006
|
-
console.log(
|
|
18006
|
+
console.log(chalk28__default.default.magenta("\u2500".repeat(60)));
|
|
18007
18007
|
}
|
|
18008
18008
|
clear() {
|
|
18009
18009
|
console.clear();
|
|
@@ -18023,7 +18023,7 @@ var init_logger = __esm({
|
|
|
18023
18023
|
const progressText = `${current}/${total}`;
|
|
18024
18024
|
const labelText = label ? ` ${label}` : "";
|
|
18025
18025
|
process.stdout.write(
|
|
18026
|
-
`\r${
|
|
18026
|
+
`\r${chalk28__default.default.bold.magenta(bar)} ${percentage}% ${progressText}${labelText}`
|
|
18027
18027
|
);
|
|
18028
18028
|
if (current === total) {
|
|
18029
18029
|
process.stdout.write("\n");
|
|
@@ -21240,26 +21240,26 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21240
21240
|
const _lang = options2.language || "en";
|
|
21241
21241
|
const _labels = LANGUAGE_LABELS[_lang] || LANGUAGE_LABELS.en;
|
|
21242
21242
|
console.log("");
|
|
21243
|
-
console.log(
|
|
21243
|
+
console.log(chalk28__default.default.gray("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510"));
|
|
21244
21244
|
console.log(
|
|
21245
|
-
|
|
21245
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21246
21246
|
` ${_labels.approvalRequest}${" ".repeat(Math.max(0, 43 - _labels.approvalRequest.length))}`
|
|
21247
|
-
) +
|
|
21247
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21248
21248
|
);
|
|
21249
|
-
console.log(
|
|
21249
|
+
console.log(chalk28__default.default.gray("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524"));
|
|
21250
21250
|
const _requestId = `AP-${(/* @__PURE__ */ new Date()).getFullYear()}-${String((/* @__PURE__ */ new Date()).getMonth() + 1).padStart(2, "0")}${String((/* @__PURE__ */ new Date()).getDate()).padStart(2, "0")}-${String(Math.floor(Math.random() * 999)).padStart(3, "0")}`;
|
|
21251
21251
|
console.log(
|
|
21252
|
-
|
|
21253
|
-
` > ${_labels.id}: ${
|
|
21254
|
-
) +
|
|
21252
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21253
|
+
` > ${_labels.id}: ${chalk28__default.default.yellow(_requestId)}${" ".repeat(Math.max(0, 35 - _requestId.length - _labels.id.length))}`
|
|
21254
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21255
21255
|
);
|
|
21256
21256
|
const _title = _request.context?.description || _request.themeId || "API Cache Improvement";
|
|
21257
21257
|
const _titleDisplay = _title.length > 25 ? _title.substring(0, 22) + "..." : _title;
|
|
21258
21258
|
const _titleLabel = ` ${_labels._title}:`;
|
|
21259
21259
|
console.log(
|
|
21260
|
-
|
|
21260
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21261
21261
|
`${_titleLabel} ${_titleDisplay}${" ".repeat(Math.max(0, 42 - _titleLabel.length - _titleDisplay.length))}`
|
|
21262
|
-
) +
|
|
21262
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21263
21263
|
);
|
|
21264
21264
|
const _riskLevel = this.formatRiskLevelSimple(_request.riskAssessment);
|
|
21265
21265
|
const _approvalsCount = _riskLevel === "HIGH" || _riskLevel === "CRITICAL" ? "2" : "1";
|
|
@@ -21267,37 +21267,37 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21267
21267
|
const _levelLabel = ` ${_labels.level}:`;
|
|
21268
21268
|
const _levelDisplay = `${_riskLevel} ${_approvalsText}`;
|
|
21269
21269
|
console.log(
|
|
21270
|
-
|
|
21270
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21271
21271
|
`${_levelLabel} ${_levelDisplay}${" ".repeat(Math.max(0, 42 - _levelLabel.length - _levelDisplay.length))}`
|
|
21272
|
-
) +
|
|
21272
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21273
21273
|
);
|
|
21274
21274
|
const _impact = _request.estimatedTime || "p95 latency -20%";
|
|
21275
21275
|
const _impactLabel = ` ${_labels._impact}:`;
|
|
21276
21276
|
console.log(
|
|
21277
|
-
|
|
21277
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21278
21278
|
`${_impactLabel} ${_impact}${" ".repeat(Math.max(0, 42 - _impactLabel.length - _impact.length))}`
|
|
21279
|
-
) +
|
|
21279
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21280
21280
|
);
|
|
21281
21281
|
const _approversLabel = ` ${_labels.approvers}:`;
|
|
21282
21282
|
const _approversStatus = "[x] Lead [ ] QA";
|
|
21283
21283
|
console.log(
|
|
21284
|
-
|
|
21284
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21285
21285
|
`${_approversLabel} ${_approversStatus}${" ".repeat(Math.max(0, 42 - _approversLabel.length - _approversStatus.length))}`
|
|
21286
|
-
) +
|
|
21286
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21287
21287
|
);
|
|
21288
21288
|
const _deadline = new Date(Date.now() + 30 * 60 * 1e3);
|
|
21289
21289
|
const _timeStr = `${_deadline.getFullYear()}-${String(_deadline.getMonth() + 1).padStart(2, "0")}-${String(_deadline.getDate()).padStart(2, "0")} ${String(_deadline.getHours()).padStart(2, "0")}:${String(_deadline.getMinutes()).padStart(2, "0")}`;
|
|
21290
21290
|
const _deadlineLabel = ` ${_labels._deadline}:`;
|
|
21291
21291
|
console.log(
|
|
21292
|
-
|
|
21292
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21293
21293
|
`${_deadlineLabel} ${_timeStr}${" ".repeat(Math.max(0, 42 - _deadlineLabel.length - _timeStr.length))}`
|
|
21294
|
-
) +
|
|
21294
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21295
21295
|
);
|
|
21296
|
-
console.log(
|
|
21296
|
+
console.log(chalk28__default.default.gray("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524"));
|
|
21297
21297
|
console.log(
|
|
21298
|
-
|
|
21298
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21299
21299
|
` ${_labels.actions}:${" ".repeat(Math.max(0, 42 - _labels.actions.length))}`
|
|
21300
|
-
) +
|
|
21300
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21301
21301
|
);
|
|
21302
21302
|
this.menuOptions.forEach((option, _index) => {
|
|
21303
21303
|
const _isSelected = _index === this.selectedIndex;
|
|
@@ -21308,32 +21308,32 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21308
21308
|
switch (option) {
|
|
21309
21309
|
case "approve":
|
|
21310
21310
|
label = _labels.approve;
|
|
21311
|
-
color =
|
|
21311
|
+
color = chalk28__default.default.green;
|
|
21312
21312
|
break;
|
|
21313
21313
|
case "reject":
|
|
21314
21314
|
label = _labels.reject;
|
|
21315
|
-
color =
|
|
21315
|
+
color = chalk28__default.default.red;
|
|
21316
21316
|
break;
|
|
21317
21317
|
case "cancel":
|
|
21318
21318
|
label = _labels.cancel;
|
|
21319
|
-
color =
|
|
21319
|
+
color = chalk28__default.default.yellow;
|
|
21320
21320
|
break;
|
|
21321
21321
|
}
|
|
21322
21322
|
const _optionText = `${_prefix}[${_key}] ${label}`;
|
|
21323
21323
|
const _colorFunc = _isSelected ? color.bold : color;
|
|
21324
21324
|
console.log(
|
|
21325
|
-
|
|
21325
|
+
chalk28__default.default.gray("\u2502") + _colorFunc(
|
|
21326
21326
|
`${_optionText}${" ".repeat(Math.max(0, 43 - _optionText.length))}`
|
|
21327
|
-
) +
|
|
21327
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21328
21328
|
);
|
|
21329
21329
|
});
|
|
21330
|
-
console.log(
|
|
21330
|
+
console.log(chalk28__default.default.gray("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524"));
|
|
21331
21331
|
console.log(
|
|
21332
|
-
|
|
21332
|
+
chalk28__default.default.gray("\u2502") + chalk28__default.default.white(
|
|
21333
21333
|
` ${_labels.moveInstruction}${" ".repeat(Math.max(0, 43 - _labels.moveInstruction.length))}`
|
|
21334
|
-
) +
|
|
21334
|
+
) + chalk28__default.default.gray("\u2502")
|
|
21335
21335
|
);
|
|
21336
|
-
console.log(
|
|
21336
|
+
console.log(chalk28__default.default.gray("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"));
|
|
21337
21337
|
console.log("");
|
|
21338
21338
|
}
|
|
21339
21339
|
/**
|
|
@@ -21349,13 +21349,13 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21349
21349
|
};
|
|
21350
21350
|
const _formatted = keyMap[_key] || _key;
|
|
21351
21351
|
const colorMap = {
|
|
21352
|
-
"shift+tab":
|
|
21353
|
-
"ctrl+y":
|
|
21354
|
-
"ctrl+n":
|
|
21355
|
-
"ctrl+t":
|
|
21356
|
-
"ctrl+r":
|
|
21352
|
+
"shift+tab": chalk28__default.default.bgGreen.black.bold,
|
|
21353
|
+
"ctrl+y": chalk28__default.default.bgBlue.white.bold,
|
|
21354
|
+
"ctrl+n": chalk28__default.default.bgRed.white.bold,
|
|
21355
|
+
"ctrl+t": chalk28__default.default.bgMagenta.white.bold,
|
|
21356
|
+
"ctrl+r": chalk28__default.default.bgYellow.black.bold
|
|
21357
21357
|
};
|
|
21358
|
-
const _colorFunc = colorMap[_key] ||
|
|
21358
|
+
const _colorFunc = colorMap[_key] || chalk28__default.default.bgCyan.black.bold;
|
|
21359
21359
|
return _colorFunc(` ${_formatted} `);
|
|
21360
21360
|
}
|
|
21361
21361
|
/**
|
|
@@ -21364,15 +21364,15 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21364
21364
|
formatRiskLevel(risk) {
|
|
21365
21365
|
switch (risk.toLowerCase()) {
|
|
21366
21366
|
case "critical":
|
|
21367
|
-
return
|
|
21367
|
+
return chalk28__default.default.red.bold("CRITICAL");
|
|
21368
21368
|
case "high":
|
|
21369
|
-
return
|
|
21369
|
+
return chalk28__default.default.red("HIGH");
|
|
21370
21370
|
case "medium":
|
|
21371
|
-
return
|
|
21371
|
+
return chalk28__default.default.yellow("MEDIUM");
|
|
21372
21372
|
case "low":
|
|
21373
|
-
return
|
|
21373
|
+
return chalk28__default.default.green("LOW");
|
|
21374
21374
|
default:
|
|
21375
|
-
return
|
|
21375
|
+
return chalk28__default.default.white(risk);
|
|
21376
21376
|
}
|
|
21377
21377
|
}
|
|
21378
21378
|
/**
|
|
@@ -21442,7 +21442,7 @@ var init_QuickApprovalInterface = __esm({
|
|
|
21442
21442
|
}
|
|
21443
21443
|
if (_key === "") {
|
|
21444
21444
|
console.log(`
|
|
21445
|
-
${
|
|
21445
|
+
${chalk28__default.default.red("Approval cancelled by user")}`);
|
|
21446
21446
|
this.emit("approval-cancelled", this.currentRequest.id);
|
|
21447
21447
|
return;
|
|
21448
21448
|
}
|
|
@@ -21499,20 +21499,20 @@ ${chalk27__default.default.red("Approval cancelled by user")}`);
|
|
|
21499
21499
|
}
|
|
21500
21500
|
console.clear();
|
|
21501
21501
|
console.log(`
|
|
21502
|
-
${
|
|
21502
|
+
${chalk28__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21503
21503
|
console.log(
|
|
21504
|
-
|
|
21504
|
+
chalk28__default.default.bgGreen.black.bold("\u2502") + chalk28__default.default.bgGreen.black.bold(
|
|
21505
21505
|
` \u2713 CHOICE SELECTED / \u9078\u629E\u5B8C\u4E86:${" ".repeat(47)}`
|
|
21506
|
-
) +
|
|
21506
|
+
) + chalk28__default.default.bgGreen.black.bold("\u2502")
|
|
21507
21507
|
);
|
|
21508
|
-
console.log(
|
|
21508
|
+
console.log(chalk28__default.default.bgGreen.black.bold(`\u251C${"\u2500".repeat(78)}\u2524`));
|
|
21509
21509
|
const _choiceText = `${_choice.label} (${_choice.labelJa})`;
|
|
21510
21510
|
const _padding = " ".repeat(Math.max(0, 76 - _choiceText.length));
|
|
21511
21511
|
console.log(
|
|
21512
|
-
|
|
21512
|
+
chalk28__default.default.bgGreen.black.bold("\u2502") + chalk28__default.default.bgGreen.black.bold(` ${_choiceText}${_padding}`) + chalk28__default.default.bgGreen.black.bold("\u2502")
|
|
21513
21513
|
);
|
|
21514
|
-
console.log(
|
|
21515
|
-
console.log(
|
|
21514
|
+
console.log(chalk28__default.default.bgGreen.black.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21515
|
+
console.log(chalk28__default.default.yellow("\n\u{1F504} Processing your approval decision..."));
|
|
21516
21516
|
try {
|
|
21517
21517
|
const _response = await this.approvalEngine.processApprovalResponse(
|
|
21518
21518
|
this.currentRequest.id,
|
|
@@ -21522,30 +21522,30 @@ ${chalk27__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u251
|
|
|
21522
21522
|
);
|
|
21523
21523
|
response.quickDecision = true;
|
|
21524
21524
|
console.log(`
|
|
21525
|
-
${
|
|
21525
|
+
${chalk28__default.default.bgGreen.black(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21526
21526
|
console.log(
|
|
21527
|
-
|
|
21527
|
+
chalk28__default.default.bgGreen.black("\u2502") + chalk28__default.default.bgGreen.black(
|
|
21528
21528
|
` \u{1F389} APPROVAL PROCESSED SUCCESSFULLY / \u627F\u8A8D\u51E6\u7406\u5B8C\u4E86!${" ".repeat(32)}`
|
|
21529
|
-
) +
|
|
21529
|
+
) + chalk28__default.default.bgGreen.black("\u2502")
|
|
21530
21530
|
);
|
|
21531
|
-
console.log(
|
|
21531
|
+
console.log(chalk28__default.default.bgGreen.black(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21532
21532
|
if (_choice.trustLevel) {
|
|
21533
21533
|
console.log(
|
|
21534
|
-
|
|
21534
|
+
chalk28__default.default.blue(`
|
|
21535
21535
|
\u2728 Trust level updated: ${_choice.trustLevel}`)
|
|
21536
21536
|
);
|
|
21537
21537
|
}
|
|
21538
21538
|
this.emit("approval-_response", _response);
|
|
21539
21539
|
} catch (_error) {
|
|
21540
21540
|
console.log(`
|
|
21541
|
-
${
|
|
21541
|
+
${chalk28__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21542
21542
|
console.log(
|
|
21543
|
-
|
|
21543
|
+
chalk28__default.default.bgRed.white.bold("\u2502") + chalk28__default.default.bgRed.white.bold(
|
|
21544
21544
|
` \u274C ERROR PROCESSING APPROVAL / \u627F\u8A8D\u51E6\u7406\u30A8\u30E9\u30FC${" ".repeat(35)}`
|
|
21545
|
-
) +
|
|
21545
|
+
) + chalk28__default.default.bgRed.white.bold("\u2502")
|
|
21546
21546
|
);
|
|
21547
|
-
console.log(
|
|
21548
|
-
console._error(
|
|
21547
|
+
console.log(chalk28__default.default.bgRed.white.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21548
|
+
console._error(chalk28__default.default.red("\nError details:"), _error);
|
|
21549
21549
|
this.emit("approval-_error", _error);
|
|
21550
21550
|
}
|
|
21551
21551
|
}
|
|
@@ -21559,7 +21559,7 @@ ${chalk27__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`
|
|
|
21559
21559
|
timeoutId = setTimeout(() => {
|
|
21560
21560
|
console.log(
|
|
21561
21561
|
`
|
|
21562
|
-
${
|
|
21562
|
+
${chalk28__default.default.yellow("\u23F0 Approval request timed out - auto-approving...")}`
|
|
21563
21563
|
);
|
|
21564
21564
|
this.handleTimeoutResponse(resolve);
|
|
21565
21565
|
}, timeout);
|
|
@@ -21603,7 +21603,7 @@ ${chalk27__default.default.yellow("\u23F0 Approval request timed out - auto-appr
|
|
|
21603
21603
|
response.quickDecision = true;
|
|
21604
21604
|
resolve(_response);
|
|
21605
21605
|
} catch (_error) {
|
|
21606
|
-
console._error(
|
|
21606
|
+
console._error(chalk28__default.default.red("Error processing timeout approval:"), _error);
|
|
21607
21607
|
}
|
|
21608
21608
|
}
|
|
21609
21609
|
/**
|
|
@@ -21618,11 +21618,11 @@ ${chalk27__default.default.yellow("\u23F0 Approval request timed out - auto-appr
|
|
|
21618
21618
|
);
|
|
21619
21619
|
this.approvalEngine.on("trust-level-changed", (event) => {
|
|
21620
21620
|
console.log(
|
|
21621
|
-
|
|
21621
|
+
chalk28__default.default.blue(
|
|
21622
21622
|
`\u2728 Trust level changed: ${event.oldLevel} \u2192 ${event.newLevel}`
|
|
21623
21623
|
)
|
|
21624
21624
|
);
|
|
21625
|
-
console.log(
|
|
21625
|
+
console.log(chalk28__default.default.gray(`Reason: ${event.reason}`));
|
|
21626
21626
|
});
|
|
21627
21627
|
}
|
|
21628
21628
|
/**
|
|
@@ -22409,22 +22409,22 @@ function formatProgressBar(current, total, width = 20) {
|
|
|
22409
22409
|
}
|
|
22410
22410
|
function formatError(message, code) {
|
|
22411
22411
|
const prefix = "";
|
|
22412
|
-
return
|
|
22412
|
+
return chalk28__default.default.red(`\u274C ${prefix}${message}`);
|
|
22413
22413
|
}
|
|
22414
22414
|
function formatSuccess(message) {
|
|
22415
|
-
return
|
|
22415
|
+
return chalk28__default.default.green(`\u2705 ${message}`);
|
|
22416
22416
|
}
|
|
22417
22417
|
function formatWarning(message) {
|
|
22418
|
-
return
|
|
22418
|
+
return chalk28__default.default.yellow(`\u26A0\uFE0F ${message}`);
|
|
22419
22419
|
}
|
|
22420
22420
|
function formatInfo(message) {
|
|
22421
|
-
return
|
|
22421
|
+
return chalk28__default.default.blue(`\u2139\uFE0F ${message}`);
|
|
22422
22422
|
}
|
|
22423
22423
|
function formatTable(headers, rows, options2 = {}) {
|
|
22424
22424
|
const {
|
|
22425
22425
|
columnWidths = headers.map(() => 20),
|
|
22426
22426
|
separator = " | ",
|
|
22427
|
-
headerColor =
|
|
22427
|
+
headerColor = chalk28__default.default.cyan.bold
|
|
22428
22428
|
} = options2;
|
|
22429
22429
|
const headerRow = headers.map((h2, i2) => headerColor(h2.padEnd(columnWidths[i2]))).join(separator);
|
|
22430
22430
|
const separatorLine = columnWidths.map((w) => "-".repeat(w)).join(separator);
|
|
@@ -22436,8 +22436,8 @@ function formatTable(headers, rows, options2 = {}) {
|
|
|
22436
22436
|
function formatKeyValue(data2, options2 = {}) {
|
|
22437
22437
|
const {
|
|
22438
22438
|
keyWidth = 20,
|
|
22439
|
-
keyColor =
|
|
22440
|
-
valueColor =
|
|
22439
|
+
keyColor = chalk28__default.default.gray,
|
|
22440
|
+
valueColor = chalk28__default.default.white,
|
|
22441
22441
|
separator = ": "
|
|
22442
22442
|
} = options2;
|
|
22443
22443
|
return Object.entries(data2).map(([key2, value]) => {
|
|
@@ -22487,7 +22487,7 @@ var init_DisplayManager = __esm({
|
|
|
22487
22487
|
theme: options2.theme ?? "auto"
|
|
22488
22488
|
};
|
|
22489
22489
|
if (!this.options.enableColors) {
|
|
22490
|
-
|
|
22490
|
+
chalk28__default.default.level = 0;
|
|
22491
22491
|
}
|
|
22492
22492
|
this.setupCleanupHandlers();
|
|
22493
22493
|
}
|
|
@@ -22604,7 +22604,7 @@ var init_DisplayManager = __esm({
|
|
|
22604
22604
|
const {
|
|
22605
22605
|
padding = 1,
|
|
22606
22606
|
borderStyle = "single",
|
|
22607
|
-
borderColor =
|
|
22607
|
+
borderColor = chalk28__default.default.gray
|
|
22608
22608
|
} = options2;
|
|
22609
22609
|
const lines = content2.split("\n");
|
|
22610
22610
|
const maxLength = Math.max(...lines.map((l) => l.length));
|
|
@@ -22662,7 +22662,7 @@ var init_DisplayManager = __esm({
|
|
|
22662
22662
|
*/
|
|
22663
22663
|
startSpinner(text) {
|
|
22664
22664
|
if (!this.options.enableAnimations) {
|
|
22665
|
-
this.writeLine(
|
|
22665
|
+
this.writeLine(chalk28__default.default.gray(`\u2299 ${text || "Processing..."}`));
|
|
22666
22666
|
return "no-animation";
|
|
22667
22667
|
}
|
|
22668
22668
|
return this.spinnerManager.start({ text });
|
|
@@ -22766,11 +22766,11 @@ var init_StatusDisplay = __esm({
|
|
|
22766
22766
|
*/
|
|
22767
22767
|
static renderSystemStatus(status, detailed = false) {
|
|
22768
22768
|
const lines = [];
|
|
22769
|
-
lines.push(
|
|
22769
|
+
lines.push(chalk28__default.default.cyan.bold("\u{1F4CA} System Status"));
|
|
22770
22770
|
lines.push("");
|
|
22771
22771
|
const statusIcon = status.operational ? "\u2705" : "\u274C";
|
|
22772
22772
|
const statusText = status.operational ? "Operational" : "Issues Detected";
|
|
22773
|
-
const statusColor = status.operational ?
|
|
22773
|
+
const statusColor = status.operational ? chalk28__default.default.green : chalk28__default.default.red;
|
|
22774
22774
|
lines.push(`${statusIcon} Status: ${statusColor(statusText)}`);
|
|
22775
22775
|
lines.push(
|
|
22776
22776
|
`\u23F1\uFE0F Uptime: ${formatDuration(status.uptime * 1e3)}`
|
|
@@ -22791,15 +22791,15 @@ var init_StatusDisplay = __esm({
|
|
|
22791
22791
|
if (status.errors > 0 || status.warnings > 0) {
|
|
22792
22792
|
lines.push("");
|
|
22793
22793
|
if (status.errors > 0) {
|
|
22794
|
-
lines.push(
|
|
22794
|
+
lines.push(chalk28__default.default.red(`\u274C Errors: ${status.errors}`));
|
|
22795
22795
|
}
|
|
22796
22796
|
if (status.warnings > 0) {
|
|
22797
|
-
lines.push(
|
|
22797
|
+
lines.push(chalk28__default.default.yellow(`\u26A0\uFE0F Warnings: ${status.warnings}`));
|
|
22798
22798
|
}
|
|
22799
22799
|
}
|
|
22800
22800
|
if (detailed) {
|
|
22801
22801
|
lines.push("");
|
|
22802
|
-
lines.push(
|
|
22802
|
+
lines.push(chalk28__default.default.gray("Detailed Information:"));
|
|
22803
22803
|
const details = formatKeyValue(
|
|
22804
22804
|
{
|
|
22805
22805
|
"Process ID": process.pid,
|
|
@@ -22809,8 +22809,8 @@ var init_StatusDisplay = __esm({
|
|
|
22809
22809
|
"Working Directory": process.cwd()
|
|
22810
22810
|
},
|
|
22811
22811
|
{
|
|
22812
|
-
keyColor:
|
|
22813
|
-
valueColor:
|
|
22812
|
+
keyColor: chalk28__default.default.gray,
|
|
22813
|
+
valueColor: chalk28__default.default.white
|
|
22814
22814
|
}
|
|
22815
22815
|
);
|
|
22816
22816
|
lines.push(details);
|
|
@@ -22824,9 +22824,9 @@ var init_StatusDisplay = __esm({
|
|
|
22824
22824
|
*/
|
|
22825
22825
|
static renderMemoryStatus(status) {
|
|
22826
22826
|
const lines = [];
|
|
22827
|
-
lines.push(
|
|
22827
|
+
lines.push(chalk28__default.default.cyan.bold("\u{1F9E0} Memory Status"));
|
|
22828
22828
|
lines.push("");
|
|
22829
|
-
lines.push(
|
|
22829
|
+
lines.push(chalk28__default.default.yellow("System 1 (Fast):"));
|
|
22830
22830
|
const s1NodeBar = formatProgressBar(
|
|
22831
22831
|
status.system1.nodes,
|
|
22832
22832
|
status.system1.maxNodes,
|
|
@@ -22844,7 +22844,7 @@ var init_StatusDisplay = __esm({
|
|
|
22844
22844
|
` \u2022 Tokens: ${status.system1.tokens}/${status.system1.maxTokens} ${s1TokenBar}`
|
|
22845
22845
|
);
|
|
22846
22846
|
lines.push("");
|
|
22847
|
-
lines.push(
|
|
22847
|
+
lines.push(chalk28__default.default.blue("System 2 (Deep):"));
|
|
22848
22848
|
const s2TraceBar = formatProgressBar(
|
|
22849
22849
|
status.system2.traces,
|
|
22850
22850
|
status.system2.maxTraces,
|
|
@@ -22862,7 +22862,7 @@ var init_StatusDisplay = __esm({
|
|
|
22862
22862
|
` \u2022 Tokens: ${status.system2.tokens}/${status.system2.maxTokens} ${s2TokenBar}`
|
|
22863
22863
|
);
|
|
22864
22864
|
lines.push("");
|
|
22865
|
-
lines.push(
|
|
22865
|
+
lines.push(chalk28__default.default.green("Total:"));
|
|
22866
22866
|
const totalBar = formatProgressBar(
|
|
22867
22867
|
status.total.tokens,
|
|
22868
22868
|
status.total.maxTokens,
|
|
@@ -22871,7 +22871,7 @@ var init_StatusDisplay = __esm({
|
|
|
22871
22871
|
lines.push(` \u2022 Tokens: ${status.total.tokens}/${status.total.maxTokens}`);
|
|
22872
22872
|
lines.push(` \u2022 Usage: ${totalBar}`);
|
|
22873
22873
|
const usage = status.total.tokens / status.total.maxTokens * 100;
|
|
22874
|
-
const usageColor = usage > 80 ?
|
|
22874
|
+
const usageColor = usage > 80 ? chalk28__default.default.red : usage > 60 ? chalk28__default.default.yellow : chalk28__default.default.green;
|
|
22875
22875
|
lines.push(
|
|
22876
22876
|
` \u2022 ${usageColor(formatPercentage(usage / 100, 1))} utilized`
|
|
22877
22877
|
);
|
|
@@ -22884,9 +22884,9 @@ var init_StatusDisplay = __esm({
|
|
|
22884
22884
|
*/
|
|
22885
22885
|
static renderModelStatus(status) {
|
|
22886
22886
|
const lines = [];
|
|
22887
|
-
lines.push(
|
|
22887
|
+
lines.push(chalk28__default.default.cyan.bold("\u{1F916} Model Status"));
|
|
22888
22888
|
lines.push("");
|
|
22889
|
-
lines.push(
|
|
22889
|
+
lines.push(chalk28__default.default.green(`Current: ${chalk28__default.default.bold(status.current)}`));
|
|
22890
22890
|
lines.push("");
|
|
22891
22891
|
lines.push("Available Models:");
|
|
22892
22892
|
const headers = ["Model", "Provider", "Status", "Capabilities"];
|
|
@@ -22898,7 +22898,7 @@ var init_StatusDisplay = __esm({
|
|
|
22898
22898
|
const table = formatTable(headers, rows, {
|
|
22899
22899
|
columnWidths: [20, 15, 8, 30],
|
|
22900
22900
|
separator: " \u2502 ",
|
|
22901
|
-
headerColor:
|
|
22901
|
+
headerColor: chalk28__default.default.gray
|
|
22902
22902
|
});
|
|
22903
22903
|
lines.push(table);
|
|
22904
22904
|
return lines.join("\n");
|
|
@@ -22910,19 +22910,19 @@ var init_StatusDisplay = __esm({
|
|
|
22910
22910
|
*/
|
|
22911
22911
|
static renderHealthChecks(checks) {
|
|
22912
22912
|
const lines = [];
|
|
22913
|
-
lines.push(
|
|
22913
|
+
lines.push(chalk28__default.default.cyan.bold("\u{1F3E5} Health Checks"));
|
|
22914
22914
|
lines.push("");
|
|
22915
22915
|
for (const check of checks) {
|
|
22916
22916
|
const icon = check.status === "ok" ? "\u2705" : check.status === "warning" ? "\u26A0\uFE0F" : "\u274C";
|
|
22917
|
-
const statusColor = check.status === "ok" ?
|
|
22917
|
+
const statusColor = check.status === "ok" ? chalk28__default.default.green : check.status === "warning" ? chalk28__default.default.yellow : chalk28__default.default.red;
|
|
22918
22918
|
let line = `${icon} ${check.name.padEnd(25)} ${statusColor(check.status.toUpperCase())}`;
|
|
22919
22919
|
if (check.latency !== void 0) {
|
|
22920
|
-
const latencyColor = check.latency < 100 ?
|
|
22920
|
+
const latencyColor = check.latency < 100 ? chalk28__default.default.green : check.latency < 500 ? chalk28__default.default.yellow : chalk28__default.default.red;
|
|
22921
22921
|
line += ` ${latencyColor(`(${check.latency}ms)`)}`;
|
|
22922
22922
|
}
|
|
22923
22923
|
lines.push(line);
|
|
22924
22924
|
if (check.message) {
|
|
22925
|
-
lines.push(
|
|
22925
|
+
lines.push(chalk28__default.default.gray(` ${check.message}`));
|
|
22926
22926
|
}
|
|
22927
22927
|
}
|
|
22928
22928
|
lines.push("");
|
|
@@ -22931,16 +22931,16 @@ var init_StatusDisplay = __esm({
|
|
|
22931
22931
|
const errorCount = checks.filter((c) => c.status === "error").length;
|
|
22932
22932
|
if (errorCount > 0) {
|
|
22933
22933
|
lines.push(
|
|
22934
|
-
|
|
22934
|
+
chalk28__default.default.red(
|
|
22935
22935
|
`\u26A0\uFE0F System has ${errorCount} error(s) - intervention required`
|
|
22936
22936
|
)
|
|
22937
22937
|
);
|
|
22938
22938
|
} else if (warningCount > 0) {
|
|
22939
22939
|
lines.push(
|
|
22940
|
-
|
|
22940
|
+
chalk28__default.default.yellow(`\u26A0\uFE0F System operational with ${warningCount} warning(s)`)
|
|
22941
22941
|
);
|
|
22942
22942
|
} else {
|
|
22943
|
-
lines.push(
|
|
22943
|
+
lines.push(chalk28__default.default.green("\u2705 All systems operational"));
|
|
22944
22944
|
}
|
|
22945
22945
|
return lines.join("\n");
|
|
22946
22946
|
}
|
|
@@ -22951,7 +22951,7 @@ var init_StatusDisplay = __esm({
|
|
|
22951
22951
|
*/
|
|
22952
22952
|
static renderSessionStats(stats) {
|
|
22953
22953
|
const lines = [];
|
|
22954
|
-
lines.push(
|
|
22954
|
+
lines.push(chalk28__default.default.cyan.bold("\u{1F4C8} Session Statistics"));
|
|
22955
22955
|
lines.push("");
|
|
22956
22956
|
const data2 = formatKeyValue(
|
|
22957
22957
|
{
|
|
@@ -22964,14 +22964,14 @@ var init_StatusDisplay = __esm({
|
|
|
22964
22964
|
},
|
|
22965
22965
|
{
|
|
22966
22966
|
keyWidth: 20,
|
|
22967
|
-
keyColor:
|
|
22968
|
-
valueColor:
|
|
22967
|
+
keyColor: chalk28__default.default.gray,
|
|
22968
|
+
valueColor: chalk28__default.default.white
|
|
22969
22969
|
}
|
|
22970
22970
|
);
|
|
22971
22971
|
lines.push(data2);
|
|
22972
22972
|
lines.push("");
|
|
22973
22973
|
const performance3 = stats.avgResponseTime < 100 ? "Excellent" : stats.avgResponseTime < 500 ? "Good" : stats.avgResponseTime < 1e3 ? "Fair" : "Poor";
|
|
22974
|
-
const perfColor = performance3 === "Excellent" ?
|
|
22974
|
+
const perfColor = performance3 === "Excellent" ? chalk28__default.default.green : performance3 === "Good" ? chalk28__default.default.blue : performance3 === "Fair" ? chalk28__default.default.yellow : chalk28__default.default.red;
|
|
22975
22975
|
lines.push(`Performance: ${perfColor(performance3)}`);
|
|
22976
22976
|
return lines.join("\n");
|
|
22977
22977
|
}
|
|
@@ -22983,22 +22983,22 @@ var init_StatusDisplay = __esm({
|
|
|
22983
22983
|
static renderStatusBar(data2) {
|
|
22984
22984
|
const segments = [];
|
|
22985
22985
|
if (data2.mode) {
|
|
22986
|
-
segments.push(
|
|
22986
|
+
segments.push(chalk28__default.default.cyan(`[${data2.mode}]`));
|
|
22987
22987
|
}
|
|
22988
22988
|
if (data2.model) {
|
|
22989
|
-
segments.push(
|
|
22989
|
+
segments.push(chalk28__default.default.blue(`\u{1F916} ${data2.model}`));
|
|
22990
22990
|
}
|
|
22991
22991
|
if (data2.memory !== void 0) {
|
|
22992
|
-
const memoryColor = data2.memory > 80 ?
|
|
22992
|
+
const memoryColor = data2.memory > 80 ? chalk28__default.default.red : data2.memory > 60 ? chalk28__default.default.yellow : chalk28__default.default.green;
|
|
22993
22993
|
segments.push(memoryColor(`\u{1F4BE} ${data2.memory}%`));
|
|
22994
22994
|
}
|
|
22995
22995
|
if (data2.latency !== void 0) {
|
|
22996
|
-
const latencyColor = data2.latency < 100 ?
|
|
22996
|
+
const latencyColor = data2.latency < 100 ? chalk28__default.default.green : data2.latency < 500 ? chalk28__default.default.yellow : chalk28__default.default.red;
|
|
22997
22997
|
segments.push(latencyColor(`\u26A1 ${data2.latency}ms`));
|
|
22998
22998
|
}
|
|
22999
22999
|
if (data2.time) {
|
|
23000
23000
|
segments.push(
|
|
23001
|
-
|
|
23001
|
+
chalk28__default.default.gray(formatTimestamp(data2.time, "short"))
|
|
23002
23002
|
);
|
|
23003
23003
|
}
|
|
23004
23004
|
return segments.join(" \u2502 ");
|
|
@@ -23017,7 +23017,7 @@ var init_CoreHandlers = __esm({
|
|
|
23017
23017
|
async execute(args2) {
|
|
23018
23018
|
const startTime = perf_hooks.performance.now();
|
|
23019
23019
|
const commands = this.registry.getCommands();
|
|
23020
|
-
let message =
|
|
23020
|
+
let message = chalk28__default.default.cyan(`\u{1F916} MARIA v3.5.0 - Available Commands
|
|
23021
23021
|
|
|
23022
23022
|
`);
|
|
23023
23023
|
const categories2 = {
|
|
@@ -23028,17 +23028,17 @@ var init_CoreHandlers = __esm({
|
|
|
23028
23028
|
system: ["/status", "/config", "/logs", "/approve"]
|
|
23029
23029
|
};
|
|
23030
23030
|
for (const [category, cmds] of Object.entries(categories2)) {
|
|
23031
|
-
message +=
|
|
23031
|
+
message += chalk28__default.default.yellow(`
|
|
23032
23032
|
${category.toUpperCase()}:
|
|
23033
23033
|
`);
|
|
23034
23034
|
for (const cmd of cmds) {
|
|
23035
23035
|
if (commands.includes(cmd)) {
|
|
23036
|
-
message += ` ${
|
|
23036
|
+
message += ` ${chalk28__default.default.green(cmd.padEnd(15))} - ${this.getCommandDescription(cmd)}
|
|
23037
23037
|
`;
|
|
23038
23038
|
}
|
|
23039
23039
|
}
|
|
23040
23040
|
}
|
|
23041
|
-
message +=
|
|
23041
|
+
message += chalk28__default.default.gray(
|
|
23042
23042
|
`
|
|
23043
23043
|
Type '/help <command>' for detailed information about a specific command.`
|
|
23044
23044
|
);
|
|
@@ -23086,7 +23086,7 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
23086
23086
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
23087
23087
|
return {
|
|
23088
23088
|
success: true,
|
|
23089
|
-
message:
|
|
23089
|
+
message: chalk28__default.default.gray("Terminal cleared."),
|
|
23090
23090
|
metadata: {
|
|
23091
23091
|
processingTime,
|
|
23092
23092
|
timestamp: /* @__PURE__ */ new Date()
|
|
@@ -23097,7 +23097,7 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
23097
23097
|
ExitHandler = class {
|
|
23098
23098
|
async execute(args2) {
|
|
23099
23099
|
const startTime = perf_hooks.performance.now();
|
|
23100
|
-
const message =
|
|
23100
|
+
const message = chalk28__default.default.green("\u{1F44B} Goodbye! Thank you for using MARIA.\n");
|
|
23101
23101
|
process.emit("SIGTERM");
|
|
23102
23102
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
23103
23103
|
return {
|
|
@@ -23121,23 +23121,23 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
23121
23121
|
platform: process.platform,
|
|
23122
23122
|
arch: process.arch
|
|
23123
23123
|
};
|
|
23124
|
-
let message =
|
|
23125
|
-
message +=
|
|
23124
|
+
let message = chalk28__default.default.cyan("\u{1F680} MARIA System Information\n\n");
|
|
23125
|
+
message += chalk28__default.default.white(` Version: ${chalk28__default.default.green(packageInfo.version)}
|
|
23126
23126
|
`);
|
|
23127
|
-
message +=
|
|
23127
|
+
message += chalk28__default.default.white(` Package: ${chalk28__default.default.green(packageInfo.name)}
|
|
23128
23128
|
`);
|
|
23129
|
-
message +=
|
|
23129
|
+
message += chalk28__default.default.white(` Node: ${chalk28__default.default.green(packageInfo.node)}
|
|
23130
23130
|
`);
|
|
23131
|
-
message +=
|
|
23132
|
-
` Platform: ${
|
|
23131
|
+
message += chalk28__default.default.white(
|
|
23132
|
+
` Platform: ${chalk28__default.default.green(packageInfo.platform)}
|
|
23133
23133
|
`
|
|
23134
23134
|
);
|
|
23135
|
-
message +=
|
|
23135
|
+
message += chalk28__default.default.white(` Arch: ${chalk28__default.default.green(packageInfo.arch)}
|
|
23136
23136
|
`);
|
|
23137
|
-
message +=
|
|
23137
|
+
message += chalk28__default.default.gray(`
|
|
23138
23138
|
Build: Production
|
|
23139
23139
|
`);
|
|
23140
|
-
message +=
|
|
23140
|
+
message += chalk28__default.default.gray(` License: MIT
|
|
23141
23141
|
`);
|
|
23142
23142
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
23143
23143
|
return {
|
|
@@ -23162,15 +23162,15 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
23162
23162
|
this.history.push("/history");
|
|
23163
23163
|
}
|
|
23164
23164
|
const recent = this.history.slice(-limit);
|
|
23165
|
-
let message =
|
|
23165
|
+
let message = chalk28__default.default.cyan(`\u{1F4DC} Command History (last ${recent.length}):
|
|
23166
23166
|
|
|
23167
23167
|
`);
|
|
23168
23168
|
recent.forEach((cmd, index2) => {
|
|
23169
23169
|
const num = this.history.length - recent.length + index2 + 1;
|
|
23170
|
-
message +=
|
|
23170
|
+
message += chalk28__default.default.gray(` ${num.toString().padStart(3)}: `) + chalk28__default.default.white(cmd) + "\n";
|
|
23171
23171
|
});
|
|
23172
23172
|
if (recent.length === 0) {
|
|
23173
|
-
message =
|
|
23173
|
+
message = chalk28__default.default.gray("No command history available.");
|
|
23174
23174
|
}
|
|
23175
23175
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
23176
23176
|
return {
|
|
@@ -23216,13 +23216,13 @@ var init_DevHandlers = __esm({
|
|
|
23216
23216
|
if (!prompt) {
|
|
23217
23217
|
return {
|
|
23218
23218
|
ok: false,
|
|
23219
|
-
message:
|
|
23219
|
+
message: chalk28__default.default.red("\u274C Please provide a code generation request.\n") + chalk28__default.default.gray("Usage: /code <description>\n") + chalk28__default.default.gray("Example: /code create a React button component")
|
|
23220
23220
|
};
|
|
23221
23221
|
}
|
|
23222
23222
|
if (signal?.aborted) {
|
|
23223
23223
|
return {
|
|
23224
23224
|
ok: false,
|
|
23225
|
-
message:
|
|
23225
|
+
message: chalk28__default.default.yellow("Code generation canceled")
|
|
23226
23226
|
};
|
|
23227
23227
|
}
|
|
23228
23228
|
try {
|
|
@@ -23233,9 +23233,9 @@ var init_DevHandlers = __esm({
|
|
|
23233
23233
|
if (dryRun) {
|
|
23234
23234
|
return {
|
|
23235
23235
|
ok: true,
|
|
23236
|
-
message:
|
|
23237
|
-
`) +
|
|
23238
|
-
`) +
|
|
23236
|
+
message: chalk28__default.default.cyan("\u{1F50D} Dry run mode - would generate:\n") + chalk28__default.default.gray(`Language: ${language}
|
|
23237
|
+
`) + chalk28__default.default.gray(`Framework: ${framework || "none"}
|
|
23238
|
+
`) + chalk28__default.default.gray(`Prompt: ${cleanPrompt}`)
|
|
23239
23239
|
};
|
|
23240
23240
|
}
|
|
23241
23241
|
const generatedCode = `// Generated code for: ${cleanPrompt}
|
|
@@ -23247,7 +23247,7 @@ function generated() {
|
|
|
23247
23247
|
export { generated };`;
|
|
23248
23248
|
return {
|
|
23249
23249
|
ok: true,
|
|
23250
|
-
message:
|
|
23250
|
+
message: chalk28__default.default.green("\u2705 Code generated successfully:\n\n") + chalk28__default.default.gray("```" + language + "\n") + generatedCode + chalk28__default.default.gray("\n```"),
|
|
23251
23251
|
data: {
|
|
23252
23252
|
code: generatedCode,
|
|
23253
23253
|
language,
|
|
@@ -23260,7 +23260,7 @@ export { generated };`;
|
|
|
23260
23260
|
} catch (error2) {
|
|
23261
23261
|
return {
|
|
23262
23262
|
ok: false,
|
|
23263
|
-
message:
|
|
23263
|
+
message: chalk28__default.default.red(`Code generation failed: ${error2}`)
|
|
23264
23264
|
};
|
|
23265
23265
|
}
|
|
23266
23266
|
}
|
|
@@ -23274,7 +23274,7 @@ export { generated };`;
|
|
|
23274
23274
|
if (signal?.aborted) {
|
|
23275
23275
|
return {
|
|
23276
23276
|
ok: false,
|
|
23277
|
-
message:
|
|
23277
|
+
message: chalk28__default.default.yellow("Test operation canceled")
|
|
23278
23278
|
};
|
|
23279
23279
|
}
|
|
23280
23280
|
const subcommand = args2[0] || "run";
|
|
@@ -23290,8 +23290,8 @@ export { generated };`;
|
|
|
23290
23290
|
default:
|
|
23291
23291
|
return {
|
|
23292
23292
|
ok: false,
|
|
23293
|
-
message:
|
|
23294
|
-
`) +
|
|
23293
|
+
message: chalk28__default.default.red(`Unknown test subcommand: ${subcommand}
|
|
23294
|
+
`) + chalk28__default.default.gray("Available: generate, run, coverage")
|
|
23295
23295
|
};
|
|
23296
23296
|
}
|
|
23297
23297
|
}
|
|
@@ -23299,7 +23299,7 @@ export { generated };`;
|
|
|
23299
23299
|
if (!target) {
|
|
23300
23300
|
return {
|
|
23301
23301
|
ok: false,
|
|
23302
|
-
message:
|
|
23302
|
+
message: chalk28__default.default.red(
|
|
23303
23303
|
"Please specify a file or function to generate tests for"
|
|
23304
23304
|
)
|
|
23305
23305
|
};
|
|
@@ -23316,9 +23316,9 @@ describe("${target}", () => {
|
|
|
23316
23316
|
});`;
|
|
23317
23317
|
return {
|
|
23318
23318
|
ok: true,
|
|
23319
|
-
message:
|
|
23319
|
+
message: chalk28__default.default.green(`\u2705 Tests generated for ${target}:
|
|
23320
23320
|
|
|
23321
|
-
`) +
|
|
23321
|
+
`) + chalk28__default.default.gray("```typescript\n") + testCode + chalk28__default.default.gray("\n```"),
|
|
23322
23322
|
data: { testCode, framework, target }
|
|
23323
23323
|
};
|
|
23324
23324
|
}
|
|
@@ -23331,23 +23331,23 @@ describe("${target}", () => {
|
|
|
23331
23331
|
if (coverage) command += " --coverage";
|
|
23332
23332
|
return {
|
|
23333
23333
|
ok: true,
|
|
23334
|
-
message:
|
|
23335
|
-
`) +
|
|
23334
|
+
message: chalk28__default.default.cyan(`\u{1F9EA} Running tests...
|
|
23335
|
+
`) + chalk28__default.default.gray(`Command: ${command}
|
|
23336
23336
|
|
|
23337
|
-
`) +
|
|
23337
|
+
`) + chalk28__default.default.green("\u2705 All tests passed!"),
|
|
23338
23338
|
data: { command, passed: true }
|
|
23339
23339
|
};
|
|
23340
23340
|
}
|
|
23341
23341
|
async showCoverage(options2) {
|
|
23342
23342
|
return {
|
|
23343
23343
|
ok: true,
|
|
23344
|
-
message:
|
|
23344
|
+
message: chalk28__default.default.cyan("\u{1F4CA} Test Coverage Report:\n\n") + chalk28__default.default.gray("File".padEnd(40) + "% Stmts".padEnd(10) + "% Lines\n") + chalk28__default.default.gray("-".repeat(60) + "\n") + chalk28__default.default.green(
|
|
23345
23345
|
"SessionStateMachine.ts".padEnd(40) + "100.00".padEnd(10) + "100.00\n"
|
|
23346
|
-
) +
|
|
23346
|
+
) + chalk28__default.default.green(
|
|
23347
23347
|
"InputController.ts".padEnd(40) + "95.50".padEnd(10) + "94.20\n"
|
|
23348
|
-
) +
|
|
23348
|
+
) + chalk28__default.default.yellow(
|
|
23349
23349
|
"SessionManager.ts".padEnd(40) + "78.30".padEnd(10) + "76.50\n"
|
|
23350
|
-
) +
|
|
23350
|
+
) + chalk28__default.default.gray("-".repeat(60) + "\n") + chalk28__default.default.cyan("Total".padEnd(40) + "85.60".padEnd(10) + "84.30")
|
|
23351
23351
|
};
|
|
23352
23352
|
}
|
|
23353
23353
|
};
|
|
@@ -23361,33 +23361,33 @@ describe("${target}", () => {
|
|
|
23361
23361
|
if (!file) {
|
|
23362
23362
|
return {
|
|
23363
23363
|
ok: false,
|
|
23364
|
-
message:
|
|
23364
|
+
message: chalk28__default.default.red("Please specify a file to review\n") + chalk28__default.default.gray("Usage: /review <file> [--security] [--performance]")
|
|
23365
23365
|
};
|
|
23366
23366
|
}
|
|
23367
23367
|
const checkSecurity = args2.includes("--security");
|
|
23368
23368
|
const checkPerformance = args2.includes("--performance");
|
|
23369
|
-
let message =
|
|
23369
|
+
let message = chalk28__default.default.cyan(`\u{1F50D} Code Review for ${file}
|
|
23370
23370
|
|
|
23371
23371
|
`);
|
|
23372
|
-
message +=
|
|
23373
|
-
message +=
|
|
23374
|
-
message +=
|
|
23375
|
-
message +=
|
|
23372
|
+
message += chalk28__default.default.yellow("\u26A0\uFE0F Issues Found (3):\n");
|
|
23373
|
+
message += chalk28__default.default.gray(" 1. Line 42: ") + chalk28__default.default.yellow("Missing error handling in async function\n");
|
|
23374
|
+
message += chalk28__default.default.gray(" 2. Line 89: ") + chalk28__default.default.yellow("Potential memory leak - event listener not removed\n");
|
|
23375
|
+
message += chalk28__default.default.gray(" 3. Line 156: ") + chalk28__default.default.yellow(
|
|
23376
23376
|
"Complex function - consider refactoring (cyclomatic complexity: 12)\n\n"
|
|
23377
23377
|
);
|
|
23378
23378
|
if (checkSecurity) {
|
|
23379
|
-
message +=
|
|
23380
|
-
message +=
|
|
23379
|
+
message += chalk28__default.default.red("\u{1F512} Security Issues (1):\n");
|
|
23380
|
+
message += chalk28__default.default.gray(" 1. Line 67: ") + chalk28__default.default.red("Potential XSS vulnerability - user input not sanitized\n\n");
|
|
23381
23381
|
}
|
|
23382
23382
|
if (checkPerformance) {
|
|
23383
|
-
message +=
|
|
23384
|
-
message +=
|
|
23385
|
-
message +=
|
|
23386
|
-
}
|
|
23387
|
-
message +=
|
|
23388
|
-
message +=
|
|
23389
|
-
message +=
|
|
23390
|
-
message +=
|
|
23383
|
+
message += chalk28__default.default.blue("\u26A1 Performance Suggestions (2):\n");
|
|
23384
|
+
message += chalk28__default.default.gray(" 1. Line 23: ") + chalk28__default.default.blue("Consider memoization for expensive calculation\n");
|
|
23385
|
+
message += chalk28__default.default.gray(" 2. Line 145: ") + chalk28__default.default.blue("Use virtualization for large list rendering\n\n");
|
|
23386
|
+
}
|
|
23387
|
+
message += chalk28__default.default.green("\u2705 Positive Findings:\n");
|
|
23388
|
+
message += chalk28__default.default.gray(" \u2022 Good TypeScript type coverage (92%)\n");
|
|
23389
|
+
message += chalk28__default.default.gray(" \u2022 Consistent code style\n");
|
|
23390
|
+
message += chalk28__default.default.gray(" \u2022 Well-documented functions\n");
|
|
23391
23391
|
return {
|
|
23392
23392
|
ok: true,
|
|
23393
23393
|
message,
|
|
@@ -23417,8 +23417,8 @@ describe("${target}", () => {
|
|
|
23417
23417
|
default:
|
|
23418
23418
|
return {
|
|
23419
23419
|
ok: false,
|
|
23420
|
-
message:
|
|
23421
|
-
`) +
|
|
23420
|
+
message: chalk28__default.default.red(`Unknown bug subcommand: ${subcommand}
|
|
23421
|
+
`) + chalk28__default.default.gray("Available: report, list, analyze")
|
|
23422
23422
|
};
|
|
23423
23423
|
}
|
|
23424
23424
|
}
|
|
@@ -23427,18 +23427,18 @@ describe("${target}", () => {
|
|
|
23427
23427
|
if (!description) {
|
|
23428
23428
|
return {
|
|
23429
23429
|
ok: false,
|
|
23430
|
-
message:
|
|
23430
|
+
message: chalk28__default.default.red("Please provide a bug description")
|
|
23431
23431
|
};
|
|
23432
23432
|
}
|
|
23433
23433
|
const bugId = `BUG-${Date.now().toString(36).toUpperCase()}`;
|
|
23434
23434
|
return {
|
|
23435
23435
|
ok: true,
|
|
23436
|
-
message:
|
|
23436
|
+
message: chalk28__default.default.green(`\u{1F41B} Bug reported successfully!
|
|
23437
23437
|
|
|
23438
|
-
`) +
|
|
23439
|
-
`) +
|
|
23440
|
-
`) +
|
|
23441
|
-
`) +
|
|
23438
|
+
`) + chalk28__default.default.cyan(`Bug ID: ${bugId}
|
|
23439
|
+
`) + chalk28__default.default.gray(`Description: ${description}
|
|
23440
|
+
`) + chalk28__default.default.gray(`Status: Open
|
|
23441
|
+
`) + chalk28__default.default.gray(`Priority: To be determined
|
|
23442
23442
|
`),
|
|
23443
23443
|
data: { bugId, description, status: "open" }
|
|
23444
23444
|
};
|
|
@@ -23446,23 +23446,23 @@ describe("${target}", () => {
|
|
|
23446
23446
|
async listBugs() {
|
|
23447
23447
|
return {
|
|
23448
23448
|
ok: true,
|
|
23449
|
-
message:
|
|
23449
|
+
message: chalk28__default.default.cyan("\u{1F41B} Active Bugs:\n\n") + chalk28__default.default.yellow("1. BUG-A1B2C3: ") + chalk28__default.default.gray("Session timeout not handled properly\n") + chalk28__default.default.yellow("2. BUG-D4E5F6: ") + chalk28__default.default.gray("Memory leak in streaming responses\n") + chalk28__default.default.yellow("3. BUG-G7H8I9: ") + chalk28__default.default.gray("Spinner not stopping on error\n\n") + chalk28__default.default.gray("Total: 3 open bugs")
|
|
23450
23450
|
};
|
|
23451
23451
|
}
|
|
23452
23452
|
async analyzeBug(bugId) {
|
|
23453
23453
|
if (!bugId) {
|
|
23454
23454
|
return {
|
|
23455
23455
|
ok: false,
|
|
23456
|
-
message:
|
|
23456
|
+
message: chalk28__default.default.red("Please provide a bug ID to analyze")
|
|
23457
23457
|
};
|
|
23458
23458
|
}
|
|
23459
23459
|
return {
|
|
23460
23460
|
ok: true,
|
|
23461
|
-
message:
|
|
23461
|
+
message: chalk28__default.default.cyan(`\u{1F50D} Bug Analysis for ${bugId}:
|
|
23462
23462
|
|
|
23463
|
-
`) +
|
|
23463
|
+
`) + chalk28__default.default.yellow("Summary: ") + chalk28__default.default.gray("Session timeout not handled properly\n") + chalk28__default.default.yellow("Severity: ") + chalk28__default.default.orange("Medium\n") + chalk28__default.default.yellow("Component: ") + chalk28__default.default.gray("SessionManager\n") + chalk28__default.default.yellow("Reported: ") + chalk28__default.default.gray("2 days ago\n\n") + chalk28__default.default.cyan("Possible Causes:\n") + chalk28__default.default.gray(
|
|
23464
23464
|
" 1. AbortSignal not propagated to all async operations\n"
|
|
23465
|
-
) +
|
|
23465
|
+
) + chalk28__default.default.gray(" 2. Deadline timer not cleared on completion\n") + chalk28__default.default.gray(" 3. Race condition in state transitions\n\n") + chalk28__default.default.green("Suggested Fix:\n") + chalk28__default.default.gray(" Ensure all async operations respect the AbortSignal\n") + chalk28__default.default.gray(" Add finally block to clear timers\n")
|
|
23466
23466
|
};
|
|
23467
23467
|
}
|
|
23468
23468
|
};
|
|
@@ -23486,7 +23486,7 @@ var init_SystemHandlers = __esm({
|
|
|
23486
23486
|
if (signal?.aborted) {
|
|
23487
23487
|
return {
|
|
23488
23488
|
ok: false,
|
|
23489
|
-
message:
|
|
23489
|
+
message: chalk28__default.default.yellow("Status check canceled")
|
|
23490
23490
|
};
|
|
23491
23491
|
}
|
|
23492
23492
|
const verbose = args2.includes("--verbose") || args2.includes("-v");
|
|
@@ -23497,44 +23497,44 @@ var init_SystemHandlers = __esm({
|
|
|
23497
23497
|
cpu: os16__namespace.cpus()[0],
|
|
23498
23498
|
platform: process.platform
|
|
23499
23499
|
};
|
|
23500
|
-
let message =
|
|
23501
|
-
message +=
|
|
23502
|
-
message +=
|
|
23500
|
+
let message = chalk28__default.default.cyan.bold("\u{1F4CA} System Status\n\n");
|
|
23501
|
+
message += chalk28__default.default.green("\u2705 System: Operational\n");
|
|
23502
|
+
message += chalk28__default.default.gray(
|
|
23503
23503
|
`\u23F1\uFE0F Uptime: ${Math.floor(status.uptime / 60)}m ${Math.floor(status.uptime % 60)}s
|
|
23504
23504
|
`
|
|
23505
23505
|
);
|
|
23506
|
-
message +=
|
|
23506
|
+
message += chalk28__default.default.gray(
|
|
23507
23507
|
`\u{1F4BE} Memory: ${Math.round(status.memory.heapUsed / 1024 / 1024)}MB / ${Math.round(status.memory.heapTotal / 1024 / 1024)}MB
|
|
23508
23508
|
`
|
|
23509
23509
|
);
|
|
23510
23510
|
if (verbose) {
|
|
23511
|
-
message +=
|
|
23512
|
-
message +=
|
|
23511
|
+
message += chalk28__default.default.gray("\nDetailed Information:\n");
|
|
23512
|
+
message += chalk28__default.default.gray(` \u2022 CPU: ${status.cpu.model}
|
|
23513
23513
|
`);
|
|
23514
|
-
message +=
|
|
23514
|
+
message += chalk28__default.default.gray(
|
|
23515
23515
|
` \u2022 Platform: ${status.platform} (${os16__namespace.arch()})
|
|
23516
23516
|
`
|
|
23517
23517
|
);
|
|
23518
|
-
message +=
|
|
23518
|
+
message += chalk28__default.default.gray(` \u2022 Node.js: ${process.version}
|
|
23519
23519
|
`);
|
|
23520
|
-
message +=
|
|
23520
|
+
message += chalk28__default.default.gray(` \u2022 Process ID: ${process.pid}
|
|
23521
23521
|
`);
|
|
23522
|
-
message +=
|
|
23522
|
+
message += chalk28__default.default.gray(` \u2022 Working Directory: ${process.cwd()}
|
|
23523
23523
|
`);
|
|
23524
|
-
message +=
|
|
23525
|
-
message +=
|
|
23524
|
+
message += chalk28__default.default.gray("\nMemory Details:\n");
|
|
23525
|
+
message += chalk28__default.default.gray(
|
|
23526
23526
|
` \u2022 RSS: ${Math.round(status.memory.rss / 1024 / 1024)}MB
|
|
23527
23527
|
`
|
|
23528
23528
|
);
|
|
23529
|
-
message +=
|
|
23529
|
+
message += chalk28__default.default.gray(
|
|
23530
23530
|
` \u2022 Heap Used: ${Math.round(status.memory.heapUsed / 1024 / 1024)}MB
|
|
23531
23531
|
`
|
|
23532
23532
|
);
|
|
23533
|
-
message +=
|
|
23533
|
+
message += chalk28__default.default.gray(
|
|
23534
23534
|
` \u2022 Heap Total: ${Math.round(status.memory.heapTotal / 1024 / 1024)}MB
|
|
23535
23535
|
`
|
|
23536
23536
|
);
|
|
23537
|
-
message +=
|
|
23537
|
+
message += chalk28__default.default.gray(
|
|
23538
23538
|
` \u2022 External: ${Math.round(status.memory.external / 1024 / 1024)}MB
|
|
23539
23539
|
`
|
|
23540
23540
|
);
|
|
@@ -23563,7 +23563,7 @@ var init_SystemHandlers = __esm({
|
|
|
23563
23563
|
if (signal?.aborted) {
|
|
23564
23564
|
return {
|
|
23565
23565
|
ok: false,
|
|
23566
|
-
message:
|
|
23566
|
+
message: chalk28__default.default.yellow("Model operation canceled")
|
|
23567
23567
|
};
|
|
23568
23568
|
}
|
|
23569
23569
|
if (args2.length === 0) {
|
|
@@ -23583,17 +23583,17 @@ var init_SystemHandlers = __esm({
|
|
|
23583
23583
|
}
|
|
23584
23584
|
}
|
|
23585
23585
|
async listModels() {
|
|
23586
|
-
let message =
|
|
23587
|
-
message +=
|
|
23586
|
+
let message = chalk28__default.default.cyan.bold("\u{1F916} Available Models\n\n");
|
|
23587
|
+
message += chalk28__default.default.green(`Current: ${this.currentModel}
|
|
23588
23588
|
|
|
23589
23589
|
`);
|
|
23590
23590
|
for (const model of this.availableModels) {
|
|
23591
|
-
const status = model.available ?
|
|
23592
|
-
const name2 = model.id === this.currentModel ?
|
|
23593
|
-
message += `${status} ${name2.padEnd(20)} ${
|
|
23591
|
+
const status = model.available ? chalk28__default.default.green("\u2705") : chalk28__default.default.red("\u274C");
|
|
23592
|
+
const name2 = model.id === this.currentModel ? chalk28__default.default.green.bold(model.id) : chalk28__default.default.cyan(model.id);
|
|
23593
|
+
message += `${status} ${name2.padEnd(20)} ${chalk28__default.default.gray(`[${model.provider}]`)}
|
|
23594
23594
|
`;
|
|
23595
23595
|
}
|
|
23596
|
-
message +=
|
|
23596
|
+
message += chalk28__default.default.gray("\nUse /model <name> to switch models");
|
|
23597
23597
|
return {
|
|
23598
23598
|
ok: true,
|
|
23599
23599
|
message,
|
|
@@ -23604,27 +23604,27 @@ var init_SystemHandlers = __esm({
|
|
|
23604
23604
|
if (!modelId) {
|
|
23605
23605
|
return {
|
|
23606
23606
|
ok: false,
|
|
23607
|
-
message:
|
|
23607
|
+
message: chalk28__default.default.red("Please specify a model to switch to")
|
|
23608
23608
|
};
|
|
23609
23609
|
}
|
|
23610
23610
|
const model = this.availableModels.find((m2) => m2.id === modelId);
|
|
23611
23611
|
if (!model) {
|
|
23612
23612
|
return {
|
|
23613
23613
|
ok: false,
|
|
23614
|
-
message:
|
|
23615
|
-
`) +
|
|
23614
|
+
message: chalk28__default.default.red(`Unknown model: ${modelId}
|
|
23615
|
+
`) + chalk28__default.default.gray("Use /model list to see available models")
|
|
23616
23616
|
};
|
|
23617
23617
|
}
|
|
23618
23618
|
if (!model.available) {
|
|
23619
23619
|
return {
|
|
23620
23620
|
ok: false,
|
|
23621
|
-
message:
|
|
23621
|
+
message: chalk28__default.default.yellow(`Model ${modelId} is not currently available`)
|
|
23622
23622
|
};
|
|
23623
23623
|
}
|
|
23624
23624
|
this.currentModel = modelId;
|
|
23625
23625
|
return {
|
|
23626
23626
|
ok: true,
|
|
23627
|
-
message:
|
|
23627
|
+
message: chalk28__default.default.green(`\u2705 Switched to ${modelId}`),
|
|
23628
23628
|
data: { model: modelId }
|
|
23629
23629
|
};
|
|
23630
23630
|
}
|
|
@@ -23633,27 +23633,27 @@ var init_SystemHandlers = __esm({
|
|
|
23633
23633
|
if (!model) {
|
|
23634
23634
|
return {
|
|
23635
23635
|
ok: false,
|
|
23636
|
-
message:
|
|
23636
|
+
message: chalk28__default.default.red(`Unknown model: ${modelId}`)
|
|
23637
23637
|
};
|
|
23638
23638
|
}
|
|
23639
|
-
let message =
|
|
23639
|
+
let message = chalk28__default.default.cyan(`\u{1F4CB} Model Information: ${modelId}
|
|
23640
23640
|
|
|
23641
23641
|
`);
|
|
23642
|
-
message +=
|
|
23642
|
+
message += chalk28__default.default.gray(`Provider: ${model.provider}
|
|
23643
23643
|
`);
|
|
23644
|
-
message +=
|
|
23644
|
+
message += chalk28__default.default.gray(
|
|
23645
23645
|
`Status: ${model.available ? "Available" : "Unavailable"}
|
|
23646
23646
|
`
|
|
23647
23647
|
);
|
|
23648
|
-
message +=
|
|
23648
|
+
message += chalk28__default.default.gray(
|
|
23649
23649
|
`Current: ${model.id === this.currentModel ? "Yes" : "No"}
|
|
23650
23650
|
`
|
|
23651
23651
|
);
|
|
23652
|
-
message +=
|
|
23653
|
-
message +=
|
|
23654
|
-
message +=
|
|
23655
|
-
message +=
|
|
23656
|
-
message +=
|
|
23652
|
+
message += chalk28__default.default.gray("\nCapabilities:\n");
|
|
23653
|
+
message += chalk28__default.default.gray(" \u2022 Context: 128K tokens\n");
|
|
23654
|
+
message += chalk28__default.default.gray(" \u2022 Languages: 95+\n");
|
|
23655
|
+
message += chalk28__default.default.gray(" \u2022 Code: Yes\n");
|
|
23656
|
+
message += chalk28__default.default.gray(" \u2022 Vision: ") + (modelId.includes("gpt-4") ? "Yes\n" : "No\n");
|
|
23657
23657
|
return {
|
|
23658
23658
|
ok: true,
|
|
23659
23659
|
message,
|
|
@@ -23685,39 +23685,39 @@ var init_SystemHandlers = __esm({
|
|
|
23685
23685
|
default:
|
|
23686
23686
|
return {
|
|
23687
23687
|
ok: false,
|
|
23688
|
-
message:
|
|
23689
|
-
`) +
|
|
23688
|
+
message: chalk28__default.default.red(`Unknown memory subcommand: ${subcommand}
|
|
23689
|
+
`) + chalk28__default.default.gray("Available: status, clear, export, compact")
|
|
23690
23690
|
};
|
|
23691
23691
|
}
|
|
23692
23692
|
}
|
|
23693
23693
|
async showStatus() {
|
|
23694
|
-
let message =
|
|
23695
|
-
message +=
|
|
23696
|
-
message +=
|
|
23694
|
+
let message = chalk28__default.default.cyan.bold("\u{1F9E0} Memory Status\n\n");
|
|
23695
|
+
message += chalk28__default.default.yellow("System 1 (Fast):\n");
|
|
23696
|
+
message += chalk28__default.default.gray(
|
|
23697
23697
|
` \u2022 Knowledge Nodes: ${this.memoryStats.system1.nodes}
|
|
23698
23698
|
`
|
|
23699
23699
|
);
|
|
23700
|
-
message +=
|
|
23700
|
+
message += chalk28__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system1.tokens}
|
|
23701
23701
|
|
|
23702
23702
|
`);
|
|
23703
|
-
message +=
|
|
23704
|
-
message +=
|
|
23703
|
+
message += chalk28__default.default.blue("System 2 (Deep):\n");
|
|
23704
|
+
message += chalk28__default.default.gray(
|
|
23705
23705
|
` \u2022 Reasoning Traces: ${this.memoryStats.system2.traces}
|
|
23706
23706
|
`
|
|
23707
23707
|
);
|
|
23708
|
-
message +=
|
|
23708
|
+
message += chalk28__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system2.tokens}
|
|
23709
23709
|
|
|
23710
23710
|
`);
|
|
23711
|
-
message +=
|
|
23712
|
-
message +=
|
|
23711
|
+
message += chalk28__default.default.green("Total:\n");
|
|
23712
|
+
message += chalk28__default.default.gray(` \u2022 Entries: ${this.memoryStats.total.entries}
|
|
23713
23713
|
`);
|
|
23714
|
-
message +=
|
|
23714
|
+
message += chalk28__default.default.gray(
|
|
23715
23715
|
` \u2022 Tokens: ${this.memoryStats.total.tokens} / 128000
|
|
23716
23716
|
`
|
|
23717
23717
|
);
|
|
23718
23718
|
const usage = Math.round(this.memoryStats.total.tokens / 128e3 * 100);
|
|
23719
23719
|
const bar = "\u2588".repeat(Math.floor(usage / 5)) + "\u2591".repeat(20 - Math.floor(usage / 5));
|
|
23720
|
-
message +=
|
|
23720
|
+
message += chalk28__default.default.gray(` \u2022 Usage: [${bar}] ${usage}%
|
|
23721
23721
|
`);
|
|
23722
23722
|
return {
|
|
23723
23723
|
ok: true,
|
|
@@ -23731,14 +23731,14 @@ var init_SystemHandlers = __esm({
|
|
|
23731
23731
|
this.memoryStats.system1 = { nodes: 0, tokens: 0 };
|
|
23732
23732
|
return {
|
|
23733
23733
|
ok: true,
|
|
23734
|
-
message:
|
|
23734
|
+
message: chalk28__default.default.green("\u2705 System 1 memory cleared")
|
|
23735
23735
|
};
|
|
23736
23736
|
}
|
|
23737
23737
|
if (system === "system2") {
|
|
23738
23738
|
this.memoryStats.system2 = { traces: 0, tokens: 0 };
|
|
23739
23739
|
return {
|
|
23740
23740
|
ok: true,
|
|
23741
|
-
message:
|
|
23741
|
+
message: chalk28__default.default.green("\u2705 System 2 memory cleared")
|
|
23742
23742
|
};
|
|
23743
23743
|
}
|
|
23744
23744
|
this.memoryStats = {
|
|
@@ -23748,15 +23748,15 @@ var init_SystemHandlers = __esm({
|
|
|
23748
23748
|
};
|
|
23749
23749
|
return {
|
|
23750
23750
|
ok: true,
|
|
23751
|
-
message:
|
|
23751
|
+
message: chalk28__default.default.green("\u{1F9F9} All memory cleared")
|
|
23752
23752
|
};
|
|
23753
23753
|
}
|
|
23754
23754
|
async exportMemory() {
|
|
23755
23755
|
const filename = `memory-export-${Date.now()}.json`;
|
|
23756
23756
|
return {
|
|
23757
23757
|
ok: true,
|
|
23758
|
-
message:
|
|
23759
|
-
`) +
|
|
23758
|
+
message: chalk28__default.default.green(`\u{1F4E6} Memory exported to ${filename}
|
|
23759
|
+
`) + chalk28__default.default.gray(
|
|
23760
23760
|
`Size: ${Math.round(JSON.stringify(this.memoryStats).length / 1024)}KB`
|
|
23761
23761
|
),
|
|
23762
23762
|
data: { filename, stats: this.memoryStats }
|
|
@@ -23774,9 +23774,9 @@ var init_SystemHandlers = __esm({
|
|
|
23774
23774
|
);
|
|
23775
23775
|
return {
|
|
23776
23776
|
ok: true,
|
|
23777
|
-
message:
|
|
23778
|
-
`) +
|
|
23779
|
-
`) +
|
|
23777
|
+
message: chalk28__default.default.green("\u2728 Memory compacted successfully\n") + chalk28__default.default.gray(`Before: ${before} tokens
|
|
23778
|
+
`) + chalk28__default.default.gray(`After: ${after} tokens
|
|
23779
|
+
`) + chalk28__default.default.gray(
|
|
23780
23780
|
`Saved: ${before - after} tokens (${Math.round((1 - after / before) * 100)}%)`
|
|
23781
23781
|
),
|
|
23782
23782
|
data: { before, after, saved: before - after }
|
|
@@ -23792,11 +23792,11 @@ var init_SystemHandlers = __esm({
|
|
|
23792
23792
|
if (signal?.aborted) {
|
|
23793
23793
|
return {
|
|
23794
23794
|
ok: false,
|
|
23795
|
-
message:
|
|
23795
|
+
message: chalk28__default.default.yellow("Health check canceled")
|
|
23796
23796
|
};
|
|
23797
23797
|
}
|
|
23798
23798
|
const detailed = args2.includes("--detailed");
|
|
23799
|
-
let message =
|
|
23799
|
+
let message = chalk28__default.default.cyan.bold("\u{1F3E5} System Health Check\n\n");
|
|
23800
23800
|
const checks = [
|
|
23801
23801
|
{ name: "Core Services", status: "ok", latency: 12 },
|
|
23802
23802
|
{ name: "Memory System", status: "ok", latency: 8 },
|
|
@@ -23805,11 +23805,11 @@ var init_SystemHandlers = __esm({
|
|
|
23805
23805
|
{ name: "Network", status: "warning", latency: 250 }
|
|
23806
23806
|
];
|
|
23807
23807
|
for (const check of checks) {
|
|
23808
|
-
const icon = check.status === "ok" ?
|
|
23809
|
-
const status = check.status === "ok" ?
|
|
23808
|
+
const icon = check.status === "ok" ? chalk28__default.default.green("\u2705") : check.status === "warning" ? chalk28__default.default.yellow("\u26A0\uFE0F") : chalk28__default.default.red("\u274C");
|
|
23809
|
+
const status = check.status === "ok" ? chalk28__default.default.green("OK") : check.status === "warning" ? chalk28__default.default.yellow("WARNING") : chalk28__default.default.red("ERROR");
|
|
23810
23810
|
message += `${icon} ${check.name.padEnd(20)} ${status}`;
|
|
23811
23811
|
if (detailed) {
|
|
23812
|
-
message +=
|
|
23812
|
+
message += chalk28__default.default.gray(` (${check.latency}ms)`);
|
|
23813
23813
|
}
|
|
23814
23814
|
message += "\n";
|
|
23815
23815
|
}
|
|
@@ -23817,11 +23817,11 @@ var init_SystemHandlers = __esm({
|
|
|
23817
23817
|
const hasErrors = checks.some((c) => c.status === "error");
|
|
23818
23818
|
message += "\n";
|
|
23819
23819
|
if (hasErrors) {
|
|
23820
|
-
message +=
|
|
23820
|
+
message += chalk28__default.default.red("\u26A0\uFE0F System has errors - intervention required");
|
|
23821
23821
|
} else if (hasWarnings) {
|
|
23822
|
-
message +=
|
|
23822
|
+
message += chalk28__default.default.yellow("\u26A0\uFE0F System operational with warnings");
|
|
23823
23823
|
} else {
|
|
23824
|
-
message +=
|
|
23824
|
+
message += chalk28__default.default.green("\u2705 All systems operational");
|
|
23825
23825
|
}
|
|
23826
23826
|
return {
|
|
23827
23827
|
ok: true,
|
|
@@ -23839,12 +23839,12 @@ var init_SystemHandlers = __esm({
|
|
|
23839
23839
|
if (signal?.aborted) {
|
|
23840
23840
|
return {
|
|
23841
23841
|
ok: false,
|
|
23842
|
-
message:
|
|
23842
|
+
message: chalk28__default.default.yellow("Doctor check canceled")
|
|
23843
23843
|
};
|
|
23844
23844
|
}
|
|
23845
23845
|
const autoFix = args2.includes("--fix");
|
|
23846
|
-
let message =
|
|
23847
|
-
message +=
|
|
23846
|
+
let message = chalk28__default.default.cyan.bold("\u{1F468}\u2695\uFE0F System Doctor\n\n");
|
|
23847
|
+
message += chalk28__default.default.gray("Running diagnostics...\n\n");
|
|
23848
23848
|
const issues = [
|
|
23849
23849
|
{
|
|
23850
23850
|
severity: "warning",
|
|
@@ -23866,20 +23866,20 @@ var init_SystemHandlers = __esm({
|
|
|
23866
23866
|
}
|
|
23867
23867
|
];
|
|
23868
23868
|
if (issues.length === 0) {
|
|
23869
|
-
message +=
|
|
23869
|
+
message += chalk28__default.default.green("\u2705 No issues found - system is healthy!");
|
|
23870
23870
|
return { ok: true, message };
|
|
23871
23871
|
}
|
|
23872
|
-
message +=
|
|
23872
|
+
message += chalk28__default.default.yellow(`Found ${issues.length} issue(s):
|
|
23873
23873
|
|
|
23874
23874
|
`);
|
|
23875
23875
|
for (const issue of issues) {
|
|
23876
|
-
const icon = issue.severity === "error" ?
|
|
23876
|
+
const icon = issue.severity === "error" ? chalk28__default.default.red("\u274C") : issue.severity === "warning" ? chalk28__default.default.yellow("\u26A0\uFE0F") : chalk28__default.default.blue("\u2139\uFE0F");
|
|
23877
23877
|
message += `${icon} ${issue.issue}
|
|
23878
23878
|
`;
|
|
23879
|
-
message +=
|
|
23879
|
+
message += chalk28__default.default.gray(` Solution: ${issue.solution}
|
|
23880
23880
|
`);
|
|
23881
23881
|
if (autoFix && issue.fixable) {
|
|
23882
|
-
message +=
|
|
23882
|
+
message += chalk28__default.default.green(` \u2705 Auto-fixed
|
|
23883
23883
|
`);
|
|
23884
23884
|
}
|
|
23885
23885
|
message += "\n";
|
|
@@ -23887,7 +23887,7 @@ var init_SystemHandlers = __esm({
|
|
|
23887
23887
|
if (!autoFix) {
|
|
23888
23888
|
const fixableCount = issues.filter((i2) => i2.fixable).length;
|
|
23889
23889
|
if (fixableCount > 0) {
|
|
23890
|
-
message +=
|
|
23890
|
+
message += chalk28__default.default.gray(
|
|
23891
23891
|
`
|
|
23892
23892
|
Run /doctor --fix to automatically fix ${fixableCount} issue(s)`
|
|
23893
23893
|
);
|
|
@@ -24329,8 +24329,8 @@ var require_package = __commonJS({
|
|
|
24329
24329
|
"package.json"(exports, module) {
|
|
24330
24330
|
module.exports = {
|
|
24331
24331
|
name: "@bonginkan/maria",
|
|
24332
|
-
version: "4.2.
|
|
24333
|
-
description: "\u{1F680} MARIA v4.2.
|
|
24332
|
+
version: "4.2.26",
|
|
24333
|
+
description: "\u{1F680} MARIA v4.2.26 - Enterprise AI Development Platform with 100% Command Availability. Features 74 production-ready commands with comprehensive fallback implementation, local LLM support, and zero external dependencies. Includes natural language coding, AI safety evaluation, intelligent evolution system, episodic memory with PII masking, and real-time monitoring dashboard. Built with TypeScript AST-powered code generation, OAuth2.0 + PKCE authentication, quantum-resistant cryptography, and enterprise-grade performance.",
|
|
24334
24334
|
keywords: [
|
|
24335
24335
|
"ai",
|
|
24336
24336
|
"cli",
|
|
@@ -24895,7 +24895,7 @@ var init_animations = __esm({
|
|
|
24895
24895
|
start() {
|
|
24896
24896
|
this.interval = setInterval(() => {
|
|
24897
24897
|
process.stdout.write(
|
|
24898
|
-
`\r${
|
|
24898
|
+
`\r${chalk28__default.default.cyan(this.frames[this.currentFrame])} ${chalk28__default.default.gray(this.message)}...`
|
|
24899
24899
|
);
|
|
24900
24900
|
this.currentFrame = (this.currentFrame + 1) % this.frames.length;
|
|
24901
24901
|
}, 80);
|
|
@@ -24933,7 +24933,7 @@ var init_animations = __esm({
|
|
|
24933
24933
|
const elapsed = Math.floor((Date.now() - this.startTime) / 1e3);
|
|
24934
24934
|
const stage = this.stages[this.currentStage];
|
|
24935
24935
|
process.stdout.write(
|
|
24936
|
-
`\r${
|
|
24936
|
+
`\r${chalk28__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage.icon} ${chalk28__default.default.gray(stage.message)}... ${chalk28__default.default.dim(`[${elapsed}s]`)}`
|
|
24937
24937
|
);
|
|
24938
24938
|
this.currentFrame = (this.currentFrame + 1) % this.spinnerFrames.length;
|
|
24939
24939
|
}, 80);
|
|
@@ -24995,11 +24995,11 @@ var init_animations = __esm({
|
|
|
24995
24995
|
const stage = stages[this.currentStage];
|
|
24996
24996
|
if (this.isComplex) {
|
|
24997
24997
|
process.stdout.write(
|
|
24998
|
-
`\r${
|
|
24998
|
+
`\r${chalk28__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage} ${chalk28__default.default.dim(`[${elapsed}s]`)}`
|
|
24999
24999
|
);
|
|
25000
25000
|
} else {
|
|
25001
25001
|
process.stdout.write(
|
|
25002
|
-
`\r${
|
|
25002
|
+
`\r${chalk28__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${chalk28__default.default.gray(stage)}...`
|
|
25003
25003
|
);
|
|
25004
25004
|
}
|
|
25005
25005
|
this.currentFrame = (this.currentFrame + 1) % this.spinnerFrames.length;
|
|
@@ -25042,7 +25042,7 @@ var init_animations = __esm({
|
|
|
25042
25042
|
start() {
|
|
25043
25043
|
this.interval = setInterval(() => {
|
|
25044
25044
|
process.stdout.write(
|
|
25045
|
-
`\r${
|
|
25045
|
+
`\r${chalk28__default.default.cyan(this.message)}${this.dots[this.currentDot]}`
|
|
25046
25046
|
);
|
|
25047
25047
|
this.currentDot = (this.currentDot + 1) % this.dots.length;
|
|
25048
25048
|
}, 300);
|
|
@@ -25071,7 +25071,7 @@ var init_animations = __esm({
|
|
|
25071
25071
|
const frame = this.frames[this.currentFrame];
|
|
25072
25072
|
const message = this.messages[this.currentFrame];
|
|
25073
25073
|
process.stdout.write(
|
|
25074
|
-
`\r${frame} ${
|
|
25074
|
+
`\r${frame} ${chalk28__default.default.cyan(message)}...`
|
|
25075
25075
|
);
|
|
25076
25076
|
this.currentFrame = (this.currentFrame + 1) % this.frames.length;
|
|
25077
25077
|
}, 1e3);
|
|
@@ -25099,7 +25099,7 @@ var init_animations = __esm({
|
|
|
25099
25099
|
const percentage = Math.floor(this.current / this.total * 100);
|
|
25100
25100
|
const filled = Math.floor(this.current / this.total * this.width);
|
|
25101
25101
|
const empty = this.width - filled;
|
|
25102
|
-
const bar =
|
|
25102
|
+
const bar = chalk28__default.default.green("\u2588").repeat(filled) + chalk28__default.default.gray("\u2591").repeat(empty);
|
|
25103
25103
|
process.stdout.write(`\r${this.label}: [${bar}] ${percentage}%`);
|
|
25104
25104
|
if (this.current >= this.total) {
|
|
25105
25105
|
process.stdout.write("\n");
|
|
@@ -26536,7 +26536,7 @@ var init_AuthenticationManager = __esm({
|
|
|
26536
26536
|
const response2 = await fetch(`${this.apiBase}/api/user/profile`, {
|
|
26537
26537
|
headers: {
|
|
26538
26538
|
"Authorization": `Bearer ${tokens.accessToken}`,
|
|
26539
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.2.
|
|
26539
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.2.26"}`
|
|
26540
26540
|
}
|
|
26541
26541
|
});
|
|
26542
26542
|
if (response2.status === 401) {
|
|
@@ -27079,7 +27079,7 @@ function withAuth(fn) {
|
|
|
27079
27079
|
try {
|
|
27080
27080
|
const tokens = await authManager.getValidTokens();
|
|
27081
27081
|
if (!tokens) {
|
|
27082
|
-
console.log(
|
|
27082
|
+
console.log(chalk28__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
27083
27083
|
if (!testMode) process.exit(AUTH_EXIT_CODES.AUTH_REQUIRED);
|
|
27084
27084
|
return { success: false, message: "AUTH_REQUIRED" };
|
|
27085
27085
|
}
|
|
@@ -27089,33 +27089,33 @@ function withAuth(fn) {
|
|
|
27089
27089
|
return await fn(...args2);
|
|
27090
27090
|
} catch (error2) {
|
|
27091
27091
|
if (error2.code === "AUTH_REQUIRED") {
|
|
27092
|
-
console.log(
|
|
27092
|
+
console.log(chalk28__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
27093
27093
|
if (!testMode) process.exit(AUTH_EXIT_CODES.AUTH_REQUIRED);
|
|
27094
27094
|
return { success: false, message: "AUTH_REQUIRED" };
|
|
27095
27095
|
}
|
|
27096
27096
|
if (error2.code === "REAUTH_REQUIRED" || error2.code === "TOKEN_EXPIRED") {
|
|
27097
|
-
console.log(
|
|
27097
|
+
console.log(chalk28__default.default.yellow("\u{1F504} Please re-authenticate \xB7 Run: maria /login"));
|
|
27098
27098
|
if (!testMode) process.exit(AUTH_EXIT_CODES.REAUTH_REQUIRED);
|
|
27099
27099
|
return { success: false, message: "REAUTH_REQUIRED" };
|
|
27100
27100
|
}
|
|
27101
27101
|
if (error2.code === "QUOTA_EXCEEDED") {
|
|
27102
|
-
console.log(
|
|
27102
|
+
console.log(chalk28__default.default.yellow("\u26A0 Quota exceeded \xB7 Run: maria /billing"));
|
|
27103
27103
|
if (!testMode) process.exit(AUTH_EXIT_CODES.QUOTA_EXCEEDED);
|
|
27104
27104
|
return { success: false, message: "QUOTA_EXCEEDED" };
|
|
27105
27105
|
}
|
|
27106
27106
|
if (error2.code === "PLAN_RESTRICTED") {
|
|
27107
|
-
console.log(
|
|
27107
|
+
console.log(chalk28__default.default.yellow("\u{1F512} Not available in current plan"));
|
|
27108
27108
|
if (!testMode) process.exit(AUTH_EXIT_CODES.PLAN_RESTRICTED);
|
|
27109
27109
|
return { success: false, message: "PLAN_RESTRICTED" };
|
|
27110
27110
|
}
|
|
27111
27111
|
if (error2.code === "RATE_LIMITED") {
|
|
27112
27112
|
const retryAfter = error2.retryAfter || 5;
|
|
27113
|
-
console.log(
|
|
27113
|
+
console.log(chalk28__default.default.yellow(`\u23F1\uFE0F Rate limit: wait ${retryAfter}s`));
|
|
27114
27114
|
if (!testMode) process.exit(AUTH_EXIT_CODES.RATE_LIMITED);
|
|
27115
27115
|
return { success: false, message: "RATE_LIMITED" };
|
|
27116
27116
|
}
|
|
27117
27117
|
if (error2.code === "NETWORK_ERROR") {
|
|
27118
|
-
console.log(
|
|
27118
|
+
console.log(chalk28__default.default.red("\u{1F310} Network error, check connection"));
|
|
27119
27119
|
if (!testMode) process.exit(AUTH_EXIT_CODES.NETWORK_ERROR);
|
|
27120
27120
|
return { success: false, message: "NETWORK_ERROR" };
|
|
27121
27121
|
}
|
|
@@ -29608,24 +29608,24 @@ var init_autocomplete_dropdown = __esm({
|
|
|
29608
29608
|
}
|
|
29609
29609
|
process.stdout.write(`\x1B[${linesToClear - 1}A`);
|
|
29610
29610
|
process.stdout.write(
|
|
29611
|
-
"\x1B[K" +
|
|
29611
|
+
"\x1B[K" + chalk28__default.default.white(
|
|
29612
29612
|
"\u250C\u2500 Suggestions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510"
|
|
29613
29613
|
) + "\n"
|
|
29614
29614
|
);
|
|
29615
29615
|
this.suggestions.forEach((suggestion, index2) => {
|
|
29616
29616
|
const isSelected = index2 === this.selectedIndex;
|
|
29617
|
-
const prefix = isSelected ?
|
|
29618
|
-
const nameStyle = isSelected ?
|
|
29617
|
+
const prefix = isSelected ? chalk28__default.default.cyan("\u25BA ") : " ";
|
|
29618
|
+
const nameStyle = isSelected ? chalk28__default.default.inverse : (s2) => s2;
|
|
29619
29619
|
const safeName = (suggestion?.name ?? "").toString();
|
|
29620
29620
|
const safeDescRaw = suggestion?.description ?? "";
|
|
29621
29621
|
const safeDesc = typeof safeDescRaw === "string" ? safeDescRaw : String(safeDescRaw ?? "");
|
|
29622
29622
|
const displayName = safeName.padEnd(20);
|
|
29623
29623
|
const displayDesc = safeDesc.length > 30 ? safeDesc.substring(0, 27) + "..." : safeDesc.padEnd(30);
|
|
29624
|
-
const line = `\u2502${prefix}${nameStyle(
|
|
29624
|
+
const line = `\u2502${prefix}${nameStyle(chalk28__default.default.white(displayName) + " " + chalk28__default.default.gray(displayDesc))} \u2502`;
|
|
29625
29625
|
process.stdout.write("\x1B[K" + line + "\n");
|
|
29626
29626
|
});
|
|
29627
29627
|
process.stdout.write(
|
|
29628
|
-
"\x1B[K" +
|
|
29628
|
+
"\x1B[K" + chalk28__default.default.white(
|
|
29629
29629
|
"\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"
|
|
29630
29630
|
)
|
|
29631
29631
|
);
|
|
@@ -29659,6 +29659,79 @@ var init_autocomplete_dropdown = __esm({
|
|
|
29659
29659
|
}
|
|
29660
29660
|
});
|
|
29661
29661
|
|
|
29662
|
+
// node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js
|
|
29663
|
+
function baseVisible(segment) {
|
|
29664
|
+
return segment.replace(leadingNonPrintingRegex, "");
|
|
29665
|
+
}
|
|
29666
|
+
function isZeroWidthCluster(segment) {
|
|
29667
|
+
return zeroWidthClusterRegex.test(segment);
|
|
29668
|
+
}
|
|
29669
|
+
function isDoubleWidthEmojiCluster(segment) {
|
|
29670
|
+
const visible = baseVisible(segment);
|
|
29671
|
+
const baseScalar = visible.codePointAt(0);
|
|
29672
|
+
const baseChar = String.fromCodePoint(baseScalar);
|
|
29673
|
+
const baseIsEmojiPresentation = emojiPresentationRegex.test(baseChar);
|
|
29674
|
+
const hasVs16 = segment.includes("\uFE0F");
|
|
29675
|
+
const hasVs15 = segment.includes("\uFE0E");
|
|
29676
|
+
const codePointCount = [...segment].length;
|
|
29677
|
+
const multiScalarMeaningful = codePointCount > 1 && !(codePointCount === 2 && hasVs15 && !hasVs16);
|
|
29678
|
+
return hasVs16 || baseIsEmojiPresentation && !hasVs15 || multiScalarMeaningful;
|
|
29679
|
+
}
|
|
29680
|
+
function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
|
|
29681
|
+
let extra = 0;
|
|
29682
|
+
if (segment.length > 1) {
|
|
29683
|
+
for (const char of segment.slice(1)) {
|
|
29684
|
+
if (char >= "\uFF00" && char <= "\uFFEF") {
|
|
29685
|
+
extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
|
|
29686
|
+
}
|
|
29687
|
+
}
|
|
29688
|
+
}
|
|
29689
|
+
return extra;
|
|
29690
|
+
}
|
|
29691
|
+
function stringWidth2(input3, options2 = {}) {
|
|
29692
|
+
if (typeof input3 !== "string" || input3.length === 0) {
|
|
29693
|
+
return 0;
|
|
29694
|
+
}
|
|
29695
|
+
const {
|
|
29696
|
+
ambiguousIsNarrow = true,
|
|
29697
|
+
countAnsiEscapeCodes = false
|
|
29698
|
+
} = options2;
|
|
29699
|
+
let string = input3;
|
|
29700
|
+
if (!countAnsiEscapeCodes) {
|
|
29701
|
+
string = stripAnsi(string);
|
|
29702
|
+
}
|
|
29703
|
+
if (string.length === 0) {
|
|
29704
|
+
return 0;
|
|
29705
|
+
}
|
|
29706
|
+
let width = 0;
|
|
29707
|
+
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
29708
|
+
for (const { segment } of segmenter2.segment(string)) {
|
|
29709
|
+
if (isZeroWidthCluster(segment)) {
|
|
29710
|
+
continue;
|
|
29711
|
+
}
|
|
29712
|
+
if (rgiEmojiRegex.test(segment) && isDoubleWidthEmojiCluster(segment)) {
|
|
29713
|
+
width += 2;
|
|
29714
|
+
continue;
|
|
29715
|
+
}
|
|
29716
|
+
const codePoint = baseVisible(segment).codePointAt(0);
|
|
29717
|
+
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
|
29718
|
+
width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
|
|
29719
|
+
}
|
|
29720
|
+
return width;
|
|
29721
|
+
}
|
|
29722
|
+
var segmenter2, zeroWidthClusterRegex, leadingNonPrintingRegex, rgiEmojiRegex, emojiPresentationRegex;
|
|
29723
|
+
var init_string_width2 = __esm({
|
|
29724
|
+
"node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js"() {
|
|
29725
|
+
init_strip_ansi();
|
|
29726
|
+
init_get_east_asian_width();
|
|
29727
|
+
segmenter2 = new Intl.Segmenter();
|
|
29728
|
+
zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Mark}|\\p{Surrogate})+$", "v");
|
|
29729
|
+
leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+", "v");
|
|
29730
|
+
rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
|
|
29731
|
+
emojiPresentationRegex = new RegExp("^\\p{Emoji_Presentation}$", "v");
|
|
29732
|
+
}
|
|
29733
|
+
});
|
|
29734
|
+
|
|
29662
29735
|
// src/services/interactive-cli.ts
|
|
29663
29736
|
var interactive_cli_exports = {};
|
|
29664
29737
|
__export(interactive_cli_exports, {
|
|
@@ -29669,6 +29742,7 @@ var init_interactive_cli = __esm({
|
|
|
29669
29742
|
"src/services/interactive-cli.ts"() {
|
|
29670
29743
|
init_command_groups();
|
|
29671
29744
|
init_autocomplete_dropdown();
|
|
29745
|
+
init_string_width2();
|
|
29672
29746
|
InteractiveCLI = class {
|
|
29673
29747
|
rl;
|
|
29674
29748
|
currentInput = "";
|
|
@@ -29683,6 +29757,7 @@ var init_interactive_cli = __esm({
|
|
|
29683
29757
|
// Added: suspend overlays during /code execution
|
|
29684
29758
|
isWaitingForInput = false;
|
|
29685
29759
|
// Added: prevent duplicate enter handling
|
|
29760
|
+
segmenter = null;
|
|
29686
29761
|
constructor(options2 = {}) {
|
|
29687
29762
|
this.options = {
|
|
29688
29763
|
maxSuggestions: options2.maxSuggestions || 5,
|
|
@@ -29695,6 +29770,11 @@ var init_interactive_cli = __esm({
|
|
|
29695
29770
|
terminal: true
|
|
29696
29771
|
});
|
|
29697
29772
|
this.dropdown = new AutocompleteDropdown();
|
|
29773
|
+
try {
|
|
29774
|
+
this.segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
29775
|
+
} catch {
|
|
29776
|
+
this.segmenter = null;
|
|
29777
|
+
}
|
|
29698
29778
|
if (process.stdin.isTTY) {
|
|
29699
29779
|
process.stdin.setRawMode(true);
|
|
29700
29780
|
}
|
|
@@ -29820,7 +29900,9 @@ var init_interactive_cli = __esm({
|
|
|
29820
29900
|
* Handle character input
|
|
29821
29901
|
*/
|
|
29822
29902
|
handleCharacter(char) {
|
|
29823
|
-
|
|
29903
|
+
const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
|
|
29904
|
+
const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
|
|
29905
|
+
this.currentInput = left + char + right;
|
|
29824
29906
|
this.cursorPosition++;
|
|
29825
29907
|
void this.updateSuggestions();
|
|
29826
29908
|
this.render();
|
|
@@ -29830,7 +29912,9 @@ var init_interactive_cli = __esm({
|
|
|
29830
29912
|
*/
|
|
29831
29913
|
handleBackspace() {
|
|
29832
29914
|
if (this.cursorPosition > 0) {
|
|
29833
|
-
|
|
29915
|
+
const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition - 1);
|
|
29916
|
+
const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
|
|
29917
|
+
this.currentInput = left + right;
|
|
29834
29918
|
this.cursorPosition--;
|
|
29835
29919
|
void this.updateSuggestions();
|
|
29836
29920
|
this.render();
|
|
@@ -29917,7 +30001,7 @@ var init_interactive_cli = __esm({
|
|
|
29917
30001
|
* Move cursor right
|
|
29918
30002
|
*/
|
|
29919
30003
|
moveCursorRight() {
|
|
29920
|
-
if (this.cursorPosition < this.currentInput
|
|
30004
|
+
if (this.cursorPosition < this.countGraphemes(this.currentInput)) {
|
|
29921
30005
|
this.cursorPosition++;
|
|
29922
30006
|
this.render();
|
|
29923
30007
|
}
|
|
@@ -29956,13 +30040,45 @@ var init_interactive_cli = __esm({
|
|
|
29956
30040
|
}
|
|
29957
30041
|
readline3__namespace.cursorTo(process.stdout, 0);
|
|
29958
30042
|
readline3__namespace.clearLine(process.stdout, 0);
|
|
29959
|
-
const prompt =
|
|
30043
|
+
const prompt = chalk28__default.default.cyan("> ");
|
|
29960
30044
|
const displayInput = this.currentInput;
|
|
29961
30045
|
process.stdout.write(prompt + displayInput);
|
|
29962
|
-
const
|
|
29963
|
-
const
|
|
30046
|
+
const promptColumns = 2;
|
|
30047
|
+
const leftText = this.sliceByGraphemes(displayInput, 0, this.cursorPosition);
|
|
30048
|
+
const leftColumns = stringWidth2(leftText);
|
|
30049
|
+
const actualCursorPos = promptColumns + leftColumns;
|
|
29964
30050
|
readline3__namespace.cursorTo(process.stdout, actualCursorPos);
|
|
29965
30051
|
}
|
|
30052
|
+
/**
|
|
30053
|
+
* Count graphemes (visible characters)
|
|
30054
|
+
*/
|
|
30055
|
+
countGraphemes(input3) {
|
|
30056
|
+
if (!input3) return 0;
|
|
30057
|
+
if (this.segmenter) {
|
|
30058
|
+
let count = 0;
|
|
30059
|
+
for (const _ of this.segmenter.segment(input3)) count++;
|
|
30060
|
+
return count;
|
|
30061
|
+
}
|
|
30062
|
+
return Array.from(input3).length;
|
|
30063
|
+
}
|
|
30064
|
+
/**
|
|
30065
|
+
* Slice string by grapheme indices [start, end)
|
|
30066
|
+
*/
|
|
30067
|
+
sliceByGraphemes(input3, start, end) {
|
|
30068
|
+
if (!input3) return "";
|
|
30069
|
+
if (start < 0) start = 0;
|
|
30070
|
+
if (end !== void 0 && end < start) end = start;
|
|
30071
|
+
if (this.segmenter) {
|
|
30072
|
+
const segs = Array.from(this.segmenter.segment(input3));
|
|
30073
|
+
const s3 = Math.min(start, segs.length);
|
|
30074
|
+
const e3 = end === void 0 ? segs.length : Math.min(end, segs.length);
|
|
30075
|
+
return segs.slice(s3, e3).map((seg) => seg.segment).join("");
|
|
30076
|
+
}
|
|
30077
|
+
const arr = Array.from(input3);
|
|
30078
|
+
const s2 = Math.min(start, arr.length);
|
|
30079
|
+
const e2 = end === void 0 ? arr.length : Math.min(end, arr.length);
|
|
30080
|
+
return arr.slice(s2, e2).join("");
|
|
30081
|
+
}
|
|
29966
30082
|
/**
|
|
29967
30083
|
* Update only the selection indicator without redrawing the entire box
|
|
29968
30084
|
*/
|
|
@@ -29970,14 +30086,15 @@ var init_interactive_cli = __esm({
|
|
|
29970
30086
|
if (!this.isShowingSuggestions || this.suggestions.length === 0) {
|
|
29971
30087
|
return;
|
|
29972
30088
|
}
|
|
29973
|
-
const
|
|
29974
|
-
const
|
|
30089
|
+
const promptColumns = 2;
|
|
30090
|
+
const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
|
|
30091
|
+
const savedX = promptColumns + stringWidth2(leftText);
|
|
29975
30092
|
readline3__namespace.moveCursor(process.stdout, 0, 2);
|
|
29976
30093
|
this.suggestions.forEach((suggestion, index2) => {
|
|
29977
30094
|
const isSelected = index2 === this.selectedIndex;
|
|
29978
|
-
const prefix = isSelected ?
|
|
29979
|
-
const nameStyle = isSelected ?
|
|
29980
|
-
const descStyle = isSelected ?
|
|
30095
|
+
const prefix = isSelected ? chalk28__default.default.cyan("\u25BA ") : " ";
|
|
30096
|
+
const nameStyle = isSelected ? chalk28__default.default.inverse.white : chalk28__default.default.white;
|
|
30097
|
+
const descStyle = isSelected ? chalk28__default.default.inverse.gray : chalk28__default.default.gray;
|
|
29981
30098
|
const name2 = suggestion.name.padEnd(15);
|
|
29982
30099
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
29983
30100
|
readline3__namespace.cursorTo(process.stdout, 0);
|
|
@@ -29995,23 +30112,24 @@ var init_interactive_cli = __esm({
|
|
|
29995
30112
|
* Render autocomplete suggestions - downward only
|
|
29996
30113
|
*/
|
|
29997
30114
|
renderSuggestionsDownward() {
|
|
29998
|
-
const
|
|
29999
|
-
const
|
|
30115
|
+
const promptColumns = 2;
|
|
30116
|
+
const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
|
|
30117
|
+
const savedX = promptColumns + stringWidth2(leftText);
|
|
30000
30118
|
process.stdout.write("\n");
|
|
30001
|
-
process.stdout.write(
|
|
30119
|
+
process.stdout.write(chalk28__default.default.white("\u256D\u2500\u2500\u2500\u2500 Command Suggestions \u2500\u2500\u2500\u2500\u256E\n"));
|
|
30002
30120
|
this.suggestions.forEach((suggestion, index2) => {
|
|
30003
30121
|
const isSelected = index2 === this.selectedIndex;
|
|
30004
|
-
const prefix = isSelected ?
|
|
30005
|
-
const nameStyle = isSelected ?
|
|
30006
|
-
const descStyle = isSelected ?
|
|
30122
|
+
const prefix = isSelected ? chalk28__default.default.cyan("\u25BA ") : " ";
|
|
30123
|
+
const nameStyle = isSelected ? chalk28__default.default.inverse.white : chalk28__default.default.white;
|
|
30124
|
+
const descStyle = isSelected ? chalk28__default.default.inverse.gray : chalk28__default.default.gray;
|
|
30007
30125
|
const name2 = suggestion.name.padEnd(15);
|
|
30008
30126
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
30009
30127
|
process.stdout.write(`${prefix}${nameStyle(name2)} ${descStyle(desc)}
|
|
30010
30128
|
`);
|
|
30011
30129
|
});
|
|
30012
|
-
process.stdout.write(
|
|
30130
|
+
process.stdout.write(chalk28__default.default.white("\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F\n"));
|
|
30013
30131
|
process.stdout.write(
|
|
30014
|
-
|
|
30132
|
+
chalk28__default.default.dim("\u2191/\u2193: Navigate \u2022 Tab/Enter: Select \u2022 Esc: Cancel")
|
|
30015
30133
|
);
|
|
30016
30134
|
const totalLines = this.suggestions.length + 4;
|
|
30017
30135
|
readline3__namespace.moveCursor(process.stdout, 0, -totalLines);
|
|
@@ -31687,9 +31805,9 @@ var init_HelpCommand = __esm({
|
|
|
31687
31805
|
const stats = await this.readyService.getStatistics();
|
|
31688
31806
|
const lines = [];
|
|
31689
31807
|
lines.push("\u2550".repeat(60));
|
|
31690
|
-
lines.push(
|
|
31808
|
+
lines.push(chalk28__default.default.bold(`${stats.totalReady} READY Commands | ${stats.categoriesCount} Categories`));
|
|
31691
31809
|
lines.push("");
|
|
31692
|
-
lines.push(
|
|
31810
|
+
lines.push(chalk28__default.default.bold("Quick Access:"));
|
|
31693
31811
|
lines.push(" /help <command> - Detailed help for specific command");
|
|
31694
31812
|
lines.push(" /help --quickstart - Essential commands for new users");
|
|
31695
31813
|
lines.push(" /help --stats - Performance statistics");
|
|
@@ -31704,7 +31822,7 @@ var init_HelpCommand = __esm({
|
|
|
31704
31822
|
}
|
|
31705
31823
|
globalMaxNameLength = Math.max(globalMaxNameLength, 18) + 1;
|
|
31706
31824
|
for (const category of categories2) {
|
|
31707
|
-
lines.push(
|
|
31825
|
+
lines.push(chalk28__default.default.bold(`${category.name.toUpperCase()} (${category.count})`));
|
|
31708
31826
|
const showCommands = category.commands.slice(0, 4);
|
|
31709
31827
|
for (const cmd of showCommands) {
|
|
31710
31828
|
const needsGpu = this.hasGpuRequirement(cmd.description);
|
|
@@ -31724,7 +31842,7 @@ var init_HelpCommand = __esm({
|
|
|
31724
31842
|
}
|
|
31725
31843
|
lines.push("");
|
|
31726
31844
|
}
|
|
31727
|
-
lines.push(
|
|
31845
|
+
lines.push(chalk28__default.default.bold("Pro Tips:"));
|
|
31728
31846
|
lines.push(" \u2022 All listed commands are production-ready");
|
|
31729
31847
|
lines.push(" \u2022 Use fuzzy search: /help --search config \u2192 finds /config");
|
|
31730
31848
|
lines.push(" \u2022 Categories ordered by importance");
|
|
@@ -31763,33 +31881,33 @@ var init_HelpCommand = __esm({
|
|
|
31763
31881
|
formatCommandHelp(command) {
|
|
31764
31882
|
const lines = [];
|
|
31765
31883
|
lines.push("");
|
|
31766
|
-
lines.push(`\u{1F4D6} ${
|
|
31884
|
+
lines.push(`\u{1F4D6} ${chalk28__default.default.bold(`/${command.name}`)} - ${command.description}`);
|
|
31767
31885
|
lines.push("\u2550".repeat(50));
|
|
31768
31886
|
lines.push("");
|
|
31769
|
-
lines.push(
|
|
31887
|
+
lines.push(chalk28__default.default.bold("\u2139\uFE0F Information:"));
|
|
31770
31888
|
lines.push(` Category: ${this.readyService["getCategoryEmoji"](command.category)} ${command.category}`);
|
|
31771
31889
|
lines.push(` Status: \u2705 READY (contract validated)`);
|
|
31772
31890
|
if (command.aliases && command.aliases.length > 0) {
|
|
31773
31891
|
lines.push(` Aliases: ${command.aliases.map((a2) => `/${a2}`).join(", ")}`);
|
|
31774
31892
|
}
|
|
31775
31893
|
lines.push("");
|
|
31776
|
-
lines.push(
|
|
31894
|
+
lines.push(chalk28__default.default.bold("\u{1F3AF} Usage:"));
|
|
31777
31895
|
lines.push(` ${command.usage}`);
|
|
31778
31896
|
lines.push("");
|
|
31779
|
-
lines.push(
|
|
31897
|
+
lines.push(chalk28__default.default.bold("\u{1F4CB} Contract Validation:"));
|
|
31780
31898
|
lines.push(` \u26A1 Performance: ${command.contract.maxResponseTime}ms (tested)`);
|
|
31781
31899
|
lines.push(` \u{1F4BB} TTY Mode: ${command.contract.tty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31782
31900
|
lines.push(` \u{1F527} Non-TTY Mode: ${command.contract.nonTty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31783
31901
|
lines.push(` \u{1F500} Pipe Mode: ${command.contract.pipe ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31784
31902
|
lines.push("");
|
|
31785
31903
|
if (command.examples && command.examples.length > 0) {
|
|
31786
|
-
lines.push(
|
|
31904
|
+
lines.push(chalk28__default.default.bold("\u{1F4DD} Examples:"));
|
|
31787
31905
|
for (const example of command.examples) {
|
|
31788
31906
|
lines.push(` ${example}`);
|
|
31789
31907
|
}
|
|
31790
31908
|
lines.push("");
|
|
31791
31909
|
}
|
|
31792
|
-
lines.push(
|
|
31910
|
+
lines.push(chalk28__default.default.bold("\u{1F4A1} Quick Tips:"));
|
|
31793
31911
|
lines.push(` \u2022 This command is production-ready and fully tested`);
|
|
31794
31912
|
lines.push(` \u2022 Try /${command.name} --help for additional options`);
|
|
31795
31913
|
if (command.category !== "core") {
|
|
@@ -31840,7 +31958,7 @@ var init_HelpCommand = __esm({
|
|
|
31840
31958
|
};
|
|
31841
31959
|
const emoji = emojiMap[categoryName.toLowerCase()] || "\u{1F4CB}";
|
|
31842
31960
|
lines.push("");
|
|
31843
|
-
lines.push(`${emoji} ${
|
|
31961
|
+
lines.push(`${emoji} ${chalk28__default.default.bold(categoryName.toUpperCase() + " COMMANDS")} (${commands.length} READY)`);
|
|
31844
31962
|
lines.push("\u2550".repeat(50));
|
|
31845
31963
|
lines.push("");
|
|
31846
31964
|
const maxNameLength = Math.max(...commands.map((c) => c.name.length)) + 1;
|
|
@@ -31874,7 +31992,7 @@ var init_HelpCommand = __esm({
|
|
|
31874
31992
|
formatSearchResults(searchTerm, results) {
|
|
31875
31993
|
const lines = [];
|
|
31876
31994
|
lines.push("");
|
|
31877
|
-
lines.push(`\u{1F50D} ${
|
|
31995
|
+
lines.push(`\u{1F50D} ${chalk28__default.default.bold("SEARCH RESULTS")} for "${searchTerm}" (${results.length} matches)`);
|
|
31878
31996
|
lines.push("\u2550".repeat(50));
|
|
31879
31997
|
lines.push("");
|
|
31880
31998
|
for (const result2 of results) {
|
|
@@ -31887,7 +32005,7 @@ var init_HelpCommand = __esm({
|
|
|
31887
32005
|
}
|
|
31888
32006
|
lines.push("");
|
|
31889
32007
|
}
|
|
31890
|
-
lines.push(
|
|
32008
|
+
lines.push(chalk28__default.default.bold("\u{1F4A1} Tip:") + " Higher scores indicate better matches");
|
|
31891
32009
|
lines.push("");
|
|
31892
32010
|
return lines.join("\n");
|
|
31893
32011
|
}
|
|
@@ -31898,38 +32016,38 @@ var init_HelpCommand = __esm({
|
|
|
31898
32016
|
const quickCommands = await this.readyService.getQuickStartCommands();
|
|
31899
32017
|
const lines = [];
|
|
31900
32018
|
lines.push("");
|
|
31901
|
-
lines.push(`\u{1F680} ${
|
|
32019
|
+
lines.push(`\u{1F680} ${chalk28__default.default.bold("MARIA QUICKSTART")} - Essential Commands`);
|
|
31902
32020
|
lines.push("\u2550".repeat(50));
|
|
31903
32021
|
lines.push("");
|
|
31904
|
-
lines.push(
|
|
32022
|
+
lines.push(chalk28__default.default.bold("\u{1F3AF} Get Started in 3 Steps:"));
|
|
31905
32023
|
lines.push("");
|
|
31906
|
-
lines.push(
|
|
32024
|
+
lines.push(chalk28__default.default.bold("1\uFE0F\u20E3 Configure Your AI Provider"));
|
|
31907
32025
|
const modelCmd = quickCommands.find((c) => c.name === "model");
|
|
31908
32026
|
if (modelCmd) {
|
|
31909
32027
|
lines.push(` /${modelCmd.name} - ${modelCmd.description}`);
|
|
31910
32028
|
lines.push(` Try: /model set provider=openai key=sk-...`);
|
|
31911
32029
|
}
|
|
31912
32030
|
lines.push("");
|
|
31913
|
-
lines.push(
|
|
32031
|
+
lines.push(chalk28__default.default.bold("2\uFE0F\u20E3 Check System Status"));
|
|
31914
32032
|
const statusCmd = quickCommands.find((c) => c.name === "status");
|
|
31915
32033
|
if (statusCmd) {
|
|
31916
32034
|
lines.push(` /${statusCmd.name} - ${statusCmd.description}`);
|
|
31917
32035
|
lines.push(` Try: /status`);
|
|
31918
32036
|
}
|
|
31919
32037
|
lines.push("");
|
|
31920
|
-
lines.push(
|
|
32038
|
+
lines.push(chalk28__default.default.bold("3\uFE0F\u20E3 Start Coding"));
|
|
31921
32039
|
const codeCmd = quickCommands.find((c) => c.name === "code");
|
|
31922
32040
|
if (codeCmd) {
|
|
31923
32041
|
lines.push(` /${codeCmd.name} - ${codeCmd.description}`);
|
|
31924
32042
|
lines.push(` Try: /code create a hello world function`);
|
|
31925
32043
|
}
|
|
31926
32044
|
lines.push("");
|
|
31927
|
-
lines.push(
|
|
32045
|
+
lines.push(chalk28__default.default.bold("\u{1F527} Essential Commands:"));
|
|
31928
32046
|
for (const cmd of quickCommands) {
|
|
31929
32047
|
lines.push(` /${cmd.name.padEnd(12)} - ${cmd.description}`);
|
|
31930
32048
|
}
|
|
31931
32049
|
lines.push("");
|
|
31932
|
-
lines.push(
|
|
32050
|
+
lines.push(chalk28__default.default.bold("\u{1F4A1} Next Steps:"));
|
|
31933
32051
|
lines.push(" \u2022 /help --category <name> - Explore command categories");
|
|
31934
32052
|
lines.push(" \u2022 /help --search <term> - Find specific functionality");
|
|
31935
32053
|
lines.push(" \u2022 /help <command> - Get detailed command help");
|
|
@@ -31944,20 +32062,20 @@ var init_HelpCommand = __esm({
|
|
|
31944
32062
|
const categories2 = await this.readyService.getCategories();
|
|
31945
32063
|
const lines = [];
|
|
31946
32064
|
lines.push("");
|
|
31947
|
-
lines.push(`\u{1F4CA} ${
|
|
32065
|
+
lines.push(`\u{1F4CA} ${chalk28__default.default.bold("READY COMMANDS STATISTICS")}`);
|
|
31948
32066
|
lines.push("\u2550".repeat(40));
|
|
31949
32067
|
lines.push("");
|
|
31950
|
-
lines.push(
|
|
32068
|
+
lines.push(chalk28__default.default.bold("\u{1F3AF} Overall:"));
|
|
31951
32069
|
lines.push(` Total READY Commands: ${stats.totalReady}`);
|
|
31952
32070
|
lines.push(` Categories: ${stats.categoriesCount}`);
|
|
31953
32071
|
lines.push(` Last Updated: ${stats.lastUpdated?.toLocaleString() || "Unknown"}`);
|
|
31954
32072
|
lines.push("");
|
|
31955
|
-
lines.push(
|
|
32073
|
+
lines.push(chalk28__default.default.bold("\u26A1 Performance:"));
|
|
31956
32074
|
lines.push(` Average Response Time: ${stats.avgResponseTime}ms`);
|
|
31957
32075
|
lines.push(` Fastest Command: /${stats.fastestCommand}`);
|
|
31958
32076
|
lines.push(` Slowest Command: /${stats.slowestCommand}`);
|
|
31959
32077
|
lines.push("");
|
|
31960
|
-
lines.push(
|
|
32078
|
+
lines.push(chalk28__default.default.bold("\u{1F4CB} By Category:"));
|
|
31961
32079
|
for (const category of categories2) {
|
|
31962
32080
|
const avgTime = Math.round(
|
|
31963
32081
|
category.commands.reduce((sum, cmd) => sum + cmd.contract.maxResponseTime, 0) / category.commands.length
|
|
@@ -31965,7 +32083,7 @@ var init_HelpCommand = __esm({
|
|
|
31965
32083
|
lines.push(` ${category.emoji} ${category.name.padEnd(15)}: ${category.count.toString().padStart(2)} commands (${avgTime}ms avg)`);
|
|
31966
32084
|
}
|
|
31967
32085
|
lines.push("");
|
|
31968
|
-
lines.push(
|
|
32086
|
+
lines.push(chalk28__default.default.bold("\u2705 Contract Validation:"));
|
|
31969
32087
|
lines.push(" All commands tested for:");
|
|
31970
32088
|
lines.push(" \u2022 Basic execution without crashes");
|
|
31971
32089
|
lines.push(" \u2022 TTY/non-TTY/pipe compatibility");
|
|
@@ -32028,7 +32146,7 @@ var init_VersionCommand = __esm({
|
|
|
32028
32146
|
if (context2.apiVersion) {
|
|
32029
32147
|
apiBuild = ` \xB7 API: ${context2.apiVersion}`;
|
|
32030
32148
|
}
|
|
32031
|
-
const output3 = `${
|
|
32149
|
+
const output3 = `${chalk28__default.default.bold("MARIA")} v${version}${apiBuild} \xB7 Node: ${process.version}`;
|
|
32032
32150
|
await trackCommand({
|
|
32033
32151
|
cmd: "version",
|
|
32034
32152
|
status: "success",
|
|
@@ -32045,7 +32163,7 @@ var init_VersionCommand = __esm({
|
|
|
32045
32163
|
plan: getUserPlan(),
|
|
32046
32164
|
quotaLeft: context2.quotaLeft || 999
|
|
32047
32165
|
});
|
|
32048
|
-
return this.success(`${
|
|
32166
|
+
return this.success(`${chalk28__default.default.bold("MARIA")} v${getVersion()}`);
|
|
32049
32167
|
}
|
|
32050
32168
|
}
|
|
32051
32169
|
};
|
|
@@ -32392,7 +32510,7 @@ var init_setup_command = __esm({
|
|
|
32392
32510
|
if (flags["advanced"]) {
|
|
32393
32511
|
return await this.advancedSetup(context2);
|
|
32394
32512
|
}
|
|
32395
|
-
if (flags["silent"] && options2["_config"]) {
|
|
32513
|
+
if (flags["silent"] && typeof options2["_config"] === "string" && options2["_config"].length > 0) {
|
|
32396
32514
|
return await this.silentSetup(context2, options2["_config"]);
|
|
32397
32515
|
}
|
|
32398
32516
|
return await this.interactiveSetup(context2);
|
|
@@ -32452,15 +32570,14 @@ var init_setup_command = __esm({
|
|
|
32452
32570
|
await this.showSuccessMessage(result2);
|
|
32453
32571
|
result2.success = true;
|
|
32454
32572
|
result2.duration = Date.now() - _startTime;
|
|
32455
|
-
|
|
32456
|
-
|
|
32457
|
-
|
|
32458
|
-
|
|
32459
|
-
|
|
32460
|
-
|
|
32461
|
-
|
|
32462
|
-
|
|
32463
|
-
});
|
|
32573
|
+
const nextSteps = [
|
|
32574
|
+
"Try: maria chat - Start interactive mode",
|
|
32575
|
+
'Try: maria code "create a React component"',
|
|
32576
|
+
"Try: maria test - Generate tests",
|
|
32577
|
+
"Try: maria help - View all commands"
|
|
32578
|
+
];
|
|
32579
|
+
const output3 = this.formatSetupSuccess(result2, nextSteps);
|
|
32580
|
+
return this.success(output3);
|
|
32464
32581
|
} catch (innerError) {
|
|
32465
32582
|
result2.success = false;
|
|
32466
32583
|
result2.duration = Date.now() - _startTime;
|
|
@@ -32496,14 +32613,10 @@ var init_setup_command = __esm({
|
|
|
32496
32613
|
errors: [],
|
|
32497
32614
|
warnings: []
|
|
32498
32615
|
});
|
|
32499
|
-
|
|
32500
|
-
|
|
32501
|
-
|
|
32502
|
-
|
|
32503
|
-
"Run: maria chat",
|
|
32504
|
-
'Try: maria code "Hello World function"'
|
|
32505
|
-
]
|
|
32506
|
-
});
|
|
32616
|
+
const message = chalk28__default.default.green(
|
|
32617
|
+
'\u26A1 Quick setup completed in under 2 minutes!\n \u2022 Configured: OpenAI GPT-4, Environment variables, Git ignore\n \u2022 Next: Run `maria chat` or try `maria code "Hello World function"`'
|
|
32618
|
+
);
|
|
32619
|
+
return this.success(message);
|
|
32507
32620
|
} catch (error2) {
|
|
32508
32621
|
logger.error("Quick setup failed:", error2);
|
|
32509
32622
|
return this.error(
|
|
@@ -32690,23 +32803,72 @@ Estimated time: 3-5 minutes
|
|
|
32690
32803
|
`);
|
|
32691
32804
|
}
|
|
32692
32805
|
async showSuccessMessage(result2) {
|
|
32693
|
-
|
|
32694
|
-
|
|
32695
|
-
|
|
32696
|
-
|
|
32697
|
-
|
|
32698
|
-
\
|
|
32699
|
-
|
|
32700
|
-
|
|
32701
|
-
|
|
32702
|
-
|
|
32703
|
-
|
|
32704
|
-
|
|
32705
|
-
|
|
32706
|
-
|
|
32707
|
-
|
|
32708
|
-
|
|
32709
|
-
|
|
32806
|
+
const lines = [];
|
|
32807
|
+
const durationSec = Math.max(1, Math.round(result2.duration / 1e3));
|
|
32808
|
+
const providers = result2.providersConfigured.length > 0 ? result2.providersConfigured.join(", ") : "none";
|
|
32809
|
+
const files = result2.filesGenerated.length > 0 ? result2.filesGenerated.join(", ") : "none";
|
|
32810
|
+
lines.push("");
|
|
32811
|
+
lines.push(chalk28__default.default.green.bold("\u{1F389} Setup Complete! Welcome to MARIA CODE!"));
|
|
32812
|
+
lines.push("");
|
|
32813
|
+
lines.push(chalk28__default.default.white(`\u2022 Status: ${chalk28__default.default.green("success")}`));
|
|
32814
|
+
lines.push(chalk28__default.default.white(`\u2022 Duration: ${chalk28__default.default.cyan(`${durationSec}s`)}`));
|
|
32815
|
+
lines.push(
|
|
32816
|
+
chalk28__default.default.white(
|
|
32817
|
+
`\u2022 Steps: ${chalk28__default.default.cyan(
|
|
32818
|
+
result2.stepsCompleted.map((s2) => s2.replace(/^_/, "")).join(", ") || "none"
|
|
32819
|
+
)}`
|
|
32820
|
+
)
|
|
32821
|
+
);
|
|
32822
|
+
lines.push(chalk28__default.default.white(`\u2022 Providers: ${chalk28__default.default.cyan(providers)}`));
|
|
32823
|
+
lines.push(chalk28__default.default.white(`\u2022 Files: ${chalk28__default.default.cyan(files)}`));
|
|
32824
|
+
if (result2.warnings.length > 0) {
|
|
32825
|
+
lines.push(
|
|
32826
|
+
chalk28__default.default.yellow(
|
|
32827
|
+
`\u2022 Warnings: ${result2.warnings.map((w) => w.replace(/^_/, "")).join(", ")}`
|
|
32828
|
+
)
|
|
32829
|
+
);
|
|
32830
|
+
}
|
|
32831
|
+
if (result2.errors.length > 0) {
|
|
32832
|
+
lines.push(chalk28__default.default.red(`\u2022 Errors: ${result2.errors.join(", ")}`));
|
|
32833
|
+
}
|
|
32834
|
+
lines.push("");
|
|
32835
|
+
lines.push(chalk28__default.default.white("\u{1F680} Ready to start! Try:"));
|
|
32836
|
+
lines.push(chalk28__default.default.white(" - maria chat \xB7 Start interactive mode"));
|
|
32837
|
+
lines.push(chalk28__default.default.white(' - maria code "create a React component"'));
|
|
32838
|
+
lines.push(chalk28__default.default.white(" - maria test \xB7 Generate tests"));
|
|
32839
|
+
lines.push(chalk28__default.default.white(" - maria help \xB7 View all commands"));
|
|
32840
|
+
lines.push("");
|
|
32841
|
+
lines.push(chalk28__default.default.green(`Setup completed in ${durationSec}s \xB7 Happy coding! \u{1F680}`));
|
|
32842
|
+
logger.info(lines.join("\n"));
|
|
32843
|
+
}
|
|
32844
|
+
/**
|
|
32845
|
+
* Build a green, human-readable success summary for CLI output
|
|
32846
|
+
*/
|
|
32847
|
+
formatSetupSuccess(result2, nextSteps) {
|
|
32848
|
+
const durationSec = Math.max(1, Math.round(result2.duration / 1e3));
|
|
32849
|
+
const providers = result2.providersConfigured.length > 0 ? result2.providersConfigured.join(", ") : "none";
|
|
32850
|
+
const files = result2.filesGenerated.length > 0 ? result2.filesGenerated.join(", ") : "none";
|
|
32851
|
+
const steps = result2.stepsCompleted.map((s2) => s2.replace(/^_/, "")).join(", ") || "none";
|
|
32852
|
+
const lines = [];
|
|
32853
|
+
lines.push(chalk28__default.default.green.bold("\u{1F389} Setup completed successfully!"));
|
|
32854
|
+
lines.push("");
|
|
32855
|
+
lines.push(chalk28__default.default.green(`\u2022 Status: success`));
|
|
32856
|
+
lines.push(chalk28__default.default.green(`\u2022 Duration: ${durationSec}s`));
|
|
32857
|
+
lines.push(chalk28__default.default.green(`\u2022 Steps: ${steps}`));
|
|
32858
|
+
lines.push(chalk28__default.default.green(`\u2022 Providers: ${providers}`));
|
|
32859
|
+
lines.push(chalk28__default.default.green(`\u2022 Files: ${files}`));
|
|
32860
|
+
if (result2.warnings.length > 0) {
|
|
32861
|
+
lines.push(chalk28__default.default.yellow(`\u2022 Warnings: ${result2.warnings.map((w) => w.replace(/^_/, "")).join(", ")}`));
|
|
32862
|
+
}
|
|
32863
|
+
if (result2.errors.length > 0) {
|
|
32864
|
+
lines.push(chalk28__default.default.red(`\u2022 Errors: ${result2.errors.join(", ")}`));
|
|
32865
|
+
}
|
|
32866
|
+
if (nextSteps.length > 0) {
|
|
32867
|
+
lines.push("");
|
|
32868
|
+
lines.push(chalk28__default.default.green("Next steps:"));
|
|
32869
|
+
nextSteps.forEach((s2) => lines.push(chalk28__default.default.green(` - ${s2}`)));
|
|
32870
|
+
}
|
|
32871
|
+
return lines.join("\n");
|
|
32710
32872
|
}
|
|
32711
32873
|
// Helper methods
|
|
32712
32874
|
async fileExists(_filePath) {
|
|
@@ -47166,7 +47328,7 @@ var init_clear_command = __esm({
|
|
|
47166
47328
|
plan: getUserPlan(),
|
|
47167
47329
|
quotaLeft: context2.quotaLeft || 999
|
|
47168
47330
|
});
|
|
47169
|
-
const message =
|
|
47331
|
+
const message = chalk28__default.default.green("\u2705 Cleared") + chalk28__default.default.gray(" \xB7 context reset");
|
|
47170
47332
|
return this.success(withQuotaFooter(message, context2.quotaLeft));
|
|
47171
47333
|
} catch (error2) {
|
|
47172
47334
|
await trackCommand({
|
|
@@ -47177,7 +47339,7 @@ var init_clear_command = __esm({
|
|
|
47177
47339
|
quotaLeft: context2.quotaLeft || 999
|
|
47178
47340
|
});
|
|
47179
47341
|
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
47180
|
-
return this.success(
|
|
47342
|
+
return this.success(chalk28__default.default.green("\u2705 Cleared"));
|
|
47181
47343
|
}
|
|
47182
47344
|
}
|
|
47183
47345
|
};
|
|
@@ -48209,18 +48371,18 @@ var init_WhoAmICommand = __esm({
|
|
|
48209
48371
|
});
|
|
48210
48372
|
}
|
|
48211
48373
|
const lines = [];
|
|
48212
|
-
lines.push(
|
|
48374
|
+
lines.push(chalk28__default.default.green("\u2705 Authenticated"));
|
|
48213
48375
|
if (user.name) {
|
|
48214
|
-
lines.push(
|
|
48376
|
+
lines.push(chalk28__default.default.white(`\u{1F464} Name: ${chalk28__default.default.cyan(user.name)}`));
|
|
48215
48377
|
}
|
|
48216
48378
|
if (user.email) {
|
|
48217
|
-
lines.push(
|
|
48379
|
+
lines.push(chalk28__default.default.white(`\u{1F4E7} Email: ${chalk28__default.default.cyan(user.email)}`));
|
|
48218
48380
|
}
|
|
48219
48381
|
if (user.provider) {
|
|
48220
|
-
lines.push(
|
|
48382
|
+
lines.push(chalk28__default.default.white(`\u{1F511} Provider: ${chalk28__default.default.cyan(user.provider)}`));
|
|
48221
48383
|
}
|
|
48222
48384
|
if (user.plan) {
|
|
48223
|
-
lines.push(
|
|
48385
|
+
lines.push(chalk28__default.default.white(`\u{1F48E} Plan: ${chalk28__default.default.cyan(user.plan)}`));
|
|
48224
48386
|
}
|
|
48225
48387
|
return this.success(lines.join("\n"), { authenticated: true, user });
|
|
48226
48388
|
}
|
|
@@ -48247,40 +48409,40 @@ var init_about_command = __esm({
|
|
|
48247
48409
|
async execute(args2, context2) {
|
|
48248
48410
|
const output3 = [];
|
|
48249
48411
|
output3.push("");
|
|
48250
|
-
output3.push(
|
|
48251
|
-
output3.push(
|
|
48412
|
+
output3.push(chalk28__default.default.cyan.bold("\u{1F916} About MARIA v4.2.26"));
|
|
48413
|
+
output3.push(chalk28__default.default.gray("\u2550".repeat(40)));
|
|
48252
48414
|
output3.push("");
|
|
48253
|
-
output3.push(
|
|
48415
|
+
output3.push(chalk28__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|
|
48254
48416
|
output3.push("");
|
|
48255
|
-
output3.push(
|
|
48417
|
+
output3.push(chalk28__default.default.white("\u{1F3AF} Revolutionary AI Development Platform:"));
|
|
48256
48418
|
output3.push(" \u2022 Natural Language Code Operations");
|
|
48257
48419
|
output3.push(" \u2022 Graph RAG Knowledge System");
|
|
48258
48420
|
output3.push(" \u2022 Dual Memory Architecture");
|
|
48259
48421
|
output3.push(" \u2022 Enterprise-Grade Security");
|
|
48260
48422
|
output3.push(" \u2022 Multimodal AI Generation");
|
|
48261
48423
|
output3.push("");
|
|
48262
|
-
output3.push(
|
|
48424
|
+
output3.push(chalk28__default.default.white("\u{1F31F} Key Features:"));
|
|
48263
48425
|
output3.push(" \u2022 /code - Natural language coding");
|
|
48264
48426
|
output3.push(" \u2022 68+ Slash Commands");
|
|
48265
48427
|
output3.push(" \u2022 8 AI Provider Support");
|
|
48266
48428
|
output3.push(" \u2022 Business Operations Suite");
|
|
48267
48429
|
output3.push(" \u2022 Real-time Streaming");
|
|
48268
48430
|
output3.push("");
|
|
48269
|
-
output3.push(
|
|
48431
|
+
output3.push(chalk28__default.default.white("\u{1F468}\u200D\u{1F4BB} Created by:"));
|
|
48270
48432
|
output3.push(" \u2022 Bonginkan Team");
|
|
48271
48433
|
output3.push(" \u2022 Enterprise AI Solutions");
|
|
48272
48434
|
output3.push("");
|
|
48273
|
-
output3.push(
|
|
48274
|
-
output3.push(
|
|
48275
|
-
output3.push(
|
|
48276
|
-
output3.push(
|
|
48277
|
-
output3.push(
|
|
48278
|
-
output3.push(
|
|
48435
|
+
output3.push(chalk28__default.default.white("\u{1F517} Links:"));
|
|
48436
|
+
output3.push(chalk28__default.default.blue(" Website: https://maria-code.ai"));
|
|
48437
|
+
output3.push(chalk28__default.default.blue(" Company: https://bonginkan.ai"));
|
|
48438
|
+
output3.push(chalk28__default.default.blue(" Discord: https://discord.gg/SMSmSGcEQy"));
|
|
48439
|
+
output3.push(chalk28__default.default.blue(" GitHub: https://github.com/bonginkan/maria"));
|
|
48440
|
+
output3.push(chalk28__default.default.blue(" NPM: https://www.npmjs.com/package/@bonginkan/maria"));
|
|
48279
48441
|
output3.push("");
|
|
48280
|
-
output3.push(
|
|
48281
|
-
output3.push(
|
|
48442
|
+
output3.push(chalk28__default.default.white("\u{1F4C4} License: MIT"));
|
|
48443
|
+
output3.push(chalk28__default.default.white("\u{1F3D7}\uFE0F Built with: TypeScript, Node.js, React"));
|
|
48282
48444
|
output3.push("");
|
|
48283
|
-
output3.push(
|
|
48445
|
+
output3.push(chalk28__default.default.green("Thank you for using MARIA! \u{1F680}"));
|
|
48284
48446
|
output3.push("");
|
|
48285
48447
|
return {
|
|
48286
48448
|
success: true,
|
|
@@ -50299,8 +50461,8 @@ var init_ConfigCLI = __esm({
|
|
|
50299
50461
|
// Default to interactive
|
|
50300
50462
|
});
|
|
50301
50463
|
if (options2.verbose) {
|
|
50302
|
-
console.log(
|
|
50303
|
-
console.log(
|
|
50464
|
+
console.log(chalk28__default.default.gray(`Executing: ${operation} ${args2.join(" ")}`));
|
|
50465
|
+
console.log(chalk28__default.default.gray(`Options: ${JSON.stringify(options2, null, 2)}`));
|
|
50304
50466
|
}
|
|
50305
50467
|
const result2 = await command.execute();
|
|
50306
50468
|
if (result2.endReason === "success") {
|
|
@@ -50326,10 +50488,10 @@ var init_ConfigCLI = __esm({
|
|
|
50326
50488
|
await this.displayPreview(data2.preview);
|
|
50327
50489
|
if (data2.dryRun) {
|
|
50328
50490
|
console.log(
|
|
50329
|
-
|
|
50491
|
+
chalk28__default.default.blue("\n\u{1F4CB} This was a dry run - no changes were applied.")
|
|
50330
50492
|
);
|
|
50331
50493
|
console.log(
|
|
50332
|
-
|
|
50494
|
+
chalk28__default.default.gray(
|
|
50333
50495
|
"To apply changes, run the same command without --dry-run"
|
|
50334
50496
|
)
|
|
50335
50497
|
);
|
|
@@ -50337,30 +50499,30 @@ var init_ConfigCLI = __esm({
|
|
|
50337
50499
|
}
|
|
50338
50500
|
}
|
|
50339
50501
|
if (data2.message) {
|
|
50340
|
-
console.log(
|
|
50502
|
+
console.log(chalk28__default.default.green(data2.message));
|
|
50341
50503
|
}
|
|
50342
50504
|
if (data2.key && data2.value !== void 0) {
|
|
50343
|
-
console.log(
|
|
50505
|
+
console.log(chalk28__default.default.green(`\u2705 Configuration updated:`));
|
|
50344
50506
|
console.log(
|
|
50345
|
-
` ${
|
|
50507
|
+
` ${chalk28__default.default.bold(data2.key)}: ${chalk28__default.default.cyan(this.formatValue(data2.value))}`
|
|
50346
50508
|
);
|
|
50347
50509
|
if (data2.layer) {
|
|
50348
|
-
console.log(` Layer: ${
|
|
50510
|
+
console.log(` Layer: ${chalk28__default.default.magenta(data2.layer)}`);
|
|
50349
50511
|
}
|
|
50350
50512
|
}
|
|
50351
50513
|
if (data2.deleted) {
|
|
50352
50514
|
console.log(
|
|
50353
|
-
|
|
50515
|
+
chalk28__default.default.green(`\u2705 Configuration deleted: ${chalk28__default.default.bold(data2.key)}`)
|
|
50354
50516
|
);
|
|
50355
50517
|
}
|
|
50356
50518
|
if (data2.templateId) {
|
|
50357
50519
|
console.log(
|
|
50358
|
-
|
|
50520
|
+
chalk28__default.default.green(`\u2705 Template applied: ${chalk28__default.default.bold(data2.templateId)}`)
|
|
50359
50521
|
);
|
|
50360
50522
|
}
|
|
50361
50523
|
if (data2.rolledBack) {
|
|
50362
50524
|
console.log(
|
|
50363
|
-
|
|
50525
|
+
chalk28__default.default.green(`\u2705 Rolled back to entry: ${chalk28__default.default.bold(data2.entryId)}`)
|
|
50364
50526
|
);
|
|
50365
50527
|
}
|
|
50366
50528
|
if (data2.layers) {
|
|
@@ -50375,62 +50537,62 @@ var init_ConfigCLI = __esm({
|
|
|
50375
50537
|
console.log(JSON.stringify({ error: error2 }, null, 2));
|
|
50376
50538
|
return;
|
|
50377
50539
|
}
|
|
50378
|
-
console.error(
|
|
50540
|
+
console.error(chalk28__default.default.red(`\u274C Error: ${error2}`));
|
|
50379
50541
|
if (error2.includes("not found")) {
|
|
50380
50542
|
console.log(
|
|
50381
|
-
|
|
50543
|
+
chalk28__default.default.gray("\nTry: /config list # to see available configurations")
|
|
50382
50544
|
);
|
|
50383
50545
|
}
|
|
50384
50546
|
if (error2.includes("required")) {
|
|
50385
|
-
console.log(
|
|
50547
|
+
console.log(chalk28__default.default.gray("\nTry: /config help # to see command syntax"));
|
|
50386
50548
|
}
|
|
50387
50549
|
}
|
|
50388
50550
|
async displayPreview(preview) {
|
|
50389
|
-
console.log(
|
|
50390
|
-
console.log(`${
|
|
50551
|
+
console.log(chalk28__default.default.bold.cyan("\n\u{1F50D} Configuration Preview\n"));
|
|
50552
|
+
console.log(`${chalk28__default.default.bold("Operation:")} ${chalk28__default.default.cyan(preview.operation)}`);
|
|
50391
50553
|
if (preview.key) {
|
|
50392
|
-
console.log(`${
|
|
50554
|
+
console.log(`${chalk28__default.default.bold("Key:")} ${chalk28__default.default.yellow(preview.key)}`);
|
|
50393
50555
|
}
|
|
50394
50556
|
if (preview.value !== void 0) {
|
|
50395
50557
|
console.log(
|
|
50396
|
-
`${
|
|
50558
|
+
`${chalk28__default.default.bold("Value:")} ${chalk28__default.default.green(this.formatValue(preview.value))}`
|
|
50397
50559
|
);
|
|
50398
50560
|
}
|
|
50399
50561
|
if (preview.changes.length > 0) {
|
|
50400
|
-
console.log(
|
|
50562
|
+
console.log(chalk28__default.default.bold("\n\u{1F4DD} Changes:"));
|
|
50401
50563
|
for (const change of preview.changes) {
|
|
50402
50564
|
this.displayChange(change);
|
|
50403
50565
|
}
|
|
50404
50566
|
}
|
|
50405
50567
|
if (preview.affected.length > 0) {
|
|
50406
|
-
console.log(
|
|
50568
|
+
console.log(chalk28__default.default.bold("\n\u{1F517} Affected Configurations:"));
|
|
50407
50569
|
for (const affected of preview.affected) {
|
|
50408
50570
|
this.displayAffectedConfig(affected);
|
|
50409
50571
|
}
|
|
50410
50572
|
}
|
|
50411
50573
|
if (preview.risks.length > 0) {
|
|
50412
|
-
console.log(
|
|
50574
|
+
console.log(chalk28__default.default.bold("\n\u26A0\uFE0F Safety Analysis:"));
|
|
50413
50575
|
for (const risk of preview.risks) {
|
|
50414
50576
|
this.displaySafetyRisk(risk);
|
|
50415
50577
|
}
|
|
50416
50578
|
}
|
|
50417
50579
|
if (!preview.validation.ok) {
|
|
50418
|
-
console.log(
|
|
50580
|
+
console.log(chalk28__default.default.bold.red("\n\u274C Validation Errors:"));
|
|
50419
50581
|
if (preview.validation.errors) {
|
|
50420
50582
|
for (const error2 of preview.validation.errors) {
|
|
50421
|
-
console.log(` \u2022 ${
|
|
50583
|
+
console.log(` \u2022 ${chalk28__default.default.red(error2)}`);
|
|
50422
50584
|
}
|
|
50423
50585
|
}
|
|
50424
50586
|
} else if (preview.validation.warnings && preview.validation.warnings.length > 0) {
|
|
50425
|
-
console.log(
|
|
50587
|
+
console.log(chalk28__default.default.bold.yellow("\n\u26A0\uFE0F Validation Warnings:"));
|
|
50426
50588
|
for (const warning of preview.validation.warnings) {
|
|
50427
|
-
console.log(` \u2022 ${
|
|
50589
|
+
console.log(` \u2022 ${chalk28__default.default.yellow(warning)}`);
|
|
50428
50590
|
}
|
|
50429
50591
|
}
|
|
50430
50592
|
if (preview.requiresConfirmation && !preview.validation.dryRun) {
|
|
50431
50593
|
const confirmed = await this.promptConfirmation();
|
|
50432
50594
|
if (!confirmed) {
|
|
50433
|
-
console.log(
|
|
50595
|
+
console.log(chalk28__default.default.yellow("\n\u274C Operation cancelled"));
|
|
50434
50596
|
process.exit(0);
|
|
50435
50597
|
}
|
|
50436
50598
|
}
|
|
@@ -50442,42 +50604,42 @@ var init_ConfigCLI = __esm({
|
|
|
50442
50604
|
delete: "\u{1F5D1}\uFE0F"
|
|
50443
50605
|
};
|
|
50444
50606
|
const typeColor = {
|
|
50445
|
-
add:
|
|
50446
|
-
modify:
|
|
50447
|
-
delete:
|
|
50607
|
+
add: chalk28__default.default.green,
|
|
50608
|
+
modify: chalk28__default.default.yellow,
|
|
50609
|
+
delete: chalk28__default.default.red
|
|
50448
50610
|
};
|
|
50449
50611
|
console.log(
|
|
50450
|
-
` ${typeIcon[change.type]} ${typeColor[change.type](change.type.toUpperCase())}: ${
|
|
50612
|
+
` ${typeIcon[change.type]} ${typeColor[change.type](change.type.toUpperCase())}: ${chalk28__default.default.bold(change.key)}`
|
|
50451
50613
|
);
|
|
50452
50614
|
if (change.oldValue !== void 0) {
|
|
50453
50615
|
console.log(
|
|
50454
|
-
` ${
|
|
50616
|
+
` ${chalk28__default.default.gray("Old:")} ${chalk28__default.default.gray(this.formatValue(change.oldValue))}`
|
|
50455
50617
|
);
|
|
50456
50618
|
}
|
|
50457
50619
|
if (change.newValue !== void 0) {
|
|
50458
50620
|
console.log(
|
|
50459
|
-
` ${
|
|
50621
|
+
` ${chalk28__default.default.gray("New:")} ${chalk28__default.default.cyan(this.formatValue(change.newValue))}`
|
|
50460
50622
|
);
|
|
50461
50623
|
}
|
|
50462
|
-
console.log(` ${
|
|
50463
|
-
console.log(` ${
|
|
50624
|
+
console.log(` ${chalk28__default.default.gray("Layer:")} ${chalk28__default.default.magenta(change.layer)}`);
|
|
50625
|
+
console.log(` ${chalk28__default.default.gray(change.description)}`);
|
|
50464
50626
|
console.log();
|
|
50465
50627
|
}
|
|
50466
50628
|
displayAffectedConfig(affected) {
|
|
50467
50629
|
const impactColor = {
|
|
50468
|
-
low:
|
|
50469
|
-
medium:
|
|
50470
|
-
high:
|
|
50471
|
-
critical:
|
|
50630
|
+
low: chalk28__default.default.gray,
|
|
50631
|
+
medium: chalk28__default.default.yellow,
|
|
50632
|
+
high: chalk28__default.default.red,
|
|
50633
|
+
critical: chalk28__default.default.red.bold
|
|
50472
50634
|
};
|
|
50473
50635
|
console.log(
|
|
50474
|
-
` \u2022 ${
|
|
50636
|
+
` \u2022 ${chalk28__default.default.bold(affected.key)} (${chalk28__default.default.magenta(affected.layer)})`
|
|
50475
50637
|
);
|
|
50476
50638
|
console.log(
|
|
50477
50639
|
` Impact: ${impactColor[affected.impact](affected.impact.toUpperCase())}`
|
|
50478
50640
|
);
|
|
50479
|
-
console.log(` Relationship: ${
|
|
50480
|
-
console.log(` ${
|
|
50641
|
+
console.log(` Relationship: ${chalk28__default.default.cyan(affected.relationship)}`);
|
|
50642
|
+
console.log(` ${chalk28__default.default.gray(affected.description)}`);
|
|
50481
50643
|
console.log();
|
|
50482
50644
|
}
|
|
50483
50645
|
displaySafetyRisk(risk) {
|
|
@@ -50488,78 +50650,78 @@ var init_ConfigCLI = __esm({
|
|
|
50488
50650
|
critical: "\u{1F6A8}"
|
|
50489
50651
|
};
|
|
50490
50652
|
const levelColor = {
|
|
50491
|
-
info:
|
|
50492
|
-
warning:
|
|
50493
|
-
error:
|
|
50494
|
-
critical:
|
|
50653
|
+
info: chalk28__default.default.blue,
|
|
50654
|
+
warning: chalk28__default.default.yellow,
|
|
50655
|
+
error: chalk28__default.default.red,
|
|
50656
|
+
critical: chalk28__default.default.red.bold
|
|
50495
50657
|
};
|
|
50496
50658
|
console.log(
|
|
50497
50659
|
` ${levelIcon[risk.level]} ${levelColor[risk.level](risk.level.toUpperCase())}: ${risk.message}`
|
|
50498
50660
|
);
|
|
50499
50661
|
if (risk.recommendation) {
|
|
50500
50662
|
console.log(
|
|
50501
|
-
` ${
|
|
50663
|
+
` ${chalk28__default.default.gray("Recommendation:")} ${risk.recommendation}`
|
|
50502
50664
|
);
|
|
50503
50665
|
}
|
|
50504
50666
|
if (risk.autoFixable) {
|
|
50505
|
-
console.log(` ${
|
|
50667
|
+
console.log(` ${chalk28__default.default.green("Auto-fixable: Yes")}`);
|
|
50506
50668
|
}
|
|
50507
50669
|
console.log();
|
|
50508
50670
|
}
|
|
50509
50671
|
displayLayeredConfig(data2) {
|
|
50510
|
-
console.log(
|
|
50672
|
+
console.log(chalk28__default.default.bold(`
|
|
50511
50673
|
\u{1F4CB} ${data2.key} Configuration
|
|
50512
50674
|
`));
|
|
50513
50675
|
console.log(
|
|
50514
|
-
`${
|
|
50676
|
+
`${chalk28__default.default.bold("Effective Value:")} ${chalk28__default.default.cyan(this.formatValue(data2.value))}`
|
|
50515
50677
|
);
|
|
50516
|
-
console.log(`${
|
|
50678
|
+
console.log(`${chalk28__default.default.bold("Source Layer:")} ${chalk28__default.default.magenta(data2.source)}`);
|
|
50517
50679
|
console.log(
|
|
50518
|
-
`${
|
|
50680
|
+
`${chalk28__default.default.bold("Merged:")} ${data2.merged ? chalk28__default.default.yellow("Yes") : chalk28__default.default.gray("No")}`
|
|
50519
50681
|
);
|
|
50520
50682
|
if (data2.layers) {
|
|
50521
|
-
console.log(
|
|
50683
|
+
console.log(chalk28__default.default.bold("\nLayer Values:"));
|
|
50522
50684
|
const layers = ["runtime", "project", "user", "global"];
|
|
50523
50685
|
for (const layer of layers) {
|
|
50524
50686
|
const value = data2.layers[layer];
|
|
50525
50687
|
if (value !== void 0) {
|
|
50526
50688
|
const isActive = layer === data2.source;
|
|
50527
|
-
const layerDisplay = isActive ?
|
|
50689
|
+
const layerDisplay = isActive ? chalk28__default.default.bold.magenta(`${layer} (active)`) : chalk28__default.default.gray(layer);
|
|
50528
50690
|
console.log(
|
|
50529
|
-
` ${layerDisplay}: ${
|
|
50691
|
+
` ${layerDisplay}: ${chalk28__default.default.cyan(this.formatValue(value))}`
|
|
50530
50692
|
);
|
|
50531
50693
|
}
|
|
50532
50694
|
}
|
|
50533
50695
|
}
|
|
50534
50696
|
}
|
|
50535
50697
|
displayConfigList(configs) {
|
|
50536
|
-
console.log(
|
|
50698
|
+
console.log(chalk28__default.default.bold("\n\u2699\uFE0F Configuration Settings\n"));
|
|
50537
50699
|
if (Object.keys(configs).length === 0) {
|
|
50538
|
-
console.log(
|
|
50700
|
+
console.log(chalk28__default.default.gray("No configurations found."));
|
|
50539
50701
|
return;
|
|
50540
50702
|
}
|
|
50541
50703
|
const categorized = this.categorizeConfigs(configs);
|
|
50542
50704
|
for (const [category, items] of Object.entries(categorized)) {
|
|
50543
50705
|
if (Object.keys(items).length === 0) continue;
|
|
50544
50706
|
console.log(
|
|
50545
|
-
|
|
50707
|
+
chalk28__default.default.bold.cyan(`${this.getCategoryIcon(category)} ${category}`)
|
|
50546
50708
|
);
|
|
50547
|
-
console.log(
|
|
50709
|
+
console.log(chalk28__default.default.gray("\u2500".repeat(category.length + 4)));
|
|
50548
50710
|
for (const [key2, value] of Object.entries(items)) {
|
|
50549
50711
|
console.log(
|
|
50550
|
-
` ${
|
|
50712
|
+
` ${chalk28__default.default.bold(key2)}: ${chalk28__default.default.cyan(this.formatValue(value))}`
|
|
50551
50713
|
);
|
|
50552
50714
|
}
|
|
50553
50715
|
console.log();
|
|
50554
50716
|
}
|
|
50555
50717
|
console.log(
|
|
50556
|
-
|
|
50718
|
+
chalk28__default.default.gray(`Total: ${Object.keys(configs).length} configuration(s)`)
|
|
50557
50719
|
);
|
|
50558
50720
|
}
|
|
50559
50721
|
async promptConfirmation() {
|
|
50560
50722
|
return new Promise((resolve8) => {
|
|
50561
50723
|
this.rl.question(
|
|
50562
|
-
|
|
50724
|
+
chalk28__default.default.bold("\nDo you want to proceed? [y/N]: "),
|
|
50563
50725
|
(answer) => {
|
|
50564
50726
|
resolve8(["y", "yes", "Y", "YES"].includes(answer.trim()));
|
|
50565
50727
|
}
|
|
@@ -50568,20 +50730,20 @@ var init_ConfigCLI = __esm({
|
|
|
50568
50730
|
}
|
|
50569
50731
|
formatValue(value) {
|
|
50570
50732
|
if (value === null || value === void 0) {
|
|
50571
|
-
return
|
|
50733
|
+
return chalk28__default.default.gray("null");
|
|
50572
50734
|
}
|
|
50573
50735
|
if (typeof value === "string") {
|
|
50574
50736
|
const isSensitive = this.isSensitiveValue(value);
|
|
50575
50737
|
if (isSensitive) {
|
|
50576
|
-
return
|
|
50738
|
+
return chalk28__default.default.gray("********");
|
|
50577
50739
|
}
|
|
50578
50740
|
return `"${value}"`;
|
|
50579
50741
|
}
|
|
50580
50742
|
if (typeof value === "boolean") {
|
|
50581
|
-
return value ?
|
|
50743
|
+
return value ? chalk28__default.default.green("true") : chalk28__default.default.red("false");
|
|
50582
50744
|
}
|
|
50583
50745
|
if (typeof value === "number") {
|
|
50584
|
-
return
|
|
50746
|
+
return chalk28__default.default.blue(value.toString());
|
|
50585
50747
|
}
|
|
50586
50748
|
if (Array.isArray(value)) {
|
|
50587
50749
|
return `[${value.map((v) => this.formatValue(v)).join(", ")}]`;
|
|
@@ -51410,8 +51572,8 @@ var init_api_caller = __esm({
|
|
|
51410
51572
|
});
|
|
51411
51573
|
function handleRateLimitError(error2) {
|
|
51412
51574
|
console.log();
|
|
51413
|
-
console.log(
|
|
51414
|
-
console.log(
|
|
51575
|
+
console.log(chalk28__default.default.yellow("\u23F1\uFE0F Rate Limit Exceeded"));
|
|
51576
|
+
console.log(chalk28__default.default.gray("\u2501".repeat(50)));
|
|
51415
51577
|
const route = error2.route || error2.details?.endpoint || "API";
|
|
51416
51578
|
const plan = error2.plan || error2.details?.plan || "Unknown";
|
|
51417
51579
|
const limit = error2.limit || (error2.details?.limit ? parseInt(error2.details.limit) : null);
|
|
@@ -51429,24 +51591,24 @@ function handleRateLimitError(error2) {
|
|
|
51429
51591
|
resetTime = `at ${resetDate.toLocaleTimeString()}`;
|
|
51430
51592
|
}
|
|
51431
51593
|
}
|
|
51432
|
-
console.log(
|
|
51433
|
-
console.log(
|
|
51594
|
+
console.log(chalk28__default.default.white(`Plan: ${chalk28__default.default.bold(plan)}`));
|
|
51595
|
+
console.log(chalk28__default.default.white(`Endpoint: ${chalk28__default.default.bold(route)}`));
|
|
51434
51596
|
if (limit !== null) {
|
|
51435
|
-
console.log(
|
|
51597
|
+
console.log(chalk28__default.default.white(`Limit: ${chalk28__default.default.bold(limit)} requests`));
|
|
51436
51598
|
}
|
|
51437
51599
|
if (error2.remaining !== void 0) {
|
|
51438
|
-
console.log(
|
|
51600
|
+
console.log(chalk28__default.default.white(`Remaining: ${chalk28__default.default.bold(error2.remaining)} requests`));
|
|
51439
51601
|
}
|
|
51440
51602
|
console.log();
|
|
51441
|
-
console.log(
|
|
51603
|
+
console.log(chalk28__default.default.cyan(`Please wait ${chalk28__default.default.bold(waitTime)} before trying again`));
|
|
51442
51604
|
if (resetTime) {
|
|
51443
|
-
console.log(
|
|
51605
|
+
console.log(chalk28__default.default.gray(`Rate limit resets ${resetTime}`));
|
|
51444
51606
|
}
|
|
51445
51607
|
if (error2.hint) {
|
|
51446
51608
|
console.log();
|
|
51447
|
-
console.log(
|
|
51609
|
+
console.log(chalk28__default.default.magenta("\u{1F4A1} " + error2.hint));
|
|
51448
51610
|
}
|
|
51449
|
-
console.log(
|
|
51611
|
+
console.log(chalk28__default.default.gray("\u2501".repeat(50)));
|
|
51450
51612
|
console.log();
|
|
51451
51613
|
}
|
|
51452
51614
|
async function parseRateLimitResponse(response2) {
|
|
@@ -56357,7 +56519,7 @@ var init_model_selector_ui = __esm({
|
|
|
56357
56519
|
output: process.stdout,
|
|
56358
56520
|
terminal: true
|
|
56359
56521
|
});
|
|
56360
|
-
console.log(
|
|
56522
|
+
console.log(chalk28__default.default.green(
|
|
56361
56523
|
"\u250C\u2500[ MODEL MATRIX ]\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510"
|
|
56362
56524
|
));
|
|
56363
56525
|
process.stdout.write("\x1B7");
|
|
@@ -56425,14 +56587,14 @@ var init_model_selector_ui = __esm({
|
|
|
56425
56587
|
}
|
|
56426
56588
|
renderFromSavedPosition() {
|
|
56427
56589
|
if (this.isDestroyed) return;
|
|
56428
|
-
console.log(
|
|
56429
|
-
"\u2502 " +
|
|
56590
|
+
console.log(chalk28__default.default.green(
|
|
56591
|
+
"\u2502 " + chalk28__default.default.greenBright("SELECT MODEL:") + " ".repeat(62) + "\u2502"
|
|
56430
56592
|
));
|
|
56431
56593
|
this.renderContent();
|
|
56432
56594
|
const scrollInfo = `[${this.selectedIndex + 1}/${this.models.length}]`;
|
|
56433
56595
|
const helpText = `\u2193:NEXT \u2191:PREV ENTER:EXEC ESC:ABORT ${scrollInfo}`;
|
|
56434
|
-
console.log(
|
|
56435
|
-
console.log(
|
|
56596
|
+
console.log(chalk28__default.default.green("\u2502 ") + chalk28__default.default.dim.green(helpText.padEnd(76)) + chalk28__default.default.green(" \u2502"));
|
|
56597
|
+
console.log(chalk28__default.default.green(
|
|
56436
56598
|
"\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"
|
|
56437
56599
|
));
|
|
56438
56600
|
}
|
|
@@ -56473,19 +56635,19 @@ var init_model_selector_ui = __esm({
|
|
|
56473
56635
|
const item = displayItems[i2];
|
|
56474
56636
|
if (item.type === "group") {
|
|
56475
56637
|
console.log(
|
|
56476
|
-
|
|
56638
|
+
chalk28__default.default.green("\u2502") + chalk28__default.default.dim.green(" \u2501\u2501\u2501 ") + chalk28__default.default.greenBright(item.content.substring(2, item.content.indexOf(" \u2500"))) + chalk28__default.default.dim.green(" " + "\u2501".repeat(71 - item.content.indexOf(" \u2500"))) + chalk28__default.default.green("\u2502")
|
|
56477
56639
|
);
|
|
56478
56640
|
} else {
|
|
56479
56641
|
const isSelected = item.modelIndex === this.selectedIndex;
|
|
56480
|
-
const prefix = isSelected ?
|
|
56642
|
+
const prefix = isSelected ? chalk28__default.default.greenBright("\u25B6 ") : " ";
|
|
56481
56643
|
const modelText = item.content;
|
|
56482
56644
|
if (isSelected) {
|
|
56483
56645
|
console.log(
|
|
56484
|
-
|
|
56646
|
+
chalk28__default.default.green("\u2502") + prefix + chalk28__default.default.black.bgGreen(modelText.padEnd(75)) + chalk28__default.default.green("\u2502")
|
|
56485
56647
|
);
|
|
56486
56648
|
} else {
|
|
56487
56649
|
console.log(
|
|
56488
|
-
|
|
56650
|
+
chalk28__default.default.green("\u2502") + prefix + chalk28__default.default.green(modelText.substring(0, 75).padEnd(75)) + chalk28__default.default.green("\u2502")
|
|
56489
56651
|
);
|
|
56490
56652
|
}
|
|
56491
56653
|
}
|
|
@@ -58564,8 +58726,8 @@ async function loadServices() {
|
|
|
58564
58726
|
try {
|
|
58565
58727
|
const commandName = command.startsWith("/") ? command.slice(1) : command;
|
|
58566
58728
|
if (commandName === "battlecard") {
|
|
58567
|
-
console.log(
|
|
58568
|
-
console.log(
|
|
58729
|
+
console.log(chalk28__default.default.yellow("\u{1F512} /battlecard is not available on Free plan"));
|
|
58730
|
+
console.log(chalk28__default.default.gray(" Join the waitlist for business features: https://maria-code.ai/waitlist"));
|
|
58569
58731
|
return {
|
|
58570
58732
|
success: false,
|
|
58571
58733
|
message: "Command not available on Free plan"
|
|
@@ -58626,7 +58788,7 @@ async function loadServices() {
|
|
|
58626
58788
|
commandManager.setLegacyHandler(legacyHandlerAdapter);
|
|
58627
58789
|
}
|
|
58628
58790
|
} catch (e2) {
|
|
58629
|
-
console.warn(
|
|
58791
|
+
console.warn(chalk28__default.default.yellow("\u26A0 Some services unavailable, using fallbacks"));
|
|
58630
58792
|
}
|
|
58631
58793
|
}
|
|
58632
58794
|
async function init() {
|
|
@@ -58748,17 +58910,17 @@ async function enforceAuth(cmd) {
|
|
|
58748
58910
|
try {
|
|
58749
58911
|
const tokens = await authManager.getValidTokens();
|
|
58750
58912
|
if (!tokens) {
|
|
58751
|
-
console.log(
|
|
58913
|
+
console.log(chalk28__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
58752
58914
|
return false;
|
|
58753
58915
|
}
|
|
58754
58916
|
return true;
|
|
58755
58917
|
} catch (error2) {
|
|
58756
58918
|
if (error2.code === "AUTH_REQUIRED") {
|
|
58757
|
-
console.log(
|
|
58919
|
+
console.log(chalk28__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
58758
58920
|
} else if (error2.code === "REAUTH_REQUIRED") {
|
|
58759
|
-
console.log(
|
|
58921
|
+
console.log(chalk28__default.default.yellow("\u{1F504} Please re-authenticate \xB7 Run: maria /login"));
|
|
58760
58922
|
} else {
|
|
58761
|
-
console.log(
|
|
58923
|
+
console.log(chalk28__default.default.red("\u{1F310} Network error, check connection"));
|
|
58762
58924
|
}
|
|
58763
58925
|
return false;
|
|
58764
58926
|
}
|
|
@@ -58797,7 +58959,7 @@ async function handleSlash(input3) {
|
|
|
58797
58959
|
console.log(JSON.stringify(result2.data, null, 2));
|
|
58798
58960
|
}
|
|
58799
58961
|
} else {
|
|
58800
|
-
console.log(
|
|
58962
|
+
console.log(chalk28__default.default.red(`Help Error: ${result2.message}`));
|
|
58801
58963
|
}
|
|
58802
58964
|
return true;
|
|
58803
58965
|
}
|
|
@@ -58805,7 +58967,7 @@ async function handleSlash(input3) {
|
|
|
58805
58967
|
if (process.env.MARIA_DEBUG === "1") {
|
|
58806
58968
|
console.error("HelpCommand error:", helpError);
|
|
58807
58969
|
}
|
|
58808
|
-
console.log(
|
|
58970
|
+
console.log(chalk28__default.default.yellow("\u26A0 Dynamic help unavailable, using fallback"));
|
|
58809
58971
|
}
|
|
58810
58972
|
const help = `
|
|
58811
58973
|
\u{1F4D6} MARIA CLI Help
|
|
@@ -58835,7 +58997,7 @@ Chat:
|
|
|
58835
58997
|
session.length = 0;
|
|
58836
58998
|
if (ctx?.clearContext) ctx.clearContext();
|
|
58837
58999
|
console.clear();
|
|
58838
|
-
console.log(
|
|
59000
|
+
console.log(chalk28__default.default.green("\u2728 Session cleared"));
|
|
58839
59001
|
return true;
|
|
58840
59002
|
}
|
|
58841
59003
|
if (cmd === "code") {
|
|
@@ -58844,7 +59006,7 @@ Chat:
|
|
|
58844
59006
|
const prompt = args2.join(" ").trim();
|
|
58845
59007
|
if (!prompt) {
|
|
58846
59008
|
console.log(
|
|
58847
|
-
|
|
59009
|
+
chalk28__default.default.red("Usage: /code <request> e.g. /code build a REST API")
|
|
58848
59010
|
);
|
|
58849
59011
|
return true;
|
|
58850
59012
|
}
|
|
@@ -58857,7 +59019,7 @@ Chat:
|
|
|
58857
59019
|
const prompt = args2.join(" ").trim();
|
|
58858
59020
|
if (!prompt) {
|
|
58859
59021
|
console.log(
|
|
58860
|
-
|
|
59022
|
+
chalk28__default.default.cyan("\u{1F3A8} **Image Generation**\n") + chalk28__default.default.white("Usage: /image <prompt>\n") + chalk28__default.default.gray("Example: /image \u5BCC\u58EB\u5C71\u306E\u65E5\u306E\u51FA")
|
|
58861
59023
|
);
|
|
58862
59024
|
return true;
|
|
58863
59025
|
}
|
|
@@ -58869,14 +59031,14 @@ Chat:
|
|
|
58869
59031
|
options: {},
|
|
58870
59032
|
logger: {
|
|
58871
59033
|
info: (msg) => console.log(msg),
|
|
58872
|
-
error: (msg) => console.error(
|
|
58873
|
-
warn: (msg) => console.warn(
|
|
59034
|
+
error: (msg) => console.error(chalk28__default.default.red(msg)),
|
|
59035
|
+
warn: (msg) => console.warn(chalk28__default.default.yellow(msg))
|
|
58874
59036
|
}
|
|
58875
59037
|
};
|
|
58876
59038
|
await imageCommand2.execute(context2);
|
|
58877
59039
|
}
|
|
58878
59040
|
} catch (error2) {
|
|
58879
|
-
console.error(
|
|
59041
|
+
console.error(chalk28__default.default.red("Image generation failed:"), error2.message);
|
|
58880
59042
|
}
|
|
58881
59043
|
return true;
|
|
58882
59044
|
}
|
|
@@ -58886,7 +59048,7 @@ Chat:
|
|
|
58886
59048
|
const prompt = args2.join(" ").trim();
|
|
58887
59049
|
if (!prompt) {
|
|
58888
59050
|
console.log(
|
|
58889
|
-
|
|
59051
|
+
chalk28__default.default.cyan("\u{1F3AC} **Video Generation**\n") + chalk28__default.default.white("Usage: /video <prompt>\n") + chalk28__default.default.gray("Example: /video \u6D77\u306E\u6CE2\u304C\u6253\u3061\u5BC4\u305B\u308B\u69D8\u5B50")
|
|
58890
59052
|
);
|
|
58891
59053
|
return true;
|
|
58892
59054
|
}
|
|
@@ -58898,14 +59060,14 @@ Chat:
|
|
|
58898
59060
|
options: {},
|
|
58899
59061
|
logger: {
|
|
58900
59062
|
info: (msg) => console.log(msg),
|
|
58901
|
-
error: (msg) => console.error(
|
|
58902
|
-
warn: (msg) => console.warn(
|
|
59063
|
+
error: (msg) => console.error(chalk28__default.default.red(msg)),
|
|
59064
|
+
warn: (msg) => console.warn(chalk28__default.default.yellow(msg))
|
|
58903
59065
|
}
|
|
58904
59066
|
};
|
|
58905
59067
|
await videoCommand2.execute(context2);
|
|
58906
59068
|
}
|
|
58907
59069
|
} catch (error2) {
|
|
58908
|
-
console.error(
|
|
59070
|
+
console.error(chalk28__default.default.red("Video generation failed:"), error2.message);
|
|
58909
59071
|
}
|
|
58910
59072
|
return true;
|
|
58911
59073
|
}
|
|
@@ -58915,7 +59077,7 @@ Chat:
|
|
|
58915
59077
|
const prompt = args2.join(" ").trim();
|
|
58916
59078
|
if (!prompt) {
|
|
58917
59079
|
console.log(
|
|
58918
|
-
|
|
59080
|
+
chalk28__default.default.cyan("\u{1F399}\uFE0F **Voice Synthesis**\n") + chalk28__default.default.white("Usage: /voice <text>\n") + chalk28__default.default.gray("Example: /voice \u3053\u3093\u306B\u3061\u306F\u3001\u5143\u6C17\u3067\u3059\u304B\uFF1F")
|
|
58919
59081
|
);
|
|
58920
59082
|
return true;
|
|
58921
59083
|
}
|
|
@@ -58927,14 +59089,14 @@ Chat:
|
|
|
58927
59089
|
options: {},
|
|
58928
59090
|
logger: {
|
|
58929
59091
|
info: (msg) => console.log(msg),
|
|
58930
|
-
error: (msg) => console.error(
|
|
58931
|
-
warn: (msg) => console.warn(
|
|
59092
|
+
error: (msg) => console.error(chalk28__default.default.red(msg)),
|
|
59093
|
+
warn: (msg) => console.warn(chalk28__default.default.yellow(msg))
|
|
58932
59094
|
}
|
|
58933
59095
|
};
|
|
58934
59096
|
await voiceCommand2.execute(context2);
|
|
58935
59097
|
}
|
|
58936
59098
|
} catch (error2) {
|
|
58937
|
-
console.error(
|
|
59099
|
+
console.error(chalk28__default.default.red("Voice synthesis failed:"), error2.message);
|
|
58938
59100
|
}
|
|
58939
59101
|
return true;
|
|
58940
59102
|
}
|
|
@@ -58953,49 +59115,49 @@ Chat:
|
|
|
58953
59115
|
if (args2.includes("status")) {
|
|
58954
59116
|
if (await authManager.isAuthenticated()) {
|
|
58955
59117
|
const user = await authManager.getCurrentUser();
|
|
58956
|
-
console.log(
|
|
59118
|
+
console.log(chalk28__default.default.green("\u2705 Authenticated"));
|
|
58957
59119
|
if (user.name) {
|
|
58958
|
-
console.log(
|
|
59120
|
+
console.log(chalk28__default.default.white(`\u{1F464} Name: ${chalk28__default.default.cyan(user.name)}`));
|
|
58959
59121
|
}
|
|
58960
|
-
console.log(
|
|
59122
|
+
console.log(chalk28__default.default.white(`\u{1F4E7} Email: ${chalk28__default.default.cyan(user.email)}`));
|
|
58961
59123
|
if (user.provider) {
|
|
58962
|
-
console.log(
|
|
59124
|
+
console.log(chalk28__default.default.white(`\u{1F511} Provider: ${chalk28__default.default.cyan(user.provider)}`));
|
|
58963
59125
|
}
|
|
58964
|
-
console.log(
|
|
59126
|
+
console.log(chalk28__default.default.white(`\u{1F4CA} Plan: ${chalk28__default.default.cyan(user.plan)}`));
|
|
58965
59127
|
} else {
|
|
58966
|
-
console.log(
|
|
58967
|
-
console.log(
|
|
59128
|
+
console.log(chalk28__default.default.yellow("\u26A0\uFE0F Not authenticated"));
|
|
59129
|
+
console.log(chalk28__default.default.gray("Use /login to sign in"));
|
|
58968
59130
|
}
|
|
58969
59131
|
} else {
|
|
58970
59132
|
const result2 = await authManager.login(options3);
|
|
58971
59133
|
if (result2.success && result2.user) {
|
|
58972
|
-
console.log(
|
|
59134
|
+
console.log(chalk28__default.default.green("\u2705 Successfully logged in!"));
|
|
58973
59135
|
const u = result2.user;
|
|
58974
59136
|
if (u.name) {
|
|
58975
|
-
console.log(
|
|
59137
|
+
console.log(chalk28__default.default.white(`\u{1F464} Name: ${chalk28__default.default.cyan(u.name)}`));
|
|
58976
59138
|
}
|
|
58977
|
-
console.log(
|
|
59139
|
+
console.log(chalk28__default.default.white(`\u{1F4E7} Email: ${chalk28__default.default.cyan(u.email)}`));
|
|
58978
59140
|
if (u.provider) {
|
|
58979
|
-
console.log(
|
|
59141
|
+
console.log(chalk28__default.default.white(`\u{1F511} Provider: ${chalk28__default.default.cyan(u.provider)}`));
|
|
58980
59142
|
}
|
|
58981
|
-
console.log(
|
|
59143
|
+
console.log(chalk28__default.default.white(`\u{1F4CA} Plan: ${chalk28__default.default.cyan(u.plan)}`));
|
|
58982
59144
|
} else {
|
|
58983
|
-
console.log(
|
|
58984
|
-
if (result2.error) console.log(
|
|
59145
|
+
console.log(chalk28__default.default.red("\u274C Login failed"));
|
|
59146
|
+
if (result2.error) console.log(chalk28__default.default.gray(result2.error));
|
|
58985
59147
|
}
|
|
58986
59148
|
}
|
|
58987
59149
|
}
|
|
58988
59150
|
} catch (error2) {
|
|
58989
|
-
console.error(
|
|
59151
|
+
console.error(chalk28__default.default.red("Login error:"), error2.message);
|
|
58990
59152
|
}
|
|
58991
59153
|
return true;
|
|
58992
59154
|
}
|
|
58993
59155
|
if (cmd === "logout" || cmd === "signout") {
|
|
58994
59156
|
try {
|
|
58995
59157
|
await authManager.logout();
|
|
58996
|
-
console.log(
|
|
59158
|
+
console.log(chalk28__default.default.green("\u{1F44B} Signed out. Local credentials removed."));
|
|
58997
59159
|
} catch (error2) {
|
|
58998
|
-
console.error(
|
|
59160
|
+
console.error(chalk28__default.default.red("Logout error:"), error2.message);
|
|
58999
59161
|
}
|
|
59000
59162
|
return true;
|
|
59001
59163
|
}
|
|
@@ -59136,7 +59298,7 @@ Chat:
|
|
|
59136
59298
|
} else if (result2.message) {
|
|
59137
59299
|
console.log(result2.message);
|
|
59138
59300
|
} else if (result2.success) {
|
|
59139
|
-
console.log(
|
|
59301
|
+
console.log(chalk28__default.default.green("\u2705 Command executed successfully"));
|
|
59140
59302
|
}
|
|
59141
59303
|
if (result2.data && process.env.MARIA_DEBUG === "1") {
|
|
59142
59304
|
console.log(JSON.stringify(result2.data, null, 2));
|
|
@@ -59150,11 +59312,11 @@ Chat:
|
|
|
59150
59312
|
}
|
|
59151
59313
|
}
|
|
59152
59314
|
if (!["battlecard", "sales-dashboard", "tune", "pilot-setup"].includes(cmd)) {
|
|
59153
|
-
console.log(
|
|
59154
|
-
console.log(
|
|
59155
|
-
console.log(
|
|
59156
|
-
console.log(
|
|
59157
|
-
console.log(
|
|
59315
|
+
console.log(chalk28__default.default.red(`\u274C Unknown command: /${cmd}`));
|
|
59316
|
+
console.log(chalk28__default.default.yellow("\n\u{1F4A1} Suggestions:"));
|
|
59317
|
+
console.log(chalk28__default.default.gray(" \u2022 Try /help to see available commands"));
|
|
59318
|
+
console.log(chalk28__default.default.gray(" \u2022 Check if you need to /login first"));
|
|
59319
|
+
console.log(chalk28__default.default.gray(` \u2022 Try similar commands: /help --search ${cmd}`));
|
|
59158
59320
|
}
|
|
59159
59321
|
return true;
|
|
59160
59322
|
}
|
|
@@ -59422,11 +59584,11 @@ async function handleCodeCommand(prompt) {
|
|
|
59422
59584
|
const filepath = path10__namespace.resolve(process.cwd(), filename);
|
|
59423
59585
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
59424
59586
|
console.log(
|
|
59425
|
-
|
|
59426
|
-
`) +
|
|
59427
|
-
`) +
|
|
59428
|
-
`) +
|
|
59429
|
-
`) +
|
|
59587
|
+
chalk28__default.default.green("\n\u2705 **Code Saved**\n") + chalk28__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
59588
|
+
`) + chalk28__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
59589
|
+
`) + chalk28__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
59590
|
+
`) + chalk28__default.default.white(` \u{1F4DD} Language: ${language}
|
|
59591
|
+
`) + chalk28__default.default.dim(`
|
|
59430
59592
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
59431
59593
|
);
|
|
59432
59594
|
} else {
|
|
@@ -59435,11 +59597,11 @@ async function handleCodeCommand(prompt) {
|
|
|
59435
59597
|
} catch (e2) {
|
|
59436
59598
|
spinner.stop();
|
|
59437
59599
|
if (process.env.MARIA_DEBUG === "1") {
|
|
59438
|
-
console.error(
|
|
59600
|
+
console.error(chalk28__default.default.red("Code generation error:"), e2.message || e2);
|
|
59439
59601
|
}
|
|
59440
59602
|
const fallbackCode = templateFallback(prompt);
|
|
59441
59603
|
console.log(
|
|
59442
|
-
|
|
59604
|
+
chalk28__default.default.yellow("\u26A0 AI unavailable, using template fallback:\n")
|
|
59443
59605
|
);
|
|
59444
59606
|
console.log(fallbackCode);
|
|
59445
59607
|
try {
|
|
@@ -59448,14 +59610,14 @@ async function handleCodeCommand(prompt) {
|
|
|
59448
59610
|
const filepath = path10__namespace.resolve(process.cwd(), filename);
|
|
59449
59611
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
59450
59612
|
console.log(
|
|
59451
|
-
|
|
59452
|
-
`) +
|
|
59453
|
-
`) +
|
|
59454
|
-
`) +
|
|
59613
|
+
chalk28__default.default.green("\n\u2705 **Template Code Saved**\n") + chalk28__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
59614
|
+
`) + chalk28__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
59615
|
+
`) + chalk28__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
59616
|
+
`) + chalk28__default.default.dim(`
|
|
59455
59617
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
59456
59618
|
);
|
|
59457
59619
|
} catch (saveError) {
|
|
59458
|
-
console.error(
|
|
59620
|
+
console.error(chalk28__default.default.red("Failed to save code:"), saveError);
|
|
59459
59621
|
}
|
|
59460
59622
|
}
|
|
59461
59623
|
}
|
|
@@ -59511,7 +59673,7 @@ ${userPrompt}`;
|
|
|
59511
59673
|
(seq) => response2.includes(seq)
|
|
59512
59674
|
);
|
|
59513
59675
|
if (guidedFlowDetected) {
|
|
59514
|
-
console.log(
|
|
59676
|
+
console.log(chalk28__default.default.yellow("\u26A0 Guided flow detected, switching to fallback"));
|
|
59515
59677
|
return null;
|
|
59516
59678
|
}
|
|
59517
59679
|
const codeMatch = response2.match(/```[\s\S]*?```/);
|
|
@@ -59679,14 +59841,14 @@ async function streamAnswer(text) {
|
|
|
59679
59841
|
if (store?.addMessage) await store.addMessage(msg);
|
|
59680
59842
|
} else {
|
|
59681
59843
|
animation.stop();
|
|
59682
|
-
console.log(
|
|
59844
|
+
console.log(chalk28__default.default.yellow("AI service unavailable. Please check your configuration."));
|
|
59683
59845
|
}
|
|
59684
59846
|
} catch (e2) {
|
|
59685
59847
|
animation.stop();
|
|
59686
59848
|
if (e2.message?.includes("timeout") || e2.message?.includes("\u23F1\uFE0F")) {
|
|
59687
|
-
console.log(
|
|
59849
|
+
console.log(chalk28__default.default.yellow(e2.message));
|
|
59688
59850
|
} else {
|
|
59689
|
-
console.log(
|
|
59851
|
+
console.log(chalk28__default.default.red("Error generating response:"), e2.message || e2);
|
|
59690
59852
|
}
|
|
59691
59853
|
}
|
|
59692
59854
|
}
|
|
@@ -59701,9 +59863,9 @@ async function handleLine(line) {
|
|
|
59701
59863
|
if (consumed) return;
|
|
59702
59864
|
const isAuthenticated = await authManager.isAuthenticated();
|
|
59703
59865
|
if (!isAuthenticated) {
|
|
59704
|
-
console.log(
|
|
59705
|
-
console.log(
|
|
59706
|
-
console.log(
|
|
59866
|
+
console.log(chalk28__default.default.yellow("\n\u26A0\uFE0F Authentication required for chat features"));
|
|
59867
|
+
console.log(chalk28__default.default.cyan("Please run: /login"));
|
|
59868
|
+
console.log(chalk28__default.default.gray("Or use slash commands like /help, /version"));
|
|
59707
59869
|
return;
|
|
59708
59870
|
}
|
|
59709
59871
|
const user = { role: "user", content: input3, timestamp: /* @__PURE__ */ new Date() };
|
|
@@ -59725,7 +59887,7 @@ async function startInteractiveSession() {
|
|
|
59725
59887
|
}
|
|
59726
59888
|
}
|
|
59727
59889
|
const stop = async () => {
|
|
59728
|
-
console.log(
|
|
59890
|
+
console.log(chalk28__default.default.green("\n\u{1F44B} Goodbye!"));
|
|
59729
59891
|
if (store?.close) await store.close().catch(() => {
|
|
59730
59892
|
});
|
|
59731
59893
|
if (interactiveCLI?.cleanup) interactiveCLI.cleanup();
|
|
@@ -59739,7 +59901,7 @@ async function startInteractiveSession() {
|
|
|
59739
59901
|
process.once("SIGINT", stop);
|
|
59740
59902
|
process.once("SIGTERM", stop);
|
|
59741
59903
|
if (!isTTY) {
|
|
59742
|
-
console.log(
|
|
59904
|
+
console.log(chalk28__default.default.gray("[Pipe mode detected - streaming input/output]"));
|
|
59743
59905
|
const rl = readline6__namespace.createInterface({
|
|
59744
59906
|
input: process5.stdin,
|
|
59745
59907
|
output: process5.stdout,
|
|
@@ -59754,7 +59916,7 @@ async function startInteractiveSession() {
|
|
|
59754
59916
|
if (interactiveCLI) {
|
|
59755
59917
|
while (true) {
|
|
59756
59918
|
try {
|
|
59757
|
-
const prompt =
|
|
59919
|
+
const prompt = chalk28__default.default.gray("> ");
|
|
59758
59920
|
process.stdout.write(prompt);
|
|
59759
59921
|
const line = await interactiveCLI.question("");
|
|
59760
59922
|
console.log();
|
|
@@ -59769,14 +59931,14 @@ async function startInteractiveSession() {
|
|
|
59769
59931
|
await stop();
|
|
59770
59932
|
return;
|
|
59771
59933
|
}
|
|
59772
|
-
console.error(
|
|
59934
|
+
console.error(chalk28__default.default.red("Error:"), error2?.message || error2);
|
|
59773
59935
|
}
|
|
59774
59936
|
}
|
|
59775
59937
|
} else {
|
|
59776
59938
|
const rl = readline6__namespace.createInterface({ input: process5.stdin, output: process5.stdout });
|
|
59777
59939
|
while (true) {
|
|
59778
59940
|
try {
|
|
59779
|
-
const prompt =
|
|
59941
|
+
const prompt = chalk28__default.default.gray("> ");
|
|
59780
59942
|
const line = await rl.question(prompt);
|
|
59781
59943
|
console.log();
|
|
59782
59944
|
if (line.toLowerCase() === "exit" || line.toLowerCase() === "quit") {
|
|
@@ -59790,7 +59952,7 @@ async function startInteractiveSession() {
|
|
|
59790
59952
|
await stop();
|
|
59791
59953
|
return;
|
|
59792
59954
|
}
|
|
59793
|
-
console.error(
|
|
59955
|
+
console.error(chalk28__default.default.red("Error:"), error2?.message || error2);
|
|
59794
59956
|
}
|
|
59795
59957
|
}
|
|
59796
59958
|
}
|
|
@@ -59800,7 +59962,7 @@ function createCLI() {
|
|
|
59800
59962
|
program2.name("maria").description(`\u{1F680} MARIA v${getVersion()} - Intelligent AI Assistant`).version(getVersion()).option("--v3-session", "Use v3 session architecture").option("--no-interactive", "Disable interactive mode for CI/CD").action(async (options2) => {
|
|
59801
59963
|
loadEnvironmentVariables();
|
|
59802
59964
|
if (options2.server) {
|
|
59803
|
-
console.log(
|
|
59965
|
+
console.log(chalk28__default.default.green("\u{1F680} Starting MARIA server mode..."));
|
|
59804
59966
|
try {
|
|
59805
59967
|
const distDir = path10__namespace.dirname(process.argv[1] || process.cwd());
|
|
59806
59968
|
const candidateNames = [
|
|
@@ -59830,9 +59992,9 @@ function createCLI() {
|
|
|
59830
59992
|
if (serverPath) break;
|
|
59831
59993
|
}
|
|
59832
59994
|
if (!serverPath) {
|
|
59833
|
-
console.error(
|
|
59834
|
-
console.error(
|
|
59835
|
-
console.error(
|
|
59995
|
+
console.error(chalk28__default.default.red("\u274C Could not locate server-express entry file"));
|
|
59996
|
+
console.error(chalk28__default.default.gray("Searched names: " + candidateNames.join(", ")));
|
|
59997
|
+
console.error(chalk28__default.default.gray("Searched dirs: " + candidateDirs.join(" | ")));
|
|
59836
59998
|
process.exit(1);
|
|
59837
59999
|
}
|
|
59838
60000
|
const { spawn: spawn3 } = await import('child_process');
|
|
@@ -59879,7 +60041,7 @@ function createCLI() {
|
|
|
59879
60041
|
process.once("SIGINT", () => forwardAndExit("SIGINT"));
|
|
59880
60042
|
process.once("SIGTERM", () => forwardAndExit("SIGTERM"));
|
|
59881
60043
|
serverProcess.on("error", (error2) => {
|
|
59882
|
-
console.error(
|
|
60044
|
+
console.error(chalk28__default.default.red("\u274C Server process error:"), error2);
|
|
59883
60045
|
process.exit(1);
|
|
59884
60046
|
});
|
|
59885
60047
|
serverProcess.on("exit", (code, _signal) => {
|
|
@@ -59892,7 +60054,7 @@ function createCLI() {
|
|
|
59892
60054
|
});
|
|
59893
60055
|
return;
|
|
59894
60056
|
} catch (error2) {
|
|
59895
|
-
console.error(
|
|
60057
|
+
console.error(chalk28__default.default.red("\u274C Failed to start server mode:"), error2);
|
|
59896
60058
|
process.exit(1);
|
|
59897
60059
|
}
|
|
59898
60060
|
}
|
|
@@ -59917,7 +60079,7 @@ function createCLI() {
|
|
|
59917
60079
|
displayStartupLogo2();
|
|
59918
60080
|
startupDisplayed = true;
|
|
59919
60081
|
} catch {
|
|
59920
|
-
console.log(
|
|
60082
|
+
console.log(chalk28__default.default.cyan(`
|
|
59921
60083
|
\u{1F680} MARIA v${getVersion()}
|
|
59922
60084
|
`));
|
|
59923
60085
|
startupDisplayed = true;
|
|
@@ -59926,13 +60088,13 @@ function createCLI() {
|
|
|
59926
60088
|
const useV3 = options2.v3Session || process.env.MARIA_USE_V3_SESSION === "1";
|
|
59927
60089
|
if (useV3) {
|
|
59928
60090
|
try {
|
|
59929
|
-
console.log(
|
|
60091
|
+
console.log(chalk28__default.default.cyan("\u{1F680} Starting MARIA v3 session..."));
|
|
59930
60092
|
const { MariaAI: MariaAI2 } = await Promise.resolve().then(() => (init_maria_ai(), maria_ai_exports));
|
|
59931
60093
|
const maria = new MariaAI2();
|
|
59932
60094
|
await maria.initialize();
|
|
59933
60095
|
return;
|
|
59934
60096
|
} catch (e2) {
|
|
59935
|
-
console.warn(
|
|
60097
|
+
console.warn(chalk28__default.default.yellow("\u26A0 V3 session unavailable, using standard mode"));
|
|
59936
60098
|
}
|
|
59937
60099
|
}
|
|
59938
60100
|
await startInteractiveSession();
|
|
@@ -59980,14 +60142,14 @@ function createCLI2() {
|
|
|
59980
60142
|
}
|
|
59981
60143
|
});
|
|
59982
60144
|
program2.command("setup-ollama").description("Setup Ollama for local AI").action(async () => {
|
|
59983
|
-
console.log(
|
|
60145
|
+
console.log(chalk28__default.default.cyan("Setting up Ollama..."));
|
|
59984
60146
|
console.log(
|
|
59985
|
-
|
|
60147
|
+
chalk28__default.default.yellow("Please run: brew install ollama && ollama serve")
|
|
59986
60148
|
);
|
|
59987
60149
|
});
|
|
59988
60150
|
program2.command("setup-vllm").description("Setup vLLM for local AI").action(async () => {
|
|
59989
|
-
console.log(
|
|
59990
|
-
console.log(
|
|
60151
|
+
console.log(chalk28__default.default.cyan("Setting up vLLM..."));
|
|
60152
|
+
console.log(chalk28__default.default.yellow("Please run: pip install vllm"));
|
|
59991
60153
|
});
|
|
59992
60154
|
return program2;
|
|
59993
60155
|
}
|
|
@@ -60015,13 +60177,13 @@ var init_maria_ai = __esm({
|
|
|
60015
60177
|
await this.providerSelector.initialize();
|
|
60016
60178
|
const { provider, model } = await this.providerSelector.selectProvider();
|
|
60017
60179
|
console.log(
|
|
60018
|
-
|
|
60180
|
+
chalk28__default.default.green(`
|
|
60019
60181
|
\u2705 Selected: ${provider} with model ${model}`)
|
|
60020
60182
|
);
|
|
60021
60183
|
this.config.set("currentProvider", provider);
|
|
60022
60184
|
this.config.set("currentModel", model);
|
|
60023
60185
|
await this.config.save();
|
|
60024
|
-
console.log(
|
|
60186
|
+
console.log(chalk28__default.default.cyan("\n\u{1F9E0} Initializing Intelligent Router..."));
|
|
60025
60187
|
this.router = new IntelligentRouterService({
|
|
60026
60188
|
confidenceThreshold: 0.85,
|
|
60027
60189
|
enableLearning: true,
|
|
@@ -60029,12 +60191,12 @@ var init_maria_ai = __esm({
|
|
|
60029
60191
|
});
|
|
60030
60192
|
await this.router.initialize();
|
|
60031
60193
|
console.log(
|
|
60032
|
-
|
|
60194
|
+
chalk28__default.default.green("\u2705 Intelligent Router initialized successfully\n")
|
|
60033
60195
|
);
|
|
60034
60196
|
this.session = createInteractiveSession(this);
|
|
60035
60197
|
await this.session.start();
|
|
60036
60198
|
} catch (error2) {
|
|
60037
|
-
console.error(
|
|
60199
|
+
console.error(chalk28__default.default.red("\n\u274C Initialization failed:"), error2);
|
|
60038
60200
|
process.exit(1);
|
|
60039
60201
|
}
|
|
60040
60202
|
}
|
|
@@ -60042,7 +60204,7 @@ var init_maria_ai = __esm({
|
|
|
60042
60204
|
if (this.session) {
|
|
60043
60205
|
await this.session.stop();
|
|
60044
60206
|
}
|
|
60045
|
-
console.log(
|
|
60207
|
+
console.log(chalk28__default.default.green("\n\u{1F44B} Goodbye!"));
|
|
60046
60208
|
}
|
|
60047
60209
|
};
|
|
60048
60210
|
}
|
|
@@ -60056,25 +60218,25 @@ function checkNodeVersion() {
|
|
|
60056
60218
|
const currentVersion = process.version;
|
|
60057
60219
|
if (!semver__default.default.satisfies(currentVersion, `>=${MINIMUM_NODE_VERSION}`)) {
|
|
60058
60220
|
console.error(
|
|
60059
|
-
|
|
60221
|
+
chalk28__default.default.red(`
|
|
60060
60222
|
\u274C Node.js version ${currentVersion} is not supported.`)
|
|
60061
60223
|
);
|
|
60062
60224
|
console.error(
|
|
60063
|
-
|
|
60225
|
+
chalk28__default.default.yellow(`Minimum required version: ${MINIMUM_NODE_VERSION}`)
|
|
60064
60226
|
);
|
|
60065
60227
|
console.error(
|
|
60066
|
-
|
|
60228
|
+
chalk28__default.default.yellow(
|
|
60067
60229
|
`Recommended version: ${RECOMMENDED_NODE_VERSION} or higher`
|
|
60068
60230
|
)
|
|
60069
60231
|
);
|
|
60070
|
-
console.error(
|
|
60071
|
-
console.error(
|
|
60232
|
+
console.error(chalk28__default.default.cyan("\nPlease upgrade Node.js:"));
|
|
60233
|
+
console.error(chalk28__default.default.gray(" \u2022 Using nvm: nvm install 20 && nvm use 20"));
|
|
60072
60234
|
console.error(
|
|
60073
|
-
|
|
60235
|
+
chalk28__default.default.gray(
|
|
60074
60236
|
" \u2022 Using nodenv: nodenv install 20.0.0 && nodenv global 20.0.0"
|
|
60075
60237
|
)
|
|
60076
60238
|
);
|
|
60077
|
-
console.error(
|
|
60239
|
+
console.error(chalk28__default.default.gray(" \u2022 Download from: https://nodejs.org/"));
|
|
60078
60240
|
process.exit(1);
|
|
60079
60241
|
}
|
|
60080
60242
|
}
|