nexo-brain 7.23.7 → 7.23.8
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/package.json +1 -1
- package/src/runtime_versioning.py +12 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nexo-brain",
|
|
3
|
-
"version": "7.23.
|
|
3
|
+
"version": "7.23.8",
|
|
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",
|
|
@@ -832,12 +832,15 @@ def resolve_restart_required(
|
|
|
832
832
|
reason = ""
|
|
833
833
|
client_action = ""
|
|
834
834
|
marker_clients = dict(marker.get("clients") or {})
|
|
835
|
+
client_acknowledged = False
|
|
835
836
|
fingerprint_usable = bool(installed_fp) and bool(process_fp) and process_fp != "unknown"
|
|
836
837
|
|
|
837
838
|
if marker.get("required"):
|
|
838
|
-
restart_required = True
|
|
839
|
-
reason = "marker_required"
|
|
840
839
|
client_action = str(marker_clients.get(client) or "")
|
|
840
|
+
client_acknowledged = bool(client and client_action == "ok")
|
|
841
|
+
if not client_acknowledged:
|
|
842
|
+
restart_required = True
|
|
843
|
+
reason = "marker_required"
|
|
841
844
|
if marker.get("corrupt"):
|
|
842
845
|
restart_required = True
|
|
843
846
|
reason = "marker_corrupt"
|
|
@@ -847,7 +850,12 @@ def resolve_restart_required(
|
|
|
847
850
|
# fingerprint change and therefore never reach this branch.
|
|
848
851
|
restart_required = True
|
|
849
852
|
reason = reason or "fingerprint_mismatch"
|
|
850
|
-
elif
|
|
853
|
+
elif (
|
|
854
|
+
marker.get("required")
|
|
855
|
+
and not client_acknowledged
|
|
856
|
+
and marker_fp
|
|
857
|
+
and (not process_fp or process_fp == "unknown")
|
|
858
|
+
):
|
|
851
859
|
restart_required = True
|
|
852
860
|
reason = reason or "process_fingerprint_missing"
|
|
853
861
|
elif not fingerprint_usable and installed and process and installed != process:
|
|
@@ -856,7 +864,7 @@ def resolve_restart_required(
|
|
|
856
864
|
# mismatch check so we never leave a stale process running unnoticed.
|
|
857
865
|
restart_required = True
|
|
858
866
|
reason = reason or "version_mismatch"
|
|
859
|
-
elif
|
|
867
|
+
elif client_acknowledged:
|
|
860
868
|
restart_required = False
|
|
861
869
|
reason = ""
|
|
862
870
|
|