@bonginkan/maria 4.3.28 → 4.3.29
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 +93 -30
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +93 -30
- 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 +1 -1
- package/dist/server/express-server.js +1 -1
- package/dist/server-express.cjs +1 -1
- package/dist/server-express.cjs.map +1 -1
- package/package.json +2 -2
- 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.29
|
|
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.29 (September 16, 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.29
|
|
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.29`
|
|
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.29",
|
|
26070
|
+
description: "\u{1F680} MARIA v4.3.29 - 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",
|
|
@@ -28099,7 +28099,7 @@ var init_AuthenticationManager = __esm({
|
|
|
28099
28099
|
const response = await fetch(`${this.apiBase}/api/user/profile`, {
|
|
28100
28100
|
headers: {
|
|
28101
28101
|
"Authorization": `Bearer ${tokens2.accessToken}`,
|
|
28102
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28102
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.29"}`
|
|
28103
28103
|
}
|
|
28104
28104
|
});
|
|
28105
28105
|
if (response.status === 401) {
|
|
@@ -28731,7 +28731,7 @@ async function callApi(path60, init3 = {}) {
|
|
|
28731
28731
|
"Authorization": `Bearer ${token}`,
|
|
28732
28732
|
"X-Device-Id": getDeviceId(),
|
|
28733
28733
|
"X-Session-Id": getSessionId() || "",
|
|
28734
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28734
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.29"}`,
|
|
28735
28735
|
"Content-Type": init3.headers?.["Content-Type"] || "application/json"
|
|
28736
28736
|
});
|
|
28737
28737
|
const doFetch = async (token) => {
|
|
@@ -47985,8 +47985,19 @@ async function runImagePipeline(params2, opts) {
|
|
|
47985
47985
|
metrics: { durationMs, retries: totalRetries, fallbacks: 0 },
|
|
47986
47986
|
trace: Math.random().toString(36).slice(2, 8).toUpperCase()
|
|
47987
47987
|
};
|
|
47988
|
-
const
|
|
47989
|
-
const
|
|
47988
|
+
const baseDir = opts.outDir && opts.outDir.length > 0 ? opts.outDir : "image";
|
|
47989
|
+
const rawPrefix = (params2.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
47990
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
47991
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
47992
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
47993
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
47994
|
+
const filtered = successes.filter(Boolean);
|
|
47995
|
+
const items = filtered.map((b, i2) => ({
|
|
47996
|
+
bytes: b,
|
|
47997
|
+
ext: `.${params2.format}`,
|
|
47998
|
+
logicalName: `${promptPrefix}-${utc}${filtered.length > 1 ? `-${String(i2 + 1).padStart(2, "0")}` : ""}`
|
|
47999
|
+
}));
|
|
48000
|
+
const saved = await saveArtifacts({ root: opts.root, kind: "image", baseDir, flat: true, skipManifest: true }, items, manifest);
|
|
47990
48001
|
progress.done();
|
|
47991
48002
|
return {
|
|
47992
48003
|
saved,
|
|
@@ -48402,7 +48413,6 @@ var init_image_command = __esm({
|
|
|
48402
48413
|
const spinner = new ProcessAnimation();
|
|
48403
48414
|
spinner.start();
|
|
48404
48415
|
try {
|
|
48405
|
-
const useRemote = String(process.env.MARIA_USE_REMOTE_MEDIA || "").toLowerCase() === "1" && await authManager.isAuthenticated();
|
|
48406
48416
|
if (useRemote) {
|
|
48407
48417
|
try {
|
|
48408
48418
|
const body = {
|
|
@@ -48435,14 +48445,23 @@ var init_image_command = __esm({
|
|
|
48435
48445
|
const pathMod = await import('path');
|
|
48436
48446
|
const fsMod = await import('fs/promises');
|
|
48437
48447
|
const savedPaths = [];
|
|
48448
|
+
const baseDir = "image";
|
|
48449
|
+
const rawPrefix = (cli.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
48450
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
48451
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
48452
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
48453
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48454
|
+
let idx = 0;
|
|
48438
48455
|
for (const f3 of filesInline) {
|
|
48439
48456
|
const original = String(f3.file || "").replace(/^[\\/]+/, "");
|
|
48440
|
-
const
|
|
48441
|
-
const
|
|
48457
|
+
const ext2 = pathMod.extname(original) || `.${cli.format}`;
|
|
48458
|
+
const name2 = `${promptPrefix}-${utc}${filesInline.length > 1 ? `-${String(++idx).padStart(2, "0")}` : ""}${ext2}`;
|
|
48459
|
+
const rel = pathMod.join(baseDir, name2);
|
|
48460
|
+
const full = pathMod.resolve(root, rel);
|
|
48442
48461
|
await fsMod.mkdir(pathMod.dirname(full), { recursive: true });
|
|
48443
48462
|
const buf = Buffer.from(String(f3.bytesBase64 || ""), "base64");
|
|
48444
48463
|
await fsMod.writeFile(full, buf);
|
|
48445
|
-
savedPaths.push(
|
|
48464
|
+
savedPaths.push(rel.replace(/\\/g, "/"));
|
|
48446
48465
|
}
|
|
48447
48466
|
const { formatImageOutput: formatImageOutput3 } = await Promise.resolve().then(() => (init_cli_style(), cli_style_exports));
|
|
48448
48467
|
const output4 = await formatImageOutput3(root, {
|
|
@@ -48468,18 +48487,24 @@ var init_image_command = __esm({
|
|
|
48468
48487
|
const fsMod = await import('fs/promises');
|
|
48469
48488
|
const base = (process.env.MARIA_API_BASE || "https://api.maria-code.ai").replace(/\/$/, "");
|
|
48470
48489
|
const savedPaths = [];
|
|
48490
|
+
const baseDir = "image";
|
|
48491
|
+
const promptPrefix = (cli.prompt || "").slice(0, 20).replace(/\s+/g, "_").replace(/[^A-Za-z0-9_\-]/g, "_") || "untitled";
|
|
48492
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48493
|
+
let idx = 0;
|
|
48471
48494
|
for (const relRaw of filesList) {
|
|
48472
48495
|
const originalRel = String(relRaw || "").replace(/^[\\/]+/, "");
|
|
48473
48496
|
const url2 = `${base}/${originalRel}`;
|
|
48474
|
-
const
|
|
48475
|
-
const
|
|
48497
|
+
const ext2 = pathMod.extname(originalRel) || `.${cli.format}`;
|
|
48498
|
+
const name2 = `${promptPrefix}-${utc}${filesList.length > 1 ? `-${String(++idx).padStart(2, "0")}` : ""}${ext2}`;
|
|
48499
|
+
const rel = pathMod.join(baseDir, name2);
|
|
48500
|
+
const full = pathMod.resolve(root, rel);
|
|
48476
48501
|
await fsMod.mkdir(pathMod.dirname(full), { recursive: true });
|
|
48477
48502
|
const res2 = await fetch(url2);
|
|
48478
48503
|
if (!res2.ok) throw new Error(`Failed to download image: ${res2.status}`);
|
|
48479
48504
|
const arrayBuf = await res2.arrayBuffer();
|
|
48480
48505
|
const buf = Buffer.from(arrayBuf);
|
|
48481
48506
|
await fsMod.writeFile(full, buf);
|
|
48482
|
-
savedPaths.push(
|
|
48507
|
+
savedPaths.push(rel.replace(/\\/g, "/"));
|
|
48483
48508
|
}
|
|
48484
48509
|
const { formatImageOutput: formatImageOutput3 } = await Promise.resolve().then(() => (init_cli_style(), cli_style_exports));
|
|
48485
48510
|
const output4 = await formatImageOutput3(root, {
|
|
@@ -48735,8 +48760,17 @@ async function runVideoPipeline(params2, opts) {
|
|
|
48735
48760
|
metrics: { durationMs: Date.now() - started, retries: 0, fallbacks: 0 },
|
|
48736
48761
|
trace: Math.random().toString(36).slice(2, 8).toUpperCase()
|
|
48737
48762
|
};
|
|
48738
|
-
const baseDir = opts.outDir
|
|
48739
|
-
const
|
|
48763
|
+
const baseDir = opts.outDir && opts.outDir.length > 0 ? opts.outDir : "video";
|
|
48764
|
+
const rawPrefix = (params2.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
48765
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:\"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
48766
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
48767
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
48768
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48769
|
+
const saved2 = await saveArtifacts(
|
|
48770
|
+
{ root: opts.root, kind: "video", baseDir, flat: true },
|
|
48771
|
+
[{ bytes, ext: ext2, logicalName: `${promptPrefix}-${utc}` }],
|
|
48772
|
+
manifest2
|
|
48773
|
+
);
|
|
48740
48774
|
return { saved: saved2, durationMs: Date.now() - started, frames: 0, warnFallback: false, retries: 0 };
|
|
48741
48775
|
}
|
|
48742
48776
|
} catch {
|
|
@@ -48782,14 +48816,28 @@ async function runVideoPipeline(params2, opts) {
|
|
|
48782
48816
|
}
|
|
48783
48817
|
const outBuf = await muxFramesToMp4(tmpDir, params2.fps);
|
|
48784
48818
|
{
|
|
48785
|
-
const baseDir = opts.outDir
|
|
48786
|
-
|
|
48819
|
+
const baseDir = opts.outDir && opts.outDir.length > 0 ? opts.outDir : "video";
|
|
48820
|
+
const rawPrefix = (params2.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
48821
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:\"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
48822
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
48823
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
48824
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48825
|
+
saved = await saveArtifacts(
|
|
48826
|
+
{ root: opts.root, kind: "video", baseDir, flat: true },
|
|
48827
|
+
[{ bytes: outBuf, ext: ".mp4", logicalName: `${promptPrefix}-${utc}` }],
|
|
48828
|
+
manifest
|
|
48829
|
+
);
|
|
48787
48830
|
}
|
|
48788
48831
|
await fsp__namespace.rm(tmpDir, { recursive: true, force: true });
|
|
48789
48832
|
} else {
|
|
48790
|
-
const
|
|
48833
|
+
const rawPrefix = (params2.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
48834
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:\"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
48835
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
48836
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
48837
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48838
|
+
const items = frames.map((b, i2) => ({ bytes: b, ext: `.png`, logicalName: `${promptPrefix}-${utc}-frame-${String(i2 + 1).padStart(4, "0")}` }));
|
|
48791
48839
|
{
|
|
48792
|
-
const baseDir = opts.outDir
|
|
48840
|
+
const baseDir = opts.outDir && opts.outDir.length > 0 ? opts.outDir : "video";
|
|
48793
48841
|
saved = await saveArtifacts({ root: opts.root, kind: "video", baseDir, flat: true }, items, manifest);
|
|
48794
48842
|
}
|
|
48795
48843
|
warnFallback = true;
|
|
@@ -48850,8 +48898,8 @@ var init_video_command = __esm({
|
|
|
48850
48898
|
const spinner = new ProcessAnimation();
|
|
48851
48899
|
spinner.start();
|
|
48852
48900
|
try {
|
|
48853
|
-
const
|
|
48854
|
-
if (
|
|
48901
|
+
const useRemote2 = String(process.env.MARIA_USE_REMOTE_MEDIA || "").toLowerCase() === "1" && await authManager.isAuthenticated();
|
|
48902
|
+
if (useRemote2) {
|
|
48855
48903
|
try {
|
|
48856
48904
|
const body = {
|
|
48857
48905
|
prompt: cli.prompt,
|
|
@@ -48881,14 +48929,23 @@ var init_video_command = __esm({
|
|
|
48881
48929
|
const pathMod = await import('path');
|
|
48882
48930
|
const fsMod = await import('fs/promises');
|
|
48883
48931
|
const savedPaths = [];
|
|
48932
|
+
const baseDir = "video";
|
|
48933
|
+
const rawPrefix = (cli.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
48934
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
48935
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
48936
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
48937
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48938
|
+
let idx = 0;
|
|
48884
48939
|
for (const f3 of filesInline) {
|
|
48885
48940
|
const original = String(f3.file || "").replace(/^[\\/]+/, "");
|
|
48886
|
-
const
|
|
48887
|
-
const
|
|
48941
|
+
const ext2 = pathMod.extname(original) || `.${cli.format}`;
|
|
48942
|
+
const name2 = `${promptPrefix}-${utc}${filesInline.length > 1 ? `-${String(++idx).padStart(2, "0")}` : ""}${ext2}`;
|
|
48943
|
+
const rel = pathMod.join(baseDir, name2);
|
|
48944
|
+
const full = pathMod.resolve(root, rel);
|
|
48888
48945
|
await fsMod.mkdir(pathMod.dirname(full), { recursive: true });
|
|
48889
48946
|
const buf = Buffer.from(String(f3.bytesBase64 || ""), "base64");
|
|
48890
48947
|
await fsMod.writeFile(full, buf);
|
|
48891
|
-
savedPaths.push(
|
|
48948
|
+
savedPaths.push(rel.replace(/\\/g, "/"));
|
|
48892
48949
|
}
|
|
48893
48950
|
const { formatVideoOutput: formatVideoOutput3 } = await Promise.resolve().then(() => (init_cli_style(), cli_style_exports));
|
|
48894
48951
|
const output4 = await formatVideoOutput3(root, {
|
|
@@ -48917,18 +48974,24 @@ var init_video_command = __esm({
|
|
|
48917
48974
|
const fsMod = await import('fs/promises');
|
|
48918
48975
|
const base = (process.env.MARIA_API_BASE || "https://api.maria-code.ai").replace(/\/$/, "");
|
|
48919
48976
|
const savedPaths = [];
|
|
48977
|
+
const baseDir = "video";
|
|
48978
|
+
const promptPrefix = (cli.prompt || "").slice(0, 20).replace(/\s+/g, "_").replace(/[^A-Za-z0-9_\-]/g, "_") || "untitled";
|
|
48979
|
+
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
48980
|
+
let idx = 0;
|
|
48920
48981
|
for (const relRaw of filesFromApi) {
|
|
48921
|
-
const
|
|
48922
|
-
const url2 = `${base}/${
|
|
48923
|
-
const
|
|
48924
|
-
const
|
|
48982
|
+
const relApi = String(relRaw || "").replace(/^[\\/]+/, "");
|
|
48983
|
+
const url2 = `${base}/${relApi}`;
|
|
48984
|
+
const ext2 = pathMod.extname(relApi) || `.${cli.format}`;
|
|
48985
|
+
const name2 = `${promptPrefix}-${utc}${filesFromApi.length > 1 ? `-${String(++idx).padStart(2, "0")}` : ""}${ext2}`;
|
|
48986
|
+
const rel = pathMod.join(baseDir, name2);
|
|
48987
|
+
const full = pathMod.resolve(root, rel);
|
|
48925
48988
|
await fsMod.mkdir(pathMod.dirname(full), { recursive: true });
|
|
48926
48989
|
const res2 = await fetch(url2);
|
|
48927
48990
|
if (!res2.ok) throw new Error(`Failed to download video: ${res2.status}`);
|
|
48928
48991
|
const arrayBuf = await res2.arrayBuffer();
|
|
48929
48992
|
const buf = Buffer.from(arrayBuf);
|
|
48930
48993
|
await fsMod.writeFile(full, buf);
|
|
48931
|
-
savedPaths.push(
|
|
48994
|
+
savedPaths.push(rel.replace(/\\/g, "/"));
|
|
48932
48995
|
}
|
|
48933
48996
|
const { formatVideoOutput: formatVideoOutput3 } = await Promise.resolve().then(() => (init_cli_style(), cli_style_exports));
|
|
48934
48997
|
const output4 = await formatVideoOutput3(root, {
|
|
@@ -50625,7 +50688,7 @@ var init_about_command = __esm({
|
|
|
50625
50688
|
async execute(args2, context2) {
|
|
50626
50689
|
const output3 = [];
|
|
50627
50690
|
output3.push("");
|
|
50628
|
-
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.
|
|
50691
|
+
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.29"));
|
|
50629
50692
|
output3.push(chalk14__default.default.gray("\u2550".repeat(40)));
|
|
50630
50693
|
output3.push("");
|
|
50631
50694
|
output3.push(chalk14__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|