@bonginkan/maria 4.3.32 → 4.3.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/READY.manifest.json +1 -1
- package/dist/bin/maria.cjs +152 -39
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +152 -39
- package/dist/cli.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/express-server.cjs +1211 -267
- package/dist/server/express-server.js +1211 -267
- package/dist/server-express.cjs +1211 -267
- package/dist/server-express.cjs.map +1 -1
- package/package.json +3 -3
- package/src/slash-commands/READY.manifest.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# MARIA - AI Development Platform v4.3.
|
|
1
|
+
# MARIA - AI Development Platform v4.3.34
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@bonginkan/maria)
|
|
4
4
|
[](LICENSE)
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
> **Enterprise-grade AI development platform with 100% command availability and comprehensive fallback support**
|
|
12
12
|
|
|
13
|
-
## 🚀 What's New in v4.3.
|
|
13
|
+
## 🚀 What's New in v4.3.34 (September 29, 2025)
|
|
14
14
|
|
|
15
15
|
### 🎯 Interactive Improvements & Choice Memory
|
|
16
16
|
- **Choice Memory System**: Smart persistence of user selections across sessions
|
|
@@ -922,7 +922,7 @@ await secureWorkflow.executeWithAuth(workflowDefinition, securityContext);
|
|
|
922
922
|
### Quick Installation
|
|
923
923
|
```bash
|
|
924
924
|
# Install globally (recommended)
|
|
925
|
-
npm install -g @bonginkan/maria@4.3.
|
|
925
|
+
npm install -g @bonginkan/maria@4.3.34
|
|
926
926
|
|
|
927
927
|
# Verify installation
|
|
928
928
|
maria --version # Should show v4.3.9
|
|
@@ -1126,7 +1126,7 @@ MARIA CODE is distributed under a comprehensive licensing system designed for in
|
|
|
1126
1126
|
|
|
1127
1127
|
*MARIA v4.1.4 represents the pinnacle of multimodal AI development platform evolution - combining revolutionary voice-to-code capabilities, advanced memory systems, and comprehensive command ecosystems with enterprise-grade security and performance. This release establishes MARIA as the definitive choice for developers and Fortune 500 enterprises seeking intelligent, multimodal development experiences with GraphRAG intelligence, multilingual support, and zero-anxiety coding workflows.*
|
|
1128
1128
|
|
|
1129
|
-
**Transform your development experience today**: `npm install -g @bonginkan/maria@4.3.
|
|
1129
|
+
**Transform your development experience today**: `npm install -g @bonginkan/maria@4.3.34`
|
|
1130
1130
|
|
|
1131
1131
|
🌐 **Official Website**: [https://maria-code.ai](https://maria-code.ai)
|
|
1132
1132
|
💬 **Community**: [https://discord.gg/SMSmSGcEQy](https://discord.gg/SMSmSGcEQy)
|
package/dist/READY.manifest.json
CHANGED
package/dist/bin/maria.cjs
CHANGED
|
@@ -26066,8 +26066,8 @@ var require_package = __commonJS({
|
|
|
26066
26066
|
"package.json"(exports, module) {
|
|
26067
26067
|
module.exports = {
|
|
26068
26068
|
name: "@bonginkan/maria",
|
|
26069
|
-
version: "4.3.
|
|
26070
|
-
description: "\u{1F680} MARIA v4.3.
|
|
26069
|
+
version: "4.3.34",
|
|
26070
|
+
description: "\u{1F680} MARIA v4.3.34 - Enterprise AI Development Platform with identity system and character voice implementation. 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.",
|
|
26071
26071
|
keywords: [
|
|
26072
26072
|
"ai",
|
|
26073
26073
|
"cli",
|
|
@@ -26503,7 +26503,7 @@ var require_package = __commonJS({
|
|
|
26503
26503
|
react: "^18.2.0",
|
|
26504
26504
|
"reflect-metadata": "^0.2.2",
|
|
26505
26505
|
semver: "^7.7.2",
|
|
26506
|
-
sharp: "^0.34.
|
|
26506
|
+
sharp: "^0.34.4",
|
|
26507
26507
|
"string-width": "^8.0.0",
|
|
26508
26508
|
"strip-ansi": "^7.1.0",
|
|
26509
26509
|
"tesseract.js": "^6.0.1",
|
|
@@ -27781,25 +27781,29 @@ var init_AuthSecretManager = __esm({
|
|
|
27781
27781
|
constructor() {
|
|
27782
27782
|
this.projectId = process.env.GCLOUD_PROJECT || "maria-code-470602";
|
|
27783
27783
|
this.useGsm = this.shouldUseGsm();
|
|
27784
|
-
|
|
27785
|
-
try {
|
|
27786
|
-
this.client = new secretManager.SecretManagerServiceClient();
|
|
27787
|
-
} catch {
|
|
27788
|
-
this.client = null;
|
|
27789
|
-
}
|
|
27790
|
-
}
|
|
27784
|
+
this.client = null;
|
|
27791
27785
|
}
|
|
27792
27786
|
/**
|
|
27793
27787
|
* Determine whether to use Google Secret Manager in this environment
|
|
27794
27788
|
*/
|
|
27795
27789
|
shouldUseGsm() {
|
|
27796
27790
|
if (process.env.MARIA_DISABLE_GSM === "true") return false;
|
|
27791
|
+
if (process.env.MARIA_CLI_USE_GSM === "true") return true;
|
|
27797
27792
|
if (process.env.GOOGLE_APPLICATION_CREDENTIALS) return true;
|
|
27798
|
-
if (process.env.
|
|
27799
|
-
if (process.env.CLOUD_RUN_SERVICE || process.env.K_SERVICE) return true;
|
|
27800
|
-
if (process.env.GCE_METADATA_HOST) return true;
|
|
27793
|
+
if (process.env.CLOUD_RUN_SERVICE || process.env.K_SERVICE || process.env.GCE_METADATA_HOST) return true;
|
|
27801
27794
|
return false;
|
|
27802
27795
|
}
|
|
27796
|
+
/** Lazily create Secret Manager client only when permitted */
|
|
27797
|
+
ensureClient() {
|
|
27798
|
+
if (!this.useGsm) return null;
|
|
27799
|
+
if (this.client) return this.client;
|
|
27800
|
+
try {
|
|
27801
|
+
this.client = new secretManager.SecretManagerServiceClient();
|
|
27802
|
+
} catch {
|
|
27803
|
+
this.client = null;
|
|
27804
|
+
}
|
|
27805
|
+
return this.client;
|
|
27806
|
+
}
|
|
27803
27807
|
/**
|
|
27804
27808
|
* Get authentication configuration from Secret Manager
|
|
27805
27809
|
*/
|
|
@@ -27819,7 +27823,8 @@ var init_AuthSecretManager = __esm({
|
|
|
27819
27823
|
* Get a specific secret from Secret Manager
|
|
27820
27824
|
*/
|
|
27821
27825
|
async getSecret(secretName) {
|
|
27822
|
-
|
|
27826
|
+
const client = this.ensureClient();
|
|
27827
|
+
if (!this.useGsm || !client) {
|
|
27823
27828
|
return null;
|
|
27824
27829
|
}
|
|
27825
27830
|
const cached2 = this.getCachedSecret(secretName);
|
|
@@ -27828,7 +27833,7 @@ var init_AuthSecretManager = __esm({
|
|
|
27828
27833
|
}
|
|
27829
27834
|
try {
|
|
27830
27835
|
const name2 = `projects/${this.projectId}/secrets/${secretName}/versions/latest`;
|
|
27831
|
-
const [version] = await
|
|
27836
|
+
const [version] = await client.accessSecretVersion({ name: name2 });
|
|
27832
27837
|
const payload = version.payload?.data;
|
|
27833
27838
|
if (!payload) {
|
|
27834
27839
|
return null;
|
|
@@ -28099,7 +28104,7 @@ var init_AuthenticationManager = __esm({
|
|
|
28099
28104
|
const response = await fetch(`${this.apiBase}/api/user/profile`, {
|
|
28100
28105
|
headers: {
|
|
28101
28106
|
"Authorization": `Bearer ${tokens2.accessToken}`,
|
|
28102
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28107
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.34"}`
|
|
28103
28108
|
}
|
|
28104
28109
|
});
|
|
28105
28110
|
if (response.status === 401) {
|
|
@@ -28731,7 +28736,7 @@ async function callApi(path64, init3 = {}) {
|
|
|
28731
28736
|
"Authorization": `Bearer ${token}`,
|
|
28732
28737
|
"X-Device-Id": getDeviceId(),
|
|
28733
28738
|
"X-Session-Id": getSessionId() || "",
|
|
28734
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28739
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.34"}`,
|
|
28735
28740
|
"Content-Type": init3.headers?.["Content-Type"] || "application/json"
|
|
28736
28741
|
});
|
|
28737
28742
|
const doFetch = async (token) => {
|
|
@@ -37153,6 +37158,13 @@ var init_logging = __esm({
|
|
|
37153
37158
|
_loggingMiddleware = new LoggingMiddleware();
|
|
37154
37159
|
}
|
|
37155
37160
|
});
|
|
37161
|
+
|
|
37162
|
+
// src/services/telemetry/bigquery-telemetry.ts
|
|
37163
|
+
var bigquery_telemetry_exports = {};
|
|
37164
|
+
__export(bigquery_telemetry_exports, {
|
|
37165
|
+
BigQueryTelemetryService: () => BigQueryTelemetryService,
|
|
37166
|
+
bigQueryTelemetry: () => bigQueryTelemetry
|
|
37167
|
+
});
|
|
37156
37168
|
async function loadBigQuery() {
|
|
37157
37169
|
if (bigQueryLoadAttempted) return BigQuery;
|
|
37158
37170
|
bigQueryLoadAttempted = true;
|
|
@@ -37218,7 +37230,7 @@ var init_bigquery_telemetry = __esm({
|
|
|
37218
37230
|
};
|
|
37219
37231
|
constructor() {
|
|
37220
37232
|
super();
|
|
37221
|
-
this.isEnabled = process.env.
|
|
37233
|
+
this.isEnabled = process.env.TELEMETRY_ENABLED === "true";
|
|
37222
37234
|
this.httpEndpoint = process.env.TELEMETRY_ENDPOINT || null;
|
|
37223
37235
|
if (this.isEnabled) {
|
|
37224
37236
|
this.initialize().catch((error2) => {
|
|
@@ -37562,8 +37574,12 @@ async function getUserContext() {
|
|
|
37562
37574
|
}
|
|
37563
37575
|
async function trackCommand(data) {
|
|
37564
37576
|
try {
|
|
37577
|
+
if (process.env.TELEMETRY_DISABLED === "true") {
|
|
37578
|
+
return;
|
|
37579
|
+
}
|
|
37565
37580
|
const userContext = await getUserContext();
|
|
37566
|
-
await
|
|
37581
|
+
const { bigQueryTelemetry: bigQueryTelemetry2 } = await Promise.resolve().then(() => (init_bigquery_telemetry(), bigquery_telemetry_exports));
|
|
37582
|
+
await bigQueryTelemetry2.trackCommandExecution({
|
|
37567
37583
|
cmd: data.cmd,
|
|
37568
37584
|
status: data.status,
|
|
37569
37585
|
latencyMs: data.latencyMs,
|
|
@@ -37604,7 +37620,6 @@ function getNextMonthStart() {
|
|
|
37604
37620
|
}
|
|
37605
37621
|
var init_telemetry_helper = __esm({
|
|
37606
37622
|
"src/slash-commands/shared/telemetry-helper.ts"() {
|
|
37607
|
-
init_bigquery_telemetry();
|
|
37608
37623
|
}
|
|
37609
37624
|
});
|
|
37610
37625
|
|
|
@@ -37756,6 +37771,7 @@ var init_ReadyCommandsService = __esm({
|
|
|
37756
37771
|
lastLoaded = null;
|
|
37757
37772
|
manifestPath;
|
|
37758
37773
|
usedFallback = false;
|
|
37774
|
+
helpMeta = {};
|
|
37759
37775
|
constructor(manifestPath) {
|
|
37760
37776
|
if (manifestPath) {
|
|
37761
37777
|
this.manifestPath = manifestPath;
|
|
@@ -37839,14 +37855,57 @@ var init_ReadyCommandsService = __esm({
|
|
|
37839
37855
|
this.buildLookupMaps();
|
|
37840
37856
|
this.lastLoaded = /* @__PURE__ */ new Date();
|
|
37841
37857
|
this.usedFallback = false;
|
|
37858
|
+
await this.tryLoadHelpMeta();
|
|
37842
37859
|
} catch (error2) {
|
|
37843
37860
|
logger.debug("READY manifest not found or invalid; using fallback");
|
|
37844
37861
|
this.readyCommands = this.getFallbackCommands();
|
|
37845
37862
|
this.buildLookupMaps();
|
|
37846
37863
|
this.lastLoaded = /* @__PURE__ */ new Date();
|
|
37847
37864
|
this.usedFallback = true;
|
|
37865
|
+
await this.tryLoadHelpMeta();
|
|
37866
|
+
}
|
|
37867
|
+
}
|
|
37868
|
+
/**
|
|
37869
|
+
* Load enhanced help metadata (e.g., arguments/examples) if available
|
|
37870
|
+
*/
|
|
37871
|
+
async tryLoadHelpMeta() {
|
|
37872
|
+
try {
|
|
37873
|
+
const candidates = [
|
|
37874
|
+
path11__namespace.join(process.cwd(), "src/slash-commands/help/command-meta.json"),
|
|
37875
|
+
path11__namespace.join(__dirname, "../../slash-commands/help/command-meta.json"),
|
|
37876
|
+
path11__namespace.join(process.cwd(), "dist/command-meta.json")
|
|
37877
|
+
];
|
|
37878
|
+
let p = null;
|
|
37879
|
+
for (const c of candidates) {
|
|
37880
|
+
try {
|
|
37881
|
+
await fsp__namespace.access(c);
|
|
37882
|
+
p = c;
|
|
37883
|
+
break;
|
|
37884
|
+
} catch {
|
|
37885
|
+
}
|
|
37886
|
+
}
|
|
37887
|
+
if (!p) return;
|
|
37888
|
+
const raw = await fsp__namespace.readFile(p, "utf8");
|
|
37889
|
+
const json = JSON.parse(raw);
|
|
37890
|
+
const map = {};
|
|
37891
|
+
const arr = Array.isArray(json?.commands) ? json.commands : [];
|
|
37892
|
+
for (const entry of arr) {
|
|
37893
|
+
const name2 = typeof entry?.name === "string" ? entry.name : void 0;
|
|
37894
|
+
if (!name2) continue;
|
|
37895
|
+
const norm = name2.replace(/^\//, "");
|
|
37896
|
+
const title = typeof entry?.title === "string" ? entry.title : void 0;
|
|
37897
|
+
const examples = Array.isArray(entry?.examples) ? entry.examples.filter((e2) => typeof e2 === "string") : void 0;
|
|
37898
|
+
map[norm] = { title, examples };
|
|
37899
|
+
}
|
|
37900
|
+
this.helpMeta = map;
|
|
37901
|
+
} catch {
|
|
37848
37902
|
}
|
|
37849
37903
|
}
|
|
37904
|
+
/** Get enhanced help meta for a command if available */
|
|
37905
|
+
getHelpMeta(commandName) {
|
|
37906
|
+
const key = commandName.replace(/^\//, "");
|
|
37907
|
+
return this.helpMeta[key];
|
|
37908
|
+
}
|
|
37850
37909
|
/**
|
|
37851
37910
|
* Convert object-format commands to ReadyCommand array
|
|
37852
37911
|
*/
|
|
@@ -47395,7 +47454,8 @@ function normalizeImageArgs(raw, root) {
|
|
|
47395
47454
|
const out = {
|
|
47396
47455
|
prompt,
|
|
47397
47456
|
size: [1024, 1024],
|
|
47398
|
-
|
|
47457
|
+
// Default to png to avoid surprise webp outputs when converters are unavailable
|
|
47458
|
+
format: "png",
|
|
47399
47459
|
count: 1,
|
|
47400
47460
|
concurrency: 2,
|
|
47401
47461
|
retry: 2,
|
|
@@ -47414,10 +47474,13 @@ function normalizeImageArgs(raw, root) {
|
|
|
47414
47474
|
case "size":
|
|
47415
47475
|
out.size = parseSize(String(v));
|
|
47416
47476
|
break;
|
|
47417
|
-
case "format":
|
|
47418
|
-
|
|
47419
|
-
|
|
47477
|
+
case "format": {
|
|
47478
|
+
const rawFmt = String(v).toLowerCase();
|
|
47479
|
+
const mapped = rawFmt === "jpeg" ? "jpg" : rawFmt;
|
|
47480
|
+
if (!["png", "webp", "jpg"].includes(mapped)) throw new Error("invalid format");
|
|
47481
|
+
out.format = mapped;
|
|
47420
47482
|
break;
|
|
47483
|
+
}
|
|
47421
47484
|
case "count": {
|
|
47422
47485
|
const n = Number(v);
|
|
47423
47486
|
if (!Number.isFinite(n) || n < 1) throw new Error("invalid count");
|
|
@@ -47790,6 +47853,14 @@ var init_gemini_media = __esm({
|
|
|
47790
47853
|
async generateImage(req) {
|
|
47791
47854
|
const modelName = this.primaryModel;
|
|
47792
47855
|
const promptPreview = String(req.prompt ?? "").replace(/\s+/g, " ").slice(0, 200);
|
|
47856
|
+
const targetMime = (() => {
|
|
47857
|
+
const fmt = (req.format || "png").toLowerCase();
|
|
47858
|
+
if (fmt === "jpg") return "image/jpeg";
|
|
47859
|
+
if (fmt === "jpeg") return "image/jpeg";
|
|
47860
|
+
if (fmt === "png") return "image/png";
|
|
47861
|
+
if (fmt === "webp") return "image/webp";
|
|
47862
|
+
return "image/png";
|
|
47863
|
+
})();
|
|
47793
47864
|
let resp;
|
|
47794
47865
|
try {
|
|
47795
47866
|
resp = await this.ai.models.generateContent({
|
|
@@ -47797,7 +47868,7 @@ var init_gemini_media = __esm({
|
|
|
47797
47868
|
contents: [{ role: "user", parts: [{ text: String(req.prompt) }] }],
|
|
47798
47869
|
generationConfig: {
|
|
47799
47870
|
responseModalities: ["IMAGE"],
|
|
47800
|
-
responseMimeType:
|
|
47871
|
+
responseMimeType: targetMime
|
|
47801
47872
|
}
|
|
47802
47873
|
});
|
|
47803
47874
|
} catch (err) {
|
|
@@ -47819,7 +47890,7 @@ var init_gemini_media = __esm({
|
|
|
47819
47890
|
const mime = p?.inlineData?.mimeType || p?.inline_data?.mime_type || p?.inline_data?.mimeType || p?.inlineData?.mime_type;
|
|
47820
47891
|
if (data) {
|
|
47821
47892
|
const buf = Buffer.from(String(data), "base64");
|
|
47822
|
-
if (buf.length > 0) return { bytes: buf, mime: typeof mime === "string" ? mime :
|
|
47893
|
+
if (buf.length > 0) return { bytes: buf, mime: typeof mime === "string" ? mime : targetMime };
|
|
47823
47894
|
}
|
|
47824
47895
|
}
|
|
47825
47896
|
try {
|
|
@@ -47832,7 +47903,7 @@ var init_gemini_media = __esm({
|
|
|
47832
47903
|
const bytesB64 = img0?.imageBytes || img0?.bytesBase64Encoded;
|
|
47833
47904
|
if (bytesB64) {
|
|
47834
47905
|
const buf = Buffer.from(String(bytesB64), "base64");
|
|
47835
|
-
if (buf.length > 0) return { bytes: buf, mime:
|
|
47906
|
+
if (buf.length > 0) return { bytes: buf, mime: targetMime };
|
|
47836
47907
|
}
|
|
47837
47908
|
} catch {
|
|
47838
47909
|
}
|
|
@@ -47885,12 +47956,15 @@ var init_Progress = __esm({
|
|
|
47885
47956
|
});
|
|
47886
47957
|
|
|
47887
47958
|
// src/services/media-orchestrator/image-post.ts
|
|
47888
|
-
async function processImageOptional(bytes, format, keepExif) {
|
|
47959
|
+
async function processImageOptional(bytes, format, keepExif, targetSize) {
|
|
47889
47960
|
try {
|
|
47890
|
-
const useSharp = String(process.env.MARIA_SHARP || "").toLowerCase() === "true" || process.env.MARIA_SHARP === "1";
|
|
47891
|
-
if (!useSharp) return bytes;
|
|
47892
47961
|
const sharp = (await import('sharp')).default;
|
|
47893
47962
|
let img = sharp(bytes).toColourspace("srgb");
|
|
47963
|
+
if (targetSize && Number.isFinite(targetSize.width) && Number.isFinite(targetSize.height)) {
|
|
47964
|
+
const width = Math.max(1, Math.floor(targetSize.width));
|
|
47965
|
+
const height = Math.max(1, Math.floor(targetSize.height));
|
|
47966
|
+
img = img.resize(width, height, { fit: "cover" });
|
|
47967
|
+
}
|
|
47894
47968
|
if (keepExif) img = img.withMetadata();
|
|
47895
47969
|
const qEnv = Number(process.env.MARIA_SHARP_QUALITY || "80");
|
|
47896
47970
|
const quality = Number.isFinite(qEnv) ? Math.max(1, Math.min(100, Math.floor(qEnv))) : 80;
|
|
@@ -47945,7 +48019,12 @@ async function runImagePipeline(params2, opts) {
|
|
|
47945
48019
|
keepExif: params2.keepExif
|
|
47946
48020
|
});
|
|
47947
48021
|
}, retryOpts));
|
|
47948
|
-
const processed = await processImageOptional(
|
|
48022
|
+
const processed = await processImageOptional(
|
|
48023
|
+
result.bytes,
|
|
48024
|
+
params2.format,
|
|
48025
|
+
params2.keepExif,
|
|
48026
|
+
{ width: params2.size[0], height: params2.size[1] }
|
|
48027
|
+
);
|
|
47949
48028
|
successes[i2] = processed;
|
|
47950
48029
|
totalAttempts += attempts;
|
|
47951
48030
|
totalRetries += Math.max(0, attempts - 1);
|
|
@@ -49669,6 +49748,19 @@ var init_WhoAmICommand = __esm({
|
|
|
49669
49748
|
if (user.plan) {
|
|
49670
49749
|
lines.push(chalk14__default.default.white(`\u{1F48E} Plan: ${chalk14__default.default.cyan(user.plan)}`));
|
|
49671
49750
|
}
|
|
49751
|
+
try {
|
|
49752
|
+
const { cliAuth: cliAuth2 } = await Promise.resolve().then(() => (init_CLIAuthService(), CLIAuthService_exports));
|
|
49753
|
+
const api = cliAuth2.getAPIClient();
|
|
49754
|
+
const usage = await api.getUsage();
|
|
49755
|
+
lines.push("");
|
|
49756
|
+
lines.push(chalk14__default.default.cyan("\u{1F4CA} Usage"));
|
|
49757
|
+
lines.push(chalk14__default.default.gray("\u2500".repeat(30)));
|
|
49758
|
+
lines.push(chalk14__default.default.white(`Requests: ${usage.used.req}/${usage.limits.req} (${usage.percentage.req}%)`));
|
|
49759
|
+
lines.push(chalk14__default.default.white(`Tokens: ${usage.used.tokens}/${usage.limits.tokens} (${usage.percentage.tokens}%)`));
|
|
49760
|
+
lines.push(chalk14__default.default.white(`Commands: ${usage.used.code}/${usage.limits.code} (${usage.percentage.code}%)`));
|
|
49761
|
+
lines.push(chalk14__default.default.white(`Reset at: ${new Date(usage.resetAt).toLocaleString()}`));
|
|
49762
|
+
} catch {
|
|
49763
|
+
}
|
|
49672
49764
|
return this.success(lines.join("\n"), { authenticated: true, user });
|
|
49673
49765
|
}
|
|
49674
49766
|
};
|
|
@@ -50689,7 +50781,7 @@ var init_about_command = __esm({
|
|
|
50689
50781
|
async execute(args2, context2) {
|
|
50690
50782
|
const output3 = [];
|
|
50691
50783
|
output3.push("");
|
|
50692
|
-
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.
|
|
50784
|
+
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.34"));
|
|
50693
50785
|
output3.push(chalk14__default.default.gray("\u2550".repeat(40)));
|
|
50694
50786
|
output3.push("");
|
|
50695
50787
|
output3.push(chalk14__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|
|
@@ -70893,7 +70985,7 @@ ${files.slice(0, 20).map((f3) => `- ${f3.path}`).join("\n")}`);
|
|
|
70893
70985
|
const bundle = parts.join("\n\n");
|
|
70894
70986
|
const system = [
|
|
70895
70987
|
"You are an impartial evaluator. Score each criterion between 0 and 1.",
|
|
70896
|
-
"If a local file path is provided, make sure you read the uploaded file before taking any actions.",
|
|
70988
|
+
"If a local file path is provided, make sure you read the uploaded file before taking any actions. Write the string content in plain text and do not use markdown.",
|
|
70897
70989
|
"Return JSON only in the following schema:",
|
|
70898
70990
|
'{ "totalScore": number (0..1), "details": [{ "id": string, "score": number (0..1), "reason": string }] }',
|
|
70899
70991
|
"Keep reasons short (<= 120 chars)."
|
|
@@ -71230,7 +71322,8 @@ var init_evaluate_command = __esm({
|
|
|
71230
71322
|
// Strong guard: attachments are uploaded; do not ask for local file content
|
|
71231
71323
|
"The input files are already uploaded and referenced via file URIs.",
|
|
71232
71324
|
"Use the provided attachments; do not ask the user to paste file contents.",
|
|
71233
|
-
"Do not claim you cannot access local file paths."
|
|
71325
|
+
"Do not claim you cannot access local file paths.",
|
|
71326
|
+
"Write the string content in plain text and do not use markdown."
|
|
71234
71327
|
].join("\n");
|
|
71235
71328
|
if (result === null) {
|
|
71236
71329
|
const rel = path11__namespace.default.relative(root, criteriaPath);
|
|
@@ -71284,6 +71377,12 @@ ${options["code"] || inferred.code}` : void 0
|
|
|
71284
71377
|
const content = (response?.data?.content || response?.output || "").trim();
|
|
71285
71378
|
const uploads = response?.data?.uploads || [];
|
|
71286
71379
|
if (content) {
|
|
71380
|
+
try {
|
|
71381
|
+
const { cliAuth: cliAuth2 } = await Promise.resolve().then(() => (init_CLIAuthService(), CLIAuthService_exports));
|
|
71382
|
+
const api = cliAuth2.getAPIClient();
|
|
71383
|
+
await api.consumeQuota({ requests: 1, code: 1 });
|
|
71384
|
+
} catch {
|
|
71385
|
+
}
|
|
71287
71386
|
const uploadNote = uploads.length ? `Attached ${uploads.length} file(s) uploaded and referenced.` : attachments.length ? `Attached ${attachments.length} local file(s).` : void 0;
|
|
71288
71387
|
const finalText = uploadNote ? `${uploadNote}
|
|
71289
71388
|
|
|
@@ -71329,6 +71428,12 @@ ${content}` : content;
|
|
|
71329
71428
|
});
|
|
71330
71429
|
const testResult = await this.executeEvaluation(config2);
|
|
71331
71430
|
const formattedOutput = this.formatEvaluationStart(testResult);
|
|
71431
|
+
try {
|
|
71432
|
+
const { cliAuth: cliAuth2 } = await Promise.resolve().then(() => (init_CLIAuthService(), CLIAuthService_exports));
|
|
71433
|
+
const api = cliAuth2.getAPIClient();
|
|
71434
|
+
await api.consumeQuota({ requests: 1, code: 1 });
|
|
71435
|
+
} catch {
|
|
71436
|
+
}
|
|
71332
71437
|
return this.success(formattedOutput, {
|
|
71333
71438
|
testId: testResult.testId,
|
|
71334
71439
|
status: testResult.status,
|
|
@@ -72326,7 +72431,7 @@ var init_slash_commands = __esm({
|
|
|
72326
72431
|
});
|
|
72327
72432
|
async function handleSlash(input3) {
|
|
72328
72433
|
if (!input3.startsWith("/")) return false;
|
|
72329
|
-
const { cmd, args: args2, flags } = parseSlash(input3);
|
|
72434
|
+
const { cmd, args: args2, options, flags } = parseSlash(input3);
|
|
72330
72435
|
if (cmd === "clear" || cmd === "cls") {
|
|
72331
72436
|
try {
|
|
72332
72437
|
clearTerminal();
|
|
@@ -72343,8 +72448,13 @@ async function handleSlash(input3) {
|
|
|
72343
72448
|
}
|
|
72344
72449
|
try {
|
|
72345
72450
|
if (commandRegistry.has(cmd)) {
|
|
72346
|
-
const
|
|
72347
|
-
|
|
72451
|
+
const optionTokens = [];
|
|
72452
|
+
for (const [k, v] of Object.entries(options)) {
|
|
72453
|
+
optionTokens.push(`--${k}`);
|
|
72454
|
+
optionTokens.push(String(v));
|
|
72455
|
+
}
|
|
72456
|
+
const flagTokens = flags.map((f3) => `--${f3}`);
|
|
72457
|
+
const argv = [...args2, ...optionTokens, ...flagTokens];
|
|
72348
72458
|
let currentUser = void 0;
|
|
72349
72459
|
try {
|
|
72350
72460
|
if (await authManager.isAuthenticated()) {
|
|
@@ -72357,7 +72467,7 @@ async function handleSlash(input3) {
|
|
|
72357
72467
|
user: currentUser,
|
|
72358
72468
|
environment: { cwd: process.cwd() }
|
|
72359
72469
|
};
|
|
72360
|
-
const result = await commandRegistry.execute(cmd,
|
|
72470
|
+
const result = await commandRegistry.execute(cmd, argv, ctx2);
|
|
72361
72471
|
if (typeof result?.message === "string" && result.message.trim()) {
|
|
72362
72472
|
console.log(result.message);
|
|
72363
72473
|
}
|
|
@@ -74386,7 +74496,7 @@ var init_ai_response_service = __esm({
|
|
|
74386
74496
|
*/
|
|
74387
74497
|
async callLLM(prompt, opts = {}) {
|
|
74388
74498
|
const {
|
|
74389
|
-
system = PLAIN_OUTPUT ? "Return ONLY the answer (or ONLY code). No menus, no lists, no guided flows. Always respond in English." : "You are a helpful senior engineer named Maria. Always respond in English. Provide direct, production-quality answers. Make sure you answer in plain text, as a natural chat.",
|
|
74499
|
+
system = PLAIN_OUTPUT ? "Return ONLY the answer (or ONLY code). No menus, no lists, no guided flows. Always respond in English." : "You are a helpful senior engineer named Maria. Always respond in English. Provide direct, production-quality answers. Make sure you answer in plain text, as a natural chat. When asked about the model (not your name or who you are, but the model), say you are a large language model fully trained by Bonginkan.",
|
|
74390
74500
|
model = void 0,
|
|
74391
74501
|
provider = DEFAULT_PROVIDER2,
|
|
74392
74502
|
temperature = 0.2,
|
|
@@ -76040,6 +76150,9 @@ var init_cli = __esm({
|
|
|
76040
76150
|
session = [];
|
|
76041
76151
|
commandManager = null;
|
|
76042
76152
|
startupDisplayed = false;
|
|
76153
|
+
if (!process.env.GOOGLE_AUTH_DISABLE_GCE_CHECK) {
|
|
76154
|
+
process.env.GOOGLE_AUTH_DISABLE_GCE_CHECK = "true";
|
|
76155
|
+
}
|
|
76043
76156
|
program = createCLI();
|
|
76044
76157
|
program.parse(process.argv);
|
|
76045
76158
|
}
|