@bonginkan/maria 4.2.3 → 4.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/maria.cjs +688 -963
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +550 -819
- package/dist/cli.cjs.map +1 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var fs = require('fs');
|
|
5
5
|
var path8 = require('path');
|
|
6
6
|
var dotenv = require('dotenv');
|
|
7
|
-
var
|
|
7
|
+
var chalk16 = require('chalk');
|
|
8
8
|
var os = require('os');
|
|
9
9
|
var fsp = require('fs/promises');
|
|
10
10
|
var crypto = require('crypto');
|
|
@@ -21,8 +21,6 @@ var zlib = require('zlib');
|
|
|
21
21
|
var secretManager = require('@google-cloud/secret-manager');
|
|
22
22
|
var readline = require('readline');
|
|
23
23
|
var zod = require('zod');
|
|
24
|
-
require('strip-ansi');
|
|
25
|
-
require('string-width');
|
|
26
24
|
var process$1 = require('process');
|
|
27
25
|
var ora = require('ora');
|
|
28
26
|
var perf_hooks = require('perf_hooks');
|
|
@@ -52,7 +50,7 @@ function _interopNamespace(e) {
|
|
|
52
50
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
53
51
|
var path8__namespace = /*#__PURE__*/_interopNamespace(path8);
|
|
54
52
|
var dotenv__namespace = /*#__PURE__*/_interopNamespace(dotenv);
|
|
55
|
-
var
|
|
53
|
+
var chalk16__default = /*#__PURE__*/_interopDefault(chalk16);
|
|
56
54
|
var os__namespace = /*#__PURE__*/_interopNamespace(os);
|
|
57
55
|
var fsp__namespace = /*#__PURE__*/_interopNamespace(fsp);
|
|
58
56
|
var crypto__default = /*#__PURE__*/_interopDefault(crypto);
|
|
@@ -252,7 +250,7 @@ var init_animations = __esm({
|
|
|
252
250
|
start() {
|
|
253
251
|
this.interval = setInterval(() => {
|
|
254
252
|
process.stdout.write(
|
|
255
|
-
`\r${
|
|
253
|
+
`\r${chalk16__default.default.cyan(this.frames[this.currentFrame])} ${chalk16__default.default.gray(this.message)}...`
|
|
256
254
|
);
|
|
257
255
|
this.currentFrame = (this.currentFrame + 1) % this.frames.length;
|
|
258
256
|
}, 80);
|
|
@@ -290,7 +288,7 @@ var init_animations = __esm({
|
|
|
290
288
|
const elapsed = Math.floor((Date.now() - this.startTime) / 1e3);
|
|
291
289
|
const stage = this.stages[this.currentStage];
|
|
292
290
|
process.stdout.write(
|
|
293
|
-
`\r${
|
|
291
|
+
`\r${chalk16__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage.icon} ${chalk16__default.default.gray(stage.message)}... ${chalk16__default.default.dim(`[${elapsed}s]`)}`
|
|
294
292
|
);
|
|
295
293
|
this.currentFrame = (this.currentFrame + 1) % this.spinnerFrames.length;
|
|
296
294
|
}, 80);
|
|
@@ -352,11 +350,11 @@ var init_animations = __esm({
|
|
|
352
350
|
const stage = stages[this.currentStage];
|
|
353
351
|
if (this.isComplex) {
|
|
354
352
|
process.stdout.write(
|
|
355
|
-
`\r${
|
|
353
|
+
`\r${chalk16__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${stage} ${chalk16__default.default.dim(`[${elapsed}s]`)}`
|
|
356
354
|
);
|
|
357
355
|
} else {
|
|
358
356
|
process.stdout.write(
|
|
359
|
-
`\r${
|
|
357
|
+
`\r${chalk16__default.default.cyan(this.spinnerFrames[this.currentFrame])} ${chalk16__default.default.gray(stage)}...`
|
|
360
358
|
);
|
|
361
359
|
}
|
|
362
360
|
this.currentFrame = (this.currentFrame + 1) % this.spinnerFrames.length;
|
|
@@ -399,7 +397,7 @@ var init_animations = __esm({
|
|
|
399
397
|
start() {
|
|
400
398
|
this.interval = setInterval(() => {
|
|
401
399
|
process.stdout.write(
|
|
402
|
-
`\r${
|
|
400
|
+
`\r${chalk16__default.default.cyan(this.message)}${this.dots[this.currentDot]}`
|
|
403
401
|
);
|
|
404
402
|
this.currentDot = (this.currentDot + 1) % this.dots.length;
|
|
405
403
|
}, 300);
|
|
@@ -428,7 +426,7 @@ var init_animations = __esm({
|
|
|
428
426
|
const frame = this.frames[this.currentFrame];
|
|
429
427
|
const message = this.messages[this.currentFrame];
|
|
430
428
|
process.stdout.write(
|
|
431
|
-
`\r${frame} ${
|
|
429
|
+
`\r${frame} ${chalk16__default.default.cyan(message)}...`
|
|
432
430
|
);
|
|
433
431
|
this.currentFrame = (this.currentFrame + 1) % this.frames.length;
|
|
434
432
|
}, 1e3);
|
|
@@ -456,7 +454,7 @@ var init_animations = __esm({
|
|
|
456
454
|
const percentage = Math.floor(this.current / this.total * 100);
|
|
457
455
|
const filled = Math.floor(this.current / this.total * this.width);
|
|
458
456
|
const empty = this.width - filled;
|
|
459
|
-
const bar =
|
|
457
|
+
const bar = chalk16__default.default.green("\u2588").repeat(filled) + chalk16__default.default.gray("\u2591").repeat(empty);
|
|
460
458
|
process.stdout.write(`\r${this.label}: [${bar}] ${percentage}%`);
|
|
461
459
|
if (this.current >= this.total) {
|
|
462
460
|
process.stdout.write("\n");
|
|
@@ -1200,7 +1198,7 @@ function withAuth(fn) {
|
|
|
1200
1198
|
try {
|
|
1201
1199
|
const tokens = await authManager.getValidTokens();
|
|
1202
1200
|
if (!tokens) {
|
|
1203
|
-
console.log(
|
|
1201
|
+
console.log(chalk16__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
1204
1202
|
process.exit(AUTH_EXIT_CODES.AUTH_REQUIRED);
|
|
1205
1203
|
}
|
|
1206
1204
|
global.MARIA_ID_TOKEN = tokens.idToken;
|
|
@@ -1209,28 +1207,28 @@ function withAuth(fn) {
|
|
|
1209
1207
|
return await fn(...args);
|
|
1210
1208
|
} catch (error2) {
|
|
1211
1209
|
if (error2.code === "AUTH_REQUIRED") {
|
|
1212
|
-
console.log(
|
|
1210
|
+
console.log(chalk16__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
1213
1211
|
process.exit(AUTH_EXIT_CODES.AUTH_REQUIRED);
|
|
1214
1212
|
}
|
|
1215
1213
|
if (error2.code === "REAUTH_REQUIRED" || error2.code === "TOKEN_EXPIRED") {
|
|
1216
|
-
console.log(
|
|
1214
|
+
console.log(chalk16__default.default.yellow("\u{1F504} Please re-authenticate \xB7 Run: maria /login"));
|
|
1217
1215
|
process.exit(AUTH_EXIT_CODES.REAUTH_REQUIRED);
|
|
1218
1216
|
}
|
|
1219
1217
|
if (error2.code === "QUOTA_EXCEEDED") {
|
|
1220
|
-
console.log(
|
|
1218
|
+
console.log(chalk16__default.default.yellow("\u26A0 Quota exceeded \xB7 Run: maria /billing"));
|
|
1221
1219
|
process.exit(AUTH_EXIT_CODES.QUOTA_EXCEEDED);
|
|
1222
1220
|
}
|
|
1223
1221
|
if (error2.code === "PLAN_RESTRICTED") {
|
|
1224
|
-
console.log(
|
|
1222
|
+
console.log(chalk16__default.default.yellow("\u{1F512} Not available in current plan"));
|
|
1225
1223
|
process.exit(AUTH_EXIT_CODES.PLAN_RESTRICTED);
|
|
1226
1224
|
}
|
|
1227
1225
|
if (error2.code === "RATE_LIMITED") {
|
|
1228
1226
|
const retryAfter = error2.retryAfter || 5;
|
|
1229
|
-
console.log(
|
|
1227
|
+
console.log(chalk16__default.default.yellow(`\u23F1\uFE0F Rate limit: wait ${retryAfter}s`));
|
|
1230
1228
|
process.exit(AUTH_EXIT_CODES.RATE_LIMITED);
|
|
1231
1229
|
}
|
|
1232
1230
|
if (error2.code === "NETWORK_ERROR") {
|
|
1233
|
-
console.log(
|
|
1231
|
+
console.log(chalk16__default.default.red("\u{1F310} Network error, check connection"));
|
|
1234
1232
|
process.exit(AUTH_EXIT_CODES.NETWORK_ERROR);
|
|
1235
1233
|
}
|
|
1236
1234
|
throw error2;
|
|
@@ -9387,6 +9385,7 @@ var init_groq_provider = __esm({
|
|
|
9387
9385
|
"src/providers/groq-provider.ts"() {
|
|
9388
9386
|
init_base_provider();
|
|
9389
9387
|
GroqProvider = class extends UnifiedBaseProvider {
|
|
9388
|
+
id = "groq";
|
|
9390
9389
|
name = "groq";
|
|
9391
9390
|
modelsCache;
|
|
9392
9391
|
constructor(apiKey) {
|
|
@@ -9412,6 +9411,15 @@ var init_groq_provider = __esm({
|
|
|
9412
9411
|
}
|
|
9413
9412
|
}
|
|
9414
9413
|
async getModels() {
|
|
9414
|
+
const models = [
|
|
9415
|
+
"llama-3.3-70b-versatile",
|
|
9416
|
+
"llama-3.2-90b-vision-preview",
|
|
9417
|
+
"mixtral-8x7b-32768",
|
|
9418
|
+
"gemma2-9b-it"
|
|
9419
|
+
];
|
|
9420
|
+
return models;
|
|
9421
|
+
}
|
|
9422
|
+
async getModelInfo() {
|
|
9415
9423
|
if (this.modelsCache) {
|
|
9416
9424
|
return this.modelsCache;
|
|
9417
9425
|
}
|
|
@@ -9464,33 +9472,102 @@ var init_groq_provider = __esm({
|
|
|
9464
9472
|
this.modelsCache = models;
|
|
9465
9473
|
return models;
|
|
9466
9474
|
}
|
|
9475
|
+
async complete(prompt, req) {
|
|
9476
|
+
if (!await this.isAvailable()) {
|
|
9477
|
+
throw new Error("Groq API not available");
|
|
9478
|
+
}
|
|
9479
|
+
const model = req.model || "mixtral-8x7b-32768";
|
|
9480
|
+
const payload = {
|
|
9481
|
+
model,
|
|
9482
|
+
messages: [{ role: "user", content: prompt }],
|
|
9483
|
+
temperature: req.temperature || 0.7,
|
|
9484
|
+
max_tokens: req.maxTokens || 4e3,
|
|
9485
|
+
stream: false
|
|
9486
|
+
};
|
|
9487
|
+
const response2 = await this.makeRequest(
|
|
9488
|
+
`${this.apiBase}/chat/completions`,
|
|
9489
|
+
{
|
|
9490
|
+
method: "POST",
|
|
9491
|
+
headers: {
|
|
9492
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
9493
|
+
...req.headers
|
|
9494
|
+
},
|
|
9495
|
+
body: payload,
|
|
9496
|
+
timeout: req.timeoutMs
|
|
9497
|
+
}
|
|
9498
|
+
);
|
|
9499
|
+
return {
|
|
9500
|
+
content: response2.choices[0]?.message?.content || "",
|
|
9501
|
+
model,
|
|
9502
|
+
usage: {
|
|
9503
|
+
promptTokens: response2.usage?.prompt_tokens || 0,
|
|
9504
|
+
completionTokens: response2.usage?.completion_tokens || 0,
|
|
9505
|
+
totalTokens: response2.usage?.total_tokens || 0
|
|
9506
|
+
},
|
|
9507
|
+
finishReason: response2.choices[0]?.finish_reason || "stop"
|
|
9508
|
+
};
|
|
9509
|
+
}
|
|
9510
|
+
async stream(prompt, req) {
|
|
9511
|
+
if (!await this.isAvailable()) {
|
|
9512
|
+
throw new Error("Groq API not available");
|
|
9513
|
+
}
|
|
9514
|
+
const model = req.model || "mixtral-8x7b-32768";
|
|
9515
|
+
const payload = {
|
|
9516
|
+
model,
|
|
9517
|
+
messages: [{ role: "user", content: prompt }],
|
|
9518
|
+
temperature: req.temperature || 0.7,
|
|
9519
|
+
max_tokens: req.maxTokens || 4e3,
|
|
9520
|
+
stream: true
|
|
9521
|
+
};
|
|
9522
|
+
const stream = await this.makeStreamRequest(
|
|
9523
|
+
`${this.apiBase}/chat/completions`,
|
|
9524
|
+
{
|
|
9525
|
+
method: "POST",
|
|
9526
|
+
headers: {
|
|
9527
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
9528
|
+
...req.headers
|
|
9529
|
+
},
|
|
9530
|
+
body: payload,
|
|
9531
|
+
timeout: req.timeoutMs
|
|
9532
|
+
}
|
|
9533
|
+
);
|
|
9534
|
+
async function* chunkGenerator() {
|
|
9535
|
+
for await (const chunk of stream) {
|
|
9536
|
+
yield {
|
|
9537
|
+
content: chunk,
|
|
9538
|
+
delta: chunk
|
|
9539
|
+
};
|
|
9540
|
+
}
|
|
9541
|
+
}
|
|
9542
|
+
return chunkGenerator();
|
|
9543
|
+
}
|
|
9467
9544
|
async chat(request) {
|
|
9468
9545
|
if (!await this.isAvailable()) {
|
|
9469
9546
|
throw new Error("Groq API not available");
|
|
9470
9547
|
}
|
|
9471
|
-
const
|
|
9548
|
+
const model = request.model || "mixtral-8x7b-32768";
|
|
9472
9549
|
const _startTime = Date.now();
|
|
9473
9550
|
const _payload = {
|
|
9474
|
-
|
|
9551
|
+
model,
|
|
9475
9552
|
messages: request.messages,
|
|
9476
9553
|
temperature: request.temperature || 0.7,
|
|
9477
|
-
|
|
9478
|
-
|
|
9554
|
+
max_tokens: request.maxTokens || 4e3,
|
|
9555
|
+
stream: request.stream || false
|
|
9479
9556
|
};
|
|
9480
|
-
if (request.
|
|
9481
|
-
const
|
|
9557
|
+
if (request.stream) {
|
|
9558
|
+
const stream = await this.makeStreamRequest(
|
|
9482
9559
|
`${this.apiBase}/chat/completions`,
|
|
9483
9560
|
{
|
|
9484
9561
|
method: "POST",
|
|
9485
9562
|
headers: {
|
|
9486
9563
|
Authorization: `Bearer ${this.apiKey}`
|
|
9487
9564
|
},
|
|
9488
|
-
body:
|
|
9565
|
+
body: _payload
|
|
9489
9566
|
}
|
|
9490
9567
|
);
|
|
9491
9568
|
return {
|
|
9492
|
-
|
|
9493
|
-
|
|
9569
|
+
stream,
|
|
9570
|
+
model,
|
|
9494
9571
|
provider: this.name,
|
|
9495
9572
|
responseTime: Date.now() - _startTime
|
|
9496
9573
|
};
|
|
@@ -9502,12 +9579,12 @@ var init_groq_provider = __esm({
|
|
|
9502
9579
|
headers: {
|
|
9503
9580
|
Authorization: `Bearer ${this.apiKey}`
|
|
9504
9581
|
},
|
|
9505
|
-
body:
|
|
9582
|
+
body: _payload
|
|
9506
9583
|
}
|
|
9507
9584
|
);
|
|
9508
9585
|
return {
|
|
9509
9586
|
content: _response.choices[0]?.message?.content || "",
|
|
9510
|
-
|
|
9587
|
+
model,
|
|
9511
9588
|
provider: this.name,
|
|
9512
9589
|
usage: {
|
|
9513
9590
|
promptTokens: _response.usage?.prompt_tokens || 0,
|
|
@@ -9524,7 +9601,7 @@ var init_groq_provider = __esm({
|
|
|
9524
9601
|
const _base64Image = _image.toString("base64");
|
|
9525
9602
|
const _startTime = Date.now();
|
|
9526
9603
|
const _payload = {
|
|
9527
|
-
|
|
9604
|
+
model: "llama-3.2-90b-vision-preview",
|
|
9528
9605
|
messages: [
|
|
9529
9606
|
{
|
|
9530
9607
|
role: "user",
|
|
@@ -9539,7 +9616,7 @@ var init_groq_provider = __esm({
|
|
|
9539
9616
|
]
|
|
9540
9617
|
}
|
|
9541
9618
|
],
|
|
9542
|
-
|
|
9619
|
+
max_tokens: 4e3
|
|
9543
9620
|
};
|
|
9544
9621
|
const _response = await this.makeRequest(
|
|
9545
9622
|
`${this.apiBase}/chat/completions`,
|
|
@@ -9548,12 +9625,12 @@ var init_groq_provider = __esm({
|
|
|
9548
9625
|
headers: {
|
|
9549
9626
|
Authorization: `Bearer ${this.apiKey}`
|
|
9550
9627
|
},
|
|
9551
|
-
body:
|
|
9628
|
+
body: _payload
|
|
9552
9629
|
}
|
|
9553
9630
|
);
|
|
9554
9631
|
return {
|
|
9555
9632
|
content: _response.choices[0]?.message?.content || "",
|
|
9556
|
-
|
|
9633
|
+
model: "llama-3.2-90b-vision-preview",
|
|
9557
9634
|
provider: this.name,
|
|
9558
9635
|
usage: {
|
|
9559
9636
|
promptTokens: _response.usage?.prompt_tokens || 0,
|
|
@@ -12460,21 +12537,21 @@ var init_autocomplete_dropdown = __esm({
|
|
|
12460
12537
|
process.stdout.write("\x1B[s");
|
|
12461
12538
|
process.stdout.write("\n");
|
|
12462
12539
|
process.stdout.write(
|
|
12463
|
-
"\x1B[K" +
|
|
12540
|
+
"\x1B[K" + chalk16__default.default.white(
|
|
12464
12541
|
"\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"
|
|
12465
12542
|
) + "\n"
|
|
12466
12543
|
);
|
|
12467
12544
|
this.suggestions.forEach((suggestion, index) => {
|
|
12468
12545
|
const isSelected = index === this.selectedIndex;
|
|
12469
|
-
const prefix = isSelected ?
|
|
12470
|
-
const nameStyle = isSelected ?
|
|
12546
|
+
const prefix = isSelected ? chalk16__default.default.cyan("\u25BA ") : " ";
|
|
12547
|
+
const nameStyle = isSelected ? chalk16__default.default.inverse : (s2) => s2;
|
|
12471
12548
|
const displayName = suggestion.name.padEnd(20);
|
|
12472
12549
|
const displayDesc = suggestion.description.length > 30 ? suggestion.description.substring(0, 27) + "..." : suggestion.description.padEnd(30);
|
|
12473
|
-
const line = `\u2502${prefix}${nameStyle(
|
|
12550
|
+
const line = `\u2502${prefix}${nameStyle(chalk16__default.default.white(displayName) + " " + chalk16__default.default.gray(displayDesc))} \u2502`;
|
|
12474
12551
|
process.stdout.write("\x1B[K" + line + "\n");
|
|
12475
12552
|
});
|
|
12476
12553
|
process.stdout.write(
|
|
12477
|
-
"\x1B[K" +
|
|
12554
|
+
"\x1B[K" + chalk16__default.default.white(
|
|
12478
12555
|
"\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"
|
|
12479
12556
|
) + "\n"
|
|
12480
12557
|
);
|
|
@@ -12888,7 +12965,7 @@ var init_interactive_cli = __esm({
|
|
|
12888
12965
|
}
|
|
12889
12966
|
readline__namespace.cursorTo(process.stdout, 0);
|
|
12890
12967
|
readline__namespace.clearLine(process.stdout, 0);
|
|
12891
|
-
const prompt =
|
|
12968
|
+
const prompt = chalk16__default.default.cyan("> ");
|
|
12892
12969
|
const displayInput = this.currentInput;
|
|
12893
12970
|
process.stdout.write(prompt + displayInput);
|
|
12894
12971
|
const promptLength = 2;
|
|
@@ -12908,9 +12985,9 @@ var init_interactive_cli = __esm({
|
|
|
12908
12985
|
readline__namespace.moveCursor(process.stdout, 0, 2);
|
|
12909
12986
|
this.suggestions.forEach((suggestion, index) => {
|
|
12910
12987
|
const isSelected = index === this.selectedIndex;
|
|
12911
|
-
const prefix = isSelected ?
|
|
12912
|
-
const nameStyle = isSelected ?
|
|
12913
|
-
const descStyle = isSelected ?
|
|
12988
|
+
const prefix = isSelected ? chalk16__default.default.cyan("\u25BA ") : " ";
|
|
12989
|
+
const nameStyle = isSelected ? chalk16__default.default.inverse.white : chalk16__default.default.white;
|
|
12990
|
+
const descStyle = isSelected ? chalk16__default.default.inverse.gray : chalk16__default.default.gray;
|
|
12914
12991
|
const name2 = suggestion.name.padEnd(15);
|
|
12915
12992
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
12916
12993
|
readline__namespace.cursorTo(process.stdout, 0);
|
|
@@ -12931,20 +13008,20 @@ var init_interactive_cli = __esm({
|
|
|
12931
13008
|
const promptLength = 2;
|
|
12932
13009
|
const savedX = this.cursorPosition + promptLength;
|
|
12933
13010
|
process.stdout.write("\n");
|
|
12934
|
-
process.stdout.write(
|
|
13011
|
+
process.stdout.write(chalk16__default.default.white("\u256D\u2500\u2500\u2500\u2500 Command Suggestions \u2500\u2500\u2500\u2500\u256E\n"));
|
|
12935
13012
|
this.suggestions.forEach((suggestion, index) => {
|
|
12936
13013
|
const isSelected = index === this.selectedIndex;
|
|
12937
|
-
const prefix = isSelected ?
|
|
12938
|
-
const nameStyle = isSelected ?
|
|
12939
|
-
const descStyle = isSelected ?
|
|
13014
|
+
const prefix = isSelected ? chalk16__default.default.cyan("\u25BA ") : " ";
|
|
13015
|
+
const nameStyle = isSelected ? chalk16__default.default.inverse.white : chalk16__default.default.white;
|
|
13016
|
+
const descStyle = isSelected ? chalk16__default.default.inverse.gray : chalk16__default.default.gray;
|
|
12940
13017
|
const name2 = suggestion.name.padEnd(15);
|
|
12941
13018
|
const desc = suggestion.description.length > 40 ? suggestion.description.substring(0, 37) + "..." : suggestion.description;
|
|
12942
13019
|
process.stdout.write(`${prefix}${nameStyle(name2)} ${descStyle(desc)}
|
|
12943
13020
|
`);
|
|
12944
13021
|
});
|
|
12945
|
-
process.stdout.write(
|
|
13022
|
+
process.stdout.write(chalk16__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"));
|
|
12946
13023
|
process.stdout.write(
|
|
12947
|
-
|
|
13024
|
+
chalk16__default.default.dim("\u2191/\u2193: Navigate \u2022 Tab/Enter: Select \u2022 Esc: Cancel")
|
|
12948
13025
|
);
|
|
12949
13026
|
const totalLines = this.suggestions.length + 4;
|
|
12950
13027
|
readline__namespace.moveCursor(process.stdout, 0, -totalLines);
|
|
@@ -13044,27 +13121,27 @@ var init_logger = __esm({
|
|
|
13044
13121
|
}
|
|
13045
13122
|
debug(...args) {
|
|
13046
13123
|
if (this.level <= 0 /* DEBUG */) {
|
|
13047
|
-
console.log(
|
|
13124
|
+
console.log(chalk16__default.default.magenta(`${this.prefix} [DEBUG]`), ...args);
|
|
13048
13125
|
}
|
|
13049
13126
|
}
|
|
13050
13127
|
info(...args) {
|
|
13051
13128
|
if (this.level <= 1 /* INFO */) {
|
|
13052
|
-
console.log(
|
|
13129
|
+
console.log(chalk16__default.default.bold.magenta(`${this.prefix} [INFO]`), ...args);
|
|
13053
13130
|
}
|
|
13054
13131
|
}
|
|
13055
13132
|
warn(...args) {
|
|
13056
13133
|
if (this.level <= 2 /* WARN */) {
|
|
13057
|
-
console.warn(
|
|
13134
|
+
console.warn(chalk16__default.default.bold.magenta(`${this.prefix} [WARN]`), ...args);
|
|
13058
13135
|
}
|
|
13059
13136
|
}
|
|
13060
13137
|
error(...args) {
|
|
13061
13138
|
if (this.level <= 3 /* ERROR */) {
|
|
13062
|
-
console.error(
|
|
13139
|
+
console.error(chalk16__default.default.bold.magenta(`${this.prefix} [ERROR]`), ...args);
|
|
13063
13140
|
}
|
|
13064
13141
|
}
|
|
13065
13142
|
success(...args) {
|
|
13066
13143
|
if (this.level <= 1 /* INFO */) {
|
|
13067
|
-
console.log(
|
|
13144
|
+
console.log(chalk16__default.default.bold.magenta(`${this.prefix} [SUCCESS]`), ...args);
|
|
13068
13145
|
}
|
|
13069
13146
|
}
|
|
13070
13147
|
task(taskName, status, message) {
|
|
@@ -13078,10 +13155,10 @@ var init_logger = __esm({
|
|
|
13078
13155
|
error: "\u274C"
|
|
13079
13156
|
};
|
|
13080
13157
|
const statusColors = {
|
|
13081
|
-
start:
|
|
13082
|
-
progress:
|
|
13083
|
-
complete:
|
|
13084
|
-
error:
|
|
13158
|
+
start: chalk16__default.default.bold.magenta,
|
|
13159
|
+
progress: chalk16__default.default.magenta,
|
|
13160
|
+
complete: chalk16__default.default.bold.magenta,
|
|
13161
|
+
error: chalk16__default.default.bold.magenta
|
|
13085
13162
|
};
|
|
13086
13163
|
const icon = statusIcons[status];
|
|
13087
13164
|
const color = statusColors[status];
|
|
@@ -13098,14 +13175,14 @@ var init_logger = __esm({
|
|
|
13098
13175
|
if (this.level > 0 /* DEBUG */) {
|
|
13099
13176
|
return;
|
|
13100
13177
|
}
|
|
13101
|
-
console.log(
|
|
13178
|
+
console.log(chalk16__default.default.magenta(`${this.prefix} [JSON]`));
|
|
13102
13179
|
console.log(pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj));
|
|
13103
13180
|
}
|
|
13104
13181
|
divider() {
|
|
13105
13182
|
if (this.level > 1 /* INFO */) {
|
|
13106
13183
|
return;
|
|
13107
13184
|
}
|
|
13108
|
-
console.log(
|
|
13185
|
+
console.log(chalk16__default.default.magenta("\u2500".repeat(60)));
|
|
13109
13186
|
}
|
|
13110
13187
|
clear() {
|
|
13111
13188
|
console.clear();
|
|
@@ -13125,7 +13202,7 @@ var init_logger = __esm({
|
|
|
13125
13202
|
const progressText = `${current}/${total}`;
|
|
13126
13203
|
const labelText = label ? ` ${label}` : "";
|
|
13127
13204
|
process.stdout.write(
|
|
13128
|
-
`\r${
|
|
13205
|
+
`\r${chalk16__default.default.bold.magenta(bar)} ${percentage}% ${progressText}${labelText}`
|
|
13129
13206
|
);
|
|
13130
13207
|
if (current === total) {
|
|
13131
13208
|
process.stdout.write("\n");
|
|
@@ -13761,7 +13838,6 @@ var init_bigquery_telemetry = __esm({
|
|
|
13761
13838
|
this.httpEndpoint = process.env.TELEMETRY_ENDPOINT || null;
|
|
13762
13839
|
if (this.isEnabled) {
|
|
13763
13840
|
this.initialize().catch((error2) => {
|
|
13764
|
-
console.error("[Telemetry] Initialization error:", error2);
|
|
13765
13841
|
});
|
|
13766
13842
|
}
|
|
13767
13843
|
}
|
|
@@ -13786,7 +13862,6 @@ var init_bigquery_telemetry = __esm({
|
|
|
13786
13862
|
keyFilename: process.env.GOOGLE_APPLICATION_CREDENTIALS
|
|
13787
13863
|
});
|
|
13788
13864
|
} catch (error2) {
|
|
13789
|
-
console.error("[Telemetry] Failed to initialize BigQuery:", error2);
|
|
13790
13865
|
}
|
|
13791
13866
|
}
|
|
13792
13867
|
this.startFlushTimer();
|
|
@@ -13828,7 +13903,6 @@ var init_bigquery_telemetry = __esm({
|
|
|
13828
13903
|
} else {
|
|
13829
13904
|
}
|
|
13830
13905
|
} catch (error2) {
|
|
13831
|
-
console.error("[Telemetry] Flush failed:", error2);
|
|
13832
13906
|
if (this.telemetryQueue.length < this.config.batchSize * 2) {
|
|
13833
13907
|
this.telemetryQueue = [...dataToFlush, ...this.telemetryQueue];
|
|
13834
13908
|
}
|
|
@@ -13892,7 +13966,6 @@ var init_bigquery_telemetry = __esm({
|
|
|
13892
13966
|
}
|
|
13893
13967
|
})
|
|
13894
13968
|
}).catch((error2) => {
|
|
13895
|
-
console.error("[Telemetry] HTTP flush failed:", error2);
|
|
13896
13969
|
throw error2;
|
|
13897
13970
|
});
|
|
13898
13971
|
if (!response2.ok) {
|
|
@@ -13906,7 +13979,6 @@ var init_bigquery_telemetry = __esm({
|
|
|
13906
13979
|
if (this.flushTimer) return;
|
|
13907
13980
|
this.flushTimer = setInterval(() => {
|
|
13908
13981
|
this.flush().catch((error2) => {
|
|
13909
|
-
console.error("[Telemetry] Timer flush failed:", error2);
|
|
13910
13982
|
});
|
|
13911
13983
|
}, this.config.flushIntervalMs);
|
|
13912
13984
|
}
|
|
@@ -15805,9 +15877,9 @@ var init_HelpCommand = __esm({
|
|
|
15805
15877
|
const stats = await this.readyService.getStatistics();
|
|
15806
15878
|
const lines = [];
|
|
15807
15879
|
lines.push("\u2550".repeat(60));
|
|
15808
|
-
lines.push(
|
|
15880
|
+
lines.push(chalk16__default.default.bold(`${stats.totalReady} READY Commands | ${stats.categoriesCount} Categories`));
|
|
15809
15881
|
lines.push("");
|
|
15810
|
-
lines.push(
|
|
15882
|
+
lines.push(chalk16__default.default.bold("Quick Access:"));
|
|
15811
15883
|
lines.push(" /help <command> - Detailed help for specific command");
|
|
15812
15884
|
lines.push(" /help --quickstart - Essential commands for new users");
|
|
15813
15885
|
lines.push(" /help --stats - Performance statistics");
|
|
@@ -15822,7 +15894,7 @@ var init_HelpCommand = __esm({
|
|
|
15822
15894
|
}
|
|
15823
15895
|
globalMaxNameLength = Math.max(globalMaxNameLength, 18) + 1;
|
|
15824
15896
|
for (const category of categories) {
|
|
15825
|
-
lines.push(
|
|
15897
|
+
lines.push(chalk16__default.default.bold(`${category.name.toUpperCase()} (${category.count})`));
|
|
15826
15898
|
const showCommands = category.commands.slice(0, 4);
|
|
15827
15899
|
for (const cmd of showCommands) {
|
|
15828
15900
|
const needsGpu = this.hasGpuRequirement(cmd.description);
|
|
@@ -15842,7 +15914,7 @@ var init_HelpCommand = __esm({
|
|
|
15842
15914
|
}
|
|
15843
15915
|
lines.push("");
|
|
15844
15916
|
}
|
|
15845
|
-
lines.push(
|
|
15917
|
+
lines.push(chalk16__default.default.bold("Pro Tips:"));
|
|
15846
15918
|
lines.push(" \u2022 All listed commands are production-ready");
|
|
15847
15919
|
lines.push(" \u2022 Use fuzzy search: /help --search confi \u2192 finds /config");
|
|
15848
15920
|
lines.push(" \u2022 Categories ordered by importance");
|
|
@@ -15881,33 +15953,33 @@ var init_HelpCommand = __esm({
|
|
|
15881
15953
|
formatCommandHelp(command) {
|
|
15882
15954
|
const lines = [];
|
|
15883
15955
|
lines.push("");
|
|
15884
|
-
lines.push(`\u{1F4D6} ${
|
|
15956
|
+
lines.push(`\u{1F4D6} ${chalk16__default.default.bold(`/${command.name}`)} - ${command.description}`);
|
|
15885
15957
|
lines.push("\u2550".repeat(50));
|
|
15886
15958
|
lines.push("");
|
|
15887
|
-
lines.push(
|
|
15959
|
+
lines.push(chalk16__default.default.bold("\u2139\uFE0F Information:"));
|
|
15888
15960
|
lines.push(` Category: ${this.readyService["getCategoryEmoji"](command.category)} ${command.category}`);
|
|
15889
15961
|
lines.push(` Status: \u2705 READY (contract validated)`);
|
|
15890
15962
|
if (command.aliases && command.aliases.length > 0) {
|
|
15891
15963
|
lines.push(` Aliases: ${command.aliases.map((a2) => `/${a2}`).join(", ")}`);
|
|
15892
15964
|
}
|
|
15893
15965
|
lines.push("");
|
|
15894
|
-
lines.push(
|
|
15966
|
+
lines.push(chalk16__default.default.bold("\u{1F3AF} Usage:"));
|
|
15895
15967
|
lines.push(` ${command.usage}`);
|
|
15896
15968
|
lines.push("");
|
|
15897
|
-
lines.push(
|
|
15969
|
+
lines.push(chalk16__default.default.bold("\u{1F4CB} Contract Validation:"));
|
|
15898
15970
|
lines.push(` \u26A1 Performance: ${command.contract.maxResponseTime}ms (tested)`);
|
|
15899
15971
|
lines.push(` \u{1F4BB} TTY Mode: ${command.contract.tty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
15900
15972
|
lines.push(` \u{1F527} Non-TTY Mode: ${command.contract.nonTty ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
15901
15973
|
lines.push(` \u{1F500} Pipe Mode: ${command.contract.pipe ? "\u2705 Supported" : "\u274C Not supported"}`);
|
|
15902
15974
|
lines.push("");
|
|
15903
15975
|
if (command.examples && command.examples.length > 0) {
|
|
15904
|
-
lines.push(
|
|
15976
|
+
lines.push(chalk16__default.default.bold("\u{1F4DD} Examples:"));
|
|
15905
15977
|
for (const example of command.examples) {
|
|
15906
15978
|
lines.push(` ${example}`);
|
|
15907
15979
|
}
|
|
15908
15980
|
lines.push("");
|
|
15909
15981
|
}
|
|
15910
|
-
lines.push(
|
|
15982
|
+
lines.push(chalk16__default.default.bold("\u{1F4A1} Quick Tips:"));
|
|
15911
15983
|
lines.push(` \u2022 This command is production-ready and fully tested`);
|
|
15912
15984
|
lines.push(` \u2022 Try /${command.name} --help for additional options`);
|
|
15913
15985
|
if (command.category !== "core") {
|
|
@@ -15958,7 +16030,7 @@ var init_HelpCommand = __esm({
|
|
|
15958
16030
|
};
|
|
15959
16031
|
const emoji = emojiMap[categoryName.toLowerCase()] || "\u{1F4CB}";
|
|
15960
16032
|
lines.push("");
|
|
15961
|
-
lines.push(`${emoji} ${
|
|
16033
|
+
lines.push(`${emoji} ${chalk16__default.default.bold(categoryName.toUpperCase() + " COMMANDS")} (${commands.length} READY)`);
|
|
15962
16034
|
lines.push("\u2550".repeat(50));
|
|
15963
16035
|
lines.push("");
|
|
15964
16036
|
const maxNameLength = Math.max(...commands.map((c) => c.name.length)) + 1;
|
|
@@ -15992,7 +16064,7 @@ var init_HelpCommand = __esm({
|
|
|
15992
16064
|
formatSearchResults(searchTerm, results) {
|
|
15993
16065
|
const lines = [];
|
|
15994
16066
|
lines.push("");
|
|
15995
|
-
lines.push(`\u{1F50D} ${
|
|
16067
|
+
lines.push(`\u{1F50D} ${chalk16__default.default.bold("SEARCH RESULTS")} for "${searchTerm}" (${results.length} matches)`);
|
|
15996
16068
|
lines.push("\u2550".repeat(50));
|
|
15997
16069
|
lines.push("");
|
|
15998
16070
|
for (const result of results) {
|
|
@@ -16005,7 +16077,7 @@ var init_HelpCommand = __esm({
|
|
|
16005
16077
|
}
|
|
16006
16078
|
lines.push("");
|
|
16007
16079
|
}
|
|
16008
|
-
lines.push(
|
|
16080
|
+
lines.push(chalk16__default.default.bold("\u{1F4A1} Tip:") + " Higher scores indicate better matches");
|
|
16009
16081
|
lines.push("");
|
|
16010
16082
|
return lines.join("\n");
|
|
16011
16083
|
}
|
|
@@ -16016,38 +16088,38 @@ var init_HelpCommand = __esm({
|
|
|
16016
16088
|
const quickCommands = await this.readyService.getQuickStartCommands();
|
|
16017
16089
|
const lines = [];
|
|
16018
16090
|
lines.push("");
|
|
16019
|
-
lines.push(`\u{1F680} ${
|
|
16091
|
+
lines.push(`\u{1F680} ${chalk16__default.default.bold("MARIA QUICKSTART")} - Essential Commands`);
|
|
16020
16092
|
lines.push("\u2550".repeat(50));
|
|
16021
16093
|
lines.push("");
|
|
16022
|
-
lines.push(
|
|
16094
|
+
lines.push(chalk16__default.default.bold("\u{1F3AF} Get Started in 3 Steps:"));
|
|
16023
16095
|
lines.push("");
|
|
16024
|
-
lines.push(
|
|
16096
|
+
lines.push(chalk16__default.default.bold("1\uFE0F\u20E3 Configure Your AI Provider"));
|
|
16025
16097
|
const modelCmd = quickCommands.find((c) => c.name === "model");
|
|
16026
16098
|
if (modelCmd) {
|
|
16027
16099
|
lines.push(` /${modelCmd.name} - ${modelCmd.description}`);
|
|
16028
16100
|
lines.push(` Try: /model set provider=openai key=sk-...`);
|
|
16029
16101
|
}
|
|
16030
16102
|
lines.push("");
|
|
16031
|
-
lines.push(
|
|
16103
|
+
lines.push(chalk16__default.default.bold("2\uFE0F\u20E3 Check System Status"));
|
|
16032
16104
|
const statusCmd = quickCommands.find((c) => c.name === "status");
|
|
16033
16105
|
if (statusCmd) {
|
|
16034
16106
|
lines.push(` /${statusCmd.name} - ${statusCmd.description}`);
|
|
16035
16107
|
lines.push(` Try: /status`);
|
|
16036
16108
|
}
|
|
16037
16109
|
lines.push("");
|
|
16038
|
-
lines.push(
|
|
16110
|
+
lines.push(chalk16__default.default.bold("3\uFE0F\u20E3 Start Coding"));
|
|
16039
16111
|
const codeCmd = quickCommands.find((c) => c.name === "code");
|
|
16040
16112
|
if (codeCmd) {
|
|
16041
16113
|
lines.push(` /${codeCmd.name} - ${codeCmd.description}`);
|
|
16042
16114
|
lines.push(` Try: /code create a hello world function`);
|
|
16043
16115
|
}
|
|
16044
16116
|
lines.push("");
|
|
16045
|
-
lines.push(
|
|
16117
|
+
lines.push(chalk16__default.default.bold("\u{1F527} Essential Commands:"));
|
|
16046
16118
|
for (const cmd of quickCommands) {
|
|
16047
16119
|
lines.push(` /${cmd.name.padEnd(12)} - ${cmd.description}`);
|
|
16048
16120
|
}
|
|
16049
16121
|
lines.push("");
|
|
16050
|
-
lines.push(
|
|
16122
|
+
lines.push(chalk16__default.default.bold("\u{1F4A1} Next Steps:"));
|
|
16051
16123
|
lines.push(" \u2022 /help --category <name> - Explore command categories");
|
|
16052
16124
|
lines.push(" \u2022 /help --search <term> - Find specific functionality");
|
|
16053
16125
|
lines.push(" \u2022 /help <command> - Get detailed command help");
|
|
@@ -16062,20 +16134,20 @@ var init_HelpCommand = __esm({
|
|
|
16062
16134
|
const categories = await this.readyService.getCategories();
|
|
16063
16135
|
const lines = [];
|
|
16064
16136
|
lines.push("");
|
|
16065
|
-
lines.push(`\u{1F4CA} ${
|
|
16137
|
+
lines.push(`\u{1F4CA} ${chalk16__default.default.bold("READY COMMANDS STATISTICS")}`);
|
|
16066
16138
|
lines.push("\u2550".repeat(40));
|
|
16067
16139
|
lines.push("");
|
|
16068
|
-
lines.push(
|
|
16140
|
+
lines.push(chalk16__default.default.bold("\u{1F3AF} Overall:"));
|
|
16069
16141
|
lines.push(` Total READY Commands: ${stats.totalReady}`);
|
|
16070
16142
|
lines.push(` Categories: ${stats.categoriesCount}`);
|
|
16071
16143
|
lines.push(` Last Updated: ${stats.lastUpdated?.toLocaleString() || "Unknown"}`);
|
|
16072
16144
|
lines.push("");
|
|
16073
|
-
lines.push(
|
|
16145
|
+
lines.push(chalk16__default.default.bold("\u26A1 Performance:"));
|
|
16074
16146
|
lines.push(` Average Response Time: ${stats.avgResponseTime}ms`);
|
|
16075
16147
|
lines.push(` Fastest Command: /${stats.fastestCommand}`);
|
|
16076
16148
|
lines.push(` Slowest Command: /${stats.slowestCommand}`);
|
|
16077
16149
|
lines.push("");
|
|
16078
|
-
lines.push(
|
|
16150
|
+
lines.push(chalk16__default.default.bold("\u{1F4CB} By Category:"));
|
|
16079
16151
|
for (const category of categories) {
|
|
16080
16152
|
const avgTime = Math.round(
|
|
16081
16153
|
category.commands.reduce((sum, cmd) => sum + cmd.contract.maxResponseTime, 0) / category.commands.length
|
|
@@ -16083,7 +16155,7 @@ var init_HelpCommand = __esm({
|
|
|
16083
16155
|
lines.push(` ${category.emoji} ${category.name.padEnd(15)}: ${category.count.toString().padStart(2)} commands (${avgTime}ms avg)`);
|
|
16084
16156
|
}
|
|
16085
16157
|
lines.push("");
|
|
16086
|
-
lines.push(
|
|
16158
|
+
lines.push(chalk16__default.default.bold("\u2705 Contract Validation:"));
|
|
16087
16159
|
lines.push(" All commands tested for:");
|
|
16088
16160
|
lines.push(" \u2022 Basic execution without crashes");
|
|
16089
16161
|
lines.push(" \u2022 TTY/non-TTY/pipe compatibility");
|
|
@@ -16257,10 +16329,10 @@ var init_LoginCommand = __esm({
|
|
|
16257
16329
|
if (!authResult.success) {
|
|
16258
16330
|
return this.error(authResult.error || "Authentication failed \xB7 Try again", void 0, void 0, 2);
|
|
16259
16331
|
}
|
|
16260
|
-
const
|
|
16261
|
-
const plan =
|
|
16262
|
-
const quotaLeft =
|
|
16263
|
-
const email =
|
|
16332
|
+
const userInfo = authResult.user;
|
|
16333
|
+
const plan = userInfo?.plan || "Free";
|
|
16334
|
+
const quotaLeft = userInfo?.usage?.requestsRemaining || 100;
|
|
16335
|
+
const email = userInfo?.email || "user";
|
|
16264
16336
|
await trackCommand({
|
|
16265
16337
|
cmd: "login",
|
|
16266
16338
|
status: "success",
|
|
@@ -16777,8 +16849,8 @@ ${this.toYamlLike(value, indent + 1)}`;
|
|
|
16777
16849
|
const { importNodeBuiltin: importNodeBuiltin2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
16778
16850
|
const fs12 = await importNodeBuiltin2("fs");
|
|
16779
16851
|
const _path = await importNodeBuiltin2("path");
|
|
16780
|
-
const
|
|
16781
|
-
const targetPath = configPath || _path.join(
|
|
16852
|
+
const os8 = await importNodeBuiltin2("os");
|
|
16853
|
+
const targetPath = configPath || _path.join(os8.homedir(), ".maria", "config.json");
|
|
16782
16854
|
try {
|
|
16783
16855
|
const data2 = await fs12.promises.readFile(targetPath, "utf-8");
|
|
16784
16856
|
return JSON.parse(data2);
|
|
@@ -16796,8 +16868,8 @@ ${this.toYamlLike(value, indent + 1)}`;
|
|
|
16796
16868
|
const { importNodeBuiltin: importNodeBuiltin2 } = await Promise.resolve().then(() => (init_import_helper(), import_helper_exports));
|
|
16797
16869
|
const fs12 = await importNodeBuiltin2("fs");
|
|
16798
16870
|
const _path = await importNodeBuiltin2("path");
|
|
16799
|
-
const
|
|
16800
|
-
const targetPath = configPath || _path.join(
|
|
16871
|
+
const os8 = await importNodeBuiltin2("os");
|
|
16872
|
+
const targetPath = configPath || _path.join(os8.homedir(), ".maria", "config.json");
|
|
16801
16873
|
try {
|
|
16802
16874
|
if (options?.backup) {
|
|
16803
16875
|
try {
|
|
@@ -16973,7 +17045,7 @@ var init_model_selector_ui = __esm({
|
|
|
16973
17045
|
output: process.stdout,
|
|
16974
17046
|
terminal: true
|
|
16975
17047
|
});
|
|
16976
|
-
console.log(
|
|
17048
|
+
console.log(chalk16__default.default.green(
|
|
16977
17049
|
"\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"
|
|
16978
17050
|
));
|
|
16979
17051
|
process.stdout.write("\x1B7");
|
|
@@ -17041,14 +17113,14 @@ var init_model_selector_ui = __esm({
|
|
|
17041
17113
|
}
|
|
17042
17114
|
renderFromSavedPosition() {
|
|
17043
17115
|
if (this.isDestroyed) return;
|
|
17044
|
-
console.log(
|
|
17045
|
-
"\u2502 " +
|
|
17116
|
+
console.log(chalk16__default.default.green(
|
|
17117
|
+
"\u2502 " + chalk16__default.default.greenBright("SELECT MODEL:") + " ".repeat(62) + "\u2502"
|
|
17046
17118
|
));
|
|
17047
17119
|
this.renderContent();
|
|
17048
17120
|
const scrollInfo = `[${this.selectedIndex + 1}/${this.models.length}]`;
|
|
17049
17121
|
const helpText = `\u2193:NEXT \u2191:PREV ENTER:EXEC ESC:ABORT ${scrollInfo}`;
|
|
17050
|
-
console.log(
|
|
17051
|
-
console.log(
|
|
17122
|
+
console.log(chalk16__default.default.green("\u2502 ") + chalk16__default.default.dim.green(helpText.padEnd(76)) + chalk16__default.default.green(" \u2502"));
|
|
17123
|
+
console.log(chalk16__default.default.green(
|
|
17052
17124
|
"\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"
|
|
17053
17125
|
));
|
|
17054
17126
|
}
|
|
@@ -17089,19 +17161,19 @@ var init_model_selector_ui = __esm({
|
|
|
17089
17161
|
const item = displayItems[i2];
|
|
17090
17162
|
if (item.type === "group") {
|
|
17091
17163
|
console.log(
|
|
17092
|
-
|
|
17164
|
+
chalk16__default.default.green("\u2502") + chalk16__default.default.dim.green(" \u2501\u2501\u2501 ") + chalk16__default.default.greenBright(item.content.substring(2, item.content.indexOf(" \u2500"))) + chalk16__default.default.dim.green(" " + "\u2501".repeat(71 - item.content.indexOf(" \u2500"))) + chalk16__default.default.green("\u2502")
|
|
17093
17165
|
);
|
|
17094
17166
|
} else {
|
|
17095
17167
|
const isSelected = item.modelIndex === this.selectedIndex;
|
|
17096
|
-
const prefix = isSelected ?
|
|
17168
|
+
const prefix = isSelected ? chalk16__default.default.greenBright("\u25B6 ") : " ";
|
|
17097
17169
|
const modelText = item.content;
|
|
17098
17170
|
if (isSelected) {
|
|
17099
17171
|
console.log(
|
|
17100
|
-
|
|
17172
|
+
chalk16__default.default.green("\u2502") + prefix + chalk16__default.default.black.bgGreen(modelText.padEnd(75)) + chalk16__default.default.green("\u2502")
|
|
17101
17173
|
);
|
|
17102
17174
|
} else {
|
|
17103
17175
|
console.log(
|
|
17104
|
-
|
|
17176
|
+
chalk16__default.default.green("\u2502") + prefix + chalk16__default.default.green(modelText.substring(0, 75).padEnd(75)) + chalk16__default.default.green("\u2502")
|
|
17105
17177
|
);
|
|
17106
17178
|
}
|
|
17107
17179
|
}
|
|
@@ -19326,332 +19398,6 @@ var init_ConfigCommand = __esm({
|
|
|
19326
19398
|
};
|
|
19327
19399
|
}
|
|
19328
19400
|
});
|
|
19329
|
-
function getSafeTerminalWidth() {
|
|
19330
|
-
if (process.env.MARIA_FIXED_WIDTH) {
|
|
19331
|
-
const fixed = Number(process.env.MARIA_FIXED_WIDTH);
|
|
19332
|
-
if (Number.isFinite(fixed) && fixed > 0) {
|
|
19333
|
-
return fixed;
|
|
19334
|
-
}
|
|
19335
|
-
}
|
|
19336
|
-
const isTTY = process.stdout && process.stdout.isTTY;
|
|
19337
|
-
if (isTTY && typeof process.stdout.columns === "number" && process.stdout.columns > 0) {
|
|
19338
|
-
return process.stdout.columns;
|
|
19339
|
-
}
|
|
19340
|
-
const envColumns = Number(process.env.COLUMNS);
|
|
19341
|
-
if (Number.isFinite(envColumns) && envColumns > 0) {
|
|
19342
|
-
return envColumns;
|
|
19343
|
-
}
|
|
19344
|
-
if (process.platform === "win32") {
|
|
19345
|
-
try {
|
|
19346
|
-
const { execSync } = __require("child_process");
|
|
19347
|
-
const result = execSync('powershell -command "$host.UI.RawUI.WindowSize.Width"', {
|
|
19348
|
-
encoding: "utf8",
|
|
19349
|
-
stdio: ["pipe", "pipe", "ignore"]
|
|
19350
|
-
// Suppress stderr
|
|
19351
|
-
});
|
|
19352
|
-
const width = parseInt(result.trim());
|
|
19353
|
-
if (Number.isFinite(width) && width > 0) {
|
|
19354
|
-
return width;
|
|
19355
|
-
}
|
|
19356
|
-
} catch {
|
|
19357
|
-
}
|
|
19358
|
-
}
|
|
19359
|
-
return 80;
|
|
19360
|
-
}
|
|
19361
|
-
function getResponsiveWidth(config2) {
|
|
19362
|
-
if (process.env.MARIA_DISABLE_RESPONSIVE === "1") {
|
|
19363
|
-
return config2?.maxWidth || 120;
|
|
19364
|
-
}
|
|
19365
|
-
const terminalWidth = getSafeTerminalWidth();
|
|
19366
|
-
const marginLeft = config2?.marginLeft ?? 5;
|
|
19367
|
-
const marginRight = config2?.marginRight ?? 5;
|
|
19368
|
-
const minWidth = config2?.minWidth ?? 40;
|
|
19369
|
-
const maxWidth = config2?.maxWidth ?? 200;
|
|
19370
|
-
const availableWidth = terminalWidth - marginLeft - marginRight;
|
|
19371
|
-
return Math.max(minWidth, Math.min(availableWidth, maxWidth));
|
|
19372
|
-
}
|
|
19373
|
-
function disposeSharedLayoutManager() {
|
|
19374
|
-
if (sharedManager) {
|
|
19375
|
-
sharedManager.dispose();
|
|
19376
|
-
sharedManager = null;
|
|
19377
|
-
}
|
|
19378
|
-
}
|
|
19379
|
-
function isCI() {
|
|
19380
|
-
return !!(process.env.CI || process.env.GITHUB_ACTIONS || process.env.GITLAB_CI || process.env.JENKINS_HOME || process.env.TRAVIS || process.env.CIRCLECI || process.env.BUILDKITE || process.env.DRONE);
|
|
19381
|
-
}
|
|
19382
|
-
function autoConfigureForEnvironment() {
|
|
19383
|
-
if (isCI() || !process.stdout.isTTY) {
|
|
19384
|
-
if (!process.env.MARIA_FIXED_WIDTH) {
|
|
19385
|
-
process.env.MARIA_FIXED_WIDTH = "80";
|
|
19386
|
-
}
|
|
19387
|
-
}
|
|
19388
|
-
}
|
|
19389
|
-
var sharedManager;
|
|
19390
|
-
var init_responsive_width = __esm({
|
|
19391
|
-
"src/ui/integrated-cli/responsive-width.ts"() {
|
|
19392
|
-
sharedManager = null;
|
|
19393
|
-
autoConfigureForEnvironment();
|
|
19394
|
-
if (process.env.NODE_ENV !== "production") {
|
|
19395
|
-
process.on("exit", () => {
|
|
19396
|
-
disposeSharedLayoutManager();
|
|
19397
|
-
});
|
|
19398
|
-
}
|
|
19399
|
-
}
|
|
19400
|
-
});
|
|
19401
|
-
|
|
19402
|
-
// src/services/startup-display.ts
|
|
19403
|
-
var startup_display_exports = {};
|
|
19404
|
-
__export(startup_display_exports, {
|
|
19405
|
-
displayCompactLogo: () => displayCompactLogo,
|
|
19406
|
-
displayDashboardHeader: () => displayDashboardHeader,
|
|
19407
|
-
displayFinalStartupScreen: () => displayFinalStartupScreen,
|
|
19408
|
-
displayLogsBox: () => displayLogsBox,
|
|
19409
|
-
displayRoundedInputBox: () => displayRoundedInputBox,
|
|
19410
|
-
displaySpinner: () => displaySpinner,
|
|
19411
|
-
displayStartupLogo: () => displayStartupLogo
|
|
19412
|
-
});
|
|
19413
|
-
function displayStartupLogo() {
|
|
19414
|
-
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
19415
|
-
console.log("");
|
|
19416
|
-
console.log(
|
|
19417
|
-
chalk17__default.default.magentaBright(
|
|
19418
|
-
"\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"
|
|
19419
|
-
)
|
|
19420
|
-
);
|
|
19421
|
-
console.log(
|
|
19422
|
-
chalk17__default.default.magentaBright(
|
|
19423
|
-
"\u2551 \u2551"
|
|
19424
|
-
)
|
|
19425
|
-
);
|
|
19426
|
-
console.log(
|
|
19427
|
-
chalk17__default.default.magentaBright(
|
|
19428
|
-
"\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"
|
|
19429
|
-
)
|
|
19430
|
-
);
|
|
19431
|
-
console.log(
|
|
19432
|
-
chalk17__default.default.magentaBright(
|
|
19433
|
-
"\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"
|
|
19434
|
-
)
|
|
19435
|
-
);
|
|
19436
|
-
console.log(
|
|
19437
|
-
chalk17__default.default.magentaBright(
|
|
19438
|
-
"\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"
|
|
19439
|
-
)
|
|
19440
|
-
);
|
|
19441
|
-
console.log(
|
|
19442
|
-
chalk17__default.default.magentaBright(
|
|
19443
|
-
"\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"
|
|
19444
|
-
)
|
|
19445
|
-
);
|
|
19446
|
-
console.log(
|
|
19447
|
-
chalk17__default.default.magentaBright(
|
|
19448
|
-
"\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"
|
|
19449
|
-
)
|
|
19450
|
-
);
|
|
19451
|
-
console.log(
|
|
19452
|
-
chalk17__default.default.magentaBright(
|
|
19453
|
-
"\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"
|
|
19454
|
-
)
|
|
19455
|
-
);
|
|
19456
|
-
console.log(
|
|
19457
|
-
chalk17__default.default.magentaBright(
|
|
19458
|
-
"\u2551 \u2551"
|
|
19459
|
-
)
|
|
19460
|
-
);
|
|
19461
|
-
console.log(
|
|
19462
|
-
chalk17__default.default.magentaBright(
|
|
19463
|
-
"\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"
|
|
19464
|
-
)
|
|
19465
|
-
);
|
|
19466
|
-
console.log(
|
|
19467
|
-
chalk17__default.default.magentaBright(
|
|
19468
|
-
"\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"
|
|
19469
|
-
)
|
|
19470
|
-
);
|
|
19471
|
-
console.log(
|
|
19472
|
-
chalk17__default.default.magentaBright(
|
|
19473
|
-
"\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2551"
|
|
19474
|
-
)
|
|
19475
|
-
);
|
|
19476
|
-
console.log(
|
|
19477
|
-
chalk17__default.default.magentaBright(
|
|
19478
|
-
"\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2551"
|
|
19479
|
-
)
|
|
19480
|
-
);
|
|
19481
|
-
console.log(
|
|
19482
|
-
chalk17__default.default.magentaBright(
|
|
19483
|
-
"\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"
|
|
19484
|
-
)
|
|
19485
|
-
);
|
|
19486
|
-
console.log(
|
|
19487
|
-
chalk17__default.default.magentaBright(
|
|
19488
|
-
"\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"
|
|
19489
|
-
)
|
|
19490
|
-
);
|
|
19491
|
-
console.log(
|
|
19492
|
-
chalk17__default.default.magentaBright(
|
|
19493
|
-
"\u2551 \u2551"
|
|
19494
|
-
)
|
|
19495
|
-
);
|
|
19496
|
-
console.log(
|
|
19497
|
-
chalk17__default.default.magentaBright(
|
|
19498
|
-
"\u2551 AI-Powered Development Platform \u2551"
|
|
19499
|
-
)
|
|
19500
|
-
);
|
|
19501
|
-
console.log(
|
|
19502
|
-
chalk17__default.default.magentaBright(
|
|
19503
|
-
"\u2551 (c) 2025 Bonginkan Inc. \u2551"
|
|
19504
|
-
)
|
|
19505
|
-
);
|
|
19506
|
-
console.log(
|
|
19507
|
-
chalk17__default.default.magentaBright(
|
|
19508
|
-
"\u2551 \u2551"
|
|
19509
|
-
)
|
|
19510
|
-
);
|
|
19511
|
-
console.log(
|
|
19512
|
-
chalk17__default.default.magentaBright(
|
|
19513
|
-
"\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"
|
|
19514
|
-
)
|
|
19515
|
-
);
|
|
19516
|
-
console.log("");
|
|
19517
|
-
console.log(
|
|
19518
|
-
chalk17__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk17__default.default.gray(" \u2014 Ready")
|
|
19519
|
-
);
|
|
19520
|
-
console.log(
|
|
19521
|
-
chalk17__default.default.yellow("Type /login to get started \xB7 /help for commands")
|
|
19522
|
-
);
|
|
19523
|
-
console.log("");
|
|
19524
|
-
}
|
|
19525
|
-
function displayCompactLogo() {
|
|
19526
|
-
process.stdout.write("\x1B[2J\x1B[H");
|
|
19527
|
-
console.log(
|
|
19528
|
-
chalk17__default.default.cyan.bold(`MARIA CODE v${getVersion()}`) + chalk17__default.default.gray(" \u2014 Ready")
|
|
19529
|
-
);
|
|
19530
|
-
console.log(
|
|
19531
|
-
chalk17__default.default.yellow("Type /login to get started \xB7 /help for commands")
|
|
19532
|
-
);
|
|
19533
|
-
console.log("");
|
|
19534
|
-
}
|
|
19535
|
-
function displayDashboardHeader() {
|
|
19536
|
-
process.stdout.write("\x1B[2J\x1B[H");
|
|
19537
|
-
const version = chalk17__default.default.cyan.bold(`MARIA CODE v${getVersion()}`);
|
|
19538
|
-
const commands = chalk17__default.default.gray(" | /help /status /model");
|
|
19539
|
-
const providers = chalk17__default.default.gray(
|
|
19540
|
-
"Providers: 8/8 OK (openai, anthropic, google, groq, lmstudio, ollama, vllm)"
|
|
19541
|
-
);
|
|
19542
|
-
console.log(version + commands);
|
|
19543
|
-
console.log(providers);
|
|
19544
|
-
console.log("");
|
|
19545
|
-
}
|
|
19546
|
-
function displayLogsBox(logs) {
|
|
19547
|
-
const width = getResponsiveWidth({ marginLeft: 5, marginRight: 5, maxWidth: 120 });
|
|
19548
|
-
const borderColor = chalk17__default.default.white;
|
|
19549
|
-
const titleColor = chalk17__default.default.cyan;
|
|
19550
|
-
const topLeft = "\u250C";
|
|
19551
|
-
const topRight = "\u2510";
|
|
19552
|
-
const bottomLeft = "\u2514";
|
|
19553
|
-
const bottomRight = "\u2518";
|
|
19554
|
-
const horizontal = "\u2500";
|
|
19555
|
-
const vertical = "\u2502";
|
|
19556
|
-
const lines = [];
|
|
19557
|
-
const title = " Logs ";
|
|
19558
|
-
lines.push(
|
|
19559
|
-
borderColor(topLeft) + titleColor(title) + borderColor(horizontal.repeat(width - title.length - 2)) + borderColor(topRight)
|
|
19560
|
-
);
|
|
19561
|
-
logs.forEach((log) => {
|
|
19562
|
-
const contentWidth = width - 4;
|
|
19563
|
-
const truncatedLog = log.length > contentWidth ? log.substring(0, contentWidth - 3) + "..." : log;
|
|
19564
|
-
const padding = width - truncatedLog.length - 4;
|
|
19565
|
-
lines.push(
|
|
19566
|
-
borderColor(vertical) + " " + truncatedLog + " ".repeat(Math.max(0, padding)) + " " + borderColor(vertical)
|
|
19567
|
-
);
|
|
19568
|
-
});
|
|
19569
|
-
if (logs.length === 0) {
|
|
19570
|
-
lines.push(
|
|
19571
|
-
borderColor(vertical) + " ".repeat(width - 2) + borderColor(vertical)
|
|
19572
|
-
);
|
|
19573
|
-
}
|
|
19574
|
-
lines.push(
|
|
19575
|
-
borderColor(bottomLeft + horizontal.repeat(width - 2) + bottomRight)
|
|
19576
|
-
);
|
|
19577
|
-
console.log(lines.join("\n"));
|
|
19578
|
-
}
|
|
19579
|
-
function displaySpinner(text = "Processing") {
|
|
19580
|
-
const spinnerFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
19581
|
-
const frame = spinnerFrames[Math.floor(Date.now() / 80) % spinnerFrames.length];
|
|
19582
|
-
process.stdout.write(`\r[${chalk17__default.default.cyan(frame)}] ${text}...`);
|
|
19583
|
-
}
|
|
19584
|
-
function getCurrentPath() {
|
|
19585
|
-
return process.cwd();
|
|
19586
|
-
}
|
|
19587
|
-
function getSystemInfo() {
|
|
19588
|
-
return {
|
|
19589
|
-
platform: os__namespace.platform(),
|
|
19590
|
-
hostname: os__namespace.hostname(),
|
|
19591
|
-
user: os__namespace.userInfo().username,
|
|
19592
|
-
cwd: getCurrentPath()
|
|
19593
|
-
};
|
|
19594
|
-
}
|
|
19595
|
-
async function displayFinalStartupScreen(_selectedProvider, _selectedModel) {
|
|
19596
|
-
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
19597
|
-
const version = getVersion();
|
|
19598
|
-
const systemInfo = getSystemInfo();
|
|
19599
|
-
console.log(
|
|
19600
|
-
chalk17__default.default.cyan.bold(`MARIA CODE v${version}`) + chalk17__default.default.gray(" \u2014 Ready")
|
|
19601
|
-
);
|
|
19602
|
-
const cwd = systemInfo.cwd.replace(os__namespace.homedir(), "~");
|
|
19603
|
-
console.log(chalk17__default.default.gray("cwd: ") + chalk17__default.default.white(cwd));
|
|
19604
|
-
try {
|
|
19605
|
-
const { authManager: authManager2 } = await import('../cli-auth/index.js').catch(() => ({ authManager: null }));
|
|
19606
|
-
if (authManager2 && await authManager2.isAuthenticated()) {
|
|
19607
|
-
try {
|
|
19608
|
-
const user = await authManager2.getCurrentUser();
|
|
19609
|
-
console.log(chalk17__default.default.green(`Signed in: ${user.email}`));
|
|
19610
|
-
console.log(chalk17__default.default.yellow("Tip: /help \xB7 /help code \xB7 /usage"));
|
|
19611
|
-
} catch {
|
|
19612
|
-
console.log(chalk17__default.default.green("Signed in"));
|
|
19613
|
-
console.log(chalk17__default.default.yellow("Tip: /help \xB7 /help code \xB7 /usage"));
|
|
19614
|
-
}
|
|
19615
|
-
} else {
|
|
19616
|
-
console.log(chalk17__default.default.gray("Not signed in"));
|
|
19617
|
-
console.log(chalk17__default.default.yellow("Tip: /login \xB7 /help \xB7 /help code"));
|
|
19618
|
-
}
|
|
19619
|
-
} catch {
|
|
19620
|
-
console.log(chalk17__default.default.gray("Not signed in"));
|
|
19621
|
-
console.log(chalk17__default.default.yellow("Tip: /login \xB7 /help \xB7 /help code"));
|
|
19622
|
-
}
|
|
19623
|
-
console.log("");
|
|
19624
|
-
}
|
|
19625
|
-
function displayRoundedInputBox() {
|
|
19626
|
-
const width = getResponsiveWidth({ marginLeft: 5, marginRight: 5, maxWidth: 90 });
|
|
19627
|
-
const borderColor = chalk17__default.default.white;
|
|
19628
|
-
const promptColor = chalk17__default.default.cyan;
|
|
19629
|
-
const topLeft = "\u256D";
|
|
19630
|
-
const topRight = "\u256E";
|
|
19631
|
-
const bottomLeft = "\u2570";
|
|
19632
|
-
const bottomRight = "\u256F";
|
|
19633
|
-
const horizontal = "\u2500";
|
|
19634
|
-
const vertical = "\u2502";
|
|
19635
|
-
const lines = [];
|
|
19636
|
-
lines.push(borderColor(topLeft + horizontal.repeat(width - 2) + topRight));
|
|
19637
|
-
const promptStr = promptColor("> ");
|
|
19638
|
-
const placeholder = chalk17__default.default.gray("");
|
|
19639
|
-
const inputLine = promptStr + placeholder;
|
|
19640
|
-
const padding = width - 4;
|
|
19641
|
-
lines.push(
|
|
19642
|
-
borderColor(vertical) + inputLine + " ".repeat(Math.max(0, padding)) + borderColor(vertical)
|
|
19643
|
-
);
|
|
19644
|
-
lines.push(
|
|
19645
|
-
borderColor(bottomLeft + horizontal.repeat(width - 2) + bottomRight)
|
|
19646
|
-
);
|
|
19647
|
-
console.log(lines.join("\n"));
|
|
19648
|
-
}
|
|
19649
|
-
var init_startup_display = __esm({
|
|
19650
|
-
"src/services/startup-display.ts"() {
|
|
19651
|
-
init_responsive_width();
|
|
19652
|
-
init_version();
|
|
19653
|
-
}
|
|
19654
|
-
});
|
|
19655
19401
|
|
|
19656
19402
|
// src/services/llm-health-checker.ts
|
|
19657
19403
|
var llm_health_checker_exports = {};
|
|
@@ -19789,29 +19535,29 @@ var init_provider_selector = __esm({
|
|
|
19789
19535
|
const inquirer = await import('inquirer');
|
|
19790
19536
|
const prompt = inquirer.default?.prompt || inquirer.prompt;
|
|
19791
19537
|
const providers = await this.getAvailableProviders();
|
|
19792
|
-
console.log(
|
|
19793
|
-
console.log(
|
|
19538
|
+
console.log(chalk16__default.default.cyan("\nAvailable AI Providers:"));
|
|
19539
|
+
console.log(chalk16__default.default.gray("\u2500".repeat(50)));
|
|
19794
19540
|
const _cloudProviders = providers.filter((p) => p.type === "cloud");
|
|
19795
19541
|
const _localProviders = providers.filter((p) => p.type === "local");
|
|
19796
19542
|
if (_cloudProviders.length > 0) {
|
|
19797
|
-
console.log(
|
|
19543
|
+
console.log(chalk16__default.default.yellow("\n\u2601\uFE0F Cloud AI:"));
|
|
19798
19544
|
_cloudProviders.forEach((p) => {
|
|
19799
19545
|
if (p.available) {
|
|
19800
19546
|
console.log(
|
|
19801
|
-
` ${
|
|
19547
|
+
` ${chalk16__default.default.green("*")} ${chalk16__default.default.white(p.name.split(" ")[0])}`
|
|
19802
19548
|
);
|
|
19803
19549
|
} else {
|
|
19804
|
-
console.log(` ${
|
|
19550
|
+
console.log(` ${chalk16__default.default.gray(p.name.split(" ")[0])}`);
|
|
19805
19551
|
}
|
|
19806
19552
|
});
|
|
19807
19553
|
}
|
|
19808
19554
|
if (_localProviders.length > 0) {
|
|
19809
|
-
console.log(
|
|
19555
|
+
console.log(chalk16__default.default.cyan("\n\u{1F4BB} Local AI:"));
|
|
19810
19556
|
_localProviders.forEach((p) => {
|
|
19811
19557
|
if (p.available) {
|
|
19812
|
-
console.log(` ${
|
|
19558
|
+
console.log(` ${chalk16__default.default.green("*")} ${chalk16__default.default.white(p.name)}`);
|
|
19813
19559
|
} else {
|
|
19814
|
-
console.log(` ${
|
|
19560
|
+
console.log(` ${chalk16__default.default.green("*")} ${chalk16__default.default.gray(p.name)}`);
|
|
19815
19561
|
}
|
|
19816
19562
|
});
|
|
19817
19563
|
}
|
|
@@ -19826,20 +19572,20 @@ var init_provider_selector = __esm({
|
|
|
19826
19572
|
});
|
|
19827
19573
|
if (selectableProviders.length === 0) {
|
|
19828
19574
|
console.log(
|
|
19829
|
-
|
|
19575
|
+
chalk16__default.default.yellow("\n\u26A0\uFE0F No AI providers are currently available.")
|
|
19830
19576
|
);
|
|
19831
|
-
console.log(
|
|
19577
|
+
console.log(chalk16__default.default.gray("\nTo use MARIA, you need to:"));
|
|
19832
19578
|
console.log(
|
|
19833
|
-
|
|
19579
|
+
chalk16__default.default.gray(
|
|
19834
19580
|
"1. Set up API keys for cloud providers (OpenAI, Anthropic, Google, etc.)"
|
|
19835
19581
|
)
|
|
19836
19582
|
);
|
|
19837
|
-
console.log(
|
|
19583
|
+
console.log(chalk16__default.default.gray(" Example: export OPENAI_API_KEY=your_api_key"));
|
|
19838
19584
|
console.log(
|
|
19839
|
-
|
|
19585
|
+
chalk16__default.default.gray("2. Or start a local AI service (Ollama, LM Studio, vLLM)")
|
|
19840
19586
|
);
|
|
19841
|
-
console.log(
|
|
19842
|
-
console.log(
|
|
19587
|
+
console.log(chalk16__default.default.gray(" Example: maria setup-ollama"));
|
|
19588
|
+
console.log(chalk16__default.default.gray("\nFor more information, run: maria --help"));
|
|
19843
19589
|
process.exit(1);
|
|
19844
19590
|
}
|
|
19845
19591
|
const choices = selectableProviders.map((p) => ({
|
|
@@ -19860,29 +19606,29 @@ var init_provider_selector = __esm({
|
|
|
19860
19606
|
const provider = providers.find((p) => p.value === selectedProvider);
|
|
19861
19607
|
if (provider && provider.type === "local" && !provider.available) {
|
|
19862
19608
|
console.log(
|
|
19863
|
-
|
|
19609
|
+
chalk16__default.default.yellow(`
|
|
19864
19610
|
\u26A0\uFE0F ${provider.name} is not currently running.`)
|
|
19865
19611
|
);
|
|
19866
|
-
console.log(
|
|
19612
|
+
console.log(chalk16__default.default.gray(`
|
|
19867
19613
|
To use ${provider.name}, you need to:`));
|
|
19868
19614
|
if (selectedProvider === "ollama") {
|
|
19869
|
-
console.log(
|
|
19870
|
-
console.log(
|
|
19871
|
-
console.log(
|
|
19615
|
+
console.log(chalk16__default.default.gray("1. Install Ollama: brew install ollama"));
|
|
19616
|
+
console.log(chalk16__default.default.gray("2. Start Ollama: ollama serve"));
|
|
19617
|
+
console.log(chalk16__default.default.gray("3. Pull a model: ollama pull llama3.2:3b"));
|
|
19872
19618
|
console.log(
|
|
19873
|
-
|
|
19619
|
+
chalk16__default.default.gray("\nOr use the setup command: maria setup-ollama")
|
|
19874
19620
|
);
|
|
19875
19621
|
} else if (selectedProvider === "lmstudio") {
|
|
19876
19622
|
console.log(
|
|
19877
|
-
|
|
19623
|
+
chalk16__default.default.gray("1. Download LM Studio from https://lmstudio.ai")
|
|
19878
19624
|
);
|
|
19879
|
-
console.log(
|
|
19880
|
-
console.log(
|
|
19881
|
-
console.log(
|
|
19625
|
+
console.log(chalk16__default.default.gray("2. Start LM Studio application"));
|
|
19626
|
+
console.log(chalk16__default.default.gray("3. Load a model in LM Studio"));
|
|
19627
|
+
console.log(chalk16__default.default.gray("4. Start the local server in LM Studio"));
|
|
19882
19628
|
} else if (selectedProvider === "vllm") {
|
|
19883
|
-
console.log(
|
|
19884
|
-
console.log(
|
|
19885
|
-
console.log(
|
|
19629
|
+
console.log(chalk16__default.default.gray("1. Install vLLM: pip install vllm"));
|
|
19630
|
+
console.log(chalk16__default.default.gray("2. Start vLLM server with a model"));
|
|
19631
|
+
console.log(chalk16__default.default.gray("\nOr use the setup command: maria setup-vllm"));
|
|
19886
19632
|
}
|
|
19887
19633
|
process.exit(1);
|
|
19888
19634
|
}
|
|
@@ -23137,7 +22883,7 @@ var init_IntelligentRouterService = __esm({
|
|
|
23137
22883
|
this.emit("initialized");
|
|
23138
22884
|
} catch (_error) {
|
|
23139
22885
|
console._error(
|
|
23140
|
-
|
|
22886
|
+
chalk16__default.default.red("Failed to initialize Intelligent Router:"),
|
|
23141
22887
|
_error
|
|
23142
22888
|
);
|
|
23143
22889
|
throw _error;
|
|
@@ -23191,7 +22937,7 @@ var init_IntelligentRouterService = __esm({
|
|
|
23191
22937
|
} catch (_error) {
|
|
23192
22938
|
this.metrics.failedRoutes++;
|
|
23193
22939
|
this.emit("route:_error", { input: input3, _error });
|
|
23194
|
-
console._error(
|
|
22940
|
+
console._error(chalk16__default.default.red("Routing _error:"), _error);
|
|
23195
22941
|
return null;
|
|
23196
22942
|
}
|
|
23197
22943
|
}
|
|
@@ -23874,28 +23620,28 @@ var init_ChalkAdapter = __esm({
|
|
|
23874
23620
|
spinnerId = 0;
|
|
23875
23621
|
async showWelcome() {
|
|
23876
23622
|
console.log(
|
|
23877
|
-
|
|
23623
|
+
chalk16__default.default.cyan.bold("\n\u{1F916} Welcome to MARIA Interactive Session v3.5.0")
|
|
23878
23624
|
);
|
|
23879
|
-
console.log(
|
|
23625
|
+
console.log(chalk16__default.default.gray("Type /help for available commands\n"));
|
|
23880
23626
|
}
|
|
23881
23627
|
showGoodbye() {
|
|
23882
23628
|
this.stopAllSpinners();
|
|
23883
|
-
console.log(
|
|
23629
|
+
console.log(chalk16__default.default.yellow("\n\u{1F44B} Goodbye! Thank you for using MARIA.\n"));
|
|
23884
23630
|
}
|
|
23885
23631
|
async print(message) {
|
|
23886
23632
|
console.log(message);
|
|
23887
23633
|
}
|
|
23888
23634
|
error(message) {
|
|
23889
|
-
console.error(
|
|
23635
|
+
console.error(chalk16__default.default.red(`\u274C ${message}`));
|
|
23890
23636
|
}
|
|
23891
23637
|
success(message) {
|
|
23892
|
-
console.log(
|
|
23638
|
+
console.log(chalk16__default.default.green(`\u2705 ${message}`));
|
|
23893
23639
|
}
|
|
23894
23640
|
warning(message) {
|
|
23895
|
-
console.warn(
|
|
23641
|
+
console.warn(chalk16__default.default.yellow(`\u26A0\uFE0F ${message}`));
|
|
23896
23642
|
}
|
|
23897
23643
|
info(message) {
|
|
23898
|
-
console.info(
|
|
23644
|
+
console.info(chalk16__default.default.blue(`\u2139\uFE0F ${message}`));
|
|
23899
23645
|
}
|
|
23900
23646
|
startSpinner(message) {
|
|
23901
23647
|
const id = `spinner-${++this.spinnerId}`;
|
|
@@ -23945,12 +23691,12 @@ var init_ChalkAdapter = __esm({
|
|
|
23945
23691
|
* Format helpers for consistent styling
|
|
23946
23692
|
*/
|
|
23947
23693
|
static format = {
|
|
23948
|
-
command: (text) =>
|
|
23949
|
-
keyword: (text) =>
|
|
23950
|
-
value: (text) =>
|
|
23951
|
-
dim: (text) =>
|
|
23952
|
-
bold: (text) =>
|
|
23953
|
-
code: (text) =>
|
|
23694
|
+
command: (text) => chalk16__default.default.cyan(text),
|
|
23695
|
+
keyword: (text) => chalk16__default.default.magenta(text),
|
|
23696
|
+
value: (text) => chalk16__default.default.green(text),
|
|
23697
|
+
dim: (text) => chalk16__default.default.gray(text),
|
|
23698
|
+
bold: (text) => chalk16__default.default.bold(text),
|
|
23699
|
+
code: (text) => chalk16__default.default.bgGray.white(` ${text} `)
|
|
23954
23700
|
};
|
|
23955
23701
|
};
|
|
23956
23702
|
}
|
|
@@ -29100,26 +28846,26 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29100
28846
|
const _lang = options.language || "en";
|
|
29101
28847
|
const _labels = LANGUAGE_LABELS[_lang] || LANGUAGE_LABELS.en;
|
|
29102
28848
|
console.log("");
|
|
29103
|
-
console.log(
|
|
28849
|
+
console.log(chalk16__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"));
|
|
29104
28850
|
console.log(
|
|
29105
|
-
|
|
28851
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29106
28852
|
` ${_labels.approvalRequest}${" ".repeat(Math.max(0, 43 - _labels.approvalRequest.length))}`
|
|
29107
|
-
) +
|
|
28853
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29108
28854
|
);
|
|
29109
|
-
console.log(
|
|
28855
|
+
console.log(chalk16__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"));
|
|
29110
28856
|
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")}`;
|
|
29111
28857
|
console.log(
|
|
29112
|
-
|
|
29113
|
-
` > ${_labels.id}: ${
|
|
29114
|
-
) +
|
|
28858
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
28859
|
+
` > ${_labels.id}: ${chalk16__default.default.yellow(_requestId)}${" ".repeat(Math.max(0, 35 - _requestId.length - _labels.id.length))}`
|
|
28860
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29115
28861
|
);
|
|
29116
28862
|
const _title = _request.context?.description || _request.themeId || "API Cache Improvement";
|
|
29117
28863
|
const _titleDisplay = _title.length > 25 ? _title.substring(0, 22) + "..." : _title;
|
|
29118
28864
|
const _titleLabel = ` ${_labels._title}:`;
|
|
29119
28865
|
console.log(
|
|
29120
|
-
|
|
28866
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29121
28867
|
`${_titleLabel} ${_titleDisplay}${" ".repeat(Math.max(0, 42 - _titleLabel.length - _titleDisplay.length))}`
|
|
29122
|
-
) +
|
|
28868
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29123
28869
|
);
|
|
29124
28870
|
const _riskLevel = this.formatRiskLevelSimple(_request.riskAssessment);
|
|
29125
28871
|
const _approvalsCount = _riskLevel === "HIGH" || _riskLevel === "CRITICAL" ? "2" : "1";
|
|
@@ -29127,37 +28873,37 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29127
28873
|
const _levelLabel = ` ${_labels.level}:`;
|
|
29128
28874
|
const _levelDisplay = `${_riskLevel} ${_approvalsText}`;
|
|
29129
28875
|
console.log(
|
|
29130
|
-
|
|
28876
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29131
28877
|
`${_levelLabel} ${_levelDisplay}${" ".repeat(Math.max(0, 42 - _levelLabel.length - _levelDisplay.length))}`
|
|
29132
|
-
) +
|
|
28878
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29133
28879
|
);
|
|
29134
28880
|
const _impact = _request.estimatedTime || "p95 latency -20%";
|
|
29135
28881
|
const _impactLabel = ` ${_labels._impact}:`;
|
|
29136
28882
|
console.log(
|
|
29137
|
-
|
|
28883
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29138
28884
|
`${_impactLabel} ${_impact}${" ".repeat(Math.max(0, 42 - _impactLabel.length - _impact.length))}`
|
|
29139
|
-
) +
|
|
28885
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29140
28886
|
);
|
|
29141
28887
|
const _approversLabel = ` ${_labels.approvers}:`;
|
|
29142
28888
|
const _approversStatus = "[x] Lead [ ] QA";
|
|
29143
28889
|
console.log(
|
|
29144
|
-
|
|
28890
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29145
28891
|
`${_approversLabel} ${_approversStatus}${" ".repeat(Math.max(0, 42 - _approversLabel.length - _approversStatus.length))}`
|
|
29146
|
-
) +
|
|
28892
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29147
28893
|
);
|
|
29148
28894
|
const _deadline = new Date(Date.now() + 30 * 60 * 1e3);
|
|
29149
28895
|
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")}`;
|
|
29150
28896
|
const _deadlineLabel = ` ${_labels._deadline}:`;
|
|
29151
28897
|
console.log(
|
|
29152
|
-
|
|
28898
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29153
28899
|
`${_deadlineLabel} ${_timeStr}${" ".repeat(Math.max(0, 42 - _deadlineLabel.length - _timeStr.length))}`
|
|
29154
|
-
) +
|
|
28900
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29155
28901
|
);
|
|
29156
|
-
console.log(
|
|
28902
|
+
console.log(chalk16__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"));
|
|
29157
28903
|
console.log(
|
|
29158
|
-
|
|
28904
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29159
28905
|
` ${_labels.actions}:${" ".repeat(Math.max(0, 42 - _labels.actions.length))}`
|
|
29160
|
-
) +
|
|
28906
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29161
28907
|
);
|
|
29162
28908
|
this.menuOptions.forEach((option, _index) => {
|
|
29163
28909
|
const _isSelected = _index === this.selectedIndex;
|
|
@@ -29168,32 +28914,32 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29168
28914
|
switch (option) {
|
|
29169
28915
|
case "approve":
|
|
29170
28916
|
label = _labels.approve;
|
|
29171
|
-
color =
|
|
28917
|
+
color = chalk16__default.default.green;
|
|
29172
28918
|
break;
|
|
29173
28919
|
case "reject":
|
|
29174
28920
|
label = _labels.reject;
|
|
29175
|
-
color =
|
|
28921
|
+
color = chalk16__default.default.red;
|
|
29176
28922
|
break;
|
|
29177
28923
|
case "cancel":
|
|
29178
28924
|
label = _labels.cancel;
|
|
29179
|
-
color =
|
|
28925
|
+
color = chalk16__default.default.yellow;
|
|
29180
28926
|
break;
|
|
29181
28927
|
}
|
|
29182
28928
|
const _optionText = `${_prefix}[${_key}] ${label}`;
|
|
29183
28929
|
const _colorFunc = _isSelected ? color.bold : color;
|
|
29184
28930
|
console.log(
|
|
29185
|
-
|
|
28931
|
+
chalk16__default.default.gray("\u2502") + _colorFunc(
|
|
29186
28932
|
`${_optionText}${" ".repeat(Math.max(0, 43 - _optionText.length))}`
|
|
29187
|
-
) +
|
|
28933
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29188
28934
|
);
|
|
29189
28935
|
});
|
|
29190
|
-
console.log(
|
|
28936
|
+
console.log(chalk16__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"));
|
|
29191
28937
|
console.log(
|
|
29192
|
-
|
|
28938
|
+
chalk16__default.default.gray("\u2502") + chalk16__default.default.white(
|
|
29193
28939
|
` ${_labels.moveInstruction}${" ".repeat(Math.max(0, 43 - _labels.moveInstruction.length))}`
|
|
29194
|
-
) +
|
|
28940
|
+
) + chalk16__default.default.gray("\u2502")
|
|
29195
28941
|
);
|
|
29196
|
-
console.log(
|
|
28942
|
+
console.log(chalk16__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"));
|
|
29197
28943
|
console.log("");
|
|
29198
28944
|
}
|
|
29199
28945
|
/**
|
|
@@ -29209,13 +28955,13 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29209
28955
|
};
|
|
29210
28956
|
const _formatted = keyMap[_key] || _key;
|
|
29211
28957
|
const colorMap = {
|
|
29212
|
-
"shift+tab":
|
|
29213
|
-
"ctrl+y":
|
|
29214
|
-
"ctrl+n":
|
|
29215
|
-
"ctrl+t":
|
|
29216
|
-
"ctrl+r":
|
|
28958
|
+
"shift+tab": chalk16__default.default.bgGreen.black.bold,
|
|
28959
|
+
"ctrl+y": chalk16__default.default.bgBlue.white.bold,
|
|
28960
|
+
"ctrl+n": chalk16__default.default.bgRed.white.bold,
|
|
28961
|
+
"ctrl+t": chalk16__default.default.bgMagenta.white.bold,
|
|
28962
|
+
"ctrl+r": chalk16__default.default.bgYellow.black.bold
|
|
29217
28963
|
};
|
|
29218
|
-
const _colorFunc = colorMap[_key] ||
|
|
28964
|
+
const _colorFunc = colorMap[_key] || chalk16__default.default.bgCyan.black.bold;
|
|
29219
28965
|
return _colorFunc(` ${_formatted} `);
|
|
29220
28966
|
}
|
|
29221
28967
|
/**
|
|
@@ -29224,15 +28970,15 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29224
28970
|
formatRiskLevel(risk) {
|
|
29225
28971
|
switch (risk.toLowerCase()) {
|
|
29226
28972
|
case "critical":
|
|
29227
|
-
return
|
|
28973
|
+
return chalk16__default.default.red.bold("CRITICAL");
|
|
29228
28974
|
case "high":
|
|
29229
|
-
return
|
|
28975
|
+
return chalk16__default.default.red("HIGH");
|
|
29230
28976
|
case "medium":
|
|
29231
|
-
return
|
|
28977
|
+
return chalk16__default.default.yellow("MEDIUM");
|
|
29232
28978
|
case "low":
|
|
29233
|
-
return
|
|
28979
|
+
return chalk16__default.default.green("LOW");
|
|
29234
28980
|
default:
|
|
29235
|
-
return
|
|
28981
|
+
return chalk16__default.default.white(risk);
|
|
29236
28982
|
}
|
|
29237
28983
|
}
|
|
29238
28984
|
/**
|
|
@@ -29302,7 +29048,7 @@ var init_QuickApprovalInterface = __esm({
|
|
|
29302
29048
|
}
|
|
29303
29049
|
if (_key === "") {
|
|
29304
29050
|
console.log(`
|
|
29305
|
-
${
|
|
29051
|
+
${chalk16__default.default.red("Approval cancelled by user")}`);
|
|
29306
29052
|
this.emit("approval-cancelled", this.currentRequest.id);
|
|
29307
29053
|
return;
|
|
29308
29054
|
}
|
|
@@ -29359,20 +29105,20 @@ ${chalk17__default.default.red("Approval cancelled by user")}`);
|
|
|
29359
29105
|
}
|
|
29360
29106
|
console.clear();
|
|
29361
29107
|
console.log(`
|
|
29362
|
-
${
|
|
29108
|
+
${chalk16__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
29363
29109
|
console.log(
|
|
29364
|
-
|
|
29110
|
+
chalk16__default.default.bgGreen.black.bold("\u2502") + chalk16__default.default.bgGreen.black.bold(
|
|
29365
29111
|
` \u2713 CHOICE SELECTED / \u9078\u629E\u5B8C\u4E86:${" ".repeat(47)}`
|
|
29366
|
-
) +
|
|
29112
|
+
) + chalk16__default.default.bgGreen.black.bold("\u2502")
|
|
29367
29113
|
);
|
|
29368
|
-
console.log(
|
|
29114
|
+
console.log(chalk16__default.default.bgGreen.black.bold(`\u251C${"\u2500".repeat(78)}\u2524`));
|
|
29369
29115
|
const _choiceText = `${_choice.label} (${_choice.labelJa})`;
|
|
29370
29116
|
const _padding = " ".repeat(Math.max(0, 76 - _choiceText.length));
|
|
29371
29117
|
console.log(
|
|
29372
|
-
|
|
29118
|
+
chalk16__default.default.bgGreen.black.bold("\u2502") + chalk16__default.default.bgGreen.black.bold(` ${_choiceText}${_padding}`) + chalk16__default.default.bgGreen.black.bold("\u2502")
|
|
29373
29119
|
);
|
|
29374
|
-
console.log(
|
|
29375
|
-
console.log(
|
|
29120
|
+
console.log(chalk16__default.default.bgGreen.black.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
29121
|
+
console.log(chalk16__default.default.yellow("\n\u{1F504} Processing your approval decision..."));
|
|
29376
29122
|
try {
|
|
29377
29123
|
const _response = await this.approvalEngine.processApprovalResponse(
|
|
29378
29124
|
this.currentRequest.id,
|
|
@@ -29382,30 +29128,30 @@ ${chalk17__default.default.bgGreen.black.bold(`\u250C${"\u2500".repeat(78)}\u251
|
|
|
29382
29128
|
);
|
|
29383
29129
|
response.quickDecision = true;
|
|
29384
29130
|
console.log(`
|
|
29385
|
-
${
|
|
29131
|
+
${chalk16__default.default.bgGreen.black(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
29386
29132
|
console.log(
|
|
29387
|
-
|
|
29133
|
+
chalk16__default.default.bgGreen.black("\u2502") + chalk16__default.default.bgGreen.black(
|
|
29388
29134
|
` \u{1F389} APPROVAL PROCESSED SUCCESSFULLY / \u627F\u8A8D\u51E6\u7406\u5B8C\u4E86!${" ".repeat(32)}`
|
|
29389
|
-
) +
|
|
29135
|
+
) + chalk16__default.default.bgGreen.black("\u2502")
|
|
29390
29136
|
);
|
|
29391
|
-
console.log(
|
|
29137
|
+
console.log(chalk16__default.default.bgGreen.black(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
29392
29138
|
if (_choice.trustLevel) {
|
|
29393
29139
|
console.log(
|
|
29394
|
-
|
|
29140
|
+
chalk16__default.default.blue(`
|
|
29395
29141
|
\u2728 Trust level updated: ${_choice.trustLevel}`)
|
|
29396
29142
|
);
|
|
29397
29143
|
}
|
|
29398
29144
|
this.emit("approval-_response", _response);
|
|
29399
29145
|
} catch (_error) {
|
|
29400
29146
|
console.log(`
|
|
29401
|
-
${
|
|
29147
|
+
${chalk16__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`)}`);
|
|
29402
29148
|
console.log(
|
|
29403
|
-
|
|
29149
|
+
chalk16__default.default.bgRed.white.bold("\u2502") + chalk16__default.default.bgRed.white.bold(
|
|
29404
29150
|
` \u274C ERROR PROCESSING APPROVAL / \u627F\u8A8D\u51E6\u7406\u30A8\u30E9\u30FC${" ".repeat(35)}`
|
|
29405
|
-
) +
|
|
29151
|
+
) + chalk16__default.default.bgRed.white.bold("\u2502")
|
|
29406
29152
|
);
|
|
29407
|
-
console.log(
|
|
29408
|
-
console._error(
|
|
29153
|
+
console.log(chalk16__default.default.bgRed.white.bold(`\u2514${"\u2500".repeat(78)}\u2518`));
|
|
29154
|
+
console._error(chalk16__default.default.red("\nError details:"), _error);
|
|
29409
29155
|
this.emit("approval-_error", _error);
|
|
29410
29156
|
}
|
|
29411
29157
|
}
|
|
@@ -29419,7 +29165,7 @@ ${chalk17__default.default.bgRed.white.bold(`\u250C${"\u2500".repeat(78)}\u2510`
|
|
|
29419
29165
|
timeoutId = setTimeout(() => {
|
|
29420
29166
|
console.log(
|
|
29421
29167
|
`
|
|
29422
|
-
${
|
|
29168
|
+
${chalk16__default.default.yellow("\u23F0 Approval request timed out - auto-approving...")}`
|
|
29423
29169
|
);
|
|
29424
29170
|
this.handleTimeoutResponse(resolve);
|
|
29425
29171
|
}, timeout);
|
|
@@ -29463,7 +29209,7 @@ ${chalk17__default.default.yellow("\u23F0 Approval request timed out - auto-appr
|
|
|
29463
29209
|
response.quickDecision = true;
|
|
29464
29210
|
resolve(_response);
|
|
29465
29211
|
} catch (_error) {
|
|
29466
|
-
console._error(
|
|
29212
|
+
console._error(chalk16__default.default.red("Error processing timeout approval:"), _error);
|
|
29467
29213
|
}
|
|
29468
29214
|
}
|
|
29469
29215
|
/**
|
|
@@ -29478,11 +29224,11 @@ ${chalk17__default.default.yellow("\u23F0 Approval request timed out - auto-appr
|
|
|
29478
29224
|
);
|
|
29479
29225
|
this.approvalEngine.on("trust-level-changed", (event) => {
|
|
29480
29226
|
console.log(
|
|
29481
|
-
|
|
29227
|
+
chalk16__default.default.blue(
|
|
29482
29228
|
`\u2728 Trust level changed: ${event.oldLevel} \u2192 ${event.newLevel}`
|
|
29483
29229
|
)
|
|
29484
29230
|
);
|
|
29485
|
-
console.log(
|
|
29231
|
+
console.log(chalk16__default.default.gray(`Reason: ${event.reason}`));
|
|
29486
29232
|
});
|
|
29487
29233
|
}
|
|
29488
29234
|
/**
|
|
@@ -30266,22 +30012,22 @@ function formatProgressBar(current, total, width = 20) {
|
|
|
30266
30012
|
}
|
|
30267
30013
|
function formatError(message, code) {
|
|
30268
30014
|
const prefix = "";
|
|
30269
|
-
return
|
|
30015
|
+
return chalk16__default.default.red(`\u274C ${prefix}${message}`);
|
|
30270
30016
|
}
|
|
30271
30017
|
function formatSuccess(message) {
|
|
30272
|
-
return
|
|
30018
|
+
return chalk16__default.default.green(`\u2705 ${message}`);
|
|
30273
30019
|
}
|
|
30274
30020
|
function formatWarning(message) {
|
|
30275
|
-
return
|
|
30021
|
+
return chalk16__default.default.yellow(`\u26A0\uFE0F ${message}`);
|
|
30276
30022
|
}
|
|
30277
30023
|
function formatInfo(message) {
|
|
30278
|
-
return
|
|
30024
|
+
return chalk16__default.default.blue(`\u2139\uFE0F ${message}`);
|
|
30279
30025
|
}
|
|
30280
30026
|
function formatTable(headers, rows, options = {}) {
|
|
30281
30027
|
const {
|
|
30282
30028
|
columnWidths = headers.map(() => 20),
|
|
30283
30029
|
separator = " | ",
|
|
30284
|
-
headerColor =
|
|
30030
|
+
headerColor = chalk16__default.default.cyan.bold
|
|
30285
30031
|
} = options;
|
|
30286
30032
|
const headerRow = headers.map((h2, i2) => headerColor(h2.padEnd(columnWidths[i2]))).join(separator);
|
|
30287
30033
|
const separatorLine = columnWidths.map((w) => "-".repeat(w)).join(separator);
|
|
@@ -30293,8 +30039,8 @@ function formatTable(headers, rows, options = {}) {
|
|
|
30293
30039
|
function formatKeyValue(data2, options = {}) {
|
|
30294
30040
|
const {
|
|
30295
30041
|
keyWidth = 20,
|
|
30296
|
-
keyColor =
|
|
30297
|
-
valueColor =
|
|
30042
|
+
keyColor = chalk16__default.default.gray,
|
|
30043
|
+
valueColor = chalk16__default.default.white,
|
|
30298
30044
|
separator = ": "
|
|
30299
30045
|
} = options;
|
|
30300
30046
|
return Object.entries(data2).map(([key2, value]) => {
|
|
@@ -30344,7 +30090,7 @@ var init_DisplayManager = __esm({
|
|
|
30344
30090
|
theme: options.theme ?? "auto"
|
|
30345
30091
|
};
|
|
30346
30092
|
if (!this.options.enableColors) {
|
|
30347
|
-
|
|
30093
|
+
chalk16__default.default.level = 0;
|
|
30348
30094
|
}
|
|
30349
30095
|
this.setupCleanupHandlers();
|
|
30350
30096
|
}
|
|
@@ -30461,7 +30207,7 @@ var init_DisplayManager = __esm({
|
|
|
30461
30207
|
const {
|
|
30462
30208
|
padding = 1,
|
|
30463
30209
|
borderStyle = "single",
|
|
30464
|
-
borderColor =
|
|
30210
|
+
borderColor = chalk16__default.default.gray
|
|
30465
30211
|
} = options;
|
|
30466
30212
|
const lines = content.split("\n");
|
|
30467
30213
|
const maxLength = Math.max(...lines.map((l) => l.length));
|
|
@@ -30519,7 +30265,7 @@ var init_DisplayManager = __esm({
|
|
|
30519
30265
|
*/
|
|
30520
30266
|
startSpinner(text) {
|
|
30521
30267
|
if (!this.options.enableAnimations) {
|
|
30522
|
-
this.writeLine(
|
|
30268
|
+
this.writeLine(chalk16__default.default.gray(`\u2299 ${text || "Processing..."}`));
|
|
30523
30269
|
return "no-animation";
|
|
30524
30270
|
}
|
|
30525
30271
|
return this.spinnerManager.start({ text });
|
|
@@ -30623,11 +30369,11 @@ var init_StatusDisplay = __esm({
|
|
|
30623
30369
|
*/
|
|
30624
30370
|
static renderSystemStatus(status, detailed = false) {
|
|
30625
30371
|
const lines = [];
|
|
30626
|
-
lines.push(
|
|
30372
|
+
lines.push(chalk16__default.default.cyan.bold("\u{1F4CA} System Status"));
|
|
30627
30373
|
lines.push("");
|
|
30628
30374
|
const statusIcon = status.operational ? "\u2705" : "\u274C";
|
|
30629
30375
|
const statusText = status.operational ? "Operational" : "Issues Detected";
|
|
30630
|
-
const statusColor = status.operational ?
|
|
30376
|
+
const statusColor = status.operational ? chalk16__default.default.green : chalk16__default.default.red;
|
|
30631
30377
|
lines.push(`${statusIcon} Status: ${statusColor(statusText)}`);
|
|
30632
30378
|
lines.push(
|
|
30633
30379
|
`\u23F1\uFE0F Uptime: ${formatDuration(status.uptime * 1e3)}`
|
|
@@ -30648,15 +30394,15 @@ var init_StatusDisplay = __esm({
|
|
|
30648
30394
|
if (status.errors > 0 || status.warnings > 0) {
|
|
30649
30395
|
lines.push("");
|
|
30650
30396
|
if (status.errors > 0) {
|
|
30651
|
-
lines.push(
|
|
30397
|
+
lines.push(chalk16__default.default.red(`\u274C Errors: ${status.errors}`));
|
|
30652
30398
|
}
|
|
30653
30399
|
if (status.warnings > 0) {
|
|
30654
|
-
lines.push(
|
|
30400
|
+
lines.push(chalk16__default.default.yellow(`\u26A0\uFE0F Warnings: ${status.warnings}`));
|
|
30655
30401
|
}
|
|
30656
30402
|
}
|
|
30657
30403
|
if (detailed) {
|
|
30658
30404
|
lines.push("");
|
|
30659
|
-
lines.push(
|
|
30405
|
+
lines.push(chalk16__default.default.gray("Detailed Information:"));
|
|
30660
30406
|
const details = formatKeyValue(
|
|
30661
30407
|
{
|
|
30662
30408
|
"Process ID": process.pid,
|
|
@@ -30666,8 +30412,8 @@ var init_StatusDisplay = __esm({
|
|
|
30666
30412
|
"Working Directory": process.cwd()
|
|
30667
30413
|
},
|
|
30668
30414
|
{
|
|
30669
|
-
keyColor:
|
|
30670
|
-
valueColor:
|
|
30415
|
+
keyColor: chalk16__default.default.gray,
|
|
30416
|
+
valueColor: chalk16__default.default.white
|
|
30671
30417
|
}
|
|
30672
30418
|
);
|
|
30673
30419
|
lines.push(details);
|
|
@@ -30681,9 +30427,9 @@ var init_StatusDisplay = __esm({
|
|
|
30681
30427
|
*/
|
|
30682
30428
|
static renderMemoryStatus(status) {
|
|
30683
30429
|
const lines = [];
|
|
30684
|
-
lines.push(
|
|
30430
|
+
lines.push(chalk16__default.default.cyan.bold("\u{1F9E0} Memory Status"));
|
|
30685
30431
|
lines.push("");
|
|
30686
|
-
lines.push(
|
|
30432
|
+
lines.push(chalk16__default.default.yellow("System 1 (Fast):"));
|
|
30687
30433
|
const s1NodeBar = formatProgressBar(
|
|
30688
30434
|
status.system1.nodes,
|
|
30689
30435
|
status.system1.maxNodes,
|
|
@@ -30701,7 +30447,7 @@ var init_StatusDisplay = __esm({
|
|
|
30701
30447
|
` \u2022 Tokens: ${status.system1.tokens}/${status.system1.maxTokens} ${s1TokenBar}`
|
|
30702
30448
|
);
|
|
30703
30449
|
lines.push("");
|
|
30704
|
-
lines.push(
|
|
30450
|
+
lines.push(chalk16__default.default.blue("System 2 (Deep):"));
|
|
30705
30451
|
const s2TraceBar = formatProgressBar(
|
|
30706
30452
|
status.system2.traces,
|
|
30707
30453
|
status.system2.maxTraces,
|
|
@@ -30719,7 +30465,7 @@ var init_StatusDisplay = __esm({
|
|
|
30719
30465
|
` \u2022 Tokens: ${status.system2.tokens}/${status.system2.maxTokens} ${s2TokenBar}`
|
|
30720
30466
|
);
|
|
30721
30467
|
lines.push("");
|
|
30722
|
-
lines.push(
|
|
30468
|
+
lines.push(chalk16__default.default.green("Total:"));
|
|
30723
30469
|
const totalBar = formatProgressBar(
|
|
30724
30470
|
status.total.tokens,
|
|
30725
30471
|
status.total.maxTokens,
|
|
@@ -30728,7 +30474,7 @@ var init_StatusDisplay = __esm({
|
|
|
30728
30474
|
lines.push(` \u2022 Tokens: ${status.total.tokens}/${status.total.maxTokens}`);
|
|
30729
30475
|
lines.push(` \u2022 Usage: ${totalBar}`);
|
|
30730
30476
|
const usage = status.total.tokens / status.total.maxTokens * 100;
|
|
30731
|
-
const usageColor = usage > 80 ?
|
|
30477
|
+
const usageColor = usage > 80 ? chalk16__default.default.red : usage > 60 ? chalk16__default.default.yellow : chalk16__default.default.green;
|
|
30732
30478
|
lines.push(
|
|
30733
30479
|
` \u2022 ${usageColor(formatPercentage(usage / 100, 1))} utilized`
|
|
30734
30480
|
);
|
|
@@ -30741,9 +30487,9 @@ var init_StatusDisplay = __esm({
|
|
|
30741
30487
|
*/
|
|
30742
30488
|
static renderModelStatus(status) {
|
|
30743
30489
|
const lines = [];
|
|
30744
|
-
lines.push(
|
|
30490
|
+
lines.push(chalk16__default.default.cyan.bold("\u{1F916} Model Status"));
|
|
30745
30491
|
lines.push("");
|
|
30746
|
-
lines.push(
|
|
30492
|
+
lines.push(chalk16__default.default.green(`Current: ${chalk16__default.default.bold(status.current)}`));
|
|
30747
30493
|
lines.push("");
|
|
30748
30494
|
lines.push("Available Models:");
|
|
30749
30495
|
const headers = ["Model", "Provider", "Status", "Capabilities"];
|
|
@@ -30755,7 +30501,7 @@ var init_StatusDisplay = __esm({
|
|
|
30755
30501
|
const table = formatTable(headers, rows, {
|
|
30756
30502
|
columnWidths: [20, 15, 8, 30],
|
|
30757
30503
|
separator: " \u2502 ",
|
|
30758
|
-
headerColor:
|
|
30504
|
+
headerColor: chalk16__default.default.gray
|
|
30759
30505
|
});
|
|
30760
30506
|
lines.push(table);
|
|
30761
30507
|
return lines.join("\n");
|
|
@@ -30767,19 +30513,19 @@ var init_StatusDisplay = __esm({
|
|
|
30767
30513
|
*/
|
|
30768
30514
|
static renderHealthChecks(checks) {
|
|
30769
30515
|
const lines = [];
|
|
30770
|
-
lines.push(
|
|
30516
|
+
lines.push(chalk16__default.default.cyan.bold("\u{1F3E5} Health Checks"));
|
|
30771
30517
|
lines.push("");
|
|
30772
30518
|
for (const check of checks) {
|
|
30773
30519
|
const icon = check.status === "ok" ? "\u2705" : check.status === "warning" ? "\u26A0\uFE0F" : "\u274C";
|
|
30774
|
-
const statusColor = check.status === "ok" ?
|
|
30520
|
+
const statusColor = check.status === "ok" ? chalk16__default.default.green : check.status === "warning" ? chalk16__default.default.yellow : chalk16__default.default.red;
|
|
30775
30521
|
let line = `${icon} ${check.name.padEnd(25)} ${statusColor(check.status.toUpperCase())}`;
|
|
30776
30522
|
if (check.latency !== void 0) {
|
|
30777
|
-
const latencyColor = check.latency < 100 ?
|
|
30523
|
+
const latencyColor = check.latency < 100 ? chalk16__default.default.green : check.latency < 500 ? chalk16__default.default.yellow : chalk16__default.default.red;
|
|
30778
30524
|
line += ` ${latencyColor(`(${check.latency}ms)`)}`;
|
|
30779
30525
|
}
|
|
30780
30526
|
lines.push(line);
|
|
30781
30527
|
if (check.message) {
|
|
30782
|
-
lines.push(
|
|
30528
|
+
lines.push(chalk16__default.default.gray(` ${check.message}`));
|
|
30783
30529
|
}
|
|
30784
30530
|
}
|
|
30785
30531
|
lines.push("");
|
|
@@ -30788,16 +30534,16 @@ var init_StatusDisplay = __esm({
|
|
|
30788
30534
|
const errorCount = checks.filter((c) => c.status === "error").length;
|
|
30789
30535
|
if (errorCount > 0) {
|
|
30790
30536
|
lines.push(
|
|
30791
|
-
|
|
30537
|
+
chalk16__default.default.red(
|
|
30792
30538
|
`\u26A0\uFE0F System has ${errorCount} error(s) - intervention required`
|
|
30793
30539
|
)
|
|
30794
30540
|
);
|
|
30795
30541
|
} else if (warningCount > 0) {
|
|
30796
30542
|
lines.push(
|
|
30797
|
-
|
|
30543
|
+
chalk16__default.default.yellow(`\u26A0\uFE0F System operational with ${warningCount} warning(s)`)
|
|
30798
30544
|
);
|
|
30799
30545
|
} else {
|
|
30800
|
-
lines.push(
|
|
30546
|
+
lines.push(chalk16__default.default.green("\u2705 All systems operational"));
|
|
30801
30547
|
}
|
|
30802
30548
|
return lines.join("\n");
|
|
30803
30549
|
}
|
|
@@ -30808,7 +30554,7 @@ var init_StatusDisplay = __esm({
|
|
|
30808
30554
|
*/
|
|
30809
30555
|
static renderSessionStats(stats) {
|
|
30810
30556
|
const lines = [];
|
|
30811
|
-
lines.push(
|
|
30557
|
+
lines.push(chalk16__default.default.cyan.bold("\u{1F4C8} Session Statistics"));
|
|
30812
30558
|
lines.push("");
|
|
30813
30559
|
const data2 = formatKeyValue(
|
|
30814
30560
|
{
|
|
@@ -30821,14 +30567,14 @@ var init_StatusDisplay = __esm({
|
|
|
30821
30567
|
},
|
|
30822
30568
|
{
|
|
30823
30569
|
keyWidth: 20,
|
|
30824
|
-
keyColor:
|
|
30825
|
-
valueColor:
|
|
30570
|
+
keyColor: chalk16__default.default.gray,
|
|
30571
|
+
valueColor: chalk16__default.default.white
|
|
30826
30572
|
}
|
|
30827
30573
|
);
|
|
30828
30574
|
lines.push(data2);
|
|
30829
30575
|
lines.push("");
|
|
30830
30576
|
const performance3 = stats.avgResponseTime < 100 ? "Excellent" : stats.avgResponseTime < 500 ? "Good" : stats.avgResponseTime < 1e3 ? "Fair" : "Poor";
|
|
30831
|
-
const perfColor = performance3 === "Excellent" ?
|
|
30577
|
+
const perfColor = performance3 === "Excellent" ? chalk16__default.default.green : performance3 === "Good" ? chalk16__default.default.blue : performance3 === "Fair" ? chalk16__default.default.yellow : chalk16__default.default.red;
|
|
30832
30578
|
lines.push(`Performance: ${perfColor(performance3)}`);
|
|
30833
30579
|
return lines.join("\n");
|
|
30834
30580
|
}
|
|
@@ -30840,22 +30586,22 @@ var init_StatusDisplay = __esm({
|
|
|
30840
30586
|
static renderStatusBar(data2) {
|
|
30841
30587
|
const segments = [];
|
|
30842
30588
|
if (data2.mode) {
|
|
30843
|
-
segments.push(
|
|
30589
|
+
segments.push(chalk16__default.default.cyan(`[${data2.mode}]`));
|
|
30844
30590
|
}
|
|
30845
30591
|
if (data2.model) {
|
|
30846
|
-
segments.push(
|
|
30592
|
+
segments.push(chalk16__default.default.blue(`\u{1F916} ${data2.model}`));
|
|
30847
30593
|
}
|
|
30848
30594
|
if (data2.memory !== void 0) {
|
|
30849
|
-
const memoryColor = data2.memory > 80 ?
|
|
30595
|
+
const memoryColor = data2.memory > 80 ? chalk16__default.default.red : data2.memory > 60 ? chalk16__default.default.yellow : chalk16__default.default.green;
|
|
30850
30596
|
segments.push(memoryColor(`\u{1F4BE} ${data2.memory}%`));
|
|
30851
30597
|
}
|
|
30852
30598
|
if (data2.latency !== void 0) {
|
|
30853
|
-
const latencyColor = data2.latency < 100 ?
|
|
30599
|
+
const latencyColor = data2.latency < 100 ? chalk16__default.default.green : data2.latency < 500 ? chalk16__default.default.yellow : chalk16__default.default.red;
|
|
30854
30600
|
segments.push(latencyColor(`\u26A1 ${data2.latency}ms`));
|
|
30855
30601
|
}
|
|
30856
30602
|
if (data2.time) {
|
|
30857
30603
|
segments.push(
|
|
30858
|
-
|
|
30604
|
+
chalk16__default.default.gray(formatTimestamp(data2.time, "short"))
|
|
30859
30605
|
);
|
|
30860
30606
|
}
|
|
30861
30607
|
return segments.join(" \u2502 ");
|
|
@@ -30874,7 +30620,7 @@ var init_CoreHandlers = __esm({
|
|
|
30874
30620
|
async execute(args) {
|
|
30875
30621
|
const startTime = perf_hooks.performance.now();
|
|
30876
30622
|
const commands = this.registry.getCommands();
|
|
30877
|
-
let message =
|
|
30623
|
+
let message = chalk16__default.default.cyan(`\u{1F916} MARIA v3.5.0 - Available Commands
|
|
30878
30624
|
|
|
30879
30625
|
`);
|
|
30880
30626
|
const categories = {
|
|
@@ -30885,17 +30631,17 @@ var init_CoreHandlers = __esm({
|
|
|
30885
30631
|
system: ["/status", "/config", "/logs", "/approve"]
|
|
30886
30632
|
};
|
|
30887
30633
|
for (const [category, cmds] of Object.entries(categories)) {
|
|
30888
|
-
message +=
|
|
30634
|
+
message += chalk16__default.default.yellow(`
|
|
30889
30635
|
${category.toUpperCase()}:
|
|
30890
30636
|
`);
|
|
30891
30637
|
for (const cmd of cmds) {
|
|
30892
30638
|
if (commands.includes(cmd)) {
|
|
30893
|
-
message += ` ${
|
|
30639
|
+
message += ` ${chalk16__default.default.green(cmd.padEnd(15))} - ${this.getCommandDescription(cmd)}
|
|
30894
30640
|
`;
|
|
30895
30641
|
}
|
|
30896
30642
|
}
|
|
30897
30643
|
}
|
|
30898
|
-
message +=
|
|
30644
|
+
message += chalk16__default.default.gray(
|
|
30899
30645
|
`
|
|
30900
30646
|
Type '/help <command>' for detailed information about a specific command.`
|
|
30901
30647
|
);
|
|
@@ -30943,7 +30689,7 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
30943
30689
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
30944
30690
|
return {
|
|
30945
30691
|
success: true,
|
|
30946
|
-
message:
|
|
30692
|
+
message: chalk16__default.default.gray("Terminal cleared."),
|
|
30947
30693
|
metadata: {
|
|
30948
30694
|
processingTime,
|
|
30949
30695
|
timestamp: /* @__PURE__ */ new Date()
|
|
@@ -30954,7 +30700,7 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
30954
30700
|
ExitHandler = class {
|
|
30955
30701
|
async execute(args) {
|
|
30956
30702
|
const startTime = perf_hooks.performance.now();
|
|
30957
|
-
const message =
|
|
30703
|
+
const message = chalk16__default.default.yellow("\u{1F44B} Goodbye! Thank you for using MARIA.\n");
|
|
30958
30704
|
process.emit("SIGTERM");
|
|
30959
30705
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
30960
30706
|
return {
|
|
@@ -30978,23 +30724,23 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
30978
30724
|
platform: process.platform,
|
|
30979
30725
|
arch: process.arch
|
|
30980
30726
|
};
|
|
30981
|
-
let message =
|
|
30982
|
-
message +=
|
|
30727
|
+
let message = chalk16__default.default.cyan("\u{1F680} MARIA System Information\n\n");
|
|
30728
|
+
message += chalk16__default.default.white(` Version: ${chalk16__default.default.green(packageInfo.version)}
|
|
30983
30729
|
`);
|
|
30984
|
-
message +=
|
|
30730
|
+
message += chalk16__default.default.white(` Package: ${chalk16__default.default.green(packageInfo.name)}
|
|
30985
30731
|
`);
|
|
30986
|
-
message +=
|
|
30732
|
+
message += chalk16__default.default.white(` Node: ${chalk16__default.default.green(packageInfo.node)}
|
|
30987
30733
|
`);
|
|
30988
|
-
message +=
|
|
30989
|
-
` Platform: ${
|
|
30734
|
+
message += chalk16__default.default.white(
|
|
30735
|
+
` Platform: ${chalk16__default.default.green(packageInfo.platform)}
|
|
30990
30736
|
`
|
|
30991
30737
|
);
|
|
30992
|
-
message +=
|
|
30738
|
+
message += chalk16__default.default.white(` Arch: ${chalk16__default.default.green(packageInfo.arch)}
|
|
30993
30739
|
`);
|
|
30994
|
-
message +=
|
|
30740
|
+
message += chalk16__default.default.gray(`
|
|
30995
30741
|
Build: Production
|
|
30996
30742
|
`);
|
|
30997
|
-
message +=
|
|
30743
|
+
message += chalk16__default.default.gray(` License: MIT
|
|
30998
30744
|
`);
|
|
30999
30745
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
31000
30746
|
return {
|
|
@@ -31019,15 +30765,15 @@ Type '/help <command>' for detailed information about a specific command.`
|
|
|
31019
30765
|
this.history.push("/history");
|
|
31020
30766
|
}
|
|
31021
30767
|
const recent = this.history.slice(-limit);
|
|
31022
|
-
let message =
|
|
30768
|
+
let message = chalk16__default.default.cyan(`\u{1F4DC} Command History (last ${recent.length}):
|
|
31023
30769
|
|
|
31024
30770
|
`);
|
|
31025
30771
|
recent.forEach((cmd, index) => {
|
|
31026
30772
|
const num = this.history.length - recent.length + index + 1;
|
|
31027
|
-
message +=
|
|
30773
|
+
message += chalk16__default.default.gray(` ${num.toString().padStart(3)}: `) + chalk16__default.default.white(cmd) + "\n";
|
|
31028
30774
|
});
|
|
31029
30775
|
if (recent.length === 0) {
|
|
31030
|
-
message =
|
|
30776
|
+
message = chalk16__default.default.gray("No command history available.");
|
|
31031
30777
|
}
|
|
31032
30778
|
const processingTime = perf_hooks.performance.now() - startTime;
|
|
31033
30779
|
return {
|
|
@@ -31073,13 +30819,13 @@ var init_DevHandlers = __esm({
|
|
|
31073
30819
|
if (!prompt) {
|
|
31074
30820
|
return {
|
|
31075
30821
|
ok: false,
|
|
31076
|
-
message:
|
|
30822
|
+
message: chalk16__default.default.red("\u274C Please provide a code generation request.\n") + chalk16__default.default.gray("Usage: /code <description>\n") + chalk16__default.default.gray("Example: /code create a React button component")
|
|
31077
30823
|
};
|
|
31078
30824
|
}
|
|
31079
30825
|
if (signal?.aborted) {
|
|
31080
30826
|
return {
|
|
31081
30827
|
ok: false,
|
|
31082
|
-
message:
|
|
30828
|
+
message: chalk16__default.default.yellow("Code generation canceled")
|
|
31083
30829
|
};
|
|
31084
30830
|
}
|
|
31085
30831
|
try {
|
|
@@ -31090,9 +30836,9 @@ var init_DevHandlers = __esm({
|
|
|
31090
30836
|
if (dryRun) {
|
|
31091
30837
|
return {
|
|
31092
30838
|
ok: true,
|
|
31093
|
-
message:
|
|
31094
|
-
`) +
|
|
31095
|
-
`) +
|
|
30839
|
+
message: chalk16__default.default.cyan("\u{1F50D} Dry run mode - would generate:\n") + chalk16__default.default.gray(`Language: ${language}
|
|
30840
|
+
`) + chalk16__default.default.gray(`Framework: ${framework || "none"}
|
|
30841
|
+
`) + chalk16__default.default.gray(`Prompt: ${cleanPrompt}`)
|
|
31096
30842
|
};
|
|
31097
30843
|
}
|
|
31098
30844
|
const generatedCode = `// Generated code for: ${cleanPrompt}
|
|
@@ -31104,7 +30850,7 @@ function generated() {
|
|
|
31104
30850
|
export { generated };`;
|
|
31105
30851
|
return {
|
|
31106
30852
|
ok: true,
|
|
31107
|
-
message:
|
|
30853
|
+
message: chalk16__default.default.green("\u2705 Code generated successfully:\n\n") + chalk16__default.default.gray("```" + language + "\n") + generatedCode + chalk16__default.default.gray("\n```"),
|
|
31108
30854
|
data: {
|
|
31109
30855
|
code: generatedCode,
|
|
31110
30856
|
language,
|
|
@@ -31117,7 +30863,7 @@ export { generated };`;
|
|
|
31117
30863
|
} catch (error2) {
|
|
31118
30864
|
return {
|
|
31119
30865
|
ok: false,
|
|
31120
|
-
message:
|
|
30866
|
+
message: chalk16__default.default.red(`Code generation failed: ${error2}`)
|
|
31121
30867
|
};
|
|
31122
30868
|
}
|
|
31123
30869
|
}
|
|
@@ -31131,7 +30877,7 @@ export { generated };`;
|
|
|
31131
30877
|
if (signal?.aborted) {
|
|
31132
30878
|
return {
|
|
31133
30879
|
ok: false,
|
|
31134
|
-
message:
|
|
30880
|
+
message: chalk16__default.default.yellow("Test operation canceled")
|
|
31135
30881
|
};
|
|
31136
30882
|
}
|
|
31137
30883
|
const subcommand = args[0] || "run";
|
|
@@ -31147,8 +30893,8 @@ export { generated };`;
|
|
|
31147
30893
|
default:
|
|
31148
30894
|
return {
|
|
31149
30895
|
ok: false,
|
|
31150
|
-
message:
|
|
31151
|
-
`) +
|
|
30896
|
+
message: chalk16__default.default.red(`Unknown test subcommand: ${subcommand}
|
|
30897
|
+
`) + chalk16__default.default.gray("Available: generate, run, coverage")
|
|
31152
30898
|
};
|
|
31153
30899
|
}
|
|
31154
30900
|
}
|
|
@@ -31156,7 +30902,7 @@ export { generated };`;
|
|
|
31156
30902
|
if (!target) {
|
|
31157
30903
|
return {
|
|
31158
30904
|
ok: false,
|
|
31159
|
-
message:
|
|
30905
|
+
message: chalk16__default.default.red(
|
|
31160
30906
|
"Please specify a file or function to generate tests for"
|
|
31161
30907
|
)
|
|
31162
30908
|
};
|
|
@@ -31173,9 +30919,9 @@ describe("${target}", () => {
|
|
|
31173
30919
|
});`;
|
|
31174
30920
|
return {
|
|
31175
30921
|
ok: true,
|
|
31176
|
-
message:
|
|
30922
|
+
message: chalk16__default.default.green(`\u2705 Tests generated for ${target}:
|
|
31177
30923
|
|
|
31178
|
-
`) +
|
|
30924
|
+
`) + chalk16__default.default.gray("```typescript\n") + testCode + chalk16__default.default.gray("\n```"),
|
|
31179
30925
|
data: { testCode, framework, target }
|
|
31180
30926
|
};
|
|
31181
30927
|
}
|
|
@@ -31188,23 +30934,23 @@ describe("${target}", () => {
|
|
|
31188
30934
|
if (coverage) command += " --coverage";
|
|
31189
30935
|
return {
|
|
31190
30936
|
ok: true,
|
|
31191
|
-
message:
|
|
31192
|
-
`) +
|
|
30937
|
+
message: chalk16__default.default.cyan(`\u{1F9EA} Running tests...
|
|
30938
|
+
`) + chalk16__default.default.gray(`Command: ${command}
|
|
31193
30939
|
|
|
31194
|
-
`) +
|
|
30940
|
+
`) + chalk16__default.default.green("\u2705 All tests passed!"),
|
|
31195
30941
|
data: { command, passed: true }
|
|
31196
30942
|
};
|
|
31197
30943
|
}
|
|
31198
30944
|
async showCoverage(options) {
|
|
31199
30945
|
return {
|
|
31200
30946
|
ok: true,
|
|
31201
|
-
message:
|
|
30947
|
+
message: chalk16__default.default.cyan("\u{1F4CA} Test Coverage Report:\n\n") + chalk16__default.default.gray("File".padEnd(40) + "% Stmts".padEnd(10) + "% Lines\n") + chalk16__default.default.gray("-".repeat(60) + "\n") + chalk16__default.default.green(
|
|
31202
30948
|
"SessionStateMachine.ts".padEnd(40) + "100.00".padEnd(10) + "100.00\n"
|
|
31203
|
-
) +
|
|
30949
|
+
) + chalk16__default.default.green(
|
|
31204
30950
|
"InputController.ts".padEnd(40) + "95.50".padEnd(10) + "94.20\n"
|
|
31205
|
-
) +
|
|
30951
|
+
) + chalk16__default.default.yellow(
|
|
31206
30952
|
"SessionManager.ts".padEnd(40) + "78.30".padEnd(10) + "76.50\n"
|
|
31207
|
-
) +
|
|
30953
|
+
) + chalk16__default.default.gray("-".repeat(60) + "\n") + chalk16__default.default.cyan("Total".padEnd(40) + "85.60".padEnd(10) + "84.30")
|
|
31208
30954
|
};
|
|
31209
30955
|
}
|
|
31210
30956
|
};
|
|
@@ -31218,33 +30964,33 @@ describe("${target}", () => {
|
|
|
31218
30964
|
if (!file) {
|
|
31219
30965
|
return {
|
|
31220
30966
|
ok: false,
|
|
31221
|
-
message:
|
|
30967
|
+
message: chalk16__default.default.red("Please specify a file to review\n") + chalk16__default.default.gray("Usage: /review <file> [--security] [--performance]")
|
|
31222
30968
|
};
|
|
31223
30969
|
}
|
|
31224
30970
|
const checkSecurity = args.includes("--security");
|
|
31225
30971
|
const checkPerformance = args.includes("--performance");
|
|
31226
|
-
let message =
|
|
30972
|
+
let message = chalk16__default.default.cyan(`\u{1F50D} Code Review for ${file}
|
|
31227
30973
|
|
|
31228
30974
|
`);
|
|
31229
|
-
message +=
|
|
31230
|
-
message +=
|
|
31231
|
-
message +=
|
|
31232
|
-
message +=
|
|
30975
|
+
message += chalk16__default.default.yellow("\u26A0\uFE0F Issues Found (3):\n");
|
|
30976
|
+
message += chalk16__default.default.gray(" 1. Line 42: ") + chalk16__default.default.yellow("Missing error handling in async function\n");
|
|
30977
|
+
message += chalk16__default.default.gray(" 2. Line 89: ") + chalk16__default.default.yellow("Potential memory leak - event listener not removed\n");
|
|
30978
|
+
message += chalk16__default.default.gray(" 3. Line 156: ") + chalk16__default.default.yellow(
|
|
31233
30979
|
"Complex function - consider refactoring (cyclomatic complexity: 12)\n\n"
|
|
31234
30980
|
);
|
|
31235
30981
|
if (checkSecurity) {
|
|
31236
|
-
message +=
|
|
31237
|
-
message +=
|
|
30982
|
+
message += chalk16__default.default.red("\u{1F512} Security Issues (1):\n");
|
|
30983
|
+
message += chalk16__default.default.gray(" 1. Line 67: ") + chalk16__default.default.red("Potential XSS vulnerability - user input not sanitized\n\n");
|
|
31238
30984
|
}
|
|
31239
30985
|
if (checkPerformance) {
|
|
31240
|
-
message +=
|
|
31241
|
-
message +=
|
|
31242
|
-
message +=
|
|
31243
|
-
}
|
|
31244
|
-
message +=
|
|
31245
|
-
message +=
|
|
31246
|
-
message +=
|
|
31247
|
-
message +=
|
|
30986
|
+
message += chalk16__default.default.blue("\u26A1 Performance Suggestions (2):\n");
|
|
30987
|
+
message += chalk16__default.default.gray(" 1. Line 23: ") + chalk16__default.default.blue("Consider memoization for expensive calculation\n");
|
|
30988
|
+
message += chalk16__default.default.gray(" 2. Line 145: ") + chalk16__default.default.blue("Use virtualization for large list rendering\n\n");
|
|
30989
|
+
}
|
|
30990
|
+
message += chalk16__default.default.green("\u2705 Positive Findings:\n");
|
|
30991
|
+
message += chalk16__default.default.gray(" \u2022 Good TypeScript type coverage (92%)\n");
|
|
30992
|
+
message += chalk16__default.default.gray(" \u2022 Consistent code style\n");
|
|
30993
|
+
message += chalk16__default.default.gray(" \u2022 Well-documented functions\n");
|
|
31248
30994
|
return {
|
|
31249
30995
|
ok: true,
|
|
31250
30996
|
message,
|
|
@@ -31274,8 +31020,8 @@ describe("${target}", () => {
|
|
|
31274
31020
|
default:
|
|
31275
31021
|
return {
|
|
31276
31022
|
ok: false,
|
|
31277
|
-
message:
|
|
31278
|
-
`) +
|
|
31023
|
+
message: chalk16__default.default.red(`Unknown bug subcommand: ${subcommand}
|
|
31024
|
+
`) + chalk16__default.default.gray("Available: report, list, analyze")
|
|
31279
31025
|
};
|
|
31280
31026
|
}
|
|
31281
31027
|
}
|
|
@@ -31284,18 +31030,18 @@ describe("${target}", () => {
|
|
|
31284
31030
|
if (!description) {
|
|
31285
31031
|
return {
|
|
31286
31032
|
ok: false,
|
|
31287
|
-
message:
|
|
31033
|
+
message: chalk16__default.default.red("Please provide a bug description")
|
|
31288
31034
|
};
|
|
31289
31035
|
}
|
|
31290
31036
|
const bugId = `BUG-${Date.now().toString(36).toUpperCase()}`;
|
|
31291
31037
|
return {
|
|
31292
31038
|
ok: true,
|
|
31293
|
-
message:
|
|
31039
|
+
message: chalk16__default.default.green(`\u{1F41B} Bug reported successfully!
|
|
31294
31040
|
|
|
31295
|
-
`) +
|
|
31296
|
-
`) +
|
|
31297
|
-
`) +
|
|
31298
|
-
`) +
|
|
31041
|
+
`) + chalk16__default.default.cyan(`Bug ID: ${bugId}
|
|
31042
|
+
`) + chalk16__default.default.gray(`Description: ${description}
|
|
31043
|
+
`) + chalk16__default.default.gray(`Status: Open
|
|
31044
|
+
`) + chalk16__default.default.gray(`Priority: To be determined
|
|
31299
31045
|
`),
|
|
31300
31046
|
data: { bugId, description, status: "open" }
|
|
31301
31047
|
};
|
|
@@ -31303,23 +31049,23 @@ describe("${target}", () => {
|
|
|
31303
31049
|
async listBugs() {
|
|
31304
31050
|
return {
|
|
31305
31051
|
ok: true,
|
|
31306
|
-
message:
|
|
31052
|
+
message: chalk16__default.default.cyan("\u{1F41B} Active Bugs:\n\n") + chalk16__default.default.yellow("1. BUG-A1B2C3: ") + chalk16__default.default.gray("Session timeout not handled properly\n") + chalk16__default.default.yellow("2. BUG-D4E5F6: ") + chalk16__default.default.gray("Memory leak in streaming responses\n") + chalk16__default.default.yellow("3. BUG-G7H8I9: ") + chalk16__default.default.gray("Spinner not stopping on error\n\n") + chalk16__default.default.gray("Total: 3 open bugs")
|
|
31307
31053
|
};
|
|
31308
31054
|
}
|
|
31309
31055
|
async analyzeBug(bugId) {
|
|
31310
31056
|
if (!bugId) {
|
|
31311
31057
|
return {
|
|
31312
31058
|
ok: false,
|
|
31313
|
-
message:
|
|
31059
|
+
message: chalk16__default.default.red("Please provide a bug ID to analyze")
|
|
31314
31060
|
};
|
|
31315
31061
|
}
|
|
31316
31062
|
return {
|
|
31317
31063
|
ok: true,
|
|
31318
|
-
message:
|
|
31064
|
+
message: chalk16__default.default.cyan(`\u{1F50D} Bug Analysis for ${bugId}:
|
|
31319
31065
|
|
|
31320
|
-
`) +
|
|
31066
|
+
`) + chalk16__default.default.yellow("Summary: ") + chalk16__default.default.gray("Session timeout not handled properly\n") + chalk16__default.default.yellow("Severity: ") + chalk16__default.default.orange("Medium\n") + chalk16__default.default.yellow("Component: ") + chalk16__default.default.gray("SessionManager\n") + chalk16__default.default.yellow("Reported: ") + chalk16__default.default.gray("2 days ago\n\n") + chalk16__default.default.cyan("Possible Causes:\n") + chalk16__default.default.gray(
|
|
31321
31067
|
" 1. AbortSignal not propagated to all async operations\n"
|
|
31322
|
-
) +
|
|
31068
|
+
) + chalk16__default.default.gray(" 2. Deadline timer not cleared on completion\n") + chalk16__default.default.gray(" 3. Race condition in state transitions\n\n") + chalk16__default.default.green("Suggested Fix:\n") + chalk16__default.default.gray(" Ensure all async operations respect the AbortSignal\n") + chalk16__default.default.gray(" Add finally block to clear timers\n")
|
|
31323
31069
|
};
|
|
31324
31070
|
}
|
|
31325
31071
|
};
|
|
@@ -31343,7 +31089,7 @@ var init_SystemHandlers = __esm({
|
|
|
31343
31089
|
if (signal?.aborted) {
|
|
31344
31090
|
return {
|
|
31345
31091
|
ok: false,
|
|
31346
|
-
message:
|
|
31092
|
+
message: chalk16__default.default.yellow("Status check canceled")
|
|
31347
31093
|
};
|
|
31348
31094
|
}
|
|
31349
31095
|
const verbose = args.includes("--verbose") || args.includes("-v");
|
|
@@ -31354,44 +31100,44 @@ var init_SystemHandlers = __esm({
|
|
|
31354
31100
|
cpu: os__namespace.cpus()[0],
|
|
31355
31101
|
platform: process.platform
|
|
31356
31102
|
};
|
|
31357
|
-
let message =
|
|
31358
|
-
message +=
|
|
31359
|
-
message +=
|
|
31103
|
+
let message = chalk16__default.default.cyan.bold("\u{1F4CA} System Status\n\n");
|
|
31104
|
+
message += chalk16__default.default.green("\u2705 System: Operational\n");
|
|
31105
|
+
message += chalk16__default.default.gray(
|
|
31360
31106
|
`\u23F1\uFE0F Uptime: ${Math.floor(status.uptime / 60)}m ${Math.floor(status.uptime % 60)}s
|
|
31361
31107
|
`
|
|
31362
31108
|
);
|
|
31363
|
-
message +=
|
|
31109
|
+
message += chalk16__default.default.gray(
|
|
31364
31110
|
`\u{1F4BE} Memory: ${Math.round(status.memory.heapUsed / 1024 / 1024)}MB / ${Math.round(status.memory.heapTotal / 1024 / 1024)}MB
|
|
31365
31111
|
`
|
|
31366
31112
|
);
|
|
31367
31113
|
if (verbose) {
|
|
31368
|
-
message +=
|
|
31369
|
-
message +=
|
|
31114
|
+
message += chalk16__default.default.gray("\nDetailed Information:\n");
|
|
31115
|
+
message += chalk16__default.default.gray(` \u2022 CPU: ${status.cpu.model}
|
|
31370
31116
|
`);
|
|
31371
|
-
message +=
|
|
31117
|
+
message += chalk16__default.default.gray(
|
|
31372
31118
|
` \u2022 Platform: ${status.platform} (${os__namespace.arch()})
|
|
31373
31119
|
`
|
|
31374
31120
|
);
|
|
31375
|
-
message +=
|
|
31121
|
+
message += chalk16__default.default.gray(` \u2022 Node.js: ${process.version}
|
|
31376
31122
|
`);
|
|
31377
|
-
message +=
|
|
31123
|
+
message += chalk16__default.default.gray(` \u2022 Process ID: ${process.pid}
|
|
31378
31124
|
`);
|
|
31379
|
-
message +=
|
|
31125
|
+
message += chalk16__default.default.gray(` \u2022 Working Directory: ${process.cwd()}
|
|
31380
31126
|
`);
|
|
31381
|
-
message +=
|
|
31382
|
-
message +=
|
|
31127
|
+
message += chalk16__default.default.gray("\nMemory Details:\n");
|
|
31128
|
+
message += chalk16__default.default.gray(
|
|
31383
31129
|
` \u2022 RSS: ${Math.round(status.memory.rss / 1024 / 1024)}MB
|
|
31384
31130
|
`
|
|
31385
31131
|
);
|
|
31386
|
-
message +=
|
|
31132
|
+
message += chalk16__default.default.gray(
|
|
31387
31133
|
` \u2022 Heap Used: ${Math.round(status.memory.heapUsed / 1024 / 1024)}MB
|
|
31388
31134
|
`
|
|
31389
31135
|
);
|
|
31390
|
-
message +=
|
|
31136
|
+
message += chalk16__default.default.gray(
|
|
31391
31137
|
` \u2022 Heap Total: ${Math.round(status.memory.heapTotal / 1024 / 1024)}MB
|
|
31392
31138
|
`
|
|
31393
31139
|
);
|
|
31394
|
-
message +=
|
|
31140
|
+
message += chalk16__default.default.gray(
|
|
31395
31141
|
` \u2022 External: ${Math.round(status.memory.external / 1024 / 1024)}MB
|
|
31396
31142
|
`
|
|
31397
31143
|
);
|
|
@@ -31420,7 +31166,7 @@ var init_SystemHandlers = __esm({
|
|
|
31420
31166
|
if (signal?.aborted) {
|
|
31421
31167
|
return {
|
|
31422
31168
|
ok: false,
|
|
31423
|
-
message:
|
|
31169
|
+
message: chalk16__default.default.yellow("Model operation canceled")
|
|
31424
31170
|
};
|
|
31425
31171
|
}
|
|
31426
31172
|
if (args.length === 0) {
|
|
@@ -31440,17 +31186,17 @@ var init_SystemHandlers = __esm({
|
|
|
31440
31186
|
}
|
|
31441
31187
|
}
|
|
31442
31188
|
async listModels() {
|
|
31443
|
-
let message =
|
|
31444
|
-
message +=
|
|
31189
|
+
let message = chalk16__default.default.cyan.bold("\u{1F916} Available Models\n\n");
|
|
31190
|
+
message += chalk16__default.default.green(`Current: ${this.currentModel}
|
|
31445
31191
|
|
|
31446
31192
|
`);
|
|
31447
31193
|
for (const model of this.availableModels) {
|
|
31448
|
-
const status = model.available ?
|
|
31449
|
-
const name2 = model.id === this.currentModel ?
|
|
31450
|
-
message += `${status} ${name2.padEnd(20)} ${
|
|
31194
|
+
const status = model.available ? chalk16__default.default.green("\u2705") : chalk16__default.default.red("\u274C");
|
|
31195
|
+
const name2 = model.id === this.currentModel ? chalk16__default.default.green.bold(model.id) : chalk16__default.default.cyan(model.id);
|
|
31196
|
+
message += `${status} ${name2.padEnd(20)} ${chalk16__default.default.gray(`[${model.provider}]`)}
|
|
31451
31197
|
`;
|
|
31452
31198
|
}
|
|
31453
|
-
message +=
|
|
31199
|
+
message += chalk16__default.default.gray("\nUse /model <name> to switch models");
|
|
31454
31200
|
return {
|
|
31455
31201
|
ok: true,
|
|
31456
31202
|
message,
|
|
@@ -31461,27 +31207,27 @@ var init_SystemHandlers = __esm({
|
|
|
31461
31207
|
if (!modelId) {
|
|
31462
31208
|
return {
|
|
31463
31209
|
ok: false,
|
|
31464
|
-
message:
|
|
31210
|
+
message: chalk16__default.default.red("Please specify a model to switch to")
|
|
31465
31211
|
};
|
|
31466
31212
|
}
|
|
31467
31213
|
const model = this.availableModels.find((m2) => m2.id === modelId);
|
|
31468
31214
|
if (!model) {
|
|
31469
31215
|
return {
|
|
31470
31216
|
ok: false,
|
|
31471
|
-
message:
|
|
31472
|
-
`) +
|
|
31217
|
+
message: chalk16__default.default.red(`Unknown model: ${modelId}
|
|
31218
|
+
`) + chalk16__default.default.gray("Use /model list to see available models")
|
|
31473
31219
|
};
|
|
31474
31220
|
}
|
|
31475
31221
|
if (!model.available) {
|
|
31476
31222
|
return {
|
|
31477
31223
|
ok: false,
|
|
31478
|
-
message:
|
|
31224
|
+
message: chalk16__default.default.yellow(`Model ${modelId} is not currently available`)
|
|
31479
31225
|
};
|
|
31480
31226
|
}
|
|
31481
31227
|
this.currentModel = modelId;
|
|
31482
31228
|
return {
|
|
31483
31229
|
ok: true,
|
|
31484
|
-
message:
|
|
31230
|
+
message: chalk16__default.default.green(`\u2705 Switched to ${modelId}`),
|
|
31485
31231
|
data: { model: modelId }
|
|
31486
31232
|
};
|
|
31487
31233
|
}
|
|
@@ -31490,27 +31236,27 @@ var init_SystemHandlers = __esm({
|
|
|
31490
31236
|
if (!model) {
|
|
31491
31237
|
return {
|
|
31492
31238
|
ok: false,
|
|
31493
|
-
message:
|
|
31239
|
+
message: chalk16__default.default.red(`Unknown model: ${modelId}`)
|
|
31494
31240
|
};
|
|
31495
31241
|
}
|
|
31496
|
-
let message =
|
|
31242
|
+
let message = chalk16__default.default.cyan(`\u{1F4CB} Model Information: ${modelId}
|
|
31497
31243
|
|
|
31498
31244
|
`);
|
|
31499
|
-
message +=
|
|
31245
|
+
message += chalk16__default.default.gray(`Provider: ${model.provider}
|
|
31500
31246
|
`);
|
|
31501
|
-
message +=
|
|
31247
|
+
message += chalk16__default.default.gray(
|
|
31502
31248
|
`Status: ${model.available ? "Available" : "Unavailable"}
|
|
31503
31249
|
`
|
|
31504
31250
|
);
|
|
31505
|
-
message +=
|
|
31251
|
+
message += chalk16__default.default.gray(
|
|
31506
31252
|
`Current: ${model.id === this.currentModel ? "Yes" : "No"}
|
|
31507
31253
|
`
|
|
31508
31254
|
);
|
|
31509
|
-
message +=
|
|
31510
|
-
message +=
|
|
31511
|
-
message +=
|
|
31512
|
-
message +=
|
|
31513
|
-
message +=
|
|
31255
|
+
message += chalk16__default.default.gray("\nCapabilities:\n");
|
|
31256
|
+
message += chalk16__default.default.gray(" \u2022 Context: 128K tokens\n");
|
|
31257
|
+
message += chalk16__default.default.gray(" \u2022 Languages: 95+\n");
|
|
31258
|
+
message += chalk16__default.default.gray(" \u2022 Code: Yes\n");
|
|
31259
|
+
message += chalk16__default.default.gray(" \u2022 Vision: ") + (modelId.includes("gpt-4") ? "Yes\n" : "No\n");
|
|
31514
31260
|
return {
|
|
31515
31261
|
ok: true,
|
|
31516
31262
|
message,
|
|
@@ -31542,39 +31288,39 @@ var init_SystemHandlers = __esm({
|
|
|
31542
31288
|
default:
|
|
31543
31289
|
return {
|
|
31544
31290
|
ok: false,
|
|
31545
|
-
message:
|
|
31546
|
-
`) +
|
|
31291
|
+
message: chalk16__default.default.red(`Unknown memory subcommand: ${subcommand}
|
|
31292
|
+
`) + chalk16__default.default.gray("Available: status, clear, export, compact")
|
|
31547
31293
|
};
|
|
31548
31294
|
}
|
|
31549
31295
|
}
|
|
31550
31296
|
async showStatus() {
|
|
31551
|
-
let message =
|
|
31552
|
-
message +=
|
|
31553
|
-
message +=
|
|
31297
|
+
let message = chalk16__default.default.cyan.bold("\u{1F9E0} Memory Status\n\n");
|
|
31298
|
+
message += chalk16__default.default.yellow("System 1 (Fast):\n");
|
|
31299
|
+
message += chalk16__default.default.gray(
|
|
31554
31300
|
` \u2022 Knowledge Nodes: ${this.memoryStats.system1.nodes}
|
|
31555
31301
|
`
|
|
31556
31302
|
);
|
|
31557
|
-
message +=
|
|
31303
|
+
message += chalk16__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system1.tokens}
|
|
31558
31304
|
|
|
31559
31305
|
`);
|
|
31560
|
-
message +=
|
|
31561
|
-
message +=
|
|
31306
|
+
message += chalk16__default.default.blue("System 2 (Deep):\n");
|
|
31307
|
+
message += chalk16__default.default.gray(
|
|
31562
31308
|
` \u2022 Reasoning Traces: ${this.memoryStats.system2.traces}
|
|
31563
31309
|
`
|
|
31564
31310
|
);
|
|
31565
|
-
message +=
|
|
31311
|
+
message += chalk16__default.default.gray(` \u2022 Tokens: ${this.memoryStats.system2.tokens}
|
|
31566
31312
|
|
|
31567
31313
|
`);
|
|
31568
|
-
message +=
|
|
31569
|
-
message +=
|
|
31314
|
+
message += chalk16__default.default.green("Total:\n");
|
|
31315
|
+
message += chalk16__default.default.gray(` \u2022 Entries: ${this.memoryStats.total.entries}
|
|
31570
31316
|
`);
|
|
31571
|
-
message +=
|
|
31317
|
+
message += chalk16__default.default.gray(
|
|
31572
31318
|
` \u2022 Tokens: ${this.memoryStats.total.tokens} / 128000
|
|
31573
31319
|
`
|
|
31574
31320
|
);
|
|
31575
31321
|
const usage = Math.round(this.memoryStats.total.tokens / 128e3 * 100);
|
|
31576
31322
|
const bar = "\u2588".repeat(Math.floor(usage / 5)) + "\u2591".repeat(20 - Math.floor(usage / 5));
|
|
31577
|
-
message +=
|
|
31323
|
+
message += chalk16__default.default.gray(` \u2022 Usage: [${bar}] ${usage}%
|
|
31578
31324
|
`);
|
|
31579
31325
|
return {
|
|
31580
31326
|
ok: true,
|
|
@@ -31588,14 +31334,14 @@ var init_SystemHandlers = __esm({
|
|
|
31588
31334
|
this.memoryStats.system1 = { nodes: 0, tokens: 0 };
|
|
31589
31335
|
return {
|
|
31590
31336
|
ok: true,
|
|
31591
|
-
message:
|
|
31337
|
+
message: chalk16__default.default.green("\u2705 System 1 memory cleared")
|
|
31592
31338
|
};
|
|
31593
31339
|
}
|
|
31594
31340
|
if (system === "system2") {
|
|
31595
31341
|
this.memoryStats.system2 = { traces: 0, tokens: 0 };
|
|
31596
31342
|
return {
|
|
31597
31343
|
ok: true,
|
|
31598
|
-
message:
|
|
31344
|
+
message: chalk16__default.default.green("\u2705 System 2 memory cleared")
|
|
31599
31345
|
};
|
|
31600
31346
|
}
|
|
31601
31347
|
this.memoryStats = {
|
|
@@ -31605,15 +31351,15 @@ var init_SystemHandlers = __esm({
|
|
|
31605
31351
|
};
|
|
31606
31352
|
return {
|
|
31607
31353
|
ok: true,
|
|
31608
|
-
message:
|
|
31354
|
+
message: chalk16__default.default.green("\u{1F9F9} All memory cleared")
|
|
31609
31355
|
};
|
|
31610
31356
|
}
|
|
31611
31357
|
async exportMemory() {
|
|
31612
31358
|
const filename = `memory-export-${Date.now()}.json`;
|
|
31613
31359
|
return {
|
|
31614
31360
|
ok: true,
|
|
31615
|
-
message:
|
|
31616
|
-
`) +
|
|
31361
|
+
message: chalk16__default.default.green(`\u{1F4E6} Memory exported to ${filename}
|
|
31362
|
+
`) + chalk16__default.default.gray(
|
|
31617
31363
|
`Size: ${Math.round(JSON.stringify(this.memoryStats).length / 1024)}KB`
|
|
31618
31364
|
),
|
|
31619
31365
|
data: { filename, stats: this.memoryStats }
|
|
@@ -31631,9 +31377,9 @@ var init_SystemHandlers = __esm({
|
|
|
31631
31377
|
);
|
|
31632
31378
|
return {
|
|
31633
31379
|
ok: true,
|
|
31634
|
-
message:
|
|
31635
|
-
`) +
|
|
31636
|
-
`) +
|
|
31380
|
+
message: chalk16__default.default.green("\u2728 Memory compacted successfully\n") + chalk16__default.default.gray(`Before: ${before} tokens
|
|
31381
|
+
`) + chalk16__default.default.gray(`After: ${after} tokens
|
|
31382
|
+
`) + chalk16__default.default.gray(
|
|
31637
31383
|
`Saved: ${before - after} tokens (${Math.round((1 - after / before) * 100)}%)`
|
|
31638
31384
|
),
|
|
31639
31385
|
data: { before, after, saved: before - after }
|
|
@@ -31649,11 +31395,11 @@ var init_SystemHandlers = __esm({
|
|
|
31649
31395
|
if (signal?.aborted) {
|
|
31650
31396
|
return {
|
|
31651
31397
|
ok: false,
|
|
31652
|
-
message:
|
|
31398
|
+
message: chalk16__default.default.yellow("Health check canceled")
|
|
31653
31399
|
};
|
|
31654
31400
|
}
|
|
31655
31401
|
const detailed = args.includes("--detailed");
|
|
31656
|
-
let message =
|
|
31402
|
+
let message = chalk16__default.default.cyan.bold("\u{1F3E5} System Health Check\n\n");
|
|
31657
31403
|
const checks = [
|
|
31658
31404
|
{ name: "Core Services", status: "ok", latency: 12 },
|
|
31659
31405
|
{ name: "Memory System", status: "ok", latency: 8 },
|
|
@@ -31662,11 +31408,11 @@ var init_SystemHandlers = __esm({
|
|
|
31662
31408
|
{ name: "Network", status: "warning", latency: 250 }
|
|
31663
31409
|
];
|
|
31664
31410
|
for (const check of checks) {
|
|
31665
|
-
const icon = check.status === "ok" ?
|
|
31666
|
-
const status = check.status === "ok" ?
|
|
31411
|
+
const icon = check.status === "ok" ? chalk16__default.default.green("\u2705") : check.status === "warning" ? chalk16__default.default.yellow("\u26A0\uFE0F") : chalk16__default.default.red("\u274C");
|
|
31412
|
+
const status = check.status === "ok" ? chalk16__default.default.green("OK") : check.status === "warning" ? chalk16__default.default.yellow("WARNING") : chalk16__default.default.red("ERROR");
|
|
31667
31413
|
message += `${icon} ${check.name.padEnd(20)} ${status}`;
|
|
31668
31414
|
if (detailed) {
|
|
31669
|
-
message +=
|
|
31415
|
+
message += chalk16__default.default.gray(` (${check.latency}ms)`);
|
|
31670
31416
|
}
|
|
31671
31417
|
message += "\n";
|
|
31672
31418
|
}
|
|
@@ -31674,11 +31420,11 @@ var init_SystemHandlers = __esm({
|
|
|
31674
31420
|
const hasErrors = checks.some((c) => c.status === "error");
|
|
31675
31421
|
message += "\n";
|
|
31676
31422
|
if (hasErrors) {
|
|
31677
|
-
message +=
|
|
31423
|
+
message += chalk16__default.default.red("\u26A0\uFE0F System has errors - intervention required");
|
|
31678
31424
|
} else if (hasWarnings) {
|
|
31679
|
-
message +=
|
|
31425
|
+
message += chalk16__default.default.yellow("\u26A0\uFE0F System operational with warnings");
|
|
31680
31426
|
} else {
|
|
31681
|
-
message +=
|
|
31427
|
+
message += chalk16__default.default.green("\u2705 All systems operational");
|
|
31682
31428
|
}
|
|
31683
31429
|
return {
|
|
31684
31430
|
ok: true,
|
|
@@ -31696,12 +31442,12 @@ var init_SystemHandlers = __esm({
|
|
|
31696
31442
|
if (signal?.aborted) {
|
|
31697
31443
|
return {
|
|
31698
31444
|
ok: false,
|
|
31699
|
-
message:
|
|
31445
|
+
message: chalk16__default.default.yellow("Doctor check canceled")
|
|
31700
31446
|
};
|
|
31701
31447
|
}
|
|
31702
31448
|
const autoFix = args.includes("--fix");
|
|
31703
|
-
let message =
|
|
31704
|
-
message +=
|
|
31449
|
+
let message = chalk16__default.default.cyan.bold("\u{1F468}\u2695\uFE0F System Doctor\n\n");
|
|
31450
|
+
message += chalk16__default.default.gray("Running diagnostics...\n\n");
|
|
31705
31451
|
const issues = [
|
|
31706
31452
|
{
|
|
31707
31453
|
severity: "warning",
|
|
@@ -31723,20 +31469,20 @@ var init_SystemHandlers = __esm({
|
|
|
31723
31469
|
}
|
|
31724
31470
|
];
|
|
31725
31471
|
if (issues.length === 0) {
|
|
31726
|
-
message +=
|
|
31472
|
+
message += chalk16__default.default.green("\u2705 No issues found - system is healthy!");
|
|
31727
31473
|
return { ok: true, message };
|
|
31728
31474
|
}
|
|
31729
|
-
message +=
|
|
31475
|
+
message += chalk16__default.default.yellow(`Found ${issues.length} issue(s):
|
|
31730
31476
|
|
|
31731
31477
|
`);
|
|
31732
31478
|
for (const issue of issues) {
|
|
31733
|
-
const icon = issue.severity === "error" ?
|
|
31479
|
+
const icon = issue.severity === "error" ? chalk16__default.default.red("\u274C") : issue.severity === "warning" ? chalk16__default.default.yellow("\u26A0\uFE0F") : chalk16__default.default.blue("\u2139\uFE0F");
|
|
31734
31480
|
message += `${icon} ${issue.issue}
|
|
31735
31481
|
`;
|
|
31736
|
-
message +=
|
|
31482
|
+
message += chalk16__default.default.gray(` Solution: ${issue.solution}
|
|
31737
31483
|
`);
|
|
31738
31484
|
if (autoFix && issue.fixable) {
|
|
31739
|
-
message +=
|
|
31485
|
+
message += chalk16__default.default.green(` \u2705 Auto-fixed
|
|
31740
31486
|
`);
|
|
31741
31487
|
}
|
|
31742
31488
|
message += "\n";
|
|
@@ -31744,7 +31490,7 @@ var init_SystemHandlers = __esm({
|
|
|
31744
31490
|
if (!autoFix) {
|
|
31745
31491
|
const fixableCount = issues.filter((i2) => i2.fixable).length;
|
|
31746
31492
|
if (fixableCount > 0) {
|
|
31747
|
-
message +=
|
|
31493
|
+
message += chalk16__default.default.gray(
|
|
31748
31494
|
`
|
|
31749
31495
|
Run /doctor --fix to automatically fix ${fixableCount} issue(s)`
|
|
31750
31496
|
);
|
|
@@ -32187,7 +31933,7 @@ var init_package = __esm({
|
|
|
32187
31933
|
"package.json"() {
|
|
32188
31934
|
package_default = {
|
|
32189
31935
|
name: "@bonginkan/maria",
|
|
32190
|
-
version: "4.2.
|
|
31936
|
+
version: "4.2.4",
|
|
32191
31937
|
description: "\u{1F680} MARIA v4.2.0 - 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.",
|
|
32192
31938
|
keywords: [
|
|
32193
31939
|
"ai",
|
|
@@ -32703,21 +32449,20 @@ function createCLI() {
|
|
|
32703
32449
|
}
|
|
32704
32450
|
});
|
|
32705
32451
|
program2.command("setup-ollama").description("Setup Ollama for local AI").action(async () => {
|
|
32706
|
-
console.log(
|
|
32452
|
+
console.log(chalk16__default.default.cyan("Setting up Ollama..."));
|
|
32707
32453
|
console.log(
|
|
32708
|
-
|
|
32454
|
+
chalk16__default.default.yellow("Please run: brew install ollama && ollama serve")
|
|
32709
32455
|
);
|
|
32710
32456
|
});
|
|
32711
32457
|
program2.command("setup-vllm").description("Setup vLLM for local AI").action(async () => {
|
|
32712
|
-
console.log(
|
|
32713
|
-
console.log(
|
|
32458
|
+
console.log(chalk16__default.default.cyan("Setting up vLLM..."));
|
|
32459
|
+
console.log(chalk16__default.default.yellow("Please run: pip install vllm"));
|
|
32714
32460
|
});
|
|
32715
32461
|
return program2;
|
|
32716
32462
|
}
|
|
32717
32463
|
var MariaAI;
|
|
32718
32464
|
var init_maria_ai = __esm({
|
|
32719
32465
|
"src/maria-ai.ts"() {
|
|
32720
|
-
init_startup_display();
|
|
32721
32466
|
init_provider_selector();
|
|
32722
32467
|
init_config2();
|
|
32723
32468
|
init_IntelligentRouterService();
|
|
@@ -32734,17 +32479,16 @@ var init_maria_ai = __esm({
|
|
|
32734
32479
|
}
|
|
32735
32480
|
async initialize() {
|
|
32736
32481
|
try {
|
|
32737
|
-
displayStartupLogo();
|
|
32738
32482
|
await this.providerSelector.initialize();
|
|
32739
32483
|
const { provider, model } = await this.providerSelector.selectProvider();
|
|
32740
32484
|
console.log(
|
|
32741
|
-
|
|
32485
|
+
chalk16__default.default.green(`
|
|
32742
32486
|
\u2705 Selected: ${provider} with model ${model}`)
|
|
32743
32487
|
);
|
|
32744
32488
|
this.config.set("currentProvider", provider);
|
|
32745
32489
|
this.config.set("currentModel", model);
|
|
32746
32490
|
await this.config.save();
|
|
32747
|
-
console.log(
|
|
32491
|
+
console.log(chalk16__default.default.cyan("\n\u{1F9E0} Initializing Intelligent Router..."));
|
|
32748
32492
|
this.router = new IntelligentRouterService({
|
|
32749
32493
|
confidenceThreshold: 0.85,
|
|
32750
32494
|
enableLearning: true,
|
|
@@ -32752,12 +32496,12 @@ var init_maria_ai = __esm({
|
|
|
32752
32496
|
});
|
|
32753
32497
|
await this.router.initialize();
|
|
32754
32498
|
console.log(
|
|
32755
|
-
|
|
32499
|
+
chalk16__default.default.green("\u2705 Intelligent Router initialized successfully\n")
|
|
32756
32500
|
);
|
|
32757
32501
|
this.session = createInteractiveSession(this);
|
|
32758
32502
|
await this.session.start();
|
|
32759
32503
|
} catch (error2) {
|
|
32760
|
-
console.error(
|
|
32504
|
+
console.error(chalk16__default.default.red("\n\u274C Initialization failed:"), error2);
|
|
32761
32505
|
process.exit(1);
|
|
32762
32506
|
}
|
|
32763
32507
|
}
|
|
@@ -32765,7 +32509,7 @@ var init_maria_ai = __esm({
|
|
|
32765
32509
|
if (this.session) {
|
|
32766
32510
|
await this.session.stop();
|
|
32767
32511
|
}
|
|
32768
|
-
console.log(
|
|
32512
|
+
console.log(chalk16__default.default.cyan("\n\u{1F44B} Goodbye!"));
|
|
32769
32513
|
}
|
|
32770
32514
|
};
|
|
32771
32515
|
}
|
|
@@ -32794,8 +32538,8 @@ async function loadServices() {
|
|
|
32794
32538
|
try {
|
|
32795
32539
|
const commandName = command.startsWith("/") ? command.slice(1) : command;
|
|
32796
32540
|
if (commandName === "battlecard") {
|
|
32797
|
-
console.log(
|
|
32798
|
-
console.log(
|
|
32541
|
+
console.log(chalk16__default.default.yellow("\u{1F512} /battlecard is not available on Free plan"));
|
|
32542
|
+
console.log(chalk16__default.default.gray(" Join the waitlist for business features: https://maria-code.ai/waitlist"));
|
|
32799
32543
|
return {
|
|
32800
32544
|
success: false,
|
|
32801
32545
|
message: "Command not available on Free plan"
|
|
@@ -32856,7 +32600,7 @@ async function loadServices() {
|
|
|
32856
32600
|
commandManager.setLegacyHandler(legacyHandlerAdapter);
|
|
32857
32601
|
}
|
|
32858
32602
|
} catch (e2) {
|
|
32859
|
-
console.warn(
|
|
32603
|
+
console.warn(chalk16__default.default.yellow("\u26A0 Some services unavailable, using fallbacks"));
|
|
32860
32604
|
}
|
|
32861
32605
|
}
|
|
32862
32606
|
async function init() {
|
|
@@ -32970,20 +32714,20 @@ async function enforceAuth(cmd) {
|
|
|
32970
32714
|
try {
|
|
32971
32715
|
const tokens = await authManager.getValidTokens();
|
|
32972
32716
|
if (!tokens) {
|
|
32973
|
-
console.log(
|
|
32717
|
+
console.log(chalk16__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
32974
32718
|
process.exit(2);
|
|
32975
32719
|
return false;
|
|
32976
32720
|
}
|
|
32977
32721
|
return true;
|
|
32978
32722
|
} catch (error2) {
|
|
32979
32723
|
if (error2.code === "AUTH_REQUIRED") {
|
|
32980
|
-
console.log(
|
|
32724
|
+
console.log(chalk16__default.default.red("\u{1F510} Authentication required \xB7 Run: maria /login"));
|
|
32981
32725
|
process.exit(2);
|
|
32982
32726
|
} else if (error2.code === "REAUTH_REQUIRED") {
|
|
32983
|
-
console.log(
|
|
32727
|
+
console.log(chalk16__default.default.yellow("\u{1F504} Please re-authenticate \xB7 Run: maria /login"));
|
|
32984
32728
|
process.exit(2);
|
|
32985
32729
|
} else {
|
|
32986
|
-
console.log(
|
|
32730
|
+
console.log(chalk16__default.default.red("\u{1F310} Network error, check connection"));
|
|
32987
32731
|
process.exit(1);
|
|
32988
32732
|
}
|
|
32989
32733
|
return false;
|
|
@@ -33023,7 +32767,7 @@ async function handleSlash(input3) {
|
|
|
33023
32767
|
console.log(JSON.stringify(result.data, null, 2));
|
|
33024
32768
|
}
|
|
33025
32769
|
} else {
|
|
33026
|
-
console.log(
|
|
32770
|
+
console.log(chalk16__default.default.red(`Help Error: ${result.message}`));
|
|
33027
32771
|
}
|
|
33028
32772
|
return true;
|
|
33029
32773
|
}
|
|
@@ -33031,7 +32775,7 @@ async function handleSlash(input3) {
|
|
|
33031
32775
|
if (process.env.MARIA_DEBUG === "1") {
|
|
33032
32776
|
console.error("HelpCommand error:", helpError);
|
|
33033
32777
|
}
|
|
33034
|
-
console.log(
|
|
32778
|
+
console.log(chalk16__default.default.yellow("\u26A0 Dynamic help unavailable, using fallback"));
|
|
33035
32779
|
}
|
|
33036
32780
|
const help = `
|
|
33037
32781
|
\u{1F4D6} MARIA CLI Help
|
|
@@ -33056,7 +32800,7 @@ Chat:
|
|
|
33056
32800
|
session.length = 0;
|
|
33057
32801
|
if (ctx?.clearContext) ctx.clearContext();
|
|
33058
32802
|
console.clear();
|
|
33059
|
-
console.log(
|
|
32803
|
+
console.log(chalk16__default.default.cyan("\u2728 Session cleared"));
|
|
33060
32804
|
return true;
|
|
33061
32805
|
}
|
|
33062
32806
|
if (cmd === "code") {
|
|
@@ -33064,7 +32808,7 @@ Chat:
|
|
|
33064
32808
|
const prompt = args.join(" ").trim();
|
|
33065
32809
|
if (!prompt) {
|
|
33066
32810
|
console.log(
|
|
33067
|
-
|
|
32811
|
+
chalk16__default.default.red("Usage: /code <request> e.g. /code build a REST API")
|
|
33068
32812
|
);
|
|
33069
32813
|
return true;
|
|
33070
32814
|
}
|
|
@@ -33076,7 +32820,7 @@ Chat:
|
|
|
33076
32820
|
const prompt = args.join(" ").trim();
|
|
33077
32821
|
if (!prompt) {
|
|
33078
32822
|
console.log(
|
|
33079
|
-
|
|
32823
|
+
chalk16__default.default.cyan("\u{1F3A8} **Image Generation**\n") + chalk16__default.default.white("Usage: /image <prompt>\n") + chalk16__default.default.gray("Example: /image \u5BCC\u58EB\u5C71\u306E\u65E5\u306E\u51FA")
|
|
33080
32824
|
);
|
|
33081
32825
|
return true;
|
|
33082
32826
|
}
|
|
@@ -33088,14 +32832,14 @@ Chat:
|
|
|
33088
32832
|
options: {},
|
|
33089
32833
|
logger: {
|
|
33090
32834
|
info: (msg) => console.log(msg),
|
|
33091
|
-
error: (msg) => console.error(
|
|
33092
|
-
warn: (msg) => console.warn(
|
|
32835
|
+
error: (msg) => console.error(chalk16__default.default.red(msg)),
|
|
32836
|
+
warn: (msg) => console.warn(chalk16__default.default.yellow(msg))
|
|
33093
32837
|
}
|
|
33094
32838
|
};
|
|
33095
32839
|
await imageCommand2.execute(context2);
|
|
33096
32840
|
}
|
|
33097
32841
|
} catch (error2) {
|
|
33098
|
-
console.error(
|
|
32842
|
+
console.error(chalk16__default.default.red("Image generation failed:"), error2.message);
|
|
33099
32843
|
}
|
|
33100
32844
|
return true;
|
|
33101
32845
|
}
|
|
@@ -33104,7 +32848,7 @@ Chat:
|
|
|
33104
32848
|
const prompt = args.join(" ").trim();
|
|
33105
32849
|
if (!prompt) {
|
|
33106
32850
|
console.log(
|
|
33107
|
-
|
|
32851
|
+
chalk16__default.default.cyan("\u{1F3AC} **Video Generation**\n") + chalk16__default.default.white("Usage: /video <prompt>\n") + chalk16__default.default.gray("Example: /video \u6D77\u306E\u6CE2\u304C\u6253\u3061\u5BC4\u305B\u308B\u69D8\u5B50")
|
|
33108
32852
|
);
|
|
33109
32853
|
return true;
|
|
33110
32854
|
}
|
|
@@ -33116,14 +32860,14 @@ Chat:
|
|
|
33116
32860
|
options: {},
|
|
33117
32861
|
logger: {
|
|
33118
32862
|
info: (msg) => console.log(msg),
|
|
33119
|
-
error: (msg) => console.error(
|
|
33120
|
-
warn: (msg) => console.warn(
|
|
32863
|
+
error: (msg) => console.error(chalk16__default.default.red(msg)),
|
|
32864
|
+
warn: (msg) => console.warn(chalk16__default.default.yellow(msg))
|
|
33121
32865
|
}
|
|
33122
32866
|
};
|
|
33123
32867
|
await videoCommand2.execute(context2);
|
|
33124
32868
|
}
|
|
33125
32869
|
} catch (error2) {
|
|
33126
|
-
console.error(
|
|
32870
|
+
console.error(chalk16__default.default.red("Video generation failed:"), error2.message);
|
|
33127
32871
|
}
|
|
33128
32872
|
return true;
|
|
33129
32873
|
}
|
|
@@ -33132,7 +32876,7 @@ Chat:
|
|
|
33132
32876
|
const prompt = args.join(" ").trim();
|
|
33133
32877
|
if (!prompt) {
|
|
33134
32878
|
console.log(
|
|
33135
|
-
|
|
32879
|
+
chalk16__default.default.cyan("\u{1F399}\uFE0F **Voice Synthesis**\n") + chalk16__default.default.white("Usage: /voice <text>\n") + chalk16__default.default.gray("Example: /voice \u3053\u3093\u306B\u3061\u306F\u3001\u5143\u6C17\u3067\u3059\u304B\uFF1F")
|
|
33136
32880
|
);
|
|
33137
32881
|
return true;
|
|
33138
32882
|
}
|
|
@@ -33144,14 +32888,14 @@ Chat:
|
|
|
33144
32888
|
options: {},
|
|
33145
32889
|
logger: {
|
|
33146
32890
|
info: (msg) => console.log(msg),
|
|
33147
|
-
error: (msg) => console.error(
|
|
33148
|
-
warn: (msg) => console.warn(
|
|
32891
|
+
error: (msg) => console.error(chalk16__default.default.red(msg)),
|
|
32892
|
+
warn: (msg) => console.warn(chalk16__default.default.yellow(msg))
|
|
33149
32893
|
}
|
|
33150
32894
|
};
|
|
33151
32895
|
await voiceCommand2.execute(context2);
|
|
33152
32896
|
}
|
|
33153
32897
|
} catch (error2) {
|
|
33154
|
-
console.error(
|
|
32898
|
+
console.error(chalk16__default.default.red("Voice synthesis failed:"), error2.message);
|
|
33155
32899
|
}
|
|
33156
32900
|
return true;
|
|
33157
32901
|
}
|
|
@@ -33170,36 +32914,36 @@ Chat:
|
|
|
33170
32914
|
if (args.includes("status")) {
|
|
33171
32915
|
if (await authManager.isAuthenticated()) {
|
|
33172
32916
|
const user = await authManager.getCurrentUser();
|
|
33173
|
-
console.log(
|
|
33174
|
-
console.log(
|
|
33175
|
-
console.log(
|
|
32917
|
+
console.log(chalk16__default.default.green("\u2705 Authenticated"));
|
|
32918
|
+
console.log(chalk16__default.default.white(`\u{1F464} User: ${chalk16__default.default.cyan(user.email)}`));
|
|
32919
|
+
console.log(chalk16__default.default.white(`\u{1F4CA} Plan: ${chalk16__default.default.cyan(user.plan)}`));
|
|
33176
32920
|
} else {
|
|
33177
|
-
console.log(
|
|
33178
|
-
console.log(
|
|
32921
|
+
console.log(chalk16__default.default.yellow("\u26A0\uFE0F Not authenticated"));
|
|
32922
|
+
console.log(chalk16__default.default.gray("Use /login to sign in"));
|
|
33179
32923
|
}
|
|
33180
32924
|
} else {
|
|
33181
32925
|
const result = await authManager.login(options2);
|
|
33182
32926
|
if (result.success && result.user) {
|
|
33183
|
-
console.log(
|
|
33184
|
-
console.log(
|
|
33185
|
-
console.log(
|
|
32927
|
+
console.log(chalk16__default.default.green("\u2705 Successfully logged in!"));
|
|
32928
|
+
console.log(chalk16__default.default.white(`\u{1F464} User: ${chalk16__default.default.cyan(result.user.email)}`));
|
|
32929
|
+
console.log(chalk16__default.default.white(`\u{1F4CA} Plan: ${chalk16__default.default.cyan(result.user.plan)}`));
|
|
33186
32930
|
} else {
|
|
33187
|
-
console.log(
|
|
33188
|
-
if (result.error) console.log(
|
|
32931
|
+
console.log(chalk16__default.default.red("\u274C Login failed"));
|
|
32932
|
+
if (result.error) console.log(chalk16__default.default.gray(result.error));
|
|
33189
32933
|
}
|
|
33190
32934
|
}
|
|
33191
32935
|
}
|
|
33192
32936
|
} catch (error2) {
|
|
33193
|
-
console.error(
|
|
32937
|
+
console.error(chalk16__default.default.red("Login error:"), error2.message);
|
|
33194
32938
|
}
|
|
33195
32939
|
return true;
|
|
33196
32940
|
}
|
|
33197
32941
|
if (cmd === "logout" || cmd === "signout") {
|
|
33198
32942
|
try {
|
|
33199
32943
|
await authManager.logout();
|
|
33200
|
-
console.log(
|
|
32944
|
+
console.log(chalk16__default.default.green("\u{1F44B} Signed out. Local credentials removed."));
|
|
33201
32945
|
} catch (error2) {
|
|
33202
|
-
console.error(
|
|
32946
|
+
console.error(chalk16__default.default.red("Logout error:"), error2.message);
|
|
33203
32947
|
}
|
|
33204
32948
|
return true;
|
|
33205
32949
|
}
|
|
@@ -33300,11 +33044,11 @@ Chat:
|
|
|
33300
33044
|
}
|
|
33301
33045
|
}
|
|
33302
33046
|
if (!["battlecard", "sales-dashboard", "tune", "pilot-setup"].includes(cmd)) {
|
|
33303
|
-
console.log(
|
|
33304
|
-
console.log(
|
|
33305
|
-
console.log(
|
|
33306
|
-
console.log(
|
|
33307
|
-
console.log(
|
|
33047
|
+
console.log(chalk16__default.default.red(`\u274C Unknown command: /${cmd}`));
|
|
33048
|
+
console.log(chalk16__default.default.yellow("\n\u{1F4A1} Suggestions:"));
|
|
33049
|
+
console.log(chalk16__default.default.gray(" \u2022 Type /help to see available commands"));
|
|
33050
|
+
console.log(chalk16__default.default.gray(" \u2022 Check if you need to /login first"));
|
|
33051
|
+
console.log(chalk16__default.default.gray(` \u2022 Try similar commands: /help --search ${cmd}`));
|
|
33308
33052
|
}
|
|
33309
33053
|
return true;
|
|
33310
33054
|
}
|
|
@@ -33572,11 +33316,11 @@ async function handleCodeCommand(prompt) {
|
|
|
33572
33316
|
const filepath = path8__namespace.resolve(process.cwd(), filename);
|
|
33573
33317
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
33574
33318
|
console.log(
|
|
33575
|
-
|
|
33576
|
-
`) +
|
|
33577
|
-
`) +
|
|
33578
|
-
`) +
|
|
33579
|
-
`) +
|
|
33319
|
+
chalk16__default.default.green("\n\u2705 **Code Saved**\n") + chalk16__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
33320
|
+
`) + chalk16__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
33321
|
+
`) + chalk16__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
33322
|
+
`) + chalk16__default.default.white(` \u{1F4DD} Language: ${language}
|
|
33323
|
+
`) + chalk16__default.default.dim(`
|
|
33580
33324
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
33581
33325
|
);
|
|
33582
33326
|
} else {
|
|
@@ -33585,11 +33329,11 @@ async function handleCodeCommand(prompt) {
|
|
|
33585
33329
|
} catch (e2) {
|
|
33586
33330
|
spinner.stop();
|
|
33587
33331
|
if (process.env.MARIA_DEBUG === "1") {
|
|
33588
|
-
console.error(
|
|
33332
|
+
console.error(chalk16__default.default.red("Code generation error:"), e2.message || e2);
|
|
33589
33333
|
}
|
|
33590
33334
|
const fallbackCode = templateFallback(prompt);
|
|
33591
33335
|
console.log(
|
|
33592
|
-
|
|
33336
|
+
chalk16__default.default.yellow("\u26A0 AI unavailable, using template fallback:\n")
|
|
33593
33337
|
);
|
|
33594
33338
|
console.log(fallbackCode);
|
|
33595
33339
|
try {
|
|
@@ -33598,14 +33342,14 @@ async function handleCodeCommand(prompt) {
|
|
|
33598
33342
|
const filepath = path8__namespace.resolve(process.cwd(), filename);
|
|
33599
33343
|
await fsp__namespace.writeFile(filepath, code, "utf-8");
|
|
33600
33344
|
console.log(
|
|
33601
|
-
|
|
33602
|
-
`) +
|
|
33603
|
-
`) +
|
|
33604
|
-
`) +
|
|
33345
|
+
chalk16__default.default.green("\n\u2705 **Template Code Saved**\n") + chalk16__default.default.white(`\u{1F4C1} **File (Click to open):**
|
|
33346
|
+
`) + chalk16__default.default.cyan(`\u2022 [${filename}](file://${filepath})
|
|
33347
|
+
`) + chalk16__default.default.gray(` \u{1F4CD} Path: \`${filepath}\`
|
|
33348
|
+
`) + chalk16__default.default.dim(`
|
|
33605
33349
|
\u{1F4A1} Tip: Command+Click (Mac) or Ctrl+Click (Windows/Linux) to open file`)
|
|
33606
33350
|
);
|
|
33607
33351
|
} catch (saveError) {
|
|
33608
|
-
console.error(
|
|
33352
|
+
console.error(chalk16__default.default.red("Failed to save code:"), saveError);
|
|
33609
33353
|
}
|
|
33610
33354
|
}
|
|
33611
33355
|
}
|
|
@@ -33661,7 +33405,7 @@ ${userPrompt}`;
|
|
|
33661
33405
|
(seq) => response2.includes(seq)
|
|
33662
33406
|
);
|
|
33663
33407
|
if (guidedFlowDetected) {
|
|
33664
|
-
console.log(
|
|
33408
|
+
console.log(chalk16__default.default.yellow("\u26A0 Guided flow detected, switching to fallback"));
|
|
33665
33409
|
return null;
|
|
33666
33410
|
}
|
|
33667
33411
|
const codeMatch = response2.match(/```[\s\S]*?```/);
|
|
@@ -33829,14 +33573,14 @@ async function streamAnswer(text) {
|
|
|
33829
33573
|
if (store?.addMessage) await store.addMessage(msg);
|
|
33830
33574
|
} else {
|
|
33831
33575
|
animation.stop();
|
|
33832
|
-
console.log(
|
|
33576
|
+
console.log(chalk16__default.default.yellow("AI service unavailable. Please check your configuration."));
|
|
33833
33577
|
}
|
|
33834
33578
|
} catch (e2) {
|
|
33835
33579
|
animation.stop();
|
|
33836
33580
|
if (e2.message?.includes("timeout") || e2.message?.includes("\u23F1\uFE0F")) {
|
|
33837
|
-
console.log(
|
|
33581
|
+
console.log(chalk16__default.default.yellow(e2.message));
|
|
33838
33582
|
} else {
|
|
33839
|
-
console.log(
|
|
33583
|
+
console.log(chalk16__default.default.red("Error generating response:"), e2.message || e2);
|
|
33840
33584
|
}
|
|
33841
33585
|
}
|
|
33842
33586
|
}
|
|
@@ -33851,9 +33595,9 @@ async function handleLine(line) {
|
|
|
33851
33595
|
if (consumed) return;
|
|
33852
33596
|
const isAuthenticated = await authManager.isAuthenticated();
|
|
33853
33597
|
if (!isAuthenticated) {
|
|
33854
|
-
console.log(
|
|
33855
|
-
console.log(
|
|
33856
|
-
console.log(
|
|
33598
|
+
console.log(chalk16__default.default.yellow("\n\u26A0\uFE0F Authentication required for chat features"));
|
|
33599
|
+
console.log(chalk16__default.default.cyan("Please run: /login"));
|
|
33600
|
+
console.log(chalk16__default.default.gray("Or use slash commands like /help, /version"));
|
|
33857
33601
|
return;
|
|
33858
33602
|
}
|
|
33859
33603
|
const user = { role: "user", content: input3, timestamp: /* @__PURE__ */ new Date() };
|
|
@@ -33875,7 +33619,7 @@ async function startInteractiveSession() {
|
|
|
33875
33619
|
}
|
|
33876
33620
|
}
|
|
33877
33621
|
const stop = async () => {
|
|
33878
|
-
console.log(
|
|
33622
|
+
console.log(chalk16__default.default.cyan("\n\u{1F44B} Goodbye!"));
|
|
33879
33623
|
if (store?.close) await store.close().catch(() => {
|
|
33880
33624
|
});
|
|
33881
33625
|
if (interactiveCLI?.cleanup) interactiveCLI.cleanup();
|
|
@@ -33885,7 +33629,7 @@ async function startInteractiveSession() {
|
|
|
33885
33629
|
process.once("SIGINT", stop);
|
|
33886
33630
|
process.once("SIGTERM", stop);
|
|
33887
33631
|
if (!isTTY) {
|
|
33888
|
-
console.log(
|
|
33632
|
+
console.log(chalk16__default.default.gray("[Pipe mode detected - streaming input/output]"));
|
|
33889
33633
|
const rl = readline5__namespace.createInterface({
|
|
33890
33634
|
input: process$1.stdin,
|
|
33891
33635
|
output: process$1.stdout,
|
|
@@ -33900,7 +33644,7 @@ async function startInteractiveSession() {
|
|
|
33900
33644
|
if (interactiveCLI) {
|
|
33901
33645
|
while (true) {
|
|
33902
33646
|
try {
|
|
33903
|
-
const prompt =
|
|
33647
|
+
const prompt = chalk16__default.default.gray("> ");
|
|
33904
33648
|
process.stdout.write(prompt);
|
|
33905
33649
|
const line = await interactiveCLI.question("");
|
|
33906
33650
|
console.log();
|
|
@@ -33915,14 +33659,14 @@ async function startInteractiveSession() {
|
|
|
33915
33659
|
await stop();
|
|
33916
33660
|
return;
|
|
33917
33661
|
}
|
|
33918
|
-
console.error(
|
|
33662
|
+
console.error(chalk16__default.default.red("Error:"), error2?.message || error2);
|
|
33919
33663
|
}
|
|
33920
33664
|
}
|
|
33921
33665
|
} else {
|
|
33922
33666
|
const rl = readline5__namespace.createInterface({ input: process$1.stdin, output: process$1.stdout });
|
|
33923
33667
|
while (true) {
|
|
33924
33668
|
try {
|
|
33925
|
-
const prompt =
|
|
33669
|
+
const prompt = chalk16__default.default.gray("> ");
|
|
33926
33670
|
const line = await rl.question(prompt);
|
|
33927
33671
|
console.log();
|
|
33928
33672
|
if (line.toLowerCase() === "exit" || line.toLowerCase() === "quit") {
|
|
@@ -33936,7 +33680,7 @@ async function startInteractiveSession() {
|
|
|
33936
33680
|
await stop();
|
|
33937
33681
|
return;
|
|
33938
33682
|
}
|
|
33939
|
-
console.error(
|
|
33683
|
+
console.error(chalk16__default.default.red("Error:"), error2?.message || error2);
|
|
33940
33684
|
}
|
|
33941
33685
|
}
|
|
33942
33686
|
}
|
|
@@ -33946,7 +33690,7 @@ function createCLI2() {
|
|
|
33946
33690
|
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").option("--server", "Start HTTP server mode for Cloud Run").action(async (options) => {
|
|
33947
33691
|
loadEnvironmentVariables();
|
|
33948
33692
|
if (options.server) {
|
|
33949
|
-
console.log(
|
|
33693
|
+
console.log(chalk16__default.default.green("\u{1F680} Starting MARIA server mode..."));
|
|
33950
33694
|
try {
|
|
33951
33695
|
const serverPath = path8__namespace.join(process.cwd(), "server.mjs");
|
|
33952
33696
|
const { spawn } = await import('child_process');
|
|
@@ -33955,44 +33699,32 @@ function createCLI2() {
|
|
|
33955
33699
|
env: process.env
|
|
33956
33700
|
});
|
|
33957
33701
|
serverProcess.on("error", (error2) => {
|
|
33958
|
-
console.error(
|
|
33702
|
+
console.error(chalk16__default.default.red("\u274C Server process error:"), error2);
|
|
33959
33703
|
process.exit(1);
|
|
33960
33704
|
});
|
|
33961
33705
|
return;
|
|
33962
33706
|
} catch (error2) {
|
|
33963
|
-
console.error(
|
|
33707
|
+
console.error(chalk16__default.default.red("\u274C Failed to start server mode:"), error2);
|
|
33964
33708
|
process.exit(1);
|
|
33965
33709
|
}
|
|
33966
33710
|
}
|
|
33967
|
-
if (!startupDisplayed) {
|
|
33968
|
-
try {
|
|
33969
|
-
const { displayStartupLogo: displayStartupLogo2 } = await Promise.resolve().then(() => (init_startup_display(), startup_display_exports));
|
|
33970
|
-
displayStartupLogo2();
|
|
33971
|
-
startupDisplayed = true;
|
|
33972
|
-
} catch {
|
|
33973
|
-
console.log(chalk17__default.default.cyan(`
|
|
33974
|
-
\u{1F680} MARIA v${getVersion()}
|
|
33975
|
-
`));
|
|
33976
|
-
startupDisplayed = true;
|
|
33977
|
-
}
|
|
33978
|
-
}
|
|
33979
33711
|
const useV3 = options.v3Session || process.env.MARIA_USE_V3_SESSION === "1";
|
|
33980
33712
|
if (useV3) {
|
|
33981
33713
|
try {
|
|
33982
|
-
console.log(
|
|
33714
|
+
console.log(chalk16__default.default.cyan("\u{1F680} Starting MARIA v3 session..."));
|
|
33983
33715
|
const { MariaAI: MariaAI2 } = await Promise.resolve().then(() => (init_maria_ai(), maria_ai_exports));
|
|
33984
33716
|
const maria = new MariaAI2();
|
|
33985
33717
|
await maria.initialize();
|
|
33986
33718
|
return;
|
|
33987
33719
|
} catch (e2) {
|
|
33988
|
-
console.warn(
|
|
33720
|
+
console.warn(chalk16__default.default.yellow("\u26A0 V3 session unavailable, using standard mode"));
|
|
33989
33721
|
}
|
|
33990
33722
|
}
|
|
33991
33723
|
await startInteractiveSession();
|
|
33992
33724
|
});
|
|
33993
33725
|
return program2;
|
|
33994
33726
|
}
|
|
33995
|
-
var AIResponseService2, ChatContextService2, ConversationPersistence2, InteractiveCLI2, ai, ctx, store, session, commandManager,
|
|
33727
|
+
var AIResponseService2, ChatContextService2, ConversationPersistence2, InteractiveCLI2, ai, ctx, store, session, commandManager, program;
|
|
33996
33728
|
var init_cli = __esm({
|
|
33997
33729
|
"src/cli.ts"() {
|
|
33998
33730
|
init_env_loader();
|
|
@@ -34001,7 +33733,6 @@ var init_cli = __esm({
|
|
|
34001
33733
|
init_cli_auth();
|
|
34002
33734
|
session = [];
|
|
34003
33735
|
commandManager = null;
|
|
34004
|
-
startupDisplayed = false;
|
|
34005
33736
|
program = createCLI2();
|
|
34006
33737
|
program.parse(process.argv);
|
|
34007
33738
|
}
|