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.
- package/apps/server/dist/main.mjs +119 -26
- package/apps/server/dist/main.mjs.map +1 -1
- package/apps/web/dist/assets/HugeiconsIcon-B46TDTdz.js +1 -0
- package/apps/web/dist/assets/angular-html-BswFT_28.js +1 -0
- package/apps/web/dist/assets/angular-html-DOLkzBtu.js +1 -0
- package/apps/web/dist/assets/angular-ts-DOMhGxLQ.js +1 -0
- package/apps/web/dist/assets/{apl-BRH60u60.js → apl-Dio8Ke0X.js} +1 -1
- package/apps/web/dist/assets/astro-CN6YWUG3.js +1 -0
- package/apps/web/dist/assets/bat-C7sJWglS.js +1 -0
- package/apps/web/dist/assets/{bat-qdxAdBWQ.js → bat-HFWzIrao.js} +1 -1
- package/apps/web/dist/assets/{bibtex-Ci_nEsc7.js → bibtex-Conh3HYz.js} +1 -1
- package/apps/web/dist/assets/bibtex-DUQXB5kJ.js +1 -0
- package/apps/web/dist/assets/blade-BrDpNfUX.js +1 -0
- package/apps/web/dist/assets/bsl-gRq8cI6V.js +1 -0
- package/apps/web/dist/assets/c-Cz4nF6n_.js +1 -0
- package/apps/web/dist/assets/c-SSSlmE39.js +1 -0
- package/apps/web/dist/assets/cairo-D66nqRlU.js +1 -0
- package/apps/web/dist/assets/{chapel-DmtgEXO_.js → chapel-C1sUNn9S.js} +1 -1
- package/apps/web/dist/assets/clojure-CAE6QLVB.js +1 -0
- package/apps/web/dist/assets/{clojure-DqKBuwfJ.js → clojure-zIjcJonk.js} +1 -1
- package/apps/web/dist/assets/cmake-Cpsd-0Y4.js +1 -0
- package/apps/web/dist/assets/{cmake-Bj61d0ZC.js → cmake-T_kMSWuN.js} +1 -1
- package/apps/web/dist/assets/{cobol-CGlx5WnO.js → cobol-BvqUwMCV.js} +1 -1
- package/apps/web/dist/assets/{coffee-CiiSLhB6.js → coffee-BSYIIMkB.js} +1 -1
- package/apps/web/dist/assets/coffee-NEqv5HL5.js +1 -0
- package/apps/web/dist/assets/cpp-BDT6bThX.js +1 -0
- package/apps/web/dist/assets/cpp-vothkh01.js +1 -0
- package/apps/web/dist/assets/{crystal-Bn4W9FYe.js → crystal-DEF7AEJQ.js} +1 -1
- package/apps/web/dist/assets/{csharp-dmMxLVLW.js → csharp-B3DbjJyj.js} +1 -1
- package/apps/web/dist/assets/csharp-CFKDkFDZ.js +1 -0
- package/apps/web/dist/assets/css-BGIxQoYs.js +1 -0
- package/apps/web/dist/assets/css-DgaLhXQH.js +1 -0
- package/apps/web/dist/assets/{csv-Dx-8-gkx.js → csv-B_R7vXwK.js} +1 -1
- package/apps/web/dist/assets/csv-k4CB9lhx.js +1 -0
- package/apps/web/dist/assets/dart-DjhkpiWP.js +1 -0
- package/apps/web/dist/assets/{dart-CHZY9Xhz.js → dart-_dH3dQdM.js} +1 -1
- package/apps/web/dist/assets/{diff-woXpYk--.js → diff-CR4ZX0DC.js} +1 -1
- package/apps/web/dist/assets/diff-eeGLjE2V.js +1 -0
- package/apps/web/dist/assets/dist-BJ6NAVkJ.js +153 -0
- package/apps/web/dist/assets/dist-Cq4WVWnm.js +1 -0
- package/apps/web/dist/assets/{docker-IyjqRm3v.js → docker-CAzcIhYn.js} +1 -1
- package/apps/web/dist/assets/docker-D0LTq72f.js +1 -0
- package/apps/web/dist/assets/edge-B_SBzXGF.js +1 -0
- package/apps/web/dist/assets/{elixir-BkREp_f2.js → elixir-BL8v4QDr.js} +1 -1
- package/apps/web/dist/assets/elixir-BN3BkYei.js +1 -0
- package/apps/web/dist/assets/{elm-o4NJxfws.js → elm-CC1TmzeR.js} +1 -1
- package/apps/web/dist/assets/{erb-CpQ5AKmM.js → erb-BjlLGk-_.js} +1 -1
- package/apps/web/dist/assets/erlang-CCXss5H6.js +1 -0
- package/apps/web/dist/assets/erlang-ir39Pet8.js +1 -0
- package/apps/web/dist/assets/fortran-fixed-form-1cK5gXa1.js +1 -0
- package/apps/web/dist/assets/fortran-free-form-C5q_0aPq.js +1 -0
- package/apps/web/dist/assets/{fortran-free-form-CYNrtFtB.js → fortran-free-form-uHOymLAb.js} +1 -1
- package/apps/web/dist/assets/fsharp-C37UASp4.js +1 -0
- package/apps/web/dist/assets/fsharp-SO2Zcqp5.js +1 -0
- package/apps/web/dist/assets/gdresource-LxjHb83i.js +1 -0
- package/apps/web/dist/assets/gdscript-CJEqcM-5.js +1 -0
- package/apps/web/dist/assets/{gdscript-DYvRD3hg.js → gdscript-DJFPOtzS.js} +1 -1
- package/apps/web/dist/assets/gdshader-BNp4G147.js +1 -0
- package/apps/web/dist/assets/{gdshader-CBce3t8t.js → gdshader-kiBtQlv1.js} +1 -1
- package/apps/web/dist/assets/git-commit-BAuDFD-1.js +1 -0
- package/apps/web/dist/assets/git-commit-DaNUDv1O.js +1 -0
- package/apps/web/dist/assets/{git-rebase-BDPpS8w6.js → git-rebase-Bh7mDoAc.js} +1 -1
- package/apps/web/dist/assets/git-rebase-qxk4jQ_Z.js +1 -0
- package/apps/web/dist/assets/{glimmer-js-BTqwx0oO.js → glimmer-js-CIdbWayl.js} +1 -1
- package/apps/web/dist/assets/{glimmer-ts-N9jKyowB.js → glimmer-ts-B16xCo2k.js} +1 -1
- package/apps/web/dist/assets/glsl-CaPTrB3a.js +1 -0
- package/apps/web/dist/assets/glsl-D01ELkOo.js +1 -0
- package/apps/web/dist/assets/go-CC6EVc1J.js +1 -0
- package/apps/web/dist/assets/{go-rLFTqkRN.js → go-CFMhVTkq.js} +1 -1
- package/apps/web/dist/assets/graphql-BZEhxNwM.js +1 -0
- package/apps/web/dist/assets/graphql-DEIChqxY.js +1 -0
- package/apps/web/dist/assets/{groovy-CacY0gHj.js → groovy-Dj7WCBJM.js} +1 -1
- package/apps/web/dist/assets/groovy-_MokPXAr.js +1 -0
- package/apps/web/dist/assets/{hack-ZTcFnVsP.js → hack-C30D-q0p.js} +1 -1
- package/apps/web/dist/assets/haml-BU6KMePS.js +1 -0
- package/apps/web/dist/assets/haml-C1zHJAQt.js +1 -0
- package/apps/web/dist/assets/handlebars-WZCg7K7Q.js +1 -0
- package/apps/web/dist/assets/{handlebars-CpsBgm7t.js → handlebars-g-3gLrXt.js} +1 -1
- package/apps/web/dist/assets/haxe-B0BMDyun.js +1 -0
- package/apps/web/dist/assets/{haxe-C8oCnwJJ.js → haxe-CD8O8Ul0.js} +1 -1
- package/apps/web/dist/assets/hlsl-DQJgUA8P.js +1 -0
- package/apps/web/dist/assets/{hlsl-Cvrh5tZx.js → hlsl-ajL2FB-w.js} +1 -1
- package/apps/web/dist/assets/html-BCy9P6D2.js +1 -0
- package/apps/web/dist/assets/html-DSw1lh5G.js +1 -0
- package/apps/web/dist/assets/{html-derivative-DNPJNw-0.js → html-derivative-DyzJkWO6.js} +1 -1
- package/apps/web/dist/assets/html-derivative-ekTk9Unt.js +1 -0
- package/apps/web/dist/assets/{http-kmH8AyfE.js → http-BjrBtiM6.js} +1 -1
- package/apps/web/dist/assets/{hurl-DCZHXKU4.js → hurl-B4P9s9G3.js} +1 -1
- package/apps/web/dist/assets/hxml-DPF7XkXa.js +1 -0
- package/apps/web/dist/assets/image-viewer-DnE3hPpr.js +1 -0
- package/apps/web/dist/assets/index-DFIcVxTR.js +783 -0
- package/apps/web/dist/assets/index-EdBnhSVl.css +2 -0
- package/apps/web/dist/assets/{ini-B5eOa1yu.js → ini-0B7NLFlx.js} +1 -1
- package/apps/web/dist/assets/ini-DiZ1IqbV.js +1 -0
- package/apps/web/dist/assets/java-BtIQNnN0.js +1 -0
- package/apps/web/dist/assets/java-_ATy9zCa.js +1 -0
- package/apps/web/dist/assets/javascript-BzbQS41l.js +1 -0
- package/apps/web/dist/assets/javascript-CpIGwZ_Y.js +1 -0
- package/apps/web/dist/assets/{jinja-81yqctvv.js → jinja-dRcm23Ea.js} +1 -1
- package/apps/web/dist/assets/{jison-CBjhYtSs.js → jison-D3aJooqo.js} +1 -1
- package/apps/web/dist/assets/json-B88Oqtu5.js +1 -0
- package/apps/web/dist/assets/json-C3WlssX3.js +1 -0
- package/apps/web/dist/assets/jsonc-BzJ54Uh_.js +1 -0
- package/apps/web/dist/assets/{jsonc-CYpm1nAK.js → jsonc-dcnCvL0G.js} +1 -1
- package/apps/web/dist/assets/jsx-C4yDKi0A.js +1 -0
- package/apps/web/dist/assets/jsx-D3KKoC5L.js +1 -0
- package/apps/web/dist/assets/jsx-runtime-D3jfb0Ew.js +1 -0
- package/apps/web/dist/assets/julia-C8a5hZkp.js +1 -0
- package/apps/web/dist/assets/julia-hqywDEUR.js +1 -0
- package/apps/web/dist/assets/just-CP_wDfXI.js +1 -0
- package/apps/web/dist/assets/{latex-CvI9akcJ.js → latex-B_Ztlc7G.js} +1 -1
- package/apps/web/dist/assets/latex-Bn9nYtub.js +1 -0
- package/apps/web/dist/assets/{less-DVTAwKKz.js → less-B64L-FWb.js} +1 -1
- package/apps/web/dist/assets/less-CXhFgJ4v.js +1 -0
- package/apps/web/dist/assets/{liquid-VY2h0b2O.js → liquid-CQNtsgCr.js} +1 -1
- package/apps/web/dist/assets/log-Bu1ZtrH6.js +1 -0
- package/apps/web/dist/assets/{log-BNLmms1o.js → log-BvtJ4bSl.js} +1 -1
- package/apps/web/dist/assets/lua-DjuecEsk.js +1 -0
- package/apps/web/dist/assets/lua-fPRBWD-V.js +1 -0
- package/apps/web/dist/assets/make-B54cR2A1.js +1 -0
- package/apps/web/dist/assets/{make-Dixweg8N.js → make-URElk0GJ.js} +1 -1
- package/apps/web/dist/assets/{markdown-BYOwaDjH.js → markdown-CboqBxpY.js} +1 -1
- package/apps/web/dist/assets/markdown-CjQmuOi1.js +1 -0
- package/apps/web/dist/assets/marko-DPS0EkZ1.js +1 -0
- package/apps/web/dist/assets/mdc-C6srEd4p.js +1 -0
- package/apps/web/dist/assets/{nextflow-groovy-D7IRt6Pp.js → nextflow-groovy-C770ykRh.js} +1 -1
- package/apps/web/dist/assets/nextflow-groovy-D5vAge1Z.js +1 -0
- package/apps/web/dist/assets/nextflow-uA5IJerx.js +1 -0
- package/apps/web/dist/assets/{nginx-BTMw9COX.js → nginx-BxRBJ-Af.js} +1 -1
- package/apps/web/dist/assets/nim-DN3EGtL-.js +1 -0
- package/apps/web/dist/assets/nim-ZjzS1dcU.js +1 -0
- package/apps/web/dist/assets/objective-c-CsonrGpd.js +1 -0
- package/apps/web/dist/assets/{objective-c-D1A_Heim.js → objective-c-D_ECFp-D.js} +1 -1
- package/apps/web/dist/assets/ocaml-BuP2SoBQ.js +1 -0
- package/apps/web/dist/assets/{ocaml-O90oeIOV.js → ocaml-D6dNsUd0.js} +1 -1
- package/apps/web/dist/assets/org-BRAbLUOJ.js +1 -0
- package/apps/web/dist/assets/perl-Ciba4h2-.js +1 -0
- package/apps/web/dist/assets/{perl-1pN6i0RM.js → perl-sgZsTtaf.js} +1 -1
- package/apps/web/dist/assets/{php-C7NaTRTO.js → php-D9QpVhjP.js} +1 -1
- package/apps/web/dist/assets/php-DBfnyu6d.js +1 -0
- package/apps/web/dist/assets/{postcss-BXeXVLqQ.js → postcss-D_Wz94rJ.js} +1 -1
- package/apps/web/dist/assets/postcss-DkKB82OS.js +1 -0
- package/apps/web/dist/assets/powershell-Blb2ISmZ.js +1 -0
- package/apps/web/dist/assets/{powershell-QtSnmXcu.js → powershell-CItYMEtV.js} +1 -1
- package/apps/web/dist/assets/preview-dialog-CApdSumg.js +273 -0
- package/apps/web/dist/assets/pug-C_nSP9Mg.js +1 -0
- package/apps/web/dist/assets/{pug-Co4hciMS.js → pug-nGRwXpob.js} +1 -1
- package/apps/web/dist/assets/python-C5TF47hQ.js +1 -0
- package/apps/web/dist/assets/{python-gzcpVVnB.js → python-CzFU0dpx.js} +1 -1
- package/apps/web/dist/assets/{qml-_a-QhfPD.js → qml-BxleM7bJ.js} +1 -1
- package/apps/web/dist/assets/r-BXEss897.js +1 -0
- package/apps/web/dist/assets/r-DWzjseEo.js +1 -0
- package/apps/web/dist/assets/{raku-B3gFvitq.js → raku-BtFKomnU.js} +1 -1
- package/apps/web/dist/assets/raku-Cj6OV6qV.js +1 -0
- package/apps/web/dist/assets/{razor-DVe451rE.js → razor-UAq-8THt.js} +1 -1
- package/apps/web/dist/assets/regexp-BWpGejPw.js +1 -0
- package/apps/web/dist/assets/regexp-wOX-4MEz.js +1 -0
- package/apps/web/dist/assets/rst-BCaXiUC4.js +1 -0
- package/apps/web/dist/assets/ruby-C4ARPOX3.js +1 -0
- package/apps/web/dist/assets/{ruby-Zd-8tM08.js → ruby-Dl3oLoVp.js} +1 -1
- package/apps/web/dist/assets/rust-Ch0zZBV0.js +1 -0
- package/apps/web/dist/assets/{rust-DpiIf5JO.js → rust-DBZE5Si3.js} +1 -1
- package/apps/web/dist/assets/{sas-D3h2pRQf.js → sas-BowjnAvi.js} +1 -1
- package/apps/web/dist/assets/scala-CTTBu_35.js +1 -0
- package/apps/web/dist/assets/{scala-BiFt_7mu.js → scala-o2NiCLJc.js} +1 -1
- package/apps/web/dist/assets/scss-CWs8DVSa.js +1 -0
- package/apps/web/dist/assets/scss-D3wBkj3d.js +1 -0
- package/apps/web/dist/assets/{sdbl-bTVj8UrX.js → sdbl-CpzYUp7e.js} +1 -1
- package/apps/web/dist/assets/sdbl-CyKdwm0B.js +1 -0
- package/apps/web/dist/assets/shaderlab-DY7g_Ava.js +1 -0
- package/apps/web/dist/assets/shellscript-CVTB3cr6.js +1 -0
- package/apps/web/dist/assets/shellscript-CqHdAlCp.js +1 -0
- package/apps/web/dist/assets/{shellsession-CVsQGYfZ.js → shellsession-DDrivR0a.js} +1 -1
- package/apps/web/dist/assets/{soy-CXX9LSpm.js → soy-CUUUw2U6.js} +1 -1
- package/apps/web/dist/assets/sparql-Dy5Sx-zJ.js +1 -0
- package/apps/web/dist/assets/sql-CNu3Or2W.js +1 -0
- package/apps/web/dist/assets/sql-CfM2IJm3.js +1 -0
- package/apps/web/dist/assets/{stata-CjrVU8-t.js → stata-Dj4sbAEx.js} +1 -1
- package/apps/web/dist/assets/{stylus-B6D30XZt.js → stylus-LiTfbrWi.js} +1 -1
- package/apps/web/dist/assets/stylus-y-ZXgJGq.js +1 -0
- package/apps/web/dist/assets/{surrealql-BZoq2lXR.js → surrealql-NoXzmj18.js} +1 -1
- package/apps/web/dist/assets/svelte-BaCIHHWd.js +1 -0
- package/apps/web/dist/assets/swift-CCLoYZtx.js +1 -0
- package/apps/web/dist/assets/{swift-CyEgAFGc.js → swift-DQ24oLw9.js} +1 -1
- package/apps/web/dist/assets/system-verilog-DFpyZzg3.js +1 -0
- package/apps/web/dist/assets/{system-verilog-Dh5ihWbf.js → system-verilog-Dp2k_mze.js} +1 -1
- package/apps/web/dist/assets/templ-BfgLc4ra.js +1 -0
- package/apps/web/dist/assets/tex-C9L8xJex.js +1 -0
- package/apps/web/dist/assets/tex-CNYz7bLJ.js +1 -0
- package/apps/web/dist/assets/tooltip-DZsSQhD8.js +1 -0
- package/apps/web/dist/assets/{ts-tags-C4CDubZg.js → ts-tags-DLz2GTd3.js} +1 -1
- package/apps/web/dist/assets/tsx-BOvsFOI6.js +1 -0
- package/apps/web/dist/assets/tsx-CGosfAUg.js +1 -0
- package/apps/web/dist/assets/turtle-CQ9kcy0m.js +1 -0
- package/apps/web/dist/assets/{turtle-ByJddavk.js → turtle-CcN57yC0.js} +1 -1
- package/apps/web/dist/assets/twig-HaHkB3PH.js +1 -0
- package/apps/web/dist/assets/twig-lMQ09cjh.js +1 -0
- package/apps/web/dist/assets/typescript-Bb1J8qyy.js +1 -0
- package/apps/web/dist/assets/typescript-j_1H8WHN.js +1 -0
- package/apps/web/dist/assets/typst-DDNSzYFN.js +1 -0
- package/apps/web/dist/assets/{vb-DOwzaHZ0.js → vb-3nVziYZS.js} +1 -1
- package/apps/web/dist/assets/vb-CP6Ec8nh.js +1 -0
- package/apps/web/dist/assets/verilog-1j7BQk-h.js +1 -0
- package/apps/web/dist/assets/{verilog-B2gwz-sJ.js → verilog-kL8Dwv27.js} +1 -1
- package/apps/web/dist/assets/{video-player-D73_kRr7.js → video-player-05lO0mz3.js} +2 -2
- package/apps/web/dist/assets/video-player-DGtpeSpK.js +1 -0
- package/apps/web/dist/assets/video-viewer-B404MUMw.js +1 -0
- package/apps/web/dist/assets/{vue-html-DkKkQnZL.js → vue-html-CGMs_6qn.js} +1 -1
- package/apps/web/dist/assets/vue-qH43U_rv.js +1 -0
- package/apps/web/dist/assets/vue-vine-6XI2pIvQ.js +1 -0
- package/apps/web/dist/assets/xml-DuKfbPI6.js +1 -0
- package/apps/web/dist/assets/xml-WY0zc4PG.js +1 -0
- package/apps/web/dist/assets/xsl-CW58cerL.js +1 -0
- package/apps/web/dist/assets/{xsl-BOPS8gLt.js → xsl-Czhm44Ae.js} +1 -1
- package/apps/web/dist/assets/yaml-DDA_XMNu.js +1 -0
- package/apps/web/dist/assets/yaml-DijMHRDA.js +1 -0
- package/apps/web/dist/assets/{zig-CMLA9XwU.js → zig-B7sSDI6F.js} +1 -1
- package/apps/web/dist/assets/zig-cFafUZna.js +1 -0
- package/apps/web/dist/assets/zoomable-image-CjNpa0bY.js +41 -0
- package/apps/web/dist/assets/zoomable-image-CzRbnhdc.js +1 -0
- package/apps/web/dist/index.html +7 -5
- package/apps/web/dist/sw.js +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/HugeiconsIcon-CXlzk0hX.js +0 -1
- package/apps/web/dist/assets/angular-html-CPrDeWzk.js +0 -1
- package/apps/web/dist/assets/angular-ts-DCisMPVX.js +0 -1
- package/apps/web/dist/assets/astro-Dq6p_VTJ.js +0 -1
- package/apps/web/dist/assets/blade-CC3PQRrX.js +0 -1
- package/apps/web/dist/assets/bsl-_VjlB9mv.js +0 -1
- package/apps/web/dist/assets/c-iCihek07.js +0 -1
- package/apps/web/dist/assets/cairo-DLTphjLi.js +0 -1
- package/apps/web/dist/assets/cpp-71xkOQct.js +0 -1
- package/apps/web/dist/assets/css-AeYbVOD-.js +0 -1
- package/apps/web/dist/assets/edge-D8qeodQq.js +0 -1
- package/apps/web/dist/assets/erlang-Cphh6RMH.js +0 -1
- package/apps/web/dist/assets/fortran-fixed-form-DEKoE2YW.js +0 -1
- package/apps/web/dist/assets/fsharp-D13ZGOAj.js +0 -1
- package/apps/web/dist/assets/gdresource-xMC7jr7x.js +0 -1
- package/apps/web/dist/assets/git-commit-BSykSTBG.js +0 -1
- package/apps/web/dist/assets/glsl-D5MA2a_X.js +0 -1
- package/apps/web/dist/assets/graphql-Ctjuxyvl.js +0 -1
- package/apps/web/dist/assets/haml-ChtpF0E7.js +0 -1
- package/apps/web/dist/assets/html-hnucWepv.js +0 -1
- package/apps/web/dist/assets/hxml-Dcm88srW.js +0 -1
- package/apps/web/dist/assets/image-viewer-CBM7yEMl.js +0 -1
- package/apps/web/dist/assets/index-DkRVBJlp.css +0 -2
- package/apps/web/dist/assets/index-h6Rg_ww0.js +0 -1206
- package/apps/web/dist/assets/java-DdHNQ9hk.js +0 -1
- package/apps/web/dist/assets/javascript-obGGvMPs.js +0 -1
- package/apps/web/dist/assets/json-DAgxKhMr.js +0 -1
- package/apps/web/dist/assets/jsx-gTgmArGx.js +0 -1
- package/apps/web/dist/assets/jsx-runtime-BNakU3Ej.js +0 -1
- package/apps/web/dist/assets/julia-KRkZs2hS.js +0 -1
- package/apps/web/dist/assets/just-BuSkJCkO.js +0 -1
- package/apps/web/dist/assets/lua-FONpmTUP.js +0 -1
- package/apps/web/dist/assets/marko-BRIeiu02.js +0 -1
- package/apps/web/dist/assets/mdc-CX_1c8hS.js +0 -1
- package/apps/web/dist/assets/nextflow-CSgcYZcx.js +0 -1
- package/apps/web/dist/assets/nim-BrYFxDF2.js +0 -1
- package/apps/web/dist/assets/org-Cd0u8vWD.js +0 -1
- package/apps/web/dist/assets/r-BHcO8Vjq.js +0 -1
- package/apps/web/dist/assets/regexp-DR20uMnK.js +0 -1
- package/apps/web/dist/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/apps/web/dist/assets/rst-hVyWO_Fc.js +0 -1
- package/apps/web/dist/assets/scss-DDJaLTnA.js +0 -1
- package/apps/web/dist/assets/shaderlab-TOUzSsQk.js +0 -1
- package/apps/web/dist/assets/shellscript-Da78Ox-3.js +0 -1
- package/apps/web/dist/assets/sparql-D_iOobhT.js +0 -1
- package/apps/web/dist/assets/sql-ByhjMBKn.js +0 -1
- package/apps/web/dist/assets/svelte-CZ5lJGR6.js +0 -1
- package/apps/web/dist/assets/templ-EWf5LxrK.js +0 -1
- package/apps/web/dist/assets/tex-BK-H2Wn4.js +0 -1
- package/apps/web/dist/assets/tsx-CUOciP0b.js +0 -1
- package/apps/web/dist/assets/twig-D6Rh4Rda.js +0 -1
- package/apps/web/dist/assets/typescript-BydbNFcO.js +0 -1
- package/apps/web/dist/assets/typst-Bq_qwoSs.js +0 -1
- package/apps/web/dist/assets/video-viewer-CUqarcH1.js +0 -1
- package/apps/web/dist/assets/vue-D5NIjYCb.js +0 -1
- package/apps/web/dist/assets/vue-vine-C-CFC0K-.js +0 -1
- package/apps/web/dist/assets/xml-BlnrEAEy.js +0 -1
- package/apps/web/dist/assets/yaml-Du_6cdrH.js +0 -1
- 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.
|
|
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
|
-
}))
|
|
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.
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
|
|
4858
|
-
if (
|
|
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) => {
|