nexo-brain 1.6.0 → 2.0.0

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 (301) hide show
  1. package/README.md +102 -79
  2. package/bin/nexo-brain.js +681 -303
  3. package/bin/postinstall.js +46 -0
  4. package/package.json +14 -2
  5. package/scripts/migrate-to-unified.sh +813 -0
  6. package/scripts/migrate-v1.7-to-v1.8.py +214 -0
  7. package/scripts/pre-commit-check.sh +1 -1
  8. package/src/__pycache__/auto_close_sessions.cpython-310.pyc +0 -0
  9. package/src/__pycache__/auto_close_sessions.cpython-314.pyc +0 -0
  10. package/src/__pycache__/auto_update.cpython-310.pyc +0 -0
  11. package/src/__pycache__/auto_update.cpython-314.pyc +0 -0
  12. package/src/__pycache__/claim_graph.cpython-310.pyc +0 -0
  13. package/src/__pycache__/claim_graph.cpython-314.pyc +0 -0
  14. package/src/__pycache__/evolution_cycle.cpython-310.pyc +0 -0
  15. package/src/__pycache__/evolution_cycle.cpython-314.pyc +0 -0
  16. package/src/__pycache__/hnsw_index.cpython-310.pyc +0 -0
  17. package/src/__pycache__/hnsw_index.cpython-314.pyc +0 -0
  18. package/src/__pycache__/kg_populate.cpython-310.pyc +0 -0
  19. package/src/__pycache__/kg_populate.cpython-314.pyc +0 -0
  20. package/src/__pycache__/knowledge_graph.cpython-310.pyc +0 -0
  21. package/src/__pycache__/knowledge_graph.cpython-314.pyc +0 -0
  22. package/src/__pycache__/maintenance.cpython-310.pyc +0 -0
  23. package/src/__pycache__/maintenance.cpython-314.pyc +0 -0
  24. package/src/__pycache__/migrate_embeddings.cpython-310.pyc +0 -0
  25. package/src/__pycache__/migrate_embeddings.cpython-314.pyc +0 -0
  26. package/src/__pycache__/plugin_loader.cpython-310.pyc +0 -0
  27. package/src/__pycache__/plugin_loader.cpython-314.pyc +0 -0
  28. package/src/__pycache__/server.cpython-310.pyc +0 -0
  29. package/src/__pycache__/server.cpython-314.pyc +0 -0
  30. package/src/__pycache__/storage_router.cpython-310.pyc +0 -0
  31. package/src/__pycache__/storage_router.cpython-314.pyc +0 -0
  32. package/src/__pycache__/tools_coordination.cpython-310.pyc +0 -0
  33. package/src/__pycache__/tools_coordination.cpython-314.pyc +0 -0
  34. package/src/__pycache__/tools_credentials.cpython-310.pyc +0 -0
  35. package/src/__pycache__/tools_credentials.cpython-314.pyc +0 -0
  36. package/src/__pycache__/tools_learnings.cpython-310.pyc +0 -0
  37. package/src/__pycache__/tools_learnings.cpython-314.pyc +0 -0
  38. package/src/__pycache__/tools_menu.cpython-310.pyc +0 -0
  39. package/src/__pycache__/tools_menu.cpython-314.pyc +0 -0
  40. package/src/__pycache__/tools_reminders.cpython-310.pyc +0 -0
  41. package/src/__pycache__/tools_reminders.cpython-314.pyc +0 -0
  42. package/src/__pycache__/tools_reminders_crud.cpython-310.pyc +0 -0
  43. package/src/__pycache__/tools_reminders_crud.cpython-314.pyc +0 -0
  44. package/src/__pycache__/tools_sessions.cpython-310.pyc +0 -0
  45. package/src/__pycache__/tools_sessions.cpython-314.pyc +0 -0
  46. package/src/__pycache__/tools_task_history.cpython-310.pyc +0 -0
  47. package/src/__pycache__/tools_task_history.cpython-314.pyc +0 -0
  48. package/src/auto_close_sessions.py +4 -3
  49. package/src/auto_update.py +634 -0
  50. package/src/cognitive/__pycache__/__init__.cpython-310.pyc +0 -0
  51. package/src/cognitive/__pycache__/__init__.cpython-314.pyc +0 -0
  52. package/src/cognitive/__pycache__/_core.cpython-310.pyc +0 -0
  53. package/src/cognitive/__pycache__/_core.cpython-314.pyc +0 -0
  54. package/src/cognitive/__pycache__/_decay.cpython-310.pyc +0 -0
  55. package/src/cognitive/__pycache__/_decay.cpython-314.pyc +0 -0
  56. package/src/cognitive/__pycache__/_ingest.cpython-310.pyc +0 -0
  57. package/src/cognitive/__pycache__/_ingest.cpython-314.pyc +0 -0
  58. package/src/cognitive/__pycache__/_memory.cpython-310.pyc +0 -0
  59. package/src/cognitive/__pycache__/_memory.cpython-314.pyc +0 -0
  60. package/src/cognitive/__pycache__/_search.cpython-310.pyc +0 -0
  61. package/src/cognitive/__pycache__/_search.cpython-314.pyc +0 -0
  62. package/src/cognitive/__pycache__/_trust.cpython-310.pyc +0 -0
  63. package/src/cognitive/__pycache__/_trust.cpython-314.pyc +0 -0
  64. package/src/cognitive/_core.py +7 -3
  65. package/src/cognitive/_decay.py +1 -1
  66. package/src/cognitive/_memory.py +7 -3
  67. package/src/cognitive/_search.py +12 -10
  68. package/src/cognitive/_trust.py +3 -3
  69. package/src/dashboard/__pycache__/__init__.cpython-310.pyc +0 -0
  70. package/src/dashboard/__pycache__/__init__.cpython-314.pyc +0 -0
  71. package/src/dashboard/__pycache__/app.cpython-310.pyc +0 -0
  72. package/src/dashboard/__pycache__/app.cpython-314.pyc +0 -0
  73. package/src/dashboard/app.py +9 -3
  74. package/src/dashboard/templates/dashboard.html +4 -4
  75. package/src/dashboard/templates/operations.html +6 -6
  76. package/src/db/__init__.py +2 -1
  77. package/src/db/__pycache__/__init__.cpython-310.pyc +0 -0
  78. package/src/db/__pycache__/__init__.cpython-312.pyc +0 -0
  79. package/src/db/__pycache__/__init__.cpython-314.pyc +0 -0
  80. package/src/db/__pycache__/_core.cpython-310.pyc +0 -0
  81. package/src/db/__pycache__/_core.cpython-312.pyc +0 -0
  82. package/src/db/__pycache__/_core.cpython-314.pyc +0 -0
  83. package/src/db/__pycache__/_credentials.cpython-310.pyc +0 -0
  84. package/src/db/__pycache__/_credentials.cpython-312.pyc +0 -0
  85. package/src/db/__pycache__/_credentials.cpython-314.pyc +0 -0
  86. package/src/db/__pycache__/_entities.cpython-310.pyc +0 -0
  87. package/src/db/__pycache__/_entities.cpython-312.pyc +0 -0
  88. package/src/db/__pycache__/_entities.cpython-314.pyc +0 -0
  89. package/src/db/__pycache__/_episodic.cpython-310.pyc +0 -0
  90. package/src/db/__pycache__/_episodic.cpython-312.pyc +0 -0
  91. package/src/db/__pycache__/_episodic.cpython-314.pyc +0 -0
  92. package/src/db/__pycache__/_evolution.cpython-310.pyc +0 -0
  93. package/src/db/__pycache__/_evolution.cpython-312.pyc +0 -0
  94. package/src/db/__pycache__/_evolution.cpython-314.pyc +0 -0
  95. package/src/db/__pycache__/_fts.cpython-310.pyc +0 -0
  96. package/src/db/__pycache__/_fts.cpython-312.pyc +0 -0
  97. package/src/db/__pycache__/_fts.cpython-314.pyc +0 -0
  98. package/src/db/__pycache__/_learnings.cpython-310.pyc +0 -0
  99. package/src/db/__pycache__/_learnings.cpython-312.pyc +0 -0
  100. package/src/db/__pycache__/_learnings.cpython-314.pyc +0 -0
  101. package/src/db/__pycache__/_reminders.cpython-310.pyc +0 -0
  102. package/src/db/__pycache__/_reminders.cpython-312.pyc +0 -0
  103. package/src/db/__pycache__/_reminders.cpython-314.pyc +0 -0
  104. package/src/db/__pycache__/_schema.cpython-310.pyc +0 -0
  105. package/src/db/__pycache__/_schema.cpython-312.pyc +0 -0
  106. package/src/db/__pycache__/_schema.cpython-314.pyc +0 -0
  107. package/src/db/__pycache__/_sessions.cpython-310.pyc +0 -0
  108. package/src/db/__pycache__/_sessions.cpython-312.pyc +0 -0
  109. package/src/db/__pycache__/_sessions.cpython-314.pyc +0 -0
  110. package/src/db/__pycache__/_tasks.cpython-310.pyc +0 -0
  111. package/src/db/__pycache__/_tasks.cpython-312.pyc +0 -0
  112. package/src/db/__pycache__/_tasks.cpython-314.pyc +0 -0
  113. package/src/db/_core.py +7 -3
  114. package/src/db/_episodic.py +69 -1
  115. package/src/db/_fts.py +12 -12
  116. package/src/db/_reminders.py +89 -15
  117. package/src/db/_schema.py +41 -0
  118. package/src/evolution_cycle.py +33 -11
  119. package/src/hooks/__pycache__/auto_capture.cpython-310.pyc +0 -0
  120. package/src/hooks/__pycache__/auto_capture.cpython-314.pyc +0 -0
  121. package/src/hooks/auto_capture.py +1 -1
  122. package/src/hooks/capture-tool-logs.sh +76 -0
  123. package/src/hooks/inbox-hook.sh +2 -1
  124. package/src/hooks/post-compact.sh +2 -1
  125. package/src/hooks/pre-compact.sh +104 -2
  126. package/src/hooks/session-start.sh +6 -2
  127. package/src/hooks/session-stop.sh +2 -1
  128. package/src/kg_populate.py +4 -1
  129. package/src/migrate_embeddings.py +4 -1
  130. package/src/plugin_loader.py +100 -34
  131. package/src/plugins/__pycache__/__init__.cpython-310.pyc +0 -0
  132. package/src/plugins/__pycache__/__init__.cpython-314.pyc +0 -0
  133. package/src/plugins/__pycache__/adaptive_mode.cpython-310.pyc +0 -0
  134. package/src/plugins/__pycache__/adaptive_mode.cpython-314.pyc +0 -0
  135. package/src/plugins/__pycache__/agents.cpython-310.pyc +0 -0
  136. package/src/plugins/__pycache__/agents.cpython-314.pyc +0 -0
  137. package/src/plugins/__pycache__/artifact_registry.cpython-310.pyc +0 -0
  138. package/src/plugins/__pycache__/artifact_registry.cpython-314.pyc +0 -0
  139. package/src/plugins/__pycache__/backup.cpython-310.pyc +0 -0
  140. package/src/plugins/__pycache__/backup.cpython-314.pyc +0 -0
  141. package/src/plugins/__pycache__/cognitive_memory.cpython-310.pyc +0 -0
  142. package/src/plugins/__pycache__/cognitive_memory.cpython-314.pyc +0 -0
  143. package/src/plugins/__pycache__/core_rules.cpython-310.pyc +0 -0
  144. package/src/plugins/__pycache__/core_rules.cpython-314.pyc +0 -0
  145. package/src/plugins/__pycache__/cortex.cpython-310.pyc +0 -0
  146. package/src/plugins/__pycache__/cortex.cpython-314.pyc +0 -0
  147. package/src/plugins/__pycache__/entities.cpython-310.pyc +0 -0
  148. package/src/plugins/__pycache__/entities.cpython-314.pyc +0 -0
  149. package/src/plugins/__pycache__/episodic_memory.cpython-310.pyc +0 -0
  150. package/src/plugins/__pycache__/episodic_memory.cpython-314.pyc +0 -0
  151. package/src/plugins/__pycache__/evolution.cpython-310.pyc +0 -0
  152. package/src/plugins/__pycache__/evolution.cpython-314.pyc +0 -0
  153. package/src/plugins/__pycache__/guard.cpython-310.pyc +0 -0
  154. package/src/plugins/__pycache__/guard.cpython-314.pyc +0 -0
  155. package/src/plugins/__pycache__/knowledge_graph_tools.cpython-310.pyc +0 -0
  156. package/src/plugins/__pycache__/knowledge_graph_tools.cpython-314.pyc +0 -0
  157. package/src/plugins/__pycache__/preferences.cpython-310.pyc +0 -0
  158. package/src/plugins/__pycache__/preferences.cpython-314.pyc +0 -0
  159. package/src/plugins/__pycache__/update.cpython-310.pyc +0 -0
  160. package/src/plugins/agents.py +2 -2
  161. package/src/plugins/backup.py +5 -4
  162. package/src/plugins/cognitive_memory.py +1 -1
  163. package/src/plugins/core_rules.py +5 -1
  164. package/src/plugins/episodic_memory.py +43 -16
  165. package/src/plugins/evolution.py +7 -2
  166. package/src/plugins/guard.py +45 -17
  167. package/src/plugins/update.py +238 -0
  168. package/src/requirements.txt +12 -0
  169. package/src/rules/__pycache__/__init__.cpython-310.pyc +0 -0
  170. package/src/rules/__pycache__/__init__.cpython-314.pyc +0 -0
  171. package/src/rules/__pycache__/migrate.cpython-310.pyc +0 -0
  172. package/src/rules/__pycache__/migrate.cpython-314.pyc +0 -0
  173. package/src/scripts/__pycache__/check-context.cpython-310.pyc +0 -0
  174. package/src/scripts/__pycache__/check-context.cpython-314.pyc +0 -0
  175. package/src/scripts/__pycache__/nexo-auto-update.cpython-310.pyc +0 -0
  176. package/src/scripts/__pycache__/nexo-auto-update.cpython-314.pyc +0 -0
  177. package/src/scripts/__pycache__/nexo-catchup.cpython-310.pyc +0 -0
  178. package/src/scripts/__pycache__/nexo-catchup.cpython-314.pyc +0 -0
  179. package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-310.pyc +0 -0
  180. package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-314.pyc +0 -0
  181. package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-310.pyc +0 -0
  182. package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-314.pyc +0 -0
  183. package/src/scripts/__pycache__/nexo-evolution-run.cpython-310.pyc +0 -0
  184. package/src/scripts/__pycache__/nexo-evolution-run.cpython-314.pyc +0 -0
  185. package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-310.pyc +0 -0
  186. package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-314.pyc +0 -0
  187. package/src/scripts/__pycache__/nexo-github-monitor.cpython-310.pyc +0 -0
  188. package/src/scripts/__pycache__/nexo-github-monitor.cpython-314.pyc +0 -0
  189. package/src/scripts/__pycache__/nexo-immune.cpython-310.pyc +0 -0
  190. package/src/scripts/__pycache__/nexo-immune.cpython-314.pyc +0 -0
  191. package/src/scripts/__pycache__/nexo-install.cpython-310.pyc +0 -0
  192. package/src/scripts/__pycache__/nexo-install.cpython-314.pyc +0 -0
  193. package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-310.pyc +0 -0
  194. package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-314.pyc +0 -0
  195. package/src/scripts/__pycache__/nexo-learning-validator.cpython-310.pyc +0 -0
  196. package/src/scripts/__pycache__/nexo-learning-validator.cpython-314.pyc +0 -0
  197. package/src/scripts/__pycache__/nexo-migrate.cpython-310.pyc +0 -0
  198. package/src/scripts/__pycache__/nexo-migrate.cpython-314.pyc +0 -0
  199. package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-310.pyc +0 -0
  200. package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-314.pyc +0 -0
  201. package/src/scripts/__pycache__/nexo-pre-commit.cpython-310.pyc +0 -0
  202. package/src/scripts/__pycache__/nexo-pre-commit.cpython-314.pyc +0 -0
  203. package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-310.pyc +0 -0
  204. package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-314.pyc +0 -0
  205. package/src/scripts/__pycache__/nexo-reflection.cpython-310.pyc +0 -0
  206. package/src/scripts/__pycache__/nexo-reflection.cpython-314.pyc +0 -0
  207. package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-310.pyc +0 -0
  208. package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-314.pyc +0 -0
  209. package/src/scripts/__pycache__/nexo-send-email.cpython-310.pyc +0 -0
  210. package/src/scripts/__pycache__/nexo-send-email.cpython-314.pyc +0 -0
  211. package/src/scripts/__pycache__/nexo-send-reply.cpython-310.pyc +0 -0
  212. package/src/scripts/__pycache__/nexo-send-reply.cpython-314.pyc +0 -0
  213. package/src/scripts/__pycache__/nexo-sleep.cpython-310.pyc +0 -0
  214. package/src/scripts/__pycache__/nexo-sleep.cpython-314.pyc +0 -0
  215. package/src/scripts/__pycache__/nexo-synthesis.cpython-310.pyc +0 -0
  216. package/src/scripts/__pycache__/nexo-synthesis.cpython-314.pyc +0 -0
  217. package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-310.pyc +0 -0
  218. package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-314.pyc +0 -0
  219. package/src/scripts/check-context.py +13 -3
  220. package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-310.pyc +0 -0
  221. package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-314.pyc +0 -0
  222. package/src/scripts/deep-sleep/__pycache__/apply_findings.cpython-310.pyc +0 -0
  223. package/src/scripts/deep-sleep/__pycache__/apply_findings.cpython-314.pyc +0 -0
  224. package/src/scripts/deep-sleep/__pycache__/collect_transcripts.cpython-310.pyc +0 -0
  225. package/src/scripts/deep-sleep/__pycache__/collect_transcripts.cpython-314.pyc +0 -0
  226. package/src/scripts/deep-sleep/analyze_session.py +3 -1
  227. package/src/scripts/deep-sleep/apply_findings.py +7 -4
  228. package/src/scripts/deep-sleep/collect_transcripts.py +3 -1
  229. package/src/scripts/nexo-auto-update.py +4 -211
  230. package/src/scripts/nexo-backup.sh +25 -0
  231. package/src/scripts/nexo-brain-activation.sh +26 -26
  232. package/src/scripts/nexo-catchup.py +39 -25
  233. package/src/scripts/nexo-cognitive-decay.py +12 -5
  234. package/src/scripts/nexo-daily-self-audit.py +36 -14
  235. package/src/scripts/nexo-deep-sleep.sh +4 -3
  236. package/src/scripts/nexo-evolution-run.py +40 -12
  237. package/src/scripts/nexo-followup-hygiene.py +6 -3
  238. package/src/scripts/nexo-github-monitor.py +11 -4
  239. package/src/scripts/nexo-immune.py +20 -3
  240. package/src/scripts/nexo-inbox-hook.sh +2 -1
  241. package/src/scripts/nexo-install.py +6 -0
  242. package/src/scripts/nexo-learning-housekeep.py +245 -0
  243. package/src/scripts/nexo-learning-validator.py +12 -2
  244. package/src/scripts/nexo-migrate.py +232 -0
  245. package/src/scripts/nexo-postmortem-consolidator.py +38 -19
  246. package/src/scripts/nexo-pre-commit.py +3 -1
  247. package/src/scripts/nexo-prevent-sleep.sh +29 -0
  248. package/src/scripts/nexo-proactive-dashboard.py +8 -6
  249. package/src/scripts/nexo-runtime-preflight.py +59 -55
  250. package/src/scripts/nexo-send-email.py +2 -2
  251. package/src/scripts/nexo-send-reply.py +3 -1
  252. package/src/scripts/nexo-sleep.py +21 -5
  253. package/src/scripts/nexo-snapshot-restore.sh +2 -1
  254. package/src/scripts/nexo-synthesis.py +19 -4
  255. package/src/scripts/nexo-tcc-approve.sh +79 -0
  256. package/src/scripts/nexo-update.sh +161 -0
  257. package/src/scripts/nexo-watchdog-smoke.py +18 -13
  258. package/src/scripts/nexo-watchdog.sh +41 -31
  259. package/src/server.py +107 -44
  260. package/src/storage_router.py +6 -2
  261. package/src/tools_coordination.py +14 -14
  262. package/src/tools_credentials.py +11 -11
  263. package/src/tools_learnings.py +36 -27
  264. package/src/tools_menu.py +7 -6
  265. package/src/tools_reminders.py +11 -5
  266. package/src/tools_reminders_crud.py +11 -9
  267. package/src/tools_sessions.py +62 -187
  268. package/src/tools_task_history.py +7 -7
  269. package/templates/CLAUDE.md.template +49 -469
  270. package/templates/launchagents/README.md +7 -7
  271. package/templates/launchagents/com.nexo.auto-close-sessions.plist +5 -1
  272. package/templates/launchagents/com.nexo.catchup.plist +4 -0
  273. package/templates/launchagents/com.nexo.cognitive-decay.plist +7 -0
  274. package/templates/launchagents/com.nexo.dashboard.plist +5 -1
  275. package/templates/launchagents/com.nexo.deep-sleep.plist +4 -0
  276. package/templates/launchagents/com.nexo.evolution.plist +4 -0
  277. package/templates/launchagents/com.nexo.followup-hygiene.plist +4 -0
  278. package/templates/launchagents/com.nexo.github-monitor.plist +3 -1
  279. package/templates/launchagents/com.nexo.immune.plist +4 -0
  280. package/templates/launchagents/com.nexo.postmortem.plist +4 -0
  281. package/templates/launchagents/com.nexo.self-audit.plist +4 -0
  282. package/templates/launchagents/com.nexo.synthesis.plist +4 -0
  283. package/templates/launchagents/com.nexo.watchdog.plist +4 -0
  284. package/templates/openclaw.json +1 -1
  285. package/tests/__pycache__/__init__.cpython-310.pyc +0 -0
  286. package/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  287. package/tests/__pycache__/conftest.cpython-310-pytest-9.0.2.pyc +0 -0
  288. package/tests/__pycache__/conftest.cpython-310.pyc +0 -0
  289. package/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  290. package/tests/__pycache__/test_cognitive.cpython-310-pytest-9.0.2.pyc +0 -0
  291. package/tests/__pycache__/test_cognitive.cpython-310.pyc +0 -0
  292. package/tests/__pycache__/test_cognitive.cpython-314-pytest-9.0.2.pyc +0 -0
  293. package/tests/__pycache__/test_knowledge_graph.cpython-310-pytest-9.0.2.pyc +0 -0
  294. package/tests/__pycache__/test_knowledge_graph.cpython-310.pyc +0 -0
  295. package/tests/__pycache__/test_knowledge_graph.cpython-314-pytest-9.0.2.pyc +0 -0
  296. package/tests/__pycache__/test_migrations.cpython-310-pytest-9.0.2.pyc +0 -0
  297. package/tests/__pycache__/test_migrations.cpython-310.pyc +0 -0
  298. package/tests/__pycache__/test_migrations.cpython-314-pytest-9.0.2.pyc +0 -0
  299. package/tests/conftest.py +2 -2
  300. package/tests/test_cognitive.py +7 -6
  301. package/tests/test_migrations.py +29 -3
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * postinstall — Runs automatically after npm install/update.
4
+ *
5
+ * - If NEXO is already installed (~/.nexo/version.json exists): auto-migrate
6
+ * - If fresh install: print setup instructions only
7
+ */
8
+
9
+ const fs = require("fs");
10
+ const path = require("path");
11
+
12
+ const NEXO_HOME = path.join(require("os").homedir(), ".nexo");
13
+ const VERSION_FILE = path.join(NEXO_HOME, "version.json");
14
+
15
+ if (fs.existsSync(VERSION_FILE)) {
16
+ // Existing installation — run auto-migration silently
17
+ try {
18
+ const installed = JSON.parse(fs.readFileSync(VERSION_FILE, "utf8"));
19
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf8"));
20
+
21
+ if (installed.version === pkg.version) {
22
+ // Same version, nothing to do
23
+ process.exit(0);
24
+ }
25
+
26
+ console.log(`\n NEXO Brain: upgrading v${installed.version} → v${pkg.version}...`);
27
+
28
+ // Run the main installer in --yes mode (non-interactive)
29
+ // It will detect the existing version and do migration only
30
+ const { execSync } = require("child_process");
31
+ execSync(`node ${path.join(__dirname, "nexo-brain.js")} --yes`, {
32
+ stdio: "inherit",
33
+ env: { ...process.env, NEXO_POSTINSTALL: "1" }
34
+ });
35
+ } catch (e) {
36
+ console.error(` NEXO Brain: migration warning — ${e.message}`);
37
+ console.log(" Run 'nexo-brain' manually to complete setup.");
38
+ }
39
+ } else {
40
+ // Fresh install — just show instructions
41
+ console.log("\n ╔════════════════════════════════════════════╗");
42
+ console.log(" ║ NEXO Brain installed successfully! ║");
43
+ console.log(" ║ ║");
44
+ console.log(" ║ Run 'nexo-brain' to complete setup. ║");
45
+ console.log(" ╚════════════════════════════════════════════╝\n");
46
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "1.6.0",
3
+ "version": "2.0.0",
4
4
  "mcpName": "io.github.wazionapps/nexo",
5
5
  "description": "NEXO — Cognitive co-operator for Claude Code. Atkinson-Shiffrin memory, semantic RAG, knowledge graph, HNSW vector indexing, trust scoring, and metacognitive error prevention.",
6
6
  "bin": {
@@ -17,6 +17,14 @@
17
17
  "knowledge-graph",
18
18
  "hnsw",
19
19
  "claim-graph",
20
+ "dashboard",
21
+ "launchagent",
22
+ "systemd",
23
+ "linux",
24
+ "autonomous-agent",
25
+ "somatic-markers",
26
+ "nervous-system",
27
+ "i18n",
20
28
  "openclaw",
21
29
  "openclaw-plugin"
22
30
  ],
@@ -26,11 +34,15 @@
26
34
  "type": "git",
27
35
  "url": "git+https://github.com/wazionapps/nexo.git"
28
36
  },
37
+ "scripts": {
38
+ "postinstall": "node bin/postinstall.js 2>/dev/null || true"
39
+ },
29
40
  "engines": {
30
41
  "node": ">=18"
31
42
  },
32
43
  "files": [
33
- "bin/",
44
+ "bin/nexo-brain.js",
45
+ "bin/postinstall.js",
34
46
  "src/",
35
47
  "templates/",
36
48
  "scripts/",