@bonginkan/maria 4.3.43 → 4.3.44
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 +54 -32
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +54 -32
- 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.44
|
|
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.44 (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.44
|
|
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.44`
|
|
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.44",
|
|
26070
|
+
description: "\u{1F680} MARIA v4.3.44 - 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.44"}`
|
|
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.44"}`,
|
|
28762
28762
|
"Content-Type": init3.headers?.["Content-Type"] || "application/json"
|
|
28763
28763
|
});
|
|
28764
28764
|
const doFetch = async (token) => {
|
|
@@ -51295,7 +51295,7 @@ var init_about_command = __esm({
|
|
|
51295
51295
|
async execute(args2, context2) {
|
|
51296
51296
|
const output3 = [];
|
|
51297
51297
|
output3.push("");
|
|
51298
|
-
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.
|
|
51298
|
+
output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.44"));
|
|
51299
51299
|
output3.push(chalk14__default.default.gray("\u2550".repeat(40)));
|
|
51300
51300
|
output3.push("");
|
|
51301
51301
|
output3.push(chalk14__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
|
|
@@ -56105,47 +56105,68 @@ ${h2.head}`);
|
|
|
56105
56105
|
return [];
|
|
56106
56106
|
}
|
|
56107
56107
|
}
|
|
56108
|
-
async function
|
|
56108
|
+
async function llmMapBlocksBatch(root, request, blocks, repoFiles) {
|
|
56109
56109
|
try {
|
|
56110
|
-
const
|
|
56111
|
-
const
|
|
56112
|
-
|
|
56113
|
-
|
|
56110
|
+
const candidates = repoFiles.filter((p) => /\.(html|css|js|ts|tsx)$/i.test(p)).slice(0, 120);
|
|
56111
|
+
const blockSnippets = blocks.slice(0, 20).map((b, i2) => {
|
|
56112
|
+
const head2 = (b.code || "").split(/\r?\n/).slice(0, 20).join("\n");
|
|
56113
|
+
return `# block ${i2}
|
|
56114
|
+
|
|
56115
|
+
\`\`\`
|
|
56116
|
+
${head2}
|
|
56117
|
+
\`\`\``;
|
|
56118
|
+
}).join("\n\n");
|
|
56114
56119
|
const samples = [];
|
|
56115
|
-
for (const p of candidates.slice(0,
|
|
56120
|
+
for (const p of candidates.slice(0, 60)) {
|
|
56116
56121
|
const h2 = await readHeadTail(root, p, 8);
|
|
56117
56122
|
samples.push(`- ${p}
|
|
56118
56123
|
${h2.head}`);
|
|
56119
56124
|
}
|
|
56120
56125
|
const system = [
|
|
56121
|
-
"
|
|
56122
|
-
'Return JSON: { "action": "modify"|"create", "path": string }.',
|
|
56123
|
-
"
|
|
56126
|
+
"For each provided code block, decide whether to MODIFY an existing repo file or CREATE a new file.",
|
|
56127
|
+
'Return JSON array of objects: [{ "index": number, "action": "modify"|"create", "path": string }].',
|
|
56128
|
+
"When action is modify, path MUST be one of the candidate repo-relative paths listed."
|
|
56124
56129
|
].join("\n");
|
|
56125
56130
|
const user = [
|
|
56126
56131
|
`Request: ${request}`,
|
|
56127
|
-
"
|
|
56128
|
-
|
|
56129
|
-
head2,
|
|
56130
|
-
"```",
|
|
56132
|
+
"Blocks:",
|
|
56133
|
+
blockSnippets,
|
|
56131
56134
|
"Candidates:",
|
|
56132
56135
|
samples.join("\n\n")
|
|
56133
|
-
].join("\n");
|
|
56136
|
+
].join("\n\n");
|
|
56137
|
+
const spin = new ProcessAnimation();
|
|
56138
|
+
spin.start();
|
|
56134
56139
|
const resp = await executeChat([
|
|
56135
56140
|
{ role: "system", content: system },
|
|
56136
56141
|
{ role: "user", content: user }
|
|
56137
56142
|
]);
|
|
56143
|
+
try {
|
|
56144
|
+
spin.stop();
|
|
56145
|
+
} catch {
|
|
56146
|
+
}
|
|
56138
56147
|
const raw = (resp?.output || "").trim();
|
|
56139
|
-
const jsonText = extractJsonSafe(raw, "
|
|
56140
|
-
const
|
|
56141
|
-
|
|
56142
|
-
|
|
56148
|
+
const jsonText = extractJsonSafe(raw, "array") || raw;
|
|
56149
|
+
const arr = JSON.parse(jsonText);
|
|
56150
|
+
const set = new Set(candidates.map((c) => c.toLowerCase()));
|
|
56151
|
+
const out = [];
|
|
56152
|
+
if (Array.isArray(arr)) {
|
|
56153
|
+
for (const item of arr) {
|
|
56154
|
+
const idx = typeof item?.index === "number" ? item.index : -1;
|
|
56155
|
+
const action = item?.action === "modify" ? "modify" : "create";
|
|
56156
|
+
const path65 = typeof item?.path === "string" ? String(item.path) : "";
|
|
56157
|
+
if (idx >= 0 && idx < blocks.length) {
|
|
56158
|
+
if (action === "modify" && set.has(path65.toLowerCase())) out[idx] = { action, path: path65.replace(/^\/+/, "") };
|
|
56159
|
+
else out[idx] = { action: "create", path: path65 || suggestName2(request, blocks[idx].language || "javascript", idx) };
|
|
56160
|
+
}
|
|
56161
|
+
}
|
|
56143
56162
|
}
|
|
56163
|
+
for (let i2 = 0; i2 < blocks.length; i2++) {
|
|
56164
|
+
if (!out[i2]) out[i2] = { action: "create", path: suggestName2(request, blocks[i2].language || "javascript", i2) };
|
|
56165
|
+
}
|
|
56166
|
+
return out;
|
|
56144
56167
|
} catch {
|
|
56168
|
+
return blocks.map((b, i2) => ({ action: "create", path: suggestName2(request, b.language || "javascript", i2) }));
|
|
56145
56169
|
}
|
|
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
56170
|
}
|
|
56150
56171
|
function tokenizeRequest(text) {
|
|
56151
56172
|
return Array.from(new Set(text.toLowerCase().replace(/[^a-z0-9_-]+/g, " ").split(/\s+/).filter((t2) => t2.length >= 3)));
|
|
@@ -56415,15 +56436,16 @@ ${editContext}`;
|
|
|
56415
56436
|
} else {
|
|
56416
56437
|
try {
|
|
56417
56438
|
const repoFiles = await getRepoFiles(opts.root);
|
|
56439
|
+
const decisions = await llmMapBlocksBatch(opts.root, request, blocks, repoFiles);
|
|
56418
56440
|
for (let i2 = 0; i2 < blocks.length; i2++) {
|
|
56419
56441
|
const b = blocks[i2];
|
|
56420
|
-
const
|
|
56421
|
-
if (
|
|
56422
|
-
const lang = languageFromExt(
|
|
56423
|
-
initial.push({ path:
|
|
56442
|
+
const d = decisions[i2] || { action: "create", path: suggestName2(request, b.language, i2) };
|
|
56443
|
+
if (d.action === "modify" && repoFiles.includes(d.path)) {
|
|
56444
|
+
const lang = languageFromExt(d.path.replace(/^.*(\.[a-z0-9]+)$/i, "$1"));
|
|
56445
|
+
initial.push({ path: d.path, kind: "source", action: "modify", description: "Modify existing file", language: lang, preview: b.code });
|
|
56424
56446
|
} else {
|
|
56425
|
-
const
|
|
56426
|
-
initial.push({ path:
|
|
56447
|
+
const pth = d.path || suggestName2(request, b.language, i2);
|
|
56448
|
+
initial.push({ path: pth, kind: "source", action: "create", description: describe2(b.language, ""), language: b.language, preview: b.code });
|
|
56427
56449
|
}
|
|
56428
56450
|
}
|
|
56429
56451
|
} catch {
|