@bonginkan/maria 4.2.22 → 4.2.24
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 +10 -3
- package/dist/bin/maria.cjs +775 -725
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +765 -715
- 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 +44 -6
- package/dist/server/express-server.cjs.map +1 -1
- package/package.json +2 -2
- package/src/slash-commands/READY.manifest.json +10 -3
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 chalk27 = 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 chalk27__default = /*#__PURE__*/_interopDefault(chalk27);
|
|
55
55
|
var os16__namespace = /*#__PURE__*/_interopNamespace(os16);
|
|
56
56
|
var Stream__default = /*#__PURE__*/_interopDefault(Stream);
|
|
57
57
|
var http__namespace = /*#__PURE__*/_interopNamespace(http);
|
|
@@ -124,8 +124,8 @@ function getSafeTerminalWidth() {
|
|
|
124
124
|
}
|
|
125
125
|
if (process.platform === "win32") {
|
|
126
126
|
try {
|
|
127
|
-
const { execSync
|
|
128
|
-
const result2 =
|
|
127
|
+
const { execSync } = __require("child_process");
|
|
128
|
+
const result2 = execSync('powershell -command "$host.UI.RawUI.WindowSize.Width"', {
|
|
129
129
|
encoding: "utf8",
|
|
130
130
|
stdio: ["pipe", "pipe", "ignore"]
|
|
131
131
|
// Suppress stderr
|
|
@@ -225,13 +225,13 @@ function getPackageJson() {
|
|
|
225
225
|
)
|
|
226
226
|
];
|
|
227
227
|
let packageJsonPath = null;
|
|
228
|
-
for (const
|
|
229
|
-
if (fs4.existsSync(
|
|
228
|
+
for (const path30 of possiblePaths) {
|
|
229
|
+
if (fs4.existsSync(path30)) {
|
|
230
230
|
try {
|
|
231
|
-
const content2 = fs4.readFileSync(
|
|
231
|
+
const content2 = fs4.readFileSync(path30, "utf-8");
|
|
232
232
|
const parsed = JSON.parse(content2);
|
|
233
233
|
if (parsed.name === "@bonginkan/maria") {
|
|
234
|
-
packageJsonPath =
|
|
234
|
+
packageJsonPath = path30;
|
|
235
235
|
break;
|
|
236
236
|
}
|
|
237
237
|
} catch {
|
|
@@ -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
|
+
chalk27__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
|
+
chalk27__default.default.magentaBright(
|
|
282
282
|
"\u2551 \u2551"
|
|
283
283
|
)
|
|
284
284
|
);
|
|
285
285
|
console.log(
|
|
286
|
-
|
|
286
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__default.default.magentaBright(
|
|
317
317
|
"\u2551 \u2551"
|
|
318
318
|
)
|
|
319
319
|
);
|
|
320
320
|
console.log(
|
|
321
|
-
|
|
321
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__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
|
+
chalk27__default.default.magentaBright(
|
|
352
352
|
"\u2551 \u2551"
|
|
353
353
|
)
|
|
354
354
|
);
|
|
355
355
|
console.log(
|
|
356
|
-
|
|
356
|
+
chalk27__default.default.magentaBright(
|
|
357
357
|
"\u2551 AI-Powered Development Platform \u2551"
|
|
358
358
|
)
|
|
359
359
|
);
|
|
360
360
|
console.log(
|
|
361
|
-
|
|
361
|
+
chalk27__default.default.magentaBright(
|
|
362
362
|
"\u2551 (c) 2025 Bonginkan Inc. \u2551"
|
|
363
363
|
)
|
|
364
364
|
);
|
|
365
365
|
console.log(
|
|
366
|
-
|
|
366
|
+
chalk27__default.default.magentaBright(
|
|
367
367
|
"\u2551 \u2551"
|
|
368
368
|
)
|
|
369
369
|
);
|
|
370
370
|
console.log(
|
|
371
|
-
|
|
371
|
+
chalk27__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
|
+
chalk27__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk27__default.default.gray(" \u2014 Ready")
|
|
378
378
|
);
|
|
379
379
|
console.log(
|
|
380
|
-
|
|
380
|
+
chalk27__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
|
+
chalk27__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk27__default.default.gray(" \u2014 Ready")
|
|
388
388
|
);
|
|
389
389
|
console.log(
|
|
390
|
-
|
|
390
|
+
chalk27__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 = chalk27__default.default.cyan.bold(`MARIA CODE v${getVersion()}`);
|
|
397
|
+
const commands = chalk27__default.default.gray(" | /help /status /model");
|
|
398
|
+
const providers = chalk27__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 = chalk27__default.default.white;
|
|
408
|
+
const titleColor = chalk27__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[${chalk27__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
|
+
chalk27__default.default.cyan.bold(`MARIA CODE v${version}`) + chalk27__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(chalk27__default.default.gray("cwd: ") + chalk27__default.default.white(cwd2));
|
|
463
|
+
console.log(chalk27__default.default.gray("Not signed in"));
|
|
464
|
+
console.log(chalk27__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 = chalk27__default.default.white;
|
|
470
|
+
const promptColor = chalk27__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 = chalk27__default.default.gray("");
|
|
481
481
|
const inputLine = promptStr + placeholder;
|
|
482
482
|
const padding = width - 4;
|
|
483
483
|
lines.push(
|
|
@@ -5303,22 +5303,22 @@ var init_from = __esm({
|
|
|
5303
5303
|
init_file();
|
|
5304
5304
|
init_fetch_blob();
|
|
5305
5305
|
({ stat } = fs4.promises);
|
|
5306
|
-
blobFromSync = (
|
|
5307
|
-
blobFrom = (
|
|
5308
|
-
fileFrom = (
|
|
5309
|
-
fileFromSync = (
|
|
5310
|
-
fromBlob = (stat8,
|
|
5311
|
-
path:
|
|
5306
|
+
blobFromSync = (path30, type) => fromBlob(fs4.statSync(path30), path30, type);
|
|
5307
|
+
blobFrom = (path30, type) => stat(path30).then((stat8) => fromBlob(stat8, path30, type));
|
|
5308
|
+
fileFrom = (path30, type) => stat(path30).then((stat8) => fromFile(stat8, path30, type));
|
|
5309
|
+
fileFromSync = (path30, type) => fromFile(fs4.statSync(path30), path30, type);
|
|
5310
|
+
fromBlob = (stat8, path30, type = "") => new fetch_blob_default([new BlobDataItem({
|
|
5311
|
+
path: path30,
|
|
5312
5312
|
size: stat8.size,
|
|
5313
5313
|
lastModified: stat8.mtimeMs,
|
|
5314
5314
|
start: 0
|
|
5315
5315
|
})], { type });
|
|
5316
|
-
fromFile = (stat8,
|
|
5317
|
-
path:
|
|
5316
|
+
fromFile = (stat8, path30, type = "") => new file_default([new BlobDataItem({
|
|
5317
|
+
path: path30,
|
|
5318
5318
|
size: stat8.size,
|
|
5319
5319
|
lastModified: stat8.mtimeMs,
|
|
5320
5320
|
start: 0
|
|
5321
|
-
})], path10.basename(
|
|
5321
|
+
})], path10.basename(path30), { type, lastModified: stat8.mtimeMs });
|
|
5322
5322
|
BlobDataItem = class _BlobDataItem {
|
|
5323
5323
|
#path;
|
|
5324
5324
|
#start;
|
|
@@ -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(chalk27__default.default.cyan("\nAvailable AI Providers:"));
|
|
8394
|
+
console.log(chalk27__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(chalk27__default.default.yellow("\n\u2601\uFE0F Cloud AI:"));
|
|
8399
8399
|
_cloudProviders.forEach((p) => {
|
|
8400
8400
|
if (p.available) {
|
|
8401
8401
|
console.log(
|
|
8402
|
-
` ${
|
|
8402
|
+
` ${chalk27__default.default.green("*")} ${chalk27__default.default.white(p.name.split(" ")[0])}`
|
|
8403
8403
|
);
|
|
8404
8404
|
} else {
|
|
8405
|
-
console.log(` ${
|
|
8405
|
+
console.log(` ${chalk27__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(chalk27__default.default.cyan("\n\u{1F4BB} Local AI:"));
|
|
8411
8411
|
_localProviders.forEach((p) => {
|
|
8412
8412
|
if (p.available) {
|
|
8413
|
-
console.log(` ${
|
|
8413
|
+
console.log(` ${chalk27__default.default.green("*")} ${chalk27__default.default.white(p.name)}`);
|
|
8414
8414
|
} else {
|
|
8415
|
-
console.log(` ${
|
|
8415
|
+
console.log(` ${chalk27__default.default.green("*")} ${chalk27__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
|
+
chalk27__default.default.yellow("\n\u26A0\uFE0F No AI providers are currently available.")
|
|
8431
8431
|
);
|
|
8432
|
-
console.log(
|
|
8432
|
+
console.log(chalk27__default.default.gray("\nTo use MARIA, you need to:"));
|
|
8433
8433
|
console.log(
|
|
8434
|
-
|
|
8434
|
+
chalk27__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(chalk27__default.default.gray(" Example: export OPENAI_API_KEY=your_api_key"));
|
|
8439
8439
|
console.log(
|
|
8440
|
-
|
|
8440
|
+
chalk27__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(chalk27__default.default.gray(" Example: maria setup-ollama"));
|
|
8443
|
+
console.log(chalk27__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
|
+
chalk27__default.default.yellow(`
|
|
8465
8465
|
\u26A0\uFE0F ${provider.name} is not currently running.`)
|
|
8466
8466
|
);
|
|
8467
|
-
console.log(
|
|
8467
|
+
console.log(chalk27__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(chalk27__default.default.gray("1. Install Ollama: brew install ollama"));
|
|
8471
|
+
console.log(chalk27__default.default.gray("2. Start Ollama: ollama serve"));
|
|
8472
|
+
console.log(chalk27__default.default.gray("3. Pull a model: ollama pull llama3.2:3b"));
|
|
8473
8473
|
console.log(
|
|
8474
|
-
|
|
8474
|
+
chalk27__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
|
+
chalk27__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(chalk27__default.default.gray("2. Start LM Studio application"));
|
|
8481
|
+
console.log(chalk27__default.default.gray("3. Load a model in LM Studio"));
|
|
8482
|
+
console.log(chalk27__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(chalk27__default.default.gray("1. Install vLLM: pip install vllm"));
|
|
8485
|
+
console.log(chalk27__default.default.gray("2. Start vLLM server with a model"));
|
|
8486
|
+
console.log(chalk27__default.default.gray("\nOr use the setup command: maria setup-vllm"));
|
|
8487
8487
|
}
|
|
8488
8488
|
process.exit(1);
|
|
8489
8489
|
}
|
|
@@ -9121,12 +9121,12 @@ ${this.toYamlLike(value, indent + 1)}`;
|
|
|
9121
9121
|
}
|
|
9122
9122
|
static async loadFromFile(configPath) {
|
|
9123
9123
|
const { importNodeBuiltin: importNodeBuiltin2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
9124
|
-
const
|
|
9124
|
+
const fs25 = await importNodeBuiltin2("fs");
|
|
9125
9125
|
const _path = await importNodeBuiltin2("path");
|
|
9126
9126
|
const os23 = await importNodeBuiltin2("os");
|
|
9127
9127
|
const targetPath = configPath || _path.join(os23.homedir(), ".maria", "config.json");
|
|
9128
9128
|
try {
|
|
9129
|
-
const data2 = await
|
|
9129
|
+
const data2 = await fs25.promises.readFile(targetPath, "utf-8");
|
|
9130
9130
|
return JSON.parse(data2);
|
|
9131
9131
|
} catch (innerError) {
|
|
9132
9132
|
if (error?.code === "ENOENT") {
|
|
@@ -9140,25 +9140,25 @@ ${this.toYamlLike(value, indent + 1)}`;
|
|
|
9140
9140
|
}
|
|
9141
9141
|
async save(configPath, options2) {
|
|
9142
9142
|
const { importNodeBuiltin: importNodeBuiltin2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
9143
|
-
const
|
|
9143
|
+
const fs25 = await importNodeBuiltin2("fs");
|
|
9144
9144
|
const _path = await importNodeBuiltin2("path");
|
|
9145
9145
|
const os23 = await importNodeBuiltin2("os");
|
|
9146
9146
|
const targetPath = configPath || _path.join(os23.homedir(), ".maria", "config.json");
|
|
9147
9147
|
try {
|
|
9148
9148
|
if (options2?.backup) {
|
|
9149
9149
|
try {
|
|
9150
|
-
await
|
|
9150
|
+
await fs25.promises.access(targetPath);
|
|
9151
9151
|
const backupPath = `${targetPath}.backup.${Date.now()}`;
|
|
9152
|
-
await
|
|
9152
|
+
await fs25.promises.copyFile(targetPath, backupPath);
|
|
9153
9153
|
} catch {
|
|
9154
9154
|
}
|
|
9155
9155
|
}
|
|
9156
|
-
await
|
|
9156
|
+
await fs25.promises.mkdir(_path.dirname(targetPath), { recursive: true });
|
|
9157
9157
|
const dataToSave = this.getAll({
|
|
9158
9158
|
maskSensitive: options2?.maskSensitive ?? true,
|
|
9159
9159
|
includeSourceMap: options2?.includeSourceMap ?? false
|
|
9160
9160
|
});
|
|
9161
|
-
await
|
|
9161
|
+
await fs25.promises.writeFile(
|
|
9162
9162
|
targetPath,
|
|
9163
9163
|
JSON.stringify(dataToSave, null, 2),
|
|
9164
9164
|
{ mode: 384 }
|
|
@@ -9202,12 +9202,12 @@ ${this.toYamlLike(value, indent + 1)}`;
|
|
|
9202
9202
|
}
|
|
9203
9203
|
if (outputPath) {
|
|
9204
9204
|
const { importNodeBuiltin: importNodeBuiltin2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
9205
|
-
const
|
|
9205
|
+
const fs25 = await importNodeBuiltin2("fs");
|
|
9206
9206
|
const _path = await importNodeBuiltin2(
|
|
9207
9207
|
"path"
|
|
9208
9208
|
);
|
|
9209
|
-
await
|
|
9210
|
-
await
|
|
9209
|
+
await fs25.promises.mkdir(_path.dirname(outputPath), { recursive: true });
|
|
9210
|
+
await fs25.promises.writeFile(outputPath, content2, "utf-8");
|
|
9211
9211
|
console.log(`\u2705 Configuration exported to ${outputPath}`);
|
|
9212
9212
|
}
|
|
9213
9213
|
return content2;
|
|
@@ -9298,13 +9298,13 @@ async function loadEnvironmentConfig() {
|
|
|
9298
9298
|
}
|
|
9299
9299
|
try {
|
|
9300
9300
|
const { importNodeBuiltin: importNodeBuiltin2, safeDynamicImport: safeDynamicImport2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
9301
|
-
const
|
|
9301
|
+
const fs25 = await safeDynamicImport2("fs-extra").catch(
|
|
9302
9302
|
() => importNodeBuiltin2("fs")
|
|
9303
9303
|
);
|
|
9304
9304
|
const _path = await importNodeBuiltin2("path");
|
|
9305
9305
|
const _envPath = _path.join(process.cwd(), ".env.local");
|
|
9306
|
-
if (await
|
|
9307
|
-
const _envContent = await
|
|
9306
|
+
if (await fs25.pathExists(_envPath)) {
|
|
9307
|
+
const _envContent = await fs25.readFile(_envPath, "utf-8");
|
|
9308
9308
|
console.log("Loading environment from:", _envPath);
|
|
9309
9309
|
environmentLoaded = true;
|
|
9310
9310
|
const _lines = _envContent.split("\n");
|
|
@@ -12426,7 +12426,7 @@ var init_IntelligentRouterService = __esm({
|
|
|
12426
12426
|
this.emit("initialized");
|
|
12427
12427
|
} catch (_error) {
|
|
12428
12428
|
console._error(
|
|
12429
|
-
|
|
12429
|
+
chalk27__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(chalk27__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: chalk27__default.default.blue("\u2139"),
|
|
15223
|
+
success: chalk27__default.default.green("\u2714"),
|
|
15224
|
+
warning: chalk27__default.default.yellow("\u26A0"),
|
|
15225
|
+
error: chalk27__default.default.red("\u2716")
|
|
15226
15226
|
};
|
|
15227
15227
|
fallback = {
|
|
15228
|
-
info:
|
|
15229
|
-
success:
|
|
15230
|
-
warning:
|
|
15231
|
-
error:
|
|
15228
|
+
info: chalk27__default.default.blue("i"),
|
|
15229
|
+
success: chalk27__default.default.green("\u221A"),
|
|
15230
|
+
warning: chalk27__default.default.yellow("\u203C"),
|
|
15231
|
+
error: chalk27__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 = chalk27__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
|
+
chalk27__default.default.cyan.bold("\n\u{1F916} Welcome to MARIA Interactive Session v3.5.0")
|
|
15749
15749
|
);
|
|
15750
|
-
console.log(
|
|
15750
|
+
console.log(chalk27__default.default.gray("Type /help for available commands\n"));
|
|
15751
15751
|
}
|
|
15752
15752
|
showGoodbye() {
|
|
15753
15753
|
this.stopAllSpinners();
|
|
15754
|
-
console.log(
|
|
15754
|
+
console.log(chalk27__default.default.yellow("\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(chalk27__default.default.red(`\u274C ${message}`));
|
|
15761
15761
|
}
|
|
15762
15762
|
success(message) {
|
|
15763
|
-
console.log(
|
|
15763
|
+
console.log(chalk27__default.default.green(`\u2705 ${message}`));
|
|
15764
15764
|
}
|
|
15765
15765
|
warning(message) {
|
|
15766
|
-
console.warn(
|
|
15766
|
+
console.warn(chalk27__default.default.yellow(`\u26A0\uFE0F ${message}`));
|
|
15767
15767
|
}
|
|
15768
15768
|
info(message) {
|
|
15769
|
-
console.info(
|
|
15769
|
+
console.info(chalk27__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) => chalk27__default.default.cyan(text),
|
|
15820
|
+
keyword: (text) => chalk27__default.default.magenta(text),
|
|
15821
|
+
value: (text) => chalk27__default.default.green(text),
|
|
15822
|
+
dim: (text) => chalk27__default.default.gray(text),
|
|
15823
|
+
bold: (text) => chalk27__default.default.bold(text),
|
|
15824
|
+
code: (text) => chalk27__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(chalk27__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(chalk27__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(chalk27__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(chalk27__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(chalk27__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: chalk27__default.default.bold.magenta,
|
|
17980
|
+
progress: chalk27__default.default.magenta,
|
|
17981
|
+
complete: chalk27__default.default.bold.magenta,
|
|
17982
|
+
error: chalk27__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(chalk27__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(chalk27__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${chalk27__default.default.bold.magenta(bar)} ${percentage}% ${progressText}${labelText}`
|
|
18027
18027
|
);
|
|
18028
18028
|
if (current === total) {
|
|
18029
18029
|
process.stdout.write("\n");
|
|
@@ -18450,8 +18450,8 @@ var init_ConfigService = __esm({
|
|
|
18450
18450
|
/**
|
|
18451
18451
|
* ネストされた設定値の取得
|
|
18452
18452
|
*/
|
|
18453
|
-
getNestedValue(
|
|
18454
|
-
const keys =
|
|
18453
|
+
getNestedValue(path30) {
|
|
18454
|
+
const keys = path30.split(".");
|
|
18455
18455
|
let value = this._config;
|
|
18456
18456
|
for (const key2 of keys) {
|
|
18457
18457
|
if (value && typeof value === "object" && key2 in value) {
|
|
@@ -18481,8 +18481,8 @@ var init_ConfigService = __esm({
|
|
|
18481
18481
|
/**
|
|
18482
18482
|
* ネストされた設定値の更新
|
|
18483
18483
|
*/
|
|
18484
|
-
async setNestedValue(
|
|
18485
|
-
const keys =
|
|
18484
|
+
async setNestedValue(path30, value) {
|
|
18485
|
+
const keys = path30.split(".");
|
|
18486
18486
|
const lastKey = keys.pop();
|
|
18487
18487
|
let target = this._config;
|
|
18488
18488
|
for (const key2 of keys) {
|
|
@@ -18495,7 +18495,7 @@ var init_ConfigService = __esm({
|
|
|
18495
18495
|
target[lastKey] = value;
|
|
18496
18496
|
this.validateConfig();
|
|
18497
18497
|
this.emitChange({
|
|
18498
|
-
path:
|
|
18498
|
+
path: path30,
|
|
18499
18499
|
oldValue,
|
|
18500
18500
|
newValue: value,
|
|
18501
18501
|
timestamp: /* @__PURE__ */ new Date()
|
|
@@ -18540,8 +18540,8 @@ var init_ConfigService = __esm({
|
|
|
18540
18540
|
setupAutoSave() {
|
|
18541
18541
|
process.on("exit", () => {
|
|
18542
18542
|
if (this._isDirty) {
|
|
18543
|
-
const
|
|
18544
|
-
|
|
18543
|
+
const fs25 = __require("fs");
|
|
18544
|
+
fs25.writeFileSync(
|
|
18545
18545
|
this._userConfigPath,
|
|
18546
18546
|
JSON.stringify(this._config, null, 2),
|
|
18547
18547
|
"utf-8"
|
|
@@ -18552,13 +18552,13 @@ var init_ConfigService = __esm({
|
|
|
18552
18552
|
/**
|
|
18553
18553
|
* 変更リスナーの登録
|
|
18554
18554
|
*/
|
|
18555
|
-
onChange(
|
|
18556
|
-
if (!this._listeners.has(
|
|
18557
|
-
this._listeners.set(
|
|
18555
|
+
onChange(path30, listener) {
|
|
18556
|
+
if (!this._listeners.has(path30)) {
|
|
18557
|
+
this._listeners.set(path30, []);
|
|
18558
18558
|
}
|
|
18559
|
-
this._listeners.get(
|
|
18559
|
+
this._listeners.get(path30).push(listener);
|
|
18560
18560
|
return () => {
|
|
18561
|
-
const listeners = this._listeners.get(
|
|
18561
|
+
const listeners = this._listeners.get(path30);
|
|
18562
18562
|
if (listeners) {
|
|
18563
18563
|
const index2 = listeners.indexOf(listener);
|
|
18564
18564
|
if (index2 !== -1) {
|
|
@@ -19047,7 +19047,7 @@ var init_ValidationService = __esm({
|
|
|
19047
19047
|
);
|
|
19048
19048
|
this._schemas.set(
|
|
19049
19049
|
"filePath",
|
|
19050
|
-
zod.z.string().min(1).max(this._config.maxFilePathLength).refine((
|
|
19050
|
+
zod.z.string().min(1).max(this._config.maxFilePathLength).refine((path30) => !this.containsPathTraversal(path30), {
|
|
19051
19051
|
message: "Path traversal detected"
|
|
19052
19052
|
})
|
|
19053
19053
|
);
|
|
@@ -19186,11 +19186,11 @@ var init_ValidationService = __esm({
|
|
|
19186
19186
|
/**
|
|
19187
19187
|
* ファイルパス検証
|
|
19188
19188
|
*/
|
|
19189
|
-
validateFilePath(
|
|
19189
|
+
validateFilePath(path30) {
|
|
19190
19190
|
try {
|
|
19191
19191
|
const schema = this._schemas.get("filePath");
|
|
19192
|
-
const result2 = schema.parse(
|
|
19193
|
-
if (this.isSystemPath(
|
|
19192
|
+
const result2 = schema.parse(path30);
|
|
19193
|
+
if (this.isSystemPath(path30)) {
|
|
19194
19194
|
return {
|
|
19195
19195
|
valid: false,
|
|
19196
19196
|
errors: [
|
|
@@ -19336,8 +19336,8 @@ var init_ValidationService = __esm({
|
|
|
19336
19336
|
/**
|
|
19337
19337
|
* パストラバーサルの検出
|
|
19338
19338
|
*/
|
|
19339
|
-
containsPathTraversal(
|
|
19340
|
-
return /\.\.[/\\]/.test(
|
|
19339
|
+
containsPathTraversal(path30) {
|
|
19340
|
+
return /\.\.[/\\]/.test(path30) || path30.includes("..\\") || path30.includes("../");
|
|
19341
19341
|
}
|
|
19342
19342
|
/**
|
|
19343
19343
|
* 危険なコマンドの判定
|
|
@@ -19364,7 +19364,7 @@ var init_ValidationService = __esm({
|
|
|
19364
19364
|
/**
|
|
19365
19365
|
* システムパスの判定
|
|
19366
19366
|
*/
|
|
19367
|
-
isSystemPath(
|
|
19367
|
+
isSystemPath(path30) {
|
|
19368
19368
|
const systemPaths = [
|
|
19369
19369
|
"/etc",
|
|
19370
19370
|
"/sys",
|
|
@@ -19378,7 +19378,7 @@ var init_ValidationService = __esm({
|
|
|
19378
19378
|
"/sbin"
|
|
19379
19379
|
];
|
|
19380
19380
|
return systemPaths.some(
|
|
19381
|
-
(sysPath) =>
|
|
19381
|
+
(sysPath) => path30.toLowerCase().startsWith(sysPath.toLowerCase())
|
|
19382
19382
|
);
|
|
19383
19383
|
}
|
|
19384
19384
|
/**
|
|
@@ -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(chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21246
21246
|
` ${_labels.approvalRequest}${" ".repeat(Math.max(0, 43 - _labels.approvalRequest.length))}`
|
|
21247
|
-
) +
|
|
21247
|
+
) + chalk27__default.default.gray("\u2502")
|
|
21248
21248
|
);
|
|
21249
|
-
console.log(
|
|
21249
|
+
console.log(chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21253
|
+
` > ${_labels.id}: ${chalk27__default.default.yellow(_requestId)}${" ".repeat(Math.max(0, 35 - _requestId.length - _labels.id.length))}`
|
|
21254
|
+
) + chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21261
21261
|
`${_titleLabel} ${_titleDisplay}${" ".repeat(Math.max(0, 42 - _titleLabel.length - _titleDisplay.length))}`
|
|
21262
|
-
) +
|
|
21262
|
+
) + chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21271
21271
|
`${_levelLabel} ${_levelDisplay}${" ".repeat(Math.max(0, 42 - _levelLabel.length - _levelDisplay.length))}`
|
|
21272
|
-
) +
|
|
21272
|
+
) + chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21278
21278
|
`${_impactLabel} ${_impact}${" ".repeat(Math.max(0, 42 - _impactLabel.length - _impact.length))}`
|
|
21279
|
-
) +
|
|
21279
|
+
) + chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21285
21285
|
`${_approversLabel} ${_approversStatus}${" ".repeat(Math.max(0, 42 - _approversLabel.length - _approversStatus.length))}`
|
|
21286
|
-
) +
|
|
21286
|
+
) + chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21293
21293
|
`${_deadlineLabel} ${_timeStr}${" ".repeat(Math.max(0, 42 - _deadlineLabel.length - _timeStr.length))}`
|
|
21294
|
-
) +
|
|
21294
|
+
) + chalk27__default.default.gray("\u2502")
|
|
21295
21295
|
);
|
|
21296
|
-
console.log(
|
|
21296
|
+
console.log(chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21299
21299
|
` ${_labels.actions}:${" ".repeat(Math.max(0, 42 - _labels.actions.length))}`
|
|
21300
|
-
) +
|
|
21300
|
+
) + chalk27__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 = chalk27__default.default.green;
|
|
21312
21312
|
break;
|
|
21313
21313
|
case "reject":
|
|
21314
21314
|
label = _labels.reject;
|
|
21315
|
-
color =
|
|
21315
|
+
color = chalk27__default.default.red;
|
|
21316
21316
|
break;
|
|
21317
21317
|
case "cancel":
|
|
21318
21318
|
label = _labels.cancel;
|
|
21319
|
-
color =
|
|
21319
|
+
color = chalk27__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
|
+
chalk27__default.default.gray("\u2502") + _colorFunc(
|
|
21326
21326
|
`${_optionText}${" ".repeat(Math.max(0, 43 - _optionText.length))}`
|
|
21327
|
-
) +
|
|
21327
|
+
) + chalk27__default.default.gray("\u2502")
|
|
21328
21328
|
);
|
|
21329
21329
|
});
|
|
21330
|
-
console.log(
|
|
21330
|
+
console.log(chalk27__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
|
+
chalk27__default.default.gray("\u2502") + chalk27__default.default.white(
|
|
21333
21333
|
` ${_labels.moveInstruction}${" ".repeat(Math.max(0, 43 - _labels.moveInstruction.length))}`
|
|
21334
|
-
) +
|
|
21334
|
+
) + chalk27__default.default.gray("\u2502")
|
|
21335
21335
|
);
|
|
21336
|
-
console.log(
|
|
21336
|
+
console.log(chalk27__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": chalk27__default.default.bgGreen.black.bold,
|
|
21353
|
+
"ctrl+y": chalk27__default.default.bgBlue.white.bold,
|
|
21354
|
+
"ctrl+n": chalk27__default.default.bgRed.white.bold,
|
|
21355
|
+
"ctrl+t": chalk27__default.default.bgMagenta.white.bold,
|
|
21356
|
+
"ctrl+r": chalk27__default.default.bgYellow.black.bold
|
|
21357
21357
|
};
|
|
21358
|
-
const _colorFunc = colorMap[_key] ||
|
|
21358
|
+
const _colorFunc = colorMap[_key] || chalk27__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 chalk27__default.default.red.bold("CRITICAL");
|
|
21368
21368
|
case "high":
|
|
21369
|
-
return
|
|
21369
|
+
return chalk27__default.default.red("HIGH");
|
|
21370
21370
|
case "medium":
|
|
21371
|
-
return
|
|
21371
|
+
return chalk27__default.default.yellow("MEDIUM");
|
|
21372
21372
|
case "low":
|
|
21373
|
-
return
|
|
21373
|
+
return chalk27__default.default.green("LOW");
|
|
21374
21374
|
default:
|
|
21375
|
-
return
|
|
21375
|
+
return chalk27__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
|
+
${chalk27__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 @@ ${chalk26__default.default.red("Approval cancelled by user")}`);
|
|
|
21499
21499
|
}
|
|
21500
21500
|
console.clear();
|
|
21501
21501
|
console.log(`
|
|
21502
|
-
${
|
|
21502
|
+
${chalk27__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21503
21503
|
console.log(
|
|
21504
|
-
|
|
21504
|
+
chalk27__default.default.bgGreen.black.bold("\u2502") + chalk27__default.default.bgGreen.black.bold(
|
|
21505
21505
|
` \u2713 CHOICE SELECTED / \u9078\u629E\u5B8C\u4E86:${" ".repeat(47)}`
|
|
21506
|
-
) +
|
|
21506
|
+
) + chalk27__default.default.bgGreen.black.bold("\u2502")
|
|
21507
21507
|
);
|
|
21508
|
-
console.log(
|
|
21508
|
+
console.log(chalk27__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
|
+
chalk27__default.default.bgGreen.black.bold("\u2502") + chalk27__default.default.bgGreen.black.bold(` ${_choiceText}${_padding}`) + chalk27__default.default.bgGreen.black.bold("\u2502")
|
|
21513
21513
|
);
|
|
21514
|
-
console.log(
|
|
21515
|
-
console.log(
|
|
21514
|
+
console.log(chalk27__default.default.bgGreen.black.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21515
|
+
console.log(chalk27__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 @@ ${chalk26__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u251
|
|
|
21522
21522
|
);
|
|
21523
21523
|
response.quickDecision = true;
|
|
21524
21524
|
console.log(`
|
|
21525
|
-
${
|
|
21525
|
+
${chalk27__default.default.bgGreen.black(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21526
21526
|
console.log(
|
|
21527
|
-
|
|
21527
|
+
chalk27__default.default.bgGreen.black("\u2502") + chalk27__default.default.bgGreen.black(
|
|
21528
21528
|
` \u{1F389} APPROVAL PROCESSED SUCCESSFULLY / \u627F\u8A8D\u51E6\u7406\u5B8C\u4E86!${" ".repeat(32)}`
|
|
21529
|
-
) +
|
|
21529
|
+
) + chalk27__default.default.bgGreen.black("\u2502")
|
|
21530
21530
|
);
|
|
21531
|
-
console.log(
|
|
21531
|
+
console.log(chalk27__default.default.bgGreen.black(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21532
21532
|
if (_choice.trustLevel) {
|
|
21533
21533
|
console.log(
|
|
21534
|
-
|
|
21534
|
+
chalk27__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
|
+
${chalk27__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
21542
21542
|
console.log(
|
|
21543
|
-
|
|
21543
|
+
chalk27__default.default.bgRed.white.bold("\u2502") + chalk27__default.default.bgRed.white.bold(
|
|
21544
21544
|
` \u274C ERROR PROCESSING APPROVAL / \u627F\u8A8D\u51E6\u7406\u30A8\u30E9\u30FC${" ".repeat(35)}`
|
|
21545
|
-
) +
|
|
21545
|
+
) + chalk27__default.default.bgRed.white.bold("\u2502")
|
|
21546
21546
|
);
|
|
21547
|
-
console.log(
|
|
21548
|
-
console._error(
|
|
21547
|
+
console.log(chalk27__default.default.bgRed.white.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
21548
|
+
console._error(chalk27__default.default.red("\nError details:"), _error);
|
|
21549
21549
|
this.emit("approval-_error", _error);
|
|
21550
21550
|
}
|
|
21551
21551
|
}
|
|
@@ -21559,7 +21559,7 @@ ${chalk26__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`
|
|
|
21559
21559
|
timeoutId = setTimeout(() => {
|
|
21560
21560
|
console.log(
|
|
21561
21561
|
`
|
|
21562
|
-
${
|
|
21562
|
+
${chalk27__default.default.yellow("\u23F0 Approval request timed out - auto-approving...")}`
|
|
21563
21563
|
);
|
|
21564
21564
|
this.handleTimeoutResponse(resolve);
|
|
21565
21565
|
}, timeout);
|
|
@@ -21603,7 +21603,7 @@ ${chalk26__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(chalk27__default.default.red("Error processing timeout approval:"), _error);
|
|
21607
21607
|
}
|
|
21608
21608
|
}
|
|
21609
21609
|
/**
|
|
@@ -21618,11 +21618,11 @@ ${chalk26__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
|
+
chalk27__default.default.blue(
|
|
21622
21622
|
`\u2728 Trust level changed: ${event.oldLevel} \u2192 ${event.newLevel}`
|
|
21623
21623
|
)
|
|
21624
21624
|
);
|
|
21625
|
-
console.log(
|
|
21625
|
+
console.log(chalk27__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 chalk27__default.default.red(`\u274C ${prefix}${message}`);
|
|
22413
22413
|
}
|
|
22414
22414
|
function formatSuccess(message) {
|
|
22415
|
-
return
|
|
22415
|
+
return chalk27__default.default.green(`\u2705 ${message}`);
|
|
22416
22416
|
}
|
|
22417
22417
|
function formatWarning(message) {
|
|
22418
|
-
return
|
|
22418
|
+
return chalk27__default.default.yellow(`\u26A0\uFE0F ${message}`);
|
|
22419
22419
|
}
|
|
22420
22420
|
function formatInfo(message) {
|
|
22421
|
-
return
|
|
22421
|
+
return chalk27__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 = chalk27__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 = chalk27__default.default.gray,
|
|
22440
|
+
valueColor = chalk27__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
|
+
chalk27__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 = chalk27__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(chalk27__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(chalk27__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 ? chalk27__default.default.green : chalk27__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(chalk27__default.default.red(`\u274C Errors: ${status.errors}`));
|
|
22795
22795
|
}
|
|
22796
22796
|
if (status.warnings > 0) {
|
|
22797
|
-
lines.push(
|
|
22797
|
+
lines.push(chalk27__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(chalk27__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: chalk27__default.default.gray,
|
|
22813
|
+
valueColor: chalk27__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(chalk27__default.default.cyan.bold("\u{1F9E0} Memory Status"));
|
|
22828
22828
|
lines.push("");
|
|
22829
|
-
lines.push(
|
|
22829
|
+
lines.push(chalk27__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(chalk27__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(chalk27__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 ? chalk27__default.default.red : usage > 60 ? chalk27__default.default.yellow : chalk27__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(chalk27__default.default.cyan.bold("\u{1F916} Model Status"));
|
|
22888
22888
|
lines.push("");
|
|
22889
|
-
lines.push(
|
|
22889
|
+
lines.push(chalk27__default.default.green(`Current: ${chalk27__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: chalk27__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(chalk27__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" ? chalk27__default.default.green : check.status === "warning" ? chalk27__default.default.yellow : chalk27__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 ? chalk27__default.default.green : check.latency < 500 ? chalk27__default.default.yellow : chalk27__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(chalk27__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
|
+
chalk27__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
|
+
chalk27__default.default.yellow(`\u26A0\uFE0F System operational with ${warningCount} warning(s)`)
|
|
22941
22941
|
);
|
|
22942
22942
|
} else {
|
|
22943
|
-
lines.push(
|
|
22943
|
+
lines.push(chalk27__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(chalk27__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: chalk27__default.default.gray,
|
|
22968
|
+
valueColor: chalk27__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" ? chalk27__default.default.green : performance3 === "Good" ? chalk27__default.default.blue : performance3 === "Fair" ? chalk27__default.default.yellow : chalk27__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(chalk27__default.default.cyan(`[${data2.mode}]`));
|
|
22987
22987
|
}
|
|
22988
22988
|
if (data2.model) {
|
|
22989
|
-
segments.push(
|
|
22989
|
+
segments.push(chalk27__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 ? chalk27__default.default.red : data2.memory > 60 ? chalk27__default.default.yellow : chalk27__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 ? chalk27__default.default.green : data2.latency < 500 ? chalk27__default.default.yellow : chalk27__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
|
+
chalk27__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 = chalk27__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 += chalk27__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 += ` ${chalk27__default.default.green(cmd.padEnd(15))} - ${this.getCommandDescription(cmd)}
|
|
23037
23037
|
`;
|
|
23038
23038
|
}
|
|
23039
23039
|
}
|
|
23040
23040
|
}
|
|
23041
|
-
message +=
|
|
23041
|
+
message += chalk27__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: chalk27__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 = chalk27__default.default.yellow("\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 = chalk27__default.default.cyan("\u{1F680} MARIA System Information\n\n");
|
|
23125
|
+
message += chalk27__default.default.white(` Version: ${chalk27__default.default.green(packageInfo.version)}
|
|
23126
23126
|
`);
|
|
23127
|
-
message +=
|
|
23127
|
+
message += chalk27__default.default.white(` Package: ${chalk27__default.default.green(packageInfo.name)}
|
|
23128
23128
|
`);
|
|
23129
|
-
message +=
|
|
23129
|
+
message += chalk27__default.default.white(` Node: ${chalk27__default.default.green(packageInfo.node)}
|
|
23130
23130
|
`);
|
|
23131
|
-
message +=
|
|
23132
|
-
` Platform: ${
|
|
23131
|
+
message += chalk27__default.default.white(
|
|
23132
|
+
` Platform: ${chalk27__default.default.green(packageInfo.platform)}
|
|
23133
23133
|
`
|
|
23134
23134
|
);
|
|
23135
|
-
message +=
|
|
23135
|
+
message += chalk27__default.default.white(` Arch: ${chalk27__default.default.green(packageInfo.arch)}
|
|
23136
23136
|
`);
|
|
23137
|
-
message +=
|
|
23137
|
+
message += chalk27__default.default.gray(`
|
|
23138
23138
|
Build: Production
|
|
23139
23139
|
`);
|
|
23140
|
-
message +=
|
|
23140
|
+
message += chalk27__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 = chalk27__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 += chalk27__default.default.gray(` ${num.toString().padStart(3)}: `) + chalk27__default.default.white(cmd) + "\n";
|
|
23171
23171
|
});
|
|
23172
23172
|
if (recent.length === 0) {
|
|
23173
|
-
message =
|
|
23173
|
+
message = chalk27__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: chalk27__default.default.red("\u274C Please provide a code generation request.\n") + chalk27__default.default.gray("Usage: /code <description>\n") + chalk27__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: chalk27__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: chalk27__default.default.cyan("\u{1F50D} Dry run mode - would generate:\n") + chalk27__default.default.gray(`Language: ${language}
|
|
23237
|
+
`) + chalk27__default.default.gray(`Framework: ${framework || "none"}
|
|
23238
|
+
`) + chalk27__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: chalk27__default.default.green("\u2705 Code generated successfully:\n\n") + chalk27__default.default.gray("```" + language + "\n") + generatedCode + chalk27__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: chalk27__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: chalk27__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: chalk27__default.default.red(`Unknown test subcommand: ${subcommand}
|
|
23294
|
+
`) + chalk27__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: chalk27__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: chalk27__default.default.green(`\u2705 Tests generated for ${target}:
|
|
23320
23320
|
|
|
23321
|
-
`) +
|
|
23321
|
+
`) + chalk27__default.default.gray("```typescript\n") + testCode + chalk27__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: chalk27__default.default.cyan(`\u{1F9EA} Running tests...
|
|
23335
|
+
`) + chalk27__default.default.gray(`Command: ${command}
|
|
23336
23336
|
|
|
23337
|
-
`) +
|
|
23337
|
+
`) + chalk27__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: chalk27__default.default.cyan("\u{1F4CA} Test Coverage Report:\n\n") + chalk27__default.default.gray("File".padEnd(40) + "% Stmts".padEnd(10) + "% Lines\n") + chalk27__default.default.gray("-".repeat(60) + "\n") + chalk27__default.default.green(
|
|
23345
23345
|
"SessionStateMachine.ts".padEnd(40) + "100.00".padEnd(10) + "100.00\n"
|
|
23346
|
-
) +
|
|
23346
|
+
) + chalk27__default.default.green(
|
|
23347
23347
|
"InputController.ts".padEnd(40) + "95.50".padEnd(10) + "94.20\n"
|
|
23348
|
-
) +
|
|
23348
|
+
) + chalk27__default.default.yellow(
|
|
23349
23349
|
"SessionManager.ts".padEnd(40) + "78.30".padEnd(10) + "76.50\n"
|
|
23350
|
-
) +
|
|
23350
|
+
) + chalk27__default.default.gray("-".repeat(60) + "\n") + chalk27__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: chalk27__default.default.red("Please specify a file to review\n") + chalk27__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 = chalk27__default.default.cyan(`\u{1F50D} Code Review for ${file}
|
|
23370
23370
|
|
|
23371
23371
|
`);
|
|
23372
|
-
message +=
|
|
23373
|
-
message +=
|
|
23374
|
-
message +=
|
|
23375
|
-
message +=
|
|
23372
|
+
message += chalk27__default.default.yellow("\u26A0\uFE0F Issues Found (3):\n");
|
|
23373
|
+
message += chalk27__default.default.gray(" 1. Line 42: ") + chalk27__default.default.yellow("Missing error handling in async function\n");
|
|
23374
|
+
message += chalk27__default.default.gray(" 2. Line 89: ") + chalk27__default.default.yellow("Potential memory leak - event listener not removed\n");
|
|
23375
|
+
message += chalk27__default.default.gray(" 3. Line 156: ") + chalk27__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 += chalk27__default.default.red("\u{1F512} Security Issues (1):\n");
|
|
23380
|
+
message += chalk27__default.default.gray(" 1. Line 67: ") + chalk27__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 += chalk27__default.default.blue("\u26A1 Performance Suggestions (2):\n");
|
|
23384
|
+
message += chalk27__default.default.gray(" 1. Line 23: ") + chalk27__default.default.blue("Consider memoization for expensive calculation\n");
|
|
23385
|
+
message += chalk27__default.default.gray(" 2. Line 145: ") + chalk27__default.default.blue("Use virtualization for large list rendering\n\n");
|
|
23386
|
+
}
|
|
23387
|
+
message += chalk27__default.default.green("\u2705 Positive Findings:\n");
|
|
23388
|
+
message += chalk27__default.default.gray(" \u2022 Good TypeScript type coverage (92%)\n");
|
|
23389
|
+
message += chalk27__default.default.gray(" \u2022 Consistent code style\n");
|
|
23390
|
+
message += chalk27__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: chalk27__default.default.red(`Unknown bug subcommand: ${subcommand}
|
|
23421
|
+
`) + chalk27__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: chalk27__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: chalk27__default.default.green(`\u{1F41B} Bug reported successfully!
|
|
23437
23437
|
|
|
23438
|
-
`) +
|
|
23439
|
-
`) +
|
|
23440
|
-
`) +
|
|
23441
|
-
`) +
|
|
23438
|
+
`) + chalk27__default.default.cyan(`Bug ID: ${bugId}
|
|
23439
|
+
`) + chalk27__default.default.gray(`Description: ${description}
|
|
23440
|
+
`) + chalk27__default.default.gray(`Status: Open
|
|
23441
|
+
`) + chalk27__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: chalk27__default.default.cyan("\u{1F41B} Active Bugs:\n\n") + chalk27__default.default.yellow("1. BUG-A1B2C3: ") + chalk27__default.default.gray("Session timeout not handled properly\n") + chalk27__default.default.yellow("2. BUG-D4E5F6: ") + chalk27__default.default.gray("Memory leak in streaming responses\n") + chalk27__default.default.yellow("3. BUG-G7H8I9: ") + chalk27__default.default.gray("Spinner not stopping on error\n\n") + chalk27__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: chalk27__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: chalk27__default.default.cyan(`\u{1F50D} Bug Analysis for ${bugId}:
|
|
23462
23462
|
|
|
23463
|
-
`) +
|
|
23463
|
+
`) + chalk27__default.default.yellow("Summary: ") + chalk27__default.default.gray("Session timeout not handled properly\n") + chalk27__default.default.yellow("Severity: ") + chalk27__default.default.orange("Medium\n") + chalk27__default.default.yellow("Component: ") + chalk27__default.default.gray("SessionManager\n") + chalk27__default.default.yellow("Reported: ") + chalk27__default.default.gray("2 days ago\n\n") + chalk27__default.default.cyan("Possible Causes:\n") + chalk27__default.default.gray(
|
|
23464
23464
|
" 1. AbortSignal not propagated to all async operations\n"
|
|
23465
|
-
) +
|
|
23465
|
+
) + chalk27__default.default.gray(" 2. Deadline timer not cleared on completion\n") + chalk27__default.default.gray(" 3. Race condition in state transitions\n\n") + chalk27__default.default.green("Suggested Fix:\n") + chalk27__default.default.gray(" Ensure all async operations respect the AbortSignal\n") + chalk27__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: chalk27__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 = chalk27__default.default.cyan.bold("\u{1F4CA} System Status\n\n");
|
|
23501
|
+
message += chalk27__default.default.green("\u2705 System: Operational\n");
|
|
23502
|
+
message += chalk27__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 += chalk27__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 += chalk27__default.default.gray("\nDetailed Information:\n");
|
|
23512
|
+
message += chalk27__default.default.gray(` \u2022 CPU: ${status.cpu.model}
|
|
23513
23513
|
`);
|
|
23514
|
-
message +=
|
|
23514
|
+
message += chalk27__default.default.gray(
|
|
23515
23515
|
` \u2022 Platform: ${status.platform} (${os16__namespace.arch()})
|
|
23516
23516
|
`
|
|
23517
23517
|
);
|
|
23518
|
-
message +=
|
|
23518
|
+
message += chalk27__default.default.gray(` \u2022 Node.js: ${process.version}
|
|
23519
23519
|
`);
|
|
23520
|
-
message +=
|
|
23520
|
+
message += chalk27__default.default.gray(` \u2022 Process ID: ${process.pid}
|
|
23521
23521
|
`);
|
|
23522
|
-
message +=
|
|
23522
|
+
message += chalk27__default.default.gray(` \u2022 Working Directory: ${process.cwd()}
|
|
23523
23523
|
`);
|
|
23524
|
-
message +=
|
|
23525
|
-
message +=
|
|
23524
|
+
message += chalk27__default.default.gray("\nMemory Details:\n");
|
|
23525
|
+
message += chalk27__default.default.gray(
|
|
23526
23526
|
` \u2022 RSS: ${Math.round(status.memory.rss / 1024 / 1024)}MB
|
|
23527
23527
|
`
|
|
23528
23528
|
);
|
|
23529
|
-
message +=
|
|
23529
|
+
message += chalk27__default.default.gray(
|
|
23530
23530
|
` \u2022 Heap Used: ${Math.round(status.memory.heapUsed / 1024 / 1024)}MB
|
|
23531
23531
|
`
|
|
23532
23532
|
);
|
|
23533
|
-
message +=
|
|
23533
|
+
message += chalk27__default.default.gray(
|
|
23534
23534
|
` \u2022 Heap Total: ${Math.round(status.memory.heapTotal / 1024 / 1024)}MB
|
|
23535
23535
|
`
|
|
23536
23536
|
);
|
|
23537
|
-
message +=
|
|
23537
|
+
message += chalk27__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: chalk27__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 = chalk27__default.default.cyan.bold("\u{1F916} Available Models\n\n");
|
|
23587
|
+
message += chalk27__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 ? chalk27__default.default.green("\u2705") : chalk27__default.default.red("\u274C");
|
|
23592
|
+
const name2 = model.id === this.currentModel ? chalk27__default.default.green.bold(model.id) : chalk27__default.default.cyan(model.id);
|
|
23593
|
+
message += `${status} ${name2.padEnd(20)} ${chalk27__default.default.gray(`[${model.provider}]`)}
|
|
23594
23594
|
`;
|
|
23595
23595
|
}
|
|
23596
|
-
message +=
|
|
23596
|
+
message += chalk27__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: chalk27__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: chalk27__default.default.red(`Unknown model: ${modelId}
|
|
23615
|
+
`) + chalk27__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: chalk27__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: chalk27__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: chalk27__default.default.red(`Unknown model: ${modelId}`)
|
|
23637
23637
|
};
|
|
23638
23638
|
}
|
|
23639
|
-
let message =
|
|
23639
|
+
let message = chalk27__default.default.cyan(`\u{1F4CB} Model Information: ${modelId}
|
|
23640
23640
|
|
|
23641
23641
|
`);
|
|
23642
|
-
message +=
|
|
23642
|
+
message += chalk27__default.default.gray(`Provider: ${model.provider}
|
|
23643
23643
|
`);
|
|
23644
|
-
message +=
|
|
23644
|
+
message += chalk27__default.default.gray(
|
|
23645
23645
|
`Status: ${model.available ? "Available" : "Unavailable"}
|
|
23646
23646
|
`
|
|
23647
23647
|
);
|
|
23648
|
-
message +=
|
|
23648
|
+
message += chalk27__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 += chalk27__default.default.gray("\nCapabilities:\n");
|
|
23653
|
+
message += chalk27__default.default.gray(" \u2022 Context: 128K tokens\n");
|
|
23654
|
+
message += chalk27__default.default.gray(" \u2022 Languages: 95+\n");
|
|
23655
|
+
message += chalk27__default.default.gray(" \u2022 Code: Yes\n");
|
|
23656
|
+
message += chalk27__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: chalk27__default.default.red(`Unknown memory subcommand: ${subcommand}
|
|
23689
|
+
`) + chalk27__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 = chalk27__default.default.cyan.bold("\u{1F9E0} Memory Status\n\n");
|
|
23695
|
+
message += chalk27__default.default.yellow("System 1 (Fast):\n");
|
|
23696
|
+
message += chalk27__default.default.gray(
|
|
23697
23697
|
` \u2022 Knowledge Nodes: ${this.memoryStats.system1.nodes}
|
|
23698
23698
|
`
|
|
23699
23699
|
);
|
|
23700
|
-
message +=
|
|
23700
|
+
message += chalk27__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system1.tokens}
|
|
23701
23701
|
|
|
23702
23702
|
`);
|
|
23703
|
-
message +=
|
|
23704
|
-
message +=
|
|
23703
|
+
message += chalk27__default.default.blue("System 2 (Deep):\n");
|
|
23704
|
+
message += chalk27__default.default.gray(
|
|
23705
23705
|
` \u2022 Reasoning Traces: ${this.memoryStats.system2.traces}
|
|
23706
23706
|
`
|
|
23707
23707
|
);
|
|
23708
|
-
message +=
|
|
23708
|
+
message += chalk27__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system2.tokens}
|
|
23709
23709
|
|
|
23710
23710
|
`);
|
|
23711
|
-
message +=
|
|
23712
|
-
message +=
|
|
23711
|
+
message += chalk27__default.default.green("Total:\n");
|
|
23712
|
+
message += chalk27__default.default.gray(` \u2022 Entries: ${this.memoryStats.total.entries}
|
|
23713
23713
|
`);
|
|
23714
|
-
message +=
|
|
23714
|
+
message += chalk27__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 += chalk27__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: chalk27__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: chalk27__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: chalk27__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: chalk27__default.default.green(`\u{1F4E6} Memory exported to ${filename}
|
|
23759
|
+
`) + chalk27__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: chalk27__default.default.green("\u2728 Memory compacted successfully\n") + chalk27__default.default.gray(`Before: ${before} tokens
|
|
23778
|
+
`) + chalk27__default.default.gray(`After: ${after} tokens
|
|
23779
|
+
`) + chalk27__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: chalk27__default.default.yellow("Health check canceled")
|
|
23796
23796
|
};
|
|
23797
23797
|
}
|
|
23798
23798
|
const detailed = args2.includes("--detailed");
|
|
23799
|
-
let message =
|
|
23799
|
+
let message = chalk27__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" ? chalk27__default.default.green("\u2705") : check.status === "warning" ? chalk27__default.default.yellow("\u26A0\uFE0F") : chalk27__default.default.red("\u274C");
|
|
23809
|
+
const status = check.status === "ok" ? chalk27__default.default.green("OK") : check.status === "warning" ? chalk27__default.default.yellow("WARNING") : chalk27__default.default.red("ERROR");
|
|
23810
23810
|
message += `${icon} ${check.name.padEnd(20)} ${status}`;
|
|
23811
23811
|
if (detailed) {
|
|
23812
|
-
message +=
|
|
23812
|
+
message += chalk27__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 += chalk27__default.default.red("\u26A0\uFE0F System has errors - intervention required");
|
|
23821
23821
|
} else if (hasWarnings) {
|
|
23822
|
-
message +=
|
|
23822
|
+
message += chalk27__default.default.yellow("\u26A0\uFE0F System operational with warnings");
|
|
23823
23823
|
} else {
|
|
23824
|
-
message +=
|
|
23824
|
+
message += chalk27__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: chalk27__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 = chalk27__default.default.cyan.bold("\u{1F468}\u2695\uFE0F System Doctor\n\n");
|
|
23847
|
+
message += chalk27__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 += chalk27__default.default.green("\u2705 No issues found - system is healthy!");
|
|
23870
23870
|
return { ok: true, message };
|
|
23871
23871
|
}
|
|
23872
|
-
message +=
|
|
23872
|
+
message += chalk27__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" ? chalk27__default.default.red("\u274C") : issue.severity === "warning" ? chalk27__default.default.yellow("\u26A0\uFE0F") : chalk27__default.default.blue("\u2139\uFE0F");
|
|
23877
23877
|
message += `${icon} ${issue.issue}
|
|
23878
23878
|
`;
|
|
23879
|
-
message +=
|
|
23879
|
+
message += chalk27__default.default.gray(` Solution: ${issue.solution}
|
|
23880
23880
|
`);
|
|
23881
23881
|
if (autoFix && issue.fixable) {
|
|
23882
|
-
message +=
|
|
23882
|
+
message += chalk27__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 += chalk27__default.default.gray(
|
|
23891
23891
|
`
|
|
23892
23892
|
Run /doctor --fix to automatically fix ${fixableCount} issue(s)`
|
|
23893
23893
|
);
|
|
@@ -24188,15 +24188,15 @@ var init_SessionOrchestrator = __esm({
|
|
|
24188
24188
|
/**
|
|
24189
24189
|
* 設定の取得
|
|
24190
24190
|
*/
|
|
24191
|
-
getConfig(
|
|
24192
|
-
return this._configService?.getNestedValue(
|
|
24191
|
+
getConfig(path30) {
|
|
24192
|
+
return this._configService?.getNestedValue(path30);
|
|
24193
24193
|
}
|
|
24194
24194
|
/**
|
|
24195
24195
|
* 設定の更新
|
|
24196
24196
|
*/
|
|
24197
|
-
async setConfig(
|
|
24197
|
+
async setConfig(path30, value) {
|
|
24198
24198
|
if (this._configService) {
|
|
24199
|
-
await this._configService.setNestedValue(
|
|
24199
|
+
await this._configService.setNestedValue(path30, value);
|
|
24200
24200
|
}
|
|
24201
24201
|
}
|
|
24202
24202
|
/**
|
|
@@ -24314,11 +24314,11 @@ var init_interactive_session = __esm({
|
|
|
24314
24314
|
getStats() {
|
|
24315
24315
|
return this.orchestrator.getSessionStats();
|
|
24316
24316
|
}
|
|
24317
|
-
getConfig(
|
|
24318
|
-
return this.orchestrator.getConfig(
|
|
24317
|
+
getConfig(path30) {
|
|
24318
|
+
return this.orchestrator.getConfig(path30);
|
|
24319
24319
|
}
|
|
24320
|
-
async setConfig(
|
|
24321
|
-
await this.orchestrator.setConfig(
|
|
24320
|
+
async setConfig(path30, value) {
|
|
24321
|
+
await this.orchestrator.setConfig(path30, value);
|
|
24322
24322
|
}
|
|
24323
24323
|
};
|
|
24324
24324
|
}
|
|
@@ -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.24",
|
|
24333
|
+
description: "\u{1F680} MARIA v4.2.24 - 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${chalk27__default.default.cyan(this.frames[this.currentFrame])} ${chalk27__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${chalk27__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage.icon} ${chalk27__default.default.gray(stage.message)}... ${chalk27__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${chalk27__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage} ${chalk27__default.default.dim(`[${elapsed}s]`)}`
|
|
24999
24999
|
);
|
|
25000
25000
|
} else {
|
|
25001
25001
|
process.stdout.write(
|
|
25002
|
-
`\r${
|
|
25002
|
+
`\r${chalk27__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${chalk27__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${chalk27__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} ${chalk27__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 = chalk27__default.default.green("\u2588").repeat(filled) + chalk27__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.24"}`
|
|
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(chalk27__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(chalk27__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(chalk27__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(chalk27__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(chalk27__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(chalk27__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(chalk27__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" + chalk27__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 ? chalk27__default.default.cyan("\u25BA ") : " ";
|
|
29618
|
+
const nameStyle = isSelected ? chalk27__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(chalk27__default.default.white(displayName) + " " + chalk27__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" + chalk27__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
|
);
|
|
@@ -29956,7 +29956,7 @@ var init_interactive_cli = __esm({
|
|
|
29956
29956
|
}
|
|
29957
29957
|
readline3__namespace.cursorTo(process.stdout, 0);
|
|
29958
29958
|
readline3__namespace.clearLine(process.stdout, 0);
|
|
29959
|
-
const prompt =
|
|
29959
|
+
const prompt = chalk27__default.default.cyan("> ");
|
|
29960
29960
|
const displayInput = this.currentInput;
|
|
29961
29961
|
process.stdout.write(prompt + displayInput);
|
|
29962
29962
|
const promptLength = 2;
|
|
@@ -29975,9 +29975,9 @@ var init_interactive_cli = __esm({
|
|
|
29975
29975
|
readline3__namespace.moveCursor(process.stdout, 0, 2);
|
|
29976
29976
|
this.suggestions.forEach((suggestion, index2) => {
|
|
29977
29977
|
const isSelected = index2 === this.selectedIndex;
|
|
29978
|
-
const prefix = isSelected ?
|
|
29979
|
-
const nameStyle = isSelected ?
|
|
29980
|
-
const descStyle = isSelected ?
|
|
29978
|
+
const prefix = isSelected ? chalk27__default.default.cyan("\u25BA ") : " ";
|
|
29979
|
+
const nameStyle = isSelected ? chalk27__default.default.inverse.white : chalk27__default.default.white;
|
|
29980
|
+
const descStyle = isSelected ? chalk27__default.default.inverse.gray : chalk27__default.default.gray;
|
|
29981
29981
|
const name2 = suggestion.name.padEnd(15);
|
|
29982
29982
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
29983
29983
|
readline3__namespace.cursorTo(process.stdout, 0);
|
|
@@ -29998,20 +29998,20 @@ var init_interactive_cli = __esm({
|
|
|
29998
29998
|
const promptLength = 2;
|
|
29999
29999
|
const savedX = this.cursorPosition + promptLength;
|
|
30000
30000
|
process.stdout.write("\n");
|
|
30001
|
-
process.stdout.write(
|
|
30001
|
+
process.stdout.write(chalk27__default.default.white("\u256D\u2500\u2500\u2500\u2500 Command Suggestions \u2500\u2500\u2500\u2500\u256E\n"));
|
|
30002
30002
|
this.suggestions.forEach((suggestion, index2) => {
|
|
30003
30003
|
const isSelected = index2 === this.selectedIndex;
|
|
30004
|
-
const prefix = isSelected ?
|
|
30005
|
-
const nameStyle = isSelected ?
|
|
30006
|
-
const descStyle = isSelected ?
|
|
30004
|
+
const prefix = isSelected ? chalk27__default.default.cyan("\u25BA ") : " ";
|
|
30005
|
+
const nameStyle = isSelected ? chalk27__default.default.inverse.white : chalk27__default.default.white;
|
|
30006
|
+
const descStyle = isSelected ? chalk27__default.default.inverse.gray : chalk27__default.default.gray;
|
|
30007
30007
|
const name2 = suggestion.name.padEnd(15);
|
|
30008
30008
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
30009
30009
|
process.stdout.write(`${prefix}${nameStyle(name2)} ${descStyle(desc)}
|
|
30010
30010
|
`);
|
|
30011
30011
|
});
|
|
30012
|
-
process.stdout.write(
|
|
30012
|
+
process.stdout.write(chalk27__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
30013
|
process.stdout.write(
|
|
30014
|
-
|
|
30014
|
+
chalk27__default.default.dim("\u2191/\u2193: Navigate \u2022 Tab/Enter: Select \u2022 Esc: Cancel")
|
|
30015
30015
|
);
|
|
30016
30016
|
const totalLines = this.suggestions.length + 4;
|
|
30017
30017
|
readline3__namespace.moveCursor(process.stdout, 0, -totalLines);
|
|
@@ -30616,6 +30616,7 @@ var init_ReadyCommandsService = __esm({
|
|
|
30616
30616
|
// Auth commands
|
|
30617
30617
|
"login": "Sign in to MARIA",
|
|
30618
30618
|
"logout": "Sign out",
|
|
30619
|
+
"whoami": "Show current authenticated user information",
|
|
30619
30620
|
"usage": "Check usage quota",
|
|
30620
30621
|
"plan": "View subscription",
|
|
30621
30622
|
// Code generation
|
|
@@ -31669,12 +31670,26 @@ var init_HelpCommand = __esm({
|
|
|
31669
31670
|
*/
|
|
31670
31671
|
async showGeneralHelp() {
|
|
31671
31672
|
const categories2 = await this.readyService.getCategories();
|
|
31673
|
+
const authCategory = categories2.find((c) => c.name === "auth");
|
|
31674
|
+
if (authCategory && !authCategory.commands.find((c) => c.name === "whoami")) {
|
|
31675
|
+
authCategory.commands.push({
|
|
31676
|
+
name: "whoami",
|
|
31677
|
+
category: "auth",
|
|
31678
|
+
aliases: [],
|
|
31679
|
+
description: "Show current authenticated user information",
|
|
31680
|
+
usage: "/whoami",
|
|
31681
|
+
examples: ["/whoami"],
|
|
31682
|
+
status: 2,
|
|
31683
|
+
contract: { tty: true, nonTty: true, pipe: true, maxResponseTime: 1e3 }
|
|
31684
|
+
});
|
|
31685
|
+
authCategory.count = authCategory.commands.length;
|
|
31686
|
+
}
|
|
31672
31687
|
const stats = await this.readyService.getStatistics();
|
|
31673
31688
|
const lines = [];
|
|
31674
31689
|
lines.push("\u2550".repeat(60));
|
|
31675
|
-
lines.push(
|
|
31690
|
+
lines.push(chalk27__default.default.bold(`${stats.totalReady} READY Commands | ${stats.categoriesCount} Categories`));
|
|
31676
31691
|
lines.push("");
|
|
31677
|
-
lines.push(
|
|
31692
|
+
lines.push(chalk27__default.default.bold("Quick Access:"));
|
|
31678
31693
|
lines.push(" /help <command> - Detailed help for specific command");
|
|
31679
31694
|
lines.push(" /help --quickstart - Essential commands for new users");
|
|
31680
31695
|
lines.push(" /help --stats - Performance statistics");
|
|
@@ -31689,7 +31704,7 @@ var init_HelpCommand = __esm({
|
|
|
31689
31704
|
}
|
|
31690
31705
|
globalMaxNameLength = Math.max(globalMaxNameLength, 18) + 1;
|
|
31691
31706
|
for (const category of categories2) {
|
|
31692
|
-
lines.push(
|
|
31707
|
+
lines.push(chalk27__default.default.bold(`${category.name.toUpperCase()} (${category.count})`));
|
|
31693
31708
|
const showCommands = category.commands.slice(0, 4);
|
|
31694
31709
|
for (const cmd of showCommands) {
|
|
31695
31710
|
const needsGpu = this.hasGpuRequirement(cmd.description);
|
|
@@ -31709,9 +31724,9 @@ var init_HelpCommand = __esm({
|
|
|
31709
31724
|
}
|
|
31710
31725
|
lines.push("");
|
|
31711
31726
|
}
|
|
31712
|
-
lines.push(
|
|
31727
|
+
lines.push(chalk27__default.default.bold("Pro Tips:"));
|
|
31713
31728
|
lines.push(" \u2022 All listed commands are production-ready");
|
|
31714
|
-
lines.push(" \u2022 Use fuzzy search: /help --search
|
|
31729
|
+
lines.push(" \u2022 Use fuzzy search: /help --search config \u2192 finds /config");
|
|
31715
31730
|
lines.push(" \u2022 Categories ordered by importance");
|
|
31716
31731
|
lines.push("");
|
|
31717
31732
|
return this.success(lines.join("\n"));
|
|
@@ -31748,33 +31763,33 @@ var init_HelpCommand = __esm({
|
|
|
31748
31763
|
formatCommandHelp(command) {
|
|
31749
31764
|
const lines = [];
|
|
31750
31765
|
lines.push("");
|
|
31751
|
-
lines.push(`\u{1F4D6} ${
|
|
31766
|
+
lines.push(`\u{1F4D6} ${chalk27__default.default.bold(`/${command.name}`)} - ${command.description}`);
|
|
31752
31767
|
lines.push("\u2550".repeat(50));
|
|
31753
31768
|
lines.push("");
|
|
31754
|
-
lines.push(
|
|
31769
|
+
lines.push(chalk27__default.default.bold("\u2139\uFE0F Information:"));
|
|
31755
31770
|
lines.push(` Category: ${this.readyService["getCategoryEmoji"](command.category)} ${command.category}`);
|
|
31756
31771
|
lines.push(` Status: \u2705 READY (contract validated)`);
|
|
31757
31772
|
if (command.aliases && command.aliases.length > 0) {
|
|
31758
31773
|
lines.push(` Aliases: ${command.aliases.map((a2) => `/${a2}`).join(", ")}`);
|
|
31759
31774
|
}
|
|
31760
31775
|
lines.push("");
|
|
31761
|
-
lines.push(
|
|
31776
|
+
lines.push(chalk27__default.default.bold("\u{1F3AF} Usage:"));
|
|
31762
31777
|
lines.push(` ${command.usage}`);
|
|
31763
31778
|
lines.push("");
|
|
31764
|
-
lines.push(
|
|
31779
|
+
lines.push(chalk27__default.default.bold("\u{1F4CB} Contract Validation:"));
|
|
31765
31780
|
lines.push(` \u26A1 Performance: ${command.contract.maxResponseTime}ms (tested)`);
|
|
31766
31781
|
lines.push(` \u{1F4BB} TTY Mode: ${command.contract.tty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31767
31782
|
lines.push(` \u{1F527} Non-TTY Mode: ${command.contract.nonTty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31768
31783
|
lines.push(` \u{1F500} Pipe Mode: ${command.contract.pipe ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
31769
31784
|
lines.push("");
|
|
31770
31785
|
if (command.examples && command.examples.length > 0) {
|
|
31771
|
-
lines.push(
|
|
31786
|
+
lines.push(chalk27__default.default.bold("\u{1F4DD} Examples:"));
|
|
31772
31787
|
for (const example of command.examples) {
|
|
31773
31788
|
lines.push(` ${example}`);
|
|
31774
31789
|
}
|
|
31775
31790
|
lines.push("");
|
|
31776
31791
|
}
|
|
31777
|
-
lines.push(
|
|
31792
|
+
lines.push(chalk27__default.default.bold("\u{1F4A1} Quick Tips:"));
|
|
31778
31793
|
lines.push(` \u2022 This command is production-ready and fully tested`);
|
|
31779
31794
|
lines.push(` \u2022 Try /${command.name} --help for additional options`);
|
|
31780
31795
|
if (command.category !== "core") {
|
|
@@ -31825,7 +31840,7 @@ var init_HelpCommand = __esm({
|
|
|
31825
31840
|
};
|
|
31826
31841
|
const emoji = emojiMap[categoryName.toLowerCase()] || "\u{1F4CB}";
|
|
31827
31842
|
lines.push("");
|
|
31828
|
-
lines.push(`${emoji} ${
|
|
31843
|
+
lines.push(`${emoji} ${chalk27__default.default.bold(categoryName.toUpperCase() + " COMMANDS")} (${commands.length} READY)`);
|
|
31829
31844
|
lines.push("\u2550".repeat(50));
|
|
31830
31845
|
lines.push("");
|
|
31831
31846
|
const maxNameLength = Math.max(...commands.map((c) => c.name.length)) + 1;
|
|
@@ -31859,7 +31874,7 @@ var init_HelpCommand = __esm({
|
|
|
31859
31874
|
formatSearchResults(searchTerm, results) {
|
|
31860
31875
|
const lines = [];
|
|
31861
31876
|
lines.push("");
|
|
31862
|
-
lines.push(`\u{1F50D} ${
|
|
31877
|
+
lines.push(`\u{1F50D} ${chalk27__default.default.bold("SEARCH RESULTS")} for "${searchTerm}" (${results.length} matches)`);
|
|
31863
31878
|
lines.push("\u2550".repeat(50));
|
|
31864
31879
|
lines.push("");
|
|
31865
31880
|
for (const result2 of results) {
|
|
@@ -31872,7 +31887,7 @@ var init_HelpCommand = __esm({
|
|
|
31872
31887
|
}
|
|
31873
31888
|
lines.push("");
|
|
31874
31889
|
}
|
|
31875
|
-
lines.push(
|
|
31890
|
+
lines.push(chalk27__default.default.bold("\u{1F4A1} Tip:") + " Higher scores indicate better matches");
|
|
31876
31891
|
lines.push("");
|
|
31877
31892
|
return lines.join("\n");
|
|
31878
31893
|
}
|
|
@@ -31883,38 +31898,38 @@ var init_HelpCommand = __esm({
|
|
|
31883
31898
|
const quickCommands = await this.readyService.getQuickStartCommands();
|
|
31884
31899
|
const lines = [];
|
|
31885
31900
|
lines.push("");
|
|
31886
|
-
lines.push(`\u{1F680} ${
|
|
31901
|
+
lines.push(`\u{1F680} ${chalk27__default.default.bold("MARIA QUICKSTART")} - Essential Commands`);
|
|
31887
31902
|
lines.push("\u2550".repeat(50));
|
|
31888
31903
|
lines.push("");
|
|
31889
|
-
lines.push(
|
|
31904
|
+
lines.push(chalk27__default.default.bold("\u{1F3AF} Get Started in 3 Steps:"));
|
|
31890
31905
|
lines.push("");
|
|
31891
|
-
lines.push(
|
|
31906
|
+
lines.push(chalk27__default.default.bold("1\uFE0F\u20E3 Configure Your AI Provider"));
|
|
31892
31907
|
const modelCmd = quickCommands.find((c) => c.name === "model");
|
|
31893
31908
|
if (modelCmd) {
|
|
31894
31909
|
lines.push(` /${modelCmd.name} - ${modelCmd.description}`);
|
|
31895
31910
|
lines.push(` Try: /model set provider=openai key=sk-...`);
|
|
31896
31911
|
}
|
|
31897
31912
|
lines.push("");
|
|
31898
|
-
lines.push(
|
|
31913
|
+
lines.push(chalk27__default.default.bold("2\uFE0F\u20E3 Check System Status"));
|
|
31899
31914
|
const statusCmd = quickCommands.find((c) => c.name === "status");
|
|
31900
31915
|
if (statusCmd) {
|
|
31901
31916
|
lines.push(` /${statusCmd.name} - ${statusCmd.description}`);
|
|
31902
31917
|
lines.push(` Try: /status`);
|
|
31903
31918
|
}
|
|
31904
31919
|
lines.push("");
|
|
31905
|
-
lines.push(
|
|
31920
|
+
lines.push(chalk27__default.default.bold("3\uFE0F\u20E3 Start Coding"));
|
|
31906
31921
|
const codeCmd = quickCommands.find((c) => c.name === "code");
|
|
31907
31922
|
if (codeCmd) {
|
|
31908
31923
|
lines.push(` /${codeCmd.name} - ${codeCmd.description}`);
|
|
31909
31924
|
lines.push(` Try: /code create a hello world function`);
|
|
31910
31925
|
}
|
|
31911
31926
|
lines.push("");
|
|
31912
|
-
lines.push(
|
|
31927
|
+
lines.push(chalk27__default.default.bold("\u{1F527} Essential Commands:"));
|
|
31913
31928
|
for (const cmd of quickCommands) {
|
|
31914
31929
|
lines.push(` /${cmd.name.padEnd(12)} - ${cmd.description}`);
|
|
31915
31930
|
}
|
|
31916
31931
|
lines.push("");
|
|
31917
|
-
lines.push(
|
|
31932
|
+
lines.push(chalk27__default.default.bold("\u{1F4A1} Next Steps:"));
|
|
31918
31933
|
lines.push(" \u2022 /help --category <name> - Explore command categories");
|
|
31919
31934
|
lines.push(" \u2022 /help --search <term> - Find specific functionality");
|
|
31920
31935
|
lines.push(" \u2022 /help <command> - Get detailed command help");
|
|
@@ -31929,20 +31944,20 @@ var init_HelpCommand = __esm({
|
|
|
31929
31944
|
const categories2 = await this.readyService.getCategories();
|
|
31930
31945
|
const lines = [];
|
|
31931
31946
|
lines.push("");
|
|
31932
|
-
lines.push(`\u{1F4CA} ${
|
|
31947
|
+
lines.push(`\u{1F4CA} ${chalk27__default.default.bold("READY COMMANDS STATISTICS")}`);
|
|
31933
31948
|
lines.push("\u2550".repeat(40));
|
|
31934
31949
|
lines.push("");
|
|
31935
|
-
lines.push(
|
|
31950
|
+
lines.push(chalk27__default.default.bold("\u{1F3AF} Overall:"));
|
|
31936
31951
|
lines.push(` Total READY Commands: ${stats.totalReady}`);
|
|
31937
31952
|
lines.push(` Categories: ${stats.categoriesCount}`);
|
|
31938
31953
|
lines.push(` Last Updated: ${stats.lastUpdated?.toLocaleString() || "Unknown"}`);
|
|
31939
31954
|
lines.push("");
|
|
31940
|
-
lines.push(
|
|
31955
|
+
lines.push(chalk27__default.default.bold("\u26A1 Performance:"));
|
|
31941
31956
|
lines.push(` Average Response Time: ${stats.avgResponseTime}ms`);
|
|
31942
31957
|
lines.push(` Fastest Command: /${stats.fastestCommand}`);
|
|
31943
31958
|
lines.push(` Slowest Command: /${stats.slowestCommand}`);
|
|
31944
31959
|
lines.push("");
|
|
31945
|
-
lines.push(
|
|
31960
|
+
lines.push(chalk27__default.default.bold("\u{1F4CB} By Category:"));
|
|
31946
31961
|
for (const category of categories2) {
|
|
31947
31962
|
const avgTime = Math.round(
|
|
31948
31963
|
category.commands.reduce((sum, cmd) => sum + cmd.contract.maxResponseTime, 0) / category.commands.length
|
|
@@ -31950,7 +31965,7 @@ var init_HelpCommand = __esm({
|
|
|
31950
31965
|
lines.push(` ${category.emoji} ${category.name.padEnd(15)}: ${category.count.toString().padStart(2)} commands (${avgTime}ms avg)`);
|
|
31951
31966
|
}
|
|
31952
31967
|
lines.push("");
|
|
31953
|
-
lines.push(
|
|
31968
|
+
lines.push(chalk27__default.default.bold("\u2705 Contract Validation:"));
|
|
31954
31969
|
lines.push(" All commands tested for:");
|
|
31955
31970
|
lines.push(" \u2022 Basic execution without crashes");
|
|
31956
31971
|
lines.push(" \u2022 TTY/non-TTY/pipe compatibility");
|
|
@@ -31991,6 +32006,7 @@ var init_VersionCommand = __esm({
|
|
|
31991
32006
|
init_base_command();
|
|
31992
32007
|
init_telemetry_helper();
|
|
31993
32008
|
init_subscription_manager();
|
|
32009
|
+
init_version();
|
|
31994
32010
|
VersionCommand = class extends BaseCommand {
|
|
31995
32011
|
name = "version";
|
|
31996
32012
|
category = "core";
|
|
@@ -32007,21 +32023,12 @@ var init_VersionCommand = __esm({
|
|
|
32007
32023
|
async execute(args2, context2) {
|
|
32008
32024
|
const startTime = Date.now();
|
|
32009
32025
|
try {
|
|
32010
|
-
const
|
|
32011
|
-
const packageContent = await fsp__namespace.readFile(packagePath, "utf-8");
|
|
32012
|
-
const packageData = JSON.parse(packageContent);
|
|
32013
|
-
const version = packageData.version || "0.0.0";
|
|
32014
|
-
let gitSha = "unknown";
|
|
32015
|
-
try {
|
|
32016
|
-
gitSha = child_process.execSync("git rev-parse --short HEAD", { encoding: "utf-8" }).trim();
|
|
32017
|
-
} catch {
|
|
32018
|
-
gitSha = "release";
|
|
32019
|
-
}
|
|
32026
|
+
const version = getVersion();
|
|
32020
32027
|
let apiBuild = "";
|
|
32021
32028
|
if (context2.apiVersion) {
|
|
32022
32029
|
apiBuild = ` \xB7 API: ${context2.apiVersion}`;
|
|
32023
32030
|
}
|
|
32024
|
-
const output3 = `${
|
|
32031
|
+
const output3 = `${chalk27__default.default.bold("MARIA")} v${version}${apiBuild} \xB7 Node: ${process.version}`;
|
|
32025
32032
|
await trackCommand({
|
|
32026
32033
|
cmd: "version",
|
|
32027
32034
|
status: "success",
|
|
@@ -32038,7 +32045,7 @@ var init_VersionCommand = __esm({
|
|
|
32038
32045
|
plan: getUserPlan(),
|
|
32039
32046
|
quotaLeft: context2.quotaLeft || 999
|
|
32040
32047
|
});
|
|
32041
|
-
return this.success(`${
|
|
32048
|
+
return this.success(`${chalk27__default.default.bold("MARIA")} v${getVersion()}`);
|
|
32042
32049
|
}
|
|
32043
32050
|
}
|
|
32044
32051
|
};
|
|
@@ -36122,9 +36129,9 @@ var init_SafetyGuard = __esm({
|
|
|
36122
36129
|
}
|
|
36123
36130
|
}
|
|
36124
36131
|
if (action2.args.paths && Array.isArray(action2.args.paths)) {
|
|
36125
|
-
for (const
|
|
36126
|
-
if (!this.validatePath(
|
|
36127
|
-
violations.push(`Invalid path: ${
|
|
36132
|
+
for (const path30 of action2.args.paths) {
|
|
36133
|
+
if (!this.validatePath(path30)) {
|
|
36134
|
+
violations.push(`Invalid path: ${path30}`);
|
|
36128
36135
|
}
|
|
36129
36136
|
}
|
|
36130
36137
|
}
|
|
@@ -36180,15 +36187,15 @@ var init_SafetyGuard = __esm({
|
|
|
36180
36187
|
* Validate file path against allowed/blocked lists
|
|
36181
36188
|
*/
|
|
36182
36189
|
validatePath(filePath) {
|
|
36183
|
-
const
|
|
36184
|
-
const resolvedPath =
|
|
36190
|
+
const path30 = __require("path");
|
|
36191
|
+
const resolvedPath = path30.resolve(filePath);
|
|
36185
36192
|
for (const blockedPath of this.constraints.blockedPaths) {
|
|
36186
|
-
if (resolvedPath.startsWith(
|
|
36193
|
+
if (resolvedPath.startsWith(path30.resolve(blockedPath))) {
|
|
36187
36194
|
return false;
|
|
36188
36195
|
}
|
|
36189
36196
|
}
|
|
36190
36197
|
for (const allowedPath of this.constraints.allowedPaths) {
|
|
36191
|
-
if (resolvedPath.startsWith(
|
|
36198
|
+
if (resolvedPath.startsWith(path30.resolve(allowedPath))) {
|
|
36192
36199
|
return true;
|
|
36193
36200
|
}
|
|
36194
36201
|
}
|
|
@@ -36217,9 +36224,9 @@ var init_SafetyGuard = __esm({
|
|
|
36217
36224
|
violations.push(`Invalid path in ${action2.type}: ${action2.args.path}`);
|
|
36218
36225
|
}
|
|
36219
36226
|
if (action2.args.paths && Array.isArray(action2.args.paths)) {
|
|
36220
|
-
for (const
|
|
36221
|
-
if (!this.validatePath(
|
|
36222
|
-
violations.push(`Invalid path in ${action2.type}: ${
|
|
36227
|
+
for (const path30 of action2.args.paths) {
|
|
36228
|
+
if (!this.validatePath(path30)) {
|
|
36229
|
+
violations.push(`Invalid path in ${action2.type}: ${path30}`);
|
|
36223
36230
|
}
|
|
36224
36231
|
}
|
|
36225
36232
|
}
|
|
@@ -37188,8 +37195,8 @@ var init_ConfigActionExecutor = __esm({
|
|
|
37188
37195
|
/**
|
|
37189
37196
|
* Set nested configuration value using dot notation
|
|
37190
37197
|
*/
|
|
37191
|
-
setNestedValue(obj,
|
|
37192
|
-
const keys =
|
|
37198
|
+
setNestedValue(obj, path30, value) {
|
|
37199
|
+
const keys = path30.split(".");
|
|
37193
37200
|
let current = obj;
|
|
37194
37201
|
for (let i2 = 0; i2 < keys.length - 1; i2++) {
|
|
37195
37202
|
const key2 = keys[i2];
|
|
@@ -39069,7 +39076,7 @@ var init_escape = __esm({
|
|
|
39069
39076
|
});
|
|
39070
39077
|
|
|
39071
39078
|
// node_modules/.pnpm/minimatch@9.0.5/node_modules/minimatch/dist/esm/index.js
|
|
39072
|
-
var import_brace_expansion, minimatch, starDotExtRE, starDotExtTest, starDotExtTestDot, starDotExtTestNocase, starDotExtTestNocaseDot, starDotStarRE, starDotStarTest, starDotStarTestDot, dotStarRE, dotStarTest, starRE, starTest, starTestDot, qmarksRE, qmarksTestNocase, qmarksTestNocaseDot, qmarksTestDot, qmarksTest, qmarksTestNoExt, qmarksTestNoExtDot, defaultPlatform,
|
|
39079
|
+
var import_brace_expansion, minimatch, starDotExtRE, starDotExtTest, starDotExtTestDot, starDotExtTestNocase, starDotExtTestNocaseDot, starDotStarRE, starDotStarTest, starDotStarTestDot, dotStarRE, dotStarTest, starRE, starTest, starTestDot, qmarksRE, qmarksTestNocase, qmarksTestNocaseDot, qmarksTestDot, qmarksTest, qmarksTestNoExt, qmarksTestNoExtDot, defaultPlatform, path21, sep, GLOBSTAR, qmark2, star2, twoStarDot, twoStarNoDot, filter, ext, defaults, braceExpand, makeRe, match, globMagic, regExpEscape2, Minimatch;
|
|
39073
39080
|
var init_esm = __esm({
|
|
39074
39081
|
"node_modules/.pnpm/minimatch@9.0.5/node_modules/minimatch/dist/esm/index.js"() {
|
|
39075
39082
|
import_brace_expansion = __toESM(require_brace_expansion());
|
|
@@ -39138,11 +39145,11 @@ var init_esm = __esm({
|
|
|
39138
39145
|
return (f3) => f3.length === len && f3 !== "." && f3 !== "..";
|
|
39139
39146
|
};
|
|
39140
39147
|
defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
|
|
39141
|
-
|
|
39148
|
+
path21 = {
|
|
39142
39149
|
win32: { sep: "\\" },
|
|
39143
39150
|
posix: { sep: "/" }
|
|
39144
39151
|
};
|
|
39145
|
-
sep = defaultPlatform === "win32" ?
|
|
39152
|
+
sep = defaultPlatform === "win32" ? path21.win32.sep : path21.posix.sep;
|
|
39146
39153
|
minimatch.sep = sep;
|
|
39147
39154
|
GLOBSTAR = Symbol("globstar **");
|
|
39148
39155
|
minimatch.GLOBSTAR = GLOBSTAR;
|
|
@@ -42316,12 +42323,12 @@ var init_esm4 = __esm({
|
|
|
42316
42323
|
/**
|
|
42317
42324
|
* Get the Path object referenced by the string path, resolved from this Path
|
|
42318
42325
|
*/
|
|
42319
|
-
resolve(
|
|
42320
|
-
if (!
|
|
42326
|
+
resolve(path30) {
|
|
42327
|
+
if (!path30) {
|
|
42321
42328
|
return this;
|
|
42322
42329
|
}
|
|
42323
|
-
const rootPath = this.getRootString(
|
|
42324
|
-
const dir =
|
|
42330
|
+
const rootPath = this.getRootString(path30);
|
|
42331
|
+
const dir = path30.substring(rootPath.length);
|
|
42325
42332
|
const dirParts = dir.split(this.splitSep);
|
|
42326
42333
|
const result2 = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
|
|
42327
42334
|
return result2;
|
|
@@ -43073,8 +43080,8 @@ var init_esm4 = __esm({
|
|
|
43073
43080
|
/**
|
|
43074
43081
|
* @internal
|
|
43075
43082
|
*/
|
|
43076
|
-
getRootString(
|
|
43077
|
-
return path10.win32.parse(
|
|
43083
|
+
getRootString(path30) {
|
|
43084
|
+
return path10.win32.parse(path30).root;
|
|
43078
43085
|
}
|
|
43079
43086
|
/**
|
|
43080
43087
|
* @internal
|
|
@@ -43120,8 +43127,8 @@ var init_esm4 = __esm({
|
|
|
43120
43127
|
/**
|
|
43121
43128
|
* @internal
|
|
43122
43129
|
*/
|
|
43123
|
-
getRootString(
|
|
43124
|
-
return
|
|
43130
|
+
getRootString(path30) {
|
|
43131
|
+
return path30.startsWith("/") ? "/" : "";
|
|
43125
43132
|
}
|
|
43126
43133
|
/**
|
|
43127
43134
|
* @internal
|
|
@@ -43170,8 +43177,8 @@ var init_esm4 = __esm({
|
|
|
43170
43177
|
*
|
|
43171
43178
|
* @internal
|
|
43172
43179
|
*/
|
|
43173
|
-
constructor(cwd2 = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs:
|
|
43174
|
-
this.#fs = fsFromOption(
|
|
43180
|
+
constructor(cwd2 = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs25 = defaultFS } = {}) {
|
|
43181
|
+
this.#fs = fsFromOption(fs25);
|
|
43175
43182
|
if (cwd2 instanceof URL || cwd2.startsWith("file://")) {
|
|
43176
43183
|
cwd2 = url2.fileURLToPath(cwd2);
|
|
43177
43184
|
}
|
|
@@ -43210,11 +43217,11 @@ var init_esm4 = __esm({
|
|
|
43210
43217
|
/**
|
|
43211
43218
|
* Get the depth of a provided path, string, or the cwd
|
|
43212
43219
|
*/
|
|
43213
|
-
depth(
|
|
43214
|
-
if (typeof
|
|
43215
|
-
|
|
43220
|
+
depth(path30 = this.cwd) {
|
|
43221
|
+
if (typeof path30 === "string") {
|
|
43222
|
+
path30 = this.cwd.resolve(path30);
|
|
43216
43223
|
}
|
|
43217
|
-
return
|
|
43224
|
+
return path30.depth();
|
|
43218
43225
|
}
|
|
43219
43226
|
/**
|
|
43220
43227
|
* Return the cache of child entries. Exposed so subclasses can create
|
|
@@ -43701,9 +43708,9 @@ var init_esm4 = __esm({
|
|
|
43701
43708
|
process10();
|
|
43702
43709
|
return results;
|
|
43703
43710
|
}
|
|
43704
|
-
chdir(
|
|
43711
|
+
chdir(path30 = this.cwd) {
|
|
43705
43712
|
const oldCwd = this.cwd;
|
|
43706
|
-
this.cwd = typeof
|
|
43713
|
+
this.cwd = typeof path30 === "string" ? this.cwd.resolve(path30) : path30;
|
|
43707
43714
|
this.cwd[setAsCwd](oldCwd);
|
|
43708
43715
|
}
|
|
43709
43716
|
};
|
|
@@ -43729,8 +43736,8 @@ var init_esm4 = __esm({
|
|
|
43729
43736
|
/**
|
|
43730
43737
|
* @internal
|
|
43731
43738
|
*/
|
|
43732
|
-
newRoot(
|
|
43733
|
-
return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs:
|
|
43739
|
+
newRoot(fs25) {
|
|
43740
|
+
return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs25 });
|
|
43734
43741
|
}
|
|
43735
43742
|
/**
|
|
43736
43743
|
* Return true if the provided path string is an absolute path
|
|
@@ -43758,8 +43765,8 @@ var init_esm4 = __esm({
|
|
|
43758
43765
|
/**
|
|
43759
43766
|
* @internal
|
|
43760
43767
|
*/
|
|
43761
|
-
newRoot(
|
|
43762
|
-
return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs:
|
|
43768
|
+
newRoot(fs25) {
|
|
43769
|
+
return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs25 });
|
|
43763
43770
|
}
|
|
43764
43771
|
/**
|
|
43765
43772
|
* Return true if the provided path string is an absolute path
|
|
@@ -44078,8 +44085,8 @@ var init_processor = __esm({
|
|
|
44078
44085
|
}
|
|
44079
44086
|
// match, absolute, ifdir
|
|
44080
44087
|
entries() {
|
|
44081
|
-
return [...this.store.entries()].map(([
|
|
44082
|
-
|
|
44088
|
+
return [...this.store.entries()].map(([path30, n]) => [
|
|
44089
|
+
path30,
|
|
44083
44090
|
!!(n & 2),
|
|
44084
44091
|
!!(n & 1)
|
|
44085
44092
|
]);
|
|
@@ -44292,9 +44299,9 @@ var init_walker = __esm({
|
|
|
44292
44299
|
signal;
|
|
44293
44300
|
maxDepth;
|
|
44294
44301
|
includeChildMatches;
|
|
44295
|
-
constructor(patterns2,
|
|
44302
|
+
constructor(patterns2, path30, opts) {
|
|
44296
44303
|
this.patterns = patterns2;
|
|
44297
|
-
this.path =
|
|
44304
|
+
this.path = path30;
|
|
44298
44305
|
this.opts = opts;
|
|
44299
44306
|
this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
|
|
44300
44307
|
this.includeChildMatches = opts.includeChildMatches !== false;
|
|
@@ -44313,11 +44320,11 @@ var init_walker = __esm({
|
|
|
44313
44320
|
});
|
|
44314
44321
|
}
|
|
44315
44322
|
}
|
|
44316
|
-
#ignored(
|
|
44317
|
-
return this.seen.has(
|
|
44323
|
+
#ignored(path30) {
|
|
44324
|
+
return this.seen.has(path30) || !!this.#ignore?.ignored?.(path30);
|
|
44318
44325
|
}
|
|
44319
|
-
#childrenIgnored(
|
|
44320
|
-
return !!this.#ignore?.childrenIgnored?.(
|
|
44326
|
+
#childrenIgnored(path30) {
|
|
44327
|
+
return !!this.#ignore?.childrenIgnored?.(path30);
|
|
44321
44328
|
}
|
|
44322
44329
|
// backpressure mechanism
|
|
44323
44330
|
pause() {
|
|
@@ -44532,8 +44539,8 @@ var init_walker = __esm({
|
|
|
44532
44539
|
};
|
|
44533
44540
|
GlobWalker = class extends GlobUtil {
|
|
44534
44541
|
matches = /* @__PURE__ */ new Set();
|
|
44535
|
-
constructor(patterns2,
|
|
44536
|
-
super(patterns2,
|
|
44542
|
+
constructor(patterns2, path30, opts) {
|
|
44543
|
+
super(patterns2, path30, opts);
|
|
44537
44544
|
}
|
|
44538
44545
|
matchEmit(e2) {
|
|
44539
44546
|
this.matches.add(e2);
|
|
@@ -44570,8 +44577,8 @@ var init_walker = __esm({
|
|
|
44570
44577
|
};
|
|
44571
44578
|
GlobStream = class extends GlobUtil {
|
|
44572
44579
|
results;
|
|
44573
|
-
constructor(patterns2,
|
|
44574
|
-
super(patterns2,
|
|
44580
|
+
constructor(patterns2, path30, opts) {
|
|
44581
|
+
super(patterns2, path30, opts);
|
|
44575
44582
|
this.results = new Minipass({
|
|
44576
44583
|
signal: this.signal,
|
|
44577
44584
|
objectMode: true
|
|
@@ -47159,7 +47166,7 @@ var init_clear_command = __esm({
|
|
|
47159
47166
|
plan: getUserPlan(),
|
|
47160
47167
|
quotaLeft: context2.quotaLeft || 999
|
|
47161
47168
|
});
|
|
47162
|
-
const message =
|
|
47169
|
+
const message = chalk27__default.default.green("\u2705 Cleared") + chalk27__default.default.gray(" \xB7 context reset");
|
|
47163
47170
|
return this.success(withQuotaFooter(message, context2.quotaLeft));
|
|
47164
47171
|
} catch (error2) {
|
|
47165
47172
|
await trackCommand({
|
|
@@ -47170,7 +47177,7 @@ var init_clear_command = __esm({
|
|
|
47170
47177
|
quotaLeft: context2.quotaLeft || 999
|
|
47171
47178
|
});
|
|
47172
47179
|
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
47173
|
-
return this.success(
|
|
47180
|
+
return this.success(chalk27__default.default.green("\u2705 Cleared"));
|
|
47174
47181
|
}
|
|
47175
47182
|
}
|
|
47176
47183
|
};
|
|
@@ -48201,10 +48208,21 @@ var init_WhoAmICommand = __esm({
|
|
|
48201
48208
|
authenticated: false
|
|
48202
48209
|
});
|
|
48203
48210
|
}
|
|
48204
|
-
|
|
48205
|
-
|
|
48206
|
-
|
|
48207
|
-
|
|
48211
|
+
const lines = [];
|
|
48212
|
+
lines.push(chalk27__default.default.green("\u2705 Authenticated"));
|
|
48213
|
+
if (user.name) {
|
|
48214
|
+
lines.push(chalk27__default.default.white(`\u{1F464} Name: ${chalk27__default.default.cyan(user.name)}`));
|
|
48215
|
+
}
|
|
48216
|
+
if (user.email) {
|
|
48217
|
+
lines.push(chalk27__default.default.white(`\u{1F4E7} Email: ${chalk27__default.default.cyan(user.email)}`));
|
|
48218
|
+
}
|
|
48219
|
+
if (user.provider) {
|
|
48220
|
+
lines.push(chalk27__default.default.white(`\u{1F511} Provider: ${chalk27__default.default.cyan(user.provider)}`));
|
|
48221
|
+
}
|
|
48222
|
+
if (user.plan) {
|
|
48223
|
+
lines.push(chalk27__default.default.white(`\u{1F48E} Plan: ${chalk27__default.default.cyan(user.plan)}`));
|
|
48224
|
+
}
|
|
48225
|
+
return this.success(lines.join("\n"), { authenticated: true, user });
|
|
48208
48226
|
}
|
|
48209
48227
|
};
|
|
48210
48228
|
WhoAmICommand_default = WhoAmICommand;
|
|
@@ -48229,40 +48247,40 @@ var init_about_command = __esm({
|
|
|
48229
48247
|
async execute(args2, context2) {
|
|
48230
48248
|
const output3 = [];
|
|
48231
48249
|
output3.push("");
|
|
48232
|
-
output3.push(
|
|
48233
|
-
output3.push(
|
|
48250
|
+
output3.push(chalk27__default.default.cyan.bold("\u{1F916} About MARIA v4.2.24"));
|
|
48251
|
+
output3.push(chalk27__default.default.gray("\u2550".repeat(40)));
|
|
48234
48252
|
output3.push("");
|
|
48235
|
-
output3.push(
|
|
48253
|
+
output3.push(chalk27__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|
|
48236
48254
|
output3.push("");
|
|
48237
|
-
output3.push(
|
|
48255
|
+
output3.push(chalk27__default.default.white("\u{1F3AF} Revolutionary AI Development Platform:"));
|
|
48238
48256
|
output3.push(" \u2022 Natural Language Code Operations");
|
|
48239
48257
|
output3.push(" \u2022 Graph RAG Knowledge System");
|
|
48240
48258
|
output3.push(" \u2022 Dual Memory Architecture");
|
|
48241
48259
|
output3.push(" \u2022 Enterprise-Grade Security");
|
|
48242
48260
|
output3.push(" \u2022 Multimodal AI Generation");
|
|
48243
48261
|
output3.push("");
|
|
48244
|
-
output3.push(
|
|
48262
|
+
output3.push(chalk27__default.default.white("\u{1F31F} Key Features:"));
|
|
48245
48263
|
output3.push(" \u2022 /code - Natural language coding");
|
|
48246
48264
|
output3.push(" \u2022 68+ Slash Commands");
|
|
48247
48265
|
output3.push(" \u2022 8 AI Provider Support");
|
|
48248
48266
|
output3.push(" \u2022 Business Operations Suite");
|
|
48249
48267
|
output3.push(" \u2022 Real-time Streaming");
|
|
48250
48268
|
output3.push("");
|
|
48251
|
-
output3.push(
|
|
48269
|
+
output3.push(chalk27__default.default.white("\u{1F468}\u200D\u{1F4BB} Created by:"));
|
|
48252
48270
|
output3.push(" \u2022 Bonginkan Team");
|
|
48253
48271
|
output3.push(" \u2022 Enterprise AI Solutions");
|
|
48254
48272
|
output3.push("");
|
|
48255
|
-
output3.push(
|
|
48256
|
-
output3.push(
|
|
48257
|
-
output3.push(
|
|
48258
|
-
output3.push(
|
|
48259
|
-
output3.push(
|
|
48260
|
-
output3.push(
|
|
48273
|
+
output3.push(chalk27__default.default.white("\u{1F517} Links:"));
|
|
48274
|
+
output3.push(chalk27__default.default.blue(" Website: https://maria-code.ai"));
|
|
48275
|
+
output3.push(chalk27__default.default.blue(" Company: https://bonginkan.ai"));
|
|
48276
|
+
output3.push(chalk27__default.default.blue(" Discord: https://discord.gg/SMSmSGcEQy"));
|
|
48277
|
+
output3.push(chalk27__default.default.blue(" GitHub: https://github.com/bonginkan/maria"));
|
|
48278
|
+
output3.push(chalk27__default.default.blue(" NPM: https://www.npmjs.com/package/@bonginkan/maria"));
|
|
48261
48279
|
output3.push("");
|
|
48262
|
-
output3.push(
|
|
48263
|
-
output3.push(
|
|
48280
|
+
output3.push(chalk27__default.default.white("\u{1F4C4} License: MIT"));
|
|
48281
|
+
output3.push(chalk27__default.default.white("\u{1F3D7}\uFE0F Built with: TypeScript, Node.js, React"));
|
|
48264
48282
|
output3.push("");
|
|
48265
|
-
output3.push(
|
|
48283
|
+
output3.push(chalk27__default.default.green("Thank you for using MARIA! \u{1F680}"));
|
|
48266
48284
|
output3.push("");
|
|
48267
48285
|
return {
|
|
48268
48286
|
success: true,
|
|
@@ -50281,8 +50299,8 @@ var init_ConfigCLI = __esm({
|
|
|
50281
50299
|
// Default to interactive
|
|
50282
50300
|
});
|
|
50283
50301
|
if (options2.verbose) {
|
|
50284
|
-
console.log(
|
|
50285
|
-
console.log(
|
|
50302
|
+
console.log(chalk27__default.default.gray(`Executing: ${operation} ${args2.join(" ")}`));
|
|
50303
|
+
console.log(chalk27__default.default.gray(`Options: ${JSON.stringify(options2, null, 2)}`));
|
|
50286
50304
|
}
|
|
50287
50305
|
const result2 = await command.execute();
|
|
50288
50306
|
if (result2.endReason === "success") {
|
|
@@ -50308,10 +50326,10 @@ var init_ConfigCLI = __esm({
|
|
|
50308
50326
|
await this.displayPreview(data2.preview);
|
|
50309
50327
|
if (data2.dryRun) {
|
|
50310
50328
|
console.log(
|
|
50311
|
-
|
|
50329
|
+
chalk27__default.default.blue("\n\u{1F4CB} This was a dry run - no changes were applied.")
|
|
50312
50330
|
);
|
|
50313
50331
|
console.log(
|
|
50314
|
-
|
|
50332
|
+
chalk27__default.default.gray(
|
|
50315
50333
|
"To apply changes, run the same command without --dry-run"
|
|
50316
50334
|
)
|
|
50317
50335
|
);
|
|
@@ -50319,30 +50337,30 @@ var init_ConfigCLI = __esm({
|
|
|
50319
50337
|
}
|
|
50320
50338
|
}
|
|
50321
50339
|
if (data2.message) {
|
|
50322
|
-
console.log(
|
|
50340
|
+
console.log(chalk27__default.default.green(data2.message));
|
|
50323
50341
|
}
|
|
50324
50342
|
if (data2.key && data2.value !== void 0) {
|
|
50325
|
-
console.log(
|
|
50343
|
+
console.log(chalk27__default.default.green(`\u2705 Configuration updated:`));
|
|
50326
50344
|
console.log(
|
|
50327
|
-
` ${
|
|
50345
|
+
` ${chalk27__default.default.bold(data2.key)}: ${chalk27__default.default.cyan(this.formatValue(data2.value))}`
|
|
50328
50346
|
);
|
|
50329
50347
|
if (data2.layer) {
|
|
50330
|
-
console.log(` Layer: ${
|
|
50348
|
+
console.log(` Layer: ${chalk27__default.default.magenta(data2.layer)}`);
|
|
50331
50349
|
}
|
|
50332
50350
|
}
|
|
50333
50351
|
if (data2.deleted) {
|
|
50334
50352
|
console.log(
|
|
50335
|
-
|
|
50353
|
+
chalk27__default.default.green(`\u2705 Configuration deleted: ${chalk27__default.default.bold(data2.key)}`)
|
|
50336
50354
|
);
|
|
50337
50355
|
}
|
|
50338
50356
|
if (data2.templateId) {
|
|
50339
50357
|
console.log(
|
|
50340
|
-
|
|
50358
|
+
chalk27__default.default.green(`\u2705 Template applied: ${chalk27__default.default.bold(data2.templateId)}`)
|
|
50341
50359
|
);
|
|
50342
50360
|
}
|
|
50343
50361
|
if (data2.rolledBack) {
|
|
50344
50362
|
console.log(
|
|
50345
|
-
|
|
50363
|
+
chalk27__default.default.green(`\u2705 Rolled back to entry: ${chalk27__default.default.bold(data2.entryId)}`)
|
|
50346
50364
|
);
|
|
50347
50365
|
}
|
|
50348
50366
|
if (data2.layers) {
|
|
@@ -50357,62 +50375,62 @@ var init_ConfigCLI = __esm({
|
|
|
50357
50375
|
console.log(JSON.stringify({ error: error2 }, null, 2));
|
|
50358
50376
|
return;
|
|
50359
50377
|
}
|
|
50360
|
-
console.error(
|
|
50378
|
+
console.error(chalk27__default.default.red(`\u274C Error: ${error2}`));
|
|
50361
50379
|
if (error2.includes("not found")) {
|
|
50362
50380
|
console.log(
|
|
50363
|
-
|
|
50381
|
+
chalk27__default.default.gray("\nTry: /config list # to see available configurations")
|
|
50364
50382
|
);
|
|
50365
50383
|
}
|
|
50366
50384
|
if (error2.includes("required")) {
|
|
50367
|
-
console.log(
|
|
50385
|
+
console.log(chalk27__default.default.gray("\nTry: /config help # to see command syntax"));
|
|
50368
50386
|
}
|
|
50369
50387
|
}
|
|
50370
50388
|
async displayPreview(preview) {
|
|
50371
|
-
console.log(
|
|
50372
|
-
console.log(`${
|
|
50389
|
+
console.log(chalk27__default.default.bold.cyan("\n\u{1F50D} Configuration Preview\n"));
|
|
50390
|
+
console.log(`${chalk27__default.default.bold("Operation:")} ${chalk27__default.default.cyan(preview.operation)}`);
|
|
50373
50391
|
if (preview.key) {
|
|
50374
|
-
console.log(`${
|
|
50392
|
+
console.log(`${chalk27__default.default.bold("Key:")} ${chalk27__default.default.yellow(preview.key)}`);
|
|
50375
50393
|
}
|
|
50376
50394
|
if (preview.value !== void 0) {
|
|
50377
50395
|
console.log(
|
|
50378
|
-
`${
|
|
50396
|
+
`${chalk27__default.default.bold("Value:")} ${chalk27__default.default.green(this.formatValue(preview.value))}`
|
|
50379
50397
|
);
|
|
50380
50398
|
}
|
|
50381
50399
|
if (preview.changes.length > 0) {
|
|
50382
|
-
console.log(
|
|
50400
|
+
console.log(chalk27__default.default.bold("\n\u{1F4DD} Changes:"));
|
|
50383
50401
|
for (const change of preview.changes) {
|
|
50384
50402
|
this.displayChange(change);
|
|
50385
50403
|
}
|
|
50386
50404
|
}
|
|
50387
50405
|
if (preview.affected.length > 0) {
|
|
50388
|
-
console.log(
|
|
50406
|
+
console.log(chalk27__default.default.bold("\n\u{1F517} Affected Configurations:"));
|
|
50389
50407
|
for (const affected of preview.affected) {
|
|
50390
50408
|
this.displayAffectedConfig(affected);
|
|
50391
50409
|
}
|
|
50392
50410
|
}
|
|
50393
50411
|
if (preview.risks.length > 0) {
|
|
50394
|
-
console.log(
|
|
50412
|
+
console.log(chalk27__default.default.bold("\n\u26A0\uFE0F Safety Analysis:"));
|
|
50395
50413
|
for (const risk of preview.risks) {
|
|
50396
50414
|
this.displaySafetyRisk(risk);
|
|
50397
50415
|
}
|
|
50398
50416
|
}
|
|
50399
50417
|
if (!preview.validation.ok) {
|
|
50400
|
-
console.log(
|
|
50418
|
+
console.log(chalk27__default.default.bold.red("\n\u274C Validation Errors:"));
|
|
50401
50419
|
if (preview.validation.errors) {
|
|
50402
50420
|
for (const error2 of preview.validation.errors) {
|
|
50403
|
-
console.log(` \u2022 ${
|
|
50421
|
+
console.log(` \u2022 ${chalk27__default.default.red(error2)}`);
|
|
50404
50422
|
}
|
|
50405
50423
|
}
|
|
50406
50424
|
} else if (preview.validation.warnings && preview.validation.warnings.length > 0) {
|
|
50407
|
-
console.log(
|
|
50425
|
+
console.log(chalk27__default.default.bold.yellow("\n\u26A0\uFE0F Validation Warnings:"));
|
|
50408
50426
|
for (const warning of preview.validation.warnings) {
|
|
50409
|
-
console.log(` \u2022 ${
|
|
50427
|
+
console.log(` \u2022 ${chalk27__default.default.yellow(warning)}`);
|
|
50410
50428
|
}
|
|
50411
50429
|
}
|
|
50412
50430
|
if (preview.requiresConfirmation && !preview.validation.dryRun) {
|
|
50413
50431
|
const confirmed = await this.promptConfirmation();
|
|
50414
50432
|
if (!confirmed) {
|
|
50415
|
-
console.log(
|
|
50433
|
+
console.log(chalk27__default.default.yellow("\n\u274C Operation cancelled"));
|
|
50416
50434
|
process.exit(0);
|
|
50417
50435
|
}
|
|
50418
50436
|
}
|
|
@@ -50424,42 +50442,42 @@ var init_ConfigCLI = __esm({
|
|
|
50424
50442
|
delete: "\u{1F5D1}\uFE0F"
|
|
50425
50443
|
};
|
|
50426
50444
|
const typeColor = {
|
|
50427
|
-
add:
|
|
50428
|
-
modify:
|
|
50429
|
-
delete:
|
|
50445
|
+
add: chalk27__default.default.green,
|
|
50446
|
+
modify: chalk27__default.default.yellow,
|
|
50447
|
+
delete: chalk27__default.default.red
|
|
50430
50448
|
};
|
|
50431
50449
|
console.log(
|
|
50432
|
-
` ${typeIcon[change.type]} ${typeColor[change.type](change.type.toUpperCase())}: ${
|
|
50450
|
+
` ${typeIcon[change.type]} ${typeColor[change.type](change.type.toUpperCase())}: ${chalk27__default.default.bold(change.key)}`
|
|
50433
50451
|
);
|
|
50434
50452
|
if (change.oldValue !== void 0) {
|
|
50435
50453
|
console.log(
|
|
50436
|
-
` ${
|
|
50454
|
+
` ${chalk27__default.default.gray("Old:")} ${chalk27__default.default.gray(this.formatValue(change.oldValue))}`
|
|
50437
50455
|
);
|
|
50438
50456
|
}
|
|
50439
50457
|
if (change.newValue !== void 0) {
|
|
50440
50458
|
console.log(
|
|
50441
|
-
` ${
|
|
50459
|
+
` ${chalk27__default.default.gray("New:")} ${chalk27__default.default.cyan(this.formatValue(change.newValue))}`
|
|
50442
50460
|
);
|
|
50443
50461
|
}
|
|
50444
|
-
console.log(` ${
|
|
50445
|
-
console.log(` ${
|
|
50462
|
+
console.log(` ${chalk27__default.default.gray("Layer:")} ${chalk27__default.default.magenta(change.layer)}`);
|
|
50463
|
+
console.log(` ${chalk27__default.default.gray(change.description)}`);
|
|
50446
50464
|
console.log();
|
|
50447
50465
|
}
|
|
50448
50466
|
displayAffectedConfig(affected) {
|
|
50449
50467
|
const impactColor = {
|
|
50450
|
-
low:
|
|
50451
|
-
medium:
|
|
50452
|
-
high:
|
|
50453
|
-
critical:
|
|
50468
|
+
low: chalk27__default.default.gray,
|
|
50469
|
+
medium: chalk27__default.default.yellow,
|
|
50470
|
+
high: chalk27__default.default.red,
|
|
50471
|
+
critical: chalk27__default.default.red.bold
|
|
50454
50472
|
};
|
|
50455
50473
|
console.log(
|
|
50456
|
-
` \u2022 ${
|
|
50474
|
+
` \u2022 ${chalk27__default.default.bold(affected.key)} (${chalk27__default.default.magenta(affected.layer)})`
|
|
50457
50475
|
);
|
|
50458
50476
|
console.log(
|
|
50459
50477
|
` Impact: ${impactColor[affected.impact](affected.impact.toUpperCase())}`
|
|
50460
50478
|
);
|
|
50461
|
-
console.log(` Relationship: ${
|
|
50462
|
-
console.log(` ${
|
|
50479
|
+
console.log(` Relationship: ${chalk27__default.default.cyan(affected.relationship)}`);
|
|
50480
|
+
console.log(` ${chalk27__default.default.gray(affected.description)}`);
|
|
50463
50481
|
console.log();
|
|
50464
50482
|
}
|
|
50465
50483
|
displaySafetyRisk(risk) {
|
|
@@ -50470,78 +50488,78 @@ var init_ConfigCLI = __esm({
|
|
|
50470
50488
|
critical: "\u{1F6A8}"
|
|
50471
50489
|
};
|
|
50472
50490
|
const levelColor = {
|
|
50473
|
-
info:
|
|
50474
|
-
warning:
|
|
50475
|
-
error:
|
|
50476
|
-
critical:
|
|
50491
|
+
info: chalk27__default.default.blue,
|
|
50492
|
+
warning: chalk27__default.default.yellow,
|
|
50493
|
+
error: chalk27__default.default.red,
|
|
50494
|
+
critical: chalk27__default.default.red.bold
|
|
50477
50495
|
};
|
|
50478
50496
|
console.log(
|
|
50479
50497
|
` ${levelIcon[risk.level]} ${levelColor[risk.level](risk.level.toUpperCase())}: ${risk.message}`
|
|
50480
50498
|
);
|
|
50481
50499
|
if (risk.recommendation) {
|
|
50482
50500
|
console.log(
|
|
50483
|
-
` ${
|
|
50501
|
+
` ${chalk27__default.default.gray("Recommendation:")} ${risk.recommendation}`
|
|
50484
50502
|
);
|
|
50485
50503
|
}
|
|
50486
50504
|
if (risk.autoFixable) {
|
|
50487
|
-
console.log(` ${
|
|
50505
|
+
console.log(` ${chalk27__default.default.green("Auto-fixable: Yes")}`);
|
|
50488
50506
|
}
|
|
50489
50507
|
console.log();
|
|
50490
50508
|
}
|
|
50491
50509
|
displayLayeredConfig(data2) {
|
|
50492
|
-
console.log(
|
|
50510
|
+
console.log(chalk27__default.default.bold(`
|
|
50493
50511
|
\u{1F4CB} ${data2.key} Configuration
|
|
50494
50512
|
`));
|
|
50495
50513
|
console.log(
|
|
50496
|
-
`${
|
|
50514
|
+
`${chalk27__default.default.bold("Effective Value:")} ${chalk27__default.default.cyan(this.formatValue(data2.value))}`
|
|
50497
50515
|
);
|
|
50498
|
-
console.log(`${
|
|
50516
|
+
console.log(`${chalk27__default.default.bold("Source Layer:")} ${chalk27__default.default.magenta(data2.source)}`);
|
|
50499
50517
|
console.log(
|
|
50500
|
-
`${
|
|
50518
|
+
`${chalk27__default.default.bold("Merged:")} ${data2.merged ? chalk27__default.default.yellow("Yes") : chalk27__default.default.gray("No")}`
|
|
50501
50519
|
);
|
|
50502
50520
|
if (data2.layers) {
|
|
50503
|
-
console.log(
|
|
50521
|
+
console.log(chalk27__default.default.bold("\nLayer Values:"));
|
|
50504
50522
|
const layers = ["runtime", "project", "user", "global"];
|
|
50505
50523
|
for (const layer of layers) {
|
|
50506
50524
|
const value = data2.layers[layer];
|
|
50507
50525
|
if (value !== void 0) {
|
|
50508
50526
|
const isActive = layer === data2.source;
|
|
50509
|
-
const layerDisplay = isActive ?
|
|
50527
|
+
const layerDisplay = isActive ? chalk27__default.default.bold.magenta(`${layer} (active)`) : chalk27__default.default.gray(layer);
|
|
50510
50528
|
console.log(
|
|
50511
|
-
` ${layerDisplay}: ${
|
|
50529
|
+
` ${layerDisplay}: ${chalk27__default.default.cyan(this.formatValue(value))}`
|
|
50512
50530
|
);
|
|
50513
50531
|
}
|
|
50514
50532
|
}
|
|
50515
50533
|
}
|
|
50516
50534
|
}
|
|
50517
50535
|
displayConfigList(configs) {
|
|
50518
|
-
console.log(
|
|
50536
|
+
console.log(chalk27__default.default.bold("\n\u2699\uFE0F Configuration Settings\n"));
|
|
50519
50537
|
if (Object.keys(configs).length === 0) {
|
|
50520
|
-
console.log(
|
|
50538
|
+
console.log(chalk27__default.default.gray("No configurations found."));
|
|
50521
50539
|
return;
|
|
50522
50540
|
}
|
|
50523
50541
|
const categorized = this.categorizeConfigs(configs);
|
|
50524
50542
|
for (const [category, items] of Object.entries(categorized)) {
|
|
50525
50543
|
if (Object.keys(items).length === 0) continue;
|
|
50526
50544
|
console.log(
|
|
50527
|
-
|
|
50545
|
+
chalk27__default.default.bold.cyan(`${this.getCategoryIcon(category)} ${category}`)
|
|
50528
50546
|
);
|
|
50529
|
-
console.log(
|
|
50547
|
+
console.log(chalk27__default.default.gray("\u2500".repeat(category.length + 4)));
|
|
50530
50548
|
for (const [key2, value] of Object.entries(items)) {
|
|
50531
50549
|
console.log(
|
|
50532
|
-
` ${
|
|
50550
|
+
` ${chalk27__default.default.bold(key2)}: ${chalk27__default.default.cyan(this.formatValue(value))}`
|
|
50533
50551
|
);
|
|
50534
50552
|
}
|
|
50535
50553
|
console.log();
|
|
50536
50554
|
}
|
|
50537
50555
|
console.log(
|
|
50538
|
-
|
|
50556
|
+
chalk27__default.default.gray(`Total: ${Object.keys(configs).length} configuration(s)`)
|
|
50539
50557
|
);
|
|
50540
50558
|
}
|
|
50541
50559
|
async promptConfirmation() {
|
|
50542
50560
|
return new Promise((resolve8) => {
|
|
50543
50561
|
this.rl.question(
|
|
50544
|
-
|
|
50562
|
+
chalk27__default.default.bold("\nDo you want to proceed? [y/N]: "),
|
|
50545
50563
|
(answer) => {
|
|
50546
50564
|
resolve8(["y", "yes", "Y", "YES"].includes(answer.trim()));
|
|
50547
50565
|
}
|
|
@@ -50550,20 +50568,20 @@ var init_ConfigCLI = __esm({
|
|
|
50550
50568
|
}
|
|
50551
50569
|
formatValue(value) {
|
|
50552
50570
|
if (value === null || value === void 0) {
|
|
50553
|
-
return
|
|
50571
|
+
return chalk27__default.default.gray("null");
|
|
50554
50572
|
}
|
|
50555
50573
|
if (typeof value === "string") {
|
|
50556
50574
|
const isSensitive = this.isSensitiveValue(value);
|
|
50557
50575
|
if (isSensitive) {
|
|
50558
|
-
return
|
|
50576
|
+
return chalk27__default.default.gray("********");
|
|
50559
50577
|
}
|
|
50560
50578
|
return `"${value}"`;
|
|
50561
50579
|
}
|
|
50562
50580
|
if (typeof value === "boolean") {
|
|
50563
|
-
return value ?
|
|
50581
|
+
return value ? chalk27__default.default.green("true") : chalk27__default.default.red("false");
|
|
50564
50582
|
}
|
|
50565
50583
|
if (typeof value === "number") {
|
|
50566
|
-
return
|
|
50584
|
+
return chalk27__default.default.blue(value.toString());
|
|
50567
50585
|
}
|
|
50568
50586
|
if (Array.isArray(value)) {
|
|
50569
50587
|
return `[${value.map((v) => this.formatValue(v)).join(", ")}]`;
|
|
@@ -51392,8 +51410,8 @@ var init_api_caller = __esm({
|
|
|
51392
51410
|
});
|
|
51393
51411
|
function handleRateLimitError(error2) {
|
|
51394
51412
|
console.log();
|
|
51395
|
-
console.log(
|
|
51396
|
-
console.log(
|
|
51413
|
+
console.log(chalk27__default.default.yellow("\u23F1\uFE0F Rate Limit Exceeded"));
|
|
51414
|
+
console.log(chalk27__default.default.gray("\u2501".repeat(50)));
|
|
51397
51415
|
const route = error2.route || error2.details?.endpoint || "API";
|
|
51398
51416
|
const plan = error2.plan || error2.details?.plan || "Unknown";
|
|
51399
51417
|
const limit = error2.limit || (error2.details?.limit ? parseInt(error2.details.limit) : null);
|
|
@@ -51411,24 +51429,24 @@ function handleRateLimitError(error2) {
|
|
|
51411
51429
|
resetTime = `at ${resetDate.toLocaleTimeString()}`;
|
|
51412
51430
|
}
|
|
51413
51431
|
}
|
|
51414
|
-
console.log(
|
|
51415
|
-
console.log(
|
|
51432
|
+
console.log(chalk27__default.default.white(`Plan: ${chalk27__default.default.bold(plan)}`));
|
|
51433
|
+
console.log(chalk27__default.default.white(`Endpoint: ${chalk27__default.default.bold(route)}`));
|
|
51416
51434
|
if (limit !== null) {
|
|
51417
|
-
console.log(
|
|
51435
|
+
console.log(chalk27__default.default.white(`Limit: ${chalk27__default.default.bold(limit)} requests`));
|
|
51418
51436
|
}
|
|
51419
51437
|
if (error2.remaining !== void 0) {
|
|
51420
|
-
console.log(
|
|
51438
|
+
console.log(chalk27__default.default.white(`Remaining: ${chalk27__default.default.bold(error2.remaining)} requests`));
|
|
51421
51439
|
}
|
|
51422
51440
|
console.log();
|
|
51423
|
-
console.log(
|
|
51441
|
+
console.log(chalk27__default.default.cyan(`Please wait ${chalk27__default.default.bold(waitTime)} before trying again`));
|
|
51424
51442
|
if (resetTime) {
|
|
51425
|
-
console.log(
|
|
51443
|
+
console.log(chalk27__default.default.gray(`Rate limit resets ${resetTime}`));
|
|
51426
51444
|
}
|
|
51427
51445
|
if (error2.hint) {
|
|
51428
51446
|
console.log();
|
|
51429
|
-
console.log(
|
|
51447
|
+
console.log(chalk27__default.default.magenta("\u{1F4A1} " + error2.hint));
|
|
51430
51448
|
}
|
|
51431
|
-
console.log(
|
|
51449
|
+
console.log(chalk27__default.default.gray("\u2501".repeat(50)));
|
|
51432
51450
|
console.log();
|
|
51433
51451
|
}
|
|
51434
51452
|
async function parseRateLimitResponse(response2) {
|
|
@@ -54753,13 +54771,13 @@ async function checkShield(commandName, userPlan = "free") {
|
|
|
54753
54771
|
}
|
|
54754
54772
|
async function loadManifest() {
|
|
54755
54773
|
try {
|
|
54756
|
-
const
|
|
54757
|
-
const
|
|
54758
|
-
const manifestPath =
|
|
54774
|
+
const fs25 = await import('fs');
|
|
54775
|
+
const path30 = await import('path');
|
|
54776
|
+
const manifestPath = path30.join(
|
|
54759
54777
|
__dirname,
|
|
54760
54778
|
"../command-manifest-v2.1.json"
|
|
54761
54779
|
);
|
|
54762
|
-
const content2 =
|
|
54780
|
+
const content2 = fs25.readFileSync(manifestPath, "utf-8");
|
|
54763
54781
|
return JSON.parse(content2);
|
|
54764
54782
|
} catch {
|
|
54765
54783
|
return { commands: [] };
|
|
@@ -56339,7 +56357,7 @@ var init_model_selector_ui = __esm({
|
|
|
56339
56357
|
output: process.stdout,
|
|
56340
56358
|
terminal: true
|
|
56341
56359
|
});
|
|
56342
|
-
console.log(
|
|
56360
|
+
console.log(chalk27__default.default.green(
|
|
56343
56361
|
"\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"
|
|
56344
56362
|
));
|
|
56345
56363
|
process.stdout.write("\x1B7");
|
|
@@ -56407,14 +56425,14 @@ var init_model_selector_ui = __esm({
|
|
|
56407
56425
|
}
|
|
56408
56426
|
renderFromSavedPosition() {
|
|
56409
56427
|
if (this.isDestroyed) return;
|
|
56410
|
-
console.log(
|
|
56411
|
-
"\u2502 " +
|
|
56428
|
+
console.log(chalk27__default.default.green(
|
|
56429
|
+
"\u2502 " + chalk27__default.default.greenBright("SELECT MODEL:") + " ".repeat(62) + "\u2502"
|
|
56412
56430
|
));
|
|
56413
56431
|
this.renderContent();
|
|
56414
56432
|
const scrollInfo = `[${this.selectedIndex + 1}/${this.models.length}]`;
|
|
56415
56433
|
const helpText = `\u2193:NEXT \u2191:PREV ENTER:EXEC ESC:ABORT ${scrollInfo}`;
|
|
56416
|
-
console.log(
|
|
56417
|
-
console.log(
|
|
56434
|
+
console.log(chalk27__default.default.green("\u2502 ") + chalk27__default.default.dim.green(helpText.padEnd(76)) + chalk27__default.default.green(" \u2502"));
|
|
56435
|
+
console.log(chalk27__default.default.green(
|
|
56418
56436
|
"\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"
|
|
56419
56437
|
));
|
|
56420
56438
|
}
|
|
@@ -56455,19 +56473,19 @@ var init_model_selector_ui = __esm({
|
|
|
56455
56473
|
const item = displayItems[i2];
|
|
56456
56474
|
if (item.type === "group") {
|
|
56457
56475
|
console.log(
|
|
56458
|
-
|
|
56476
|
+
chalk27__default.default.green("\u2502") + chalk27__default.default.dim.green(" \u2501\u2501\u2501 ") + chalk27__default.default.greenBright(item.content.substring(2, item.content.indexOf(" \u2500"))) + chalk27__default.default.dim.green(" " + "\u2501".repeat(71 - item.content.indexOf(" \u2500"))) + chalk27__default.default.green("\u2502")
|
|
56459
56477
|
);
|
|
56460
56478
|
} else {
|
|
56461
56479
|
const isSelected = item.modelIndex === this.selectedIndex;
|
|
56462
|
-
const prefix = isSelected ?
|
|
56480
|
+
const prefix = isSelected ? chalk27__default.default.greenBright("\u25B6 ") : " ";
|
|
56463
56481
|
const modelText = item.content;
|
|
56464
56482
|
if (isSelected) {
|
|
56465
56483
|
console.log(
|
|
56466
|
-
|
|
56484
|
+
chalk27__default.default.green("\u2502") + prefix + chalk27__default.default.black.bgGreen(modelText.padEnd(75)) + chalk27__default.default.green("\u2502")
|
|
56467
56485
|
);
|
|
56468
56486
|
} else {
|
|
56469
56487
|
console.log(
|
|
56470
|
-
|
|
56488
|
+
chalk27__default.default.green("\u2502") + prefix + chalk27__default.default.green(modelText.substring(0, 75).padEnd(75)) + chalk27__default.default.green("\u2502")
|
|
56471
56489
|
);
|
|
56472
56490
|
}
|
|
56473
56491
|
}
|
|
@@ -58546,8 +58564,8 @@ async function loadServices() {
|
|
|
58546
58564
|
try {
|
|
58547
58565
|
const commandName = command.startsWith("/") ? command.slice(1) : command;
|
|
58548
58566
|
if (commandName === "battlecard") {
|
|
58549
|
-
console.log(
|
|
58550
|
-
console.log(
|
|
58567
|
+
console.log(chalk27__default.default.yellow("\u{1F512} /battlecard is not available on Free plan"));
|
|
58568
|
+
console.log(chalk27__default.default.gray(" Join the waitlist for business features: https://maria-code.ai/waitlist"));
|
|
58551
58569
|
return {
|
|
58552
58570
|
success: false,
|
|
58553
58571
|
message: "Command not available on Free plan"
|
|
@@ -58608,7 +58626,7 @@ async function loadServices() {
|
|
|
58608
58626
|
commandManager.setLegacyHandler(legacyHandlerAdapter);
|
|
58609
58627
|
}
|
|
58610
58628
|
} catch (e2) {
|
|
58611
|
-
console.warn(
|
|
58629
|
+
console.warn(chalk27__default.default.yellow("\u26A0 Some services unavailable, using fallbacks"));
|
|
58612
58630
|
}
|
|
58613
58631
|
}
|
|
58614
58632
|
async function init() {
|
|
@@ -58730,17 +58748,17 @@ async function enforceAuth(cmd) {
|
|
|
58730
58748
|
try {
|
|
58731
58749
|
const tokens = await authManager.getValidTokens();
|
|
58732
58750
|
if (!tokens) {
|
|
58733
|
-
console.log(
|
|
58751
|
+
console.log(chalk27__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
58734
58752
|
return false;
|
|
58735
58753
|
}
|
|
58736
58754
|
return true;
|
|
58737
58755
|
} catch (error2) {
|
|
58738
58756
|
if (error2.code === "AUTH_REQUIRED") {
|
|
58739
|
-
console.log(
|
|
58757
|
+
console.log(chalk27__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
58740
58758
|
} else if (error2.code === "REAUTH_REQUIRED") {
|
|
58741
|
-
console.log(
|
|
58759
|
+
console.log(chalk27__default.default.yellow("\u{1F504} Please re-authenticate \xB7 Run: maria /login"));
|
|
58742
58760
|
} else {
|
|
58743
|
-
console.log(
|
|
58761
|
+
console.log(chalk27__default.default.red("\u{1F310} Network error, check connection"));
|
|
58744
58762
|
}
|
|
58745
58763
|
return false;
|
|
58746
58764
|
}
|
|
@@ -58779,7 +58797,7 @@ async function handleSlash(input3) {
|
|
|
58779
58797
|
console.log(JSON.stringify(result2.data, null, 2));
|
|
58780
58798
|
}
|
|
58781
58799
|
} else {
|
|
58782
|
-
console.log(
|
|
58800
|
+
console.log(chalk27__default.default.red(`Help Error: ${result2.message}`));
|
|
58783
58801
|
}
|
|
58784
58802
|
return true;
|
|
58785
58803
|
}
|
|
@@ -58787,7 +58805,7 @@ async function handleSlash(input3) {
|
|
|
58787
58805
|
if (process.env.MARIA_DEBUG === "1") {
|
|
58788
58806
|
console.error("HelpCommand error:", helpError);
|
|
58789
58807
|
}
|
|
58790
|
-
console.log(
|
|
58808
|
+
console.log(chalk27__default.default.yellow("\u26A0 Dynamic help unavailable, using fallback"));
|
|
58791
58809
|
}
|
|
58792
58810
|
const help = `
|
|
58793
58811
|
\u{1F4D6} MARIA CLI Help
|
|
@@ -58797,6 +58815,11 @@ Core:
|
|
|
58797
58815
|
/clear Clear conversation context
|
|
58798
58816
|
/exit Exit MARIA
|
|
58799
58817
|
|
|
58818
|
+
Auth:
|
|
58819
|
+
/login Sign in to MARIA
|
|
58820
|
+
/logout Sign out
|
|
58821
|
+
/whoami Show current authenticated user information
|
|
58822
|
+
|
|
58800
58823
|
Generation:
|
|
58801
58824
|
/code <req> Generate code (AI with template fallback)
|
|
58802
58825
|
|
|
@@ -58812,7 +58835,7 @@ Chat:
|
|
|
58812
58835
|
session.length = 0;
|
|
58813
58836
|
if (ctx?.clearContext) ctx.clearContext();
|
|
58814
58837
|
console.clear();
|
|
58815
|
-
console.log(
|
|
58838
|
+
console.log(chalk27__default.default.cyan("\u2728 Session cleared"));
|
|
58816
58839
|
return true;
|
|
58817
58840
|
}
|
|
58818
58841
|
if (cmd === "code") {
|
|
@@ -58821,7 +58844,7 @@ Chat:
|
|
|
58821
58844
|
const prompt = args2.join(" ").trim();
|
|
58822
58845
|
if (!prompt) {
|
|
58823
58846
|
console.log(
|
|
58824
|
-
|
|
58847
|
+
chalk27__default.default.red("Usage: /code <request> e.g. /code build a REST API")
|
|
58825
58848
|
);
|
|
58826
58849
|
return true;
|
|
58827
58850
|
}
|
|
@@ -58834,7 +58857,7 @@ Chat:
|
|
|
58834
58857
|
const prompt = args2.join(" ").trim();
|
|
58835
58858
|
if (!prompt) {
|
|
58836
58859
|
console.log(
|
|
58837
|
-
|
|
58860
|
+
chalk27__default.default.cyan("\u{1F3A8} **Image Generation**\n") + chalk27__default.default.white("Usage: /image <prompt>\n") + chalk27__default.default.gray("Example: /image \u5BCC\u58EB\u5C71\u306E\u65E5\u306E\u51FA")
|
|
58838
58861
|
);
|
|
58839
58862
|
return true;
|
|
58840
58863
|
}
|
|
@@ -58846,14 +58869,14 @@ Chat:
|
|
|
58846
58869
|
options: {},
|
|
58847
58870
|
logger: {
|
|
58848
58871
|
info: (msg) => console.log(msg),
|
|
58849
|
-
error: (msg) => console.error(
|
|
58850
|
-
warn: (msg) => console.warn(
|
|
58872
|
+
error: (msg) => console.error(chalk27__default.default.red(msg)),
|
|
58873
|
+
warn: (msg) => console.warn(chalk27__default.default.yellow(msg))
|
|
58851
58874
|
}
|
|
58852
58875
|
};
|
|
58853
58876
|
await imageCommand2.execute(context2);
|
|
58854
58877
|
}
|
|
58855
58878
|
} catch (error2) {
|
|
58856
|
-
console.error(
|
|
58879
|
+
console.error(chalk27__default.default.red("Image generation failed:"), error2.message);
|
|
58857
58880
|
}
|
|
58858
58881
|
return true;
|
|
58859
58882
|
}
|
|
@@ -58863,7 +58886,7 @@ Chat:
|
|
|
58863
58886
|
const prompt = args2.join(" ").trim();
|
|
58864
58887
|
if (!prompt) {
|
|
58865
58888
|
console.log(
|
|
58866
|
-
|
|
58889
|
+
chalk27__default.default.cyan("\u{1F3AC} **Video Generation**\n") + chalk27__default.default.white("Usage: /video <prompt>\n") + chalk27__default.default.gray("Example: /video \u6D77\u306E\u6CE2\u304C\u6253\u3061\u5BC4\u305B\u308B\u69D8\u5B50")
|
|
58867
58890
|
);
|
|
58868
58891
|
return true;
|
|
58869
58892
|
}
|
|
@@ -58875,14 +58898,14 @@ Chat:
|
|
|
58875
58898
|
options: {},
|
|
58876
58899
|
logger: {
|
|
58877
58900
|
info: (msg) => console.log(msg),
|
|
58878
|
-
error: (msg) => console.error(
|
|
58879
|
-
warn: (msg) => console.warn(
|
|
58901
|
+
error: (msg) => console.error(chalk27__default.default.red(msg)),
|
|
58902
|
+
warn: (msg) => console.warn(chalk27__default.default.yellow(msg))
|
|
58880
58903
|
}
|
|
58881
58904
|
};
|
|
58882
58905
|
await videoCommand2.execute(context2);
|
|
58883
58906
|
}
|
|
58884
58907
|
} catch (error2) {
|
|
58885
|
-
console.error(
|
|
58908
|
+
console.error(chalk27__default.default.red("Video generation failed:"), error2.message);
|
|
58886
58909
|
}
|
|
58887
58910
|
return true;
|
|
58888
58911
|
}
|
|
@@ -58892,7 +58915,7 @@ Chat:
|
|
|
58892
58915
|
const prompt = args2.join(" ").trim();
|
|
58893
58916
|
if (!prompt) {
|
|
58894
58917
|
console.log(
|
|
58895
|
-
|
|
58918
|
+
chalk27__default.default.cyan("\u{1F399}\uFE0F **Voice Synthesis**\n") + chalk27__default.default.white("Usage: /voice <text>\n") + chalk27__default.default.gray("Example: /voice \u3053\u3093\u306B\u3061\u306F\u3001\u5143\u6C17\u3067\u3059\u304B\uFF1F")
|
|
58896
58919
|
);
|
|
58897
58920
|
return true;
|
|
58898
58921
|
}
|
|
@@ -58904,14 +58927,14 @@ Chat:
|
|
|
58904
58927
|
options: {},
|
|
58905
58928
|
logger: {
|
|
58906
58929
|
info: (msg) => console.log(msg),
|
|
58907
|
-
error: (msg) => console.error(
|
|
58908
|
-
warn: (msg) => console.warn(
|
|
58930
|
+
error: (msg) => console.error(chalk27__default.default.red(msg)),
|
|
58931
|
+
warn: (msg) => console.warn(chalk27__default.default.yellow(msg))
|
|
58909
58932
|
}
|
|
58910
58933
|
};
|
|
58911
58934
|
await voiceCommand2.execute(context2);
|
|
58912
58935
|
}
|
|
58913
58936
|
} catch (error2) {
|
|
58914
|
-
console.error(
|
|
58937
|
+
console.error(chalk27__default.default.red("Voice synthesis failed:"), error2.message);
|
|
58915
58938
|
}
|
|
58916
58939
|
return true;
|
|
58917
58940
|
}
|
|
@@ -58930,36 +58953,49 @@ Chat:
|
|
|
58930
58953
|
if (args2.includes("status")) {
|
|
58931
58954
|
if (await authManager.isAuthenticated()) {
|
|
58932
58955
|
const user = await authManager.getCurrentUser();
|
|
58933
|
-
console.log(
|
|
58934
|
-
|
|
58935
|
-
|
|
58956
|
+
console.log(chalk27__default.default.green("\u2705 Authenticated"));
|
|
58957
|
+
if (user.name) {
|
|
58958
|
+
console.log(chalk27__default.default.white(`\u{1F464} Name: ${chalk27__default.default.cyan(user.name)}`));
|
|
58959
|
+
}
|
|
58960
|
+
console.log(chalk27__default.default.white(`\u{1F4E7} Email: ${chalk27__default.default.cyan(user.email)}`));
|
|
58961
|
+
if (user.provider) {
|
|
58962
|
+
console.log(chalk27__default.default.white(`\u{1F511} Provider: ${chalk27__default.default.cyan(user.provider)}`));
|
|
58963
|
+
}
|
|
58964
|
+
console.log(chalk27__default.default.white(`\u{1F4CA} Plan: ${chalk27__default.default.cyan(user.plan)}`));
|
|
58936
58965
|
} else {
|
|
58937
|
-
console.log(
|
|
58938
|
-
console.log(
|
|
58966
|
+
console.log(chalk27__default.default.yellow("\u26A0\uFE0F Not authenticated"));
|
|
58967
|
+
console.log(chalk27__default.default.gray("Use /login to sign in"));
|
|
58939
58968
|
}
|
|
58940
58969
|
} else {
|
|
58941
58970
|
const result2 = await authManager.login(options3);
|
|
58942
58971
|
if (result2.success && result2.user) {
|
|
58943
|
-
console.log(
|
|
58944
|
-
|
|
58945
|
-
|
|
58972
|
+
console.log(chalk27__default.default.green("\u2705 Successfully logged in!"));
|
|
58973
|
+
const u = result2.user;
|
|
58974
|
+
if (u.name) {
|
|
58975
|
+
console.log(chalk27__default.default.white(`\u{1F464} Name: ${chalk27__default.default.cyan(u.name)}`));
|
|
58976
|
+
}
|
|
58977
|
+
console.log(chalk27__default.default.white(`\u{1F4E7} Email: ${chalk27__default.default.cyan(u.email)}`));
|
|
58978
|
+
if (u.provider) {
|
|
58979
|
+
console.log(chalk27__default.default.white(`\u{1F511} Provider: ${chalk27__default.default.cyan(u.provider)}`));
|
|
58980
|
+
}
|
|
58981
|
+
console.log(chalk27__default.default.white(`\u{1F4CA} Plan: ${chalk27__default.default.cyan(u.plan)}`));
|
|
58946
58982
|
} else {
|
|
58947
|
-
console.log(
|
|
58948
|
-
if (result2.error) console.log(
|
|
58983
|
+
console.log(chalk27__default.default.red("\u274C Login failed"));
|
|
58984
|
+
if (result2.error) console.log(chalk27__default.default.gray(result2.error));
|
|
58949
58985
|
}
|
|
58950
58986
|
}
|
|
58951
58987
|
}
|
|
58952
58988
|
} catch (error2) {
|
|
58953
|
-
console.error(
|
|
58989
|
+
console.error(chalk27__default.default.red("Login error:"), error2.message);
|
|
58954
58990
|
}
|
|
58955
58991
|
return true;
|
|
58956
58992
|
}
|
|
58957
58993
|
if (cmd === "logout" || cmd === "signout") {
|
|
58958
58994
|
try {
|
|
58959
58995
|
await authManager.logout();
|
|
58960
|
-
console.log(
|
|
58996
|
+
console.log(chalk27__default.default.green("\u{1F44B} Signed out. Local credentials removed."));
|
|
58961
58997
|
} catch (error2) {
|
|
58962
|
-
console.error(
|
|
58998
|
+
console.error(chalk27__default.default.red("Logout error:"), error2.message);
|
|
58963
58999
|
}
|
|
58964
59000
|
return true;
|
|
58965
59001
|
}
|
|
@@ -59035,10 +59071,17 @@ Chat:
|
|
|
59035
59071
|
}
|
|
59036
59072
|
if (commandManager) {
|
|
59037
59073
|
try {
|
|
59074
|
+
let currentUser = null;
|
|
59075
|
+
try {
|
|
59076
|
+
if (await authManager.isAuthenticated()) {
|
|
59077
|
+
currentUser = await authManager.getCurrentUser();
|
|
59078
|
+
}
|
|
59079
|
+
} catch {
|
|
59080
|
+
}
|
|
59038
59081
|
const context2 = {
|
|
59039
59082
|
sessionId: "cli",
|
|
59040
59083
|
timestamp: /* @__PURE__ */ new Date(),
|
|
59041
|
-
user:
|
|
59084
|
+
user: currentUser,
|
|
59042
59085
|
history: session
|
|
59043
59086
|
};
|
|
59044
59087
|
const result2 = await commandManager.handleCommand(`/${cmd}`, args2, context2);
|
|
@@ -59064,6 +59107,13 @@ Chat:
|
|
|
59064
59107
|
const { commandRegistry: commandRegistry2 } = await Promise.resolve().then(() => (init_registry(), registry_exports));
|
|
59065
59108
|
const command = commandRegistry2.get(cmd);
|
|
59066
59109
|
if (command && command.execute) {
|
|
59110
|
+
let currentUser = void 0;
|
|
59111
|
+
try {
|
|
59112
|
+
if (await authManager.isAuthenticated()) {
|
|
59113
|
+
currentUser = await authManager.getCurrentUser();
|
|
59114
|
+
}
|
|
59115
|
+
} catch {
|
|
59116
|
+
}
|
|
59067
59117
|
const result2 = await command.execute(
|
|
59068
59118
|
{
|
|
59069
59119
|
raw: args2.join(" "),
|
|
@@ -59073,7 +59123,7 @@ Chat:
|
|
|
59073
59123
|
},
|
|
59074
59124
|
{
|
|
59075
59125
|
session: { id: "cli", commandHistory: [] },
|
|
59076
|
-
user:
|
|
59126
|
+
user: currentUser,
|
|
59077
59127
|
environment: { cwd: process.cwd() }
|
|
59078
59128
|
}
|
|
59079
59129
|
);
|
|
@@ -59086,7 +59136,7 @@ Chat:
|
|
|
59086
59136
|
} else if (result2.message) {
|
|
59087
59137
|
console.log(result2.message);
|
|
59088
59138
|
} else if (result2.success) {
|
|
59089
|
-
console.log(
|
|
59139
|
+
console.log(chalk27__default.default.green("\u2705 Command executed successfully"));
|
|
59090
59140
|
}
|
|
59091
59141
|
if (result2.data && process.env.MARIA_DEBUG === "1") {
|
|
59092
59142
|
console.log(JSON.stringify(result2.data, null, 2));
|
|
@@ -59100,11 +59150,11 @@ Chat:
|
|
|
59100
59150
|
}
|
|
59101
59151
|
}
|
|
59102
59152
|
if (!["battlecard", "sales-dashboard", "tune", "pilot-setup"].includes(cmd)) {
|
|
59103
|
-
console.log(
|
|
59104
|
-
console.log(
|
|
59105
|
-
console.log(
|
|
59106
|
-
console.log(
|
|
59107
|
-
console.log(
|
|
59153
|
+
console.log(chalk27__default.default.red(`\u274C Unknown command: /${cmd}`));
|
|
59154
|
+
console.log(chalk27__default.default.yellow("\n\u{1F4A1} Suggestions:"));
|
|
59155
|
+
console.log(chalk27__default.default.gray(" \u2022 Try /help to see available commands"));
|
|
59156
|
+
console.log(chalk27__default.default.gray(" \u2022 Check if you need to /login first"));
|
|
59157
|
+
console.log(chalk27__default.default.gray(` \u2022 Try similar commands: /help --search ${cmd}`));
|
|
59108
59158
|
}
|
|
59109
59159
|
return true;
|
|
59110
59160
|
}
|
|
@@ -59372,11 +59422,11 @@ async function handleCodeCommand(prompt) {
|
|
|
59372
59422
|
const filepath = path10__namespace.resolve(process.cwd(), filename);
|
|
59373
59423
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
59374
59424
|
console.log(
|
|
59375
|
-
|
|
59376
|
-
`) +
|
|
59377
|
-
`) +
|
|
59378
|
-
`) +
|
|
59379
|
-
`) +
|
|
59425
|
+
chalk27__default.default.green("\n\u2705 **Code Saved**\n") + chalk27__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
59426
|
+
`) + chalk27__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
59427
|
+
`) + chalk27__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
59428
|
+
`) + chalk27__default.default.white(` \u{1F4DD} Language: ${language}
|
|
59429
|
+
`) + chalk27__default.default.dim(`
|
|
59380
59430
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
59381
59431
|
);
|
|
59382
59432
|
} else {
|
|
@@ -59385,11 +59435,11 @@ async function handleCodeCommand(prompt) {
|
|
|
59385
59435
|
} catch (e2) {
|
|
59386
59436
|
spinner.stop();
|
|
59387
59437
|
if (process.env.MARIA_DEBUG === "1") {
|
|
59388
|
-
console.error(
|
|
59438
|
+
console.error(chalk27__default.default.red("Code generation error:"), e2.message || e2);
|
|
59389
59439
|
}
|
|
59390
59440
|
const fallbackCode = templateFallback(prompt);
|
|
59391
59441
|
console.log(
|
|
59392
|
-
|
|
59442
|
+
chalk27__default.default.yellow("\u26A0 AI unavailable, using template fallback:\n")
|
|
59393
59443
|
);
|
|
59394
59444
|
console.log(fallbackCode);
|
|
59395
59445
|
try {
|
|
@@ -59398,14 +59448,14 @@ async function handleCodeCommand(prompt) {
|
|
|
59398
59448
|
const filepath = path10__namespace.resolve(process.cwd(), filename);
|
|
59399
59449
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
59400
59450
|
console.log(
|
|
59401
|
-
|
|
59402
|
-
`) +
|
|
59403
|
-
`) +
|
|
59404
|
-
`) +
|
|
59451
|
+
chalk27__default.default.green("\n\u2705 **Template Code Saved**\n") + chalk27__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
59452
|
+
`) + chalk27__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
59453
|
+
`) + chalk27__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
59454
|
+
`) + chalk27__default.default.dim(`
|
|
59405
59455
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
59406
59456
|
);
|
|
59407
59457
|
} catch (saveError) {
|
|
59408
|
-
console.error(
|
|
59458
|
+
console.error(chalk27__default.default.red("Failed to save code:"), saveError);
|
|
59409
59459
|
}
|
|
59410
59460
|
}
|
|
59411
59461
|
}
|
|
@@ -59461,7 +59511,7 @@ ${userPrompt}`;
|
|
|
59461
59511
|
(seq) => response2.includes(seq)
|
|
59462
59512
|
);
|
|
59463
59513
|
if (guidedFlowDetected) {
|
|
59464
|
-
console.log(
|
|
59514
|
+
console.log(chalk27__default.default.yellow("\u26A0 Guided flow detected, switching to fallback"));
|
|
59465
59515
|
return null;
|
|
59466
59516
|
}
|
|
59467
59517
|
const codeMatch = response2.match(/```[\s\S]*?```/);
|
|
@@ -59629,14 +59679,14 @@ async function streamAnswer(text) {
|
|
|
59629
59679
|
if (store?.addMessage) await store.addMessage(msg);
|
|
59630
59680
|
} else {
|
|
59631
59681
|
animation.stop();
|
|
59632
|
-
console.log(
|
|
59682
|
+
console.log(chalk27__default.default.yellow("AI service unavailable. Please check your configuration."));
|
|
59633
59683
|
}
|
|
59634
59684
|
} catch (e2) {
|
|
59635
59685
|
animation.stop();
|
|
59636
59686
|
if (e2.message?.includes("timeout") || e2.message?.includes("\u23F1\uFE0F")) {
|
|
59637
|
-
console.log(
|
|
59687
|
+
console.log(chalk27__default.default.yellow(e2.message));
|
|
59638
59688
|
} else {
|
|
59639
|
-
console.log(
|
|
59689
|
+
console.log(chalk27__default.default.red("Error generating response:"), e2.message || e2);
|
|
59640
59690
|
}
|
|
59641
59691
|
}
|
|
59642
59692
|
}
|
|
@@ -59651,9 +59701,9 @@ async function handleLine(line) {
|
|
|
59651
59701
|
if (consumed) return;
|
|
59652
59702
|
const isAuthenticated = await authManager.isAuthenticated();
|
|
59653
59703
|
if (!isAuthenticated) {
|
|
59654
|
-
console.log(
|
|
59655
|
-
console.log(
|
|
59656
|
-
console.log(
|
|
59704
|
+
console.log(chalk27__default.default.yellow("\n\u26A0\uFE0F Authentication required for chat features"));
|
|
59705
|
+
console.log(chalk27__default.default.cyan("Please run: /login"));
|
|
59706
|
+
console.log(chalk27__default.default.gray("Or use slash commands like /help, /version"));
|
|
59657
59707
|
return;
|
|
59658
59708
|
}
|
|
59659
59709
|
const user = { role: "user", content: input3, timestamp: /* @__PURE__ */ new Date() };
|
|
@@ -59675,7 +59725,7 @@ async function startInteractiveSession() {
|
|
|
59675
59725
|
}
|
|
59676
59726
|
}
|
|
59677
59727
|
const stop = async () => {
|
|
59678
|
-
console.log(
|
|
59728
|
+
console.log(chalk27__default.default.cyan("\n\u{1F44B} Goodbye!"));
|
|
59679
59729
|
if (store?.close) await store.close().catch(() => {
|
|
59680
59730
|
});
|
|
59681
59731
|
if (interactiveCLI?.cleanup) interactiveCLI.cleanup();
|
|
@@ -59689,7 +59739,7 @@ async function startInteractiveSession() {
|
|
|
59689
59739
|
process.once("SIGINT", stop);
|
|
59690
59740
|
process.once("SIGTERM", stop);
|
|
59691
59741
|
if (!isTTY) {
|
|
59692
|
-
console.log(
|
|
59742
|
+
console.log(chalk27__default.default.gray("[Pipe mode detected - streaming input/output]"));
|
|
59693
59743
|
const rl = readline6__namespace.createInterface({
|
|
59694
59744
|
input: process5.stdin,
|
|
59695
59745
|
output: process5.stdout,
|
|
@@ -59704,7 +59754,7 @@ async function startInteractiveSession() {
|
|
|
59704
59754
|
if (interactiveCLI) {
|
|
59705
59755
|
while (true) {
|
|
59706
59756
|
try {
|
|
59707
|
-
const prompt =
|
|
59757
|
+
const prompt = chalk27__default.default.gray("> ");
|
|
59708
59758
|
process.stdout.write(prompt);
|
|
59709
59759
|
const line = await interactiveCLI.question("");
|
|
59710
59760
|
console.log();
|
|
@@ -59719,14 +59769,14 @@ async function startInteractiveSession() {
|
|
|
59719
59769
|
await stop();
|
|
59720
59770
|
return;
|
|
59721
59771
|
}
|
|
59722
|
-
console.error(
|
|
59772
|
+
console.error(chalk27__default.default.red("Error:"), error2?.message || error2);
|
|
59723
59773
|
}
|
|
59724
59774
|
}
|
|
59725
59775
|
} else {
|
|
59726
59776
|
const rl = readline6__namespace.createInterface({ input: process5.stdin, output: process5.stdout });
|
|
59727
59777
|
while (true) {
|
|
59728
59778
|
try {
|
|
59729
|
-
const prompt =
|
|
59779
|
+
const prompt = chalk27__default.default.gray("> ");
|
|
59730
59780
|
const line = await rl.question(prompt);
|
|
59731
59781
|
console.log();
|
|
59732
59782
|
if (line.toLowerCase() === "exit" || line.toLowerCase() === "quit") {
|
|
@@ -59740,7 +59790,7 @@ async function startInteractiveSession() {
|
|
|
59740
59790
|
await stop();
|
|
59741
59791
|
return;
|
|
59742
59792
|
}
|
|
59743
|
-
console.error(
|
|
59793
|
+
console.error(chalk27__default.default.red("Error:"), error2?.message || error2);
|
|
59744
59794
|
}
|
|
59745
59795
|
}
|
|
59746
59796
|
}
|
|
@@ -59750,7 +59800,7 @@ function createCLI() {
|
|
|
59750
59800
|
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) => {
|
|
59751
59801
|
loadEnvironmentVariables();
|
|
59752
59802
|
if (options2.server) {
|
|
59753
|
-
console.log(
|
|
59803
|
+
console.log(chalk27__default.default.green("\u{1F680} Starting MARIA server mode..."));
|
|
59754
59804
|
try {
|
|
59755
59805
|
const distDir = path10__namespace.dirname(process.argv[1] || process.cwd());
|
|
59756
59806
|
const candidateNames = [
|
|
@@ -59780,9 +59830,9 @@ function createCLI() {
|
|
|
59780
59830
|
if (serverPath) break;
|
|
59781
59831
|
}
|
|
59782
59832
|
if (!serverPath) {
|
|
59783
|
-
console.error(
|
|
59784
|
-
console.error(
|
|
59785
|
-
console.error(
|
|
59833
|
+
console.error(chalk27__default.default.red("\u274C Could not locate server-express entry file"));
|
|
59834
|
+
console.error(chalk27__default.default.gray("Searched names: " + candidateNames.join(", ")));
|
|
59835
|
+
console.error(chalk27__default.default.gray("Searched dirs: " + candidateDirs.join(" | ")));
|
|
59786
59836
|
process.exit(1);
|
|
59787
59837
|
}
|
|
59788
59838
|
const { spawn: spawn3 } = await import('child_process');
|
|
@@ -59829,7 +59879,7 @@ function createCLI() {
|
|
|
59829
59879
|
process.once("SIGINT", () => forwardAndExit("SIGINT"));
|
|
59830
59880
|
process.once("SIGTERM", () => forwardAndExit("SIGTERM"));
|
|
59831
59881
|
serverProcess.on("error", (error2) => {
|
|
59832
|
-
console.error(
|
|
59882
|
+
console.error(chalk27__default.default.red("\u274C Server process error:"), error2);
|
|
59833
59883
|
process.exit(1);
|
|
59834
59884
|
});
|
|
59835
59885
|
serverProcess.on("exit", (code, _signal) => {
|
|
@@ -59842,7 +59892,7 @@ function createCLI() {
|
|
|
59842
59892
|
});
|
|
59843
59893
|
return;
|
|
59844
59894
|
} catch (error2) {
|
|
59845
|
-
console.error(
|
|
59895
|
+
console.error(chalk27__default.default.red("\u274C Failed to start server mode:"), error2);
|
|
59846
59896
|
process.exit(1);
|
|
59847
59897
|
}
|
|
59848
59898
|
}
|
|
@@ -59867,7 +59917,7 @@ function createCLI() {
|
|
|
59867
59917
|
displayStartupLogo2();
|
|
59868
59918
|
startupDisplayed = true;
|
|
59869
59919
|
} catch {
|
|
59870
|
-
console.log(
|
|
59920
|
+
console.log(chalk27__default.default.cyan(`
|
|
59871
59921
|
\u{1F680} MARIA v${getVersion()}
|
|
59872
59922
|
`));
|
|
59873
59923
|
startupDisplayed = true;
|
|
@@ -59876,13 +59926,13 @@ function createCLI() {
|
|
|
59876
59926
|
const useV3 = options2.v3Session || process.env.MARIA_USE_V3_SESSION === "1";
|
|
59877
59927
|
if (useV3) {
|
|
59878
59928
|
try {
|
|
59879
|
-
console.log(
|
|
59929
|
+
console.log(chalk27__default.default.cyan("\u{1F680} Starting MARIA v3 session..."));
|
|
59880
59930
|
const { MariaAI: MariaAI2 } = await Promise.resolve().then(() => (init_maria_ai(), maria_ai_exports));
|
|
59881
59931
|
const maria = new MariaAI2();
|
|
59882
59932
|
await maria.initialize();
|
|
59883
59933
|
return;
|
|
59884
59934
|
} catch (e2) {
|
|
59885
|
-
console.warn(
|
|
59935
|
+
console.warn(chalk27__default.default.yellow("\u26A0 V3 session unavailable, using standard mode"));
|
|
59886
59936
|
}
|
|
59887
59937
|
}
|
|
59888
59938
|
await startInteractiveSession();
|
|
@@ -59930,14 +59980,14 @@ function createCLI2() {
|
|
|
59930
59980
|
}
|
|
59931
59981
|
});
|
|
59932
59982
|
program2.command("setup-ollama").description("Setup Ollama for local AI").action(async () => {
|
|
59933
|
-
console.log(
|
|
59983
|
+
console.log(chalk27__default.default.cyan("Setting up Ollama..."));
|
|
59934
59984
|
console.log(
|
|
59935
|
-
|
|
59985
|
+
chalk27__default.default.yellow("Please run: brew install ollama && ollama serve")
|
|
59936
59986
|
);
|
|
59937
59987
|
});
|
|
59938
59988
|
program2.command("setup-vllm").description("Setup vLLM for local AI").action(async () => {
|
|
59939
|
-
console.log(
|
|
59940
|
-
console.log(
|
|
59989
|
+
console.log(chalk27__default.default.cyan("Setting up vLLM..."));
|
|
59990
|
+
console.log(chalk27__default.default.yellow("Please run: pip install vllm"));
|
|
59941
59991
|
});
|
|
59942
59992
|
return program2;
|
|
59943
59993
|
}
|
|
@@ -59965,13 +60015,13 @@ var init_maria_ai = __esm({
|
|
|
59965
60015
|
await this.providerSelector.initialize();
|
|
59966
60016
|
const { provider, model } = await this.providerSelector.selectProvider();
|
|
59967
60017
|
console.log(
|
|
59968
|
-
|
|
60018
|
+
chalk27__default.default.green(`
|
|
59969
60019
|
\u2705 Selected: ${provider} with model ${model}`)
|
|
59970
60020
|
);
|
|
59971
60021
|
this.config.set("currentProvider", provider);
|
|
59972
60022
|
this.config.set("currentModel", model);
|
|
59973
60023
|
await this.config.save();
|
|
59974
|
-
console.log(
|
|
60024
|
+
console.log(chalk27__default.default.cyan("\n\u{1F9E0} Initializing Intelligent Router..."));
|
|
59975
60025
|
this.router = new IntelligentRouterService({
|
|
59976
60026
|
confidenceThreshold: 0.85,
|
|
59977
60027
|
enableLearning: true,
|
|
@@ -59979,12 +60029,12 @@ var init_maria_ai = __esm({
|
|
|
59979
60029
|
});
|
|
59980
60030
|
await this.router.initialize();
|
|
59981
60031
|
console.log(
|
|
59982
|
-
|
|
60032
|
+
chalk27__default.default.green("\u2705 Intelligent Router initialized successfully\n")
|
|
59983
60033
|
);
|
|
59984
60034
|
this.session = createInteractiveSession(this);
|
|
59985
60035
|
await this.session.start();
|
|
59986
60036
|
} catch (error2) {
|
|
59987
|
-
console.error(
|
|
60037
|
+
console.error(chalk27__default.default.red("\n\u274C Initialization failed:"), error2);
|
|
59988
60038
|
process.exit(1);
|
|
59989
60039
|
}
|
|
59990
60040
|
}
|
|
@@ -59992,7 +60042,7 @@ var init_maria_ai = __esm({
|
|
|
59992
60042
|
if (this.session) {
|
|
59993
60043
|
await this.session.stop();
|
|
59994
60044
|
}
|
|
59995
|
-
console.log(
|
|
60045
|
+
console.log(chalk27__default.default.cyan("\n\u{1F44B} Goodbye!"));
|
|
59996
60046
|
}
|
|
59997
60047
|
};
|
|
59998
60048
|
}
|
|
@@ -60006,25 +60056,25 @@ function checkNodeVersion() {
|
|
|
60006
60056
|
const currentVersion = process.version;
|
|
60007
60057
|
if (!semver__default.default.satisfies(currentVersion, `>=${MINIMUM_NODE_VERSION}`)) {
|
|
60008
60058
|
console.error(
|
|
60009
|
-
|
|
60059
|
+
chalk27__default.default.red(`
|
|
60010
60060
|
\u274C Node.js version ${currentVersion} is not supported.`)
|
|
60011
60061
|
);
|
|
60012
60062
|
console.error(
|
|
60013
|
-
|
|
60063
|
+
chalk27__default.default.yellow(`Minimum required version: ${MINIMUM_NODE_VERSION}`)
|
|
60014
60064
|
);
|
|
60015
60065
|
console.error(
|
|
60016
|
-
|
|
60066
|
+
chalk27__default.default.yellow(
|
|
60017
60067
|
`Recommended version: ${RECOMMENDED_NODE_VERSION} or higher`
|
|
60018
60068
|
)
|
|
60019
60069
|
);
|
|
60020
|
-
console.error(
|
|
60021
|
-
console.error(
|
|
60070
|
+
console.error(chalk27__default.default.cyan("\nPlease upgrade Node.js:"));
|
|
60071
|
+
console.error(chalk27__default.default.gray(" \u2022 Using nvm: nvm install 20 && nvm use 20"));
|
|
60022
60072
|
console.error(
|
|
60023
|
-
|
|
60073
|
+
chalk27__default.default.gray(
|
|
60024
60074
|
" \u2022 Using nodenv: nodenv install 20.0.0 && nodenv global 20.0.0"
|
|
60025
60075
|
)
|
|
60026
60076
|
);
|
|
60027
|
-
console.error(
|
|
60077
|
+
console.error(chalk27__default.default.gray(" \u2022 Download from: https://nodejs.org/"));
|
|
60028
60078
|
process.exit(1);
|
|
60029
60079
|
}
|
|
60030
60080
|
}
|