synabun 1.3.0 → 2.0.0-beta

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 (1153) hide show
  1. package/CHANGELOG.md +197 -662
  2. package/LICENSE-COMMERCIAL.md +33 -0
  3. package/NOTICE +17 -0
  4. package/README.md +175 -853
  5. package/THIRD-PARTY-LICENSES.md +131 -0
  6. package/benchmarks/browser-live-results.json +79 -0
  7. package/benchmarks/browser-v2-results.json +258 -0
  8. package/benchmarks/fixtures/browser/README.md +57 -0
  9. package/benchmarks/fixtures/browser/page-state.json +132 -0
  10. package/benchmarks/fixtures/browser/social.json +92 -0
  11. package/benchmarks/fixtures/browser/target.json +319 -0
  12. package/benchmarks/fixtures/desktop/README.md +58 -0
  13. package/benchmarks/fixtures/desktop/abstention.json +59 -0
  14. package/benchmarks/fixtures/desktop/adversarial.json +22 -0
  15. package/benchmarks/fixtures/desktop/forbidden.json +93 -0
  16. package/benchmarks/fixtures/desktop/generate.mjs +1023 -0
  17. package/benchmarks/fixtures/desktop/target.json +136 -0
  18. package/bin/synabun.js +30 -0
  19. package/docs/browser-v2.md +109 -0
  20. package/docs/hook-integrity.md +89 -0
  21. package/docs/judgments.md +182 -0
  22. package/docs/style-guide.md +246 -0
  23. package/docs/whatsapp.md +325 -0
  24. package/hooks/claude-code/post-plan.mjs +613 -391
  25. package/hooks/claude-code/post-remember.mjs +246 -122
  26. package/hooks/claude-code/pre-compact.mjs +171 -110
  27. package/hooks/claude-code/pre-task.mjs +133 -0
  28. package/hooks/claude-code/pre-websearch.mjs +15 -4
  29. package/hooks/claude-code/prompt-origin.mjs +94 -0
  30. package/hooks/claude-code/prompt-submit.mjs +1244 -861
  31. package/hooks/claude-code/session-start.mjs +114 -156
  32. package/hooks/claude-code/shared.mjs +1228 -368
  33. package/hooks/claude-code/state.mjs +167 -0
  34. package/hooks/claude-code/stop.mjs +515 -140
  35. package/hooks/claude-code/subagent-start.mjs +154 -0
  36. package/hooks/claude-code/subagent-stop.mjs +102 -0
  37. package/hooks/claude-code/task-gate.mjs +150 -0
  38. package/lib/claude-hooks.js +84 -0
  39. package/lib/claude-usage-audit.js +141 -0
  40. package/lib/client-config-repair.js +144 -0
  41. package/lib/data-home-migration.js +498 -0
  42. package/lib/first-launch-protection.js +240 -0
  43. package/lib/paths.d.ts +21 -0
  44. package/lib/paths.js +103 -0
  45. package/mcp-server/dist/config.d.ts +22 -0
  46. package/mcp-server/dist/config.d.ts.map +1 -0
  47. package/mcp-server/dist/config.js +109 -0
  48. package/mcp-server/dist/config.js.map +1 -0
  49. package/mcp-server/dist/http.d.ts +30 -0
  50. package/mcp-server/dist/http.d.ts.map +1 -0
  51. package/mcp-server/dist/http.js +276 -0
  52. package/mcp-server/dist/http.js.map +1 -0
  53. package/mcp-server/dist/index.d.ts +48 -0
  54. package/mcp-server/dist/index.d.ts.map +1 -0
  55. package/mcp-server/dist/index.js +538 -0
  56. package/mcp-server/dist/index.js.map +1 -0
  57. package/mcp-server/dist/preload-http.d.ts +3 -0
  58. package/mcp-server/dist/preload-http.d.ts.map +1 -0
  59. package/mcp-server/dist/preload-http.js +28 -0
  60. package/mcp-server/dist/preload-http.js.map +1 -0
  61. package/mcp-server/dist/preload.d.ts +3 -0
  62. package/mcp-server/dist/preload.d.ts.map +1 -0
  63. package/mcp-server/dist/preload.js +32 -0
  64. package/mcp-server/dist/preload.js.map +1 -0
  65. package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.d.ts +19 -0
  66. package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.d.ts.map +1 -0
  67. package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.js +403 -0
  68. package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.js.map +1 -0
  69. package/mcp-server/dist/scripts/setup-embeddings.d.ts +3 -0
  70. package/mcp-server/dist/scripts/setup-embeddings.d.ts.map +1 -0
  71. package/mcp-server/dist/scripts/setup-embeddings.js +15 -0
  72. package/mcp-server/dist/scripts/setup-embeddings.js.map +1 -0
  73. package/mcp-server/dist/services/assistant-judgments.d.ts +79 -0
  74. package/mcp-server/dist/services/assistant-judgments.d.ts.map +1 -0
  75. package/mcp-server/dist/services/assistant-judgments.js +128 -0
  76. package/mcp-server/dist/services/assistant-judgments.js.map +1 -0
  77. package/mcp-server/dist/services/browser-assist-gate.d.ts +314 -0
  78. package/mcp-server/dist/services/browser-assist-gate.d.ts.map +1 -0
  79. package/mcp-server/dist/services/browser-assist-gate.js +344 -0
  80. package/mcp-server/dist/services/browser-assist-gate.js.map +1 -0
  81. package/mcp-server/dist/services/browser-assist.d.ts +104 -0
  82. package/mcp-server/dist/services/browser-assist.d.ts.map +1 -0
  83. package/mcp-server/dist/services/browser-assist.js +282 -0
  84. package/mcp-server/dist/services/browser-assist.js.map +1 -0
  85. package/mcp-server/dist/services/browser-bench.d.ts +772 -0
  86. package/mcp-server/dist/services/browser-bench.d.ts.map +1 -0
  87. package/mcp-server/dist/services/browser-bench.js +424 -0
  88. package/mcp-server/dist/services/browser-bench.js.map +1 -0
  89. package/mcp-server/dist/services/browser-judgments.d.ts +196 -0
  90. package/mcp-server/dist/services/browser-judgments.d.ts.map +1 -0
  91. package/mcp-server/dist/services/browser-judgments.js +363 -0
  92. package/mcp-server/dist/services/browser-judgments.js.map +1 -0
  93. package/mcp-server/dist/services/browser-risk.d.ts +166 -0
  94. package/mcp-server/dist/services/browser-risk.d.ts.map +1 -0
  95. package/mcp-server/dist/services/browser-risk.js +458 -0
  96. package/mcp-server/dist/services/browser-risk.js.map +1 -0
  97. package/mcp-server/dist/services/categories.d.ts +61 -0
  98. package/mcp-server/dist/services/categories.d.ts.map +1 -0
  99. package/mcp-server/dist/services/categories.js +377 -0
  100. package/mcp-server/dist/services/categories.js.map +1 -0
  101. package/mcp-server/dist/services/codex-config-heal.d.ts +49 -0
  102. package/mcp-server/dist/services/codex-config-heal.d.ts.map +1 -0
  103. package/mcp-server/dist/services/codex-config-heal.js +346 -0
  104. package/mcp-server/dist/services/codex-config-heal.js.map +1 -0
  105. package/mcp-server/dist/services/desktop-assist-gate.d.ts +198 -0
  106. package/mcp-server/dist/services/desktop-assist-gate.d.ts.map +1 -0
  107. package/mcp-server/dist/services/desktop-assist-gate.js +202 -0
  108. package/mcp-server/dist/services/desktop-assist-gate.js.map +1 -0
  109. package/mcp-server/dist/services/desktop-assist.d.ts +104 -0
  110. package/mcp-server/dist/services/desktop-assist.d.ts.map +1 -0
  111. package/mcp-server/dist/services/desktop-assist.js +266 -0
  112. package/mcp-server/dist/services/desktop-assist.js.map +1 -0
  113. package/mcp-server/dist/services/desktop-bench.d.ts +553 -0
  114. package/mcp-server/dist/services/desktop-bench.d.ts.map +1 -0
  115. package/mcp-server/dist/services/desktop-bench.js +311 -0
  116. package/mcp-server/dist/services/desktop-bench.js.map +1 -0
  117. package/mcp-server/dist/services/desktop-client.d.ts +23 -0
  118. package/mcp-server/dist/services/desktop-client.d.ts.map +1 -0
  119. package/mcp-server/dist/services/desktop-client.js +79 -0
  120. package/mcp-server/dist/services/desktop-client.js.map +1 -0
  121. package/mcp-server/dist/services/desktop-judgments.d.ts +125 -0
  122. package/mcp-server/dist/services/desktop-judgments.d.ts.map +1 -0
  123. package/mcp-server/dist/services/desktop-judgments.js +177 -0
  124. package/mcp-server/dist/services/desktop-judgments.js.map +1 -0
  125. package/mcp-server/dist/services/desktop-risk.d.ts +283 -0
  126. package/mcp-server/dist/services/desktop-risk.d.ts.map +1 -0
  127. package/mcp-server/dist/services/desktop-risk.js +605 -0
  128. package/mcp-server/dist/services/desktop-risk.js.map +1 -0
  129. package/mcp-server/dist/services/discord.d.ts +112 -0
  130. package/mcp-server/dist/services/discord.d.ts.map +1 -0
  131. package/mcp-server/dist/services/discord.js +477 -0
  132. package/mcp-server/dist/services/discord.js.map +1 -0
  133. package/mcp-server/dist/services/edit-stale.d.ts +81 -0
  134. package/mcp-server/dist/services/edit-stale.d.ts.map +1 -0
  135. package/mcp-server/dist/services/edit-stale.js +358 -0
  136. package/mcp-server/dist/services/edit-stale.js.map +1 -0
  137. package/mcp-server/dist/services/embedding-service.d.ts +16 -0
  138. package/mcp-server/dist/services/embedding-service.d.ts.map +1 -0
  139. package/mcp-server/dist/services/embedding-service.js +126 -0
  140. package/mcp-server/dist/services/embedding-service.js.map +1 -0
  141. package/mcp-server/dist/services/embedding-worker.d.ts +2 -0
  142. package/mcp-server/dist/services/embedding-worker.d.ts.map +1 -0
  143. package/mcp-server/dist/services/embedding-worker.js +52 -0
  144. package/mcp-server/dist/services/embedding-worker.js.map +1 -0
  145. package/mcp-server/dist/services/fb-regions.d.ts +71 -0
  146. package/mcp-server/dist/services/fb-regions.d.ts.map +1 -0
  147. package/mcp-server/dist/services/fb-regions.js +211 -0
  148. package/mcp-server/dist/services/fb-regions.js.map +1 -0
  149. package/mcp-server/dist/services/file-checksums.d.ts +22 -0
  150. package/mcp-server/dist/services/file-checksums.d.ts.map +1 -0
  151. package/mcp-server/dist/services/file-checksums.js +55 -0
  152. package/mcp-server/dist/services/file-checksums.js.map +1 -0
  153. package/mcp-server/dist/services/file-excerpt.d.ts +24 -0
  154. package/mcp-server/dist/services/file-excerpt.d.ts.map +1 -0
  155. package/mcp-server/dist/services/file-excerpt.js +65 -0
  156. package/mcp-server/dist/services/file-excerpt.js.map +1 -0
  157. package/mcp-server/dist/services/identity.d.ts +124 -0
  158. package/mcp-server/dist/services/identity.d.ts.map +1 -0
  159. package/mcp-server/dist/services/identity.js +241 -0
  160. package/mcp-server/dist/services/identity.js.map +1 -0
  161. package/mcp-server/dist/services/local-embeddings.d.ts +2 -0
  162. package/mcp-server/dist/services/local-embeddings.d.ts.map +1 -0
  163. package/mcp-server/dist/services/local-embeddings.js +3 -0
  164. package/mcp-server/dist/services/local-embeddings.js.map +1 -0
  165. package/mcp-server/dist/services/memory-client.d.ts +4 -0
  166. package/mcp-server/dist/services/memory-client.d.ts.map +1 -0
  167. package/mcp-server/dist/services/memory-client.js +27 -0
  168. package/mcp-server/dist/services/memory-client.js.map +1 -0
  169. package/mcp-server/dist/services/memory-judge-backfill.d.ts +135 -0
  170. package/mcp-server/dist/services/memory-judge-backfill.d.ts.map +1 -0
  171. package/mcp-server/dist/services/memory-judge-backfill.js +510 -0
  172. package/mcp-server/dist/services/memory-judge-backfill.js.map +1 -0
  173. package/mcp-server/dist/services/memory-judgments.d.ts +362 -0
  174. package/mcp-server/dist/services/memory-judgments.d.ts.map +1 -0
  175. package/mcp-server/dist/services/memory-judgments.js +674 -0
  176. package/mcp-server/dist/services/memory-judgments.js.map +1 -0
  177. package/mcp-server/dist/services/memory-maintenance.d.ts +108 -0
  178. package/mcp-server/dist/services/memory-maintenance.d.ts.map +1 -0
  179. package/mcp-server/dist/services/memory-maintenance.js +403 -0
  180. package/mcp-server/dist/services/memory-maintenance.js.map +1 -0
  181. package/mcp-server/dist/services/memory-retrieval.d.ts +66 -0
  182. package/mcp-server/dist/services/memory-retrieval.d.ts.map +1 -0
  183. package/mcp-server/dist/services/memory-retrieval.js +412 -0
  184. package/mcp-server/dist/services/memory-retrieval.js.map +1 -0
  185. package/mcp-server/dist/services/memory-schema.d.ts +16 -0
  186. package/mcp-server/dist/services/memory-schema.d.ts.map +1 -0
  187. package/mcp-server/dist/services/memory-schema.js +282 -0
  188. package/mcp-server/dist/services/memory-schema.js.map +1 -0
  189. package/mcp-server/dist/services/memory-sessions.d.ts +24 -0
  190. package/mcp-server/dist/services/memory-sessions.d.ts.map +1 -0
  191. package/mcp-server/dist/services/memory-sessions.js +110 -0
  192. package/mcp-server/dist/services/memory-sessions.js.map +1 -0
  193. package/mcp-server/dist/services/memory-triage.d.ts +60 -0
  194. package/mcp-server/dist/services/memory-triage.d.ts.map +1 -0
  195. package/mcp-server/dist/services/memory-triage.js +189 -0
  196. package/mcp-server/dist/services/memory-triage.js.map +1 -0
  197. package/mcp-server/dist/services/memory-verification.d.ts +24 -0
  198. package/mcp-server/dist/services/memory-verification.d.ts.map +1 -0
  199. package/mcp-server/dist/services/memory-verification.js +92 -0
  200. package/mcp-server/dist/services/memory-verification.js.map +1 -0
  201. package/mcp-server/dist/services/memory-writer.d.ts +26 -0
  202. package/mcp-server/dist/services/memory-writer.d.ts.map +1 -0
  203. package/mcp-server/dist/services/memory-writer.js +126 -0
  204. package/mcp-server/dist/services/memory-writer.js.map +1 -0
  205. package/mcp-server/dist/services/neural-interface.d.ts +439 -0
  206. package/mcp-server/dist/services/neural-interface.d.ts.map +1 -0
  207. package/mcp-server/dist/services/neural-interface.js +1135 -0
  208. package/mcp-server/dist/services/neural-interface.js.map +1 -0
  209. package/mcp-server/dist/services/profiles.d.ts +120 -0
  210. package/mcp-server/dist/services/profiles.d.ts.map +1 -0
  211. package/mcp-server/dist/services/profiles.js +387 -0
  212. package/mcp-server/dist/services/profiles.js.map +1 -0
  213. package/mcp-server/dist/services/secret-gate.d.ts +29 -0
  214. package/mcp-server/dist/services/secret-gate.d.ts.map +1 -0
  215. package/mcp-server/dist/services/secret-gate.js +43 -0
  216. package/mcp-server/dist/services/secret-gate.js.map +1 -0
  217. package/mcp-server/dist/services/server-instructions.d.ts +10 -0
  218. package/mcp-server/dist/services/server-instructions.d.ts.map +1 -0
  219. package/mcp-server/dist/services/server-instructions.js +101 -0
  220. package/mcp-server/dist/services/server-instructions.js.map +1 -0
  221. package/mcp-server/dist/services/sqlite.d.ts +235 -0
  222. package/mcp-server/dist/services/sqlite.d.ts.map +1 -0
  223. package/mcp-server/dist/services/sqlite.js +1185 -0
  224. package/mcp-server/dist/services/sqlite.js.map +1 -0
  225. package/mcp-server/dist/services/typesafe-bench.d.ts +99 -0
  226. package/mcp-server/dist/services/typesafe-bench.d.ts.map +1 -0
  227. package/mcp-server/dist/services/typesafe-bench.js +218 -0
  228. package/mcp-server/dist/services/typesafe-bench.js.map +1 -0
  229. package/mcp-server/dist/services/typesafe-config.d.ts +342 -0
  230. package/mcp-server/dist/services/typesafe-config.d.ts.map +1 -0
  231. package/mcp-server/dist/services/typesafe-config.js +746 -0
  232. package/mcp-server/dist/services/typesafe-config.js.map +1 -0
  233. package/mcp-server/dist/services/typesafe.d.ts +213 -0
  234. package/mcp-server/dist/services/typesafe.d.ts.map +1 -0
  235. package/mcp-server/dist/services/typesafe.js +330 -0
  236. package/mcp-server/dist/services/typesafe.js.map +1 -0
  237. package/mcp-server/dist/services/vector-cache.d.ts +68 -0
  238. package/mcp-server/dist/services/vector-cache.d.ts.map +1 -0
  239. package/mcp-server/dist/services/vector-cache.js +271 -0
  240. package/mcp-server/dist/services/vector-cache.js.map +1 -0
  241. package/mcp-server/dist/services/whiteboard-geometry.d.ts +305 -0
  242. package/mcp-server/dist/services/whiteboard-geometry.d.ts.map +1 -0
  243. package/mcp-server/dist/services/whiteboard-geometry.js +666 -0
  244. package/mcp-server/dist/services/whiteboard-geometry.js.map +1 -0
  245. package/mcp-server/dist/tools/agents.d.ts +212 -0
  246. package/mcp-server/dist/tools/agents.d.ts.map +1 -0
  247. package/mcp-server/dist/tools/agents.js +407 -0
  248. package/mcp-server/dist/tools/agents.js.map +1 -0
  249. package/mcp-server/dist/tools/bluesky.d.ts +39 -0
  250. package/mcp-server/dist/tools/bluesky.d.ts.map +1 -0
  251. package/mcp-server/dist/tools/bluesky.js +1144 -0
  252. package/mcp-server/dist/tools/bluesky.js.map +1 -0
  253. package/mcp-server/dist/tools/browser-advanced.d.ts +58 -0
  254. package/mcp-server/dist/tools/browser-advanced.d.ts.map +1 -0
  255. package/mcp-server/dist/tools/browser-advanced.js +106 -0
  256. package/mcp-server/dist/tools/browser-advanced.js.map +1 -0
  257. package/mcp-server/dist/tools/browser-batch.d.ts +99 -0
  258. package/mcp-server/dist/tools/browser-batch.d.ts.map +1 -0
  259. package/mcp-server/dist/tools/browser-batch.js +187 -0
  260. package/mcp-server/dist/tools/browser-batch.js.map +1 -0
  261. package/mcp-server/dist/tools/browser-cheatsheet.d.ts +21 -0
  262. package/mcp-server/dist/tools/browser-cheatsheet.d.ts.map +1 -0
  263. package/mcp-server/dist/tools/browser-cheatsheet.js +144 -0
  264. package/mcp-server/dist/tools/browser-cheatsheet.js.map +1 -0
  265. package/mcp-server/dist/tools/browser-interact.d.ts +239 -0
  266. package/mcp-server/dist/tools/browser-interact.d.ts.map +1 -0
  267. package/mcp-server/dist/tools/browser-interact.js +300 -0
  268. package/mcp-server/dist/tools/browser-interact.js.map +1 -0
  269. package/mcp-server/dist/tools/browser-navigate.d.ts +90 -0
  270. package/mcp-server/dist/tools/browser-navigate.d.ts.map +1 -0
  271. package/mcp-server/dist/tools/browser-navigate.js +142 -0
  272. package/mcp-server/dist/tools/browser-navigate.js.map +1 -0
  273. package/mcp-server/dist/tools/browser-observe.d.ts +561 -0
  274. package/mcp-server/dist/tools/browser-observe.d.ts.map +1 -0
  275. package/mcp-server/dist/tools/browser-observe.js +2009 -0
  276. package/mcp-server/dist/tools/browser-observe.js.map +1 -0
  277. package/mcp-server/dist/tools/browser.d.ts +34 -0
  278. package/mcp-server/dist/tools/browser.d.ts.map +1 -0
  279. package/mcp-server/dist/tools/browser.js +112 -0
  280. package/mcp-server/dist/tools/browser.js.map +1 -0
  281. package/mcp-server/dist/tools/card-tools.d.ts +82 -0
  282. package/mcp-server/dist/tools/card-tools.d.ts.map +1 -0
  283. package/mcp-server/dist/tools/card-tools.js +137 -0
  284. package/mcp-server/dist/tools/card-tools.js.map +1 -0
  285. package/mcp-server/dist/tools/card.d.ts +8 -0
  286. package/mcp-server/dist/tools/card.d.ts.map +1 -0
  287. package/mcp-server/dist/tools/card.js +16 -0
  288. package/mcp-server/dist/tools/card.js.map +1 -0
  289. package/mcp-server/dist/tools/category.d.ts +32 -0
  290. package/mcp-server/dist/tools/category.d.ts.map +1 -0
  291. package/mcp-server/dist/tools/category.js +290 -0
  292. package/mcp-server/dist/tools/category.js.map +1 -0
  293. package/mcp-server/dist/tools/choice.d.ts +160 -0
  294. package/mcp-server/dist/tools/choice.d.ts.map +1 -0
  295. package/mcp-server/dist/tools/choice.js +80 -0
  296. package/mcp-server/dist/tools/choice.js.map +1 -0
  297. package/mcp-server/dist/tools/computer.d.ts +71 -0
  298. package/mcp-server/dist/tools/computer.d.ts.map +1 -0
  299. package/mcp-server/dist/tools/computer.js +174 -0
  300. package/mcp-server/dist/tools/computer.js.map +1 -0
  301. package/mcp-server/dist/tools/discord-channel.d.ts +44 -0
  302. package/mcp-server/dist/tools/discord-channel.d.ts.map +1 -0
  303. package/mcp-server/dist/tools/discord-channel.js +236 -0
  304. package/mcp-server/dist/tools/discord-channel.js.map +1 -0
  305. package/mcp-server/dist/tools/discord-guild.d.ts +20 -0
  306. package/mcp-server/dist/tools/discord-guild.d.ts.map +1 -0
  307. package/mcp-server/dist/tools/discord-guild.js +138 -0
  308. package/mcp-server/dist/tools/discord-guild.js.map +1 -0
  309. package/mcp-server/dist/tools/discord-member.d.ts +26 -0
  310. package/mcp-server/dist/tools/discord-member.d.ts.map +1 -0
  311. package/mcp-server/dist/tools/discord-member.js +122 -0
  312. package/mcp-server/dist/tools/discord-member.js.map +1 -0
  313. package/mcp-server/dist/tools/discord-message.d.ts +36 -0
  314. package/mcp-server/dist/tools/discord-message.d.ts.map +1 -0
  315. package/mcp-server/dist/tools/discord-message.js +184 -0
  316. package/mcp-server/dist/tools/discord-message.js.map +1 -0
  317. package/mcp-server/dist/tools/discord-onboarding.d.ts +32 -0
  318. package/mcp-server/dist/tools/discord-onboarding.d.ts.map +1 -0
  319. package/mcp-server/dist/tools/discord-onboarding.js +179 -0
  320. package/mcp-server/dist/tools/discord-onboarding.js.map +1 -0
  321. package/mcp-server/dist/tools/discord-role.d.ts +34 -0
  322. package/mcp-server/dist/tools/discord-role.d.ts.map +1 -0
  323. package/mcp-server/dist/tools/discord-role.js +178 -0
  324. package/mcp-server/dist/tools/discord-role.js.map +1 -0
  325. package/mcp-server/dist/tools/discord-thread.d.ts +28 -0
  326. package/mcp-server/dist/tools/discord-thread.d.ts.map +1 -0
  327. package/mcp-server/dist/tools/discord-thread.js +88 -0
  328. package/mcp-server/dist/tools/discord-thread.js.map +1 -0
  329. package/mcp-server/dist/tools/discord-webhook.d.ts +32 -0
  330. package/mcp-server/dist/tools/discord-webhook.d.ts.map +1 -0
  331. package/mcp-server/dist/tools/discord-webhook.js +154 -0
  332. package/mcp-server/dist/tools/discord-webhook.js.map +1 -0
  333. package/mcp-server/dist/tools/discord.d.ts +7 -0
  334. package/mcp-server/dist/tools/discord.d.ts.map +1 -0
  335. package/mcp-server/dist/tools/discord.js +25 -0
  336. package/mcp-server/dist/tools/discord.js.map +1 -0
  337. package/mcp-server/dist/tools/fb-groups.d.ts +98 -0
  338. package/mcp-server/dist/tools/fb-groups.d.ts.map +1 -0
  339. package/mcp-server/dist/tools/fb-groups.js +369 -0
  340. package/mcp-server/dist/tools/fb-groups.js.map +1 -0
  341. package/mcp-server/dist/tools/forget.d.ts +14 -0
  342. package/mcp-server/dist/tools/forget.d.ts.map +1 -0
  343. package/mcp-server/dist/tools/forget.js +26 -0
  344. package/mcp-server/dist/tools/forget.js.map +1 -0
  345. package/mcp-server/dist/tools/git-tools.d.ts +24 -0
  346. package/mcp-server/dist/tools/git-tools.d.ts.map +1 -0
  347. package/mcp-server/dist/tools/git-tools.js +107 -0
  348. package/mcp-server/dist/tools/git-tools.js.map +1 -0
  349. package/mcp-server/dist/tools/git.d.ts +7 -0
  350. package/mcp-server/dist/tools/git.d.ts.map +1 -0
  351. package/mcp-server/dist/tools/git.js +11 -0
  352. package/mcp-server/dist/tools/git.js.map +1 -0
  353. package/mcp-server/dist/tools/gsc/experience.d.ts +135 -0
  354. package/mcp-server/dist/tools/gsc/experience.d.ts.map +1 -0
  355. package/mcp-server/dist/tools/gsc/experience.js +351 -0
  356. package/mcp-server/dist/tools/gsc/experience.js.map +1 -0
  357. package/mcp-server/dist/tools/gsc/helpers.d.ts +78 -0
  358. package/mcp-server/dist/tools/gsc/helpers.d.ts.map +1 -0
  359. package/mcp-server/dist/tools/gsc/helpers.js +258 -0
  360. package/mcp-server/dist/tools/gsc/helpers.js.map +1 -0
  361. package/mcp-server/dist/tools/gsc/indexing.d.ts +121 -0
  362. package/mcp-server/dist/tools/gsc/indexing.d.ts.map +1 -0
  363. package/mcp-server/dist/tools/gsc/indexing.js +357 -0
  364. package/mcp-server/dist/tools/gsc/indexing.js.map +1 -0
  365. package/mcp-server/dist/tools/gsc/inspect.d.ts +78 -0
  366. package/mcp-server/dist/tools/gsc/inspect.d.ts.map +1 -0
  367. package/mcp-server/dist/tools/gsc/inspect.js +321 -0
  368. package/mcp-server/dist/tools/gsc/inspect.js.map +1 -0
  369. package/mcp-server/dist/tools/gsc/navigate.d.ts +44 -0
  370. package/mcp-server/dist/tools/gsc/navigate.d.ts.map +1 -0
  371. package/mcp-server/dist/tools/gsc/navigate.js +197 -0
  372. package/mcp-server/dist/tools/gsc/navigate.js.map +1 -0
  373. package/mcp-server/dist/tools/gsc/performance.d.ts +84 -0
  374. package/mcp-server/dist/tools/gsc/performance.d.ts.map +1 -0
  375. package/mcp-server/dist/tools/gsc/performance.js +274 -0
  376. package/mcp-server/dist/tools/gsc/performance.js.map +1 -0
  377. package/mcp-server/dist/tools/gsc/settings.d.ts +153 -0
  378. package/mcp-server/dist/tools/gsc/settings.d.ts.map +1 -0
  379. package/mcp-server/dist/tools/gsc/settings.js +425 -0
  380. package/mcp-server/dist/tools/gsc/settings.js.map +1 -0
  381. package/mcp-server/dist/tools/gsc.d.ts +7 -0
  382. package/mcp-server/dist/tools/gsc.d.ts.map +1 -0
  383. package/mcp-server/dist/tools/gsc.js +51 -0
  384. package/mcp-server/dist/tools/gsc.js.map +1 -0
  385. package/mcp-server/dist/tools/image-tools.d.ts +24 -0
  386. package/mcp-server/dist/tools/image-tools.d.ts.map +1 -0
  387. package/mcp-server/dist/tools/image-tools.js +80 -0
  388. package/mcp-server/dist/tools/image-tools.js.map +1 -0
  389. package/mcp-server/dist/tools/image.d.ts +10 -0
  390. package/mcp-server/dist/tools/image.d.ts.map +1 -0
  391. package/mcp-server/dist/tools/image.js +14 -0
  392. package/mcp-server/dist/tools/image.js.map +1 -0
  393. package/mcp-server/dist/tools/leonardo-browser-tools.d.ts +97 -0
  394. package/mcp-server/dist/tools/leonardo-browser-tools.d.ts.map +1 -0
  395. package/mcp-server/dist/tools/leonardo-browser-tools.js +228 -0
  396. package/mcp-server/dist/tools/leonardo-browser-tools.js.map +1 -0
  397. package/mcp-server/dist/tools/leonardo.d.ts +13 -0
  398. package/mcp-server/dist/tools/leonardo.d.ts.map +1 -0
  399. package/mcp-server/dist/tools/leonardo.js +21 -0
  400. package/mcp-server/dist/tools/leonardo.js.map +1 -0
  401. package/mcp-server/dist/tools/loop.d.ts +30 -0
  402. package/mcp-server/dist/tools/loop.d.ts.map +1 -0
  403. package/mcp-server/dist/tools/loop.js +401 -0
  404. package/mcp-server/dist/tools/loop.js.map +1 -0
  405. package/mcp-server/dist/tools/memories.d.ts +56 -0
  406. package/mcp-server/dist/tools/memories.d.ts.map +1 -0
  407. package/mcp-server/dist/tools/memories.js +171 -0
  408. package/mcp-server/dist/tools/memories.js.map +1 -0
  409. package/mcp-server/dist/tools/morelogin.d.ts +24 -0
  410. package/mcp-server/dist/tools/morelogin.d.ts.map +1 -0
  411. package/mcp-server/dist/tools/morelogin.js +79 -0
  412. package/mcp-server/dist/tools/morelogin.js.map +1 -0
  413. package/mcp-server/dist/tools/profile.d.ts +17 -0
  414. package/mcp-server/dist/tools/profile.d.ts.map +1 -0
  415. package/mcp-server/dist/tools/profile.js +114 -0
  416. package/mcp-server/dist/tools/profile.js.map +1 -0
  417. package/mcp-server/dist/tools/recall.d.ts +71 -0
  418. package/mcp-server/dist/tools/recall.d.ts.map +1 -0
  419. package/mcp-server/dist/tools/recall.js +147 -0
  420. package/mcp-server/dist/tools/recall.js.map +1 -0
  421. package/mcp-server/dist/tools/reflect.d.ts +56 -0
  422. package/mcp-server/dist/tools/reflect.d.ts.map +1 -0
  423. package/mcp-server/dist/tools/reflect.js +157 -0
  424. package/mcp-server/dist/tools/reflect.js.map +1 -0
  425. package/mcp-server/dist/tools/remember.d.ts +62 -0
  426. package/mcp-server/dist/tools/remember.d.ts.map +1 -0
  427. package/mcp-server/dist/tools/remember.js +201 -0
  428. package/mcp-server/dist/tools/remember.js.map +1 -0
  429. package/mcp-server/dist/tools/response.d.ts +23 -0
  430. package/mcp-server/dist/tools/response.d.ts.map +1 -0
  431. package/mcp-server/dist/tools/response.js +24 -0
  432. package/mcp-server/dist/tools/response.js.map +1 -0
  433. package/mcp-server/dist/tools/restore.d.ts +14 -0
  434. package/mcp-server/dist/tools/restore.d.ts.map +1 -0
  435. package/mcp-server/dist/tools/restore.js +23 -0
  436. package/mcp-server/dist/tools/restore.js.map +1 -0
  437. package/mcp-server/dist/tools/style-guide-tools.d.ts +51 -0
  438. package/mcp-server/dist/tools/style-guide-tools.d.ts.map +1 -0
  439. package/mcp-server/dist/tools/style-guide-tools.js +231 -0
  440. package/mcp-server/dist/tools/style-guide-tools.js.map +1 -0
  441. package/mcp-server/dist/tools/style-guide.d.ts +8 -0
  442. package/mcp-server/dist/tools/style-guide.d.ts.map +1 -0
  443. package/mcp-server/dist/tools/style-guide.js +12 -0
  444. package/mcp-server/dist/tools/style-guide.js.map +1 -0
  445. package/mcp-server/dist/tools/sync.d.ts +20 -0
  446. package/mcp-server/dist/tools/sync.d.ts.map +1 -0
  447. package/mcp-server/dist/tools/sync.js +156 -0
  448. package/mcp-server/dist/tools/sync.js.map +1 -0
  449. package/mcp-server/dist/tools/tictactoe-tools.d.ts +18 -0
  450. package/mcp-server/dist/tools/tictactoe-tools.d.ts.map +1 -0
  451. package/mcp-server/dist/tools/tictactoe-tools.js +78 -0
  452. package/mcp-server/dist/tools/tictactoe-tools.js.map +1 -0
  453. package/mcp-server/dist/tools/tictactoe.d.ts +7 -0
  454. package/mcp-server/dist/tools/tictactoe.d.ts.map +1 -0
  455. package/mcp-server/dist/tools/tictactoe.js +11 -0
  456. package/mcp-server/dist/tools/tictactoe.js.map +1 -0
  457. package/mcp-server/dist/tools/utils.d.ts +19 -0
  458. package/mcp-server/dist/tools/utils.d.ts.map +1 -0
  459. package/mcp-server/dist/tools/utils.js +54 -0
  460. package/mcp-server/dist/tools/utils.js.map +1 -0
  461. package/mcp-server/dist/tools/whiteboard-format.d.ts +88 -0
  462. package/mcp-server/dist/tools/whiteboard-format.d.ts.map +1 -0
  463. package/mcp-server/dist/tools/whiteboard-format.js +337 -0
  464. package/mcp-server/dist/tools/whiteboard-format.js.map +1 -0
  465. package/mcp-server/dist/tools/whiteboard-tools.d.ts +326 -0
  466. package/mcp-server/dist/tools/whiteboard-tools.d.ts.map +1 -0
  467. package/mcp-server/dist/tools/whiteboard-tools.js +222 -0
  468. package/mcp-server/dist/tools/whiteboard-tools.js.map +1 -0
  469. package/mcp-server/dist/tools/whiteboard.d.ts +8 -0
  470. package/mcp-server/dist/tools/whiteboard.d.ts.map +1 -0
  471. package/mcp-server/dist/tools/whiteboard.js +16 -0
  472. package/mcp-server/dist/tools/whiteboard.js.map +1 -0
  473. package/mcp-server/dist/tools/youtube/analytics.d.ts +46 -0
  474. package/mcp-server/dist/tools/youtube/analytics.d.ts.map +1 -0
  475. package/mcp-server/dist/tools/youtube/analytics.js +83 -0
  476. package/mcp-server/dist/tools/youtube/analytics.js.map +1 -0
  477. package/mcp-server/dist/tools/youtube/dedup.d.ts +35 -0
  478. package/mcp-server/dist/tools/youtube/dedup.d.ts.map +1 -0
  479. package/mcp-server/dist/tools/youtube/dedup.js +56 -0
  480. package/mcp-server/dist/tools/youtube/dedup.js.map +1 -0
  481. package/mcp-server/dist/tools/youtube/download.d.ts +31 -0
  482. package/mcp-server/dist/tools/youtube/download.d.ts.map +1 -0
  483. package/mcp-server/dist/tools/youtube/download.js +30 -0
  484. package/mcp-server/dist/tools/youtube/download.js.map +1 -0
  485. package/mcp-server/dist/tools/youtube/helpers.d.ts +66 -0
  486. package/mcp-server/dist/tools/youtube/helpers.d.ts.map +1 -0
  487. package/mcp-server/dist/tools/youtube/helpers.js +143 -0
  488. package/mcp-server/dist/tools/youtube/helpers.js.map +1 -0
  489. package/mcp-server/dist/tools/youtube/media.d.ts +43 -0
  490. package/mcp-server/dist/tools/youtube/media.d.ts.map +1 -0
  491. package/mcp-server/dist/tools/youtube/media.js +97 -0
  492. package/mcp-server/dist/tools/youtube/media.js.map +1 -0
  493. package/mcp-server/dist/tools/youtube/metadata.d.ts +33 -0
  494. package/mcp-server/dist/tools/youtube/metadata.d.ts.map +1 -0
  495. package/mcp-server/dist/tools/youtube/metadata.js +106 -0
  496. package/mcp-server/dist/tools/youtube/metadata.js.map +1 -0
  497. package/mcp-server/dist/tools/youtube/navigate.d.ts +30 -0
  498. package/mcp-server/dist/tools/youtube/navigate.d.ts.map +1 -0
  499. package/mcp-server/dist/tools/youtube/navigate.js +71 -0
  500. package/mcp-server/dist/tools/youtube/navigate.js.map +1 -0
  501. package/mcp-server/dist/tools/youtube/playlist.d.ts +29 -0
  502. package/mcp-server/dist/tools/youtube/playlist.d.ts.map +1 -0
  503. package/mcp-server/dist/tools/youtube/playlist.js +128 -0
  504. package/mcp-server/dist/tools/youtube/playlist.js.map +1 -0
  505. package/mcp-server/dist/tools/youtube/schedule.d.ts +31 -0
  506. package/mcp-server/dist/tools/youtube/schedule.d.ts.map +1 -0
  507. package/mcp-server/dist/tools/youtube/schedule.js +147 -0
  508. package/mcp-server/dist/tools/youtube/schedule.js.map +1 -0
  509. package/mcp-server/dist/tools/youtube/source.d.ts +36 -0
  510. package/mcp-server/dist/tools/youtube/source.d.ts.map +1 -0
  511. package/mcp-server/dist/tools/youtube/source.js +85 -0
  512. package/mcp-server/dist/tools/youtube/source.js.map +1 -0
  513. package/mcp-server/dist/tools/youtube/upload.d.ts +53 -0
  514. package/mcp-server/dist/tools/youtube/upload.d.ts.map +1 -0
  515. package/mcp-server/dist/tools/youtube/upload.js +255 -0
  516. package/mcp-server/dist/tools/youtube/upload.js.map +1 -0
  517. package/mcp-server/dist/tools/youtube.d.ts +12 -0
  518. package/mcp-server/dist/tools/youtube.d.ts.map +1 -0
  519. package/mcp-server/dist/tools/youtube.js +38 -0
  520. package/mcp-server/dist/tools/youtube.js.map +1 -0
  521. package/mcp-server/dist/tui.d.ts +3 -0
  522. package/mcp-server/dist/tui.d.ts.map +1 -0
  523. package/mcp-server/dist/tui.js +806 -0
  524. package/mcp-server/dist/tui.js.map +1 -0
  525. package/mcp-server/dist/types.d.ts +77 -0
  526. package/mcp-server/dist/types.d.ts.map +1 -0
  527. package/mcp-server/dist/types.js +2 -0
  528. package/mcp-server/dist/types.js.map +1 -0
  529. package/mcp-server/package-lock.json +4798 -0
  530. package/mcp-server/package.json +55 -38
  531. package/mcp-server/run.mjs +12 -2
  532. package/mcp-server/src/config.ts +48 -3
  533. package/mcp-server/src/http.ts +296 -93
  534. package/mcp-server/src/index.ts +546 -203
  535. package/mcp-server/src/preload-http.ts +19 -18
  536. package/mcp-server/src/preload.ts +19 -18
  537. package/mcp-server/src/scripts/setup-embeddings.ts +9 -0
  538. package/mcp-server/src/services/assistant-judgments.ts +157 -0
  539. package/mcp-server/src/services/browser-assist-gate.ts +383 -0
  540. package/mcp-server/src/services/browser-assist.ts +267 -0
  541. package/mcp-server/src/services/browser-bench.ts +477 -0
  542. package/mcp-server/src/services/browser-judgments.ts +414 -0
  543. package/mcp-server/src/services/browser-risk.ts +484 -0
  544. package/mcp-server/src/services/categories.ts +36 -19
  545. package/mcp-server/src/services/codex-config-heal.ts +403 -0
  546. package/mcp-server/src/services/desktop-assist-gate.ts +251 -0
  547. package/mcp-server/src/services/desktop-assist.ts +308 -0
  548. package/mcp-server/src/services/desktop-bench.ts +372 -0
  549. package/mcp-server/src/services/desktop-client.ts +76 -0
  550. package/mcp-server/src/services/desktop-judgments.ts +218 -0
  551. package/mcp-server/src/services/desktop-risk.ts +743 -0
  552. package/mcp-server/src/services/edit-stale.ts +299 -0
  553. package/mcp-server/src/services/embedding-service.ts +108 -0
  554. package/mcp-server/src/services/embedding-worker.ts +46 -0
  555. package/mcp-server/src/services/fb-regions.ts +221 -0
  556. package/mcp-server/src/services/file-checksums.ts +26 -9
  557. package/mcp-server/src/services/file-excerpt.ts +59 -0
  558. package/mcp-server/src/services/identity.ts +291 -0
  559. package/mcp-server/src/services/local-embeddings.ts +2 -77
  560. package/mcp-server/src/services/memory-client.ts +23 -0
  561. package/mcp-server/src/services/memory-judge-backfill.ts +462 -0
  562. package/mcp-server/src/services/memory-judgments.ts +901 -0
  563. package/mcp-server/src/services/memory-maintenance.ts +360 -0
  564. package/mcp-server/src/services/memory-retrieval.ts +349 -0
  565. package/mcp-server/src/services/memory-schema.ts +280 -0
  566. package/mcp-server/src/services/memory-sessions.ts +87 -0
  567. package/mcp-server/src/services/memory-triage.ts +182 -0
  568. package/mcp-server/src/services/memory-verification.ts +68 -0
  569. package/mcp-server/src/services/memory-writer.ts +125 -0
  570. package/mcp-server/src/services/neural-interface.ts +1217 -73
  571. package/mcp-server/src/services/profiles.ts +428 -0
  572. package/mcp-server/src/services/secret-gate.ts +52 -0
  573. package/mcp-server/src/services/server-instructions.ts +122 -0
  574. package/mcp-server/src/services/sqlite.ts +1456 -823
  575. package/mcp-server/src/services/typesafe-bench.ts +247 -0
  576. package/mcp-server/src/services/typesafe-config.ts +790 -0
  577. package/mcp-server/src/services/typesafe.ts +390 -0
  578. package/mcp-server/src/services/vector-cache.ts +255 -0
  579. package/mcp-server/src/services/whiteboard-geometry.ts +711 -0
  580. package/mcp-server/src/tools/agents.ts +539 -0
  581. package/mcp-server/src/tools/bluesky.ts +1186 -0
  582. package/mcp-server/src/tools/browser-advanced.ts +15 -6
  583. package/mcp-server/src/tools/browser-batch.ts +178 -0
  584. package/mcp-server/src/tools/browser-cheatsheet.ts +155 -0
  585. package/mcp-server/src/tools/browser-interact.ts +362 -255
  586. package/mcp-server/src/tools/browser-navigate.ts +164 -77
  587. package/mcp-server/src/tools/browser-observe.ts +2222 -1330
  588. package/mcp-server/src/tools/browser.ts +181 -107
  589. package/mcp-server/src/tools/card.ts +7 -5
  590. package/mcp-server/src/tools/choice.ts +103 -0
  591. package/mcp-server/src/tools/computer.ts +190 -0
  592. package/mcp-server/src/tools/discord.ts +10 -23
  593. package/mcp-server/src/tools/fb-groups.ts +387 -0
  594. package/mcp-server/src/tools/forget.ts +1 -1
  595. package/mcp-server/src/tools/git.ts +3 -1
  596. package/mcp-server/src/tools/gsc/experience.ts +440 -0
  597. package/mcp-server/src/tools/gsc/helpers.ts +288 -0
  598. package/mcp-server/src/tools/gsc/indexing.ts +495 -0
  599. package/mcp-server/src/tools/gsc/inspect.ts +391 -0
  600. package/mcp-server/src/tools/gsc/navigate.ts +236 -0
  601. package/mcp-server/src/tools/gsc/performance.ts +352 -0
  602. package/mcp-server/src/tools/gsc/settings.ts +564 -0
  603. package/mcp-server/src/tools/gsc.ts +95 -0
  604. package/mcp-server/src/tools/image.ts +3 -1
  605. package/mcp-server/src/tools/leonardo-browser-tools.ts +47 -37
  606. package/mcp-server/src/tools/leonardo.ts +7 -5
  607. package/mcp-server/src/tools/loop.ts +118 -25
  608. package/mcp-server/src/tools/memories.ts +65 -5
  609. package/mcp-server/src/tools/morelogin.ts +81 -0
  610. package/mcp-server/src/tools/profile.ts +122 -0
  611. package/mcp-server/src/tools/recall.ts +105 -261
  612. package/mcp-server/src/tools/reflect.ts +171 -145
  613. package/mcp-server/src/tools/remember.ts +223 -115
  614. package/mcp-server/src/tools/style-guide-tools.ts +250 -0
  615. package/mcp-server/src/tools/style-guide.ts +16 -0
  616. package/mcp-server/src/tools/sync.ts +66 -9
  617. package/mcp-server/src/tools/tictactoe.ts +3 -1
  618. package/mcp-server/src/tools/utils.ts +22 -0
  619. package/mcp-server/src/tools/whiteboard-format.ts +394 -0
  620. package/mcp-server/src/tools/whiteboard-tools.ts +191 -183
  621. package/mcp-server/src/tools/whiteboard.ts +7 -5
  622. package/mcp-server/src/tools/youtube/analytics.ts +106 -0
  623. package/mcp-server/src/tools/youtube/dedup.ts +57 -0
  624. package/mcp-server/src/tools/youtube/download.ts +41 -0
  625. package/mcp-server/src/tools/youtube/helpers.ts +183 -0
  626. package/mcp-server/src/tools/youtube/media.ts +109 -0
  627. package/mcp-server/src/tools/youtube/metadata.ts +112 -0
  628. package/mcp-server/src/tools/youtube/navigate.ts +81 -0
  629. package/mcp-server/src/tools/youtube/playlist.ts +134 -0
  630. package/mcp-server/src/tools/youtube/schedule.ts +158 -0
  631. package/mcp-server/src/tools/youtube/source.ts +101 -0
  632. package/mcp-server/src/tools/youtube/upload.ts +296 -0
  633. package/mcp-server/src/tools/youtube.ts +47 -0
  634. package/mcp-server/src/tui.ts +8 -9
  635. package/neural-interface/games/TicTacToe/1.svg +1 -0
  636. package/neural-interface/games/TicTacToe/2.svg +1 -0
  637. package/neural-interface/games/TicTacToe/3.svg +1 -0
  638. package/neural-interface/games/TicTacToe/4.svg +1 -0
  639. package/neural-interface/games/TicTacToe/5.svg +1 -0
  640. package/neural-interface/games/TicTacToe/6.svg +1 -0
  641. package/neural-interface/games/TicTacToe/7.svg +1 -0
  642. package/neural-interface/games/TicTacToe/8.svg +1 -0
  643. package/neural-interface/games/TicTacToe/9.svg +1 -0
  644. package/neural-interface/games/TicTacToe/Board.svg +1 -0
  645. package/neural-interface/games/TicTacToe/Circle.svg +1 -0
  646. package/neural-interface/games/TicTacToe/Cross.svg +1 -0
  647. package/neural-interface/i18n/en.json +6983 -0
  648. package/neural-interface/i18n/pt-BR.json +6987 -0
  649. package/neural-interface/lib/assistant-api.js +1005 -0
  650. package/neural-interface/lib/assistant-attachments.js +121 -0
  651. package/neural-interface/lib/assistant-brains/claude.js +207 -0
  652. package/neural-interface/lib/assistant-brains/codex-browser-policy-hook.mjs +43 -0
  653. package/neural-interface/lib/assistant-brains/codex-route-gate-hook.mjs +56 -0
  654. package/neural-interface/lib/assistant-brains/codex.js +213 -0
  655. package/neural-interface/lib/assistant-brains/opencode-browser-policy.js +47 -0
  656. package/neural-interface/lib/assistant-brains/opencode-route-gate.js +62 -0
  657. package/neural-interface/lib/assistant-brains/opencode.js +320 -0
  658. package/neural-interface/lib/assistant-budget.js +318 -0
  659. package/neural-interface/lib/assistant-catalog.js +731 -0
  660. package/neural-interface/lib/assistant-clarify.js +664 -0
  661. package/neural-interface/lib/assistant-config.js +232 -0
  662. package/neural-interface/lib/assistant-dispatch.js +2744 -0
  663. package/neural-interface/lib/assistant-envelope.js +579 -0
  664. package/neural-interface/lib/assistant-evidence.js +236 -0
  665. package/neural-interface/lib/assistant-hidden-models.js +272 -0
  666. package/neural-interface/lib/assistant-jev.js +117 -0
  667. package/neural-interface/lib/assistant-judgments.js +111 -0
  668. package/neural-interface/lib/assistant-media.js +335 -0
  669. package/neural-interface/lib/assistant-memory.js +398 -0
  670. package/neural-interface/lib/assistant-persona.js +444 -0
  671. package/neural-interface/lib/assistant-plan-permissions.js +448 -0
  672. package/neural-interface/lib/assistant-playbooks/design.md +87 -0
  673. package/neural-interface/lib/assistant-playbooks.js +72 -0
  674. package/neural-interface/lib/assistant-pricing.js +159 -0
  675. package/neural-interface/lib/assistant-route-gate-codex.js +163 -0
  676. package/neural-interface/lib/assistant-route-gate.js +212 -0
  677. package/neural-interface/lib/assistant-router.js +1324 -0
  678. package/neural-interface/lib/assistant-runtime.js +3337 -0
  679. package/neural-interface/lib/assistant-task-prompt.js +472 -0
  680. package/neural-interface/lib/assistant-usage.js +1688 -0
  681. package/neural-interface/lib/augmented-path.js +50 -0
  682. package/neural-interface/lib/automation-storage-migration.js +54 -0
  683. package/neural-interface/lib/backup-service.js +851 -0
  684. package/neural-interface/lib/backup-zip-reader.js +262 -0
  685. package/neural-interface/lib/browser-assist-api.js +41 -0
  686. package/neural-interface/lib/browser-console.js +176 -0
  687. package/neural-interface/lib/browser-execution.js +241 -0
  688. package/neural-interface/lib/browser-extraction.js +191 -0
  689. package/neural-interface/lib/browser-screenshot.js +399 -0
  690. package/neural-interface/lib/browser-semantic-context.js +639 -0
  691. package/neural-interface/lib/browser-snapshots.js +192 -0
  692. package/neural-interface/lib/browser-tab-recovery.js +119 -0
  693. package/neural-interface/lib/browser-targets.js +70 -0
  694. package/neural-interface/lib/browser-tool-policy.js +926 -0
  695. package/neural-interface/lib/claude-accounts.js +230 -0
  696. package/neural-interface/lib/claude-agent-bridge.js +3296 -0
  697. package/neural-interface/lib/claude-bypass-policy.js +99 -0
  698. package/neural-interface/lib/claude-history.js +429 -0
  699. package/neural-interface/lib/claude-model-catalog.js +483 -0
  700. package/neural-interface/lib/claude-panel-requests.js +165 -0
  701. package/neural-interface/lib/claude-panel-session.js +272 -0
  702. package/neural-interface/lib/claude-permission-rules.js +153 -0
  703. package/neural-interface/lib/claude-session-cleanup.js +71 -0
  704. package/neural-interface/lib/claude-session-list.js +82 -0
  705. package/neural-interface/lib/claude-session-ops.js +140 -0
  706. package/neural-interface/lib/claude-settings-view.js +51 -0
  707. package/neural-interface/lib/claude-skin-connect.js +79 -0
  708. package/neural-interface/lib/claude-stall-policy.js +7 -0
  709. package/neural-interface/lib/claude-temporary.js +435 -0
  710. package/neural-interface/lib/cli-update-planner.js +312 -0
  711. package/neural-interface/lib/codex-capabilities.d.ts +41 -0
  712. package/neural-interface/lib/codex-capabilities.js +148 -0
  713. package/neural-interface/lib/codex-collaboration-mode.js +17 -0
  714. package/neural-interface/lib/codex-compat-rpc.js +241 -0
  715. package/neural-interface/lib/codex-mcp-approvals.js +56 -0
  716. package/neural-interface/lib/codex-mcp-apps.js +47 -0
  717. package/neural-interface/lib/codex-model-context.js +202 -0
  718. package/neural-interface/lib/codex-plan-store.js +71 -0
  719. package/neural-interface/lib/codex-request-journal.js +242 -0
  720. package/neural-interface/lib/codex-runtime-path.js +213 -0
  721. package/neural-interface/lib/codex-session-catalog.js +231 -0
  722. package/neural-interface/lib/codex-session-settings.js +46 -0
  723. package/neural-interface/lib/codex-sidepanel-permissions.js +110 -0
  724. package/neural-interface/lib/codex-thread-history.js +165 -0
  725. package/neural-interface/lib/codex-user-verification.js +34 -0
  726. package/neural-interface/lib/codex-writer-lifecycle.js +152 -0
  727. package/neural-interface/lib/confined-fs.js +256 -0
  728. package/neural-interface/lib/db.js +922 -0
  729. package/neural-interface/lib/design-md.js +9 -0
  730. package/neural-interface/lib/desktop/api.js +92 -0
  731. package/neural-interface/lib/desktop/audit.js +62 -0
  732. package/neural-interface/lib/desktop/build.js +423 -0
  733. package/neural-interface/lib/desktop/config.js +606 -0
  734. package/neural-interface/lib/desktop/coords.js +76 -0
  735. package/neural-interface/lib/desktop/fake-helper.js +1192 -0
  736. package/neural-interface/lib/desktop/frames.js +77 -0
  737. package/neural-interface/lib/desktop/grants.js +84 -0
  738. package/neural-interface/lib/desktop/guards.js +170 -0
  739. package/neural-interface/lib/desktop/helper/SynabunDesktop.swift +3056 -0
  740. package/neural-interface/lib/desktop/lease.js +51 -0
  741. package/neural-interface/lib/desktop/manager.js +545 -0
  742. package/neural-interface/lib/desktop/press-contexts.js +103 -0
  743. package/neural-interface/lib/desktop/protocol.js +495 -0
  744. package/neural-interface/lib/desktop/service.js +1202 -0
  745. package/neural-interface/lib/effort-levels.js +148 -0
  746. package/neural-interface/lib/event-loop-monitor.js +67 -0
  747. package/neural-interface/lib/exec-loop-command.js +209 -0
  748. package/neural-interface/lib/folder-picker.ps1 +77 -0
  749. package/neural-interface/lib/http-guards.js +287 -0
  750. package/neural-interface/lib/jsonl-lines.js +94 -0
  751. package/neural-interface/lib/loop-logger.js +127 -0
  752. package/neural-interface/lib/mcp-client-config.js +133 -0
  753. package/neural-interface/lib/mcp-installer.js +487 -0
  754. package/neural-interface/lib/mcp-profile-refresh-coordinator.js +78 -0
  755. package/neural-interface/lib/mcp-profile-servers.js +120 -0
  756. package/neural-interface/lib/memo-cache.js +84 -0
  757. package/neural-interface/lib/memory-api.js +758 -0
  758. package/neural-interface/lib/memory-map-api.js +1150 -0
  759. package/neural-interface/lib/memory-map-layout.js +872 -0
  760. package/neural-interface/lib/memory-map-worker.js +165 -0
  761. package/neural-interface/lib/memory-session-capture.js +81 -0
  762. package/neural-interface/lib/memory-timers.js +62 -0
  763. package/neural-interface/lib/morelogin.js +301 -0
  764. package/neural-interface/lib/native-binary-runtime.js +650 -0
  765. package/neural-interface/lib/native-loop-goal.js +33 -0
  766. package/neural-interface/lib/native-loop-providers.js +1016 -0
  767. package/neural-interface/lib/native-loop-runtime.js +747 -0
  768. package/neural-interface/lib/opencode-hidden-models.js +113 -0
  769. package/neural-interface/lib/opencode-history.js +253 -0
  770. package/neural-interface/lib/opencode-runtime-config.js +58 -0
  771. package/neural-interface/lib/opencode-v2-client.js +486 -0
  772. package/neural-interface/lib/opencode-v2-ws-requests.js +955 -0
  773. package/neural-interface/lib/path-confine.js +213 -0
  774. package/neural-interface/lib/plugin-installer.js +264 -0
  775. package/neural-interface/lib/project-storage.js +766 -0
  776. package/neural-interface/lib/pty-host/core.js +603 -0
  777. package/neural-interface/lib/pty-host/flow.js +43 -0
  778. package/neural-interface/lib/pty-host/host.js +47 -0
  779. package/neural-interface/lib/pty-host/manager.js +360 -0
  780. package/neural-interface/lib/pty-host/protocol.js +81 -0
  781. package/neural-interface/lib/pty-host/snapshot.js +133 -0
  782. package/neural-interface/lib/remote-policy.js +582 -0
  783. package/neural-interface/lib/rulesets/api.js +175 -0
  784. package/neural-interface/lib/rulesets/fs-safe.js +245 -0
  785. package/neural-interface/lib/rulesets/installer.js +1453 -0
  786. package/neural-interface/lib/rulesets/json-edit.js +186 -0
  787. package/neural-interface/lib/rulesets/lock.js +170 -0
  788. package/neural-interface/lib/rulesets/managed-text.js +314 -0
  789. package/neural-interface/lib/rulesets/normalise.js +24 -0
  790. package/neural-interface/lib/rulesets/render.js +84 -0
  791. package/neural-interface/lib/schedule-launch-intent.js +40 -0
  792. package/neural-interface/lib/session-cache-builder.js +524 -0
  793. package/neural-interface/lib/session-chunker.js +344 -0
  794. package/neural-interface/lib/session-indexer.js +327 -0
  795. package/neural-interface/lib/session-title-generator.js +227 -0
  796. package/neural-interface/lib/skill-prompt-bridge.js +11 -0
  797. package/neural-interface/lib/style-guide/api.js +375 -0
  798. package/neural-interface/lib/style-guide/color.js +352 -0
  799. package/neural-interface/lib/style-guide/export-css.js +99 -0
  800. package/neural-interface/lib/style-guide/export-dtcg.js +209 -0
  801. package/neural-interface/lib/style-guide/export-tailwind.js +102 -0
  802. package/neural-interface/lib/style-guide/fonts.json +227 -0
  803. package/neural-interface/lib/style-guide/import.js +1268 -0
  804. package/neural-interface/lib/style-guide/pointers.js +103 -0
  805. package/neural-interface/lib/style-guide/presets.js +232 -0
  806. package/neural-interface/lib/style-guide/render-design-md.js +319 -0
  807. package/neural-interface/lib/style-guide/schema.js +848 -0
  808. package/neural-interface/lib/style-guide/security.js +43 -0
  809. package/neural-interface/lib/style-guide/store.js +491 -0
  810. package/neural-interface/lib/style-guide/summary.js +106 -0
  811. package/neural-interface/lib/style-guide/tokens.js +170 -0
  812. package/neural-interface/lib/synabun-update-plan.js +305 -0
  813. package/neural-interface/lib/synabun-version.js +179 -0
  814. package/neural-interface/lib/system-restore.js +99 -0
  815. package/neural-interface/lib/terminal-env.js +86 -0
  816. package/neural-interface/lib/ui-blob-store.js +106 -0
  817. package/neural-interface/lib/vector-cache.js +2 -0
  818. package/neural-interface/lib/virtual-socket.js +60 -0
  819. package/neural-interface/lib/whatsapp/api.js +146 -0
  820. package/neural-interface/lib/whatsapp/auth-store.js +389 -0
  821. package/neural-interface/lib/whatsapp/baileys-adapter.js +457 -0
  822. package/neural-interface/lib/whatsapp/brain.js +128 -0
  823. package/neural-interface/lib/whatsapp/bridge.js +1499 -0
  824. package/neural-interface/lib/whatsapp/cards.js +519 -0
  825. package/neural-interface/lib/whatsapp/commands.js +92 -0
  826. package/neural-interface/lib/whatsapp/config.js +291 -0
  827. package/neural-interface/lib/whatsapp/connector/entry.mjs +25 -0
  828. package/neural-interface/lib/whatsapp/connector/manifest.json +6 -0
  829. package/neural-interface/lib/whatsapp/connector/npm-shrinkwrap.json +717 -0
  830. package/neural-interface/lib/whatsapp/connector/package.json +8 -0
  831. package/neural-interface/lib/whatsapp/fake-baileys.js +444 -0
  832. package/neural-interface/lib/whatsapp/format.js +552 -0
  833. package/neural-interface/lib/whatsapp/host-core.js +1225 -0
  834. package/neural-interface/lib/whatsapp/host.js +119 -0
  835. package/neural-interface/lib/whatsapp/identity.js +288 -0
  836. package/neural-interface/lib/whatsapp/inbound.js +149 -0
  837. package/neural-interface/lib/whatsapp/installer.js +562 -0
  838. package/neural-interface/lib/whatsapp/manager.js +638 -0
  839. package/neural-interface/lib/whatsapp/paths.js +81 -0
  840. package/neural-interface/lib/whatsapp/protocol.js +327 -0
  841. package/neural-interface/lib/whatsapp/qr-svg.js +57 -0
  842. package/neural-interface/lib/whatsapp/redact.js +130 -0
  843. package/neural-interface/lib/whatsapp/service.js +1305 -0
  844. package/neural-interface/lib/whatsapp/vendor/qrcodegen.js +848 -0
  845. package/neural-interface/package-lock.json +4682 -0
  846. package/neural-interface/package.json +58 -27
  847. package/neural-interface/public/apple-touch-icon.png +0 -0
  848. package/neural-interface/public/category-logos/synabun.png +0 -0
  849. package/neural-interface/public/claude.svg +1 -0
  850. package/neural-interface/public/favicon-16x16.png +0 -0
  851. package/neural-interface/public/favicon-32x32.png +0 -0
  852. package/neural-interface/public/icon-192.png +0 -0
  853. package/neural-interface/public/icon-512.png +0 -0
  854. package/neural-interface/public/index.html +32 -182
  855. package/neural-interface/public/index2d.html +2 -2
  856. package/neural-interface/public/logo-synabun.png +0 -0
  857. package/neural-interface/public/logoHD.png +0 -0
  858. package/neural-interface/public/mcp.svg +4 -0
  859. package/neural-interface/public/offline.html +335 -299
  860. package/neural-interface/public/onboarding.html +692 -155
  861. package/neural-interface/public/opencode-logo-dark-square.svg +1 -0
  862. package/neural-interface/public/shared/agent-runtime-options.js +596 -0
  863. package/neural-interface/public/shared/api.js +339 -28
  864. package/neural-interface/public/shared/assistant/asst-accounts.js +318 -0
  865. package/neural-interface/public/shared/assistant/asst-agents-dock.js +296 -0
  866. package/neural-interface/public/shared/assistant/asst-api.js +270 -0
  867. package/neural-interface/public/shared/assistant/asst-brain-picker.js +744 -0
  868. package/neural-interface/public/shared/assistant/asst-budget.js +333 -0
  869. package/neural-interface/public/shared/assistant/asst-composer.js +656 -0
  870. package/neural-interface/public/shared/assistant/asst-computer.js +803 -0
  871. package/neural-interface/public/shared/assistant/asst-control.js +1018 -0
  872. package/neural-interface/public/shared/assistant/asst-hosts.js +262 -0
  873. package/neural-interface/public/shared/assistant/asst-mascot.js +311 -0
  874. package/neural-interface/public/shared/assistant/asst-menu.js +375 -0
  875. package/neural-interface/public/shared/assistant/asst-panel.js +1845 -0
  876. package/neural-interface/public/shared/assistant/asst-rack-styles.js +589 -0
  877. package/neural-interface/public/shared/assistant/asst-render.js +3296 -0
  878. package/neural-interface/public/shared/assistant/asst-route.js +1653 -0
  879. package/neural-interface/public/shared/assistant/asst-roving.js +75 -0
  880. package/neural-interface/public/shared/assistant/asst-sanitize.js +117 -0
  881. package/neural-interface/public/shared/assistant/asst-sidepanel-styles.js +488 -0
  882. package/neural-interface/public/shared/assistant/asst-sidepanel.js +675 -0
  883. package/neural-interface/public/shared/assistant/asst-slash.js +258 -0
  884. package/neural-interface/public/shared/assistant/asst-state.js +727 -0
  885. package/neural-interface/public/shared/assistant/asst-styles.js +1684 -0
  886. package/neural-interface/public/shared/assistant/asst-tool-kinds.js +1017 -0
  887. package/neural-interface/public/shared/assistant/asst-usage.js +444 -0
  888. package/neural-interface/public/shared/assistant/asst-ws.js +175 -0
  889. package/neural-interface/public/shared/automation-context.js +75 -0
  890. package/neural-interface/public/shared/blob-store.js +99 -0
  891. package/neural-interface/public/shared/cdx/cdx-capabilities.js +118 -0
  892. package/neural-interface/public/shared/cdx/cdx-cards.js +37 -0
  893. package/neural-interface/public/shared/cdx/cdx-commands.js +171 -0
  894. package/neural-interface/public/shared/cdx/cdx-context-menu.js +402 -0
  895. package/neural-interface/public/shared/cdx/cdx-context-model.js +220 -0
  896. package/neural-interface/public/shared/cdx/cdx-features.js +408 -0
  897. package/neural-interface/public/shared/cdx/cdx-icons.js +89 -0
  898. package/neural-interface/public/shared/cdx/cdx-mcp-app-host.js +414 -0
  899. package/neural-interface/public/shared/cdx/cdx-mcp-app-proxy.html +6 -0
  900. package/neural-interface/public/shared/cdx/cdx-mcp-app-proxy.js +56 -0
  901. package/neural-interface/public/shared/cdx/cdx-mcp-app.js +178 -0
  902. package/neural-interface/public/shared/cdx/cdx-model-catalog.js +120 -0
  903. package/neural-interface/public/shared/cdx/cdx-output-model.js +261 -0
  904. package/neural-interface/public/shared/cdx/cdx-output.js +382 -0
  905. package/neural-interface/public/shared/cdx/cdx-panel.js +1372 -0
  906. package/neural-interface/public/shared/cdx/cdx-plan.js +266 -0
  907. package/neural-interface/public/shared/cdx/cdx-protocol.js +682 -0
  908. package/neural-interface/public/shared/cdx/cdx-render.js +3381 -0
  909. package/neural-interface/public/shared/cdx/cdx-requests.js +1136 -0
  910. package/neural-interface/public/shared/cdx/cdx-styles.js +3251 -0
  911. package/neural-interface/public/shared/cdx/cdx-tabs.js +7992 -0
  912. package/neural-interface/public/shared/cdx/cdx-ws.js +363 -0
  913. package/neural-interface/public/shared/cli-status.js +169 -0
  914. package/neural-interface/public/shared/constants.js +22 -5
  915. package/neural-interface/public/shared/cp/cp-agents.js +186 -0
  916. package/neural-interface/public/shared/cp/cp-bash.js +252 -0
  917. package/neural-interface/public/shared/cp/cp-compose.js +159 -0
  918. package/neural-interface/public/shared/cp/cp-context-menu.js +309 -0
  919. package/neural-interface/public/shared/cp/cp-context-model.js +157 -0
  920. package/neural-interface/public/shared/cp/cp-context-window.js +80 -0
  921. package/neural-interface/public/shared/cp/cp-ctx.js +11 -0
  922. package/neural-interface/public/shared/cp/cp-diff.js +255 -0
  923. package/neural-interface/public/shared/cp/cp-event-rows.js +637 -0
  924. package/neural-interface/public/shared/cp/cp-events.js +846 -0
  925. package/neural-interface/public/shared/cp/cp-markdown.js +104 -0
  926. package/neural-interface/public/shared/cp/cp-permission-model.js +905 -0
  927. package/neural-interface/public/shared/cp/cp-permissions.js +626 -0
  928. package/neural-interface/public/shared/cp/cp-rehydrate.js +113 -0
  929. package/neural-interface/public/shared/cp/cp-restore.js +224 -0
  930. package/neural-interface/public/shared/cp/cp-session-model.js +338 -0
  931. package/neural-interface/public/shared/cp/cp-session-settings.js +254 -0
  932. package/neural-interface/public/shared/cp/cp-sessions.js +227 -0
  933. package/neural-interface/public/shared/cp/cp-statusline.js +153 -0
  934. package/neural-interface/public/shared/cp/cp-styles.js +349 -0
  935. package/neural-interface/public/shared/cp/cp-tasks-model.js +282 -0
  936. package/neural-interface/public/shared/cp/cp-tasks.js +107 -0
  937. package/neural-interface/public/shared/cp/cp-temporary-view.js +56 -0
  938. package/neural-interface/public/shared/cp/cp-temporary.js +231 -0
  939. package/neural-interface/public/shared/cp/cp-tool-cards.js +326 -0
  940. package/neural-interface/public/shared/cp/cp-tool-results.js +618 -0
  941. package/neural-interface/public/shared/cp/cp-usage-model.js +124 -0
  942. package/neural-interface/public/shared/graph-activity.js +68 -0
  943. package/neural-interface/public/shared/html-shell.js +107 -12
  944. package/neural-interface/public/shared/i18n.js +132 -34
  945. package/neural-interface/public/shared/node-positions-store.js +44 -0
  946. package/neural-interface/public/shared/ocp-hidden-models.js +116 -0
  947. package/neural-interface/public/shared/ocp-v2/ocp-v2-approvals.js +355 -0
  948. package/neural-interface/public/shared/ocp-v2/ocp-v2-autoaccept-button.js +35 -0
  949. package/neural-interface/public/shared/ocp-v2/ocp-v2-automation-ownership.js +72 -0
  950. package/neural-interface/public/shared/ocp-v2/ocp-v2-binding.js +280 -0
  951. package/neural-interface/public/shared/ocp-v2/ocp-v2-caps.js +67 -0
  952. package/neural-interface/public/shared/ocp-v2/ocp-v2-changes-logic.js +179 -0
  953. package/neural-interface/public/shared/ocp-v2/ocp-v2-changes.js +164 -0
  954. package/neural-interface/public/shared/ocp-v2/ocp-v2-childpanel.js +725 -0
  955. package/neural-interface/public/shared/ocp-v2/ocp-v2-compact-button.js +75 -0
  956. package/neural-interface/public/shared/ocp-v2/ocp-v2-composer-logic.js +1204 -0
  957. package/neural-interface/public/shared/ocp-v2/ocp-v2-confirm-logic.js +117 -0
  958. package/neural-interface/public/shared/ocp-v2/ocp-v2-confirm.js +59 -0
  959. package/neural-interface/public/shared/ocp-v2/ocp-v2-context-gauge.js +252 -0
  960. package/neural-interface/public/shared/ocp-v2/ocp-v2-context-menu.js +478 -0
  961. package/neural-interface/public/shared/ocp-v2/ocp-v2-context-model.js +179 -0
  962. package/neural-interface/public/shared/ocp-v2/ocp-v2-events.js +233 -0
  963. package/neural-interface/public/shared/ocp-v2/ocp-v2-icons.js +30 -0
  964. package/neural-interface/public/shared/ocp-v2/ocp-v2-manager.js +1065 -0
  965. package/neural-interface/public/shared/ocp-v2/ocp-v2-mention-hints.js +182 -0
  966. package/neural-interface/public/shared/ocp-v2/ocp-v2-modelpicker.js +655 -0
  967. package/neural-interface/public/shared/ocp-v2/ocp-v2-panel.js +2636 -0
  968. package/neural-interface/public/shared/ocp-v2/ocp-v2-plan.js +601 -0
  969. package/neural-interface/public/shared/ocp-v2/ocp-v2-profile-inheritance.js +78 -0
  970. package/neural-interface/public/shared/ocp-v2/ocp-v2-projectbar.js +649 -0
  971. package/neural-interface/public/shared/ocp-v2/ocp-v2-providers.js +35 -0
  972. package/neural-interface/public/shared/ocp-v2/ocp-v2-rehydrate.js +357 -0
  973. package/neural-interface/public/shared/ocp-v2/ocp-v2-render-logic.js +189 -0
  974. package/neural-interface/public/shared/ocp-v2/ocp-v2-render.js +1869 -0
  975. package/neural-interface/public/shared/ocp-v2/ocp-v2-select.js +42 -0
  976. package/neural-interface/public/shared/ocp-v2/ocp-v2-send-logic.js +117 -0
  977. package/neural-interface/public/shared/ocp-v2/ocp-v2-send.js +1714 -0
  978. package/neural-interface/public/shared/ocp-v2/ocp-v2-session-actions.js +468 -0
  979. package/neural-interface/public/shared/ocp-v2/ocp-v2-session-widgets.js +63 -0
  980. package/neural-interface/public/shared/ocp-v2/ocp-v2-sessions-logic.js +366 -0
  981. package/neural-interface/public/shared/ocp-v2/ocp-v2-settings-link.js +19 -0
  982. package/neural-interface/public/shared/ocp-v2/ocp-v2-slash-hints.js +343 -0
  983. package/neural-interface/public/shared/ocp-v2/ocp-v2-state.js +746 -0
  984. package/neural-interface/public/shared/ocp-v2/ocp-v2-status-logic.js +347 -0
  985. package/neural-interface/public/shared/ocp-v2/ocp-v2-status.js +338 -0
  986. package/neural-interface/public/shared/ocp-v2/ocp-v2-styles.js +3543 -0
  987. package/neural-interface/public/shared/ocp-v2/ocp-v2-subagents-logic.js +482 -0
  988. package/neural-interface/public/shared/ocp-v2/ocp-v2-tools-logic.js +351 -0
  989. package/neural-interface/public/shared/ocp-v2/ocp-v2-tools.js +168 -0
  990. package/neural-interface/public/shared/ocp-v2/ocp-v2-variantpicker.js +315 -0
  991. package/neural-interface/public/shared/ocp-v2/ocp-v2-ws.js +545 -0
  992. package/neural-interface/public/shared/provider-icons.js +30 -0
  993. package/neural-interface/public/shared/session-title.js +100 -0
  994. package/neural-interface/public/shared/settings/settings-ia.js +389 -0
  995. package/neural-interface/public/shared/settings/settings-kit.js +234 -0
  996. package/neural-interface/public/shared/settings/settings-search.js +463 -0
  997. package/neural-interface/public/shared/settings/settings-shell.js +570 -0
  998. package/neural-interface/public/shared/state.js +5 -0
  999. package/neural-interface/public/shared/storage.js +50 -7
  1000. package/neural-interface/public/shared/styleguide/sg-agents.js +42 -0
  1001. package/neural-interface/public/shared/styleguide/sg-brand.js +4 -0
  1002. package/neural-interface/public/shared/styleguide/sg-color-client.js +388 -0
  1003. package/neural-interface/public/shared/styleguide/sg-colors.js +148 -0
  1004. package/neural-interface/public/shared/styleguide/sg-components.js +35 -0
  1005. package/neural-interface/public/shared/styleguide/sg-history.js +41 -0
  1006. package/neural-interface/public/shared/styleguide/sg-icons-logo.js +38 -0
  1007. package/neural-interface/public/shared/styleguide/sg-imagery.js +4 -0
  1008. package/neural-interface/public/shared/styleguide/sg-import-export.js +47 -0
  1009. package/neural-interface/public/shared/styleguide/sg-kit.js +281 -0
  1010. package/neural-interface/public/shared/styleguide/sg-labels.js +318 -0
  1011. package/neural-interface/public/shared/styleguide/sg-layout.js +4 -0
  1012. package/neural-interface/public/shared/styleguide/sg-motion.js +5 -0
  1013. package/neural-interface/public/shared/styleguide/sg-panel.js +229 -0
  1014. package/neural-interface/public/shared/styleguide/sg-preview.js +138 -0
  1015. package/neural-interface/public/shared/styleguide/sg-rules.js +9 -0
  1016. package/neural-interface/public/shared/styleguide/sg-shape.js +24 -0
  1017. package/neural-interface/public/shared/styleguide/sg-state.js +132 -0
  1018. package/neural-interface/public/shared/styleguide/sg-typography.js +124 -0
  1019. package/neural-interface/public/shared/styles.css +7883 -1155
  1020. package/neural-interface/public/shared/synabun-mascot.js +1625 -0
  1021. package/neural-interface/public/shared/synabun-ticker.js +376 -0
  1022. package/neural-interface/public/shared/term-renderer.js +343 -0
  1023. package/neural-interface/public/shared/ui-assistant-panel.js +10 -0
  1024. package/neural-interface/public/shared/ui-assistant.js +77 -0
  1025. package/neural-interface/public/shared/ui-automation-studio.js +5105 -3573
  1026. package/neural-interface/public/shared/ui-claude-panel.js +11685 -6333
  1027. package/neural-interface/public/shared/ui-codex-panel.js +12 -0
  1028. package/neural-interface/public/shared/ui-cost-widget.js +55 -34
  1029. package/neural-interface/public/shared/ui-detail.js +77 -14
  1030. package/neural-interface/public/shared/ui-explorer.js +360 -181
  1031. package/neural-interface/public/shared/ui-file-explorer.js +485 -107
  1032. package/neural-interface/public/shared/ui-help.js +2 -2
  1033. package/neural-interface/public/shared/ui-image-gallery.js +45 -21
  1034. package/neural-interface/public/shared/ui-judgments.js +1346 -0
  1035. package/neural-interface/public/shared/ui-keybinds.js +3 -2
  1036. package/neural-interface/public/shared/ui-link.js +105 -51
  1037. package/neural-interface/public/shared/ui-loading.js +4 -4
  1038. package/neural-interface/public/shared/ui-memory-maintenance.js +111 -0
  1039. package/neural-interface/public/shared/ui-menubar.js +89 -4
  1040. package/neural-interface/public/shared/ui-native-loop-router-state.js +94 -0
  1041. package/neural-interface/public/shared/ui-native-loop-router.js +493 -0
  1042. package/neural-interface/public/shared/ui-native-window-id.js +7 -0
  1043. package/neural-interface/public/shared/ui-navbar.js +357 -222
  1044. package/neural-interface/public/shared/ui-notifications.js +58 -12
  1045. package/neural-interface/public/shared/ui-opencode-panel-v2.js +17 -0
  1046. package/neural-interface/public/shared/ui-panels.js +15 -7
  1047. package/neural-interface/public/shared/ui-resume.js +823 -653
  1048. package/neural-interface/public/shared/ui-schedule-queue.js +172 -0
  1049. package/neural-interface/public/shared/ui-schedules-studio.js +1882 -0
  1050. package/neural-interface/public/shared/ui-scroll-follow.js +194 -0
  1051. package/neural-interface/public/shared/ui-sessions.js +789 -34
  1052. package/neural-interface/public/shared/ui-settings.js +5793 -2190
  1053. package/neural-interface/public/shared/ui-sidepanel-layout.js +109 -0
  1054. package/neural-interface/public/shared/ui-sidepanel-runtime.js +19 -0
  1055. package/neural-interface/public/shared/ui-sidepanel-session-entry.js +40 -0
  1056. package/neural-interface/public/shared/ui-sidepanel-sessions.js +221 -0
  1057. package/neural-interface/public/shared/ui-sidepanel-state.js +131 -0
  1058. package/neural-interface/public/shared/ui-sidepanel-tray.js +547 -0
  1059. package/neural-interface/public/shared/ui-sidepanel-windows.js +387 -0
  1060. package/neural-interface/public/shared/ui-skills.js +18 -32
  1061. package/neural-interface/public/shared/ui-styleguide.js +35 -0
  1062. package/neural-interface/public/shared/ui-sync.js +87 -0
  1063. package/neural-interface/public/shared/ui-terminal.js +7877 -6385
  1064. package/neural-interface/public/shared/ui-tool-updates.js +292 -0
  1065. package/neural-interface/public/shared/ui-tooltip.js +156 -15
  1066. package/neural-interface/public/shared/ui-tutorial-draw.js +119 -683
  1067. package/neural-interface/public/shared/ui-tutorial-layout.js +135 -0
  1068. package/neural-interface/public/shared/ui-tutorial-steps.js +59 -2209
  1069. package/neural-interface/public/shared/ui-tutorial.css +102 -0
  1070. package/neural-interface/public/shared/ui-tutorial.js +557 -1076
  1071. package/neural-interface/public/shared/ui-update.js +420 -68
  1072. package/neural-interface/public/shared/ui-whatsapp.js +941 -0
  1073. package/neural-interface/public/shared/ui-whiteboard.js +1076 -233
  1074. package/neural-interface/public/shared/ui-workspaces.js +2 -1
  1075. package/neural-interface/public/shared/utils.js +58 -0
  1076. package/neural-interface/public/shared/vterm-buffer.js +15 -5
  1077. package/neural-interface/public/shared/whatsapp/wa-phone.js +65 -0
  1078. package/neural-interface/public/shared/whatsapp/wa-view.js +411 -0
  1079. package/neural-interface/public/sidepanel-session.html +18 -0
  1080. package/neural-interface/public/sw.js +8 -2
  1081. package/neural-interface/public/synabun.png +0 -0
  1082. package/neural-interface/public/variant/2d/graph.js +1707 -1635
  1083. package/neural-interface/public/variant/2d/lasso.js +2 -1
  1084. package/neural-interface/public/variant/2d/layout.js +595 -594
  1085. package/neural-interface/public/variant/2d/main.js +556 -521
  1086. package/neural-interface/public/variant/2d/settings-gfx.js +18 -24
  1087. package/neural-interface/public/variant/3d/main.js +516 -500
  1088. package/neural-interface/public/variant/3d/map-controls.js +144 -0
  1089. package/neural-interface/public/variant/3d/map-data.js +251 -0
  1090. package/neural-interface/public/variant/3d/map-labels.js +241 -0
  1091. package/neural-interface/public/variant/3d/map-pick.js +90 -0
  1092. package/neural-interface/public/variant/3d/map-renderer.js +521 -0
  1093. package/neural-interface/public/variant/3d/map-shaders.js +158 -0
  1094. package/neural-interface/public/variant/3d/map-view.js +618 -0
  1095. package/neural-interface/public/vendor/three/manifest.json +3 -0
  1096. package/neural-interface/public/vendor/three/three-0.169.0.min.js +3844 -0
  1097. package/neural-interface/public/vendor/xterm/manifest.json +3 -0
  1098. package/neural-interface/public/vendor/xterm/xterm-6.0.0.css +285 -0
  1099. package/neural-interface/public/vendor/xterm/xterm-6.0.0.min.js +192 -0
  1100. package/neural-interface/scripts/build-vendor.mjs +64 -0
  1101. package/neural-interface/scripts/codex-protocol-fixture.mjs +83 -0
  1102. package/neural-interface/scripts/rebuild-pty.js +37 -23
  1103. package/neural-interface/scripts/vendor-three-entry.js +24 -0
  1104. package/neural-interface/scripts/vendor-xterm-entry.js +8 -0
  1105. package/neural-interface/server.js +33948 -15000
  1106. package/neural-interface/skins/default/skin.css +90 -0
  1107. package/neural-interface/skins/default/skin.json +8 -0
  1108. package/neural-interface/templates/rulesets/README.md +9 -0
  1109. package/neural-interface/templates/rulesets/claude.md +3 -0
  1110. package/neural-interface/templates/rulesets/codex.md +2 -0
  1111. package/neural-interface/templates/rulesets/coexistence.md +6 -0
  1112. package/neural-interface/templates/rulesets/core.md +26 -0
  1113. package/neural-interface/templates/rulesets/cursor.md +2 -0
  1114. package/neural-interface/templates/rulesets/gemini.md +2 -0
  1115. package/neural-interface/templates/rulesets/legacy-hashes.json +227 -0
  1116. package/neural-interface/templates/rulesets/manifest.json +12 -0
  1117. package/neural-interface/templates/rulesets/opencode.md +2 -0
  1118. package/package.json +119 -53
  1119. package/postinstall.js +125 -26
  1120. package/preuninstall.js +187 -0
  1121. package/scripts/audit-claude-hook-usage.mjs +12 -0
  1122. package/scripts/audit-memory-duplicates.mjs +44 -0
  1123. package/scripts/measure-claude-hook-overhead.mjs +77 -0
  1124. package/scripts/recover-user-config.mjs +254 -0
  1125. package/scripts/restore-data-home-from-backup.mjs +239 -0
  1126. package/setup.js +804 -260
  1127. package/skills/leonardo/SKILL.md +19 -10
  1128. package/skills/leonardo/modules/image-prompter.md +18 -12
  1129. package/skills/leonardo/modules/video-prompter.md +19 -13
  1130. package/skills/synabun/SKILL.md +209 -185
  1131. package/skills/synabun/icon.png +0 -0
  1132. package/skills/synabun/modules/audit.md +380 -374
  1133. package/skills/synabun/modules/changelog.md +15 -6
  1134. package/skills/synabun/modules/idea.md +148 -144
  1135. package/skills/synabun/modules/memorize.md +13 -4
  1136. package/skills/synabun/modules/schedule.md +198 -0
  1137. package/skills/synabun/synabunicon.png +0 -0
  1138. package/updater.cmd +31 -0
  1139. package/updater.mjs +382 -0
  1140. package/updater.sh +29 -0
  1141. package/hooks/claude-code/test-user-learning.mjs +0 -531
  1142. package/neural-interface/public/claude-chat.css +0 -878
  1143. package/neural-interface/public/claude-chat.html +0 -92
  1144. package/neural-interface/public/claude-chat.js +0 -1168
  1145. package/neural-interface/public/index-legacy.html +0 -14677
  1146. package/neural-interface/public/index2d-legacy.html +0 -8193
  1147. package/neural-interface/public/shared/html-term-renderer.js +0 -1022
  1148. package/neural-interface/public/variant/3d/background.js +0 -884
  1149. package/neural-interface/public/variant/3d/camera.js +0 -661
  1150. package/neural-interface/public/variant/3d/gfx.js +0 -116
  1151. package/neural-interface/public/variant/3d/graph.js +0 -2399
  1152. package/neural-interface/public/variant/3d/settings-gfx.js +0 -228
  1153. package/neural-interface/templates/CLAUDE-template.md +0 -211
package/README.md CHANGED
@@ -1,853 +1,175 @@
1
- <p align="center">
2
- <img src="public/synabun.png" alt="SynaBun" width="120" />
3
- </p>
4
-
5
- <h1 align="center">SynaBun</h1>
6
-
7
- <p align="center">
8
- Persistent vector memory for AI assistants — powered by SQLite and local embeddings.
9
- </p>
10
-
11
- <p align="center">
12
- <a href="https://discord.gg/x6yWqE9GZP"><img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Discord" /></a>
13
- <a href="https://x.com/SynabunAI"><img src="https://img.shields.io/badge/Follow-%40SynabunAI-000000?logo=x&logoColor=white" alt="X / Twitter" /></a>
14
- <img src="https://img.shields.io/badge/Node.js-22%2B-339933?logo=nodedotjs&logoColor=white" alt="Node.js 22+" />
15
- <img src="https://img.shields.io/badge/MCP-Protocol-8B5CF6" alt="MCP Protocol" />
16
- <img src="https://img.shields.io/badge/SQLite-Database-003B57?logo=sqlite&logoColor=white" alt="SQLite" />
17
- </p>
18
-
19
- <p align="center">
20
- <a href="https://synabun.ai">synabun.ai</a>
21
- </p>
22
-
23
- ---
24
-
25
- Any Claude Code instance (or MCP-compatible AI tool) can connect to SynaBun and retain knowledge across sessions through semantic vector search. Memories are stored in a local SQLite database with built-in vector search — no external services, no API keys, no Docker.
26
-
27
- ## Screenshots
28
-
29
- <table>
30
- <tr>
31
- <td align="center" width="50%">
32
- <strong>Neural Interface</strong><br><br>
33
- <img src="docs/screenshots/neural-interface.png" alt="3D memory graph visualization" width="100%" />
34
- <br><em>Interactive 3D force-directed graph — memories as nodes, relationships as edges</em>
35
- </td>
36
- <td align="center" width="50%">
37
- <strong>Claude Code Skin</strong><br><br>
38
- <img src="docs/screenshots/claude-code-skin.png" alt="Claude Code side panel skin" width="100%" />
39
- <br><em>Side panel UI for browsing and managing memories alongside your editor</em>
40
- </td>
41
- </tr>
42
- <tr>
43
- <td align="center" width="50%">
44
- <strong>Terminal & Editor</strong><br><br>
45
- <img src="docs/screenshots/terminal-editor.png" alt="Claude Code terminal with memory tools" width="100%" />
46
- <br><em>Memory tools running directly in your terminal alongside code</em>
47
- </td>
48
- <td align="center" width="50%">
49
- <strong>Automation Studio</strong><br><br>
50
- <img src="docs/screenshots/automation-studio.png" alt="Automation studio for background tasks" width="100%" />
51
- <br><em>Autonomous background loops — set a task and let it run</em>
52
- </td>
53
- </tr>
54
- </table>
55
-
56
- ## Features
57
-
58
- - **Semantic Search** — find memories by meaning, not keywords, using cosine similarity
59
- - **Multi-Project** — single collection serves all projects with automatic project detection and cross-project recall
60
- - **Smart Relevance** — time decay (90-day half-life), project boost (1.2x), and access frequency scoring
61
- - **User-Defined Categories** — hierarchical categories with prescriptive routing descriptions; dynamic schema refresh without server restart
62
- - **Neural Interface** — interactive 3D force-directed graph visualization at `localhost:3344`
63
- - **Local Embeddings** — built-in Transformers.js (`all-MiniLM-L6-v2`, 384 dims) — no API key or internet needed after first run
64
- - **Onboarding Wizard** — guided setup through the Neural Interface UI
65
- - **Trash & Restore** — soft-delete with full restore capability; trash management via Neural Interface
66
- - **Memory Sync** — SHA-256 file hash tracking detects when related source files change, flagging stale memories
67
- - **OpenClaw Bridge** — read-only integration overlays OpenClaw workspace memories as ephemeral nodes in the 3D graph
68
- - **Category Logos** — upload custom logos for parent categories, rendered on sun nodes in the 3D visualization
69
- - **Backup & Restore** — export and import SQLite database snapshots via the Neural Interface
70
- - **Claude Code Hooks** — 7 lifecycle hooks automate memory recall, storage, and session indexing
71
- - **User Learning** — autonomous observation of user communication patterns, preferences, and behavioral singularity across sessions
72
- - **Claude Code `/synabun` Command** — single slash command hub with interactive menu for brainstorming, auditing, health checks, and memory search
73
- - **Leonardo AI Integration** — 4 browser-based MCP tools for AI image and video generation via Leonardo.ai — no API key needed, full UI automation via Playwright with the `/leonardo` skill for guided creation
74
-
75
- ## Table of Contents
76
-
77
- - [Screenshots](#screenshots)
78
- - [Quick Start](#quick-start)
79
- - [Architecture](#architecture)
80
- - [MCP Tools](#mcp-tools)
81
- - [Neural Interface](#neural-interface)
82
- - [Usage](#usage)
83
- - [Memory Categories](#memory-categories)
84
- - [Importance Scale](#importance-scale)
85
- - [How It Works](#how-it-works)
86
- - [Configuration](#configuration)
87
- - [Claude Code Hooks](#claude-code-hooks)
88
- - [Claude Code Skills](#claude-code-skills)
89
- - [CLAUDE.md Integration](#claudemd-integration)
90
- - [Multi-Project Support](#multi-project-support)
91
- - [Known Limitations](#known-limitations)
92
- - [Troubleshooting](#troubleshooting)
93
- - [Cost](#cost)
94
- - [File Structure](#file-structure)
95
- - [License](#license)
96
-
97
- ## Documentation
98
-
99
- | Document | Description |
100
- |----------|-------------|
101
- | **[Website Docs](https://synabun.ai/docs.html)** | Full documentation on synabun.ai |
102
- | **[README](./README.md)** | Quick start, architecture, configuration |
103
- | **[Usage Guide](./docs/usage-guide.md)** | Detailed usage patterns, tool quirks, best practices |
104
- | **[API Reference](./docs/api-reference.md)** | Neural Interface REST API (55+ endpoints) |
105
- | **[Hooks Guide](./docs/hooks.md)** | Claude Code hooks: 7 lifecycle hooks for memory automation |
106
- | **[Contributing](./CONTRIBUTING.md)** | Bug reports, feature requests, and forking guide |
107
- | **[Security](./SECURITY.md)** | Security model and vulnerability reporting |
108
- | **[Changelog](./CHANGELOG.md)** | Version history |
109
-
110
- **Contributions:** We welcome [bug reports and feature requests](https://github.com/ZaphreBR/synabun/issues). Pull requests are not accepted. See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
111
-
112
- ## Quick Start
113
-
114
- ### Prerequisites
115
-
116
- - Node.js 22.5+ (for built-in `node:sqlite`)
117
-
118
- No Docker, no API keys, no external services required.
119
-
120
- <details>
121
- <summary><strong>Optional: Build tools for terminal features</strong></summary>
122
-
123
- The Neural Interface includes an embedded terminal powered by `node-pty` (native addon). If build tools are missing, `npm install` will warn but continue — everything else works fine.
124
-
125
- | Platform | Install |
126
- |----------|---------|
127
- | macOS | `xcode-select --install` |
128
- | Linux | `sudo apt install build-essential python3` |
129
- | Windows | [VS Build Tools 2022](https://visualstudio.microsoft.com/visual-cpp-build-tools/) with "Desktop development with C++" |
130
-
131
- </details>
132
-
133
- ### Install via npm
134
-
135
- ```bash
136
- npm install -g synabun
137
- synabun
138
- ```
139
-
140
- ### Or clone from GitHub
141
-
142
- ```bash
143
- git clone https://github.com/danilokhury/Synabun.git
144
- cd Synabun
145
- npm start
146
- ```
147
-
148
- Either method will:
149
- 1. Check prerequisites (Node.js 22.5+)
150
- 2. Install all dependencies
151
- 3. Build the MCP server
152
- 4. Create the SQLite database (`data/memory.db`)
153
- 5. Download the embedding model (~23MB, cached permanently)
154
- 6. Launch the Neural Interface
155
- 7. Open the onboarding wizard in your browser
156
-
157
- <details>
158
- <summary><strong>Manual setup (advanced)</strong></summary>
159
-
160
- ### 1. Build the MCP server
161
-
162
- ```bash
163
- cd mcp-server
164
- npm install
165
- npm run build
166
- ```
167
-
168
- > **Note:** Always use `npm run build` (not `npx tsc`) — npx can install an unrelated `tsc` package instead of using the local TypeScript compiler.
169
-
170
- ### 2. Register with your AI tool
171
-
172
- Add to your project's `.mcp.json`:
173
-
174
- ```json
175
- {
176
- "mcpServers": {
177
- "SynaBun": {
178
- "command": "node",
179
- "args": ["/path/to/Synabun/mcp-server/run.mjs"]
180
- }
181
- }
182
- }
183
- ```
184
-
185
- Or register globally for all projects:
186
-
187
- ```bash
188
- claude mcp add SynaBun -s user \
189
- -- node "/path/to/Synabun/mcp-server/run.mjs"
190
- ```
191
-
192
- No environment variables needed — SQLite and local embeddings work out of the box.
193
-
194
- ### 3. Verify
195
-
196
- Restart Claude Code, then run `/mcp`. You should see the `SynaBun` server with 72 tools listed.
197
-
198
- </details>
199
-
200
- <details>
201
- <summary><strong>Platform-specific path notes</strong></summary>
202
-
203
- The `.mcp.json` path must match the platform where **Claude Code is running**:
204
-
205
- | Platform | Path format | Example |
206
- |----------|-------------|---------|
207
- | **Windows** | Forward slashes | `D:/Apps/Synabun/mcp-server/run.mjs` |
208
- | **WSL** | Linux mount paths | `/mnt/d/Apps/Synabun/mcp-server/run.mjs` |
209
- | **Linux/macOS** | Native paths | `/home/user/Apps/Synabun/mcp-server/run.mjs` |
210
-
211
- **Common pitfall:** If Claude Code runs on Windows but you use a WSL-style path like `/mnt/j/...`, Node.js will resolve it to `J:\mnt\j\...` (prepending the drive letter), which doesn't exist. Always use Windows-native paths when Claude Code runs on Windows.
212
-
213
- </details>
214
-
215
- ## Architecture
216
-
217
- ```
218
- AI Assistant (any project)
219
- │
220
- │ MCP Protocol (stdio or HTTP)
221
- │
222
- ┌───┴──────────────────────────┐
223
- │ SynaBun MCP Server │ Node.js 22.5+ / TypeScript
224
- │ │
225
- │ 72 tools across 9 groups: │
226
- │ Memory (8), Browser (39), │
227
- │ Whiteboard (5), Cards (5), │
228
- │ Discord (8), Leonardo (4), │
229
- │ Git (1), Loop (1), │
230
- │ TicTacToe (1) │
231
- │ │
232
- │ Transformers.js │ Local embeddings
233
- │ all-MiniLM-L6-v2 │ (384 dims, ~23MB model)
234
- │ │
235
- │ node:sqlite │ Built-in SQLite
236
- │ data/memory.db │ (vectors as Float32 BLOBs)
237
- │ │
238
- │ Playwright │ Browser automation
239
- │ (Chromium) │ (persistent sessions)
240
- └──────────────────────────────┘
241
- ```
242
-
243
- Everything runs in a single Node.js process — no external services, no Docker, no API keys.
244
-
245
- ## MCP Tools (72)
246
-
247
- SynaBun exposes 72 tools via the Model Context Protocol, organized into 9 groups:
248
-
249
- ### Memory (8 tools)
250
-
251
- | Tool | Purpose | Key Parameters |
252
- |------|---------|----------------|
253
- | `remember` | Store a new memory | `content`, `category`, `project`, `tags`, `importance`, `subcategory` |
254
- | `recall` | Semantic search across memories | `query`, `category`, `project`, `tags`, `limit`, `min_importance` |
255
- | `reflect` | Update an existing memory | `memory_id` (full UUID), `content`, `importance`, `tags`, `category` |
256
- | `forget` | Soft-delete a memory (moves to trash) | `memory_id` |
257
- | `restore` | Restore a trashed memory | `memory_id` |
258
- | `memories` | List recent memories or get stats | `action` (recent, stats, by-category, by-project) |
259
- | `sync` | Detect stale memories via file hash comparison | `project` (optional filter) |
260
- | `category` | Create, update, delete, or list categories | `action` (create, update, delete, list), `name`, `description`, `parent` |
261
-
262
- ### Browser (39 tools)
263
-
264
- 18 general browser automation tools + 21 social media extraction tools, all powered by Playwright with persistent Chromium sessions.
265
-
266
- **General automation:**
267
- `browser_navigate`, `browser_click`, `browser_fill`, `browser_type`, `browser_hover`, `browser_select`, `browser_press`, `browser_evaluate`, `browser_snapshot`, `browser_content`, `browser_screenshot`, `browser_session`, `browser_go_back`, `browser_go_forward`, `browser_reload`, `browser_wait`, `browser_scroll`, `browser_upload`
268
-
269
- **Social media extraction:**
270
- `browser_extract_tweets`, `browser_extract_fb_posts`, `browser_extract_tiktok_videos`, `browser_extract_tiktok_search`, `browser_extract_tiktok_studio`, `browser_extract_tiktok_profile`, `browser_extract_wa_chats`, `browser_extract_wa_messages`, `browser_extract_ig_feed`, `browser_extract_ig_profile`, `browser_extract_ig_post`, `browser_extract_ig_reels`, `browser_extract_ig_search`, `browser_extract_li_feed`, `browser_extract_li_profile`, `browser_extract_li_post`, `browser_extract_li_notifications`, `browser_extract_li_messages`, `browser_extract_li_search_people`, `browser_extract_li_network`, `browser_extract_li_jobs`
271
-
272
- ### Whiteboard (5 tools)
273
-
274
- | Tool | Purpose |
275
- |------|---------|
276
- | `whiteboard_read` | View whiteboard contents |
277
- | `whiteboard_add` | Place new items on the whiteboard |
278
- | `whiteboard_update` | Modify items on the whiteboard |
279
- | `whiteboard_remove` | Delete items from the whiteboard |
280
- | `whiteboard_screenshot` | Capture the whiteboard as an image |
281
-
282
- ### Cards (5 tools)
283
-
284
- | Tool | Purpose |
285
- |------|---------|
286
- | `card_list` | See all open memory cards |
287
- | `card_open` | Open a memory card on screen |
288
- | `card_close` | Dismiss open memory cards |
289
- | `card_update` | Move, resize, pin, or compact cards |
290
- | `card_screenshot` | Capture open cards as an image |
291
-
292
- ### Discord (8 tools)
293
-
294
- | Tool | Purpose |
295
- |------|---------|
296
- | `discord_guild` | Server info, channels, members, roles, audit log |
297
- | `discord_channel` | Create, edit, delete channels and set permissions |
298
- | `discord_role` | Create, edit, delete roles, assign/remove from members |
299
- | `discord_message` | Send, edit, delete, pin, react, bulk delete, list messages |
300
- | `discord_member` | Member info, kick, ban, unban, timeout, nickname |
301
- | `discord_onboarding` | Welcome screen, rules, verification, onboarding prompts |
302
- | `discord_webhook` | Create, edit, delete, list, execute webhooks |
303
- | `discord_thread` | Create, archive, unarchive, lock, delete threads |
304
-
305
- ### Automation (1 tool)
306
-
307
- | Tool | Purpose |
308
- |------|---------|
309
- | `loop` | Run, stop, or check autonomous background tasks |
310
-
311
- ### Leonardo AI (4 tools)
312
-
313
- Browser-based AI image and video generation via [Leonardo.ai](https://app.leonardo.ai). No API key needed — all tools automate the Leonardo.ai web UI directly via Playwright.
314
-
315
- | Tool | Purpose |
316
- |------|---------|
317
- | `leonardo_browser_navigate` | Navigate to specific Leonardo.ai pages (home, library, image editor, video, upscaler, blueprints, realtime canvas, models) |
318
- | `leonardo_browser_generate` | Fill the prompt and click Generate — configure UI settings (model, style, dimensions, motion controls) beforehand using generic browser tools |
319
- | `leonardo_browser_library` | View or search the Leonardo.ai generation library |
320
- | `leonardo_browser_download` | Capture the current Leonardo.ai page as a screenshot to see generation results |
321
-
322
- > **Tip:** Use the `/leonardo` skill in Claude Code for an expert-guided creation experience with a 7-phase video prompter, 6-phase image prompter, model advisor with decision matrices for 30+ models, curated prompt library, and style guide with motion controls and camera combos.
323
-
324
- ## Neural Interface
325
-
326
- SynaBun includes a 3D visualization UI for browsing and managing memories.
327
-
328
- **Start it:**
329
- ```bash
330
- cd neural-interface
331
- npm start
332
- ```
333
-
334
- Then open **http://localhost:3344**
335
-
336
- **What you get:**
337
- - Interactive force-directed graph — memories as nodes, relationships as edges
338
- - Click nodes to inspect, edit, or delete memories
339
- - Semantic search bar (press `/` to focus)
340
- - Category sidebar with filtering, hierarchy editing, and custom logos
341
- - Drag nodes to pin them in 3D space
342
- - Trash management — view, restore, or permanently purge deleted memories
343
- - Memory Sync — detect stale memories whose source files have changed (SHA-256 hash comparison)
344
- - Backup & Restore — export and import database snapshots
345
- - OpenClaw Bridge — overlay OpenClaw workspace memories as read-only ephemeral nodes
346
- - Graphics quality presets (Low, Medium, High, Ultra)
347
- - Onboarding wizard for first-time setup
348
- - Category export — download all memories in a category as Markdown
349
-
350
- The Neural Interface also serves as the admin panel for category management, hook installation, skill management, and MCP registration — all from a single web UI.
351
-
352
- ## Usage
353
-
354
- ### Storing memories
355
-
356
- Format content in **Markdown** for readability:
357
-
358
- ```javascript
359
- remember({
360
- content: `## Redis Price Cache Configuration
361
-
362
- **TTL:** 1 hour (3600 seconds)
363
- **Location:** \`orchestratorSingleton.ts\`
364
-
365
- **Note:** Increasing TTL improves performance but delays price updates.`,
366
- category: "project",
367
- importance: 7,
368
- tags: ["redis", "cache", "pricing"],
369
- subcategory: "architecture"
370
- })
371
- ```
372
-
373
- ### Searching memories
374
-
375
- ```javascript
376
- recall({
377
- query: "how does the price caching work",
378
- limit: 5
379
- })
380
- ```
381
-
382
- Results include similarity score, importance, age, and full content. Filter by category, project, tags, or minimum importance.
383
-
384
- ### Browsing and stats
385
-
386
- ```javascript
387
- memories({ action: "stats" }) // Counts by category and project
388
- memories({ action: "recent", limit: 10 }) // Most recent
389
- memories({ action: "by-category", category: "learning" }) // Filter by category
390
- memories({ action: "by-project", project: "myapp" }) // Filter by project
391
- ```
392
-
393
- ### Updating memories
394
-
395
- ```javascript
396
- reflect({
397
- memory_id: "8f7cab3b-644e-4cea-8662-de0ca695bdf2", // Full UUID required
398
- importance: 9,
399
- add_tags: ["critical"]
400
- })
401
- ```
402
-
403
- ### Deleting and restoring memories
404
-
405
- ```javascript
406
- // Soft-delete (moves to trash)
407
- forget({ memory_id: "8f7cab3b-644e-4cea-8662-de0ca695bdf2" })
408
-
409
- // Undo — restore from trash
410
- restore({ memory_id: "8f7cab3b-644e-4cea-8662-de0ca695bdf2" })
411
- ```
412
-
413
- ### Detecting stale memories
414
-
415
- ```javascript
416
- // Check which memories have outdated file references
417
- sync({ project: "my-project" })
418
- // Returns: list of memories whose related_files have changed since last update
419
- ```
420
-
421
- The `sync` tool compares SHA-256 hashes of files referenced in `related_files` against stored checksums. Use it to find memories that may need updating after code changes.
422
-
423
- For detailed usage patterns and best practices, see the [Usage Guide](./docs/usage-guide.md).
424
-
425
- ## Memory Categories
426
-
427
- Categories are fully user-defined, stored per-connection in `mcp-server/data/custom-categories-{connId}.json`. There are no hardcoded defaults. Manage them via MCP tools or the [Neural Interface](#neural-interface).
428
-
429
- ### How Claude Decides Where to Store Memories
430
-
431
- Category descriptions are **routing instructions** that Claude reads every time it calls `remember`. Claude reads ALL category descriptions from the tool schema and picks the best match.
432
-
433
- ```
434
- You create categories with descriptions
435
- ↓
436
- buildCategoryDescription() assembles them into a hierarchical guide
437
- ↓
438
- The guide is embedded in the MCP tool schema (Zod .describe())
439
- ↓
440
- Claude reads the guide when calling remember/recall/reflect
441
- ↓
442
- Claude picks the category whose description best matches the memory
443
- ```
444
-
445
- Descriptions refresh dynamically — when you change a description via MCP tools (`category_update`), the tool schemas rebuild and Claude sees the update immediately via `notifications/tools/list_changed`. No server restart needed.
446
-
447
- ### Writing Effective Descriptions
448
-
449
- Descriptions should be **prescriptive rules**, not vague labels:
450
-
451
- | Quality | Example |
452
- |---------|---------|
453
- | Bad | `"Pricing and stores"` |
454
- | Good | `"ONLY for deal/pricing memories: store imports, price comparisons, Gamivo/YuPlay/Steam pricing. Never put project bugs here."` |
455
- | Bad | `"Bug fixes"` |
456
- | Good | `"Bug fixes, root cause analysis, error resolutions. Must be about actual code bugs — not feature requests or ideas."` |
457
-
458
- **Tips:**
459
- - Be explicit about boundaries — say what does NOT belong as much as what does
460
- - Reference other categories by name — "use deals for pricing, use bug-fixes for bugs"
461
- - List concrete examples — "Gamivo, YuPlay, Steam pricing data"
462
- - Keep it under ~200 chars — Claude reads all descriptions at once, brevity helps
463
-
464
- ### Parent Categories
465
-
466
- Parent categories group related children into visual clusters. They affect how Claude sees the hierarchy:
467
-
468
- ```
469
- [criticalpixel] (parent) — All CriticalPixel memories go here
470
- bug-fixes = Bug fixes, root cause analysis, error resolutions for CP code
471
- databases = Database schemas, queries, migrations, Supabase config
472
- deals = ONLY deal/pricing memories: store imports, price comparisons...
473
- memory-system = MCP server architecture, SQLite config, embedding pipeline...
474
- ```
475
-
476
- Create parents via MCP tools:
477
- ```javascript
478
- category_create({ name: "my-project", description: "All memories for my-project" })
479
- category_update({ name: "bug-fixes", parent: "my-project" })
480
- ```
481
-
482
- Or via the Neural Interface sidebar — click the **Parent** button, then drag categories onto it.
483
-
484
- ### Dynamic Schema Refresh
485
-
486
- ```
487
- category_create / category_update / category_delete
488
- → refreshCategorySchemas()
489
- → invalidateCategoryCache()
490
- → tool.update({ paramsSchema: ... })
491
- → SDK sends notifications/tools/list_changed
492
- → Claude re-fetches tool list → sees updated descriptions
493
- ```
494
-
495
- ## Importance Scale
496
-
497
- | Score | Meaning | When to use |
498
- |-------|---------|------------|
499
- | 1-2 | Trivial | Temporary workarounds, minor preferences |
500
- | 3-4 | Low | Common patterns, routine configs |
501
- | 5 | Normal | Standard decisions (default) |
502
- | 6-7 | Significant | Important patterns, non-obvious fixes |
503
- | 8-9 | Critical | Hard-won bug fixes, key architecture decisions |
504
- | 10 | Foundational | Core architecture, security rules, owner preferences |
505
-
506
- Memories with importance **8+** are immune to time-based relevance decay.
507
-
508
- ## How It Works
509
-
510
- ### Embedding and storage
511
-
512
- When `remember` is called, the content text is embedded locally via Transformers.js (`all-MiniLM-L6-v2`) which returns a 384-dimensional normalized vector. This vector (stored as a Float32Array BLOB), along with the payload (content, category, tags, timestamps, etc.), is inserted into the SQLite `memories` table.
513
-
514
- ### Semantic search
515
-
516
- When `recall` is called, the query is embedded the same way, then cosine similarity is computed in JavaScript against all stored vectors. Results are re-ranked with:
517
-
518
- - **Time decay** — 90-day half-life (older memories score lower, unless importance >= 8)
519
- - **Project boost** — memories from the current project get a 1.2x score multiplier
520
- - **Access boost** — frequently recalled memories get a small relevance increase
521
-
522
- ### SQLite schema
523
-
524
- The database stores memories, session chunks, and trash in a single `memory.db` file. Columns are indexed on `category`, `project`, `importance`, and `created_at` for fast filtered queries.
525
-
526
- ### Access tracking
527
-
528
- Every time a memory is returned by `recall`, its `accessed_at` timestamp and `access_count` are updated (fire-and-forget, non-blocking).
529
-
530
- ## Configuration
531
-
532
- ### Environment variables
533
-
534
- SynaBun works with zero configuration by default. All settings are optional:
535
-
536
- ```env
537
- # Optional overrides
538
- SQLITE_DB_PATH=/custom/path/to/memory.db # Default: data/memory.db
539
- MEMORY_DATA_DIR=/custom/data/dir # Default: mcp-server/data/
540
- NEURAL_PORT=3344 # Neural Interface port (default: 3344)
541
- SETUP_COMPLETE=true
542
-
543
- # API keys (optional — only needed for specific integrations)
544
- DISCORD_BOT_TOKEN=your-token-here # Discord server management
545
- ```
546
-
547
- | Variable | Description |
548
- |----------|-------------|
549
- | `SQLITE_DB_PATH` | Path to SQLite database file (default: `data/memory.db`) |
550
- | `MEMORY_DATA_DIR` | Data directory for runtime files (default: `mcp-server/data/`) |
551
- | `NEURAL_PORT` | Neural Interface server port (default: 3344) |
552
- | `DISCORD_BOT_TOKEN` | Discord bot token for server management tools |
553
-
554
- Set these in the `.env` file at the project root, or let SynaBun use the defaults.
555
-
556
- ## Embeddings
557
-
558
- SynaBun uses **local embeddings** via Transformers.js — no API key or internet connection needed (after the initial ~23MB model download).
559
-
560
- | Property | Value |
561
- |----------|-------|
562
- | **Model** | `Xenova/all-MiniLM-L6-v2` |
563
- | **Dimensions** | 384 |
564
- | **Runtime** | ONNX (via `@huggingface/transformers`) |
565
- | **Cache** | `~/.cache/huggingface/` (permanent, auto-downloaded on first use) |
566
- | **Cost** | Free |
567
-
568
- The model runs entirely in-process — no external service calls, no API keys, no network dependency after first download.
569
-
570
- ## Claude Code Hooks
571
-
572
- SynaBun ships with 7 [Claude Code hooks](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/hooks) that automate memory usage across the entire coding session lifecycle.
573
-
574
- | Hook | Event | Purpose |
575
- |------|-------|---------|
576
- | `session-start.mjs` | `SessionStart` | Greeting, boot sequence, compaction recovery, loop detection, session registration |
577
- | `prompt-submit.mjs` | `UserPromptSubmit` | Tiered recall nudges, loop iteration injection, category tree on first threshold |
578
- | `pre-compact.mjs` | `PreCompact` | Captures session transcript before context compaction for conversation indexing |
579
- | `stop.mjs` | `Stop` | Combined obligations: compaction, loops, task memory, user learning, conversation turns, auto-store, unstored plans |
580
- | `post-remember.mjs` | `PostToolUse` | Tracks edit count and clears enforcement flags when memories are stored. User learning flag management |
581
- | `pre-websearch.mjs` | `PreToolUse` | Blocks WebSearch/WebFetch during active browser sessions to prevent interference |
582
- | `post-plan.mjs` | `PostToolUse` | Auto-stores plans as memories when exiting plan mode |
583
-
584
- **Install via Neural Interface:** Settings > Integrations > Enable (global or per-project).
585
-
586
- For detailed hook documentation, customization options, and custom hook templates, see the [Hooks Guide](./docs/hooks.md).
587
-
588
- ## Claude Code Skills
589
-
590
- SynaBun ships [Claude Code skills](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials/custom-slash-commands) — slash commands that provide expert-guided workflows.
591
-
592
- ### `/synabun` — Memory Command Hub
593
-
594
- The entry point for all memory-powered capabilities. Type `/synabun` in Claude Code and an interactive menu appears:
595
-
596
- | Option | What it does |
597
- |--------|-------------|
598
- | **Brainstorm Ideas** | Cross-pollinate memories to spark creative ideas. Uses multi-round recall with 5 query strategies (direct, adjacent, problem-space, solution-space, cross-domain) and synthesizes ideas traced back to specific memories. |
599
- | **Audit Memories** | Validate stored memories against the current codebase. Runs 6 phases: landscape survey, checksum pre-scan, bulk retrieval, parallel semantic verification, interactive classification (STALE/INVALID/VALID/UNVERIFIABLE), and audit report. |
600
- | **Memory Health** | Quick stats overview and staleness check — total count, category distribution, stale file references. |
601
- | **Search Memories** | Find something specific across your entire memory bank using semantic search. |
602
-
603
- ### `/leonardo` — Master Media Prompter
604
-
605
- Expert-guided AI image and video creation via Leonardo.ai. Supports quick mode for power users and interactive questionnaires for guided creation.
606
-
607
- | Mode | Usage |
608
- |------|-------|
609
- | **Interactive menu** | `/leonardo` — choose between Create Video, Create Image, Quick Generate, or Account Info |
610
- | **Direct routing** | `/leonardo video sunset over ocean` or `/leonardo image cyberpunk portrait` |
611
- | **Quick mode** | `/leonardo quick a cinematic drone shot of a volcano` — skip the questionnaire, use smart defaults |
612
-
613
- The skill includes 5 expert modules: video prompter (7-phase cinematic questionnaire with motion controls and style stacking), image prompter (6-phase composition questionnaire with style presets), model advisor (decision matrices for 30+ models), prompt library (curated templates), and style guide (style stacking, motion controls, camera combos).
614
-
615
- **Install:** Copy the skills to your global skills directory:
616
-
617
- ```bash
618
- # Skills live at:
619
- ~/.claude/skills/synabun/SKILL.md
620
- ~/.claude/skills/leonardo/SKILL.md
621
- ```
622
-
623
- ## CLAUDE.md Integration
624
-
625
- Add this to any project's `CLAUDE.md` to instruct Claude to use memory automatically:
626
-
627
- <details>
628
- <summary><strong>Show CLAUDE.md template</strong></summary>
629
-
630
- ```markdown
631
- ## Persistent Memory
632
-
633
- You have persistent vector memory via the `SynaBun` MCP server (72 tools).
634
- Core memory tools: remember, recall, forget, restore, reflect, memories, sync, category.
635
- Also available: browser automation (39 tools), whiteboard (5), cards (5), discord (8), leonardo AI (4), git, loop, tictactoe.
636
-
637
- ### Auto-Recall (do this automatically)
638
- - At session start: recall context about the current project
639
- - When user mentions a specific topic: recall what you know
640
- - Before architecture decisions: recall past decisions
641
- - When debugging: recall past similar bugs
642
-
643
- ### Auto-Remember (do this automatically)
644
- - After fixing a hard bug: remember the solution (importance 7+)
645
- - After architecture decisions: remember the decision and why (importance 8+)
646
- - When user says "remember this": importance 8+
647
- - API quirks or gotchas discovered: remember as learning
648
- - Session-ending context: remember ongoing work as conversation
649
-
650
- ### Memory Tool Quirks
651
- - `remember` accepts `tags` and `importance` directly and returns the full UUID.
652
- - `forget` is a soft delete — use `restore` to undo.
653
- - The `reflect` tool's ID parameter is `memory_id` (not `id`). It requires the FULL UUID format.
654
- - Make memory MCP calls sequentially, not in parallel — one failure cascades to all sibling calls in the batch.
655
- ```
656
-
657
- </details>
658
-
659
- ## Multi-Project Support
660
-
661
- The `project` field is auto-detected from the working directory name. Memories from different projects are stored in the same collection but can be filtered independently.
662
-
663
- When `recall` is called without a project filter, it searches **all** projects but gives a 1.2x boost to results matching the current project. Cross-project knowledge (like general patterns or tool usage) is still surfaced when relevant.
664
-
665
- ## Database
666
-
667
- SynaBun stores all data in a single SQLite file (`data/memory.db`). No external database service needed.
668
-
669
- ```bash
670
- # Database location
671
- ls mcp-server/data/memory.db
672
-
673
- # Backup (just copy the file)
674
- cp mcp-server/data/memory.db ~/backups/memory-$(date +%Y%m%d).db
675
- ```
676
-
677
- ### Rebuilding after code changes
678
-
679
- ```bash
680
- cd mcp-server
681
- npm run build
682
- ```
683
-
684
- No need to restart Claude Code — the MCP server is spawned fresh on each session.
685
-
686
- ### Migrating from Qdrant
687
-
688
- If you have an existing Qdrant-based installation, use the migration script:
689
-
690
- ```bash
691
- cd mcp-server
692
- npm run migrate
693
- ```
694
-
695
- This reads all memories from your Qdrant instance, re-embeds them with the local model, and inserts them into the new SQLite database.
696
-
697
- ## Known Limitations
698
-
699
- ### 1. `reflect` requires full UUID
700
-
701
- `remember` returns the full UUID in its output. Use it directly with `reflect`:
702
-
703
- ```
704
- reflect({ memory_id: "8f7cab3b" }) // Bad Request
705
- reflect({ memory_id: "8f7cab3b-644e-4cea-8662-de0ca695bdf2" }) // Works
706
- ```
707
-
708
- For existing memories, use `recall` to get the full UUID.
709
-
710
- ### 2. Parallel tool call failures
711
-
712
- When making parallel MCP tool calls, if one fails, all sibling calls in that batch may fail. Make memory calls sequentially.
713
-
714
- ## Troubleshooting
715
-
716
- <details>
717
- <summary><strong>Common issues and fixes</strong></summary>
718
-
719
- | Symptom | Cause | Fix |
720
- |---------|-------|-----|
721
- | `Cannot find module '.../dist/index.js'` | TypeScript not compiled | `npm run build` inside `mcp-server/` |
722
- | `npx tsc` installs wrong package | npm's `tsc` package shadows TypeScript | Use `npm run build` instead |
723
- | Node resolves path to `J:\mnt\j\...` | WSL path used with Windows Claude Code | Use Windows paths (`J:/...`) |
724
- | `node:sqlite` not found | Node.js version too old | Upgrade to Node.js 22.5+ |
725
- | `remember` fails with type errors | Rare — older MCP SDK serialization | Update MCP SDK, or use `reflect` as fallback |
726
- | `reflect` returns "Bad Request" | Using shortened ID | Use full UUID from `remember` output or `recall` |
727
- | "Sibling tool call errored" | Parallel MCP call batch failure | Make memory calls sequentially |
728
- | Slow first `remember`/`recall` | Embedding model loading on first use | Normal — model loads once per session (~2-3s) |
729
-
730
- </details>
731
-
732
- ## Cost
733
-
734
- **Free.** SynaBun uses local embeddings (Transformers.js) and a local SQLite database. No API calls, no cloud services, no usage-based billing.
735
-
736
- ## File Structure
737
-
738
- ```
739
- Synabun/
740
- ├── LICENSE # Apache 2.0 License
741
- ├── LICENSE-COMMERCIAL.md # Commercial licensing (Open Core model)
742
- ├── CONTRIBUTING.md # Bug reports, feature requests, and forking guide
743
- ├── CHANGELOG.md # Version history
744
- ├── SECURITY.md # Security policy
745
- ├── .env.example # Example environment configuration
746
- ├── .env # API key config (generated by setup wizard, gitignored)
747
- ├── setup.js # One-command setup & launch script
748
- ├── README.md # This file
749
- ├── CLAUDE.md # Claude Code project instructions (gitignored)
750
- ├── public/
751
- │ ├── synabun.png # Logo
752
- │ └── openclaw-logo-text.png # OpenClaw bridge logo
753
- ├── data/ # Runtime data directory
754
- │ ├── memory.db # SQLite database (all memories + vectors)
755
- │ ├── claude-code-projects.json # Tracked project paths with hook status
756
- │ ├── hook-features.json # Hook feature flags (conversationMemory, greeting, userLearning)
757
- │ ├── mcp-api-key.json # API key for HTTP MCP transport
758
- │ ├── pending-compact/ # PreCompact enforcement flags (per session)
759
- │ ├── pending-remember/ # Edit tracking flags (per session)
760
- │ └── precompact/ # Session transcript cache (pre-compaction)
761
- ├── docs/
762
- │ ├── usage-guide.md # Detailed usage patterns & best practices
763
- │ ├── api-reference.md # Neural Interface REST API reference
764
- │ └── hooks.md # Claude Code hook system documentation
765
- ├── skills/
766
- │ ├── synabun/
767
- │ │ ├── SKILL.md # /synabun command hub (entry point)
768
- │ │ └── modules/
769
- │ │ ├── idea.md # Brainstorm Ideas module
770
- │ │ └── audit.md # Audit Memories module
771
- │ └── leonardo/
772
- │ ├── SKILL.md # /leonardo master media prompter
773
- │ └── modules/
774
- │ ├── video-prompter.md # 5-phase video creation questionnaire
775
- │ ├── image-prompter.md # 5-phase image creation questionnaire
776
- │ ├── model-advisor.md # Decision matrices for 30+ models
777
- │ ├── prompt-library.md # Curated prompt templates
778
- │ └── style-guide.md # Style stacking & motion controls
779
- ├── hooks/
780
- │ └── claude-code/
781
- │ ├── session-start.mjs # SessionStart — greeting, boot sequence, compaction recovery, session registration
782
- │ ├── prompt-submit.mjs # UserPromptSubmit — tiered recall nudges, loop iteration injection
783
- │ ├── pre-compact.mjs # PreCompact — transcript capture before compaction
784
- │ ├── stop.mjs # Stop — combined obligations: compaction, loops, task memory, plans
785
- │ ├── post-remember.mjs # PostToolUse — edit tracking, flag clearing, user learning
786
- │ ├── pre-websearch.mjs # PreToolUse — blocks WebSearch during active browser sessions
787
- │ └── post-plan.mjs # PostToolUse — auto-stores plans as memories
788
- ├── memory-seed/ # Bootstrap seed data for new installations
789
- │ ├── README.md
790
- │ ├── architecture/ # 5 architecture overview memories
791
- │ ├── mcp-tools/ # 7 tool documentation memories
792
- │ ├── neural-interface/ # 5 UI/API documentation memories
793
- │ ├── hooks/ # 4 hook documentation memories
794
- │ ├── setup/ # 3 setup/onboarding memories
795
- │ └── development/ # 4 development guide memories
796
- ├── .tests/ # Vitest test suite
797
- │ ├── vitest.config.ts
798
- │ ├── unit/ # Tool-level unit tests (6 files)
799
- │ ├── scenarios/ # Usage pattern + cost benchmark tests (5 files)
800
- │ ├── mocks/ # SQLite/embedding mocks
801
- │ └── utils/ # Test utilities
802
- ├── neural-interface/ # 3D visualization UI (http://localhost:3344)
803
- │ ├── server.js # Express API — 55+ endpoints
804
- │ ├── package.json
805
- │ └── public/
806
- │ ├── index.html # Three.js force-directed 3D graph
807
- │ ├── index2d.html # 2D canvas visualization variant
808
- │ ├── onboarding.html # Setup wizard
809
- │ └── shared/ # Shared CSS/JS assets
810
- └── mcp-server/ # MCP server (Node.js + TypeScript)
811
- ├── package.json
812
- ├── tsconfig.json
813
- ├── run.mjs # Entry wrapper (sets cwd, imports dist/)
814
- ├── data/
815
- │ ├── custom-categories-*.json # Per-connection category definitions
816
- │ └── display-settings.json # MCP response display config
817
- ├── dist/ # Compiled JS (generated by npm run build)
818
- └── src/
819
- ├── index.ts # Tool registration + schema refresh (72 tools)
820
- ├── config.ts # Namespaced env config, project detection
821
- ├── types.ts # MemoryPayload interface (incl. file_checksums)
822
- ├── http.ts # HTTP MCP transport
823
- ├── tui.ts # Terminal UI for interactive management
824
- ├── services/
825
- │ ├── sqlite.ts # SQLite storage layer (vectors as Float32 BLOBs)
826
- │ ├── local-embeddings.ts # Local embedding generation (Transformers.js)
827
- │ ├── categories.ts # Category CRUD, hierarchy, descriptions
828
- │ └── file-checksums.ts # SHA-256 hashing for sync tool
829
- └── tools/
830
- ├── remember.ts # Store a memory
831
- ├── recall.ts # Semantic search with time decay
832
- ├── forget.ts # Soft-delete (moves to trash)
833
- ├── restore.ts # Restore from trash
834
- ├── reflect.ts # Update a memory
835
- ├── memories.ts # List and stats
836
- ├── sync.ts # Stale memory detection via file hashes
837
- ├── category-create.ts # Create category (triggers schema refresh)
838
- ├── category-update.ts # Edit category (triggers schema refresh)
839
- ├── category-delete.ts # Delete category (triggers schema refresh)
840
- ├── category-list.ts # List categories with hierarchy
841
- ├── leonardo.ts # Leonardo.ai tool registration barrel (4 browser-based tools)
842
- └── leonardo-browser-tools.ts # Browser-based generation, library, navigation, download
843
- ```
844
-
845
- ## License
846
-
847
- Licensed under the [Apache License, Version 2.0](./LICENSE).
848
-
849
- You are free to use, modify, and distribute SynaBun under Apache 2.0. Premium features and enterprise extensions may be offered under a separate commercial license. See [LICENSE-COMMERCIAL.md](./LICENSE-COMMERCIAL.md) for details.
850
-
851
- ## Trademark Notice
852
-
853
- "SynaBun" is a trademark of its authors. The license does not grant permission to use the SynaBun name, trademarks, service marks, or branding. If you fork this project, you must use a different name for your derivative work.
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/danilokhury/Synabun/main/public/synabun.png" alt="SynaBun" width="120" />
3
+ </p>
4
+
5
+ <h1 align="center">SynaBun</h1>
6
+
7
+ <p align="center">
8
+ Long-term memory for your AI coding tools, stored on your own computer.
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/synabun"><img src="https://img.shields.io/npm/v/synabun?color=cb3837&logo=npm&logoColor=white" alt="npm version" /></a>
13
+ <a href="https://www.npmjs.com/package/synabun"><img src="https://img.shields.io/npm/dm/synabun?color=cb3837&logo=npm&logoColor=white" alt="npm downloads" /></a>
14
+ <a href="./LICENSE"><img src="https://img.shields.io/npm/l/synabun?color=blue" alt="license" /></a>
15
+ <a href="https://github.com/danilokhury/Synabun/actions/workflows/ci.yml"><img src="https://github.com/danilokhury/Synabun/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
16
+ <a href="https://discord.gg/x6yWqE9GZP"><img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Discord" /></a>
17
+ <a href="https://x.com/SynabunAI"><img src="https://img.shields.io/badge/Follow-%40SynabunAI-000000?logo=x&logoColor=white" alt="X / Twitter" /></a>
18
+ </p>
19
+
20
+ <p align="center">
21
+ <a href="https://synabun.ai">synabun.ai</a> · <a href="https://synabun.ai/docs">Docs</a> · <a href="https://synabun.ai/blog">Blog</a> · <a href="https://synabun.ai/compare">Compare</a> · <a href="https://synabun.ai/changelog">Changelog</a>
22
+ </p>
23
+
24
+ ---
25
+
26
+ SynaBun gives your AI coding tools a memory that lasts. What you decided, fixed and explained in one session is there in the next one, in every project and every tool you connect, so you stop repeating yourself. It all lives in one file on your computer: no account, no cloud service, no API key.
27
+
28
+ It connects to Claude Code, Codex CLI, Gemini CLI and OpenCode with one switch each, and to Cursor, Windsurf or any other tool that supports MCP (the Model Context Protocol) with a config snippet you copy. It comes with the Neural Interface, a local web app where you see what your tools remember and run your coding agents.
29
+
30
+ ## What you can do with it
31
+
32
+ - **Keep context between sessions.** Your assistant saves what it learned as it works and looks it up before the next task. Search matches meaning as well as keywords.
33
+ - **See what it knows.** Browse, search, edit and delete memories in the Neural Interface, on a 3D map where related memories sit together.
34
+ - **Run Claude Code, Codex and OpenCode side by side.** Each has a side panel in the Neural Interface, next to terminals, a file explorer and a whiteboard, all sharing the same memory.
35
+ - **Delegate.** The SynaBun Assistant plans a task, proposes a model for it, hands it to a worker in Claude Code, Codex or OpenCode and reports the result. You can also message it from WhatsApp.
36
+ - **Automate.** Save a task as a template, then run it as a loop or on a schedule.
37
+ - **Give agents a browser.** Browser tools let an agent open pages, click, type and read in a browser you can watch.
38
+
39
+ ## Quick start
40
+
41
+ You need [Node.js](https://nodejs.org) 22.19 or newer.
42
+
43
+ ```bash
44
+ npm install -g synabun
45
+ npm --prefix "$(npm root -g)/synabun/mcp-server" run setup:embeddings
46
+ synabun
47
+ ```
48
+
49
+ 1. **Install.** The first command installs SynaBun. The second downloads the model that powers search by meaning; without it SynaBun still works, with keyword search only. In Windows Command Prompt, replace `$(npm root -g)` with the path that `npm root -g` prints.
50
+ 2. **Start.** `synabun` starts the Neural Interface at `http://localhost:3344` and opens the setup wizard in your browser. The first start also installs a Chromium build for the browser tools.
51
+ 3. **Connect your AI tool.** In the wizard, add your projects and switch on the tools you use. SynaBun registers itself with Claude Code, Codex CLI, Gemini CLI and OpenCode, and installs a short set of rules that tell each tool when to recall and when to remember. For Cursor, Windsurf or another MCP tool, copy the config snippet shown in the same step. You can change the connections later in **Settings → AI connections**.
52
+ 4. **Try it.** Start a new session in your AI tool and say:
53
+
54
+ > Remember that we deploy from the `release` branch, never from `main`.
55
+
56
+ Start another session and ask:
57
+
58
+ > What do you remember about how we deploy?
59
+
60
+ Then open `http://localhost:3344` to see the memory on the map. Press `/` to search, `a` to open the Assistant, and the **?** button in the title bar for a tour.
61
+
62
+ Leave `synabun` running while you work: Claude Code reaches its memory through it. Stop it with `Ctrl+C`. If something looks wrong, `synabun doctor` reports the state of your data and your tool connections.
63
+
64
+ To run from source instead:
65
+
66
+ ```bash
67
+ git clone --depth=1 https://github.com/danilokhury/Synabun.git
68
+ cd Synabun
69
+ npm start
70
+ ```
71
+
72
+ `npm start` installs dependencies, builds the MCP server and starts the app. Once it is up, run `npm --prefix mcp-server run setup:embeddings` in a second terminal to turn on search by meaning.
73
+
74
+ ## How it works
75
+
76
+ ```
77
+ Your AI tool ── MCP ──▶ SynaBun MCP server ──▶ memory.db (SQLite) ◀── Neural Interface (localhost:3344)
78
+ ```
79
+
80
+ - **A local database.** Memories live in one SQLite file on your disk. Each one is indexed for keyword search and for search by meaning, using a model that runs on your machine.
81
+ - **An MCP server.** It gives your AI tool the memory tools: `remember`, `recall`, `reflect`, `forget`, `restore` and a few more. Any MCP client can use it.
82
+ - **The Neural Interface.** A local web app on port 3344 that reads the same database. It holds the memory map, settings, the side panels, the Assistant and your automations.
83
+ - **Rules and hooks.** The installed rules tell each tool to recall before substantial work and to remember after it. In Claude Code, hooks add to that: they bring relevant memories into the session and remind the assistant to save its work.
84
+
85
+ ## Features
86
+
87
+ ### Memory
88
+
89
+ - **Keyword and meaning search.** `recall` combines both and can return compact results sized to a token budget.
90
+ - **Categories you define.** Each category's description tells the assistant what belongs there.
91
+ - **One memory for every project.** Recall favours the project you are in and still finds what you learned elsewhere.
92
+ - **Hard to lose.** Edits keep a revision history you can undo, deleted memories go to a trash you can restore from, and `sync` flags memories whose source files have changed.
93
+ - **Backups.** Scheduled, checksum-verified backups in **Settings → Memory & backups**. `synabun restore-backup --from <backup.zip>` checks a backup, and adding `--apply` restores it.
94
+
95
+ ### Neural Interface
96
+
97
+ - **Memory map.** A 3D map of everything stored: top-level categories are continents, categories are islands, and similar memories sit side by side.
98
+ - **Workspace.** Terminals, a file explorer and a whiteboard next to your memories.
99
+ - **Settings you can search**, in English and Brazilian Portuguese.
100
+ - **A workspace tour** behind the **?** button.
101
+
102
+ ### Coding agents
103
+
104
+ - **Side panels for Claude Code, Codex and OpenCode.** Streaming answers, tool calls, approvals, plans and resumable sessions, on your own accounts. Gemini CLI and plain shells open as terminal tabs.
105
+ - **SynaBun Assistant.** One assistant that recalls memory on every turn, proposes where a task should run, dispatches it to a worker and reads back a structured result. Budget caps and a token gauge keep spending visible.
106
+ - **WhatsApp Link.** Message the Assistant from your phone as a linked device, with three permission levels. See [docs/whatsapp.md](./docs/whatsapp.md).
107
+ - **Computer use on macOS.** The Assistant can see and operate desktop apps, behind guards and stop controls.
108
+ - **Style Guide.** A brand and design system per project, saved as `DESIGN.md` and design tokens. Agents read it and can only propose changes. See [docs/style-guide.md](./docs/style-guide.md).
109
+
110
+ ### Automations and tools
111
+
112
+ - **Automation Studio and schedules.** Task templates you run as loops or on a schedule.
113
+ - **Browser tools.** Navigate, click, type, read and take screenshots, or batch several actions into one call. See [docs/browser-v2.md](./docs/browser-v2.md).
114
+ - **Integrations.** Tool groups for Discord, Google Search Console, YouTube Studio, Leonardo.ai and Bluesky, and readers for X, Facebook, Instagram, LinkedIn, TikTok and WhatsApp Web. Tool profiles limit a session to the groups it needs.
115
+ - **Skills.** [`/synabun`](./skills/synabun/SKILL.md) brainstorms from memory, audits memories against your code, saves a conversation and creates schedules. [`/leonardo`](./skills/leonardo/SKILL.md) guides image and video prompts.
116
+ - **Claude Code hooks.** How they are installed, isolated and measured: [docs/hook-integrity.md](./docs/hook-integrity.md).
117
+ - **AI decisions (optional).** With your own TypeSafe API key, SynaBun asks for a judgment where a fixed rule would guess: is this memory a duplicate, does it hold a secret, is it stale. Every judgment has a local fallback, and nothing is sent without a key. See [docs/judgments.md](./docs/judgments.md).
118
+
119
+ ## Requirements
120
+
121
+ - **Node.js 22.19 or newer.**
122
+ - **macOS, Windows or Linux.** Computer use is macOS only.
123
+ - **The coding tools you want to use**, installed and signed in with your own accounts. SynaBun does not include model access.
124
+ - **Optional: C/C++ build tools.** Terminals use a native module. If it has no prebuilt binary for your system, it is compiled during install; if that fails, everything except terminals still works.
125
+ - **Optional: credentials for integrations** such as Discord, YouTube or AI decisions. You enter them in Settings when you turn the feature on.
126
+
127
+ ## Updating
128
+
129
+ ```bash
130
+ npm install -g synabun@latest
131
+ npm --prefix "$(npm root -g)/synabun/mcp-server" run setup:embeddings
132
+ ```
133
+
134
+ SynaBun also offers new versions inside the app. Either way, run the second command after each update: the search model is kept inside the installed package, which the update replaces. If recall reports `Local embeddings unavailable; keyword retrieval used.`, this is the fix.
135
+
136
+ **Coming from 2026.x?** Run `npm i -g synabun@latest` once by hand. Versions used to be dates (`2026.9.5`) and are now plain semver (`2.0.0`), so the in-app update check of an older install does not offer 2.0.0. From 2.0.0 on, the in-app updater works as before.
137
+
138
+ **Running from source?** `git pull --ff-only`, then `npm run mcp:build` and `npm start`.
139
+
140
+ Before a new version starts for the first time, SynaBun takes a verified snapshot of your data and keeps it in `backups/updates` in your data folder. If it cannot take the snapshot, it stops instead of starting.
141
+
142
+ ## Your data and privacy
143
+
144
+ Everything SynaBun stores is in one folder outside the app: `~/.synabun` on macOS and Linux, `%APPDATA%\synabun` on Windows. Set `SYNABUN_DATA_HOME` to use another place.
145
+
146
+ ```
147
+ ~/.synabun/
148
+ ├── .env # settings and credentials for integrations
149
+ ├── data/ # interface state, schedules, logs
150
+ ├── backups/ # backups and pre-update snapshots
151
+ └── mcp-data/memory.db # your memories
152
+ ```
153
+
154
+ - **Your memories stay on your machine.** The database is a local file and the search model runs locally.
155
+ - **What does leave it.** Your AI tools send your prompts, and the memories they recall, to their own providers. Optional features (AI decisions, WhatsApp, Discord, the browser) talk to their services once you set them up. SynaBun checks npm and GitHub for new versions, and the interface loads web fonts and one script from public CDNs.
156
+ - **Keep it on a network you trust.** The Neural Interface has no login and listens on all network interfaces. Do not expose port 3344 to the internet. The full security model is in [SECURITY.md](./SECURITY.md).
157
+ - **Back up from the app.** Copying `memory.db` by hand while SynaBun is running can miss recent writes.
158
+
159
+ ## Links
160
+
161
+ - [Changelog](./CHANGELOG.md): what is new in 2.0.0 and before
162
+ - [Security](./SECURITY.md): security model and how to report a vulnerability
163
+ - [Contributing](./CONTRIBUTING.md): bug reports and feature requests are welcome as [issues](https://github.com/danilokhury/Synabun/issues); pull requests are not accepted
164
+ - [Website](https://synabun.ai), [docs](https://synabun.ai/docs) and [blog](https://synabun.ai/blog)
165
+ - Community: [Discord](https://discord.gg/x6yWqE9GZP) and [X](https://x.com/SynabunAI)
166
+
167
+ ## License
168
+
169
+ Licensed under the [Apache License, Version 2.0](./LICENSE).
170
+
171
+ You are free to use, modify, and distribute SynaBun under Apache 2.0. Premium features and enterprise extensions may be offered under a separate commercial license. See [LICENSE-COMMERCIAL.md](./LICENSE-COMMERCIAL.md) for details. Third-party notices are in [NOTICE](./NOTICE) and [THIRD-PARTY-LICENSES.md](./THIRD-PARTY-LICENSES.md).
172
+
173
+ ## Trademark Notice
174
+
175
+ "SynaBun" is a trademark of its authors. The license does not grant permission to use the SynaBun name, trademarks, service marks, or branding. If you fork this project, you must use a different name for your derivative work.