ryco-cli 0.1.3 → 0.1.5
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/dist/{AzureDevOpsSourceControlProvider-X7_C5qAM.cjs → AzureDevOpsSourceControlProvider-CdgNqZ5j.cjs} +29 -19
- package/dist/{AzureDevOpsSourceControlProvider-CwvdH4Ll.mjs → AzureDevOpsSourceControlProvider-OsyDSESj.mjs} +14 -4
- package/dist/{BitbucketSourceControlProvider-3IhNThuu.cjs → BitbucketSourceControlProvider-DBTH98i4.cjs} +36 -19
- package/dist/{BitbucketSourceControlProvider-Y3LxnPYV.mjs → BitbucketSourceControlProvider-SQ3gKdFs.mjs} +21 -4
- package/dist/{BunPTY-6EA-iDZJ.mjs → BunPTY-B_vjRZN4.mjs} +2 -4
- package/dist/{BunPTY-CyqsuAMZ.cjs → BunPTY-BclzAOxp.cjs} +2 -4
- package/dist/{ClaudeDriver-Cmqo9lqD.mjs → ClaudeDriver-2dTtrsFD.mjs} +166 -156
- package/dist/{ClaudeDriver-CiWSk1E1.cjs → ClaudeDriver-D9yC2F0b.cjs} +196 -185
- package/dist/{CodexDriver-D73klBUb.cjs → CodexDriver-BC2B-qpT.cjs} +114 -50
- package/dist/{CodexDriver-BRsJm8XU.mjs → CodexDriver-CIDYevQX.mjs} +83 -20
- package/dist/{CodexTextGeneration-Bg0r8k7C.mjs → CodexTextGeneration-CjknB1Xl.mjs} +6 -6
- package/dist/{CodexTextGeneration-jbe9qfEM.cjs → CodexTextGeneration-DNeO-8GE.cjs} +18 -18
- package/dist/{CopilotDriver-tZdF91om.cjs → CopilotDriver-BGChrP5c.cjs} +31 -37
- package/dist/{CopilotDriver-DvDa-7-c.mjs → CopilotDriver-NPhlLrk2.mjs} +13 -19
- package/dist/{CursorDriver-C6dq_Wr6.mjs → CursorDriver-BcAVbT8D.mjs} +195 -273
- package/dist/{CursorDriver-BVJV7yyE.cjs → CursorDriver-CYxn4_c1.cjs} +239 -316
- package/dist/{ForgejoSourceControlProvider-C9T3-pOt.mjs → ForgejoSourceControlProvider-BjCE3730.mjs} +14 -4
- package/dist/{ForgejoSourceControlProvider-DYtCJSSP.cjs → ForgejoSourceControlProvider-D3wP2Cav.cjs} +29 -19
- package/dist/{GitHubSourceControlProvider-BmSffLFQ.mjs → GitHubSourceControlProvider-DByZ_cnw.mjs} +40 -8
- package/dist/{GitHubSourceControlProvider-DIbRPFFf.cjs → GitHubSourceControlProvider-DU_7IvMa.cjs} +54 -22
- package/dist/{GitLabSourceControlProvider-BdLuuH3g.cjs → GitLabSourceControlProvider-BVJ5IqTS.cjs} +29 -19
- package/dist/{GitLabSourceControlProvider-DTZ_rx8U.mjs → GitLabSourceControlProvider-BdMCIjXb.mjs} +14 -4
- package/dist/Metrics-BCOc3Ml2.mjs +356 -0
- package/dist/Metrics-DNOriWhP.cjs +634 -0
- package/dist/{NodePTY-Dg0g4rID.mjs → NodePTY-_u3kQLvd.mjs} +2 -4
- package/dist/{NodePTY-U7qcu5qQ.cjs → NodePTY-keGvFYk9.cjs} +2 -4
- package/dist/{NodeSqliteClient-CPd53X2R.mjs → NodeSqliteClient-BXy61fAd.mjs} +2 -4
- package/dist/{NodeSqliteClient-UlhLLRBA.cjs → NodeSqliteClient-homCO8-6.cjs} +16 -18
- package/dist/{OpenCodeDriver-D79_QFoB.cjs → OpenCodeDriver-DyR83FcY.cjs} +32 -34
- package/dist/{OpenCodeDriver-DN5bRb9Z.mjs → OpenCodeDriver-fwqXoVyH.mjs} +10 -13
- package/dist/{ProjectCustomSystemPrompt-9Bf13ScV.cjs → ProjectCustomSystemPrompt-B8SUlNGa.cjs} +11 -13
- package/dist/{ProjectCustomSystemPrompt-QmzOdzXf.mjs → ProjectCustomSystemPrompt-CS1nulhL.mjs} +1 -2
- package/dist/{ProviderDriver-DJK4EOeA.cjs → ProviderDriver--rNeAi3B.cjs} +6 -8
- package/dist/{ProviderDriver-CkHnmP8q.mjs → ProviderDriver-kCV60GKk.mjs} +1 -2
- package/dist/SourceControlProviderDiscoveryCatalog-CQiMyDCC.mjs +569 -0
- package/dist/SourceControlProviderDiscoveryCatalog-DqQVhwYM.cjs +676 -0
- package/dist/bin.cjs +6648 -12395
- package/dist/bin.d.cts +2 -0
- package/dist/bin.d.mts +2 -0
- package/dist/bin.mjs +8539 -14222
- package/dist/chunk-jM1PLTSZ.cjs +30 -0
- package/dist/client/assets/AnimatedHeight-CYuVQOpY.js +1 -0
- package/dist/client/assets/AppearanceSettings-BBbC8CV5.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-Di2EkKiO.js +1 -0
- package/dist/client/assets/ChatRightPanel-BJ_cVP66.js +188 -0
- package/dist/client/assets/ChatThreadRouteView-DmxD3m2U.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-CAzz6bsT.js +1 -0
- package/dist/client/assets/CompositeRoot-BvXCwn2c.js +1 -0
- package/dist/client/assets/ConnectionsSettings-Cmxm0y2u.js +1 -0
- package/dist/client/assets/DialogHandle-CXNAm3QY.js +1 -0
- package/dist/client/assets/DialogRoot-DaMwpoP_.js +1 -0
- package/dist/client/assets/DialogTitle-KXmfgzP3.js +1 -0
- package/dist/client/assets/DialogTrigger-NHyQnW3X.js +1 -0
- package/dist/client/assets/DialogViewport-CL0WR9a5.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-C_hqauF6.js +1 -0
- package/dist/client/assets/JetBrainsIcons-BcR8pCma.js +1 -0
- package/dist/client/assets/KeybindingsSettings-m2AteGOl.js +7 -0
- package/dist/client/assets/McpServersSettings-DndIDxgA.js +6 -0
- package/dist/client/assets/NoActiveThreadState-Bt-Wkv-C.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-oDtdE6qx.js +1 -0
- package/dist/client/assets/ProjectFavicon-j9IX_7-B.js +1 -0
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-BFzNCo3I.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-CvlIBNVJ.js +1 -0
- package/dist/client/assets/QueryClientProvider-BZxRKpeb.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-UnZZJnFF.js +1 -0
- package/dist/client/assets/RootAppShell-CyHZ_F5P.js +12 -0
- package/dist/client/assets/SettingsDialog-BYJ8AhQp.js +2 -0
- package/dist/client/assets/SourceControlSettings-7xU6VH6N.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-M9FWDEex.js +1 -0
- package/dist/client/assets/ThreadTerminalDrawer-BXoXAbsR.js +38 -0
- package/dist/client/assets/ThreadTerminalDrawer-BrP-ENHg.css +1 -0
- package/dist/client/assets/ThreadWorkspacePanel-D1J63TVD.js +166 -0
- package/dist/client/assets/alert-dialog-BJQbh5gX.js +1 -0
- package/dist/client/assets/{angular-html-s8mFfHxJ.js → angular-html-BjMPwewj.js} +1 -1
- package/dist/client/assets/{angular-ts-qPgEQREa.js → angular-ts-DueL15Nu.js} +1 -1
- package/dist/client/assets/{apl-Bk41I3U1.js → apl-BgVy_tIs.js} +1 -1
- package/dist/client/assets/{astro-ClwGnYhy.js → astro-CWd6v_kU.js} +1 -1
- package/dist/client/assets/{blade-D8d2x7Cj.js → blade-C1itW3Xj.js} +1 -1
- package/dist/client/assets/{bsl-DJJjEj3G.js → bsl-BkkzgIyY.js} +1 -1
- package/dist/client/assets/{c-C7LLcxwo.js → c-BerOGYIx.js} +1 -1
- package/dist/client/assets/{cairo-D0DvaGhb.js → cairo-DLTphjLi.js} +1 -1
- package/dist/client/assets/chatThreadActions--n7v5mnB.js +1 -0
- package/dist/client/assets/clamp-NYtK3f5s.js +1 -0
- package/dist/client/assets/{cobol-BFmBEDT2.js → cobol-C_rkq165.js} +1 -1
- package/dist/client/assets/codexUsageLimits-BJQiZCqn.js +1 -0
- package/dist/client/assets/{coffee-C6xKBntv.js → coffee-DX2eriSb.js} +1 -1
- package/dist/client/assets/commandPaletteStore-oFMPKPmp.js +1 -0
- package/dist/client/assets/{compiler-runtime-BF315rzL.js → compiler-runtime-BNrXlsa1.js} +1 -1
- package/dist/client/assets/composerDraftStore-xu3n5gdX.js +21 -0
- package/dist/client/assets/{cpp-CVDdGIJL.js → cpp-DN_S3YzL.js} +1 -1
- package/dist/client/assets/{crystal-C8hrz-Ed.js → crystal-DX_yIzv-.js} +1 -1
- package/dist/client/assets/{css-Bq4IaKl1.js → css-CcrQR6FS.js} +1 -1
- package/dist/client/assets/desktopUpdateReactQuery-YSCkifKp.js +2 -0
- package/dist/client/assets/download-Bi4-cFbc.js +1 -0
- package/dist/client/assets/draft-input-BGSRgOW7.js +1 -0
- package/dist/client/assets/{edge-M0lvKmK0.js → edge-D6QhZ796.js} +1 -1
- package/dist/client/assets/{elixir-Z_A63tjC.js → elixir-DMd9329w.js} +1 -1
- package/dist/client/assets/{elm-CSUyuYJg.js → elm-ClOR9TU8.js} +1 -1
- package/dist/client/assets/empty-BTxheW4B.js +1 -0
- package/dist/client/assets/environmentApi-BFHi_M02.js +1 -0
- package/dist/client/assets/{erb-DrEx0jBQ.js → erb-HraKpeAP.js} +1 -1
- package/dist/client/assets/{erlang-CJBKhF6J.js → erlang-Cphh6RMH.js} +1 -1
- package/dist/client/assets/folder-open-DJmHEPv9.js +1 -0
- package/dist/client/assets/{fortran-fixed-form-BKSuIOW4.js → fortran-fixed-form-DEKoE2YW.js} +1 -1
- package/dist/client/assets/{fsharp-U9gZ5YOh.js → fsharp-D13ZGOAj.js} +1 -1
- package/dist/client/assets/{gdresource-DoBd66sG.js → gdresource-C0sCabJj.js} +1 -1
- package/dist/client/assets/{git-commit-Db7dtED7.js → git-commit-BSykSTBG.js} +1 -1
- package/dist/client/assets/{git-rebase-QypkBr98.js → git-rebase-7x6VaRfM.js} +1 -1
- package/dist/client/assets/{glimmer-js-NOqtI1Rk.js → glimmer-js-Bs66SSVv.js} +1 -1
- package/dist/client/assets/{glimmer-ts-BeU4NlYB.js → glimmer-ts-C-1005ee.js} +1 -1
- package/dist/client/assets/{glsl-BkDxwNg4.js → glsl-ClknhvHk.js} +1 -1
- package/dist/client/assets/{graphql-BuqaMepw.js → graphql-BJK35HL6.js} +1 -1
- package/dist/client/assets/group-Dwm-OV-r.js +1 -0
- package/dist/client/assets/{hack-C01X66u7.js → hack-DTKnRaIz.js} +1 -1
- package/dist/client/assets/{haml-6AVURMsW.js → haml-v1Ae09NK.js} +1 -1
- package/dist/client/assets/{handlebars-CQt0otqg.js → handlebars-DvtPw9yK.js} +1 -1
- package/dist/client/assets/hostedPairing-DAdvNuk3.js +1 -0
- package/dist/client/assets/{html-B9GCfMM1.js → html-Ckes0w7-.js} +1 -1
- package/dist/client/assets/{html-derivative-Choar9BD.js → html-derivative-CjYqXu8c.js} +1 -1
- package/dist/client/assets/{http-DvFNkpiH.js → http-DgyAR01B.js} +1 -1
- package/dist/client/assets/{hurl-BSVy9O8n.js → hurl-BSy4XrZM.js} +1 -1
- package/dist/client/assets/{hxml-BcCIYlZp.js → hxml-B0Qn7Nwc.js} +1 -1
- package/dist/client/assets/{index-B215HMv1.js → index-BI5yFj9n.js} +2 -2
- package/dist/client/assets/input-BfUa3JUD.js +1 -0
- package/dist/client/assets/{java-DYU2LKAe.js → java-BRs8BbUU.js} +1 -1
- package/dist/client/assets/{javascript-CqMUgcTv.js → javascript-CCh9h5HS.js} +1 -1
- package/dist/client/assets/{jinja-DZIBHWGb.js → jinja-D1OtL_yO.js} +1 -1
- package/dist/client/assets/{jison-1dZyCIA-.js → jison-D_fWb18i.js} +1 -1
- package/dist/client/assets/{json-By08Hh8g.js → json-Bs_SRPeT.js} +1 -1
- package/dist/client/assets/{jsx-D-zBxh5E.js → jsx-Btew4WFJ.js} +1 -1
- package/dist/client/assets/{julia-D4DyCD9m.js → julia-BKIxRKg2.js} +1 -1
- package/dist/client/assets/{just-t1DYRM-F.js → just-CSkhc6Nt.js} +1 -1
- package/dist/client/assets/kbd-Dd57M8OY.js +1 -0
- package/dist/client/assets/keybindings--G1bkIjA.js +1 -0
- package/dist/client/assets/keyboard-B87VTfPa.js +1 -0
- package/dist/client/assets/{latex-WQQP2pth.js → latex-DrurJw6z.js} +1 -1
- package/dist/client/assets/{liquid-D0Ghr7un.js → liquid-DLZ2kGK1.js} +1 -1
- package/dist/client/assets/{lua-r3xGOG0a.js → lua-BNdhJiqB.js} +1 -1
- package/dist/client/assets/main-BQf5U-fz.js +9 -0
- package/dist/client/assets/main-DrwkwNo9.css +2 -0
- package/dist/client/assets/{marko-wk9TVjCS.js → marko-B3eJkbnP.js} +1 -1
- package/dist/client/assets/{mdc-BRMVGNjb.js → mdc-Dz2y1zK2.js} +1 -1
- package/dist/client/assets/modelPickerOpenState-BJxsqvdg.js +1 -0
- package/dist/client/assets/mutation-DJZgOJRu.js +1 -0
- package/dist/client/assets/{nextflow-D0nv53RF.js → nextflow-Bbiyy34d.js} +1 -1
- package/dist/client/assets/{nginx-D968CCNX.js → nginx-BazusZwe.js} +1 -1
- package/dist/client/assets/{nim-CRCwl258.js → nim-jwqEnSmK.js} +1 -1
- package/dist/client/assets/{perl-29yJp9Uu.js → perl-BwoWHrup.js} +1 -1
- package/dist/client/assets/{php-Cemz192H.js → php-DmODFjdr.js} +1 -1
- package/dist/client/assets/plus-B10j9MbZ.js +1 -0
- package/dist/client/assets/primary-CSkhdakK.js +1 -0
- package/dist/client/assets/providerDriverMeta-B6xuq7ij.js +1 -0
- package/dist/client/assets/providerIconUtils-Ch6hejVW.js +47 -0
- package/dist/client/assets/{pug-B2ZE7aeX.js → pug-JR1tLpbP.js} +1 -1
- package/dist/client/assets/{qml-jG3DrKD9.js → qml-CrcLSvXM.js} +1 -1
- package/dist/client/assets/{r-D3sEfBW5.js → r-B4G19rTw.js} +1 -1
- package/dist/client/assets/{razor-Beauj9_g.js → razor-Vr7Dkano.js} +1 -1
- package/dist/client/assets/react-CjD7iThp.js +16 -0
- package/dist/client/assets/react-PSPkXoKo.js +1 -0
- package/dist/client/assets/refresh-cw-CRxaXR0E.js +1 -0
- package/dist/client/assets/{regexp-DJB-0KGI.js → regexp-mkyOQxyI.js} +1 -1
- package/dist/client/assets/resolveAriaLabelledBy-D4fWpj84.js +1 -0
- package/dist/client/assets/rightPanelRouteSearch-CTMFCS6R.js +1 -0
- package/dist/client/assets/{rst-D9Thij-7.js → rst-CMlIIAT6.js} +1 -1
- package/dist/client/assets/{ruby-BriTZmlZ.js → ruby-DeHylo3G.js} +1 -1
- package/dist/client/assets/{sas-Cp_miaeX.js → sas-DITAP7FM.js} +1 -1
- package/dist/client/assets/scroll-area-BgFq7GRd.js +1 -0
- package/dist/client/assets/{scss-DpivEdne.js → scss-DPGO9NvD.js} +1 -1
- package/dist/client/assets/separator-CB3Ctlvi.js +1 -0
- package/dist/client/assets/server-tdx7WxLI.js +1 -0
- package/dist/client/assets/session-logic-CaiGe4hy.js +4 -0
- package/dist/client/assets/settingsDialogStore-9vo22xKp.js +1 -0
- package/dist/client/assets/settingsLayout-B5o13iGO.js +1 -0
- package/dist/client/assets/{shaderlab-DJPIU-BM.js → shaderlab-TOUzSsQk.js} +1 -1
- package/dist/client/assets/{shellscript-CM8oTE2e.js → shellscript-Ctrwjmrg.js} +1 -1
- package/dist/client/assets/{shellsession-Cbvx0Scr.js → shellsession-CVFkOqvv.js} +1 -1
- package/dist/client/assets/sidebar-Bbdql7Af.js +1 -0
- package/dist/client/assets/skeleton-C8OZcsPq.js +1 -0
- package/dist/client/assets/{soy-4R-idkhG.js → soy-DGJ8Y2bl.js} +1 -1
- package/dist/client/assets/{sparql-Zqzk9CwD.js → sparql-D_iOobhT.js} +1 -1
- package/dist/client/assets/{sql-sKjBShS8.js → sql-u97rfsUo.js} +1 -1
- package/dist/client/assets/{stata-DLIq7jHS.js → stata-DWI7UlWE.js} +1 -1
- package/dist/client/assets/storeSelectors-DBRyhCGm.js +1 -0
- package/dist/client/assets/{surrealql-CRX8IwBN.js → surrealql-BUWsplpt.js} +1 -1
- package/dist/client/assets/{svelte-Dvrysi6X.js → svelte-CQXFJOFl.js} +1 -1
- package/dist/client/assets/{templ-RcP_-Nu-.js → templ-CA7lFfrq.js} +1 -1
- package/dist/client/assets/{tex-B8a5_DIi.js → tex-DAVBEZhF.js} +1 -1
- package/dist/client/assets/threadRoutes-CfldSp4X.js +1 -0
- package/dist/client/assets/threadSelectionStore-BggKwzmQ.js +1 -0
- package/dist/client/assets/toast-DE-WwLMa.js +1 -0
- package/dist/client/assets/toggle-BFMa0a0Y.js +1 -0
- package/dist/client/assets/toggle-group-DdKXHoT3.js +1 -0
- package/dist/client/assets/trash-2-CZQem-sz.js +1 -0
- package/dist/client/assets/{ts-tags-BG0VzqyM.js → ts-tags-cqyzSw6V.js} +1 -1
- package/dist/client/assets/{tsx-D4f8_1wY.js → tsx-aOZK_XWL.js} +1 -1
- package/dist/client/assets/{twig-DxlRBqRW.js → twig-RScZCD0T.js} +1 -1
- package/dist/client/assets/{typescript-C32OH5Jk.js → typescript-6eFuNBLU.js} +1 -1
- package/dist/client/assets/useHandleNewThread-DOPZAFqE.js +1 -0
- package/dist/client/assets/useLabelableId-BzWaBebJ.js +1 -0
- package/dist/client/assets/useNavigate-B1qgM5mt.js +1 -0
- package/dist/client/assets/useTheme-C7Ji7x06.js +1 -0
- package/dist/client/assets/vscode-icons-E8NUFd62.js +1 -0
- package/dist/client/assets/{vue-5RtgVZcg.js → vue-DVoN9ARa.js} +1 -1
- package/dist/client/assets/{vue-html-Dd-LXYnz.js → vue-html-BnZS_Ahq.js} +1 -1
- package/dist/client/assets/{vue-vine-BKz6iXyu.js → vue-vine-B0I6Y_6P.js} +1 -1
- package/dist/client/assets/{worker-rFBLi4xK.js → worker-B_h_pwVO.js} +5 -5
- package/dist/client/assets/wrench-DEteICtk.js +1 -0
- package/dist/client/assets/x-b9324xm-.js +1 -0
- package/dist/client/assets/{xml-DXQJVDNT.js → xml-Dvs5bvzt.js} +1 -1
- package/dist/client/assets/{xsl-ByvM9IQh.js → xsl-CuljSg_9.js} +1 -1
- package/dist/client/assets/{yaml-CCq_gfp4.js → yaml-orq9hzxs.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/collectUint8StreamText-DbCOJom3.cjs +7269 -0
- package/dist/collectUint8StreamText-DuFJyaQh.mjs +6185 -0
- package/dist/{makeManagedServerProvider-DVrBJ3h3.cjs → makeManagedServerProvider-C3cQUDkZ.cjs} +77 -79
- package/dist/{makeManagedServerProvider-B3DH-AMf.mjs → makeManagedServerProvider-wFGZ2-vd.mjs} +7 -10
- package/dist/sourceControl-iWG-m4wE.mjs +207 -0
- package/dist/sourceControl-x2t62T8h.cjs +230 -0
- package/dist/{sourceControlContextFormatter-CO5cScmF.cjs → sourceControlContextFormatter-BDZqn-4T.cjs} +6 -8
- package/dist/{sourceControlContextFormatter-DpXEEmAm.mjs → sourceControlContextFormatter-DEwpnVAH.mjs} +1 -2
- package/package.json +5 -3
- package/dist/client/assets/ChangedFilesTree-B4W17bLf.js +0 -1
- package/dist/client/assets/DiffPanel-C9_pKXWU.js +0 -75
- package/dist/client/assets/DiffPanelShell-BmfxFBmp.js +0 -167
- package/dist/client/assets/DiffWorkerPoolProvider-B2FLS8eo.js +0 -1
- package/dist/client/assets/PreviewPanel-Z0IDMiKg.js +0 -30
- package/dist/client/assets/RootAppShell-qLlEOcIH.js +0 -24
- package/dist/client/assets/alert-D2R5HNlM.js +0 -1
- package/dist/client/assets/composerHandleContext-CkHnb2_F.js +0 -46
- package/dist/client/assets/hostedPairing-D299g9iL.js +0 -1
- package/dist/client/assets/main-DOCL-gXt.js +0 -66
- package/dist/client/assets/main-DhO2tDKo.css +0 -1
- package/dist/client/assets/pathEntry-DCmCWUeG.js +0 -1
- package/dist/client/assets/primary-BKkx6aqv.js +0 -16
- package/dist/client/assets/react-CYzKIDNi.js +0 -1
- package/dist/client/assets/refresh-cw-BpZqiP_0.js +0 -1
- package/dist/client/assets/runtime-QfzvF0Vn.js +0 -1
- package/dist/client/assets/separator-CXZK6vFp.js +0 -4
- package/dist/client/assets/text-wrap-CnmG6WhR.js +0 -62
- package/dist/client/assets/toggle-BfBpNkCG.js +0 -1
- package/dist/client/assets/toggle-group-Dp1gg0mX.js +0 -1
- package/dist/client/assets/useSettings-BLDkflD_.js +0 -21
- package/dist/client/assets/useTheme-BHTjVtp9.js +0 -1
- package/dist/client/assets/useTheme-EFHXLM5e.js +0 -1
- package/dist/client/assets/vscode-icons-Ciu6Pjk4.js +0 -1
- /package/dist/client/assets/{abap-Vg0cj5d8.js → abap-CLvhMVsD.js} +0 -0
- /package/dist/client/assets/{actionscript-3-BV1RXWL1.js → actionscript-3--17pq3dv.js} +0 -0
- /package/dist/client/assets/{ada-Ce_Xk3Sp.js → ada-C5qYipkI.js} +0 -0
- /package/dist/client/assets/{andromeeda-DJewj201.js → andromeeda-vGVdxbeo.js} +0 -0
- /package/dist/client/assets/{apache-BbDgM_LY.js → apache-U0d_L8uA.js} +0 -0
- /package/dist/client/assets/{apex-Z4y334SR.js → apex-CGTLDQj6.js} +0 -0
- /package/dist/client/assets/{applescript-CLDQZ5Zp.js → applescript-CCn79oCD.js} +0 -0
- /package/dist/client/assets/{ara-DwFb8Z32.js → ara-4CJ0cIlV.js} +0 -0
- /package/dist/client/assets/{asciidoc-ByVQW3u3.js → asciidoc-DE70LPWp.js} +0 -0
- /package/dist/client/assets/{asm-CqqqWovZ.js → asm-Cmm7eHzH.js} +0 -0
- /package/dist/client/assets/{aurora-x-B9BHU0bK.js → aurora-x-CDeNXAV0.js} +0 -0
- /package/dist/client/assets/{awk-L5v-cuCL.js → awk-BWXHIvNe.js} +0 -0
- /package/dist/client/assets/{ayu-dark-YQNfFJx2.js → ayu-dark-DluEY0Gj.js} +0 -0
- /package/dist/client/assets/{ayu-light-_9Blof0L.js → ayu-light-C3h-C4tm.js} +0 -0
- /package/dist/client/assets/{ayu-mirage-ywKZgCHT.js → ayu-mirage-Bqwy1Gya.js} +0 -0
- /package/dist/client/assets/{ballerina-Dgg2a6zg.js → ballerina-B7ZEbQpA.js} +0 -0
- /package/dist/client/assets/{bat-wLloRoua.js → bat-Bo4NYOV-.js} +0 -0
- /package/dist/client/assets/{beancount-BCSJrVVf.js → beancount-D-usSTwE.js} +0 -0
- /package/dist/client/assets/{berry-DJXUHylF.js → berry-DKpUyyne.js} +0 -0
- /package/dist/client/assets/{bibtex-C6hGKKRT.js → bibtex-Ci_nEsc7.js} +0 -0
- /package/dist/client/assets/{bicep-RsAVk7ms.js → bicep-CUHmPFLl.js} +0 -0
- /package/dist/client/assets/{bird2-DTRIpKsA.js → bird2-C2hNVINV.js} +0 -0
- /package/dist/client/assets/{c3-DhlmE_oa.js → c3-CnJL0r0V.js} +0 -0
- /package/dist/client/assets/{cadence-gm_AXdjh.js → cadence-CQ2zXKGN.js} +0 -0
- /package/dist/client/assets/{catppuccin-frappe-CRaK-OXp.js → catppuccin-frappe-3VR1Za6u.js} +0 -0
- /package/dist/client/assets/{catppuccin-latte-CekmIWzD.js → catppuccin-latte-DwIHMF0Q.js} +0 -0
- /package/dist/client/assets/{catppuccin-macchiato-Pgs1_ylq.js → catppuccin-macchiato-DYnBP6_5.js} +0 -0
- /package/dist/client/assets/{catppuccin-mocha-CVFrnEg2.js → catppuccin-mocha-DYhrFGRu.js} +0 -0
- /package/dist/client/assets/{clarity-_nV8rm3T.js → clarity-SemFz856.js} +0 -0
- /package/dist/client/assets/{clojure-Dsywsvl2.js → clojure-DqKBuwfJ.js} +0 -0
- /package/dist/client/assets/{cmake-DoZviRk-.js → cmake-Bj61d0ZC.js} +0 -0
- /package/dist/client/assets/{codeowners-LcUICwIC.js → codeowners-C8r90Shi.js} +0 -0
- /package/dist/client/assets/{codeql-C0tRiarJ.js → codeql-oeQT6MSM.js} +0 -0
- /package/dist/client/assets/{common-lisp-BQXePP3H.js → common-lisp-Cv5bFMCO.js} +0 -0
- /package/dist/client/assets/{coq-DWR2ZlCV.js → coq-BrsZFFmf.js} +0 -0
- /package/dist/client/assets/{csharp-BpO6pU8h.js → csharp-Ct8U2NOr.js} +0 -0
- /package/dist/client/assets/{csv-guZ1Hczt.js → csv-Dx-8-gkx.js} +0 -0
- /package/dist/client/assets/{cue-DVp9_WvV.js → cue-CE9AQfxI.js} +0 -0
- /package/dist/client/assets/{cypher-3MHH4pYW.js → cypher-ClKdZ_lG.js} +0 -0
- /package/dist/client/assets/{d-CIAu_RLS.js → d-qD-0Kul2.js} +0 -0
- /package/dist/client/assets/{dark-plus-D6YuWbv0.js → dark-plus-Cs2F2srj.js} +0 -0
- /package/dist/client/assets/{dart-DYuQ6kUW.js → dart-DkHntEIa.js} +0 -0
- /package/dist/client/assets/{dax-BBIUHzFG.js → dax-BkyTk9wS.js} +0 -0
- /package/dist/client/assets/{desktop-i7Pu8H5c.js → desktop-Dlh5hvp9.js} +0 -0
- /package/dist/client/assets/{diff-BOMu6KnT.js → diff-woXpYk--.js} +0 -0
- /package/dist/client/assets/{docker-Jl7Opeg9.js → docker-IyjqRm3v.js} +0 -0
- /package/dist/client/assets/{dotenv-DNMkRfS9.js → dotenv-_5a1GRtc.js} +0 -0
- /package/dist/client/assets/{dracula-BRuhgxZx.js → dracula-BHWKrbxM.js} +0 -0
- /package/dist/client/assets/{dracula-soft-Bh-3NXEk.js → dracula-soft-5eyTD99u.js} +0 -0
- /package/dist/client/assets/{dream-maker-XsE3rknm.js → dream-maker-DW3nJb8Q.js} +0 -0
- /package/dist/client/assets/{emacs-lisp-DILRoF5l.js → emacs-lisp-C9PiwqqW.js} +0 -0
- /package/dist/client/assets/{everforest-dark-TN28LCtO.js → everforest-dark-sB-x3p7T.js} +0 -0
- /package/dist/client/assets/{everforest-light-Bie4zQAp.js → everforest-light-Df2xbC6M.js} +0 -0
- /package/dist/client/assets/{fennel-C5HmIS3y.js → fennel-DQxkIbk2.js} +0 -0
- /package/dist/client/assets/{fish-BLa94bES.js → fish-BJitypiv.js} +0 -0
- /package/dist/client/assets/{fluent-Dz5wDZec.js → fluent-C03EYrpw.js} +0 -0
- /package/dist/client/assets/{fortran-free-form-Dhgntk66.js → fortran-free-form-CYNrtFtB.js} +0 -0
- /package/dist/client/assets/{gdscript-cU6-22QG.js → gdscript-Cp2uCuqX.js} +0 -0
- /package/dist/client/assets/{gdshader-D10o9T_4.js → gdshader-CBce3t8t.js} +0 -0
- /package/dist/client/assets/{genie-BxoMb50b.js → genie-CV2tkWYe.js} +0 -0
- /package/dist/client/assets/{gherkin-B2lz9HMr.js → gherkin-DExj1W_8.js} +0 -0
- /package/dist/client/assets/{github-dark-D5NDXfHf.js → github-dark-C-LZuMrd.js} +0 -0
- /package/dist/client/assets/{github-dark-default-Bo_3g1lT.js → github-dark-default-DXG-b-1a.js} +0 -0
- /package/dist/client/assets/{github-dark-dimmed-BQUS-1Ln.js → github-dark-dimmed-Bx1FflLF.js} +0 -0
- /package/dist/client/assets/{github-dark-high-contrast-DIHLvRoS.js → github-dark-high-contrast-B_tTalzw.js} +0 -0
- /package/dist/client/assets/{github-light-Bw4sXpzB.js → github-light-EUqPIrTm.js} +0 -0
- /package/dist/client/assets/{github-light-default-B8bmeZPd.js → github-light-default-BXViO-2h.js} +0 -0
- /package/dist/client/assets/{github-light-high-contrast-CJI8nAIV.js → github-light-high-contrast-B68TUdTA.js} +0 -0
- /package/dist/client/assets/{gleam-9zwoUsHJ.js → gleam-CSRkHgEL.js} +0 -0
- /package/dist/client/assets/{gn-DLF2G5Ru.js → gn-ilITqXS6.js} +0 -0
- /package/dist/client/assets/{gnuplot-Bcm3DAiA.js → gnuplot-7GGW24-e.js} +0 -0
- /package/dist/client/assets/{go-CPlmKKFp.js → go-BJwz_mda.js} +0 -0
- /package/dist/client/assets/{groovy-Dg2VIq5p.js → groovy-CacY0gHj.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-hard-BzHG1YMb.js → gruvbox-dark-hard-C820rvS2.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-medium-C9UQOvAR.js → gruvbox-dark-medium-BPjhmG05.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-soft-xgYmK4Rn.js → gruvbox-dark-soft-MrdJrrXF.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-hard-DxvMP-zF.js → gruvbox-light-hard-BC_s9l72.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-medium-SxCJk4ze.js → gruvbox-light-medium-BAWPOn9u.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-soft-B9XTNyng.js → gruvbox-light-soft-BSMLrYjP.js} +0 -0
- /package/dist/client/assets/{haskell-Cf52ssWB.js → haskell-D8IpX4py.js} +0 -0
- /package/dist/client/assets/{haxe-BiaDi9Ls.js → haxe-OTjmBuCE.js} +0 -0
- /package/dist/client/assets/{hcl-Dcb9DqV1.js → hcl-Dh228itO.js} +0 -0
- /package/dist/client/assets/{hjson-LjA2UJVG.js → hjson-CxZEssPk.js} +0 -0
- /package/dist/client/assets/{hlsl-Bdu4H644.js → hlsl-Cvrh5tZx.js} +0 -0
- /package/dist/client/assets/{horizon-DfLB6K3K.js → horizon-CE9ld1lL.js} +0 -0
- /package/dist/client/assets/{horizon-bright-BRcOD00n.js → horizon-bright-Br1oVSNq.js} +0 -0
- /package/dist/client/assets/{houston-pGeyqiDN.js → houston-CsvMBhTu.js} +0 -0
- /package/dist/client/assets/{hy-CAzVaHwm.js → hy-CZbG8q4J.js} +0 -0
- /package/dist/client/assets/{imba-CtP12ZBI.js → imba-DsUTQ-LC.js} +0 -0
- /package/dist/client/assets/{ini-DyaqLXx3.js → ini-B5eOa1yu.js} +0 -0
- /package/dist/client/assets/{json5-pkfxH3eL.js → json5-BR5RXkoi.js} +0 -0
- /package/dist/client/assets/{jsonc-D_yIvXTo.js → jsonc-CYpm1nAK.js} +0 -0
- /package/dist/client/assets/{jsonl-Cyj0VVep.js → jsonl-CmCQp5Yx.js} +0 -0
- /package/dist/client/assets/{jsonnet-CQ7ol0Ju.js → jsonnet-CJTPZ8u_.js} +0 -0
- /package/dist/client/assets/{jssm-MbQThoOI.js → jssm-DXw9l8Rf.js} +0 -0
- /package/dist/client/assets/{kanagawa-dragon-WzYJN5gB.js → kanagawa-dragon-CXtmUGW6.js} +0 -0
- /package/dist/client/assets/{kanagawa-lotus-rRmvCTTT.js → kanagawa-lotus-BN08jTvb.js} +0 -0
- /package/dist/client/assets/{kanagawa-wave-DLXZ_HFW.js → kanagawa-wave-CTweb8Dz.js} +0 -0
- /package/dist/client/assets/{kdl-MlO6iUnG.js → kdl-CsD5j6eV.js} +0 -0
- /package/dist/client/assets/{kotlin-Dugiuyzo.js → kotlin-DhhofPvG.js} +0 -0
- /package/dist/client/assets/{kusto-6Zx2e4iM.js → kusto-BUv0MjJC.js} +0 -0
- /package/dist/client/assets/{laserwave-Bms40fEM.js → laserwave-C_8bwKvT.js} +0 -0
- /package/dist/client/assets/{lean-BeI6HXzS.js → lean-CewbzKMR.js} +0 -0
- /package/dist/client/assets/{less-CgPeGWAa.js → less-DVTAwKKz.js} +0 -0
- /package/dist/client/assets/{light-plus-j7rlQ_-d.js → light-plus-DVQuIRkW.js} +0 -0
- /package/dist/client/assets/{llvm-Dw0AsrHc.js → llvm-Cm23YOpf.js} +0 -0
- /package/dist/client/assets/{log-9mP7MLA7.js → log-BNLmms1o.js} +0 -0
- /package/dist/client/assets/{logo-CEB74EGf.js → logo-Cluzi2Zq.js} +0 -0
- /package/dist/client/assets/{luau-C4m3ZsP4.js → luau-CNKltnaQ.js} +0 -0
- /package/dist/client/assets/{make-D05QTRNX.js → make-Dixweg8N.js} +0 -0
- /package/dist/client/assets/{markdown-UoFBNZst.js → markdown-BYOwaDjH.js} +0 -0
- /package/dist/client/assets/{material-theme-BLisqalJ.js → material-theme-Bm3Qr25_.js} +0 -0
- /package/dist/client/assets/{material-theme-darker-CMDfuiQ2.js → material-theme-darker-2IIEA8gg.js} +0 -0
- /package/dist/client/assets/{material-theme-lighter-CxAafT95.js → material-theme-lighter-uhdI0v04.js} +0 -0
- /package/dist/client/assets/{material-theme-ocean-B4-TfnzS.js → material-theme-ocean-CHQ94UKr.js} +0 -0
- /package/dist/client/assets/{material-theme-palenight-BiO5TPm2.js → material-theme-palenight-B5W6OYN7.js} +0 -0
- /package/dist/client/assets/{matlab-B1JUCa3X.js → matlab-D7qyCx1q.js} +0 -0
- /package/dist/client/assets/{mdx-5iivKtUB.js → mdx-DQZ5AkYe.js} +0 -0
- /package/dist/client/assets/{mermaid-e-18nCBH.js → mermaid-Bk4SNUv9.js} +0 -0
- /package/dist/client/assets/{min-dark-CwF0fYNT.js → min-dark-BSWPekZh.js} +0 -0
- /package/dist/client/assets/{min-light-DbuMCP1T.js → min-light-DDpmG2fV.js} +0 -0
- /package/dist/client/assets/{mipsasm-DcTRWKSO.js → mipsasm-BMqwQI7S.js} +0 -0
- /package/dist/client/assets/{mojo-DTlMyvmX.js → mojo-BgCJLMeH.js} +0 -0
- /package/dist/client/assets/{monokai-ShOh_SLr.js → monokai-CdkpiU2Y.js} +0 -0
- /package/dist/client/assets/{moonbit-Clq4Da-i.js → moonbit-CaWjb8XO.js} +0 -0
- /package/dist/client/assets/{move-Bl5q_pwm.js → move-B1IS1UjX.js} +0 -0
- /package/dist/client/assets/{narrat-CBsmOEAI.js → narrat-_X_XdTYD.js} +0 -0
- /package/dist/client/assets/{nextflow-groovy-aMR1iPI_.js → nextflow-groovy-Dc_ddanL.js} +0 -0
- /package/dist/client/assets/{night-owl-yTEb_Wwb.js → night-owl-DhmEMT88.js} +0 -0
- /package/dist/client/assets/{night-owl-light-huKGrUNo.js → night-owl-light-eJ-hLW7d.js} +0 -0
- /package/dist/client/assets/{nix-Cp796_WQ.js → nix-IvuFDN5E.js} +0 -0
- /package/dist/client/assets/{nord-DcX-wPJc.js → nord-Cb4Vim4T.js} +0 -0
- /package/dist/client/assets/{nushell-BfyhU0X_.js → nushell-DcLAeLz5.js} +0 -0
- /package/dist/client/assets/{objective-c-B4uJcreS.js → objective-c-D1A_Heim.js} +0 -0
- /package/dist/client/assets/{objective-cpp-jpQjhWST.js → objective-cpp-BsSzOQcm.js} +0 -0
- /package/dist/client/assets/{ocaml-Bd4ZvQW_.js → ocaml-O90oeIOV.js} +0 -0
- /package/dist/client/assets/{odin-CrrB9RSu.js → odin-B1RWQWA5.js} +0 -0
- /package/dist/client/assets/{one-dark-pro-CkQTfcfR.js → one-dark-pro-CLwyXe_n.js} +0 -0
- /package/dist/client/assets/{one-light-DThLWCfa.js → one-light-D7Lr4KcI.js} +0 -0
- /package/dist/client/assets/{openscad-D3TTqx3L.js → openscad-BUDT5pXO.js} +0 -0
- /package/dist/client/assets/{pairingUrl-BDy1QCMe.js → pairingUrl-rQM9kSGT.js} +0 -0
- /package/dist/client/assets/{pascal-DWfvzseC.js → pascal-4ZHwLPI5.js} +0 -0
- /package/dist/client/assets/{pierre-dark-DvfVJVsW.js → pierre-dark-PhHPzmGe.js} +0 -0
- /package/dist/client/assets/{pierre-light-B0eN5zia.js → pierre-light-DN22GkGi.js} +0 -0
- /package/dist/client/assets/{pkl-DdTB5XmH.js → pkl-ot-7Btpt.js} +0 -0
- /package/dist/client/assets/{plastic-B7VrxlmD.js → plastic-DQwYfKfQ.js} +0 -0
- /package/dist/client/assets/{plsql-BqXKIIPU.js → plsql-DGHpHOYJ.js} +0 -0
- /package/dist/client/assets/{po-C5lHU9KQ.js → po-BiJDBrnU.js} +0 -0
- /package/dist/client/assets/{poimandres-3PFzcj5x.js → poimandres-DRFjx7u4.js} +0 -0
- /package/dist/client/assets/{polar-C6NB-8j6.js → polar-C7UOKdEL.js} +0 -0
- /package/dist/client/assets/{postcss-vtVbFW0L.js → postcss-BXeXVLqQ.js} +0 -0
- /package/dist/client/assets/{powerquery-hquWt5c6.js → powerquery-DNMTfnFr.js} +0 -0
- /package/dist/client/assets/{powershell-CQ330hRP.js → powershell-DshXNtvi.js} +0 -0
- /package/dist/client/assets/{prisma-BQON8_gf.js → prisma-BsRQq5mF.js} +0 -0
- /package/dist/client/assets/{prolog-0b9P4dbF.js → prolog-iXnhIJG7.js} +0 -0
- /package/dist/client/assets/{proto-CLvr77Vf.js → proto-DB4EqR-F.js} +0 -0
- /package/dist/client/assets/{puppet-BT0t2Kuu.js → puppet-CDv2pdJW.js} +0 -0
- /package/dist/client/assets/{purescript-DkMvIExr.js → purescript-9MfHhQsQ.js} +0 -0
- /package/dist/client/assets/{python-wd06zWQV.js → python-gzcpVVnB.js} +0 -0
- /package/dist/client/assets/{qmldir-llhyId5r.js → qmldir-DCQb3MpD.js} +0 -0
- /package/dist/client/assets/{qss-CVMsEoHp.js → qss-Fe1Jh2GI.js} +0 -0
- /package/dist/client/assets/{racket-DBMp3jda.js → racket-DcIDlBhZ.js} +0 -0
- /package/dist/client/assets/{raku-BRxsLZ2S.js → raku-B3gFvitq.js} +0 -0
- /package/dist/client/assets/{red-qaVQBZPK.js → red-CJ3rzSJv.js} +0 -0
- /package/dist/client/assets/{reg-BDyfNUUq.js → reg-CRGYupPL.js} +0 -0
- /package/dist/client/assets/{rel-DdGqSVEp.js → rel-BtDbiS_P.js} +0 -0
- /package/dist/client/assets/{riscv-DV28q7Fg.js → riscv-Ckw8ddFX.js} +0 -0
- /package/dist/client/assets/{ron-CY4nyhYH.js → ron-VUp2lXgN.js} +0 -0
- /package/dist/client/assets/{rose-pine-CxNAz5gp.js → rose-pine-BthvhNj6.js} +0 -0
- /package/dist/client/assets/{rose-pine-dawn-xFu_N-rV.js → rose-pine-dawn-Dg85fqjY.js} +0 -0
- /package/dist/client/assets/{rose-pine-moon-DK-HvE6Y.js → rose-pine-moon-hon4tzzS.js} +0 -0
- /package/dist/client/assets/{rosmsg-K2kzuYs8.js → rosmsg-CAekHB0j.js} +0 -0
- /package/dist/client/assets/{rust-DZfNSAHN.js → rust-Cfkwpbl8.js} +0 -0
- /package/dist/client/assets/{sass-DIGpNETF.js → sass-DXrisJhu.js} +0 -0
- /package/dist/client/assets/{scala-Dm4xFcTl.js → scala-DKOlJaKm.js} +0 -0
- /package/dist/client/assets/{scheme-Dyo1jQfP.js → scheme-DQCgrYNe.js} +0 -0
- /package/dist/client/assets/{sdbl-C0HF5Szh.js → sdbl-bTVj8UrX.js} +0 -0
- /package/dist/client/assets/{slack-dark-jzjOs3ob.js → slack-dark-DnToyrRv.js} +0 -0
- /package/dist/client/assets/{slack-ochin-CrJIbU0m.js → slack-ochin-B2OO5cIa.js} +0 -0
- /package/dist/client/assets/{smalltalk-DD30vTCS.js → smalltalk-B16xEiuN.js} +0 -0
- /package/dist/client/assets/{snazzy-light-DWAW_zRS.js → snazzy-light-4G7pJPwS.js} +0 -0
- /package/dist/client/assets/{solarized-dark-QfOoX52e.js → solarized-dark-DV17i1UV.js} +0 -0
- /package/dist/client/assets/{solarized-light-3Q8bP0PY.js → solarized-light-DSh2HLQt.js} +0 -0
- /package/dist/client/assets/{solidity-DEXV1iYf.js → solidity-CKzVLygQ.js} +0 -0
- /package/dist/client/assets/{splunk-D3yrvsJB.js → splunk-BC2Px7Mm.js} +0 -0
- /package/dist/client/assets/{ssh-config-DJbT8CNv.js → ssh-config-BgfXC-Er.js} +0 -0
- /package/dist/client/assets/{stylus-D7yuZo8M.js → stylus-B6D30XZt.js} +0 -0
- /package/dist/client/assets/{swift-Dcka7tnA.js → swift-DonLKvLd.js} +0 -0
- /package/dist/client/assets/{synthwave-84-Cp0uE3e0.js → synthwave-84-nFMaYfgc.js} +0 -0
- /package/dist/client/assets/{system-verilog-0hmR2xuR.js → system-verilog-DJ5XKQeo.js} +0 -0
- /package/dist/client/assets/{systemd-JaNPzh8j.js → systemd-BxMlprV5.js} +0 -0
- /package/dist/client/assets/{talonscript-BPHMb4jr.js → talonscript-CohzipZa.js} +0 -0
- /package/dist/client/assets/{tasl-D07ubp53.js → tasl-DMoTqEGO.js} +0 -0
- /package/dist/client/assets/{tcl-DRL4sBMb.js → tcl-CZd0xW_V.js} +0 -0
- /package/dist/client/assets/{terraform-C8KioG9C.js → terraform-DswuEJGm.js} +0 -0
- /package/dist/client/assets/{tokyo-night-sVj4Hc0t.js → tokyo-night-oM2G3aXe.js} +0 -0
- /package/dist/client/assets/{toml-DOSf8MYV.js → toml-CcmNWLt0.js} +0 -0
- /package/dist/client/assets/{tsv-BpjyUJlf.js → tsv-sltzmVWM.js} +0 -0
- /package/dist/client/assets/{turtle-x_g5g_iY.js → turtle-ByJddavk.js} +0 -0
- /package/dist/client/assets/{typespec-Dfd73-vI.js → typespec-B88KGewJ.js} +0 -0
- /package/dist/client/assets/{typst-Dlb0aZU4.js → typst-DI99ib-x.js} +0 -0
- /package/dist/client/assets/{v-v-fvjFiX.js → v-DETTlOr0.js} +0 -0
- /package/dist/client/assets/{vala-D9-xQ00Z.js → vala-zf12oZj6.js} +0 -0
- /package/dist/client/assets/{vb-BReSiWNQ.js → vb-Djn5o6TS.js} +0 -0
- /package/dist/client/assets/{verilog-DfyNqRJD.js → verilog-CiiDBU1e.js} +0 -0
- /package/dist/client/assets/{vesper-Bv60RWju.js → vesper-D5bVUKB1.js} +0 -0
- /package/dist/client/assets/{vhdl-DbQyuq9g.js → vhdl-BroJfC0k.js} +0 -0
- /package/dist/client/assets/{viml-DhThL36t.js → viml-DvXPmvsu.js} +0 -0
- /package/dist/client/assets/{vitesse-black-CThrVPkw.js → vitesse-black-fwtXNY1n.js} +0 -0
- /package/dist/client/assets/{vitesse-dark-BrahNcrX.js → vitesse-dark-BZCL-v6S.js} +0 -0
- /package/dist/client/assets/{vitesse-light-BCKYomrh.js → vitesse-light-VbXTXTou.js} +0 -0
- /package/dist/client/assets/{vyper-e4AwrcSk.js → vyper-CgoNMtux.js} +0 -0
- /package/dist/client/assets/{wasm-Cia-w-S9.js → wasm-BnjxR4X6.js} +0 -0
- /package/dist/client/assets/{wasm-B1MrEdvT.js → wasm-ByWQv1Qj.js} +0 -0
- /package/dist/client/assets/{wenyan-CrxLlNlW.js → wenyan-C8pVoKbM.js} +0 -0
- /package/dist/client/assets/{wgsl-BpsXvExJ.js → wgsl-BsKzXJz4.js} +0 -0
- /package/dist/client/assets/{wikitext-C6XIgJ_Z.js → wikitext-ClFFjSW2.js} +0 -0
- /package/dist/client/assets/{wit-DkjXKZxQ.js → wit-DdvCle-K.js} +0 -0
- /package/dist/client/assets/{wolfram--3zV4S15.js → wolfram-DLL8P-h_.js} +0 -0
- /package/dist/client/assets/{zenscript-BLGtygmo.js → zenscript-BnlCZFoB.js} +0 -0
- /package/dist/client/assets/{zig-CaWWBKRf.js → zig-CMLA9XwU.js} +0 -0
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-DbCOJom3.cjs");
|
|
4
|
+
let effect = require("effect");
|
|
5
|
+
let effect_unstable_process = require("effect/unstable/process");
|
|
6
|
+
//#region ../../packages/shared/src/schemaJson.ts
|
|
7
|
+
const decodeJsonResult = (schema) => {
|
|
8
|
+
const decode = effect.Schema.decodeExit(effect.Schema.fromJsonString(schema));
|
|
9
|
+
return (input) => {
|
|
10
|
+
const result = decode(input);
|
|
11
|
+
if (effect.Exit.isFailure(result)) return effect.Result.fail(result.cause);
|
|
12
|
+
return effect.Result.succeed(result.value);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
const formatSchemaError = (cause) => {
|
|
16
|
+
const squashed = effect.Cause.squash(cause);
|
|
17
|
+
return effect.Schema.isSchemaError(squashed) ? effect.SchemaIssue.makeFormatterDefault()(squashed.issue) : effect.Cause.pretty(cause);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A `Getter` that parses a lenient JSON string (tolerating trailing commas
|
|
21
|
+
* and JS-style comments) into an unknown value.
|
|
22
|
+
*
|
|
23
|
+
* Mirrors `SchemaGetter.parseJson()` but uses `parseLenientJson` instead
|
|
24
|
+
* of `JSON.parse`.
|
|
25
|
+
*/
|
|
26
|
+
const parseLenientJsonGetter = effect.SchemaGetter.onSome((input) => effect.Effect.try({
|
|
27
|
+
try: () => {
|
|
28
|
+
let stripped = input.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g, (match, stringLiteral) => stringLiteral ? match : "");
|
|
29
|
+
stripped = stripped.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g, (match, stringLiteral) => stringLiteral ? match : "");
|
|
30
|
+
stripped = stripped.replace(/,(\s*[}\]])/g, "$1");
|
|
31
|
+
return effect.Option.some(JSON.parse(stripped));
|
|
32
|
+
},
|
|
33
|
+
catch: (e) => new effect.SchemaIssue.InvalidValue(effect.Option.some(input), { message: String(e) })
|
|
34
|
+
}));
|
|
35
|
+
/**
|
|
36
|
+
* Schema transformation: lenient JSONC string ↔ unknown.
|
|
37
|
+
*
|
|
38
|
+
* Same API as `SchemaTransformation.fromJsonString`, but the decode side
|
|
39
|
+
* strips trailing commas and JS-style comments before parsing.
|
|
40
|
+
* Encoding produces strict JSON via `JSON.stringify`.
|
|
41
|
+
*/
|
|
42
|
+
const fromLenientJsonString = new effect.SchemaTransformation.Transformation(parseLenientJsonGetter, effect.SchemaGetter.stringifyJson());
|
|
43
|
+
/**
|
|
44
|
+
* Build a schema that decodes a lenient JSON string into `A`.
|
|
45
|
+
*
|
|
46
|
+
* Drop-in replacement for `Schema.fromJsonString(schema)` that tolerates
|
|
47
|
+
* trailing commas and comments in the input.
|
|
48
|
+
*/
|
|
49
|
+
const fromLenientJson = (schema) => effect.Schema.String.pipe(effect.Schema.decodeTo(schema, fromLenientJsonString));
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/vcs/VcsProcess.ts
|
|
52
|
+
var VcsProcess = class extends effect.Context.Service()("ryco/vcs/VcsProcess") {};
|
|
53
|
+
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
54
|
+
const DEFAULT_MAX_OUTPUT_BYTES = 1e6;
|
|
55
|
+
const OUTPUT_TRUNCATED_MARKER = "\n\n[truncated]";
|
|
56
|
+
function commandLabel(command, args) {
|
|
57
|
+
return [command, ...args].join(" ");
|
|
58
|
+
}
|
|
59
|
+
function outputDecodeError(input, detail, cause) {
|
|
60
|
+
return new require_collectUint8StreamText.VcsOutputDecodeError({
|
|
61
|
+
operation: input.operation,
|
|
62
|
+
command: commandLabel(input.command, input.args),
|
|
63
|
+
cwd: input.cwd,
|
|
64
|
+
detail,
|
|
65
|
+
cause
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const collectText = effect.Effect.fn("VcsProcess.collectText")(function* (input) {
|
|
69
|
+
const maxOutputBytes = input.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES;
|
|
70
|
+
return yield* require_collectUint8StreamText.collectUint8StreamText({
|
|
71
|
+
stream: input.stream,
|
|
72
|
+
maxBytes: maxOutputBytes,
|
|
73
|
+
truncatedMarker: input.truncateOutputAtMaxBytes ? OUTPUT_TRUNCATED_MARKER : null
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
const make = effect.Effect.fn("makeVcsProcess")(function* () {
|
|
77
|
+
const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
78
|
+
const spawn = effect.Effect.fn("VcsProcess.spawn")(function* (input) {
|
|
79
|
+
const label = commandLabel(input.command, input.args);
|
|
80
|
+
const child = yield* spawner.spawn(effect_unstable_process.ChildProcess.make(input.command, [...input.args], {
|
|
81
|
+
cwd: input.cwd,
|
|
82
|
+
env: {
|
|
83
|
+
...process.env,
|
|
84
|
+
...input.env
|
|
85
|
+
}
|
|
86
|
+
})).pipe(effect.Effect.mapError((cause) => new require_collectUint8StreamText.VcsProcessSpawnError({
|
|
87
|
+
operation: input.operation,
|
|
88
|
+
command: label,
|
|
89
|
+
cwd: input.cwd,
|
|
90
|
+
cause
|
|
91
|
+
})));
|
|
92
|
+
yield* effect.Effect.addFinalizer(() => child.kill().pipe(effect.Effect.ignore));
|
|
93
|
+
const mapStreamError = (streamName) => effect.Stream.mapError((cause) => outputDecodeError(input, `failed to read process ${streamName}`, cause));
|
|
94
|
+
const mapEffectError = (detail) => effect.Effect.mapError((cause) => outputDecodeError(input, detail, cause));
|
|
95
|
+
const writeStdin = (stdin) => effect.Stream.run(effect.Stream.encodeText(effect.Stream.make(stdin)), child.stdin).pipe(mapEffectError("failed to write process stdin"));
|
|
96
|
+
return {
|
|
97
|
+
pid: child.pid,
|
|
98
|
+
stdin: child.stdin.pipe(effect.Sink.mapError((cause) => outputDecodeError(input, "failed to write process stdin", cause))),
|
|
99
|
+
stdout: child.stdout.pipe(mapStreamError("stdout")),
|
|
100
|
+
stderr: child.stderr.pipe(mapStreamError("stderr")),
|
|
101
|
+
exitCode: child.exitCode.pipe(mapEffectError("failed to read process exit code")),
|
|
102
|
+
writeStdin
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
const withProcess = (input, use) => effect.Effect.scoped(spawn(input).pipe(effect.Effect.flatMap(use)));
|
|
106
|
+
const run = effect.Effect.fn("VcsProcess.run")(function* (input) {
|
|
107
|
+
const timeoutMs = input.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
108
|
+
const maxOutputBytes = input.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES;
|
|
109
|
+
const label = commandLabel(input.command, input.args);
|
|
110
|
+
return yield* effect.Effect.gen(function* () {
|
|
111
|
+
const [stdout, stderr, exitCode] = yield* withProcess(input, (child) => effect.Effect.all([
|
|
112
|
+
collectText({
|
|
113
|
+
operation: input.operation,
|
|
114
|
+
command: label,
|
|
115
|
+
cwd: input.cwd,
|
|
116
|
+
stream: child.stdout,
|
|
117
|
+
maxOutputBytes,
|
|
118
|
+
truncateOutputAtMaxBytes: input.truncateOutputAtMaxBytes ?? false
|
|
119
|
+
}),
|
|
120
|
+
collectText({
|
|
121
|
+
operation: input.operation,
|
|
122
|
+
command: label,
|
|
123
|
+
cwd: input.cwd,
|
|
124
|
+
stream: child.stderr,
|
|
125
|
+
maxOutputBytes,
|
|
126
|
+
truncateOutputAtMaxBytes: input.truncateOutputAtMaxBytes ?? false
|
|
127
|
+
}),
|
|
128
|
+
child.exitCode,
|
|
129
|
+
input.stdin === void 0 ? effect.Effect.void : child.writeStdin(input.stdin)
|
|
130
|
+
], { concurrency: "unbounded" })).pipe(effect.Effect.map(([stdout, stderr, exitCode]) => [
|
|
131
|
+
stdout,
|
|
132
|
+
stderr,
|
|
133
|
+
exitCode
|
|
134
|
+
]));
|
|
135
|
+
if (!input.allowNonZeroExit && exitCode !== 0) return yield* new require_collectUint8StreamText.VcsProcessExitError({
|
|
136
|
+
operation: input.operation,
|
|
137
|
+
command: label,
|
|
138
|
+
cwd: input.cwd,
|
|
139
|
+
exitCode,
|
|
140
|
+
detail: stderr.text.trim() || `${label} exited with code ${exitCode}.`
|
|
141
|
+
});
|
|
142
|
+
return {
|
|
143
|
+
exitCode,
|
|
144
|
+
stdout: stdout.text,
|
|
145
|
+
stderr: stderr.text,
|
|
146
|
+
stdoutTruncated: stdout.truncated,
|
|
147
|
+
stderrTruncated: stderr.truncated
|
|
148
|
+
};
|
|
149
|
+
}).pipe(effect.Effect.scoped, effect.Effect.timeoutOption(effect.Duration.millis(timeoutMs)), effect.Effect.flatMap((result) => effect.Option.match(result, {
|
|
150
|
+
onSome: effect.Effect.succeed,
|
|
151
|
+
onNone: () => effect.Effect.fail(new require_collectUint8StreamText.VcsProcessTimeoutError({
|
|
152
|
+
operation: input.operation,
|
|
153
|
+
command: label,
|
|
154
|
+
cwd: input.cwd,
|
|
155
|
+
timeoutMs
|
|
156
|
+
}))
|
|
157
|
+
})));
|
|
158
|
+
});
|
|
159
|
+
return VcsProcess.of({
|
|
160
|
+
withProcess,
|
|
161
|
+
run
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
const layer = effect.Layer.effect(VcsProcess, make());
|
|
165
|
+
//#endregion
|
|
166
|
+
//#region src/sourceControl/SourceControlProvider.ts
|
|
167
|
+
function parseSourceControlOwnerRef(headSelector) {
|
|
168
|
+
const match = /^([^:/\s]+):(.+)$/u.exec(headSelector.trim());
|
|
169
|
+
const owner = match?.[1]?.trim();
|
|
170
|
+
const refName = match?.[2]?.trim();
|
|
171
|
+
return owner && refName ? {
|
|
172
|
+
owner,
|
|
173
|
+
refName
|
|
174
|
+
} : void 0;
|
|
175
|
+
}
|
|
176
|
+
function normalizeSourceBranch(headSelector) {
|
|
177
|
+
return parseSourceControlOwnerRef(headSelector)?.refName ?? headSelector.trim();
|
|
178
|
+
}
|
|
179
|
+
function sourceBranch(input) {
|
|
180
|
+
return input.source?.refName ?? normalizeSourceBranch(input.headSelector);
|
|
181
|
+
}
|
|
182
|
+
function sourceControlRefFromInput(input) {
|
|
183
|
+
return input.source ?? parseSourceControlOwnerRef(input.headSelector);
|
|
184
|
+
}
|
|
185
|
+
var SourceControlProvider = class extends effect.Context.Service()("ryco/source-control/SourceControlProvider") {};
|
|
186
|
+
//#endregion
|
|
187
|
+
//#region src/sourceControl/gitHubAuthStatus.ts
|
|
188
|
+
const GitHubAuthStatusAccountSchema = effect.Schema.Struct({
|
|
189
|
+
state: effect.Schema.String,
|
|
190
|
+
error: effect.Schema.optional(effect.Schema.String),
|
|
191
|
+
active: effect.Schema.Boolean,
|
|
192
|
+
host: effect.Schema.String,
|
|
193
|
+
login: effect.Schema.String
|
|
194
|
+
});
|
|
195
|
+
const GitHubAuthStatusSchema = effect.Schema.Struct({ hosts: effect.Schema.Record(effect.Schema.String, effect.Schema.Array(GitHubAuthStatusAccountSchema)) });
|
|
196
|
+
const decodeGitHubAuthStatusJson = effect.Schema.decodeUnknownOption(effect.Schema.fromJsonString(GitHubAuthStatusSchema));
|
|
197
|
+
function nonEmptyString(value) {
|
|
198
|
+
const trimmed = value.trim();
|
|
199
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
200
|
+
}
|
|
201
|
+
function parseGitHubAuthStatus(text) {
|
|
202
|
+
return effect.Option.match(decodeGitHubAuthStatusJson(text), {
|
|
203
|
+
onNone: () => ({
|
|
204
|
+
parsed: false,
|
|
205
|
+
accounts: []
|
|
206
|
+
}),
|
|
207
|
+
onSome: (status) => ({
|
|
208
|
+
parsed: true,
|
|
209
|
+
accounts: Object.values(status.hosts).flatMap((accounts) => accounts.flatMap((account) => {
|
|
210
|
+
const host = nonEmptyString(account.host);
|
|
211
|
+
const login = nonEmptyString(account.login);
|
|
212
|
+
if (host === null || login === null) return [];
|
|
213
|
+
return [{
|
|
214
|
+
host: host.toLowerCase(),
|
|
215
|
+
account: login,
|
|
216
|
+
authenticated: account.state === "success",
|
|
217
|
+
active: account.active,
|
|
218
|
+
error: account.error?.trim() || null
|
|
219
|
+
}];
|
|
220
|
+
}))
|
|
221
|
+
})
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
function findAuthenticatedGitHubAccount(accounts) {
|
|
225
|
+
return accounts.find((account) => account.authenticated && account.active) ?? accounts.find((account) => account.authenticated);
|
|
226
|
+
}
|
|
227
|
+
//#endregion
|
|
228
|
+
//#region src/sourceControl/gitLabAuthStatus.ts
|
|
229
|
+
const HOST_LINE_PATTERN = /^(?:[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?|\[[a-f0-9:.]+\])(?::\d+)?$/iu;
|
|
230
|
+
const LOGGED_IN_PATTERN = /Logged in to .+? as\s+([^\s(]+)/iu;
|
|
231
|
+
function parseGitLabAuthStatusHosts(text) {
|
|
232
|
+
const hosts = [];
|
|
233
|
+
let currentHost = null;
|
|
234
|
+
let currentLines = [];
|
|
235
|
+
const flush = () => {
|
|
236
|
+
if (currentHost === null) return;
|
|
237
|
+
const account = LOGGED_IN_PATTERN.exec(currentLines.join("\n"))?.[1]?.trim() || null;
|
|
238
|
+
hosts.push({
|
|
239
|
+
host: currentHost,
|
|
240
|
+
account,
|
|
241
|
+
authenticated: account !== null
|
|
242
|
+
});
|
|
243
|
+
currentHost = null;
|
|
244
|
+
currentLines = [];
|
|
245
|
+
};
|
|
246
|
+
for (const rawLine of text.split(/\r?\n/)) {
|
|
247
|
+
const line = rawLine.trim();
|
|
248
|
+
if (line.length === 0) continue;
|
|
249
|
+
if (rawLine.length === rawLine.trimStart().length && HOST_LINE_PATTERN.test(line)) {
|
|
250
|
+
flush();
|
|
251
|
+
currentHost = line.toLowerCase();
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
if (currentHost !== null) currentLines.push(line);
|
|
255
|
+
}
|
|
256
|
+
flush();
|
|
257
|
+
return hosts;
|
|
258
|
+
}
|
|
259
|
+
function findAuthenticatedGitLabHost(hosts) {
|
|
260
|
+
return hosts.find((host) => host.authenticated);
|
|
261
|
+
}
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region src/sourceControl/SourceControlProviderDiscovery.ts
|
|
264
|
+
function firstNonEmptyLine(text) {
|
|
265
|
+
const line = text.split(/\r?\n/).map((entry) => entry.trim()).find((entry) => entry.length > 0);
|
|
266
|
+
return line === void 0 ? effect.Option.none() : effect.Option.some(line);
|
|
267
|
+
}
|
|
268
|
+
function detailFromCause(cause) {
|
|
269
|
+
if (cause instanceof Error && cause.message.trim().length > 0) return effect.Option.some(cause.message.trim());
|
|
270
|
+
return effect.Option.none();
|
|
271
|
+
}
|
|
272
|
+
function authAccount(account) {
|
|
273
|
+
const trimmed = account?.trim();
|
|
274
|
+
return trimmed === void 0 || trimmed.length === 0 ? effect.Option.none() : effect.Option.some(trimmed);
|
|
275
|
+
}
|
|
276
|
+
function authHost(host) {
|
|
277
|
+
const trimmed = host?.trim();
|
|
278
|
+
return trimmed === void 0 || trimmed.length === 0 ? effect.Option.none() : effect.Option.some(trimmed);
|
|
279
|
+
}
|
|
280
|
+
function authDetail(detail) {
|
|
281
|
+
const trimmed = detail?.trim();
|
|
282
|
+
return trimmed === void 0 || trimmed.length === 0 ? effect.Option.none() : effect.Option.some(trimmed);
|
|
283
|
+
}
|
|
284
|
+
function providerAuth(input) {
|
|
285
|
+
return {
|
|
286
|
+
status: input.status,
|
|
287
|
+
account: authAccount(input.account),
|
|
288
|
+
host: authHost(input.host),
|
|
289
|
+
detail: authDetail(input.detail)
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
function unknownAuth(detail) {
|
|
293
|
+
return providerAuth({
|
|
294
|
+
status: "unknown",
|
|
295
|
+
detail
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
function combinedAuthOutput(input) {
|
|
299
|
+
return [input.stdout, input.stderr].filter((entry) => entry.trim().length > 0).join("\n");
|
|
300
|
+
}
|
|
301
|
+
function sanitizedAuthLines(text) {
|
|
302
|
+
return text.split(/\r?\n/).map((entry) => entry.trim()).filter((entry) => entry.length > 0).filter((entry) => !/^[-\s]*token(?:\s+scopes?)?:/iu.test(entry));
|
|
303
|
+
}
|
|
304
|
+
function firstSafeAuthLine(text) {
|
|
305
|
+
return sanitizedAuthLines(text)[0];
|
|
306
|
+
}
|
|
307
|
+
function parseCliHost(text) {
|
|
308
|
+
return sanitizedAuthLines(text).map((line) => line.replace(/^[^a-z0-9]+/iu, "")).find((line) => /^[a-z0-9][a-z0-9.-]*(?::\d+)?$/iu.test(line));
|
|
309
|
+
}
|
|
310
|
+
function matchFirst(text, patterns) {
|
|
311
|
+
for (const pattern of patterns) {
|
|
312
|
+
const value = pattern.exec(text)?.[1]?.trim();
|
|
313
|
+
if (value && value.length > 0) return value;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
function isCliRemoteRefinementSpec(spec) {
|
|
317
|
+
return spec.type === "cli" && spec.refineUnknownRemote !== void 0;
|
|
318
|
+
}
|
|
319
|
+
function probeCli(input) {
|
|
320
|
+
return input.process.run({
|
|
321
|
+
operation: "source-control.discovery.probe",
|
|
322
|
+
command: input.spec.executable,
|
|
323
|
+
args: input.spec.versionArgs,
|
|
324
|
+
cwd: input.cwd,
|
|
325
|
+
timeoutMs: 5e3,
|
|
326
|
+
maxOutputBytes: 8e3,
|
|
327
|
+
truncateOutputAtMaxBytes: true
|
|
328
|
+
}).pipe(effect.Effect.map((result) => ({
|
|
329
|
+
kind: input.spec.kind,
|
|
330
|
+
label: input.spec.label,
|
|
331
|
+
executable: input.spec.executable,
|
|
332
|
+
status: "available",
|
|
333
|
+
version: effect.Option.orElse(firstNonEmptyLine(result.stdout), () => firstNonEmptyLine(result.stderr)),
|
|
334
|
+
installHint: input.spec.installHint,
|
|
335
|
+
detail: effect.Option.none()
|
|
336
|
+
})), effect.Effect.catch((cause) => effect.Effect.succeed({
|
|
337
|
+
kind: input.spec.kind,
|
|
338
|
+
label: input.spec.label,
|
|
339
|
+
executable: input.spec.executable,
|
|
340
|
+
status: "missing",
|
|
341
|
+
version: effect.Option.none(),
|
|
342
|
+
installHint: input.spec.installHint,
|
|
343
|
+
detail: detailFromCause(cause)
|
|
344
|
+
})));
|
|
345
|
+
}
|
|
346
|
+
function probeSourceControlProvider(input) {
|
|
347
|
+
if (input.spec.type === "api") return input.spec.probeAuth.pipe(effect.Effect.map((auth) => ({
|
|
348
|
+
kind: input.spec.kind,
|
|
349
|
+
label: input.spec.label,
|
|
350
|
+
status: "available",
|
|
351
|
+
version: effect.Option.none(),
|
|
352
|
+
installHint: input.spec.installHint,
|
|
353
|
+
detail: effect.Option.none(),
|
|
354
|
+
auth
|
|
355
|
+
})));
|
|
356
|
+
const spec = input.spec;
|
|
357
|
+
return probeCli({
|
|
358
|
+
spec,
|
|
359
|
+
process: input.process,
|
|
360
|
+
cwd: input.cwd
|
|
361
|
+
}).pipe(effect.Effect.flatMap((item) => {
|
|
362
|
+
if (item.status !== "available") return effect.Effect.succeed({
|
|
363
|
+
...item,
|
|
364
|
+
auth: unknownAuth("Hosting integration command was not found on the server PATH.")
|
|
365
|
+
});
|
|
366
|
+
return input.process.run({
|
|
367
|
+
operation: "source-control.discovery.auth",
|
|
368
|
+
command: spec.executable,
|
|
369
|
+
args: spec.authArgs,
|
|
370
|
+
cwd: input.cwd,
|
|
371
|
+
allowNonZeroExit: true,
|
|
372
|
+
timeoutMs: 5e3,
|
|
373
|
+
maxOutputBytes: 8e3,
|
|
374
|
+
truncateOutputAtMaxBytes: true
|
|
375
|
+
}).pipe(effect.Effect.map((result) => ({
|
|
376
|
+
...item,
|
|
377
|
+
auth: spec.parseAuth(result)
|
|
378
|
+
})), effect.Effect.catch((cause) => effect.Effect.succeed({
|
|
379
|
+
...item,
|
|
380
|
+
auth: unknownAuth(effect.Option.getOrUndefined(detailFromCause(cause)))
|
|
381
|
+
})));
|
|
382
|
+
}));
|
|
383
|
+
}
|
|
384
|
+
const refineUnknownRemoteProvider = effect.Effect.fn("refineUnknownRemoteProvider")(function* (input) {
|
|
385
|
+
if (input.context === null || input.context.provider.kind !== "unknown") return input.context;
|
|
386
|
+
const context = input.context;
|
|
387
|
+
const provider = (yield* effect.Effect.forEach(input.specs.filter(isCliRemoteRefinementSpec), (spec) => input.process.run({
|
|
388
|
+
operation: "source-control.discovery.refine-unknown-remote",
|
|
389
|
+
command: spec.executable,
|
|
390
|
+
args: spec.authArgs,
|
|
391
|
+
cwd: input.cwd,
|
|
392
|
+
allowNonZeroExit: true,
|
|
393
|
+
timeoutMs: 5e3,
|
|
394
|
+
maxOutputBytes: 8e3,
|
|
395
|
+
truncateOutputAtMaxBytes: true
|
|
396
|
+
}).pipe(effect.Effect.map((auth) => spec.refineUnknownRemote({
|
|
397
|
+
cwd: input.cwd,
|
|
398
|
+
context,
|
|
399
|
+
auth
|
|
400
|
+
})), effect.Effect.catch(() => effect.Effect.succeed(null))))).find((candidate) => candidate !== null);
|
|
401
|
+
return provider ? {
|
|
402
|
+
...context,
|
|
403
|
+
provider
|
|
404
|
+
} : context;
|
|
405
|
+
});
|
|
406
|
+
//#endregion
|
|
407
|
+
//#region src/sourceControl/SourceControlProviderDiscoveryCatalog.ts
|
|
408
|
+
function parseGitHubAuth(input) {
|
|
409
|
+
const output = combinedAuthOutput(input);
|
|
410
|
+
const authStatus = parseGitHubAuthStatus(input.stdout);
|
|
411
|
+
const authenticatedAccount = findAuthenticatedGitHubAccount(authStatus.accounts);
|
|
412
|
+
const fallbackHost = parseCliHost(output);
|
|
413
|
+
if (authenticatedAccount) return providerAuth({
|
|
414
|
+
status: "authenticated",
|
|
415
|
+
account: authenticatedAccount.account,
|
|
416
|
+
host: authenticatedAccount.host
|
|
417
|
+
});
|
|
418
|
+
if (authStatus.parsed) {
|
|
419
|
+
const failedAccount = authStatus.accounts.find((account) => account.active) ?? authStatus.accounts[0];
|
|
420
|
+
return providerAuth({
|
|
421
|
+
status: "unauthenticated",
|
|
422
|
+
host: failedAccount?.host,
|
|
423
|
+
detail: failedAccount?.error ?? "Run `gh auth login` to authenticate GitHub CLI with an active account."
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
if (input.exitCode !== 0) return providerAuth({
|
|
427
|
+
status: "unauthenticated",
|
|
428
|
+
host: fallbackHost,
|
|
429
|
+
detail: firstSafeAuthLine(output) ?? "Run `gh auth login` to authenticate GitHub CLI."
|
|
430
|
+
});
|
|
431
|
+
const account = matchFirst(output, [/Logged in to .* account\s+([^\s(]+)/iu, /Logged in to .* as\s+([^\s(]+)/iu]);
|
|
432
|
+
if (account) return providerAuth({
|
|
433
|
+
status: "authenticated",
|
|
434
|
+
account,
|
|
435
|
+
host: fallbackHost
|
|
436
|
+
});
|
|
437
|
+
return providerAuth({
|
|
438
|
+
status: "unknown",
|
|
439
|
+
host: fallbackHost,
|
|
440
|
+
detail: firstSafeAuthLine(output) ?? "GitHub CLI auth status could not be parsed."
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
function parseGitLabAuth(input) {
|
|
444
|
+
const output = combinedAuthOutput(input);
|
|
445
|
+
const authenticatedHost = findAuthenticatedGitLabHost(parseGitLabAuthStatusHosts(output));
|
|
446
|
+
const account = authenticatedHost?.account ?? matchFirst(output, [
|
|
447
|
+
/Logged in to .* as\s+([^\s(]+)/iu,
|
|
448
|
+
/Logged in to .* account\s+([^\s(]+)/iu,
|
|
449
|
+
/account:\s*([^\s(]+)/iu
|
|
450
|
+
]);
|
|
451
|
+
const host = authenticatedHost?.host ?? parseCliHost(output);
|
|
452
|
+
if (account) return providerAuth({
|
|
453
|
+
status: "authenticated",
|
|
454
|
+
account,
|
|
455
|
+
host
|
|
456
|
+
});
|
|
457
|
+
if (input.exitCode !== 0) return providerAuth({
|
|
458
|
+
status: "unauthenticated",
|
|
459
|
+
host,
|
|
460
|
+
detail: firstSafeAuthLine(output) ?? "Run `glab auth login` to authenticate GitLab CLI."
|
|
461
|
+
});
|
|
462
|
+
return providerAuth({
|
|
463
|
+
status: "unknown",
|
|
464
|
+
host,
|
|
465
|
+
detail: firstSafeAuthLine(output) ?? "GitLab CLI auth status could not be parsed."
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
function normalizeAuthHost(value) {
|
|
469
|
+
const trimmed = value?.trim().toLowerCase() ?? "";
|
|
470
|
+
if (trimmed.length === 0) return null;
|
|
471
|
+
try {
|
|
472
|
+
return new URL(trimmed).host.toLowerCase();
|
|
473
|
+
} catch {
|
|
474
|
+
return trimmed.replace(/^https?:\/\//iu, "").replace(/\/.*$/u, "");
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
function gitLabProviderForHost(host) {
|
|
478
|
+
return {
|
|
479
|
+
kind: "gitlab",
|
|
480
|
+
name: host === "gitlab.com" ? "GitLab" : "GitLab Self-Hosted",
|
|
481
|
+
baseUrl: `https://${host}`
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
function refineUnknownGitLabRemote(input) {
|
|
485
|
+
const remoteHost = normalizeAuthHost(input.context.provider.baseUrl) ?? normalizeAuthHost(input.context.provider.name);
|
|
486
|
+
if (remoteHost === null) return null;
|
|
487
|
+
const authenticatedHost = parseGitLabAuthStatusHosts(combinedAuthOutput(input.auth)).find((host) => host.authenticated && host.host === remoteHost);
|
|
488
|
+
return authenticatedHost ? gitLabProviderForHost(authenticatedHost.host) : null;
|
|
489
|
+
}
|
|
490
|
+
function parseAzureAuth(input) {
|
|
491
|
+
const account = input.stdout.trim().split(/\r?\n/)[0]?.trim();
|
|
492
|
+
if (input.exitCode !== 0) return providerAuth({
|
|
493
|
+
status: "unauthenticated",
|
|
494
|
+
detail: firstSafeAuthLine(combinedAuthOutput(input)) ?? "Run `az login` to authenticate Azure CLI."
|
|
495
|
+
});
|
|
496
|
+
if (account && account.length > 0) return providerAuth({
|
|
497
|
+
status: "authenticated",
|
|
498
|
+
account,
|
|
499
|
+
host: "dev.azure.com"
|
|
500
|
+
});
|
|
501
|
+
return providerAuth({
|
|
502
|
+
status: "unknown",
|
|
503
|
+
host: "dev.azure.com",
|
|
504
|
+
detail: "Azure CLI account status could not be parsed."
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
const githubDiscovery = {
|
|
508
|
+
type: "cli",
|
|
509
|
+
kind: "github",
|
|
510
|
+
label: "GitHub",
|
|
511
|
+
executable: "gh",
|
|
512
|
+
versionArgs: ["--version"],
|
|
513
|
+
authArgs: [
|
|
514
|
+
"auth",
|
|
515
|
+
"status",
|
|
516
|
+
"--json",
|
|
517
|
+
"hosts"
|
|
518
|
+
],
|
|
519
|
+
parseAuth: parseGitHubAuth,
|
|
520
|
+
installHint: "Install the GitHub command-line tool (`gh`) via https://cli.github.com/ or your package manager (for example `brew install gh`)."
|
|
521
|
+
};
|
|
522
|
+
const gitlabDiscovery = {
|
|
523
|
+
type: "cli",
|
|
524
|
+
kind: "gitlab",
|
|
525
|
+
label: "GitLab",
|
|
526
|
+
executable: "glab",
|
|
527
|
+
versionArgs: ["--version"],
|
|
528
|
+
authArgs: ["auth", "status"],
|
|
529
|
+
parseAuth: parseGitLabAuth,
|
|
530
|
+
refineUnknownRemote: refineUnknownGitLabRemote,
|
|
531
|
+
installHint: "Install the GitLab command-line tool (`glab`) from https://gitlab.com/gitlab-org/cli or your package manager (for example `brew install glab`)."
|
|
532
|
+
};
|
|
533
|
+
const azureDevOpsDiscovery = {
|
|
534
|
+
type: "cli",
|
|
535
|
+
kind: "azure-devops",
|
|
536
|
+
label: "Azure DevOps",
|
|
537
|
+
executable: "az",
|
|
538
|
+
versionArgs: ["--version"],
|
|
539
|
+
authArgs: [
|
|
540
|
+
"account",
|
|
541
|
+
"show",
|
|
542
|
+
"--query",
|
|
543
|
+
"user.name",
|
|
544
|
+
"-o",
|
|
545
|
+
"tsv"
|
|
546
|
+
],
|
|
547
|
+
parseAuth: parseAzureAuth,
|
|
548
|
+
installHint: "Install the Azure command-line tools (`az`), then enable Azure DevOps support with `az extension add --name azure-devops`."
|
|
549
|
+
};
|
|
550
|
+
function makeBitbucketDiscovery(bitbucket) {
|
|
551
|
+
return {
|
|
552
|
+
type: "api",
|
|
553
|
+
kind: "bitbucket",
|
|
554
|
+
label: "Bitbucket",
|
|
555
|
+
installHint: "Save a Bitbucket app password in Settings -> Source Control -> Atlassian, or set RYCO_BITBUCKET_EMAIL and RYCO_BITBUCKET_API_TOKEN on the server.",
|
|
556
|
+
probeAuth: bitbucket.probeAuth
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
function makeForgejoDiscovery(forgejo) {
|
|
560
|
+
return {
|
|
561
|
+
type: "api",
|
|
562
|
+
kind: "forgejo",
|
|
563
|
+
label: "Forgejo",
|
|
564
|
+
installHint: "Authenticate with `fj auth login` on the server and verify with `fj -H codeberg.org whoami`, or set RYCO_FORGEJO_BASE_URL and RYCO_FORGEJO_TOKEN. For unusual fj installs, point Ryco at the token file with RYCO_FORGEJO_CLI_KEYS_FILE.",
|
|
565
|
+
probeAuth: forgejo.probeAuth
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
//#endregion
|
|
569
|
+
Object.defineProperty(exports, "SourceControlProvider", {
|
|
570
|
+
enumerable: true,
|
|
571
|
+
get: function() {
|
|
572
|
+
return SourceControlProvider;
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
Object.defineProperty(exports, "VcsProcess", {
|
|
576
|
+
enumerable: true,
|
|
577
|
+
get: function() {
|
|
578
|
+
return VcsProcess;
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
Object.defineProperty(exports, "azureDevOpsDiscovery", {
|
|
582
|
+
enumerable: true,
|
|
583
|
+
get: function() {
|
|
584
|
+
return azureDevOpsDiscovery;
|
|
585
|
+
}
|
|
586
|
+
});
|
|
587
|
+
Object.defineProperty(exports, "decodeJsonResult", {
|
|
588
|
+
enumerable: true,
|
|
589
|
+
get: function() {
|
|
590
|
+
return decodeJsonResult;
|
|
591
|
+
}
|
|
592
|
+
});
|
|
593
|
+
Object.defineProperty(exports, "detailFromCause", {
|
|
594
|
+
enumerable: true,
|
|
595
|
+
get: function() {
|
|
596
|
+
return detailFromCause;
|
|
597
|
+
}
|
|
598
|
+
});
|
|
599
|
+
Object.defineProperty(exports, "firstNonEmptyLine", {
|
|
600
|
+
enumerable: true,
|
|
601
|
+
get: function() {
|
|
602
|
+
return firstNonEmptyLine;
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
Object.defineProperty(exports, "formatSchemaError", {
|
|
606
|
+
enumerable: true,
|
|
607
|
+
get: function() {
|
|
608
|
+
return formatSchemaError;
|
|
609
|
+
}
|
|
610
|
+
});
|
|
611
|
+
Object.defineProperty(exports, "fromLenientJson", {
|
|
612
|
+
enumerable: true,
|
|
613
|
+
get: function() {
|
|
614
|
+
return fromLenientJson;
|
|
615
|
+
}
|
|
616
|
+
});
|
|
617
|
+
Object.defineProperty(exports, "githubDiscovery", {
|
|
618
|
+
enumerable: true,
|
|
619
|
+
get: function() {
|
|
620
|
+
return githubDiscovery;
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
Object.defineProperty(exports, "gitlabDiscovery", {
|
|
624
|
+
enumerable: true,
|
|
625
|
+
get: function() {
|
|
626
|
+
return gitlabDiscovery;
|
|
627
|
+
}
|
|
628
|
+
});
|
|
629
|
+
Object.defineProperty(exports, "layer", {
|
|
630
|
+
enumerable: true,
|
|
631
|
+
get: function() {
|
|
632
|
+
return layer;
|
|
633
|
+
}
|
|
634
|
+
});
|
|
635
|
+
Object.defineProperty(exports, "makeBitbucketDiscovery", {
|
|
636
|
+
enumerable: true,
|
|
637
|
+
get: function() {
|
|
638
|
+
return makeBitbucketDiscovery;
|
|
639
|
+
}
|
|
640
|
+
});
|
|
641
|
+
Object.defineProperty(exports, "makeForgejoDiscovery", {
|
|
642
|
+
enumerable: true,
|
|
643
|
+
get: function() {
|
|
644
|
+
return makeForgejoDiscovery;
|
|
645
|
+
}
|
|
646
|
+
});
|
|
647
|
+
Object.defineProperty(exports, "parseSourceControlOwnerRef", {
|
|
648
|
+
enumerable: true,
|
|
649
|
+
get: function() {
|
|
650
|
+
return parseSourceControlOwnerRef;
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
Object.defineProperty(exports, "probeSourceControlProvider", {
|
|
654
|
+
enumerable: true,
|
|
655
|
+
get: function() {
|
|
656
|
+
return probeSourceControlProvider;
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
Object.defineProperty(exports, "refineUnknownRemoteProvider", {
|
|
660
|
+
enumerable: true,
|
|
661
|
+
get: function() {
|
|
662
|
+
return refineUnknownRemoteProvider;
|
|
663
|
+
}
|
|
664
|
+
});
|
|
665
|
+
Object.defineProperty(exports, "sourceBranch", {
|
|
666
|
+
enumerable: true,
|
|
667
|
+
get: function() {
|
|
668
|
+
return sourceBranch;
|
|
669
|
+
}
|
|
670
|
+
});
|
|
671
|
+
Object.defineProperty(exports, "sourceControlRefFromInput", {
|
|
672
|
+
enumerable: true,
|
|
673
|
+
get: function() {
|
|
674
|
+
return sourceControlRefFromInput;
|
|
675
|
+
}
|
|
676
|
+
});
|