@cryptiklemur/lattice 5.10.1-beta.1 → 5.12.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 (483) hide show
  1. package/dist/client/assets/{angular-html-D6m09EG8.js → angular-html-u7-FkTHq.js} +1 -1
  2. package/dist/client/assets/{angular-ts-BBq8Hbdf.js → angular-ts-BE8DugAt.js} +1 -1
  3. package/dist/client/assets/apl-CtfeVeo7.js +1 -0
  4. package/dist/client/assets/{apl-xC8C0X93.js → apl-vwkcGC98.js} +1 -1
  5. package/dist/client/assets/asciiarmor-D9t2jc8I.js +1 -0
  6. package/dist/client/assets/asn1-G8L642Gf.js +1 -0
  7. package/dist/client/assets/asterisk-DE-h77IU.js +1 -0
  8. package/dist/client/assets/{astro-vbKausOH.js → astro-D_KXdsxq.js} +1 -1
  9. package/dist/client/assets/{blade-DioaAET-.js → blade-CLWQA5YQ.js} +1 -1
  10. package/dist/client/assets/brainfuck-xriqAMlA.js +1 -0
  11. package/dist/client/assets/{bsl-BRmzGEWg.js → bsl-DI2KOR3D.js} +1 -1
  12. package/dist/client/assets/{c-B91mlIdk.js → c-CMDgDy3h.js} +1 -1
  13. package/dist/client/assets/{cairo-CaIu88t6.js → cairo-BLW1-yrm.js} +1 -1
  14. package/dist/client/assets/clike-DKxy6znE.js +1 -0
  15. package/dist/client/assets/clojure-BEypuZGB.js +1 -0
  16. package/dist/client/assets/cmake-CPOSjK1n.js +1 -0
  17. package/dist/client/assets/{cobol-DjlVBbCJ.js → cobol-9glAj1XI.js} +1 -1
  18. package/dist/client/assets/cobol-DeFy0o5A.js +1 -0
  19. package/dist/client/assets/{coffee-CPkMIjww.js → coffee-CB7sM38M.js} +1 -1
  20. package/dist/client/assets/coffeescript-DfLAkA9d.js +1 -0
  21. package/dist/client/assets/commonlisp-m15goeW5.js +1 -0
  22. package/dist/client/assets/{cpp-8m5goXOK.js → cpp-DvFsqT7C.js} +1 -1
  23. package/dist/client/assets/{crystal-CXphABcj.js → crystal-BSwdQRsq.js} +1 -1
  24. package/dist/client/assets/crystal-DkLvnJPs.js +1 -0
  25. package/dist/client/assets/css-D0210L0p.js +1 -0
  26. package/dist/client/assets/{css-CUkHaN8R.js → css-DtdGTk5D.js} +1 -1
  27. package/dist/client/assets/cypher-CasfIY7y.js +1 -0
  28. package/dist/client/assets/d-Cdn2AFnp.js +1 -0
  29. package/dist/client/assets/diff-CsQu64MQ.js +1 -0
  30. package/dist/client/assets/dist-7cPY2VfM.js +1 -0
  31. package/dist/client/assets/dist-B2Kmv4VP.js +12 -0
  32. package/dist/client/assets/dist-BDUIUwuP.js +1 -0
  33. package/dist/client/assets/dist-BGrEnzSd.js +2 -0
  34. package/dist/client/assets/dist-BOM8UXzu.js +9 -0
  35. package/dist/client/assets/dist-BqnKw1mg.js +1 -0
  36. package/dist/client/assets/dist-CH4ux_NV.js +1 -0
  37. package/dist/client/assets/dist-CVd9myNS.js +11 -0
  38. package/dist/client/assets/dist-Cbmj28I_.js +1 -0
  39. package/dist/client/assets/{dist-BssewFKQ.js → dist-DRbDL5Bd.js} +5 -5
  40. package/dist/client/assets/dist-DTdiyFXe.js +1 -0
  41. package/dist/client/assets/dist-DacYekBQ.js +1 -0
  42. package/dist/client/assets/dist-DpyvKyx4.js +1 -0
  43. package/dist/client/assets/dist-DrVgLaKG.js +1 -0
  44. package/dist/client/assets/dist-JAKtFuZo.js +1 -0
  45. package/dist/client/assets/dist-QgglNoJS.js +1 -0
  46. package/dist/client/assets/dist-VHLsuz98.js +1 -0
  47. package/dist/client/assets/dist-hfHNZoxo.js +1 -0
  48. package/dist/client/assets/dist-ntpDmu68.js +1 -0
  49. package/dist/client/assets/dist-ugNuVsVT.js +1 -0
  50. package/dist/client/assets/dockerfile-D4EJKg6d.js +1 -0
  51. package/dist/client/assets/dtd-Bm30AEAE.js +1 -0
  52. package/dist/client/assets/dylan-CXISgR5e.js +1 -0
  53. package/dist/client/assets/ebnf-B7L3kbeB.js +1 -0
  54. package/dist/client/assets/ecl-Bllw0JDE.js +1 -0
  55. package/dist/client/assets/{edge-DuRyfHAG.js → edge-ImH0CVa4.js} +1 -1
  56. package/dist/client/assets/eiffel-pn5EnCbJ.js +1 -0
  57. package/dist/client/assets/{elixir-Kh4tHsPU.js → elixir-BTA0pgnK.js} +1 -1
  58. package/dist/client/assets/elm-BW9HFysA.js +1 -0
  59. package/dist/client/assets/{elm-DP5BBq5g.js → elm-D8iE_p48.js} +1 -1
  60. package/dist/client/assets/{erb-CPwtAg8p.js → erb-DdN-YVLk.js} +1 -1
  61. package/dist/client/assets/{erlang-LvhGhZI3.js → erlang-CmwBywR-.js} +1 -1
  62. package/dist/client/assets/erlang-Ctl5tqvi.js +1 -0
  63. package/dist/client/assets/factor-B2iqLyvO.js +1 -0
  64. package/dist/client/assets/fcl-CHzzWDH7.js +1 -0
  65. package/dist/client/assets/forth-jxkuuQBT.js +1 -0
  66. package/dist/client/assets/fortran-T8ZhhRUi.js +1 -0
  67. package/dist/client/assets/{fortran-fixed-form-BXvkHMbK.js → fortran-fixed-form-TvXpM4F9.js} +1 -1
  68. package/dist/client/assets/{fsharp-uxIU8dwY.js → fsharp-CS-Pkz57.js} +1 -1
  69. package/dist/client/assets/gas-C6kAdB_8.js +1 -0
  70. package/dist/client/assets/{gdresource-DkI-mZL2.js → gdresource-CxeZzfg7.js} +1 -1
  71. package/dist/client/assets/gherkin-DKN-CEiy.js +1 -0
  72. package/dist/client/assets/{git-commit-a3TktZ3A.js → git-commit-Da7bdZ3Y.js} +1 -1
  73. package/dist/client/assets/{git-rebase-D7Y7VykT.js → git-rebase-D3qSdkTJ.js} +1 -1
  74. package/dist/client/assets/{glimmer-js-BUvQ43T_.js → glimmer-js-7YCCLNwO.js} +1 -1
  75. package/dist/client/assets/{glimmer-ts-DJuVunYJ.js → glimmer-ts-CDdu8Qd8.js} +1 -1
  76. package/dist/client/assets/{glsl-BiMffKEF.js → glsl-_nrZTA3g.js} +1 -1
  77. package/dist/client/assets/{graphql-DVujBgqT.js → graphql-7veyvoHL.js} +1 -1
  78. package/dist/client/assets/groovy-DUIj4WPu.js +1 -0
  79. package/dist/client/assets/{hack-3q6XAaux.js → hack-AP9w659y.js} +1 -1
  80. package/dist/client/assets/{haml-2tZ0yjTq.js → haml-CxFgqevH.js} +1 -1
  81. package/dist/client/assets/{handlebars-BXM_86F7.js → handlebars-C0QMthrf.js} +1 -1
  82. package/dist/client/assets/haskell-X-rGCpr_.js +1 -0
  83. package/dist/client/assets/haxe-C90FcyDF.js +1 -0
  84. package/dist/client/assets/{html-DD3u231D.js → html-BffHwMvJ.js} +1 -1
  85. package/dist/client/assets/{html-derivative-CsugPCRn.js → html-derivative-CYRBBGvG.js} +1 -1
  86. package/dist/client/assets/http-BKtm9NwN.js +1 -0
  87. package/dist/client/assets/{http-YDBoN0g2.js → http-Bde-CNYF.js} +1 -1
  88. package/dist/client/assets/{hurl-BK0VLIzz.js → hurl-CTqau0Ep.js} +1 -1
  89. package/dist/client/assets/{hxml-Bdi_kWeE.js → hxml-CGjKtqGT.js} +1 -1
  90. package/dist/client/assets/idl-SlIGMRhH.js +1 -0
  91. package/dist/client/assets/index-BBNq6BrR.js +581 -0
  92. package/dist/client/assets/index-BqaEsnA3.css +2 -0
  93. package/dist/client/assets/{java-DaXWRTJ3.js → java-Dj9ZhWOm.js} +1 -1
  94. package/dist/client/assets/javascript-C1CwuCil.js +1 -0
  95. package/dist/client/assets/{javascript-D8MAdpSq.js → javascript-CbKvVdrj.js} +1 -1
  96. package/dist/client/assets/{jinja-C4W9K1GV.js → jinja-uJK6XW_T.js} +1 -1
  97. package/dist/client/assets/{jison-DVxjxSXc.js → jison-CFAwedSj.js} +1 -1
  98. package/dist/client/assets/{json-yxP5bfsL.js → json-BqLSloeE.js} +1 -1
  99. package/dist/client/assets/{jsx-CVmtEgAW.js → jsx-D22SZoUE.js} +1 -1
  100. package/dist/client/assets/{julia-DYV2y1VD.js → julia-C0qhkiSe.js} +1 -1
  101. package/dist/client/assets/julia-DFoqV-f-.js +1 -0
  102. package/dist/client/assets/{just-DUWBFXa_.js → just-D2QihHiD.js} +1 -1
  103. package/dist/client/assets/{latex-D6BHuAKY.js → latex-B1ty0Fuq.js} +1 -1
  104. package/dist/client/assets/{liquid-pX028QHo.js → liquid-B7O5OkOo.js} +1 -1
  105. package/dist/client/assets/livescript-fL-Gs_1D.js +1 -0
  106. package/dist/client/assets/lua-DPWP-WrC.js +1 -0
  107. package/dist/client/assets/{lua-CrZQfADi.js → lua-DulTdQqC.js} +1 -1
  108. package/dist/client/assets/{marko-DPT7DbA-.js → marko-BtuEmp3R.js} +1 -1
  109. package/dist/client/assets/mathematica-uOx2kz-B.js +1 -0
  110. package/dist/client/assets/mbox-D92CR1CJ.js +1 -0
  111. package/dist/client/assets/{mdc-B440WyEa.js → mdc-C37zTB-h.js} +1 -1
  112. package/dist/client/assets/mirc-Ied37SW6.js +1 -0
  113. package/dist/client/assets/mllike-BTv2yt7Y.js +1 -0
  114. package/dist/client/assets/modelica-C4fphIHQ.js +1 -0
  115. package/dist/client/assets/mscgen-DW04m5e1.js +1 -0
  116. package/dist/client/assets/mumps-DTK8qu7D.js +1 -0
  117. package/dist/client/assets/{nextflow-DXxhyYjQ.js → nextflow-Cvs2ct76.js} +1 -1
  118. package/dist/client/assets/{nginx-Dk_bQ4Yj.js → nginx-stXqTRKc.js} +1 -1
  119. package/dist/client/assets/nginx-wuRafYuI.js +1 -0
  120. package/dist/client/assets/{nim-cPgQ4L-0.js → nim-CsJb3G7e.js} +1 -1
  121. package/dist/client/assets/nsis-BNo9jlCs.js +1 -0
  122. package/dist/client/assets/ntriples-CBC5Dh0s.js +1 -0
  123. package/dist/client/assets/octave-RJ0OJdYv.js +1 -0
  124. package/dist/client/assets/oz-C9wGyect.js +1 -0
  125. package/dist/client/assets/pascal-Ca57mNkb.js +1 -0
  126. package/dist/client/assets/{perl-CWFn5ond.js → perl-BWxc1iun.js} +1 -1
  127. package/dist/client/assets/perl-XipeIRz5.js +1 -0
  128. package/dist/client/assets/{php-CvNBGtIg.js → php-BdbNi3xs.js} +1 -1
  129. package/dist/client/assets/pig-57iTwSTb.js +1 -0
  130. package/dist/client/assets/powershell-Cl6BbjWW.js +1 -0
  131. package/dist/client/assets/properties-CUpF3p4b.js +1 -0
  132. package/dist/client/assets/protobuf-CSLtyyfN.js +1 -0
  133. package/dist/client/assets/{pug-F6vKbSyn.js → pug-8_aAnw9p.js} +1 -1
  134. package/dist/client/assets/pug-tUC5j5Z0.js +1 -0
  135. package/dist/client/assets/puppet-DSnog0v-.js +1 -0
  136. package/dist/client/assets/python-D0Kjo4_X.js +1 -0
  137. package/dist/client/assets/q-BzbOiVmg.js +1 -0
  138. package/dist/client/assets/{qml-DyOHEVPF.js → qml-B3ULUO-7.js} +1 -1
  139. package/dist/client/assets/{r-BZFfAnXR.js → r-CSrYo7D3.js} +1 -1
  140. package/dist/client/assets/r-dtKbSlFc.js +1 -0
  141. package/dist/client/assets/{razor-Cm_pxXFv.js → razor-C-E8kaVh.js} +1 -1
  142. package/dist/client/assets/{regexp-BRKWuKox.js → regexp-wINyl5st.js} +1 -1
  143. package/dist/client/assets/rpm-CyMjyX0l.js +1 -0
  144. package/dist/client/assets/{rst-BWcH6sbJ.js → rst-Dti6b94r.js} +1 -1
  145. package/dist/client/assets/{ruby-z5snpDGg.js → ruby-Bvljl0-N.js} +1 -1
  146. package/dist/client/assets/ruby-UpDQg5ds.js +1 -0
  147. package/dist/client/assets/sas-CaP3Rr5W.js +1 -0
  148. package/dist/client/assets/{sas-4jFEUh-p.js → sas-N3Cp8Utt.js} +1 -1
  149. package/dist/client/assets/scheme-CvqPEyph.js +1 -0
  150. package/dist/client/assets/{scss-BcID7jTl.js → scss-C7I5A9ky.js} +1 -1
  151. package/dist/client/assets/{shaderlab-C5utLNvK.js → shaderlab-Don9AZBL.js} +1 -1
  152. package/dist/client/assets/shell-BoHxI50V.js +1 -0
  153. package/dist/client/assets/{shellscript-Bg8L6Od0.js → shellscript-BMf0mGDu.js} +1 -1
  154. package/dist/client/assets/{shellsession-CmQ9QPst.js → shellsession-DyP83RaE.js} +1 -1
  155. package/dist/client/assets/sieve-BgCheMmy.js +1 -0
  156. package/dist/client/assets/simple-mode-DfidwQJh.js +1 -0
  157. package/dist/client/assets/smalltalk-t7otg6ln.js +1 -0
  158. package/dist/client/assets/solr-BX0e8Kv9.js +1 -0
  159. package/dist/client/assets/{soy-BpFIyqxX.js → soy-7Mh3vuoD.js} +1 -1
  160. package/dist/client/assets/sparql-82OTHp9C.js +1 -0
  161. package/dist/client/assets/{sparql-nVt1Q8sD.js → sparql-BL6CgR-R.js} +1 -1
  162. package/dist/client/assets/spreadsheet-Cax4jzUy.js +1 -0
  163. package/dist/client/assets/sql-B-GCIxdb.js +1 -0
  164. package/dist/client/assets/{sql-0exFQL7-.js → sql-CBNknhge.js} +1 -1
  165. package/dist/client/assets/{stata-DvY92nam.js → stata-gSfr4MpA.js} +1 -1
  166. package/dist/client/assets/stex-4iL5nWyp.js +1 -0
  167. package/dist/client/assets/stylus-DTeSICO9.js +1 -0
  168. package/dist/client/assets/{surrealql-Cw-Jgrl5.js → surrealql-BLaWeDsw.js} +1 -1
  169. package/dist/client/assets/{svelte-BneErU22.js → svelte-DbdbTnjR.js} +1 -1
  170. package/dist/client/assets/swift-BG4IS1ba.js +1 -0
  171. package/dist/client/assets/tcl-Dv8h2fZf.js +1 -0
  172. package/dist/client/assets/{templ-Dnkqy_8n.js → templ-B3Gv7rrn.js} +1 -1
  173. package/dist/client/assets/{tex-BxdAJFqf.js → tex-Cr9iATVB.js} +1 -1
  174. package/dist/client/assets/textile-CivEdSk-.js +1 -0
  175. package/dist/client/assets/tiddlywiki-q6qX3kCQ.js +1 -0
  176. package/dist/client/assets/tiki-C5MPAC7Z.js +1 -0
  177. package/dist/client/assets/toml-4Y1WOP_Q.js +1 -0
  178. package/dist/client/assets/troff-cGxjhI7S.js +1 -0
  179. package/dist/client/assets/{ts-tags-oAz_19BM.js → ts-tags-BXP2IdpZ.js} +1 -1
  180. package/dist/client/assets/{tsx-BeHgXqoc.js → tsx-CjSRRT1y.js} +1 -1
  181. package/dist/client/assets/ttcn-cfg-1D-6UX0A.js +1 -0
  182. package/dist/client/assets/ttcn-p6dROhnp.js +1 -0
  183. package/dist/client/assets/turtle-CTAvtFCG.js +1 -0
  184. package/dist/client/assets/{twig-BcjKasxp.js → twig-BOSfeIcS.js} +1 -1
  185. package/dist/client/assets/{typescript-CCiyYFTo.js → typescript-B0IbyyXR.js} +1 -1
  186. package/dist/client/assets/vb-ClSsLMsa.js +1 -0
  187. package/dist/client/assets/vbscript-ekGC3C_A.js +1 -0
  188. package/dist/client/assets/velocity-n3KN2p0e.js +1 -0
  189. package/dist/client/assets/verilog-CK7xX9OB.js +1 -0
  190. package/dist/client/assets/vhdl-D-avMEiw.js +1 -0
  191. package/dist/client/assets/{vue-DVWxXyVo.js → vue-I0cA8DRe.js} +1 -1
  192. package/dist/client/assets/{vue-html-DbSydaRs.js → vue-html-CQZ8e6ga.js} +1 -1
  193. package/dist/client/assets/{vue-vine-CZjkcCsd.js → vue-vine-SbGWY_cx.js} +1 -1
  194. package/dist/client/assets/webidl-CvRo18Et.js +1 -0
  195. package/dist/client/assets/{xml-CFx3Qtzw.js → xml-YOHFVmNI.js} +1 -1
  196. package/dist/client/assets/xquery-DZdYf9U3.js +1 -0
  197. package/dist/client/assets/{xsl-D0kNsWrm.js → xsl-CUy0cPIN.js} +1 -1
  198. package/dist/client/assets/yacas-CzRJxclb.js +1 -0
  199. package/dist/client/assets/{yaml-afCjX0q1.js → yaml-lJdieEA8.js} +1 -1
  200. package/dist/client/assets/z80-CbgddEXB.js +1 -0
  201. package/dist/client/index.html +4 -2
  202. package/dist/client/sw.js +1 -1
  203. package/dist/server/analytics/engine.js +241 -241
  204. package/dist/server/assets.js +4 -4
  205. package/dist/server/auth/passphrase.js +13 -13
  206. package/dist/server/config.js +7 -7
  207. package/dist/server/daemon.js +93 -93
  208. package/dist/server/features/brainstorm.js +42 -42
  209. package/dist/server/features/ralph-loop.js +33 -33
  210. package/dist/server/features/scheduler.js +53 -53
  211. package/dist/server/features/specs.js +54 -54
  212. package/dist/server/features/sticky-notes.js +17 -17
  213. package/dist/server/features/superpowers.js +24 -24
  214. package/dist/server/handlers/analytics.js +1 -1
  215. package/dist/server/handlers/attachment.js +32 -32
  216. package/dist/server/handlers/bookmarks.js +4 -4
  217. package/dist/server/handlers/brainstorm.js +4 -4
  218. package/dist/server/handlers/chat.js +54 -54
  219. package/dist/server/handlers/editor.js +13 -13
  220. package/dist/server/handlers/fs.js +51 -51
  221. package/dist/server/handlers/hooks.js +20 -20
  222. package/dist/server/handlers/loop.js +6 -6
  223. package/dist/server/handlers/memory.js +44 -44
  224. package/dist/server/handlers/mesh.js +60 -60
  225. package/dist/server/handlers/notes.js +7 -7
  226. package/dist/server/handlers/plugins.js +174 -174
  227. package/dist/server/handlers/project-settings.js +26 -26
  228. package/dist/server/handlers/scheduler.js +6 -6
  229. package/dist/server/handlers/session.js +24 -24
  230. package/dist/server/handlers/settings.js +21 -21
  231. package/dist/server/handlers/skills.js +91 -91
  232. package/dist/server/handlers/specs.js +51 -28
  233. package/dist/server/handlers/terminal.js +13 -13
  234. package/dist/server/handlers/themes.js +21 -21
  235. package/dist/server/handlers/update.js +17 -17
  236. package/dist/server/identity.js +6 -6
  237. package/dist/server/index.js +111 -111
  238. package/dist/server/logger.js +1 -1
  239. package/dist/server/mesh/connector.js +78 -78
  240. package/dist/server/mesh/crypto.js +20 -20
  241. package/dist/server/mesh/discovery.js +14 -14
  242. package/dist/server/mesh/pairing.js +30 -30
  243. package/dist/server/mesh/peers.js +10 -10
  244. package/dist/server/mesh/proxy.js +14 -14
  245. package/dist/server/mesh/session-sync.js +23 -23
  246. package/dist/server/project/bookmarks.js +11 -11
  247. package/dist/server/project/context-breakdown.js +70 -70
  248. package/dist/server/project/file-browser.js +17 -17
  249. package/dist/server/project/project-files.js +68 -68
  250. package/dist/server/project/registry.js +10 -10
  251. package/dist/server/project/sdk-bridge.js +157 -157
  252. package/dist/server/project/session.js +201 -199
  253. package/dist/server/project/terminal.js +15 -15
  254. package/dist/server/project/warmup.js +38 -37
  255. package/dist/server/push.js +11 -11
  256. package/dist/server/runtime.js +1 -1
  257. package/dist/server/tls.js +15 -15
  258. package/dist/server/tui.js +15 -15
  259. package/dist/server/update-checker.js +21 -21
  260. package/dist/server/ws/broadcast.js +18 -18
  261. package/dist/server/ws/router.js +17 -17
  262. package/dist/shared/constants.js +8 -8
  263. package/package.json +7 -7
  264. package/dist/client/assets/index-Be0f1i2O.js +0 -659
  265. package/dist/client/assets/index-DlfI20Gn.css +0 -2
  266. /package/dist/client/assets/{abap-DOv5zRgd.js → abap-Cmj0Nk-Z.js} +0 -0
  267. /package/dist/client/assets/{actionscript-3-D_b0n2Ff.js → actionscript-3-BmgSZ1d1.js} +0 -0
  268. /package/dist/client/assets/{ada-C6m8O36S.js → ada-Ckd7rwvB.js} +0 -0
  269. /package/dist/client/assets/{andromeeda-LdzAHaKR.js → andromeeda-B6e4eNz0.js} +0 -0
  270. /package/dist/client/assets/{apache-CE7PmWoU.js → apache-Bvd3DK8C.js} +0 -0
  271. /package/dist/client/assets/{apex-DOfNfL0V.js → apex-BXVnN85f.js} +0 -0
  272. /package/dist/client/assets/{applescript-D4zGaScB.js → applescript-D5_ugV3G.js} +0 -0
  273. /package/dist/client/assets/{ara-DMoCP0pJ.js → ara-DAwwS7gl.js} +0 -0
  274. /package/dist/client/assets/{asciidoc-BkmPq932.js → asciidoc-CVdUBRc9.js} +0 -0
  275. /package/dist/client/assets/{asm-ClIKbvsu.js → asm-BqH8pPU3.js} +0 -0
  276. /package/dist/client/assets/{aurora-x-DTcNXZIS.js → aurora-x-pFdyTYcw.js} +0 -0
  277. /package/dist/client/assets/{awk-D1ZOsISX.js → awk-CEJ-HMbA.js} +0 -0
  278. /package/dist/client/assets/{ayu-dark-DpNcORnA.js → ayu-dark-DLXpThOR.js} +0 -0
  279. /package/dist/client/assets/{ayu-light-lHqf0ddo.js → ayu-light-B6l2JP-2.js} +0 -0
  280. /package/dist/client/assets/{ayu-mirage-Dji5RWiH.js → ayu-mirage-vFtAVFo8.js} +0 -0
  281. /package/dist/client/assets/{ballerina-H14_EqPr.js → ballerina-DEnG7B70.js} +0 -0
  282. /package/dist/client/assets/{bat-cyb3gF8B.js → bat-6aBJEOBU.js} +0 -0
  283. /package/dist/client/assets/{beancount-D84pBacF.js → beancount-Cr6BBraX.js} +0 -0
  284. /package/dist/client/assets/{berry-B29XeKK4.js → berry-C3dEYuh4.js} +0 -0
  285. /package/dist/client/assets/{bibtex-Hs7VvQaV.js → bibtex-C3fW7OVS.js} +0 -0
  286. /package/dist/client/assets/{bicep-CugTE5CQ.js → bicep-CXdZJn7c.js} +0 -0
  287. /package/dist/client/assets/{bird2-mieRHotO.js → bird2-DlY4aIej.js} +0 -0
  288. /package/dist/client/assets/{c3-Dx2gByXW.js → c3-DmNghKyz.js} +0 -0
  289. /package/dist/client/assets/{cadence-CCTSwj3w.js → cadence-CaHDavSY.js} +0 -0
  290. /package/dist/client/assets/{catppuccin-frappe-DQrU04q0.js → catppuccin-frappe-BCo5msEa.js} +0 -0
  291. /package/dist/client/assets/{catppuccin-latte-B_oiWZka.js → catppuccin-latte-CY8pJj9v.js} +0 -0
  292. /package/dist/client/assets/{catppuccin-macchiato-D8VB2qi4.js → catppuccin-macchiato-DWctQKOC.js} +0 -0
  293. /package/dist/client/assets/{catppuccin-mocha-5vkMJ1Mb.js → catppuccin-mocha-DpMRQFx4.js} +0 -0
  294. /package/dist/client/assets/{clarity-BbUNTPrg.js → clarity-cevzIuVI.js} +0 -0
  295. /package/dist/client/assets/{clojure-Bcw7lCta.js → clojure-G-6D-9ty.js} +0 -0
  296. /package/dist/client/assets/{cmake-DM0FE-T9.js → cmake-PULhkjs2.js} +0 -0
  297. /package/dist/client/assets/{codeowners-CBvEPOlS.js → codeowners-DzyHyLov.js} +0 -0
  298. /package/dist/client/assets/{codeql-CjS8Tp16.js → codeql-Cr3zMCSL.js} +0 -0
  299. /package/dist/client/assets/{common-lisp-BCx4dVK8.js → common-lisp-CTGb9Qda.js} +0 -0
  300. /package/dist/client/assets/{coq-Ddo7YIsR.js → coq-PtKNcji9.js} +0 -0
  301. /package/dist/client/assets/{csharp-Kzd7Ey2d.js → csharp-BzDNV1H8.js} +0 -0
  302. /package/dist/client/assets/{csv-DGwgERVJ.js → csv-sU8ECZ_Q.js} +0 -0
  303. /package/dist/client/assets/{cue-CMabdDG0.js → cue-BH1Sd4Rr.js} +0 -0
  304. /package/dist/client/assets/{cypher-CJUzJAhQ.js → cypher-B_iIZEtn.js} +0 -0
  305. /package/dist/client/assets/{d-BvLF4qGs.js → d-DZTmqtV9.js} +0 -0
  306. /package/dist/client/assets/{dark-plus-BMwvn5lx.js → dark-plus-Bo9qvWQL.js} +0 -0
  307. /package/dist/client/assets/{dart-DxXbDeKR.js → dart-CEnxLQnE.js} +0 -0
  308. /package/dist/client/assets/{dax-BvrCypuS.js → dax-CY3Yz5Am.js} +0 -0
  309. /package/dist/client/assets/{desktop-BEul_kAS.js → desktop-DEBmLZ-w.js} +0 -0
  310. /package/dist/client/assets/{diff-B7rhrwA5.js → diff-D4QDVkWF.js} +0 -0
  311. /package/dist/client/assets/{docker-9Zbx0dQX.js → docker-FkS9pOoC.js} +0 -0
  312. /package/dist/client/assets/{dotenv-C0epktMv.js → dotenv-DZoFwkHG.js} +0 -0
  313. /package/dist/client/assets/{dracula-CBD4ckb0.js → dracula-BO1nFC1t.js} +0 -0
  314. /package/dist/client/assets/{dracula-soft-CuGBZj_h.js → dracula-soft-BXEd2c9N.js} +0 -0
  315. /package/dist/client/assets/{dream-maker-D6UB367x.js → dream-maker-CYwhkcWt.js} +0 -0
  316. /package/dist/client/assets/{emacs-lisp-DFyMFAZA.js → emacs-lisp-C5on1_C4.js} +0 -0
  317. /package/dist/client/assets/{everforest-dark-BhFNrp2k.js → everforest-dark-cYrV3iFr.js} +0 -0
  318. /package/dist/client/assets/{everforest-light-CpIbZ9aT.js → everforest-light-BFYmMmB0.js} +0 -0
  319. /package/dist/client/assets/{fennel-CH1ohGYX.js → fennel-DOUQ-PJT.js} +0 -0
  320. /package/dist/client/assets/{fish-D2X4h_sR.js → fish-tU0XEiDI.js} +0 -0
  321. /package/dist/client/assets/{fluent-B_In4uB6.js → fluent-CLjEAUYv.js} +0 -0
  322. /package/dist/client/assets/{fortran-free-form-Bw_JZ1tj.js → fortran-free-form-i1oSxlBi.js} +0 -0
  323. /package/dist/client/assets/{gdscript-DDro0rs8.js → gdscript-DoKmcfqT.js} +0 -0
  324. /package/dist/client/assets/{gdshader-DkUeC1ld.js → gdshader-DkxS1q2w.js} +0 -0
  325. /package/dist/client/assets/{genie-khT2hrp-.js → genie-CzjuaGtt.js} +0 -0
  326. /package/dist/client/assets/{gherkin-CPELKal0.js → gherkin-fpI0deuw.js} +0 -0
  327. /package/dist/client/assets/{github-dark-DQp1Qkx5.js → github-dark-BLAZcc9K.js} +0 -0
  328. /package/dist/client/assets/{github-dark-default-BroO-mT3.js → github-dark-default-BKx-M5rS.js} +0 -0
  329. /package/dist/client/assets/{github-dark-dimmed-D8UZ8uTL.js → github-dark-dimmed-CpLgrGYo.js} +0 -0
  330. /package/dist/client/assets/{github-dark-high-contrast-CM0RRMCj.js → github-dark-high-contrast-VOQjCWmV.js} +0 -0
  331. /package/dist/client/assets/{github-light-BRTmX4Ht.js → github-light-BvHvw558.js} +0 -0
  332. /package/dist/client/assets/{github-light-default-dl7biQ4g.js → github-light-default-Br2CRkp2.js} +0 -0
  333. /package/dist/client/assets/{github-light-high-contrast-Cvzq8ZXJ.js → github-light-high-contrast-BFsOyo_C.js} +0 -0
  334. /package/dist/client/assets/{gleam-7UVjplRF.js → gleam-D6yLlB_s.js} +0 -0
  335. /package/dist/client/assets/{gn-EcrZPIZo.js → gn-CIEAcT5u.js} +0 -0
  336. /package/dist/client/assets/{gnuplot-CcsFlqcz.js → gnuplot-D3apx92u.js} +0 -0
  337. /package/dist/client/assets/{go-TqNfhUhh.js → go-CVvducQG.js} +0 -0
  338. /package/dist/client/assets/{groovy-bfrzFpSZ.js → groovy-0BMfeOwI.js} +0 -0
  339. /package/dist/client/assets/{gruvbox-dark-hard-CBFL_VqK.js → gruvbox-dark-hard-CYlE_Ioi.js} +0 -0
  340. /package/dist/client/assets/{gruvbox-dark-medium-Dn18r-Yz.js → gruvbox-dark-medium-CPnNv_qA.js} +0 -0
  341. /package/dist/client/assets/{gruvbox-dark-soft-DUyKWd02.js → gruvbox-dark-soft-D9ImK6Ww.js} +0 -0
  342. /package/dist/client/assets/{gruvbox-light-hard-DV9RwKs4.js → gruvbox-light-hard-CNKFbaWf.js} +0 -0
  343. /package/dist/client/assets/{gruvbox-light-medium-Ba-VIg48.js → gruvbox-light-medium-B6aRnAAu.js} +0 -0
  344. /package/dist/client/assets/{gruvbox-light-soft-CVIZMKFx.js → gruvbox-light-soft-CY5W_9bh.js} +0 -0
  345. /package/dist/client/assets/{haskell-DzEtL6Zk.js → haskell-CIXAQuBT.js} +0 -0
  346. /package/dist/client/assets/{haxe-wLDEcRoz.js → haxe-BbPW0PV8.js} +0 -0
  347. /package/dist/client/assets/{hcl-C1fs3gTM.js → hcl-BAhXnxEb.js} +0 -0
  348. /package/dist/client/assets/{hjson-B4b85MZo.js → hjson-w0zQjT1b.js} +0 -0
  349. /package/dist/client/assets/{hlsl-JhqkHhML.js → hlsl-BZIeCd1U.js} +0 -0
  350. /package/dist/client/assets/{horizon-bright-CPVackS9.js → horizon-bright-CoLIUhK-.js} +0 -0
  351. /package/dist/client/assets/{horizon-DMOEeSnA.js → horizon-u0mrDa4H.js} +0 -0
  352. /package/dist/client/assets/{houston-DSlR9wH9.js → houston-Dg_Sw3IO.js} +0 -0
  353. /package/dist/client/assets/{hy-uAHU8420.js → hy-yfQTgdnC.js} +0 -0
  354. /package/dist/client/assets/{imba-CPCwfD-G.js → imba-CH3r71m8.js} +0 -0
  355. /package/dist/client/assets/{ini-2Ew1Qzj6.js → ini-CFGjiumx.js} +0 -0
  356. /package/dist/client/assets/{json5-Dl8gAgq4.js → json5-Bl9TLCA_.js} +0 -0
  357. /package/dist/client/assets/{jsonc-C9b23pMf.js → jsonc-C5MYZbZA.js} +0 -0
  358. /package/dist/client/assets/{jsonl-DkF3QjsY.js → jsonl-BUZGz6Nz.js} +0 -0
  359. /package/dist/client/assets/{jsonnet-DH4UkOBo.js → jsonnet-BR0nqn6X.js} +0 -0
  360. /package/dist/client/assets/{jssm-CBV9_O8o.js → jssm-CBTdduNQ.js} +0 -0
  361. /package/dist/client/assets/{kanagawa-dragon-DLDXA4f2.js → kanagawa-dragon-D37ccMj8.js} +0 -0
  362. /package/dist/client/assets/{kanagawa-lotus-qAvw6eOU.js → kanagawa-lotus-CQwQI5XJ.js} +0 -0
  363. /package/dist/client/assets/{kanagawa-wave-DFO_g5Mb.js → kanagawa-wave-CoEPa5VN.js} +0 -0
  364. /package/dist/client/assets/{kdl-BQl-X5Uf.js → kdl-Zssqs7XG.js} +0 -0
  365. /package/dist/client/assets/{kotlin-d6oenWPH.js → kotlin-Dq2AM2zV.js} +0 -0
  366. /package/dist/client/assets/{kusto-Cpu9Tdho.js → kusto-Bf6C0JAP.js} +0 -0
  367. /package/dist/client/assets/{laserwave-Bbquw0Nf.js → laserwave-Dungh0s5.js} +0 -0
  368. /package/dist/client/assets/{lean-CvyEisyW.js → lean-ClY6v3AE.js} +0 -0
  369. /package/dist/client/assets/{less-B9RQiV1N.js → less-CvM4wSPb.js} +0 -0
  370. /package/dist/client/assets/{light-plus-Ch1Usv7R.js → light-plus-BR_n1CxC.js} +0 -0
  371. /package/dist/client/assets/{llvm-DtrwjsAs.js → llvm-DzxLhkKH.js} +0 -0
  372. /package/dist/client/assets/{log-JKbKuM4J.js → log-BDAJFf74.js} +0 -0
  373. /package/dist/client/assets/{logo-BsxZM_eb.js → logo-BlUmufty.js} +0 -0
  374. /package/dist/client/assets/{luau-D9oeBRnv.js → luau-DZ2-jnXM.js} +0 -0
  375. /package/dist/client/assets/{make-DLuqI3Sa.js → make-Dfox3qgR.js} +0 -0
  376. /package/dist/client/assets/{markdown-hfQzyr6v.js → markdown-DQTxlAgS.js} +0 -0
  377. /package/dist/client/assets/{material-theme-kX26WiJU.js → material-theme-Ca-eMEoE.js} +0 -0
  378. /package/dist/client/assets/{material-theme-darker-yvetTWEr.js → material-theme-darker-tDRSeAjj.js} +0 -0
  379. /package/dist/client/assets/{material-theme-lighter-L4j3qddN.js → material-theme-lighter-C0MRc9II.js} +0 -0
  380. /package/dist/client/assets/{material-theme-ocean-BnNk1wNQ.js → material-theme-ocean-CPMt5a9Z.js} +0 -0
  381. /package/dist/client/assets/{material-theme-palenight-W0qbGyud.js → material-theme-palenight-BopXlqoA.js} +0 -0
  382. /package/dist/client/assets/{matlab-Cz4xBfaA.js → matlab-B0EYivAm.js} +0 -0
  383. /package/dist/client/assets/{mdx-Crds6sJw.js → mdx-zyuvufgY.js} +0 -0
  384. /package/dist/client/assets/{mermaid-Bk1sayFm.js → mermaid-CXPg53i3.js} +0 -0
  385. /package/dist/client/assets/{min-dark-DK6uq44k.js → min-dark-Dc7JF_0M.js} +0 -0
  386. /package/dist/client/assets/{min-light-lr1QiEOE.js → min-light-DK0JIAk_.js} +0 -0
  387. /package/dist/client/assets/{mipsasm-D3Vr1VJI.js → mipsasm-BKic4Q6r.js} +0 -0
  388. /package/dist/client/assets/{mojo-D3ai4ATt.js → mojo-D2QSC8Up.js} +0 -0
  389. /package/dist/client/assets/{monokai-DZSWSdmN.js → monokai-DAduqgyw.js} +0 -0
  390. /package/dist/client/assets/{moonbit-c7XV1V8w.js → moonbit-Bg8t2qV7.js} +0 -0
  391. /package/dist/client/assets/{move--lg8RSZu.js → move-D2XYF2cL.js} +0 -0
  392. /package/dist/client/assets/{narrat-Bn_PlXDl.js → narrat-Dc-7zgpc.js} +0 -0
  393. /package/dist/client/assets/{nextflow-groovy-CUrXbMOF.js → nextflow-groovy-DM-q1yDV.js} +0 -0
  394. /package/dist/client/assets/{night-owl-DnKT96OJ.js → night-owl-DLGGnVs3.js} +0 -0
  395. /package/dist/client/assets/{night-owl-light-gVSh6ltn.js → night-owl-light-RFt0bXLV.js} +0 -0
  396. /package/dist/client/assets/{nix-DE1Q2B1F.js → nix-Y_mzbhtn.js} +0 -0
  397. /package/dist/client/assets/{nord-CbYaE7ZY.js → nord-C3wm8E4I.js} +0 -0
  398. /package/dist/client/assets/{nushell-BBFYNdNE.js → nushell-DybY7eY7.js} +0 -0
  399. /package/dist/client/assets/{objective-c-mc6rHp-y.js → objective-c-Xv41DRqF.js} +0 -0
  400. /package/dist/client/assets/{objective-cpp-D96wcRis.js → objective-cpp-CpCjh4iG.js} +0 -0
  401. /package/dist/client/assets/{ocaml-Ddt3E4VO.js → ocaml-BkH0TtHI.js} +0 -0
  402. /package/dist/client/assets/{odin-BUZTfc03.js → odin-ByoEVs_h.js} +0 -0
  403. /package/dist/client/assets/{one-dark-pro-CLMO01es.js → one-dark-pro-B6FJ0zvF.js} +0 -0
  404. /package/dist/client/assets/{one-light-27sfjFDM.js → one-light-BGXnR4Yd.js} +0 -0
  405. /package/dist/client/assets/{openscad-C-XxCD_t.js → openscad-Cuk7R1cf.js} +0 -0
  406. /package/dist/client/assets/{pascal-BvJwb9Ca.js → pascal-ClnFuuSu.js} +0 -0
  407. /package/dist/client/assets/{pkl-DtSDxyR8.js → pkl-B9cmWSnc.js} +0 -0
  408. /package/dist/client/assets/{plastic-Dd1-4HJb.js → plastic-BRO-85T7.js} +0 -0
  409. /package/dist/client/assets/{plsql-CgEVu7mV.js → plsql-Cq55IOpg.js} +0 -0
  410. /package/dist/client/assets/{po-BNFx8QMG.js → po-5X8BthBl.js} +0 -0
  411. /package/dist/client/assets/{poimandres-DdZFFINT.js → poimandres-DCo9RR46.js} +0 -0
  412. /package/dist/client/assets/{polar-DcGwqI2v.js → polar-CWZaZyg5.js} +0 -0
  413. /package/dist/client/assets/{postcss-BgFCg0uM.js → postcss-Bef1Uhrq.js} +0 -0
  414. /package/dist/client/assets/{powerquery-BNMZnWRc.js → powerquery-D9pPkT1t.js} +0 -0
  415. /package/dist/client/assets/{powershell-CeNh_gMu.js → powershell-B3XNafuX.js} +0 -0
  416. /package/dist/client/assets/{prisma-C4wKi9Xs.js → prisma-5gZW7ocs.js} +0 -0
  417. /package/dist/client/assets/{prolog-DcNkIfZZ.js → prolog-D7gIbUtl.js} +0 -0
  418. /package/dist/client/assets/{proto-BqsNb_Ru.js → proto-DVj7EW9q.js} +0 -0
  419. /package/dist/client/assets/{puppet-BLvi8DVC.js → puppet-BQIch9Wt.js} +0 -0
  420. /package/dist/client/assets/{purescript-B_tjgp5s.js → purescript-Chi-qOnj.js} +0 -0
  421. /package/dist/client/assets/{python-xLLWlBd0.js → python-5JpI6kgG.js} +0 -0
  422. /package/dist/client/assets/{qmldir-CDe6ORFD.js → qmldir-DV5mjtmi.js} +0 -0
  423. /package/dist/client/assets/{qss-CvW7b9vz.js → qss-B1TrC4-y.js} +0 -0
  424. /package/dist/client/assets/{racket-CA2oKVL1.js → racket-j2Qs80i3.js} +0 -0
  425. /package/dist/client/assets/{raku-D9dEetfn.js → raku-DThySOcs.js} +0 -0
  426. /package/dist/client/assets/{red-Cj1vpJ_n.js → red-Ih7tMgXP.js} +0 -0
  427. /package/dist/client/assets/{reg-CHsE82Pk.js → reg-CeWg2nAt.js} +0 -0
  428. /package/dist/client/assets/{rel-SUS6CYTF.js → rel-0yDiB4cH.js} +0 -0
  429. /package/dist/client/assets/{riscv-xyAKa3qa.js → riscv-DGASrDZv.js} +0 -0
  430. /package/dist/client/assets/{ron-D5BrJbC5.js → ron-PTfTVUsf.js} +0 -0
  431. /package/dist/client/assets/{rose-pine-Dd0RAvir.js → rose-pine-CBcSv8_z.js} +0 -0
  432. /package/dist/client/assets/{rose-pine-dawn-CeS_2jlO.js → rose-pine-dawn-DsFTrjAP.js} +0 -0
  433. /package/dist/client/assets/{rose-pine-moon-CQrvtQEF.js → rose-pine-moon-DSRrHXqB.js} +0 -0
  434. /package/dist/client/assets/{rosmsg-Bie95NPX.js → rosmsg-BZRVDGoy.js} +0 -0
  435. /package/dist/client/assets/{rust-CAON_J-7.js → rust-IilUxR0Y.js} +0 -0
  436. /package/dist/client/assets/{sass-CKkv3rB4.js → sass-BWTyD0km.js} +0 -0
  437. /package/dist/client/assets/{scala-BADlfUbE.js → scala-DBszRdoo.js} +0 -0
  438. /package/dist/client/assets/{scheme-Bv8vdcS_.js → scheme-CtV0KGCW.js} +0 -0
  439. /package/dist/client/assets/{sdbl-TUdAkzzL.js → sdbl-NrV9zyWH.js} +0 -0
  440. /package/dist/client/assets/{slack-dark-BeQrlvP4.js → slack-dark-DJYHgMC5.js} +0 -0
  441. /package/dist/client/assets/{slack-ochin-DaA1aBiy.js → slack-ochin-DMZh8xHM.js} +0 -0
  442. /package/dist/client/assets/{smalltalk-C1k1DVft.js → smalltalk-BF00pyFX.js} +0 -0
  443. /package/dist/client/assets/{snazzy-light-C9Bzvwcg.js → snazzy-light-CWz9pGNQ.js} +0 -0
  444. /package/dist/client/assets/{solarized-dark--ZJpQY8O.js → solarized-dark-D9XpTy8q.js} +0 -0
  445. /package/dist/client/assets/{solarized-light-wzNWfjF2.js → solarized-light-CbOIwuI-.js} +0 -0
  446. /package/dist/client/assets/{solidity-CaEDdWYR.js → solidity-CbwhXqqI.js} +0 -0
  447. /package/dist/client/assets/{splunk-mpBjmHRA.js → splunk-BifnD-Y9.js} +0 -0
  448. /package/dist/client/assets/{ssh-config-DqmSAS3N.js → ssh-config-CALIsjYt.js} +0 -0
  449. /package/dist/client/assets/{stylus-mNYBrtqL.js → stylus-CW9hRw3O.js} +0 -0
  450. /package/dist/client/assets/{swift-BXoR6L-y.js → swift-XnvjWWWQ.js} +0 -0
  451. /package/dist/client/assets/{synthwave-84-ybvkLGau.js → synthwave-84-BnPKtV8a.js} +0 -0
  452. /package/dist/client/assets/{system-verilog-BnyrpGlO.js → system-verilog-sXcvSAdV.js} +0 -0
  453. /package/dist/client/assets/{systemd-BBVr_qxh.js → systemd-gIHkqv2y.js} +0 -0
  454. /package/dist/client/assets/{talonscript-l0qUQn2r.js → talonscript-u0b1kqtW.js} +0 -0
  455. /package/dist/client/assets/{tasl-BzcMwPTS.js → tasl-4NbQVfsv.js} +0 -0
  456. /package/dist/client/assets/{tcl-CQgtyMkG.js → tcl-CohiqM0A.js} +0 -0
  457. /package/dist/client/assets/{terraform-BgPqtSWN.js → terraform-C2SCpFsh.js} +0 -0
  458. /package/dist/client/assets/{tokyo-night-BZt2NwCl.js → tokyo-night-ByryBNMy.js} +0 -0
  459. /package/dist/client/assets/{toml-CpHBCfVl.js → toml-DIwLv6ba.js} +0 -0
  460. /package/dist/client/assets/{tsv-DYxH1-vL.js → tsv-Wq0jy8zc.js} +0 -0
  461. /package/dist/client/assets/{turtle-DdFFvP5J.js → turtle-DtUXQD5N.js} +0 -0
  462. /package/dist/client/assets/{typespec-CHOxKRtr.js → typespec-CMzaYGNR.js} +0 -0
  463. /package/dist/client/assets/{typst-C0VS9TQm.js → typst-BXss02ax.js} +0 -0
  464. /package/dist/client/assets/{v-CfOPGXPl.js → v-Dlx5aRMh.js} +0 -0
  465. /package/dist/client/assets/{vala-DYqHmNOK.js → vala-BPY-dxs1.js} +0 -0
  466. /package/dist/client/assets/{vb-DUBgqZ02.js → vb-fEZJaj_I.js} +0 -0
  467. /package/dist/client/assets/{verilog-BxybH_AY.js → verilog-Ch3h9a5t.js} +0 -0
  468. /package/dist/client/assets/{vesper-BDlBlJR-.js → vesper-RapGiuFK.js} +0 -0
  469. /package/dist/client/assets/{vhdl-DBoxxi7I.js → vhdl-k9JLsLxQ.js} +0 -0
  470. /package/dist/client/assets/{viml-C8vROCgw.js → viml-AETnYpBH.js} +0 -0
  471. /package/dist/client/assets/{vitesse-black-CUBzmgJa.js → vitesse-black-CK3sbzcK.js} +0 -0
  472. /package/dist/client/assets/{vitesse-dark-COrLBgkv.js → vitesse-dark-D1-w1Fr7.js} +0 -0
  473. /package/dist/client/assets/{vitesse-light-ThZGgLQK.js → vitesse-light-D7Ky4DHb.js} +0 -0
  474. /package/dist/client/assets/{vyper-D08CaD4o.js → vyper-BOB1dBvz.js} +0 -0
  475. /package/dist/client/assets/{wasm-DiIFv9DE.js → wasm-BQxIq9Eb.js} +0 -0
  476. /package/dist/client/assets/{wasm-CoVafRYN.js → wasm-CkSOvETR.js} +0 -0
  477. /package/dist/client/assets/{wenyan-GlRgAbTB.js → wenyan-klF87KTD.js} +0 -0
  478. /package/dist/client/assets/{wgsl-BmWpQFqb.js → wgsl-Critfvz0.js} +0 -0
  479. /package/dist/client/assets/{wikitext-Axug2vPC.js → wikitext-o9T06DMF.js} +0 -0
  480. /package/dist/client/assets/{wit-Dk1fPIaK.js → wit-13nwpGLw.js} +0 -0
  481. /package/dist/client/assets/{wolfram-DMhXlmnL.js → wolfram-DrTARb9i.js} +0 -0
  482. /package/dist/client/assets/{zenscript-x7PXwj2_.js → zenscript-npva8tX5.js} +0 -0
  483. /package/dist/client/assets/{zig-BlD2NI35.js → zig-shXrLLVU.js} +0 -0
@@ -6,39 +6,39 @@ import { listProjects } from "../project/registry.js";
6
6
  import { getProjectBySlug } from "../project/registry.js";
7
7
  import { handleSessionSync, handleSessionRequest } from "./session-sync.js";
8
8
  import { log } from "../logger.js";
9
- var connections = new Map();
10
- var lastKnownProjects = new Map();
11
- var connectedCallbacks = [];
12
- var disconnectedCallbacks = [];
13
- var messageCallbacks = [];
14
- var MIN_BACKOFF_MS = 1000;
15
- var MAX_BACKOFF_MS = 30000;
16
- var CONNECTION_TIMEOUT_MS = 10000;
17
- var CIRCUIT_BREAKER_THRESHOLD = 5;
18
- var CIRCUIT_BREAKER_COOLDOWN = 60000;
19
- var circuitBreakers = new Map();
20
- var RECONNECT_INTERVAL_MS = 15000;
21
- var HEALTH_CHECK_INTERVAL_MS = 30000;
22
- var HEALTH_MISS_THRESHOLD = 3;
23
- var healthStates = new Map();
9
+ const connections = new Map();
10
+ const lastKnownProjects = new Map();
11
+ const connectedCallbacks = [];
12
+ const disconnectedCallbacks = [];
13
+ const messageCallbacks = [];
14
+ const MIN_BACKOFF_MS = 1000;
15
+ const MAX_BACKOFF_MS = 30000;
16
+ const CONNECTION_TIMEOUT_MS = 10000;
17
+ const CIRCUIT_BREAKER_THRESHOLD = 5;
18
+ const CIRCUIT_BREAKER_COOLDOWN = 60000;
19
+ const circuitBreakers = new Map();
20
+ const RECONNECT_INTERVAL_MS = 15000;
21
+ const HEALTH_CHECK_INTERVAL_MS = 30000;
22
+ const HEALTH_MISS_THRESHOLD = 3;
23
+ const healthStates = new Map();
24
24
  export function getPeerHealth(nodeId) {
25
- var state = healthStates.get(nodeId);
25
+ const state = healthStates.get(nodeId);
26
26
  if (!state)
27
27
  return undefined;
28
28
  return { latencyMs: state.latencyMs, healthy: state.healthy };
29
29
  }
30
30
  export function getAllPeerHealth() {
31
- var result = new Map();
32
- for (var [nodeId, state] of healthStates) {
31
+ const result = new Map();
32
+ for (const [nodeId, state] of healthStates) {
33
33
  result.set(nodeId, { latencyMs: state.latencyMs, healthy: state.healthy });
34
34
  }
35
35
  return result;
36
36
  }
37
37
  function startHealthCheck(conn) {
38
- var state = healthStates.get(conn.nodeId);
38
+ const state = healthStates.get(conn.nodeId);
39
39
  if (state && state.pingTimer)
40
40
  return;
41
- var healthState = {
41
+ const healthState = {
42
42
  lastPongAt: Date.now(),
43
43
  latencyMs: 0,
44
44
  missedPongs: 0,
@@ -46,7 +46,7 @@ function startHealthCheck(conn) {
46
46
  pingTimer: null,
47
47
  };
48
48
  healthStates.set(conn.nodeId, healthState);
49
- var lastPingSentAt = 0;
49
+ let lastPingSentAt = 0;
50
50
  healthState.pingTimer = setInterval(function () {
51
51
  if (conn.dead || !isWebSocketOpen(conn.ws)) {
52
52
  stopHealthCheck(conn.nodeId);
@@ -70,7 +70,7 @@ function startHealthCheck(conn) {
70
70
  healthState.pingTimer.unref?.();
71
71
  }
72
72
  function stopHealthCheck(nodeId) {
73
- var state = healthStates.get(nodeId);
73
+ const state = healthStates.get(nodeId);
74
74
  if (state && state.pingTimer) {
75
75
  clearInterval(state.pingTimer);
76
76
  state.pingTimer = null;
@@ -78,7 +78,7 @@ function stopHealthCheck(nodeId) {
78
78
  healthStates.delete(nodeId);
79
79
  }
80
80
  function handlePong(nodeId, timestamp) {
81
- var state = healthStates.get(nodeId);
81
+ const state = healthStates.get(nodeId);
82
82
  if (!state)
83
83
  return;
84
84
  state.lastPongAt = Date.now();
@@ -94,14 +94,14 @@ export function startMeshConnections() {
94
94
  setInterval(reconcilePeers, RECONNECT_INTERVAL_MS);
95
95
  }
96
96
  function reconcilePeers() {
97
- var peers = loadPeers();
98
- for (var i = 0; i < peers.length; i++) {
99
- var peer = peers[i];
97
+ const peers = loadPeers();
98
+ for (let i = 0; i < peers.length; i++) {
99
+ const peer = peers[i];
100
100
  if (!peer.addresses || peer.addresses.length === 0) {
101
101
  log.meshConnect("skip %s — no addresses", peer.name);
102
102
  continue;
103
103
  }
104
- var existing = connections.get(peer.id);
104
+ const existing = connections.get(peer.id);
105
105
  if (existing && !existing.dead && isWebSocketOpen(existing.ws))
106
106
  continue;
107
107
  if (existing && !existing.dead && existing.retryTimer !== null) {
@@ -116,7 +116,7 @@ function reconcilePeers() {
116
116
  }
117
117
  }
118
118
  export function stopMeshConnections() {
119
- for (var [nodeId, conn] of connections) {
119
+ for (const [nodeId, conn] of connections) {
120
120
  conn.dead = true;
121
121
  if (conn.retryTimer !== null) {
122
122
  clearTimeout(conn.retryTimer);
@@ -131,17 +131,17 @@ export function connectToPeer(nodeId, address) {
131
131
  if (connections.has(nodeId)) {
132
132
  return;
133
133
  }
134
- var peers = loadPeers();
135
- var peer = peers.find(function (p) { return p.id === nodeId; });
134
+ const peers = loadPeers();
135
+ const peer = peers.find(function (p) { return p.id === nodeId; });
136
136
  if (!peer) {
137
137
  return;
138
138
  }
139
- var config = loadConfig();
140
- var protocol = config.tls ? "wss" : "ws";
141
- var url = address.includes(":")
139
+ const config = loadConfig();
140
+ const protocol = config.tls ? "wss" : "ws";
141
+ const url = address.includes(":")
142
142
  ? protocol + "://" + address + "/ws"
143
143
  : protocol + "://" + address + ":" + config.port + "/ws";
144
- var conn = {
144
+ const conn = {
145
145
  nodeId: nodeId,
146
146
  ws: null,
147
147
  backoffMs: MIN_BACKOFF_MS,
@@ -153,7 +153,7 @@ export function connectToPeer(nodeId, address) {
153
153
  openConnection(conn, url);
154
154
  }
155
155
  function openConnection(conn, url) {
156
- var circuit = circuitBreakers.get(conn.nodeId);
156
+ let circuit = circuitBreakers.get(conn.nodeId);
157
157
  if (circuit && circuit.failures >= CIRCUIT_BREAKER_THRESHOLD && !circuit.halfOpen) {
158
158
  if (Date.now() < circuit.openUntil) {
159
159
  log.meshConnect("circuit breaker open for %s, retry in %dms", conn.nodeId.slice(0, 8), circuit.openUntil - Date.now());
@@ -169,9 +169,9 @@ function openConnection(conn, url) {
169
169
  circuit.halfOpen = true;
170
170
  }
171
171
  log.meshConnect("opening WebSocket to %s", url);
172
- var ws = new WebSocket(url);
172
+ const ws = new WebSocket(url);
173
173
  conn.ws = ws;
174
- var connectionTimer = setTimeout(function () {
174
+ const connectionTimer = setTimeout(function () {
175
175
  if (!isWebSocketOpen(ws)) {
176
176
  log.meshConnect("connection timeout for %s at %s", conn.nodeId.slice(0, 8), url);
177
177
  ws.close();
@@ -185,10 +185,10 @@ function openConnection(conn, url) {
185
185
  }
186
186
  circuitBreakers.delete(conn.nodeId);
187
187
  conn.backoffMs = MIN_BACKOFF_MS;
188
- var identity = loadOrCreateIdentity();
189
- var config = loadConfig();
190
- var projects = listProjects(identity.id);
191
- var hello = {
188
+ const identity = loadOrCreateIdentity();
189
+ const config = loadConfig();
190
+ const projects = listProjects(identity.id);
191
+ const hello = {
192
192
  type: "mesh:hello",
193
193
  nodeId: identity.id,
194
194
  name: config.name,
@@ -199,7 +199,7 @@ function openConnection(conn, url) {
199
199
  };
200
200
  ws.send(JSON.stringify(hello));
201
201
  log.mesh("Connected to peer: %s", conn.nodeId);
202
- for (var i = 0; i < connectedCallbacks.length; i++) {
202
+ for (let i = 0; i < connectedCallbacks.length; i++) {
203
203
  connectedCallbacks[i](conn.nodeId);
204
204
  }
205
205
  });
@@ -208,7 +208,7 @@ function openConnection(conn, url) {
208
208
  return;
209
209
  }
210
210
  try {
211
- var msg = JSON.parse(event.data);
211
+ const msg = JSON.parse(event.data);
212
212
  if (msg.type === "mesh:hello") {
213
213
  conn.projects = msg.projects;
214
214
  if (msg.projects.length > 0) {
@@ -217,12 +217,12 @@ function openConnection(conn, url) {
217
217
  startHealthCheck(conn);
218
218
  }
219
219
  else if (msg.type === "mesh:ping") {
220
- var pingMsg = msg;
220
+ const pingMsg = msg;
221
221
  conn.ws.send(JSON.stringify({ type: "mesh:pong", timestamp: pingMsg.timestamp }));
222
222
  return;
223
223
  }
224
224
  else if (msg.type === "mesh:pong") {
225
- var pongMsg = msg;
225
+ const pongMsg = msg;
226
226
  handlePong(conn.nodeId, pongMsg.timestamp);
227
227
  return;
228
228
  }
@@ -230,13 +230,13 @@ function openConnection(conn, url) {
230
230
  handleSessionSync(conn.nodeId, msg);
231
231
  }
232
232
  else if (msg.type === "mesh:session_request") {
233
- var reqMsg = msg;
234
- var reqProject = getProjectBySlug(reqMsg.projectSlug);
233
+ const reqMsg = msg;
234
+ const reqProject = getProjectBySlug(reqMsg.projectSlug);
235
235
  if (reqProject) {
236
236
  handleSessionRequest(conn.nodeId, reqMsg, reqProject.path);
237
237
  }
238
238
  }
239
- for (var i = 0; i < messageCallbacks.length; i++) {
239
+ for (let i = 0; i < messageCallbacks.length; i++) {
240
240
  messageCallbacks[i](conn.nodeId, msg);
241
241
  }
242
242
  }
@@ -249,7 +249,7 @@ function openConnection(conn, url) {
249
249
  if (conn.dead) {
250
250
  return;
251
251
  }
252
- var circuit = circuitBreakers.get(conn.nodeId);
252
+ let circuit = circuitBreakers.get(conn.nodeId);
253
253
  if (!circuit) {
254
254
  circuit = { failures: 0, openUntil: 0, halfOpen: false };
255
255
  circuitBreakers.set(conn.nodeId, circuit);
@@ -264,10 +264,10 @@ function openConnection(conn, url) {
264
264
  circuit.openUntil = Date.now() + CIRCUIT_BREAKER_COOLDOWN;
265
265
  log.mesh("Circuit breaker open for peer: %s after %d consecutive failures", conn.nodeId, circuit.failures);
266
266
  }
267
- for (var i = 0; i < disconnectedCallbacks.length; i++) {
267
+ for (let i = 0; i < disconnectedCallbacks.length; i++) {
268
268
  disconnectedCallbacks[i](conn.nodeId);
269
269
  }
270
- var delay = conn.backoffMs;
270
+ const delay = conn.backoffMs;
271
271
  conn.backoffMs = Math.min(conn.backoffMs * 2, MAX_BACKOFF_MS);
272
272
  conn.retryTimer = setTimeout(function () {
273
273
  if (conn.dead) {
@@ -282,7 +282,7 @@ function openConnection(conn, url) {
282
282
  });
283
283
  }
284
284
  export function getPeerConnection(nodeId) {
285
- var conn = connections.get(nodeId);
285
+ const conn = connections.get(nodeId);
286
286
  if (!conn) {
287
287
  return undefined;
288
288
  }
@@ -292,7 +292,7 @@ export function getPeerConnection(nodeId) {
292
292
  return conn.ws;
293
293
  }
294
294
  export function registerInboundPeer(nodeId, ws, peerProjects) {
295
- var existing = connections.get(nodeId);
295
+ const existing = connections.get(nodeId);
296
296
  if (existing && !existing.dead && isWebSocketOpen(existing.ws)) {
297
297
  log.meshConnect("inbound peer %s already connected, skipping", nodeId.slice(0, 8));
298
298
  return;
@@ -305,8 +305,8 @@ export function registerInboundPeer(nodeId, ws, peerProjects) {
305
305
  }
306
306
  }
307
307
  circuitBreakers.delete(nodeId);
308
- var incomingProjects = peerProjects ?? [];
309
- var conn = {
308
+ const incomingProjects = peerProjects ?? [];
309
+ const conn = {
310
310
  nodeId: nodeId,
311
311
  ws: ws,
312
312
  backoffMs: 1000,
@@ -318,12 +318,12 @@ export function registerInboundPeer(nodeId, ws, peerProjects) {
318
318
  lastKnownProjects.set(nodeId, incomingProjects);
319
319
  }
320
320
  connections.set(nodeId, conn);
321
- var peers = loadPeers();
322
- var peer = peers.find(function (p) { return p.id === nodeId; });
321
+ const peers = loadPeers();
322
+ const peer = peers.find(function (p) { return p.id === nodeId; });
323
323
  if (peer) {
324
- var identity = loadOrCreateIdentity();
325
- var config = loadConfig();
326
- var projects = config.projects || [];
324
+ const identity = loadOrCreateIdentity();
325
+ const config = loadConfig();
326
+ const projects = config.projects || [];
327
327
  conn.projects = [];
328
328
  ws.send(JSON.stringify({
329
329
  type: "mesh:hello",
@@ -337,7 +337,7 @@ export function registerInboundPeer(nodeId, ws, peerProjects) {
337
337
  }
338
338
  }
339
339
  export function disconnectPeer(nodeId) {
340
- var existing = connections.get(nodeId);
340
+ const existing = connections.get(nodeId);
341
341
  if (existing) {
342
342
  existing.dead = true;
343
343
  if (existing.retryTimer !== null) {
@@ -351,7 +351,7 @@ export function disconnectPeer(nodeId) {
351
351
  circuitBreakers.delete(nodeId);
352
352
  }
353
353
  export function reconnectPeer(nodeId) {
354
- var existing = connections.get(nodeId);
354
+ const existing = connections.get(nodeId);
355
355
  if (existing) {
356
356
  existing.dead = true;
357
357
  if (existing.retryTimer !== null) {
@@ -362,15 +362,15 @@ export function reconnectPeer(nodeId) {
362
362
  connections.delete(nodeId);
363
363
  }
364
364
  circuitBreakers.delete(nodeId);
365
- var peers = loadPeers();
366
- var peer = peers.find(function (p) { return p.id === nodeId; });
365
+ const peers = loadPeers();
366
+ const peer = peers.find(function (p) { return p.id === nodeId; });
367
367
  if (peer && peer.addresses && peer.addresses.length > 0) {
368
368
  connectToPeer(nodeId, peer.addresses[0]);
369
369
  }
370
370
  }
371
371
  export function getConnectedPeerIds() {
372
- var ids = [];
373
- for (var [nodeId, conn] of connections) {
372
+ const ids = [];
373
+ for (const [nodeId, conn] of connections) {
374
374
  if (isWebSocketOpen(conn.ws)) {
375
375
  ids.push(nodeId);
376
376
  }
@@ -390,27 +390,27 @@ function isWebSocketOpen(ws) {
390
390
  return ws.readyState === WebSocket.OPEN || ws.readyState === 0;
391
391
  }
392
392
  export function getConnectedPeerProjects(nodeId) {
393
- var conn = connections.get(nodeId);
393
+ const conn = connections.get(nodeId);
394
394
  if (!conn || !isWebSocketOpen(conn.ws))
395
395
  return [];
396
396
  return conn.projects;
397
397
  }
398
398
  export function getAllRemoteProjects(localNodeId) {
399
- var allPeers = peersModule.loadPeers();
400
- var connectedIds = new Set(getConnectedPeerIds());
401
- var results = [];
402
- for (var p = 0; p < allPeers.length; p++) {
403
- var peer = allPeers[p];
404
- var isOnline = connectedIds.has(peer.id);
405
- var projects = [];
406
- var conn = connections.get(peer.id);
399
+ const allPeers = peersModule.loadPeers();
400
+ const connectedIds = new Set(getConnectedPeerIds());
401
+ const results = [];
402
+ for (let p = 0; p < allPeers.length; p++) {
403
+ const peer = allPeers[p];
404
+ const isOnline = connectedIds.has(peer.id);
405
+ let projects = [];
406
+ const conn = connections.get(peer.id);
407
407
  if (conn && conn.projects.length > 0) {
408
408
  projects = conn.projects;
409
409
  }
410
410
  else if (lastKnownProjects.has(peer.id)) {
411
411
  projects = lastKnownProjects.get(peer.id);
412
412
  }
413
- for (var i = 0; i < projects.length; i++) {
413
+ for (let i = 0; i < projects.length; i++) {
414
414
  results.push({
415
415
  slug: projects[i].slug,
416
416
  path: "",
@@ -425,11 +425,11 @@ export function getAllRemoteProjects(localNodeId) {
425
425
  return results;
426
426
  }
427
427
  export function findNodeForProject(projectSlug) {
428
- for (var [nodeId, conn] of connections) {
428
+ for (const [nodeId, conn] of connections) {
429
429
  if (!isWebSocketOpen(conn.ws)) {
430
430
  continue;
431
431
  }
432
- for (var i = 0; i < conn.projects.length; i++) {
432
+ for (let i = 0; i < conn.projects.length; i++) {
433
433
  if (conn.projects[i].slug === projectSlug) {
434
434
  return nodeId;
435
435
  }
@@ -1,16 +1,16 @@
1
1
  import { createSign, createVerify, randomBytes, createCipheriv, createDecipheriv, createHash, diffieHellman, generateKeyPairSync, createPublicKey, createPrivateKey } from "node:crypto";
2
2
  export function sign(privateKeyBase64, data) {
3
- var privateKeyDer = Buffer.from(privateKeyBase64, "base64");
4
- var key = createPrivateKey({ key: privateKeyDer, format: "der", type: "pkcs8" });
5
- var signer = createSign("ed25519");
3
+ const privateKeyDer = Buffer.from(privateKeyBase64, "base64");
4
+ const key = createPrivateKey({ key: privateKeyDer, format: "der", type: "pkcs8" });
5
+ const signer = createSign("ed25519");
6
6
  signer.update(data);
7
7
  return signer.sign(key).toString("base64");
8
8
  }
9
9
  export function verify(publicKeyBase64, data, signatureBase64) {
10
10
  try {
11
- var publicKeyDer = Buffer.from(publicKeyBase64, "base64");
12
- var key = createPublicKey({ key: publicKeyDer, format: "der", type: "spki" });
13
- var verifier = createVerify("ed25519");
11
+ const publicKeyDer = Buffer.from(publicKeyBase64, "base64");
12
+ const key = createPublicKey({ key: publicKeyDer, format: "der", type: "spki" });
13
+ const verifier = createVerify("ed25519");
14
14
  verifier.update(data);
15
15
  return verifier.verify(key, Buffer.from(signatureBase64, "base64"));
16
16
  }
@@ -22,7 +22,7 @@ export function generateChallenge() {
22
22
  return randomBytes(32).toString("base64");
23
23
  }
24
24
  export function generateEphemeralKeys() {
25
- var pair = generateKeyPairSync("x25519", {
25
+ const pair = generateKeyPairSync("x25519", {
26
26
  publicKeyEncoding: { type: "spki", format: "der" },
27
27
  privateKeyEncoding: { type: "pkcs8", format: "der" },
28
28
  });
@@ -32,20 +32,20 @@ export function generateEphemeralKeys() {
32
32
  };
33
33
  }
34
34
  export function deriveSharedSecret(myPrivateKeyDer, theirPublicKeyBase64, nodeIdA, nodeIdB) {
35
- var myKey = createPrivateKey({ key: myPrivateKeyDer, format: "der", type: "pkcs8" });
36
- var theirKey = createPublicKey({ key: Buffer.from(theirPublicKeyBase64, "base64"), format: "der", type: "spki" });
37
- var shared = diffieHellman({ privateKey: myKey, publicKey: theirKey });
38
- var sortedIds = [nodeIdA, nodeIdB].sort().join(":");
39
- var hash = createHash("sha256");
35
+ const myKey = createPrivateKey({ key: myPrivateKeyDer, format: "der", type: "pkcs8" });
36
+ const theirKey = createPublicKey({ key: Buffer.from(theirPublicKeyBase64, "base64"), format: "der", type: "spki" });
37
+ const shared = diffieHellman({ privateKey: myKey, publicKey: theirKey });
38
+ const sortedIds = [nodeIdA, nodeIdB].sort().join(":");
39
+ const hash = createHash("sha256");
40
40
  hash.update(shared);
41
41
  hash.update(Buffer.from("lattice-mesh-v1:" + sortedIds));
42
42
  return hash.digest();
43
43
  }
44
44
  export function encrypt(key, nonce, plaintext) {
45
- var iv = Buffer.alloc(12);
45
+ const iv = Buffer.alloc(12);
46
46
  iv.writeBigUInt64BE(BigInt(nonce), 4);
47
- var cipher = createCipheriv("aes-256-gcm", key, iv);
48
- var encrypted = Buffer.concat([cipher.update(plaintext, "utf-8"), cipher.final()]);
47
+ const cipher = createCipheriv("aes-256-gcm", key, iv);
48
+ const encrypted = Buffer.concat([cipher.update(plaintext, "utf-8"), cipher.final()]);
49
49
  return {
50
50
  ciphertext: encrypted.toString("base64"),
51
51
  tag: cipher.getAuthTag().toString("base64"),
@@ -53,11 +53,11 @@ export function encrypt(key, nonce, plaintext) {
53
53
  }
54
54
  export function decrypt(key, nonce, ciphertext, tag) {
55
55
  try {
56
- var iv = Buffer.alloc(12);
56
+ const iv = Buffer.alloc(12);
57
57
  iv.writeBigUInt64BE(BigInt(nonce), 4);
58
- var decipher = createDecipheriv("aes-256-gcm", key, iv);
58
+ const decipher = createDecipheriv("aes-256-gcm", key, iv);
59
59
  decipher.setAuthTag(Buffer.from(tag, "base64"));
60
- var decrypted = Buffer.concat([decipher.update(Buffer.from(ciphertext, "base64")), decipher.final()]);
60
+ const decrypted = Buffer.concat([decipher.update(Buffer.from(ciphertext, "base64")), decipher.final()]);
61
61
  return decrypted.toString("utf-8");
62
62
  }
63
63
  catch {
@@ -69,13 +69,13 @@ export function createSecureSession(sharedKey) {
69
69
  }
70
70
  export function encryptMessage(session, message) {
71
71
  session.sendNonce++;
72
- var result = encrypt(session.sharedKey, session.sendNonce, JSON.stringify(message));
72
+ const result = encrypt(session.sharedKey, session.sendNonce, JSON.stringify(message));
73
73
  return { type: "mesh:encrypted", nonce: session.sendNonce, ...result };
74
74
  }
75
75
  export function decryptMessage(session, nonce, ciphertext, tag) {
76
76
  if (nonce <= session.recvNonce)
77
77
  return null;
78
- var plaintext = decrypt(session.sharedKey, nonce, ciphertext, tag);
78
+ const plaintext = decrypt(session.sharedKey, nonce, ciphertext, tag);
79
79
  if (!plaintext)
80
80
  return null;
81
81
  session.recvNonce = nonce;
@@ -1,11 +1,11 @@
1
1
  import BonjourImport from "bonjour-service";
2
- var Bonjour = (typeof BonjourImport === "function" ? BonjourImport : BonjourImport.default);
3
- var bonjour = null;
4
- var publishedService = null;
5
- var browser = null;
6
- var discoveredNodes = new Map();
7
- var discoveredCallbacks = [];
8
- var lostCallbacks = [];
2
+ const Bonjour = (typeof BonjourImport === "function" ? BonjourImport : BonjourImport.default);
3
+ let bonjour = null;
4
+ let publishedService = null;
5
+ let browser = null;
6
+ const discoveredNodes = new Map();
7
+ const discoveredCallbacks = [];
8
+ const lostCallbacks = [];
9
9
  export function startDiscovery(nodeId, name, port) {
10
10
  if (bonjour !== null) {
11
11
  return;
@@ -24,20 +24,20 @@ export function startDiscovery(nodeId, name, port) {
24
24
  });
25
25
  console.log(`[discovery] Published _lattice._tcp as "${name}" on port ${port}`);
26
26
  browser = bonjour.find({ type: "lattice", protocol: "tcp" }, function (service) {
27
- var txt = service.txt;
27
+ const txt = service.txt;
28
28
  if (!txt || !txt.nodeId) {
29
29
  return;
30
30
  }
31
31
  if (txt.nodeId === nodeId) {
32
32
  return;
33
33
  }
34
- var address = service.addresses && service.addresses.length > 0
34
+ const address = service.addresses && service.addresses.length > 0
35
35
  ? service.addresses[0]
36
36
  : (service.referer ? service.referer.address : "");
37
37
  if (!address) {
38
38
  return;
39
39
  }
40
- var node = {
40
+ const node = {
41
41
  nodeId: txt.nodeId,
42
42
  name: txt.name || service.name,
43
43
  address: address,
@@ -46,22 +46,22 @@ export function startDiscovery(nodeId, name, port) {
46
46
  };
47
47
  discoveredNodes.set(node.nodeId, node);
48
48
  console.log(`[discovery] Found node: ${node.name} (${node.nodeId}) at ${node.address}:${node.port}`);
49
- for (var i = 0; i < discoveredCallbacks.length; i++) {
49
+ for (let i = 0; i < discoveredCallbacks.length; i++) {
50
50
  discoveredCallbacks[i](node);
51
51
  }
52
52
  });
53
53
  browser.on("down", function (service) {
54
- var txt = service.txt;
54
+ const txt = service.txt;
55
55
  if (!txt || !txt.nodeId) {
56
56
  return;
57
57
  }
58
- var lostId = txt.nodeId;
58
+ const lostId = txt.nodeId;
59
59
  if (!discoveredNodes.has(lostId)) {
60
60
  return;
61
61
  }
62
62
  discoveredNodes.delete(lostId);
63
63
  console.log(`[discovery] Lost node: ${lostId}`);
64
- for (var i = 0; i < lostCallbacks.length; i++) {
64
+ for (let i = 0; i < lostCallbacks.length; i++) {
65
65
  lostCallbacks[i](lostId);
66
66
  }
67
67
  });
@@ -1,13 +1,13 @@
1
1
  import { randomBytes } from "node:crypto";
2
- var BASE62_CHARS = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz";
3
- var CODE_LENGTH = 16;
4
- var PAIRING_TOKEN_TTL = 300000;
5
- var CLEANUP_INTERVAL = 60000;
6
- var pendingTokens = new Map();
2
+ const BASE62_CHARS = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz";
3
+ const CODE_LENGTH = 16;
4
+ const PAIRING_TOKEN_TTL = 300000;
5
+ const CLEANUP_INTERVAL = 60000;
6
+ const pendingTokens = new Map();
7
7
  function base62Encode(buf) {
8
- var n = BigInt("0x" + buf.toString("hex"));
9
- var result = "";
10
- var base = BigInt(BASE62_CHARS.length);
8
+ let n = BigInt("0x" + buf.toString("hex"));
9
+ let result = "";
10
+ const base = BigInt(BASE62_CHARS.length);
11
11
  while (n > 0n) {
12
12
  result = BASE62_CHARS[Number(n % base)] + result;
13
13
  n = n / base;
@@ -18,25 +18,25 @@ function base62Encode(buf) {
18
18
  return result;
19
19
  }
20
20
  function base62Decode(s) {
21
- var n = 0n;
22
- var base = BigInt(BASE62_CHARS.length);
23
- for (var i = 0; i < s.length; i++) {
24
- var idx = BASE62_CHARS.indexOf(s[i]);
21
+ let n = 0n;
22
+ const base = BigInt(BASE62_CHARS.length);
23
+ for (let i = 0; i < s.length; i++) {
24
+ const idx = BASE62_CHARS.indexOf(s[i]);
25
25
  if (idx < 0) {
26
26
  throw new Error("Invalid base62 character: " + s[i]);
27
27
  }
28
28
  n = n * base + BigInt(idx);
29
29
  }
30
- var hex = n.toString(16);
30
+ let hex = n.toString(16);
31
31
  if (hex.length % 2 !== 0) {
32
32
  hex = "0" + hex;
33
33
  }
34
34
  return Buffer.from(hex, "hex");
35
35
  }
36
36
  function packPayload(address, port, token) {
37
- var parts = address.split(".");
38
- var buf = Buffer.alloc(4 + 2 + token.length);
39
- for (var i = 0; i < 4; i++) {
37
+ const parts = address.split(".");
38
+ const buf = Buffer.alloc(4 + 2 + token.length);
39
+ for (let i = 0; i < 4; i++) {
40
40
  buf[i] = parseInt(parts[i] || "0", 10);
41
41
  }
42
42
  buf.writeUInt16BE(port, 4);
@@ -46,14 +46,14 @@ function packPayload(address, port, token) {
46
46
  function unpackPayload(buf) {
47
47
  if (buf.length < 8)
48
48
  return null;
49
- var address = buf[0] + "." + buf[1] + "." + buf[2] + "." + buf[3];
50
- var port = buf.readUInt16BE(4);
51
- var token = buf.subarray(6).toString("hex");
49
+ const address = buf[0] + "." + buf[1] + "." + buf[2] + "." + buf[3];
50
+ const port = buf.readUInt16BE(4);
51
+ const token = buf.subarray(6).toString("hex");
52
52
  return { address, port, token };
53
53
  }
54
54
  function formatCode(raw) {
55
- var chunks = [];
56
- for (var i = 0; i < raw.length; i += 4) {
55
+ const chunks = [];
56
+ for (let i = 0; i < raw.length; i += 4) {
57
57
  chunks.push(raw.slice(i, i + 4));
58
58
  }
59
59
  return "LTCE-" + chunks.join("-");
@@ -62,18 +62,18 @@ function stripCode(code) {
62
62
  return code.replace(/^LTCE-/i, "").replace(/-/g, "");
63
63
  }
64
64
  export async function generateInviteCode(address, port) {
65
- var tokenBuf = randomBytes(4);
66
- var token = tokenBuf.toString("hex");
67
- var payload = packPayload(address, port, tokenBuf);
68
- var encoded = base62Encode(payload);
69
- var code = formatCode(encoded);
65
+ const tokenBuf = randomBytes(4);
66
+ const token = tokenBuf.toString("hex");
67
+ const payload = packPayload(address, port, tokenBuf);
68
+ const encoded = base62Encode(payload);
69
+ const code = formatCode(encoded);
70
70
  pendingTokens.set(token, Date.now());
71
71
  return { code, token, qrDataUrl: "" };
72
72
  }
73
73
  export function parseInviteCode(code) {
74
74
  try {
75
- var stripped = stripCode(code);
76
- var decoded = base62Decode(stripped);
75
+ const stripped = stripCode(code);
76
+ const decoded = base62Decode(stripped);
77
77
  return unpackPayload(decoded);
78
78
  }
79
79
  catch {
@@ -81,7 +81,7 @@ export function parseInviteCode(code) {
81
81
  }
82
82
  }
83
83
  export function validatePairingToken(token) {
84
- var createdAt = pendingTokens.get(token);
84
+ const createdAt = pendingTokens.get(token);
85
85
  if (createdAt === undefined) {
86
86
  return false;
87
87
  }
@@ -95,7 +95,7 @@ export function consumePairingToken(token) {
95
95
  pendingTokens.delete(token);
96
96
  }
97
97
  setInterval(function () {
98
- var now = Date.now();
98
+ const now = Date.now();
99
99
  pendingTokens.forEach(function (createdAt, token) {
100
100
  if (now - createdAt > PAIRING_TOKEN_TTL) {
101
101
  pendingTokens.delete(token);