opencami 1.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 (337) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +111 -0
  3. package/bin/opencami.js +155 -0
  4. package/dist/client/apple-touch-icon-180x180.png +0 -0
  5. package/dist/client/assets/_sessionKey-B-MBYHgD.js +95 -0
  6. package/dist/client/assets/abap-BdImnpbu.js +1 -0
  7. package/dist/client/assets/actionscript-3-CfeIJUat.js +1 -0
  8. package/dist/client/assets/ada-bCR0ucgS.js +1 -0
  9. package/dist/client/assets/andromeeda-C-Jbm3Hp.js +1 -0
  10. package/dist/client/assets/angular-html-CU67Zn6k.js +1 -0
  11. package/dist/client/assets/angular-ts-BwZT4LLn.js +1 -0
  12. package/dist/client/assets/apache-Pmp26Uib.js +1 -0
  13. package/dist/client/assets/apex-D8_7TLub.js +1 -0
  14. package/dist/client/assets/apl-dKokRX4l.js +1 -0
  15. package/dist/client/assets/applescript-Co6uUVPk.js +1 -0
  16. package/dist/client/assets/ara-BRHolxvo.js +1 -0
  17. package/dist/client/assets/asciidoc-Dv7Oe6Be.js +1 -0
  18. package/dist/client/assets/asm-D_Q5rh1f.js +1 -0
  19. package/dist/client/assets/astro-CbQHKStN.js +1 -0
  20. package/dist/client/assets/aurora-x-D-2ljcwZ.js +1 -0
  21. package/dist/client/assets/awk-DMzUqQB5.js +1 -0
  22. package/dist/client/assets/ayu-dark-CmMr59Fi.js +1 -0
  23. package/dist/client/assets/ballerina-BFfxhgS-.js +1 -0
  24. package/dist/client/assets/bat-BkioyH1T.js +1 -0
  25. package/dist/client/assets/beancount-k_qm7-4y.js +1 -0
  26. package/dist/client/assets/berry-uYugtg8r.js +1 -0
  27. package/dist/client/assets/bibtex-CHM0blh-.js +1 -0
  28. package/dist/client/assets/bicep-Bmn6On1c.js +1 -0
  29. package/dist/client/assets/blade-D4QpJJKB.js +1 -0
  30. package/dist/client/assets/bsl-BO_Y6i37.js +1 -0
  31. package/dist/client/assets/button-D_9OBT_f.js +1 -0
  32. package/dist/client/assets/c-BIGW1oBm.js +1 -0
  33. package/dist/client/assets/c3-VCDPK7BO.js +1 -0
  34. package/dist/client/assets/cadence-Bv_4Rxtq.js +1 -0
  35. package/dist/client/assets/cairo-KRGpt6FW.js +1 -0
  36. package/dist/client/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  37. package/dist/client/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  38. package/dist/client/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  39. package/dist/client/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  40. package/dist/client/assets/clarity-D53aC0YG.js +1 -0
  41. package/dist/client/assets/clojure-P80f7IUj.js +1 -0
  42. package/dist/client/assets/cmake-D1j8_8rp.js +1 -0
  43. package/dist/client/assets/cobol-nwyudZeR.js +1 -0
  44. package/dist/client/assets/codeowners-Bp6g37R7.js +1 -0
  45. package/dist/client/assets/codeql-DsOJ9woJ.js +1 -0
  46. package/dist/client/assets/coffee-Ch7k5sss.js +1 -0
  47. package/dist/client/assets/common-lisp-Cg-RD9OK.js +1 -0
  48. package/dist/client/assets/connect-BRasuRbB.js +2 -0
  49. package/dist/client/assets/coq-DkFqJrB1.js +1 -0
  50. package/dist/client/assets/cpp-CofmeUqb.js +1 -0
  51. package/dist/client/assets/crystal-tKQVLTB8.js +1 -0
  52. package/dist/client/assets/csharp-K5feNrxe.js +1 -0
  53. package/dist/client/assets/css-DPfMkruS.js +1 -0
  54. package/dist/client/assets/csv-fuZLfV_i.js +1 -0
  55. package/dist/client/assets/cue-D82EKSYY.js +1 -0
  56. package/dist/client/assets/cypher-COkxafJQ.js +1 -0
  57. package/dist/client/assets/d-85-TOEBH.js +1 -0
  58. package/dist/client/assets/dark-plus-C3mMm8J8.js +1 -0
  59. package/dist/client/assets/dart-CF10PKvl.js +1 -0
  60. package/dist/client/assets/dax-CEL-wOlO.js +1 -0
  61. package/dist/client/assets/desktop-BmXAJ9_W.js +1 -0
  62. package/dist/client/assets/diff-D97Zzqfu.js +1 -0
  63. package/dist/client/assets/docker-BcOcwvcX.js +1 -0
  64. package/dist/client/assets/dotenv-Da5cRb03.js +1 -0
  65. package/dist/client/assets/dracula-BzJJZx-M.js +1 -0
  66. package/dist/client/assets/dracula-soft-BXkSAIEj.js +1 -0
  67. package/dist/client/assets/dream-maker-BtqSS_iP.js +1 -0
  68. package/dist/client/assets/edge-BkV0erSs.js +1 -0
  69. package/dist/client/assets/elixir-CDX3lj18.js +1 -0
  70. package/dist/client/assets/elm-DbKCFpqz.js +1 -0
  71. package/dist/client/assets/emacs-lisp-C9XAeP06.js +1 -0
  72. package/dist/client/assets/erb-BOJIQeun.js +1 -0
  73. package/dist/client/assets/erlang-DsQrWhSR.js +1 -0
  74. package/dist/client/assets/everforest-dark-BgDCqdQA.js +1 -0
  75. package/dist/client/assets/everforest-light-C8M2exoo.js +1 -0
  76. package/dist/client/assets/fennel-BYunw83y.js +1 -0
  77. package/dist/client/assets/file-explorer-screen-Daf4rIq9.js +1 -0
  78. package/dist/client/assets/files-ByeIMLfw.js +2 -0
  79. package/dist/client/assets/fish-BvzEVeQv.js +1 -0
  80. package/dist/client/assets/fluent-C4IJs8-o.js +1 -0
  81. package/dist/client/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  82. package/dist/client/assets/fortran-free-form-BxgE0vQu.js +1 -0
  83. package/dist/client/assets/fsharp-CXgrBDvD.js +1 -0
  84. package/dist/client/assets/gdresource-B7Tvp0Sc.js +1 -0
  85. package/dist/client/assets/gdscript-DTMYz4Jt.js +1 -0
  86. package/dist/client/assets/gdshader-DkwncUOv.js +1 -0
  87. package/dist/client/assets/genie-D0YGMca9.js +1 -0
  88. package/dist/client/assets/gherkin-DyxjwDmM.js +1 -0
  89. package/dist/client/assets/git-commit-F4YmCXRG.js +1 -0
  90. package/dist/client/assets/git-rebase-r7XF79zn.js +1 -0
  91. package/dist/client/assets/github-dark-DHJKELXO.js +1 -0
  92. package/dist/client/assets/github-dark-default-Cuk6v7N8.js +1 -0
  93. package/dist/client/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  94. package/dist/client/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  95. package/dist/client/assets/github-light-DAi9KRSo.js +1 -0
  96. package/dist/client/assets/github-light-default-D7oLnXFd.js +1 -0
  97. package/dist/client/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  98. package/dist/client/assets/gleam-BspZqrRM.js +1 -0
  99. package/dist/client/assets/glimmer-js-Rg0-pVw9.js +1 -0
  100. package/dist/client/assets/glimmer-ts-U6CK756n.js +1 -0
  101. package/dist/client/assets/glsl-DplSGwfg.js +1 -0
  102. package/dist/client/assets/gn-n2N0HUVH.js +1 -0
  103. package/dist/client/assets/gnuplot-DdkO51Og.js +1 -0
  104. package/dist/client/assets/go-Dn2_MT6a.js +1 -0
  105. package/dist/client/assets/graphql-ChdNCCLP.js +1 -0
  106. package/dist/client/assets/groovy-gcz8RCvz.js +1 -0
  107. package/dist/client/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  108. package/dist/client/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  109. package/dist/client/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  110. package/dist/client/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  111. package/dist/client/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  112. package/dist/client/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  113. package/dist/client/assets/hack-CaT9iCJl.js +1 -0
  114. package/dist/client/assets/haml-B8DHNrY2.js +1 -0
  115. package/dist/client/assets/handlebars-BL8al0AC.js +1 -0
  116. package/dist/client/assets/haskell-Df6bDoY_.js +1 -0
  117. package/dist/client/assets/haxe-CzTSHFRz.js +1 -0
  118. package/dist/client/assets/hcl-BWvSN4gD.js +1 -0
  119. package/dist/client/assets/hjson-D5-asLiD.js +1 -0
  120. package/dist/client/assets/hlsl-D3lLCCz7.js +1 -0
  121. package/dist/client/assets/houston-DnULxvSX.js +1 -0
  122. package/dist/client/assets/html-GMplVEZG.js +1 -0
  123. package/dist/client/assets/html-derivative-BFtXZ54Q.js +1 -0
  124. package/dist/client/assets/http-jrhK8wxY.js +1 -0
  125. package/dist/client/assets/hurl-irOxFIW8.js +1 -0
  126. package/dist/client/assets/hxml-Bvhsp5Yf.js +1 -0
  127. package/dist/client/assets/hy-DFXneXwc.js +1 -0
  128. package/dist/client/assets/imba-DGztddWO.js +1 -0
  129. package/dist/client/assets/index-ByUDBI-n.js +14 -0
  130. package/dist/client/assets/index-DHGnKfAU.js +1 -0
  131. package/dist/client/assets/ini-BEwlwnbL.js +1 -0
  132. package/dist/client/assets/java-CylS5w8V.js +1 -0
  133. package/dist/client/assets/javascript-wDzz0qaB.js +1 -0
  134. package/dist/client/assets/jinja-4LBKfQ-Z.js +1 -0
  135. package/dist/client/assets/jison-wvAkD_A8.js +1 -0
  136. package/dist/client/assets/json-Cp-IABpG.js +1 -0
  137. package/dist/client/assets/json5-C9tS-k6U.js +1 -0
  138. package/dist/client/assets/jsonc-Des-eS-w.js +1 -0
  139. package/dist/client/assets/jsonl-DcaNXYhu.js +1 -0
  140. package/dist/client/assets/jsonnet-DFQXde-d.js +1 -0
  141. package/dist/client/assets/jssm-C2t-YnRu.js +1 -0
  142. package/dist/client/assets/jsx-g9-lgVsj.js +1 -0
  143. package/dist/client/assets/julia-CxzCAyBv.js +1 -0
  144. package/dist/client/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  145. package/dist/client/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  146. package/dist/client/assets/kanagawa-wave-DWedfzmr.js +1 -0
  147. package/dist/client/assets/kdl-DV7GczEv.js +1 -0
  148. package/dist/client/assets/keyboard-shortcuts-dialog-agsWJ36q.js +1 -0
  149. package/dist/client/assets/kotlin-BdnUsdx6.js +1 -0
  150. package/dist/client/assets/kusto-DZf3V79B.js +1 -0
  151. package/dist/client/assets/laserwave-DUszq2jm.js +1 -0
  152. package/dist/client/assets/latex-B4uzh10-.js +1 -0
  153. package/dist/client/assets/lean-BZvkOJ9d.js +1 -0
  154. package/dist/client/assets/less-B1dDrJ26.js +1 -0
  155. package/dist/client/assets/light-plus-B7mTdjB0.js +1 -0
  156. package/dist/client/assets/liquid-DYVedYrR.js +1 -0
  157. package/dist/client/assets/llvm-BtvRca6l.js +1 -0
  158. package/dist/client/assets/log-2UxHyX5q.js +1 -0
  159. package/dist/client/assets/logo-BtOb2qkB.js +1 -0
  160. package/dist/client/assets/lua-BbnMAYS6.js +1 -0
  161. package/dist/client/assets/luau-C-HG3fhB.js +1 -0
  162. package/dist/client/assets/main-BAHT5yqU.js +81 -0
  163. package/dist/client/assets/make-CHLpvVh8.js +1 -0
  164. package/dist/client/assets/markdown-Cvjx9yec.js +1 -0
  165. package/dist/client/assets/marko-DZsq8hO1.js +1 -0
  166. package/dist/client/assets/material-theme-D5KoaKCx.js +1 -0
  167. package/dist/client/assets/material-theme-darker-BfHTSMKl.js +1 -0
  168. package/dist/client/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  169. package/dist/client/assets/material-theme-ocean-CyktbL80.js +1 -0
  170. package/dist/client/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  171. package/dist/client/assets/matlab-D7o27uSR.js +1 -0
  172. package/dist/client/assets/mdc-DUICxH0z.js +1 -0
  173. package/dist/client/assets/mdx-Cmh6b_Ma.js +1 -0
  174. package/dist/client/assets/menu-BhVaz8Ly.js +20 -0
  175. package/dist/client/assets/mermaid-mWjccvbQ.js +1 -0
  176. package/dist/client/assets/min-dark-CafNBF8u.js +1 -0
  177. package/dist/client/assets/min-light-CTRr51gU.js +1 -0
  178. package/dist/client/assets/mipsasm-CKIfxQSi.js +1 -0
  179. package/dist/client/assets/mojo-B93PlW-d.js +1 -0
  180. package/dist/client/assets/monokai-D4h5O-jR.js +1 -0
  181. package/dist/client/assets/moonbit-Ba13S78F.js +1 -0
  182. package/dist/client/assets/move-Bu9oaDYs.js +1 -0
  183. package/dist/client/assets/narrat-DRg8JJMk.js +1 -0
  184. package/dist/client/assets/new-DLlBm66g.js +1 -0
  185. package/dist/client/assets/nextflow-BrzmwbiE.js +1 -0
  186. package/dist/client/assets/nginx-DknmC5AR.js +1 -0
  187. package/dist/client/assets/night-owl-C39BiMTA.js +1 -0
  188. package/dist/client/assets/nim-CVrawwO9.js +1 -0
  189. package/dist/client/assets/nix-CwoSXNpI.js +1 -0
  190. package/dist/client/assets/nord-Ddv68eIx.js +1 -0
  191. package/dist/client/assets/nushell-C-sUppwS.js +1 -0
  192. package/dist/client/assets/objective-c-DXmwc3jG.js +1 -0
  193. package/dist/client/assets/objective-cpp-CLxacb5B.js +1 -0
  194. package/dist/client/assets/ocaml-C0hk2d4L.js +1 -0
  195. package/dist/client/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  196. package/dist/client/assets/one-light-PoHY5YXO.js +1 -0
  197. package/dist/client/assets/openscad-C4EeE6gA.js +1 -0
  198. package/dist/client/assets/pascal-D93ZcfNL.js +1 -0
  199. package/dist/client/assets/perl-C0TMdlhV.js +1 -0
  200. package/dist/client/assets/php-CDn_0X-4.js +1 -0
  201. package/dist/client/assets/pkl-u5AG7uiY.js +1 -0
  202. package/dist/client/assets/plastic-3e1v2bzS.js +1 -0
  203. package/dist/client/assets/plsql-ChMvpjG-.js +1 -0
  204. package/dist/client/assets/po-BTJTHyun.js +1 -0
  205. package/dist/client/assets/poimandres-CS3Unz2-.js +1 -0
  206. package/dist/client/assets/polar-C0HS_06l.js +1 -0
  207. package/dist/client/assets/postcss-CXtECtnM.js +1 -0
  208. package/dist/client/assets/powerquery-CEu0bR-o.js +1 -0
  209. package/dist/client/assets/powershell-Dpen1YoG.js +1 -0
  210. package/dist/client/assets/prisma-Dd19v3D-.js +1 -0
  211. package/dist/client/assets/prolog-CbFg5uaA.js +1 -0
  212. package/dist/client/assets/proto-C7zT0LnQ.js +1 -0
  213. package/dist/client/assets/pug-CGlum2m_.js +1 -0
  214. package/dist/client/assets/puppet-BMWR74SV.js +1 -0
  215. package/dist/client/assets/purescript-CklMAg4u.js +1 -0
  216. package/dist/client/assets/python-B6aJPvgy.js +1 -0
  217. package/dist/client/assets/qml-3beO22l8.js +1 -0
  218. package/dist/client/assets/qmldir-C8lEn-DE.js +1 -0
  219. package/dist/client/assets/qss-IeuSbFQv.js +1 -0
  220. package/dist/client/assets/r-Dspwwk_N.js +1 -0
  221. package/dist/client/assets/racket-BqYA7rlc.js +1 -0
  222. package/dist/client/assets/raku-DXvB9xmW.js +1 -0
  223. package/dist/client/assets/razor-C1TweQQi.js +1 -0
  224. package/dist/client/assets/red-bN70gL4F.js +1 -0
  225. package/dist/client/assets/reg-C-SQnVFl.js +1 -0
  226. package/dist/client/assets/regexp-CDVJQ6XC.js +1 -0
  227. package/dist/client/assets/rel-C3B-1QV4.js +1 -0
  228. package/dist/client/assets/riscv-BM1_JUlF.js +1 -0
  229. package/dist/client/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  230. package/dist/client/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  231. package/dist/client/assets/rose-pine-qdsjHGoJ.js +1 -0
  232. package/dist/client/assets/rosmsg-BJDFO7_C.js +1 -0
  233. package/dist/client/assets/rst-B0xPkSld.js +1 -0
  234. package/dist/client/assets/ruby-BvKwtOVI.js +1 -0
  235. package/dist/client/assets/rust-B1yitclQ.js +1 -0
  236. package/dist/client/assets/sas-cz2c8ADy.js +1 -0
  237. package/dist/client/assets/sass-Cj5Yp3dK.js +1 -0
  238. package/dist/client/assets/scala-C151Ov-r.js +1 -0
  239. package/dist/client/assets/scheme-C98Dy4si.js +1 -0
  240. package/dist/client/assets/scss-OYdSNvt2.js +1 -0
  241. package/dist/client/assets/sdbl-DVxCFoDh.js +1 -0
  242. package/dist/client/assets/search-dialog-CHwnOyPS.js +1 -0
  243. package/dist/client/assets/session-export-dialog-uOlDUzgX.js +1 -0
  244. package/dist/client/assets/settings-dialog-D0aYDkAM.js +1 -0
  245. package/dist/client/assets/shaderlab-Dg9Lc6iA.js +1 -0
  246. package/dist/client/assets/shellscript-Yzrsuije.js +1 -0
  247. package/dist/client/assets/shellsession-BADoaaVG.js +1 -0
  248. package/dist/client/assets/slack-dark-BthQWCQV.js +1 -0
  249. package/dist/client/assets/slack-ochin-DqwNpetd.js +1 -0
  250. package/dist/client/assets/smalltalk-BERRCDM3.js +1 -0
  251. package/dist/client/assets/snazzy-light-Bw305WKR.js +1 -0
  252. package/dist/client/assets/solarized-dark-DXbdFlpD.js +1 -0
  253. package/dist/client/assets/solarized-light-L9t79GZl.js +1 -0
  254. package/dist/client/assets/solidity-rGO070M0.js +1 -0
  255. package/dist/client/assets/soy-Brmx7dQM.js +1 -0
  256. package/dist/client/assets/sparql-rVzFXLq3.js +1 -0
  257. package/dist/client/assets/splunk-BtCnVYZw.js +1 -0
  258. package/dist/client/assets/sql-BLtJtn59.js +1 -0
  259. package/dist/client/assets/ssh-config-_ykCGR6B.js +1 -0
  260. package/dist/client/assets/stata-BH5u7GGu.js +1 -0
  261. package/dist/client/assets/styles-7aVSlb6l.css +1 -0
  262. package/dist/client/assets/stylus-BEDo0Tqx.js +1 -0
  263. package/dist/client/assets/svelte-zxCyuUbr.js +1 -0
  264. package/dist/client/assets/swift-Dg5xB15N.js +1 -0
  265. package/dist/client/assets/synthwave-84-CbfX1IO0.js +1 -0
  266. package/dist/client/assets/system-verilog-CnnmHF94.js +1 -0
  267. package/dist/client/assets/systemd-4A_iFExJ.js +1 -0
  268. package/dist/client/assets/talonscript-CkByrt1z.js +1 -0
  269. package/dist/client/assets/tasl-QIJgUcNo.js +1 -0
  270. package/dist/client/assets/tcl-dwOrl1Do.js +1 -0
  271. package/dist/client/assets/templ-W15q3VgB.js +1 -0
  272. package/dist/client/assets/terraform-BETggiCN.js +1 -0
  273. package/dist/client/assets/tex-CvyZ59Mk.js +1 -0
  274. package/dist/client/assets/tokyo-night-hegEt444.js +1 -0
  275. package/dist/client/assets/toml-vGWfd6FD.js +1 -0
  276. package/dist/client/assets/ts-tags-zn1MmPIZ.js +1 -0
  277. package/dist/client/assets/tsv-B_m7g4N7.js +1 -0
  278. package/dist/client/assets/tsx-COt5Ahok.js +1 -0
  279. package/dist/client/assets/turtle-BsS91CYL.js +1 -0
  280. package/dist/client/assets/twig-CO9l9SDP.js +1 -0
  281. package/dist/client/assets/typescript-BPQ3VLAy.js +1 -0
  282. package/dist/client/assets/typespec-BGHnOYBU.js +1 -0
  283. package/dist/client/assets/typst-DHCkPAjA.js +1 -0
  284. package/dist/client/assets/v-BcVCzyr7.js +1 -0
  285. package/dist/client/assets/vala-CsfeWuGM.js +1 -0
  286. package/dist/client/assets/vb-D17OF-Vu.js +1 -0
  287. package/dist/client/assets/verilog-BQ8w6xss.js +1 -0
  288. package/dist/client/assets/vesper-DU1UobuO.js +1 -0
  289. package/dist/client/assets/vhdl-CeAyd5Ju.js +1 -0
  290. package/dist/client/assets/viml-CJc9bBzg.js +1 -0
  291. package/dist/client/assets/vitesse-black-Bkuqu6BP.js +1 -0
  292. package/dist/client/assets/vitesse-dark-D0r3Knsf.js +1 -0
  293. package/dist/client/assets/vitesse-light-CVO1_9PV.js +1 -0
  294. package/dist/client/assets/vue-DN_0RTcg.js +1 -0
  295. package/dist/client/assets/vue-html-AaS7Mt5G.js +1 -0
  296. package/dist/client/assets/vue-vine-CQOfvN7w.js +1 -0
  297. package/dist/client/assets/vyper-CDx5xZoG.js +1 -0
  298. package/dist/client/assets/wasm-CG6Dc4jp.js +1 -0
  299. package/dist/client/assets/wasm-MzD3tlZU.js +1 -0
  300. package/dist/client/assets/wenyan-BV7otONQ.js +1 -0
  301. package/dist/client/assets/wgsl-Dx-B1_4e.js +1 -0
  302. package/dist/client/assets/wikitext-BhOHFoWU.js +1 -0
  303. package/dist/client/assets/wit-5i3qLPDT.js +1 -0
  304. package/dist/client/assets/wolfram-lXgVvXCa.js +1 -0
  305. package/dist/client/assets/xml-sdJ4AIDG.js +1 -0
  306. package/dist/client/assets/xsl-CtQFsRM5.js +1 -0
  307. package/dist/client/assets/yaml-Buea-lGh.js +1 -0
  308. package/dist/client/assets/zenscript-DVFEvuxE.js +1 -0
  309. package/dist/client/assets/zig-VOosw3JB.js +1 -0
  310. package/dist/client/cover.jpg +0 -0
  311. package/dist/client/cover.webp +0 -0
  312. package/dist/client/favicon.svg +4 -0
  313. package/dist/client/manifest.json +40 -0
  314. package/dist/client/pwa-192x192.png +0 -0
  315. package/dist/client/pwa-512x512.png +0 -0
  316. package/dist/client/pwa-maskable-512x512.png +0 -0
  317. package/dist/client/robots.txt +3 -0
  318. package/dist/client/screenshot-file-explorer.png +0 -0
  319. package/dist/client/sw.js +165 -0
  320. package/dist/server/assets/_sessionKey-qlAPF_Ft.js +6130 -0
  321. package/dist/server/assets/_tanstack-start-manifest_v-El8F-kd-.js +4 -0
  322. package/dist/server/assets/button-DtQ3rV1m.js +53 -0
  323. package/dist/server/assets/connect-BWI_6rCm.js +80 -0
  324. package/dist/server/assets/file-explorer-screen-DJXPEG_J.js +2450 -0
  325. package/dist/server/assets/files-CONoVTGD.js +11 -0
  326. package/dist/server/assets/index-Bp8QskbI.js +28 -0
  327. package/dist/server/assets/index-COu2idHm.js +226 -0
  328. package/dist/server/assets/keyboard-shortcuts-dialog-D5hqVX2v.js +69 -0
  329. package/dist/server/assets/menu-D6n4DB0U.js +156 -0
  330. package/dist/server/assets/new-Dzk5YxE9.js +6 -0
  331. package/dist/server/assets/router-DbxyvprK.js +2749 -0
  332. package/dist/server/assets/search-dialog-JY8C3mqa.js +443 -0
  333. package/dist/server/assets/session-export-dialog-D87uafPD.js +80 -0
  334. package/dist/server/assets/settings-dialog-CBj7njLM.js +568 -0
  335. package/dist/server/assets/start-HYkvq4Ni.js +4 -0
  336. package/dist/server/server.js +1013 -0
  337. package/package.json +93 -0
@@ -0,0 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Suspense, lazy } from "react";
3
+ const FileExplorerScreen = lazy(() => import("./file-explorer-screen-DJXPEG_J.js").then((m) => ({
4
+ default: m.FileExplorerScreen
5
+ })));
6
+ function FilesRoute() {
7
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "flex h-screen items-center justify-center text-primary-500 text-sm", children: "Loading…" }), children: /* @__PURE__ */ jsx(FileExplorerScreen, {}) });
8
+ }
9
+ export {
10
+ FilesRoute as component
11
+ };
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
3
+ import { R as Route } from "./router-DbxyvprK.js";
4
+ import "@tanstack/react-router";
5
+ import "@tanstack/react-query";
6
+ import "node:crypto";
7
+ import "ws";
8
+ import "@tanstack/router-core/ssr/client";
9
+ import "node:fs/promises";
10
+ import "node:os";
11
+ import "node:path";
12
+ import "path";
13
+ function IndexRoute() {
14
+ const navigate = Route.useNavigate();
15
+ useEffect(() => {
16
+ navigate({
17
+ to: "/chat/$sessionKey",
18
+ params: {
19
+ sessionKey: "main"
20
+ },
21
+ replace: true
22
+ });
23
+ }, [navigate]);
24
+ return /* @__PURE__ */ jsx("div", { className: "h-screen flex items-center justify-center text-primary-600", children: "Loading…" });
25
+ }
26
+ export {
27
+ IndexRoute as component
28
+ };
@@ -0,0 +1,226 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect, useMemo } from "react";
3
+ import { HugeiconsIcon } from "@hugeicons/react";
4
+ import { Tick02Icon, Copy01Icon } from "@hugeicons/core-free-icons";
5
+ import { bundledLanguages, createHighlighter } from "shiki";
6
+ import { create } from "zustand";
7
+ import { persist } from "zustand/middleware";
8
+ import { B as Button, c as cn } from "./button-DtQ3rV1m.js";
9
+ const useChatSettingsStore = create()(
10
+ persist(
11
+ (set) => ({
12
+ settings: {
13
+ showToolMessages: true,
14
+ showReasoningBlocks: true,
15
+ theme: "system"
16
+ },
17
+ updateSettings: (updates) => set((state) => ({
18
+ settings: { ...state.settings, ...updates }
19
+ }))
20
+ }),
21
+ {
22
+ name: "chat-settings"
23
+ }
24
+ )
25
+ );
26
+ function useChatSettings() {
27
+ const settings = useChatSettingsStore((state) => state.settings);
28
+ const updateSettings = useChatSettingsStore((state) => state.updateSettings);
29
+ return {
30
+ settings,
31
+ updateSettings
32
+ };
33
+ }
34
+ function useResolvedTheme() {
35
+ const theme = useChatSettingsStore((state) => state.settings.theme);
36
+ const [systemIsDark, setSystemIsDark] = useState(false);
37
+ useEffect(() => {
38
+ if (typeof window === "undefined") return;
39
+ const media = window.matchMedia("(prefers-color-scheme: dark)");
40
+ setSystemIsDark(media.matches);
41
+ function handleChange(event) {
42
+ setSystemIsDark(event.matches);
43
+ }
44
+ media.addEventListener("change", handleChange);
45
+ return () => media.removeEventListener("change", handleChange);
46
+ }, []);
47
+ return useMemo(() => {
48
+ if (theme === "dark") return "dark";
49
+ if (theme === "light") return "light";
50
+ return systemIsDark ? "dark" : "light";
51
+ }, [theme, systemIsDark]);
52
+ }
53
+ const LANGUAGE_ALIASES = {
54
+ js: "javascript",
55
+ ts: "typescript",
56
+ tsx: "tsx",
57
+ jsx: "jsx",
58
+ typescriptreact: "tsx",
59
+ javascriptreact: "jsx",
60
+ react: "jsx",
61
+ sh: "bash",
62
+ shell: "bash",
63
+ yml: "yaml",
64
+ md: "markdown",
65
+ txt: "text"
66
+ };
67
+ function normalizeLanguage(language) {
68
+ const cleaned = language.trim().toLowerCase().replace(/^language-/, "").replace(/^\[|\]$/g, "");
69
+ const token = cleaned.split(/[\s,]+/)[0] || "text";
70
+ return LANGUAGE_ALIASES[token] ?? token;
71
+ }
72
+ function resolveLanguage(language) {
73
+ const normalized = normalizeLanguage(language);
74
+ return normalized in bundledLanguages ? normalized : "text";
75
+ }
76
+ function formatLanguageName(language) {
77
+ const names = {
78
+ bash: "Bash",
79
+ python: "Python",
80
+ javascript: "JavaScript",
81
+ typescript: "TypeScript",
82
+ tsx: "TSX",
83
+ jsx: "JSX",
84
+ json: "JSON",
85
+ html: "HTML",
86
+ css: "CSS",
87
+ sql: "SQL",
88
+ yaml: "YAML",
89
+ markdown: "Markdown",
90
+ text: "Plain Text"
91
+ };
92
+ return names[language] || language.charAt(0).toUpperCase() + language.slice(1);
93
+ }
94
+ let highlighterPromise = null;
95
+ function getHighlighter() {
96
+ if (!highlighterPromise) {
97
+ highlighterPromise = createHighlighter({
98
+ themes: ["vitesse-light", "vitesse-dark"],
99
+ langs: ["text"]
100
+ });
101
+ }
102
+ return highlighterPromise;
103
+ }
104
+ function CodeBlock({
105
+ content,
106
+ ariaLabel,
107
+ language = "text",
108
+ className
109
+ }) {
110
+ const resolvedTheme = useResolvedTheme();
111
+ const [copied, setCopied] = useState(false);
112
+ const [html, setHtml] = useState(null);
113
+ const [resolvedLanguage, setResolvedLanguage] = useState("text");
114
+ const [headerBg, setHeaderBg] = useState();
115
+ const fallback = useMemo(() => {
116
+ return content;
117
+ }, [content]);
118
+ const normalizedLanguage = normalizeLanguage(language || "text");
119
+ const themeName = resolvedTheme === "dark" ? "vitesse-dark" : "vitesse-light";
120
+ useEffect(() => {
121
+ let active = true;
122
+ getHighlighter().then(async (highlighter) => {
123
+ let lang = resolveLanguage(normalizedLanguage);
124
+ if (lang !== "text") {
125
+ try {
126
+ await highlighter.loadLanguage(lang);
127
+ } catch {
128
+ lang = "text";
129
+ }
130
+ }
131
+ const highlighted = highlighter.codeToHtml(content, {
132
+ lang,
133
+ theme: themeName
134
+ });
135
+ if (active) {
136
+ setResolvedLanguage(lang);
137
+ setHtml(highlighted);
138
+ const theme = highlighter.getTheme(themeName);
139
+ setHeaderBg(theme.bg);
140
+ }
141
+ }).catch(() => {
142
+ if (active) setHtml(null);
143
+ });
144
+ return () => {
145
+ active = false;
146
+ };
147
+ }, [content, normalizedLanguage, themeName]);
148
+ async function handleCopy() {
149
+ try {
150
+ await navigator.clipboard.writeText(content);
151
+ setCopied(true);
152
+ window.setTimeout(() => setCopied(false), 1600);
153
+ } catch {
154
+ setCopied(false);
155
+ }
156
+ }
157
+ const isSingleLine = content.split("\n").length === 1;
158
+ const displayLanguage = formatLanguageName(resolvedLanguage);
159
+ return /* @__PURE__ */ jsxs(
160
+ "div",
161
+ {
162
+ className: cn(
163
+ "group relative min-w-0 overflow-hidden rounded-lg border border-primary-200",
164
+ className
165
+ ),
166
+ children: [
167
+ /* @__PURE__ */ jsxs(
168
+ "div",
169
+ {
170
+ className: cn("flex items-center justify-between px-3 pt-2"),
171
+ style: { backgroundColor: headerBg },
172
+ children: [
173
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-primary-500", children: displayLanguage }),
174
+ /* @__PURE__ */ jsxs(
175
+ Button,
176
+ {
177
+ variant: "ghost",
178
+ "aria-label": ariaLabel ?? "Copy code",
179
+ className: "h-auto px-0 text-xs font-medium text-primary-500 hover:text-primary-800 hover:bg-transparent",
180
+ onClick: () => {
181
+ handleCopy().catch(() => {
182
+ });
183
+ },
184
+ children: [
185
+ /* @__PURE__ */ jsx(
186
+ HugeiconsIcon,
187
+ {
188
+ icon: copied ? Tick02Icon : Copy01Icon,
189
+ size: 14,
190
+ strokeWidth: 1.8
191
+ }
192
+ ),
193
+ copied ? "Copied" : "Copy"
194
+ ]
195
+ }
196
+ )
197
+ ]
198
+ }
199
+ ),
200
+ html ? /* @__PURE__ */ jsx(
201
+ "div",
202
+ {
203
+ className: cn(
204
+ "text-sm text-primary-900 [&>pre]:overflow-x-auto",
205
+ isSingleLine ? "[&>pre]:whitespace-pre [&>pre]:px-3 [&>pre]:py-2" : "[&>pre]:px-3 [&>pre]:py-3"
206
+ ),
207
+ dangerouslySetInnerHTML: { __html: html }
208
+ }
209
+ ) : /* @__PURE__ */ jsx(
210
+ "pre",
211
+ {
212
+ className: cn(
213
+ "text-sm",
214
+ isSingleLine ? "whitespace-pre px-3 py-2" : "px-3 py-3"
215
+ ),
216
+ children: /* @__PURE__ */ jsx("code", { className: "overflow-x-auto", children: fallback })
217
+ }
218
+ )
219
+ ]
220
+ }
221
+ );
222
+ }
223
+ export {
224
+ CodeBlock as C,
225
+ useChatSettings as u
226
+ };
@@ -0,0 +1,69 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { D as DialogRoot, a as DialogContent, b as DialogTitle, c as DialogDescription, d as DialogClose } from "./menu-D6n4DB0U.js";
3
+ import { B as Button } from "./button-DtQ3rV1m.js";
4
+ import "@base-ui/react/tooltip";
5
+ import "@base-ui/react/dialog";
6
+ import "@base-ui/react/menu";
7
+ import "@base-ui/react/merge-props";
8
+ import "@base-ui/react/use-render";
9
+ import "class-variance-authority";
10
+ import "clsx";
11
+ import "tailwind-merge";
12
+ const isMac = typeof navigator !== "undefined" && navigator.platform.toUpperCase().indexOf("MAC") >= 0;
13
+ const shortcuts = [
14
+ {
15
+ keys: [isMac ? "⌘" : "Ctrl", "K"],
16
+ description: "Start a new chat"
17
+ },
18
+ {
19
+ keys: [isMac ? "⌘" : "Ctrl", "F"],
20
+ description: "Search current conversation"
21
+ },
22
+ {
23
+ keys: [isMac ? "⌘" : "Ctrl", "Shift", "F"],
24
+ description: "Search all conversations"
25
+ },
26
+ {
27
+ keys: [isMac ? "⌘" : "Ctrl", "/"],
28
+ description: "Focus message input"
29
+ },
30
+ {
31
+ keys: ["Esc"],
32
+ description: "Close dialogs / Clear focus"
33
+ },
34
+ {
35
+ keys: [isMac ? "⌘" : "Ctrl", "Shift", "C"],
36
+ description: "Copy last response"
37
+ },
38
+ {
39
+ keys: ["?"],
40
+ description: "Show this help dialog"
41
+ }
42
+ ];
43
+ function KeyboardShortcutsDialog({
44
+ open,
45
+ onOpenChange
46
+ }) {
47
+ return /* @__PURE__ */ jsx(DialogRoot, { open, onOpenChange, children: /* @__PURE__ */ jsx(DialogContent, { className: "w-[min(500px,92vw)]", children: /* @__PURE__ */ jsxs("div", { className: "p-6", children: [
48
+ /* @__PURE__ */ jsx(DialogTitle, { className: "mb-2", children: "Keyboard Shortcuts" }),
49
+ /* @__PURE__ */ jsx(DialogDescription, { className: "mb-6", children: "Speed up your workflow with these keyboard shortcuts" }),
50
+ /* @__PURE__ */ jsx("div", { className: "space-y-3", children: shortcuts.map((shortcut, index) => /* @__PURE__ */ jsxs(
51
+ "div",
52
+ {
53
+ className: "flex items-center justify-between py-2 border-b border-primary-100 last:border-0",
54
+ children: [
55
+ /* @__PURE__ */ jsx("span", { className: "text-sm text-primary-700", children: shortcut.description }),
56
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: shortcut.keys.map((key, keyIndex) => /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center", children: [
57
+ /* @__PURE__ */ jsx("kbd", { className: "px-2 py-1 text-xs font-semibold text-primary-800 bg-primary-100 border border-primary-200 rounded", children: key }),
58
+ keyIndex < shortcut.keys.length - 1 && /* @__PURE__ */ jsx("span", { className: "mx-1 text-primary-400", children: "+" })
59
+ ] }, keyIndex)) })
60
+ ]
61
+ },
62
+ index
63
+ )) }),
64
+ /* @__PURE__ */ jsx("div", { className: "mt-6 flex justify-end", children: /* @__PURE__ */ jsx(DialogClose, { children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Close" }) }) })
65
+ ] }) }) });
66
+ }
67
+ export {
68
+ KeyboardShortcutsDialog
69
+ };
@@ -0,0 +1,156 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Tooltip } from "@base-ui/react/tooltip";
3
+ import { c as cn, B as Button } from "./button-DtQ3rV1m.js";
4
+ import { Dialog } from "@base-ui/react/dialog";
5
+ import { Menu } from "@base-ui/react/menu";
6
+ const defaultChatUiState = {
7
+ isSidebarCollapsed: false
8
+ };
9
+ const chatUiQueryKey = ["chat", "ui"];
10
+ function getChatUiState(queryClient) {
11
+ const cached = queryClient.getQueryData(chatUiQueryKey);
12
+ if (cached && typeof cached === "object") {
13
+ return {
14
+ ...defaultChatUiState,
15
+ ...cached
16
+ };
17
+ }
18
+ return defaultChatUiState;
19
+ }
20
+ function setChatUiState(queryClient, updater) {
21
+ queryClient.setQueryData(chatUiQueryKey, function update(state) {
22
+ const current = state && typeof state === "object" ? {
23
+ ...defaultChatUiState,
24
+ ...state
25
+ } : defaultChatUiState;
26
+ return updater(current);
27
+ });
28
+ }
29
+ function TooltipProvider({ children }) {
30
+ return /* @__PURE__ */ jsx(Tooltip.Provider, { delay: 0, closeDelay: 0, timeout: 0, children });
31
+ }
32
+ function TooltipRoot({ children, ...props }) {
33
+ return /* @__PURE__ */ jsx(Tooltip.Root, { ...props, children });
34
+ }
35
+ function TooltipTrigger({ className, ...props }) {
36
+ return /* @__PURE__ */ jsx(Tooltip.Trigger, { className: cn(className), ...props });
37
+ }
38
+ function TooltipContent({
39
+ className,
40
+ side = "top",
41
+ children
42
+ }) {
43
+ return /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, { side, children: /* @__PURE__ */ jsx(
44
+ Tooltip.Popup,
45
+ {
46
+ className: cn(
47
+ "rounded-md border border-primary-900 bg-primary-950 px-2 py-1 text-xs text-primary-50 shadow-sm",
48
+ className
49
+ ),
50
+ children
51
+ }
52
+ ) }) });
53
+ }
54
+ function DialogRoot({ children, ...props }) {
55
+ return /* @__PURE__ */ jsx(Dialog.Root, { ...props, children });
56
+ }
57
+ function DialogContent({ className, children }) {
58
+ return /* @__PURE__ */ jsxs(Dialog.Portal, { children: [
59
+ /* @__PURE__ */ jsx(Dialog.Backdrop, { className: "fixed inset-0 bg-ink/40 transition-all duration-150 data-[state=open]:opacity-100 data-[state=closed]:opacity-0 dark:bg-surface/40" }),
60
+ /* @__PURE__ */ jsx(
61
+ Dialog.Popup,
62
+ {
63
+ className: cn(
64
+ "fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",
65
+ "w-[min(400px,92vw)] rounded-[20px] border border-primary-200 bg-primary-50 p-0 shadow-lg",
66
+ "transition-all duration-150",
67
+ "data-[state=open]:opacity-100 data-[state=closed]:opacity-0",
68
+ "data-[state=open]:scale-100 data-[state=closed]:scale-95",
69
+ className
70
+ ),
71
+ children
72
+ }
73
+ )
74
+ ] });
75
+ }
76
+ function DialogTitle({ className, ...props }) {
77
+ return /* @__PURE__ */ jsx(
78
+ Dialog.Title,
79
+ {
80
+ className: cn("text-lg font-medium text-primary-900", className),
81
+ ...props
82
+ }
83
+ );
84
+ }
85
+ function DialogDescription({ className, ...props }) {
86
+ return /* @__PURE__ */ jsx(
87
+ Dialog.Description,
88
+ {
89
+ className: cn("text-sm text-primary-600", className),
90
+ ...props
91
+ }
92
+ );
93
+ }
94
+ function DialogClose({ className, render, ...props }) {
95
+ return /* @__PURE__ */ jsx(
96
+ Dialog.Close,
97
+ {
98
+ render: render || /* @__PURE__ */ jsx(Button, { variant: "outline", className: cn(className) }),
99
+ ...props
100
+ }
101
+ );
102
+ }
103
+ function MenuRoot({ children, ...props }) {
104
+ return /* @__PURE__ */ jsx(Menu.Root, { ...props, children });
105
+ }
106
+ function MenuTrigger({ className, ...props }) {
107
+ return /* @__PURE__ */ jsx(Menu.Trigger, { className: cn(className), ...props });
108
+ }
109
+ function MenuContent({
110
+ className,
111
+ side = "bottom",
112
+ align = "end",
113
+ children
114
+ }) {
115
+ return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, { side, align, children: /* @__PURE__ */ jsx(
116
+ Menu.Popup,
117
+ {
118
+ className: cn(
119
+ "min-w-[110px] rounded-lg bg-primary-50 p-1 text-sm text-primary-900 shadow-lg outline outline-primary-900/10",
120
+ className
121
+ ),
122
+ children
123
+ }
124
+ ) }) });
125
+ }
126
+ function MenuItem({ className, ...props }) {
127
+ return /* @__PURE__ */ jsx(
128
+ Menu.Item,
129
+ {
130
+ className: cn(
131
+ "flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-primary-900 hover:bg-primary-100 data-highlighted:bg-primary-100",
132
+ "select-none font-[450]",
133
+ className
134
+ ),
135
+ ...props
136
+ }
137
+ );
138
+ }
139
+ export {
140
+ DialogRoot as D,
141
+ MenuRoot as M,
142
+ TooltipProvider as T,
143
+ DialogContent as a,
144
+ DialogTitle as b,
145
+ DialogDescription as c,
146
+ DialogClose as d,
147
+ MenuTrigger as e,
148
+ MenuContent as f,
149
+ MenuItem as g,
150
+ TooltipRoot as h,
151
+ TooltipTrigger as i,
152
+ TooltipContent as j,
153
+ chatUiQueryKey as k,
154
+ getChatUiState as l,
155
+ setChatUiState as s
156
+ };
@@ -0,0 +1,6 @@
1
+ const SplitComponent = function NewChatRoute() {
2
+ return null;
3
+ };
4
+ export {
5
+ SplitComponent as component
6
+ };