nexo-brain 5.3.4 → 5.3.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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/cli.py +20 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nexo-brain",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.5",
|
|
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
|
@@ -89,7 +89,7 @@ Versions `3.1.7` through `3.2.0` close the recent-memory gap:
|
|
|
89
89
|
- when even that misses, NEXO now exposes raw transcript fallback tools for Claude Code and Codex session stores
|
|
90
90
|
- NEXO can now inspect itself through a live system catalog derived from canonical sources instead of relying only on stale docs or operator memory
|
|
91
91
|
|
|
92
|
-
Version `5.3.3`
|
|
92
|
+
Version `5.3.5` keeps CLI version visibility honest right after `nexo update`: if the cached npm version lags behind the runtime you just installed, `nexo` / `nexo chat` now clamp `Latest` to the installed version and refresh the cache instead of showing a stale older release. Version `5.3.4` already cleaned up legacy core alias leakage and added the version-status banner. Version `5.3.3` closed the remaining packaged-runtime doctor mismatch: the built-in hourly backup helper is now inventoried as a core LaunchAgent, so clean installs no longer get a false unknown-LaunchAgent warning. Version `5.3.2` already hardened the runtime boundary by persisting which runtime scripts/hooks are core product artifacts, keeping `nexo scripts` from mixing those into the personal bucket, and migrating the legacy Claude Code heartbeat wrappers into managed core hooks.
|
|
93
93
|
|
|
94
94
|
Version `5.3.1` normalizes packaged npm installs so they behave like packaged npm installs: `nexo update` now keeps the runtime anchored to `~/.nexo`, refreshes packaged bootstrap/client artifacts after upgrade, avoids repo-only release-artifact drift in installed runtimes, and keeps personal scripts on the canonical packaged path.
|
|
95
95
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nexo-brain",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.5",
|
|
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
|
@@ -122,11 +122,31 @@ def _should_refresh_latest_version() -> bool:
|
|
|
122
122
|
return False
|
|
123
123
|
|
|
124
124
|
|
|
125
|
+
def _version_sort_key(raw: str) -> tuple[tuple[int, ...], int, str]:
|
|
126
|
+
value = str(raw or "").strip()
|
|
127
|
+
base, _, suffix = value.partition("-")
|
|
128
|
+
parts: list[int] = []
|
|
129
|
+
for piece in base.split("."):
|
|
130
|
+
try:
|
|
131
|
+
parts.append(int(piece))
|
|
132
|
+
except Exception:
|
|
133
|
+
parts.append(-1)
|
|
134
|
+
while len(parts) < 3:
|
|
135
|
+
parts.append(0)
|
|
136
|
+
return (tuple(parts), 1 if not suffix else 0, suffix)
|
|
137
|
+
|
|
138
|
+
|
|
125
139
|
def _version_status_line() -> str:
|
|
126
140
|
installed = _get_version()
|
|
127
141
|
latest = _load_latest_version_cache()
|
|
128
142
|
if latest is None and _should_refresh_latest_version():
|
|
129
143
|
latest = _fetch_latest_version()
|
|
144
|
+
if latest and installed and _version_sort_key(latest) < _version_sort_key(installed):
|
|
145
|
+
latest = installed
|
|
146
|
+
try:
|
|
147
|
+
_save_latest_version_cache(installed)
|
|
148
|
+
except Exception:
|
|
149
|
+
pass
|
|
130
150
|
if latest:
|
|
131
151
|
return f"NEXO Latest: v{latest} | Installed: v{installed}"
|
|
132
152
|
return f"NEXO Installed: v{installed}"
|