@cryptiklemur/lattice 1.46.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/README.md +14 -36
  2. package/bin/lattice +5 -21
  3. package/dist/client/assets/abap-DOv5zRgd.js +1 -0
  4. package/dist/client/assets/actionscript-3-D_b0n2Ff.js +1 -0
  5. package/dist/client/assets/ada-C6m8O36S.js +1 -0
  6. package/dist/client/assets/andromeeda-LdzAHaKR.js +1 -0
  7. package/dist/client/assets/angular-html-BBi1Szz5.js +1 -0
  8. package/dist/client/assets/angular-ts-2PMpSPqc.js +1 -0
  9. package/dist/client/assets/apache-CE7PmWoU.js +1 -0
  10. package/dist/client/assets/apex-DOfNfL0V.js +1 -0
  11. package/dist/client/assets/apl-B-NEtBvQ.js +1 -0
  12. package/dist/client/assets/applescript-D4zGaScB.js +1 -0
  13. package/dist/client/assets/ara-DMoCP0pJ.js +1 -0
  14. package/dist/client/assets/asciidoc-BkmPq932.js +1 -0
  15. package/dist/client/assets/asm-ClIKbvsu.js +1 -0
  16. package/dist/client/assets/astro-mxH1DA5Z.js +1 -0
  17. package/dist/client/assets/aurora-x-DTcNXZIS.js +1 -0
  18. package/dist/client/assets/awk-D1ZOsISX.js +1 -0
  19. package/dist/client/assets/ayu-dark-DpNcORnA.js +1 -0
  20. package/dist/client/assets/ayu-light-lHqf0ddo.js +1 -0
  21. package/dist/client/assets/ayu-mirage-Dji5RWiH.js +1 -0
  22. package/dist/client/assets/ballerina-H14_EqPr.js +1 -0
  23. package/dist/client/assets/bat-cyb3gF8B.js +1 -0
  24. package/dist/client/assets/beancount-D84pBacF.js +1 -0
  25. package/dist/client/assets/berry-B29XeKK4.js +1 -0
  26. package/dist/client/assets/bibtex-Hs7VvQaV.js +1 -0
  27. package/dist/client/assets/bicep-CugTE5CQ.js +1 -0
  28. package/dist/client/assets/bird2-mieRHotO.js +1 -0
  29. package/dist/client/assets/blade-BUQ9XSm3.js +1 -0
  30. package/dist/client/assets/bsl-BRmzGEWg.js +1 -0
  31. package/dist/client/assets/c-DrQixLw7.js +1 -0
  32. package/dist/client/assets/c3-Dx2gByXW.js +1 -0
  33. package/dist/client/assets/cadence-CCTSwj3w.js +1 -0
  34. package/dist/client/assets/cairo-CaIu88t6.js +1 -0
  35. package/dist/client/assets/catppuccin-frappe-DQrU04q0.js +1 -0
  36. package/dist/client/assets/catppuccin-latte-B_oiWZka.js +1 -0
  37. package/dist/client/assets/catppuccin-macchiato-D8VB2qi4.js +1 -0
  38. package/dist/client/assets/catppuccin-mocha-5vkMJ1Mb.js +1 -0
  39. package/dist/client/assets/clarity-BbUNTPrg.js +1 -0
  40. package/dist/client/assets/clojure-Bcw7lCta.js +1 -0
  41. package/dist/client/assets/cmake-DM0FE-T9.js +1 -0
  42. package/dist/client/assets/cobol-42amjOMh.js +1 -0
  43. package/dist/client/assets/codeowners-CBvEPOlS.js +1 -0
  44. package/dist/client/assets/codeql-CjS8Tp16.js +1 -0
  45. package/dist/client/assets/coffee-CMSEUKyy.js +1 -0
  46. package/dist/client/assets/common-lisp-BCx4dVK8.js +1 -0
  47. package/dist/client/assets/coq-Ddo7YIsR.js +1 -0
  48. package/dist/client/assets/cpp-C4yJBzl2.js +1 -0
  49. package/dist/client/assets/crystal-DZ27EoiA.js +1 -0
  50. package/dist/client/assets/csharp-Kzd7Ey2d.js +1 -0
  51. package/dist/client/assets/css-CdQwkSNm.js +1 -0
  52. package/dist/client/assets/csv-DGwgERVJ.js +1 -0
  53. package/dist/client/assets/cue-CMabdDG0.js +1 -0
  54. package/dist/client/assets/cypher-CJUzJAhQ.js +1 -0
  55. package/dist/client/assets/d-BvLF4qGs.js +1 -0
  56. package/dist/client/assets/dark-plus-BMwvn5lx.js +1 -0
  57. package/dist/client/assets/dart-DxXbDeKR.js +1 -0
  58. package/dist/client/assets/dax-BvrCypuS.js +1 -0
  59. package/dist/client/assets/desktop-BEul_kAS.js +1 -0
  60. package/dist/client/assets/diff-B7rhrwA5.js +1 -0
  61. package/dist/client/assets/dist-CBRIe7YG.js +153 -0
  62. package/dist/client/assets/docker-9Zbx0dQX.js +1 -0
  63. package/dist/client/assets/dotenv-C0epktMv.js +1 -0
  64. package/dist/client/assets/dracula-CBD4ckb0.js +1 -0
  65. package/dist/client/assets/dracula-soft-CuGBZj_h.js +1 -0
  66. package/dist/client/assets/dream-maker-D6UB367x.js +1 -0
  67. package/dist/client/assets/edge-J8VemHZC.js +1 -0
  68. package/dist/client/assets/elixir-DU66qSn_.js +1 -0
  69. package/dist/client/assets/elm-8cz1JjRg.js +1 -0
  70. package/dist/client/assets/emacs-lisp-DFyMFAZA.js +1 -0
  71. package/dist/client/assets/erb-DMl63J6s.js +1 -0
  72. package/dist/client/assets/erlang-LvhGhZI3.js +1 -0
  73. package/dist/client/assets/everforest-dark-BhFNrp2k.js +1 -0
  74. package/dist/client/assets/everforest-light-CpIbZ9aT.js +1 -0
  75. package/dist/client/assets/fennel-CH1ohGYX.js +1 -0
  76. package/dist/client/assets/fish-D2X4h_sR.js +1 -0
  77. package/dist/client/assets/fluent-B_In4uB6.js +1 -0
  78. package/dist/client/assets/fortran-fixed-form-BXvkHMbK.js +1 -0
  79. package/dist/client/assets/fortran-free-form-Bw_JZ1tj.js +1 -0
  80. package/dist/client/assets/fsharp-uxIU8dwY.js +1 -0
  81. package/dist/client/assets/gdresource-DkI-mZL2.js +1 -0
  82. package/dist/client/assets/gdscript-DDro0rs8.js +1 -0
  83. package/dist/client/assets/gdshader-DkUeC1ld.js +1 -0
  84. package/dist/client/assets/genie-khT2hrp-.js +1 -0
  85. package/dist/client/assets/gherkin-CPELKal0.js +1 -0
  86. package/dist/client/assets/git-commit-a3TktZ3A.js +1 -0
  87. package/dist/client/assets/git-rebase-DjlZL8cj.js +1 -0
  88. package/dist/client/assets/github-dark-DQp1Qkx5.js +1 -0
  89. package/dist/client/assets/github-dark-default-BroO-mT3.js +1 -0
  90. package/dist/client/assets/github-dark-dimmed-D8UZ8uTL.js +1 -0
  91. package/dist/client/assets/github-dark-high-contrast-CM0RRMCj.js +1 -0
  92. package/dist/client/assets/github-light-BRTmX4Ht.js +1 -0
  93. package/dist/client/assets/github-light-default-dl7biQ4g.js +1 -0
  94. package/dist/client/assets/github-light-high-contrast-Cvzq8ZXJ.js +1 -0
  95. package/dist/client/assets/gleam-7UVjplRF.js +1 -0
  96. package/dist/client/assets/glimmer-js-Fu7vOQY-.js +1 -0
  97. package/dist/client/assets/glimmer-ts-AJljRs0A.js +1 -0
  98. package/dist/client/assets/glsl-CfodGzSv.js +1 -0
  99. package/dist/client/assets/gn-EcrZPIZo.js +1 -0
  100. package/dist/client/assets/gnuplot-CcsFlqcz.js +1 -0
  101. package/dist/client/assets/go-TqNfhUhh.js +1 -0
  102. package/dist/client/assets/graphql-C8GPKPx1.js +1 -0
  103. package/dist/client/assets/groovy-bfrzFpSZ.js +1 -0
  104. package/dist/client/assets/gruvbox-dark-hard-CBFL_VqK.js +1 -0
  105. package/dist/client/assets/gruvbox-dark-medium-Dn18r-Yz.js +1 -0
  106. package/dist/client/assets/gruvbox-dark-soft-DUyKWd02.js +1 -0
  107. package/dist/client/assets/gruvbox-light-hard-DV9RwKs4.js +1 -0
  108. package/dist/client/assets/gruvbox-light-medium-Ba-VIg48.js +1 -0
  109. package/dist/client/assets/gruvbox-light-soft-CVIZMKFx.js +1 -0
  110. package/dist/client/assets/hack-Gp6OuE21.js +1 -0
  111. package/dist/client/assets/haml-BOyG6GfM.js +1 -0
  112. package/dist/client/assets/handlebars-B9IoVRxd.js +1 -0
  113. package/dist/client/assets/haskell-DzEtL6Zk.js +1 -0
  114. package/dist/client/assets/haxe-wLDEcRoz.js +1 -0
  115. package/dist/client/assets/hcl-C1fs3gTM.js +1 -0
  116. package/dist/client/assets/hjson-B4b85MZo.js +1 -0
  117. package/dist/client/assets/hlsl-JhqkHhML.js +1 -0
  118. package/dist/client/assets/horizon-DMOEeSnA.js +1 -0
  119. package/dist/client/assets/horizon-bright-CPVackS9.js +1 -0
  120. package/dist/client/assets/houston-DSlR9wH9.js +1 -0
  121. package/dist/client/assets/html-CFrSukiU.js +1 -0
  122. package/dist/client/assets/html-derivative-D0_gRK_M.js +1 -0
  123. package/dist/client/assets/http-D4MmFixi.js +1 -0
  124. package/dist/client/assets/hurl-D1xbk-LS.js +1 -0
  125. package/dist/client/assets/hxml-Bdi_kWeE.js +1 -0
  126. package/dist/client/assets/hy-uAHU8420.js +1 -0
  127. package/dist/client/assets/imba-CPCwfD-G.js +1 -0
  128. package/dist/client/assets/index-DrTbNMzI.css +2 -0
  129. package/dist/client/assets/index-ZIuI5BCP.js +284 -0
  130. package/dist/client/assets/ini-2Ew1Qzj6.js +1 -0
  131. package/dist/client/assets/java-CfPMY1Dv.js +1 -0
  132. package/dist/client/assets/javascript-B8vNHeqm.js +1 -0
  133. package/dist/client/assets/jinja-CF0K8bFV.js +1 -0
  134. package/dist/client/assets/jison-BP7my5TL.js +1 -0
  135. package/dist/client/assets/json-TeXNjpMZ.js +1 -0
  136. package/dist/client/assets/json5-Dl8gAgq4.js +1 -0
  137. package/dist/client/assets/jsonc-C9b23pMf.js +1 -0
  138. package/dist/client/assets/jsonl-DkF3QjsY.js +1 -0
  139. package/dist/client/assets/jsonnet-DH4UkOBo.js +1 -0
  140. package/dist/client/assets/jssm-CBV9_O8o.js +1 -0
  141. package/dist/client/assets/jsx-C86NmHc2.js +1 -0
  142. package/dist/client/assets/julia-C58U_aQP.js +1 -0
  143. package/dist/client/assets/just-h6Vco8Qu.js +1 -0
  144. package/dist/client/assets/kanagawa-dragon-DLDXA4f2.js +1 -0
  145. package/dist/client/assets/kanagawa-lotus-qAvw6eOU.js +1 -0
  146. package/dist/client/assets/kanagawa-wave-DFO_g5Mb.js +1 -0
  147. package/dist/client/assets/kdl-BQl-X5Uf.js +1 -0
  148. package/dist/client/assets/kotlin-d6oenWPH.js +1 -0
  149. package/dist/client/assets/kusto-Cpu9Tdho.js +1 -0
  150. package/dist/client/assets/laserwave-Bbquw0Nf.js +1 -0
  151. package/dist/client/assets/latex-DRsNisjT.js +1 -0
  152. package/dist/client/assets/lean-CvyEisyW.js +1 -0
  153. package/dist/client/assets/less-B9RQiV1N.js +1 -0
  154. package/dist/client/assets/light-plus-Ch1Usv7R.js +1 -0
  155. package/dist/client/assets/liquid-C9jXC9M7.js +1 -0
  156. package/dist/client/assets/llvm-DtrwjsAs.js +1 -0
  157. package/dist/client/assets/log-JKbKuM4J.js +1 -0
  158. package/dist/client/assets/logo-BsxZM_eb.js +1 -0
  159. package/dist/client/assets/lua-BUYvdn-F.js +1 -0
  160. package/dist/client/assets/luau-D9oeBRnv.js +1 -0
  161. package/dist/client/assets/make-DLuqI3Sa.js +1 -0
  162. package/dist/client/assets/markdown-hfQzyr6v.js +1 -0
  163. package/dist/client/assets/marko-BqB4tqw-.js +1 -0
  164. package/dist/client/assets/material-theme-darker-yvetTWEr.js +1 -0
  165. package/dist/client/assets/material-theme-kX26WiJU.js +1 -0
  166. package/dist/client/assets/material-theme-lighter-L4j3qddN.js +1 -0
  167. package/dist/client/assets/material-theme-ocean-BnNk1wNQ.js +1 -0
  168. package/dist/client/assets/material-theme-palenight-W0qbGyud.js +1 -0
  169. package/dist/client/assets/matlab-Cz4xBfaA.js +1 -0
  170. package/dist/client/assets/mdc-C8Rs68Nw.js +1 -0
  171. package/dist/client/assets/mdx-Crds6sJw.js +1 -0
  172. package/dist/client/assets/mermaid-Bk1sayFm.js +1 -0
  173. package/dist/client/assets/min-dark-DK6uq44k.js +1 -0
  174. package/dist/client/assets/min-light-lr1QiEOE.js +1 -0
  175. package/dist/client/assets/mipsasm-D3Vr1VJI.js +1 -0
  176. package/dist/client/assets/mojo-D3ai4ATt.js +1 -0
  177. package/dist/client/assets/monokai-DZSWSdmN.js +1 -0
  178. package/dist/client/assets/moonbit-c7XV1V8w.js +1 -0
  179. package/dist/client/assets/move--lg8RSZu.js +1 -0
  180. package/dist/client/assets/narrat-Bn_PlXDl.js +1 -0
  181. package/dist/client/assets/nextflow-DXxhyYjQ.js +1 -0
  182. package/dist/client/assets/nextflow-groovy-CUrXbMOF.js +1 -0
  183. package/dist/client/assets/nginx-Dj6E3HRL.js +1 -0
  184. package/dist/client/assets/night-owl-DnKT96OJ.js +1 -0
  185. package/dist/client/assets/night-owl-light-gVSh6ltn.js +1 -0
  186. package/dist/client/assets/nim-BizJb4iF.js +1 -0
  187. package/dist/client/assets/nix-DE1Q2B1F.js +1 -0
  188. package/dist/client/assets/nord-CbYaE7ZY.js +1 -0
  189. package/dist/client/assets/nushell-BBFYNdNE.js +1 -0
  190. package/dist/client/assets/objective-c-mc6rHp-y.js +1 -0
  191. package/dist/client/assets/objective-cpp-D96wcRis.js +1 -0
  192. package/dist/client/assets/ocaml-Ddt3E4VO.js +1 -0
  193. package/dist/client/assets/odin-BUZTfc03.js +1 -0
  194. package/dist/client/assets/one-dark-pro-CLMO01es.js +1 -0
  195. package/dist/client/assets/one-light-27sfjFDM.js +1 -0
  196. package/dist/client/assets/openscad-C-XxCD_t.js +1 -0
  197. package/dist/client/assets/pascal-BvJwb9Ca.js +1 -0
  198. package/dist/client/assets/perl-DnJAtWNn.js +1 -0
  199. package/dist/client/assets/php-BeY_VEeb.js +1 -0
  200. package/dist/client/assets/pkl-DtSDxyR8.js +1 -0
  201. package/dist/client/assets/plastic-Dd1-4HJb.js +1 -0
  202. package/dist/client/assets/plsql-CgEVu7mV.js +1 -0
  203. package/dist/client/assets/po-BNFx8QMG.js +1 -0
  204. package/dist/client/assets/poimandres-DdZFFINT.js +1 -0
  205. package/dist/client/assets/polar-DcGwqI2v.js +1 -0
  206. package/dist/client/assets/postcss-BgFCg0uM.js +1 -0
  207. package/dist/client/assets/powerquery-BNMZnWRc.js +1 -0
  208. package/dist/client/assets/powershell-CeNh_gMu.js +1 -0
  209. package/dist/client/assets/prisma-C4wKi9Xs.js +1 -0
  210. package/dist/client/assets/prolog-DcNkIfZZ.js +1 -0
  211. package/dist/client/assets/proto-BqsNb_Ru.js +1 -0
  212. package/dist/client/assets/pug-DXhFbVDh.js +1 -0
  213. package/dist/client/assets/puppet-BLvi8DVC.js +1 -0
  214. package/dist/client/assets/purescript-B_tjgp5s.js +1 -0
  215. package/dist/client/assets/python-xLLWlBd0.js +1 -0
  216. package/dist/client/assets/qml-CngzXsz8.js +1 -0
  217. package/dist/client/assets/qmldir-CDe6ORFD.js +1 -0
  218. package/dist/client/assets/qss-CvW7b9vz.js +1 -0
  219. package/dist/client/assets/r-BMmy9apu.js +1 -0
  220. package/dist/client/assets/racket-CA2oKVL1.js +1 -0
  221. package/dist/client/assets/raku-D9dEetfn.js +1 -0
  222. package/dist/client/assets/razor-kIo5DNUk.js +1 -0
  223. package/dist/client/assets/red-Cj1vpJ_n.js +1 -0
  224. package/dist/client/assets/reg-CHsE82Pk.js +1 -0
  225. package/dist/client/assets/regexp-BIa5IayX.js +1 -0
  226. package/dist/client/assets/rel-SUS6CYTF.js +1 -0
  227. package/dist/client/assets/riscv-xyAKa3qa.js +1 -0
  228. package/dist/client/assets/ron-D5BrJbC5.js +1 -0
  229. package/dist/client/assets/rose-pine-Dd0RAvir.js +1 -0
  230. package/dist/client/assets/rose-pine-dawn-CeS_2jlO.js +1 -0
  231. package/dist/client/assets/rose-pine-moon-CQrvtQEF.js +1 -0
  232. package/dist/client/assets/rosmsg-Bie95NPX.js +1 -0
  233. package/dist/client/assets/rst-McWv3WP0.js +1 -0
  234. package/dist/client/assets/ruby-CkenUDKe.js +1 -0
  235. package/dist/client/assets/rust-CAON_J-7.js +1 -0
  236. package/dist/client/assets/sas-Dgn9Yrr5.js +1 -0
  237. package/dist/client/assets/sass-CKkv3rB4.js +1 -0
  238. package/dist/client/assets/scala-BADlfUbE.js +1 -0
  239. package/dist/client/assets/scheme-Bv8vdcS_.js +1 -0
  240. package/dist/client/assets/scss-Tfn9jzBB.js +1 -0
  241. package/dist/client/assets/sdbl-TUdAkzzL.js +1 -0
  242. package/dist/client/assets/shaderlab-C5utLNvK.js +1 -0
  243. package/dist/client/assets/shellscript-vGpgBWOS.js +1 -0
  244. package/dist/client/assets/shellsession-7CA0dOzR.js +1 -0
  245. package/dist/client/assets/slack-dark-BeQrlvP4.js +1 -0
  246. package/dist/client/assets/slack-ochin-DaA1aBiy.js +1 -0
  247. package/dist/client/assets/smalltalk-C1k1DVft.js +1 -0
  248. package/dist/client/assets/snazzy-light-C9Bzvwcg.js +1 -0
  249. package/dist/client/assets/solarized-dark--ZJpQY8O.js +1 -0
  250. package/dist/client/assets/solarized-light-wzNWfjF2.js +1 -0
  251. package/dist/client/assets/solidity-CaEDdWYR.js +1 -0
  252. package/dist/client/assets/soy-DbBURueN.js +1 -0
  253. package/dist/client/assets/sparql-nVt1Q8sD.js +1 -0
  254. package/dist/client/assets/splunk-mpBjmHRA.js +1 -0
  255. package/dist/client/assets/sql-BJGtbEM8.js +1 -0
  256. package/dist/client/assets/ssh-config-DqmSAS3N.js +1 -0
  257. package/dist/client/assets/stata-L0kV9FQT.js +1 -0
  258. package/dist/client/assets/stylus-mNYBrtqL.js +1 -0
  259. package/dist/client/assets/surrealql-C17jcHRl.js +1 -0
  260. package/dist/client/assets/svelte-B5_CmVcu.js +1 -0
  261. package/dist/client/assets/swift-BXoR6L-y.js +1 -0
  262. package/dist/client/assets/synthwave-84-ybvkLGau.js +1 -0
  263. package/dist/client/assets/system-verilog-BnyrpGlO.js +1 -0
  264. package/dist/client/assets/systemd-BBVr_qxh.js +1 -0
  265. package/dist/client/assets/talonscript-l0qUQn2r.js +1 -0
  266. package/dist/client/assets/tasl-BzcMwPTS.js +1 -0
  267. package/dist/client/assets/tcl-CQgtyMkG.js +1 -0
  268. package/dist/client/assets/templ-C5f2EORt.js +1 -0
  269. package/dist/client/assets/terraform-BgPqtSWN.js +1 -0
  270. package/dist/client/assets/tex-DvaBtCMN.js +1 -0
  271. package/dist/client/assets/tokyo-night-BZt2NwCl.js +1 -0
  272. package/dist/client/assets/toml-CpHBCfVl.js +1 -0
  273. package/dist/client/assets/ts-tags-DlZzQdBU.js +1 -0
  274. package/dist/client/assets/tsv-DYxH1-vL.js +1 -0
  275. package/dist/client/assets/tsx-DaLOIju9.js +1 -0
  276. package/dist/client/assets/turtle-DdFFvP5J.js +1 -0
  277. package/dist/client/assets/twig-BB7320dl.js +1 -0
  278. package/dist/client/assets/typescript-D8B-VgXj.js +1 -0
  279. package/dist/client/assets/typespec-CHOxKRtr.js +1 -0
  280. package/dist/client/assets/typst-C0VS9TQm.js +1 -0
  281. package/dist/client/assets/v-CfOPGXPl.js +1 -0
  282. package/dist/client/assets/vala-DYqHmNOK.js +1 -0
  283. package/dist/client/assets/vb-DUBgqZ02.js +1 -0
  284. package/dist/client/assets/verilog-BxybH_AY.js +1 -0
  285. package/dist/client/assets/vesper-BDlBlJR-.js +1 -0
  286. package/dist/client/assets/vhdl-DBoxxi7I.js +1 -0
  287. package/dist/client/assets/viml-C8vROCgw.js +1 -0
  288. package/dist/client/assets/vitesse-black-CUBzmgJa.js +1 -0
  289. package/dist/client/assets/vitesse-dark-COrLBgkv.js +1 -0
  290. package/dist/client/assets/vitesse-light-ThZGgLQK.js +1 -0
  291. package/dist/client/assets/vue-DylGFDrG.js +1 -0
  292. package/dist/client/assets/vue-html-Dt8r3B9y.js +1 -0
  293. package/dist/client/assets/vue-vine-DdN02uhY.js +1 -0
  294. package/dist/client/assets/vyper-D08CaD4o.js +1 -0
  295. package/dist/client/assets/wasm-CoVafRYN.js +1 -0
  296. package/dist/client/assets/wasm-DiIFv9DE.js +1 -0
  297. package/dist/client/assets/wenyan-GlRgAbTB.js +1 -0
  298. package/dist/client/assets/wgsl-BmWpQFqb.js +1 -0
  299. package/dist/client/assets/wikitext-Axug2vPC.js +1 -0
  300. package/dist/client/assets/wit-Dk1fPIaK.js +1 -0
  301. package/dist/client/assets/wolfram-DMhXlmnL.js +1 -0
  302. package/dist/client/assets/xml-CBEuB6I0.js +1 -0
  303. package/dist/client/assets/xsl-CuhlgDL5.js +1 -0
  304. package/dist/client/assets/yaml-Da6ymghi.js +1 -0
  305. package/dist/client/assets/zenscript-x7PXwj2_.js +1 -0
  306. package/dist/client/assets/zig-BlD2NI35.js +1 -0
  307. package/dist/client/index.html +21 -0
  308. package/dist/client/manifest.webmanifest +1 -0
  309. package/dist/client/registerSW.js +1 -0
  310. package/dist/client/sw-push.js +53 -0
  311. package/dist/client/sw.js +1 -0
  312. package/dist/client/workbox-b51dd497.js +1 -0
  313. package/{client/index.html → index.html} +1 -1
  314. package/package.json +62 -14
  315. package/public/icons/icon-192.svg +11 -0
  316. package/public/icons/icon-512.svg +11 -0
  317. package/public/sw-push.js +53 -0
  318. package/{client/src → src/client}/components/analytics/AnalyticsView.tsx +70 -78
  319. package/{client/src → src/client}/components/analytics/ChartCard.tsx +8 -2
  320. package/{client/src → src/client}/components/analytics/QuickStats.tsx +12 -10
  321. package/{client/src → src/client}/components/analytics/charts/ActivityCalendar.tsx +5 -3
  322. package/{client/src → src/client}/components/analytics/charts/CacheEfficiencyChart.tsx +1 -1
  323. package/{client/src → src/client}/components/analytics/charts/ContextUtilizationChart.tsx +33 -25
  324. package/{client/src → src/client}/components/analytics/charts/CostAreaChart.tsx +4 -4
  325. package/{client/src → src/client}/components/analytics/charts/CostDistributionChart.tsx +1 -0
  326. package/{client/src → src/client}/components/analytics/charts/CostDonutChart.tsx +1 -0
  327. package/{client/src → src/client}/components/analytics/charts/CumulativeCostChart.tsx +1 -0
  328. package/{client/src → src/client}/components/analytics/charts/HourlyHeatmap.tsx +5 -3
  329. package/{client/src → src/client}/components/analytics/charts/ProjectRadar.tsx +30 -26
  330. package/{client/src → src/client}/components/analytics/charts/ResponseTimeScatter.tsx +16 -10
  331. package/{client/src → src/client}/components/analytics/charts/SessionBubbleChart.tsx +23 -16
  332. package/{client/src → src/client}/components/analytics/charts/SessionTimeline.tsx +5 -3
  333. package/{client/src → src/client}/components/analytics/charts/TokenFlowChart.tsx +3 -3
  334. package/{client/src → src/client}/components/analytics/charts/ToolSunburst.tsx +26 -23
  335. package/{client/src → src/client}/components/chat/ChatView.tsx +65 -96
  336. package/src/client/components/chat/ElicitationCard.tsx +235 -0
  337. package/{client/src → src/client}/components/chat/Message.tsx +261 -8
  338. package/{client/src → src/client}/components/chat/ModelSelector.tsx +29 -8
  339. package/src/client/components/settings/Appearance.tsx +275 -0
  340. package/{client/src → src/client}/components/settings/BudgetSettings.tsx +6 -2
  341. package/{client/src → src/client}/components/settings/Notifications.tsx +35 -0
  342. package/src/client/components/settings/ThemePreview.tsx +140 -0
  343. package/src/client/components/settings/ThemeWizard.tsx +405 -0
  344. package/{client/src → src/client}/components/sidebar/ProjectRail.tsx +43 -169
  345. package/{client/src → src/client}/components/sidebar/SessionList.tsx +27 -49
  346. package/{client/src → src/client}/components/sidebar/Sidebar.tsx +2 -6
  347. package/src/client/components/sidebar/UserIsland.tsx +282 -0
  348. package/{client/src → src/client}/components/sidebar/UserMenu.tsx +4 -2
  349. package/src/client/components/ui/ContextMenu.tsx +153 -0
  350. package/{client/src → src/client}/components/ui/PopupMenu.tsx +4 -2
  351. package/src/client/components/ui/SaveFooter.tsx +63 -0
  352. package/{client/src → src/client}/components/workspace/TabBar.tsx +17 -64
  353. package/{client/src → src/client}/hooks/useAnalytics.ts +17 -8
  354. package/src/client/hooks/usePushNotifications.ts +92 -0
  355. package/{client/src → src/client}/hooks/useSession.ts +123 -49
  356. package/{client/src → src/client}/hooks/useWebSocket.ts +0 -3
  357. package/src/client/lib/theme-derive.ts +196 -0
  358. package/{client/src → src/client}/stores/analytics.ts +20 -6
  359. package/{client/src → src/client}/stores/session.ts +63 -15
  360. package/{client/src → src/client}/stores/sidebar.ts +3 -1
  361. package/{client/src → src/client}/themes/index.ts +26 -0
  362. package/{server/src → src/server}/analytics/engine.ts +87 -30
  363. package/src/server/assets.ts +45 -0
  364. package/src/server/daemon.ts +547 -0
  365. package/{server/src → src/server}/handlers/analytics.ts +13 -8
  366. package/{server/src → src/server}/handlers/chat.ts +83 -1
  367. package/{server/src → src/server}/handlers/mesh.ts +3 -2
  368. package/{server/src → src/server}/handlers/plugins.ts +10 -13
  369. package/{server/src → src/server}/handlers/session.ts +7 -16
  370. package/{server/src → src/server}/handlers/settings.ts +3 -0
  371. package/{server/src → src/server}/handlers/skills.ts +7 -9
  372. package/src/server/handlers/themes.ts +121 -0
  373. package/{server/src → src/server}/handlers/update.ts +5 -23
  374. package/{server/src → src/server}/index.ts +100 -134
  375. package/{server/src → src/server}/mesh/connector.ts +1 -1
  376. package/{server/src → src/server}/project/context-breakdown.ts +4 -5
  377. package/{server/src → src/server}/project/pty-worker.cjs +1 -1
  378. package/{server/src → src/server}/project/sdk-bridge.ts +526 -428
  379. package/{server/src → src/server}/project/session.ts +117 -42
  380. package/{server/src → src/server}/project/terminal.ts +7 -24
  381. package/src/server/project/warmup.ts +285 -0
  382. package/src/server/push.ts +121 -0
  383. package/src/server/runtime.ts +1 -0
  384. package/src/server/tui.ts +103 -0
  385. package/{server/src → src/server}/update-checker.ts +10 -10
  386. package/{server/src → src/server}/ws/broadcast.ts +8 -8
  387. package/{server/src → src/server}/ws/router.ts +21 -25
  388. package/{shared/src → src/shared}/analytics.ts +1 -0
  389. package/{shared/src → src/shared}/constants.ts +1 -0
  390. package/{shared/src → src/shared}/messages.ts +151 -15
  391. package/{shared/src → src/shared}/models.ts +7 -1
  392. package/tsconfig.json +7 -8
  393. package/{client/vite.config.ts → vite.config.ts} +14 -18
  394. package/.editorconfig +0 -12
  395. package/.github/workflows/ci.yml +0 -81
  396. package/.github/workflows/release.yml +0 -87
  397. package/.impeccable.md +0 -66
  398. package/.releaserc.json +0 -33
  399. package/.serena/memories/code_style_and_conventions.md +0 -35
  400. package/.serena/memories/project_overview.md +0 -51
  401. package/.serena/memories/suggested_commands.md +0 -32
  402. package/.serena/memories/task_completion_checklist.md +0 -15
  403. package/.serena/project.yml +0 -152
  404. package/CLAUDE.md +0 -71
  405. package/CONTRIBUTING.md +0 -93
  406. package/bun.lock +0 -2246
  407. package/bunfig.toml +0 -2
  408. package/client/package.json +0 -43
  409. package/client/src/components/settings/Appearance.tsx +0 -152
  410. package/client/src/components/sidebar/UserIsland.tsx +0 -136
  411. package/client/src/components/ui/SaveFooter.tsx +0 -38
  412. package/client/tsconfig.json +0 -18
  413. package/install.sh +0 -71
  414. package/playwright.config.ts +0 -19
  415. package/scripts/build-binary.ts +0 -157
  416. package/scripts/postinstall.js +0 -31
  417. package/server/package.json +0 -24
  418. package/server/src/_generated/embedded-assets.ts +0 -2
  419. package/server/src/assets.ts +0 -69
  420. package/server/src/daemon.ts +0 -442
  421. package/server/src/runtime.ts +0 -4
  422. package/server/tsconfig.json +0 -20
  423. package/shared/package.json +0 -11
  424. package/shared/tsconfig.json +0 -15
  425. package/tests/accessibility.spec.ts +0 -77
  426. package/tests/keyboard-shortcuts.spec.ts +0 -70
  427. package/tests/message-actions.spec.ts +0 -112
  428. package/tests/onboarding.spec.ts +0 -72
  429. package/tests/session-flow.spec.ts +0 -117
  430. package/tests/session-preview.spec.ts +0 -83
  431. package/themes/amoled.json +0 -20
  432. package/themes/ayu-light.json +0 -9
  433. package/themes/catppuccin-latte.json +0 -9
  434. package/themes/catppuccin-mocha.json +0 -9
  435. package/themes/clay-light.json +0 -10
  436. package/themes/clay.json +0 -10
  437. package/themes/dracula.json +0 -9
  438. package/themes/everforest-light.json +0 -9
  439. package/themes/everforest.json +0 -9
  440. package/themes/github-light.json +0 -9
  441. package/themes/gruvbox-dark.json +0 -9
  442. package/themes/gruvbox-light.json +0 -9
  443. package/themes/monokai.json +0 -9
  444. package/themes/nord-light.json +0 -9
  445. package/themes/nord.json +0 -9
  446. package/themes/one-dark.json +0 -9
  447. package/themes/one-light.json +0 -9
  448. package/themes/rose-pine-dawn.json +0 -9
  449. package/themes/rose-pine.json +0 -9
  450. package/themes/solarized-dark.json +0 -9
  451. package/themes/solarized-light.json +0 -9
  452. package/themes/tokyo-night-light.json +0 -9
  453. package/themes/tokyo-night.json +0 -9
  454. package/tp.js +0 -19
  455. /package/{client/public → dist/client}/icons/icon-192.svg +0 -0
  456. /package/{client/public → dist/client}/icons/icon-512.svg +0 -0
  457. /package/{client/src → src/client}/App.tsx +0 -0
  458. /package/{client/src → src/client}/commands.ts +0 -0
  459. /package/{client/src → src/client}/components/analytics/PeriodSelector.tsx +0 -0
  460. /package/{client/src → src/client}/components/analytics/chartTokens.ts +0 -0
  461. /package/{client/src → src/client}/components/analytics/charts/DailySummaryCards.tsx +0 -0
  462. /package/{client/src → src/client}/components/analytics/charts/NodeFleetOverview.tsx +0 -0
  463. /package/{client/src → src/client}/components/analytics/charts/PermissionBreakdown.tsx +0 -0
  464. /package/{client/src → src/client}/components/analytics/charts/SessionComplexityList.tsx +0 -0
  465. /package/{client/src → src/client}/components/analytics/charts/TokenSankeyChart.tsx +0 -0
  466. /package/{client/src → src/client}/components/analytics/charts/ToolTreemap.tsx +0 -0
  467. /package/{client/src → src/client}/components/auth/PassphrasePrompt.tsx +0 -0
  468. /package/{client/src → src/client}/components/chat/AttachmentChips.tsx +0 -0
  469. /package/{client/src → src/client}/components/chat/ChatInput.tsx +0 -0
  470. /package/{client/src → src/client}/components/chat/CommandPalette.tsx +0 -0
  471. /package/{client/src → src/client}/components/chat/PermissionModeSelector.tsx +0 -0
  472. /package/{client/src → src/client}/components/chat/PromptQuestion.tsx +0 -0
  473. /package/{client/src → src/client}/components/chat/StatusBar.tsx +0 -0
  474. /package/{client/src → src/client}/components/chat/TodoCard.tsx +0 -0
  475. /package/{client/src → src/client}/components/chat/ToolGroup.tsx +0 -0
  476. /package/{client/src → src/client}/components/chat/ToolResultRenderer.tsx +0 -0
  477. /package/{client/src → src/client}/components/chat/VoiceRecorder.tsx +0 -0
  478. /package/{client/src → src/client}/components/chat/toolSummary.ts +0 -0
  479. /package/{client/src → src/client}/components/dashboard/DashboardView.tsx +0 -0
  480. /package/{client/src → src/client}/components/dashboard/ProjectDashboardView.tsx +0 -0
  481. /package/{client/src → src/client}/components/mesh/NodeBadge.tsx +0 -0
  482. /package/{client/src → src/client}/components/mesh/PairingDialog.tsx +0 -0
  483. /package/{client/src → src/client}/components/project-settings/ProjectClaude.tsx +0 -0
  484. /package/{client/src → src/client}/components/project-settings/ProjectEnvironment.tsx +0 -0
  485. /package/{client/src → src/client}/components/project-settings/ProjectGeneral.tsx +0 -0
  486. /package/{client/src → src/client}/components/project-settings/ProjectMcp.tsx +0 -0
  487. /package/{client/src → src/client}/components/project-settings/ProjectMemory.tsx +0 -0
  488. /package/{client/src → src/client}/components/project-settings/ProjectNotifications.tsx +0 -0
  489. /package/{client/src → src/client}/components/project-settings/ProjectPermissions.tsx +0 -0
  490. /package/{client/src → src/client}/components/project-settings/ProjectPlugins.tsx +0 -0
  491. /package/{client/src → src/client}/components/project-settings/ProjectRules.tsx +0 -0
  492. /package/{client/src → src/client}/components/project-settings/ProjectSettingsView.tsx +0 -0
  493. /package/{client/src → src/client}/components/project-settings/ProjectSkills.tsx +0 -0
  494. /package/{client/src → src/client}/components/settings/ClaudeSettings.tsx +0 -0
  495. /package/{client/src → src/client}/components/settings/Editor.tsx +0 -0
  496. /package/{client/src → src/client}/components/settings/Environment.tsx +0 -0
  497. /package/{client/src → src/client}/components/settings/GlobalMcp.tsx +0 -0
  498. /package/{client/src → src/client}/components/settings/GlobalMemory.tsx +0 -0
  499. /package/{client/src → src/client}/components/settings/GlobalPlugins.tsx +0 -0
  500. /package/{client/src → src/client}/components/settings/GlobalRules.tsx +0 -0
  501. /package/{client/src → src/client}/components/settings/GlobalSkills.tsx +0 -0
  502. /package/{client/src → src/client}/components/settings/MeshStatus.tsx +0 -0
  503. /package/{client/src → src/client}/components/settings/SettingsView.tsx +0 -0
  504. /package/{client/src → src/client}/components/settings/SkillMarketplace.tsx +0 -0
  505. /package/{client/src → src/client}/components/settings/mcp-shared.tsx +0 -0
  506. /package/{client/src → src/client}/components/settings/skill-shared.tsx +0 -0
  507. /package/{client/src → src/client}/components/setup/SetupWizard.tsx +0 -0
  508. /package/{client/src → src/client}/components/sidebar/AddProjectModal.tsx +0 -0
  509. /package/{client/src → src/client}/components/sidebar/NodeSettingsModal.tsx +0 -0
  510. /package/{client/src → src/client}/components/sidebar/ProjectDropdown.tsx +0 -0
  511. /package/{client/src → src/client}/components/sidebar/SearchFilter.tsx +0 -0
  512. /package/{client/src → src/client}/components/sidebar/SettingsSidebar.tsx +0 -0
  513. /package/{client/src → src/client}/components/ui/CommandPalette.tsx +0 -0
  514. /package/{client/src → src/client}/components/ui/ErrorBoundary.tsx +0 -0
  515. /package/{client/src → src/client}/components/ui/IconPicker.tsx +0 -0
  516. /package/{client/src → src/client}/components/ui/KeyboardShortcuts.tsx +0 -0
  517. /package/{client/src → src/client}/components/ui/LatticeLogomark.tsx +0 -0
  518. /package/{client/src → src/client}/components/ui/NodeDisconnectedOverlay.tsx +0 -0
  519. /package/{client/src → src/client}/components/ui/Toast.tsx +0 -0
  520. /package/{client/src → src/client}/components/ui/UpdateBanner.tsx +0 -0
  521. /package/{client/src → src/client}/components/ui/UpdatePrompt.tsx +0 -0
  522. /package/{client/src → src/client}/components/workspace/BookmarksView.tsx +0 -0
  523. /package/{client/src → src/client}/components/workspace/FileBrowser.tsx +0 -0
  524. /package/{client/src → src/client}/components/workspace/FileTree.tsx +0 -0
  525. /package/{client/src → src/client}/components/workspace/FileViewer.tsx +0 -0
  526. /package/{client/src → src/client}/components/workspace/NoteCard.tsx +0 -0
  527. /package/{client/src → src/client}/components/workspace/NotesView.tsx +0 -0
  528. /package/{client/src → src/client}/components/workspace/ScheduledTasksView.tsx +0 -0
  529. /package/{client/src → src/client}/components/workspace/SplitPane.tsx +0 -0
  530. /package/{client/src → src/client}/components/workspace/TaskCard.tsx +0 -0
  531. /package/{client/src → src/client}/components/workspace/TaskEditModal.tsx +0 -0
  532. /package/{client/src → src/client}/components/workspace/TerminalInstance.tsx +0 -0
  533. /package/{client/src → src/client}/components/workspace/TerminalView.tsx +0 -0
  534. /package/{client/src → src/client}/components/workspace/WorkspaceView.tsx +0 -0
  535. /package/{client/src → src/client}/hooks/useAttachments.ts +0 -0
  536. /package/{client/src → src/client}/hooks/useBookmarks.ts +0 -0
  537. /package/{client/src → src/client}/hooks/useEditorConfig.ts +0 -0
  538. /package/{client/src → src/client}/hooks/useFocusTrap.ts +0 -0
  539. /package/{client/src → src/client}/hooks/useIdleDetection.ts +0 -0
  540. /package/{client/src → src/client}/hooks/useInstallPrompt.ts +0 -0
  541. /package/{client/src → src/client}/hooks/useMesh.ts +0 -0
  542. /package/{client/src → src/client}/hooks/useNotifications.ts +0 -0
  543. /package/{client/src → src/client}/hooks/useOnline.ts +0 -0
  544. /package/{client/src → src/client}/hooks/useProjectSettings.ts +0 -0
  545. /package/{client/src → src/client}/hooks/useProjects.ts +0 -0
  546. /package/{client/src → src/client}/hooks/useSaveState.ts +0 -0
  547. /package/{client/src → src/client}/hooks/useSidebar.ts +0 -0
  548. /package/{client/src → src/client}/hooks/useSkills.ts +0 -0
  549. /package/{client/src → src/client}/hooks/useSpinnerVerb.ts +0 -0
  550. /package/{client/src → src/client}/hooks/useSwipeDrawer.ts +0 -0
  551. /package/{client/src → src/client}/hooks/useTheme.ts +0 -0
  552. /package/{client/src → src/client}/hooks/useTimeTick.ts +0 -0
  553. /package/{client/src → src/client}/hooks/useVoiceRecorder.ts +0 -0
  554. /package/{client/src → src/client}/hooks/useWorkspace.ts +0 -0
  555. /package/{client/src → src/client}/lib/workspace-url.ts +0 -0
  556. /package/{client/src → src/client}/main.tsx +0 -0
  557. /package/{client/src → src/client}/providers/WebSocketProvider.tsx +0 -0
  558. /package/{client/src → src/client}/router.tsx +0 -0
  559. /package/{client/src → src/client}/stores/bookmarks.ts +0 -0
  560. /package/{client/src → src/client}/stores/mesh.ts +0 -0
  561. /package/{client/src → src/client}/stores/theme.ts +0 -0
  562. /package/{client/src → src/client}/stores/workspace.ts +0 -0
  563. /package/{client/src → src/client}/styles/global.css +0 -0
  564. /package/{client/src → src/client}/styles/theme-vars.css +0 -0
  565. /package/{client/src → src/client}/utils/editorUrl.ts +0 -0
  566. /package/{client/src → src/client}/utils/findDuplicateKeys.ts +0 -0
  567. /package/{client/src → src/client}/utils/formatSessionTitle.ts +0 -0
  568. /package/{client/src → src/client}/vite-env.d.ts +0 -0
  569. /package/{server/src → src/server}/auth/passphrase.ts +0 -0
  570. /package/{server/src → src/server}/config.ts +0 -0
  571. /package/{server/src → src/server}/features/ralph-loop.ts +0 -0
  572. /package/{server/src → src/server}/features/scheduler.ts +0 -0
  573. /package/{server/src → src/server}/features/sticky-notes.ts +0 -0
  574. /package/{server/src → src/server}/handlers/attachment.ts +0 -0
  575. /package/{server/src → src/server}/handlers/bookmarks.ts +0 -0
  576. /package/{server/src → src/server}/handlers/editor.ts +0 -0
  577. /package/{server/src → src/server}/handlers/fs.ts +0 -0
  578. /package/{server/src → src/server}/handlers/loop.ts +0 -0
  579. /package/{server/src → src/server}/handlers/memory.ts +0 -0
  580. /package/{server/src → src/server}/handlers/notes.ts +0 -0
  581. /package/{server/src → src/server}/handlers/project-settings.ts +0 -0
  582. /package/{server/src → src/server}/handlers/scheduler.ts +0 -0
  583. /package/{server/src → src/server}/handlers/terminal.ts +0 -0
  584. /package/{server/src → src/server}/identity.ts +0 -0
  585. /package/{server/src → src/server}/logger.ts +0 -0
  586. /package/{server/src → src/server}/mesh/crypto.ts +0 -0
  587. /package/{server/src → src/server}/mesh/discovery.ts +0 -0
  588. /package/{server/src → src/server}/mesh/pairing.ts +0 -0
  589. /package/{server/src → src/server}/mesh/peers.ts +0 -0
  590. /package/{server/src → src/server}/mesh/proxy.ts +0 -0
  591. /package/{server/src → src/server}/mesh/session-sync.ts +0 -0
  592. /package/{server/src → src/server}/project/bookmarks.ts +0 -0
  593. /package/{server/src → src/server}/project/file-browser.ts +0 -0
  594. /package/{server/src → src/server}/project/project-files.ts +0 -0
  595. /package/{server/src → src/server}/project/registry.ts +0 -0
  596. /package/{server/src → src/server}/tls.ts +0 -0
  597. /package/{server/src → src/server}/ws/server.ts +0 -0
  598. /package/{shared/src → src/shared}/index.ts +0 -0
  599. /package/{shared/src → src/shared}/project-settings.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { AnalyticsPayload } from "./analytics.js";
1
+ import type { AnalyticsPayload, AnalyticsSectionName } from "./analytics.js";
2
2
  import type {
3
3
  FileEntry,
4
4
  HistoryMessage,
@@ -86,11 +86,45 @@ export interface ChatPermissionResponseMessage {
86
86
  alwaysAllowScope?: "session" | "project";
87
87
  }
88
88
 
89
- export interface ChatRewindMessage {
90
- type: "chat:rewind";
89
+ export interface ChatRewindPreviewMessage {
90
+ type: "chat:rewind_preview";
91
91
  messageUuid: string;
92
92
  }
93
93
 
94
+ export interface ChatRewindExecuteMessage {
95
+ type: "chat:rewind_execute";
96
+ messageUuid: string;
97
+ mode: "both" | "files" | "chat";
98
+ }
99
+
100
+ export interface ChatRewindPreviewResultMessage {
101
+ type: "chat:rewind_preview_result";
102
+ messageUuid: string;
103
+ canRewind: boolean;
104
+ error?: string;
105
+ filesChanged?: number;
106
+ insertions?: number;
107
+ deletions?: number;
108
+ }
109
+
110
+ export interface ChatRewindExecuteResultMessage {
111
+ type: "chat:rewind_execute_result";
112
+ messageUuid: string;
113
+ success: boolean;
114
+ error?: string;
115
+ }
116
+
117
+ export interface ChatMessageUuidMessage {
118
+ type: "chat:message_uuid";
119
+ uuid: string;
120
+ messageType: "user" | "assistant";
121
+ }
122
+
123
+ export interface ChatSetModelMessage {
124
+ type: "chat:set_model";
125
+ model: string;
126
+ }
127
+
94
128
  export interface ChatCancelMessage {
95
129
  type: "chat:cancel";
96
130
  }
@@ -425,11 +459,6 @@ export interface ProjectSettingsErrorMessage {
425
459
  message: string;
426
460
  }
427
461
 
428
- export interface SessionStopExternalMessage {
429
- type: "session:stop_external";
430
- sessionId: string;
431
- }
432
-
433
462
  export interface BudgetOverrideMessage {
434
463
  type: "budget:override";
435
464
  }
@@ -452,6 +481,18 @@ export interface AnalyticsDataMessage {
452
481
  data: AnalyticsPayload;
453
482
  }
454
483
 
484
+ export interface AnalyticsSectionMessage {
485
+ type: "analytics:section";
486
+ requestId: string;
487
+ section: AnalyticsSectionName;
488
+ data: Partial<AnalyticsPayload>;
489
+ }
490
+
491
+ export interface AnalyticsCompleteMessage {
492
+ type: "analytics:complete";
493
+ requestId: string;
494
+ }
495
+
455
496
  export interface AnalyticsErrorMessage {
456
497
  type: "analytics:error";
457
498
  scope: "global" | "project" | "session";
@@ -533,17 +574,66 @@ export interface UpdateApplyMessage {
533
574
  type: "update:apply";
534
575
  }
535
576
 
577
+ export interface ThemeListCustomMessage {
578
+ type: "theme:list_custom";
579
+ }
580
+
581
+ export interface ThemeSaveMessage {
582
+ type: "theme:save";
583
+ name: string;
584
+ author: string;
585
+ variant: "dark" | "light";
586
+ colors: Record<string, string>;
587
+ }
588
+
589
+ export interface ThemeDeleteMessage {
590
+ type: "theme:delete";
591
+ name: string;
592
+ }
593
+
594
+ export interface ChatElicitationRequestMessage {
595
+ type: "chat:elicitation_request";
596
+ requestId: string;
597
+ serverName: string;
598
+ message: string;
599
+ mode: "form" | "url";
600
+ url?: string | null;
601
+ requestedSchema?: Record<string, unknown> | null;
602
+ }
603
+
604
+ export interface ChatElicitationResponseMessage {
605
+ type: "chat:elicitation_response";
606
+ requestId: string;
607
+ action: "accept" | "decline";
608
+ content?: Record<string, unknown>;
609
+ }
610
+
611
+ export interface WarmupModelsMessage {
612
+ type: "warmup:models";
613
+ models: Array<{ value: string; displayName: string }>;
614
+ }
615
+
616
+ export interface WarmupAccountMessage {
617
+ type: "warmup:account";
618
+ email?: string;
619
+ organization?: string;
620
+ subscriptionType?: string;
621
+ apiKeySource?: string;
622
+ apiProvider?: string;
623
+ }
624
+
536
625
  export type ClientMessage =
537
626
  | SessionCreateMessage
538
627
  | SessionActivateMessage
539
628
  | SessionRenameMessage
540
629
  | SessionDeleteMessage
541
630
  | SessionListRequestMessage
542
- | SessionStopExternalMessage
543
631
  | ChatSendMessage
544
632
  | ChatPermissionResponseMessage
545
- | ChatRewindMessage
546
633
  | ChatCancelMessage
634
+ | ChatSetModelMessage
635
+ | ChatRewindPreviewMessage
636
+ | ChatRewindExecuteMessage
547
637
  | FsListMessage
548
638
  | FsReadMessage
549
639
  | FsWriteMessage
@@ -608,7 +698,11 @@ export type ClientMessage =
608
698
  | PluginDiscoverMessage
609
699
  | PluginErrorsMessage
610
700
  | UpdateCheckMessage
611
- | UpdateApplyMessage;
701
+ | UpdateApplyMessage
702
+ | ChatElicitationResponseMessage
703
+ | ThemeListCustomMessage
704
+ | ThemeSaveMessage
705
+ | ThemeDeleteMessage;
612
706
 
613
707
  export interface SessionListMessage {
614
708
  type: "session:list";
@@ -636,17 +730,20 @@ export interface SessionHistoryMessage {
636
730
  messages: HistoryMessage[];
637
731
  title?: string;
638
732
  interrupted?: boolean;
639
- busy?: boolean;
640
- busyOwner?: "cli" | "lattice";
641
733
  totalMessages?: number;
642
734
  hasMore?: boolean;
643
735
  }
644
736
 
737
+ export interface SessionLoadingProgressMessage {
738
+ type: "session:loading_progress";
739
+ sessionId: string;
740
+ fileSize: number | null;
741
+ }
742
+
645
743
  export interface SessionBusyMessage {
646
744
  type: "session:busy";
647
745
  sessionId: string;
648
746
  busy: boolean;
649
- busyOwner?: "cli" | "lattice";
650
747
  }
651
748
 
652
749
  export interface ChatUserMessage {
@@ -1027,6 +1124,21 @@ export interface UpdateApplyResultMessage {
1027
1124
  message?: string;
1028
1125
  }
1029
1126
 
1127
+ export interface ThemeCustomListMessage {
1128
+ type: "theme:custom_list";
1129
+ themes: Array<{ name: string; author: string; variant: string; filename: string; colors: Record<string, string> }>;
1130
+ }
1131
+
1132
+ export interface ThemeSavedMessage {
1133
+ type: "theme:saved";
1134
+ theme: { name: string; author: string; variant: string; filename: string; colors: Record<string, string> };
1135
+ }
1136
+
1137
+ export interface ThemeDeletedMessage {
1138
+ type: "theme:deleted";
1139
+ filename: string;
1140
+ }
1141
+
1030
1142
  export type ServerMessage =
1031
1143
  | SessionListMessage
1032
1144
  | SessionCreatedMessage
@@ -1091,6 +1203,8 @@ export type ServerMessage =
1091
1203
  | ChatTodoUpdateMessage
1092
1204
  | ChatPlanModeMessage
1093
1205
  | AnalyticsDataMessage
1206
+ | AnalyticsSectionMessage
1207
+ | AnalyticsCompleteMessage
1094
1208
  | AnalyticsErrorMessage
1095
1209
  | SessionPreviewMessage
1096
1210
  | SessionHistoryPageResultMessage
@@ -1107,7 +1221,29 @@ export type ServerMessage =
1107
1221
  | PluginDiscoverResultMessage
1108
1222
  | PluginErrorsResultMessage
1109
1223
  | UpdateStatusMessage
1110
- | UpdateApplyResultMessage;
1224
+ | UpdateApplyResultMessage
1225
+ | ChatElicitationRequestMessage
1226
+ | ChatRewindPreviewResultMessage
1227
+ | ChatRewindExecuteResultMessage
1228
+ | ChatMessageUuidMessage
1229
+ | WarmupModelsMessage
1230
+ | WarmupAccountMessage
1231
+ | ChatRateLimitMessage
1232
+ | ThemeCustomListMessage
1233
+ | ThemeSavedMessage
1234
+ | ThemeDeletedMessage
1235
+ | SessionLoadingProgressMessage;
1236
+
1237
+ export interface ChatRateLimitMessage {
1238
+ type: "chat:rate_limit";
1239
+ status: "allowed" | "allowed_warning" | "rejected";
1240
+ utilization?: number;
1241
+ resetsAt?: number;
1242
+ rateLimitType?: string;
1243
+ overageStatus?: string;
1244
+ overageResetsAt?: number;
1245
+ isUsingOverage?: boolean;
1246
+ }
1111
1247
 
1112
1248
  export interface BudgetStatusMessage {
1113
1249
  type: "budget:status";
@@ -61,7 +61,7 @@ export interface Attachment {
61
61
  lineCount?: number;
62
62
  }
63
63
 
64
- export type HistoryMessageType = "user" | "assistant" | "tool_start" | "tool_result" | "permission_request" | "prompt_question" | "todo_update";
64
+ export type HistoryMessageType = "user" | "assistant" | "tool_start" | "tool_result" | "permission_request" | "prompt_question" | "todo_update" | "elicitation" | "compact_summary";
65
65
 
66
66
  export interface HistoryMessage {
67
67
  type: HistoryMessageType;
@@ -95,6 +95,12 @@ export interface HistoryMessage {
95
95
  status: "pending" | "in_progress" | "completed";
96
96
  priority: "high" | "medium" | "low";
97
97
  }>;
98
+ elicitationMode?: "form" | "url";
99
+ elicitationServerName?: string;
100
+ elicitationMessage?: string;
101
+ elicitationUrl?: string | null;
102
+ elicitationSchema?: Record<string, unknown> | null;
103
+ elicitationStatus?: "pending" | "accepted" | "declined";
98
104
  }
99
105
 
100
106
  export interface PeerInfo {
package/tsconfig.json CHANGED
@@ -8,16 +8,15 @@
8
8
  "esModuleInterop": true,
9
9
  "allowSyntheticDefaultImports": true,
10
10
  "resolveJsonModule": true,
11
- "declaration": true,
12
- "declarationMap": true,
13
11
  "sourceMap": true,
14
- "composite": true,
15
- "incremental": true
12
+ "jsx": "react-jsx",
13
+ "paths": {
14
+ "@lattice/shared": ["./src/shared/index.ts"]
15
+ },
16
+ "types": ["node"]
16
17
  },
17
- "references": [
18
- { "path": "./shared" },
19
- { "path": "./server" },
20
- { "path": "./client" }
18
+ "include": [
19
+ "src/**/*"
21
20
  ],
22
21
  "exclude": [
23
22
  "node_modules",
@@ -1,9 +1,17 @@
1
+ import { resolve } from "node:path";
1
2
  import { defineConfig } from "vite";
2
3
  import react from "@vitejs/plugin-react";
3
4
  import tailwindcss from "@tailwindcss/vite";
4
5
  import { VitePWA } from "vite-plugin-pwa";
5
6
 
6
7
  export default defineConfig({
8
+ root: ".",
9
+ publicDir: "public",
10
+ resolve: {
11
+ alias: {
12
+ "@lattice/shared": resolve(__dirname, "src/shared/index.ts"),
13
+ },
14
+ },
7
15
  plugins: [
8
16
  tailwindcss(),
9
17
  react(),
@@ -50,26 +58,14 @@ export default defineConfig({
50
58
  },
51
59
  }),
52
60
  ],
61
+ build: {
62
+ outDir: "dist/client",
63
+ },
53
64
  server: {
54
65
  host: "0.0.0.0",
55
- open: true,
56
- proxy: {
57
- "/ws": {
58
- target: "ws://localhost:" + (process.env.LATTICE_PORT || "17654"),
59
- ws: true,
60
- configure: function (proxy) {
61
- proxy.on("error", function () {});
62
- proxy.on("proxyReqWs", function (_proxyReq, _req, socket) {
63
- socket.on("error", function () {});
64
- });
65
- },
66
- },
67
- "/api": {
68
- target: "http://localhost:" + (process.env.LATTICE_PORT || "17654"),
69
- configure: function (proxy) {
70
- proxy.on("error", function () {});
71
- },
72
- },
66
+ hmr: {
67
+ host: "localhost",
73
68
  },
69
+ open: true,
74
70
  },
75
71
  });
package/.editorconfig DELETED
@@ -1,12 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- indent_style = space
5
- indent_size = 2
6
- end_of_line = lf
7
- charset = utf-8
8
- trim_trailing_whitespace = true
9
- insert_final_newline = true
10
-
11
- [*.md]
12
- trim_trailing_whitespace = false
@@ -1,81 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- pull_request:
8
- branches:
9
- - main
10
-
11
- jobs:
12
- typecheck:
13
- name: Typecheck
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: Checkout
17
- uses: actions/checkout@v5
18
-
19
- - name: Setup Bun
20
- uses: oven-sh/setup-bun@v2
21
- with:
22
- bun-version: latest
23
-
24
- - name: Setup Node.js
25
- uses: actions/setup-node@v4
26
- with:
27
- node-version: 22
28
-
29
- - name: Cache bun install
30
- uses: actions/cache@v4
31
- with:
32
- path: ~/.bun/install/cache
33
- key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
34
- restore-keys: |
35
- ${{ runner.os }}-bun-
36
-
37
- - name: Install dependencies
38
- run: bun install --frozen-lockfile
39
-
40
- - name: Build shared types
41
- run: bunx tsc -p shared/tsconfig.json
42
-
43
- - name: Typecheck server
44
- run: bunx tsc --noEmit -p server/tsconfig.json
45
-
46
- - name: Typecheck client
47
- run: bunx tsc --noEmit -p client/tsconfig.json
48
-
49
- build:
50
- name: Build
51
- runs-on: ubuntu-latest
52
- steps:
53
- - name: Checkout
54
- uses: actions/checkout@v5
55
-
56
- - name: Setup Bun
57
- uses: oven-sh/setup-bun@v2
58
- with:
59
- bun-version: latest
60
-
61
- - name: Setup Node.js
62
- uses: actions/setup-node@v4
63
- with:
64
- node-version: 22
65
-
66
- - name: Cache bun install
67
- uses: actions/cache@v4
68
- with:
69
- path: ~/.bun/install/cache
70
- key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
71
- restore-keys: |
72
- ${{ runner.os }}-bun-
73
-
74
- - name: Install dependencies
75
- run: bun install --frozen-lockfile
76
-
77
- - name: Build client
78
- run: cd client && npx vite build
79
-
80
- # Playwright tests require a running server (localhost:7654)
81
- # Run locally with: bunx playwright test
@@ -1,87 +0,0 @@
1
- name: Release
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- permissions:
9
- contents: write
10
- issues: write
11
- pull-requests: write
12
- id-token: write
13
-
14
- jobs:
15
- release:
16
- name: Release
17
- runs-on: ubuntu-latest
18
- environment: npm
19
- outputs:
20
- new_release_published: ${{ steps.semantic.outputs.new_release_published }}
21
- new_release_version: ${{ steps.semantic.outputs.new_release_version }}
22
- steps:
23
- - name: Checkout
24
- uses: actions/checkout@v5
25
- with:
26
- fetch-depth: 0
27
-
28
- - name: Setup Bun
29
- uses: oven-sh/setup-bun@v2
30
- with:
31
- bun-version: latest
32
-
33
- - name: Setup Node.js
34
- uses: actions/setup-node@v5
35
- with:
36
- node-version: 24
37
-
38
- - name: Install dependencies
39
- run: bun install --frozen-lockfile
40
-
41
- - name: Build
42
- run: bun run build
43
-
44
- - name: Release
45
- id: semantic
46
- env:
47
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48
- run: |
49
- npx semantic-release
50
- TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
51
- if [ -n "$TAG" ]; then
52
- VERSION="${TAG#v}"
53
- echo "new_release_published=true" >> $GITHUB_OUTPUT
54
- echo "new_release_version=$VERSION" >> $GITHUB_OUTPUT
55
- else
56
- echo "new_release_published=false" >> $GITHUB_OUTPUT
57
- fi
58
-
59
- build-binaries:
60
- name: Build ${{ matrix.target }}
61
- needs: release
62
- if: needs.release.outputs.new_release_published == 'true'
63
- runs-on: ubuntu-latest
64
- strategy:
65
- matrix:
66
- target: [linux-x64, linux-arm64, darwin-x64, darwin-arm64]
67
- steps:
68
- - name: Checkout
69
- uses: actions/checkout@v5
70
- with:
71
- ref: v${{ needs.release.outputs.new_release_version }}
72
-
73
- - name: Setup Bun
74
- uses: oven-sh/setup-bun@v2
75
- with:
76
- bun-version: latest
77
-
78
- - name: Install dependencies
79
- run: bun install --frozen-lockfile
80
-
81
- - name: Build binary
82
- run: bun scripts/build-binary.ts --target=${{ matrix.target }} --version=${{ needs.release.outputs.new_release_version }}
83
-
84
- - name: Upload to GitHub Release
85
- env:
86
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
87
- run: gh release upload "v${{ needs.release.outputs.new_release_version }}" "dist/lattice-${{ matrix.target }}" --clobber
package/.impeccable.md DELETED
@@ -1,66 +0,0 @@
1
- # Lattice Design Context
2
-
3
- ## Users
4
- Single developer managing Claude Code across multiple machines. They're power users who value efficiency, keyboard shortcuts, and information density. They interact with Lattice as a command center — monitoring sessions, browsing files, running terminals, and chatting with Claude across their fleet of nodes.
5
-
6
- ## Brand Personality
7
- **Precise. Technical. Calm.**
8
-
9
- Lattice is a quiet authority — confident without being loud, technical without being intimidating. It respects the developer's attention and gets out of the way. Every pixel earns its place.
10
-
11
- ## Emotional Goals
12
- - **Control & Mastery**: "I have my entire fleet at my fingertips." The interface should communicate that the user is in command — clear status, predictable behavior, immediate feedback.
13
- - **Trust & Reliability**: "I can depend on this." Stability over novelty. Consistent patterns. No surprises. Professional confidence in every interaction.
14
-
15
- ## Aesthetic Direction
16
- - **Dark-first**: Deep, low-chroma backgrounds with precise accent colors. Light themes available but dark is the native habitat.
17
- - **Monospace DNA**: JetBrains Mono for headings and emphasis gives Lattice its terminal-rooted identity. IBM Plex Sans for readable body text.
18
- - **Topological motif**: The lattice grid (dot-grid backgrounds, node connection lines, the 2x2 logomark) is the recurring visual thread.
19
- - **Three surface tiers**: Chrome (sidebar/headers, `base-200`), Stage (chat area, `base-100` with dot-grid), Elevated (panels/modals, `base-300` with shadow).
20
- - **OKLCH color space**: Perceptually consistent colors across all 23 base16 themes.
21
- - **Utilitarian density**: Information-rich without clutter. Compact spacing, small type sizes, efficient use of space.
22
-
23
- ## Anti-patterns
24
- - No gratuitous animations or transitions — motion serves function only
25
- - No rounded-everything bubbly aesthetic — keep edges intentional
26
- - No pastel-heavy palettes in dark mode — maintain contrast authority
27
- - No emoji icons — lucide-react only
28
- - No "AI slop" aesthetics — avoid generic Inter/purple-gradient patterns
29
-
30
- ## Design Principles
31
-
32
- 1. **Earn every pixel**: Nothing decorative without function. If an element doesn't help the user understand state, take action, or navigate, remove it.
33
- 2. **Quiet confidence**: The interface communicates competence through consistency and precision, not through visual loudness or novelty.
34
- 3. **State is sacred**: Connection status, session state, node health — these must be instantly legible. Use color, position, and subtle animation to make state changes unmissable without being alarming.
35
- 4. **Dense but breathable**: Pack information efficiently but maintain clear visual hierarchy through type scale, opacity, and spacing — not through excessive whitespace.
36
- 5. **Theme-native**: Never hardcode colors. Every visual decision flows through CSS variables and the active base16 theme. A component should look correct in all 23 themes without special-casing.
37
-
38
- ## Accessibility Requirements
39
- - **WCAG AA** minimum contrast ratios
40
- - **Reduced motion**: Respect `prefers-reduced-motion` — disable non-essential animations, keep functional transitions minimal
41
- - **High contrast**: Support a dedicated high-contrast theme option for low-vision users
42
- - **Color blind safe**: Status indicators (online/offline, success/error/warning) must be distinguishable without relying on hue alone — use shape, icon, or label as secondary signal
43
- - **Mobile & responsive**: Support touch targets, responsive layouts, and gesture navigation for tablet/mobile use
44
- - **Keyboard-first**: All actions reachable via keyboard; visible focus indicators
45
-
46
- ## Typography Scale
47
- | Role | Font | Size | Weight | Tracking |
48
- |------|------|------|--------|----------|
49
- | Section label | JetBrains Mono | 11-12px | Bold | wider/widest, uppercase |
50
- | Body text | IBM Plex Sans | 14px | Regular | normal |
51
- | Secondary text | IBM Plex Sans | 13px | Regular | normal |
52
- | Muted/hint | IBM Plex Sans | 11px | Regular | normal |
53
- | Code/terminal | JetBrains Mono | 14px | Regular | normal |
54
- | Heading emphasis | JetBrains Mono | 17px | Bold | normal |
55
-
56
- ## Spacing Patterns
57
- - Standard padding: `px-4`, `py-2.5`, `gap-2`-`gap-3`
58
- - Compact list items: `px-3`, `py-1.5`
59
- - Input fields: `px-3`, `py-2.5`, `rounded-xl`
60
- - Section spacing: `pt-4`, `pb-2`
61
-
62
- ## Component Patterns
63
- - **Buttons**: daisyUI `btn` with ghost/primary/accent variants. Icon buttons use `btn-ghost btn-xs btn-square`.
64
- - **Inputs**: `bg-base-300 border border-base-content/15 rounded-xl`, focus: `border-primary`
65
- - **Opacity hierarchy**: `/70` secondary, `/40` muted labels, `/30` hints, `/15`-`/20` borders
66
- - **Surfaces**: Three tiers — chrome (`base-200`), stage (`base-100` + dot-grid), elevated (`base-300` + shadow)
package/.releaserc.json DELETED
@@ -1,33 +0,0 @@
1
- {
2
- "branches": [
3
- "main",
4
- {
5
- "name": "alpha",
6
- "prerelease": true
7
- }
8
- ],
9
- "plugins": [
10
- [
11
- "@semantic-release/commit-analyzer",
12
- {
13
- "preset": "angular"
14
- }
15
- ],
16
- [
17
- "@semantic-release/release-notes-generator",
18
- {
19
- "preset": "angular"
20
- }
21
- ],
22
- [
23
- "@semantic-release/npm",
24
- {
25
- "pkgRoot": ".",
26
- "npmPublish": true
27
- }
28
- ],
29
- [
30
- "@semantic-release/github"
31
- ]
32
- ]
33
- }
@@ -1,35 +0,0 @@
1
- # Code Style and Conventions
2
-
3
- ## JavaScript/TypeScript
4
- - Use `const`/`let` (NOT `var`)
5
- - Use named function declarations, not arrow functions — except for anonymous callbacks where arrows are fine
6
- - ESM throughout (server + client)
7
- - Follow .editorconfig: 2-space indent, LF line endings, UTF-8
8
-
9
- ## Icons
10
- - Use `lucide-react` for ALL icons
11
- - Import individually: `import { Settings, Moon } from "lucide-react"`
12
- - No emojis for icons or in UI
13
-
14
- ## Comments
15
- - No section separator comments (// ========)
16
- - No organizational header comments
17
- - Keep code clean without visual separators
18
-
19
- ## Design System
20
- - See `.impeccable.md` for comprehensive design guidelines
21
- - Dark-first with 23 base16 themes via OKLCH CSS variables
22
- - Tailwind + daisyUI component framework
23
- - Typography: JetBrains Mono (headings/code), IBM Plex Sans (body)
24
- - Three surface tiers: Chrome (base-200), Stage (base-100 + dot-grid), Elevated (base-300 + shadow)
25
- - Never hardcode colors — always use CSS variables/theme tokens
26
- - WCAG AA contrast, prefers-reduced-motion, keyboard-first
27
-
28
- ## Types
29
- - `HistoryMessage` uses a discriminated union type (`HistoryMessageType`)
30
- - Shared types in `shared/src/models.ts`
31
- - Message protocol in `shared/src/messages.ts`
32
- - All `var` in existing code is legacy — new code should use `const`/`let`
33
-
34
- ## Pre-existing Errors
35
- - DO NOT EVER LEAVE PRE-EXISTING ERRORS. FIX THEM.