@bonginkan/maria 4.3.16 → 4.3.17

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 CHANGED
@@ -1,4 +1,4 @@
1
- # MARIA - AI Development Platform v4.3.16
1
+ # MARIA - AI Development Platform v4.3.17
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@bonginkan/maria.svg)](https://www.npmjs.com/package/@bonginkan/maria)
4
4
  [![License](https://img.shields.io/badge/license-Multi--tier-blue.svg)](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.16 (September 16, 2025)
13
+ ## 🚀 What's New in v4.3.17 (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.16
925
+ npm install -g @bonginkan/maria@4.3.17
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.16`
1129
+ **Transform your development experience today**: `npm install -g @bonginkan/maria@4.3.17`
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)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "lite-1.0.0",
3
- "generatedAt": "2025-09-18T23:42:56.017Z",
3
+ "generatedAt": "2025-09-19T04:11:17.274Z",
4
4
  "totalCommands": 17,
5
5
  "readyCount": 17,
6
6
  "partialCount": 0,
@@ -26038,8 +26038,8 @@ var require_package = __commonJS({
26038
26038
  "package.json"(exports, module) {
26039
26039
  module.exports = {
26040
26040
  name: "@bonginkan/maria",
26041
- version: "4.3.16",
26042
- description: "\u{1F680} MARIA v4.3.16 - 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.",
26041
+ version: "4.3.17",
26042
+ description: "\u{1F680} MARIA v4.3.17 - 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.",
26043
26043
  keywords: [
26044
26044
  "ai",
26045
26045
  "cli",
@@ -28071,7 +28071,7 @@ var init_AuthenticationManager = __esm({
28071
28071
  const response = await fetch(`${this.apiBase}/api/user/profile`, {
28072
28072
  headers: {
28073
28073
  "Authorization": `Bearer ${tokens2.accessToken}`,
28074
- "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.16"}`
28074
+ "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.17"}`
28075
28075
  }
28076
28076
  });
28077
28077
  if (response.status === 401) {
@@ -28703,7 +28703,7 @@ async function callApi(path60, init3 = {}) {
28703
28703
  "Authorization": `Bearer ${token}`,
28704
28704
  "X-Device-Id": getDeviceId(),
28705
28705
  "X-Session-Id": getSessionId() || "",
28706
- "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.16"}`,
28706
+ "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.3.17"}`,
28707
28707
  "Content-Type": init3.headers?.["Content-Type"] || "application/json"
28708
28708
  });
28709
28709
  const doFetch = async (token) => {
@@ -47567,6 +47567,15 @@ async function hasCaseInsensitiveCollision(dirFull, targetFile) {
47567
47567
  async function atomicRename(stage, dest) {
47568
47568
  try {
47569
47569
  await fsp__namespace.rename(stage, dest);
47570
+ try {
47571
+ const fd = await fsp__namespace.open(dest, "r");
47572
+ try {
47573
+ await fd.sync();
47574
+ } finally {
47575
+ await fd.close();
47576
+ }
47577
+ } catch {
47578
+ }
47570
47579
  } catch (e2) {
47571
47580
  if (e2 && e2.code === "EXDEV") {
47572
47581
  await fsp__namespace.copyFile(stage, dest);
@@ -47621,7 +47630,8 @@ async function saveArtifacts(ctx2, items, manifest) {
47621
47630
  }
47622
47631
  await fsp__namespace.writeFile(stg, it.bytes);
47623
47632
  await atomicRename(stg, dest.full);
47624
- saved.push(dest.rel);
47633
+ const relPosix = dest.rel.replace(/\\/g, "/");
47634
+ saved.push(relPosix);
47625
47635
  }
47626
47636
  if (!ctx2.skipManifest) {
47627
47637
  const manifestObj = {
@@ -47640,7 +47650,7 @@ async function saveArtifacts(ctx2, items, manifest) {
47640
47650
  }
47641
47651
  await atomicRename(manifestStage, manifestFull);
47642
47652
  await fsp__namespace.rm(stage, { recursive: true, force: true });
47643
- return { files: saved, manifestPath: manifestPathRel };
47653
+ return { files: saved, manifestPath: manifestPathRel.replace(/\\/g, "/") };
47644
47654
  } else {
47645
47655
  await fsp__namespace.rm(stage, { recursive: true, force: true });
47646
47656
  return { files: saved, manifestPath: "" };
@@ -47752,6 +47762,13 @@ var init_gemini_media = __esm({
47752
47762
  `GeminiMediaProvider.generateImage request failed: model=${modelName}; prompt="${promptPreview}"; error=${errMsg}`
47753
47763
  );
47754
47764
  }
47765
+ const feedback = resp?.response?.promptFeedback;
47766
+ const blockReason = feedback?.blockReason || feedback?.block_reason;
47767
+ if (blockReason) {
47768
+ const modelName2 = this.primaryModel;
47769
+ const reason = String(blockReason);
47770
+ throw new Error(`GeminiMediaProvider.policy_violation: model=${modelName2}; reason=${reason}`);
47771
+ }
47755
47772
  const parts = resp?.response?.candidates?.[0]?.content?.parts || [];
47756
47773
  for (const p of parts) {
47757
47774
  const data = p?.inlineData?.data || p?.inline_data?.data;
@@ -48663,7 +48680,8 @@ async function runVideoPipeline(params2, opts) {
48663
48680
  metrics: { durationMs: Date.now() - started, retries: 0, fallbacks: 0 },
48664
48681
  trace: Math.random().toString(36).slice(2, 8).toUpperCase()
48665
48682
  };
48666
- const saved2 = await saveArtifacts({ root: opts.root, kind: "video", baseDir: opts.outDir, flat: true, skipManifest: true }, [{ bytes, ext: ext2 }], manifest2);
48683
+ const baseDir = opts.outDir || path11__namespace.join("artifacts", "media", "videos", String(manifest2.trace));
48684
+ const saved2 = await saveArtifacts({ root: opts.root, kind: "video", baseDir, flat: true }, [{ bytes, ext: ext2 }], manifest2);
48667
48685
  return { saved: saved2, durationMs: Date.now() - started, frames: 0, warnFallback: false, retries: 0 };
48668
48686
  }
48669
48687
  } catch {
@@ -48708,11 +48726,17 @@ async function runVideoPipeline(params2, opts) {
48708
48726
  await fsp__namespace.writeFile(path11__namespace.join(tmpDir, fname), frames[i2]);
48709
48727
  }
48710
48728
  const outBuf = await muxFramesToMp4(tmpDir, params2.fps);
48711
- saved = await saveArtifacts({ root: opts.root, kind: "video", baseDir: opts.outDir, flat: true, skipManifest: true }, [{ bytes: outBuf, ext: ".mp4" }], manifest);
48729
+ {
48730
+ const baseDir = opts.outDir || path11__namespace.join("artifacts", "media", "videos", String(manifest.trace));
48731
+ saved = await saveArtifacts({ root: opts.root, kind: "video", baseDir, flat: true }, [{ bytes: outBuf, ext: ".mp4" }], manifest);
48732
+ }
48712
48733
  await fsp__namespace.rm(tmpDir, { recursive: true, force: true });
48713
48734
  } else {
48714
48735
  const items = frames.map((b, i2) => ({ bytes: b, ext: `.png`, logicalName: `frame-${String(i2 + 1).padStart(4, "0")}` }));
48715
- saved = await saveArtifacts({ root: opts.root, kind: "video", baseDir: opts.outDir, flat: true, skipManifest: true }, items, manifest);
48736
+ {
48737
+ const baseDir = opts.outDir || path11__namespace.join("artifacts", "media", "videos", String(manifest.trace));
48738
+ saved = await saveArtifacts({ root: opts.root, kind: "video", baseDir, flat: true }, items, manifest);
48739
+ }
48716
48740
  warnFallback = true;
48717
48741
  }
48718
48742
  progress.done();
@@ -50535,7 +50559,7 @@ var init_about_command = __esm({
50535
50559
  async execute(args2, context2) {
50536
50560
  const output3 = [];
50537
50561
  output3.push("");
50538
- output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.16"));
50562
+ output3.push(chalk14__default.default.cyan.bold("\u{1F916} About MARIA v4.3.17"));
50539
50563
  output3.push(chalk14__default.default.gray("\u2550".repeat(40)));
50540
50564
  output3.push("");
50541
50565
  output3.push(chalk14__default.default.white.bold("MARIA - Minimal API, Maximum Power"));