@nomad-e/bluma-cli 0.6.3 → 0.6.5

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.
Files changed (3) hide show
  1. package/README.md +23 -2
  2. package/dist/main.js +2 -33
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **BluMa** is an independent AI agent CLI for automation and advanced software engineering. It combines powerful tool orchestration, multi-agent coordination, and intelligent context management to help you build software faster and with higher quality.
15
15
 
16
- **Latest Version:** v0.6.2 (2026-05-09) — Modular tool architecture, native clipboard, thread management, bidirectional mailbox IPC, enhanced multi-agent orchestration, and professional release engineering.
16
+ **Latest Version:** v0.6.4 (2026-05-10) — Circular dependency resolution, enhanced native tool metadata, improved multi-agent coordination, and professional release engineering.
17
17
 
18
18
  ---
19
19
 
@@ -528,6 +528,27 @@ Apache 2.0 — see [LICENSE](LICENSE) for details.
528
528
 
529
529
  See [CHANGELOG.md](CHANGELOG.md) for detailed release notes.
530
530
 
531
+ ### What's New in v0.6.4 (2026-05-10)
532
+
533
+ **Major Changes:**
534
+ - **Circular Dependency Resolution**: Fixed 'getNativeToolMetadata is not defined' error in tool metadata
535
+ - **Enhanced Native Tool Metadata**: Improved tool descriptions and metadata clarity across all 45+ tools
536
+ - **Improved Multi-Agent Coordination**: Better coordinator-worker communication and task tracking
537
+ - **Permission Mode Enhancement**: Full mode enabled for auto-approve of all tools
538
+
539
+ **Improvements:**
540
+ - Streamlined tool guidance in prompts
541
+ - Better error handling and user-friendly error messages
542
+ - Enhanced session persistence on LLM errors
543
+ - Improved worker registration for UI visibility
544
+
545
+ **Fixes:**
546
+ - Resolved circular dependency in tool metadata (prompt → tools → prompt cycle)
547
+ - Fixed worker registration for UI visibility in task_boundary tracking
548
+ - Improved session persistence on LLM errors
549
+
550
+ ---
551
+
531
552
  ### What's New in v0.6.2 (2026-05-09)
532
553
 
533
554
  **Major Features:**
@@ -550,4 +571,4 @@ See [CHANGELOG.md](CHANGELOG.md) for detailed release notes.
550
571
 
551
572
  ---
552
573
 
553
- *BluMa CLI v0.6.2 — Built with TypeScript, React 19, Ink, and ES modules.*
574
+ *BluMa CLI v0.6.4 — Built with TypeScript, React 19, Ink, and ES modules.*
package/dist/main.js CHANGED
@@ -14933,8 +14933,6 @@ import path7 from "path";
14933
14933
  import os6 from "os";
14934
14934
  import { promises as fs8 } from "fs";
14935
14935
  import { diffLines } from "diff";
14936
- var MAX_DIFF_SIZE = 5e4;
14937
- var MAX_FILE_SIZE = 10 * 1024 * 1024;
14938
14936
  function normalizePath(filePath) {
14939
14937
  try {
14940
14938
  filePath = filePath.trim();
@@ -15138,18 +15136,6 @@ async function calculateEdit(filePath, oldString, newString, expectedReplacement
15138
15136
  let currentContent = null;
15139
15137
  try {
15140
15138
  const stats = await fs8.stat(normalizedFilePath);
15141
- if (stats.size > MAX_FILE_SIZE) {
15142
- return {
15143
- currentContent,
15144
- newContent: "",
15145
- occurrences: 0,
15146
- error: {
15147
- display: `File too large (${(stats.size / 1024 / 1024).toFixed(2)}MB). Maximum allowed: ${MAX_FILE_SIZE / 1024 / 1024}MB`,
15148
- raw: `File size exceeds limit: ${normalizedFilePath}`
15149
- },
15150
- isNewFile: false
15151
- };
15152
- }
15153
15139
  const buf = await fs8.readFile(normalizedFilePath, "utf-8");
15154
15140
  currentContent = buf.replace(/\r\n/g, "\n");
15155
15141
  } catch (e) {
@@ -15170,12 +15156,6 @@ async function calculateEdit(filePath, oldString, newString, expectedReplacement
15170
15156
  }
15171
15157
  function createDiff(filename, oldContent, newContent) {
15172
15158
  try {
15173
- if (oldContent.length > MAX_DIFF_SIZE || newContent.length > MAX_DIFF_SIZE) {
15174
- return `--- a/${filename}
15175
- +++ b/${filename}
15176
- [Diff too large to display. File size: ${oldContent.length} -> ${newContent.length} bytes]
15177
- `;
15178
- }
15179
15159
  const diff2 = diffLines(oldContent, newContent, {});
15180
15160
  let diffString = `--- a/${filename}
15181
15161
  +++ b/${filename}
@@ -15280,17 +15260,6 @@ async function applyBatchEditsInMemory(edits, readFileState) {
15280
15260
  if (!slots.has(norm)) {
15281
15261
  let content = null;
15282
15262
  try {
15283
- const stats = await fs8.stat(norm);
15284
- if (stats.size > MAX_FILE_SIZE) {
15285
- return {
15286
- ok: false,
15287
- failed: {
15288
- success: false,
15289
- error: `File too large (${(stats.size / 1024 / 1024).toFixed(2)}MB). Maximum allowed: ${MAX_FILE_SIZE / 1024 / 1024}MB`,
15290
- file_path: norm
15291
- }
15292
- };
15293
- }
15294
15263
  const buf = await fs8.readFile(norm, "utf-8");
15295
15264
  content = buf.replace(/\r\n/g, "\n");
15296
15265
  } catch (err) {
@@ -16089,7 +16058,7 @@ import { promises as fsPromises2 } from "fs";
16089
16058
  import os10 from "os";
16090
16059
  var MAX_RESULTS3 = 200;
16091
16060
  var MAX_MATCHES_PER_FILE = 10;
16092
- var MAX_FILE_SIZE2 = 1024 * 1024;
16061
+ var MAX_FILE_SIZE = 1024 * 1024;
16093
16062
  var MAX_LINE_LENGTH = 300;
16094
16063
  var DEFAULT_IGNORE3 = /* @__PURE__ */ new Set([
16095
16064
  "node_modules",
@@ -16213,7 +16182,7 @@ function createSearchPattern(query, isRegex, caseInsensitive) {
16213
16182
  async function searchFile(filepath, baseDir, pattern, contextLines, maxMatchesPerFile) {
16214
16183
  try {
16215
16184
  const stat = await fsPromises2.stat(filepath);
16216
- if (stat.size > MAX_FILE_SIZE2) return null;
16185
+ if (stat.size > MAX_FILE_SIZE) return null;
16217
16186
  const content = await fsPromises2.readFile(filepath, "utf-8");
16218
16187
  const lines = content.split("\n");
16219
16188
  const relativePath = path12.relative(baseDir, filepath).split(path12.sep).join("/");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "Apache-2.0",