@dylanpiercey/work 0.0.89 → 0.0.91
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/{_BaBpI2_Z.js → _C_ZBgO7_.js} +27 -15
- package/dist/{_BNW7lzU5.js → _DWAnBXsO.js} +70 -70
- package/dist/index.mjs +1053 -608
- package/dist/public/assets/{_D-TNzqKE.js → _0U59zJUz.js} +1 -1
- package/dist/public/assets/_0U59zJUz.js.br +0 -0
- package/dist/public/assets/{_Dh-sLvqG.js → _4MFVuOce.js} +1 -1
- package/dist/public/assets/_4MFVuOce.js.br +0 -0
- package/dist/public/assets/{_BPi2-dgs.js → _5hwLq2GH.js} +1 -1
- package/dist/public/assets/_5hwLq2GH.js.br +0 -0
- package/dist/public/assets/{_Df4cvc6C.js → _9th6P7LB.js} +1 -1
- package/dist/public/assets/_9th6P7LB.js.br +0 -0
- package/dist/public/assets/{_jpL592Mp.js → _B1PdYMXj.js} +1 -1
- package/dist/public/assets/_B1PdYMXj.js.br +0 -0
- package/dist/public/assets/{_nxQ7vB0v2.js → _B1l2to3W2.js} +1 -1
- package/dist/public/assets/_B1l2to3W2.js.br +0 -0
- package/dist/public/assets/{_CuWbP_-M.js → _B47M2_E2.js} +1 -1
- package/dist/public/assets/_B47M2_E2.js.br +0 -0
- package/dist/public/assets/{_CCnllILq.js → _B5nVsEO7.js} +1 -1
- package/dist/public/assets/_B5nVsEO7.js.br +0 -0
- package/dist/public/assets/{_CBEk-f702.js → _BCRUYzYR2.js} +1 -1
- package/dist/public/assets/_BCRUYzYR2.js.br +0 -0
- package/dist/public/assets/{_CJVn7QPr2.js → _BDdxYfg22.js} +1 -1
- package/dist/public/assets/{_DLlzUjC4.js → _BHXSbGv5.js} +1 -1
- package/dist/public/assets/{_68NBnRBw.js → _BJ6xcj15.js} +1 -1
- package/dist/public/assets/_BJ6xcj15.js.br +0 -0
- package/dist/public/assets/{_Czc_uzvi.js → _BKVXSOII.js} +1 -1
- package/dist/public/assets/_BKVXSOII.js.br +0 -0
- package/dist/public/assets/{_BEjvKyQl.js → _BO9TT4HF.js} +1 -1
- package/dist/public/assets/_BO9TT4HF.js.br +0 -0
- package/dist/public/assets/{_BTrntntO.js → _BTvtbYr4.js} +1 -1
- package/dist/public/assets/_BTvtbYr4.js.br +0 -0
- package/dist/public/assets/{_Bj9cNmYh.js → _BZkYY3K6.js} +1 -1
- package/dist/public/assets/_BZkYY3K6.js.br +0 -0
- package/dist/public/assets/{_7gm8mq-M2.js → _B__m0-au2.js} +1 -1
- package/dist/public/assets/_B__m0-au2.js.br +0 -0
- package/dist/public/assets/{_BaV_r0KE.js → _BcI1MQaj.js} +1 -1
- package/dist/public/assets/_BcI1MQaj.js.br +0 -0
- package/dist/public/assets/{_DoPX7h422.js → _BhH6Vf1I2.js} +1 -1
- package/dist/public/assets/_BhH6Vf1I2.js.br +0 -0
- package/dist/public/assets/{_DPcFZ9y5.js → _BpH_GNWO.js} +1 -1
- package/dist/public/assets/_BpH_GNWO.js.br +0 -0
- package/dist/public/assets/{_BbRXjU8u.js → _BpvLawI8.js} +1 -1
- package/dist/public/assets/_BpvLawI8.js.br +0 -0
- package/dist/public/assets/{_DMM-d_n4.js → _Btib1Grb.js} +6 -6
- package/dist/public/assets/_Btib1Grb.js.br +0 -0
- package/dist/public/assets/{_DUv8q83I.js → _Bv4Bd6iM.js} +1 -1
- package/dist/public/assets/_Bv4Bd6iM.js.br +0 -0
- package/dist/public/assets/{_C5ArZ6tM2.js → _BxNkF6Fm2.js} +1 -1
- package/dist/public/assets/_BxNkF6Fm2.js.br +0 -0
- package/dist/public/assets/{__FHdvvoU.js → _Bxk7ict1.js} +1 -1
- package/dist/public/assets/_Bxk7ict1.js.br +0 -0
- package/dist/public/assets/{_CZlD9KhN.js → _By0uOG1b.js} +1 -1
- package/dist/public/assets/_By0uOG1b.js.br +0 -0
- package/dist/public/assets/{_DHKGemnb2.js → _BymS2Asd2.js} +1 -1
- package/dist/public/assets/_BymS2Asd2.js.br +0 -0
- package/dist/public/assets/{_CXvlT_ey.js → _C0R7gKGB.js} +1 -1
- package/dist/public/assets/_C0R7gKGB.js.br +0 -0
- package/dist/public/assets/{_DYjLnTZb2.js → _C4EHNcOe2.js} +1 -1
- package/dist/public/assets/_C4EHNcOe2.js.br +0 -0
- package/dist/public/assets/{_CHfbuaf42.js → _C81Givkg2.js} +1 -1
- package/dist/public/assets/_C81Givkg2.js.br +0 -0
- package/dist/public/assets/{_M3-QzOcT.js → _CFmM_OT1.js} +1 -1
- package/dist/public/assets/_CFmM_OT1.js.br +0 -0
- package/dist/public/assets/{_DapQP84P2.js → _CKgWIiOt2.js} +1 -1
- package/dist/public/assets/_CKgWIiOt2.js.br +0 -0
- package/dist/public/assets/{_B7p4f0NK.js → _CMzV9b8B.js} +1 -1
- package/dist/public/assets/_CMzV9b8B.js.br +0 -0
- package/dist/public/assets/{_DLFXdzdD.js → _CPiqUDDy.js} +1 -1
- package/dist/public/assets/_CPiqUDDy.js.br +0 -0
- package/dist/public/assets/{_DLnZn5vf.js → _CS052Ucq.js} +20 -20
- package/dist/public/assets/_CS052Ucq.js.br +0 -0
- package/dist/public/assets/{_B9UAz-r-2.js → _CSpkcUjh2.js} +1 -1
- package/dist/public/assets/_CSpkcUjh2.js.br +0 -0
- package/dist/public/assets/{_BFlZZV-0.js → _CUvcmgdP.js} +1 -1
- package/dist/public/assets/_CUvcmgdP.js.br +0 -0
- package/dist/public/assets/{_CZwFYO2Z2.js → _C_aTh2522.js} +1 -1
- package/dist/public/assets/_C_aTh2522.js.br +0 -0
- package/dist/public/assets/{_QW8ME1h1.js → _Ccn42CEK.js} +1 -1
- package/dist/public/assets/_Ccn42CEK.js.br +0 -0
- package/dist/public/assets/{_DBZliThN2.js → _ChytUZvv2.js} +1 -1
- package/dist/public/assets/_ChytUZvv2.js.br +0 -0
- package/dist/public/assets/{_q80G7tDX2.js → _Cj7Uk97l2.js} +1 -1
- package/dist/public/assets/_Cj7Uk97l2.js.br +0 -0
- package/dist/public/assets/{_CqYgTZl02.js → _CjVBlSfy2.js} +1 -1
- package/dist/public/assets/_CjVBlSfy2.js.br +0 -0
- package/dist/public/assets/{_BSySd27S.js → _CjVD9WF4.js} +1 -1
- package/dist/public/assets/_CjVD9WF4.js.br +0 -0
- package/dist/public/assets/{_B0EHPDCY.js → _CuMN4b-0.js} +1 -1
- package/dist/public/assets/_CuMN4b-0.js.br +0 -0
- package/dist/public/assets/{_wl9V6Cj_.js → _CxZjewAb.js} +1 -1
- package/dist/public/assets/_CxZjewAb.js.br +0 -0
- package/dist/public/assets/{_mmUZxMmq.js → _D-wSazJF.js} +1 -1
- package/dist/public/assets/_D-wSazJF.js.br +0 -0
- package/dist/public/assets/{_eEsY8spY.js → _D4bPDD54.js} +1 -1
- package/dist/public/assets/_D4bPDD54.js.br +0 -0
- package/dist/public/assets/{_B0VinNA_.js → _D7rMA7Ee.js} +1 -1
- package/dist/public/assets/_D7rMA7Ee.js.br +0 -0
- package/dist/public/assets/{_C4R1AZ7T.js → _D8Nb0E5n.js} +1 -1
- package/dist/public/assets/_D8Nb0E5n.js.br +0 -0
- package/dist/public/assets/{_rNEbZj3_.js → _DC2u87q6.js} +1 -1
- package/dist/public/assets/_DC2u87q6.js.br +0 -0
- package/dist/public/assets/{_CHeP2N572.js → _DFwSVkTH2.js} +1 -1
- package/dist/public/assets/_DFwSVkTH2.js.br +0 -0
- package/dist/public/assets/{_BJYOVEXV.js → _DKrfX_Lr.js} +1 -1
- package/dist/public/assets/_DKrfX_Lr.js.br +0 -0
- package/dist/public/assets/{_3ApHfAFB.js → _DLS-FteL.js} +1 -1
- package/dist/public/assets/_DLS-FteL.js.br +0 -0
- package/dist/public/assets/{_CsOY40Tj.js → _DVRuxWUw.js} +1 -1
- package/dist/public/assets/_DVRuxWUw.js.br +0 -0
- package/dist/public/assets/{_gDwVQCtN.js → _DezSJD4X.js} +1 -1
- package/dist/public/assets/_DezSJD4X.js.br +0 -0
- package/dist/public/assets/{_6nUxgGxb.js → _DfanBg_-.js} +1 -1
- package/dist/public/assets/_DfanBg_-.js.br +0 -0
- package/dist/public/assets/{_D2AcgzVt.js → _DfyhPBNC.js} +1 -1
- package/dist/public/assets/_DfyhPBNC.js.br +7 -0
- package/dist/public/assets/{_DVtMOg1P.js → _DgTwJOzV.js} +1 -1
- package/dist/public/assets/_DgTwJOzV.js.br +0 -0
- package/dist/public/assets/{_CJ4R3Xhd.js → _DjyLCiwz.js} +1 -1
- package/dist/public/assets/_DjyLCiwz.js.br +0 -0
- package/dist/public/assets/{_wK2y6faT2.js → _DnTnF7qV2.js} +1 -1
- package/dist/public/assets/_DnTnF7qV2.js.br +0 -0
- package/dist/public/assets/{_BogP78ys.js → _DtVjXhGi.js} +1 -1
- package/dist/public/assets/_DtVjXhGi.js.br +0 -0
- package/dist/public/assets/{_Dz-CLezO2.js → _Dvwf0Qjr2.js} +1 -1
- package/dist/public/assets/_Dvwf0Qjr2.js.br +0 -0
- package/dist/public/assets/{_C-3zDLjM.js → _Dw686Grs.js} +1 -1
- package/dist/public/assets/_Dw686Grs.js.br +0 -0
- package/dist/public/assets/{_BL2BsfGC.js → _EKxr0Pk6.js} +1 -1
- package/dist/public/assets/_EKxr0Pk6.js.br +0 -0
- package/dist/public/assets/{_D62vus3Y.js → _H2EMk3sR.js} +1 -1
- package/dist/public/assets/_H2EMk3sR.js.br +0 -0
- package/dist/public/assets/{_wVj_AaSO2.js → __ji2OfDR2.js} +1 -1
- package/dist/public/assets/__ji2OfDR2.js.br +0 -0
- package/dist/public/assets/{_Crd8NEGi.js → _axfy2ci4.js} +1 -1
- package/dist/public/assets/_axfy2ci4.js.br +0 -0
- package/dist/public/assets/{_B09NjUR4.js → _gpwHwzTz.js} +1 -1
- package/dist/public/assets/_gpwHwzTz.js.br +0 -0
- package/dist/public/assets/{_CeHIw9_Z2.js → _iOsRP2432.js} +1 -1
- package/dist/public/assets/_iOsRP2432.js.br +0 -0
- package/dist/public/assets/{_B4Pr9Te92.js → _jNzrKWN72.js} +1 -1
- package/dist/public/assets/_jNzrKWN72.js.br +0 -0
- package/dist/public/assets/{_D8a3k14z2.js → _jl7SJGL42.js} +1 -1
- package/dist/public/assets/_jl7SJGL42.js.br +0 -0
- package/dist/public/assets/{_DLnnHpAM2.js → _kFsV7DDO2.js} +1 -1
- package/dist/public/assets/_kFsV7DDO2.js.br +0 -0
- package/dist/public/assets/{_DdN-JTu5.js → _mkz0gZxI.js} +1 -1
- package/dist/public/assets/_mkz0gZxI.js.br +0 -0
- package/dist/public/assets/{_BVl-sPkB.js → _oTAPJGK3.js} +1 -1
- package/dist/public/assets/_oTAPJGK3.js.br +0 -0
- package/dist/public/assets/{_CUNBYPpl2.js → _rGCA2okb2.js} +1 -1
- package/dist/public/assets/{_Csr0JoJi.js → _rKTMTs__.js} +1 -1
- package/dist/public/assets/_rKTMTs__.js.br +0 -0
- package/dist/public/assets/app-page-C3FxPnzd.css +1 -0
- package/dist/public/assets/app-page-C3FxPnzd.css.br +0 -0
- package/dist/public/assets/diff-view-D7ApUcje.css +1 -0
- package/dist/public/assets/diff-view-D7ApUcje.css.br +0 -0
- package/dist/public/assets/new-BFBAvSDQ.js +1 -0
- package/dist/public/assets/settings-BFBAvSDQ.js +1 -0
- package/dist/public/assets/w-BFBAvSDQ.js +1 -0
- package/dist/public/assets/w._-BFBAvSDQ.js +1 -0
- package/dist/public/assets/w._-BW-aNPpR.js +1 -0
- package/lib/setup/doctor.d.mts +3 -0
- package/lib/setup/install.d.mts +1 -0
- package/lib/setup/install.mjs +11 -0
- package/package.json +1 -1
- package/dist/public/assets/_3ApHfAFB.js.br +0 -0
- package/dist/public/assets/_68NBnRBw.js.br +0 -0
- package/dist/public/assets/_6nUxgGxb.js.br +0 -0
- package/dist/public/assets/_7gm8mq-M2.js.br +0 -0
- package/dist/public/assets/_B09NjUR4.js.br +0 -0
- package/dist/public/assets/_B0EHPDCY.js.br +0 -0
- package/dist/public/assets/_B0VinNA_.js.br +0 -0
- package/dist/public/assets/_B4Pr9Te92.js.br +0 -0
- package/dist/public/assets/_B7p4f0NK.js.br +0 -0
- package/dist/public/assets/_B9UAz-r-2.js.br +0 -0
- package/dist/public/assets/_BEjvKyQl.js.br +0 -0
- package/dist/public/assets/_BFlZZV-0.js.br +0 -0
- package/dist/public/assets/_BJYOVEXV.js.br +0 -0
- package/dist/public/assets/_BL2BsfGC.js.br +0 -0
- package/dist/public/assets/_BPi2-dgs.js.br +0 -0
- package/dist/public/assets/_BSySd27S.js.br +0 -0
- package/dist/public/assets/_BTrntntO.js.br +0 -0
- package/dist/public/assets/_BVl-sPkB.js.br +0 -0
- package/dist/public/assets/_BaV_r0KE.js.br +0 -0
- package/dist/public/assets/_BbRXjU8u.js.br +0 -0
- package/dist/public/assets/_Bj9cNmYh.js.br +0 -0
- package/dist/public/assets/_BogP78ys.js.br +0 -0
- package/dist/public/assets/_C-3zDLjM.js.br +0 -0
- package/dist/public/assets/_C4R1AZ7T.js.br +0 -0
- package/dist/public/assets/_C5ArZ6tM2.js.br +0 -0
- package/dist/public/assets/_CBEk-f702.js.br +0 -0
- package/dist/public/assets/_CCnllILq.js.br +0 -0
- package/dist/public/assets/_CHeP2N572.js.br +0 -0
- package/dist/public/assets/_CHfbuaf42.js.br +0 -0
- package/dist/public/assets/_CJ4R3Xhd.js.br +0 -0
- package/dist/public/assets/_CXvlT_ey.js.br +0 -0
- package/dist/public/assets/_CZlD9KhN.js.br +0 -0
- package/dist/public/assets/_CZwFYO2Z2.js.br +0 -0
- package/dist/public/assets/_CeHIw9_Z2.js.br +0 -0
- package/dist/public/assets/_CqYgTZl02.js.br +0 -0
- package/dist/public/assets/_Crd8NEGi.js.br +0 -0
- package/dist/public/assets/_CsOY40Tj.js.br +0 -0
- package/dist/public/assets/_Csr0JoJi.js.br +0 -0
- package/dist/public/assets/_CuWbP_-M.js.br +0 -0
- package/dist/public/assets/_Czc_uzvi.js.br +0 -0
- package/dist/public/assets/_D-TNzqKE.js.br +0 -0
- package/dist/public/assets/_D2AcgzVt.js.br +0 -0
- package/dist/public/assets/_D62vus3Y.js.br +0 -0
- package/dist/public/assets/_D8a3k14z2.js.br +0 -0
- package/dist/public/assets/_DBZliThN2.js.br +0 -0
- package/dist/public/assets/_DHKGemnb2.js.br +0 -0
- package/dist/public/assets/_DLFXdzdD.js.br +0 -0
- package/dist/public/assets/_DLnZn5vf.js.br +0 -0
- package/dist/public/assets/_DLnnHpAM2.js.br +0 -0
- package/dist/public/assets/_DMM-d_n4.js.br +0 -0
- package/dist/public/assets/_DPcFZ9y5.js.br +0 -0
- package/dist/public/assets/_DUv8q83I.js.br +0 -0
- package/dist/public/assets/_DVtMOg1P.js.br +0 -0
- package/dist/public/assets/_DYjLnTZb2.js.br +0 -0
- package/dist/public/assets/_DapQP84P2.js.br +0 -0
- package/dist/public/assets/_DdN-JTu5.js.br +0 -0
- package/dist/public/assets/_Df4cvc6C.js.br +0 -0
- package/dist/public/assets/_Dh-sLvqG.js.br +0 -0
- package/dist/public/assets/_DoPX7h422.js.br +0 -0
- package/dist/public/assets/_Dz-CLezO2.js.br +0 -0
- package/dist/public/assets/_M3-QzOcT.js.br +0 -0
- package/dist/public/assets/_QW8ME1h1.js.br +0 -0
- package/dist/public/assets/__FHdvvoU.js.br +0 -0
- package/dist/public/assets/_eEsY8spY.js.br +0 -0
- package/dist/public/assets/_gDwVQCtN.js.br +0 -0
- package/dist/public/assets/_jpL592Mp.js.br +0 -0
- package/dist/public/assets/_mmUZxMmq.js.br +0 -0
- package/dist/public/assets/_nxQ7vB0v2.js.br +0 -0
- package/dist/public/assets/_q80G7tDX2.js.br +0 -0
- package/dist/public/assets/_rNEbZj3_.js.br +0 -0
- package/dist/public/assets/_wK2y6faT2.js.br +0 -0
- package/dist/public/assets/_wVj_AaSO2.js.br +0 -0
- package/dist/public/assets/_wl9V6Cj_.js.br +0 -0
- package/dist/public/assets/app-page-DJ2ivnX8.css +0 -1
- package/dist/public/assets/app-page-DJ2ivnX8.css.br +0 -0
- package/dist/public/assets/diff-view-BGH4FQ_a.css +0 -1
- package/dist/public/assets/diff-view-BGH4FQ_a.css.br +0 -0
- package/dist/public/assets/new-CBB1WWUj.js +0 -1
- package/dist/public/assets/settings-CBB1WWUj.js +0 -1
- package/dist/public/assets/w-CBB1WWUj.js +0 -1
- package/dist/public/assets/w._-CBB1WWUj.js +0 -1
- package/dist/public/assets/w._-DYgthMaF.js +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "./_BMI-E3GI.js";
|
|
2
2
|
import { $ as setSetting, A as setScrapedPhase, B as saveSubscription, C as agentBadge, D as agentMeta, E as agentLabel, F as manifest, G as agentChoices, H as subscribe, I as normalizeAccent, J as enabledAgents, K as allPrefs, L as setInstance, M as ACCENT_RE, N as getInstance, O as clearAgentPhase, P as iconSvg, Q as setPref, R as deleteSubscription, S as blankRow, T as agentFromCommand, U as subscriberCount, V as publish, W as subscriberJoins, X as preferredAgent, Y as getSetting, Z as setDisabledAgents, _ as tmuxName, _t as tmux, a as ensureTmuxServer, at as DEFAULT_GITHUB_HOST, b as readHookPayload, c as killWorkspaceSessions, ct as toolById, d as newSessionArgs, dt as get, et as doctor, ft as workspacePath, g as sessionStates, gt as run, h as sendToSession, ht as git, i as disposeSessions, it as which, j as setSessionViewers, k as setAgentPhase, l as listSessions, lt as all, m as renameSession, mt as gh, n as clearTmuxStarted, nt as miseVersions, o as getSession, ot as TOOLS, p as panePids, pt as TMUX_SOCKET, q as disabledAgents, r as createSession, rt as setupPath, s as killSession, st as agentById, t as cleanEnv, tt as ghKnownHosts, u as markTmuxStarted, ut as db, v as tmuxWasStarted, vt as config, w as agentFamily, x as reportsWorking, y as AGENTS, z as pushPublicKey } from "./_BdPU13C_.js";
|
|
3
|
-
import { $ as
|
|
3
|
+
import { $ as _content_resume, A as setPrimaryHost, At as attrTag, B as $global, C as workspaceTab, Ct as _set_serialize_reason, D as parseRepoUrl, Dt as _trailers, E as icon_base_default, Et as _to_text, F as iconBtnXs, G as _attr_option_value, H as _attr_class, I as inputLg, J as _attr_style, K as _attr_or, L as metaTrunc, M as btnSm, Mt as writeScope, O as repoLabel, Ot as _try, P as iconBtnRow, Q as _content, R as phase, S as theme, St as _serialize_if, T as icon_xmark_default, Tt as _template, V as _attr, W as _attr_input_value, X as _attrs_partial, Y as _attrs, Z as _await, _t as _scope_reason, a as rankRepos, at as _existing_scope, b as setWorkspaceTab, bt as _sep, c as icon_refresh_default, ct as _hoist, d as sectionCount$1, dt as _id, et as _dynamic_tag, ft as _if, g as ignoredSsoOrgs, gt as _scope_id, ht as _resume_branch, it as _escape, j as btnLg, jt as withPageAssets, k as repoWebUrl$1, kt as _var, l as iconBtn$2, lt as _hoist_read_error, mt as _resume, n as findInput, nt as _el_read_error, o as icon_search_default, ot as _flush_head, pt as _peek_scope_id, q as _attr_select_value, r as icon_sidebar_default, rt as _el_resume, s as icon_back_default, st as _for_of, t as findIconBtn, u as row, ut as _html, vt as _scope_with_id, w as toast_default, wt as _subscribe, x as sideNavOpen, xt as _serialize_guard, y as setTheme, yt as _script, z as tone } from "./_C_ZBgO7_.js";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import { createServer } from "node:http";
|
|
6
6
|
import path from "node:path";
|
|
@@ -1562,14 +1562,16 @@ var cachePath = (host) => path.join(config.dataDir, host === DEFAULT_HOST ? "rep
|
|
|
1562
1562
|
*/
|
|
1563
1563
|
async function repoCatalog(refresh = false) {
|
|
1564
1564
|
const hosts = configuredHosts();
|
|
1565
|
-
const parts = await Promise.all(hosts.map((host) => catalog(host, refresh).catch(() => {
|
|
1565
|
+
const [parts, ssoParts] = await Promise.all([Promise.all(hosts.map((host) => catalog(host, refresh).catch(() => {
|
|
1566
1566
|
if (host === DEFAULT_HOST && refresh) throw new Error(`gh repo listing failed`);
|
|
1567
1567
|
return catalog.get(host) ?? null;
|
|
1568
|
-
})));
|
|
1568
|
+
}))), Promise.all(hosts.map((host) => pendingSsoOrgs(host, refresh).catch(() => [])))]);
|
|
1569
1569
|
const repos = parts.flatMap((c) => c?.repos ?? []);
|
|
1570
|
+
const sso = dedupeSso(ssoParts.flat());
|
|
1570
1571
|
return {
|
|
1571
1572
|
fetchedAt: Math.min(...parts.map((c) => c?.fetchedAt ?? Date.now())),
|
|
1572
|
-
repos: repos.sort((a, b) => a.nameWithOwner.localeCompare(b.nameWithOwner))
|
|
1573
|
+
repos: repos.sort((a, b) => a.nameWithOwner.localeCompare(b.nameWithOwner)),
|
|
1574
|
+
...sso.length ? { sso } : {}
|
|
1573
1575
|
};
|
|
1574
1576
|
}
|
|
1575
1577
|
var catalog = swr(TTL_MS$3, fetchCatalog, readDiskCache);
|
|
@@ -1586,6 +1588,109 @@ function readDiskCache(host) {
|
|
|
1586
1588
|
return;
|
|
1587
1589
|
}
|
|
1588
1590
|
}
|
|
1591
|
+
var LIST_FIELDS = "nameWithOwner,defaultBranchRef,isArchived,parent";
|
|
1592
|
+
var LIST_FIELDS_NO_PARENT = "nameWithOwner,defaultBranchRef,isArchived";
|
|
1593
|
+
/** Orgs that still need SAML SSO for this host's gh token. Memberships
|
|
1594
|
+
* list them even when unauthorized; probing `orgs/<login>` yields the
|
|
1595
|
+
* authorize URL via `X-GitHub-SSO`. URLs expire (~1h) — short TTL only. */
|
|
1596
|
+
var ssoCache = swr(6e4, (host) => probePendingSso(host));
|
|
1597
|
+
function pendingSsoOrgs(host, refresh = false) {
|
|
1598
|
+
return ssoCache(host, refresh);
|
|
1599
|
+
}
|
|
1600
|
+
async function probePendingSso(host) {
|
|
1601
|
+
const logins = (await gh([
|
|
1602
|
+
"api",
|
|
1603
|
+
"user/memberships/orgs",
|
|
1604
|
+
"--jq",
|
|
1605
|
+
".[].organization.login"
|
|
1606
|
+
], host).catch(() => "")).split("\n").filter(Boolean);
|
|
1607
|
+
return (await Promise.all(logins.map(async (org) => {
|
|
1608
|
+
const { out } = await ghCapture([
|
|
1609
|
+
"api",
|
|
1610
|
+
`orgs/${org}`,
|
|
1611
|
+
"--include"
|
|
1612
|
+
], host);
|
|
1613
|
+
return parseSsoRequired(out, org, host);
|
|
1614
|
+
}))).filter((x) => !!x);
|
|
1615
|
+
}
|
|
1616
|
+
/** Run gh and keep stdout/stderr even when it exits non-zero — needed for
|
|
1617
|
+
* `gh api --include` SAML 403s that put `X-GitHub-SSO` on stdout. */
|
|
1618
|
+
async function ghCapture(args, host) {
|
|
1619
|
+
try {
|
|
1620
|
+
return {
|
|
1621
|
+
ok: true,
|
|
1622
|
+
out: await gh(args, host)
|
|
1623
|
+
};
|
|
1624
|
+
} catch (err) {
|
|
1625
|
+
const e = err;
|
|
1626
|
+
return {
|
|
1627
|
+
ok: false,
|
|
1628
|
+
out: [
|
|
1629
|
+
e.stdout,
|
|
1630
|
+
e.stderr,
|
|
1631
|
+
e.message
|
|
1632
|
+
].filter(Boolean).join("\n")
|
|
1633
|
+
};
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
/** Pull org + authorize URL from an `X-GitHub-SSO` header or error body. */
|
|
1637
|
+
function parseSsoRequired(text, fallbackOrg, host) {
|
|
1638
|
+
const header = /^x-github-sso:\s*required;\s*url=(\S+)/im.exec(text);
|
|
1639
|
+
const fromBody = /https:\/\/[^\s"'<>]+\/orgs\/[^/\s"'<>]+\/sso\?authorization_request=[^\s"'<>]+/i.exec(text)?.[0];
|
|
1640
|
+
const raw = header?.[1] || fromBody;
|
|
1641
|
+
if (!raw) return null;
|
|
1642
|
+
const authorizeUrl = raw.replace(/[.,);\]}>]+$/g, "");
|
|
1643
|
+
const org = /\/orgs\/([^/]+)\/sso/i.exec(authorizeUrl)?.[1] || fallbackOrg;
|
|
1644
|
+
if (!org) return null;
|
|
1645
|
+
return {
|
|
1646
|
+
org,
|
|
1647
|
+
host,
|
|
1648
|
+
authorizeUrl
|
|
1649
|
+
};
|
|
1650
|
+
}
|
|
1651
|
+
function dedupeSso(items) {
|
|
1652
|
+
const byOrg = /* @__PURE__ */ new Map();
|
|
1653
|
+
for (const item of items) byOrg.set(item.org, item);
|
|
1654
|
+
return [...byOrg.values()].sort((a, b) => a.org.localeCompare(b.org));
|
|
1655
|
+
}
|
|
1656
|
+
/** One owner's repos. Prefer including `parent`; when a fork's upstream is
|
|
1657
|
+
* behind org SAML that the OAuth token has not authorized, GraphQL fails
|
|
1658
|
+
* the *whole* list — retry without `parent` rather than treating the
|
|
1659
|
+
* owner as unlistable (which would fail an explicit catalog refresh). */
|
|
1660
|
+
async function listOwnerRepos(host, owner) {
|
|
1661
|
+
const args = (fields) => [
|
|
1662
|
+
"repo",
|
|
1663
|
+
"list",
|
|
1664
|
+
...owner ? [owner] : [],
|
|
1665
|
+
"--limit",
|
|
1666
|
+
"500",
|
|
1667
|
+
"--json",
|
|
1668
|
+
fields
|
|
1669
|
+
];
|
|
1670
|
+
try {
|
|
1671
|
+
const out = await gh(args(LIST_FIELDS), host);
|
|
1672
|
+
return {
|
|
1673
|
+
repos: JSON.parse(out),
|
|
1674
|
+
parents: true,
|
|
1675
|
+
partial: false
|
|
1676
|
+
};
|
|
1677
|
+
} catch (err) {
|
|
1678
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
1679
|
+
if (/SAML enforcement|protected by organization/i.test(msg)) try {
|
|
1680
|
+
const out = await gh(args(LIST_FIELDS_NO_PARENT), host);
|
|
1681
|
+
return {
|
|
1682
|
+
repos: JSON.parse(out),
|
|
1683
|
+
parents: false,
|
|
1684
|
+
partial: false
|
|
1685
|
+
};
|
|
1686
|
+
} catch {}
|
|
1687
|
+
return {
|
|
1688
|
+
repos: [],
|
|
1689
|
+
parents: true,
|
|
1690
|
+
partial: true
|
|
1691
|
+
};
|
|
1692
|
+
}
|
|
1693
|
+
}
|
|
1589
1694
|
async function fetchCatalog(host) {
|
|
1590
1695
|
let partial = false;
|
|
1591
1696
|
const orgs = (await gh([
|
|
@@ -1597,25 +1702,18 @@ async function fetchCatalog(host) {
|
|
|
1597
1702
|
partial = true;
|
|
1598
1703
|
return "";
|
|
1599
1704
|
})).split("\n").filter(Boolean);
|
|
1600
|
-
const lists = await Promise.all([void 0, ...orgs].map((owner) =>
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
"500",
|
|
1606
|
-
"--json",
|
|
1607
|
-
"nameWithOwner,defaultBranchRef,isArchived,parent"
|
|
1608
|
-
], host).catch(() => {
|
|
1609
|
-
partial = true;
|
|
1610
|
-
return "[]";
|
|
1611
|
-
})));
|
|
1705
|
+
const lists = await Promise.all([void 0, ...orgs].map(async (owner) => {
|
|
1706
|
+
const listed = await listOwnerRepos(host, owner);
|
|
1707
|
+
if (listed.partial) partial = true;
|
|
1708
|
+
return listed;
|
|
1709
|
+
}));
|
|
1612
1710
|
const byName = /* @__PURE__ */ new Map();
|
|
1613
|
-
for (const
|
|
1711
|
+
for (const { repos: rows, parents } of lists) for (const r of rows) byName.set(r.nameWithOwner, {
|
|
1614
1712
|
nameWithOwner: joinRepo(host, r.nameWithOwner),
|
|
1615
1713
|
host,
|
|
1616
1714
|
defaultBranch: r.defaultBranchRef?.name || "main",
|
|
1617
1715
|
isArchived: !!r.isArchived,
|
|
1618
|
-
parent: r.parent ? joinRepo(host, `${r.parent.owner.login}/${r.parent.name}`) : null
|
|
1716
|
+
parent: !parents ? void 0 : r.parent ? joinRepo(host, `${r.parent.owner.login}/${r.parent.name}`) : null
|
|
1619
1717
|
});
|
|
1620
1718
|
const repos = [...byName.values()].sort((a, b) => a.nameWithOwner.localeCompare(b.nameWithOwner));
|
|
1621
1719
|
const catalog = {
|
|
@@ -2310,7 +2408,7 @@ async function addWorkspaceWorktree(bare, dest, branch, base) {
|
|
|
2310
2408
|
}
|
|
2311
2409
|
const label = path.basename(dest);
|
|
2312
2410
|
if (!baseOid) {
|
|
2313
|
-
if (await remoteHasHeads(bare)) throw new Error(`missing ${baseRef} after fetch`);
|
|
2411
|
+
if (await remoteHasHeads$1(bare)) throw new Error(`missing ${baseRef} after fetch`);
|
|
2314
2412
|
progress$1(`Adding empty worktree ${label}/…`);
|
|
2315
2413
|
await git([
|
|
2316
2414
|
"worktree",
|
|
@@ -2360,7 +2458,7 @@ async function addWorkspaceWorktree(bare, dest, branch, base) {
|
|
|
2360
2458
|
}
|
|
2361
2459
|
/** Any `refs/remotes/origin/<branch>` tip — not `origin/HEAD`, which can
|
|
2362
2460
|
* exist as a symref even when the pointed-to branch has no commits yet. */
|
|
2363
|
-
async function remoteHasHeads(bare) {
|
|
2461
|
+
async function remoteHasHeads$1(bare) {
|
|
2364
2462
|
return (await git([
|
|
2365
2463
|
"for-each-ref",
|
|
2366
2464
|
"--format=%(refname)",
|
|
@@ -2683,6 +2781,35 @@ async function authGithub(host, { interactive = false, ...opts } = {}) {
|
|
|
2683
2781
|
}
|
|
2684
2782
|
});
|
|
2685
2783
|
}
|
|
2784
|
+
/** Re-authorize an existing gh login (device flow). Needed after an org
|
|
2785
|
+
* enables SAML: visiting the X-GitHub-SSO link only signs the browser into
|
|
2786
|
+
* the IdP, while `auth refresh` re-issues the OAuth token with org SSO. */
|
|
2787
|
+
async function refreshGithub(host, { interactive = false, ...opts } = {}) {
|
|
2788
|
+
if (!which("gh")) throw new Error("gh is not installed");
|
|
2789
|
+
const args = [
|
|
2790
|
+
"auth",
|
|
2791
|
+
"refresh",
|
|
2792
|
+
"--hostname",
|
|
2793
|
+
host
|
|
2794
|
+
];
|
|
2795
|
+
const env = {
|
|
2796
|
+
...opts.env,
|
|
2797
|
+
BROWSER: "true"
|
|
2798
|
+
};
|
|
2799
|
+
if (interactive) return runStreaming("gh", args, {
|
|
2800
|
+
...opts,
|
|
2801
|
+
env,
|
|
2802
|
+
interactive: true
|
|
2803
|
+
});
|
|
2804
|
+
return runStreaming("gh", args, {
|
|
2805
|
+
...opts,
|
|
2806
|
+
input: "\n",
|
|
2807
|
+
env: {
|
|
2808
|
+
...env,
|
|
2809
|
+
GH_PROMPT_DISABLED: "1"
|
|
2810
|
+
}
|
|
2811
|
+
});
|
|
2812
|
+
}
|
|
2686
2813
|
/** Sign out of a GitHub host (drops gh's token; the host stays listed). */
|
|
2687
2814
|
async function logoutGithub(host, opts = {}) {
|
|
2688
2815
|
if (!which("gh")) throw new Error("gh is not installed");
|
|
@@ -2758,8 +2885,20 @@ async function getSetup(refresh = false) {
|
|
|
2758
2885
|
enabled: !off.has(i.id)
|
|
2759
2886
|
}))
|
|
2760
2887
|
}));
|
|
2888
|
+
const github = await Promise.all(d.github.map(async (h) => {
|
|
2889
|
+
if (!h.authed) return h;
|
|
2890
|
+
const sso = await pendingSsoOrgs(h.host, refresh).catch(() => []);
|
|
2891
|
+
return sso.length ? {
|
|
2892
|
+
...h,
|
|
2893
|
+
sso
|
|
2894
|
+
} : {
|
|
2895
|
+
...h,
|
|
2896
|
+
sso: void 0
|
|
2897
|
+
};
|
|
2898
|
+
}));
|
|
2761
2899
|
return {
|
|
2762
2900
|
...d,
|
|
2901
|
+
github,
|
|
2763
2902
|
tools,
|
|
2764
2903
|
agents
|
|
2765
2904
|
};
|
|
@@ -2817,7 +2956,7 @@ function withLock(key, fn) {
|
|
|
2817
2956
|
*/
|
|
2818
2957
|
async function runSetupAction(id, action, opts = {}) {
|
|
2819
2958
|
const log = (line) => progress$1(line);
|
|
2820
|
-
const lockKey = action === "auth" || action === "logout" ? `auth:${id}` : "mise";
|
|
2959
|
+
const lockKey = action === "auth" || action === "auth-refresh" || action === "logout" ? `auth:${id}` : "mise";
|
|
2821
2960
|
await withProgressOp(`setup:${id}`, () => withLock(lockKey, async () => {
|
|
2822
2961
|
if (action === "auth") {
|
|
2823
2962
|
await authGithub(id, { log });
|
|
@@ -2825,6 +2964,12 @@ async function runSetupAction(id, action, opts = {}) {
|
|
|
2825
2964
|
await ensureGitCredentials(id);
|
|
2826
2965
|
return;
|
|
2827
2966
|
}
|
|
2967
|
+
if (action === "auth-refresh") {
|
|
2968
|
+
await refreshGithub(id, { log });
|
|
2969
|
+
forgetToken(id);
|
|
2970
|
+
await ensureGitCredentials(id);
|
|
2971
|
+
return;
|
|
2972
|
+
}
|
|
2828
2973
|
if (action === "logout") {
|
|
2829
2974
|
await logoutGithub(id, { log });
|
|
2830
2975
|
forgetToken(id);
|
|
@@ -3431,6 +3576,38 @@ function coalesce(fn) {
|
|
|
3431
3576
|
};
|
|
3432
3577
|
}
|
|
3433
3578
|
//#endregion
|
|
3579
|
+
//#region src/client/session.ts
|
|
3580
|
+
/** When an edge auth proxy (oauth2-proxy, Cloudflare Access, …) drops the
|
|
3581
|
+
* session, API fetches turn into login HTML and websocket upgrades fail.
|
|
3582
|
+
* A full reload is what users already do — and unlike a hardcoded
|
|
3583
|
+
* `/oauth2/sign_in` URL, it works for any hosting setup (or none). */
|
|
3584
|
+
var RELOAD_KEY = "work:auth-reload";
|
|
3585
|
+
var reloading = false;
|
|
3586
|
+
/** One reload per death episode. Cleared after a successful API call so a
|
|
3587
|
+
* later expiry can recover again; blocks loops if reload didn't help. */
|
|
3588
|
+
function reloadOnceForAuth() {
|
|
3589
|
+
if (typeof location === "undefined" || reloading) return;
|
|
3590
|
+
try {
|
|
3591
|
+
if (sessionStorage.getItem(RELOAD_KEY)) return;
|
|
3592
|
+
sessionStorage.setItem(RELOAD_KEY, "1");
|
|
3593
|
+
} catch {}
|
|
3594
|
+
reloading = true;
|
|
3595
|
+
location.reload();
|
|
3596
|
+
}
|
|
3597
|
+
/** Successful traffic means we're past any auth gate — allow a future reload. */
|
|
3598
|
+
function clearAuthReloadGuard() {
|
|
3599
|
+
try {
|
|
3600
|
+
sessionStorage.removeItem(RELOAD_KEY);
|
|
3601
|
+
} catch {}
|
|
3602
|
+
}
|
|
3603
|
+
/** True when a Response looks like an auth/proxy bounce instead of our JSON API. */
|
|
3604
|
+
function isAuthDeathResponse(res) {
|
|
3605
|
+
if (res.status === 401 || res.status === 403) return true;
|
|
3606
|
+
const ct = res.headers.get("content-type") || "";
|
|
3607
|
+
if (ct.includes("text/html") && !ct.includes("json")) return true;
|
|
3608
|
+
return false;
|
|
3609
|
+
}
|
|
3610
|
+
//#endregion
|
|
3434
3611
|
//#region src/client/theme.ts
|
|
3435
3612
|
var LIGHT_CHROME = "#fafafa";
|
|
3436
3613
|
var DARK_CHROME = "#131316";
|
|
@@ -3517,26 +3694,26 @@ function applyInstance(inst) {
|
|
|
3517
3694
|
}
|
|
3518
3695
|
//#endregion
|
|
3519
3696
|
//#region src/tags/settings-page.css.ts
|
|
3520
|
-
var content$2 = "_ca
|
|
3521
|
-
var agentGrid = "_ce
|
|
3522
|
-
var toolGrid = "_co
|
|
3697
|
+
var content$2 = "_ca _bk _bl";
|
|
3698
|
+
var agentGrid = "_ce _bv";
|
|
3699
|
+
var toolGrid = "_co _bv";
|
|
3523
3700
|
//#endregion
|
|
3524
3701
|
//#region src/tags/page-head.marko
|
|
3525
3702
|
var page_head_default = _template("q", (input) => {
|
|
3526
3703
|
const $scope0_reason = _scope_reason(), $sg__input_backHref__OR__input_onBack__OR__input_meta__OR__input_actions = _serialize_guard($scope0_reason, 3), $sg__input_meta = _serialize_guard($scope0_reason, 6), $sg__input_actions = _serialize_guard($scope0_reason, 7), $si__input_backHref__OR__input_onBack = _serialize_if($scope0_reason, 1), $si__input_meta = _serialize_if($scope0_reason, 6), $si__input_actions = _serialize_if($scope0_reason, 7);
|
|
3527
3704
|
const $scope0_id = _scope_id();
|
|
3528
|
-
_html(`<header${_attr_class("
|
|
3705
|
+
_html(`<header${_attr_class("_bm")}>`);
|
|
3529
3706
|
_if(() => {
|
|
3530
3707
|
if (input.backHref) {
|
|
3531
3708
|
const $scope1_id = _scope_id();
|
|
3532
|
-
_html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "
|
|
3709
|
+
_html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "_cR"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
|
|
3533
3710
|
icon_back_default({ size: 16 });
|
|
3534
3711
|
_html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 0))}`);
|
|
3535
3712
|
_serialize_if($scope0_reason, 2) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 0) && _scope_with_id($scope0_id) });
|
|
3536
3713
|
return 0;
|
|
3537
3714
|
} else if (input.onBack) {
|
|
3538
3715
|
const $scope2_id = _scope_id();
|
|
3539
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
3716
|
+
_html(`<button${_attr_class([iconBtnRow, "_cR"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
|
|
3540
3717
|
icon_back_default({ size: 16 });
|
|
3541
3718
|
_html(`</button>${_el_resume($scope2_id, "a")}`);
|
|
3542
3719
|
_script($scope2_id, "q0");
|
|
@@ -3544,11 +3721,11 @@ var page_head_default = _template("q", (input) => {
|
|
|
3544
3721
|
return 1;
|
|
3545
3722
|
}
|
|
3546
3723
|
}, $scope0_id, "b", _serialize_guard($scope0_reason, 2), _serialize_guard($scope0_reason, 1), $sg__input_backHref__OR__input_onBack__OR__input_meta__OR__input_actions, 0, 1);
|
|
3547
|
-
_html(`<div${_attr_class("
|
|
3724
|
+
_html(`<div${_attr_class("_bo")}><h1${_attr("id", input.titleId)}${_attr_class("_bn")}>${_escape(input.title)}${_el_resume($scope0_id, "e", _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
|
|
3548
3725
|
_if(() => {
|
|
3549
3726
|
if (input.meta) {
|
|
3550
3727
|
const $scope3_id = _scope_id();
|
|
3551
|
-
_html(`<p${_attr_class("
|
|
3728
|
+
_html(`<p${_attr_class("_bp")}>`);
|
|
3552
3729
|
_dynamic_tag($scope3_id, "b", input.meta, {}, 0, 0, $sg__input_meta);
|
|
3553
3730
|
_html("</p>");
|
|
3554
3731
|
$si__input_meta && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -3559,7 +3736,7 @@ var page_head_default = _template("q", (input) => {
|
|
|
3559
3736
|
_if(() => {
|
|
3560
3737
|
if (input.actions) {
|
|
3561
3738
|
const $scope4_id = _scope_id();
|
|
3562
|
-
_html(`<div${_attr_class("
|
|
3739
|
+
_html(`<div${_attr_class("_bq")}>`);
|
|
3563
3740
|
_dynamic_tag($scope4_id, "b", input.actions, {}, 0, 0, $sg__input_actions);
|
|
3564
3741
|
_html("</div>");
|
|
3565
3742
|
$si__input_actions && writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -3577,7 +3754,7 @@ var page_head_default = _template("q", (input) => {
|
|
|
3577
3754
|
});
|
|
3578
3755
|
//#endregion
|
|
3579
3756
|
//#region src/tags/icons/icon-agent.marko
|
|
3580
|
-
var icon_agent_default = _template("
|
|
3757
|
+
var icon_agent_default = _template("F", (input) => {
|
|
3581
3758
|
const $scope0_reason = _scope_reason(), $sg__input_agent = _serialize_guard($scope0_reason, 2), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0), $si__input_size__OR__input_class = _serialize_if($scope0_reason, 0), $si__input_size__OR__input_agent__OR__input_class = _serialize_if($scope0_reason, 1), $si__input_agent = _serialize_if($scope0_reason, 2);
|
|
3582
3759
|
const $scope0_id = _scope_id();
|
|
3583
3760
|
const $badge__closures = /* @__PURE__ */ new Set();
|
|
@@ -3627,7 +3804,7 @@ var icon_agent_default = _template("E", (input) => {
|
|
|
3627
3804
|
n: $badge__closures
|
|
3628
3805
|
});
|
|
3629
3806
|
});
|
|
3630
|
-
var usageNote = "
|
|
3807
|
+
var usageNote = "_dq _S";
|
|
3631
3808
|
//#endregion
|
|
3632
3809
|
//#region src/tags/usage-meters.marko
|
|
3633
3810
|
function duration(ms) {
|
|
@@ -3647,15 +3824,15 @@ function resetLabel(iso, stale) {
|
|
|
3647
3824
|
if (ms <= 0) return stale ? null : "now";
|
|
3648
3825
|
return duration(ms);
|
|
3649
3826
|
}
|
|
3650
|
-
var usage_meters_default = _template("
|
|
3827
|
+
var usage_meters_default = _template("C", (input) => {
|
|
3651
3828
|
const $scope0_reason = _scope_reason(), $sg__input_agent__OR__input_hideName = _serialize_guard($scope0_reason, 0), $sg__input_agent = _serialize_guard($scope0_reason, 1), $si__input_agent = _serialize_if($scope0_reason, 1), $sg__input_hideName = _serialize_guard($scope0_reason, 2), $si__input_agent__OR__input_hideName = _serialize_if($scope0_reason, 0);
|
|
3652
3829
|
const $scope0_id = _scope_id();
|
|
3653
3830
|
const agent = input.agent;
|
|
3654
|
-
_html(`<div${_attr_class(["
|
|
3831
|
+
_html(`<div${_attr_class(["_dk", { ["_dl"]: input.hideName }])}><div${_attr_class("_dm")}>`);
|
|
3655
3832
|
_if(() => {
|
|
3656
3833
|
if (!input.hideName) {
|
|
3657
3834
|
const $scope1_id = _scope_id();
|
|
3658
|
-
_html(`<strong${_attr_class("
|
|
3835
|
+
_html(`<strong${_attr_class("_dF")}>${_escape(agent.agent)}${_el_resume($scope1_id, "b", $sg__input_agent)}</strong>`);
|
|
3659
3836
|
$si__input_agent__OR__input_hideName && writeScope($scope1_id, { _: $si__input_agent && _scope_with_id($scope0_id) });
|
|
3660
3837
|
return 0;
|
|
3661
3838
|
}
|
|
@@ -3663,7 +3840,7 @@ var usage_meters_default = _template("B", (input) => {
|
|
|
3663
3840
|
_if(() => {
|
|
3664
3841
|
if (agent.plan && agent.plan.toLowerCase() !== agent.agent.toLowerCase()) {
|
|
3665
3842
|
const $scope2_id = _scope_id();
|
|
3666
|
-
_html(`<span${_attr_class("
|
|
3843
|
+
_html(`<span${_attr_class("_dn")}>${_escape(agent.plan.replace(/^default_/, "").replaceAll("_", " "))}${_el_resume($scope2_id, "b", $sg__input_agent)}</span>`);
|
|
3667
3844
|
$si__input_agent && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
|
|
3668
3845
|
return 0;
|
|
3669
3846
|
}
|
|
@@ -3671,19 +3848,19 @@ var usage_meters_default = _template("B", (input) => {
|
|
|
3671
3848
|
_if(() => {
|
|
3672
3849
|
if (agent.stale_seconds != null) {
|
|
3673
3850
|
const $scope3_id = _scope_id();
|
|
3674
|
-
_html(`<span${_attr_class("
|
|
3851
|
+
_html(`<span${_attr_class("_do")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>⚠ ${_sep($sg__input_agent)}${_escape(duration(agent.stale_seconds * 1e3))}${_el_resume($scope3_id, "b", $sg__input_agent)} old</span>${_el_resume($scope3_id, "a", $sg__input_agent)}`);
|
|
3675
3852
|
$si__input_agent && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
|
|
3676
3853
|
return 0;
|
|
3677
3854
|
}
|
|
3678
3855
|
}, $scope0_id, "e", $sg__input_agent, $sg__input_agent, $sg__input_agent__OR__input_hideName, 0, 1);
|
|
3679
|
-
_html(`</div><div${_attr_class(["
|
|
3856
|
+
_html(`</div><div${_attr_class(["_dp", { ["_dG"]: agent.stale_seconds != null }])}>`);
|
|
3680
3857
|
_for_of(agent.windows || [], (win) => {
|
|
3681
3858
|
const $scope4_id = _scope_id();
|
|
3682
3859
|
const pct = pctText$1(win.used_percent);
|
|
3683
3860
|
const label = resetLabel(win.resets_at, agent.stale_seconds != null);
|
|
3684
|
-
const fillClass = win.used_percent >= 90 ? "
|
|
3685
|
-
const pctClass = win.used_percent >= 90 ? "
|
|
3686
|
-
_html(`<div${_attr_class("
|
|
3861
|
+
const fillClass = win.used_percent >= 90 ? "_dy" : win.used_percent >= 70 ? "_dx" : win.used_percent >= 40 ? "_dw" : "_dv";
|
|
3862
|
+
const pctClass = win.used_percent >= 90 ? "_dD" : win.used_percent >= 70 ? "_dC" : win.used_percent >= 40 ? "_dB" : "_dA";
|
|
3863
|
+
_html(`<div${_attr_class("_dr")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_ds")}>${_escape(win.window)}${_el_resume($scope4_id, "c", $sg__input_agent)}</span><span${_attr_class("_dt")}><span${_attr_class(["_du", fillClass])}${_attr_style(`width:${Math.min(100, Math.max(2, win.used_percent))}%`)}></span>${_el_resume($scope4_id, "e", $sg__input_agent)}</span><span${_attr_class(["_dz", pctClass])}>${_escape(pct)}${_el_resume($scope4_id, "g", $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_dE")}>${label ? `↻ ${_escape(`${_to_text(label)}`)}` : ""}${_el_resume($scope4_id, "i", $sg__input_agent)}</span></div>${_el_resume($scope4_id, "a", $sg__input_agent)}`);
|
|
3687
3864
|
$si__input_agent && writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
|
|
3688
3865
|
}, "window", $scope0_id, "g", $sg__input_agent, $sg__input_agent, $sg__input_agent, 0, 1);
|
|
3689
3866
|
_if(() => {
|
|
@@ -3703,8 +3880,136 @@ var usage_meters_default = _template("B", (input) => {
|
|
|
3703
3880
|
});
|
|
3704
3881
|
});
|
|
3705
3882
|
//#endregion
|
|
3883
|
+
//#region src/tags/sso-auth.marko
|
|
3884
|
+
var api$7;
|
|
3885
|
+
var watchProgress$2;
|
|
3886
|
+
var sso_auth_default = _template("y", (input) => {
|
|
3887
|
+
const $scope0_reason = _scope_reason(), $sg__input_items = _serialize_guard($scope0_reason, 1), $sg__input_skipped = _serialize_guard($scope0_reason, 0), $si__input_skipped = _serialize_if($scope0_reason, 0);
|
|
3888
|
+
const $scope0_id = _scope_id();
|
|
3889
|
+
const skipped$1 = input.skipped || [];
|
|
3890
|
+
const host = input.items[0]?.host || "github.com";
|
|
3891
|
+
let localBusy = false;
|
|
3892
|
+
let localCode = null;
|
|
3893
|
+
let localError = null;
|
|
3894
|
+
const busy = input.busy || localBusy;
|
|
3895
|
+
const authCode$2 = input.authCode || localCode;
|
|
3896
|
+
const authorize = _resume(async () => {
|
|
3897
|
+
if (busy) return;
|
|
3898
|
+
localError = null;
|
|
3899
|
+
if (input.onAuthorize) {
|
|
3900
|
+
await input.onAuthorize();
|
|
3901
|
+
return;
|
|
3902
|
+
}
|
|
3903
|
+
localBusy = true;
|
|
3904
|
+
localCode = null;
|
|
3905
|
+
const watcher = watchProgress$2(`setup:${host}`, (line) => {
|
|
3906
|
+
const code = /one-time code:\s*([A-Z0-9]{4}-[A-Z0-9]{4})/i.exec(line)?.[1];
|
|
3907
|
+
if (code) localCode = code;
|
|
3908
|
+
});
|
|
3909
|
+
await watcher.ready;
|
|
3910
|
+
try {
|
|
3911
|
+
await api$7(`/api/setup/${encodeURIComponent(host)}`, {
|
|
3912
|
+
method: "POST",
|
|
3913
|
+
headers: { "content-type": "application/json" },
|
|
3914
|
+
body: JSON.stringify({ action: "auth-refresh" })
|
|
3915
|
+
});
|
|
3916
|
+
await input.onDone?.();
|
|
3917
|
+
} catch (err) {
|
|
3918
|
+
localError = String(err.message || err);
|
|
3919
|
+
} finally {
|
|
3920
|
+
watcher.stop();
|
|
3921
|
+
localBusy = false;
|
|
3922
|
+
localCode = null;
|
|
3923
|
+
}
|
|
3924
|
+
}, "y0", $scope0_id);
|
|
3925
|
+
_html(`<div${_attr_class("_cS")}><p${_attr_class("_c2")}>GitHub CLI needs org SSO for ${_sep($sg__input_items)}${_escape(input.items.map((s) => s.org).join(", "))}${_el_resume($scope0_id, "c", $sg__input_items)}.</p><ul${_attr_class("_cT")}>`);
|
|
3926
|
+
_for_of(input.items, (s) => {
|
|
3927
|
+
const $scope1_id = _scope_id();
|
|
3928
|
+
_html(`<li${_attr_class("_cU")}>${_escape(s.org)}${_el_resume($scope1_id, "b", $sg__input_items)}<button type=button${_attr_class("_cV")}${_attr("title", `Skip ${s.org}`)}${_attr("aria-label", `Skip ${s.org}`)}${_attr("disabled", busy)}>`);
|
|
3929
|
+
icon_xmark_default({ size: 11 });
|
|
3930
|
+
_html(`</button>${_el_resume($scope1_id, "c")}</li>`);
|
|
3931
|
+
_script($scope1_id, "y1");
|
|
3932
|
+
writeScope($scope1_id, {
|
|
3933
|
+
g: s?.org,
|
|
3934
|
+
_: _scope_with_id($scope0_id)
|
|
3935
|
+
});
|
|
3936
|
+
}, "org", $scope0_id, "d", 1, $sg__input_items, $sg__input_items, "</ul>", 1);
|
|
3937
|
+
_html(`<div${_attr_class("_cW")}>`);
|
|
3938
|
+
_if(() => {
|
|
3939
|
+
if (busy && authCode$2) {
|
|
3940
|
+
const $scope4_id = _scope_id();
|
|
3941
|
+
_html(`<span${_attr_class("_cX")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_cY")}>${_escape(authCode$2)}${_el_resume($scope4_id, "d")}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_cZ")}>${_escape(host)}${_el_resume($scope4_id, "f", _serialize_guard($scope0_reason, 2))}/login/device</a>${_el_resume($scope4_id, "e")}</span>`);
|
|
3942
|
+
_script($scope4_id, "y2");
|
|
3943
|
+
writeScope($scope4_id, {});
|
|
3944
|
+
return 0;
|
|
3945
|
+
} else if (busy) {
|
|
3946
|
+
const $scope7_id = _scope_id();
|
|
3947
|
+
_html(`<span${_attr_class("_cX")}><span${_attr_class("_F")}></span>Starting GitHub re-authorization…</span>`);
|
|
3948
|
+
writeScope($scope7_id, {});
|
|
3949
|
+
return 1;
|
|
3950
|
+
} else {
|
|
3951
|
+
const $scope6_id = _scope_id();
|
|
3952
|
+
_html(`<button type=button${_attr_class(btnSm)} title="Re-authorize GitHub CLI (same device flow as Sign in)">Authorize SSO</button>${_el_resume($scope6_id, "a")}`);
|
|
3953
|
+
_script($scope6_id, "y3");
|
|
3954
|
+
writeScope($scope6_id, {});
|
|
3955
|
+
return 2;
|
|
3956
|
+
}
|
|
3957
|
+
}, $scope0_id, "e", 1, 1, 1, "</div>", 1);
|
|
3958
|
+
_if(() => {
|
|
3959
|
+
if (localError) {
|
|
3960
|
+
const $scope5_id = _scope_id();
|
|
3961
|
+
_html(`<p${_attr_class("_c2")}>${_escape(localError)}${_el_resume($scope5_id, "b")}</p>`);
|
|
3962
|
+
writeScope($scope5_id, {});
|
|
3963
|
+
return 0;
|
|
3964
|
+
}
|
|
3965
|
+
}, $scope0_id, "f", 1, 1, 1, 0, 1);
|
|
3966
|
+
_if(() => {
|
|
3967
|
+
if (skipped$1.length) {
|
|
3968
|
+
const $scope2_id = _scope_id();
|
|
3969
|
+
_html(`<p${_attr_class("_c0")}>Skipped `);
|
|
3970
|
+
_for_of(skipped$1, (s, i) => {
|
|
3971
|
+
const $scope3_id = _scope_id();
|
|
3972
|
+
_if(() => {
|
|
3973
|
+
if (i > 0) {
|
|
3974
|
+
const $scope8_id = _scope_id();
|
|
3975
|
+
_html(", ");
|
|
3976
|
+
$si__input_skipped && writeScope($scope8_id, {});
|
|
3977
|
+
return 0;
|
|
3978
|
+
}
|
|
3979
|
+
}, $scope3_id, "a", $sg__input_skipped, $sg__input_skipped, $sg__input_skipped);
|
|
3980
|
+
_html(`${_sep($sg__input_skipped)}${_escape(s.org)}${_el_resume($scope3_id, "b", $sg__input_skipped)}<button type=button${_attr_class("_c1")}${_attr("title", `Show ${s.org} again`)}> undo</button>${_el_resume($scope3_id, "c")}`);
|
|
3981
|
+
_script($scope3_id, "y4");
|
|
3982
|
+
writeScope($scope3_id, {
|
|
3983
|
+
f: s?.org,
|
|
3984
|
+
_: _scope_with_id($scope2_id)
|
|
3985
|
+
});
|
|
3986
|
+
}, "org", $scope2_id, "b", $sg__input_skipped, $sg__input_skipped, $sg__input_skipped);
|
|
3987
|
+
_html("</p>");
|
|
3988
|
+
writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
|
|
3989
|
+
return 0;
|
|
3990
|
+
}
|
|
3991
|
+
}, $scope0_id, "g", $sg__input_skipped, $sg__input_skipped, 1, 0, 1);
|
|
3992
|
+
_html("</div>");
|
|
3993
|
+
writeScope($scope0_id, {
|
|
3994
|
+
n: input.busy,
|
|
3995
|
+
o: input.authCode,
|
|
3996
|
+
p: input.onAuthorize,
|
|
3997
|
+
q: input.onDone,
|
|
3998
|
+
r: input.onChange,
|
|
3999
|
+
s: $si__input_skipped && skipped$1,
|
|
4000
|
+
u: host,
|
|
4001
|
+
v: _serialize_if($scope0_reason, 3) && localBusy,
|
|
4002
|
+
x: _serialize_if($scope0_reason, 4) && localCode,
|
|
4003
|
+
z: localError,
|
|
4004
|
+
a0: busy,
|
|
4005
|
+
a2: authCode$2,
|
|
4006
|
+
a4: authorize
|
|
4007
|
+
});
|
|
4008
|
+
_resume_branch($scope0_id);
|
|
4009
|
+
});
|
|
4010
|
+
//#endregion
|
|
3706
4011
|
//#region src/tags/icons/icon-plus.marko
|
|
3707
|
-
var icon_plus_default = _template("
|
|
4012
|
+
var icon_plus_default = _template("S", (input) => {
|
|
3708
4013
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
3709
4014
|
const $scope0_id = _scope_id();
|
|
3710
4015
|
_set_serialize_reason({
|
|
@@ -3742,7 +4047,7 @@ var modal_view_default = _template("o", (input) => {
|
|
|
3742
4047
|
const { label, class: inputClass, open: _open, openChange: _openChange, dismissable: _dismissable, content, footer, closedby: _closedby, onCancel: _onCancel, onClose: _onClose, "aria-label": inputAriaLabel, "aria-labelledby": inputLabelledBy, ...htmlInput } = input;
|
|
3743
4048
|
const dismissable = input.dismissable !== false;
|
|
3744
4049
|
let open = input.open;
|
|
3745
|
-
_html(`<dialog${_attr_class(["
|
|
4050
|
+
_html(`<dialog${_attr_class(["_fl", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
|
|
3746
4051
|
...htmlInput,
|
|
3747
4052
|
open: null
|
|
3748
4053
|
}, {
|
|
@@ -3752,20 +4057,20 @@ var modal_view_default = _template("o", (input) => {
|
|
|
3752
4057
|
closedby: 1,
|
|
3753
4058
|
"on-cancel": 1,
|
|
3754
4059
|
"on-close": 1
|
|
3755
|
-
}, "a", $scope0_id, "dialog")}><div${_attr_class("
|
|
4060
|
+
}, "a", $scope0_id, "dialog")}><div${_attr_class("_fm")}>`);
|
|
3756
4061
|
_dynamic_tag($scope0_id, "c", content, {}, 0, 0, _serialize_guard($scope0_reason, 6));
|
|
3757
4062
|
_html("</div>");
|
|
3758
4063
|
_if(() => {
|
|
3759
4064
|
if (footer) {
|
|
3760
4065
|
const $scope1_id = _scope_id();
|
|
3761
|
-
_html(`<form method=dialog${_attr_class("
|
|
4066
|
+
_html(`<form method=dialog${_attr_class("_fn")}>`);
|
|
3762
4067
|
_dynamic_tag($scope1_id, "b", footer.content, {}, 0, 0, _serialize_guard($scope0_reason, 7));
|
|
3763
4068
|
_html("</form>");
|
|
3764
4069
|
$si__input_openChange__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 7) && _scope_with_id($scope0_id) });
|
|
3765
4070
|
return 0;
|
|
3766
4071
|
} else if (input.openChange) {
|
|
3767
4072
|
const $scope2_id = _scope_id();
|
|
3768
|
-
_html(`<form method=dialog${_attr_class("
|
|
4073
|
+
_html(`<form method=dialog${_attr_class("_fn")}>`);
|
|
3769
4074
|
dialog_close_default({
|
|
3770
4075
|
class: ["_o", "_p"],
|
|
3771
4076
|
content: _content("o0", () => {
|
|
@@ -3824,7 +4129,7 @@ var prompt_dialog_default = _template("r", (input) => {
|
|
|
3824
4129
|
const $childScope = _peek_scope_id();
|
|
3825
4130
|
modal_view_default({
|
|
3826
4131
|
label: input.label,
|
|
3827
|
-
class: "
|
|
4132
|
+
class: "_di",
|
|
3828
4133
|
open: input.open,
|
|
3829
4134
|
openChange: input.openChange,
|
|
3830
4135
|
"aria-labelledby": titleId,
|
|
@@ -3847,7 +4152,7 @@ var prompt_dialog_default = _template("r", (input) => {
|
|
|
3847
4152
|
content: _content("r6", () => {
|
|
3848
4153
|
_scope_reason();
|
|
3849
4154
|
const $scope2_id = _scope_id();
|
|
3850
|
-
_html(`<h2${_attr_class("
|
|
4155
|
+
_html(`<h2${_attr_class("_dj")}${_attr("id", titleId)}>${_escape(input.label)}${_el_resume($scope2_id, "b", $sg__input_label)}</h2><input${_attr_input_value($scope2_id, "c", value, _resume((_new_value) => {
|
|
3851
4156
|
value = _new_value;
|
|
3852
4157
|
}, "r0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "c")}`);
|
|
3853
4158
|
_script($scope2_id, "r4");
|
|
@@ -3888,7 +4193,7 @@ function familyOf(usageAgent, families) {
|
|
|
3888
4193
|
var lastSetup = null;
|
|
3889
4194
|
var lastUsage = null;
|
|
3890
4195
|
var settings_page_default = _template("u", (input) => {
|
|
3891
|
-
const $scope0_reason = _scope_reason(), $sg__input_backHref__OR__input_onExit = _serialize_guard($scope0_reason, 1), $sg__input_agents = _serialize_guard($scope0_reason,
|
|
4196
|
+
const $scope0_reason = _scope_reason(), $sg__input_backHref__OR__input_onExit = _serialize_guard($scope0_reason, 1), $sg__input_agents = _serialize_guard($scope0_reason, 5), $sg__input_instance_accent = _serialize_guard($scope0_reason, 6), $si__input_instance__OR__input_instanceChange = _serialize_if($scope0_reason, 0), $si__input_preferred = _serialize_if($scope0_reason, 3), $si__input_setupChange = _serialize_if($scope0_reason, 2);
|
|
3892
4197
|
const $scope0_id = _scope_id();
|
|
3893
4198
|
const $setup_missing__closures = /* @__PURE__ */ new Set();
|
|
3894
4199
|
const $setup2__closures = /* @__PURE__ */ new Set();
|
|
@@ -3901,6 +4206,8 @@ var settings_page_default = _template("u", (input) => {
|
|
|
3901
4206
|
const $accountsFor2__closures = /* @__PURE__ */ new Set();
|
|
3902
4207
|
const $authCodes__closures = /* @__PURE__ */ new Set();
|
|
3903
4208
|
const $confirmingRemove__closures = /* @__PURE__ */ new Set();
|
|
4209
|
+
const $refresh2__closures = /* @__PURE__ */ new Set();
|
|
4210
|
+
const $run2__closures = /* @__PURE__ */ new Set();
|
|
3904
4211
|
const $self_install__closures = /* @__PURE__ */ new Set();
|
|
3905
4212
|
const $hits__closures = /* @__PURE__ */ new Set();
|
|
3906
4213
|
const $query__closures = /* @__PURE__ */ new Set();
|
|
@@ -4155,9 +4462,9 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4155
4462
|
const appearanceId = _id();
|
|
4156
4463
|
const githubId = _id();
|
|
4157
4464
|
const machineId = _id();
|
|
4158
|
-
_html(`<div${_attr_class("
|
|
4465
|
+
_html(`<div${_attr_class("_bi")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bj")}><div${_attr_class(content$2)}>`);
|
|
4159
4466
|
_set_serialize_reason({
|
|
4160
|
-
0: _serialize_guard($scope0_reason,
|
|
4467
|
+
0: _serialize_guard($scope0_reason, 4),
|
|
4161
4468
|
1: $sg__input_backHref__OR__input_onExit,
|
|
4162
4469
|
2: $sg__input_backHref__OR__input_onExit,
|
|
4163
4470
|
3: $sg__input_backHref__OR__input_onExit
|
|
@@ -4168,19 +4475,19 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4168
4475
|
titleId,
|
|
4169
4476
|
backHref: input.backHref,
|
|
4170
4477
|
onBack: input.onExit && _resume(() => input.onExit?.(), "u24", $scope0_id),
|
|
4171
|
-
meta: attrTag({ content: _content_resume("
|
|
4478
|
+
meta: attrTag({ content: _content_resume("u32", () => {
|
|
4172
4479
|
_scope_reason();
|
|
4173
4480
|
const $scope5_id = _scope_id();
|
|
4174
4481
|
_if(() => {
|
|
4175
4482
|
if (!setup) {
|
|
4176
|
-
const $
|
|
4483
|
+
const $scope51_id = _scope_id();
|
|
4177
4484
|
_html("Checking this machine…");
|
|
4178
|
-
writeScope($
|
|
4485
|
+
writeScope($scope51_id, {});
|
|
4179
4486
|
return 0;
|
|
4180
4487
|
} else if (setup.ready) {
|
|
4181
|
-
const $
|
|
4488
|
+
const $scope52_id = _scope_id();
|
|
4182
4489
|
_html(`<span${_attr_class("_cc")}>Ready</span>. Tools, GitHub, and an agent are all in place.`);
|
|
4183
|
-
writeScope($
|
|
4490
|
+
writeScope($scope52_id, {});
|
|
4184
4491
|
return 1;
|
|
4185
4492
|
} else {
|
|
4186
4493
|
const $scope6_id = _scope_id();
|
|
@@ -4192,7 +4499,7 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4192
4499
|
_subscribe($setup2__closures, writeScope($scope5_id, { _: _scope_with_id($scope0_id) }));
|
|
4193
4500
|
_resume_branch($scope5_id);
|
|
4194
4501
|
}, $scope0_id) }),
|
|
4195
|
-
actions: attrTag({ content: _content_resume("
|
|
4502
|
+
actions: attrTag({ content: _content_resume("u33", () => {
|
|
4196
4503
|
_scope_reason();
|
|
4197
4504
|
const $scope10_id = _scope_id();
|
|
4198
4505
|
_html(`<button${_attr_class(iconBtnRow)} title="Re-check this machine" aria-label="Re-check this machine"${_attr("disabled", refreshing)}>`);
|
|
@@ -4203,7 +4510,7 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4203
4510
|
class: refreshing && "_E"
|
|
4204
4511
|
});
|
|
4205
4512
|
_html(`</button>${_el_resume($scope10_id, "a")}`);
|
|
4206
|
-
_script($scope10_id, "
|
|
4513
|
+
_script($scope10_id, "u31");
|
|
4207
4514
|
_subscribe($refreshing__closures, writeScope($scope10_id, {
|
|
4208
4515
|
_: _scope_with_id($scope0_id),
|
|
4209
4516
|
b: _existing_scope($childScope)
|
|
@@ -4219,7 +4526,7 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4219
4526
|
onDismiss: _resume(function() {
|
|
4220
4527
|
error = null;
|
|
4221
4528
|
}, "u25", $scope8_id),
|
|
4222
|
-
content: _content_resume("
|
|
4529
|
+
content: _content_resume("u34", () => {
|
|
4223
4530
|
_scope_reason();
|
|
4224
4531
|
const $scope9_id = _scope_id();
|
|
4225
4532
|
_html(`${_escape(error)}${_el_resume($scope9_id, "a")}`);
|
|
@@ -4233,44 +4540,44 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4233
4540
|
}, $scope0_id, "e", 1, 1, 1, 0, 1);
|
|
4234
4541
|
_if(() => {
|
|
4235
4542
|
if (selfUpdatePending || selfUpdating) {
|
|
4236
|
-
const $
|
|
4237
|
-
_html(`<div${_attr_class("
|
|
4543
|
+
const $scope37_id = _scope_id();
|
|
4544
|
+
_html(`<div${_attr_class("_cH")} role=status><div${_attr_class("_cI")}>`);
|
|
4238
4545
|
_if(() => {
|
|
4239
4546
|
if (selfUpdating) {
|
|
4240
|
-
const $
|
|
4241
|
-
_html(`<span${_attr_class("
|
|
4242
|
-
writeScope($
|
|
4547
|
+
const $scope53_id = _scope_id();
|
|
4548
|
+
_html(`<span${_attr_class("_cJ")}><span${_attr_class("_F")}></span> Updating work…</span><span${_attr_class("_cK")}>The app restarts and reloads when it is done.</span>`);
|
|
4549
|
+
writeScope($scope53_id, {});
|
|
4243
4550
|
return 0;
|
|
4244
4551
|
} else {
|
|
4245
|
-
const $
|
|
4246
|
-
_html(`<span${_attr_class("
|
|
4247
|
-
_subscribe($self_version__closures, _subscribe($self_latest__closures, writeScope($
|
|
4552
|
+
const $scope38_id = _scope_id();
|
|
4553
|
+
_html(`<span${_attr_class("_cJ")}>Update available</span><span${_attr_class("_cK")}>v<!>${_escape(self.version)}${_el_resume($scope38_id, "c")} → v<!>${_escape(self.latest)}${_el_resume($scope38_id, "d")}</span>`);
|
|
4554
|
+
_subscribe($self_version__closures, _subscribe($self_latest__closures, writeScope($scope38_id, {})));
|
|
4248
4555
|
return 1;
|
|
4249
4556
|
}
|
|
4250
|
-
}, $
|
|
4557
|
+
}, $scope37_id, "b", 1, 1, 1, "</div>");
|
|
4251
4558
|
_if(() => {
|
|
4252
4559
|
if (!selfUpdating) {
|
|
4253
|
-
const $
|
|
4254
|
-
_html(`<button${_attr_class(["_o", "_p"])}${_attr("title", `Update work to v${self.latest} and restart`)}>Update and restart</button>${_el_resume($
|
|
4255
|
-
_script($
|
|
4256
|
-
_subscribe($self_latest__closures, writeScope($
|
|
4560
|
+
const $scope39_id = _scope_id();
|
|
4561
|
+
_html(`<button${_attr_class(["_o", "_p"])}${_attr("title", `Update work to v${self.latest} and restart`)}>Update and restart</button>${_el_resume($scope39_id, "a")}`);
|
|
4562
|
+
_script($scope39_id, "u35");
|
|
4563
|
+
_subscribe($self_latest__closures, writeScope($scope39_id, { Ce9: 1 }));
|
|
4257
4564
|
return 0;
|
|
4258
4565
|
}
|
|
4259
|
-
}, $
|
|
4566
|
+
}, $scope37_id, "c", 1, 1, 1, 0, 1);
|
|
4260
4567
|
_html("</div>");
|
|
4261
|
-
writeScope($
|
|
4568
|
+
writeScope($scope37_id, {});
|
|
4262
4569
|
return 0;
|
|
4263
4570
|
}
|
|
4264
4571
|
}, $scope0_id, "f", 1, 1, 1, 0, 1);
|
|
4265
|
-
_html(`<section${_attr_class("
|
|
4572
|
+
_html(`<section${_attr_class("_bs")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bt")}><h2${_attr("id", agentsId)}${_attr_class("_bH")}>Agents</h2><div${_attr_class("_y")}></div><label${_attr_class("_cg")}><span${_attr_class("_S")}>Default</span><span${_attr_class("_m")}>`);
|
|
4266
4573
|
_attr_select_value($scope0_id, "n", input.preferred, _resume(function(v) {
|
|
4267
4574
|
setPreferred(v);
|
|
4268
4575
|
}, "u1", $scope0_id), () => {
|
|
4269
4576
|
_html(`<select${_attr_class(["_n", "_ch"])} aria-label="Default agent (starts when a workspace has no session yet)" title="Starts when a workspace has no session yet">`);
|
|
4270
4577
|
_for_of(input.agents.filter((a) => a !== "shell"), (id) => {
|
|
4271
|
-
const $
|
|
4272
|
-
_html(`<option${_attr_option_value(id)}>${_escape(agentLabel(id))}${_el_resume($
|
|
4273
|
-
_serialize_if($scope0_reason,
|
|
4578
|
+
const $scope54_id = _scope_id();
|
|
4579
|
+
_html(`<option${_attr_option_value(id)}>${_escape(agentLabel(id))}${_el_resume($scope54_id, "b", $sg__input_agents)}</option>${_el_resume($scope54_id, "a", $sg__input_agents)}`);
|
|
4580
|
+
_serialize_if($scope0_reason, 5) && writeScope($scope54_id, {});
|
|
4274
4581
|
}, (a) => a, $scope0_id, "n", $sg__input_agents, 1, 1, "</select>", 1);
|
|
4275
4582
|
});
|
|
4276
4583
|
_html(`</span></label><button${_attr_class(iconBtn$2)} title="Refresh usage" aria-label="Refresh usage"${_attr("disabled", usageRefreshing)}>`);
|
|
@@ -4287,19 +4594,19 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4287
4594
|
const rows = lone ? [] : a.instances;
|
|
4288
4595
|
const loneAccounts = lone && lone.enabled ? accountsFor(lone.id) : [];
|
|
4289
4596
|
const extraAccounts = a.installed ? strayAccountsFor(a) : [];
|
|
4290
|
-
_html(`<li${_attr_class(["
|
|
4597
|
+
_html(`<li${_attr_class(["_bx", "_cf"])}><div${_attr_class(["_ci", { ["_cl"]: lone && !lone.enabled }])}>`);
|
|
4291
4598
|
_set_serialize_reason(12);
|
|
4292
4599
|
const $childScope4 = _peek_scope_id();
|
|
4293
4600
|
icon_agent_default({
|
|
4294
4601
|
agent: a.id,
|
|
4295
4602
|
size: 18
|
|
4296
4603
|
});
|
|
4297
|
-
_html(`<div${_attr_class("
|
|
4604
|
+
_html(`<div${_attr_class("_by")}><span${_attr_class("_bA")}><span${_attr_class("_bz")}>${_escape(a.label)}${_el_resume($scope1_id, "g")}</span>`);
|
|
4298
4605
|
_if(() => {
|
|
4299
4606
|
if (lone && input.preferred === lone.id) {
|
|
4300
|
-
const $
|
|
4607
|
+
const $scope55_id = _scope_id();
|
|
4301
4608
|
_html(`<span${_attr_class(["_I", tone.accent])}>default</span>`);
|
|
4302
|
-
writeScope($
|
|
4609
|
+
writeScope($scope55_id, {});
|
|
4303
4610
|
return 0;
|
|
4304
4611
|
}
|
|
4305
4612
|
}, $scope1_id, "h", 1, 1, 1, 0, 1);
|
|
@@ -4311,32 +4618,32 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4311
4618
|
_subscribe($active__closures, writeScope($scope11_id, {}));
|
|
4312
4619
|
return 0;
|
|
4313
4620
|
} else if (!a.installed) {
|
|
4314
|
-
const $
|
|
4315
|
-
_html(`<span${_attr_class("
|
|
4316
|
-
writeScope($
|
|
4621
|
+
const $scope56_id = _scope_id();
|
|
4622
|
+
_html(`<span${_attr_class("_bB")}>Not installed</span>`);
|
|
4623
|
+
writeScope($scope56_id, {});
|
|
4317
4624
|
return 1;
|
|
4318
4625
|
}
|
|
4319
4626
|
}, $scope1_id, "i", 1, 1, 1, 0, 1);
|
|
4320
4627
|
_html("</div>");
|
|
4321
4628
|
_if(() => {
|
|
4322
4629
|
if (!a.installed && !active.has(a.id)) {
|
|
4323
|
-
const $
|
|
4324
|
-
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($
|
|
4325
|
-
_script($
|
|
4326
|
-
writeScope($
|
|
4630
|
+
const $scope44_id = _scope_id();
|
|
4631
|
+
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope44_id, "a")}`);
|
|
4632
|
+
_script($scope44_id, "u36");
|
|
4633
|
+
writeScope($scope44_id, {});
|
|
4327
4634
|
return 0;
|
|
4328
4635
|
}
|
|
4329
4636
|
}, $scope1_id, "j", 1, 1, 1, 0, 1);
|
|
4330
4637
|
_if(() => {
|
|
4331
4638
|
if (lone) {
|
|
4332
|
-
const $
|
|
4639
|
+
const $scope48_id = _scope_id();
|
|
4333
4640
|
_html(`<button${_attr_class([
|
|
4334
4641
|
"_I",
|
|
4335
4642
|
"_K",
|
|
4336
4643
|
{ [tone.ok]: lone.enabled }
|
|
4337
|
-
])} role=switch aria-checked=${lone.enabled ? "true" : "false"} title=${lone.enabled ? "\"Shown in session pickers. Hide it\"" : "\"Hidden from session pickers. Show it\""}>${lone.enabled ? "on" : "off"}${_el_resume($
|
|
4338
|
-
_script($
|
|
4339
|
-
writeScope($
|
|
4644
|
+
])} role=switch aria-checked=${lone.enabled ? "true" : "false"} title=${lone.enabled ? "\"Shown in session pickers. Hide it\"" : "\"Hidden from session pickers. Show it\""}>${lone.enabled ? "on" : "off"}${_el_resume($scope48_id, "b")}</button>${_el_resume($scope48_id, "a")}`);
|
|
4645
|
+
_script($scope48_id, "u37");
|
|
4646
|
+
writeScope($scope48_id, {});
|
|
4340
4647
|
return 0;
|
|
4341
4648
|
}
|
|
4342
4649
|
}, $scope1_id, "k", 1, 1, 1, 0, 1);
|
|
@@ -4358,9 +4665,9 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4358
4665
|
_html(`<span${_attr_class(["_cm", "_x"])}>${_escape(inst.command)}${_el_resume($scope3_id, "e")}</span>`);
|
|
4359
4666
|
_if(() => {
|
|
4360
4667
|
if (input.preferred === inst.id) {
|
|
4361
|
-
const $
|
|
4668
|
+
const $scope57_id = _scope_id();
|
|
4362
4669
|
_html(`<span${_attr_class(["_I", tone.accent])}>default</span>`);
|
|
4363
|
-
writeScope($
|
|
4670
|
+
writeScope($scope57_id, {});
|
|
4364
4671
|
return 0;
|
|
4365
4672
|
}
|
|
4366
4673
|
}, $scope3_id, "f", 1, 1, 1, 0, 1);
|
|
@@ -4370,17 +4677,17 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4370
4677
|
{ [tone.ok]: inst.enabled }
|
|
4371
4678
|
])} role=switch aria-checked=${inst.enabled ? "true" : "false"} title=${inst.enabled ? "\"Shown in session pickers. Hide it\"" : "\"Hidden from session pickers. Show it\""}>${inst.enabled ? "on" : "off"}${_el_resume($scope3_id, "i")}</button>${_el_resume($scope3_id, "h")}</div>${_el_resume($scope3_id, "b")}`);
|
|
4372
4679
|
_for_of(accounts, (u) => {
|
|
4373
|
-
const $
|
|
4680
|
+
const $scope58_id = _scope_id();
|
|
4374
4681
|
_set_serialize_reason(6);
|
|
4375
4682
|
const $childScope6 = _peek_scope_id();
|
|
4376
4683
|
usage_meters_default({
|
|
4377
4684
|
agent: u,
|
|
4378
4685
|
hideName: true
|
|
4379
4686
|
});
|
|
4380
|
-
writeScope($
|
|
4687
|
+
writeScope($scope58_id, { a: _existing_scope($childScope6) });
|
|
4381
4688
|
}, (u) => `${u.agent}-${u.account || ""}`, $scope3_id, "j", 1, 1, 1, 0, 1);
|
|
4382
4689
|
_html("</li>");
|
|
4383
|
-
_script($scope3_id, "
|
|
4690
|
+
_script($scope3_id, "u38");
|
|
4384
4691
|
_subscribe($accountsFor2__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope3_id, {
|
|
4385
4692
|
m: inst?.enabled,
|
|
4386
4693
|
n: inst?.id,
|
|
@@ -4388,7 +4695,7 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4388
4695
|
})));
|
|
4389
4696
|
}, "id", $scope2_id, "b", 1, 1, 1, 0, 1);
|
|
4390
4697
|
_for_of(loneAccounts, (u) => {
|
|
4391
|
-
const $
|
|
4698
|
+
const $scope59_id = _scope_id();
|
|
4392
4699
|
_html("<li>");
|
|
4393
4700
|
_set_serialize_reason(6);
|
|
4394
4701
|
const $childScope7 = _peek_scope_id();
|
|
@@ -4397,16 +4704,16 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4397
4704
|
hideName: true
|
|
4398
4705
|
});
|
|
4399
4706
|
_html("</li>");
|
|
4400
|
-
writeScope($
|
|
4707
|
+
writeScope($scope59_id, { a: _existing_scope($childScope7) });
|
|
4401
4708
|
}, (u) => `${u.agent}-${u.account || ""}`, $scope2_id, "c", 1, 1, 1, 0, 1);
|
|
4402
4709
|
_for_of(extraAccounts, (u) => {
|
|
4403
|
-
const $
|
|
4710
|
+
const $scope60_id = _scope_id();
|
|
4404
4711
|
_html("<li>");
|
|
4405
4712
|
_set_serialize_reason(6);
|
|
4406
4713
|
const $childScope8 = _peek_scope_id();
|
|
4407
4714
|
usage_meters_default({ agent: u });
|
|
4408
4715
|
_html("</li>");
|
|
4409
|
-
writeScope($
|
|
4716
|
+
writeScope($scope60_id, { a: _existing_scope($childScope8) });
|
|
4410
4717
|
}, (u) => `${u.agent}-${u.account || ""}`, $scope2_id, "d", 1, 1, 1, 0, 1);
|
|
4411
4718
|
_html("</ul>");
|
|
4412
4719
|
writeScope($scope2_id, {});
|
|
@@ -4429,47 +4736,57 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4429
4736
|
});
|
|
4430
4737
|
}, "id", $scope0_id, "r", 1, 1, 1, 0, 1);
|
|
4431
4738
|
_for_of(otherUsage, (u) => {
|
|
4432
|
-
const $
|
|
4433
|
-
_html(`<li${_attr_class(["
|
|
4739
|
+
const $scope61_id = _scope_id();
|
|
4740
|
+
_html(`<li${_attr_class(["_bx", "_cf"])}>`);
|
|
4434
4741
|
_set_serialize_reason(6);
|
|
4435
4742
|
const $childScope9 = _peek_scope_id();
|
|
4436
4743
|
usage_meters_default({ agent: u });
|
|
4437
4744
|
_html("</li>");
|
|
4438
|
-
writeScope($
|
|
4745
|
+
writeScope($scope61_id, { b: _existing_scope($childScope9) });
|
|
4439
4746
|
}, (u) => `${u.agent}-${u.account || ""}`, $scope0_id, "s", 1, 1, 1, 0, 1);
|
|
4440
4747
|
_html("</ul>");
|
|
4441
4748
|
_if(() => {
|
|
4442
4749
|
if (!usage && families.length) {
|
|
4443
|
-
const $
|
|
4444
|
-
_html(`<p${_attr_class("
|
|
4445
|
-
writeScope($
|
|
4750
|
+
const $scope62_id = _scope_id();
|
|
4751
|
+
_html(`<p${_attr_class("_bD")}><span${_attr_class("_F")}></span> Loading usage…</p>`);
|
|
4752
|
+
writeScope($scope62_id, {});
|
|
4446
4753
|
return 0;
|
|
4447
4754
|
} else if (usage?.error) {
|
|
4448
4755
|
const $scope7_id = _scope_id();
|
|
4449
|
-
_html(`<p${_attr_class("
|
|
4756
|
+
_html(`<p${_attr_class("_bD")}>${_escape(usage.error)}${_el_resume($scope7_id, "b")}</p>`);
|
|
4450
4757
|
writeScope($scope7_id, {});
|
|
4451
4758
|
return 1;
|
|
4452
4759
|
}
|
|
4453
4760
|
}, $scope0_id, "t", 1, 1, 1, 0, 1);
|
|
4454
|
-
_html(`</section><section${_attr_class("
|
|
4761
|
+
_html(`</section><section${_attr_class("_bs")}${_attr("aria-labelledby", githubId)}><div${_attr_class("_bt")}><h2${_attr("id", githubId)}${_attr_class("_bH")}>GitHub</h2></div><ul${_attr_class("_bv")}>`);
|
|
4455
4762
|
_for_of(setup?.github || [], (h) => {
|
|
4456
4763
|
const $scope12_id = _scope_id();
|
|
4457
4764
|
const $for_content4__h_host__closures = /* @__PURE__ */ new Set();
|
|
4458
|
-
|
|
4765
|
+
let ssoIgnoreTick = 0;
|
|
4766
|
+
const ignoredSso = (() => {
|
|
4767
|
+
return new Set(ignoredSsoOrgs?.() ?? []);
|
|
4768
|
+
})();
|
|
4769
|
+
const hostSso = (() => {
|
|
4770
|
+
return (h.sso || []).filter((s) => !ignoredSso.has(s.org));
|
|
4771
|
+
})();
|
|
4772
|
+
const skippedSso = (() => {
|
|
4773
|
+
return (h.sso || []).filter((s) => ignoredSso.has(s.org));
|
|
4774
|
+
})();
|
|
4775
|
+
_html(`<li${_attr_class(["_bx", "_cx"])}><div${_attr_class("_cy")}><div${_attr_class("_by")}><span${_attr_class("_bA")}><span${_attr_class(["_bz", "_x"])}>${_escape(h.host)}${_el_resume($scope12_id, "f")}</span>`);
|
|
4459
4776
|
_if(() => {
|
|
4460
4777
|
if (h.isEnterprise) {
|
|
4461
|
-
const $
|
|
4778
|
+
const $scope65_id = _scope_id();
|
|
4462
4779
|
_html(`<span${_attr_class("_I")}>Enterprise</span>`);
|
|
4463
|
-
writeScope($
|
|
4780
|
+
writeScope($scope65_id, {});
|
|
4464
4781
|
return 0;
|
|
4465
4782
|
}
|
|
4466
|
-
}, $scope12_id, "
|
|
4783
|
+
}, $scope12_id, "g", 1, 1, 1, 0, 1);
|
|
4467
4784
|
_html("</span>");
|
|
4468
4785
|
_if(() => {
|
|
4469
4786
|
if (active.has(h.host) && authCodes.has(h.host)) {
|
|
4470
|
-
const $
|
|
4471
|
-
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_cv")}>${_escape(authCodes.get(h.host))}${_el_resume($
|
|
4472
|
-
_subscribe($authCodes__closures, writeScope($
|
|
4787
|
+
const $scope24_id = _scope_id();
|
|
4788
|
+
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_cv")}>${_escape(authCodes.get(h.host))}${_el_resume($scope24_id, "d")}</strong> at <a${_attr("href", `https://${h.host}/login/device`)} target=_blank rel=noopener${_attr_class("_cw")}>${_escape(h.host)}${_el_resume($scope24_id, "f")}/login/device</a>${_el_resume($scope24_id, "e")}</span>`);
|
|
4789
|
+
_subscribe($authCodes__closures, writeScope($scope24_id, { Cdz: 1 }));
|
|
4473
4790
|
return 0;
|
|
4474
4791
|
} else if (active.has(h.host)) {
|
|
4475
4792
|
const $scope13_id = _scope_id();
|
|
@@ -4477,281 +4794,314 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4477
4794
|
_subscribe($active__closures, writeScope($scope13_id, { Cdx: 1 }));
|
|
4478
4795
|
return 1;
|
|
4479
4796
|
} else if (h.authed) {
|
|
4480
|
-
const $scope62_id = _scope_id();
|
|
4481
|
-
_html(`<span${_attr_class("_bs")}>Signed in<!>${h.user ? ` as ${_escape(`${_to_text(h.user)}`)}` : ""}${_el_resume($scope62_id, "b")}</span>`);
|
|
4482
|
-
writeScope($scope62_id, {});
|
|
4483
|
-
return 2;
|
|
4484
|
-
} else {
|
|
4485
4797
|
const $scope63_id = _scope_id();
|
|
4486
|
-
_html(`<span${_attr_class("
|
|
4798
|
+
_html(`<span${_attr_class("_bB")}>Signed in<!>${h.user ? ` as ${_escape(`${_to_text(h.user)}`)}` : ""}${_el_resume($scope63_id, "b")}</span>`);
|
|
4487
4799
|
writeScope($scope63_id, {});
|
|
4800
|
+
return 2;
|
|
4801
|
+
} else {
|
|
4802
|
+
const $scope64_id = _scope_id();
|
|
4803
|
+
_html(`<span${_attr_class("_bB")}>${_escape(h.error || "Not signed in")}${_el_resume($scope64_id, "b")}</span>`);
|
|
4804
|
+
writeScope($scope64_id, {});
|
|
4488
4805
|
return 3;
|
|
4489
4806
|
}
|
|
4490
|
-
}, $scope12_id, "
|
|
4807
|
+
}, $scope12_id, "h", 1, 1, 1, 0, 1);
|
|
4491
4808
|
_html("</div>");
|
|
4492
4809
|
_if(() => {
|
|
4493
4810
|
if (!active.has(h.host)) {
|
|
4494
|
-
const $
|
|
4811
|
+
const $scope25_id = _scope_id();
|
|
4495
4812
|
_if(() => {
|
|
4496
4813
|
if (!h.authed) {
|
|
4497
|
-
const $
|
|
4498
|
-
_html(`<button${_attr_class(btnSm)}>Sign in</button>${_el_resume($
|
|
4499
|
-
_script($
|
|
4500
|
-
writeScope($
|
|
4814
|
+
const $scope45_id = _scope_id();
|
|
4815
|
+
_html(`<button${_attr_class(btnSm)}>Sign in</button>${_el_resume($scope45_id, "a")}`);
|
|
4816
|
+
_script($scope45_id, "u39");
|
|
4817
|
+
writeScope($scope45_id, {});
|
|
4501
4818
|
return 0;
|
|
4502
4819
|
} else {
|
|
4503
|
-
const $
|
|
4820
|
+
const $scope26_id = _scope_id();
|
|
4504
4821
|
_html(`<button${_attr_class([btnSm, {
|
|
4505
4822
|
["_r"]: confirmingRemove === `out:${h.host}`,
|
|
4506
4823
|
["_q"]: confirmingRemove === `out:${h.host}`
|
|
4507
|
-
}])}${confirmingRemove === `out:${h.host}` ? _attr("title", `Sign out of ${h.host}?`) : _attr("title", `Sign out of ${h.host}`)}>${confirmingRemove === `out:${h.host}` ? "Sign out?" : "Sign out"}${_el_resume($
|
|
4508
|
-
_script($
|
|
4509
|
-
_subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($
|
|
4824
|
+
}])}${confirmingRemove === `out:${h.host}` ? _attr("title", `Sign out of ${h.host}?`) : _attr("title", `Sign out of ${h.host}`)}>${confirmingRemove === `out:${h.host}` ? "Sign out?" : "Sign out"}${_el_resume($scope26_id, "b")}</button>${_el_resume($scope26_id, "a")}`);
|
|
4825
|
+
_script($scope26_id, "u40");
|
|
4826
|
+
_subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($scope26_id, {})));
|
|
4510
4827
|
return 1;
|
|
4511
4828
|
}
|
|
4512
|
-
}, $
|
|
4829
|
+
}, $scope25_id, "a", 1, 1, 1, 0, 1);
|
|
4513
4830
|
_if(() => {
|
|
4514
4831
|
if (h.isEnterprise) {
|
|
4515
|
-
const $
|
|
4832
|
+
const $scope27_id = _scope_id();
|
|
4516
4833
|
_html(`<button${_attr_class([
|
|
4517
|
-
"
|
|
4834
|
+
"_bC",
|
|
4518
4835
|
"_2",
|
|
4519
4836
|
"_3",
|
|
4520
4837
|
{ ["_q"]: confirmingRemove === h.host }
|
|
4521
4838
|
])}${confirmingRemove === h.host ? _attr("title", `Forget ${h.host}? (gh stays signed in)`) : _attr("title", `Forget ${h.host}`)}>`);
|
|
4522
4839
|
_if(() => {
|
|
4523
4840
|
if (confirmingRemove === h.host) {
|
|
4524
|
-
const $
|
|
4841
|
+
const $scope66_id = _scope_id();
|
|
4525
4842
|
_html("Forget?");
|
|
4526
|
-
writeScope($
|
|
4843
|
+
writeScope($scope66_id, {});
|
|
4527
4844
|
return 0;
|
|
4528
4845
|
} else {
|
|
4529
|
-
const $
|
|
4846
|
+
const $scope67_id = _scope_id();
|
|
4530
4847
|
icon_xmark_default({ size: 13 });
|
|
4531
|
-
writeScope($
|
|
4848
|
+
writeScope($scope67_id, {});
|
|
4532
4849
|
return 1;
|
|
4533
4850
|
}
|
|
4534
|
-
}, $
|
|
4535
|
-
_script($
|
|
4536
|
-
_subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($
|
|
4851
|
+
}, $scope27_id, "a", 1, 1, 1, "</button>");
|
|
4852
|
+
_script($scope27_id, "u41");
|
|
4853
|
+
_subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($scope27_id, {
|
|
4537
4854
|
Ce0: 1,
|
|
4538
|
-
|
|
4855
|
+
Ca2: 1
|
|
4539
4856
|
})));
|
|
4540
4857
|
return 0;
|
|
4541
4858
|
}
|
|
4542
|
-
}, $
|
|
4543
|
-
writeScope($
|
|
4859
|
+
}, $scope25_id, "b", 1, 1, 1, 0, 1);
|
|
4860
|
+
writeScope($scope25_id, {});
|
|
4544
4861
|
return 0;
|
|
4545
4862
|
}
|
|
4546
|
-
}, $scope12_id, "
|
|
4863
|
+
}, $scope12_id, "i");
|
|
4864
|
+
_html("</div>");
|
|
4865
|
+
_if(() => {
|
|
4866
|
+
if (hostSso.length || skippedSso.length) {
|
|
4867
|
+
const $scope14_id = _scope_id();
|
|
4868
|
+
_set_serialize_reason(1);
|
|
4869
|
+
const $childScope10 = _peek_scope_id();
|
|
4870
|
+
sso_auth_default({
|
|
4871
|
+
items: hostSso,
|
|
4872
|
+
skipped: skippedSso,
|
|
4873
|
+
busy: active.has(h.host),
|
|
4874
|
+
authCode: authCodes.get(h.host),
|
|
4875
|
+
onChange: _resume(function() {
|
|
4876
|
+
ssoIgnoreTick++;
|
|
4877
|
+
}, "u26", $scope14_id),
|
|
4878
|
+
onAuthorize: _resume(function() {
|
|
4879
|
+
run(h.host, "auth-refresh");
|
|
4880
|
+
}, "u27", $scope14_id),
|
|
4881
|
+
onDone: _resume(function() {
|
|
4882
|
+
refresh();
|
|
4883
|
+
}, "u28", $scope14_id)
|
|
4884
|
+
});
|
|
4885
|
+
_subscribe($run2__closures, _subscribe($si__input_setupChange && $refresh2__closures, _subscribe($authCodes__closures, _subscribe($active__closures, writeScope($scope14_id, {
|
|
4886
|
+
a: _existing_scope($childScope10),
|
|
4887
|
+
Cdx: 2
|
|
4888
|
+
})))));
|
|
4889
|
+
return 0;
|
|
4890
|
+
}
|
|
4891
|
+
}, $scope12_id, "j", 1, 1, 1, 0, 1);
|
|
4547
4892
|
_html("</li>");
|
|
4548
4893
|
writeScope($scope12_id, {
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4894
|
+
m: h?.sso,
|
|
4895
|
+
n: h?.host,
|
|
4896
|
+
p: h?.isEnterprise,
|
|
4897
|
+
q: h?.authed,
|
|
4898
|
+
s: h?.user,
|
|
4899
|
+
t: h?.error,
|
|
4900
|
+
u: ssoIgnoreTick,
|
|
4901
|
+
v: ignoredSso,
|
|
4902
|
+
x: hostSso,
|
|
4903
|
+
z: skippedSso,
|
|
4904
|
+
a2: $for_content4__h_host__closures
|
|
4555
4905
|
});
|
|
4556
4906
|
}, "host", $scope0_id, "x", 1, 1, 1, "</ul>", 1);
|
|
4557
4907
|
_if(() => {
|
|
4558
4908
|
if (setup && !setup.github.length) {
|
|
4559
|
-
const $
|
|
4560
|
-
_html(`<p${_attr_class("
|
|
4561
|
-
writeScope($
|
|
4909
|
+
const $scope68_id = _scope_id();
|
|
4910
|
+
_html(`<p${_attr_class("_bD")}>Install the GitHub CLI below to sign in.</p>`);
|
|
4911
|
+
writeScope($scope68_id, {});
|
|
4562
4912
|
return 0;
|
|
4563
4913
|
}
|
|
4564
4914
|
}, $scope0_id, "y", 1, 1, 1, 0, 1);
|
|
4565
4915
|
_if(() => {
|
|
4566
4916
|
if (setup) {
|
|
4567
|
-
const $
|
|
4917
|
+
const $scope35_id = _scope_id();
|
|
4568
4918
|
_html(`<form${_attr_class("_cu")}><label${_attr_class("_W")}>`);
|
|
4569
4919
|
icon_plus_default({
|
|
4570
4920
|
size: 14,
|
|
4571
4921
|
class: "_X"
|
|
4572
4922
|
});
|
|
4573
|
-
_html(`<input${_attr_input_value($
|
|
4923
|
+
_html(`<input${_attr_input_value($scope35_id, "d", hostInput, _resume((_new_hostInput) => {
|
|
4574
4924
|
hostInput = _new_hostInput;
|
|
4575
|
-
}, "u2", $
|
|
4576
|
-
_script($
|
|
4577
|
-
writeScope($
|
|
4925
|
+
}, "u2", $scope35_id))}${_attr_class([inputLg, "_Y"])} type=text placeholder="Add a GitHub Enterprise host, e.g. github.example.com" aria-label="GitHub Enterprise host" autocomplete=off spellcheck=false>${_el_resume($scope35_id, "d")}</label><button${_attr_class(btnSm)} type=submit${_attr("disabled", !hostInput.trim() || hostBusy)}>${hostBusy ? "Adding…" : "Add host"}${_el_resume($scope35_id, "f")}</button>${_el_resume($scope35_id, "e")}</form>${_el_resume($scope35_id, "a")}`);
|
|
4926
|
+
_script($scope35_id, "u42");
|
|
4927
|
+
writeScope($scope35_id, {});
|
|
4578
4928
|
return 0;
|
|
4579
4929
|
}
|
|
4580
4930
|
}, $scope0_id, "z", 1, 1, 1, 0, 1);
|
|
4581
|
-
_html(`</section><section${_attr_class("
|
|
4931
|
+
_html(`</section><section${_attr_class("_bs")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bt")}><h2${_attr("id", machineId)}${_attr_class("_bH")}>Machine</h2>`);
|
|
4582
4932
|
_if(() => {
|
|
4583
4933
|
if (missingCount) {
|
|
4584
|
-
const $
|
|
4585
|
-
_html(`<span${_attr_class(sectionCount$1)}>${_escape(missingCount)}${_el_resume($
|
|
4586
|
-
writeScope($
|
|
4934
|
+
const $scope49_id = _scope_id();
|
|
4935
|
+
_html(`<span${_attr_class(sectionCount$1)}>${_escape(missingCount)}${_el_resume($scope49_id, "b")} missing</span>`);
|
|
4936
|
+
writeScope($scope49_id, {});
|
|
4587
4937
|
return 0;
|
|
4588
4938
|
}
|
|
4589
4939
|
}, $scope0_id, "a3", 1, 1, 1, 0, 1);
|
|
4590
4940
|
_if(() => {
|
|
4591
4941
|
if (outdatedIds.length) {
|
|
4592
|
-
const $
|
|
4593
|
-
_html(`<span${_attr_class(sectionCount$1)}>${_escape(outdatedIds.length)}${_el_resume($
|
|
4594
|
-
writeScope($
|
|
4942
|
+
const $scope50_id = _scope_id();
|
|
4943
|
+
_html(`<span${_attr_class(sectionCount$1)}>${_escape(outdatedIds.length)}${_el_resume($scope50_id, "b")} outdated</span>`);
|
|
4944
|
+
writeScope($scope50_id, {});
|
|
4595
4945
|
return 0;
|
|
4596
4946
|
}
|
|
4597
4947
|
}, $scope0_id, "a4", 1, 1, 1, 0, 1);
|
|
4598
4948
|
_html(`<div${_attr_class("_y")}></div>`);
|
|
4599
4949
|
_if(() => {
|
|
4600
4950
|
if (outdatedIds.length > 1) {
|
|
4601
|
-
const $
|
|
4602
|
-
_html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Update all</button>${_el_resume($
|
|
4603
|
-
_script($
|
|
4604
|
-
writeScope($
|
|
4951
|
+
const $scope15_id = _scope_id();
|
|
4952
|
+
_html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Update all</button>${_el_resume($scope15_id, "a")}`);
|
|
4953
|
+
_script($scope15_id, "u43");
|
|
4954
|
+
writeScope($scope15_id, {});
|
|
4605
4955
|
return 0;
|
|
4606
4956
|
}
|
|
4607
4957
|
}, $scope0_id, "a6", 1, 1, 1, 0, 1);
|
|
4608
4958
|
_if(() => {
|
|
4609
4959
|
if (missingInstallable.length > 1) {
|
|
4610
|
-
const $
|
|
4611
|
-
_html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Install missing</button>${_el_resume($
|
|
4612
|
-
_script($
|
|
4613
|
-
writeScope($
|
|
4960
|
+
const $scope16_id = _scope_id();
|
|
4961
|
+
_html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Install missing</button>${_el_resume($scope16_id, "a")}`);
|
|
4962
|
+
_script($scope16_id, "u44");
|
|
4963
|
+
writeScope($scope16_id, {});
|
|
4614
4964
|
return 0;
|
|
4615
4965
|
}
|
|
4616
4966
|
}, $scope0_id, "a7", 1, 1, 1, 0, 1);
|
|
4617
4967
|
_html("</div>");
|
|
4618
4968
|
_if(() => {
|
|
4619
4969
|
if (setup && !setup.mise.installed) {
|
|
4620
|
-
const $
|
|
4621
|
-
_html(`<p${_attr_class("
|
|
4622
|
-
_script($
|
|
4623
|
-
writeScope($
|
|
4970
|
+
const $scope17_id = _scope_id();
|
|
4971
|
+
_html(`<p${_attr_class("_bD")}>mise is not installed. It provides every tool below. <button${_attr_class(btnSm)}${_attr("disabled", active.has("mise"))}>${active.has("mise") ? "Installing…" : "Install mise"}${_el_resume($scope17_id, "c")}</button>${_el_resume($scope17_id, "b")}</p>`);
|
|
4972
|
+
_script($scope17_id, "u45");
|
|
4973
|
+
writeScope($scope17_id, {});
|
|
4624
4974
|
return 0;
|
|
4625
4975
|
}
|
|
4626
4976
|
}, $scope0_id, "a8", 1, 1, 1, 0, 1);
|
|
4627
4977
|
_html(`<ul${_attr_class(toolGrid)}>`);
|
|
4628
4978
|
_if(() => {
|
|
4629
4979
|
if (self) {
|
|
4630
|
-
const $
|
|
4980
|
+
const $scope40_id = _scope_id();
|
|
4631
4981
|
_html(`<li${_attr_class(row)}><span${_attr_class(["_cq", "_x"])}>work</span>`);
|
|
4632
4982
|
_if(() => {
|
|
4633
4983
|
if (selfUpdating) {
|
|
4634
|
-
const $
|
|
4984
|
+
const $scope69_id = _scope_id();
|
|
4635
4985
|
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span>Updating — the app restarts and reloads when it is done…</span>`);
|
|
4636
|
-
writeScope($
|
|
4986
|
+
writeScope($scope69_id, {});
|
|
4637
4987
|
return 0;
|
|
4638
4988
|
} else {
|
|
4639
|
-
const $
|
|
4640
|
-
_html(`<span${_attr_class(["_x", metaTrunc])} title="Running version">v<!>${_escape(self.version)}${_el_resume($
|
|
4989
|
+
const $scope41_id = _scope_id();
|
|
4990
|
+
_html(`<span${_attr_class(["_x", metaTrunc])} title="Running version">v<!>${_escape(self.version)}${_el_resume($scope41_id, "b")}</span>`);
|
|
4641
4991
|
_if(() => {
|
|
4642
4992
|
if (self.install === "source") {
|
|
4643
|
-
const $
|
|
4993
|
+
const $scope70_id = _scope_id();
|
|
4644
4994
|
_html(`<span${_attr_class(metaTrunc)} title="Started from a checkout, not the published package">source checkout — update with git</span>`);
|
|
4645
|
-
writeScope($
|
|
4995
|
+
writeScope($scope70_id, {});
|
|
4646
4996
|
return 0;
|
|
4647
4997
|
} else if (self.latest && self.latest !== self.version) {
|
|
4648
|
-
const $
|
|
4649
|
-
_html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update work to v${self.latest} and restart`)}>↑ <!>${_escape(self.latest)}${_el_resume($
|
|
4650
|
-
_script($
|
|
4651
|
-
_subscribe($self_latest__closures, writeScope($
|
|
4998
|
+
const $scope42_id = _scope_id();
|
|
4999
|
+
_html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update work to v${self.latest} and restart`)}>↑ <!>${_escape(self.latest)}${_el_resume($scope42_id, "b")}</button>${_el_resume($scope42_id, "a")}`);
|
|
5000
|
+
_script($scope42_id, "u46");
|
|
5001
|
+
_subscribe($self_latest__closures, writeScope($scope42_id, { Ce9: 3 }));
|
|
4652
5002
|
return 1;
|
|
4653
5003
|
} else if (self.latest) {
|
|
4654
|
-
const $
|
|
5004
|
+
const $scope71_id = _scope_id();
|
|
4655
5005
|
_html(`<span${_attr_class(metaTrunc)}>up to date</span>`);
|
|
4656
|
-
writeScope($
|
|
5006
|
+
writeScope($scope71_id, {});
|
|
4657
5007
|
return 2;
|
|
4658
5008
|
}
|
|
4659
|
-
}, $
|
|
4660
|
-
_subscribe($self_version__closures, _subscribe($self_latest__closures, _subscribe($self_install__closures, writeScope($
|
|
5009
|
+
}, $scope41_id, "c", 1, 1, 1, 0, 1);
|
|
5010
|
+
_subscribe($self_version__closures, _subscribe($self_latest__closures, _subscribe($self_install__closures, writeScope($scope41_id, {
|
|
4661
5011
|
Ce9: 2,
|
|
4662
5012
|
Cea: 1
|
|
4663
5013
|
}))));
|
|
4664
5014
|
return 1;
|
|
4665
5015
|
}
|
|
4666
|
-
}, $
|
|
5016
|
+
}, $scope40_id, "c");
|
|
4667
5017
|
_html(`<span${_attr_class("_y")}></span>`);
|
|
4668
5018
|
_if(() => {
|
|
4669
5019
|
if (!selfUpdating) {
|
|
4670
|
-
const $
|
|
5020
|
+
const $scope72_id = _scope_id();
|
|
4671
5021
|
_html(`<span${_attr_class("_I")}>app</span>`);
|
|
4672
|
-
writeScope($
|
|
5022
|
+
writeScope($scope72_id, {});
|
|
4673
5023
|
return 0;
|
|
4674
5024
|
}
|
|
4675
|
-
}, $
|
|
5025
|
+
}, $scope40_id, "e", 1, 1, 1, 0, 1);
|
|
4676
5026
|
_html("</li>");
|
|
4677
|
-
writeScope($
|
|
5027
|
+
writeScope($scope40_id, {});
|
|
4678
5028
|
return 0;
|
|
4679
5029
|
}
|
|
4680
5030
|
}, $scope0_id, "aa", 1, 1, 1, 0, 1);
|
|
4681
5031
|
_for_of(tools, (t) => {
|
|
4682
|
-
const $
|
|
5032
|
+
const $scope18_id = _scope_id();
|
|
4683
5033
|
const $for_content5__t_label__closures = /* @__PURE__ */ new Set();
|
|
4684
5034
|
const $for_content5__t_version__closures = /* @__PURE__ */ new Set();
|
|
4685
5035
|
const $for_content5__t_path__closures = /* @__PURE__ */ new Set();
|
|
4686
5036
|
const $for_content5__t_latest__closures = /* @__PURE__ */ new Set();
|
|
4687
5037
|
const $for_content5__t_id__closures = /* @__PURE__ */ new Set();
|
|
4688
|
-
_html(`<li${_attr_class([row, { ["_cp"]: !t.installed }])}><span${_attr_class(["_cq", "_x"])}>${_escape(t.label)}${_el_resume($
|
|
5038
|
+
_html(`<li${_attr_class([row, { ["_cp"]: !t.installed }])}><span${_attr_class(["_cq", "_x"])}>${_escape(t.label)}${_el_resume($scope18_id, "c")}</span>`);
|
|
4689
5039
|
_if(() => {
|
|
4690
5040
|
if (active.has(t.id)) {
|
|
4691
|
-
const $
|
|
4692
|
-
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(t.id) || "Starting…")}${_el_resume($
|
|
4693
|
-
_subscribe($active__closures, writeScope($
|
|
5041
|
+
const $scope19_id = _scope_id();
|
|
5042
|
+
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(t.id) || "Starting…")}${_el_resume($scope19_id, "c")}</span>`);
|
|
5043
|
+
_subscribe($active__closures, writeScope($scope19_id, { Cdx: 3 }));
|
|
4694
5044
|
return 0;
|
|
4695
5045
|
} else if (t.installed) {
|
|
4696
|
-
const $
|
|
5046
|
+
const $scope31_id = _scope_id();
|
|
4697
5047
|
_if(() => {
|
|
4698
5048
|
if (t.version) {
|
|
4699
|
-
const $
|
|
4700
|
-
_html(`<button${_attr_class(["_cr", "_x"])}${_attr("title", `${t.path || t.label}. Pin a version`)}>v<!>${_escape(t.version)}${_el_resume($
|
|
4701
|
-
_script($
|
|
4702
|
-
_subscribe($for_content5__t_path__closures, _subscribe($for_content5__t_version__closures, _subscribe($for_content5__t_label__closures, writeScope($
|
|
5049
|
+
const $scope32_id = _scope_id();
|
|
5050
|
+
_html(`<button${_attr_class(["_cr", "_x"])}${_attr("title", `${t.path || t.label}. Pin a version`)}>v<!>${_escape(t.version)}${_el_resume($scope32_id, "b")}</button>${_el_resume($scope32_id, "a")}`);
|
|
5051
|
+
_script($scope32_id, "u47");
|
|
5052
|
+
_subscribe($for_content5__t_path__closures, _subscribe($for_content5__t_version__closures, _subscribe($for_content5__t_label__closures, writeScope($scope32_id, { Cu: 1 }))));
|
|
4703
5053
|
return 0;
|
|
4704
5054
|
} else {
|
|
4705
|
-
const $
|
|
4706
|
-
_html(`<span${_attr_class([metaTrunc, "_x"])}${_attr("title", t.path)}>${_escape(t.path)}${_el_resume($
|
|
4707
|
-
_subscribe($for_content5__t_path__closures, writeScope($
|
|
5055
|
+
const $scope73_id = _scope_id();
|
|
5056
|
+
_html(`<span${_attr_class([metaTrunc, "_x"])}${_attr("title", t.path)}>${_escape(t.path)}${_el_resume($scope73_id, "b")}</span>${_el_resume($scope73_id, "a")}`);
|
|
5057
|
+
_subscribe($for_content5__t_path__closures, writeScope($scope73_id, { Cx: 1 }));
|
|
4708
5058
|
return 1;
|
|
4709
5059
|
}
|
|
4710
|
-
}, $
|
|
5060
|
+
}, $scope31_id, "a", 1, 1, 1, 0, 1);
|
|
4711
5061
|
_if(() => {
|
|
4712
5062
|
if (outdated(t)) {
|
|
4713
|
-
const $
|
|
4714
|
-
_html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update to v${t.latest}`)}>↑ <!>${_escape(t.latest)}${_el_resume($
|
|
4715
|
-
_script($
|
|
4716
|
-
_subscribe($for_content5__t_latest__closures, writeScope($
|
|
5063
|
+
const $scope46_id = _scope_id();
|
|
5064
|
+
_html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update to v${t.latest}`)}>↑ <!>${_escape(t.latest)}${_el_resume($scope46_id, "b")}</button>${_el_resume($scope46_id, "a")}`);
|
|
5065
|
+
_script($scope46_id, "u48");
|
|
5066
|
+
_subscribe($for_content5__t_latest__closures, writeScope($scope46_id, {}));
|
|
4717
5067
|
return 0;
|
|
4718
5068
|
}
|
|
4719
|
-
}, $
|
|
4720
|
-
writeScope($
|
|
5069
|
+
}, $scope31_id, "b", 1, 1, 1, 0, 1);
|
|
5070
|
+
writeScope($scope31_id, {});
|
|
4721
5071
|
return 1;
|
|
4722
5072
|
} else if (t.installable) {
|
|
4723
|
-
const $
|
|
5073
|
+
const $scope74_id = _scope_id();
|
|
4724
5074
|
_html(`<span${_attr_class(metaTrunc)}>not installed</span>`);
|
|
4725
|
-
writeScope($
|
|
5075
|
+
writeScope($scope74_id, {});
|
|
4726
5076
|
return 2;
|
|
4727
5077
|
} else {
|
|
4728
|
-
const $
|
|
5078
|
+
const $scope75_id = _scope_id();
|
|
4729
5079
|
_html(`<span${_attr_class(metaTrunc)} title="Installed with the system package manager">system package</span>`);
|
|
4730
|
-
writeScope($
|
|
5080
|
+
writeScope($scope75_id, {});
|
|
4731
5081
|
return 3;
|
|
4732
5082
|
}
|
|
4733
|
-
}, $
|
|
5083
|
+
}, $scope18_id, "d");
|
|
4734
5084
|
_html(`<span${_attr_class("_y")}></span>`);
|
|
4735
5085
|
_if(() => {
|
|
4736
5086
|
if (!active.has(t.id)) {
|
|
4737
|
-
const $
|
|
5087
|
+
const $scope28_id = _scope_id();
|
|
4738
5088
|
_if(() => {
|
|
4739
5089
|
if (t.required) {
|
|
4740
|
-
const $
|
|
5090
|
+
const $scope76_id = _scope_id();
|
|
4741
5091
|
_html(`<span${_attr_class("_I")}>required</span>`);
|
|
4742
|
-
writeScope($
|
|
5092
|
+
writeScope($scope76_id, {});
|
|
4743
5093
|
return 0;
|
|
4744
5094
|
}
|
|
4745
|
-
}, $
|
|
5095
|
+
}, $scope28_id, "a", 1, 1, 1, 0, 1);
|
|
4746
5096
|
_if(() => {
|
|
4747
5097
|
if (!t.installed && t.installable) {
|
|
4748
|
-
const $
|
|
4749
|
-
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($
|
|
4750
|
-
_script($
|
|
4751
|
-
writeScope($
|
|
5098
|
+
const $scope47_id = _scope_id();
|
|
5099
|
+
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope47_id, "a")}`);
|
|
5100
|
+
_script($scope47_id, "u49");
|
|
5101
|
+
writeScope($scope47_id, {});
|
|
4752
5102
|
return 0;
|
|
4753
5103
|
} else if (t.installed && t.version && !t.required) {
|
|
4754
|
-
const $
|
|
5104
|
+
const $scope29_id = _scope_id();
|
|
4755
5105
|
_html(`<button${_attr_class([
|
|
4756
5106
|
iconBtnXs,
|
|
4757
5107
|
"_2",
|
|
@@ -4760,28 +5110,28 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4760
5110
|
])}${confirmingRemove === t.id ? _attr("title", `Remove ${t.label}?`) : _attr("title", `Remove ${t.label}`)}>`);
|
|
4761
5111
|
_if(() => {
|
|
4762
5112
|
if (confirmingRemove === t.id) {
|
|
4763
|
-
const $
|
|
5113
|
+
const $scope77_id = _scope_id();
|
|
4764
5114
|
_html("Remove?");
|
|
4765
|
-
writeScope($
|
|
5115
|
+
writeScope($scope77_id, {});
|
|
4766
5116
|
return 0;
|
|
4767
5117
|
} else {
|
|
4768
|
-
const $
|
|
5118
|
+
const $scope78_id = _scope_id();
|
|
4769
5119
|
icon_xmark_default({ size: 13 });
|
|
4770
|
-
writeScope($
|
|
5120
|
+
writeScope($scope78_id, {});
|
|
4771
5121
|
return 1;
|
|
4772
5122
|
}
|
|
4773
|
-
}, $
|
|
4774
|
-
_script($
|
|
4775
|
-
_subscribe($for_content5__t_id__closures, _subscribe($for_content5__t_label__closures, _subscribe($confirmingRemove__closures, writeScope($
|
|
5123
|
+
}, $scope29_id, "a", 1, 1, 1, "</button>");
|
|
5124
|
+
_script($scope29_id, "u50");
|
|
5125
|
+
_subscribe($for_content5__t_id__closures, _subscribe($for_content5__t_label__closures, _subscribe($confirmingRemove__closures, writeScope($scope29_id, { Ce0: 2 }))));
|
|
4776
5126
|
return 1;
|
|
4777
5127
|
}
|
|
4778
|
-
}, $
|
|
4779
|
-
writeScope($
|
|
5128
|
+
}, $scope28_id, "b", 1, 1, 1, 0, 1);
|
|
5129
|
+
writeScope($scope28_id, {});
|
|
4780
5130
|
return 0;
|
|
4781
5131
|
}
|
|
4782
|
-
}, $
|
|
4783
|
-
_html(`</li>${_el_resume($
|
|
4784
|
-
writeScope($
|
|
5132
|
+
}, $scope18_id, "f");
|
|
5133
|
+
_html(`</li>${_el_resume($scope18_id, "a")}`);
|
|
5134
|
+
writeScope($scope18_id, {
|
|
4785
5135
|
h: t,
|
|
4786
5136
|
i: t?.installed,
|
|
4787
5137
|
j: t?.label,
|
|
@@ -4801,81 +5151,81 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4801
5151
|
_html("</ul>");
|
|
4802
5152
|
_if(() => {
|
|
4803
5153
|
if (setup && setup.mise.installed) {
|
|
4804
|
-
const $
|
|
5154
|
+
const $scope20_id = _scope_id();
|
|
4805
5155
|
_html(`<div><label${_attr_class("_W")}>`);
|
|
4806
5156
|
icon_search_default({
|
|
4807
5157
|
size: 14,
|
|
4808
5158
|
class: "_X"
|
|
4809
5159
|
});
|
|
4810
|
-
_html(`<input${_attr_input_value($
|
|
5160
|
+
_html(`<input${_attr_input_value($scope20_id, "c", query, search)}${_attr_class([inputLg, "_Y"])} type=text placeholder="Add a tool from the mise registry…" aria-label="Search the mise registry" autocomplete=off>${_el_resume($scope20_id, "c")}</label>`);
|
|
4811
5161
|
_if(() => {
|
|
4812
5162
|
if (hits && hits.length) {
|
|
4813
|
-
const $
|
|
5163
|
+
const $scope21_id = _scope_id();
|
|
4814
5164
|
_html(`<ul${_attr_class([toolGrid, "_ct"])}>`);
|
|
4815
5165
|
_for_of(hits, (h) => {
|
|
4816
|
-
const $
|
|
4817
|
-
_html(`<li${_attr_class(row)}><div${_attr_class("
|
|
5166
|
+
const $scope22_id = _scope_id();
|
|
5167
|
+
_html(`<li${_attr_class(row)}><div${_attr_class("_by")}><span${_attr_class(["_cq", "_x"])}>${_escape(h.name)}${_el_resume($scope22_id, "d")}</span>`);
|
|
4818
5168
|
_if(() => {
|
|
4819
5169
|
if (active.has(h.name)) {
|
|
4820
|
-
const $
|
|
4821
|
-
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.name) || "Starting…")}${_el_resume($
|
|
4822
|
-
_subscribe($active__closures, writeScope($
|
|
5170
|
+
const $scope23_id = _scope_id();
|
|
5171
|
+
_html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.name) || "Starting…")}${_el_resume($scope23_id, "c")}</span>`);
|
|
5172
|
+
_subscribe($active__closures, writeScope($scope23_id, { Cdx: 5 }));
|
|
4823
5173
|
return 0;
|
|
4824
5174
|
} else if (h.description) {
|
|
4825
|
-
const $
|
|
4826
|
-
_html(`<span${_attr_class("
|
|
4827
|
-
writeScope($
|
|
5175
|
+
const $scope79_id = _scope_id();
|
|
5176
|
+
_html(`<span${_attr_class("_bB")}${_attr("title", h.description)}>${_escape(h.description)}${_el_resume($scope79_id, "b")}</span>${_el_resume($scope79_id, "a")}`);
|
|
5177
|
+
writeScope($scope79_id, {});
|
|
4828
5178
|
return 1;
|
|
4829
5179
|
}
|
|
4830
|
-
}, $
|
|
5180
|
+
}, $scope22_id, "e", 1, 1, 1, 0, 1);
|
|
4831
5181
|
_html("</div>");
|
|
4832
5182
|
_if(() => {
|
|
4833
5183
|
if (!active.has(h.name)) {
|
|
4834
|
-
const $
|
|
5184
|
+
const $scope33_id = _scope_id();
|
|
4835
5185
|
_if(() => {
|
|
4836
5186
|
if (h.installed) {
|
|
4837
|
-
const $
|
|
5187
|
+
const $scope80_id = _scope_id();
|
|
4838
5188
|
_html(`<span${_attr_class("_I")}>installed</span>`);
|
|
4839
|
-
writeScope($
|
|
5189
|
+
writeScope($scope80_id, {});
|
|
4840
5190
|
return 0;
|
|
4841
5191
|
} else {
|
|
4842
|
-
const $
|
|
4843
|
-
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($
|
|
4844
|
-
_script($
|
|
4845
|
-
writeScope($
|
|
5192
|
+
const $scope34_id = _scope_id();
|
|
5193
|
+
_html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope34_id, "a")}<button${_attr_class(btnSm)} title="Install a specific version">@…</button>${_el_resume($scope34_id, "b")}`);
|
|
5194
|
+
_script($scope34_id, "u51");
|
|
5195
|
+
writeScope($scope34_id, {});
|
|
4846
5196
|
return 1;
|
|
4847
5197
|
}
|
|
4848
|
-
}, $
|
|
4849
|
-
writeScope($
|
|
5198
|
+
}, $scope33_id, "a");
|
|
5199
|
+
writeScope($scope33_id, {});
|
|
4850
5200
|
return 0;
|
|
4851
5201
|
}
|
|
4852
|
-
}, $
|
|
5202
|
+
}, $scope22_id, "f");
|
|
4853
5203
|
_html("</li>");
|
|
4854
|
-
_subscribe($active__closures, writeScope($
|
|
5204
|
+
_subscribe($active__closures, writeScope($scope22_id, {
|
|
4855
5205
|
i: h?.name,
|
|
4856
5206
|
k: h?.description,
|
|
4857
5207
|
m: h?.installed,
|
|
4858
|
-
Cdx:
|
|
5208
|
+
Cdx: 4
|
|
4859
5209
|
}));
|
|
4860
|
-
}, "name", $
|
|
4861
|
-
_subscribe($hits__closures, writeScope($
|
|
5210
|
+
}, "name", $scope21_id, "a", 1, 1, 1, "</ul>", 1);
|
|
5211
|
+
_subscribe($hits__closures, writeScope($scope21_id, {}));
|
|
4862
5212
|
return 0;
|
|
4863
5213
|
} else if (hits && !searching) {
|
|
4864
|
-
const $
|
|
4865
|
-
_html(`<p${_attr_class("
|
|
4866
|
-
_subscribe($query__closures, writeScope($
|
|
5214
|
+
const $scope36_id = _scope_id();
|
|
5215
|
+
_html(`<p${_attr_class("_bD")}>No tools match "<!>${_escape(query)}${_el_resume($scope36_id, "b")}".</p>`);
|
|
5216
|
+
_subscribe($query__closures, writeScope($scope36_id, {}));
|
|
4867
5217
|
return 1;
|
|
4868
5218
|
}
|
|
4869
|
-
}, $
|
|
5219
|
+
}, $scope20_id, "d", 1, 1, 1, 0, 1);
|
|
4870
5220
|
_html("</div>");
|
|
4871
|
-
_script($
|
|
4872
|
-
writeScope($
|
|
5221
|
+
_script($scope20_id, "u52");
|
|
5222
|
+
writeScope($scope20_id, {});
|
|
4873
5223
|
return 0;
|
|
4874
5224
|
}
|
|
4875
5225
|
}, $scope0_id, "ac", 1, 1, 1, 0, 1);
|
|
4876
|
-
_html(`</section><section${_attr_class("
|
|
5226
|
+
_html(`</section><section${_attr_class("_bs")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bt")}><h2${_attr("id", appearanceId)}${_attr_class("_bH")}>Appearance</h2></div><div${_attr_class(["_bx", "_cz"])}><label${_attr_class("_cA")}><span${_attr_class("_cB")}>Name</span><input${_attr_input_value($scope0_id, "aj", input.instance.name, _resume(function(v) {
|
|
4877
5227
|
setInstance({ name: v });
|
|
4878
|
-
}, "u3", $scope0_id))}${_attr_class(["_U", "
|
|
5228
|
+
}, "u3", $scope0_id))}${_attr_class(["_U", "_cC"])} type=text placeholder=work maxlength=32 autocomplete=off spellcheck=false aria-describedby=look-name-hint>${_el_resume($scope0_id, "aj")}<span id=look-name-hint${_attr_class(["_S", "_cD"])}>Tab title, home-screen icon, and notifications.</span></label><div${_attr_class("_cA")} role=radiogroup aria-label="Color theme"><span${_attr_class("_cB")}>Theme</span><span${_attr_class("_cE")}>`);
|
|
4879
5229
|
_for_of([
|
|
4880
5230
|
{
|
|
4881
5231
|
id: "system",
|
|
@@ -4890,23 +5240,23 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4890
5240
|
label: "Dark"
|
|
4891
5241
|
}
|
|
4892
5242
|
], (opt) => {
|
|
4893
|
-
const $
|
|
4894
|
-
_html(`<button type=button${_attr_class(["
|
|
4895
|
-
_script($
|
|
4896
|
-
writeScope($
|
|
5243
|
+
const $scope43_id = _scope_id();
|
|
5244
|
+
_html(`<button type=button${_attr_class(["_cF", { ["_cG"]: themeMode === opt.id }])} role=radio aria-checked=${themeMode === opt.id ? "true" : "false"}>${_escape(opt.label)}</button>${_el_resume($scope43_id, "a")}`);
|
|
5245
|
+
_script($scope43_id, "u53");
|
|
5246
|
+
writeScope($scope43_id, {
|
|
4897
5247
|
e: opt?.id,
|
|
4898
5248
|
_: _scope_with_id($scope0_id)
|
|
4899
5249
|
});
|
|
4900
5250
|
}, "id", $scope0_id, "an", 1, 0, 1, 0, 1);
|
|
4901
|
-
_html(`</span><span${_attr_class(["_S", "
|
|
4902
|
-
"_cK",
|
|
5251
|
+
_html(`</span><span${_attr_class(["_S", "_cD"])}>Follow the OS, or force light or dark.</span></div><div${_attr_class("_cA")} role=radiogroup aria-label="Accent colour"><span${_attr_class("_cB")}>Accent</span><span${_attr_class("_cL")}><button type=button${_attr_class([
|
|
4903
5252
|
"_cM",
|
|
4904
|
-
|
|
5253
|
+
"_cO",
|
|
5254
|
+
{ ["_cN"]: !input.instance.accent }
|
|
4905
5255
|
])} role=radio aria-checked=${!input.instance.accent ? "true" : "false"} title="Default (blue)" aria-label="Default (blue)"></button>${_el_resume($scope0_id, "as")}`);
|
|
4906
5256
|
_for_of(ACCENT_PRESETS, (p) => {
|
|
4907
5257
|
const $scope4_id = _scope_id();
|
|
4908
|
-
_html(`<button type=button${_attr_class(["
|
|
4909
|
-
_script($scope4_id, "
|
|
5258
|
+
_html(`<button type=button${_attr_class(["_cM", { ["_cN"]: input.instance.accent === p.value }])}${_attr_style(`--swatch:${p.value}`)} role=radio aria-checked=${input.instance.accent === p.value ? "true" : "false"}${_attr("title", p.name)}${_attr("aria-label", p.name)}></button>${_el_resume($scope4_id, "a")}`);
|
|
5259
|
+
_script($scope4_id, "u54");
|
|
4910
5260
|
writeScope($scope4_id, {
|
|
4911
5261
|
d: p?.value,
|
|
4912
5262
|
_: _scope_with_id($scope0_id)
|
|
@@ -4914,17 +5264,17 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4914
5264
|
}, "value", $scope0_id, "at", $sg__input_instance_accent, 0, 1, 0, 1);
|
|
4915
5265
|
const customOn = !!input.instance.accent && !ACCENT_PRESETS.some((p) => p.value === input.instance.accent);
|
|
4916
5266
|
_html(`<label${_attr_class([
|
|
4917
|
-
"
|
|
4918
|
-
"
|
|
4919
|
-
{ ["
|
|
5267
|
+
"_cM",
|
|
5268
|
+
"_cP",
|
|
5269
|
+
{ ["_cN"]: customOn }
|
|
4920
5270
|
])}${customOn ? _attr_style(`--swatch:${input.instance.accent}`) : ""} title="Custom colour"><input${_attr_input_value($scope0_id, "av", input.instance.accent || "#3556d8", _resume(function(v) {
|
|
4921
5271
|
setInstance({ accent: v });
|
|
4922
|
-
}, "u4", $scope0_id))}${_attr_class("
|
|
5272
|
+
}, "u4", $scope0_id))}${_attr_class("_cQ")} type=color aria-label="Custom accent colour">${_el_resume($scope0_id, "av")}<span aria-hidden=true>+</span></label>${_el_resume($scope0_id, "au", $sg__input_instance_accent)}</span><span${_attr_class(["_S", "_cD"])}>Selected rows, buttons, and the icon.</span></div></div></section></div></div></div>`);
|
|
4923
5273
|
_if(() => {
|
|
4924
5274
|
if (versionPick) {
|
|
4925
|
-
const $
|
|
5275
|
+
const $scope30_id = _scope_id();
|
|
4926
5276
|
_set_serialize_reason(14);
|
|
4927
|
-
const $
|
|
5277
|
+
const $childScope11 = _peek_scope_id();
|
|
4928
5278
|
prompt_dialog_default({
|
|
4929
5279
|
label: `Pin ${versionPick.label}: latest, lts, a prefix (22), or exact (22.11.0)`,
|
|
4930
5280
|
placeholder: "latest",
|
|
@@ -4933,19 +5283,19 @@ var settings_page_default = _template("u", (input) => {
|
|
|
4933
5283
|
open: versionPick != null,
|
|
4934
5284
|
openChange: _resume(function(o) {
|
|
4935
5285
|
if (!o) versionPick = null;
|
|
4936
|
-
}, "
|
|
5286
|
+
}, "u29", $scope30_id),
|
|
4937
5287
|
onSubmit: _resume(function(v) {
|
|
4938
5288
|
const pick = versionPick;
|
|
4939
5289
|
versionPick = null;
|
|
4940
5290
|
run(pick.id, "install", v);
|
|
4941
|
-
}, "
|
|
5291
|
+
}, "u30", $scope30_id)
|
|
4942
5292
|
});
|
|
4943
|
-
writeScope($
|
|
5293
|
+
writeScope($scope30_id, { a: _existing_scope($childScope11) });
|
|
4944
5294
|
return 0;
|
|
4945
5295
|
}
|
|
4946
5296
|
}, $scope0_id, "ax", 1, 1, 1, 0, 1);
|
|
4947
|
-
_script($scope0_id, "
|
|
4948
|
-
_script($scope0_id, "
|
|
5297
|
+
_script($scope0_id, "u55");
|
|
5298
|
+
_script($scope0_id, "u56");
|
|
4949
5299
|
writeScope($scope0_id, {
|
|
4950
5300
|
b1: input.setupChange,
|
|
4951
5301
|
b2: input.agentsChange,
|
|
@@ -5020,9 +5370,11 @@ var settings_page_default = _template("u", (input) => {
|
|
|
5020
5370
|
p: _existing_scope($childScope3),
|
|
5021
5371
|
dx: $active__closures,
|
|
5022
5372
|
dq: $si__input_preferred && $input_preferred__closures,
|
|
5023
|
-
|
|
5373
|
+
ek: $accountsFor2__closures,
|
|
5024
5374
|
dz: $authCodes__closures,
|
|
5025
5375
|
e0: $confirmingRemove__closures,
|
|
5376
|
+
ee: $si__input_setupChange && $refresh2__closures,
|
|
5377
|
+
ef: $run2__closures,
|
|
5026
5378
|
e8: $self_install__closures,
|
|
5027
5379
|
e7: $hits__closures,
|
|
5028
5380
|
e6: $query__closures
|
|
@@ -5031,13 +5383,13 @@ var settings_page_default = _template("u", (input) => {
|
|
|
5031
5383
|
});
|
|
5032
5384
|
//#endregion
|
|
5033
5385
|
//#region src/tags/new-workspace.css.ts
|
|
5034
|
-
var content$1 = "_bI
|
|
5035
|
-
var section$1 = "_bM
|
|
5386
|
+
var content$1 = "_bI _bk";
|
|
5387
|
+
var section$1 = "_bM _bs";
|
|
5036
5388
|
var curBase = "_bR _T _S";
|
|
5037
|
-
var archived = "_bW
|
|
5389
|
+
var archived = "_bW _bs";
|
|
5038
5390
|
var archivedHint = "_bX _S";
|
|
5039
|
-
var archivedCard = "_bY
|
|
5040
|
-
var resultBranch = "
|
|
5391
|
+
var archivedCard = "_bY _bx";
|
|
5392
|
+
var resultBranch = "_c_ _Z _j";
|
|
5041
5393
|
//#endregion
|
|
5042
5394
|
//#region src/tags/branch-pick.marko
|
|
5043
5395
|
var branch_pick_default = _template("d", (input) => {
|
|
@@ -5048,11 +5400,11 @@ var branch_pick_default = _template("d", (input) => {
|
|
|
5048
5400
|
let branches = null;
|
|
5049
5401
|
let defaultBranch = null;
|
|
5050
5402
|
let branchFilter = "";
|
|
5051
|
-
_html(`<div${_attr_class("
|
|
5403
|
+
_html(`<div${_attr_class("_db")}>`);
|
|
5052
5404
|
_if(() => {
|
|
5053
5405
|
{
|
|
5054
5406
|
const $scope4_id = _scope_id();
|
|
5055
|
-
_html(`<p${_attr_class("
|
|
5407
|
+
_html(`<p${_attr_class("_bD")}><span${_attr_class("_F")}></span> Loading branches…</p>`);
|
|
5056
5408
|
writeScope($scope4_id, {});
|
|
5057
5409
|
return 0;
|
|
5058
5410
|
}
|
|
@@ -5075,6 +5427,7 @@ var branch_pick_default = _template("d", (input) => {
|
|
|
5075
5427
|
//#endregion
|
|
5076
5428
|
//#region src/tags/repo-picker.marko
|
|
5077
5429
|
var api$5;
|
|
5430
|
+
var prefs$1;
|
|
5078
5431
|
var repo_picker_default = _template("s", (input) => {
|
|
5079
5432
|
const $scope0_reason = _scope_reason(), $si__input_onError = _serialize_if($scope0_reason, 2);
|
|
5080
5433
|
const $scope0_id = _scope_id();
|
|
@@ -5122,99 +5475,125 @@ var repo_picker_default = _template("s", (input) => {
|
|
|
5122
5475
|
branchesFor = branchesFor === fullName ? null : fullName;
|
|
5123
5476
|
if (fullName !== pasted) pasteWillFork = false;
|
|
5124
5477
|
}, "s6", $scope0_id);
|
|
5125
|
-
|
|
5478
|
+
let ssoIgnoreTick = 0;
|
|
5479
|
+
const ssoPending = (() => {
|
|
5480
|
+
const ignored = new Set(prefs$1?.ignoredSsoOrgs?.() ?? []);
|
|
5481
|
+
return (catalog?.sso || []).filter((s) => !ignored.has(s.org));
|
|
5482
|
+
})();
|
|
5483
|
+
_html(`<div${_attr_class("_c3")}>`);
|
|
5484
|
+
_if(() => {
|
|
5485
|
+
if (ssoPending.length) {
|
|
5486
|
+
const $scope7_id = _scope_id();
|
|
5487
|
+
_html(`<div${_attr_class("_c4")}>`);
|
|
5488
|
+
_set_serialize_reason(12);
|
|
5489
|
+
const $childScope = _peek_scope_id();
|
|
5490
|
+
sso_auth_default({
|
|
5491
|
+
items: ssoPending,
|
|
5492
|
+
onChange: _resume(function() {
|
|
5493
|
+
ssoIgnoreTick++;
|
|
5494
|
+
}, "s7", $scope7_id),
|
|
5495
|
+
onDone: _resume(function() {
|
|
5496
|
+
loadCatalog(true);
|
|
5497
|
+
}, "s8", $scope7_id)
|
|
5498
|
+
});
|
|
5499
|
+
_html("</div>");
|
|
5500
|
+
writeScope($scope7_id, { b: _existing_scope($childScope) });
|
|
5501
|
+
return 0;
|
|
5502
|
+
}
|
|
5503
|
+
}, $scope0_id, "b", 1, 1, 1, 0, 1);
|
|
5504
|
+
_html(`<label${_attr_class("_W")}>`);
|
|
5126
5505
|
icon_search_default({
|
|
5127
5506
|
size: 14,
|
|
5128
5507
|
class: "_X"
|
|
5129
5508
|
});
|
|
5130
|
-
_html(`<input${_attr_input_value($scope0_id, "
|
|
5509
|
+
_html(`<input${_attr_input_value($scope0_id, "e", filter, _resume(function(v) {
|
|
5131
5510
|
filter = v;
|
|
5132
5511
|
highlight = 0;
|
|
5133
5512
|
pasteWillFork = false;
|
|
5134
|
-
}, "s0", $scope0_id))}${_attr_class([inputLg, "_Y"])} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input.disabled)}>${_el_resume($scope0_id, "
|
|
5513
|
+
}, "s0", $scope0_id))}${_attr_class([inputLg, "_Y"])} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input.disabled)}>${_el_resume($scope0_id, "e")}</label>`);
|
|
5135
5514
|
_if(() => {
|
|
5136
5515
|
if (pasted) {
|
|
5137
5516
|
const $scope1_id = _scope_id();
|
|
5138
|
-
_html(`<ul${_attr_class("
|
|
5517
|
+
_html(`<ul${_attr_class("_c5")}><li><div${_attr_class(["_c7", "_c6"])}><button${_attr_class("_c8")}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
|
|
5139
5518
|
icon_plus_default({
|
|
5140
5519
|
size: 12,
|
|
5141
|
-
class: "
|
|
5520
|
+
class: "_dd"
|
|
5142
5521
|
});
|
|
5143
|
-
_html(`<span${_attr_class("
|
|
5522
|
+
_html(`<span${_attr_class("_de")}>${_escape(repoLabel(pasted))}${_el_resume($scope1_id, "f")}</span></button>${_el_resume($scope1_id, "c")}`);
|
|
5144
5523
|
_if(() => {
|
|
5145
5524
|
if (pastedForkable) {
|
|
5146
|
-
const $
|
|
5147
|
-
_html(`<button${_attr_class(["
|
|
5148
|
-
_script($
|
|
5149
|
-
_subscribe($pasteWillFork__closures, _subscribe($pasted__closures, writeScope($
|
|
5525
|
+
const $scope8_id = _scope_id();
|
|
5526
|
+
_html(`<button${_attr_class(["_da", { ["_c9"]: pasteWillFork }])}${pasteWillFork ? " title=\"Will fork to your account; click to clone as-is instead\"" : _attr("title", `Fork ${pasted} to your account and clone the fork`)} aria-pressed=${pasteWillFork ? "true" : "false"}>${pasteWillFork ? "✓ fork" : "Fork"}${_el_resume($scope8_id, "b")}</button>${_el_resume($scope8_id, "a")}`);
|
|
5527
|
+
_script($scope8_id, "s13");
|
|
5528
|
+
_subscribe($pasteWillFork__closures, _subscribe($pasted__closures, writeScope($scope8_id, { Cao: 1 })));
|
|
5150
5529
|
return 0;
|
|
5151
5530
|
}
|
|
5152
5531
|
}, $scope1_id, "g", 1, 1, 1, 0, 1);
|
|
5153
|
-
_html(`<button${_attr_class([resultBranch, { ["
|
|
5532
|
+
_html(`<button${_attr_class([resultBranch, { ["_c9"]: branchesFor === pasted }])}${_attr("title", `Pick a base branch for ${pasted}`)}${_attr("aria-label", `Pick a base branch for ${pasted}`)}>⎇</button>${_el_resume($scope1_id, "h")}</div>`);
|
|
5154
5533
|
_if(() => {
|
|
5155
5534
|
if (branchesFor === pasted) {
|
|
5156
5535
|
const $scope2_id = _scope_id();
|
|
5157
|
-
const $
|
|
5536
|
+
const $childScope2 = _peek_scope_id();
|
|
5158
5537
|
branch_pick_default({
|
|
5159
5538
|
repo: pasted,
|
|
5160
5539
|
onPick: _resume(function(branch, isDefault) {
|
|
5161
5540
|
pick(pasted, isDefault ? void 0 : branch, pastedFork(pasteWillFork));
|
|
5162
|
-
}, "
|
|
5541
|
+
}, "s9", $scope2_id),
|
|
5163
5542
|
onError: _resume(function(message) {
|
|
5164
5543
|
branchesFor = null;
|
|
5165
5544
|
input.onError?.(message);
|
|
5166
|
-
}, "
|
|
5545
|
+
}, "s10", $scope2_id)
|
|
5167
5546
|
});
|
|
5168
|
-
_subscribe($pasted__closures, _subscribe($si__input_onError && $input_onError__closures, writeScope($scope2_id, { a: _existing_scope($
|
|
5547
|
+
_subscribe($pasted__closures, _subscribe($si__input_onError && $input_onError__closures, writeScope($scope2_id, { a: _existing_scope($childScope2) })));
|
|
5169
5548
|
return 0;
|
|
5170
5549
|
}
|
|
5171
5550
|
}, $scope1_id, "i", 1, 1, 1, 0, 1);
|
|
5172
5551
|
_html("</li></ul>");
|
|
5173
|
-
_script($scope1_id, "
|
|
5552
|
+
_script($scope1_id, "s14");
|
|
5174
5553
|
writeScope($scope1_id, {});
|
|
5175
5554
|
return 0;
|
|
5176
5555
|
} else if (filter && !catalog) {
|
|
5177
|
-
const $
|
|
5178
|
-
_html(`<p${_attr_class("
|
|
5179
|
-
writeScope($
|
|
5556
|
+
const $scope9_id = _scope_id();
|
|
5557
|
+
_html(`<p${_attr_class("_bD")}>Loading repos…</p>`);
|
|
5558
|
+
writeScope($scope9_id, {});
|
|
5180
5559
|
return 1;
|
|
5181
5560
|
}
|
|
5182
|
-
}, $scope0_id, "
|
|
5561
|
+
}, $scope0_id, "f", 1, 1, 1, 0, 1);
|
|
5183
5562
|
_if(() => {
|
|
5184
5563
|
if (results.length) {
|
|
5185
5564
|
const $scope3_id = _scope_id();
|
|
5186
|
-
_html(`<ul${_attr_class("
|
|
5565
|
+
_html(`<ul${_attr_class("_c5")}>`);
|
|
5187
5566
|
_for_of(results, (repo, i) => {
|
|
5188
5567
|
const $scope4_id = _scope_id();
|
|
5189
|
-
_html(`<li><div${_attr_class(["
|
|
5568
|
+
_html(`<li><div${_attr_class(["_c7", { ["_c6"]: i === highlight }])}><button${_attr_class("_c8")}>`);
|
|
5190
5569
|
icon_plus_default({
|
|
5191
5570
|
size: 12,
|
|
5192
|
-
class: "
|
|
5571
|
+
class: "_dd"
|
|
5193
5572
|
});
|
|
5194
|
-
_html(`<span${_attr_class("
|
|
5573
|
+
_html(`<span${_attr_class("_de")}>${_escape(repoLabel(repo.nameWithOwner))}${_el_resume($scope4_id, "e")}</span></button>${_el_resume($scope4_id, "b")}<button${_attr_class([resultBranch, { ["_c9"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>⎇</button>${_el_resume($scope4_id, "f")}</div>${_el_resume($scope4_id, "a")}`);
|
|
5195
5574
|
_if(() => {
|
|
5196
5575
|
if (branchesFor === repo.nameWithOwner) {
|
|
5197
5576
|
const $scope5_id = _scope_id();
|
|
5198
|
-
const $
|
|
5577
|
+
const $childScope3 = _peek_scope_id();
|
|
5199
5578
|
branch_pick_default({
|
|
5200
5579
|
repo: repo.nameWithOwner,
|
|
5201
5580
|
onPick: _resume(function(branch, isDefault) {
|
|
5202
5581
|
pick(repo.nameWithOwner, isDefault ? void 0 : branch);
|
|
5203
|
-
}, "
|
|
5582
|
+
}, "s11", $scope5_id),
|
|
5204
5583
|
onError: _resume(function(message) {
|
|
5205
5584
|
branchesFor = null;
|
|
5206
5585
|
input.onError?.(message);
|
|
5207
|
-
}, "
|
|
5586
|
+
}, "s12", $scope5_id)
|
|
5208
5587
|
});
|
|
5209
5588
|
_subscribe($si__input_onError && $input_onError__closures, writeScope($scope5_id, {
|
|
5210
|
-
a: _existing_scope($
|
|
5211
|
-
|
|
5589
|
+
a: _existing_scope($childScope3),
|
|
5590
|
+
Caj: $si__input_onError && 1
|
|
5212
5591
|
}));
|
|
5213
5592
|
return 0;
|
|
5214
5593
|
}
|
|
5215
5594
|
}, $scope4_id, "g", 1, 1, 1, 0, 1);
|
|
5216
5595
|
_html("</li>");
|
|
5217
|
-
_script($scope4_id, "
|
|
5596
|
+
_script($scope4_id, "s15");
|
|
5218
5597
|
_subscribe($branchesFor__closures, _subscribe($highlight__closures, writeScope($scope4_id, {
|
|
5219
5598
|
j: repo?.nameWithOwner,
|
|
5220
5599
|
l: i
|
|
@@ -5224,41 +5603,44 @@ var repo_picker_default = _template("s", (input) => {
|
|
|
5224
5603
|
return 0;
|
|
5225
5604
|
} else if (filter && catalog && !pasted) {
|
|
5226
5605
|
const $scope6_id = _scope_id();
|
|
5227
|
-
_html(`<p${_attr_class("
|
|
5606
|
+
_html(`<p${_attr_class("_bD")}>No repos match "<!>${_escape(filter)}${_el_resume($scope6_id, "b")}". Paste a clone URL to add any repo.</p>`);
|
|
5228
5607
|
writeScope($scope6_id, {});
|
|
5229
5608
|
return 1;
|
|
5230
5609
|
}
|
|
5231
|
-
}, $scope0_id, "
|
|
5610
|
+
}, $scope0_id, "g", 1, 1, 1, 0, 1);
|
|
5232
5611
|
_html("</div>");
|
|
5233
5612
|
const $return = _resume(() => loadCatalog(true), "s1", $scope0_id);
|
|
5234
|
-
_script($scope0_id, "
|
|
5235
|
-
_script($scope0_id, "
|
|
5613
|
+
_script($scope0_id, "s16");
|
|
5614
|
+
_script($scope0_id, "s17");
|
|
5236
5615
|
writeScope($scope0_id, {
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
|
|
5240
|
-
|
|
5241
|
-
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
|
|
5249
|
-
a2:
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
a9:
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5616
|
+
j: _serialize_if($scope0_reason, 1) && input.refreshing,
|
|
5617
|
+
k: _serialize_if($scope0_reason, 0) && input.refreshingChange,
|
|
5618
|
+
m: input.onError,
|
|
5619
|
+
n: input.exclude,
|
|
5620
|
+
o: input.onPick,
|
|
5621
|
+
s: catalog,
|
|
5622
|
+
t: catalog?.repos,
|
|
5623
|
+
v: catalog?.sso,
|
|
5624
|
+
w: filter,
|
|
5625
|
+
x: highlight,
|
|
5626
|
+
y: loadCatalog,
|
|
5627
|
+
z: excluded,
|
|
5628
|
+
a2: results,
|
|
5629
|
+
a4: pasted,
|
|
5630
|
+
a8: pastedForkable,
|
|
5631
|
+
a9: branchesFor,
|
|
5632
|
+
ab: pasteWillFork,
|
|
5633
|
+
ac: pick,
|
|
5634
|
+
ad: pastedFork,
|
|
5635
|
+
ae: toggleBranches,
|
|
5636
|
+
af: ssoIgnoreTick,
|
|
5637
|
+
ah: ssoPending,
|
|
5638
|
+
r: input.refreshingChange || void 0,
|
|
5639
|
+
ao: $pasted__closures,
|
|
5640
|
+
ar: $pasteWillFork__closures,
|
|
5641
|
+
aj: $si__input_onError && $input_onError__closures,
|
|
5642
|
+
al: $highlight__closures,
|
|
5643
|
+
aq: $branchesFor__closures
|
|
5262
5644
|
});
|
|
5263
5645
|
_resume_branch($scope0_id);
|
|
5264
5646
|
return $return;
|
|
@@ -5362,7 +5744,7 @@ var new_workspace_default = _template("p", (input) => {
|
|
|
5362
5744
|
}
|
|
5363
5745
|
}, "p6", $scope0_id);
|
|
5364
5746
|
const titleId = _id();
|
|
5365
|
-
_html(`<div${_attr_class("
|
|
5747
|
+
_html(`<div${_attr_class("_bi")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bj")}><div${_attr_class(content$1)}>`);
|
|
5366
5748
|
_set_serialize_reason({
|
|
5367
5749
|
0: _serialize_guard($scope0_reason, 2),
|
|
5368
5750
|
1: $sg__input_backHref__OR__input_onExit,
|
|
@@ -5401,9 +5783,9 @@ var new_workspace_default = _template("p", (input) => {
|
|
|
5401
5783
|
return 0;
|
|
5402
5784
|
}
|
|
5403
5785
|
}, $scope0_id, "e", 1, 1, 1, 0, 1);
|
|
5404
|
-
_html(`<label${_attr_class("_bL")}><span${_attr_class("
|
|
5786
|
+
_html(`<label${_attr_class("_bL")}><span${_attr_class("_bH")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
|
|
5405
5787
|
name = _new_name;
|
|
5406
|
-
}, "p0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "h")}</label><section${_attr_class(section$1)}><div${_attr_class("_bN")}><h2${_attr_class("
|
|
5788
|
+
}, "p0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "h")}</label><section${_attr_class(section$1)}><div${_attr_class("_bN")}><h2${_attr_class("_bH")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
|
|
5407
5789
|
_set_serialize_reason(1);
|
|
5408
5790
|
const $childScope2 = _peek_scope_id();
|
|
5409
5791
|
icon_refresh_default({
|
|
@@ -5460,7 +5842,7 @@ var new_workspace_default = _template("p", (input) => {
|
|
|
5460
5842
|
_if(() => {
|
|
5461
5843
|
if (!selected.length) {
|
|
5462
5844
|
const $scope12_id = _scope_id();
|
|
5463
|
-
_html(`<li${_attr_class("
|
|
5845
|
+
_html(`<li${_attr_class("_bD")}>No repos yet. Search below to add one, or create it empty.</li>`);
|
|
5464
5846
|
writeScope($scope12_id, {});
|
|
5465
5847
|
return 0;
|
|
5466
5848
|
}
|
|
@@ -5527,10 +5909,10 @@ var new_workspace_default = _template("p", (input) => {
|
|
|
5527
5909
|
_if(() => {
|
|
5528
5910
|
if (archived$1.length) {
|
|
5529
5911
|
const $scope4_id = _scope_id();
|
|
5530
|
-
_html(`<section${_attr_class(archived)}><div${_attr_class("_bN")}><h2${_attr_class("
|
|
5912
|
+
_html(`<section${_attr_class(archived)}><div${_attr_class("_bN")}><h2${_attr_class("_bH")}>Archived</h2><span${_attr_class(sectionCount$1)}>${_escape(archived$1.length)}${_el_resume($scope4_id, "e", $sg__input_workspaces)}</span></div><p${_attr_class(archivedHint)}>Restore an archived workspace instead of creating a new one.</p><ul${_attr_class("_bv")}>`);
|
|
5531
5913
|
_for_of(archived$1, (ws) => {
|
|
5532
5914
|
const $scope5_id = _scope_id();
|
|
5533
|
-
_html(`<li${_attr_class(archivedCard)}><div${_attr_class("
|
|
5915
|
+
_html(`<li${_attr_class(archivedCard)}><div${_attr_class("_by")}><span${_attr_class("_bz")}>${_escape(ws.name)}${_el_resume($scope5_id, "d", $sg__input_workspaces)}</span><span${_attr_class([metaTrunc, "_x"])}${_attr("title", ws.display_path || ws.path)}>${_escape(ws.display_path || ws.path)}${_el_resume($scope5_id, "f", $sg__input_workspaces)}</span>${_el_resume($scope5_id, "e", $sg__input_workspaces)}</div><button type=button${_attr_class(btnLg)}${_attr("disabled", busy || !!restoring)}>`);
|
|
5534
5916
|
_if(() => {
|
|
5535
5917
|
if (restoring === ws.id) {
|
|
5536
5918
|
const $scope15_id = _scope_id();
|
|
@@ -5597,17 +5979,29 @@ var new_workspace_default = _template("p", (input) => {
|
|
|
5597
5979
|
/** Fetch JSON from an API route. Error bodies are always `{ error: string }`;
|
|
5598
5980
|
* when one comes back (or the response isn't ok / isn't JSON) this throws,
|
|
5599
5981
|
* so callers handle failure in one place. Pass `{ signal: $signal }` where
|
|
5600
|
-
* a component-scoped fetch should abort on destroy.
|
|
5982
|
+
* a component-scoped fetch should abort on destroy.
|
|
5983
|
+
*
|
|
5984
|
+
* Behind an auth proxy, an expired session turns into login HTML (or 401).
|
|
5985
|
+
* Reload once — same fix users already apply by hand, hosting-agnostic. */
|
|
5601
5986
|
async function api$3(url, init) {
|
|
5602
5987
|
const res = await fetch(url, init);
|
|
5988
|
+
if (isAuthDeathResponse(res)) {
|
|
5989
|
+
reloadOnceForAuth();
|
|
5990
|
+
throw new Error("session expired");
|
|
5991
|
+
}
|
|
5603
5992
|
let data;
|
|
5604
5993
|
try {
|
|
5605
5994
|
data = await res.json();
|
|
5606
5995
|
} catch {
|
|
5996
|
+
if (isAuthDeathResponse(res)) {
|
|
5997
|
+
reloadOnceForAuth();
|
|
5998
|
+
throw new Error("session expired");
|
|
5999
|
+
}
|
|
5607
6000
|
throw new Error(res.ok ? "invalid response" : `HTTP ${res.status}`);
|
|
5608
6001
|
}
|
|
5609
6002
|
if (data && typeof data === "object" && data.error) throw new Error(data.error);
|
|
5610
6003
|
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
6004
|
+
clearAuthReloadGuard();
|
|
5611
6005
|
return data;
|
|
5612
6006
|
}
|
|
5613
6007
|
//#endregion
|
|
@@ -5675,9 +6069,9 @@ function activeAgent(session) {
|
|
|
5675
6069
|
const command = session.state?.command?.trim();
|
|
5676
6070
|
return command && agentFromCommand(command) || session.agent;
|
|
5677
6071
|
}
|
|
5678
|
-
var iconBtn$1 = "
|
|
5679
|
-
var navToggle = "
|
|
5680
|
-
_template("
|
|
6072
|
+
var iconBtn$1 = "_dT _j";
|
|
6073
|
+
var navToggle = "_dY _j";
|
|
6074
|
+
_template("I", (input) => {
|
|
5681
6075
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
5682
6076
|
const $scope0_id = _scope_id();
|
|
5683
6077
|
_set_serialize_reason({
|
|
@@ -5694,7 +6088,7 @@ _template("H", (input) => {
|
|
|
5694
6088
|
});
|
|
5695
6089
|
//#endregion
|
|
5696
6090
|
//#region src/tags/icons/icon-settings.marko
|
|
5697
|
-
var icon_settings_default = _template("
|
|
6091
|
+
var icon_settings_default = _template("V", (input) => {
|
|
5698
6092
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
5699
6093
|
const $scope0_id = _scope_id();
|
|
5700
6094
|
_set_serialize_reason({
|
|
@@ -5719,12 +6113,12 @@ var ARM_MS = 3500;
|
|
|
5719
6113
|
function disarmLater(fn) {
|
|
5720
6114
|
return setTimeout(fn, ARM_MS);
|
|
5721
6115
|
}
|
|
5722
|
-
var railBtn = "
|
|
5723
|
-
var rowIcon = "
|
|
5724
|
-
var close = "
|
|
6116
|
+
var railBtn = "_fL _j";
|
|
6117
|
+
var rowIcon = "_fU _Z _j";
|
|
6118
|
+
var close = "_fV _Z _j _2";
|
|
5725
6119
|
//#endregion
|
|
5726
6120
|
//#region src/styles/session-pop.css.ts
|
|
5727
|
-
var sessionPop = "
|
|
6121
|
+
var sessionPop = "_fu _4";
|
|
5728
6122
|
//#endregion
|
|
5729
6123
|
//#region src/client/usage.ts
|
|
5730
6124
|
/** The plan row an agent instance draws on: its own account (`claude2`)
|
|
@@ -5738,7 +6132,7 @@ function usageFor(agentId, usage) {
|
|
|
5738
6132
|
}
|
|
5739
6133
|
//#endregion
|
|
5740
6134
|
//#region src/tags/icons/icon-diff.marko
|
|
5741
|
-
var icon_diff_default = _template("
|
|
6135
|
+
var icon_diff_default = _template("L", (input) => {
|
|
5742
6136
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
5743
6137
|
const $scope0_id = _scope_id();
|
|
5744
6138
|
_set_serialize_reason({
|
|
@@ -5755,7 +6149,7 @@ var icon_diff_default = _template("K", (input) => {
|
|
|
5755
6149
|
});
|
|
5756
6150
|
//#endregion
|
|
5757
6151
|
//#region src/tags/icons/icon-manage.marko
|
|
5758
|
-
var icon_manage_default = _template("
|
|
6152
|
+
var icon_manage_default = _template("R", (input) => {
|
|
5759
6153
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
5760
6154
|
const $scope0_id = _scope_id();
|
|
5761
6155
|
_set_serialize_reason({
|
|
@@ -5776,7 +6170,7 @@ function pctText(pct) {
|
|
|
5776
6170
|
const rounded = Math.round(pct);
|
|
5777
6171
|
return rounded !== pct && (rounded === 100 || rounded === 0) ? `${pct.toFixed(1)}%` : `${rounded}%`;
|
|
5778
6172
|
}
|
|
5779
|
-
var usage_pcts_default = _template("
|
|
6173
|
+
var usage_pcts_default = _template("D", (input) => {
|
|
5780
6174
|
const $scope0_reason = _scope_reason(), $sg__input_agent = _serialize_guard($scope0_reason, 1), $si__input_agent = _serialize_if($scope0_reason, 1), $sg__input_agent__OR__input_class = _serialize_guard($scope0_reason, 0), $si__input_agent__OR__input_class = _serialize_if($scope0_reason, 0);
|
|
5781
6175
|
const $scope0_id = _scope_id();
|
|
5782
6176
|
const agent = input.agent;
|
|
@@ -5785,22 +6179,22 @@ var usage_pcts_default = _template("C", (input) => {
|
|
|
5785
6179
|
if (windows.length) {
|
|
5786
6180
|
const $scope1_id = _scope_id();
|
|
5787
6181
|
_html(`<span${_attr_class([
|
|
5788
|
-
"
|
|
6182
|
+
"_fo",
|
|
5789
6183
|
input.class,
|
|
5790
|
-
{ ["
|
|
6184
|
+
{ ["_fp"]: agent.stale_seconds != null }
|
|
5791
6185
|
])}${agent.stale_seconds != null ? _attr("title", `${agent.note || "provider unreachable"}; last cached numbers`) : " title=\"Plan usage\""}>`);
|
|
5792
6186
|
_for_of(windows, (win$1, i) => {
|
|
5793
6187
|
const $scope2_id = _scope_id();
|
|
5794
|
-
_html(`<span${_attr_class("
|
|
6188
|
+
_html(`<span${_attr_class("_fq")}>`);
|
|
5795
6189
|
_if(() => {
|
|
5796
6190
|
if (i) {
|
|
5797
6191
|
const $scope3_id = _scope_id();
|
|
5798
|
-
_html(`<span${_attr_class("
|
|
6192
|
+
_html(`<span${_attr_class("_ft")} aria-hidden=true>·</span>`);
|
|
5799
6193
|
$si__input_agent && writeScope($scope3_id, {});
|
|
5800
6194
|
return 0;
|
|
5801
6195
|
}
|
|
5802
6196
|
}, $scope2_id, "b", $sg__input_agent, $sg__input_agent, $sg__input_agent, 0, 1);
|
|
5803
|
-
_html(`<span${_attr_class("
|
|
6197
|
+
_html(`<span${_attr_class("_fr")}>${_escape(win$1.window)}${_el_resume($scope2_id, "d", $sg__input_agent)}</span><span${_attr_class(["_fs", win$1.used_percent >= 90 ? "_dD" : win$1.used_percent >= 70 ? "_dC" : win$1.used_percent >= 40 ? "_dB" : "_dA"])}>${_escape(pctText(win$1.used_percent))}${_el_resume($scope2_id, "f", $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
|
|
5804
6198
|
$si__input_agent && writeScope($scope2_id, {});
|
|
5805
6199
|
}, "window", $scope1_id, "a", $sg__input_agent, $sg__input_agent__OR__input_class, $sg__input_agent, "</span>", 1);
|
|
5806
6200
|
$si__input_agent__OR__input_class && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -5816,7 +6210,7 @@ var usage_pcts_default = _template("C", (input) => {
|
|
|
5816
6210
|
});
|
|
5817
6211
|
//#endregion
|
|
5818
6212
|
//#region src/tags/icons/icon-edit.marko
|
|
5819
|
-
var icon_edit_default = _template("
|
|
6213
|
+
var icon_edit_default = _template("N", (input) => {
|
|
5820
6214
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
5821
6215
|
const $scope0_id = _scope_id();
|
|
5822
6216
|
_set_serialize_reason({
|
|
@@ -5831,12 +6225,12 @@ var icon_edit_default = _template("M", (input) => {
|
|
|
5831
6225
|
});
|
|
5832
6226
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
5833
6227
|
});
|
|
5834
|
-
var prChip = "
|
|
5835
|
-
var portChip = "
|
|
6228
|
+
var prChip = "_hn _s _hm";
|
|
6229
|
+
var portChip = "_ho _s _hm";
|
|
5836
6230
|
var prState = {
|
|
5837
|
-
open: "
|
|
5838
|
-
merged: "
|
|
5839
|
-
closed: "
|
|
6231
|
+
open: "_hs",
|
|
6232
|
+
merged: "_ht",
|
|
6233
|
+
closed: "_hu"
|
|
5840
6234
|
};
|
|
5841
6235
|
//#endregion
|
|
5842
6236
|
//#region src/tags/side-nav-chips.marko
|
|
@@ -5884,7 +6278,7 @@ var side_nav_chips_default = _template("v", (input) => {
|
|
|
5884
6278
|
const name = repo.full_name.split("/").at(-1);
|
|
5885
6279
|
return repos.some((r) => r.full_name !== repo.full_name && r.full_name.split("/").at(-1) === name) ? repoLabel(repo.full_name) : name;
|
|
5886
6280
|
}, "v2", $scope1_id);
|
|
5887
|
-
_html(`<div${_attr_class("
|
|
6281
|
+
_html(`<div${_attr_class("_hl")}>`);
|
|
5888
6282
|
_for_of(repos, (repo) => {
|
|
5889
6283
|
const $scope2_id = _scope_id();
|
|
5890
6284
|
const $for_content__repo_worktree__closures = /* @__PURE__ */ new Set();
|
|
@@ -5900,11 +6294,11 @@ var side_nav_chips_default = _template("v", (input) => {
|
|
|
5900
6294
|
[prState.merged]: pr.state === "MERGED",
|
|
5901
6295
|
[prState.closed]: pr.state === "CLOSED"
|
|
5902
6296
|
}
|
|
5903
|
-
])}${_attr("title", prTitle(repo, pr))}><a${_attr_class(["
|
|
6297
|
+
])}${_attr("title", prTitle(repo, pr))}><a${_attr_class(["_hp", { ["_hw"]: !open }])}${_attr("href", pr.url)} target=_blank rel=noopener>${_escape(repoLabel$1(repo))}${_el_resume($scope3_id, "c", $sg__input_status_repos)}#${_sep($sg__input_status_repos)}${_escape(pr.number)}${_el_resume($scope3_id, "d", $sg__input_status_repos)}</a>${_el_resume($scope3_id, "b", $sg__input_status_repos)}`);
|
|
5904
6298
|
_if(() => {
|
|
5905
6299
|
if (open) {
|
|
5906
6300
|
const $scope4_id = _scope_id();
|
|
5907
|
-
_html(`<a${_attr_class(["
|
|
6301
|
+
_html(`<a${_attr_class(["_hp", "_hq"])}${_attr("href", `/w/${input.workspaceId}/review?pr=${encodeURIComponent(`${repo.worktree}/${pr.number}`)}`)}${_attr("title", `Review #${pr.number} changes`)}>`);
|
|
5908
6302
|
icon_diff_default({ size: 12 });
|
|
5909
6303
|
_html(`</a>${_el_resume($scope4_id, "a", _serialize_guard($scope0_reason, 0))}`);
|
|
5910
6304
|
_serialize_if($scope0_reason, 2) && _subscribe($si__input_status_repos && $for_content__repo_worktree__closures, _subscribe($si__input_workspaceId && $input_workspaceId__closures, writeScope($scope4_id, { _: _scope_with_id($scope3_id) })));
|
|
@@ -5912,9 +6306,9 @@ var side_nav_chips_default = _template("v", (input) => {
|
|
|
5912
6306
|
} else {
|
|
5913
6307
|
const $scope6_id = _scope_id();
|
|
5914
6308
|
_html(`<button type=button${_attr_class([
|
|
5915
|
-
"
|
|
5916
|
-
"
|
|
5917
|
-
"
|
|
6309
|
+
"_hp",
|
|
6310
|
+
"_hq",
|
|
6311
|
+
"_hr"
|
|
5918
6312
|
])}${_attr("title", `Dismiss #${pr.number}`)}>`);
|
|
5919
6313
|
icon_xmark_default({ size: 12 });
|
|
5920
6314
|
_html(`</button>${_el_resume($scope6_id, "a")}`);
|
|
@@ -5939,10 +6333,10 @@ var side_nav_chips_default = _template("v", (input) => {
|
|
|
5939
6333
|
}, "full_name", $scope1_id, "b", $sg__input_status_repos, $sg__input_status_repos, $sg__input_status_repos__OR__input_status_ports);
|
|
5940
6334
|
_for_of(ports, (p) => {
|
|
5941
6335
|
const $scope5_id = _scope_id();
|
|
5942
|
-
_html(`<span${_attr_class(["_s", portChip])}${_attr("title", p.cmd)}><button type=button${_attr_class(["
|
|
5943
|
-
"
|
|
5944
|
-
"
|
|
5945
|
-
"
|
|
6336
|
+
_html(`<span${_attr_class(["_s", portChip])}${_attr("title", p.cmd)}><button type=button${_attr_class(["_hp", "_hv"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${p.port}`)}>:${_sep($sg__input_status_ports)}${_escape(p.port)}${_el_resume($scope5_id, "c", $sg__input_status_ports)}</button>${_el_resume($scope5_id, "b")}<button type=button${_attr_class([
|
|
6337
|
+
"_hp",
|
|
6338
|
+
"_hq",
|
|
6339
|
+
"_hr",
|
|
5946
6340
|
{ ["_q"]: armedPid === p.pid }
|
|
5947
6341
|
])}${armedPid === p.pid ? " title=Kill?" : _attr("title", `Kill ${p.cmd} (pid ${p.pid})`)}>`);
|
|
5948
6342
|
icon_xmark_default({ size: 12 });
|
|
@@ -6034,10 +6428,10 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6034
6428
|
_if(() => {
|
|
6035
6429
|
if (input.rail) {
|
|
6036
6430
|
const $scope2_id = _scope_id();
|
|
6037
|
-
_html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["
|
|
6431
|
+
_html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_fJ"]: input.current }])}${_attr("title", ws$1.name)}>${_escape((input.index ?? 0) + 1)}${_el_resume($scope2_id, "b", _serialize_guard($scope0_reason, 27))}<span${_attr_class([
|
|
6038
6432
|
"_z",
|
|
6039
6433
|
phase[dot],
|
|
6040
|
-
"
|
|
6434
|
+
"_fM"
|
|
6041
6435
|
])}></span>${_el_resume($scope2_id, "c", $sg__input_workspaceId__OR__input_status)}</a>${_el_resume($scope2_id, "a", _serialize_guard($scope0_reason, 3))}`);
|
|
6042
6436
|
_serialize_if($scope0_reason, 18) && _subscribe($si__input_workspaces__OR__input_workspaceId && $ws_name__closures, _subscribe($si__input_workspaces__OR__input_workspaceId && $ws_id__closures, _subscribe($si__input_index && $input_index__closures, _subscribe($si__input_current && $input_current__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) })))));
|
|
6043
6437
|
return 0;
|
|
@@ -6045,15 +6439,15 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6045
6439
|
const $scope3_id = _scope_id();
|
|
6046
6440
|
const sessions$1 = input.sessions || [];
|
|
6047
6441
|
const phaseLabel = dot === "working" ? "Working" : dot === "waiting" ? "Needs input" : dot === "idle" ? "Idle" : "Not running";
|
|
6048
|
-
_html(`<section${_attr_class(["
|
|
6049
|
-
["
|
|
6442
|
+
_html(`<section${_attr_class(["_fO", {
|
|
6443
|
+
["_fJ"]: input.current,
|
|
6050
6444
|
["_5"]: input.current,
|
|
6051
|
-
["
|
|
6052
|
-
["
|
|
6053
|
-
}])}><div${_attr_class("
|
|
6445
|
+
["_fP"]: input.railPop,
|
|
6446
|
+
["_fN"]: input.page
|
|
6447
|
+
}])}><div${_attr_class("_fQ")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class("_fR")}><span${_attr_class([
|
|
6054
6448
|
"_z",
|
|
6055
6449
|
phase[dot],
|
|
6056
|
-
"
|
|
6450
|
+
"_f4"
|
|
6057
6451
|
])}${_attr("title", phaseLabel)}></span>${_el_resume($scope3_id, "d", $sg__input_workspaceId__OR__input_status)}`);
|
|
6058
6452
|
_if(() => {
|
|
6059
6453
|
if (sessions$1.length === 1) {
|
|
@@ -6066,7 +6460,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6066
6460
|
icon_agent_default({
|
|
6067
6461
|
agent: activeAgent(sessions$1[0]),
|
|
6068
6462
|
size: 12,
|
|
6069
|
-
class: "
|
|
6463
|
+
class: "_fW"
|
|
6070
6464
|
});
|
|
6071
6465
|
$si__input_sessions && writeScope($scope14_id, {
|
|
6072
6466
|
_: _scope_with_id($scope3_id),
|
|
@@ -6076,16 +6470,16 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6076
6470
|
}
|
|
6077
6471
|
}, $scope3_id, "e", $sg__input_sessions, $sg__input_sessions);
|
|
6078
6472
|
const metaText = sessions$1.length === 0 ? phaseLabel : sessions$1.length === 1 ? sessions$1[0].title || "" : `${sessions$1.length} sessions`;
|
|
6079
|
-
_html(`<span${_attr_class("
|
|
6473
|
+
_html(`<span${_attr_class("_fX")}><span${_attr_class("_fY")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "h", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
|
|
6080
6474
|
_if(() => {
|
|
6081
6475
|
if (input.page && metaText) {
|
|
6082
6476
|
const $scope16_id = _scope_id();
|
|
6083
|
-
_html(`<span${_attr_class("
|
|
6477
|
+
_html(`<span${_attr_class("_f2")}>${_escape(metaText)}${_el_resume($scope16_id, "b", _serialize_guard($scope0_reason, 7))}</span>`);
|
|
6084
6478
|
$si__input_page__OR__input_sessions__OR__input_workspaceId__OR__input_status && writeScope($scope16_id, { _: _serialize_if($scope0_reason, 7) && _scope_with_id($scope3_id) });
|
|
6085
6479
|
return 0;
|
|
6086
6480
|
} else if (sessions$1.length === 1 && sessions$1[0].title) {
|
|
6087
6481
|
const $scope15_id = _scope_id();
|
|
6088
|
-
_html(`<span${_attr_class("
|
|
6482
|
+
_html(`<span${_attr_class("_fZ")}>${_escape(sessions$1[0].title)}${_el_resume($scope15_id, "b", $sg__input_sessions)}</span>`);
|
|
6089
6483
|
$si__input_page__OR__input_sessions__OR__input_workspaceId__OR__input_status && writeScope($scope15_id, { _: $si__input_sessions && _scope_with_id($scope3_id) });
|
|
6090
6484
|
return 1;
|
|
6091
6485
|
}
|
|
@@ -6098,7 +6492,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6098
6492
|
"_I",
|
|
6099
6493
|
"_R",
|
|
6100
6494
|
"_K",
|
|
6101
|
-
"
|
|
6495
|
+
"_f3"
|
|
6102
6496
|
])}>${input.current ? "Open" : ""}${_el_resume($scope4_id, "b", _serialize_guard($scope0_reason, 21))}</span>`);
|
|
6103
6497
|
$si__input_current__OR__input_page__OR__input_rail__OR__input_workspaces__OR__input_workspaceId && _subscribe($si__input_current && $input_current__closures, writeScope($scope4_id, {
|
|
6104
6498
|
_: _scope_with_id($scope3_id),
|
|
@@ -6111,7 +6505,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6111
6505
|
_if(() => {
|
|
6112
6506
|
if (!input.page) {
|
|
6113
6507
|
const $scope5_id = _scope_id();
|
|
6114
|
-
_html(`<div${_attr_class("
|
|
6508
|
+
_html(`<div${_attr_class("_fS")}>`);
|
|
6115
6509
|
_if(() => {
|
|
6116
6510
|
if (input.onNewSession) {
|
|
6117
6511
|
const $scope6_id = _scope_id();
|
|
@@ -6125,7 +6519,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6125
6519
|
_html(`</button>${_el_resume($scope6_id, "a")}<div${_attr("id", newPopId)} popover=auto${_attr_class(sessionPop)}>`);
|
|
6126
6520
|
_for_of([], (agent) => {
|
|
6127
6521
|
const $scope7_id = _scope_id();
|
|
6128
|
-
_html(`<button${_attr_class("
|
|
6522
|
+
_html(`<button${_attr_class("_fv")}>`);
|
|
6129
6523
|
_set_serialize_reason(12);
|
|
6130
6524
|
const $childScope2 = _peek_scope_id();
|
|
6131
6525
|
icon_agent_default({
|
|
@@ -6160,7 +6554,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6160
6554
|
return 0;
|
|
6161
6555
|
}
|
|
6162
6556
|
}, $scope5_id, "c", $sg__input_onReview, $sg__input_onReview, $sg__input_onNewSession__OR__input_onReview, 0, 1);
|
|
6163
|
-
_html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["
|
|
6557
|
+
_html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_fK"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
|
|
6164
6558
|
icon_manage_default({ size: 12 });
|
|
6165
6559
|
_html(`</a>${_el_resume($scope5_id, "d", _serialize_guard($scope0_reason, 8))}</div>`);
|
|
6166
6560
|
_subscribe($si__input_workspaces__OR__input_workspaceId && $ws_id__closures, _subscribe($si__input_managing && $input_managing__closures, _subscribe($si__input_onReview && $input_onReview__closures, _subscribe($si__input_onNewSession && $input_onNewSession__closures, writeScope($scope5_id, {
|
|
@@ -6170,7 +6564,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6170
6564
|
return 0;
|
|
6171
6565
|
}
|
|
6172
6566
|
}, $scope3_id, "k", $sg__input_page, $sg__input_page, 1, 0, 1);
|
|
6173
|
-
_html(`</div><div${_attr_class("
|
|
6567
|
+
_html(`</div><div${_attr_class("_f9")}>`);
|
|
6174
6568
|
_if(() => {
|
|
6175
6569
|
if (sessions$1.length === 1 && openPlan) {
|
|
6176
6570
|
const $scope11_id = _scope_id();
|
|
@@ -6178,7 +6572,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6178
6572
|
const $childScope3 = _peek_scope_id();
|
|
6179
6573
|
usage_pcts_default({
|
|
6180
6574
|
agent: openPlan,
|
|
6181
|
-
class: "
|
|
6575
|
+
class: "_f0"
|
|
6182
6576
|
});
|
|
6183
6577
|
_subscribe($openPlan__closures, writeScope($scope11_id, {
|
|
6184
6578
|
a: _existing_scope($childScope3),
|
|
@@ -6189,14 +6583,14 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6189
6583
|
}, $scope3_id, "m");
|
|
6190
6584
|
_for_of(sessions$1.length > 1 ? sessions$1 : [], (s) => {
|
|
6191
6585
|
const $scope8_id = _scope_id();
|
|
6192
|
-
_html(`<div${_attr_class(["
|
|
6586
|
+
_html(`<div${_attr_class(["_fT", { ["_fJ"]: s.id === input.currentTab }])}>`);
|
|
6193
6587
|
_if(() => {
|
|
6194
6588
|
if (renamingId === s.id) {
|
|
6195
6589
|
const $scope10_id = _scope_id();
|
|
6196
6590
|
_html(`<span${_attr_class([
|
|
6197
6591
|
"_z",
|
|
6198
6592
|
phase[sessionPhase(s.state)],
|
|
6199
|
-
"
|
|
6593
|
+
"_f7"
|
|
6200
6594
|
])}></span>${_el_resume($scope10_id, "a", $sg__input_sessions)}`);
|
|
6201
6595
|
_set_serialize_reason({
|
|
6202
6596
|
1: $sg__input_sessions,
|
|
@@ -6206,17 +6600,17 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6206
6600
|
icon_agent_default({
|
|
6207
6601
|
agent: activeAgent(s),
|
|
6208
6602
|
size: 13,
|
|
6209
|
-
class: "
|
|
6603
|
+
class: "_ga"
|
|
6210
6604
|
});
|
|
6211
6605
|
_html(`<input${_attr_input_value($scope10_id, "c", renameValue, _resume((_new_renameValue) => {
|
|
6212
6606
|
renameValue = _new_renameValue;
|
|
6213
|
-
}, "w0", $scope10_id))}${_attr_class(["_U", "
|
|
6607
|
+
}, "w0", $scope10_id))}${_attr_class(["_U", "_f8"])} aria-label="Session name">${_el_resume($scope10_id, "c")}`);
|
|
6214
6608
|
_script($scope10_id, "w5");
|
|
6215
6609
|
_subscribe($renameValue__closures, writeScope($scope10_id, { b: $si__input_sessions && _existing_scope($childScope4) }));
|
|
6216
6610
|
return 0;
|
|
6217
6611
|
} else {
|
|
6218
6612
|
const $scope9_id = _scope_id();
|
|
6219
|
-
_html(`<a${_attr("href", `/w/${ws$1.id}?s=${s.id}`)}${_attr_class("
|
|
6613
|
+
_html(`<a${_attr("href", `/w/${ws$1.id}?s=${s.id}`)}${_attr_class("_f_")}><span${_attr_class(["_z", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope9_id, "b", $sg__input_sessions)}`);
|
|
6220
6614
|
_set_serialize_reason({
|
|
6221
6615
|
1: $sg__input_sessions,
|
|
6222
6616
|
2: $sg__input_sessions
|
|
@@ -6225,9 +6619,9 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6225
6619
|
icon_agent_default({
|
|
6226
6620
|
agent: activeAgent(s),
|
|
6227
6621
|
size: 13,
|
|
6228
|
-
class: "
|
|
6622
|
+
class: "_ga"
|
|
6229
6623
|
});
|
|
6230
|
-
_html(`<span${_attr_class("
|
|
6624
|
+
_html(`<span${_attr_class("_f5")}>${_escape(s.title || activeAgent(s))}${_el_resume($scope9_id, "e", $sg__input_sessions)}</span></a>${_el_resume($scope9_id, "a", _serialize_guard($scope0_reason, 6))}<div${_attr_class("_f6")}><button${_attr_class(rowIcon)} title="Rename session">`);
|
|
6231
6625
|
icon_edit_default({ size: 12 });
|
|
6232
6626
|
_html(`</button>${_el_resume($scope9_id, "g")}<button${_attr_class([close, { ["_q"]: armedKill === s.id }])} title=${armedKill === s.id ? "Close?" : "\"Close session\""}>`);
|
|
6233
6627
|
icon_xmark_default({ size: 12 });
|
|
@@ -6239,7 +6633,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6239
6633
|
const $childScope6 = _peek_scope_id();
|
|
6240
6634
|
usage_pcts_default({
|
|
6241
6635
|
agent: openPlan,
|
|
6242
|
-
class: "
|
|
6636
|
+
class: "_f1"
|
|
6243
6637
|
});
|
|
6244
6638
|
_subscribe($openPlan__closures, writeScope($scope12_id, {
|
|
6245
6639
|
a: _existing_scope($childScope6),
|
|
@@ -6358,7 +6752,7 @@ var side_nav_item_default = _template("w", (input) => {
|
|
|
6358
6752
|
});
|
|
6359
6753
|
//#endregion
|
|
6360
6754
|
//#region src/tags/icons/icon-folder-plus.marko
|
|
6361
|
-
var icon_folder_plus_default = _template("
|
|
6755
|
+
var icon_folder_plus_default = _template("O", (input) => {
|
|
6362
6756
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
6363
6757
|
const $scope0_id = _scope_id();
|
|
6364
6758
|
_set_serialize_reason({
|
|
@@ -6375,7 +6769,7 @@ var icon_folder_plus_default = _template("N", (input) => {
|
|
|
6375
6769
|
});
|
|
6376
6770
|
//#endregion
|
|
6377
6771
|
//#region src/tags/icons/icon-sidebar-collapse.marko
|
|
6378
|
-
var icon_sidebar_collapse_default = _template("
|
|
6772
|
+
var icon_sidebar_collapse_default = _template("W", (input) => {
|
|
6379
6773
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
6380
6774
|
const $scope0_id = _scope_id();
|
|
6381
6775
|
_set_serialize_reason({
|
|
@@ -6442,34 +6836,34 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6442
6836
|
const iconSrc = `/api/instance/icon${input.instanceAccent ? `?v=${input.instanceAccent.slice(1)}` : ""}`;
|
|
6443
6837
|
const otherIds = itemIds.filter((id) => id !== ws.id);
|
|
6444
6838
|
const listIds = isPage ? [ws.id, ...otherIds] : itemIds;
|
|
6445
|
-
_html(`<aside${_attr_class(["
|
|
6446
|
-
["
|
|
6447
|
-
["
|
|
6839
|
+
_html(`<aside${_attr_class(["_dX", {
|
|
6840
|
+
["_dV"]: !navOpen,
|
|
6841
|
+
["_dW"]: isPage
|
|
6448
6842
|
}])}${_attr("hidden", view === "diff")}>`);
|
|
6449
6843
|
_if(() => {
|
|
6450
6844
|
if (isPage) {
|
|
6451
6845
|
const $scope1_id = _scope_id();
|
|
6452
|
-
_html(`<header${_attr_class("
|
|
6846
|
+
_html(`<header${_attr_class("_d0")}><div${_attr_class("_d9")}>`);
|
|
6453
6847
|
_if(() => {
|
|
6454
6848
|
if (input.instanceName) {
|
|
6455
6849
|
const $scope2_id = _scope_id();
|
|
6456
|
-
_html(`<div${_attr_class("
|
|
6850
|
+
_html(`<div${_attr_class("_d6")} title="This work server (Settings → Appearance)"><img${_attr_class("_d7")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_d8")}>${_escape(input.instanceName)}${_el_resume($scope2_id, "d", $sg__input_instanceName)}</span></div>`);
|
|
6457
6851
|
_subscribe($si__input_instanceAccent && $iconSrc__closures, _subscribe($si__input_instanceName && $input_instanceName__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) })));
|
|
6458
6852
|
return 0;
|
|
6459
6853
|
}
|
|
6460
6854
|
}, $scope1_id, "c", $sg__input_instanceName, $sg__input_instanceName, 1, 0, 1);
|
|
6461
|
-
_html(`<h1${_attr_class("
|
|
6855
|
+
_html(`<h1${_attr_class("_d1")}>Workspaces</h1></div><div${_attr_class("_d2")}>`);
|
|
6462
6856
|
_if(() => {}, $scope1_id, "f", 1, 1, 1, 0, 1);
|
|
6463
6857
|
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([
|
|
6464
6858
|
iconBtn$1,
|
|
6465
|
-
"
|
|
6466
|
-
{ ["
|
|
6859
|
+
"_d3",
|
|
6860
|
+
{ ["_dS"]: view === "settings" }
|
|
6467
6861
|
])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
|
|
6468
6862
|
icon_settings_default({ size: 16 });
|
|
6469
6863
|
_if(() => {
|
|
6470
6864
|
if (input.setupReady === false) {
|
|
6471
6865
|
const $scope12_id = _scope_id();
|
|
6472
|
-
_html(`<span${_attr_class(["_z", "
|
|
6866
|
+
_html(`<span${_attr_class(["_z", "_dU"])} title="Machine setup incomplete"></span>`);
|
|
6473
6867
|
$si__input_setupReady && writeScope($scope12_id, {});
|
|
6474
6868
|
return 0;
|
|
6475
6869
|
}
|
|
@@ -6482,18 +6876,18 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6482
6876
|
_if(() => {
|
|
6483
6877
|
if (!isPage && input.instanceName) {
|
|
6484
6878
|
const $scope3_id = _scope_id();
|
|
6485
|
-
_html(`<div${_attr_class("
|
|
6879
|
+
_html(`<div${_attr_class("_d6")} title="This work server (Settings → Appearance)"><img${_attr_class("_d7")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_d8")}>${_escape(input.instanceName)}${_el_resume($scope3_id, "d", $sg__input_instanceName)}</span></div>`);
|
|
6486
6880
|
writeScope($scope3_id, {});
|
|
6487
6881
|
return 0;
|
|
6488
6882
|
}
|
|
6489
6883
|
}, $scope0_id, "c", 1, 1, 1, 0, 1);
|
|
6490
|
-
_html(`<div${_attr_class("
|
|
6884
|
+
_html(`<div${_attr_class("_d_")}>`);
|
|
6491
6885
|
_for_of(listIds, (wsId) => {
|
|
6492
6886
|
const $scope4_id = _scope_id();
|
|
6493
6887
|
_if(() => {
|
|
6494
6888
|
if (isPage && wsId === ws.id) {
|
|
6495
6889
|
const $scope13_id = _scope_id();
|
|
6496
|
-
_html(`<h2${_attr_class(["
|
|
6890
|
+
_html(`<h2${_attr_class(["_bH", "_d4"])}>Current</h2>`);
|
|
6497
6891
|
writeScope($scope13_id, {});
|
|
6498
6892
|
return 0;
|
|
6499
6893
|
}
|
|
@@ -6501,7 +6895,7 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6501
6895
|
_if(() => {
|
|
6502
6896
|
if (isPage && wsId !== ws.id && wsId === otherIds[0]) {
|
|
6503
6897
|
const $scope14_id = _scope_id();
|
|
6504
|
-
_html(`<h2${_attr_class(["
|
|
6898
|
+
_html(`<h2${_attr_class(["_bH", "_d4"])}>Other workspaces</h2>`);
|
|
6505
6899
|
writeScope($scope14_id, {});
|
|
6506
6900
|
return 0;
|
|
6507
6901
|
}
|
|
@@ -6588,7 +6982,7 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6588
6982
|
railHover = null;
|
|
6589
6983
|
}, 150);
|
|
6590
6984
|
}, "x6", $scope5_id);
|
|
6591
|
-
_html(`<div${_attr_class("
|
|
6985
|
+
_html(`<div${_attr_class("_ea")}>`);
|
|
6592
6986
|
_for_of(itemIds, (wsId, i) => {
|
|
6593
6987
|
const $scope6_id = _scope_id();
|
|
6594
6988
|
_html("<span>");
|
|
@@ -6642,7 +7036,7 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6642
7036
|
if (railHover) {
|
|
6643
7037
|
const $scope7_id = _scope_id();
|
|
6644
7038
|
const hoverId = railHover.id;
|
|
6645
|
-
_html(`<div${_attr_class(["_4", "
|
|
7039
|
+
_html(`<div${_attr_class(["_4", "_ed"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
|
|
6646
7040
|
_set_serialize_reason({
|
|
6647
7041
|
0: 1,
|
|
6648
7042
|
1: 1,
|
|
@@ -6730,7 +7124,7 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6730
7124
|
return 0;
|
|
6731
7125
|
}
|
|
6732
7126
|
}, $scope0_id, "e");
|
|
6733
|
-
_html(`<div${_attr_class("
|
|
7127
|
+
_html(`<div${_attr_class("_eb")}>`);
|
|
6734
7128
|
_if(() => {
|
|
6735
7129
|
if (isPage) {
|
|
6736
7130
|
const $scope9_id = _scope_id();
|
|
@@ -6738,7 +7132,7 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6738
7132
|
"_o",
|
|
6739
7133
|
"_p",
|
|
6740
7134
|
btnLg,
|
|
6741
|
-
"
|
|
7135
|
+
"_d5"
|
|
6742
7136
|
])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
|
|
6743
7137
|
icon_folder_plus_default({ size: 16 });
|
|
6744
7138
|
_html(` New workspace</a>${_el_resume($scope9_id, "a")}`);
|
|
@@ -6760,19 +7154,19 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6760
7154
|
return 1;
|
|
6761
7155
|
}
|
|
6762
7156
|
}, $scope8_id, "a", 1, 1, 1, "</button>", 1);
|
|
6763
|
-
_html(`<div${_attr_class(["_y", "
|
|
7157
|
+
_html(`<div${_attr_class(["_y", "_ec"])}></div>`);
|
|
6764
7158
|
_if(() => {}, $scope8_id, "c", 1, 1, 1, 0, 1);
|
|
6765
|
-
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn$1, { ["
|
|
7159
|
+
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn$1, { ["_dS"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
|
|
6766
7160
|
icon_settings_default({ size: 15 });
|
|
6767
7161
|
_if(() => {
|
|
6768
7162
|
if (input.setupReady === false) {
|
|
6769
7163
|
const $scope17_id = _scope_id();
|
|
6770
|
-
_html(`<span${_attr_class(["_z", "
|
|
7164
|
+
_html(`<span${_attr_class(["_z", "_dU"])} title="Machine setup incomplete"></span>`);
|
|
6771
7165
|
$si__input_setupReady && writeScope($scope17_id, {});
|
|
6772
7166
|
return 0;
|
|
6773
7167
|
}
|
|
6774
7168
|
}, $scope8_id, "f", $sg__input_setupReady, $sg__input_setupReady, 1, 0, 1);
|
|
6775
|
-
_html(`</a>${_el_resume($scope8_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn$1, { ["
|
|
7169
|
+
_html(`</a>${_el_resume($scope8_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn$1, { ["_dS"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
|
|
6776
7170
|
icon_folder_plus_default({ size: 16 });
|
|
6777
7171
|
_html(`</a>${_el_resume($scope8_id, "g")}`);
|
|
6778
7172
|
_script($scope8_id, "x15");
|
|
@@ -6837,11 +7231,11 @@ var side_nav_default = _template("x", (input) => {
|
|
|
6837
7231
|
_resume_branch($scope0_id);
|
|
6838
7232
|
});
|
|
6839
7233
|
var iconBtn = "_0 _j";
|
|
6840
|
-
var sectionCount = "
|
|
6841
|
-
var content = "
|
|
6842
|
-
var pageMeta = "
|
|
6843
|
-
var pathMeta = "
|
|
6844
|
-
var dangerHint = "
|
|
7234
|
+
var sectionCount = "_bu _I _J";
|
|
7235
|
+
var content = "_dH _bk";
|
|
7236
|
+
var pageMeta = "_dI _bp";
|
|
7237
|
+
var pathMeta = "_dL _x";
|
|
7238
|
+
var dangerHint = "_dR _S";
|
|
6845
7239
|
//#endregion
|
|
6846
7240
|
//#region src/tags/manage-workspace.marko
|
|
6847
7241
|
var api$2;
|
|
@@ -6940,7 +7334,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
6940
7334
|
setTimeout(() => loadProcs(void 0), 500);
|
|
6941
7335
|
}, "n5", $scope0_id);
|
|
6942
7336
|
const titleId = _id();
|
|
6943
|
-
_html(`<div${_attr_class("
|
|
7337
|
+
_html(`<div${_attr_class("_bi")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bj")}><div${_attr_class(content)}>`);
|
|
6944
7338
|
_set_serialize_reason(30);
|
|
6945
7339
|
const $childScope = _peek_scope_id();
|
|
6946
7340
|
page_head_default({
|
|
@@ -6953,7 +7347,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
6953
7347
|
meta: attrTag({ content: _content_resume("n11", () => {
|
|
6954
7348
|
_scope_reason();
|
|
6955
7349
|
const $scope8_id = _scope_id();
|
|
6956
|
-
_html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("
|
|
7350
|
+
_html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_dJ")}>${_escape(ws.name)}${_el_resume($scope8_id, "c")}</span>`);
|
|
6957
7351
|
_if(() => {
|
|
6958
7352
|
if (ws.status !== "active") {
|
|
6959
7353
|
const $scope11_id = _scope_id();
|
|
@@ -6962,7 +7356,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
6962
7356
|
return 0;
|
|
6963
7357
|
}
|
|
6964
7358
|
}, $scope8_id, "d", 1, 1, 1, 0, 1);
|
|
6965
|
-
_html(`<span${_attr_class("
|
|
7359
|
+
_html(`<span${_attr_class("_dK")} aria-hidden=true>·</span><span${_attr_class(pathMeta)}>${_escape(ws.display_path || ws.path)}${_el_resume($scope8_id, "g")}</span></span>${_el_resume($scope8_id, "a")}`);
|
|
6966
7360
|
_subscribe($ws_status__closures, _subscribe($ws_name__closures, _subscribe($ws_path__closures, _subscribe($ws_display_path__closures, writeScope($scope8_id, { _: _scope_with_id($scope0_id) })))));
|
|
6967
7361
|
_resume_branch($scope8_id);
|
|
6968
7362
|
}, $scope0_id) })
|
|
@@ -6990,22 +7384,22 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
6990
7384
|
_if(() => {
|
|
6991
7385
|
if (pendingAction && actionStep) {
|
|
6992
7386
|
const $scope7_id = _scope_id();
|
|
6993
|
-
_html(`<p${_attr_class("
|
|
7387
|
+
_html(`<p${_attr_class("_br")}><span${_attr_class("_F")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
|
|
6994
7388
|
writeScope($scope7_id, {});
|
|
6995
7389
|
return 0;
|
|
6996
7390
|
}
|
|
6997
7391
|
}, $scope0_id, "f", 1, 1, 1, 0, 1);
|
|
6998
|
-
_html(`<section${_attr_class("
|
|
7392
|
+
_html(`<section${_attr_class("_bs")}><div${_attr_class("_bt")}><h2${_attr_class("_bH")}>Repos</h2><span${_attr_class(sectionCount)}>${_escape(ws.repos.length)}${_el_resume($scope0_id, "k")}</span><div${_attr_class("_y")}></div><button${_attr_class(iconBtn)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
|
|
6999
7393
|
_set_serialize_reason(1);
|
|
7000
7394
|
const $childScope2 = _peek_scope_id();
|
|
7001
7395
|
icon_refresh_default({
|
|
7002
7396
|
size: 14,
|
|
7003
7397
|
class: catalogRefreshing && "_E"
|
|
7004
7398
|
});
|
|
7005
|
-
_html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("
|
|
7399
|
+
_html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("_bv")}>`);
|
|
7006
7400
|
_for_of(ws.repos, (row) => {
|
|
7007
7401
|
const $scope1_id = _scope_id();
|
|
7008
|
-
_html(`<li${_attr_class("
|
|
7402
|
+
_html(`<li${_attr_class("_bx")}><div${_attr_class("_by")}><span${_attr_class(["_bz", "_x"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_bA")}><a${_attr_class(["_bB", "_dN"])}${_attr("href", repoWebUrl$1(row.full_name))} target=_blank rel=noopener${_attr("title", `Open ${row.full_name} on GitHub`)}>${_escape(repoLabel(row.full_name))}${_el_resume($scope1_id, "g")}</a>${_el_resume($scope1_id, "f")}`);
|
|
7009
7403
|
_if(() => {
|
|
7010
7404
|
if (row.base_branch !== row.default_branch) {
|
|
7011
7405
|
const $scope12_id = _scope_id();
|
|
@@ -7024,7 +7418,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7024
7418
|
} else {
|
|
7025
7419
|
const $scope6_id = _scope_id();
|
|
7026
7420
|
_html(`<button${_attr_class([
|
|
7027
|
-
"
|
|
7421
|
+
"_bC",
|
|
7028
7422
|
"_2",
|
|
7029
7423
|
"_3",
|
|
7030
7424
|
{ ["_q"]: confirmingRemove === row.full_name }
|
|
@@ -7057,19 +7451,19 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7057
7451
|
}, "full_name", $scope0_id, "p", 1, 1, 1, 0, 1);
|
|
7058
7452
|
_for_of([...busy].filter((n) => !inWorkspace.has(n)), (name) => {
|
|
7059
7453
|
const $scope16_id = _scope_id();
|
|
7060
|
-
_html(`<li${_attr_class(["
|
|
7454
|
+
_html(`<li${_attr_class(["_bx", "_bw"])}><span${_attr_class("_F")}></span><div${_attr_class("_by")}><span${_attr_class("_bB")}>Adding <!>${_escape(name)}${_el_resume($scope16_id, "e")}…</span></div></li>`);
|
|
7061
7455
|
writeScope($scope16_id, {});
|
|
7062
7456
|
}, (n) => n, $scope0_id, "q", 1, 1, 1, 0, 1);
|
|
7063
7457
|
_html("</ul>");
|
|
7064
7458
|
_if(() => {
|
|
7065
7459
|
if (!ws.repos.length && !busy.size) {
|
|
7066
7460
|
const $scope17_id = _scope_id();
|
|
7067
|
-
_html(`<p${_attr_class("
|
|
7461
|
+
_html(`<p${_attr_class("_bD")}>No repos yet. Search below to add one.</p>`);
|
|
7068
7462
|
writeScope($scope17_id, {});
|
|
7069
7463
|
return 0;
|
|
7070
7464
|
}
|
|
7071
7465
|
}, $scope0_id, "r", 1, 1, 1, 0, 1);
|
|
7072
|
-
_html(`<div${_attr_class("
|
|
7466
|
+
_html(`<div${_attr_class("_dM")}>`);
|
|
7073
7467
|
const $childScope3 = _peek_scope_id();
|
|
7074
7468
|
let refreshCatalog = repo_picker_default({
|
|
7075
7469
|
exclude: inWorkspace,
|
|
@@ -7089,17 +7483,17 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7089
7483
|
_if(() => {
|
|
7090
7484
|
if (running.length) {
|
|
7091
7485
|
const $scope9_id = _scope_id();
|
|
7092
|
-
_html(`<section${_attr_class("
|
|
7486
|
+
_html(`<section${_attr_class("_bs")}><div${_attr_class("_bt")}><h2${_attr_class("_bH")}>Running</h2><span${_attr_class(sectionCount)}>${_escape(running.length)}${_el_resume($scope9_id, "e")}</span></div><ul${_attr_class("_bv")}>`);
|
|
7093
7487
|
_for_of(running, (p) => {
|
|
7094
7488
|
const $scope10_id = _scope_id();
|
|
7095
|
-
_html(`<li${_attr_class("
|
|
7489
|
+
_html(`<li${_attr_class("_bx")}><div${_attr_class("_by")}${_attr("title", p.args)}><span${_attr_class(["_bz", "_x"])}>${_escape(p.cmd)}${_el_resume($scope10_id, "d")}</span>`);
|
|
7096
7490
|
_if(() => {
|
|
7097
7491
|
if (p.ports.length) {
|
|
7098
7492
|
const $scope18_id = _scope_id();
|
|
7099
|
-
_html(`<span${_attr_class("
|
|
7493
|
+
_html(`<span${_attr_class("_bA")}>`);
|
|
7100
7494
|
_for_of(p.ports, (port) => {
|
|
7101
7495
|
const $scope19_id = _scope_id();
|
|
7102
|
-
_html(`<button${_attr_class(["_s", "
|
|
7496
|
+
_html(`<button${_attr_class(["_s", "_dO"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope19_id, "b")}</button>${_el_resume($scope19_id, "a")}`);
|
|
7103
7497
|
_script($scope19_id, "n15");
|
|
7104
7498
|
writeScope($scope19_id, { d: port });
|
|
7105
7499
|
}, (x) => String(x), $scope18_id, "a", 1, 1, 1, "</span>", 1);
|
|
@@ -7107,7 +7501,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7107
7501
|
return 0;
|
|
7108
7502
|
}
|
|
7109
7503
|
}, $scope10_id, "e", 1, 1, 1, 0, 1);
|
|
7110
|
-
_html(`</div>${_el_resume($scope10_id, "b")}<button${_attr_class(["
|
|
7504
|
+
_html(`</div>${_el_resume($scope10_id, "b")}<button${_attr_class(["_bC", "_2"])} type=button${_attr("title", `Kill process ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>`);
|
|
7111
7505
|
icon_xmark_default({ size: 14 });
|
|
7112
7506
|
_html(`</button>${_el_resume($scope10_id, "f")}</li>`);
|
|
7113
7507
|
_script($scope10_id, "n16");
|
|
@@ -7121,7 +7515,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7121
7515
|
return 0;
|
|
7122
7516
|
}
|
|
7123
7517
|
}, $scope0_id, "v", 1, 1, 1, 0, 1);
|
|
7124
|
-
_html(`<section${_attr_class(["
|
|
7518
|
+
_html(`<section${_attr_class(["_bs", "_dP"])}><div${_attr_class("_bt")}><h2${_attr_class("_bH")}>Workspace</h2></div><div${_attr_class("_dQ")}>`);
|
|
7125
7519
|
_if(() => {
|
|
7126
7520
|
if (ws.status === "active") {
|
|
7127
7521
|
const $scope4_id = _scope_id();
|
|
@@ -7188,7 +7582,7 @@ var manage_workspace_default = _template("n", (input) => {
|
|
|
7188
7582
|
});
|
|
7189
7583
|
//#endregion
|
|
7190
7584
|
//#region src/tags/term-find.marko
|
|
7191
|
-
var term_find_default = _template("
|
|
7585
|
+
var term_find_default = _template("z", (input) => {
|
|
7192
7586
|
const $scope0_reason = _scope_reason();
|
|
7193
7587
|
const $scope0_id = _scope_id();
|
|
7194
7588
|
let open = input.open;
|
|
@@ -7205,37 +7599,37 @@ var term_find_default = _template("y", (input) => {
|
|
|
7205
7599
|
if (!live.open) return;
|
|
7206
7600
|
const search = input.onSearch;
|
|
7207
7601
|
if (search) search(live.query, dir);
|
|
7208
|
-
}, "
|
|
7602
|
+
}, "z1", $scope0_id);
|
|
7209
7603
|
const close = _resume(() => {
|
|
7210
7604
|
open = false;
|
|
7211
7605
|
live.open = false;
|
|
7212
7606
|
const clear = input.onClear;
|
|
7213
7607
|
if (clear) clear();
|
|
7214
|
-
}, "
|
|
7608
|
+
}, "z2", $scope0_id);
|
|
7215
7609
|
const focusInput = _resume(() => {
|
|
7216
7610
|
const el = ((findEl) => findEl())(_el_read_error);
|
|
7217
7611
|
if (!el) return;
|
|
7218
7612
|
el.focus();
|
|
7219
7613
|
if (document.activeElement !== el) setTimeout(() => el.focus(), 0);
|
|
7220
|
-
}, "
|
|
7614
|
+
}, "z3", $scope0_id);
|
|
7221
7615
|
const hasQuery = !!query.trim();
|
|
7222
7616
|
const canStep = hasQuery && open;
|
|
7223
7617
|
const keybar = input.placement === "keybar";
|
|
7224
7618
|
_html(`<div${_attr_class([
|
|
7225
|
-
"
|
|
7226
|
-
keybar ? "
|
|
7227
|
-
!open && "
|
|
7228
|
-
])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["
|
|
7619
|
+
"_fC",
|
|
7620
|
+
keybar ? "_fE" : "_fD",
|
|
7621
|
+
!open && "_fG"
|
|
7622
|
+
])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_fx", keybar ? "_fF" : "_fz"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
|
|
7229
7623
|
if (!open) return;
|
|
7230
7624
|
query = v;
|
|
7231
7625
|
live.query = v;
|
|
7232
7626
|
run(0);
|
|
7233
|
-
}, "
|
|
7627
|
+
}, "z0", $scope0_id))}${_attr_class([findInput, keybar && "_fH"])} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class([findIconBtn, keybar && "_fI"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_fI"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class([findIconBtn, keybar && "_fI"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
|
|
7234
7628
|
icon_xmark_default({ size: 14 });
|
|
7235
7629
|
_html(`</button>${_el_resume($scope0_id, "f")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
|
|
7236
|
-
_script($scope0_id, "
|
|
7237
|
-
_script($scope0_id, "
|
|
7238
|
-
_script($scope0_id, "
|
|
7630
|
+
_script($scope0_id, "z4");
|
|
7631
|
+
_script($scope0_id, "z5");
|
|
7632
|
+
_script($scope0_id, "z6");
|
|
7239
7633
|
writeScope($scope0_id, {
|
|
7240
7634
|
j: _serialize_if($scope0_reason, 1) && input.open,
|
|
7241
7635
|
k: _serialize_if($scope0_reason, 0) && input.openChange,
|
|
@@ -7258,7 +7652,7 @@ var term_find_default = _template("y", (input) => {
|
|
|
7258
7652
|
});
|
|
7259
7653
|
_resume_branch($scope0_id);
|
|
7260
7654
|
});
|
|
7261
|
-
_template("
|
|
7655
|
+
_template("Z", (input) => {
|
|
7262
7656
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
7263
7657
|
const $scope0_id = _scope_id();
|
|
7264
7658
|
_set_serialize_reason({
|
|
@@ -7273,7 +7667,7 @@ _template("Y", (input) => {
|
|
|
7273
7667
|
});
|
|
7274
7668
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
7275
7669
|
});
|
|
7276
|
-
_template("
|
|
7670
|
+
_template("M", (input) => {
|
|
7277
7671
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
7278
7672
|
const $scope0_id = _scope_id();
|
|
7279
7673
|
_set_serialize_reason({
|
|
@@ -7288,7 +7682,7 @@ _template("L", (input) => {
|
|
|
7288
7682
|
});
|
|
7289
7683
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
7290
7684
|
});
|
|
7291
|
-
_template("
|
|
7685
|
+
_template("Q", (input) => {
|
|
7292
7686
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
7293
7687
|
const $scope0_id = _scope_id();
|
|
7294
7688
|
_set_serialize_reason({
|
|
@@ -7303,7 +7697,7 @@ _template("P", (input) => {
|
|
|
7303
7697
|
});
|
|
7304
7698
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
7305
7699
|
});
|
|
7306
|
-
_template("
|
|
7700
|
+
_template("K", (input) => {
|
|
7307
7701
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
7308
7702
|
const $scope0_id = _scope_id();
|
|
7309
7703
|
_set_serialize_reason({
|
|
@@ -7322,7 +7716,7 @@ _template("J", (input) => {
|
|
|
7322
7716
|
//#region src/tags/term.marko
|
|
7323
7717
|
var REPEAT_DELAY = 400;
|
|
7324
7718
|
var REPEAT_EVERY = 55;
|
|
7325
|
-
var term_default = _template("
|
|
7719
|
+
var term_default = _template("A", (input) => {
|
|
7326
7720
|
const $scope0_reason = _scope_reason();
|
|
7327
7721
|
_serialize_guard($scope0_reason, 5);
|
|
7328
7722
|
_serialize_guard($scope0_reason, 0);
|
|
@@ -7341,7 +7735,7 @@ var term_default = _template("z", (input) => {
|
|
|
7341
7735
|
_serialize_guard($scope0_reason, 13);
|
|
7342
7736
|
const $si__input_sessionState = _serialize_if($scope0_reason, 6), $si__input_onCloseSession = _serialize_if($scope0_reason, 7), $si__input_workspaceName = _serialize_if($scope0_reason, 13);
|
|
7343
7737
|
const $scope0_id = _scope_id();
|
|
7344
|
-
_hoist($scope0_id, "
|
|
7738
|
+
_hoist($scope0_id, "A21");
|
|
7345
7739
|
const $findOpen__closures = /* @__PURE__ */ new Set();
|
|
7346
7740
|
const $findTick__closures = /* @__PURE__ */ new Set();
|
|
7347
7741
|
const $input_onCloseSession__closures = /* @__PURE__ */ new Set();
|
|
@@ -7363,7 +7757,7 @@ var term_default = _template("z", (input) => {
|
|
|
7363
7757
|
let findOpen = false;
|
|
7364
7758
|
const $openChange = _resume((_new_findOpen) => {
|
|
7365
7759
|
findOpen = _new_findOpen;
|
|
7366
|
-
}, "
|
|
7760
|
+
}, "A1", $scope0_id);
|
|
7367
7761
|
let findTick = 0;
|
|
7368
7762
|
const ioBox = { current: null };
|
|
7369
7763
|
const searchBox = {
|
|
@@ -7371,7 +7765,7 @@ var term_default = _template("z", (input) => {
|
|
|
7371
7765
|
query: "",
|
|
7372
7766
|
refreshTimer: 0
|
|
7373
7767
|
};
|
|
7374
|
-
const findFocusRef = { focus: _resume(function() {}, "
|
|
7768
|
+
const findFocusRef = { focus: _resume(function() {}, "A2") };
|
|
7375
7769
|
const scheduleFindRefresh = _resume(() => {
|
|
7376
7770
|
if (!searchBox.query.trim() || !searchBox.overlay) return;
|
|
7377
7771
|
if (searchBox.refreshTimer) clearTimeout(searchBox.refreshTimer);
|
|
@@ -7379,7 +7773,7 @@ var term_default = _template("z", (input) => {
|
|
|
7379
7773
|
searchBox.refreshTimer = 0;
|
|
7380
7774
|
searchBox.overlay?.refresh();
|
|
7381
7775
|
}, 32);
|
|
7382
|
-
}, "
|
|
7776
|
+
}, "A3", $scope0_id);
|
|
7383
7777
|
const runFind = _resume((query, dir) => {
|
|
7384
7778
|
const overlay = searchBox.overlay;
|
|
7385
7779
|
if (!overlay) return;
|
|
@@ -7393,7 +7787,7 @@ var term_default = _template("z", (input) => {
|
|
|
7393
7787
|
return;
|
|
7394
7788
|
}
|
|
7395
7789
|
overlay.search(query, dir);
|
|
7396
|
-
}, "
|
|
7790
|
+
}, "A4", $scope0_id);
|
|
7397
7791
|
const clearFind = _resume(() => {
|
|
7398
7792
|
if (searchBox.refreshTimer) {
|
|
7399
7793
|
clearTimeout(searchBox.refreshTimer);
|
|
@@ -7401,7 +7795,7 @@ var term_default = _template("z", (input) => {
|
|
|
7401
7795
|
}
|
|
7402
7796
|
searchBox.query = "";
|
|
7403
7797
|
searchBox.overlay?.clear();
|
|
7404
|
-
}, "
|
|
7798
|
+
}, "A5", $scope0_id);
|
|
7405
7799
|
const openFind = _resume(() => {
|
|
7406
7800
|
if (kb) {
|
|
7407
7801
|
kb = false;
|
|
@@ -7411,7 +7805,7 @@ var term_default = _template("z", (input) => {
|
|
|
7411
7805
|
findOpen = true;
|
|
7412
7806
|
findTick++;
|
|
7413
7807
|
findFocusRef.focus();
|
|
7414
|
-
}, "
|
|
7808
|
+
}, "A6", $scope0_id);
|
|
7415
7809
|
const toggleFind = _resume(() => {
|
|
7416
7810
|
if (findOpen) {
|
|
7417
7811
|
findOpen = false;
|
|
@@ -7420,7 +7814,7 @@ var term_default = _template("z", (input) => {
|
|
|
7420
7814
|
return;
|
|
7421
7815
|
}
|
|
7422
7816
|
openFind();
|
|
7423
|
-
}, "
|
|
7817
|
+
}, "A7", $scope0_id);
|
|
7424
7818
|
const onTermPage = input.mode == null || input.mode === "term";
|
|
7425
7819
|
const canKeys = onTermPage || input.mode === "diff";
|
|
7426
7820
|
const findLit = onTermPage ? findOpen : input.mode === "diff" && !!input.reviewFindOpen;
|
|
@@ -7431,7 +7825,7 @@ var term_default = _template("z", (input) => {
|
|
|
7431
7825
|
return;
|
|
7432
7826
|
}
|
|
7433
7827
|
if (input.mode === "diff") input.onToggleReviewFind?.();
|
|
7434
|
-
}, "
|
|
7828
|
+
}, "A8", $scope0_id);
|
|
7435
7829
|
const thisAgent = activeAgent({
|
|
7436
7830
|
agent: input.agent || "shell",
|
|
7437
7831
|
state: input.sessionState
|
|
@@ -7443,7 +7837,7 @@ var term_default = _template("z", (input) => {
|
|
|
7443
7837
|
copyFlashBox.timer = setTimeout(() => {
|
|
7444
7838
|
copiedFlash = false;
|
|
7445
7839
|
}, 1200);
|
|
7446
|
-
}, "
|
|
7840
|
+
}, "A9", $scope0_id);
|
|
7447
7841
|
const holdBox = { current: null };
|
|
7448
7842
|
const startHold = _resume((seq) => {
|
|
7449
7843
|
((stopHold) => stopHold())(_hoist_read_error);
|
|
@@ -7453,7 +7847,7 @@ var term_default = _template("z", (input) => {
|
|
|
7453
7847
|
state.repeat = setInterval(() => ioBox.current?.send(seq), REPEAT_EVERY);
|
|
7454
7848
|
}, REPEAT_DELAY);
|
|
7455
7849
|
holdBox.current = state;
|
|
7456
|
-
}, "
|
|
7850
|
+
}, "A10", $scope0_id);
|
|
7457
7851
|
const stopHold = _resume(() => {
|
|
7458
7852
|
const hold = holdBox.current;
|
|
7459
7853
|
if (hold) {
|
|
@@ -7461,7 +7855,7 @@ var term_default = _template("z", (input) => {
|
|
|
7461
7855
|
clearInterval(hold.repeat);
|
|
7462
7856
|
holdBox.current = null;
|
|
7463
7857
|
}
|
|
7464
|
-
}, "
|
|
7858
|
+
}, "A11", $scope0_id);
|
|
7465
7859
|
const uploadAsset = _resume(async (file) => {
|
|
7466
7860
|
if (!file) return;
|
|
7467
7861
|
uploading = true;
|
|
@@ -7474,7 +7868,7 @@ var term_default = _template("z", (input) => {
|
|
|
7474
7868
|
} finally {
|
|
7475
7869
|
uploading = false;
|
|
7476
7870
|
}
|
|
7477
|
-
}, "
|
|
7871
|
+
}, "A12", $scope0_id);
|
|
7478
7872
|
const handlePasted = _resume(async (clipboardData) => {
|
|
7479
7873
|
const files = [...clipboardData?.files || []];
|
|
7480
7874
|
for (const file of files) await uploadAsset(file);
|
|
@@ -7483,7 +7877,7 @@ var term_default = _template("z", (input) => {
|
|
|
7483
7877
|
if (text) ioBox.current?.send(text);
|
|
7484
7878
|
}
|
|
7485
7879
|
trapOpen = false;
|
|
7486
|
-
}, "
|
|
7880
|
+
}, "A13", $scope0_id);
|
|
7487
7881
|
const pasteClipboard = _resume(async () => {
|
|
7488
7882
|
if (!navigator.clipboard?.read) {
|
|
7489
7883
|
trapOpen = true;
|
|
@@ -7503,8 +7897,8 @@ var term_default = _template("z", (input) => {
|
|
|
7503
7897
|
} catch {
|
|
7504
7898
|
trapOpen = true;
|
|
7505
7899
|
}
|
|
7506
|
-
}, "
|
|
7507
|
-
_html(`<div${_attr("hidden", !onTermPage)}${_attr_class("
|
|
7900
|
+
}, "A14", $scope0_id);
|
|
7901
|
+
_html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_ee")}><div${_attr_class("_ef")}></div>${_el_resume($scope0_id, "b")}`);
|
|
7508
7902
|
_if(() => {
|
|
7509
7903
|
if (findOpen) {
|
|
7510
7904
|
const $scope12_id = _scope_id();
|
|
@@ -7518,11 +7912,11 @@ var term_default = _template("z", (input) => {
|
|
|
7518
7912
|
focusRef: findFocusRef,
|
|
7519
7913
|
onSearch: _resume(function(q, dir) {
|
|
7520
7914
|
runFind(q, dir);
|
|
7521
|
-
}, "
|
|
7915
|
+
}, "A15", $scope12_id),
|
|
7522
7916
|
onClear: _resume(function() {
|
|
7523
7917
|
clearFind();
|
|
7524
7918
|
ioBox.current?.setFindMode(false);
|
|
7525
|
-
}, "
|
|
7919
|
+
}, "A16", $scope12_id)
|
|
7526
7920
|
});
|
|
7527
7921
|
writeScope($scope12_id, { a: _existing_scope($childScope) });
|
|
7528
7922
|
return 0;
|
|
@@ -7531,7 +7925,7 @@ var term_default = _template("z", (input) => {
|
|
|
7531
7925
|
_if(() => {
|
|
7532
7926
|
if (uploading) {
|
|
7533
7927
|
const $scope19_id = _scope_id();
|
|
7534
|
-
_html(`<div${_attr_class("
|
|
7928
|
+
_html(`<div${_attr_class("_el")}>uploading…</div>`);
|
|
7535
7929
|
writeScope($scope19_id, {});
|
|
7536
7930
|
return 0;
|
|
7537
7931
|
}
|
|
@@ -7539,7 +7933,7 @@ var term_default = _template("z", (input) => {
|
|
|
7539
7933
|
_if(() => {
|
|
7540
7934
|
if (copiedFlash) {
|
|
7541
7935
|
const $scope20_id = _scope_id();
|
|
7542
|
-
_html(`<div${_attr_class("
|
|
7936
|
+
_html(`<div${_attr_class("_ek")}>Copied</div>`);
|
|
7543
7937
|
writeScope($scope20_id, {});
|
|
7544
7938
|
return 0;
|
|
7545
7939
|
}
|
|
@@ -7548,18 +7942,18 @@ var term_default = _template("z", (input) => {
|
|
|
7548
7942
|
_if(() => {
|
|
7549
7943
|
if (trapOpen) {
|
|
7550
7944
|
const $scope11_id = _scope_id();
|
|
7551
|
-
_html(`<div${_attr_class("
|
|
7552
|
-
_script($scope11_id, "
|
|
7553
|
-
_script($scope11_id, "
|
|
7945
|
+
_html(`<div${_attr_class("_em")}><div${_attr_class("_en")}><p${_attr_class("_eS")}>Long-press the field below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope11_id, "d")}<button${_attr_class("_o")}>Cancel</button>${_el_resume($scope11_id, "e")}</div>${_el_resume($scope11_id, "b")}</div>${_el_resume($scope11_id, "a")}`);
|
|
7946
|
+
_script($scope11_id, "A25");
|
|
7947
|
+
_script($scope11_id, "A26");
|
|
7554
7948
|
writeScope($scope11_id, {});
|
|
7555
7949
|
return 0;
|
|
7556
7950
|
}
|
|
7557
7951
|
}, $scope0_id, "g", 1, 1, 1, 0, 1);
|
|
7558
7952
|
_html(`</div>${_el_resume($scope0_id, "a")}`);
|
|
7559
7953
|
_if(() => {}, $scope0_id, "h", 1, 1, 1, 0, 1);
|
|
7560
|
-
_script($scope0_id, "
|
|
7561
|
-
_script($scope0_id, "
|
|
7562
|
-
_script($scope0_id, "
|
|
7954
|
+
_script($scope0_id, "A41");
|
|
7955
|
+
_script($scope0_id, "A42");
|
|
7956
|
+
_script($scope0_id, "A43");
|
|
7563
7957
|
writeScope($scope0_id, {
|
|
7564
7958
|
k: input.mode,
|
|
7565
7959
|
l: input.reviewFindOpen,
|
|
@@ -7626,7 +8020,7 @@ var term_default = _template("z", (input) => {
|
|
|
7626
8020
|
//#region src/tags/work-view.marko
|
|
7627
8021
|
var api$1;
|
|
7628
8022
|
var isTransientApiError$1;
|
|
7629
|
-
var work_view_default = _template("
|
|
8023
|
+
var work_view_default = _template("E", (input) => {
|
|
7630
8024
|
const $scope0_reason = _scope_reason(), $sg__input_workspace = _serialize_guard($scope0_reason, 6), $sg__input_agents = _serialize_guard($scope0_reason, 15), $sg__input_allWorkspaces = _serialize_guard($scope0_reason, 14), $si__input_workspace = _serialize_if($scope0_reason, 6), $si__input_active = _serialize_if($scope0_reason, 8), $si__input_agents = _serialize_if($scope0_reason, 15), $si__input_preferred = _serialize_if($scope0_reason, 9);
|
|
7631
8025
|
const $scope0_id = _scope_id();
|
|
7632
8026
|
const $error__closures = /* @__PURE__ */ new Set();
|
|
@@ -7651,16 +8045,16 @@ var work_view_default = _template("D", (input) => {
|
|
|
7651
8045
|
let DiffView = null;
|
|
7652
8046
|
const loadDiffView = _resume(() => {
|
|
7653
8047
|
if (DiffView) return;
|
|
7654
|
-
import("./
|
|
8048
|
+
import("./_DWAnBXsO.js").then((m) => {
|
|
7655
8049
|
DiffView = m.default;
|
|
7656
8050
|
});
|
|
7657
|
-
}, "
|
|
8051
|
+
}, "E6", $scope0_id);
|
|
7658
8052
|
let manageMounted = input.initialView === "manage";
|
|
7659
8053
|
let settingsMounted = input.initialView === "settings";
|
|
7660
8054
|
let newMounted = input.initialView === "new";
|
|
7661
8055
|
let reviewFindOpen = false;
|
|
7662
8056
|
let reviewFindTick = 0;
|
|
7663
|
-
const reviewFindFocus = { focus: _resume(function() {}, "
|
|
8057
|
+
const reviewFindFocus = { focus: _resume(function() {}, "E0") };
|
|
7664
8058
|
let focusPr = input.initialPr ?? "";
|
|
7665
8059
|
let focusNonce = 0;
|
|
7666
8060
|
let reviewScope = input.initialScope ?? null;
|
|
@@ -7678,22 +8072,22 @@ var work_view_default = _template("D", (input) => {
|
|
|
7678
8072
|
loadDiffView();
|
|
7679
8073
|
diffMounted = true;
|
|
7680
8074
|
view = "diff";
|
|
7681
|
-
}, "
|
|
8075
|
+
}, "E7", $scope0_id);
|
|
7682
8076
|
const openManage = _resume(() => {
|
|
7683
8077
|
manageMounted = true;
|
|
7684
8078
|
view = "manage";
|
|
7685
|
-
}, "
|
|
8079
|
+
}, "E8", $scope0_id);
|
|
7686
8080
|
const openSettings = _resume(() => {
|
|
7687
8081
|
settingsMounted = true;
|
|
7688
8082
|
view = "settings";
|
|
7689
|
-
}, "
|
|
8083
|
+
}, "E9", $scope0_id);
|
|
7690
8084
|
const toggleNav = _resume(() => {
|
|
7691
8085
|
view = view === "nav" ? "term" : "nav";
|
|
7692
|
-
}, "
|
|
8086
|
+
}, "E10", $scope0_id);
|
|
7693
8087
|
const toggleDiff = _resume(() => {
|
|
7694
8088
|
if (view === "diff") view = "term";
|
|
7695
8089
|
else openDiff();
|
|
7696
|
-
}, "
|
|
8090
|
+
}, "E11", $scope0_id);
|
|
7697
8091
|
const shownSessions = sessions ?? input.allStatus?.[ws.id]?.sessions ?? null;
|
|
7698
8092
|
const curTab = (() => {
|
|
7699
8093
|
if (tab && shownSessions?.some((s) => s.id === tab)) return tab;
|
|
@@ -7710,10 +8104,10 @@ var work_view_default = _template("D", (input) => {
|
|
|
7710
8104
|
reviewFindOpen = true;
|
|
7711
8105
|
reviewFindTick++;
|
|
7712
8106
|
reviewFindFocus.focus();
|
|
7713
|
-
}, "
|
|
8107
|
+
}, "E12", $scope0_id);
|
|
7714
8108
|
const exitCreate = _resume(() => {
|
|
7715
8109
|
if (view === "new") view = "term";
|
|
7716
|
-
}, "
|
|
8110
|
+
}, "E13", $scope0_id);
|
|
7717
8111
|
const applyView = _resume((v) => {
|
|
7718
8112
|
if (v.view === "diff") {
|
|
7719
8113
|
if (v.scope !== void 0) reviewScope = v.scope ?? null;
|
|
@@ -7728,7 +8122,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7728
8122
|
}
|
|
7729
8123
|
view = "term";
|
|
7730
8124
|
}
|
|
7731
|
-
}, "
|
|
8125
|
+
}, "E14", $scope0_id);
|
|
7732
8126
|
const createSession = _resume(async (agent, select) => {
|
|
7733
8127
|
spawning = true;
|
|
7734
8128
|
try {
|
|
@@ -7749,7 +8143,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7749
8143
|
} finally {
|
|
7750
8144
|
spawning = false;
|
|
7751
8145
|
}
|
|
7752
|
-
}, "
|
|
8146
|
+
}, "E15", $scope0_id);
|
|
7753
8147
|
const loadMem = {
|
|
7754
8148
|
wanted: false,
|
|
7755
8149
|
run: void 0
|
|
@@ -7775,11 +8169,11 @@ var work_view_default = _template("D", (input) => {
|
|
|
7775
8169
|
if (isTransientApiError$1(err)) return;
|
|
7776
8170
|
error = String(err.message || err);
|
|
7777
8171
|
}
|
|
7778
|
-
}, "
|
|
8172
|
+
}, "E16", $scope0_id);
|
|
7779
8173
|
const loadSessions = _resume((autoCreate) => {
|
|
7780
8174
|
if (autoCreate) loadMem.wanted = true;
|
|
7781
8175
|
return (loadMem.run ??= coalesce(loadBody))();
|
|
7782
|
-
}, "
|
|
8176
|
+
}, "E17", $scope0_id);
|
|
7783
8177
|
const closeSession = _resume(async (id) => {
|
|
7784
8178
|
try {
|
|
7785
8179
|
sessions = (sessions || []).filter((s) => s.id !== id);
|
|
@@ -7789,7 +8183,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7789
8183
|
error = `Close session failed: ${String(err.message || err)}`;
|
|
7790
8184
|
loadSessions(false);
|
|
7791
8185
|
}
|
|
7792
|
-
}, "
|
|
8186
|
+
}, "E18", $scope0_id);
|
|
7793
8187
|
const renameSession = _resume(async (id, title) => {
|
|
7794
8188
|
title = title.trim();
|
|
7795
8189
|
const cur = (sessions || []).find((s) => s.id === id);
|
|
@@ -7804,7 +8198,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7804
8198
|
headers: { "content-type": "application/json" },
|
|
7805
8199
|
body: JSON.stringify({ title })
|
|
7806
8200
|
});
|
|
7807
|
-
}, "
|
|
8201
|
+
}, "E19", $scope0_id);
|
|
7808
8202
|
const newSession = _resume(async (wsId, agent) => {
|
|
7809
8203
|
if (wsId === ws.id) {
|
|
7810
8204
|
const session = await createSession(agent, true);
|
|
@@ -7822,7 +8216,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7822
8216
|
} catch (err) {
|
|
7823
8217
|
error = String(err.message || err);
|
|
7824
8218
|
}
|
|
7825
|
-
}, "
|
|
8219
|
+
}, "E20", $scope0_id);
|
|
7826
8220
|
const onKey = _resume((e) => {
|
|
7827
8221
|
const target = e.target;
|
|
7828
8222
|
const typing = !!target && !target.closest(".xterm") && (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.tagName === "SELECT" || target.isContentEditable);
|
|
@@ -7836,7 +8230,7 @@ var work_view_default = _template("D", (input) => {
|
|
|
7836
8230
|
e.preventDefault();
|
|
7837
8231
|
toggleDiff();
|
|
7838
8232
|
}
|
|
7839
|
-
}, "
|
|
8233
|
+
}, "E21", $scope0_id);
|
|
7840
8234
|
_html(`<div${_attr_class(["_b2", {
|
|
7841
8235
|
["_b0"]: view === "nav",
|
|
7842
8236
|
["_b1"]: !input.active
|
|
@@ -7872,35 +8266,35 @@ var work_view_default = _template("D", (input) => {
|
|
|
7872
8266
|
tab: curTab,
|
|
7873
8267
|
tabChange: _resume(function(id) {
|
|
7874
8268
|
tab = id;
|
|
7875
|
-
}, "
|
|
8269
|
+
}, "E22", $scope0_id),
|
|
7876
8270
|
view,
|
|
7877
8271
|
viewChange: _resume((_new_view) => {
|
|
7878
8272
|
view = _new_view;
|
|
7879
|
-
}, "
|
|
8273
|
+
}, "E23", $scope0_id),
|
|
7880
8274
|
allWorkspaces: input.allWorkspaces,
|
|
7881
8275
|
allStatus: input.allStatus,
|
|
7882
8276
|
agents: input.agents,
|
|
7883
8277
|
onError: _resume(function(message) {
|
|
7884
8278
|
error = message;
|
|
7885
|
-
}, "
|
|
8279
|
+
}, "E24", $scope0_id),
|
|
7886
8280
|
onSelectWorkspace: _resume(function(id) {
|
|
7887
8281
|
exitCreate();
|
|
7888
8282
|
input.onSelectWorkspace?.(id);
|
|
7889
|
-
}, "
|
|
8283
|
+
}, "E25", $scope0_id),
|
|
7890
8284
|
onNewSession: _resume(function(wsId, agent) {
|
|
7891
8285
|
exitCreate();
|
|
7892
8286
|
newSession(wsId, agent);
|
|
7893
|
-
}, "
|
|
8287
|
+
}, "E26", $scope0_id),
|
|
7894
8288
|
onCloseSession: _resume(function(id) {
|
|
7895
8289
|
closeSession(id);
|
|
7896
|
-
}, "
|
|
8290
|
+
}, "E27", $scope0_id),
|
|
7897
8291
|
onRenameSession: _resume(function(s, title) {
|
|
7898
8292
|
renameSession(s.id, title);
|
|
7899
|
-
}, "
|
|
8293
|
+
}, "E28", $scope0_id),
|
|
7900
8294
|
onReviewOpened: _resume(function(pr) {
|
|
7901
8295
|
exitCreate();
|
|
7902
8296
|
openDiff(pr);
|
|
7903
|
-
}, "
|
|
8297
|
+
}, "E29", $scope0_id)
|
|
7904
8298
|
});
|
|
7905
8299
|
_html(`</div><div${_attr_class("_b4")}>`);
|
|
7906
8300
|
_if(() => {
|
|
@@ -7909,8 +8303,8 @@ var work_view_default = _template("D", (input) => {
|
|
|
7909
8303
|
toast_default({
|
|
7910
8304
|
onDismiss: _resume(function() {
|
|
7911
8305
|
error = null;
|
|
7912
|
-
}, "
|
|
7913
|
-
content: _content_resume("
|
|
8306
|
+
}, "E30", $scope8_id),
|
|
8307
|
+
content: _content_resume("E48", () => {
|
|
7914
8308
|
_scope_reason();
|
|
7915
8309
|
const $scope9_id = _scope_id();
|
|
7916
8310
|
_html(`${_escape(error)}${_el_resume($scope9_id, "a")}`);
|
|
@@ -7939,23 +8333,23 @@ var work_view_default = _template("D", (input) => {
|
|
|
7939
8333
|
scope: reviewScope,
|
|
7940
8334
|
onScopeChange: _resume(function(s) {
|
|
7941
8335
|
reviewScope = s === "committed" ? null : s;
|
|
7942
|
-
}, "
|
|
8336
|
+
}, "E1", $scope1_id),
|
|
7943
8337
|
onFileChange: _resume(function(f) {
|
|
7944
8338
|
reviewFile = f;
|
|
7945
|
-
}, "
|
|
8339
|
+
}, "E2", $scope1_id),
|
|
7946
8340
|
findOpen: reviewFindOpen,
|
|
7947
8341
|
findOpenChange: _resume((_new_reviewFindOpen) => {
|
|
7948
8342
|
reviewFindOpen = _new_reviewFindOpen;
|
|
7949
|
-
}, "
|
|
8343
|
+
}, "E3", $scope1_id),
|
|
7950
8344
|
findTick: reviewFindTick,
|
|
7951
8345
|
findFocusRef: reviewFindFocus,
|
|
7952
8346
|
onSent: _resume(function(sessionId) {
|
|
7953
8347
|
tab = sessionId;
|
|
7954
8348
|
view = "term";
|
|
7955
|
-
}, "
|
|
8349
|
+
}, "E4", $scope1_id),
|
|
7956
8350
|
onExit: _resume(function() {
|
|
7957
8351
|
view = "term";
|
|
7958
|
-
}, "
|
|
8352
|
+
}, "E5", $scope1_id)
|
|
7959
8353
|
});
|
|
7960
8354
|
_html(`</div>${_el_resume($scope1_id, "a")}`);
|
|
7961
8355
|
writeScope($scope1_id, {});
|
|
@@ -7972,13 +8366,13 @@ var work_view_default = _template("D", (input) => {
|
|
|
7972
8366
|
workspace: ws,
|
|
7973
8367
|
workspaceChange: _resume(function(next) {
|
|
7974
8368
|
input.onWorkspaceChange?.(next);
|
|
7975
|
-
}, "
|
|
8369
|
+
}, "E31", $scope2_id),
|
|
7976
8370
|
onExit: _resume(function() {
|
|
7977
8371
|
view = "term";
|
|
7978
|
-
}, "
|
|
8372
|
+
}, "E32", $scope2_id),
|
|
7979
8373
|
onDeleted: _resume(function() {
|
|
7980
8374
|
input.onWorkspaceDeleted?.(ws.id);
|
|
7981
|
-
}, "
|
|
8375
|
+
}, "E33", $scope2_id)
|
|
7982
8376
|
});
|
|
7983
8377
|
_html(`</div>${_el_resume($scope2_id, "a")}`);
|
|
7984
8378
|
writeScope($scope2_id, { b: _serialize_if($scope0_reason, 4) && _existing_scope($childScope2) });
|
|
@@ -7992,10 +8386,11 @@ var work_view_default = _template("D", (input) => {
|
|
|
7992
8386
|
_set_serialize_reason({
|
|
7993
8387
|
0: _serialize_guard($scope0_reason, 1),
|
|
7994
8388
|
1: $sg__input_workspace,
|
|
7995
|
-
2: _serialize_guard($scope0_reason,
|
|
7996
|
-
3: $
|
|
7997
|
-
4: $
|
|
7998
|
-
5:
|
|
8389
|
+
2: _serialize_guard($scope0_reason, 17),
|
|
8390
|
+
3: _serialize_guard($scope0_reason, 9),
|
|
8391
|
+
4: $sg__input_workspace,
|
|
8392
|
+
5: $sg__input_agents,
|
|
8393
|
+
6: _serialize_guard($scope0_reason, 10)
|
|
7999
8394
|
});
|
|
8000
8395
|
const $childScope3 = _peek_scope_id();
|
|
8001
8396
|
settings_page_default({
|
|
@@ -8004,21 +8399,21 @@ var work_view_default = _template("D", (input) => {
|
|
|
8004
8399
|
instance: input.instance,
|
|
8005
8400
|
instanceChange: _resume(function(i) {
|
|
8006
8401
|
input.onInstanceChange?.(i);
|
|
8007
|
-
}, "
|
|
8402
|
+
}, "E34", $scope3_id),
|
|
8008
8403
|
backHref: `/w/${ws.id}`,
|
|
8009
8404
|
onExit: _resume(function() {
|
|
8010
8405
|
view = "term";
|
|
8011
|
-
}, "
|
|
8406
|
+
}, "E35", $scope3_id),
|
|
8012
8407
|
setup: input.setup,
|
|
8013
8408
|
setupChange: _resume(function(s) {
|
|
8014
8409
|
input.onSetupChange?.(s);
|
|
8015
|
-
}, "
|
|
8410
|
+
}, "E36", $scope3_id),
|
|
8016
8411
|
preferredChange: _resume(function(agent) {
|
|
8017
8412
|
input.onPreferredChange?.(agent);
|
|
8018
|
-
}, "
|
|
8413
|
+
}, "E37", $scope3_id),
|
|
8019
8414
|
agentsChange: _resume(function(agents) {
|
|
8020
8415
|
input.onAgentsChange?.(agents);
|
|
8021
|
-
}, "
|
|
8416
|
+
}, "E38", $scope3_id)
|
|
8022
8417
|
});
|
|
8023
8418
|
_html(`</div>${_el_resume($scope3_id, "a")}`);
|
|
8024
8419
|
writeScope($scope3_id, { b: _serialize_if($scope0_reason, 5) && _existing_scope($childScope3) });
|
|
@@ -8040,15 +8435,15 @@ var work_view_default = _template("D", (input) => {
|
|
|
8040
8435
|
backHref: `/w/${ws.id}`,
|
|
8041
8436
|
onExit: _resume(function() {
|
|
8042
8437
|
exitCreate();
|
|
8043
|
-
}, "
|
|
8438
|
+
}, "E39", $scope4_id),
|
|
8044
8439
|
onCreate: _resume(function(ws) {
|
|
8045
8440
|
input.onCreated?.(ws);
|
|
8046
|
-
}, "
|
|
8441
|
+
}, "E40", $scope4_id),
|
|
8047
8442
|
onRestore: _resume(function(next) {
|
|
8048
8443
|
input.onWorkspaceChange?.(next);
|
|
8049
8444
|
input.onSelectWorkspace?.(next.id);
|
|
8050
8445
|
exitCreate();
|
|
8051
|
-
}, "
|
|
8446
|
+
}, "E41", $scope4_id)
|
|
8052
8447
|
});
|
|
8053
8448
|
_html(`</div>${_el_resume($scope4_id, "a")}`);
|
|
8054
8449
|
writeScope($scope4_id, { b: _existing_scope($childScope4) });
|
|
@@ -8090,26 +8485,26 @@ var work_view_default = _template("D", (input) => {
|
|
|
8090
8485
|
onNewSession: _resume(function(agent) {
|
|
8091
8486
|
view = "term";
|
|
8092
8487
|
newSession(ws.id, agent);
|
|
8093
|
-
}, "
|
|
8488
|
+
}, "E42", $scope6_id),
|
|
8094
8489
|
onOpenTab: _resume(function(id) {
|
|
8095
8490
|
tab = id;
|
|
8096
8491
|
view = "term";
|
|
8097
|
-
}, "
|
|
8492
|
+
}, "E43", $scope6_id),
|
|
8098
8493
|
onCloseSession: _resume(function(id) {
|
|
8099
8494
|
closeSession(id);
|
|
8100
|
-
}, "
|
|
8495
|
+
}, "E44", $scope6_id),
|
|
8101
8496
|
onRenameSession: _resume(function(id, title) {
|
|
8102
8497
|
renameSession(id, title);
|
|
8103
|
-
}, "
|
|
8498
|
+
}, "E45", $scope6_id),
|
|
8104
8499
|
active: input.active && view === "term" && s.id === curTab,
|
|
8105
8500
|
mode: view,
|
|
8106
8501
|
onOpenNav: _resume(function() {
|
|
8107
8502
|
toggleNav();
|
|
8108
|
-
}, "
|
|
8503
|
+
}, "E46", $scope6_id),
|
|
8109
8504
|
reviewFindOpen,
|
|
8110
8505
|
onToggleReviewFind: _resume(function() {
|
|
8111
8506
|
toggleReviewFind();
|
|
8112
|
-
}, "
|
|
8507
|
+
}, "E47", $scope6_id)
|
|
8113
8508
|
});
|
|
8114
8509
|
_html(`</div>${_el_resume($scope6_id, "a")}`);
|
|
8115
8510
|
_subscribe($newSession2__closures, _subscribe($renameSession2__closures, _subscribe($closeSession2__closures, _subscribe($toggleReviewFind2__closures, _subscribe($curTab__closures, _subscribe($shownSessions__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_workspace && $ws_id__closures, _subscribe($reviewFindOpen__closures, _subscribe($view__closures, _subscribe($si__input_agents && $input_agents__closures, _subscribe($si__input_active && $input_active__closures, writeScope($scope6_id, {
|
|
@@ -8120,8 +8515,8 @@ var work_view_default = _template("D", (input) => {
|
|
|
8120
8515
|
_if(() => {
|
|
8121
8516
|
if (!shownSessions.length && view === "term") {
|
|
8122
8517
|
const $scope7_id = _scope_id();
|
|
8123
|
-
_html(`<div${_attr_class("
|
|
8124
|
-
_script($scope7_id, "
|
|
8518
|
+
_html(`<div${_attr_class("_bE")}><span>No sessions in this workspace.</span><button${_attr_class(["_o", "_p"])}${_attr("disabled", spawning)}>${spawning ? "Starting…" : `Start ${_escape(`${input.preferred || "shell"}`)}`}${_el_resume($scope7_id, "c")}</button>${_el_resume($scope7_id, "b")}</div>`);
|
|
8519
|
+
_script($scope7_id, "E49");
|
|
8125
8520
|
_subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope7_id, {})));
|
|
8126
8521
|
return 0;
|
|
8127
8522
|
}
|
|
@@ -8130,21 +8525,21 @@ var work_view_default = _template("D", (input) => {
|
|
|
8130
8525
|
return 0;
|
|
8131
8526
|
} else {
|
|
8132
8527
|
const $scope10_id = _scope_id();
|
|
8133
|
-
_html(`<p${_attr_class("
|
|
8528
|
+
_html(`<p${_attr_class("_bE")}>Loading sessions…</p>`);
|
|
8134
8529
|
writeScope($scope10_id, {});
|
|
8135
8530
|
return 1;
|
|
8136
8531
|
}
|
|
8137
8532
|
}, $scope0_id, "j", 1, 1, 1, "</div>");
|
|
8138
8533
|
_html(`</div></div>${_el_resume($scope0_id, "a")}`);
|
|
8139
|
-
_script($scope0_id, "
|
|
8140
|
-
_script($scope0_id, "
|
|
8141
|
-
_script($scope0_id, "
|
|
8142
|
-
_script($scope0_id, "
|
|
8143
|
-
_script($scope0_id, "
|
|
8144
|
-
_script($scope0_id, "
|
|
8145
|
-
_script($scope0_id, "
|
|
8146
|
-
_script($scope0_id, "
|
|
8147
|
-
_script($scope0_id, "
|
|
8534
|
+
_script($scope0_id, "E50");
|
|
8535
|
+
_script($scope0_id, "E51");
|
|
8536
|
+
_script($scope0_id, "E52");
|
|
8537
|
+
_script($scope0_id, "E53");
|
|
8538
|
+
_script($scope0_id, "E54");
|
|
8539
|
+
_script($scope0_id, "E55");
|
|
8540
|
+
_script($scope0_id, "E56");
|
|
8541
|
+
_script($scope0_id, "E57");
|
|
8542
|
+
_script($scope0_id, "E58");
|
|
8148
8543
|
writeScope($scope0_id, {
|
|
8149
8544
|
n: input.initialView,
|
|
8150
8545
|
s: input.allStatus,
|
|
@@ -8377,7 +8772,7 @@ var app_shell_default = _template("c", (input) => {
|
|
|
8377
8772
|
if (!selectedId && showSetup) {
|
|
8378
8773
|
const $scope4_id = _scope_id();
|
|
8379
8774
|
_html(`<div${_attr_class("_h")}>`);
|
|
8380
|
-
_set_serialize_reason(
|
|
8775
|
+
_set_serialize_reason(210);
|
|
8381
8776
|
const $childScope = _peek_scope_id();
|
|
8382
8777
|
settings_page_default({
|
|
8383
8778
|
preferred: settings ? settings.preferredAgent : "shell",
|
|
@@ -8443,7 +8838,7 @@ var app_shell_default = _template("c", (input) => {
|
|
|
8443
8838
|
if (ws) {
|
|
8444
8839
|
const $scope2_id = _scope_id();
|
|
8445
8840
|
_html(`<div${_attr_class("_g")}>`);
|
|
8446
|
-
_set_serialize_reason(
|
|
8841
|
+
_set_serialize_reason(262142);
|
|
8447
8842
|
const $childScope3 = _peek_scope_id();
|
|
8448
8843
|
work_view_default({
|
|
8449
8844
|
workspace: ws,
|
|
@@ -8675,7 +9070,7 @@ var app_page_default = _template("b", (input) => {
|
|
|
8675
9070
|
});
|
|
8676
9071
|
//#endregion
|
|
8677
9072
|
//#region src/routes/_app/new/+page.marko
|
|
8678
|
-
var _page_default$4 = _template("
|
|
9073
|
+
var _page_default$4 = _template("ab", (input) => {
|
|
8679
9074
|
_scope_reason();
|
|
8680
9075
|
_scope_id();
|
|
8681
9076
|
app_page_default({ initial: {
|
|
@@ -8717,7 +9112,7 @@ var GET$21 = Run.GET(async (_ctx, next) => {
|
|
|
8717
9112
|
});
|
|
8718
9113
|
//#endregion
|
|
8719
9114
|
//#region src/routes/_app/settings/+page.marko
|
|
8720
|
-
var _page_default$3 = _template("
|
|
9115
|
+
var _page_default$3 = _template("bb", (input) => {
|
|
8721
9116
|
_scope_reason();
|
|
8722
9117
|
_scope_id();
|
|
8723
9118
|
app_page_default({ initial: {
|
|
@@ -8754,7 +9149,7 @@ function head3(context) {
|
|
|
8754
9149
|
}
|
|
8755
9150
|
//#endregion
|
|
8756
9151
|
//#region src/routes/_app/w/$id/+page.marko
|
|
8757
|
-
var _page_default$2 = _template("
|
|
9152
|
+
var _page_default$2 = _template("cb", (input) => {
|
|
8758
9153
|
_scope_reason();
|
|
8759
9154
|
_scope_id();
|
|
8760
9155
|
app_page_default({ initial: {
|
|
@@ -8791,7 +9186,7 @@ function head4(context) {
|
|
|
8791
9186
|
}
|
|
8792
9187
|
//#endregion
|
|
8793
9188
|
//#region src/routes/_app/w/$id/manage/+page.marko
|
|
8794
|
-
var _page_default$1 = _template("
|
|
9189
|
+
var _page_default$1 = _template("db", (input) => {
|
|
8795
9190
|
_scope_reason();
|
|
8796
9191
|
_scope_id();
|
|
8797
9192
|
app_page_default({ initial: {
|
|
@@ -8827,7 +9222,7 @@ function head5(context) {
|
|
|
8827
9222
|
}
|
|
8828
9223
|
//#endregion
|
|
8829
9224
|
//#region src/routes/_app/w/$id/review/+page.marko
|
|
8830
|
-
var _page_default = _template("
|
|
9225
|
+
var _page_default = _template("eb", (input) => {
|
|
8831
9226
|
_scope_reason();
|
|
8832
9227
|
_scope_id();
|
|
8833
9228
|
const q = $global().url.searchParams;
|
|
@@ -10113,6 +10508,7 @@ var Body = /* @__PURE__ */ object({
|
|
|
10113
10508
|
"update",
|
|
10114
10509
|
"remove",
|
|
10115
10510
|
"auth",
|
|
10511
|
+
"auth-refresh",
|
|
10116
10512
|
"logout"
|
|
10117
10513
|
]),
|
|
10118
10514
|
version: /* @__PURE__ */ optional(/* @__PURE__ */ string())
|
|
@@ -10516,11 +10912,33 @@ function missingRemoteRef(err) {
|
|
|
10516
10912
|
const msg = err && typeof err === "object" && "stderr" in err ? String(err.stderr) : String(err);
|
|
10517
10913
|
return /couldn't find remote ref/.test(msg);
|
|
10518
10914
|
}
|
|
10915
|
+
/** Well-known empty tree for the repo's hash algorithm — diff against it
|
|
10916
|
+
* to show every file as an add (first push to an empty GitHub repo). */
|
|
10917
|
+
async function emptyTreeOid(dir) {
|
|
10918
|
+
return git([
|
|
10919
|
+
"hash-object",
|
|
10920
|
+
"-t",
|
|
10921
|
+
"tree",
|
|
10922
|
+
"/dev/null"
|
|
10923
|
+
], dir);
|
|
10924
|
+
}
|
|
10925
|
+
/** Any `refs/remotes/origin/*` tip after freshen — cheap empty-remote check
|
|
10926
|
+
* without another network round-trip. */
|
|
10927
|
+
async function remoteHasHeads(dir) {
|
|
10928
|
+
const out = await git([
|
|
10929
|
+
"for-each-ref",
|
|
10930
|
+
"--format=%(refname)",
|
|
10931
|
+
"--count=1",
|
|
10932
|
+
"refs/remotes/origin"
|
|
10933
|
+
], dir).catch(() => "");
|
|
10934
|
+
return /refs\/remotes\/origin\//.test(out);
|
|
10935
|
+
}
|
|
10519
10936
|
/** The ref the working tree is compared against by default, best first.
|
|
10520
10937
|
* Workspace branch / detached / foreign → `origin/<base>`. Our `-topic`
|
|
10521
10938
|
* lane → `origin/<ws-branch>` (only two levels; `<ws>-a-b` still parents
|
|
10522
10939
|
* to the workspace branch). `foreign` is other workspaces' branches so a
|
|
10523
|
-
* longer prefix is not stolen. An explicit `baseRef` overrides all.
|
|
10940
|
+
* longer prefix is not stolen. An explicit `baseRef` overrides all.
|
|
10941
|
+
* Empty remote (no origin tips) → empty tree, not `missing`. */
|
|
10524
10942
|
async function resolveBase(dir, wsBranch, baseBranch, headBranch, foreign, baseRef) {
|
|
10525
10943
|
const ours = ownsBranch(headBranch, wsBranch) && !foreign.some((x) => ownsBranch(headBranch, x));
|
|
10526
10944
|
const candidates = [];
|
|
@@ -10544,10 +10962,20 @@ async function resolveBase(dir, wsBranch, baseBranch, headBranch, foreign, baseR
|
|
|
10544
10962
|
label
|
|
10545
10963
|
};
|
|
10546
10964
|
} catch {}
|
|
10965
|
+
const label = baseRef || baseBranch;
|
|
10966
|
+
if (!await remoteHasHeads(dir)) {
|
|
10967
|
+
const empty = await emptyTreeOid(dir);
|
|
10968
|
+
return {
|
|
10969
|
+
mergeBase: empty,
|
|
10970
|
+
ref: empty,
|
|
10971
|
+
label: `${label} (empty remote)`,
|
|
10972
|
+
emptyRemote: true
|
|
10973
|
+
};
|
|
10974
|
+
}
|
|
10547
10975
|
return {
|
|
10548
10976
|
mergeBase: "HEAD",
|
|
10549
10977
|
ref: "HEAD",
|
|
10550
|
-
label
|
|
10978
|
+
label,
|
|
10551
10979
|
missing: true
|
|
10552
10980
|
};
|
|
10553
10981
|
}
|
|
@@ -10673,30 +11101,47 @@ async function localDiff(dir, ws, repo, branch, localHead, baseRef, scope) {
|
|
|
10673
11101
|
...branch !== "HEAD" ? [branch] : [],
|
|
10674
11102
|
...baseRef ? [baseRef] : [repo.base_branch]
|
|
10675
11103
|
]);
|
|
10676
|
-
const { mergeBase, ref, label, missing } = await resolveBase(dir, ws.branch, repo.base_branch, branch, otherWorkspaceBranches(ws.id), baseRef);
|
|
10677
|
-
|
|
11104
|
+
const { mergeBase, ref, label, missing, emptyRemote } = await resolveBase(dir, ws.branch, repo.base_branch, branch, otherWorkspaceBranches(ws.id), baseRef);
|
|
11105
|
+
const base = {
|
|
10678
11106
|
id: repo.worktree,
|
|
10679
11107
|
worktree: repo.worktree,
|
|
10680
11108
|
full_name: repo.full_name,
|
|
10681
11109
|
base: label,
|
|
10682
11110
|
default_branch: repo.default_branch,
|
|
10683
|
-
branch
|
|
11111
|
+
branch
|
|
11112
|
+
};
|
|
11113
|
+
if (!localHead) {
|
|
11114
|
+
const empty = emptyRemote ? mergeBase : await emptyTreeOid(dir).catch(() => "");
|
|
11115
|
+
if (scope === "committed" || !empty) return {
|
|
11116
|
+
...base,
|
|
11117
|
+
head: "",
|
|
11118
|
+
baseSha: empty || "",
|
|
11119
|
+
unborn: true,
|
|
11120
|
+
...!emptyRemote && missing ? { baseMissing: true } : {},
|
|
11121
|
+
files: []
|
|
11122
|
+
};
|
|
11123
|
+
const files = await collectFiles(dir, empty, empty, "working");
|
|
11124
|
+
return {
|
|
11125
|
+
...base,
|
|
11126
|
+
head: "",
|
|
11127
|
+
baseSha: empty,
|
|
11128
|
+
unborn: true,
|
|
11129
|
+
files
|
|
11130
|
+
};
|
|
11131
|
+
}
|
|
11132
|
+
if (missing && !uncommitted) return {
|
|
11133
|
+
...base,
|
|
10684
11134
|
head: localHead,
|
|
10685
11135
|
baseSha: localHead,
|
|
10686
11136
|
baseMissing: true,
|
|
10687
11137
|
files: []
|
|
10688
11138
|
};
|
|
10689
|
-
const contained = !missing && await treeContainedIn(dir, ref, "HEAD");
|
|
11139
|
+
const contained = !missing && !emptyRemote && await treeContainedIn(dir, ref, "HEAD");
|
|
10690
11140
|
const against = contained ? "HEAD" : mergeBase;
|
|
10691
|
-
const baseSha = missing ? localHead : await git(["rev-parse", ref], dir).catch(() => mergeBase);
|
|
11141
|
+
const baseSha = missing ? localHead : emptyRemote ? mergeBase : await git(["rev-parse", ref], dir).catch(() => mergeBase);
|
|
10692
11142
|
const files = await collectFiles(dir, against, "HEAD", scope);
|
|
10693
11143
|
return {
|
|
10694
|
-
|
|
10695
|
-
worktree: repo.worktree,
|
|
10696
|
-
full_name: repo.full_name,
|
|
10697
|
-
base: label,
|
|
10698
|
-
default_branch: repo.default_branch,
|
|
10699
|
-
branch,
|
|
11144
|
+
...base,
|
|
10700
11145
|
head: localHead,
|
|
10701
11146
|
baseSha,
|
|
10702
11147
|
...missing && { baseMissing: true },
|
|
@@ -16073,4 +16518,4 @@ server.listen(port, () => {
|
|
|
16073
16518
|
//#endregion
|
|
16074
16519
|
export {};
|
|
16075
16520
|
|
|
16076
|
-
;var __MARKO_MANIFEST__={"
|
|
16521
|
+
;var __MARKO_MANIFEST__={"AA0T2xt":{"block":[2,"stylesheet#/assets/app-page-C3FxPnzd.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-C3FxPnzd.css\"",">"],"defer":[2,"/assets/settings-BFBAvSDQ.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-BFBAvSDQ.js\"","></script>",2,"modulepreload#/assets/_CS052Ucq.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CS052Ucq.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/app-page-C3FxPnzd.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-C3FxPnzd.css\"",">"],"defer":[2,"/assets/w-BFBAvSDQ.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-BFBAvSDQ.js\"","></script>",2,"modulepreload#/assets/_CS052Ucq.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CS052Ucq.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/app-page-C3FxPnzd.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-C3FxPnzd.css\"",">"],"defer":[2,"/assets/w._-BFBAvSDQ.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-BFBAvSDQ.js\"","></script>",2,"modulepreload#/assets/_CS052Ucq.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CS052Ucq.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/app-page-C3FxPnzd.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-C3FxPnzd.css\"",">"],"defer":[2,"/assets/w._-BW-aNPpR.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-BW-aNPpR.js\"","></script>",2,"modulepreload#/assets/_CS052Ucq.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CS052Ucq.js\"",">"]},"ZLT8joi":{"block":[2,"stylesheet#/assets/app-page-C3FxPnzd.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-C3FxPnzd.css\"",">"],"defer":[2,"/assets/new-BFBAvSDQ.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-BFBAvSDQ.js\"","></script>",2,"modulepreload#/assets/_CS052Ucq.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CS052Ucq.js\"",">"]}};
|