@bonginkan/maria 4.3.43 → 4.3.45
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 +58 -33
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +58 -33
- 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.45
|
|
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.45 (October, 2025)
|
|
14
14
|
|
|
15
15
|
### Functinal enhancements
|
|
16
16
|
- **Enhanced Natural Language Support**: Main commands called automatically by natural language input
|
|
@@ -927,7 +927,7 @@ await secureWorkflow.executeWithAuth(workflowDefinition, securityContext);
|
|
|
927
927
|
### Quick Installation
|
|
928
928
|
```bash
|
|
929
929
|
# Install globally (recommended)
|
|
930
|
-
npm install -g @bonginkan/maria@4.3.
|
|
930
|
+
npm install -g @bonginkan/maria@4.3.45
|
|
931
931
|
|
|
932
932
|
# Verify installation
|
|
933
933
|
maria --version # Should show v4.3.9
|
|
@@ -1131,7 +1131,7 @@ MARIA CODE is distributed under a comprehensive licensing system designed for in
|
|
|
1131
1131
|
|
|
1132
1132
|
*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.*
|
|
1133
1133
|
|
|
1134
|
-
**Transform your development experience today**: `npm install -g @bonginkan/maria@4.3.
|
|
1134
|
+
**Transform your development experience today**: `npm install -g @bonginkan/maria@4.3.45`
|
|
1135
1135
|
|
|
1136
1136
|
🌐 **Official Website**: [https://maria-code.ai](https://maria-code.ai)
|
|
1137
1137
|
💬 **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.45",
|
|
26070
|
+
description: "\u{1F680} MARIA v4.3.45 - 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",
|
|
@@ -28104,7 +28104,7 @@ var init_AuthenticationManager = __esm({
|
|
|
28104
28104
|
const response = await fetch(`${this.apiBase}/api/user/profile`, {
|
|
28105
28105
|
headers: {
|
|
28106
28106
|
"Authorization": `Bearer ${tokens2.accessToken}`,
|
|
28107
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28107
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.45"}`
|
|
28108
28108
|
}
|
|
28109
28109
|
});
|
|
28110
28110
|
if (response.status === 401) {
|
|
@@ -28758,7 +28758,7 @@ async function callApi(path65, init3 = {}) {
|
|
|
28758
28758
|
"Authorization": `Bearer ${token}`,
|
|
28759
28759
|
"X-Device-Id": getDeviceId(),
|
|
28760
28760
|
"X-Session-Id": getSessionId() || "",
|
|
28761
|
-
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.
|
|
28761
|
+
"User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.45"}`,
|
|
28762
28762
|
"Content-Type": init3.headers?.["Content-Type"] || "application/json"
|
|
28763
28763
|
});
|
|
28764
28764
|
const doFetch = async (token) => {
|
|
@@ -49569,7 +49569,10 @@ var init_video_command = __esm({
|
|
|
49569
49569
|
const base = (process.env.MARIA_API_BASE || "https://api.maria-code.ai").replace(/\/$/, "");
|
|
49570
49570
|
const savedPaths = [];
|
|
49571
49571
|
const baseDir = "video";
|
|
49572
|
-
const
|
|
49572
|
+
const rawPrefix = (cli.prompt || "").slice(0, 20).replace(/\s+/g, "_");
|
|
49573
|
+
let promptPrefix = rawPrefix.replace(/[\x00-\x1F<>:"/\\|?*]/g, "_").replace(/[. ]+$/g, "");
|
|
49574
|
+
if (!promptPrefix) promptPrefix = "untitled";
|
|
49575
|
+
if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(promptPrefix)) promptPrefix = `${promptPrefix}_`;
|
|
49573
49576
|
const utc = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
49574
49577
|
let idx = 0;
|
|
49575
49578
|
for (const relRaw of filesFromApi) {
|
|
@@ -51295,7 +51298,7 @@ var init_about_command = __esm({
|
|
|
51295
51298
|
async execute(args2, context2) {
|
|
51296
51299
|
const output3 = [];
|
|
51297
51300
|
output3.push("");
|
|
51298
|
-
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.
|
|
51301
|
+
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.45"));
|
|
51299
51302
|
output3.push(chalk14__default.default.gray("\u2550".repeat(40)));
|
|
51300
51303
|
output3.push("");
|
|
51301
51304
|
output3.push(chalk14__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|
|
@@ -56105,47 +56108,68 @@ ${h2.head}`);
|
|
|
56105
56108
|
return [];
|
|
56106
56109
|
}
|
|
56107
56110
|
}
|
|
56108
|
-
async function
|
|
56111
|
+
async function llmMapBlocksBatch(root, request, blocks, repoFiles) {
|
|
56109
56112
|
try {
|
|
56110
|
-
const
|
|
56111
|
-
const
|
|
56112
|
-
|
|
56113
|
-
|
|
56113
|
+
const candidates = repoFiles.filter((p) => /\.(html|css|js|ts|tsx)$/i.test(p)).slice(0, 120);
|
|
56114
|
+
const blockSnippets = blocks.slice(0, 20).map((b, i2) => {
|
|
56115
|
+
const head2 = (b.code || "").split(/\r?\n/).slice(0, 20).join("\n");
|
|
56116
|
+
return `# block ${i2}
|
|
56117
|
+
|
|
56118
|
+
\`\`\`
|
|
56119
|
+
${head2}
|
|
56120
|
+
\`\`\``;
|
|
56121
|
+
}).join("\n\n");
|
|
56114
56122
|
const samples = [];
|
|
56115
|
-
for (const p of candidates.slice(0,
|
|
56123
|
+
for (const p of candidates.slice(0, 60)) {
|
|
56116
56124
|
const h2 = await readHeadTail(root, p, 8);
|
|
56117
56125
|
samples.push(`- ${p}
|
|
56118
56126
|
${h2.head}`);
|
|
56119
56127
|
}
|
|
56120
56128
|
const system = [
|
|
56121
|
-
"
|
|
56122
|
-
'Return JSON: { "action": "modify"|"create", "path": string }.',
|
|
56123
|
-
"
|
|
56129
|
+
"For each provided code block, decide whether to MODIFY an existing repo file or CREATE a new file.",
|
|
56130
|
+
'Return JSON array of objects: [{ "index": number, "action": "modify"|"create", "path": string }].',
|
|
56131
|
+
"When action is modify, path MUST be one of the candidate repo-relative paths listed."
|
|
56124
56132
|
].join("\n");
|
|
56125
56133
|
const user = [
|
|
56126
56134
|
`Request: ${request}`,
|
|
56127
|
-
"
|
|
56128
|
-
|
|
56129
|
-
head2,
|
|
56130
|
-
"```",
|
|
56135
|
+
"Blocks:",
|
|
56136
|
+
blockSnippets,
|
|
56131
56137
|
"Candidates:",
|
|
56132
56138
|
samples.join("\n\n")
|
|
56133
|
-
].join("\n");
|
|
56139
|
+
].join("\n\n");
|
|
56140
|
+
const spin = new ProcessAnimation();
|
|
56141
|
+
spin.start();
|
|
56134
56142
|
const resp = await executeChat([
|
|
56135
56143
|
{ role: "system", content: system },
|
|
56136
56144
|
{ role: "user", content: user }
|
|
56137
56145
|
]);
|
|
56146
|
+
try {
|
|
56147
|
+
spin.stop();
|
|
56148
|
+
} catch {
|
|
56149
|
+
}
|
|
56138
56150
|
const raw = (resp?.output || "").trim();
|
|
56139
|
-
const jsonText = extractJsonSafe(raw, "
|
|
56140
|
-
const
|
|
56141
|
-
|
|
56142
|
-
|
|
56151
|
+
const jsonText = extractJsonSafe(raw, "array") || raw;
|
|
56152
|
+
const arr = JSON.parse(jsonText);
|
|
56153
|
+
const set = new Set(candidates.map((c) => c.toLowerCase()));
|
|
56154
|
+
const out = [];
|
|
56155
|
+
if (Array.isArray(arr)) {
|
|
56156
|
+
for (const item of arr) {
|
|
56157
|
+
const idx = typeof item?.index === "number" ? item.index : -1;
|
|
56158
|
+
const action = item?.action === "modify" ? "modify" : "create";
|
|
56159
|
+
const path65 = typeof item?.path === "string" ? String(item.path) : "";
|
|
56160
|
+
if (idx >= 0 && idx < blocks.length) {
|
|
56161
|
+
if (action === "modify" && set.has(path65.toLowerCase())) out[idx] = { action, path: path65.replace(/^\/+/, "") };
|
|
56162
|
+
else out[idx] = { action: "create", path: path65 || suggestName2(request, blocks[idx].language || "javascript", idx) };
|
|
56163
|
+
}
|
|
56164
|
+
}
|
|
56165
|
+
}
|
|
56166
|
+
for (let i2 = 0; i2 < blocks.length; i2++) {
|
|
56167
|
+
if (!out[i2]) out[i2] = { action: "create", path: suggestName2(request, blocks[i2].language || "javascript", i2) };
|
|
56143
56168
|
}
|
|
56169
|
+
return out;
|
|
56144
56170
|
} catch {
|
|
56171
|
+
return blocks.map((b, i2) => ({ action: "create", path: suggestName2(request, b.language || "javascript", i2) }));
|
|
56145
56172
|
}
|
|
56146
|
-
const desired = typeof block.filename === "string" && block.filename.trim() ? block.filename.trim() : null;
|
|
56147
|
-
const fallback2 = desired || suggestName2(request, block.language, 0);
|
|
56148
|
-
return { action: "create", path: fallback2 };
|
|
56149
56173
|
}
|
|
56150
56174
|
function tokenizeRequest(text) {
|
|
56151
56175
|
return Array.from(new Set(text.toLowerCase().replace(/[^a-z0-9_-]+/g, " ").split(/\s+/).filter((t2) => t2.length >= 3)));
|
|
@@ -56415,15 +56439,16 @@ ${editContext}`;
|
|
|
56415
56439
|
} else {
|
|
56416
56440
|
try {
|
|
56417
56441
|
const repoFiles = await getRepoFiles(opts.root);
|
|
56442
|
+
const decisions = await llmMapBlocksBatch(opts.root, request, blocks, repoFiles);
|
|
56418
56443
|
for (let i2 = 0; i2 < blocks.length; i2++) {
|
|
56419
56444
|
const b = blocks[i2];
|
|
56420
|
-
const
|
|
56421
|
-
if (
|
|
56422
|
-
const lang = languageFromExt(
|
|
56423
|
-
initial.push({ path:
|
|
56445
|
+
const d = decisions[i2] || { action: "create", path: suggestName2(request, b.language, i2) };
|
|
56446
|
+
if (d.action === "modify" && repoFiles.includes(d.path)) {
|
|
56447
|
+
const lang = languageFromExt(d.path.replace(/^.*(\.[a-z0-9]+)$/i, "$1"));
|
|
56448
|
+
initial.push({ path: d.path, kind: "source", action: "modify", description: "Modify existing file", language: lang, preview: b.code });
|
|
56424
56449
|
} else {
|
|
56425
|
-
const
|
|
56426
|
-
initial.push({ path:
|
|
56450
|
+
const pth = d.path || suggestName2(request, b.language, i2);
|
|
56451
|
+
initial.push({ path: pth, kind: "source", action: "create", description: describe2(b.language, ""), language: b.language, preview: b.code });
|
|
56427
56452
|
}
|
|
56428
56453
|
}
|
|
56429
56454
|
} catch {
|