nexo-brain 6.1.0 → 6.1.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "6.1.0",
3
+ "version": "6.1.1",
4
4
  "description": "Local cognitive runtime for Claude Code \u2014 persistent memory, overnight learning, doctor diagnostics, personal scripts, recovery-aware jobs, startup preflight, and optional dashboard/power helper.",
5
5
  "author": {
6
6
  "name": "NEXO Brain",
package/README.md CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  [Watch the overview video](https://nexo-brain.com/watch/) · [Watch on YouTube](https://www.youtube.com/watch?v=i2lkGhKyVqI) · [Open the infographic](https://nexo-brain.com/assets/nexo-brain-infographic-v5.png)
20
20
 
21
- Version `6.1.0` is the current packaged-runtime line: the Protocol Enforcer Fase 2 ships a Capa 2 runtime guardian with 25 rules (R13–R25 + R23b–R23m) that keep Claude Code / Codex / Desktop aligned to NEXO protocol. Rule coverage: pre-Edit guard (R13), post-correction learning window (R14), declared-done without close (R16), Nora/María read-only destructive block (R25), plus 21 more across stream wrapper layers (Fase C + D + D2). Also lands migration v43 `session_claude_aliases` a 1-to-N map from NEXO sid to every Claude session UUID, fixing the NEXO Desktop multi-conversation block where every second conversation's PreToolUse hook failed with "unknown target". External-LLM audit + Opus 4.7 self-audit cycle applied (log redaction with modern token formats, R23f heredoc multiline, R23h native PATH resolution, R14 awaited, hermetic map lookup, cross-engine parity harness strict). Suite: 291 pass + 2 skip documented.
21
+ Version `6.1.1` is the current packaged-runtime line: small fix to `nexo --help` so the `Latest: vX` line reliably appears when NEXO Desktop invokes the CLI via subprocess unblocks the Desktop Brain auto-update banner that previously couldn't parse the version delta. No behaviour change for interactive terminal users; the 6-hour registry cache still rate-limits network calls. Bundles all v6.1.0 Protocol Enforcer Fase 2 + multi-claude-sid hotfix content. Suite: 291 pass + 2 skip documented.
22
22
 
23
23
  Previously in `6.0.2`: adds the reserved caller prefix `personal/*` so scripts living in `~/.nexo/scripts/` can invoke the automation backend with their own caller id without editing `src/resonance_map.py`. New kwarg `tier` (`"maximo"` / `"alto"` / `"medio"` / `"bajo"`) on `run_automation_prompt`, `run_automation_interactive`, `nexo_helper.run_automation_text`, `nexo_helper.run_automation_json`, and `nexo-agent-run.py --tier`. Precedence for `personal/*` callers: explicit `tier=` → explicit `reasoning_effort=` → `calibration.preferences.default_resonance` → `DEFAULT_RESONANCE` (`alto`). Registered callers keep their behaviour unchanged. New guide: [`docs/personal-scripts-guide.md`](docs/personal-scripts-guide.md).
24
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "6.1.0",
3
+ "version": "6.1.1",
4
4
  "mcpName": "io.github.wazionapps/nexo",
5
5
  "description": "NEXO Brain — Shared brain for AI agents. Persistent memory, semantic RAG, natural forgetting, metacognitive guard, trust scoring, 150+ MCP tools. Works with Claude Code, Codex, Claude Desktop & any MCP client. 100% local, free.",
6
6
  "homepage": "https://nexo-brain.com",
package/src/cli.py CHANGED
@@ -118,10 +118,23 @@ def _fetch_latest_version(timeout_seconds: int = 2) -> str | None:
118
118
 
119
119
 
120
120
  def _should_refresh_latest_version() -> bool:
121
- try:
122
- return sys.stdout.isatty() or sys.stderr.isatty()
123
- except Exception:
124
- return False
121
+ """Decide whether to hit the npm registry to refresh `latest` version.
122
+
123
+ Prior behaviour gated this on `isatty()` so `nexo --help` never made
124
+ a network call outside an interactive terminal. That also meant NEXO
125
+ Desktop — which spawns `nexo` via subprocess with piped stdio — could
126
+ never populate the version cache, so the Desktop update banner for
127
+ Brain never saw a newer `Latest: vX` line in the help output and no
128
+ Brain update was ever offered automatically (v6.1.1 fix).
129
+
130
+ The 6-hour `max_age_seconds` at `_load_latest_version_cache()` is the
131
+ real rate-limit. This function now returns True unconditionally so
132
+ missing/stale cache entries are always refreshed, regardless of tty
133
+ context. Fail-closed: `_fetch_latest_version` still catches every
134
+ subprocess error and returns None, so the help line falls back to
135
+ installed-only when npm is unreachable.
136
+ """
137
+ return True
125
138
 
126
139
 
127
140
  def _version_sort_key(raw: str) -> tuple[tuple[int, ...], int, str]: