synabun 2.0.9 → 2.0.10

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 (252) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +1 -1
  3. package/THIRD-PARTY-LICENSES.md +46 -4
  4. package/launcher.mjs +9 -3
  5. package/lib/start-launcher.js +6 -1
  6. package/mcp-server/package-lock.json +2 -2
  7. package/mcp-server/package.json +1 -1
  8. package/neural-interface/i18n/en.json +218 -7
  9. package/neural-interface/i18n/pt-BR.json +220 -9
  10. package/neural-interface/lib/account-usage.js +5 -3
  11. package/neural-interface/lib/app-controls-api.js +161 -0
  12. package/neural-interface/lib/assistant-api.js +21 -7
  13. package/neural-interface/lib/assistant-brains/opencode.js +13 -1
  14. package/neural-interface/lib/assistant-brains/opencode2-browser-policy/index.js +44 -0
  15. package/neural-interface/lib/assistant-brains/opencode2-route-gate/index.js +57 -0
  16. package/neural-interface/lib/assistant-catalog.js +17 -2
  17. package/neural-interface/lib/assistant-dispatch.js +3 -0
  18. package/neural-interface/lib/assistant-envelope.js +19 -1
  19. package/neural-interface/lib/assistant-runtime.js +127 -8
  20. package/neural-interface/lib/claude-model-catalog.js +64 -14
  21. package/neural-interface/lib/codex-settings-schema.js +109 -47
  22. package/neural-interface/lib/editor-completion-opencode.js +132 -35
  23. package/neural-interface/lib/exec-loop-command.js +8 -1
  24. package/neural-interface/lib/launch-cache.js +293 -0
  25. package/neural-interface/lib/login-start.js +524 -0
  26. package/neural-interface/lib/native-loop-providers.js +18 -3
  27. package/neural-interface/lib/native-loop-runtime.js +19 -0
  28. package/neural-interface/lib/opencode-db-schema.js +75 -0
  29. package/neural-interface/lib/opencode-history.js +16 -1
  30. package/neural-interface/lib/opencode-protocol.js +173 -0
  31. package/neural-interface/lib/opencode-provider-view.js +81 -0
  32. package/neural-interface/lib/opencode-runtime-config.js +10 -3
  33. package/neural-interface/lib/opencode-serve-records.js +606 -0
  34. package/neural-interface/lib/opencode-v2-client.js +33 -6
  35. package/neural-interface/lib/opencode-v2-ws-requests.js +19 -5
  36. package/neural-interface/lib/opencode-worker-activity.js +229 -0
  37. package/neural-interface/lib/opencode2-client.js +760 -0
  38. package/neural-interface/lib/opencode2-proxy.js +116 -0
  39. package/neural-interface/lib/opencode2-translate.js +1008 -0
  40. package/neural-interface/lib/process-identity.js +361 -0
  41. package/neural-interface/lib/session-cache-builder.js +26 -5
  42. package/neural-interface/lib/session-title-generator.js +18 -0
  43. package/neural-interface/lib/style-guide/api.js +4 -3
  44. package/neural-interface/lib/untrusted-file-headers.js +27 -0
  45. package/neural-interface/package-lock.json +1343 -45
  46. package/neural-interface/package.json +5 -1
  47. package/neural-interface/public/index.html +2 -2
  48. package/neural-interface/public/shared/agent-runtime-options.js +55 -11
  49. package/neural-interface/public/shared/assistant/asst-agents-dock.js +172 -17
  50. package/neural-interface/public/shared/assistant/asst-api.js +11 -3
  51. package/neural-interface/public/shared/assistant/asst-brain-picker.js +195 -80
  52. package/neural-interface/public/shared/assistant/asst-composer.js +1 -1
  53. package/neural-interface/public/shared/assistant/asst-hosts.js +49 -2
  54. package/neural-interface/public/shared/assistant/asst-menu.js +77 -6
  55. package/neural-interface/public/shared/assistant/asst-panel.js +197 -33
  56. package/neural-interface/public/shared/assistant/asst-rack-styles.js +28 -10
  57. package/neural-interface/public/shared/assistant/asst-redact.js +186 -0
  58. package/neural-interface/public/shared/assistant/asst-render.js +382 -36
  59. package/neural-interface/public/shared/assistant/asst-run-stage.js +231 -0
  60. package/neural-interface/public/shared/assistant/asst-sanitize.js +193 -3
  61. package/neural-interface/public/shared/assistant/asst-scene-styles.js +273 -0
  62. package/neural-interface/public/shared/assistant/asst-scenes.js +528 -0
  63. package/neural-interface/public/shared/assistant/asst-sidepanel-styles.js +3 -15
  64. package/neural-interface/public/shared/assistant/asst-state.js +14 -0
  65. package/neural-interface/public/shared/assistant/asst-styles.js +43 -0
  66. package/neural-interface/public/shared/assistant/asst-tool-kinds.js +13 -1
  67. package/neural-interface/public/shared/cc-dropdown.js +480 -0
  68. package/neural-interface/public/shared/cdx/cdx-panel.js +13 -1
  69. package/neural-interface/public/shared/cdx/cdx-render.js +15 -3
  70. package/neural-interface/public/shared/cdx/cdx-styles.js +4 -0
  71. package/neural-interface/public/shared/cdx/cdx-tabs.js +149 -35
  72. package/neural-interface/public/shared/cp/cp-markdown.js +4 -57
  73. package/neural-interface/public/shared/data-cache.js +223 -0
  74. package/neural-interface/public/shared/desktop-bridge.js +11 -0
  75. package/neural-interface/public/shared/desktop-titlebar-view.js +78 -1
  76. package/neural-interface/public/shared/desktop-titlebar.js +214 -28
  77. package/neural-interface/public/shared/desktop-update-view.js +15 -5
  78. package/neural-interface/public/shared/file-links.js +73 -8
  79. package/neural-interface/public/shared/html-shell.js +74 -80
  80. package/neural-interface/public/shared/launch-prefetch.js +59 -0
  81. package/neural-interface/public/shared/ocp-v2/ocp-v2-caps.js +3 -2
  82. package/neural-interface/public/shared/ocp-v2/ocp-v2-childpanel.js +7 -2
  83. package/neural-interface/public/shared/ocp-v2/ocp-v2-modelpicker.js +54 -17
  84. package/neural-interface/public/shared/ocp-v2/ocp-v2-panel.js +93 -2
  85. package/neural-interface/public/shared/ocp-v2/ocp-v2-projectbar.js +3 -2
  86. package/neural-interface/public/shared/ocp-v2/ocp-v2-providers.js +11 -9
  87. package/neural-interface/public/shared/ocp-v2/ocp-v2-rehydrate.js +15 -4
  88. package/neural-interface/public/shared/ocp-v2/ocp-v2-render.js +1 -1
  89. package/neural-interface/public/shared/ocp-v2/ocp-v2-send-logic.js +401 -0
  90. package/neural-interface/public/shared/ocp-v2/ocp-v2-send.js +16 -9
  91. package/neural-interface/public/shared/ocp-v2/ocp-v2-sessions-logic.js +60 -0
  92. package/neural-interface/public/shared/ocp-v2/ocp-v2-styles.js +48 -19
  93. package/neural-interface/public/shared/ocp-v2/ocp-v2-ws.js +195 -19
  94. package/neural-interface/public/shared/opencode-providers.js +39 -0
  95. package/neural-interface/public/shared/schedules-view.js +318 -0
  96. package/neural-interface/public/shared/settings/settings-app-pane.js +335 -0
  97. package/neural-interface/public/shared/settings/settings-app.js +243 -0
  98. package/neural-interface/public/shared/settings/settings-data.js +88 -0
  99. package/neural-interface/public/shared/settings/settings-ia.js +17 -0
  100. package/neural-interface/public/shared/sidepanel-session-status.js +49 -0
  101. package/neural-interface/public/shared/styles.css +540 -371
  102. package/neural-interface/public/shared/ui-assistant.js +27 -5
  103. package/neural-interface/public/shared/ui-automation-studio.js +67 -27
  104. package/neural-interface/public/shared/ui-bookmarks.js +2 -1
  105. package/neural-interface/public/shared/ui-claude-panel.js +76 -8
  106. package/neural-interface/public/shared/ui-codex-panel.js +1 -0
  107. package/neural-interface/public/shared/ui-detail.js +6 -6
  108. package/neural-interface/public/shared/ui-file-links.js +1 -0
  109. package/neural-interface/public/shared/ui-image-gallery.js +6 -5
  110. package/neural-interface/public/shared/ui-invite.js +18 -2
  111. package/neural-interface/public/shared/ui-link.js +9 -9
  112. package/neural-interface/public/shared/ui-menubar.js +232 -33
  113. package/neural-interface/public/shared/ui-native-loop-router.js +2 -0
  114. package/neural-interface/public/shared/ui-opencode-panel-v2.js +1 -0
  115. package/neural-interface/public/shared/ui-schedules-studio.js +2099 -869
  116. package/neural-interface/public/shared/ui-sessions.js +15 -4
  117. package/neural-interface/public/shared/ui-settings.js +87 -36
  118. package/neural-interface/public/shared/ui-sidebar.js +4 -4
  119. package/neural-interface/public/shared/ui-sidepanel-session-entry.js +13 -0
  120. package/neural-interface/public/shared/ui-sidepanel-sessions.js +55 -4
  121. package/neural-interface/public/shared/ui-sidepanel-tray.js +84 -8
  122. package/neural-interface/public/shared/ui-skills.js +70 -12
  123. package/neural-interface/public/shared/ui-sync.js +7 -0
  124. package/neural-interface/public/shared/ui-terminal.js +36 -20
  125. package/neural-interface/public/shared/ui-trash.js +8 -1
  126. package/neural-interface/public/shared/ui-tutorial-steps.js +7 -3
  127. package/neural-interface/public/shared/ui-tutorial.js +15 -5
  128. package/neural-interface/public/shared/ui-update.js +83 -14
  129. package/neural-interface/public/shared/ui-whiteboard.js +2 -1
  130. package/neural-interface/public/variant/2d/main.js +4 -1
  131. package/neural-interface/public/variant/3d/main.js +3 -0
  132. package/neural-interface/public/vendor/highlight/LICENSE +29 -0
  133. package/neural-interface/public/vendor/highlight/github-dark-dimmed-11.12.0.min.css +9 -0
  134. package/neural-interface/public/vendor/highlight/highlight-11.12.0.min.js +1262 -0
  135. package/neural-interface/public/vendor/highlight/manifest.json +5 -0
  136. package/neural-interface/public/vendor/html2canvas/LICENSE +22 -0
  137. package/neural-interface/public/vendor/html2canvas/html2canvas-1.4.1.min.js +20 -0
  138. package/neural-interface/public/vendor/html2canvas/manifest.json +4 -0
  139. package/neural-interface/public/vendor/marked/LICENSE.md +44 -0
  140. package/neural-interface/public/vendor/marked/manifest.json +4 -0
  141. package/neural-interface/public/vendor/marked/marked-14.1.4.esm.js +2502 -0
  142. package/neural-interface/public/vendor/mermaid/LICENSE +21 -0
  143. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/abnfDiagram-PAR5IXJI.mjs +1 -0
  144. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/architecture-7GRP2DOG-M7G3SWCO.mjs +1 -0
  145. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/architectureDiagram-2PNWDENW.mjs +36 -0
  146. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/blockDiagram-PUWGUBOA.mjs +129 -0
  147. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/c4Diagram-3NLNHZP5.mjs +38 -0
  148. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-2NMSUPJH.mjs +1 -0
  149. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-32MCUW2P.mjs +206 -0
  150. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-3NPNU5GP.mjs +1 -0
  151. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-3SMGFRGC.mjs +1 -0
  152. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-4CAJECRU.mjs +14 -0
  153. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-4OADUZ5Q.mjs +10 -0
  154. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-5IMINLNL.mjs +1 -0
  155. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-5IQCK5RY.mjs +3 -0
  156. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-5MVFYWFU.mjs +1 -0
  157. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-AQ6EADP3.mjs +1 -0
  158. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-AZZRMDJM.mjs +15 -0
  159. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-CLS4B6BI.mjs +168 -0
  160. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-DZP67EKU.mjs +70 -0
  161. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-EICP7K5X.mjs +1 -0
  162. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-GDY2UAB4.mjs +1 -0
  163. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-H7VHZCWX.mjs +1 -0
  164. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-IJBDOHL6.mjs +1 -0
  165. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-JFFVMJIA.mjs +1 -0
  166. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-JQRUD6KW.mjs +1 -0
  167. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-JZGDI5JK.mjs +1 -0
  168. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-KD6SPIPN.mjs +2 -0
  169. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-NF366YI6.mjs +231 -0
  170. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-NUDPKBEF.mjs +32 -0
  171. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-OJINMHTS.mjs +1 -0
  172. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-Q6NGPIAH.mjs +2 -0
  173. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-QJSWEUOL.mjs +132 -0
  174. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-R7JDMUKV.mjs +1 -0
  175. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-RCXAM2GK.mjs +1 -0
  176. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-RT4MAWR3.mjs +1 -0
  177. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-SFMINX4W.mjs +1 -0
  178. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-SLDQ463B.mjs +88 -0
  179. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-STOV2HOB.mjs +1 -0
  180. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-T5OCTHI4.mjs +1 -0
  181. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-TCEHX7R3.mjs +1 -0
  182. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-VQC2EELJ.mjs +1 -0
  183. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-VRZKL3EH.mjs +1 -0
  184. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-VTHDQ7BV.mjs +1 -0
  185. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-VY2OSTJR.mjs +2 -0
  186. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-WUBWJARI.mjs +1 -0
  187. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-YBMQ5JGJ.mjs +2 -0
  188. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-YDMLL4PJ.mjs +1 -0
  189. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-Z6V44ARX.mjs +62 -0
  190. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZJJ7VQJP.mjs +339 -0
  191. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZNLK7HRR.mjs +1 -0
  192. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZQN7UHIL.mjs +1 -0
  193. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZS6VBONO.mjs +174 -0
  194. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/chunk-ZUNWM646.mjs +1 -0
  195. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/classDiagram-FGAMPOII.mjs +1 -0
  196. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/classDiagram-v2-AI5RJEK4.mjs +1 -0
  197. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/cose-bilkent-Q72C2OJ3.mjs +1 -0
  198. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/cynefin-OW5HDTMX-6OCTWOGG.mjs +1 -0
  199. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/cynefinDiagram-2OOWUY4M.mjs +62 -0
  200. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/dagre-MPVFI544.mjs +4 -0
  201. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/diagram-AE4NWXFW.mjs +24 -0
  202. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/diagram-BUJID5UG.mjs +41 -0
  203. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/diagram-C44CZ5NI.mjs +24 -0
  204. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/diagram-EYOLEXXS.mjs +30 -0
  205. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/diagram-P7B6PWOJ.mjs +3 -0
  206. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/ebnfDiagram-FTPZ3PV6.mjs +1 -0
  207. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/erDiagram-H3ERR26V.mjs +99 -0
  208. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/eventmodeling-NTZA5JFV-WKSWQHFS.mjs +1 -0
  209. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/flowDiagram-YHGXBVSY.mjs +1 -0
  210. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/ganttDiagram-RWFTB7ED.mjs +292 -0
  211. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/gitGraph-4MIJSDKK-JH2HKYUO.mjs +1 -0
  212. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-MAR6GKOP.mjs +106 -0
  213. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/info-A6RAGUB7-3TX3OFWW.mjs +1 -0
  214. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/infoDiagram-LV547AFH.mjs +2 -0
  215. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/ishikawaDiagram-PUJQGNDS.mjs +70 -0
  216. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/journeyDiagram-EW5QJT4W.mjs +139 -0
  217. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/kanban-definition-JSQERAZB.mjs +89 -0
  218. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/katex-CZ4GXH2S.mjs +257 -0
  219. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/mindmap-definition-VBJCLQLM.mjs +96 -0
  220. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/packet-AYTQ26CC-MKII6P3Y.mjs +1 -0
  221. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/pegDiagram-7WILOQTJ.mjs +1 -0
  222. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/pie-WAS4IAKB-6B4OPMJ5.mjs +1 -0
  223. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/pieDiagram-EFA7CBSB.mjs +39 -0
  224. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/quadrantDiagram-WARVYA7P.mjs +7 -0
  225. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/radar-RG4KPBEZ-UPTR3XUL.mjs +1 -0
  226. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/railroad-74A4TZTK-MEFUPFMS.mjs +1 -0
  227. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/railroad-abnf-HS5TGJTU-R5YG2S5D.mjs +1 -0
  228. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/railroad-ebnf-LZEXJU2U-G5QEX2L6.mjs +1 -0
  229. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/railroad-peg-WCYAUIDC-H5I2ZRY2.mjs +1 -0
  230. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/railroadDiagram-5NIQVNLQ.mjs +1 -0
  231. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/requirementDiagram-SXREGOKZ.mjs +84 -0
  232. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/sankeyDiagram-VV74M2VP.mjs +40 -0
  233. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/sequenceDiagram-52ZFIFDL.mjs +162 -0
  234. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/sizeCapture-FGA5AGYP.mjs +1 -0
  235. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/stateDiagram-3QAKPIVI.mjs +1 -0
  236. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-HN2P4RDZ.mjs +1 -0
  237. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/swimlanes-QLVP42QD.mjs +1 -0
  238. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/swimlanesDiagram-JKPDBFCN.mjs +8 -0
  239. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/timeline-definition-GS45XAXW.mjs +120 -0
  240. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/treeView-Q6P3EWNA-ZRJGANNQ.mjs +1 -0
  241. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/treemap-WGGIJYW6-K64VN5AS.mjs +1 -0
  242. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/vennDiagram-QIQU2ZRJ.mjs +34 -0
  243. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/wardley-WFR3VGLG-D67OWCCH.mjs +1 -0
  244. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/wardleyDiagram-U6YNM66N.mjs +78 -0
  245. package/neural-interface/public/vendor/mermaid/chunks/mermaid.esm.min/xychartDiagram-XJAZEDNM.mjs +7 -0
  246. package/neural-interface/public/vendor/mermaid/manifest.json +4 -0
  247. package/neural-interface/public/vendor/mermaid/mermaid-11.17.2.esm.min.mjs +14 -0
  248. package/neural-interface/scripts/build-vendor.mjs +84 -3
  249. package/neural-interface/server.js +1099 -286
  250. package/npm-shrinkwrap.json +2 -2
  251. package/package.json +1 -1
  252. package/skills/synabun/modules/schedule.md +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ # SynaBun v.2.0.10
2
+
3
+ 2.0.10 works with OpenCode 2, adds a Settings › App page for updates and start at login, and opens menus, model lists and Settings at once instead of waiting on the network, most noticeably in the Windows desktop app. It also redesigns the Schedules window, shows every worker the Assistant dispatches at work, and closes a security hole in the Codex panel.
4
+
5
+ ## ✨ New
6
+
7
+ - **OpenCode 2** — With OpenCode 2 installed, every OpenCode feature in SynaBun failed. SynaBun now works with OpenCode 1 and OpenCode 2 alike: the OpenCode panel, the Assistant's OpenCode brain and workers, schedules, loops and Automation Studio, the code editor's AI autocomplete and session titles. It finds out which one you have and speaks to it accordingly.
8
+ - **Settings › App** — A new page in the SynaBun group of Settings, above About. **Updates** shows your version and the last check, with Check for updates, Install update and an **Automatic updates** switch (on by default). With it off, the desktop app still tells you about an update but downloads and installs nothing until you choose Install now, and an npm or Git install no longer checks on its own. **Start at login** (off by default) works on macOS, Windows and Linux, for the desktop app and for an npm or Git install, and can start SynaBun in the background. The desktop app adds **Keep running when the window closes** (Windows and Linux) and **Hardware acceleration**, and **Maintenance** opens the data or logs folder and restarts SynaBun.
9
+ - **Workers at work in the Assistant panel** — While a worker the Assistant dispatched is queued or running, its card shows a small live scene for the kind of task, its current step and a clock, also after the Assistant's own reply has ended and after a page reload. When the worker finishes, the card says Done, Failed or Stopped.
10
+ - **Remove a session** — Each row of the Assistant's Sessions menu has a remove button. It asks in the row, stops the session's running work and deletes the session; memories made from it are kept.
11
+
12
+ ## 🛠 Fixed
13
+
14
+ - **Codex panel security** — The Codex panel put a model's formatted reply into the page as it was, so HTML in a reply, in a quoted web page or in a file the model read could run inside SynaBun. Every Codex message, and every saved Codex and Claude Code transcript, now goes through the same strict filter as the other panels, and text agents write is escaped in the memory, terminal, whiteboard, Skills and Settings views. The Markdown, diagram, code-highlighting and screenshot libraries now ship with SynaBun instead of loading from a CDN, an SVG opened from the image gallery can no longer run anything, and a link whose scheme is hidden behind a tab, a line break or a character entity is no longer treated as a link to a file.
15
+ - **OpenCode only stops its own servers** — SynaBun now stops an OpenCode server only when it can prove that it started that server itself and that the SynaBun which started it has ended. A server left running by a SynaBun that crashed is cleaned up at the next start, your own OpenCode servers are left alone, and starts that happen at once no longer collide. On Windows, servers started through an npm-installed OpenCode are now tracked too.
16
+ - **Questions and approvals that wait on you** — Open OpenCode questions and permissions are read again after a reconnect or a page reload, so a turn's clock no longer runs while it waits on you, and a sub-agent's question keeps its parent waiting. A Codex approval no longer goes missing after a reload. Claude Code and Codex tabs and worker pills show "needs you" while they wait on a permission, a plan approval or a question, and a worker's card says "waiting for your answer".
17
+ - **Minimized session pills** — A minimized session's pill keeps its running animation for as long as the session works, in every provider: while the Assistant's workers run, while a Claude Code tab's background agents or shells run, after a Codex tab reconnects, and for the Assistant in a terminal tab. The way back from an OpenCode sub-agent now stays visible at every panel width, the Codex queue hint follows the tab on screen, and the Assistant's rack redraws right after a resize.
18
+ - **Schedules keep what you did not change** — Saving a schedule or a group could clear settings you never touched, such as a Codex account or a thinking level set to off, and changing a group's CLI could reset schedules that had changed meanwhile. The editors now save only what you changed, a list that fails to load says so instead of showing up empty, a group's new CLI reaches its schedules, and a day theme can be removed.
19
+ - **One update dialog at a time** — Opening the update dialog again from the badge, a notification or Settings no longer draws a second one over the first.
20
+ - **A lighter desktop title bar** — The desktop app no longer measures its title bar after every change on the page, which cost time on every chunk of streamed text and terminal output.
21
+
22
+ ## ⚙️ Changed
23
+
24
+ - **Menus, model lists and Settings open at once** — Model lists, provider lists, the Assistant's menus and Settings now open from what SynaBun read last and refresh in the background. In the Windows desktop app the Codex model list could take ten seconds, OpenCode's provider list over a second every time, and the whole server could stall for a few seconds; these lists are now read once at launch and kept between starts.
25
+ - **Assistant sessions are saved with your first message** — Opening the Assistant or a new session no longer stores an empty session, so the Sessions menu no longer fills with empty rows, and a session you close without chatting is not kept.
26
+ - **Schedules** — Schedules has its own button in the menubar, and its window is redesigned: views for Up next, All schedules, Needs attention, Paused, Timers and Activity, your groups beside them, search, rows with an on/off switch, the next and last run side by side, and details when you ask for them. Every dropdown in it is the app's own, with full keyboard support. Games and the 3D map's commands moved into the Apps menu.
27
+
28
+ ---
29
+
1
30
  # SynaBun v.2.0.9
2
31
 
3
32
  2.0.9 makes npm installs and updates more reliable, especially on Windows: SynaBun's dependencies are installed in one place at pinned versions, none of them runs its own install script, and the Windows updater closes the SynaBun processes your AI clients started before it replaces the package. A fresh install now starts with no memory categories, Codex on Windows no longer asks for administrator approval when SynaBun starts it, and the Assistant's account menu is easier to read.
package/README.md CHANGED
@@ -159,7 +159,7 @@ Everything SynaBun stores is in one folder outside the app: `~/.synabun` on macO
159
159
 
160
160
  ## Links
161
161
 
162
- - [Changelog](./CHANGELOG.md): what is new in 2.0.9 and before
162
+ - [Changelog](./CHANGELOG.md): what is new in 2.0.10 and before
163
163
  - [Security](./SECURITY.md): security model and how to report a vulnerability
164
164
  - [Contributing](./CONTRIBUTING.md): bug reports and feature requests are welcome as [issues](https://github.com/danilokhury/Synabun/issues); pull requests are not accepted
165
165
  - [Website](https://synabun.ai), [docs](https://synabun.ai/docs) and [blog](https://synabun.ai/blog)
@@ -75,9 +75,13 @@ runtime dependencies in the published package.
75
75
  | `@codemirror/search` | `6.7.2` | 6.7.2 | MIT | [npm](https://www.npmjs.com/package/@codemirror/search) |
76
76
  | `@codemirror/state` | `6.7.6` | 6.7.6 | MIT | [npm](https://www.npmjs.com/package/@codemirror/state) |
77
77
  | `@codemirror/view` | `6.43.14` | 6.43.14 | MIT | [npm](https://www.npmjs.com/package/@codemirror/view) |
78
+ | `@highlightjs/cdn-assets` | `11.12.0` | 11.12.0 | BSD-3-Clause | [npm](https://www.npmjs.com/package/@highlightjs/cdn-assets) |
78
79
  | `@lezer/highlight` | `1.2.5` | 1.2.5 | MIT | [npm](https://www.npmjs.com/package/@lezer/highlight) |
79
80
  | `@replit/codemirror-indentation-markers` | `6.5.3` | 6.5.3 | MIT | [npm](https://www.npmjs.com/package/@replit/codemirror-indentation-markers) |
80
81
  | `esbuild` | `^0.28.1` | 0.28.1 | MIT | [npm](https://www.npmjs.com/package/esbuild) |
82
+ | `html2canvas` | `1.4.1` | 1.4.1 | MIT | [npm](https://www.npmjs.com/package/html2canvas) |
83
+ | `marked` | `14.1.4` | 14.1.4 | MIT | [npm](https://www.npmjs.com/package/marked) |
84
+ | `mermaid` | `11.17.2` | 11.17.2 | MIT | [npm](https://www.npmjs.com/package/mermaid) |
81
85
  | `three` | `0.169.0` | 0.169.0 | MIT | [npm](https://www.npmjs.com/package/three) |
82
86
 
83
87
  ## Browser-Delivered and Bundled Components
@@ -86,10 +90,10 @@ runtime dependencies in the published package.
86
90
  | --- | --- | --- | --- | --- |
87
91
  | xterm.js | 6.0.0 | Bundled browser asset and npm dependency | MIT | [GitHub](https://github.com/xtermjs/xterm.js) |
88
92
  | three.js | 0.169.0 | Bundled browser asset (`neural-interface/public/vendor/three/`) built from the npm development dependency | MIT | [GitHub](https://github.com/mrdoob/three.js) |
89
- | marked | 14.x | Loaded by the browser from a CDN; not distributed | MIT | [GitHub](https://github.com/markedjs/marked) |
90
- | highlight.js | 11.x | Loaded by the browser from a CDN; not distributed | BSD-3-Clause | [GitHub](https://github.com/highlightjs/highlight.js) |
91
- | Mermaid | 11.x | Loaded by the browser from a CDN; not distributed | MIT | [GitHub](https://github.com/mermaid-js/mermaid) |
92
- | html2canvas | 1.4.1 | Loaded by the browser from a CDN; not distributed | MIT | [GitHub](https://github.com/niklasvh/html2canvas) |
93
+ | marked | 14.1.4 | Bundled browser asset (`neural-interface/public/vendor/marked/`) copied from the npm development dependency | MIT | [GitHub](https://github.com/markedjs/marked) |
94
+ | highlight.js | 11.12.0 | Bundled browser asset (`neural-interface/public/vendor/highlight/`) copied from the npm development dependency `@highlightjs/cdn-assets` | BSD-3-Clause | [GitHub](https://github.com/highlightjs/highlight.js) |
95
+ | Mermaid | 11.17.2 | Bundled browser asset (`neural-interface/public/vendor/mermaid/`) copied from the npm development dependency | MIT | [GitHub](https://github.com/mermaid-js/mermaid) |
96
+ | html2canvas | 1.4.1 | Bundled browser asset (`neural-interface/public/vendor/html2canvas/`) copied from the npm development dependency | MIT | [GitHub](https://github.com/niklasvh/html2canvas) |
93
97
 
94
98
  ### CodeMirror 6
95
99
 
@@ -114,6 +118,44 @@ Brought in by those, and in the bundle too (MIT, Copyright (C) Marijn Haverbeke
114
118
  - the Lezer parser runtime and grammars: `@lezer/common`, `@lezer/lr`, `@lezer/cpp`, `@lezer/css`, `@lezer/go`, `@lezer/html`, `@lezer/java`, `@lezer/javascript`, `@lezer/json`, `@lezer/markdown`, `@lezer/php`, `@lezer/python`, `@lezer/rust`, `@lezer/sass`, `@lezer/xml`, `@lezer/yaml`
115
119
  - `style-mod`, `w3c-keyname`, `crelt` and `@marijn/find-cluster-break`
116
120
 
121
+ ### marked
122
+
123
+ The Markdown parser of the Assistant and the Claude, Codex and OpenCode panels. Its own browser build (`lib/marked.esm.js`), copied by `neural-interface/scripts/build-vendor.mjs` into `neural-interface/public/vendor/marked/` with the package's `LICENSE.md`.
124
+
125
+ - **Version:** 14.1.4
126
+ - **License:** MIT (the license file also carries the BSD-style notice of the original Markdown.pl, Copyright © 2004 John Gruber)
127
+ - **Copyright:** Copyright (c) 2018+, MarkedJS; Copyright (c) 2011-2018, Christopher Jeffrey
128
+ - **URL:** https://github.com/markedjs/marked
129
+
130
+ ### mermaid
131
+
132
+ The diagrams of the Skills preview. Its own browser build (`dist/mermaid.esm.min.mjs` and the chunks it imports), copied by `neural-interface/scripts/build-vendor.mjs` into `neural-interface/public/vendor/mermaid/` with the package's `LICENSE`.
133
+
134
+ - **Version:** 11.17.2
135
+ - **License:** MIT
136
+ - **Copyright:** Copyright (c) 2014 - 2022 Knut Sveidqvist
137
+ - **URL:** https://github.com/mermaid-js/mermaid
138
+
139
+ Mermaid's build bundles its own dependencies, each under its own license: MIT (`@braintree/sanitize-url`, `@iconify/utils`, `@mermaid-js/parser`, `@upsetjs/venn.js`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `cose-base`, `layout-base`, `dagre-d3-es`, `dayjs`, `es-toolkit`, `katex`, `khroma`, `lodash-es`, `marked` 16, `roughjs` and its path helpers, `stylis`, `ts-dedent`, `uuid`), ISC (`d3` 7 and its `d3-*` modules, `internmap`, `delaunator`), BSD-3-Clause (`d3-sankey`, `d3-ease`, `rw` and the older `d3-array`, `d3-shape`, `d3-path` it brings), Apache-2.0 (`@chevrotain/types`), MPL-2.0 or Apache-2.0 (`dompurify`, used here under Apache-2.0) and the Unlicense (`robust-predicates`).
140
+
141
+ ### highlight.js
142
+
143
+ The Codex panel's code-block highlighting. The official browser build of the version whose stylesheet the panel loaded before (`@highlightjs/cdn-assets`: `highlight.min.js` and `styles/github-dark-dimmed.min.css`; the `highlight.js` package itself ships no browser build), copied by `neural-interface/scripts/build-vendor.mjs` into `neural-interface/public/vendor/highlight/` with the package's `LICENSE`.
144
+
145
+ - **Version:** 11.12.0
146
+ - **License:** BSD-3-Clause
147
+ - **Copyright:** Copyright (c) 2006, Ivan Sagalaev; Josh Goebel and other contributors
148
+ - **URL:** https://github.com/highlightjs/highlight.js
149
+
150
+ ### html2canvas
151
+
152
+ The card screenshot tool of the 3D map (`index.html`). Its own browser build (`dist/html2canvas.min.js`, which bundles `base64-arraybuffer`, `css-line-break`, `text-segmentation` and `utrie`, all MIT, by the same author), copied by `neural-interface/scripts/build-vendor.mjs` into `neural-interface/public/vendor/html2canvas/` with the package's `LICENSE`.
153
+
154
+ - **Version:** 1.4.1
155
+ - **License:** MIT
156
+ - **Copyright:** Copyright (c) 2012 Niklas von Hertzen
157
+ - **URL:** https://github.com/niklasvh/html2canvas
158
+
117
159
  ## Vendored Code
118
160
 
119
161
  | Component | Location | License | Project |
package/launcher.mjs CHANGED
@@ -9,19 +9,25 @@
9
9
  *
10
10
  * Registered by lib/start-launcher.js; can also be run by hand:
11
11
  * node launcher.mjs
12
+ *
13
+ * Start at login (Settings > App, neural-interface/lib/login-start.js) runs it
14
+ * with `--via=login --background`: the server starts with no window, and no
15
+ * page waits for a report.
12
16
  */
13
17
 
14
18
  import { dirname } from 'node:path';
15
19
  import { fileURLToPath } from 'node:url';
16
- import { BEACON_LINGER_MS, runLauncher } from './lib/start-launcher.js';
20
+ import { BEACON_LINGER_MS, parseLauncherArgs, runLauncher } from './lib/start-launcher.js';
17
21
 
18
22
  const packageRoot = dirname(fileURLToPath(import.meta.url));
19
23
 
20
24
  try {
21
25
  // The page that asked is offline and cannot ask a server how the start is
22
26
  // going: the launch reports itself on its beacon, and keeps a failure
23
- // readable there for a moment.
24
- const result = await runLauncher({ argv: process.argv.slice(2), packageRoot, beacon: true, lingerMs: BEACON_LINGER_MS });
27
+ // readable there for a moment. A start at login has no page.
28
+ const argv = process.argv.slice(2);
29
+ const login = parseLauncherArgs(argv).via === 'login';
30
+ const result = await runLauncher({ argv, packageRoot, beacon: !login, lingerMs: login ? 0 : BEACON_LINGER_MS });
25
31
  if (process.stdout.isTTY) {
26
32
  const said = {
27
33
  ignored: 'Nothing to do for that link.',
@@ -464,7 +464,8 @@ export function startLauncherState({
464
464
  * for anything else is ignored, and nothing from the link is ever passed on.
465
465
  */
466
466
  export function parseLauncherArgs(argv = []) {
467
- const out = { action: 'start', via: 'manual', dataHome: null, port: null, terminalScript: null, link: null };
467
+ // `--via=login --background`: a start at login (neural-interface/lib/login-start.js), with no window.
468
+ const out = { action: 'start', via: 'manual', dataHome: null, port: null, terminalScript: null, link: null, background: false };
468
469
  let afterDashes = false;
469
470
  for (let i = 0; i < argv.length; i++) {
470
471
  const arg = String(argv[i] ?? '');
@@ -476,6 +477,8 @@ export function parseLauncherArgs(argv = []) {
476
477
  if (afterDashes) continue; // whatever else follows `--` came from the link
477
478
  if (arg === '--') { afterDashes = true; continue; }
478
479
  if (arg === '--via=protocol') out.via = 'protocol';
480
+ else if (arg === '--via=login') out.via = 'login';
481
+ else if (arg === '--background') out.background = true;
479
482
  else if (arg === '--data-home') out.dataHome = argv[++i] || null;
480
483
  else if (arg === '--port') out.port = normalizePort(argv[++i]);
481
484
  else if (arg === '--terminal-script') out.terminalScript = argv[++i] || null;
@@ -1189,6 +1192,8 @@ export async function runLauncher({
1189
1192
  } = {}) {
1190
1193
  const args = parseLauncherArgs(argv);
1191
1194
  if (args.action !== 'start') return { outcome: 'ignored', code: 0, port: null };
1195
+ // A start at login asks for no window (no console, no Terminal) in its own arguments.
1196
+ background = background || args.background;
1192
1197
 
1193
1198
  const launchedAt = now();
1194
1199
  const since = () => `${Math.max(0, now() - launchedAt)} ms`;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "claude-memory-mcp",
3
- "version": "2.0.9",
3
+ "version": "2.0.10",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "claude-memory-mcp",
9
- "version": "2.0.9",
9
+ "version": "2.0.10",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@huggingface/transformers": "^3.0.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-memory-mcp",
3
- "version": "2.0.9",
3
+ "version": "2.0.10",
4
4
  "private": true,
5
5
  "description": "Private MCP server runtime bundled with SynaBun for persistent memory and agent tooling",
6
6
  "license": "Apache-2.0",
@@ -104,6 +104,7 @@
104
104
  "graph": "Graph",
105
105
  "skills": "Skills",
106
106
  "automations": "Automations",
107
+ "schedules": "Schedules",
107
108
  "games": "Games",
108
109
  "apps": "Apps",
109
110
  "bookmarks": "Bookmarks",
@@ -152,6 +153,7 @@
152
153
  "openCode": "OpenCode",
153
154
  "shell": "Shell",
154
155
  "browser": "Browser",
156
+ "browserApps": "Browser apps",
155
157
  "youtube": "YouTube",
156
158
  "showTerminal": "Show Terminal"
157
159
  }
@@ -1425,6 +1427,10 @@
1425
1427
  "about": {
1426
1428
  "label": "About",
1427
1429
  "help": "Version, links and licenses"
1430
+ },
1431
+ "app": {
1432
+ "label": "App",
1433
+ "help": "Updates, startup and the window"
1428
1434
  }
1429
1435
  },
1430
1436
  "page": {
@@ -1479,6 +1485,10 @@
1479
1485
  "about": {
1480
1486
  "title": "About",
1481
1487
  "purpose": "The version you run, what it runs on, and the open-source software SynaBun is built with."
1488
+ },
1489
+ "app": {
1490
+ "title": "App",
1491
+ "purpose": "How SynaBun updates, starts and runs on this computer."
1482
1492
  }
1483
1493
  },
1484
1494
  "section": {
@@ -1819,6 +1829,24 @@
1819
1829
  "title": "Dependencies",
1820
1830
  "purpose": "Every package SynaBun ships with, the version installed here and its license."
1821
1831
  }
1832
+ },
1833
+ "app": {
1834
+ "updates": {
1835
+ "title": "Updates",
1836
+ "purpose": "The version you run, and how SynaBun gets new ones."
1837
+ },
1838
+ "startup": {
1839
+ "title": "Startup",
1840
+ "purpose": "Whether SynaBun starts when you log in."
1841
+ },
1842
+ "window": {
1843
+ "title": "Window",
1844
+ "purpose": "What the SynaBun app's window does."
1845
+ },
1846
+ "maintenance": {
1847
+ "title": "Maintenance",
1848
+ "purpose": "SynaBun's folders, and a restart when something needs one."
1849
+ }
1822
1850
  }
1823
1851
  },
1824
1852
  "common": {
@@ -3479,6 +3507,50 @@
3479
3507
  "abt003": {
3480
3508
  "label": "Filter dependencies",
3481
3509
  "help": "Shows only the packages whose name contains what you type."
3510
+ },
3511
+ "sys001": {
3512
+ "label": "Check for updates",
3513
+ "help": "Looks for a newer version of SynaBun now."
3514
+ },
3515
+ "sys002": {
3516
+ "label": "Automatic updates",
3517
+ "help": "Looks for new versions by itself. In the desktop app it also installs them when SynaBun is idle."
3518
+ },
3519
+ "sys003": {
3520
+ "label": "Install update",
3521
+ "help": "Opens the update with its release notes, and a backup first if you want one."
3522
+ },
3523
+ "sys004": {
3524
+ "label": "Start at login",
3525
+ "help": "Starts SynaBun when you log in to this computer."
3526
+ },
3527
+ "sys005": {
3528
+ "label": "Start in the background",
3529
+ "help": "At login, SynaBun starts without opening its window. Open SynaBun to show it."
3530
+ },
3531
+ "sys006": {
3532
+ "label": "Keep running when the window closes",
3533
+ "help": "Closing the window leaves SynaBun in the tray, so your AI tools keep their memory. Off: closing the window quits SynaBun."
3534
+ },
3535
+ "sys007": {
3536
+ "label": "Hardware acceleration",
3537
+ "help": "Draws the window with the graphics card. Turn it off if the window flickers or stays blank. Applies after a restart."
3538
+ },
3539
+ "sys008": {
3540
+ "label": "Restart now",
3541
+ "help": "Quits SynaBun and opens it again."
3542
+ },
3543
+ "sys009": {
3544
+ "label": "Open data folder",
3545
+ "help": "Shows the folder with your memories, settings and backups."
3546
+ },
3547
+ "sys010": {
3548
+ "label": "Open logs folder",
3549
+ "help": "Shows the folder with SynaBun's logs, for a bug report."
3550
+ },
3551
+ "sys011": {
3552
+ "label": "Restart SynaBun",
3553
+ "help": "Restarts SynaBun's server: the same as Restart Server in the Apps menu."
3482
3554
  }
3483
3555
  },
3484
3556
  "pane": {
@@ -5729,7 +5801,8 @@
5729
5801
  "notifications": "alerts, sound, volume, banner, toast, mute, desktop notification",
5730
5802
  "appearance": "theme, dark mode, skin, color, font, text size, language, locale, icons, zoom, look",
5731
5803
  "code_editor": "editor, code, font, text size, word wrap, minimap, whitespace, indentation, tabs, autocomplete, completion, suggestions, copilot, ghost text, inline, ai, model, ollama, file",
5732
- "about": "version, GitHub, license, dependencies, Node, Electron, Chromium, system, update, credits, copyright, release notes, changelog"
5804
+ "about": "version, GitHub, license, dependencies, Node, Electron, Chromium, system, update, credits, copyright, release notes, changelog",
5805
+ "app": "updates, auto update, automatic updates, startup, start at login, launch at login, login items, boot, autostart, background, tray, menu bar, close window, quit, hardware acceleration, GPU, data folder, logs, restart, version"
5733
5806
  },
5734
5807
  "section": {
5735
5808
  "ai_connections": {
@@ -5835,6 +5908,12 @@
5835
5908
  "links": "GitHub, repository, releases, changelog, issue, bug report, website, docs, documentation, npm, license, Discord, community",
5836
5909
  "system": "version, Node, Node.js, Electron, Chromium, SQLite, operating system, OS, macOS, Windows, Linux, architecture, data folder, port, install, diagnostics",
5837
5910
  "dependencies": "packages, libraries, npm, licenses, open source, third party, versions, node_modules"
5911
+ },
5912
+ "app": {
5913
+ "updates": "update, auto update, automatic, check, version, upgrade, release, download, install, badge",
5914
+ "startup": "start at login, startup, boot, login items, autostart, launch, background, hidden, tray, minimized, LaunchAgent, systemd",
5915
+ "window": "close, tray, menu bar, quit, keep running, hardware acceleration, GPU, graphics, flicker, blank window",
5916
+ "maintenance": "data folder, logs, log files, restart, troubleshooting, diagnostics, folder, Finder, Explorer"
5838
5917
  }
5839
5918
  },
5840
5919
  "control": {
@@ -6021,6 +6100,70 @@
6021
6100
  "builtWith": "Built with open-source software"
6022
6101
  },
6023
6102
  "afterRestart": "Shown after SynaBun restarts."
6103
+ },
6104
+ "app": {
6105
+ "version": "SynaBun {version}",
6106
+ "update": {
6107
+ "checking": "Checking for updates…",
6108
+ "upToDate": "Up to date",
6109
+ "available": "Version {version} is available",
6110
+ "downloading": "Downloading version {version} ({percent}%)",
6111
+ "ready": "Version {version} is ready to install",
6112
+ "installing": "Installing version {version}",
6113
+ "failed": "The last check failed",
6114
+ "notChecked": "Not checked yet",
6115
+ "unsupported": "This copy does not update itself",
6116
+ "checkedAt": "checked at {time}",
6117
+ "autoHelpDesktop": "Downloads new versions and installs them when SynaBun is idle, after a one-minute notice. Off: SynaBun still checks and tells you, and you install with one click.",
6118
+ "autoHelpServer": "Looks for new versions when SynaBun starts and every half hour, and shows the update badge. Off: it looks only when you ask. Installing always asks first."
6119
+ },
6120
+ "startup": {
6121
+ "helpDesktop": "Opens SynaBun when you log in, so its server is ready for your AI tools.",
6122
+ "helpServer": "Starts SynaBun's server in the background when you log in, with no window or terminal.",
6123
+ "hiddenNeedsLogin": "Applies when SynaBun starts at login.",
6124
+ "requiresApproval": "macOS is waiting for you to allow SynaBun in System Settings > General > Login Items.",
6125
+ "disabledInSystem": {
6126
+ "darwin": "Turned off in System Settings > General > Login Items.",
6127
+ "win32": "Turned off in Windows Settings > Apps > Startup.",
6128
+ "linux": "Turned off in your desktop's startup applications."
6129
+ },
6130
+ "openSettings": {
6131
+ "darwin": "Open Login Items",
6132
+ "win32": "Open Startup apps"
6133
+ },
6134
+ "reason": {
6135
+ "unpackaged": "Only an installed copy of SynaBun can start at login.",
6136
+ "move-to-applications": "Move SynaBun to the Applications folder first.",
6137
+ "no-appimage": "Start SynaBun from its AppImage file to use this.",
6138
+ "not-here": "Not available in a test run or a temporary data folder.",
6139
+ "unsupported": "Not available on this system.",
6140
+ "desktop": "The SynaBun app sets this itself. Update the app to change it here."
6141
+ },
6142
+ "owner": "The SynaBun app opens at login on this data folder. Turn it off in the app first.",
6143
+ "replaced": "The npm install no longer starts at login: this app does now.",
6144
+ "error": {
6145
+ "refused": "The system did not accept the change.",
6146
+ "write-failed": "SynaBun could not write its startup entry.",
6147
+ "no-wscript": "Windows Script Host (wscript.exe) is missing, so SynaBun cannot start without a window.",
6148
+ "bad-path": "SynaBun cannot start at login from a folder whose name has % in it.",
6149
+ "desktop-app": "The SynaBun app opens at login on this data folder. Turn it off in the app first.",
6150
+ "npm-entry": "The npm install's start at login could not be removed. Turn it off there, then try again.",
6151
+ "save-failed": "SynaBun could not save this setting.",
6152
+ "network": "SynaBun did not answer. Try again."
6153
+ }
6154
+ },
6155
+ "window": {
6156
+ "desktopOnly": "Only in the SynaBun desktop app.",
6157
+ "macDock": "On macOS, SynaBun stays in the Dock when its window closes. Quit it from the menu.",
6158
+ "noTray": "This desktop shows no tray icon: open SynaBun again to show its window.",
6159
+ "restartNeeded": "Applies after SynaBun restarts."
6160
+ },
6161
+ "maintenance": {
6162
+ "openFailed": "The folder could not be opened."
6163
+ },
6164
+ "remote": "Open SynaBun on the computer it runs on to change these.",
6165
+ "serverOld": "These controls come with a restart of SynaBun's server.",
6166
+ "saveFailed": "Could not save the setting."
6024
6167
  }
6025
6168
  }
6026
6169
  },
@@ -6492,7 +6635,14 @@
6492
6635
  "sessions": {
6493
6636
  "empty": "No other sessions",
6494
6637
  "recent": "Recent",
6495
- "filter": "Filter sessions…"
6638
+ "filter": "Filter sessions…",
6639
+ "remove": "Remove session",
6640
+ "removeNamed": "Remove “{title}”",
6641
+ "removeAsk": "Remove “{title}” for good?",
6642
+ "removeStopsTurn": "Its running turn stops.",
6643
+ "removeStopsAgents": "Its running agents stop ({count}).",
6644
+ "removeConfirm": "Remove",
6645
+ "removeFailed": "Could not remove “{title}”: {error}"
6496
6646
  },
6497
6647
  "work": {
6498
6648
  "agents": "{count} agents",
@@ -7145,6 +7295,7 @@
7145
7295
  "awaitingRoute": "waiting for your model choice",
7146
7296
  "needsApproval": "needs approval",
7147
7297
  "needsInput": "needs input",
7298
+ "waitingInput": "waiting for your answer",
7148
7299
  "queued": "queued",
7149
7300
  "strongerModel": "a stronger model",
7150
7301
  "escalateTo": "Escalate to {label}",
@@ -7178,12 +7329,65 @@
7178
7329
  "showAll": "Show all",
7179
7330
  "stopAll": "Stop all",
7180
7331
  "empty": "No dispatched agents yet. Try /dispatch codex \"…\"",
7181
- "running": "{n} running",
7182
- "needsApproval": "{n} needs approval",
7183
- "done": "{n} finished",
7332
+ "running": {
7333
+ "one": "{count} running",
7334
+ "other": "{count} running"
7335
+ },
7336
+ "needsApproval": {
7337
+ "one": "{count} needs approval",
7338
+ "other": "{count} need approval"
7339
+ },
7340
+ "needsAnswer": {
7341
+ "one": "{count} waiting for your answer",
7342
+ "other": "{count} waiting for your answer"
7343
+ },
7344
+ "done": {
7345
+ "one": "{count} finished",
7346
+ "other": "{count} finished"
7347
+ },
7184
7348
  "emptyShort": "No dispatched agents yet.",
7185
7349
  "clearFinished": "Clear finished",
7186
- "idle": "{n} idle"
7350
+ "idle": {
7351
+ "one": "{count} idle",
7352
+ "other": "{count} idle"
7353
+ },
7354
+ "reveal": "{label}. Show it in the conversation",
7355
+ "working": "Agents at work",
7356
+ "more": {
7357
+ "one": "{count} more agent at work: show the list",
7358
+ "other": "{count} more agents at work: show the list"
7359
+ }
7360
+ },
7361
+ "stage": {
7362
+ "scene": {
7363
+ "quick": "Quick fix",
7364
+ "code": "Coding",
7365
+ "complex": "Complex task",
7366
+ "review": "Reviewing",
7367
+ "research": "Researching",
7368
+ "browser": "Browsing",
7369
+ "computer": "Using the computer",
7370
+ "automation": "Automating",
7371
+ "design": "Designing",
7372
+ "image_gen": "Making an image",
7373
+ "video_gen": "Making a video",
7374
+ "generic": "Working"
7375
+ },
7376
+ "doing": "{scene}…",
7377
+ "queued": "Queued",
7378
+ "queuedAt": "Queued · position {n}",
7379
+ "starting": "Starting…",
7380
+ "waitingApproval": "Waiting for your approval",
7381
+ "waitingInput": "Waiting for your answer",
7382
+ "waitingRoute": "Waiting for your model choice",
7383
+ "done": "Done",
7384
+ "failed": "Failed",
7385
+ "stopped": "Stopped",
7386
+ "underMinute": "under a minute",
7387
+ "minutes": {
7388
+ "one": "{count} min",
7389
+ "other": "{count} min"
7390
+ }
7187
7391
  },
7188
7392
  "composer": {
7189
7393
  "aria": "Message the assistant",
@@ -8581,7 +8785,7 @@
8581
8785
  },
8582
8786
  "explain-graph": {
8583
8787
  "title": "See your memory as a map",
8584
- "body": "Each memory is a point on the map, and categories form islands. The {menu} menu frames it, shows a memory's neighbours and rebuilds the layout.",
8788
+ "body": "Each memory is a point on the map, and categories form islands. The {menu} submenu of {apps} frames it, shows a memory's neighbours and rebuilds the layout.",
8585
8789
  "body2d": "Each memory is a node, linked to the memories related to it. The {menu} menu picks which links show and how many memories load, and resets the layout."
8586
8790
  },
8587
8791
  "explain-focus": {
@@ -8755,6 +8959,7 @@
8755
8959
  "tooltip": "SynaBun update available: v{current} → v{latest}",
8756
8960
  "tooltipDownloading": "Downloading SynaBun v{latest}",
8757
8961
  "tooltipReady": "SynaBun v{latest} is ready: it installs when SynaBun is idle",
8962
+ "tooltipReadyOff": "SynaBun v{latest} is ready to install",
8758
8963
  "titleAvailable": "Update available",
8759
8964
  "titleDownloading": "Downloading the update",
8760
8965
  "titleDownloaded": "Update ready",
@@ -8777,6 +8982,8 @@
8777
8982
  "hide": "Hide",
8778
8983
  "hideHint": "The download continues while this is hidden. SynaBun installs the update by itself when nothing is running.",
8779
8984
  "readyBody": "SynaBun v{version} is downloaded. It installs by itself once nothing is running: SynaBun shows a one-minute notice, then restarts into it. It also installs when you quit SynaBun.",
8985
+ "offBody": "Automatic updates are off. Install now downloads it and restarts SynaBun into it once nothing is running.",
8986
+ "readyBodyOff": "SynaBun v{version} is downloaded. Automatic updates are off: it installs when you choose Install now.",
8780
8987
  "waitingBody": "Waiting for: {list}.",
8781
8988
  "countdownBody": "SynaBun restarts into v{version} in {seconds} s.",
8782
8989
  "postponedBody": "Postponed until {time}. It also installs when you quit SynaBun.",
@@ -8793,12 +9000,14 @@
8793
9000
  "errorFallback": "SynaBun could not check for updates. Check the connection and try again.",
8794
9001
  "errorNext": "SynaBun keeps the version it runs and tries again at its next check. You can try now, or download the new version yourself.",
8795
9002
  "manualLink": "Download it yourself",
9003
+ "settingsLink": "Update settings",
8796
9004
  "close": "Close",
8797
9005
  "retry": "Try again",
8798
9006
  "testFeed": "test feed",
8799
9007
  "metaAvailable": "From the SynaBun app",
8800
9008
  "metaDownloading": "Downloading: {percent}%",
8801
9009
  "metaDownloaded": "Ready: installs when SynaBun is idle",
9010
+ "metaReadyOff": "Ready to install",
8802
9011
  "metaCountdown": "Restarting to install it",
8803
9012
  "metaPostponed": "Postponed: installs on quit or later"
8804
9013
  },
@@ -8845,6 +9054,8 @@
8845
9054
  "updateAvailableManualDetail": "This copy cannot replace itself where it is. Download the new disk image and install it the way you installed SynaBun.",
8846
9055
  "updateDownloading": "SynaBun v{version} is downloading",
8847
9056
  "updateAutoDetail": "SynaBun installs it by itself as soon as nothing is running, after a one-minute notice you can postpone. It also installs when you quit SynaBun.",
9057
+ "updateAvailableOffDetail": "Automatic updates are off. Install now downloads it and restarts SynaBun into it once nothing is running.",
9058
+ "updateReadyOffDetail": "Automatic updates are off: it installs when you choose Install now.",
8848
9059
  "installNow": "Install now",
8849
9060
  "downloadYourself": "Download it yourself",
8850
9061
  "countdownTitle": "Updating SynaBun to v{version}",