@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.
Files changed (247) hide show
  1. package/dist/{_BaBpI2_Z.js → _C_ZBgO7_.js} +27 -15
  2. package/dist/{_BNW7lzU5.js → _DWAnBXsO.js} +70 -70
  3. package/dist/index.mjs +1053 -608
  4. package/dist/public/assets/{_D-TNzqKE.js → _0U59zJUz.js} +1 -1
  5. package/dist/public/assets/_0U59zJUz.js.br +0 -0
  6. package/dist/public/assets/{_Dh-sLvqG.js → _4MFVuOce.js} +1 -1
  7. package/dist/public/assets/_4MFVuOce.js.br +0 -0
  8. package/dist/public/assets/{_BPi2-dgs.js → _5hwLq2GH.js} +1 -1
  9. package/dist/public/assets/_5hwLq2GH.js.br +0 -0
  10. package/dist/public/assets/{_Df4cvc6C.js → _9th6P7LB.js} +1 -1
  11. package/dist/public/assets/_9th6P7LB.js.br +0 -0
  12. package/dist/public/assets/{_jpL592Mp.js → _B1PdYMXj.js} +1 -1
  13. package/dist/public/assets/_B1PdYMXj.js.br +0 -0
  14. package/dist/public/assets/{_nxQ7vB0v2.js → _B1l2to3W2.js} +1 -1
  15. package/dist/public/assets/_B1l2to3W2.js.br +0 -0
  16. package/dist/public/assets/{_CuWbP_-M.js → _B47M2_E2.js} +1 -1
  17. package/dist/public/assets/_B47M2_E2.js.br +0 -0
  18. package/dist/public/assets/{_CCnllILq.js → _B5nVsEO7.js} +1 -1
  19. package/dist/public/assets/_B5nVsEO7.js.br +0 -0
  20. package/dist/public/assets/{_CBEk-f702.js → _BCRUYzYR2.js} +1 -1
  21. package/dist/public/assets/_BCRUYzYR2.js.br +0 -0
  22. package/dist/public/assets/{_CJVn7QPr2.js → _BDdxYfg22.js} +1 -1
  23. package/dist/public/assets/{_DLlzUjC4.js → _BHXSbGv5.js} +1 -1
  24. package/dist/public/assets/{_68NBnRBw.js → _BJ6xcj15.js} +1 -1
  25. package/dist/public/assets/_BJ6xcj15.js.br +0 -0
  26. package/dist/public/assets/{_Czc_uzvi.js → _BKVXSOII.js} +1 -1
  27. package/dist/public/assets/_BKVXSOII.js.br +0 -0
  28. package/dist/public/assets/{_BEjvKyQl.js → _BO9TT4HF.js} +1 -1
  29. package/dist/public/assets/_BO9TT4HF.js.br +0 -0
  30. package/dist/public/assets/{_BTrntntO.js → _BTvtbYr4.js} +1 -1
  31. package/dist/public/assets/_BTvtbYr4.js.br +0 -0
  32. package/dist/public/assets/{_Bj9cNmYh.js → _BZkYY3K6.js} +1 -1
  33. package/dist/public/assets/_BZkYY3K6.js.br +0 -0
  34. package/dist/public/assets/{_7gm8mq-M2.js → _B__m0-au2.js} +1 -1
  35. package/dist/public/assets/_B__m0-au2.js.br +0 -0
  36. package/dist/public/assets/{_BaV_r0KE.js → _BcI1MQaj.js} +1 -1
  37. package/dist/public/assets/_BcI1MQaj.js.br +0 -0
  38. package/dist/public/assets/{_DoPX7h422.js → _BhH6Vf1I2.js} +1 -1
  39. package/dist/public/assets/_BhH6Vf1I2.js.br +0 -0
  40. package/dist/public/assets/{_DPcFZ9y5.js → _BpH_GNWO.js} +1 -1
  41. package/dist/public/assets/_BpH_GNWO.js.br +0 -0
  42. package/dist/public/assets/{_BbRXjU8u.js → _BpvLawI8.js} +1 -1
  43. package/dist/public/assets/_BpvLawI8.js.br +0 -0
  44. package/dist/public/assets/{_DMM-d_n4.js → _Btib1Grb.js} +6 -6
  45. package/dist/public/assets/_Btib1Grb.js.br +0 -0
  46. package/dist/public/assets/{_DUv8q83I.js → _Bv4Bd6iM.js} +1 -1
  47. package/dist/public/assets/_Bv4Bd6iM.js.br +0 -0
  48. package/dist/public/assets/{_C5ArZ6tM2.js → _BxNkF6Fm2.js} +1 -1
  49. package/dist/public/assets/_BxNkF6Fm2.js.br +0 -0
  50. package/dist/public/assets/{__FHdvvoU.js → _Bxk7ict1.js} +1 -1
  51. package/dist/public/assets/_Bxk7ict1.js.br +0 -0
  52. package/dist/public/assets/{_CZlD9KhN.js → _By0uOG1b.js} +1 -1
  53. package/dist/public/assets/_By0uOG1b.js.br +0 -0
  54. package/dist/public/assets/{_DHKGemnb2.js → _BymS2Asd2.js} +1 -1
  55. package/dist/public/assets/_BymS2Asd2.js.br +0 -0
  56. package/dist/public/assets/{_CXvlT_ey.js → _C0R7gKGB.js} +1 -1
  57. package/dist/public/assets/_C0R7gKGB.js.br +0 -0
  58. package/dist/public/assets/{_DYjLnTZb2.js → _C4EHNcOe2.js} +1 -1
  59. package/dist/public/assets/_C4EHNcOe2.js.br +0 -0
  60. package/dist/public/assets/{_CHfbuaf42.js → _C81Givkg2.js} +1 -1
  61. package/dist/public/assets/_C81Givkg2.js.br +0 -0
  62. package/dist/public/assets/{_M3-QzOcT.js → _CFmM_OT1.js} +1 -1
  63. package/dist/public/assets/_CFmM_OT1.js.br +0 -0
  64. package/dist/public/assets/{_DapQP84P2.js → _CKgWIiOt2.js} +1 -1
  65. package/dist/public/assets/_CKgWIiOt2.js.br +0 -0
  66. package/dist/public/assets/{_B7p4f0NK.js → _CMzV9b8B.js} +1 -1
  67. package/dist/public/assets/_CMzV9b8B.js.br +0 -0
  68. package/dist/public/assets/{_DLFXdzdD.js → _CPiqUDDy.js} +1 -1
  69. package/dist/public/assets/_CPiqUDDy.js.br +0 -0
  70. package/dist/public/assets/{_DLnZn5vf.js → _CS052Ucq.js} +20 -20
  71. package/dist/public/assets/_CS052Ucq.js.br +0 -0
  72. package/dist/public/assets/{_B9UAz-r-2.js → _CSpkcUjh2.js} +1 -1
  73. package/dist/public/assets/_CSpkcUjh2.js.br +0 -0
  74. package/dist/public/assets/{_BFlZZV-0.js → _CUvcmgdP.js} +1 -1
  75. package/dist/public/assets/_CUvcmgdP.js.br +0 -0
  76. package/dist/public/assets/{_CZwFYO2Z2.js → _C_aTh2522.js} +1 -1
  77. package/dist/public/assets/_C_aTh2522.js.br +0 -0
  78. package/dist/public/assets/{_QW8ME1h1.js → _Ccn42CEK.js} +1 -1
  79. package/dist/public/assets/_Ccn42CEK.js.br +0 -0
  80. package/dist/public/assets/{_DBZliThN2.js → _ChytUZvv2.js} +1 -1
  81. package/dist/public/assets/_ChytUZvv2.js.br +0 -0
  82. package/dist/public/assets/{_q80G7tDX2.js → _Cj7Uk97l2.js} +1 -1
  83. package/dist/public/assets/_Cj7Uk97l2.js.br +0 -0
  84. package/dist/public/assets/{_CqYgTZl02.js → _CjVBlSfy2.js} +1 -1
  85. package/dist/public/assets/_CjVBlSfy2.js.br +0 -0
  86. package/dist/public/assets/{_BSySd27S.js → _CjVD9WF4.js} +1 -1
  87. package/dist/public/assets/_CjVD9WF4.js.br +0 -0
  88. package/dist/public/assets/{_B0EHPDCY.js → _CuMN4b-0.js} +1 -1
  89. package/dist/public/assets/_CuMN4b-0.js.br +0 -0
  90. package/dist/public/assets/{_wl9V6Cj_.js → _CxZjewAb.js} +1 -1
  91. package/dist/public/assets/_CxZjewAb.js.br +0 -0
  92. package/dist/public/assets/{_mmUZxMmq.js → _D-wSazJF.js} +1 -1
  93. package/dist/public/assets/_D-wSazJF.js.br +0 -0
  94. package/dist/public/assets/{_eEsY8spY.js → _D4bPDD54.js} +1 -1
  95. package/dist/public/assets/_D4bPDD54.js.br +0 -0
  96. package/dist/public/assets/{_B0VinNA_.js → _D7rMA7Ee.js} +1 -1
  97. package/dist/public/assets/_D7rMA7Ee.js.br +0 -0
  98. package/dist/public/assets/{_C4R1AZ7T.js → _D8Nb0E5n.js} +1 -1
  99. package/dist/public/assets/_D8Nb0E5n.js.br +0 -0
  100. package/dist/public/assets/{_rNEbZj3_.js → _DC2u87q6.js} +1 -1
  101. package/dist/public/assets/_DC2u87q6.js.br +0 -0
  102. package/dist/public/assets/{_CHeP2N572.js → _DFwSVkTH2.js} +1 -1
  103. package/dist/public/assets/_DFwSVkTH2.js.br +0 -0
  104. package/dist/public/assets/{_BJYOVEXV.js → _DKrfX_Lr.js} +1 -1
  105. package/dist/public/assets/_DKrfX_Lr.js.br +0 -0
  106. package/dist/public/assets/{_3ApHfAFB.js → _DLS-FteL.js} +1 -1
  107. package/dist/public/assets/_DLS-FteL.js.br +0 -0
  108. package/dist/public/assets/{_CsOY40Tj.js → _DVRuxWUw.js} +1 -1
  109. package/dist/public/assets/_DVRuxWUw.js.br +0 -0
  110. package/dist/public/assets/{_gDwVQCtN.js → _DezSJD4X.js} +1 -1
  111. package/dist/public/assets/_DezSJD4X.js.br +0 -0
  112. package/dist/public/assets/{_6nUxgGxb.js → _DfanBg_-.js} +1 -1
  113. package/dist/public/assets/_DfanBg_-.js.br +0 -0
  114. package/dist/public/assets/{_D2AcgzVt.js → _DfyhPBNC.js} +1 -1
  115. package/dist/public/assets/_DfyhPBNC.js.br +7 -0
  116. package/dist/public/assets/{_DVtMOg1P.js → _DgTwJOzV.js} +1 -1
  117. package/dist/public/assets/_DgTwJOzV.js.br +0 -0
  118. package/dist/public/assets/{_CJ4R3Xhd.js → _DjyLCiwz.js} +1 -1
  119. package/dist/public/assets/_DjyLCiwz.js.br +0 -0
  120. package/dist/public/assets/{_wK2y6faT2.js → _DnTnF7qV2.js} +1 -1
  121. package/dist/public/assets/_DnTnF7qV2.js.br +0 -0
  122. package/dist/public/assets/{_BogP78ys.js → _DtVjXhGi.js} +1 -1
  123. package/dist/public/assets/_DtVjXhGi.js.br +0 -0
  124. package/dist/public/assets/{_Dz-CLezO2.js → _Dvwf0Qjr2.js} +1 -1
  125. package/dist/public/assets/_Dvwf0Qjr2.js.br +0 -0
  126. package/dist/public/assets/{_C-3zDLjM.js → _Dw686Grs.js} +1 -1
  127. package/dist/public/assets/_Dw686Grs.js.br +0 -0
  128. package/dist/public/assets/{_BL2BsfGC.js → _EKxr0Pk6.js} +1 -1
  129. package/dist/public/assets/_EKxr0Pk6.js.br +0 -0
  130. package/dist/public/assets/{_D62vus3Y.js → _H2EMk3sR.js} +1 -1
  131. package/dist/public/assets/_H2EMk3sR.js.br +0 -0
  132. package/dist/public/assets/{_wVj_AaSO2.js → __ji2OfDR2.js} +1 -1
  133. package/dist/public/assets/__ji2OfDR2.js.br +0 -0
  134. package/dist/public/assets/{_Crd8NEGi.js → _axfy2ci4.js} +1 -1
  135. package/dist/public/assets/_axfy2ci4.js.br +0 -0
  136. package/dist/public/assets/{_B09NjUR4.js → _gpwHwzTz.js} +1 -1
  137. package/dist/public/assets/_gpwHwzTz.js.br +0 -0
  138. package/dist/public/assets/{_CeHIw9_Z2.js → _iOsRP2432.js} +1 -1
  139. package/dist/public/assets/_iOsRP2432.js.br +0 -0
  140. package/dist/public/assets/{_B4Pr9Te92.js → _jNzrKWN72.js} +1 -1
  141. package/dist/public/assets/_jNzrKWN72.js.br +0 -0
  142. package/dist/public/assets/{_D8a3k14z2.js → _jl7SJGL42.js} +1 -1
  143. package/dist/public/assets/_jl7SJGL42.js.br +0 -0
  144. package/dist/public/assets/{_DLnnHpAM2.js → _kFsV7DDO2.js} +1 -1
  145. package/dist/public/assets/_kFsV7DDO2.js.br +0 -0
  146. package/dist/public/assets/{_DdN-JTu5.js → _mkz0gZxI.js} +1 -1
  147. package/dist/public/assets/_mkz0gZxI.js.br +0 -0
  148. package/dist/public/assets/{_BVl-sPkB.js → _oTAPJGK3.js} +1 -1
  149. package/dist/public/assets/_oTAPJGK3.js.br +0 -0
  150. package/dist/public/assets/{_CUNBYPpl2.js → _rGCA2okb2.js} +1 -1
  151. package/dist/public/assets/{_Csr0JoJi.js → _rKTMTs__.js} +1 -1
  152. package/dist/public/assets/_rKTMTs__.js.br +0 -0
  153. package/dist/public/assets/app-page-C3FxPnzd.css +1 -0
  154. package/dist/public/assets/app-page-C3FxPnzd.css.br +0 -0
  155. package/dist/public/assets/diff-view-D7ApUcje.css +1 -0
  156. package/dist/public/assets/diff-view-D7ApUcje.css.br +0 -0
  157. package/dist/public/assets/new-BFBAvSDQ.js +1 -0
  158. package/dist/public/assets/settings-BFBAvSDQ.js +1 -0
  159. package/dist/public/assets/w-BFBAvSDQ.js +1 -0
  160. package/dist/public/assets/w._-BFBAvSDQ.js +1 -0
  161. package/dist/public/assets/w._-BW-aNPpR.js +1 -0
  162. package/lib/setup/doctor.d.mts +3 -0
  163. package/lib/setup/install.d.mts +1 -0
  164. package/lib/setup/install.mjs +11 -0
  165. package/package.json +1 -1
  166. package/dist/public/assets/_3ApHfAFB.js.br +0 -0
  167. package/dist/public/assets/_68NBnRBw.js.br +0 -0
  168. package/dist/public/assets/_6nUxgGxb.js.br +0 -0
  169. package/dist/public/assets/_7gm8mq-M2.js.br +0 -0
  170. package/dist/public/assets/_B09NjUR4.js.br +0 -0
  171. package/dist/public/assets/_B0EHPDCY.js.br +0 -0
  172. package/dist/public/assets/_B0VinNA_.js.br +0 -0
  173. package/dist/public/assets/_B4Pr9Te92.js.br +0 -0
  174. package/dist/public/assets/_B7p4f0NK.js.br +0 -0
  175. package/dist/public/assets/_B9UAz-r-2.js.br +0 -0
  176. package/dist/public/assets/_BEjvKyQl.js.br +0 -0
  177. package/dist/public/assets/_BFlZZV-0.js.br +0 -0
  178. package/dist/public/assets/_BJYOVEXV.js.br +0 -0
  179. package/dist/public/assets/_BL2BsfGC.js.br +0 -0
  180. package/dist/public/assets/_BPi2-dgs.js.br +0 -0
  181. package/dist/public/assets/_BSySd27S.js.br +0 -0
  182. package/dist/public/assets/_BTrntntO.js.br +0 -0
  183. package/dist/public/assets/_BVl-sPkB.js.br +0 -0
  184. package/dist/public/assets/_BaV_r0KE.js.br +0 -0
  185. package/dist/public/assets/_BbRXjU8u.js.br +0 -0
  186. package/dist/public/assets/_Bj9cNmYh.js.br +0 -0
  187. package/dist/public/assets/_BogP78ys.js.br +0 -0
  188. package/dist/public/assets/_C-3zDLjM.js.br +0 -0
  189. package/dist/public/assets/_C4R1AZ7T.js.br +0 -0
  190. package/dist/public/assets/_C5ArZ6tM2.js.br +0 -0
  191. package/dist/public/assets/_CBEk-f702.js.br +0 -0
  192. package/dist/public/assets/_CCnllILq.js.br +0 -0
  193. package/dist/public/assets/_CHeP2N572.js.br +0 -0
  194. package/dist/public/assets/_CHfbuaf42.js.br +0 -0
  195. package/dist/public/assets/_CJ4R3Xhd.js.br +0 -0
  196. package/dist/public/assets/_CXvlT_ey.js.br +0 -0
  197. package/dist/public/assets/_CZlD9KhN.js.br +0 -0
  198. package/dist/public/assets/_CZwFYO2Z2.js.br +0 -0
  199. package/dist/public/assets/_CeHIw9_Z2.js.br +0 -0
  200. package/dist/public/assets/_CqYgTZl02.js.br +0 -0
  201. package/dist/public/assets/_Crd8NEGi.js.br +0 -0
  202. package/dist/public/assets/_CsOY40Tj.js.br +0 -0
  203. package/dist/public/assets/_Csr0JoJi.js.br +0 -0
  204. package/dist/public/assets/_CuWbP_-M.js.br +0 -0
  205. package/dist/public/assets/_Czc_uzvi.js.br +0 -0
  206. package/dist/public/assets/_D-TNzqKE.js.br +0 -0
  207. package/dist/public/assets/_D2AcgzVt.js.br +0 -0
  208. package/dist/public/assets/_D62vus3Y.js.br +0 -0
  209. package/dist/public/assets/_D8a3k14z2.js.br +0 -0
  210. package/dist/public/assets/_DBZliThN2.js.br +0 -0
  211. package/dist/public/assets/_DHKGemnb2.js.br +0 -0
  212. package/dist/public/assets/_DLFXdzdD.js.br +0 -0
  213. package/dist/public/assets/_DLnZn5vf.js.br +0 -0
  214. package/dist/public/assets/_DLnnHpAM2.js.br +0 -0
  215. package/dist/public/assets/_DMM-d_n4.js.br +0 -0
  216. package/dist/public/assets/_DPcFZ9y5.js.br +0 -0
  217. package/dist/public/assets/_DUv8q83I.js.br +0 -0
  218. package/dist/public/assets/_DVtMOg1P.js.br +0 -0
  219. package/dist/public/assets/_DYjLnTZb2.js.br +0 -0
  220. package/dist/public/assets/_DapQP84P2.js.br +0 -0
  221. package/dist/public/assets/_DdN-JTu5.js.br +0 -0
  222. package/dist/public/assets/_Df4cvc6C.js.br +0 -0
  223. package/dist/public/assets/_Dh-sLvqG.js.br +0 -0
  224. package/dist/public/assets/_DoPX7h422.js.br +0 -0
  225. package/dist/public/assets/_Dz-CLezO2.js.br +0 -0
  226. package/dist/public/assets/_M3-QzOcT.js.br +0 -0
  227. package/dist/public/assets/_QW8ME1h1.js.br +0 -0
  228. package/dist/public/assets/__FHdvvoU.js.br +0 -0
  229. package/dist/public/assets/_eEsY8spY.js.br +0 -0
  230. package/dist/public/assets/_gDwVQCtN.js.br +0 -0
  231. package/dist/public/assets/_jpL592Mp.js.br +0 -0
  232. package/dist/public/assets/_mmUZxMmq.js.br +0 -0
  233. package/dist/public/assets/_nxQ7vB0v2.js.br +0 -0
  234. package/dist/public/assets/_q80G7tDX2.js.br +0 -0
  235. package/dist/public/assets/_rNEbZj3_.js.br +0 -0
  236. package/dist/public/assets/_wK2y6faT2.js.br +0 -0
  237. package/dist/public/assets/_wVj_AaSO2.js.br +0 -0
  238. package/dist/public/assets/_wl9V6Cj_.js.br +0 -0
  239. package/dist/public/assets/app-page-DJ2ivnX8.css +0 -1
  240. package/dist/public/assets/app-page-DJ2ivnX8.css.br +0 -0
  241. package/dist/public/assets/diff-view-BGH4FQ_a.css +0 -1
  242. package/dist/public/assets/diff-view-BGH4FQ_a.css.br +0 -0
  243. package/dist/public/assets/new-CBB1WWUj.js +0 -1
  244. package/dist/public/assets/settings-CBB1WWUj.js +0 -1
  245. package/dist/public/assets/w-CBB1WWUj.js +0 -1
  246. package/dist/public/assets/w._-CBB1WWUj.js +0 -1
  247. 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 _dynamic_tag, A as btnLg, At as withPageAssets, B as _attr, C as toast_default, Ct as _subscribe, D as repoLabel, Dt as _try, E as parseRepoUrl, Et as _trailers, F as inputLg, G as _attr_or, I as metaTrunc, J as _attrs, K as _attr_select_value, L as phase, N as iconBtnRow, O as repoWebUrl$1, Ot as _var, P as iconBtnXs, Q as _content_resume, R as tone, S as workspaceTab, St as _set_serialize_reason, T as icon_base_default, Tt as _to_text, U as _attr_input_value, V as _attr_class, W as _attr_option_value, X as _await, Y as _attrs_partial, Z as _content, _t as _scope_with_id, a as rankRepos, at as _flush_head, b as sideNavOpen, bt as _serialize_guard, c as icon_refresh_default, ct as _hoist_read_error, d as sectionCount$1, dt as _if, ft as _peek_scope_id, gt as _scope_reason, ht as _scope_id, it as _existing_scope, j as btnSm, jt as writeScope, k as setPrimaryHost, kt as attrTag, l as iconBtn$2, lt as _html, mt as _resume_branch, n as findInput, nt as _el_resume, o as icon_search_default, ot as _for_of, pt as _resume, q as _attr_style, r as icon_sidebar_default, rt as _escape, s as icon_back_default, st as _hoist, t as findIconBtn, tt as _el_read_error, u as row, ut as _id, v as setTheme, vt as _script, w as icon_xmark_default, wt as _template, x as theme, xt as _serialize_if, y as setWorkspaceTab, yt as _sep, z as $global } from "./_BaBpI2_Z.js";
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) => gh([
1601
- "repo",
1602
- "list",
1603
- ...owner ? [owner] : [],
1604
- "--limit",
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 out of lists) for (const r of JSON.parse(out)) byName.set(r.nameWithOwner, {
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 _bB _bC";
3521
- var agentGrid = "_ce _bm";
3522
- var toolGrid = "_co _bm";
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("_bD")}>`);
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, "_cP"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
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, "_cP"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
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("_bF")}><h1${_attr("id", input.titleId)}${_attr_class("_bE")}>${_escape(input.title)}${_el_resume($scope0_id, "e", _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
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("_bG")}>`);
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("_bH")}>`);
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("E", (input) => {
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 = "_eR _S";
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("B", (input) => {
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(["_eL", { ["_eM"]: input.hideName }])}><div${_attr_class("_eN")}>`);
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("_e6")}>${_escape(agent.agent)}${_el_resume($scope1_id, "b", $sg__input_agent)}</strong>`);
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("_eO")}>${_escape(agent.plan.replace(/^default_/, "").replaceAll("_", " "))}${_el_resume($scope2_id, "b", $sg__input_agent)}</span>`);
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("_eP")}${_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)}`);
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(["_eQ", { ["_e7"]: agent.stale_seconds != null }])}>`);
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 ? "_eZ" : win.used_percent >= 70 ? "_eY" : win.used_percent >= 40 ? "_eX" : "_eW";
3685
- const pctClass = win.used_percent >= 90 ? "_e4" : win.used_percent >= 70 ? "_e3" : win.used_percent >= 40 ? "_e2" : "_e1";
3686
- _html(`<div${_attr_class("_eS")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_eT")}>${_escape(win.window)}${_el_resume($scope4_id, "c", $sg__input_agent)}</span><span${_attr_class("_eU")}><span${_attr_class(["_eV", 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(["_e0", pctClass])}>${_escape(pct)}${_el_resume($scope4_id, "g", $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_e5")}>${label ? `↻ ${_escape(`${_to_text(label)}`)}` : ""}${_el_resume($scope4_id, "i", $sg__input_agent)}</span></div>${_el_resume($scope4_id, "a", $sg__input_agent)}`);
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("R", (input) => {
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(["_g2", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
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("_g3")}>`);
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("_g4")}>`);
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("_g4")}>`);
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: "_eJ",
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("_eK")}${_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) => {
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, 4), $sg__input_instance_accent = _serialize_guard($scope0_reason, 5), $si__input_instance__OR__input_instanceChange = _serialize_if($scope0_reason, 0), $si__input_preferred = _serialize_if($scope0_reason, 2);
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("_bz")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bA")}><div${_attr_class(content$2)}>`);
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, 3),
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("u29", () => {
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 $scope50_id = _scope_id();
4483
+ const $scope51_id = _scope_id();
4177
4484
  _html("Checking this machine…");
4178
- writeScope($scope50_id, {});
4485
+ writeScope($scope51_id, {});
4179
4486
  return 0;
4180
4487
  } else if (setup.ready) {
4181
- const $scope51_id = _scope_id();
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($scope51_id, {});
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("u30", () => {
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, "u28");
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("u31", () => {
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 $scope36_id = _scope_id();
4237
- _html(`<div${_attr_class("_cF")} role=status><div${_attr_class("_cG")}>`);
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 $scope52_id = _scope_id();
4241
- _html(`<span${_attr_class("_cH")}><span${_attr_class("_F")}></span> Updating work…</span><span${_attr_class("_cI")}>The app restarts and reloads when it is done.</span>`);
4242
- writeScope($scope52_id, {});
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 $scope37_id = _scope_id();
4246
- _html(`<span${_attr_class("_cH")}>Update available</span><span${_attr_class("_cI")}>v<!>${_escape(self.version)}${_el_resume($scope37_id, "c")} → v<!>${_escape(self.latest)}${_el_resume($scope37_id, "d")}</span>`);
4247
- _subscribe($self_version__closures, _subscribe($self_latest__closures, writeScope($scope37_id, {})));
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
- }, $scope36_id, "b", 1, 1, 1, "</div>");
4557
+ }, $scope37_id, "b", 1, 1, 1, "</div>");
4251
4558
  _if(() => {
4252
4559
  if (!selfUpdating) {
4253
- const $scope38_id = _scope_id();
4254
- _html(`<button${_attr_class(["_o", "_p"])}${_attr("title", `Update work to v${self.latest} and restart`)}>Update and restart</button>${_el_resume($scope38_id, "a")}`);
4255
- _script($scope38_id, "u32");
4256
- _subscribe($self_latest__closures, writeScope($scope38_id, { Ce9: 1 }));
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
- }, $scope36_id, "c", 1, 1, 1, 0, 1);
4566
+ }, $scope37_id, "c", 1, 1, 1, 0, 1);
4260
4567
  _html("</div>");
4261
- writeScope($scope36_id, {});
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("_bj")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bk")}><h2${_attr("id", agentsId)}${_attr_class("_by")}>Agents</h2><div${_attr_class("_y")}></div><label${_attr_class("_cg")}><span${_attr_class("_S")}>Default</span><span${_attr_class("_m")}>`);
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 $scope53_id = _scope_id();
4272
- _html(`<option${_attr_option_value(id)}>${_escape(agentLabel(id))}${_el_resume($scope53_id, "b", $sg__input_agents)}</option>${_el_resume($scope53_id, "a", $sg__input_agents)}`);
4273
- _serialize_if($scope0_reason, 4) && writeScope($scope53_id, {});
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(["_bo", "_cf"])}><div${_attr_class(["_ci", { ["_cl"]: lone && !lone.enabled }])}>`);
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("_bp")}><span${_attr_class("_br")}><span${_attr_class("_bq")}>${_escape(a.label)}${_el_resume($scope1_id, "g")}</span>`);
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 $scope54_id = _scope_id();
4607
+ const $scope55_id = _scope_id();
4301
4608
  _html(`<span${_attr_class(["_I", tone.accent])}>default</span>`);
4302
- writeScope($scope54_id, {});
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 $scope55_id = _scope_id();
4315
- _html(`<span${_attr_class("_bs")}>Not installed</span>`);
4316
- writeScope($scope55_id, {});
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 $scope43_id = _scope_id();
4324
- _html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope43_id, "a")}`);
4325
- _script($scope43_id, "u33");
4326
- writeScope($scope43_id, {});
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 $scope47_id = _scope_id();
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($scope47_id, "b")}</button>${_el_resume($scope47_id, "a")}`);
4338
- _script($scope47_id, "u34");
4339
- writeScope($scope47_id, {});
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 $scope56_id = _scope_id();
4668
+ const $scope57_id = _scope_id();
4362
4669
  _html(`<span${_attr_class(["_I", tone.accent])}>default</span>`);
4363
- writeScope($scope56_id, {});
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 $scope57_id = _scope_id();
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($scope57_id, { a: _existing_scope($childScope6) });
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, "u35");
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 $scope58_id = _scope_id();
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($scope58_id, { a: _existing_scope($childScope7) });
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 $scope59_id = _scope_id();
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($scope59_id, { a: _existing_scope($childScope8) });
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 $scope60_id = _scope_id();
4433
- _html(`<li${_attr_class(["_bo", "_cf"])}>`);
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($scope60_id, { b: _existing_scope($childScope9) });
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 $scope61_id = _scope_id();
4444
- _html(`<p${_attr_class("_bu")}><span${_attr_class("_F")}></span> Loading usage…</p>`);
4445
- writeScope($scope61_id, {});
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("_bu")}>${_escape(usage.error)}${_el_resume($scope7_id, "b")}</p>`);
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("_bj")}${_attr("aria-labelledby", githubId)}><div${_attr_class("_bk")}><h2${_attr("id", githubId)}${_attr_class("_by")}>GitHub</h2></div><ul${_attr_class("_bm")}>`);
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
- _html(`<li${_attr_class("_bo")}><div${_attr_class("_bp")}><span${_attr_class("_br")}><span${_attr_class(["_bq", "_x"])}>${_escape(h.host)}${_el_resume($scope12_id, "e")}</span>`);
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 $scope64_id = _scope_id();
4778
+ const $scope65_id = _scope_id();
4462
4779
  _html(`<span${_attr_class("_I")}>Enterprise</span>`);
4463
- writeScope($scope64_id, {});
4780
+ writeScope($scope65_id, {});
4464
4781
  return 0;
4465
4782
  }
4466
- }, $scope12_id, "f", 1, 1, 1, 0, 1);
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 $scope23_id = _scope_id();
4471
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_cv")}>${_escape(authCodes.get(h.host))}${_el_resume($scope23_id, "d")}</strong> at <a${_attr("href", `https://${h.host}/login/device`)} target=_blank rel=noopener${_attr_class("_cw")}>${_escape(h.host)}${_el_resume($scope23_id, "f")}/login/device</a>${_el_resume($scope23_id, "e")}</span>`);
4472
- _subscribe($authCodes__closures, writeScope($scope23_id, {}));
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("_bs")}>${_escape(h.error || "Not signed in")}${_el_resume($scope63_id, "b")}</span>`);
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, "g", 1, 1, 1, 0, 1);
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 $scope24_id = _scope_id();
4811
+ const $scope25_id = _scope_id();
4495
4812
  _if(() => {
4496
4813
  if (!h.authed) {
4497
- const $scope44_id = _scope_id();
4498
- _html(`<button${_attr_class(btnSm)}>Sign in</button>${_el_resume($scope44_id, "a")}`);
4499
- _script($scope44_id, "u36");
4500
- writeScope($scope44_id, {});
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 $scope25_id = _scope_id();
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($scope25_id, "b")}</button>${_el_resume($scope25_id, "a")}`);
4508
- _script($scope25_id, "u37");
4509
- _subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($scope25_id, {})));
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
- }, $scope24_id, "a", 1, 1, 1, 0, 1);
4829
+ }, $scope25_id, "a", 1, 1, 1, 0, 1);
4513
4830
  _if(() => {
4514
4831
  if (h.isEnterprise) {
4515
- const $scope26_id = _scope_id();
4832
+ const $scope27_id = _scope_id();
4516
4833
  _html(`<button${_attr_class([
4517
- "_bt",
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 $scope65_id = _scope_id();
4841
+ const $scope66_id = _scope_id();
4525
4842
  _html("Forget?");
4526
- writeScope($scope65_id, {});
4843
+ writeScope($scope66_id, {});
4527
4844
  return 0;
4528
4845
  } else {
4529
- const $scope66_id = _scope_id();
4846
+ const $scope67_id = _scope_id();
4530
4847
  icon_xmark_default({ size: 13 });
4531
- writeScope($scope66_id, {});
4848
+ writeScope($scope67_id, {});
4532
4849
  return 1;
4533
4850
  }
4534
- }, $scope26_id, "a", 1, 1, 1, "</button>");
4535
- _script($scope26_id, "u38");
4536
- _subscribe($for_content4__h_host__closures, _subscribe($confirmingRemove__closures, writeScope($scope26_id, {
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
- Cr: 1
4855
+ Ca2: 1
4539
4856
  })));
4540
4857
  return 0;
4541
4858
  }
4542
- }, $scope24_id, "b", 1, 1, 1, 0, 1);
4543
- writeScope($scope24_id, {});
4859
+ }, $scope25_id, "b", 1, 1, 1, 0, 1);
4860
+ writeScope($scope25_id, {});
4544
4861
  return 0;
4545
4862
  }
4546
- }, $scope12_id, "h");
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
- k: h?.host,
4550
- m: h?.isEnterprise,
4551
- n: h?.authed,
4552
- p: h?.user,
4553
- q: h?.error,
4554
- r: $for_content4__h_host__closures
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 $scope67_id = _scope_id();
4560
- _html(`<p${_attr_class("_bu")}>Install the GitHub CLI below to sign in.</p>`);
4561
- writeScope($scope67_id, {});
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 $scope34_id = _scope_id();
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($scope34_id, "d", hostInput, _resume((_new_hostInput) => {
4923
+ _html(`<input${_attr_input_value($scope35_id, "d", hostInput, _resume((_new_hostInput) => {
4574
4924
  hostInput = _new_hostInput;
4575
- }, "u2", $scope34_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($scope34_id, "d")}</label><button${_attr_class(btnSm)} type=submit${_attr("disabled", !hostInput.trim() || hostBusy)}>${hostBusy ? "Adding…" : "Add host"}${_el_resume($scope34_id, "f")}</button>${_el_resume($scope34_id, "e")}</form>${_el_resume($scope34_id, "a")}`);
4576
- _script($scope34_id, "u39");
4577
- writeScope($scope34_id, {});
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("_bj")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bk")}><h2${_attr("id", machineId)}${_attr_class("_by")}>Machine</h2>`);
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 $scope48_id = _scope_id();
4585
- _html(`<span${_attr_class(sectionCount$1)}>${_escape(missingCount)}${_el_resume($scope48_id, "b")} missing</span>`);
4586
- writeScope($scope48_id, {});
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 $scope49_id = _scope_id();
4593
- _html(`<span${_attr_class(sectionCount$1)}>${_escape(outdatedIds.length)}${_el_resume($scope49_id, "b")} outdated</span>`);
4594
- writeScope($scope49_id, {});
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 $scope14_id = _scope_id();
4602
- _html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Update all</button>${_el_resume($scope14_id, "a")}`);
4603
- _script($scope14_id, "u40");
4604
- writeScope($scope14_id, {});
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 $scope15_id = _scope_id();
4611
- _html(`<button${_attr_class(btnSm)}${_attr("disabled", active.size > 0)}>Install missing</button>${_el_resume($scope15_id, "a")}`);
4612
- _script($scope15_id, "u41");
4613
- writeScope($scope15_id, {});
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 $scope16_id = _scope_id();
4621
- _html(`<p${_attr_class("_bu")}>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($scope16_id, "c")}</button>${_el_resume($scope16_id, "b")}</p>`);
4622
- _script($scope16_id, "u42");
4623
- writeScope($scope16_id, {});
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 $scope39_id = _scope_id();
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 $scope68_id = _scope_id();
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($scope68_id, {});
4986
+ writeScope($scope69_id, {});
4637
4987
  return 0;
4638
4988
  } else {
4639
- const $scope40_id = _scope_id();
4640
- _html(`<span${_attr_class(["_x", metaTrunc])} title="Running version">v<!>${_escape(self.version)}${_el_resume($scope40_id, "b")}</span>`);
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 $scope69_id = _scope_id();
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($scope69_id, {});
4995
+ writeScope($scope70_id, {});
4646
4996
  return 0;
4647
4997
  } else if (self.latest && self.latest !== self.version) {
4648
- const $scope41_id = _scope_id();
4649
- _html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update work to v${self.latest} and restart`)}>↑ <!>${_escape(self.latest)}${_el_resume($scope41_id, "b")}</button>${_el_resume($scope41_id, "a")}`);
4650
- _script($scope41_id, "u43");
4651
- _subscribe($self_latest__closures, writeScope($scope41_id, { Ce9: 3 }));
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 $scope70_id = _scope_id();
5004
+ const $scope71_id = _scope_id();
4655
5005
  _html(`<span${_attr_class(metaTrunc)}>up to date</span>`);
4656
- writeScope($scope70_id, {});
5006
+ writeScope($scope71_id, {});
4657
5007
  return 2;
4658
5008
  }
4659
- }, $scope40_id, "c", 1, 1, 1, 0, 1);
4660
- _subscribe($self_version__closures, _subscribe($self_latest__closures, _subscribe($self_install__closures, writeScope($scope40_id, {
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
- }, $scope39_id, "c");
5016
+ }, $scope40_id, "c");
4667
5017
  _html(`<span${_attr_class("_y")}></span>`);
4668
5018
  _if(() => {
4669
5019
  if (!selfUpdating) {
4670
- const $scope71_id = _scope_id();
5020
+ const $scope72_id = _scope_id();
4671
5021
  _html(`<span${_attr_class("_I")}>app</span>`);
4672
- writeScope($scope71_id, {});
5022
+ writeScope($scope72_id, {});
4673
5023
  return 0;
4674
5024
  }
4675
- }, $scope39_id, "e", 1, 1, 1, 0, 1);
5025
+ }, $scope40_id, "e", 1, 1, 1, 0, 1);
4676
5026
  _html("</li>");
4677
- writeScope($scope39_id, {});
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 $scope17_id = _scope_id();
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($scope17_id, "c")}</span>`);
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 $scope18_id = _scope_id();
4692
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(t.id) || "Starting…")}${_el_resume($scope18_id, "c")}</span>`);
4693
- _subscribe($active__closures, writeScope($scope18_id, { Cdx: 2 }));
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 $scope30_id = _scope_id();
5046
+ const $scope31_id = _scope_id();
4697
5047
  _if(() => {
4698
5048
  if (t.version) {
4699
- const $scope31_id = _scope_id();
4700
- _html(`<button${_attr_class(["_cr", "_x"])}${_attr("title", `${t.path || t.label}. Pin a version`)}>v<!>${_escape(t.version)}${_el_resume($scope31_id, "b")}</button>${_el_resume($scope31_id, "a")}`);
4701
- _script($scope31_id, "u44");
4702
- _subscribe($for_content5__t_path__closures, _subscribe($for_content5__t_version__closures, _subscribe($for_content5__t_label__closures, writeScope($scope31_id, { Cu: 1 }))));
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 $scope72_id = _scope_id();
4706
- _html(`<span${_attr_class([metaTrunc, "_x"])}${_attr("title", t.path)}>${_escape(t.path)}${_el_resume($scope72_id, "b")}</span>${_el_resume($scope72_id, "a")}`);
4707
- _subscribe($for_content5__t_path__closures, writeScope($scope72_id, { Cx: 1 }));
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
- }, $scope30_id, "a", 1, 1, 1, 0, 1);
5060
+ }, $scope31_id, "a", 1, 1, 1, 0, 1);
4711
5061
  _if(() => {
4712
5062
  if (outdated(t)) {
4713
- const $scope45_id = _scope_id();
4714
- _html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update to v${t.latest}`)}>↑ <!>${_escape(t.latest)}${_el_resume($scope45_id, "b")}</button>${_el_resume($scope45_id, "a")}`);
4715
- _script($scope45_id, "u45");
4716
- _subscribe($for_content5__t_latest__closures, writeScope($scope45_id, {}));
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
- }, $scope30_id, "b", 1, 1, 1, 0, 1);
4720
- writeScope($scope30_id, {});
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 $scope73_id = _scope_id();
5073
+ const $scope74_id = _scope_id();
4724
5074
  _html(`<span${_attr_class(metaTrunc)}>not installed</span>`);
4725
- writeScope($scope73_id, {});
5075
+ writeScope($scope74_id, {});
4726
5076
  return 2;
4727
5077
  } else {
4728
- const $scope74_id = _scope_id();
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($scope74_id, {});
5080
+ writeScope($scope75_id, {});
4731
5081
  return 3;
4732
5082
  }
4733
- }, $scope17_id, "d");
5083
+ }, $scope18_id, "d");
4734
5084
  _html(`<span${_attr_class("_y")}></span>`);
4735
5085
  _if(() => {
4736
5086
  if (!active.has(t.id)) {
4737
- const $scope27_id = _scope_id();
5087
+ const $scope28_id = _scope_id();
4738
5088
  _if(() => {
4739
5089
  if (t.required) {
4740
- const $scope75_id = _scope_id();
5090
+ const $scope76_id = _scope_id();
4741
5091
  _html(`<span${_attr_class("_I")}>required</span>`);
4742
- writeScope($scope75_id, {});
5092
+ writeScope($scope76_id, {});
4743
5093
  return 0;
4744
5094
  }
4745
- }, $scope27_id, "a", 1, 1, 1, 0, 1);
5095
+ }, $scope28_id, "a", 1, 1, 1, 0, 1);
4746
5096
  _if(() => {
4747
5097
  if (!t.installed && t.installable) {
4748
- const $scope46_id = _scope_id();
4749
- _html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope46_id, "a")}`);
4750
- _script($scope46_id, "u46");
4751
- writeScope($scope46_id, {});
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 $scope28_id = _scope_id();
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 $scope76_id = _scope_id();
5113
+ const $scope77_id = _scope_id();
4764
5114
  _html("Remove?");
4765
- writeScope($scope76_id, {});
5115
+ writeScope($scope77_id, {});
4766
5116
  return 0;
4767
5117
  } else {
4768
- const $scope77_id = _scope_id();
5118
+ const $scope78_id = _scope_id();
4769
5119
  icon_xmark_default({ size: 13 });
4770
- writeScope($scope77_id, {});
5120
+ writeScope($scope78_id, {});
4771
5121
  return 1;
4772
5122
  }
4773
- }, $scope28_id, "a", 1, 1, 1, "</button>");
4774
- _script($scope28_id, "u47");
4775
- _subscribe($for_content5__t_id__closures, _subscribe($for_content5__t_label__closures, _subscribe($confirmingRemove__closures, writeScope($scope28_id, { Ce0: 2 }))));
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
- }, $scope27_id, "b", 1, 1, 1, 0, 1);
4779
- writeScope($scope27_id, {});
5128
+ }, $scope28_id, "b", 1, 1, 1, 0, 1);
5129
+ writeScope($scope28_id, {});
4780
5130
  return 0;
4781
5131
  }
4782
- }, $scope17_id, "f");
4783
- _html(`</li>${_el_resume($scope17_id, "a")}`);
4784
- writeScope($scope17_id, {
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 $scope19_id = _scope_id();
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($scope19_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($scope19_id, "c")}</label>`);
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 $scope20_id = _scope_id();
5163
+ const $scope21_id = _scope_id();
4814
5164
  _html(`<ul${_attr_class([toolGrid, "_ct"])}>`);
4815
5165
  _for_of(hits, (h) => {
4816
- const $scope21_id = _scope_id();
4817
- _html(`<li${_attr_class(row)}><div${_attr_class("_bp")}><span${_attr_class(["_cq", "_x"])}>${_escape(h.name)}${_el_resume($scope21_id, "d")}</span>`);
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 $scope22_id = _scope_id();
4821
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.name) || "Starting…")}${_el_resume($scope22_id, "c")}</span>`);
4822
- _subscribe($active__closures, writeScope($scope22_id, { Cdx: 4 }));
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 $scope78_id = _scope_id();
4826
- _html(`<span${_attr_class("_bs")}${_attr("title", h.description)}>${_escape(h.description)}${_el_resume($scope78_id, "b")}</span>${_el_resume($scope78_id, "a")}`);
4827
- writeScope($scope78_id, {});
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
- }, $scope21_id, "e", 1, 1, 1, 0, 1);
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 $scope32_id = _scope_id();
5184
+ const $scope33_id = _scope_id();
4835
5185
  _if(() => {
4836
5186
  if (h.installed) {
4837
- const $scope79_id = _scope_id();
5187
+ const $scope80_id = _scope_id();
4838
5188
  _html(`<span${_attr_class("_I")}>installed</span>`);
4839
- writeScope($scope79_id, {});
5189
+ writeScope($scope80_id, {});
4840
5190
  return 0;
4841
5191
  } else {
4842
- const $scope33_id = _scope_id();
4843
- _html(`<button${_attr_class(btnSm)}>Install</button>${_el_resume($scope33_id, "a")}<button${_attr_class(btnSm)} title="Install a specific version">@…</button>${_el_resume($scope33_id, "b")}`);
4844
- _script($scope33_id, "u48");
4845
- writeScope($scope33_id, {});
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
- }, $scope32_id, "a");
4849
- writeScope($scope32_id, {});
5198
+ }, $scope33_id, "a");
5199
+ writeScope($scope33_id, {});
4850
5200
  return 0;
4851
5201
  }
4852
- }, $scope21_id, "f");
5202
+ }, $scope22_id, "f");
4853
5203
  _html("</li>");
4854
- _subscribe($active__closures, writeScope($scope21_id, {
5204
+ _subscribe($active__closures, writeScope($scope22_id, {
4855
5205
  i: h?.name,
4856
5206
  k: h?.description,
4857
5207
  m: h?.installed,
4858
- Cdx: 3
5208
+ Cdx: 4
4859
5209
  }));
4860
- }, "name", $scope20_id, "a", 1, 1, 1, "</ul>", 1);
4861
- _subscribe($hits__closures, writeScope($scope20_id, {}));
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 $scope35_id = _scope_id();
4865
- _html(`<p${_attr_class("_bu")}>No tools match "<!>${_escape(query)}${_el_resume($scope35_id, "b")}".</p>`);
4866
- _subscribe($query__closures, writeScope($scope35_id, {}));
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
- }, $scope19_id, "d", 1, 1, 1, 0, 1);
5219
+ }, $scope20_id, "d", 1, 1, 1, 0, 1);
4870
5220
  _html("</div>");
4871
- _script($scope19_id, "u49");
4872
- writeScope($scope19_id, {});
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("_bj")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bk")}><h2${_attr("id", appearanceId)}${_attr_class("_by")}>Appearance</h2></div><div${_attr_class(["_bo", "_cx"])}><label${_attr_class("_cy")}><span${_attr_class("_cz")}>Name</span><input${_attr_input_value($scope0_id, "aj", input.instance.name, _resume(function(v) {
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", "_cA"])} 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", "_cB"])}>Tab title, home-screen icon, and notifications.</span></label><div${_attr_class("_cy")} role=radiogroup aria-label="Color theme"><span${_attr_class("_cz")}>Theme</span><span${_attr_class("_cC")}>`);
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 $scope42_id = _scope_id();
4894
- _html(`<button type=button${_attr_class(["_cD", { ["_cE"]: themeMode === opt.id }])} role=radio aria-checked=${themeMode === opt.id ? "true" : "false"}>${_escape(opt.label)}</button>${_el_resume($scope42_id, "a")}`);
4895
- _script($scope42_id, "u50");
4896
- writeScope($scope42_id, {
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", "_cB"])}>Follow the OS, or force light or dark.</span></div><div${_attr_class("_cy")} role=radiogroup aria-label="Accent colour"><span${_attr_class("_cz")}>Accent</span><span${_attr_class("_cJ")}><button type=button${_attr_class([
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
- { ["_cL"]: !input.instance.accent }
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(["_cK", { ["_cL"]: 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")}`);
4909
- _script($scope4_id, "u51");
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
- "_cK",
4918
- "_cN",
4919
- { ["_cL"]: customOn }
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("_cO")} 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", "_cB"])}>Selected rows, buttons, and the icon.</span></div></div></section></div></div></div>`);
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 $scope29_id = _scope_id();
5275
+ const $scope30_id = _scope_id();
4926
5276
  _set_serialize_reason(14);
4927
- const $childScope10 = _peek_scope_id();
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
- }, "u26", $scope29_id),
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
- }, "u27", $scope29_id)
5291
+ }, "u30", $scope30_id)
4942
5292
  });
4943
- writeScope($scope29_id, { a: _existing_scope($childScope10) });
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, "u52");
4948
- _script($scope0_id, "u53");
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
- ej: $accountsFor2__closures,
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 _bB";
5035
- var section$1 = "_bM _bj";
5386
+ var content$1 = "_bI _bk";
5387
+ var section$1 = "_bM _bs";
5036
5388
  var curBase = "_bR _T _S";
5037
- var archived = "_bW _bj";
5389
+ var archived = "_bW _bs";
5038
5390
  var archivedHint = "_bX _S";
5039
- var archivedCard = "_bY _bo";
5040
- var resultBranch = "_cW _Z _j";
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("_cY")}>`);
5403
+ _html(`<div${_attr_class("_db")}>`);
5052
5404
  _if(() => {
5053
5405
  {
5054
5406
  const $scope4_id = _scope_id();
5055
- _html(`<p${_attr_class("_bu")}><span${_attr_class("_F")}></span> Loading branches…</p>`);
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
- _html(`<div${_attr_class("_cQ")}><label${_attr_class("_W")}>`);
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, "d", filter, _resume(function(v) {
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, "d")}</label>`);
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("_cR")}><li><div${_attr_class(["_cT", "_cS"])}><button${_attr_class("_cU")}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
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: "_c0"
5520
+ class: "_dd"
5142
5521
  });
5143
- _html(`<span${_attr_class("_c1")}>${_escape(repoLabel(pasted))}${_el_resume($scope1_id, "f")}</span></button>${_el_resume($scope1_id, "c")}`);
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 $scope7_id = _scope_id();
5147
- _html(`<button${_attr_class(["_cX", { ["_cV"]: 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($scope7_id, "b")}</button>${_el_resume($scope7_id, "a")}`);
5148
- _script($scope7_id, "s11");
5149
- _subscribe($pasteWillFork__closures, _subscribe($pasted__closures, writeScope($scope7_id, { Cah: 1 })));
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, { ["_cV"]: 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>`);
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 $childScope = _peek_scope_id();
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
- }, "s7", $scope2_id),
5541
+ }, "s9", $scope2_id),
5163
5542
  onError: _resume(function(message) {
5164
5543
  branchesFor = null;
5165
5544
  input.onError?.(message);
5166
- }, "s8", $scope2_id)
5545
+ }, "s10", $scope2_id)
5167
5546
  });
5168
- _subscribe($pasted__closures, _subscribe($si__input_onError && $input_onError__closures, writeScope($scope2_id, { a: _existing_scope($childScope) })));
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, "s12");
5552
+ _script($scope1_id, "s14");
5174
5553
  writeScope($scope1_id, {});
5175
5554
  return 0;
5176
5555
  } else if (filter && !catalog) {
5177
- const $scope8_id = _scope_id();
5178
- _html(`<p${_attr_class("_bu")}>Loading repos…</p>`);
5179
- writeScope($scope8_id, {});
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, "e", 1, 1, 1, 0, 1);
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("_cR")}>`);
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(["_cT", { ["_cS"]: i === highlight }])}><button${_attr_class("_cU")}>`);
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: "_c0"
5571
+ class: "_dd"
5193
5572
  });
5194
- _html(`<span${_attr_class("_c1")}>${_escape(repoLabel(repo.nameWithOwner))}${_el_resume($scope4_id, "e")}</span></button>${_el_resume($scope4_id, "b")}<button${_attr_class([resultBranch, { ["_cV"]: 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")}`);
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 $childScope2 = _peek_scope_id();
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
- }, "s9", $scope5_id),
5582
+ }, "s11", $scope5_id),
5204
5583
  onError: _resume(function(message) {
5205
5584
  branchesFor = null;
5206
5585
  input.onError?.(message);
5207
- }, "s10", $scope5_id)
5586
+ }, "s12", $scope5_id)
5208
5587
  });
5209
5588
  _subscribe($si__input_onError && $input_onError__closures, writeScope($scope5_id, {
5210
- a: _existing_scope($childScope2),
5211
- Cad: $si__input_onError && 1
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, "s13");
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("_bu")}>No repos match "<!>${_escape(filter)}${_el_resume($scope6_id, "b")}". Paste a clone URL to add any repo.</p>`);
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, "f", 1, 1, 1, 0, 1);
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, "s14");
5235
- _script($scope0_id, "s15");
5613
+ _script($scope0_id, "s16");
5614
+ _script($scope0_id, "s17");
5236
5615
  writeScope($scope0_id, {
5237
- i: _serialize_if($scope0_reason, 1) && input.refreshing,
5238
- j: _serialize_if($scope0_reason, 0) && input.refreshingChange,
5239
- l: input.onError,
5240
- m: input.exclude,
5241
- n: input.onPick,
5242
- r: catalog,
5243
- s: catalog?.repos,
5244
- u: filter,
5245
- v: highlight,
5246
- w: loadCatalog,
5247
- x: excluded,
5248
- a0: results,
5249
- a2: pasted,
5250
- a6: pastedForkable,
5251
- a7: branchesFor,
5252
- a9: pasteWillFork,
5253
- aa: pick,
5254
- ab: pastedFork,
5255
- ac: toggleBranches,
5256
- q: input.refreshingChange || void 0,
5257
- ah: $pasted__closures,
5258
- ak: $pasteWillFork__closures,
5259
- ad: $si__input_onError && $input_onError__closures,
5260
- af: $highlight__closures,
5261
- aj: $branchesFor__closures
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("_bz")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bA")}><div${_attr_class(content$1)}>`);
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("_by")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
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("_by")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
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("_bu")}>No repos yet. Search below to add one, or create it empty.</li>`);
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("_by")}>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("_bm")}>`);
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("_bp")}><span${_attr_class("_bq")}>${_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)}>`);
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 = "_c6 _j";
5679
- var navToggle = "_da _j";
5680
- _template("H", (input) => {
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("U", (input) => {
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 = "_f7 _j";
5723
- var rowIcon = "_gf _Z _j";
5724
- var close = "_gg _Z _j _2";
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 = "_f3 _4";
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("K", (input) => {
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("Q", (input) => {
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("C", (input) => {
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
- "_fb",
6182
+ "_fo",
5789
6183
  input.class,
5790
- { ["_fc"]: agent.stale_seconds != null }
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("_fd")}>`);
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("_fg")} aria-hidden=true>·</span>`);
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("_fe")}>${_escape(win$1.window)}${_el_resume($scope2_id, "d", $sg__input_agent)}</span><span${_attr_class(["_ff", win$1.used_percent >= 90 ? "_e4" : win$1.used_percent >= 70 ? "_e3" : win$1.used_percent >= 40 ? "_e2" : "_e1"])}>${_escape(pctText(win$1.used_percent))}${_el_resume($scope2_id, "f", $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
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("M", (input) => {
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 = "_g_ _s _g9";
5835
- var portChip = "_ha _s _g9";
6228
+ var prChip = "_hn _s _hm";
6229
+ var portChip = "_ho _s _hm";
5836
6230
  var prState = {
5837
- open: "_he",
5838
- merged: "_hf",
5839
- closed: "_hg"
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("_g8")}>`);
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(["_hb", { ["_hi"]: !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)}`);
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(["_hb", "_hc"])}${_attr("href", `/w/${input.workspaceId}/review?pr=${encodeURIComponent(`${repo.worktree}/${pr.number}`)}`)}${_attr("title", `Review #${pr.number} changes`)}>`);
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
- "_hb",
5916
- "_hc",
5917
- "_hd"
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(["_hb", "_hh"])}${_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([
5943
- "_hb",
5944
- "_hc",
5945
- "_hd",
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, { ["_f5"]: 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([
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
- "_f8"
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(["_f_", {
6049
- ["_f5"]: input.current,
6442
+ _html(`<section${_attr_class(["_fO", {
6443
+ ["_fJ"]: input.current,
6050
6444
  ["_5"]: input.current,
6051
- ["_ga"]: input.railPop,
6052
- ["_f9"]: input.page
6053
- }])}><div${_attr_class("_gb")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class("_gc")}><span${_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
- "_gp"
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: "_gh"
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("_gi")}><span${_attr_class("_gj")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "h", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
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("_gn")}>${_escape(metaText)}${_el_resume($scope16_id, "b", _serialize_guard($scope0_reason, 7))}</span>`);
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("_gk")}>${_escape(sessions$1[0].title)}${_el_resume($scope15_id, "b", $sg__input_sessions)}</span>`);
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
- "_go"
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("_gd")}>`);
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("_f4")}>`);
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, { ["_f6"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
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("_gu")}>`);
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: "_gl"
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(["_ge", { ["_f5"]: s.id === input.currentTab }])}>`);
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
- "_gs"
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: "_gw"
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", "_gt"])} aria-label="Session name">${_el_resume($scope10_id, "c")}`);
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("_gv")}><span${_attr_class(["_z", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope9_id, "b", $sg__input_sessions)}`);
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: "_gw"
6622
+ class: "_ga"
6229
6623
  });
6230
- _html(`<span${_attr_class("_gq")}>${_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("_gr")}><button${_attr_class(rowIcon)} title="Rename session">`);
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: "_gm"
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("N", (input) => {
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("V", (input) => {
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(["_c_", {
6446
- ["_c8"]: !navOpen,
6447
- ["_c9"]: isPage
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("_dc")}><div${_attr_class("_dl")}>`);
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("_di")} title="This work server (Settings → Appearance)"><img${_attr_class("_dj")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_dk")}>${_escape(input.instanceName)}${_el_resume($scope2_id, "d", $sg__input_instanceName)}</span></div>`);
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("_dd")}>Workspaces</h1></div><div${_attr_class("_de")}>`);
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
- "_df",
6466
- { ["_c5"]: view === "settings" }
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", "_c7"])} title="Machine setup incomplete"></span>`);
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("_di")} title="This work server (Settings → Appearance)"><img${_attr_class("_dj")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_dk")}>${_escape(input.instanceName)}${_el_resume($scope3_id, "d", $sg__input_instanceName)}</span></div>`);
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("_dm")}>`);
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(["_by", "_dg"])}>Current</h2>`);
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(["_by", "_dg"])}>Other workspaces</h2>`);
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("_dn")}>`);
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", "_dq"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
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("_do")}>`);
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
- "_dh"
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", "_dp"])}></div>`);
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, { ["_c5"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
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", "_c7"])} title="Machine setup incomplete"></span>`);
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, { ["_c5"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
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 = "_bl _I _J";
6841
- var content = "_dr _bB";
6842
- var pageMeta = "_ds _bG";
6843
- var pathMeta = "_dv _x";
6844
- var dangerHint = "_dB _S";
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("_bz")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bA")}><div${_attr_class(content)}>`);
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("_dt")}>${_escape(ws.name)}${_el_resume($scope8_id, "c")}</span>`);
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("_du")} 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")}`);
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("_bi")}><span${_attr_class("_F")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
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("_bj")}><div${_attr_class("_bk")}><h2${_attr_class("_by")}>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)}>`);
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("_bm")}>`);
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("_bo")}><div${_attr_class("_bp")}><span${_attr_class(["_bq", "_x"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_br")}><a${_attr_class(["_bs", "_dx"])}${_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")}`);
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
- "_bt",
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(["_bo", "_bn"])}><span${_attr_class("_F")}></span><div${_attr_class("_bp")}><span${_attr_class("_bs")}>Adding <!>${_escape(name)}${_el_resume($scope16_id, "e")}…</span></div></li>`);
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("_bu")}>No repos yet. Search below to add one.</p>`);
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("_dw")}>`);
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("_bj")}><div${_attr_class("_bk")}><h2${_attr_class("_by")}>Running</h2><span${_attr_class(sectionCount)}>${_escape(running.length)}${_el_resume($scope9_id, "e")}</span></div><ul${_attr_class("_bm")}>`);
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("_bo")}><div${_attr_class("_bp")}${_attr("title", p.args)}><span${_attr_class(["_bq", "_x"])}>${_escape(p.cmd)}${_el_resume($scope10_id, "d")}</span>`);
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("_br")}>`);
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", "_dy"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope19_id, "b")}</button>${_el_resume($scope19_id, "a")}`);
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(["_bt", "_2"])} type=button${_attr("title", `Kill process ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>`);
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(["_bj", "_dz"])}><div${_attr_class("_bk")}><h2${_attr_class("_by")}>Workspace</h2></div><div${_attr_class("_dA")}>`);
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("y", (input) => {
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
- }, "y1", $scope0_id);
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
- }, "y2", $scope0_id);
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
- }, "y3", $scope0_id);
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
- "_fW",
7226
- keybar ? "_fY" : "_fX",
7227
- !open && "_f0"
7228
- ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_fR", keybar ? "_fZ" : "_fT"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
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
- }, "y0", $scope0_id))}${_attr_class([findInput, keybar && "_f1"])} 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 && "_f2"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_f2"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class([findIconBtn, keybar && "_f2"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
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, "y4");
7237
- _script($scope0_id, "y5");
7238
- _script($scope0_id, "y6");
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("Y", (input) => {
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("L", (input) => {
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("P", (input) => {
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("J", (input) => {
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("z", (input) => {
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, "z21");
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
- }, "z1", $scope0_id);
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() {}, "z2") };
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
- }, "z3", $scope0_id);
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
- }, "z4", $scope0_id);
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
- }, "z5", $scope0_id);
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
- }, "z6", $scope0_id);
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
- }, "z7", $scope0_id);
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
- }, "z8", $scope0_id);
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
- }, "z9", $scope0_id);
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
- }, "z10", $scope0_id);
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
- }, "z11", $scope0_id);
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
- }, "z12", $scope0_id);
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
- }, "z13", $scope0_id);
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
- }, "z14", $scope0_id);
7507
- _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_d5")}><div${_attr_class("_d6")}></div>${_el_resume($scope0_id, "b")}`);
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
- }, "z15", $scope12_id),
7915
+ }, "A15", $scope12_id),
7522
7916
  onClear: _resume(function() {
7523
7917
  clearFind();
7524
7918
  ioBox.current?.setFindMode(false);
7525
- }, "z16", $scope12_id)
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("_eb")}>uploading…</div>`);
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("_ea")}>Copied</div>`);
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("_ec")}><div${_attr_class("_ed")}><p${_attr_class("_eI")}>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")}`);
7552
- _script($scope11_id, "z25");
7553
- _script($scope11_id, "z26");
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, "z41");
7561
- _script($scope0_id, "z42");
7562
- _script($scope0_id, "z43");
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("D", (input) => {
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("./_BNW7lzU5.js").then((m) => {
8048
+ import("./_DWAnBXsO.js").then((m) => {
7655
8049
  DiffView = m.default;
7656
8050
  });
7657
- }, "D6", $scope0_id);
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() {}, "D0") };
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
- }, "D7", $scope0_id);
8075
+ }, "E7", $scope0_id);
7682
8076
  const openManage = _resume(() => {
7683
8077
  manageMounted = true;
7684
8078
  view = "manage";
7685
- }, "D8", $scope0_id);
8079
+ }, "E8", $scope0_id);
7686
8080
  const openSettings = _resume(() => {
7687
8081
  settingsMounted = true;
7688
8082
  view = "settings";
7689
- }, "D9", $scope0_id);
8083
+ }, "E9", $scope0_id);
7690
8084
  const toggleNav = _resume(() => {
7691
8085
  view = view === "nav" ? "term" : "nav";
7692
- }, "D10", $scope0_id);
8086
+ }, "E10", $scope0_id);
7693
8087
  const toggleDiff = _resume(() => {
7694
8088
  if (view === "diff") view = "term";
7695
8089
  else openDiff();
7696
- }, "D11", $scope0_id);
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
- }, "D12", $scope0_id);
8107
+ }, "E12", $scope0_id);
7714
8108
  const exitCreate = _resume(() => {
7715
8109
  if (view === "new") view = "term";
7716
- }, "D13", $scope0_id);
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
- }, "D14", $scope0_id);
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
- }, "D15", $scope0_id);
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
- }, "D16", $scope0_id);
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
- }, "D17", $scope0_id);
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
- }, "D18", $scope0_id);
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
- }, "D19", $scope0_id);
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
- }, "D20", $scope0_id);
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
- }, "D21", $scope0_id);
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
- }, "D22", $scope0_id),
8269
+ }, "E22", $scope0_id),
7876
8270
  view,
7877
8271
  viewChange: _resume((_new_view) => {
7878
8272
  view = _new_view;
7879
- }, "D23", $scope0_id),
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
- }, "D24", $scope0_id),
8279
+ }, "E24", $scope0_id),
7886
8280
  onSelectWorkspace: _resume(function(id) {
7887
8281
  exitCreate();
7888
8282
  input.onSelectWorkspace?.(id);
7889
- }, "D25", $scope0_id),
8283
+ }, "E25", $scope0_id),
7890
8284
  onNewSession: _resume(function(wsId, agent) {
7891
8285
  exitCreate();
7892
8286
  newSession(wsId, agent);
7893
- }, "D26", $scope0_id),
8287
+ }, "E26", $scope0_id),
7894
8288
  onCloseSession: _resume(function(id) {
7895
8289
  closeSession(id);
7896
- }, "D27", $scope0_id),
8290
+ }, "E27", $scope0_id),
7897
8291
  onRenameSession: _resume(function(s, title) {
7898
8292
  renameSession(s.id, title);
7899
- }, "D28", $scope0_id),
8293
+ }, "E28", $scope0_id),
7900
8294
  onReviewOpened: _resume(function(pr) {
7901
8295
  exitCreate();
7902
8296
  openDiff(pr);
7903
- }, "D29", $scope0_id)
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
- }, "D30", $scope8_id),
7913
- content: _content_resume("D48", () => {
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
- }, "D1", $scope1_id),
8336
+ }, "E1", $scope1_id),
7943
8337
  onFileChange: _resume(function(f) {
7944
8338
  reviewFile = f;
7945
- }, "D2", $scope1_id),
8339
+ }, "E2", $scope1_id),
7946
8340
  findOpen: reviewFindOpen,
7947
8341
  findOpenChange: _resume((_new_reviewFindOpen) => {
7948
8342
  reviewFindOpen = _new_reviewFindOpen;
7949
- }, "D3", $scope1_id),
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
- }, "D4", $scope1_id),
8349
+ }, "E4", $scope1_id),
7956
8350
  onExit: _resume(function() {
7957
8351
  view = "term";
7958
- }, "D5", $scope1_id)
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
- }, "D31", $scope2_id),
8369
+ }, "E31", $scope2_id),
7976
8370
  onExit: _resume(function() {
7977
8371
  view = "term";
7978
- }, "D32", $scope2_id),
8372
+ }, "E32", $scope2_id),
7979
8373
  onDeleted: _resume(function() {
7980
8374
  input.onWorkspaceDeleted?.(ws.id);
7981
- }, "D33", $scope2_id)
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, 9),
7996
- 3: $sg__input_workspace,
7997
- 4: $sg__input_agents,
7998
- 5: _serialize_guard($scope0_reason, 10)
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
- }, "D34", $scope3_id),
8402
+ }, "E34", $scope3_id),
8008
8403
  backHref: `/w/${ws.id}`,
8009
8404
  onExit: _resume(function() {
8010
8405
  view = "term";
8011
- }, "D35", $scope3_id),
8406
+ }, "E35", $scope3_id),
8012
8407
  setup: input.setup,
8013
8408
  setupChange: _resume(function(s) {
8014
8409
  input.onSetupChange?.(s);
8015
- }, "D36", $scope3_id),
8410
+ }, "E36", $scope3_id),
8016
8411
  preferredChange: _resume(function(agent) {
8017
8412
  input.onPreferredChange?.(agent);
8018
- }, "D37", $scope3_id),
8413
+ }, "E37", $scope3_id),
8019
8414
  agentsChange: _resume(function(agents) {
8020
8415
  input.onAgentsChange?.(agents);
8021
- }, "D38", $scope3_id)
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
- }, "D39", $scope4_id),
8438
+ }, "E39", $scope4_id),
8044
8439
  onCreate: _resume(function(ws) {
8045
8440
  input.onCreated?.(ws);
8046
- }, "D40", $scope4_id),
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
- }, "D41", $scope4_id)
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
- }, "D42", $scope6_id),
8488
+ }, "E42", $scope6_id),
8094
8489
  onOpenTab: _resume(function(id) {
8095
8490
  tab = id;
8096
8491
  view = "term";
8097
- }, "D43", $scope6_id),
8492
+ }, "E43", $scope6_id),
8098
8493
  onCloseSession: _resume(function(id) {
8099
8494
  closeSession(id);
8100
- }, "D44", $scope6_id),
8495
+ }, "E44", $scope6_id),
8101
8496
  onRenameSession: _resume(function(id, title) {
8102
8497
  renameSession(id, title);
8103
- }, "D45", $scope6_id),
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
- }, "D46", $scope6_id),
8503
+ }, "E46", $scope6_id),
8109
8504
  reviewFindOpen,
8110
8505
  onToggleReviewFind: _resume(function() {
8111
8506
  toggleReviewFind();
8112
- }, "D47", $scope6_id)
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("_bv")}><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>`);
8124
- _script($scope7_id, "D49");
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("_bv")}>Loading sessions…</p>`);
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, "D50");
8140
- _script($scope0_id, "D51");
8141
- _script($scope0_id, "D52");
8142
- _script($scope0_id, "D53");
8143
- _script($scope0_id, "D54");
8144
- _script($scope0_id, "D55");
8145
- _script($scope0_id, "D56");
8146
- _script($scope0_id, "D57");
8147
- _script($scope0_id, "D58");
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(106);
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(1);
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("$", (input) => {
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("ab", (input) => {
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("bb", (input) => {
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("cb", (input) => {
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("db", (input) => {
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: baseRef || baseBranch,
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
- if (missing && !uncommitted) return {
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
- id: repo.worktree,
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__={"ZLT8joi":{"block":[2,"stylesheet#/assets/app-page-DJ2ivnX8.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-DJ2ivnX8.css\"",">"],"defer":[2,"/assets/new-CBB1WWUj.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-CBB1WWUj.js\"","></script>",2,"modulepreload#/assets/_DLnZn5vf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DLnZn5vf.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/app-page-DJ2ivnX8.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-DJ2ivnX8.css\"",">"],"defer":[2,"/assets/settings-CBB1WWUj.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-CBB1WWUj.js\"","></script>",2,"modulepreload#/assets/_DLnZn5vf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DLnZn5vf.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/app-page-DJ2ivnX8.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-DJ2ivnX8.css\"",">"],"defer":[2,"/assets/w-CBB1WWUj.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-CBB1WWUj.js\"","></script>",2,"modulepreload#/assets/_DLnZn5vf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DLnZn5vf.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/app-page-DJ2ivnX8.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-DJ2ivnX8.css\"",">"],"defer":[2,"/assets/w._-CBB1WWUj.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-CBB1WWUj.js\"","></script>",2,"modulepreload#/assets/_DLnZn5vf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DLnZn5vf.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/app-page-DJ2ivnX8.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-DJ2ivnX8.css\"",">"],"defer":[2,"/assets/w._-DYgthMaF.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-DYgthMaF.js\"","></script>",2,"modulepreload#/assets/_DLnZn5vf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DLnZn5vf.js\"",">"]}};
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\"",">"]}};