offsite 0.0.18 → 0.0.20

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 (282) hide show
  1. package/apps/server/dist/main.mjs +119 -26
  2. package/apps/server/dist/main.mjs.map +1 -1
  3. package/apps/web/dist/assets/HugeiconsIcon-B46TDTdz.js +1 -0
  4. package/apps/web/dist/assets/angular-html-BswFT_28.js +1 -0
  5. package/apps/web/dist/assets/angular-html-DOLkzBtu.js +1 -0
  6. package/apps/web/dist/assets/angular-ts-DOMhGxLQ.js +1 -0
  7. package/apps/web/dist/assets/{apl-BRH60u60.js → apl-Dio8Ke0X.js} +1 -1
  8. package/apps/web/dist/assets/astro-CN6YWUG3.js +1 -0
  9. package/apps/web/dist/assets/bat-C7sJWglS.js +1 -0
  10. package/apps/web/dist/assets/{bat-qdxAdBWQ.js → bat-HFWzIrao.js} +1 -1
  11. package/apps/web/dist/assets/{bibtex-Ci_nEsc7.js → bibtex-Conh3HYz.js} +1 -1
  12. package/apps/web/dist/assets/bibtex-DUQXB5kJ.js +1 -0
  13. package/apps/web/dist/assets/blade-BrDpNfUX.js +1 -0
  14. package/apps/web/dist/assets/bsl-gRq8cI6V.js +1 -0
  15. package/apps/web/dist/assets/c-Cz4nF6n_.js +1 -0
  16. package/apps/web/dist/assets/c-SSSlmE39.js +1 -0
  17. package/apps/web/dist/assets/cairo-D66nqRlU.js +1 -0
  18. package/apps/web/dist/assets/{chapel-DmtgEXO_.js → chapel-C1sUNn9S.js} +1 -1
  19. package/apps/web/dist/assets/clojure-CAE6QLVB.js +1 -0
  20. package/apps/web/dist/assets/{clojure-DqKBuwfJ.js → clojure-zIjcJonk.js} +1 -1
  21. package/apps/web/dist/assets/cmake-Cpsd-0Y4.js +1 -0
  22. package/apps/web/dist/assets/{cmake-Bj61d0ZC.js → cmake-T_kMSWuN.js} +1 -1
  23. package/apps/web/dist/assets/{cobol-CGlx5WnO.js → cobol-BvqUwMCV.js} +1 -1
  24. package/apps/web/dist/assets/{coffee-CiiSLhB6.js → coffee-BSYIIMkB.js} +1 -1
  25. package/apps/web/dist/assets/coffee-NEqv5HL5.js +1 -0
  26. package/apps/web/dist/assets/cpp-BDT6bThX.js +1 -0
  27. package/apps/web/dist/assets/cpp-vothkh01.js +1 -0
  28. package/apps/web/dist/assets/{crystal-Bn4W9FYe.js → crystal-DEF7AEJQ.js} +1 -1
  29. package/apps/web/dist/assets/{csharp-dmMxLVLW.js → csharp-B3DbjJyj.js} +1 -1
  30. package/apps/web/dist/assets/csharp-CFKDkFDZ.js +1 -0
  31. package/apps/web/dist/assets/css-BGIxQoYs.js +1 -0
  32. package/apps/web/dist/assets/css-DgaLhXQH.js +1 -0
  33. package/apps/web/dist/assets/{csv-Dx-8-gkx.js → csv-B_R7vXwK.js} +1 -1
  34. package/apps/web/dist/assets/csv-k4CB9lhx.js +1 -0
  35. package/apps/web/dist/assets/dart-DjhkpiWP.js +1 -0
  36. package/apps/web/dist/assets/{dart-CHZY9Xhz.js → dart-_dH3dQdM.js} +1 -1
  37. package/apps/web/dist/assets/{diff-woXpYk--.js → diff-CR4ZX0DC.js} +1 -1
  38. package/apps/web/dist/assets/diff-eeGLjE2V.js +1 -0
  39. package/apps/web/dist/assets/dist-BJ6NAVkJ.js +153 -0
  40. package/apps/web/dist/assets/dist-Cq4WVWnm.js +1 -0
  41. package/apps/web/dist/assets/{docker-IyjqRm3v.js → docker-CAzcIhYn.js} +1 -1
  42. package/apps/web/dist/assets/docker-D0LTq72f.js +1 -0
  43. package/apps/web/dist/assets/edge-B_SBzXGF.js +1 -0
  44. package/apps/web/dist/assets/{elixir-BkREp_f2.js → elixir-BL8v4QDr.js} +1 -1
  45. package/apps/web/dist/assets/elixir-BN3BkYei.js +1 -0
  46. package/apps/web/dist/assets/{elm-o4NJxfws.js → elm-CC1TmzeR.js} +1 -1
  47. package/apps/web/dist/assets/{erb-CpQ5AKmM.js → erb-BjlLGk-_.js} +1 -1
  48. package/apps/web/dist/assets/erlang-CCXss5H6.js +1 -0
  49. package/apps/web/dist/assets/erlang-ir39Pet8.js +1 -0
  50. package/apps/web/dist/assets/fortran-fixed-form-1cK5gXa1.js +1 -0
  51. package/apps/web/dist/assets/fortran-free-form-C5q_0aPq.js +1 -0
  52. package/apps/web/dist/assets/{fortran-free-form-CYNrtFtB.js → fortran-free-form-uHOymLAb.js} +1 -1
  53. package/apps/web/dist/assets/fsharp-C37UASp4.js +1 -0
  54. package/apps/web/dist/assets/fsharp-SO2Zcqp5.js +1 -0
  55. package/apps/web/dist/assets/gdresource-LxjHb83i.js +1 -0
  56. package/apps/web/dist/assets/gdscript-CJEqcM-5.js +1 -0
  57. package/apps/web/dist/assets/{gdscript-DYvRD3hg.js → gdscript-DJFPOtzS.js} +1 -1
  58. package/apps/web/dist/assets/gdshader-BNp4G147.js +1 -0
  59. package/apps/web/dist/assets/{gdshader-CBce3t8t.js → gdshader-kiBtQlv1.js} +1 -1
  60. package/apps/web/dist/assets/git-commit-BAuDFD-1.js +1 -0
  61. package/apps/web/dist/assets/git-commit-DaNUDv1O.js +1 -0
  62. package/apps/web/dist/assets/{git-rebase-BDPpS8w6.js → git-rebase-Bh7mDoAc.js} +1 -1
  63. package/apps/web/dist/assets/git-rebase-qxk4jQ_Z.js +1 -0
  64. package/apps/web/dist/assets/{glimmer-js-BTqwx0oO.js → glimmer-js-CIdbWayl.js} +1 -1
  65. package/apps/web/dist/assets/{glimmer-ts-N9jKyowB.js → glimmer-ts-B16xCo2k.js} +1 -1
  66. package/apps/web/dist/assets/glsl-CaPTrB3a.js +1 -0
  67. package/apps/web/dist/assets/glsl-D01ELkOo.js +1 -0
  68. package/apps/web/dist/assets/go-CC6EVc1J.js +1 -0
  69. package/apps/web/dist/assets/{go-rLFTqkRN.js → go-CFMhVTkq.js} +1 -1
  70. package/apps/web/dist/assets/graphql-BZEhxNwM.js +1 -0
  71. package/apps/web/dist/assets/graphql-DEIChqxY.js +1 -0
  72. package/apps/web/dist/assets/{groovy-CacY0gHj.js → groovy-Dj7WCBJM.js} +1 -1
  73. package/apps/web/dist/assets/groovy-_MokPXAr.js +1 -0
  74. package/apps/web/dist/assets/{hack-ZTcFnVsP.js → hack-C30D-q0p.js} +1 -1
  75. package/apps/web/dist/assets/haml-BU6KMePS.js +1 -0
  76. package/apps/web/dist/assets/haml-C1zHJAQt.js +1 -0
  77. package/apps/web/dist/assets/handlebars-WZCg7K7Q.js +1 -0
  78. package/apps/web/dist/assets/{handlebars-CpsBgm7t.js → handlebars-g-3gLrXt.js} +1 -1
  79. package/apps/web/dist/assets/haxe-B0BMDyun.js +1 -0
  80. package/apps/web/dist/assets/{haxe-C8oCnwJJ.js → haxe-CD8O8Ul0.js} +1 -1
  81. package/apps/web/dist/assets/hlsl-DQJgUA8P.js +1 -0
  82. package/apps/web/dist/assets/{hlsl-Cvrh5tZx.js → hlsl-ajL2FB-w.js} +1 -1
  83. package/apps/web/dist/assets/html-BCy9P6D2.js +1 -0
  84. package/apps/web/dist/assets/html-DSw1lh5G.js +1 -0
  85. package/apps/web/dist/assets/{html-derivative-DNPJNw-0.js → html-derivative-DyzJkWO6.js} +1 -1
  86. package/apps/web/dist/assets/html-derivative-ekTk9Unt.js +1 -0
  87. package/apps/web/dist/assets/{http-kmH8AyfE.js → http-BjrBtiM6.js} +1 -1
  88. package/apps/web/dist/assets/{hurl-DCZHXKU4.js → hurl-B4P9s9G3.js} +1 -1
  89. package/apps/web/dist/assets/hxml-DPF7XkXa.js +1 -0
  90. package/apps/web/dist/assets/image-viewer-DnE3hPpr.js +1 -0
  91. package/apps/web/dist/assets/index-DFIcVxTR.js +783 -0
  92. package/apps/web/dist/assets/index-EdBnhSVl.css +2 -0
  93. package/apps/web/dist/assets/{ini-B5eOa1yu.js → ini-0B7NLFlx.js} +1 -1
  94. package/apps/web/dist/assets/ini-DiZ1IqbV.js +1 -0
  95. package/apps/web/dist/assets/java-BtIQNnN0.js +1 -0
  96. package/apps/web/dist/assets/java-_ATy9zCa.js +1 -0
  97. package/apps/web/dist/assets/javascript-BzbQS41l.js +1 -0
  98. package/apps/web/dist/assets/javascript-CpIGwZ_Y.js +1 -0
  99. package/apps/web/dist/assets/{jinja-81yqctvv.js → jinja-dRcm23Ea.js} +1 -1
  100. package/apps/web/dist/assets/{jison-CBjhYtSs.js → jison-D3aJooqo.js} +1 -1
  101. package/apps/web/dist/assets/json-B88Oqtu5.js +1 -0
  102. package/apps/web/dist/assets/json-C3WlssX3.js +1 -0
  103. package/apps/web/dist/assets/jsonc-BzJ54Uh_.js +1 -0
  104. package/apps/web/dist/assets/{jsonc-CYpm1nAK.js → jsonc-dcnCvL0G.js} +1 -1
  105. package/apps/web/dist/assets/jsx-C4yDKi0A.js +1 -0
  106. package/apps/web/dist/assets/jsx-D3KKoC5L.js +1 -0
  107. package/apps/web/dist/assets/jsx-runtime-D3jfb0Ew.js +1 -0
  108. package/apps/web/dist/assets/julia-C8a5hZkp.js +1 -0
  109. package/apps/web/dist/assets/julia-hqywDEUR.js +1 -0
  110. package/apps/web/dist/assets/just-CP_wDfXI.js +1 -0
  111. package/apps/web/dist/assets/{latex-CvI9akcJ.js → latex-B_Ztlc7G.js} +1 -1
  112. package/apps/web/dist/assets/latex-Bn9nYtub.js +1 -0
  113. package/apps/web/dist/assets/{less-DVTAwKKz.js → less-B64L-FWb.js} +1 -1
  114. package/apps/web/dist/assets/less-CXhFgJ4v.js +1 -0
  115. package/apps/web/dist/assets/{liquid-VY2h0b2O.js → liquid-CQNtsgCr.js} +1 -1
  116. package/apps/web/dist/assets/log-Bu1ZtrH6.js +1 -0
  117. package/apps/web/dist/assets/{log-BNLmms1o.js → log-BvtJ4bSl.js} +1 -1
  118. package/apps/web/dist/assets/lua-DjuecEsk.js +1 -0
  119. package/apps/web/dist/assets/lua-fPRBWD-V.js +1 -0
  120. package/apps/web/dist/assets/make-B54cR2A1.js +1 -0
  121. package/apps/web/dist/assets/{make-Dixweg8N.js → make-URElk0GJ.js} +1 -1
  122. package/apps/web/dist/assets/{markdown-BYOwaDjH.js → markdown-CboqBxpY.js} +1 -1
  123. package/apps/web/dist/assets/markdown-CjQmuOi1.js +1 -0
  124. package/apps/web/dist/assets/marko-DPS0EkZ1.js +1 -0
  125. package/apps/web/dist/assets/mdc-C6srEd4p.js +1 -0
  126. package/apps/web/dist/assets/{nextflow-groovy-D7IRt6Pp.js → nextflow-groovy-C770ykRh.js} +1 -1
  127. package/apps/web/dist/assets/nextflow-groovy-D5vAge1Z.js +1 -0
  128. package/apps/web/dist/assets/nextflow-uA5IJerx.js +1 -0
  129. package/apps/web/dist/assets/{nginx-BTMw9COX.js → nginx-BxRBJ-Af.js} +1 -1
  130. package/apps/web/dist/assets/nim-DN3EGtL-.js +1 -0
  131. package/apps/web/dist/assets/nim-ZjzS1dcU.js +1 -0
  132. package/apps/web/dist/assets/objective-c-CsonrGpd.js +1 -0
  133. package/apps/web/dist/assets/{objective-c-D1A_Heim.js → objective-c-D_ECFp-D.js} +1 -1
  134. package/apps/web/dist/assets/ocaml-BuP2SoBQ.js +1 -0
  135. package/apps/web/dist/assets/{ocaml-O90oeIOV.js → ocaml-D6dNsUd0.js} +1 -1
  136. package/apps/web/dist/assets/org-BRAbLUOJ.js +1 -0
  137. package/apps/web/dist/assets/perl-Ciba4h2-.js +1 -0
  138. package/apps/web/dist/assets/{perl-1pN6i0RM.js → perl-sgZsTtaf.js} +1 -1
  139. package/apps/web/dist/assets/{php-C7NaTRTO.js → php-D9QpVhjP.js} +1 -1
  140. package/apps/web/dist/assets/php-DBfnyu6d.js +1 -0
  141. package/apps/web/dist/assets/{postcss-BXeXVLqQ.js → postcss-D_Wz94rJ.js} +1 -1
  142. package/apps/web/dist/assets/postcss-DkKB82OS.js +1 -0
  143. package/apps/web/dist/assets/powershell-Blb2ISmZ.js +1 -0
  144. package/apps/web/dist/assets/{powershell-QtSnmXcu.js → powershell-CItYMEtV.js} +1 -1
  145. package/apps/web/dist/assets/preview-dialog-CApdSumg.js +273 -0
  146. package/apps/web/dist/assets/pug-C_nSP9Mg.js +1 -0
  147. package/apps/web/dist/assets/{pug-Co4hciMS.js → pug-nGRwXpob.js} +1 -1
  148. package/apps/web/dist/assets/python-C5TF47hQ.js +1 -0
  149. package/apps/web/dist/assets/{python-gzcpVVnB.js → python-CzFU0dpx.js} +1 -1
  150. package/apps/web/dist/assets/{qml-_a-QhfPD.js → qml-BxleM7bJ.js} +1 -1
  151. package/apps/web/dist/assets/r-BXEss897.js +1 -0
  152. package/apps/web/dist/assets/r-DWzjseEo.js +1 -0
  153. package/apps/web/dist/assets/{raku-B3gFvitq.js → raku-BtFKomnU.js} +1 -1
  154. package/apps/web/dist/assets/raku-Cj6OV6qV.js +1 -0
  155. package/apps/web/dist/assets/{razor-DVe451rE.js → razor-UAq-8THt.js} +1 -1
  156. package/apps/web/dist/assets/regexp-BWpGejPw.js +1 -0
  157. package/apps/web/dist/assets/regexp-wOX-4MEz.js +1 -0
  158. package/apps/web/dist/assets/rst-BCaXiUC4.js +1 -0
  159. package/apps/web/dist/assets/ruby-C4ARPOX3.js +1 -0
  160. package/apps/web/dist/assets/{ruby-Zd-8tM08.js → ruby-Dl3oLoVp.js} +1 -1
  161. package/apps/web/dist/assets/rust-Ch0zZBV0.js +1 -0
  162. package/apps/web/dist/assets/{rust-DpiIf5JO.js → rust-DBZE5Si3.js} +1 -1
  163. package/apps/web/dist/assets/{sas-D3h2pRQf.js → sas-BowjnAvi.js} +1 -1
  164. package/apps/web/dist/assets/scala-CTTBu_35.js +1 -0
  165. package/apps/web/dist/assets/{scala-BiFt_7mu.js → scala-o2NiCLJc.js} +1 -1
  166. package/apps/web/dist/assets/scss-CWs8DVSa.js +1 -0
  167. package/apps/web/dist/assets/scss-D3wBkj3d.js +1 -0
  168. package/apps/web/dist/assets/{sdbl-bTVj8UrX.js → sdbl-CpzYUp7e.js} +1 -1
  169. package/apps/web/dist/assets/sdbl-CyKdwm0B.js +1 -0
  170. package/apps/web/dist/assets/shaderlab-DY7g_Ava.js +1 -0
  171. package/apps/web/dist/assets/shellscript-CVTB3cr6.js +1 -0
  172. package/apps/web/dist/assets/shellscript-CqHdAlCp.js +1 -0
  173. package/apps/web/dist/assets/{shellsession-CVsQGYfZ.js → shellsession-DDrivR0a.js} +1 -1
  174. package/apps/web/dist/assets/{soy-CXX9LSpm.js → soy-CUUUw2U6.js} +1 -1
  175. package/apps/web/dist/assets/sparql-Dy5Sx-zJ.js +1 -0
  176. package/apps/web/dist/assets/sql-CNu3Or2W.js +1 -0
  177. package/apps/web/dist/assets/sql-CfM2IJm3.js +1 -0
  178. package/apps/web/dist/assets/{stata-CjrVU8-t.js → stata-Dj4sbAEx.js} +1 -1
  179. package/apps/web/dist/assets/{stylus-B6D30XZt.js → stylus-LiTfbrWi.js} +1 -1
  180. package/apps/web/dist/assets/stylus-y-ZXgJGq.js +1 -0
  181. package/apps/web/dist/assets/{surrealql-BZoq2lXR.js → surrealql-NoXzmj18.js} +1 -1
  182. package/apps/web/dist/assets/svelte-BaCIHHWd.js +1 -0
  183. package/apps/web/dist/assets/swift-CCLoYZtx.js +1 -0
  184. package/apps/web/dist/assets/{swift-CyEgAFGc.js → swift-DQ24oLw9.js} +1 -1
  185. package/apps/web/dist/assets/system-verilog-DFpyZzg3.js +1 -0
  186. package/apps/web/dist/assets/{system-verilog-Dh5ihWbf.js → system-verilog-Dp2k_mze.js} +1 -1
  187. package/apps/web/dist/assets/templ-BfgLc4ra.js +1 -0
  188. package/apps/web/dist/assets/tex-C9L8xJex.js +1 -0
  189. package/apps/web/dist/assets/tex-CNYz7bLJ.js +1 -0
  190. package/apps/web/dist/assets/tooltip-DZsSQhD8.js +1 -0
  191. package/apps/web/dist/assets/{ts-tags-C4CDubZg.js → ts-tags-DLz2GTd3.js} +1 -1
  192. package/apps/web/dist/assets/tsx-BOvsFOI6.js +1 -0
  193. package/apps/web/dist/assets/tsx-CGosfAUg.js +1 -0
  194. package/apps/web/dist/assets/turtle-CQ9kcy0m.js +1 -0
  195. package/apps/web/dist/assets/{turtle-ByJddavk.js → turtle-CcN57yC0.js} +1 -1
  196. package/apps/web/dist/assets/twig-HaHkB3PH.js +1 -0
  197. package/apps/web/dist/assets/twig-lMQ09cjh.js +1 -0
  198. package/apps/web/dist/assets/typescript-Bb1J8qyy.js +1 -0
  199. package/apps/web/dist/assets/typescript-j_1H8WHN.js +1 -0
  200. package/apps/web/dist/assets/typst-DDNSzYFN.js +1 -0
  201. package/apps/web/dist/assets/{vb-DOwzaHZ0.js → vb-3nVziYZS.js} +1 -1
  202. package/apps/web/dist/assets/vb-CP6Ec8nh.js +1 -0
  203. package/apps/web/dist/assets/verilog-1j7BQk-h.js +1 -0
  204. package/apps/web/dist/assets/{verilog-B2gwz-sJ.js → verilog-kL8Dwv27.js} +1 -1
  205. package/apps/web/dist/assets/{video-player-D73_kRr7.js → video-player-05lO0mz3.js} +2 -2
  206. package/apps/web/dist/assets/video-player-DGtpeSpK.js +1 -0
  207. package/apps/web/dist/assets/video-viewer-B404MUMw.js +1 -0
  208. package/apps/web/dist/assets/{vue-html-DkKkQnZL.js → vue-html-CGMs_6qn.js} +1 -1
  209. package/apps/web/dist/assets/vue-qH43U_rv.js +1 -0
  210. package/apps/web/dist/assets/vue-vine-6XI2pIvQ.js +1 -0
  211. package/apps/web/dist/assets/xml-DuKfbPI6.js +1 -0
  212. package/apps/web/dist/assets/xml-WY0zc4PG.js +1 -0
  213. package/apps/web/dist/assets/xsl-CW58cerL.js +1 -0
  214. package/apps/web/dist/assets/{xsl-BOPS8gLt.js → xsl-Czhm44Ae.js} +1 -1
  215. package/apps/web/dist/assets/yaml-DDA_XMNu.js +1 -0
  216. package/apps/web/dist/assets/yaml-DijMHRDA.js +1 -0
  217. package/apps/web/dist/assets/{zig-CMLA9XwU.js → zig-B7sSDI6F.js} +1 -1
  218. package/apps/web/dist/assets/zig-cFafUZna.js +1 -0
  219. package/apps/web/dist/assets/zoomable-image-CjNpa0bY.js +41 -0
  220. package/apps/web/dist/assets/zoomable-image-CzRbnhdc.js +1 -0
  221. package/apps/web/dist/index.html +7 -5
  222. package/apps/web/dist/sw.js +1 -1
  223. package/package.json +1 -1
  224. package/apps/web/dist/assets/HugeiconsIcon-CXlzk0hX.js +0 -1
  225. package/apps/web/dist/assets/angular-html-CPrDeWzk.js +0 -1
  226. package/apps/web/dist/assets/angular-ts-DCisMPVX.js +0 -1
  227. package/apps/web/dist/assets/astro-Dq6p_VTJ.js +0 -1
  228. package/apps/web/dist/assets/blade-CC3PQRrX.js +0 -1
  229. package/apps/web/dist/assets/bsl-_VjlB9mv.js +0 -1
  230. package/apps/web/dist/assets/c-iCihek07.js +0 -1
  231. package/apps/web/dist/assets/cairo-DLTphjLi.js +0 -1
  232. package/apps/web/dist/assets/cpp-71xkOQct.js +0 -1
  233. package/apps/web/dist/assets/css-AeYbVOD-.js +0 -1
  234. package/apps/web/dist/assets/edge-D8qeodQq.js +0 -1
  235. package/apps/web/dist/assets/erlang-Cphh6RMH.js +0 -1
  236. package/apps/web/dist/assets/fortran-fixed-form-DEKoE2YW.js +0 -1
  237. package/apps/web/dist/assets/fsharp-D13ZGOAj.js +0 -1
  238. package/apps/web/dist/assets/gdresource-xMC7jr7x.js +0 -1
  239. package/apps/web/dist/assets/git-commit-BSykSTBG.js +0 -1
  240. package/apps/web/dist/assets/glsl-D5MA2a_X.js +0 -1
  241. package/apps/web/dist/assets/graphql-Ctjuxyvl.js +0 -1
  242. package/apps/web/dist/assets/haml-ChtpF0E7.js +0 -1
  243. package/apps/web/dist/assets/html-hnucWepv.js +0 -1
  244. package/apps/web/dist/assets/hxml-Dcm88srW.js +0 -1
  245. package/apps/web/dist/assets/image-viewer-CBM7yEMl.js +0 -1
  246. package/apps/web/dist/assets/index-DkRVBJlp.css +0 -2
  247. package/apps/web/dist/assets/index-h6Rg_ww0.js +0 -1206
  248. package/apps/web/dist/assets/java-DdHNQ9hk.js +0 -1
  249. package/apps/web/dist/assets/javascript-obGGvMPs.js +0 -1
  250. package/apps/web/dist/assets/json-DAgxKhMr.js +0 -1
  251. package/apps/web/dist/assets/jsx-gTgmArGx.js +0 -1
  252. package/apps/web/dist/assets/jsx-runtime-BNakU3Ej.js +0 -1
  253. package/apps/web/dist/assets/julia-KRkZs2hS.js +0 -1
  254. package/apps/web/dist/assets/just-BuSkJCkO.js +0 -1
  255. package/apps/web/dist/assets/lua-FONpmTUP.js +0 -1
  256. package/apps/web/dist/assets/marko-BRIeiu02.js +0 -1
  257. package/apps/web/dist/assets/mdc-CX_1c8hS.js +0 -1
  258. package/apps/web/dist/assets/nextflow-CSgcYZcx.js +0 -1
  259. package/apps/web/dist/assets/nim-BrYFxDF2.js +0 -1
  260. package/apps/web/dist/assets/org-Cd0u8vWD.js +0 -1
  261. package/apps/web/dist/assets/r-BHcO8Vjq.js +0 -1
  262. package/apps/web/dist/assets/regexp-DR20uMnK.js +0 -1
  263. package/apps/web/dist/assets/rolldown-runtime-hePW80VL.js +0 -1
  264. package/apps/web/dist/assets/rst-hVyWO_Fc.js +0 -1
  265. package/apps/web/dist/assets/scss-DDJaLTnA.js +0 -1
  266. package/apps/web/dist/assets/shaderlab-TOUzSsQk.js +0 -1
  267. package/apps/web/dist/assets/shellscript-Da78Ox-3.js +0 -1
  268. package/apps/web/dist/assets/sparql-D_iOobhT.js +0 -1
  269. package/apps/web/dist/assets/sql-ByhjMBKn.js +0 -1
  270. package/apps/web/dist/assets/svelte-CZ5lJGR6.js +0 -1
  271. package/apps/web/dist/assets/templ-EWf5LxrK.js +0 -1
  272. package/apps/web/dist/assets/tex-BK-H2Wn4.js +0 -1
  273. package/apps/web/dist/assets/tsx-CUOciP0b.js +0 -1
  274. package/apps/web/dist/assets/twig-D6Rh4Rda.js +0 -1
  275. package/apps/web/dist/assets/typescript-BydbNFcO.js +0 -1
  276. package/apps/web/dist/assets/typst-Bq_qwoSs.js +0 -1
  277. package/apps/web/dist/assets/video-viewer-CUqarcH1.js +0 -1
  278. package/apps/web/dist/assets/vue-D5NIjYCb.js +0 -1
  279. package/apps/web/dist/assets/vue-vine-C-CFC0K-.js +0 -1
  280. package/apps/web/dist/assets/xml-BlnrEAEy.js +0 -1
  281. package/apps/web/dist/assets/yaml-Du_6cdrH.js +0 -1
  282. package/apps/web/dist/assets/zoomable-image-CVx2-A2g.js +0 -41
@@ -8,18 +8,19 @@ import os from "node:os";
8
8
  import { deleteSession, forkSession, getSessionMessages, getSubagentMessages, listSessions, query, renameSession } from "@anthropic-ai/claude-agent-sdk";
9
9
  import { execFile, spawn } from "node:child_process";
10
10
  import readline from "node:readline";
11
+ import { lstat, mkdir, open, readFile, readdir, readlink, stat, writeFile } from "node:fs/promises";
11
12
  import { z } from "zod";
12
13
  import { Command } from "@commander-js/extra-typings";
13
14
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
14
15
  import { OpenCode } from "@opencode/client";
15
16
  import { ensure, headers } from "@opencode/client/service";
16
17
  import { and, eq, gt, inArray, lte, sql } from "drizzle-orm";
18
+ import { pathToFileURL } from "node:url";
17
19
  import { sumBy } from "es-toolkit";
18
20
  import { DatabaseSync } from "node:sqlite";
19
21
  import { drizzle } from "drizzle-orm/node-sqlite";
20
22
  import { migrate } from "drizzle-orm/node-sqlite/migrator";
21
23
  import { integer, snakeCase, text } from "drizzle-orm/sqlite-core";
22
- import { lstat, open, readFile, readdir, readlink, stat } from "node:fs/promises";
23
24
  import webPush from "web-push";
24
25
  import { promisify } from "node:util";
25
26
  import { spawn as spawn$1 } from "@lydell/node-pty";
@@ -376,17 +377,17 @@ function toUserInput(prompt, uuid, priority) {
376
377
  type: "user",
377
378
  message: {
378
379
  role: "user",
379
- content: [...prompt.images.map((image) => ({
380
+ content: [...prompt.text === "" ? [] : [{
381
+ type: "text",
382
+ text: prompt.text
383
+ }], ...prompt.images.map((image) => ({
380
384
  type: "image",
381
385
  source: {
382
386
  type: "base64",
383
387
  media_type: image.mediaType,
384
388
  data: image.data
385
389
  }
386
- })), ...prompt.text === "" ? [] : [{
387
- type: "text",
388
- text: prompt.text
389
- }]]
390
+ }))]
390
391
  },
391
392
  parent_tool_use_id: null,
392
393
  uuid,
@@ -398,13 +399,13 @@ function promptMessage(prompt, uuid) {
398
399
  type: "user",
399
400
  uuid,
400
401
  time: Date.now(),
401
- content: [...prompt.images.map((image) => ({
402
- type: "image",
403
- ...image
404
- })), ...prompt.text === "" ? [] : [{
402
+ content: [...prompt.text === "" ? [] : [{
405
403
  type: "text",
406
404
  text: prompt.text
407
- }]],
405
+ }], ...prompt.images.map((image) => ({
406
+ type: "image",
407
+ ...image
408
+ }))],
408
409
  parent: null
409
410
  };
410
411
  }
@@ -482,6 +483,23 @@ function isRecord(value) {
482
483
  return typeof value === "object" && value !== null && !Array.isArray(value);
483
484
  }
484
485
  //#endregion
486
+ //#region src/lib/images.ts
487
+ const extensions = {
488
+ "image/png": "png",
489
+ "image/jpeg": "jpg",
490
+ "image/gif": "gif",
491
+ "image/webp": "webp"
492
+ };
493
+ async function saveImage(sessionId, image) {
494
+ const extension = extensions[image.mediaType];
495
+ if (extension === void 0) throw new Error(`${image.mediaType} images are not supported`);
496
+ const directory = path.join(os.tmpdir(), "offsite", sessionId, "images");
497
+ await mkdir(directory, { recursive: true });
498
+ const file = path.join(directory, `${randomUUID()}.${extension}`);
499
+ await writeFile(file, Buffer.from(image.data, "base64"));
500
+ return file;
501
+ }
502
+ //#endregion
485
503
  //#region src/lib/codex/items.ts
486
504
  const statuses$1 = {
487
505
  inProgress: "running",
@@ -631,13 +649,24 @@ function toItems$1(turnId, item, parent, time) {
631
649
  }
632
650
  function userText$1(input) {
633
651
  switch (input.type) {
634
- case "text": return [input.text];
652
+ case "text": return [input.text.replaceAll(/\[Image: source: [^\]]+\]/g, "")];
635
653
  case "skill":
636
654
  case "mention": return [`$${input.name}`];
637
655
  case "image":
638
656
  case "localImage": return [];
639
657
  }
640
658
  }
659
+ async function imageInputs(sessionId, images) {
660
+ const files = await Promise.all(images.map((image) => saveImage(sessionId, image)));
661
+ return [...images.map((image) => ({
662
+ type: "image",
663
+ url: `data:${image.mediaType};base64,${image.data}`
664
+ })), ...files.map((file) => ({
665
+ type: "text",
666
+ text: `[Image: source: ${file}]`,
667
+ text_elements: []
668
+ }))];
669
+ }
641
670
  function userImages(input) {
642
671
  if (input.type !== "image") return [];
643
672
  const match = /^data:([^;,]+);base64,(.*)$/.exec(input.url);
@@ -1336,10 +1365,7 @@ var CodexRun = class CodexRun {
1336
1365
  text,
1337
1366
  text_elements: []
1338
1367
  }],
1339
- ...prompt.images.map((image) => ({
1340
- type: "image",
1341
- url: `data:${image.mediaType};base64,${image.data}`
1342
- }))
1368
+ ...await imageInputs(this.sessionId, prompt.images)
1343
1369
  ];
1344
1370
  }
1345
1371
  finishTurn() {
@@ -2075,7 +2101,7 @@ var OpenCodeRun = class OpenCodeRun {
2075
2101
  await (await openCode()).session.prompt({
2076
2102
  sessionID: this.sessionId,
2077
2103
  text: prompt.text,
2078
- files: files(prompt),
2104
+ files: await files(this.sessionId, prompt),
2079
2105
  delivery: "steer"
2080
2106
  });
2081
2107
  return;
@@ -2245,7 +2271,7 @@ var OpenCodeRun = class OpenCodeRun {
2245
2271
  sessionID,
2246
2272
  name: match[1],
2247
2273
  text: match[2],
2248
- files: files(prompt)
2274
+ files: await files(sessionID, prompt)
2249
2275
  });
2250
2276
  return;
2251
2277
  }
@@ -2254,7 +2280,7 @@ var OpenCodeRun = class OpenCodeRun {
2254
2280
  await client.session.prompt({
2255
2281
  sessionID,
2256
2282
  text: match[2],
2257
- files: files(prompt),
2283
+ files: await files(sessionID, prompt),
2258
2284
  skills: [{ id: skill.id }]
2259
2285
  });
2260
2286
  return;
@@ -2263,7 +2289,7 @@ var OpenCodeRun = class OpenCodeRun {
2263
2289
  await client.session.prompt({
2264
2290
  sessionID,
2265
2291
  text: prompt.text,
2266
- files: files(prompt)
2292
+ files: await files(sessionID, prompt)
2267
2293
  });
2268
2294
  }
2269
2295
  async apply() {
@@ -2374,8 +2400,8 @@ var OpenCodeRun = class OpenCodeRun {
2374
2400
  });
2375
2401
  }
2376
2402
  };
2377
- function files(prompt) {
2378
- return prompt.images.map((image) => ({ uri: `data:${image.mediaType};base64,${image.data}` }));
2403
+ function files(sessionId, prompt) {
2404
+ return Promise.all(prompt.images.map(async (image) => ({ uri: pathToFileURL(await saveImage(sessionId, image)).href })));
2379
2405
  }
2380
2406
  //#endregion
2381
2407
  //#region src/storage/db.ts
@@ -2684,7 +2710,7 @@ async function find(provider, paths) {
2684
2710
  return [{
2685
2711
  id: thread.id,
2686
2712
  provider: "codex",
2687
- title: thread.name ?? thread.preview,
2713
+ title: thread.name ?? thread.preview.replaceAll(/\[Image: source: [^\]]+\]/g, ""),
2688
2714
  projectId,
2689
2715
  branch: thread.gitInfo?.branch ?? null,
2690
2716
  updatedAt: thread.updatedAt * 1e3
@@ -4550,6 +4576,7 @@ const DIFF_LIMIT = 8e4;
4550
4576
  const UNTRACKED_LIMIT = 100;
4551
4577
  const NEW_FILE_LIMIT = 262144;
4552
4578
  const REPO_DEPTH = 3;
4579
+ const FETCH_TIMEOUT = 6e4;
4553
4580
  const run$1 = promisify(execFile);
4554
4581
  const PULL_REQUEST_INSTRUCTIONS = `You write GitHub pull requests as Markdown.
4555
4582
 
@@ -4612,9 +4639,44 @@ async function push$1(cwd) {
4612
4639
  ]);
4613
4640
  else await git(cwd, ["push"]);
4614
4641
  } catch (error) {
4615
- throw new Error((error instanceof Error ? error.message : String(error)).split("\n").filter((line) => line.trim() !== "" && !line.startsWith("hint:") && !line.startsWith("Command failed:")).join("\n"), { cause: error });
4642
+ throw gitError(error);
4616
4643
  }
4617
4644
  }
4645
+ async function sync(cwd) {
4646
+ if ((await gitStatus(cwd)).upstream === null) {
4647
+ await push$1(cwd);
4648
+ return;
4649
+ }
4650
+ try {
4651
+ await git(cwd, ["fetch"]);
4652
+ const status = await gitStatus(cwd);
4653
+ if (status.behind > 0 && status.ahead === 0) await git(cwd, [
4654
+ "merge",
4655
+ "--ff-only",
4656
+ "@{upstream}"
4657
+ ]);
4658
+ if (status.behind > 0 && status.ahead > 0) await rebaseOnUpstream(cwd);
4659
+ } catch (error) {
4660
+ throw gitError(error);
4661
+ }
4662
+ if ((await gitStatus(cwd)).ahead > 0) await push$1(cwd);
4663
+ }
4664
+ async function fetchProject(cwd) {
4665
+ await Promise.all((await projectRepos(cwd)).map(async (repo) => {
4666
+ try {
4667
+ await run$1("git", ["fetch"], {
4668
+ cwd: path.join(cwd, repo),
4669
+ env: {
4670
+ ...process.env,
4671
+ GIT_TERMINAL_PROMPT: "0"
4672
+ },
4673
+ timeout: FETCH_TIMEOUT
4674
+ });
4675
+ } catch (error) {
4676
+ throw gitError(error);
4677
+ }
4678
+ }));
4679
+ }
4618
4680
  async function localBranches(cwd) {
4619
4681
  return (await git(cwd, [
4620
4682
  "branch",
@@ -4770,6 +4832,7 @@ async function projectRepos(cwd) {
4770
4832
  }
4771
4833
  async function gitStatus(cwd) {
4772
4834
  const output = await git(cwd, [
4835
+ "--no-optional-locks",
4773
4836
  "status",
4774
4837
  "--porcelain=v2",
4775
4838
  "--branch"
@@ -4777,6 +4840,7 @@ async function gitStatus(cwd) {
4777
4840
  const status = {
4778
4841
  branch: null,
4779
4842
  upstream: null,
4843
+ remote: (await git(cwd, ["remote"])).stdout.trim() !== "",
4780
4844
  ahead: 0,
4781
4845
  behind: 0,
4782
4846
  changed: 0
@@ -4793,6 +4857,25 @@ async function gitStatus(cwd) {
4793
4857
  }
4794
4858
  return status;
4795
4859
  }
4860
+ async function rebaseOnUpstream(cwd) {
4861
+ try {
4862
+ await git(cwd, ["rebase", "@{upstream}"]);
4863
+ } catch (error) {
4864
+ const rebasing = await git(cwd, [
4865
+ "rev-parse",
4866
+ "--git-path",
4867
+ "rebase-merge"
4868
+ ]);
4869
+ if (existsSync(path.resolve(cwd, rebasing.stdout.trim()))) {
4870
+ await git(cwd, ["rebase", "--abort"]);
4871
+ throw new Error("Your commits conflict with the remote branch, so nothing was pulled or pushed. Resolve it in a terminal.", { cause: error });
4872
+ }
4873
+ throw error;
4874
+ }
4875
+ }
4876
+ function gitError(error) {
4877
+ return new Error((error instanceof Error ? error.message : String(error)).split("\n").filter((line) => line.trim() !== "" && !line.startsWith("hint:") && !line.startsWith("Command failed:")).join("\n"), { cause: error });
4878
+ }
4796
4879
  async function isRepo(cwd) {
4797
4880
  try {
4798
4881
  await git(cwd, ["rev-parse", "--is-inside-work-tree"]);
@@ -4854,8 +4937,10 @@ function newFilePatch(cwd, file, prefix) {
4854
4937
  const name = `${prefix}${file}`;
4855
4938
  const header = `diff --git a/${name} b/${name}\nnew file\n--- /dev/null\n+++ b/${name}\n`;
4856
4939
  const full = path.join(cwd, file);
4857
- if (lstatSync(full).isSymbolicLink()) return `${header}@@ -0,0 +1 @@\n+${readlinkSync(full)}\n`;
4858
- if (statSync(full).size > NEW_FILE_LIMIT) return `${header}Binary or large file\n`;
4940
+ const stats = lstatSync(full);
4941
+ if (stats.isSymbolicLink()) return `${header}@@ -0,0 +1 @@\n+${readlinkSync(full)}\n`;
4942
+ if (stats.isDirectory()) return `${header}Nested repository\n`;
4943
+ if (stats.size > NEW_FILE_LIMIT) return `${header}Binary or large file\n`;
4859
4944
  const content = readFileSync(full, "utf8");
4860
4945
  if (content.includes("\0")) return `${header}Binary or large file\n`;
4861
4946
  const lines = content.split("\n");
@@ -6086,6 +6171,14 @@ const handlers = {
6086
6171
  await push$1(path.join(projectPath(params.projectId), params.repo));
6087
6172
  return null;
6088
6173
  },
6174
+ "git.sync": async (params) => {
6175
+ await sync(path.join(projectPath(params.projectId), params.repo));
6176
+ return null;
6177
+ },
6178
+ "git.fetch": async (params) => {
6179
+ await fetchProject(projectPath(params.projectId));
6180
+ return null;
6181
+ },
6089
6182
  "git.branches": (params) => pullRequestBranches(path.join(projectPath(params.projectId), params.repo)),
6090
6183
  "git.localBranches": (params) => localBranches(path.join(projectPath(params.projectId), params.repo)),
6091
6184
  "git.switch": async (params) => {