@dylanpiercey/work 0.0.108 → 0.0.109

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 (242) hide show
  1. package/dist/{_D60UKgk7.js → _6msnLFmR.js} +4 -4
  2. package/dist/{_4U00WI47.js → _Yw-sn_jV.js} +50 -50
  3. package/dist/index.mjs +455 -431
  4. package/dist/public/assets/{_BsPMrz7F.js → _0FFSJe5A.js} +1 -1
  5. package/dist/public/assets/_0FFSJe5A.js.br +0 -0
  6. package/dist/public/assets/{_k-IEVEnY2.js → _5ogbBeW_2.js} +1 -1
  7. package/dist/public/assets/_5ogbBeW_2.js.br +0 -0
  8. package/dist/public/assets/{_Dh0VQfQJ.js → _6aGesTBz.js} +1 -1
  9. package/dist/public/assets/_6aGesTBz.js.br +0 -0
  10. package/dist/public/assets/{_CTagvw5f2.js → _99mNYI3Y2.js} +1 -1
  11. package/dist/public/assets/_99mNYI3Y2.js.br +0 -0
  12. package/dist/public/assets/{_CtQKrFEA2.js → _9XUvNgxd2.js} +1 -1
  13. package/dist/public/assets/_9XUvNgxd2.js.br +0 -0
  14. package/dist/public/assets/{_C1EPmd7c.js → _B1YjiLws.js} +1 -1
  15. package/dist/public/assets/_B1YjiLws.js.br +0 -0
  16. package/dist/public/assets/{_Djf-fwhe2.js → _B6Zv9ZpR2.js} +1 -1
  17. package/dist/public/assets/{_CVWmEDK_.js → _BE7_baGU.js} +1 -1
  18. package/dist/public/assets/_BE7_baGU.js.br +0 -0
  19. package/dist/public/assets/{_DCZujH2N2.js → _BLLtvbBl2.js} +1 -1
  20. package/dist/public/assets/_BLLtvbBl2.js.br +0 -0
  21. package/dist/public/assets/{_hz5dauNZ.js → _BNVsFTLU.js} +1 -1
  22. package/dist/public/assets/_BNVsFTLU.js.br +0 -0
  23. package/dist/public/assets/{_DGLSFxYV.js → _BOkO9-BE.js} +1 -1
  24. package/dist/public/assets/_BOkO9-BE.js.br +0 -0
  25. package/dist/public/assets/{_CSHJATpy.js → _BRIjaWF5.js} +1 -1
  26. package/dist/public/assets/_BRIjaWF5.js.br +0 -0
  27. package/dist/public/assets/{_BKnscBu22.js → _BT1VCIUi2.js} +1 -1
  28. package/dist/public/assets/_BT1VCIUi2.js.br +0 -0
  29. package/dist/public/assets/{_Bd1pgCVU.js → _BUUWE_0B.js} +1 -1
  30. package/dist/public/assets/_BUUWE_0B.js.br +0 -0
  31. package/dist/public/assets/{_Dw-O85yr.js → _BZJ-u6G5.js} +1 -1
  32. package/dist/public/assets/_BZJ-u6G5.js.br +0 -0
  33. package/dist/public/assets/{_B-fILq9z2.js → _BkuSFddQ2.js} +1 -1
  34. package/dist/public/assets/_BkuSFddQ2.js.br +0 -0
  35. package/dist/public/assets/{_3ZSompN02.js → _BlL7Zd342.js} +1 -1
  36. package/dist/public/assets/_BlL7Zd342.js.br +0 -0
  37. package/dist/public/assets/{_Cg9E-hC9.js → _Bm_Q3uAQ.js} +1 -1
  38. package/dist/public/assets/_Bm_Q3uAQ.js.br +0 -0
  39. package/dist/public/assets/{_CBqQa764.js → _BpCqJWf0.js} +1 -1
  40. package/dist/public/assets/_BpCqJWf0.js.br +0 -0
  41. package/dist/public/assets/{_Dwxc6WXv.js → _BqmK9JPD.js} +1 -1
  42. package/dist/public/assets/_BqmK9JPD.js.br +0 -0
  43. package/dist/public/assets/{_Bj_cWMOB.js → _BunhQb6w.js} +1 -1
  44. package/dist/public/assets/_BunhQb6w.js.br +0 -0
  45. package/dist/public/assets/{_Ba9xe9U02.js → _C0GVZdlm2.js} +1 -1
  46. package/dist/public/assets/_C0GVZdlm2.js.br +0 -0
  47. package/dist/public/assets/{_oZRSosjr2.js → _C5ORrFTf2.js} +1 -1
  48. package/dist/public/assets/_C5ORrFTf2.js.br +0 -0
  49. package/dist/public/assets/{_Bo7bxECF.js → _CCVGT8IE.js} +1 -1
  50. package/dist/public/assets/_CCVGT8IE.js.br +0 -0
  51. package/dist/public/assets/{_CUQj5ppf.js → _CFQ_2CO9.js} +1 -1
  52. package/dist/public/assets/_CFQ_2CO9.js.br +0 -0
  53. package/dist/public/assets/{_BcZJAvN-2.js → _CGAAhpqg2.js} +1 -1
  54. package/dist/public/assets/_CGAAhpqg2.js.br +0 -0
  55. package/dist/public/assets/{_DK2UAgBJ2.js → _CGgSqvZi2.js} +1 -1
  56. package/dist/public/assets/_CGgSqvZi2.js.br +0 -0
  57. package/dist/public/assets/{_D1kUHoph.js → _CGpM2ic7.js} +1 -1
  58. package/dist/public/assets/_CGpM2ic7.js.br +0 -0
  59. package/dist/public/assets/{_D0MMHjUQ.js → _CKFHK6Od.js} +1 -1
  60. package/dist/public/assets/_CKFHK6Od.js.br +0 -0
  61. package/dist/public/assets/{_Dp2CEQ4Q.js → _CMar4Aid.js} +1 -1
  62. package/dist/public/assets/_CMar4Aid.js.br +0 -0
  63. package/dist/public/assets/{_B5o4lJM-2.js → _CMmnjpY22.js} +1 -1
  64. package/dist/public/assets/_CMmnjpY22.js.br +0 -0
  65. package/dist/public/assets/{_DGktplbo2.js → _CNU6qKiG2.js} +1 -1
  66. package/dist/public/assets/_CNU6qKiG2.js.br +0 -0
  67. package/dist/public/assets/{_WETndjfo.js → _COes0C71.js} +1 -1
  68. package/dist/public/assets/_COes0C71.js.br +0 -0
  69. package/dist/public/assets/{_Rh7Ur8FS.js → _CP0OUfBv.js} +1 -1
  70. package/dist/public/assets/_CP0OUfBv.js.br +0 -0
  71. package/dist/public/assets/{_iTvtyEoL.js → _CSxAQRb8.js} +6 -6
  72. package/dist/public/assets/_CSxAQRb8.js.br +0 -0
  73. package/dist/public/assets/{_B_02a7gR.js → _CTVeoHTA.js} +1 -1
  74. package/dist/public/assets/_CTVeoHTA.js.br +0 -0
  75. package/dist/public/assets/{_Dl07-GMx.js → _CXVG_Da9.js} +1 -1
  76. package/dist/public/assets/_CXVG_Da9.js.br +0 -0
  77. package/dist/public/assets/{_BdWb51WI.js → _CcszNEfP.js} +1 -1
  78. package/dist/public/assets/_CcszNEfP.js.br +0 -0
  79. package/dist/public/assets/{_Dblgtz99.js → _ClylIj8i.js} +1 -1
  80. package/dist/public/assets/_ClylIj8i.js.br +0 -0
  81. package/dist/public/assets/{_D8kKtbZL2.js → _CxOwEFB72.js} +1 -1
  82. package/dist/public/assets/_CxOwEFB72.js.br +0 -0
  83. package/dist/public/assets/{_hAGd6rfv2.js → _D074iR8F2.js} +1 -1
  84. package/dist/public/assets/{_D5QfUmLo.js → _D2LPLQ6G.js} +1 -1
  85. package/dist/public/assets/_D2LPLQ6G.js.br +0 -0
  86. package/dist/public/assets/{_DIlBIf-A.js → _DE7-csvr.js} +1 -1
  87. package/dist/public/assets/_DE7-csvr.js.br +0 -0
  88. package/dist/public/assets/{_UDa7z5Hc.js → _DFevl3R7.js} +1 -1
  89. package/dist/public/assets/_DFevl3R7.js.br +0 -0
  90. package/dist/public/assets/{_CgStCf6c.js → _DK5LQ2Pk.js} +1 -1
  91. package/dist/public/assets/_DK5LQ2Pk.js.br +0 -0
  92. package/dist/public/assets/{_A_OowyKJ2.js → _DPGr-S3B2.js} +1 -1
  93. package/dist/public/assets/_DPGr-S3B2.js.br +0 -0
  94. package/dist/public/assets/{_AjvVVtb-2.js → _DQ2eVLOT2.js} +1 -1
  95. package/dist/public/assets/_DQ2eVLOT2.js.br +0 -0
  96. package/dist/public/assets/{_BOXInE4V.js → _DSyki8Vm.js} +1 -1
  97. package/dist/public/assets/_DSyki8Vm.js.br +0 -0
  98. package/dist/public/assets/{_CYBd6Oge.js → _DXfqoBMo.js} +1 -1
  99. package/dist/public/assets/{_BZR8clV2.js → _DYB0wloZ.js} +1 -1
  100. package/dist/public/assets/_DYB0wloZ.js.br +0 -0
  101. package/dist/public/assets/{_hAOdnTV6.js → _DYNsNPrN.js} +1 -1
  102. package/dist/public/assets/_DYNsNPrN.js.br +0 -0
  103. package/dist/public/assets/{_Dc8rm3jI.js → _DhAxnhP8.js} +1 -1
  104. package/dist/public/assets/_DhAxnhP8.js.br +0 -0
  105. package/dist/public/assets/{_DwUcwzyn.js → _Dk-h5TAI.js} +1 -1
  106. package/dist/public/assets/_Dk-h5TAI.js.br +0 -0
  107. package/dist/public/assets/{_C0jyA9P3.js → _DqYmZUt-.js} +1 -1
  108. package/dist/public/assets/_DqYmZUt-.js.br +0 -0
  109. package/dist/public/assets/{_DjrRedRo.js → _DwsChWbp.js} +1 -1
  110. package/dist/public/assets/_DwsChWbp.js.br +0 -0
  111. package/dist/public/assets/{_DPmzsr0b.js → _DxWJ4iTk.js} +1 -1
  112. package/dist/public/assets/_DxWJ4iTk.js.br +0 -0
  113. package/dist/public/assets/{_D4WhUwUL2.js → _EtJFGopA2.js} +1 -1
  114. package/dist/public/assets/_EtJFGopA2.js.br +0 -0
  115. package/dist/public/assets/{_bm5qnTpZ.js → _HHOsHgqe.js} +1 -1
  116. package/dist/public/assets/_HHOsHgqe.js.br +0 -0
  117. package/dist/public/assets/{_DSWiQozG.js → _IjRA1iLF.js} +1 -1
  118. package/dist/public/assets/_IjRA1iLF.js.br +0 -0
  119. package/dist/public/assets/{_BUvhBhYI.js → _J4AHFNJs.js} +1 -1
  120. package/dist/public/assets/_J4AHFNJs.js.br +0 -0
  121. package/dist/public/assets/{_AS_QNAut.js → _K2pawMVE.js} +1 -1
  122. package/dist/public/assets/_K2pawMVE.js.br +0 -0
  123. package/dist/public/assets/{_CvxThUGr.js → _TqMQBoxi.js} +1 -1
  124. package/dist/public/assets/_TqMQBoxi.js.br +0 -0
  125. package/dist/public/assets/{_YQPM-WZr2.js → _Xqu0H1VD2.js} +1 -1
  126. package/dist/public/assets/_Xqu0H1VD2.js.br +0 -0
  127. package/dist/public/assets/{_B_DF81_a2.js → _Y5X_LL_X2.js} +1 -1
  128. package/dist/public/assets/_Y5X_LL_X2.js.br +0 -0
  129. package/dist/public/assets/{_Cc9FkJJU.js → _YNkJcdxn.js} +1 -1
  130. package/dist/public/assets/_YNkJcdxn.js.br +0 -0
  131. package/dist/public/assets/{_BLMDpuBW.js → _ZXKvuoyY.js} +1 -1
  132. package/dist/public/assets/_ZXKvuoyY.js.br +0 -0
  133. package/dist/public/assets/{_CIqrNCTI.js → _aVfSg65P.js} +1 -1
  134. package/dist/public/assets/_aVfSg65P.js.br +0 -0
  135. package/dist/public/assets/{_CGe2Wzv9.js → _bqE4u0Bd.js} +1 -1
  136. package/dist/public/assets/_bqE4u0Bd.js.br +0 -0
  137. package/dist/public/assets/{__4GwJAR8.js → _g9lhXp6a.js} +21 -21
  138. package/dist/public/assets/_g9lhXp6a.js.br +0 -0
  139. package/dist/public/assets/{_Cwr7DlYk2.js → _iO-I1ACQ2.js} +1 -1
  140. package/dist/public/assets/_iO-I1ACQ2.js.br +0 -0
  141. package/dist/public/assets/{_LpMRsHBj.js → _jTGwakSJ.js} +1 -1
  142. package/dist/public/assets/_jTGwakSJ.js.br +0 -0
  143. package/dist/public/assets/{_DTTkFy3z2.js → _lvWH_Mvw2.js} +1 -1
  144. package/dist/public/assets/_lvWH_Mvw2.js.br +0 -0
  145. package/dist/public/assets/{_Kwrx7rB4.js → _n3_iVV2U.js} +1 -1
  146. package/dist/public/assets/_n3_iVV2U.js.br +0 -0
  147. package/dist/public/assets/{_DiJIDgvc.js → _ngBAVsDg.js} +1 -1
  148. package/dist/public/assets/_ngBAVsDg.js.br +0 -0
  149. package/dist/public/assets/{_C040XCr_2.js → _vzdD-H3B2.js} +1 -1
  150. package/dist/public/assets/_vzdD-H3B2.js.br +0 -0
  151. package/dist/public/assets/{_BJxldHyB.js → _w88H0Dw6.js} +1 -1
  152. package/dist/public/assets/_w88H0Dw6.js.br +0 -0
  153. package/dist/public/assets/{app-page-B9bx61fb.css → app-page-BO9uc1Ar.css} +1 -1
  154. package/dist/public/assets/app-page-BO9uc1Ar.css.br +0 -0
  155. package/dist/public/assets/{diff-view-CB87Ra6B.css → diff-view-CGCbZuma.css} +1 -1
  156. package/dist/public/assets/diff-view-CGCbZuma.css.br +0 -0
  157. package/dist/public/assets/new-D4raGU5q.js +1 -0
  158. package/dist/public/assets/settings-D4raGU5q.js +1 -0
  159. package/dist/public/assets/w-D4raGU5q.js +1 -0
  160. package/dist/public/assets/w._-D4raGU5q.js +1 -0
  161. package/dist/public/assets/w._-DIIfmQC0.js +1 -0
  162. package/package.json +1 -1
  163. package/dist/public/assets/_3ZSompN02.js.br +0 -0
  164. package/dist/public/assets/_AS_QNAut.js.br +0 -0
  165. package/dist/public/assets/_A_OowyKJ2.js.br +0 -0
  166. package/dist/public/assets/_AjvVVtb-2.js.br +0 -0
  167. package/dist/public/assets/_B-fILq9z2.js.br +0 -0
  168. package/dist/public/assets/_B5o4lJM-2.js.br +0 -0
  169. package/dist/public/assets/_BJxldHyB.js.br +0 -0
  170. package/dist/public/assets/_BKnscBu22.js.br +0 -0
  171. package/dist/public/assets/_BLMDpuBW.js.br +0 -0
  172. package/dist/public/assets/_BOXInE4V.js.br +0 -0
  173. package/dist/public/assets/_BUvhBhYI.js.br +0 -0
  174. package/dist/public/assets/_BZR8clV2.js.br +0 -0
  175. package/dist/public/assets/_B_02a7gR.js.br +0 -0
  176. package/dist/public/assets/_B_DF81_a2.js.br +0 -0
  177. package/dist/public/assets/_Ba9xe9U02.js.br +0 -0
  178. package/dist/public/assets/_BcZJAvN-2.js.br +0 -0
  179. package/dist/public/assets/_Bd1pgCVU.js.br +0 -0
  180. package/dist/public/assets/_BdWb51WI.js.br +0 -0
  181. package/dist/public/assets/_Bj_cWMOB.js.br +0 -0
  182. package/dist/public/assets/_Bo7bxECF.js.br +0 -0
  183. package/dist/public/assets/_BsPMrz7F.js.br +0 -0
  184. package/dist/public/assets/_C040XCr_2.js.br +0 -0
  185. package/dist/public/assets/_C0jyA9P3.js.br +0 -0
  186. package/dist/public/assets/_C1EPmd7c.js.br +0 -0
  187. package/dist/public/assets/_CBqQa764.js.br +0 -0
  188. package/dist/public/assets/_CGe2Wzv9.js.br +0 -0
  189. package/dist/public/assets/_CIqrNCTI.js.br +0 -0
  190. package/dist/public/assets/_CSHJATpy.js.br +0 -0
  191. package/dist/public/assets/_CTagvw5f2.js.br +0 -0
  192. package/dist/public/assets/_CUQj5ppf.js.br +0 -0
  193. package/dist/public/assets/_CVWmEDK_.js.br +0 -0
  194. package/dist/public/assets/_Cc9FkJJU.js.br +0 -0
  195. package/dist/public/assets/_Cg9E-hC9.js.br +0 -0
  196. package/dist/public/assets/_CgStCf6c.js.br +0 -0
  197. package/dist/public/assets/_CtQKrFEA2.js.br +0 -0
  198. package/dist/public/assets/_CvxThUGr.js.br +0 -0
  199. package/dist/public/assets/_Cwr7DlYk2.js.br +0 -0
  200. package/dist/public/assets/_D0MMHjUQ.js.br +0 -0
  201. package/dist/public/assets/_D1kUHoph.js.br +0 -0
  202. package/dist/public/assets/_D4WhUwUL2.js.br +0 -0
  203. package/dist/public/assets/_D5QfUmLo.js.br +0 -0
  204. package/dist/public/assets/_D8kKtbZL2.js.br +0 -0
  205. package/dist/public/assets/_DCZujH2N2.js.br +0 -0
  206. package/dist/public/assets/_DGLSFxYV.js.br +0 -0
  207. package/dist/public/assets/_DGktplbo2.js.br +0 -0
  208. package/dist/public/assets/_DIlBIf-A.js.br +0 -0
  209. package/dist/public/assets/_DK2UAgBJ2.js.br +0 -0
  210. package/dist/public/assets/_DPmzsr0b.js.br +0 -0
  211. package/dist/public/assets/_DSWiQozG.js.br +0 -0
  212. package/dist/public/assets/_DTTkFy3z2.js.br +0 -0
  213. package/dist/public/assets/_Dblgtz99.js.br +0 -0
  214. package/dist/public/assets/_Dc8rm3jI.js.br +0 -0
  215. package/dist/public/assets/_Dh0VQfQJ.js.br +0 -0
  216. package/dist/public/assets/_DiJIDgvc.js.br +0 -0
  217. package/dist/public/assets/_DjrRedRo.js.br +0 -0
  218. package/dist/public/assets/_Dl07-GMx.js.br +0 -0
  219. package/dist/public/assets/_Dp2CEQ4Q.js.br +0 -0
  220. package/dist/public/assets/_Dw-O85yr.js.br +0 -0
  221. package/dist/public/assets/_DwUcwzyn.js.br +0 -0
  222. package/dist/public/assets/_Dwxc6WXv.js.br +0 -0
  223. package/dist/public/assets/_Kwrx7rB4.js.br +0 -0
  224. package/dist/public/assets/_LpMRsHBj.js.br +0 -0
  225. package/dist/public/assets/_Rh7Ur8FS.js.br +0 -0
  226. package/dist/public/assets/_UDa7z5Hc.js.br +0 -0
  227. package/dist/public/assets/_WETndjfo.js.br +0 -0
  228. package/dist/public/assets/_YQPM-WZr2.js.br +0 -0
  229. package/dist/public/assets/__4GwJAR8.js.br +0 -0
  230. package/dist/public/assets/_bm5qnTpZ.js.br +0 -0
  231. package/dist/public/assets/_hAOdnTV6.js.br +0 -0
  232. package/dist/public/assets/_hz5dauNZ.js.br +0 -0
  233. package/dist/public/assets/_iTvtyEoL.js.br +0 -0
  234. package/dist/public/assets/_k-IEVEnY2.js.br +0 -0
  235. package/dist/public/assets/_oZRSosjr2.js.br +0 -0
  236. package/dist/public/assets/app-page-B9bx61fb.css.br +0 -0
  237. package/dist/public/assets/diff-view-CB87Ra6B.css.br +0 -0
  238. package/dist/public/assets/new-Cg2dy7JI.js +0 -1
  239. package/dist/public/assets/settings-Cg2dy7JI.js +0 -1
  240. package/dist/public/assets/w-Cg2dy7JI.js +0 -1
  241. package/dist/public/assets/w._-Cg-GdtFy.js +0 -1
  242. package/dist/public/assets/w._-Cg2dy7JI.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 "./_BYk3MBDh.js";
3
- import { $ as _await, A as repoLabel, At as _try, B as phase, C as sideNavOpen, Ct as _serialize_guard, D as icon_xmark_default, Dt as _template, E as toast_default, Et as _subscribe, H as $global, I as iconBtnRow, J as _attr_or, K as _attr_input_value, L as iconBtnXs, M as setPrimaryHost, Mt as attrTag, N as btnLg, Nt as withPageAssets, O as icon_base_default, Ot as _to_text, P as btnSm, Pt as writeScope, Q as _attrs_partial, R as inputLg, S as setWorkspaceTab, St as _sep, T as workspaceTab, Tt as _set_serialize_reason, U as _attr, V as tone, W as _attr_class, X as _attr_style, Y as _attr_select_value, Z as _attrs, _t as _resume_branch, at as _el_resume, bt as _scope_with_id, c as icon_arrow_up_default, ct as _flush_head, d as iconBtn$2, dt as _hoist_read_error, et as _content, f as row, ft as _html, gt as _resume, ht as _peek_scope_id, i as icon_sidebar_default, it as _el_read_error, j as repoWebUrl$1, jt as _var, k as parseRepoUrl, kt as _trailers, l as icon_back_default, lt as _for_of, mt as _if, n as findIconBtn, nt as _dynamic_tag, o as rankRepos, ot as _escape, p as sectionCount$1, pt as _id, q as _attr_option_value, r as findInput, s as icon_search_default, st as _existing_scope, t as icon_arrow_down_default, tt as _content_resume, u as icon_refresh_default, ut as _hoist, v as ignoredSsoOrgs, vt as _scope_id, w as theme, wt as _serialize_if, x as setTheme, xt as _script, yt as _scope_reason, z as metaTrunc } from "./_D60UKgk7.js";
3
+ import { $ as _await, A as repoLabel, At as _try, B as phase, C as sideNavOpen, Ct as _serialize_guard, D as icon_xmark_default, Dt as _template, E as toast_default, Et as _subscribe, H as $global, I as iconBtnRow, J as _attr_or, K as _attr_input_value, L as iconBtnXs, M as setPrimaryHost, Mt as attrTag, N as btnLg, Nt as withPageAssets, O as icon_base_default, Ot as _to_text, P as btnSm, Pt as writeScope, Q as _attrs_partial, R as inputLg, S as setWorkspaceTab, St as _sep, T as workspaceTab, Tt as _set_serialize_reason, U as _attr, V as tone, W as _attr_class, X as _attr_style, Y as _attr_select_value, Z as _attrs, _t as _resume_branch, at as _el_resume, bt as _scope_with_id, c as icon_arrow_up_default, ct as _flush_head, d as iconBtn$2, dt as _hoist_read_error, et as _content, f as row, ft as _html, gt as _resume, ht as _peek_scope_id, i as icon_sidebar_default, it as _el_read_error, j as repoWebUrl$1, jt as _var, k as parseRepoUrl, kt as _trailers, l as icon_back_default, lt as _for_of, mt as _if, n as findIconBtn, nt as _dynamic_tag, o as rankRepos, ot as _escape, p as sectionCount$1, pt as _id, q as _attr_option_value, r as findInput, s as icon_search_default, st as _existing_scope, t as icon_arrow_down_default, tt as _content_resume, u as icon_refresh_default, ut as _hoist, v as ignoredSsoOrgs, vt as _scope_id, w as theme, wt as _serialize_if, x as setTheme, xt as _script, yt as _scope_reason, z as metaTrunc } from "./_6msnLFmR.js";
4
4
  import fs from "node:fs";
5
5
  import { createServer } from "node:http";
6
6
  import path from "node:path";
@@ -2016,16 +2016,16 @@ function realPath(p) {
2016
2016
  * refresh pings. Persisted so hooks survive server restarts; migrate.mjs
2017
2017
  * reads the same file. */
2018
2018
  var file = path.join(config.dataDir, "hook-token");
2019
- var cached$1;
2019
+ var cached$2;
2020
2020
  function hookToken() {
2021
- if (cached$1) return cached$1;
2021
+ if (cached$2) return cached$2;
2022
2022
  try {
2023
- cached$1 = fs.readFileSync(file, "utf8").trim();
2024
- if (cached$1) return cached$1;
2023
+ cached$2 = fs.readFileSync(file, "utf8").trim();
2024
+ if (cached$2) return cached$2;
2025
2025
  } catch {}
2026
- cached$1 = crypto.randomBytes(16).toString("hex");
2027
- fs.writeFileSync(file, `${cached$1}\n`, { mode: 384 });
2028
- return cached$1;
2026
+ cached$2 = crypto.randomBytes(16).toString("hex");
2027
+ fs.writeFileSync(file, `${cached$2}\n`, { mode: 384 });
2028
+ return cached$2;
2029
2029
  }
2030
2030
  //#endregion
2031
2031
  //#region src/server/repo-events.ts
@@ -3019,6 +3019,62 @@ function head1(context) {
3019
3019
  return stripResponseBody(get1(context));
3020
3020
  }
3021
3021
  //#endregion
3022
+ //#region src/server/usage/index.ts
3023
+ var TTL_MS$2 = 6e4;
3024
+ /** Plan/quota usage across every agent account this machine is signed into.
3025
+ *
3026
+ * Each provider is one blocking HTTPS round trip against the same endpoint its
3027
+ * own CLI uses; they touch disjoint credentials and cache files, so they run
3028
+ * concurrently and the wait is the slowest single provider, not their sum. */
3029
+ async function collect() {
3030
+ return (await Promise.all(AGENTS.map((agent) => (agent.usage?.() ?? Promise.resolve([])).catch(() => [{
3031
+ ...blankRow(agent.meta.id, "error"),
3032
+ note: "fetch failed"
3033
+ }])))).flat();
3034
+ }
3035
+ /** Age of a row served from a failed refresh, in seconds — undefined when the
3036
+ * numbers are current. Percentages from a stale row describe a window that has
3037
+ * since moved on, so they can't be shown as live figures. */
3038
+ function staleSeconds(source) {
3039
+ const match = /^stale-cache\s+(\d+)s/.exec(source);
3040
+ return match ? Number(match[1]) : void 0;
3041
+ }
3042
+ var cached$1 = swr(TTL_MS$2, (_key, _refresh) => collect());
3043
+ function shape(rows) {
3044
+ return { agents: rows.map((row) => ({
3045
+ agent: row.agent,
3046
+ plan: row.plan,
3047
+ account: row.account,
3048
+ stale_seconds: staleSeconds(row.source),
3049
+ note: row.stale_reason || row.note,
3050
+ windows: [
3051
+ {
3052
+ window: "5h",
3053
+ used_percent: row.five_h,
3054
+ resets_at: row.five_h_resets
3055
+ },
3056
+ {
3057
+ window: row.seven_d_label || "7d",
3058
+ used_percent: row.seven_d,
3059
+ resets_at: row.seven_d_resets
3060
+ },
3061
+ {
3062
+ window: "fable",
3063
+ used_percent: row.fable,
3064
+ resets_at: row.fable_resets
3065
+ }
3066
+ ].filter((w) => w.used_percent != null)
3067
+ })) };
3068
+ }
3069
+ var usage = async (refresh = false) => shape(await cached$1("usage", refresh));
3070
+ /** What is already known, without asking any provider — for the first
3071
+ * paint, so the nav's plan line renders with the page instead of landing a
3072
+ * moment later and pushing the rows down. Null on a cold server. */
3073
+ var usagePeek = () => {
3074
+ const rows = cached$1.get("usage");
3075
+ return rows ? shape(rows) : null;
3076
+ };
3077
+ //#endregion
3022
3078
  //#region src/server/github-api.ts
3023
3079
  /** Run a GraphQL query against one host.
3024
3080
  *
@@ -3047,7 +3103,7 @@ async function graphql(query, host = DEFAULT_HOST) {
3047
3103
  }
3048
3104
  //#endregion
3049
3105
  //#region src/server/prs.ts
3050
- var TTL_MS$2 = 12e4;
3106
+ var TTL_MS$1 = 12e4;
3051
3107
  /** PRs whose head is the workspace branch or one of its `-topic` lanes.
3052
3108
  * `exclude` lists other workspaces' branches — slugs are user-chosen, so
3053
3109
  * another workspace's branch can extend this prefix and its PRs must not
@@ -3064,7 +3120,7 @@ var branchKey = (fullName, branch) => `${fullName}#${branch}`;
3064
3120
  * a recency window over all of a repo's PRs, fetched roughly twice what it
3065
3121
  * kept here and still aged a quiet workspace out on a busy repo.
3066
3122
  * Key: `fullName#branch`. */
3067
- var branchPrs = swr(TTL_MS$2, async (key, refresh) => {
3123
+ var branchPrs = swr(TTL_MS$1, async (key, refresh) => {
3068
3124
  const sep = key.indexOf("#");
3069
3125
  const fullName = key.slice(0, sep);
3070
3126
  const { host, name } = splitRepo(fullName);
@@ -3265,7 +3321,7 @@ var exists = (file) => fsp.stat(file).then(() => true, () => false);
3265
3321
  var isDir = (file) => fsp.stat(file).then((s) => s.isDirectory(), () => false);
3266
3322
  //#endregion
3267
3323
  //#region src/server/status.ts
3268
- var TTL_MS$1 = 2e3;
3324
+ var TTL_MS = 2e3;
3269
3325
  var snapshot$1 = null;
3270
3326
  var inflight = null;
3271
3327
  var snapshotGen = 0;
@@ -3277,7 +3333,7 @@ function invalidateSnapshot() {
3277
3333
  inflight = null;
3278
3334
  }
3279
3335
  function statusForAll() {
3280
- if (snapshot$1 && Date.now() - snapshot$1.at < TTL_MS$1) return Promise.resolve(snapshot$1.value);
3336
+ if (snapshot$1 && Date.now() - snapshot$1.at < TTL_MS) return Promise.resolve(snapshot$1.value);
3281
3337
  if (!inflight) {
3282
3338
  const gen = snapshotGen;
3283
3339
  const run = computeStatus().then((value) => {
@@ -3444,7 +3500,8 @@ var _middleware_default$3 = Run.ALL(async (_ctx, next) => {
3444
3500
  prefs: allPrefs(),
3445
3501
  instance: getInstance(),
3446
3502
  status: quick ? quick.s : statusP,
3447
- setup: null
3503
+ setup: null,
3504
+ usage: usagePeek()
3448
3505
  });
3449
3506
  });
3450
3507
  //#endregion
@@ -3549,6 +3606,92 @@ var _layout_default = _template("a", (input) => {
3549
3606
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, {});
3550
3607
  }, 1);
3551
3608
  //#endregion
3609
+ //#region src/client/session.ts
3610
+ /** When an edge auth proxy (oauth2-proxy, Cloudflare Access, …) drops the
3611
+ * session, API fetches turn into login HTML and websocket upgrades fail.
3612
+ * A full reload is what users already do — and unlike a hardcoded
3613
+ * `/oauth2/sign_in` URL, it works for any hosting setup (or none). */
3614
+ var RELOAD_KEY = "work:auth-reload";
3615
+ var reloading = false;
3616
+ /** One reload per death episode. Cleared after a successful API call so a
3617
+ * later expiry can recover again; blocks loops if reload didn't help. */
3618
+ function reloadOnceForAuth() {
3619
+ if (typeof location === "undefined" || reloading) return;
3620
+ try {
3621
+ if (sessionStorage.getItem(RELOAD_KEY)) return;
3622
+ sessionStorage.setItem(RELOAD_KEY, "1");
3623
+ } catch {}
3624
+ reloading = true;
3625
+ location.reload();
3626
+ }
3627
+ /** Successful traffic means we're past any auth gate — allow a future reload. */
3628
+ function clearAuthReloadGuard() {
3629
+ try {
3630
+ sessionStorage.removeItem(RELOAD_KEY);
3631
+ } catch {}
3632
+ }
3633
+ /** True when a Response looks like an auth/proxy bounce instead of our JSON API. */
3634
+ function isAuthDeathResponse(res) {
3635
+ if (res.status === 401 || res.status === 403) return true;
3636
+ const ct = res.headers.get("content-type") || "";
3637
+ if (ct.includes("text/html") && !ct.includes("json")) return true;
3638
+ return false;
3639
+ }
3640
+ //#endregion
3641
+ //#region src/client/api.ts
3642
+ /** Fetch JSON from an API route. Error bodies are always `{ error: string }`;
3643
+ * when one comes back (or the response isn't ok / isn't JSON) this throws,
3644
+ * so callers handle failure in one place. Pass `{ signal: $signal }` where
3645
+ * a component-scoped fetch should abort on destroy.
3646
+ *
3647
+ * Behind an auth proxy, an expired session turns into login HTML (or 401).
3648
+ * Reload once — same fix users already apply by hand, hosting-agnostic. */
3649
+ async function api$7(url, init) {
3650
+ const res = await fetch(url, init);
3651
+ if (isAuthDeathResponse(res)) {
3652
+ reloadOnceForAuth();
3653
+ throw new Error("session expired");
3654
+ }
3655
+ let data;
3656
+ try {
3657
+ data = await res.json();
3658
+ } catch {
3659
+ if (isAuthDeathResponse(res)) {
3660
+ reloadOnceForAuth();
3661
+ throw new Error("session expired");
3662
+ }
3663
+ throw new Error(res.ok ? "invalid response" : `HTTP ${res.status}`);
3664
+ }
3665
+ if (data && typeof data === "object" && data.error) throw new Error(data.error);
3666
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
3667
+ clearAuthReloadGuard();
3668
+ return data;
3669
+ }
3670
+ //#endregion
3671
+ //#region src/client/usage.ts
3672
+ var cached = null;
3673
+ function lastUsage$1() {
3674
+ return cached?.value ?? null;
3675
+ }
3676
+ /** Prime the store with the server's cached snapshot (SSR and resume), so
3677
+ * the first render has numbers. Stamped as fresh: the server already
3678
+ * revalidates its own copy in the background. */
3679
+ function seedUsage(value) {
3680
+ if (value && !cached) cached = {
3681
+ at: Date.now(),
3682
+ value
3683
+ };
3684
+ }
3685
+ /** The plan row an agent instance draws on: its own account (`claude2`)
3686
+ * when the provider reports per account, else the family's (`codex`). */
3687
+ function usageFor(agentId, usage) {
3688
+ const rows = usage?.agents || [];
3689
+ const exact = rows.find((r) => r.agent === agentId);
3690
+ if (exact) return exact;
3691
+ const family = agentFamily(agentId);
3692
+ return rows.find((r) => r.agent === family) ?? null;
3693
+ }
3694
+ //#endregion
3552
3695
  //#region src/client/coalesce.ts
3553
3696
  /** Wrap an async task so event bursts collapse: never more than one run in
3554
3697
  * flight, with at most one queued rerun that drains after the current one. */
@@ -3582,38 +3725,6 @@ var connection_pill_default = _template("e", (input) => {
3582
3725
  _resume_branch($scope0_id);
3583
3726
  });
3584
3727
  //#endregion
3585
- //#region src/client/session.ts
3586
- /** When an edge auth proxy (oauth2-proxy, Cloudflare Access, …) drops the
3587
- * session, API fetches turn into login HTML and websocket upgrades fail.
3588
- * A full reload is what users already do — and unlike a hardcoded
3589
- * `/oauth2/sign_in` URL, it works for any hosting setup (or none). */
3590
- var RELOAD_KEY = "work:auth-reload";
3591
- var reloading = false;
3592
- /** One reload per death episode. Cleared after a successful API call so a
3593
- * later expiry can recover again; blocks loops if reload didn't help. */
3594
- function reloadOnceForAuth() {
3595
- if (typeof location === "undefined" || reloading) return;
3596
- try {
3597
- if (sessionStorage.getItem(RELOAD_KEY)) return;
3598
- sessionStorage.setItem(RELOAD_KEY, "1");
3599
- } catch {}
3600
- reloading = true;
3601
- location.reload();
3602
- }
3603
- /** Successful traffic means we're past any auth gate — allow a future reload. */
3604
- function clearAuthReloadGuard() {
3605
- try {
3606
- sessionStorage.removeItem(RELOAD_KEY);
3607
- } catch {}
3608
- }
3609
- /** True when a Response looks like an auth/proxy bounce instead of our JSON API. */
3610
- function isAuthDeathResponse(res) {
3611
- if (res.status === 401 || res.status === 403) return true;
3612
- const ct = res.headers.get("content-type") || "";
3613
- if (ct.includes("text/html") && !ct.includes("json")) return true;
3614
- return false;
3615
- }
3616
- //#endregion
3617
3728
  //#region src/client/theme.ts
3618
3729
  var LIGHT_CHROME = "#fafafa";
3619
3730
  var DARK_CHROME = "#131316";
@@ -3700,26 +3811,26 @@ function applyInstance(inst) {
3700
3811
  }
3701
3812
  //#endregion
3702
3813
  //#region src/tags/settings-page.css.ts
3703
- var content$2 = "_ca _bm _bn";
3704
- var agentGrid = "_ce _bx";
3705
- var toolGrid = "_co _bx";
3814
+ var content$2 = "_b2 _bD _bE";
3815
+ var agentGrid = "_b6 _bo";
3816
+ var toolGrid = "_cf _bo";
3706
3817
  //#endregion
3707
3818
  //#region src/tags/page-head.marko
3708
3819
  var page_head_default = _template("r", (input) => {
3709
3820
  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);
3710
3821
  const $scope0_id = _scope_id();
3711
- _html(`<header${_attr_class("_bo")}>`);
3822
+ _html(`<header${_attr_class("_bF")}>`);
3712
3823
  _if(() => {
3713
3824
  if (input.backHref) {
3714
3825
  const $scope1_id = _scope_id();
3715
- _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")}>`);
3826
+ _html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "_dH"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
3716
3827
  icon_back_default({ size: 16 });
3717
3828
  _html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 0))}`);
3718
3829
  _serialize_if($scope0_reason, 2) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 0) && _scope_with_id($scope0_id) });
3719
3830
  return 0;
3720
3831
  } else if (input.onBack) {
3721
3832
  const $scope2_id = _scope_id();
3722
- _html(`<button${_attr_class([iconBtnRow, "_cR"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
3833
+ _html(`<button${_attr_class([iconBtnRow, "_dH"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
3723
3834
  icon_back_default({ size: 16 });
3724
3835
  _html(`</button>${_el_resume($scope2_id, "a")}`);
3725
3836
  _script($scope2_id, "r0");
@@ -3727,11 +3838,11 @@ var page_head_default = _template("r", (input) => {
3727
3838
  return 1;
3728
3839
  }
3729
3840
  }, $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);
3730
- _html(`<div${_attr_class("_bq")}><h1${_attr("id", input.titleId)}${_attr_class("_bp")}>${_escape(input.title)}${_el_resume($scope0_id, "e", _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
3841
+ _html(`<div${_attr_class("_bH")}><h1${_attr("id", input.titleId)}${_attr_class("_bG")}>${_escape(input.title)}${_el_resume($scope0_id, "e", _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
3731
3842
  _if(() => {
3732
3843
  if (input.meta) {
3733
3844
  const $scope3_id = _scope_id();
3734
- _html(`<p${_attr_class("_br")}>`);
3845
+ _html(`<p${_attr_class("_bI")}>`);
3735
3846
  _dynamic_tag($scope3_id, "b", input.meta, {}, 0, 0, $sg__input_meta);
3736
3847
  _html("</p>");
3737
3848
  $si__input_meta && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
@@ -3742,7 +3853,7 @@ var page_head_default = _template("r", (input) => {
3742
3853
  _if(() => {
3743
3854
  if (input.actions) {
3744
3855
  const $scope4_id = _scope_id();
3745
- _html(`<div${_attr_class("_bs")}>`);
3856
+ _html(`<div${_attr_class("_bJ")}>`);
3746
3857
  _dynamic_tag($scope4_id, "b", input.actions, {}, 0, 0, $sg__input_actions);
3747
3858
  _html("</div>");
3748
3859
  $si__input_actions && writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
@@ -3810,7 +3921,7 @@ var icon_agent_default = _template("G", (input) => {
3810
3921
  n: $badge__closures
3811
3922
  });
3812
3923
  });
3813
- var usageNote = "_dr _S";
3924
+ var usageNote = "_de _S";
3814
3925
  //#endregion
3815
3926
  //#region src/tags/icons/icon-warning.marko
3816
3927
  var icon_warning_default = _template("kb", (input) => {
@@ -3851,11 +3962,11 @@ var usage_meters_default = _template("D", (input) => {
3851
3962
  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);
3852
3963
  const $scope0_id = _scope_id();
3853
3964
  const agent = input.agent;
3854
- _html(`<div${_attr_class(["_dl", { ["_dm"]: input.hideName }])}><div${_attr_class("_dn")}>`);
3965
+ _html(`<div${_attr_class(["_c9", { ["_c_"]: input.hideName }])}><div${_attr_class("_da")}>`);
3855
3966
  _if(() => {
3856
3967
  if (!input.hideName) {
3857
3968
  const $scope1_id = _scope_id();
3858
- _html(`<strong${_attr_class("_dG")}>${_escape(agent.agent)}${_el_resume($scope1_id, "b", $sg__input_agent)}</strong>`);
3969
+ _html(`<strong${_attr_class("_dt")}>${_escape(agent.agent)}${_el_resume($scope1_id, "b", $sg__input_agent)}</strong>`);
3859
3970
  $si__input_agent__OR__input_hideName && writeScope($scope1_id, { _: $si__input_agent && _scope_with_id($scope0_id) });
3860
3971
  return 0;
3861
3972
  }
@@ -3863,7 +3974,7 @@ var usage_meters_default = _template("D", (input) => {
3863
3974
  _if(() => {
3864
3975
  if (agent.plan && agent.plan.toLowerCase() !== agent.agent.toLowerCase()) {
3865
3976
  const $scope2_id = _scope_id();
3866
- _html(`<span${_attr_class("_do")}>${_escape(agent.plan.replace(/^default_/, "").replaceAll("_", " "))}${_el_resume($scope2_id, "b", $sg__input_agent)}</span>`);
3977
+ _html(`<span${_attr_class("_db")}>${_escape(agent.plan.replace(/^default_/, "").replaceAll("_", " "))}${_el_resume($scope2_id, "b", $sg__input_agent)}</span>`);
3867
3978
  $si__input_agent && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
3868
3979
  return 0;
3869
3980
  }
@@ -3871,21 +3982,21 @@ var usage_meters_default = _template("D", (input) => {
3871
3982
  _if(() => {
3872
3983
  if (agent.stale_seconds != null) {
3873
3984
  const $scope3_id = _scope_id();
3874
- _html(`<span${_attr_class("_dp")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>`);
3985
+ _html(`<span${_attr_class("_dc")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>`);
3875
3986
  icon_warning_default({ size: 12 });
3876
3987
  _html(` ${_sep($sg__input_agent)}${_escape(duration(agent.stale_seconds * 1e3))}${_el_resume($scope3_id, "c", $sg__input_agent)} old</span>${_el_resume($scope3_id, "a", $sg__input_agent)}`);
3877
3988
  $si__input_agent && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
3878
3989
  return 0;
3879
3990
  }
3880
3991
  }, $scope0_id, "e", $sg__input_agent, $sg__input_agent, $sg__input_agent__OR__input_hideName, 0, 1);
3881
- _html(`</div><div${_attr_class(["_dq", { ["_dH"]: agent.stale_seconds != null }])}>`);
3992
+ _html(`</div><div${_attr_class(["_dd", { ["_du"]: agent.stale_seconds != null }])}>`);
3882
3993
  _for_of(agent.windows || [], (win) => {
3883
3994
  const $scope4_id = _scope_id();
3884
3995
  const pct = pctText$1(win.used_percent);
3885
3996
  const label = resetLabel(win.resets_at, agent.stale_seconds != null);
3886
- const fillClass = win.used_percent >= 90 ? "_dz" : win.used_percent >= 70 ? "_dy" : win.used_percent >= 40 ? "_dx" : "_dw";
3887
- const pctClass = win.used_percent >= 90 ? "_dE" : win.used_percent >= 70 ? "_dD" : win.used_percent >= 40 ? "_dC" : "_dB";
3888
- _html(`<div${_attr_class("_ds")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_dt")}>${_escape(win.window)}${_el_resume($scope4_id, "c", $sg__input_agent)}</span><span${_attr_class("_du")}><span${_attr_class(["_dv", 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(["_dA", pctClass])}>${_escape(pct)}${_el_resume($scope4_id, "g", $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_dF")}>`);
3997
+ const fillClass = win.used_percent >= 90 ? "_dm" : win.used_percent >= 70 ? "_dl" : win.used_percent >= 40 ? "_dk" : "_dj";
3998
+ const pctClass = win.used_percent >= 90 ? "_dr" : win.used_percent >= 70 ? "_dq" : win.used_percent >= 40 ? "_dp" : "_do";
3999
+ _html(`<div${_attr_class("_df")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_dg")}>${_escape(win.window)}${_el_resume($scope4_id, "c", $sg__input_agent)}</span><span${_attr_class("_dh")}><span${_attr_class(["_di", 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(["_dn", pctClass])}>${_escape(pct)}${_el_resume($scope4_id, "g", $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_ds")}>`);
3889
4000
  _if(() => {
3890
4001
  if (label) {
3891
4002
  const $scope6_id = _scope_id();
@@ -3919,7 +4030,7 @@ var usage_meters_default = _template("D", (input) => {
3919
4030
  });
3920
4031
  //#endregion
3921
4032
  //#region src/tags/sso-auth.marko
3922
- var api$7;
4033
+ var api$6;
3923
4034
  var watchProgress$2;
3924
4035
  var sso_auth_default = _template("z", (input) => {
3925
4036
  const $scope0_reason = _scope_reason(), $sg__input_items = _serialize_guard($scope0_reason, 2), $sg__input_skipped = _serialize_guard($scope0_reason, 1), $sg__input_skipped__OR__input_items_length = _serialize_guard($scope0_reason, 0), $si__input_items_0_host = _serialize_if($scope0_reason, 3);
@@ -3950,7 +4061,7 @@ var sso_auth_default = _template("z", (input) => {
3950
4061
  });
3951
4062
  await watcher.ready;
3952
4063
  try {
3953
- await api$7(`/api/setup/${encodeURIComponent(host)}`, {
4064
+ await api$6(`/api/setup/${encodeURIComponent(host)}`, {
3954
4065
  method: "POST",
3955
4066
  headers: { "content-type": "application/json" },
3956
4067
  body: JSON.stringify({ action: "auth-refresh" })
@@ -3964,14 +4075,14 @@ var sso_auth_default = _template("z", (input) => {
3964
4075
  localCode = null;
3965
4076
  }
3966
4077
  }, "z0", $scope0_id);
3967
- _html(`<div${_attr_class("_c8")}>`);
4078
+ _html(`<div${_attr_class("_dv")}>`);
3968
4079
  _if(() => {
3969
4080
  if (input.items.length) {
3970
4081
  const $scope1_id = _scope_id();
3971
- _html(`<p${_attr_class("_di")}>GitHub CLI needs org SSO for ${_sep($sg__input_items)}${_escape(input.items.map((s) => s.org).join(", "))}${_el_resume($scope1_id, "b", $sg__input_items)}.</p><ul${_attr_class("_c9")}>`);
4082
+ _html(`<p${_attr_class("_dG")}>GitHub CLI needs org SSO for ${_sep($sg__input_items)}${_escape(input.items.map((s) => s.org).join(", "))}${_el_resume($scope1_id, "b", $sg__input_items)}.</p><ul${_attr_class("_dw")}>`);
3972
4083
  _for_of(input.items, (s) => {
3973
4084
  const $scope2_id = _scope_id();
3974
- _html(`<li${_attr_class("_c_")}>${_escape(s.org)}${_el_resume($scope2_id, "b", $sg__input_items)}<button type=button${_attr_class("_da")}${_attr("title", `Skip ${s.org}`)}${_attr("aria-label", `Skip ${s.org}`)}${_attr("disabled", busy)}>`);
4085
+ _html(`<li${_attr_class("_dx")}>${_escape(s.org)}${_el_resume($scope2_id, "b", $sg__input_items)}<button type=button${_attr_class("_dy")}${_attr("title", `Skip ${s.org}`)}${_attr("aria-label", `Skip ${s.org}`)}${_attr("disabled", busy)}>`);
3975
4086
  icon_xmark_default({ size: 11 });
3976
4087
  _html(`</button>${_el_resume($scope2_id, "c")}</li>`);
3977
4088
  _script($scope2_id, "z1");
@@ -3980,17 +4091,17 @@ var sso_auth_default = _template("z", (input) => {
3980
4091
  _: _scope_with_id($scope1_id)
3981
4092
  }));
3982
4093
  }, "org", $scope1_id, "c", $sg__input_items, $sg__input_items, $sg__input_items, "</ul>", 1);
3983
- _html(`<div${_attr_class("_db")}>`);
4094
+ _html(`<div${_attr_class("_dz")}>`);
3984
4095
  _if(() => {
3985
4096
  if (busy && authCode$2) {
3986
4097
  const $scope5_id = _scope_id();
3987
- _html(`<span${_attr_class("_dc")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_dd")}>${_escape(authCode$2)}${_el_resume($scope5_id, "d")}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_de")}>${_escape(host)}${_el_resume($scope5_id, "f", _serialize_guard($scope0_reason, 3))}/login/device</a>${_el_resume($scope5_id, "e")}</span>`);
4098
+ _html(`<span${_attr_class("_dA")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_dB")}>${_escape(authCode$2)}${_el_resume($scope5_id, "d")}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_dC")}>${_escape(host)}${_el_resume($scope5_id, "f", _serialize_guard($scope0_reason, 3))}/login/device</a>${_el_resume($scope5_id, "e")}</span>`);
3988
4099
  _script($scope5_id, "z2");
3989
4100
  _subscribe($authCode__closures, _subscribe($si__input_items_0_host && $host__closures, writeScope($scope5_id, {})));
3990
4101
  return 0;
3991
4102
  } else if (busy) {
3992
4103
  const $scope8_id = _scope_id();
3993
- _html(`<span${_attr_class("_dc")}><span${_attr_class("_F")}></span>Starting GitHub re-authorization…</span>`);
4104
+ _html(`<span${_attr_class("_dA")}><span${_attr_class("_F")}></span>Starting GitHub re-authorization…</span>`);
3994
4105
  writeScope($scope8_id, {});
3995
4106
  return 1;
3996
4107
  } else {
@@ -4004,7 +4115,7 @@ var sso_auth_default = _template("z", (input) => {
4004
4115
  _if(() => {
4005
4116
  if (localError) {
4006
4117
  const $scope6_id = _scope_id();
4007
- _html(`<p${_attr_class("_di")}>${_escape(localError)}${_el_resume($scope6_id, "b")}</p>`);
4118
+ _html(`<p${_attr_class("_dG")}>${_escape(localError)}${_el_resume($scope6_id, "b")}</p>`);
4008
4119
  _subscribe($localError__closures, writeScope($scope6_id, {}));
4009
4120
  return 0;
4010
4121
  }
@@ -4016,10 +4127,10 @@ var sso_auth_default = _template("z", (input) => {
4016
4127
  _if(() => {
4017
4128
  if (skipped$1.length) {
4018
4129
  const $scope3_id = _scope_id();
4019
- _html(`<p${_attr_class("_df")}>Skipped SSO for `);
4130
+ _html(`<p${_attr_class("_dD")}>Skipped SSO for `);
4020
4131
  _for_of(skipped$1, (s) => {
4021
4132
  const $scope4_id = _scope_id();
4022
- _html(`<span${_attr_class("_dg")}>${_escape(s.org)}${_el_resume($scope4_id, "b", $sg__input_skipped)}<button type=button${_attr_class("_dh")}${_attr("title", `Show ${s.org} again`)}>(undo)</button>${_el_resume($scope4_id, "c")}</span>`);
4133
+ _html(`<span${_attr_class("_dE")}>${_escape(s.org)}${_el_resume($scope4_id, "b", $sg__input_skipped)}<button type=button${_attr_class("_dF")}${_attr("title", `Show ${s.org} again`)}>(undo)</button>${_el_resume($scope4_id, "c")}</span>`);
4023
4134
  _script($scope4_id, "z4");
4024
4135
  writeScope($scope4_id, {
4025
4136
  f: s?.org,
@@ -4094,7 +4205,7 @@ var modal_view_default = _template("p", (input) => {
4094
4205
  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;
4095
4206
  const dismissable = input.dismissable !== false;
4096
4207
  let open = input.open;
4097
- _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({
4208
+ _html(`<dialog${_attr_class(["_dI", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
4098
4209
  ...htmlInput,
4099
4210
  open: null
4100
4211
  }, {
@@ -4104,20 +4215,20 @@ var modal_view_default = _template("p", (input) => {
4104
4215
  closedby: 1,
4105
4216
  "on-cancel": 1,
4106
4217
  "on-close": 1
4107
- }, "a", $scope0_id, "dialog")}><div${_attr_class("_fm")}>`);
4218
+ }, "a", $scope0_id, "dialog")}><div${_attr_class("_dJ")}>`);
4108
4219
  _dynamic_tag($scope0_id, "c", content, {}, 0, 0, _serialize_guard($scope0_reason, 6));
4109
4220
  _html("</div>");
4110
4221
  _if(() => {
4111
4222
  if (footer) {
4112
4223
  const $scope1_id = _scope_id();
4113
- _html(`<form method=dialog${_attr_class("_fn")}>`);
4224
+ _html(`<form method=dialog${_attr_class("_dK")}>`);
4114
4225
  _dynamic_tag($scope1_id, "b", footer.content, {}, 0, 0, _serialize_guard($scope0_reason, 7));
4115
4226
  _html("</form>");
4116
4227
  $si__input_openChange__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 7) && _scope_with_id($scope0_id) });
4117
4228
  return 0;
4118
4229
  } else if (input.openChange) {
4119
4230
  const $scope2_id = _scope_id();
4120
- _html(`<form method=dialog${_attr_class("_fn")}>`);
4231
+ _html(`<form method=dialog${_attr_class("_dK")}>`);
4121
4232
  dialog_close_default({
4122
4233
  class: ["_o", "_p"],
4123
4234
  content: _content("p0", () => {
@@ -4176,7 +4287,7 @@ var prompt_dialog_default = _template("s", (input) => {
4176
4287
  const $childScope = _peek_scope_id();
4177
4288
  modal_view_default({
4178
4289
  label: input.label,
4179
- class: "_dj",
4290
+ class: "_cR",
4180
4291
  open: input.open,
4181
4292
  openChange: input.openChange,
4182
4293
  "aria-labelledby": titleId,
@@ -4199,7 +4310,7 @@ var prompt_dialog_default = _template("s", (input) => {
4199
4310
  content: _content("s6", () => {
4200
4311
  _scope_reason();
4201
4312
  const $scope2_id = _scope_id();
4202
- _html(`<h2${_attr_class("_dk")}${_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) => {
4313
+ _html(`<h2${_attr_class("_cS")}${_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) => {
4203
4314
  value = _new_value;
4204
4315
  }, "s0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "c")}`);
4205
4316
  _script($scope2_id, "s4");
@@ -4228,7 +4339,7 @@ var prompt_dialog_default = _template("s", (input) => {
4228
4339
  });
4229
4340
  //#endregion
4230
4341
  //#region src/tags/settings-page.marko
4231
- var api$6;
4342
+ var api$5;
4232
4343
  var watchProgress$1;
4233
4344
  var MISSING_LABEL = {
4234
4345
  "github-auth": "GitHub sign-in",
@@ -4290,21 +4401,21 @@ var settings_page_default = _template("v", (input) => {
4290
4401
  }, "v6", $scope0_id);
4291
4402
  const syncAgents = _resume(async () => {
4292
4403
  try {
4293
- const snap = await api$6("/api/settings");
4404
+ const snap = await api$5("/api/settings");
4294
4405
  input.agentsChange?.(snap.agents);
4295
4406
  if (snap.preferredAgent !== input.preferred) input.preferredChange?.(snap.preferredAgent);
4296
4407
  } catch {}
4297
4408
  }, "v7", $scope0_id);
4298
4409
  const loadSetup = _resume(async (refresh) => {
4299
4410
  try {
4300
- applySetup(await api$6(`/api/setup${refresh ? "?refresh" : ""}`));
4411
+ applySetup(await api$5(`/api/setup${refresh ? "?refresh" : ""}`));
4301
4412
  } catch (err) {
4302
4413
  error = String(err.message || err);
4303
4414
  }
4304
4415
  }, "v8", $scope0_id);
4305
4416
  const loadSelf = _resume(async (refresh) => {
4306
4417
  try {
4307
- const info = await api$6(`/api/setup/self${refresh ? "?refresh" : ""}`);
4418
+ const info = await api$5(`/api/setup/self${refresh ? "?refresh" : ""}`);
4308
4419
  self = info;
4309
4420
  if (info.updating) selfUpdating = true;
4310
4421
  } catch {}
@@ -4314,7 +4425,7 @@ var settings_page_default = _template("v", (input) => {
4314
4425
  selfUpdating = true;
4315
4426
  const from = self.version;
4316
4427
  try {
4317
- await api$6("/api/setup/self", { method: "POST" });
4428
+ await api$5("/api/setup/self", { method: "POST" });
4318
4429
  } catch (err) {
4319
4430
  selfUpdating = false;
4320
4431
  error = String(err.message || err);
@@ -4323,7 +4434,7 @@ var settings_page_default = _template("v", (input) => {
4323
4434
  const started = Date.now();
4324
4435
  const tick = async () => {
4325
4436
  try {
4326
- if ((await api$6("/api/setup/self")).version !== from) {
4437
+ if ((await api$5("/api/setup/self")).version !== from) {
4327
4438
  location.reload();
4328
4439
  return;
4329
4440
  }
@@ -4335,7 +4446,7 @@ var settings_page_default = _template("v", (input) => {
4335
4446
  }, "v10", $scope0_id);
4336
4447
  const loadUsage = _resume(async (refresh) => {
4337
4448
  try {
4338
- usage = await api$6(`/api/usage${refresh ? "?refresh" : ""}`);
4449
+ usage = await api$5(`/api/usage${refresh ? "?refresh" : ""}`);
4339
4450
  } catch (err) {
4340
4451
  usage = { error: String(err.message || err) };
4341
4452
  }
@@ -4368,7 +4479,7 @@ var settings_page_default = _template("v", (input) => {
4368
4479
  });
4369
4480
  await watcher.ready;
4370
4481
  try {
4371
- applySetup(await api$6(`/api/setup/${encodeURIComponent(id)}`, {
4482
+ applySetup(await api$5(`/api/setup/${encodeURIComponent(id)}`, {
4372
4483
  method: "POST",
4373
4484
  headers: { "content-type": "application/json" },
4374
4485
  body: JSON.stringify({
@@ -4392,7 +4503,7 @@ var settings_page_default = _template("v", (input) => {
4392
4503
  hostBusy = true;
4393
4504
  error = null;
4394
4505
  try {
4395
- applySetup(await api$6("/api/github/hosts", {
4506
+ applySetup(await api$5("/api/github/hosts", {
4396
4507
  method: "POST",
4397
4508
  headers: { "content-type": "application/json" },
4398
4509
  body: JSON.stringify({
@@ -4413,7 +4524,7 @@ var settings_page_default = _template("v", (input) => {
4413
4524
  const setPreferred = _resume(async (agent) => {
4414
4525
  input.preferredChange?.(agent);
4415
4526
  try {
4416
- await api$6("/api/settings", {
4527
+ await api$5("/api/settings", {
4417
4528
  method: "PUT",
4418
4529
  headers: { "content-type": "application/json" },
4419
4530
  body: JSON.stringify({ preferredAgent: agent })
@@ -4433,7 +4544,7 @@ var settings_page_default = _template("v", (input) => {
4433
4544
  clearTimeout(saveTimer.id);
4434
4545
  saveTimer.id = setTimeout(async () => {
4435
4546
  try {
4436
- const snap = await api$6("/api/settings", {
4547
+ const snap = await api$5("/api/settings", {
4437
4548
  method: "PUT",
4438
4549
  headers: { "content-type": "application/json" },
4439
4550
  body: JSON.stringify({ instance: next })
@@ -4453,7 +4564,7 @@ var settings_page_default = _template("v", (input) => {
4453
4564
  if (on) off.delete(id);
4454
4565
  else off.add(id);
4455
4566
  try {
4456
- const snap = await api$6("/api/settings", {
4567
+ const snap = await api$5("/api/settings", {
4457
4568
  method: "PUT",
4458
4569
  headers: { "content-type": "application/json" },
4459
4570
  body: JSON.stringify({ disabledAgents: [...off] })
@@ -4485,7 +4596,7 @@ var settings_page_default = _template("v", (input) => {
4485
4596
  searching = true;
4486
4597
  searchTimer.id = setTimeout(async () => {
4487
4598
  try {
4488
- const res = await api$6(`/api/setup/search?q=${encodeURIComponent(q.trim())}`);
4599
+ const res = await api$5(`/api/setup/search?q=${encodeURIComponent(q.trim())}`);
4489
4600
  if (query === q) hits = res;
4490
4601
  } catch (err) {
4491
4602
  error = String(err.message || err);
@@ -4509,7 +4620,7 @@ var settings_page_default = _template("v", (input) => {
4509
4620
  const appearanceId = _id();
4510
4621
  const githubId = _id();
4511
4622
  const machineId = _id();
4512
- _html(`<div${_attr_class("_bk")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bl")}><div${_attr_class(content$2)}>`);
4623
+ _html(`<div${_attr_class("_bB")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bC")}><div${_attr_class(content$2)}>`);
4513
4624
  _set_serialize_reason({
4514
4625
  0: _serialize_guard($scope0_reason, 4),
4515
4626
  1: $sg__input_backHref__OR__input_onExit,
@@ -4533,12 +4644,12 @@ var settings_page_default = _template("v", (input) => {
4533
4644
  return 0;
4534
4645
  } else if (setup.ready) {
4535
4646
  const $scope52_id = _scope_id();
4536
- _html(`<span${_attr_class("_cc")}>Ready</span>. Tools, GitHub, and an agent are all in place.`);
4647
+ _html(`<span${_attr_class("_b4")}>Ready</span>. Tools, GitHub, and an agent are all in place.`);
4537
4648
  writeScope($scope52_id, {});
4538
4649
  return 1;
4539
4650
  } else {
4540
4651
  const $scope6_id = _scope_id();
4541
- _html(`<span${_attr_class("_cd")}>Not ready</span>. Missing <!>${_escape(setup.missing.map((m) => MISSING_LABEL[m] || m).join(", "))}${_el_resume($scope6_id, "b")}.`);
4652
+ _html(`<span${_attr_class("_b5")}>Not ready</span>. Missing <!>${_escape(setup.missing.map((m) => MISSING_LABEL[m] || m).join(", "))}${_el_resume($scope6_id, "b")}.`);
4542
4653
  _subscribe($setup_missing__closures, writeScope($scope6_id, {}));
4543
4654
  return 2;
4544
4655
  }
@@ -4588,16 +4699,16 @@ var settings_page_default = _template("v", (input) => {
4588
4699
  _if(() => {
4589
4700
  if (selfUpdatePending || selfUpdating) {
4590
4701
  const $scope37_id = _scope_id();
4591
- _html(`<div${_attr_class("_cH")} role=status><div${_attr_class("_cI")}>`);
4702
+ _html(`<div${_attr_class("_cy")} role=status><div${_attr_class("_cz")}>`);
4592
4703
  _if(() => {
4593
4704
  if (selfUpdating) {
4594
4705
  const $scope53_id = _scope_id();
4595
- _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>`);
4706
+ _html(`<span${_attr_class("_cA")}><span${_attr_class("_F")}></span> Updating work…</span><span${_attr_class("_cB")}>The app restarts and reloads when it is done.</span>`);
4596
4707
  writeScope($scope53_id, {});
4597
4708
  return 0;
4598
4709
  } else {
4599
4710
  const $scope38_id = _scope_id();
4600
- _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>`);
4711
+ _html(`<span${_attr_class("_cA")}>Update available</span><span${_attr_class("_cB")}>v<!>${_escape(self.version)}${_el_resume($scope38_id, "c")} → v<!>${_escape(self.latest)}${_el_resume($scope38_id, "d")}</span>`);
4601
4712
  _subscribe($self_version__closures, _subscribe($self_latest__closures, writeScope($scope38_id, {})));
4602
4713
  return 1;
4603
4714
  }
@@ -4616,11 +4727,11 @@ var settings_page_default = _template("v", (input) => {
4616
4727
  return 0;
4617
4728
  }
4618
4729
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
4619
- _html(`<section${_attr_class("_bu")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bv")}><h2${_attr("id", agentsId)}${_attr_class("_bJ")}>Agents</h2><div${_attr_class("_y")}></div><label${_attr_class("_cg")}><span${_attr_class("_S")}>Default</span><span${_attr_class("_m")}>`);
4730
+ _html(`<section${_attr_class("_bl")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bm")}><h2${_attr("id", agentsId)}${_attr_class("_bA")}>Agents</h2><div${_attr_class("_y")}></div><label${_attr_class("_b8")}><span${_attr_class("_S")}>Default</span><span${_attr_class("_m")}>`);
4620
4731
  _attr_select_value($scope0_id, "n", input.preferred, _resume(function(v) {
4621
4732
  setPreferred(v);
4622
4733
  }, "v1", $scope0_id), () => {
4623
- _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">`);
4734
+ _html(`<select${_attr_class(["_n", "_b9"])} aria-label="Default agent (starts when a workspace has no session yet)" title="Starts when a workspace has no session yet">`);
4624
4735
  _for_of(input.agents.filter((a) => a !== "shell"), (id) => {
4625
4736
  const $scope54_id = _scope_id();
4626
4737
  _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)}`);
@@ -4641,14 +4752,14 @@ var settings_page_default = _template("v", (input) => {
4641
4752
  const rows = lone ? [] : a.instances;
4642
4753
  const loneAccounts = lone && lone.enabled ? accountsFor(lone.id) : [];
4643
4754
  const extraAccounts = a.installed ? strayAccountsFor(a) : [];
4644
- _html(`<li${_attr_class(["_bz", "_cf"])}><div${_attr_class(["_ci", { ["_cl"]: lone && !lone.enabled }])}>`);
4755
+ _html(`<li${_attr_class(["_bq", "_b7"])}><div${_attr_class(["_b_", { ["_cc"]: lone && !lone.enabled }])}>`);
4645
4756
  _set_serialize_reason(12);
4646
4757
  const $childScope4 = _peek_scope_id();
4647
4758
  icon_agent_default({
4648
4759
  agent: a.id,
4649
4760
  size: 18
4650
4761
  });
4651
- _html(`<div${_attr_class("_bA")}><span${_attr_class("_bC")}><span${_attr_class("_bB")}>${_escape(a.label)}${_el_resume($scope1_id, "g")}</span>`);
4762
+ _html(`<div${_attr_class("_br")}><span${_attr_class("_bt")}><span${_attr_class("_bs")}>${_escape(a.label)}${_el_resume($scope1_id, "g")}</span>`);
4652
4763
  _if(() => {
4653
4764
  if (lone && input.preferred === lone.id) {
4654
4765
  const $scope55_id = _scope_id();
@@ -4661,12 +4772,12 @@ var settings_page_default = _template("v", (input) => {
4661
4772
  _if(() => {
4662
4773
  if (active.has(a.id)) {
4663
4774
  const $scope11_id = _scope_id();
4664
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(a.id) || "Starting…")}${_el_resume($scope11_id, "c")}</span>`);
4775
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span><!>${_escape(active.get(a.id) || "Starting…")}${_el_resume($scope11_id, "c")}</span>`);
4665
4776
  _subscribe($active__closures, writeScope($scope11_id, {}));
4666
4777
  return 0;
4667
4778
  } else if (!a.installed) {
4668
4779
  const $scope56_id = _scope_id();
4669
- _html(`<span${_attr_class("_bD")}>Not installed</span>`);
4780
+ _html(`<span${_attr_class("_bu")}>Not installed</span>`);
4670
4781
  writeScope($scope56_id, {});
4671
4782
  return 1;
4672
4783
  }
@@ -4698,18 +4809,18 @@ var settings_page_default = _template("v", (input) => {
4698
4809
  _if(() => {
4699
4810
  if (rows.length || loneAccounts.length || extraAccounts.length) {
4700
4811
  const $scope2_id = _scope_id();
4701
- _html(`<ul${_attr_class("_cn")}>`);
4812
+ _html(`<ul${_attr_class("_ce")}>`);
4702
4813
  _for_of(rows, (inst) => {
4703
4814
  const $scope3_id = _scope_id();
4704
4815
  const accounts = inst.enabled ? accountsFor(inst.id) : [];
4705
- _html(`<li${_attr_class("_cj")}><div${_attr_class(["_ck", { ["_cl"]: !inst.enabled }])}>`);
4816
+ _html(`<li${_attr_class("_ca")}><div${_attr_class(["_cb", { ["_cc"]: !inst.enabled }])}>`);
4706
4817
  _set_serialize_reason(12);
4707
4818
  const $childScope5 = _peek_scope_id();
4708
4819
  icon_agent_default({
4709
4820
  agent: inst.id,
4710
4821
  size: 15
4711
4822
  });
4712
- _html(`<span${_attr_class(["_cm", "_x"])}>${_escape(inst.command)}${_el_resume($scope3_id, "e")}</span>`);
4823
+ _html(`<span${_attr_class(["_cd", "_x"])}>${_escape(inst.command)}${_el_resume($scope3_id, "e")}</span>`);
4713
4824
  _if(() => {
4714
4825
  if (input.preferred === inst.id) {
4715
4826
  const $scope57_id = _scope_id();
@@ -4784,7 +4895,7 @@ var settings_page_default = _template("v", (input) => {
4784
4895
  }, "id", $scope0_id, "r", 1, 1, 1, 0, 1);
4785
4896
  _for_of(otherUsage, (u) => {
4786
4897
  const $scope61_id = _scope_id();
4787
- _html(`<li${_attr_class(["_bz", "_cf"])}>`);
4898
+ _html(`<li${_attr_class(["_bq", "_b7"])}>`);
4788
4899
  _set_serialize_reason(6);
4789
4900
  const $childScope9 = _peek_scope_id();
4790
4901
  usage_meters_default({ agent: u });
@@ -4795,17 +4906,17 @@ var settings_page_default = _template("v", (input) => {
4795
4906
  _if(() => {
4796
4907
  if (!usage && families.length) {
4797
4908
  const $scope62_id = _scope_id();
4798
- _html(`<p${_attr_class("_bF")}><span${_attr_class("_F")}></span> Loading usage…</p>`);
4909
+ _html(`<p${_attr_class("_bw")}><span${_attr_class("_F")}></span> Loading usage…</p>`);
4799
4910
  writeScope($scope62_id, {});
4800
4911
  return 0;
4801
4912
  } else if (usage?.error) {
4802
4913
  const $scope7_id = _scope_id();
4803
- _html(`<p${_attr_class("_bF")}>${_escape(usage.error)}${_el_resume($scope7_id, "b")}</p>`);
4914
+ _html(`<p${_attr_class("_bw")}>${_escape(usage.error)}${_el_resume($scope7_id, "b")}</p>`);
4804
4915
  writeScope($scope7_id, {});
4805
4916
  return 1;
4806
4917
  }
4807
4918
  }, $scope0_id, "t", 1, 1, 1, 0, 1);
4808
- _html(`</section><section${_attr_class("_bu")}${_attr("aria-labelledby", githubId)}><div${_attr_class("_bv")}><h2${_attr("id", githubId)}${_attr_class("_bJ")}>GitHub</h2></div><ul${_attr_class("_bx")}>`);
4919
+ _html(`</section><section${_attr_class("_bl")}${_attr("aria-labelledby", githubId)}><div${_attr_class("_bm")}><h2${_attr("id", githubId)}${_attr_class("_bA")}>GitHub</h2></div><ul${_attr_class("_bo")}>`);
4809
4920
  _for_of(setup?.github || [], (h) => {
4810
4921
  const $scope12_id = _scope_id();
4811
4922
  const $for_content4__h_host__closures = /* @__PURE__ */ new Set();
@@ -4819,7 +4930,7 @@ var settings_page_default = _template("v", (input) => {
4819
4930
  const skippedSso = (() => {
4820
4931
  return (h.sso || []).filter((s) => ignoredSso.has(s.org));
4821
4932
  })();
4822
- _html(`<li${_attr_class(["_bz", "_cx"])}><div${_attr_class("_cy")}><div${_attr_class("_bA")}><span${_attr_class("_bC")}><span${_attr_class(["_bB", "_x"])}>${_escape(h.host)}${_el_resume($scope12_id, "f")}</span>`);
4933
+ _html(`<li${_attr_class(["_bq", "_co"])}><div${_attr_class("_cp")}><div${_attr_class("_br")}><span${_attr_class("_bt")}><span${_attr_class(["_bs", "_x"])}>${_escape(h.host)}${_el_resume($scope12_id, "f")}</span>`);
4823
4934
  _if(() => {
4824
4935
  if (h.isEnterprise) {
4825
4936
  const $scope65_id = _scope_id();
@@ -4832,22 +4943,22 @@ var settings_page_default = _template("v", (input) => {
4832
4943
  _if(() => {
4833
4944
  if (active.has(h.host) && authCodes.has(h.host)) {
4834
4945
  const $scope24_id = _scope_id();
4835
- _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>`);
4946
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span> Enter code <strong${_attr_class("_cm")}>${_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("_cn")}>${_escape(h.host)}${_el_resume($scope24_id, "f")}/login/device</a>${_el_resume($scope24_id, "e")}</span>`);
4836
4947
  _subscribe($authCodes__closures, writeScope($scope24_id, { Cdz: 1 }));
4837
4948
  return 0;
4838
4949
  } else if (active.has(h.host)) {
4839
4950
  const $scope13_id = _scope_id();
4840
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.host) || "Starting…")}${_el_resume($scope13_id, "c")}</span>`);
4951
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.host) || "Starting…")}${_el_resume($scope13_id, "c")}</span>`);
4841
4952
  _subscribe($active__closures, writeScope($scope13_id, { Cdx: 1 }));
4842
4953
  return 1;
4843
4954
  } else if (h.authed) {
4844
4955
  const $scope63_id = _scope_id();
4845
- _html(`<span${_attr_class("_bD")}>Signed in<!>${h.user ? ` as ${_escape(`${_to_text(h.user)}`)}` : ""}${_el_resume($scope63_id, "b")}</span>`);
4956
+ _html(`<span${_attr_class("_bu")}>Signed in<!>${h.user ? ` as ${_escape(`${_to_text(h.user)}`)}` : ""}${_el_resume($scope63_id, "b")}</span>`);
4846
4957
  writeScope($scope63_id, {});
4847
4958
  return 2;
4848
4959
  } else {
4849
4960
  const $scope64_id = _scope_id();
4850
- _html(`<span${_attr_class("_bD")}>${_escape(h.error || "Not signed in")}${_el_resume($scope64_id, "b")}</span>`);
4961
+ _html(`<span${_attr_class("_bu")}>${_escape(h.error || "Not signed in")}${_el_resume($scope64_id, "b")}</span>`);
4851
4962
  writeScope($scope64_id, {});
4852
4963
  return 3;
4853
4964
  }
@@ -4878,7 +4989,7 @@ var settings_page_default = _template("v", (input) => {
4878
4989
  if (h.isEnterprise) {
4879
4990
  const $scope27_id = _scope_id();
4880
4991
  _html(`<button${_attr_class([
4881
- "_bE",
4992
+ "_bv",
4882
4993
  "_2",
4883
4994
  "_3",
4884
4995
  { ["_q"]: confirmingRemove === h.host }
@@ -4954,7 +5065,7 @@ var settings_page_default = _template("v", (input) => {
4954
5065
  _if(() => {
4955
5066
  if (setup && !setup.github.length) {
4956
5067
  const $scope68_id = _scope_id();
4957
- _html(`<p${_attr_class("_bF")}>Install the GitHub CLI below to sign in.</p>`);
5068
+ _html(`<p${_attr_class("_bw")}>Install the GitHub CLI below to sign in.</p>`);
4958
5069
  writeScope($scope68_id, {});
4959
5070
  return 0;
4960
5071
  }
@@ -4962,7 +5073,7 @@ var settings_page_default = _template("v", (input) => {
4962
5073
  _if(() => {
4963
5074
  if (setup) {
4964
5075
  const $scope35_id = _scope_id();
4965
- _html(`<form${_attr_class("_cu")}><label${_attr_class("_W")}>`);
5076
+ _html(`<form${_attr_class("_cl")}><label${_attr_class("_W")}>`);
4966
5077
  icon_plus_default({
4967
5078
  size: 14,
4968
5079
  class: "_X"
@@ -4975,7 +5086,7 @@ var settings_page_default = _template("v", (input) => {
4975
5086
  return 0;
4976
5087
  }
4977
5088
  }, $scope0_id, "z", 1, 1, 1, 0, 1);
4978
- _html(`</section><section${_attr_class("_bu")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bv")}><h2${_attr("id", machineId)}${_attr_class("_bJ")}>Machine</h2>`);
5089
+ _html(`</section><section${_attr_class("_bl")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bm")}><h2${_attr("id", machineId)}${_attr_class("_bA")}>Machine</h2>`);
4979
5090
  _if(() => {
4980
5091
  if (missingCount) {
4981
5092
  const $scope49_id = _scope_id();
@@ -5015,7 +5126,7 @@ var settings_page_default = _template("v", (input) => {
5015
5126
  _if(() => {
5016
5127
  if (setup && !setup.mise.installed) {
5017
5128
  const $scope17_id = _scope_id();
5018
- _html(`<p${_attr_class("_bF")}>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>`);
5129
+ _html(`<p${_attr_class("_bw")}>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>`);
5019
5130
  _script($scope17_id, "v45");
5020
5131
  writeScope($scope17_id, {});
5021
5132
  return 0;
@@ -5025,11 +5136,11 @@ var settings_page_default = _template("v", (input) => {
5025
5136
  _if(() => {
5026
5137
  if (self) {
5027
5138
  const $scope40_id = _scope_id();
5028
- _html(`<li${_attr_class(row)}><span${_attr_class(["_cq", "_x"])}>work</span>`);
5139
+ _html(`<li${_attr_class(row)}><span${_attr_class(["_ch", "_x"])}>work</span>`);
5029
5140
  _if(() => {
5030
5141
  if (selfUpdating) {
5031
5142
  const $scope69_id = _scope_id();
5032
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span>Updating — the app restarts and reloads when it is done…</span>`);
5143
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span>Updating — the app restarts and reloads when it is done…</span>`);
5033
5144
  writeScope($scope69_id, {});
5034
5145
  return 0;
5035
5146
  } else {
@@ -5043,7 +5154,7 @@ var settings_page_default = _template("v", (input) => {
5043
5154
  return 0;
5044
5155
  } else if (self.latest && self.latest !== self.version) {
5045
5156
  const $scope42_id = _scope_id();
5046
- _html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update work to v${self.latest} and restart`)}>`);
5157
+ _html(`<button${_attr_class([btnSm, "_cj"])}${_attr("title", `Update work to v${self.latest} and restart`)}>`);
5047
5158
  icon_arrow_up_default({ size: 12 });
5048
5159
  _html(` <!>${_escape(self.latest)}${_el_resume($scope42_id, "c")}</button>${_el_resume($scope42_id, "a")}`);
5049
5160
  _script($scope42_id, "v46");
@@ -5084,11 +5195,11 @@ var settings_page_default = _template("v", (input) => {
5084
5195
  const $for_content5__t_path__closures = /* @__PURE__ */ new Set();
5085
5196
  const $for_content5__t_latest__closures = /* @__PURE__ */ new Set();
5086
5197
  const $for_content5__t_id__closures = /* @__PURE__ */ new Set();
5087
- _html(`<li${_attr_class([row, { ["_cp"]: !t.installed }])}><span${_attr_class(["_cq", "_x"])}>${_escape(t.label)}${_el_resume($scope18_id, "c")}</span>`);
5198
+ _html(`<li${_attr_class([row, { ["_cg"]: !t.installed }])}><span${_attr_class(["_ch", "_x"])}>${_escape(t.label)}${_el_resume($scope18_id, "c")}</span>`);
5088
5199
  _if(() => {
5089
5200
  if (active.has(t.id)) {
5090
5201
  const $scope19_id = _scope_id();
5091
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(t.id) || "Starting…")}${_el_resume($scope19_id, "c")}</span>`);
5202
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span><!>${_escape(active.get(t.id) || "Starting…")}${_el_resume($scope19_id, "c")}</span>`);
5092
5203
  _subscribe($active__closures, writeScope($scope19_id, { Cdx: 3 }));
5093
5204
  return 0;
5094
5205
  } else if (t.installed) {
@@ -5096,7 +5207,7 @@ var settings_page_default = _template("v", (input) => {
5096
5207
  _if(() => {
5097
5208
  if (t.version) {
5098
5209
  const $scope32_id = _scope_id();
5099
- _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")}`);
5210
+ _html(`<button${_attr_class(["_ci", "_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")}`);
5100
5211
  _script($scope32_id, "v47");
5101
5212
  _subscribe($for_content5__t_path__closures, _subscribe($for_content5__t_version__closures, _subscribe($for_content5__t_label__closures, writeScope($scope32_id, { Cu: 1 }))));
5102
5213
  return 0;
@@ -5110,7 +5221,7 @@ var settings_page_default = _template("v", (input) => {
5110
5221
  _if(() => {
5111
5222
  if (outdated(t)) {
5112
5223
  const $scope46_id = _scope_id();
5113
- _html(`<button${_attr_class([btnSm, "_cs"])}${_attr("title", `Update to v${t.latest}`)}>`);
5224
+ _html(`<button${_attr_class([btnSm, "_cj"])}${_attr("title", `Update to v${t.latest}`)}>`);
5114
5225
  icon_arrow_up_default({ size: 12 });
5115
5226
  _html(` <!>${_escape(t.latest)}${_el_resume($scope46_id, "c")}</button>${_el_resume($scope46_id, "a")}`);
5116
5227
  _script($scope46_id, "v48");
@@ -5212,19 +5323,19 @@ var settings_page_default = _template("v", (input) => {
5212
5323
  _if(() => {
5213
5324
  if (hits && hits.length) {
5214
5325
  const $scope21_id = _scope_id();
5215
- _html(`<ul${_attr_class([toolGrid, "_ct"])}>`);
5326
+ _html(`<ul${_attr_class([toolGrid, "_ck"])}>`);
5216
5327
  _for_of(hits, (h) => {
5217
5328
  const $scope22_id = _scope_id();
5218
- _html(`<li${_attr_class(row)}><div${_attr_class("_bA")}><span${_attr_class(["_cq", "_x"])}>${_escape(h.name)}${_el_resume($scope22_id, "d")}</span>`);
5329
+ _html(`<li${_attr_class(row)}><div${_attr_class("_br")}><span${_attr_class(["_ch", "_x"])}>${_escape(h.name)}${_el_resume($scope22_id, "d")}</span>`);
5219
5330
  _if(() => {
5220
5331
  if (active.has(h.name)) {
5221
5332
  const $scope23_id = _scope_id();
5222
- _html(`<span${_attr_class("_cb")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.name) || "Starting…")}${_el_resume($scope23_id, "c")}</span>`);
5333
+ _html(`<span${_attr_class("_b3")}><span${_attr_class("_F")}></span><!>${_escape(active.get(h.name) || "Starting…")}${_el_resume($scope23_id, "c")}</span>`);
5223
5334
  _subscribe($active__closures, writeScope($scope23_id, { Cdx: 5 }));
5224
5335
  return 0;
5225
5336
  } else if (h.description) {
5226
5337
  const $scope79_id = _scope_id();
5227
- _html(`<span${_attr_class("_bD")}${_attr("title", h.description)}>${_escape(h.description)}${_el_resume($scope79_id, "b")}</span>${_el_resume($scope79_id, "a")}`);
5338
+ _html(`<span${_attr_class("_bu")}${_attr("title", h.description)}>${_escape(h.description)}${_el_resume($scope79_id, "b")}</span>${_el_resume($scope79_id, "a")}`);
5228
5339
  writeScope($scope79_id, {});
5229
5340
  return 1;
5230
5341
  }
@@ -5263,7 +5374,7 @@ var settings_page_default = _template("v", (input) => {
5263
5374
  return 0;
5264
5375
  } else if (hits && !searching) {
5265
5376
  const $scope36_id = _scope_id();
5266
- _html(`<p${_attr_class("_bF")}>No tools match "<!>${_escape(query)}${_el_resume($scope36_id, "b")}".</p>`);
5377
+ _html(`<p${_attr_class("_bw")}>No tools match "<!>${_escape(query)}${_el_resume($scope36_id, "b")}".</p>`);
5267
5378
  _subscribe($query__closures, writeScope($scope36_id, {}));
5268
5379
  return 1;
5269
5380
  }
@@ -5274,9 +5385,9 @@ var settings_page_default = _template("v", (input) => {
5274
5385
  return 0;
5275
5386
  }
5276
5387
  }, $scope0_id, "ac", 1, 1, 1, 0, 1);
5277
- _html(`</section><section${_attr_class("_bu")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bv")}><h2${_attr("id", appearanceId)}${_attr_class("_bJ")}>Appearance</h2></div><div${_attr_class(["_bz", "_cz"])}><label${_attr_class("_cA")}><span${_attr_class("_cB")}>Name</span><input${_attr_input_value($scope0_id, "aj", input.instance.name, _resume(function(v) {
5388
+ _html(`</section><section${_attr_class("_bl")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bm")}><h2${_attr("id", appearanceId)}${_attr_class("_bA")}>Appearance</h2></div><div${_attr_class(["_bq", "_cq"])}><label${_attr_class("_cr")}><span${_attr_class("_cs")}>Name</span><input${_attr_input_value($scope0_id, "aj", input.instance.name, _resume(function(v) {
5278
5389
  setInstance({ name: v });
5279
- }, "v3", $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")}>`);
5390
+ }, "v3", $scope0_id))}${_attr_class(["_U", "_ct"])} 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", "_cu"])}>Tab title, home-screen icon, and notifications.</span></label><div${_attr_class("_cr")} role=radiogroup aria-label="Color theme"><span${_attr_class("_cs")}>Theme</span><span${_attr_class("_cv")}>`);
5280
5391
  _for_of([
5281
5392
  {
5282
5393
  id: "system",
@@ -5292,21 +5403,21 @@ var settings_page_default = _template("v", (input) => {
5292
5403
  }
5293
5404
  ], (opt) => {
5294
5405
  const $scope43_id = _scope_id();
5295
- _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")}`);
5406
+ _html(`<button type=button${_attr_class(["_cw", { ["_cx"]: themeMode === opt.id }])} role=radio aria-checked=${themeMode === opt.id ? "true" : "false"}>${_escape(opt.label)}</button>${_el_resume($scope43_id, "a")}`);
5296
5407
  _script($scope43_id, "v53");
5297
5408
  writeScope($scope43_id, {
5298
5409
  e: opt?.id,
5299
5410
  _: _scope_with_id($scope0_id)
5300
5411
  });
5301
5412
  }, "id", $scope0_id, "an", 1, 0, 1, 0, 1);
5302
- _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([
5303
- "_cM",
5304
- "_cO",
5305
- { ["_cN"]: !input.instance.accent }
5413
+ _html(`</span><span${_attr_class(["_S", "_cu"])}>Follow the OS, or force light or dark.</span></div><div${_attr_class("_cr")} role=radiogroup aria-label="Accent colour"><span${_attr_class("_cs")}>Accent</span><span${_attr_class("_cC")}><button type=button${_attr_class([
5414
+ "_cD",
5415
+ "_cF",
5416
+ { ["_cE"]: !input.instance.accent }
5306
5417
  ])} role=radio aria-checked=${!input.instance.accent ? "true" : "false"} title="Default (blue)" aria-label="Default (blue)"></button>${_el_resume($scope0_id, "as")}`);
5307
5418
  _for_of(ACCENT_PRESETS, (p) => {
5308
5419
  const $scope4_id = _scope_id();
5309
- _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")}`);
5420
+ _html(`<button type=button${_attr_class(["_cD", { ["_cE"]: 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")}`);
5310
5421
  _script($scope4_id, "v54");
5311
5422
  writeScope($scope4_id, {
5312
5423
  d: p?.value,
@@ -5315,12 +5426,12 @@ var settings_page_default = _template("v", (input) => {
5315
5426
  }, "value", $scope0_id, "at", $sg__input_instance_accent, 0, 1, 0, 1);
5316
5427
  const customOn = !!input.instance.accent && !ACCENT_PRESETS.some((p) => p.value === input.instance.accent);
5317
5428
  _html(`<label${_attr_class([
5318
- "_cM",
5319
- "_cP",
5320
- { ["_cN"]: customOn }
5429
+ "_cD",
5430
+ "_cG",
5431
+ { ["_cE"]: customOn }
5321
5432
  ])}${customOn ? _attr_style(`--swatch:${input.instance.accent}`) : ""} title="Custom colour"><input${_attr_input_value($scope0_id, "av", input.instance.accent || "#3556d8", _resume(function(v) {
5322
5433
  setInstance({ accent: v });
5323
- }, "v4", $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>`);
5434
+ }, "v4", $scope0_id))}${_attr_class("_cH")} 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", "_cu"])}>Selected rows, buttons, and the icon.</span></div></div></section></div></div></div>`);
5324
5435
  _if(() => {
5325
5436
  if (versionPick) {
5326
5437
  const $scope30_id = _scope_id();
@@ -5434,12 +5545,12 @@ var settings_page_default = _template("v", (input) => {
5434
5545
  });
5435
5546
  //#endregion
5436
5547
  //#region src/tags/new-workspace.css.ts
5437
- var content$1 = "_bK _bm";
5438
- var section$1 = "_bO _bu";
5548
+ var content$1 = "_bK _bD";
5549
+ var section$1 = "_bO _bl";
5439
5550
  var curBase = "_bT _T _S";
5440
- var archived = "_bY _bu";
5551
+ var archived = "_bY _bl";
5441
5552
  var archivedHint = "_bZ _S";
5442
- var archivedCard = "_b0 _bz";
5553
+ var archivedCard = "_b0 _bq";
5443
5554
  //#endregion
5444
5555
  //#region src/tags/icons/icon-check.marko
5445
5556
  var icon_check_default = _template("P", (input) => {
@@ -5474,7 +5585,7 @@ var icon_branch_default = _template("O", (input) => {
5474
5585
  });
5475
5586
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
5476
5587
  });
5477
- var resultBranch = "_cZ _Z _j";
5588
+ var resultBranch = "_c0 _Z _j";
5478
5589
  //#endregion
5479
5590
  //#region src/tags/branch-pick.marko
5480
5591
  var branch_pick_default = _template("d", (input) => {
@@ -5485,11 +5596,11 @@ var branch_pick_default = _template("d", (input) => {
5485
5596
  let branches = null;
5486
5597
  let defaultBranch = null;
5487
5598
  let branchFilter = "";
5488
- _html(`<div${_attr_class("_c1")}>`);
5599
+ _html(`<div${_attr_class("_c2")}>`);
5489
5600
  _if(() => {
5490
5601
  {
5491
5602
  const $scope4_id = _scope_id();
5492
- _html(`<p${_attr_class("_bF")}><span${_attr_class("_F")}></span> Loading branches…</p>`);
5603
+ _html(`<p${_attr_class("_bw")}><span${_attr_class("_F")}></span> Loading branches…</p>`);
5493
5604
  writeScope($scope4_id, {});
5494
5605
  return 0;
5495
5606
  }
@@ -5511,7 +5622,7 @@ var branch_pick_default = _template("d", (input) => {
5511
5622
  });
5512
5623
  //#endregion
5513
5624
  //#region src/tags/repo-picker.marko
5514
- var api$5;
5625
+ var api$4;
5515
5626
  var prefs$1;
5516
5627
  var repo_picker_default = _template("t", (input) => {
5517
5628
  const $scope0_reason = _scope_reason(), $si__input_onError = _serialize_if($scope0_reason, 2);
@@ -5528,7 +5639,7 @@ var repo_picker_default = _template("t", (input) => {
5528
5639
  const loadCatalog = _resume(async (refresh) => {
5529
5640
  if (refresh);
5530
5641
  try {
5531
- catalog = await api$5(`/api/repos${refresh ? "?refresh" : ""}`);
5642
+ catalog = await api$4(`/api/repos${refresh ? "?refresh" : ""}`);
5532
5643
  } catch (err) {
5533
5644
  input.onError?.(String(err.message || err));
5534
5645
  }
@@ -5565,11 +5676,11 @@ var repo_picker_default = _template("t", (input) => {
5565
5676
  const ignored = new Set(prefs$1?.ignoredSsoOrgs?.() ?? []);
5566
5677
  return (catalog?.sso || []).filter((s) => !ignored.has(s.org));
5567
5678
  })();
5568
- _html(`<div${_attr_class("_cS")}>`);
5679
+ _html(`<div${_attr_class("_cT")}>`);
5569
5680
  _if(() => {
5570
5681
  if (ssoPending.length) {
5571
5682
  const $scope7_id = _scope_id();
5572
- _html(`<div${_attr_class("_cT")}>`);
5683
+ _html(`<div${_attr_class("_cU")}>`);
5573
5684
  _set_serialize_reason(154);
5574
5685
  const $childScope = _peek_scope_id();
5575
5686
  sso_auth_default({
@@ -5599,16 +5710,16 @@ var repo_picker_default = _template("t", (input) => {
5599
5710
  _if(() => {
5600
5711
  if (pasted) {
5601
5712
  const $scope1_id = _scope_id();
5602
- _html(`<ul${_attr_class("_cU")}><li><div${_attr_class(["_cW", "_cV"])}><button${_attr_class("_cX")}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
5713
+ _html(`<ul${_attr_class("_cV")}><li><div${_attr_class(["_cX", "_cW"])}><button${_attr_class("_cY")}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
5603
5714
  icon_plus_default({
5604
5715
  size: 12,
5605
- class: "_c3"
5716
+ class: "_c4"
5606
5717
  });
5607
- _html(`<span${_attr_class("_c4")}>${_escape(repoLabel(pasted))}${_el_resume($scope1_id, "f")}</span></button>${_el_resume($scope1_id, "c")}`);
5718
+ _html(`<span${_attr_class("_c5")}>${_escape(repoLabel(pasted))}${_el_resume($scope1_id, "f")}</span></button>${_el_resume($scope1_id, "c")}`);
5608
5719
  _if(() => {
5609
5720
  if (pastedForkable) {
5610
5721
  const $scope8_id = _scope_id();
5611
- _html(`<button${_attr_class(["_c0", { ["_cY"]: 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"}>`);
5722
+ _html(`<button${_attr_class(["_c1", { ["_cZ"]: 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"}>`);
5612
5723
  _if(() => {
5613
5724
  if (pasteWillFork) {
5614
5725
  const $scope10_id = _scope_id();
@@ -5628,7 +5739,7 @@ var repo_picker_default = _template("t", (input) => {
5628
5739
  return 0;
5629
5740
  }
5630
5741
  }, $scope1_id, "g", 1, 1, 1, 0, 1);
5631
- _html(`<button${_attr_class([resultBranch, { ["_cY"]: branchesFor === pasted }])}${_attr("title", `Pick a base branch for ${pasted}`)}${_attr("aria-label", `Pick a base branch for ${pasted}`)}>`);
5742
+ _html(`<button${_attr_class([resultBranch, { ["_cZ"]: branchesFor === pasted }])}${_attr("title", `Pick a base branch for ${pasted}`)}${_attr("aria-label", `Pick a base branch for ${pasted}`)}>`);
5632
5743
  icon_branch_default({ size: 12 });
5633
5744
  _html(`</button>${_el_resume($scope1_id, "h")}</div>`);
5634
5745
  _if(() => {
@@ -5655,7 +5766,7 @@ var repo_picker_default = _template("t", (input) => {
5655
5766
  return 0;
5656
5767
  } else if (filter && !catalog) {
5657
5768
  const $scope9_id = _scope_id();
5658
- _html(`<p${_attr_class("_bF")}>Loading repos…</p>`);
5769
+ _html(`<p${_attr_class("_bw")}>Loading repos…</p>`);
5659
5770
  writeScope($scope9_id, {});
5660
5771
  return 1;
5661
5772
  }
@@ -5663,15 +5774,15 @@ var repo_picker_default = _template("t", (input) => {
5663
5774
  _if(() => {
5664
5775
  if (results.length) {
5665
5776
  const $scope3_id = _scope_id();
5666
- _html(`<ul${_attr_class("_cU")}>`);
5777
+ _html(`<ul${_attr_class("_cV")}>`);
5667
5778
  _for_of(results, (repo, i) => {
5668
5779
  const $scope4_id = _scope_id();
5669
- _html(`<li><div${_attr_class(["_cW", { ["_cV"]: i === highlight }])}><button${_attr_class("_cX")}>`);
5780
+ _html(`<li><div${_attr_class(["_cX", { ["_cW"]: i === highlight }])}><button${_attr_class("_cY")}>`);
5670
5781
  icon_plus_default({
5671
5782
  size: 12,
5672
- class: "_c3"
5783
+ class: "_c4"
5673
5784
  });
5674
- _html(`<span${_attr_class("_c4")}>${_escape(repoLabel(repo.nameWithOwner))}${_el_resume($scope4_id, "e")}</span></button>${_el_resume($scope4_id, "b")}<button${_attr_class([resultBranch, { ["_cY"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>`);
5785
+ _html(`<span${_attr_class("_c5")}>${_escape(repoLabel(repo.nameWithOwner))}${_el_resume($scope4_id, "e")}</span></button>${_el_resume($scope4_id, "b")}<button${_attr_class([resultBranch, { ["_cZ"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>`);
5675
5786
  icon_branch_default({ size: 12 });
5676
5787
  _html(`</button>${_el_resume($scope4_id, "f")}</div>${_el_resume($scope4_id, "a")}`);
5677
5788
  _if(() => {
@@ -5706,7 +5817,7 @@ var repo_picker_default = _template("t", (input) => {
5706
5817
  return 0;
5707
5818
  } else if (filter && catalog && !pasted) {
5708
5819
  const $scope6_id = _scope_id();
5709
- _html(`<p${_attr_class("_bF")}>No repos match "<!>${_escape(filter)}${_el_resume($scope6_id, "b")}". Paste a clone URL to add any repo.</p>`);
5820
+ _html(`<p${_attr_class("_bw")}>No repos match "<!>${_escape(filter)}${_el_resume($scope6_id, "b")}". Paste a clone URL to add any repo.</p>`);
5710
5821
  writeScope($scope6_id, {});
5711
5822
  return 1;
5712
5823
  }
@@ -5750,7 +5861,7 @@ var repo_picker_default = _template("t", (input) => {
5750
5861
  });
5751
5862
  //#endregion
5752
5863
  //#region src/tags/new-workspace.marko
5753
- var api$4;
5864
+ var api$3;
5754
5865
  var watchProgress;
5755
5866
  var new_workspace_default = _template("q", (input) => {
5756
5867
  const $scope0_reason = _scope_reason(), $sg__input_backHref__OR__input_onExit = _serialize_guard($scope0_reason, 0), $sg__input_workspaces = _serialize_guard($scope0_reason, 1), $si__input_workspaces = _serialize_if($scope0_reason, 1);
@@ -5798,7 +5909,7 @@ var new_workspace_default = _template("q", (input) => {
5798
5909
  error = null;
5799
5910
  restoring = ws.id;
5800
5911
  try {
5801
- await api$4(`/api/workspaces/${ws.id}`, {
5912
+ await api$3(`/api/workspaces/${ws.id}`, {
5802
5913
  method: "POST",
5803
5914
  headers: { "content-type": "application/json" },
5804
5915
  body: JSON.stringify({ action: "restore" })
@@ -5826,7 +5937,7 @@ var new_workspace_default = _template("q", (input) => {
5826
5937
  });
5827
5938
  await watcher.ready;
5828
5939
  try {
5829
- const ws = await api$4("/api/workspaces", {
5940
+ const ws = await api$3("/api/workspaces", {
5830
5941
  method: "POST",
5831
5942
  headers: { "content-type": "application/json" },
5832
5943
  body: JSON.stringify({
@@ -5847,7 +5958,7 @@ var new_workspace_default = _template("q", (input) => {
5847
5958
  }
5848
5959
  }, "q6", $scope0_id);
5849
5960
  const titleId = _id();
5850
- _html(`<div${_attr_class("_bk")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bl")}><div${_attr_class(content$1)}>`);
5961
+ _html(`<div${_attr_class("_bB")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bC")}><div${_attr_class(content$1)}>`);
5851
5962
  _set_serialize_reason({
5852
5963
  0: _serialize_guard($scope0_reason, 2),
5853
5964
  1: $sg__input_backHref__OR__input_onExit,
@@ -5886,9 +5997,9 @@ var new_workspace_default = _template("q", (input) => {
5886
5997
  return 0;
5887
5998
  }
5888
5999
  }, $scope0_id, "e", 1, 1, 1, 0, 1);
5889
- _html(`<label${_attr_class("_bN")}><span${_attr_class("_bJ")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
6000
+ _html(`<label${_attr_class("_bN")}><span${_attr_class("_bA")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
5890
6001
  name = _new_name;
5891
- }, "q0", $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("_bP")}><h2${_attr_class("_bJ")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
6002
+ }, "q0", $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("_bP")}><h2${_attr_class("_bA")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
5892
6003
  _set_serialize_reason(1);
5893
6004
  const $childScope2 = _peek_scope_id();
5894
6005
  icon_refresh_default({
@@ -5961,7 +6072,7 @@ var new_workspace_default = _template("q", (input) => {
5961
6072
  _if(() => {
5962
6073
  if (!selected.length) {
5963
6074
  const $scope14_id = _scope_id();
5964
- _html(`<li${_attr_class("_bF")}>No repos yet. Search below to add one, or create it empty.</li>`);
6075
+ _html(`<li${_attr_class("_bw")}>No repos yet. Search below to add one, or create it empty.</li>`);
5965
6076
  writeScope($scope14_id, {});
5966
6077
  return 0;
5967
6078
  }
@@ -6030,10 +6141,10 @@ var new_workspace_default = _template("q", (input) => {
6030
6141
  _if(() => {
6031
6142
  if (archived$1.length) {
6032
6143
  const $scope4_id = _scope_id();
6033
- _html(`<section${_attr_class(archived)}><div${_attr_class("_bP")}><h2${_attr_class("_bJ")}>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("_bx")}>`);
6144
+ _html(`<section${_attr_class(archived)}><div${_attr_class("_bP")}><h2${_attr_class("_bA")}>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("_bo")}>`);
6034
6145
  _for_of(archived$1, (ws) => {
6035
6146
  const $scope5_id = _scope_id();
6036
- _html(`<li${_attr_class(archivedCard)}><div${_attr_class("_bA")}><span${_attr_class("_bB")}>${_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)}>`);
6147
+ _html(`<li${_attr_class(archivedCard)}><div${_attr_class("_br")}><span${_attr_class("_bs")}>${_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)}>`);
6037
6148
  _if(() => {
6038
6149
  if (restoring === ws.id) {
6039
6150
  const $scope17_id = _scope_id();
@@ -6096,36 +6207,6 @@ var new_workspace_default = _template("q", (input) => {
6096
6207
  _resume_branch($scope0_id);
6097
6208
  });
6098
6209
  //#endregion
6099
- //#region src/client/api.ts
6100
- /** Fetch JSON from an API route. Error bodies are always `{ error: string }`;
6101
- * when one comes back (or the response isn't ok / isn't JSON) this throws,
6102
- * so callers handle failure in one place. Pass `{ signal: $signal }` where
6103
- * a component-scoped fetch should abort on destroy.
6104
- *
6105
- * Behind an auth proxy, an expired session turns into login HTML (or 401).
6106
- * Reload once — same fix users already apply by hand, hosting-agnostic. */
6107
- async function api$3(url, init) {
6108
- const res = await fetch(url, init);
6109
- if (isAuthDeathResponse(res)) {
6110
- reloadOnceForAuth();
6111
- throw new Error("session expired");
6112
- }
6113
- let data;
6114
- try {
6115
- data = await res.json();
6116
- } catch {
6117
- if (isAuthDeathResponse(res)) {
6118
- reloadOnceForAuth();
6119
- throw new Error("session expired");
6120
- }
6121
- throw new Error(res.ok ? "invalid response" : `HTTP ${res.status}`);
6122
- }
6123
- if (data && typeof data === "object" && data.error) throw new Error(data.error);
6124
- if (!res.ok) throw new Error(`HTTP ${res.status}`);
6125
- clearAuthReloadGuard();
6126
- return data;
6127
- }
6128
- //#endregion
6129
6210
  //#region src/client/push.ts
6130
6211
  /** Web Push subscription for "agent waiting" alerts. iOS requires the app
6131
6212
  * to be installed to the home screen and the request to happen in a user
@@ -6142,13 +6223,13 @@ async function enablePush() {
6142
6223
  const reg = await registration();
6143
6224
  let sub = await reg.pushManager.getSubscription();
6144
6225
  if (!sub) {
6145
- const { publicKey } = await api$3("/api/push");
6226
+ const { publicKey } = await api$7("/api/push");
6146
6227
  sub = await reg.pushManager.subscribe({
6147
6228
  userVisibleOnly: true,
6148
6229
  applicationServerKey: vapidKey(publicKey)
6149
6230
  });
6150
6231
  }
6151
- await api$3("/api/push", {
6232
+ await api$7("/api/push", {
6152
6233
  method: "POST",
6153
6234
  headers: { "content-type": "application/json" },
6154
6235
  body: JSON.stringify(sub.toJSON())
@@ -6158,7 +6239,7 @@ async function enablePush() {
6158
6239
  async function disablePush() {
6159
6240
  const sub = await pushSubscription();
6160
6241
  if (!sub) return;
6161
- await api$3(`/api/push?endpoint=${encodeURIComponent(sub.endpoint)}`, { method: "DELETE" }).catch(() => {});
6242
+ await api$7(`/api/push?endpoint=${encodeURIComponent(sub.endpoint)}`, { method: "DELETE" }).catch(() => {});
6162
6243
  await sub.unsubscribe();
6163
6244
  }
6164
6245
  async function registration() {
@@ -6190,8 +6271,8 @@ function activeAgent(session) {
6190
6271
  const command = session.state?.command?.trim();
6191
6272
  return command && agentFromCommand(command) || session.agent;
6192
6273
  }
6193
- var iconBtn$1 = "_dJ _j";
6194
- var navToggle = "_dO _j";
6274
+ var iconBtn$1 = "_dX _j";
6275
+ var navToggle = "_d2 _j";
6195
6276
  _template("N", (input) => {
6196
6277
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
6197
6278
  const $scope0_id = _scope_id();
@@ -6234,23 +6315,12 @@ var ARM_MS = 3500;
6234
6315
  function disarmLater(fn) {
6235
6316
  return setTimeout(fn, ARM_MS);
6236
6317
  }
6237
- var railBtn = "_go _j";
6238
- var rowIcon = "_gx _Z _j";
6239
- var close = "_gy _Z _j _2";
6318
+ var railBtn = "_fs _j";
6319
+ var rowIcon = "_fB _Z _j";
6320
+ var close = "_fC _Z _j _2";
6240
6321
  //#endregion
6241
6322
  //#region src/styles/session-pop.css.ts
6242
- var sessionPop = "_gk _4";
6243
- //#endregion
6244
- //#region src/client/usage.ts
6245
- /** The plan row an agent instance draws on: its own account (`claude2`)
6246
- * when the provider reports per account, else the family's (`codex`). */
6247
- function usageFor(agentId, usage) {
6248
- const rows = usage?.agents || [];
6249
- const exact = rows.find((r) => r.agent === agentId);
6250
- if (exact) return exact;
6251
- const family = agentFamily(agentId);
6252
- return rows.find((r) => r.agent === family) ?? null;
6253
- }
6323
+ var sessionPop = "_fo _4";
6254
6324
  //#endregion
6255
6325
  //#region src/tags/icons/icon-diff.marko
6256
6326
  var icon_diff_default = _template("V", (input) => {
@@ -6300,22 +6370,22 @@ var usage_pcts_default = _template("E", (input) => {
6300
6370
  if (windows.length) {
6301
6371
  const $scope1_id = _scope_id();
6302
6372
  _html(`<span${_attr_class([
6303
- "_fo",
6373
+ "_fT",
6304
6374
  input.class,
6305
- { ["_fp"]: agent.stale_seconds != null }
6375
+ { ["_fU"]: agent.stale_seconds != null }
6306
6376
  ])}${agent.stale_seconds != null ? _attr("title", `${agent.note || "provider unreachable"}; last cached numbers`) : " title=\"Plan usage\""}>`);
6307
6377
  _for_of(windows, (win$1, i) => {
6308
6378
  const $scope2_id = _scope_id();
6309
- _html(`<span${_attr_class("_fq")}>`);
6379
+ _html(`<span${_attr_class("_fV")}>`);
6310
6380
  _if(() => {
6311
6381
  if (i) {
6312
6382
  const $scope3_id = _scope_id();
6313
- _html(`<span${_attr_class("_ft")} aria-hidden=true>·</span>`);
6383
+ _html(`<span${_attr_class("_fY")} aria-hidden=true>·</span>`);
6314
6384
  $si__input_agent && writeScope($scope3_id, {});
6315
6385
  return 0;
6316
6386
  }
6317
6387
  }, $scope2_id, "b", $sg__input_agent, $sg__input_agent, $sg__input_agent, 0, 1);
6318
- _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 ? "_dE" : win$1.used_percent >= 70 ? "_dD" : win$1.used_percent >= 40 ? "_dC" : "_dB"])}>${_escape(pctText(win$1.used_percent))}${_el_resume($scope2_id, "f", $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
6388
+ _html(`<span${_attr_class("_fW")}>${_escape(win$1.window)}${_el_resume($scope2_id, "d", $sg__input_agent)}</span><span${_attr_class(["_fX", win$1.used_percent >= 90 ? "_dr" : win$1.used_percent >= 70 ? "_dq" : win$1.used_percent >= 40 ? "_dp" : "_do"])}>${_escape(pctText(win$1.used_percent))}${_el_resume($scope2_id, "f", $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
6319
6389
  $si__input_agent && writeScope($scope2_id, {});
6320
6390
  }, "window", $scope1_id, "a", $sg__input_agent, $sg__input_agent__OR__input_class, $sg__input_agent, "</span>", 1);
6321
6391
  $si__input_agent__OR__input_class && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
@@ -6556,7 +6626,7 @@ var side_nav_item_default = _template("x", (input) => {
6556
6626
  renamingId = null;
6557
6627
  input.onRenameSession?.(s, renameValue.trim());
6558
6628
  }, "x2", $scope0_id);
6559
- let usage = null;
6629
+ let usage = lastUsage$1();
6560
6630
  const openSess = (() => {
6561
6631
  if (!input.current || input.page || input.rail) return null;
6562
6632
  const list = input.sessions || [];
@@ -6573,10 +6643,10 @@ var side_nav_item_default = _template("x", (input) => {
6573
6643
  _if(() => {
6574
6644
  if (input.rail) {
6575
6645
  const $scope2_id = _scope_id();
6576
- _html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_gm"]: 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([
6646
+ _html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_fq"]: 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([
6577
6647
  "_z",
6578
6648
  phase[dot],
6579
- "_gp"
6649
+ "_ft"
6580
6650
  ])}></span>${_el_resume($scope2_id, "c", $sg__input_workspaceId__OR__input_status)}</a>${_el_resume($scope2_id, "a", _serialize_guard($scope0_reason, 3))}`);
6581
6651
  _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) })))));
6582
6652
  return 0;
@@ -6584,15 +6654,15 @@ var side_nav_item_default = _template("x", (input) => {
6584
6654
  const $scope3_id = _scope_id();
6585
6655
  const sessions$1 = input.sessions || [];
6586
6656
  const phaseLabel = dot === "working" ? "Working" : dot === "waiting" ? "Needs input" : dot === "idle" ? "Idle" : "Not running";
6587
- _html(`<section${_attr_class(["_gr", {
6588
- ["_gm"]: input.current,
6657
+ _html(`<section${_attr_class(["_fv", {
6658
+ ["_fq"]: input.current,
6589
6659
  ["_5"]: input.current,
6590
- ["_gs"]: input.railPop,
6591
- ["_gq"]: input.page
6592
- }])}><div${_attr_class("_gt")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class("_gu")}><span${_attr_class([
6660
+ ["_fw"]: input.railPop,
6661
+ ["_fu"]: input.page
6662
+ }])}><div${_attr_class("_fx")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class("_fy")}><span${_attr_class([
6593
6663
  "_z",
6594
6664
  phase[dot],
6595
- "_gH"
6665
+ "_fL"
6596
6666
  ])}${_attr("title", phaseLabel)}></span>${_el_resume($scope3_id, "d", $sg__input_workspaceId__OR__input_status)}`);
6597
6667
  _if(() => {
6598
6668
  if (sessions$1.length === 1) {
@@ -6605,7 +6675,7 @@ var side_nav_item_default = _template("x", (input) => {
6605
6675
  icon_agent_default({
6606
6676
  agent: activeAgent(sessions$1[0]),
6607
6677
  size: 12,
6608
- class: "_gz"
6678
+ class: "_fD"
6609
6679
  });
6610
6680
  $si__input_sessions && writeScope($scope14_id, {
6611
6681
  _: _scope_with_id($scope3_id),
@@ -6615,16 +6685,16 @@ var side_nav_item_default = _template("x", (input) => {
6615
6685
  }
6616
6686
  }, $scope3_id, "e", $sg__input_sessions, $sg__input_sessions);
6617
6687
  const metaText = sessions$1.length === 0 ? phaseLabel : sessions$1.length === 1 ? sessions$1[0].title || "" : `${sessions$1.length} sessions`;
6618
- _html(`<span${_attr_class("_gA")}><span${_attr_class("_gB")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "h", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
6688
+ _html(`<span${_attr_class("_fE")}><span${_attr_class("_fF")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "h", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
6619
6689
  _if(() => {
6620
6690
  if (input.page && metaText) {
6621
6691
  const $scope16_id = _scope_id();
6622
- _html(`<span${_attr_class("_gF")}>${_escape(metaText)}${_el_resume($scope16_id, "b", _serialize_guard($scope0_reason, 7))}</span>`);
6692
+ _html(`<span${_attr_class("_fJ")}>${_escape(metaText)}${_el_resume($scope16_id, "b", _serialize_guard($scope0_reason, 7))}</span>`);
6623
6693
  $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) });
6624
6694
  return 0;
6625
6695
  } else if (sessions$1.length === 1 && sessions$1[0].title) {
6626
6696
  const $scope15_id = _scope_id();
6627
- _html(`<span${_attr_class("_gC")}>${_escape(sessions$1[0].title)}${_el_resume($scope15_id, "b", $sg__input_sessions)}</span>`);
6697
+ _html(`<span${_attr_class("_fG")}>${_escape(sessions$1[0].title)}${_el_resume($scope15_id, "b", $sg__input_sessions)}</span>`);
6628
6698
  $si__input_page__OR__input_sessions__OR__input_workspaceId__OR__input_status && writeScope($scope15_id, { _: $si__input_sessions && _scope_with_id($scope3_id) });
6629
6699
  return 1;
6630
6700
  }
@@ -6637,7 +6707,7 @@ var side_nav_item_default = _template("x", (input) => {
6637
6707
  "_I",
6638
6708
  "_R",
6639
6709
  "_K",
6640
- "_gG"
6710
+ "_fK"
6641
6711
  ])}>${input.current ? "Open" : ""}${_el_resume($scope4_id, "b", _serialize_guard($scope0_reason, 21))}</span>`);
6642
6712
  $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, {
6643
6713
  _: _scope_with_id($scope3_id),
@@ -6650,7 +6720,7 @@ var side_nav_item_default = _template("x", (input) => {
6650
6720
  _if(() => {
6651
6721
  if (!input.page) {
6652
6722
  const $scope5_id = _scope_id();
6653
- _html(`<div${_attr_class("_gv")}>`);
6723
+ _html(`<div${_attr_class("_fz")}>`);
6654
6724
  _if(() => {
6655
6725
  if (input.onNewSession) {
6656
6726
  const $scope6_id = _scope_id();
@@ -6664,7 +6734,7 @@ var side_nav_item_default = _template("x", (input) => {
6664
6734
  _html(`</button>${_el_resume($scope6_id, "a")}<div${_attr("id", newPopId)} popover=auto${_attr_class(sessionPop)}>`);
6665
6735
  _for_of([], (agent) => {
6666
6736
  const $scope7_id = _scope_id();
6667
- _html(`<button${_attr_class("_gl")}>`);
6737
+ _html(`<button${_attr_class("_fp")}>`);
6668
6738
  _set_serialize_reason(12);
6669
6739
  const $childScope2 = _peek_scope_id();
6670
6740
  icon_agent_default({
@@ -6699,7 +6769,7 @@ var side_nav_item_default = _template("x", (input) => {
6699
6769
  return 0;
6700
6770
  }
6701
6771
  }, $scope5_id, "c", $sg__input_onReview, $sg__input_onReview, $sg__input_onNewSession__OR__input_onReview, 0, 1);
6702
- _html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_gn"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
6772
+ _html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_fr"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
6703
6773
  icon_manage_default({ size: 12 });
6704
6774
  _html(`</a>${_el_resume($scope5_id, "d", _serialize_guard($scope0_reason, 8))}</div>`);
6705
6775
  _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, {
@@ -6709,7 +6779,7 @@ var side_nav_item_default = _template("x", (input) => {
6709
6779
  return 0;
6710
6780
  }
6711
6781
  }, $scope3_id, "k", $sg__input_page, $sg__input_page, 1, 0, 1);
6712
- _html(`</div><div${_attr_class("_gM")}>`);
6782
+ _html(`</div><div${_attr_class("_fQ")}>`);
6713
6783
  _if(() => {
6714
6784
  if (sessions$1.length === 1 && openPlan) {
6715
6785
  const $scope11_id = _scope_id();
@@ -6717,7 +6787,7 @@ var side_nav_item_default = _template("x", (input) => {
6717
6787
  const $childScope3 = _peek_scope_id();
6718
6788
  usage_pcts_default({
6719
6789
  agent: openPlan,
6720
- class: "_gD"
6790
+ class: "_fH"
6721
6791
  });
6722
6792
  _subscribe($openPlan__closures, writeScope($scope11_id, {
6723
6793
  a: _existing_scope($childScope3),
@@ -6728,14 +6798,14 @@ var side_nav_item_default = _template("x", (input) => {
6728
6798
  }, $scope3_id, "m");
6729
6799
  _for_of(sessions$1.length > 1 ? sessions$1 : [], (s) => {
6730
6800
  const $scope8_id = _scope_id();
6731
- _html(`<div${_attr_class(["_gw", { ["_gm"]: s.id === input.currentTab }])}>`);
6801
+ _html(`<div${_attr_class(["_fA", { ["_fq"]: s.id === input.currentTab }])}>`);
6732
6802
  _if(() => {
6733
6803
  if (renamingId === s.id) {
6734
6804
  const $scope10_id = _scope_id();
6735
6805
  _html(`<span${_attr_class([
6736
6806
  "_z",
6737
6807
  phase[sessionPhase(s.state)],
6738
- "_gK"
6808
+ "_fO"
6739
6809
  ])}></span>${_el_resume($scope10_id, "a", $sg__input_sessions)}`);
6740
6810
  _set_serialize_reason({
6741
6811
  1: $sg__input_sessions,
@@ -6745,17 +6815,17 @@ var side_nav_item_default = _template("x", (input) => {
6745
6815
  icon_agent_default({
6746
6816
  agent: activeAgent(s),
6747
6817
  size: 13,
6748
- class: "_gO"
6818
+ class: "_fS"
6749
6819
  });
6750
6820
  _html(`<input${_attr_input_value($scope10_id, "c", renameValue, _resume((_new_renameValue) => {
6751
6821
  renameValue = _new_renameValue;
6752
- }, "x0", $scope10_id))}${_attr_class(["_U", "_gL"])} aria-label="Session name">${_el_resume($scope10_id, "c")}`);
6822
+ }, "x0", $scope10_id))}${_attr_class(["_U", "_fP"])} aria-label="Session name">${_el_resume($scope10_id, "c")}`);
6753
6823
  _script($scope10_id, "x5");
6754
6824
  _subscribe($renameValue__closures, writeScope($scope10_id, { b: $si__input_sessions && _existing_scope($childScope4) }));
6755
6825
  return 0;
6756
6826
  } else {
6757
6827
  const $scope9_id = _scope_id();
6758
- _html(`<a${_attr("href", `/w/${ws$1.id}?s=${s.id}`)}${_attr_class("_gN")}><span${_attr_class(["_z", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope9_id, "b", $sg__input_sessions)}`);
6828
+ _html(`<a${_attr("href", `/w/${ws$1.id}?s=${s.id}`)}${_attr_class("_fR")}><span${_attr_class(["_z", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope9_id, "b", $sg__input_sessions)}`);
6759
6829
  _set_serialize_reason({
6760
6830
  1: $sg__input_sessions,
6761
6831
  2: $sg__input_sessions
@@ -6764,9 +6834,9 @@ var side_nav_item_default = _template("x", (input) => {
6764
6834
  icon_agent_default({
6765
6835
  agent: activeAgent(s),
6766
6836
  size: 13,
6767
- class: "_gO"
6837
+ class: "_fS"
6768
6838
  });
6769
- _html(`<span${_attr_class("_gI")}>${_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("_gJ")}><button${_attr_class(rowIcon)} title="Rename session">`);
6839
+ _html(`<span${_attr_class("_fM")}>${_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("_fN")}><button${_attr_class(rowIcon)} title="Rename session">`);
6770
6840
  icon_edit_default({ size: 12 });
6771
6841
  _html(`</button>${_el_resume($scope9_id, "g")}<button${_attr_class([close, { ["_q"]: armedKill === s.id }])} title=${armedKill === s.id ? "Close?" : "\"Close session\""}>`);
6772
6842
  icon_xmark_default({ size: 12 });
@@ -6778,7 +6848,7 @@ var side_nav_item_default = _template("x", (input) => {
6778
6848
  const $childScope6 = _peek_scope_id();
6779
6849
  usage_pcts_default({
6780
6850
  agent: openPlan,
6781
- class: "_gE"
6851
+ class: "_fI"
6782
6852
  });
6783
6853
  _subscribe($openPlan__closures, writeScope($scope12_id, {
6784
6854
  a: _existing_scope($childScope6),
@@ -6974,34 +7044,34 @@ var side_nav_default = _template("y", (input) => {
6974
7044
  const iconSrc = `/api/instance/icon${input.instanceAccent ? `?v=${input.instanceAccent.slice(1)}` : ""}`;
6975
7045
  const otherIds = itemIds.filter((id) => id !== ws.id);
6976
7046
  const listIds = isPage ? [ws.id, ...otherIds] : itemIds;
6977
- _html(`<aside${_attr_class(["_dN", {
6978
- ["_dL"]: !navOpen,
6979
- ["_dM"]: isPage
7047
+ _html(`<aside${_attr_class(["_d1", {
7048
+ ["_dZ"]: !navOpen,
7049
+ ["_d0"]: isPage
6980
7050
  }])}${_attr("hidden", view === "diff")}>`);
6981
7051
  _if(() => {
6982
7052
  if (isPage) {
6983
7053
  const $scope1_id = _scope_id();
6984
- _html(`<header${_attr_class("_dQ")}><div${_attr_class("_dZ")}>`);
7054
+ _html(`<header${_attr_class("_d4")}><div${_attr_class("_ec")}>`);
6985
7055
  _if(() => {
6986
7056
  if (input.instanceName) {
6987
7057
  const $scope2_id = _scope_id();
6988
- _html(`<div${_attr_class("_dW")} title="This work server (Settings → Appearance)"><img${_attr_class("_dX")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_dY")}>${_escape(input.instanceName)}${_el_resume($scope2_id, "d", $sg__input_instanceName)}</span></div>`);
7058
+ _html(`<div${_attr_class("_d_")} title="This work server (Settings → Appearance)"><img${_attr_class("_ea")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_eb")}>${_escape(input.instanceName)}${_el_resume($scope2_id, "d", $sg__input_instanceName)}</span></div>`);
6989
7059
  _subscribe($si__input_instanceAccent && $iconSrc__closures, _subscribe($si__input_instanceName && $input_instanceName__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) })));
6990
7060
  return 0;
6991
7061
  }
6992
7062
  }, $scope1_id, "c", $sg__input_instanceName, $sg__input_instanceName, 1, 0, 1);
6993
- _html(`<h1${_attr_class("_dR")}>Workspaces</h1></div><div${_attr_class("_dS")}>`);
7063
+ _html(`<h1${_attr_class("_d5")}>Workspaces</h1></div><div${_attr_class("_d6")}>`);
6994
7064
  _if(() => {}, $scope1_id, "f", 1, 1, 1, 0, 1);
6995
7065
  _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([
6996
7066
  iconBtn$1,
6997
- "_dT",
6998
- { ["_dI"]: view === "settings" }
7067
+ "_d7",
7068
+ { ["_dW"]: view === "settings" }
6999
7069
  ])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
7000
7070
  icon_settings_default({ size: 16 });
7001
7071
  _if(() => {
7002
7072
  if (input.setupReady === false) {
7003
7073
  const $scope12_id = _scope_id();
7004
- _html(`<span${_attr_class(["_z", "_dK"])} title="Machine setup incomplete"></span>`);
7074
+ _html(`<span${_attr_class(["_z", "_dY"])} title="Machine setup incomplete"></span>`);
7005
7075
  $si__input_setupReady && writeScope($scope12_id, {});
7006
7076
  return 0;
7007
7077
  }
@@ -7014,18 +7084,18 @@ var side_nav_default = _template("y", (input) => {
7014
7084
  _if(() => {
7015
7085
  if (!isPage && input.instanceName) {
7016
7086
  const $scope3_id = _scope_id();
7017
- _html(`<div${_attr_class("_dW")} title="This work server (Settings → Appearance)"><img${_attr_class("_dX")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_dY")}>${_escape(input.instanceName)}${_el_resume($scope3_id, "d", $sg__input_instanceName)}</span></div>`);
7087
+ _html(`<div${_attr_class("_d_")} title="This work server (Settings → Appearance)"><img${_attr_class("_ea")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_eb")}>${_escape(input.instanceName)}${_el_resume($scope3_id, "d", $sg__input_instanceName)}</span></div>`);
7018
7088
  writeScope($scope3_id, {});
7019
7089
  return 0;
7020
7090
  }
7021
7091
  }, $scope0_id, "c", 1, 1, 1, 0, 1);
7022
- _html(`<div${_attr_class("_d0")}>`);
7092
+ _html(`<div${_attr_class("_ed")}>`);
7023
7093
  _for_of(listIds, (wsId) => {
7024
7094
  const $scope4_id = _scope_id();
7025
7095
  _if(() => {
7026
7096
  if (isPage && wsId === ws.id) {
7027
7097
  const $scope13_id = _scope_id();
7028
- _html(`<h2${_attr_class(["_bJ", "_dU"])}>Current</h2>`);
7098
+ _html(`<h2${_attr_class(["_bA", "_d8"])}>Current</h2>`);
7029
7099
  writeScope($scope13_id, {});
7030
7100
  return 0;
7031
7101
  }
@@ -7033,7 +7103,7 @@ var side_nav_default = _template("y", (input) => {
7033
7103
  _if(() => {
7034
7104
  if (isPage && wsId !== ws.id && wsId === otherIds[0]) {
7035
7105
  const $scope14_id = _scope_id();
7036
- _html(`<h2${_attr_class(["_bJ", "_dU"])}>Other workspaces</h2>`);
7106
+ _html(`<h2${_attr_class(["_bA", "_d8"])}>Other workspaces</h2>`);
7037
7107
  writeScope($scope14_id, {});
7038
7108
  return 0;
7039
7109
  }
@@ -7117,7 +7187,7 @@ var side_nav_default = _template("y", (input) => {
7117
7187
  railHover = null;
7118
7188
  }, 150);
7119
7189
  }, "y6", $scope5_id);
7120
- _html(`<div${_attr_class("_d1")}>`);
7190
+ _html(`<div${_attr_class("_ee")}>`);
7121
7191
  _for_of(itemIds, (wsId, i) => {
7122
7192
  const $scope6_id = _scope_id();
7123
7193
  _html("<span>");
@@ -7171,7 +7241,7 @@ var side_nav_default = _template("y", (input) => {
7171
7241
  if (railHover) {
7172
7242
  const $scope7_id = _scope_id();
7173
7243
  const hoverId = railHover.id;
7174
- _html(`<div${_attr_class(["_4", "_d4"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
7244
+ _html(`<div${_attr_class(["_4", "_eh"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
7175
7245
  _set_serialize_reason({
7176
7246
  0: 1,
7177
7247
  1: 1,
@@ -7256,7 +7326,7 @@ var side_nav_default = _template("y", (input) => {
7256
7326
  return 0;
7257
7327
  }
7258
7328
  }, $scope0_id, "e");
7259
- _html(`<div${_attr_class("_d2")}>`);
7329
+ _html(`<div${_attr_class("_ef")}>`);
7260
7330
  _if(() => {
7261
7331
  if (isPage) {
7262
7332
  const $scope9_id = _scope_id();
@@ -7264,7 +7334,7 @@ var side_nav_default = _template("y", (input) => {
7264
7334
  "_o",
7265
7335
  "_p",
7266
7336
  btnLg,
7267
- "_dV"
7337
+ "_d9"
7268
7338
  ])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
7269
7339
  icon_folder_plus_default({ size: 16 });
7270
7340
  _html(` New workspace</a>${_el_resume($scope9_id, "a")}`);
@@ -7286,19 +7356,19 @@ var side_nav_default = _template("y", (input) => {
7286
7356
  return 1;
7287
7357
  }
7288
7358
  }, $scope8_id, "a", 1, 1, 1, "</button>", 1);
7289
- _html(`<div${_attr_class(["_y", "_d3"])}></div>`);
7359
+ _html(`<div${_attr_class(["_y", "_eg"])}></div>`);
7290
7360
  _if(() => {}, $scope8_id, "c", 1, 1, 1, 0, 1);
7291
- _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn$1, { ["_dI"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
7361
+ _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn$1, { ["_dW"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
7292
7362
  icon_settings_default({ size: 15 });
7293
7363
  _if(() => {
7294
7364
  if (input.setupReady === false) {
7295
7365
  const $scope17_id = _scope_id();
7296
- _html(`<span${_attr_class(["_z", "_dK"])} title="Machine setup incomplete"></span>`);
7366
+ _html(`<span${_attr_class(["_z", "_dY"])} title="Machine setup incomplete"></span>`);
7297
7367
  $si__input_setupReady && writeScope($scope17_id, {});
7298
7368
  return 0;
7299
7369
  }
7300
7370
  }, $scope8_id, "f", $sg__input_setupReady, $sg__input_setupReady, 1, 0, 1);
7301
- _html(`</a>${_el_resume($scope8_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn$1, { ["_dI"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
7371
+ _html(`</a>${_el_resume($scope8_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn$1, { ["_dW"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
7302
7372
  icon_folder_plus_default({ size: 16 });
7303
7373
  _html(`</a>${_el_resume($scope8_id, "g")}`);
7304
7374
  _script($scope8_id, "y15");
@@ -7364,11 +7434,11 @@ var side_nav_default = _template("y", (input) => {
7364
7434
  _resume_branch($scope0_id);
7365
7435
  });
7366
7436
  var iconBtn = "_0 _j";
7367
- var sectionCount = "_bw _I _J";
7368
- var content = "_d5 _bm";
7369
- var pageMeta = "_d6 _br";
7370
- var pathMeta = "_d9 _x";
7371
- var dangerHint = "_ee _S";
7437
+ var sectionCount = "_bn _I _J";
7438
+ var content = "_dL _bD";
7439
+ var pageMeta = "_dM _bI";
7440
+ var pathMeta = "_dP _x";
7441
+ var dangerHint = "_dV _S";
7372
7442
  //#endregion
7373
7443
  //#region src/tags/manage-workspace.marko
7374
7444
  var api$2;
@@ -7467,7 +7537,7 @@ var manage_workspace_default = _template("o", (input) => {
7467
7537
  setTimeout(() => loadProcs(void 0), 500);
7468
7538
  }, "o5", $scope0_id);
7469
7539
  const titleId = _id();
7470
- _html(`<div${_attr_class("_bk")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bl")}><div${_attr_class(content)}>`);
7540
+ _html(`<div${_attr_class("_bB")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_bC")}><div${_attr_class(content)}>`);
7471
7541
  _set_serialize_reason(30);
7472
7542
  const $childScope = _peek_scope_id();
7473
7543
  page_head_default({
@@ -7480,7 +7550,7 @@ var manage_workspace_default = _template("o", (input) => {
7480
7550
  meta: attrTag({ content: _content_resume("o11", () => {
7481
7551
  _scope_reason();
7482
7552
  const $scope8_id = _scope_id();
7483
- _html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_d7")}>${_escape(ws.name)}${_el_resume($scope8_id, "c")}</span>`);
7553
+ _html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_dN")}>${_escape(ws.name)}${_el_resume($scope8_id, "c")}</span>`);
7484
7554
  _if(() => {
7485
7555
  if (ws.status !== "active") {
7486
7556
  const $scope11_id = _scope_id();
@@ -7489,7 +7559,7 @@ var manage_workspace_default = _template("o", (input) => {
7489
7559
  return 0;
7490
7560
  }
7491
7561
  }, $scope8_id, "d", 1, 1, 1, 0, 1);
7492
- _html(`<span${_attr_class("_d8")} 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")}`);
7562
+ _html(`<span${_attr_class("_dO")} 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")}`);
7493
7563
  _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) })))));
7494
7564
  _resume_branch($scope8_id);
7495
7565
  }, $scope0_id) })
@@ -7517,22 +7587,22 @@ var manage_workspace_default = _template("o", (input) => {
7517
7587
  _if(() => {
7518
7588
  if (pendingAction && actionStep) {
7519
7589
  const $scope7_id = _scope_id();
7520
- _html(`<p${_attr_class("_bt")}><span${_attr_class("_F")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
7590
+ _html(`<p${_attr_class("_bk")}><span${_attr_class("_F")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
7521
7591
  writeScope($scope7_id, {});
7522
7592
  return 0;
7523
7593
  }
7524
7594
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
7525
- _html(`<section${_attr_class("_bu")}><div${_attr_class("_bv")}><h2${_attr_class("_bJ")}>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)}>`);
7595
+ _html(`<section${_attr_class("_bl")}><div${_attr_class("_bm")}><h2${_attr_class("_bA")}>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)}>`);
7526
7596
  _set_serialize_reason(1);
7527
7597
  const $childScope2 = _peek_scope_id();
7528
7598
  icon_refresh_default({
7529
7599
  size: 14,
7530
7600
  class: catalogRefreshing && "_E"
7531
7601
  });
7532
- _html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("_bx")}>`);
7602
+ _html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("_bo")}>`);
7533
7603
  _for_of(ws.repos, (row) => {
7534
7604
  const $scope1_id = _scope_id();
7535
- _html(`<li${_attr_class("_bz")}><div${_attr_class("_bA")}><span${_attr_class(["_bB", "_x"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_bC")}><a${_attr_class(["_bD", "_ea"])}${_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")}`);
7605
+ _html(`<li${_attr_class("_bq")}><div${_attr_class("_br")}><span${_attr_class(["_bs", "_x"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_bt")}><a${_attr_class(["_bu", "_dR"])}${_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")}`);
7536
7606
  _if(() => {
7537
7607
  if (row.base_branch !== row.default_branch) {
7538
7608
  const $scope12_id = _scope_id();
@@ -7553,7 +7623,7 @@ var manage_workspace_default = _template("o", (input) => {
7553
7623
  } else {
7554
7624
  const $scope6_id = _scope_id();
7555
7625
  _html(`<button${_attr_class([
7556
- "_bE",
7626
+ "_bv",
7557
7627
  "_2",
7558
7628
  "_3",
7559
7629
  { ["_q"]: confirmingRemove === row.full_name }
@@ -7586,19 +7656,19 @@ var manage_workspace_default = _template("o", (input) => {
7586
7656
  }, "full_name", $scope0_id, "p", 1, 1, 1, 0, 1);
7587
7657
  _for_of([...busy].filter((n) => !inWorkspace.has(n)), (name) => {
7588
7658
  const $scope16_id = _scope_id();
7589
- _html(`<li${_attr_class(["_bz", "_by"])}><span${_attr_class("_F")}></span><div${_attr_class("_bA")}><span${_attr_class("_bD")}>Adding <!>${_escape(name)}${_el_resume($scope16_id, "e")}…</span></div></li>`);
7659
+ _html(`<li${_attr_class(["_bq", "_bp"])}><span${_attr_class("_F")}></span><div${_attr_class("_br")}><span${_attr_class("_bu")}>Adding <!>${_escape(name)}${_el_resume($scope16_id, "e")}…</span></div></li>`);
7590
7660
  writeScope($scope16_id, {});
7591
7661
  }, (n) => n, $scope0_id, "q", 1, 1, 1, 0, 1);
7592
7662
  _html("</ul>");
7593
7663
  _if(() => {
7594
7664
  if (!ws.repos.length && !busy.size) {
7595
7665
  const $scope17_id = _scope_id();
7596
- _html(`<p${_attr_class("_bF")}>No repos yet. Search below to add one.</p>`);
7666
+ _html(`<p${_attr_class("_bw")}>No repos yet. Search below to add one.</p>`);
7597
7667
  writeScope($scope17_id, {});
7598
7668
  return 0;
7599
7669
  }
7600
7670
  }, $scope0_id, "r", 1, 1, 1, 0, 1);
7601
- _html(`<div${_attr_class("_d_")}>`);
7671
+ _html(`<div${_attr_class("_dQ")}>`);
7602
7672
  const $childScope3 = _peek_scope_id();
7603
7673
  let refreshCatalog = repo_picker_default({
7604
7674
  exclude: inWorkspace,
@@ -7618,17 +7688,17 @@ var manage_workspace_default = _template("o", (input) => {
7618
7688
  _if(() => {
7619
7689
  if (running.length) {
7620
7690
  const $scope9_id = _scope_id();
7621
- _html(`<section${_attr_class("_bu")}><div${_attr_class("_bv")}><h2${_attr_class("_bJ")}>Running</h2><span${_attr_class(sectionCount)}>${_escape(running.length)}${_el_resume($scope9_id, "e")}</span></div><ul${_attr_class("_bx")}>`);
7691
+ _html(`<section${_attr_class("_bl")}><div${_attr_class("_bm")}><h2${_attr_class("_bA")}>Running</h2><span${_attr_class(sectionCount)}>${_escape(running.length)}${_el_resume($scope9_id, "e")}</span></div><ul${_attr_class("_bo")}>`);
7622
7692
  _for_of(running, (p) => {
7623
7693
  const $scope10_id = _scope_id();
7624
- _html(`<li${_attr_class("_bz")}><div${_attr_class("_bA")}${_attr("title", p.args)}><span${_attr_class(["_bB", "_x"])}>${_escape(p.cmd)}${_el_resume($scope10_id, "d")}</span>`);
7694
+ _html(`<li${_attr_class("_bq")}><div${_attr_class("_br")}${_attr("title", p.args)}><span${_attr_class(["_bs", "_x"])}>${_escape(p.cmd)}${_el_resume($scope10_id, "d")}</span>`);
7625
7695
  _if(() => {
7626
7696
  if (p.ports.length) {
7627
7697
  const $scope18_id = _scope_id();
7628
- _html(`<span${_attr_class("_bC")}>`);
7698
+ _html(`<span${_attr_class("_bt")}>`);
7629
7699
  _for_of(p.ports, (port) => {
7630
7700
  const $scope19_id = _scope_id();
7631
- _html(`<button${_attr_class(["_s", "_eb"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope19_id, "b")}</button>${_el_resume($scope19_id, "a")}`);
7701
+ _html(`<button${_attr_class(["_s", "_dS"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope19_id, "b")}</button>${_el_resume($scope19_id, "a")}`);
7632
7702
  _script($scope19_id, "o15");
7633
7703
  writeScope($scope19_id, { d: port });
7634
7704
  }, (x) => String(x), $scope18_id, "a", 1, 1, 1, "</span>", 1);
@@ -7636,7 +7706,7 @@ var manage_workspace_default = _template("o", (input) => {
7636
7706
  return 0;
7637
7707
  }
7638
7708
  }, $scope10_id, "e", 1, 1, 1, 0, 1);
7639
- _html(`</div>${_el_resume($scope10_id, "b")}<button${_attr_class(["_bE", "_2"])} type=button${_attr("title", `Kill process ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>`);
7709
+ _html(`</div>${_el_resume($scope10_id, "b")}<button${_attr_class(["_bv", "_2"])} type=button${_attr("title", `Kill process ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>`);
7640
7710
  icon_xmark_default({ size: 14 });
7641
7711
  _html(`</button>${_el_resume($scope10_id, "f")}</li>`);
7642
7712
  _script($scope10_id, "o16");
@@ -7650,7 +7720,7 @@ var manage_workspace_default = _template("o", (input) => {
7650
7720
  return 0;
7651
7721
  }
7652
7722
  }, $scope0_id, "v", 1, 1, 1, 0, 1);
7653
- _html(`<section${_attr_class(["_bu", "_ec"])}><div${_attr_class("_bv")}><h2${_attr_class("_bJ")}>Workspace</h2></div><div${_attr_class("_ed")}>`);
7723
+ _html(`<section${_attr_class(["_bl", "_dT"])}><div${_attr_class("_bm")}><h2${_attr_class("_bA")}>Workspace</h2></div><div${_attr_class("_dU")}>`);
7654
7724
  _if(() => {
7655
7725
  if (ws.status === "active") {
7656
7726
  const $scope4_id = _scope_id();
@@ -7751,19 +7821,19 @@ var term_find_default = _template("A", (input) => {
7751
7821
  const canStep = hasQuery && open;
7752
7822
  const keybar = input.placement === "keybar";
7753
7823
  _html(`<div${_attr_class([
7754
- "_fE",
7755
- keybar ? "_fG" : "_fF",
7756
- !open && "_fI"
7757
- ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_fz", keybar ? "_fH" : "_fB"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
7824
+ "_f5",
7825
+ keybar ? "_f7" : "_f6",
7826
+ !open && "_f9"
7827
+ ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_f0", keybar ? "_f8" : "_f2"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
7758
7828
  if (!open) return;
7759
7829
  query = v;
7760
7830
  live.query = v;
7761
7831
  run(0);
7762
- }, "A0", $scope0_id))}${_attr_class([findInput, keybar && "_fJ"])} 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 && "_fK"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
7832
+ }, "A0", $scope0_id))}${_attr_class([findInput, keybar && "_f_"])} 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 && "_ga"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
7763
7833
  icon_arrow_up_default({ size: 14 });
7764
- _html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_fK"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
7834
+ _html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_ga"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
7765
7835
  icon_arrow_down_default({ size: 14 });
7766
- _html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "_fK"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
7836
+ _html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "_ga"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
7767
7837
  icon_xmark_default({ size: 14 });
7768
7838
  _html(`</button>${_el_resume($scope0_id, "h")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
7769
7839
  _script($scope0_id, "A4");
@@ -8097,7 +8167,7 @@ var term_default = _template("B", (input) => {
8097
8167
  trapOpen = true;
8098
8168
  }
8099
8169
  }, "B14", $scope0_id);
8100
- _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_ef")}><div${_attr_class("_eg")}></div>${_el_resume($scope0_id, "b")}`);
8170
+ _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_ei")}><div${_attr_class("_ej")}></div>${_el_resume($scope0_id, "b")}`);
8101
8171
  _if(() => {
8102
8172
  if (findOpen) {
8103
8173
  const $scope12_id = _scope_id();
@@ -8124,7 +8194,7 @@ var term_default = _template("B", (input) => {
8124
8194
  _if(() => {
8125
8195
  if (uploading) {
8126
8196
  const $scope19_id = _scope_id();
8127
- _html(`<div${_attr_class("_em")}>uploading…</div>`);
8197
+ _html(`<div${_attr_class("_ep")}>uploading…</div>`);
8128
8198
  writeScope($scope19_id, {});
8129
8199
  return 0;
8130
8200
  }
@@ -8132,7 +8202,7 @@ var term_default = _template("B", (input) => {
8132
8202
  _if(() => {
8133
8203
  if (copiedFlash) {
8134
8204
  const $scope20_id = _scope_id();
8135
- _html(`<div${_attr_class("_el")}>Copied</div>`);
8205
+ _html(`<div${_attr_class("_eo")}>Copied</div>`);
8136
8206
  writeScope($scope20_id, {});
8137
8207
  return 0;
8138
8208
  }
@@ -8141,7 +8211,7 @@ var term_default = _template("B", (input) => {
8141
8211
  _if(() => {
8142
8212
  if (trapOpen) {
8143
8213
  const $scope11_id = _scope_id();
8144
- _html(`<div${_attr_class("_en")}><div${_attr_class("_eo")}><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")}`);
8214
+ _html(`<div${_attr_class("_eq")}><div${_attr_class("_er")}><p${_attr_class("_eV")}>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")}`);
8145
8215
  _script($scope11_id, "B25");
8146
8216
  _script($scope11_id, "B26");
8147
8217
  writeScope($scope11_id, {});
@@ -8244,7 +8314,7 @@ var work_view_default = _template("F", (input) => {
8244
8314
  let DiffView = null;
8245
8315
  const loadDiffView = _resume(() => {
8246
8316
  if (DiffView) return;
8247
- import("./_4U00WI47.js").then((m) => {
8317
+ import("./_Yw-sn_jV.js").then((m) => {
8248
8318
  DiffView = m.default;
8249
8319
  });
8250
8320
  }, "F6", $scope0_id);
@@ -8432,10 +8502,10 @@ var work_view_default = _template("F", (input) => {
8432
8502
  toggleDiff();
8433
8503
  }
8434
8504
  }, "F21", $scope0_id);
8435
- _html(`<div${_attr_class(["_b4", {
8436
- ["_b2"]: view === "nav",
8437
- ["_b3"]: !input.active
8438
- }])}><div${_attr_class("_b5")}>`);
8505
+ _html(`<div${_attr_class(["_cK", {
8506
+ ["_cI"]: view === "nav",
8507
+ ["_cJ"]: !input.active
8508
+ }])}><div${_attr_class("_cL")}>`);
8439
8509
  _set_serialize_reason({
8440
8510
  0: _serialize_guard($scope0_reason, 0),
8441
8511
  1: 1,
@@ -8504,7 +8574,7 @@ var work_view_default = _template("F", (input) => {
8504
8574
  });
8505
8575
  }, "F30", $scope0_id)
8506
8576
  });
8507
- _html(`</div><div${_attr_class("_b6")}>`);
8577
+ _html(`</div><div${_attr_class("_cM")}>`);
8508
8578
  _if(() => {
8509
8579
  if (error) {
8510
8580
  const $scope8_id = _scope_id();
@@ -8527,7 +8597,7 @@ var work_view_default = _template("F", (input) => {
8527
8597
  _if(() => {
8528
8598
  if (diffMounted && DiffView) {
8529
8599
  const $scope1_id = _scope_id();
8530
- _html(`<div${_attr_class("_b7")}${_attr_or("data-live", view === "diff", "")}${_attr("inert", view !== "diff")}>`);
8600
+ _html(`<div${_attr_class("_cN")}${_attr_or("data-live", view === "diff", "")}${_attr("inert", view !== "diff")}>`);
8531
8601
  _dynamic_tag($scope1_id, "b", DiffView, {
8532
8602
  workspaceId: ws.id,
8533
8603
  workspaceBranch: ws.branch,
@@ -8567,7 +8637,7 @@ var work_view_default = _template("F", (input) => {
8567
8637
  _if(() => {
8568
8638
  if (manageMounted) {
8569
8639
  const $scope2_id = _scope_id();
8570
- _html(`<div${_attr_class("_b7")}${_attr_or("data-live", view === "manage", "")}${_attr("inert", view !== "manage")}>`);
8640
+ _html(`<div${_attr_class("_cN")}${_attr_or("data-live", view === "manage", "")}${_attr("inert", view !== "manage")}>`);
8571
8641
  _set_serialize_reason(_serialize_guard($scope0_reason, 16));
8572
8642
  const $childScope2 = _peek_scope_id();
8573
8643
  manage_workspace_default({
@@ -8590,7 +8660,7 @@ var work_view_default = _template("F", (input) => {
8590
8660
  _if(() => {
8591
8661
  if (settingsMounted) {
8592
8662
  const $scope3_id = _scope_id();
8593
- _html(`<div${_attr_class("_b7")}${_attr_or("data-live", view === "settings", "")}${_attr("inert", view !== "settings")}>`);
8663
+ _html(`<div${_attr_class("_cN")}${_attr_or("data-live", view === "settings", "")}${_attr("inert", view !== "settings")}>`);
8594
8664
  _set_serialize_reason({
8595
8665
  0: _serialize_guard($scope0_reason, 1),
8596
8666
  1: $sg__input_workspace,
@@ -8631,7 +8701,7 @@ var work_view_default = _template("F", (input) => {
8631
8701
  _if(() => {
8632
8702
  if (newMounted) {
8633
8703
  const $scope4_id = _scope_id();
8634
- _html(`<div${_attr_class("_b7")}${_attr_or("data-live", view === "new", "")}${_attr("inert", view !== "new")}>`);
8704
+ _html(`<div${_attr_class("_cN")}${_attr_or("data-live", view === "new", "")}${_attr("inert", view !== "new")}>`);
8635
8705
  _set_serialize_reason({
8636
8706
  0: 1,
8637
8707
  1: $sg__input_allWorkspaces,
@@ -8658,13 +8728,13 @@ var work_view_default = _template("F", (input) => {
8658
8728
  return 0;
8659
8729
  }
8660
8730
  }, $scope0_id, "i", 1, 1, 1, 0, 1);
8661
- _html(`<div${_attr_class(["_b9", { ["_b8"]: view !== "term" }])}>`);
8731
+ _html(`<div${_attr_class(["_cP", { ["_cO"]: view !== "term" }])}>`);
8662
8732
  _if(() => {
8663
8733
  if (shownSessions) {
8664
8734
  const $scope5_id = _scope_id();
8665
8735
  _for_of(input.active ? shownSessions : shownSessions.filter((x) => x.id === curTab), (s) => {
8666
8736
  const $scope6_id = _scope_id();
8667
- _html(`<div${_attr_class("_b_")}${_attr_or("data-live", s.id === curTab, "")}${_attr("inert", s.id !== curTab)}>`);
8737
+ _html(`<div${_attr_class("_cQ")}${_attr_or("data-live", s.id === curTab, "")}${_attr("inert", s.id !== curTab)}>`);
8668
8738
  _set_serialize_reason({
8669
8739
  0: 1,
8670
8740
  1: 1,
@@ -8723,7 +8793,7 @@ var work_view_default = _template("F", (input) => {
8723
8793
  _if(() => {
8724
8794
  if (!shownSessions.length && view === "term") {
8725
8795
  const $scope7_id = _scope_id();
8726
- _html(`<div${_attr_class("_bG")}><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>`);
8796
+ _html(`<div${_attr_class("_bx")}><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>`);
8727
8797
  _script($scope7_id, "F50");
8728
8798
  _subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope7_id, {})));
8729
8799
  return 0;
@@ -8733,7 +8803,7 @@ var work_view_default = _template("F", (input) => {
8733
8803
  return 0;
8734
8804
  } else {
8735
8805
  const $scope10_id = _scope_id();
8736
- _html(`<p${_attr_class("_bG")}>Loading sessions…</p>`);
8806
+ _html(`<p${_attr_class("_bx")}>Loading sessions…</p>`);
8737
8807
  writeScope($scope10_id, {});
8738
8808
  return 1;
8739
8809
  }
@@ -8869,6 +8939,7 @@ var app_shell_default = _template("c", (input) => {
8869
8939
  const $openWorkspace2__closures = /* @__PURE__ */ new Set();
8870
8940
  const $go2__closures = /* @__PURE__ */ new Set();
8871
8941
  const boot = input.boot;
8942
+ seedUsage(boot.usage ?? null);
8872
8943
  const initial = input.initial || {
8873
8944
  workspaceId: null,
8874
8945
  view: "term"
@@ -9168,56 +9239,56 @@ var app_shell_default = _template("c", (input) => {
9168
9239
  _script($scope0_id, "c28");
9169
9240
  _script($scope0_id, "c29");
9170
9241
  writeScope($scope0_id, {
9171
- n: boot?.prefs,
9172
- t: initial.workspaceId,
9173
- u: initial.view,
9174
- v: initial.sessionId,
9175
- w: initial.pr,
9176
- x: initial.scope,
9177
- y: initial.file,
9178
- z: workspaces,
9179
- a0: status,
9180
- a1: settings,
9181
- a2: $si__input_initial && last,
9182
- a3: $si__input_initial && bootActive,
9183
- a5: $si__input_initial && bootActive?.length,
9184
- a7: selectedId,
9185
- a8: openIds,
9186
- ab: creating,
9187
- ac: route,
9188
- ad: nav,
9189
- ae: navNonce,
9190
- ag: lastUrl.route,
9191
- ai: setup,
9192
- aj: wantSetup,
9193
- ak: showSetup,
9194
- am: error,
9195
- an: applyWorkspaces,
9196
- ao: load,
9197
- ap: patchStatusSessions,
9198
- ar: statusMem.fresh,
9199
- as: statusMem.run,
9200
- au: loadStatus,
9201
- av: openWorkspace,
9202
- ax: go,
9203
- bd: $error__closures,
9204
- az: $si__input_initial && $initial_workspaceId__closures,
9205
- b0: $si__input_initial && $initial_view__closures,
9206
- b1: $si__input_initial && $initial_sessionId__closures,
9207
- b2: $si__input_initial && $initial_pr__closures,
9208
- b3: $si__input_initial && $initial_scope__closures,
9209
- b4: $si__input_initial && $initial_file__closures,
9210
- b5: $workspaces__closures,
9211
- b6: $status__closures,
9212
- b7: $settings__closures,
9213
- b8: $selectedId__closures,
9214
- b9: $creating__closures,
9215
- ba: $nav__closures,
9216
- bb: $navNonce__closures,
9217
- bc: $setup2__closures,
9218
- be: $applyWorkspaces2__closures,
9219
- bf: $openWorkspace2__closures,
9220
- bg: $go2__closures
9242
+ o: boot?.prefs,
9243
+ u: initial.workspaceId,
9244
+ v: initial.view,
9245
+ w: initial.sessionId,
9246
+ x: initial.pr,
9247
+ y: initial.scope,
9248
+ z: initial.file,
9249
+ a0: workspaces,
9250
+ a1: status,
9251
+ a2: settings,
9252
+ a3: $si__input_initial && last,
9253
+ a4: $si__input_initial && bootActive,
9254
+ a6: $si__input_initial && bootActive?.length,
9255
+ a8: selectedId,
9256
+ a9: openIds,
9257
+ ac: creating,
9258
+ ad: route,
9259
+ ae: nav,
9260
+ af: navNonce,
9261
+ ah: lastUrl.route,
9262
+ aj: setup,
9263
+ ak: wantSetup,
9264
+ al: showSetup,
9265
+ an: error,
9266
+ ao: applyWorkspaces,
9267
+ ap: load,
9268
+ aq: patchStatusSessions,
9269
+ as: statusMem.fresh,
9270
+ at: statusMem.run,
9271
+ av: loadStatus,
9272
+ aw: openWorkspace,
9273
+ ay: go,
9274
+ be: $error__closures,
9275
+ b0: $si__input_initial && $initial_workspaceId__closures,
9276
+ b1: $si__input_initial && $initial_view__closures,
9277
+ b2: $si__input_initial && $initial_sessionId__closures,
9278
+ b3: $si__input_initial && $initial_pr__closures,
9279
+ b4: $si__input_initial && $initial_scope__closures,
9280
+ b5: $si__input_initial && $initial_file__closures,
9281
+ b6: $workspaces__closures,
9282
+ b7: $status__closures,
9283
+ b8: $settings__closures,
9284
+ b9: $selectedId__closures,
9285
+ ba: $creating__closures,
9286
+ bb: $nav__closures,
9287
+ bc: $navNonce__closures,
9288
+ bd: $setup2__closures,
9289
+ bf: $applyWorkspaces2__closures,
9290
+ bg: $openWorkspace2__closures,
9291
+ bh: $go2__closures
9221
9292
  });
9222
9293
  _resume_branch($scope0_id);
9223
9294
  });
@@ -9227,12 +9298,13 @@ var app_page_default = _template("b", (input) => {
9227
9298
  const $scope0_reason = _scope_reason(), $sg__input_initial = _serialize_guard($scope0_reason, 0), $si__input_initial = _serialize_if($scope0_reason, 0);
9228
9299
  const $scope0_id = _scope_id();
9229
9300
  const $input_initial__closures = /* @__PURE__ */ new Set();
9230
- const { workspaces, settings, prefs, status, setup } = $global().data;
9301
+ const { workspaces, settings, prefs, status, setup, usage } = $global().data;
9231
9302
  const base = {
9232
9303
  workspaces,
9233
9304
  settings,
9234
9305
  prefs: prefs ?? {},
9235
- setup
9306
+ setup,
9307
+ usage: usage ?? null
9236
9308
  };
9237
9309
  const ready = status instanceof Promise ? null : status;
9238
9310
  _html(`<main${_attr_class("_c")}>`);
@@ -9273,7 +9345,7 @@ var app_page_default = _template("b", (input) => {
9273
9345
  $si__input_initial && writeScope($scope5_id, {
9274
9346
  _: _scope_with_id($scope4_id),
9275
9347
  a: _existing_scope($childScope3),
9276
- Cn: 1
9348
+ Co: 1
9277
9349
  });
9278
9350
  _resume_branch($scope5_id);
9279
9351
  }, $sg__input_initial);
@@ -9311,8 +9383,8 @@ var app_page_default = _template("b", (input) => {
9311
9383
  _html("</main>");
9312
9384
  writeScope($scope0_id, {
9313
9385
  d: input.initial,
9314
- l: base,
9315
- n: $si__input_initial && $input_initial__closures
9386
+ m: base,
9387
+ o: $si__input_initial && $input_initial__closures
9316
9388
  });
9317
9389
  });
9318
9390
  //#endregion
@@ -10928,54 +11000,6 @@ function head27(context) {
10928
11000
  return stripResponseBody(get27(context));
10929
11001
  }
10930
11002
  //#endregion
10931
- //#region src/server/usage/index.ts
10932
- var TTL_MS = 6e4;
10933
- /** Plan/quota usage across every agent account this machine is signed into.
10934
- *
10935
- * Each provider is one blocking HTTPS round trip against the same endpoint its
10936
- * own CLI uses; they touch disjoint credentials and cache files, so they run
10937
- * concurrently and the wait is the slowest single provider, not their sum. */
10938
- async function collect() {
10939
- return (await Promise.all(AGENTS.map((agent) => (agent.usage?.() ?? Promise.resolve([])).catch(() => [{
10940
- ...blankRow(agent.meta.id, "error"),
10941
- note: "fetch failed"
10942
- }])))).flat();
10943
- }
10944
- /** Age of a row served from a failed refresh, in seconds — undefined when the
10945
- * numbers are current. Percentages from a stale row describe a window that has
10946
- * since moved on, so they can't be shown as live figures. */
10947
- function staleSeconds(source) {
10948
- const match = /^stale-cache\s+(\d+)s/.exec(source);
10949
- return match ? Number(match[1]) : void 0;
10950
- }
10951
- var cached = swr(TTL_MS, (_key, _refresh) => collect());
10952
- var usage = async (refresh = false) => {
10953
- return { agents: (await cached("usage", refresh)).map((row) => ({
10954
- agent: row.agent,
10955
- plan: row.plan,
10956
- account: row.account,
10957
- stale_seconds: staleSeconds(row.source),
10958
- note: row.stale_reason || row.note,
10959
- windows: [
10960
- {
10961
- window: "5h",
10962
- used_percent: row.five_h,
10963
- resets_at: row.five_h_resets
10964
- },
10965
- {
10966
- window: row.seven_d_label || "7d",
10967
- used_percent: row.seven_d,
10968
- resets_at: row.seven_d_resets
10969
- },
10970
- {
10971
- window: "fable",
10972
- used_percent: row.fable,
10973
- resets_at: row.fable_resets
10974
- }
10975
- ].filter((w) => w.used_percent != null)
10976
- })) };
10977
- };
10978
- //#endregion
10979
11003
  //#region __marko-run__api.usage.js
10980
11004
  var getHandler$6 = normalizeHandler(Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await usage(ctx.search.refresh))), "GET");
10981
11005
  var get28_options = mergeOptions(mware11, getHandler$6);
@@ -16775,4 +16799,4 @@ server.listen(port, () => {
16775
16799
  //#endregion
16776
16800
  export {};
16777
16801
 
16778
- ;var __MARKO_MANIFEST__={"ZLT8joi":{"block":[2,"stylesheet#/assets/app-page-B9bx61fb.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-B9bx61fb.css\"",">"],"defer":[2,"/assets/new-Cg2dy7JI.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-Cg2dy7JI.js\"","></script>",2,"modulepreload#/assets/__4GwJAR8.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/__4GwJAR8.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/app-page-B9bx61fb.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-B9bx61fb.css\"",">"],"defer":[2,"/assets/w._-Cg2dy7JI.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-Cg2dy7JI.js\"","></script>",2,"modulepreload#/assets/__4GwJAR8.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/__4GwJAR8.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/app-page-B9bx61fb.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-B9bx61fb.css\"",">"],"defer":[2,"/assets/w._-Cg-GdtFy.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-Cg-GdtFy.js\"","></script>",2,"modulepreload#/assets/__4GwJAR8.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/__4GwJAR8.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/app-page-B9bx61fb.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-B9bx61fb.css\"",">"],"defer":[2,"/assets/w-Cg2dy7JI.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-Cg2dy7JI.js\"","></script>",2,"modulepreload#/assets/__4GwJAR8.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/__4GwJAR8.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/app-page-B9bx61fb.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-B9bx61fb.css\"",">"],"defer":[2,"/assets/settings-Cg2dy7JI.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-Cg2dy7JI.js\"","></script>",2,"modulepreload#/assets/__4GwJAR8.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/__4GwJAR8.js\"",">"]}};
16802
+ ;var __MARKO_MANIFEST__={"LH2lXAg":{"block":[2,"stylesheet#/assets/app-page-BO9uc1Ar.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-BO9uc1Ar.css\"",">"],"defer":[2,"/assets/w-D4raGU5q.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-D4raGU5q.js\"","></script>",2,"modulepreload#/assets/_g9lhXp6a.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_g9lhXp6a.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/app-page-BO9uc1Ar.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-BO9uc1Ar.css\"",">"],"defer":[2,"/assets/w._-D4raGU5q.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-D4raGU5q.js\"","></script>",2,"modulepreload#/assets/_g9lhXp6a.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_g9lhXp6a.js\"",">"]},"ZLT8joi":{"block":[2,"stylesheet#/assets/app-page-BO9uc1Ar.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-BO9uc1Ar.css\"",">"],"defer":[2,"/assets/new-D4raGU5q.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-D4raGU5q.js\"","></script>",2,"modulepreload#/assets/_g9lhXp6a.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_g9lhXp6a.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/app-page-BO9uc1Ar.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-BO9uc1Ar.css\"",">"],"defer":[2,"/assets/w._-DIIfmQC0.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-DIIfmQC0.js\"","></script>",2,"modulepreload#/assets/_g9lhXp6a.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_g9lhXp6a.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/app-page-BO9uc1Ar.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-BO9uc1Ar.css\"",">"],"defer":[2,"/assets/settings-D4raGU5q.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-D4raGU5q.js\"","></script>",2,"modulepreload#/assets/_g9lhXp6a.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_g9lhXp6a.js\"",">"]}};