nexo-brain 7.12.3 → 7.12.4

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": "7.12.3",
3
+ "version": "7.12.4",
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/bin/nexo-brain.js CHANGED
@@ -2013,8 +2013,18 @@ async function configureClientSetup({ lang, useDefaults, autoInstall, detected }
2013
2013
  for (const client of required) {
2014
2014
  if (detected[client] && detected[client].installed) continue;
2015
2015
  if (desktopManaged && client === "claude_code") {
2016
- log("Claude Code install deferred to Desktop final sync.");
2017
- continue;
2016
+ const bundledClaudeDir = path.join(__dirname, "..", "claude-code");
2017
+ let hasBundle = false;
2018
+ try {
2019
+ if (fs.existsSync(bundledClaudeDir)) {
2020
+ hasBundle = fs.readdirSync(bundledClaudeDir).some((f) => f.endsWith(".tgz"));
2021
+ }
2022
+ } catch (_) {}
2023
+ if (!hasBundle) {
2024
+ log("Claude Code install deferred to Desktop final sync.");
2025
+ continue;
2026
+ }
2027
+ log("Bundled Claude Code tarball detected — installing offline now.");
2018
2028
  }
2019
2029
  let shouldInstall = useDefaults || autoInstall === "auto";
2020
2030
  if (!shouldInstall && process.stdin.isTTY && process.stdout.isTTY) {
@@ -2956,6 +2966,22 @@ async function runSetup() {
2956
2966
  logMacPermissionsNotice(NEXO_HOME, syncPython);
2957
2967
 
2958
2968
  log(`Already at v${currentVersion}. No migration needed.`);
2969
+
2970
+ // Ensure bundled Claude Code is installed even when migration is skipped.
2971
+ try {
2972
+ const _claudeCheck = detectInstalledClients().claude_code;
2973
+ if (!_claudeCheck.installed) {
2974
+ const _bundledClaudeDir = path.join(__dirname, "..", "claude-code");
2975
+ if (fs.existsSync(_bundledClaudeDir)) {
2976
+ const _tgzFiles = fs.readdirSync(_bundledClaudeDir).filter((f) => f.endsWith(".tgz"));
2977
+ if (_tgzFiles.length > 0) {
2978
+ log("Bundled Claude Code tarball detected after migration-skip — installing offline.");
2979
+ installClaudeCodeCli(process.platform);
2980
+ }
2981
+ }
2982
+ }
2983
+ } catch (_e) {}
2984
+
2959
2985
  closeReadline();
2960
2986
  return;
2961
2987
  } catch (e) {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "7.12.3",
3
+ "version": "7.12.4",
4
4
  "mcpName": "io.github.wazionapps/nexo",
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.",
5
+ "description": "NEXO Brain \u2014 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",
7
7
  "bin": {
8
8
  "nexo-brain": "bin/nexo-brain.js",