@dylanpiercey/work 0.0.42 → 0.0.43

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 (159) hide show
  1. package/dist/_BKUG2YcE.js +2 -0
  2. package/dist/{_BcjIvPnT.js → _D6ntI0ua.js} +12 -6
  3. package/dist/index.mjs +430 -377
  4. package/dist/public/assets/{_Cp03K8j72.js → _0SoblpUc2.js} +2 -2
  5. package/dist/public/assets/{_Cp03K8j72.js.map → _0SoblpUc2.js.map} +1 -1
  6. package/dist/public/assets/{_BBa9QG56.js → _0d6i7SCG.js} +2 -2
  7. package/dist/public/assets/{_BBa9QG56.js.map → _0d6i7SCG.js.map} +1 -1
  8. package/dist/public/assets/{_rFAkd66p.js → _0rETN7fw.js} +2 -2
  9. package/dist/public/assets/{_rFAkd66p.js.map → _0rETN7fw.js.map} +1 -1
  10. package/dist/public/assets/{_DsIT1wDB.js → _1XAwUk7B.js} +2 -2
  11. package/dist/public/assets/{_DsIT1wDB.js.map → _1XAwUk7B.js.map} +1 -1
  12. package/dist/public/assets/{_BlfF1DXc2.js → _2ZGyigrr2.js} +2 -2
  13. package/dist/public/assets/{_BlfF1DXc2.js.map → _2ZGyigrr2.js.map} +1 -1
  14. package/dist/public/assets/{_C-u7G7Rc2.js → _2oNgpGGF2.js} +2 -2
  15. package/dist/public/assets/{_C-u7G7Rc2.js.map → _2oNgpGGF2.js.map} +1 -1
  16. package/dist/public/assets/{_DE2lMRoV.js → _50oxgBta.js} +2 -2
  17. package/dist/public/assets/{_DE2lMRoV.js.map → _50oxgBta.js.map} +1 -1
  18. package/dist/public/assets/{_CULJ2MVA2.js → _8jo3l7eK2.js} +2 -2
  19. package/dist/public/assets/{_CULJ2MVA2.js.map → _8jo3l7eK2.js.map} +1 -1
  20. package/dist/public/assets/{_DaWbmgiB.js → _92Ayy-6_.js} +2 -2
  21. package/dist/public/assets/{_DaWbmgiB.js.map → _92Ayy-6_.js.map} +1 -1
  22. package/dist/public/assets/{_CoiAbeQ8.js → _B1utu-2f.js} +2 -2
  23. package/dist/public/assets/{_CoiAbeQ8.js.map → _B1utu-2f.js.map} +1 -1
  24. package/dist/public/assets/{_B12yQQbd2.js → _B7TgtrEV2.js} +2 -2
  25. package/dist/public/assets/{_B12yQQbd2.js.map → _B7TgtrEV2.js.map} +1 -1
  26. package/dist/public/assets/{_CK57eBfx.js → _BDDLhPen.js} +2 -2
  27. package/dist/public/assets/{_CK57eBfx.js.map → _BDDLhPen.js.map} +1 -1
  28. package/dist/public/assets/{_Bl0uloCS2.js → _BEswnf1Q2.js} +2 -2
  29. package/dist/public/assets/{_Bl0uloCS2.js.map → _BEswnf1Q2.js.map} +1 -1
  30. package/dist/public/assets/{_BYcdvOlZ.js → _BI6g1yGx.js} +2 -2
  31. package/dist/public/assets/{_BYcdvOlZ.js.map → _BI6g1yGx.js.map} +1 -1
  32. package/dist/public/assets/{_DFnRtdNh.js → _BI9Wrts5.js} +2 -2
  33. package/dist/public/assets/{_DFnRtdNh.js.map → _BI9Wrts5.js.map} +1 -1
  34. package/dist/public/assets/{_CvNPU6mj2.js → _BKCf_qHW2.js} +2 -2
  35. package/dist/public/assets/{_CvNPU6mj2.js.map → _BKCf_qHW2.js.map} +1 -1
  36. package/dist/public/assets/{_t8wmk8-H2.js → _BNdat9rC2.js} +2 -2
  37. package/dist/public/assets/{_t8wmk8-H2.js.map → _BNdat9rC2.js.map} +1 -1
  38. package/dist/public/assets/{_08Vl4BnZ.js → _BOMrAeKx.js} +2 -2
  39. package/dist/public/assets/{_08Vl4BnZ.js.map → _BOMrAeKx.js.map} +1 -1
  40. package/dist/public/assets/{_4lBAOiBs.js → _BQOL5HZ0.js} +2 -2
  41. package/dist/public/assets/{_4lBAOiBs.js.map → _BQOL5HZ0.js.map} +1 -1
  42. package/dist/public/assets/{_CIyqQPOJ.js → _BU9Vfw9L.js} +2 -2
  43. package/dist/public/assets/{_CIyqQPOJ.js.map → _BU9Vfw9L.js.map} +1 -1
  44. package/dist/public/assets/{_CUQCJnj92.js → _BUSCa4gg2.js} +2 -2
  45. package/dist/public/assets/{_CUQCJnj92.js.map → _BUSCa4gg2.js.map} +1 -1
  46. package/dist/public/assets/{_CPWwxTeC2.js → _BUk_n2NJ2.js} +2 -2
  47. package/dist/public/assets/{_CPWwxTeC2.js.map → _BUk_n2NJ2.js.map} +1 -1
  48. package/dist/public/assets/{_yd7odEAs.js → _BVIZmKiN.js} +2 -2
  49. package/dist/public/assets/{_yd7odEAs.js.map → _BVIZmKiN.js.map} +1 -1
  50. package/dist/public/assets/{_Dtp3DbhR.js → _BWC17Dxo.js} +2 -2
  51. package/dist/public/assets/{_Dtp3DbhR.js.map → _BWC17Dxo.js.map} +1 -1
  52. package/dist/public/assets/{_EcTBrSbd.js → _Bq5ird2Q.js} +2 -2
  53. package/dist/public/assets/{_EcTBrSbd.js.map → _Bq5ird2Q.js.map} +1 -1
  54. package/dist/public/assets/{_DK6ZJVn2.js → _BrPFsJOt.js} +2 -2
  55. package/dist/public/assets/{_DK6ZJVn2.js.map → _BrPFsJOt.js.map} +1 -1
  56. package/dist/public/assets/{_RKdvAu9n2.js → _BvCehyhK2.js} +2 -2
  57. package/dist/public/assets/{_RKdvAu9n2.js.map → _BvCehyhK2.js.map} +1 -1
  58. package/dist/public/assets/{_Ch-k8j3L.js → _By_iykWa.js} +2 -2
  59. package/dist/public/assets/{_Ch-k8j3L.js.map → _By_iykWa.js.map} +1 -1
  60. package/dist/public/assets/{_Dd9JhTP3.js → _C06WlduN.js} +2 -2
  61. package/dist/public/assets/{_Dd9JhTP3.js.map → _C06WlduN.js.map} +1 -1
  62. package/dist/public/assets/{_Boa1CUha.js → _C1FYb8Zt.js} +2 -2
  63. package/dist/public/assets/{_Boa1CUha.js.map → _C1FYb8Zt.js.map} +1 -1
  64. package/dist/public/assets/{_DDlaBvIf.js → _C3P4uPmT.js} +2 -2
  65. package/dist/public/assets/{_DDlaBvIf.js.map → _C3P4uPmT.js.map} +1 -1
  66. package/dist/public/assets/{_DoEzd4-6.js → _C6ImtRE3.js} +2 -2
  67. package/dist/public/assets/{_DoEzd4-6.js.map → _C6ImtRE3.js.map} +1 -1
  68. package/dist/public/assets/{_BNg95hln.js → _C8chWwcx.js} +2 -2
  69. package/dist/public/assets/{_BNg95hln.js.map → _C8chWwcx.js.map} +1 -1
  70. package/dist/public/assets/{_Ch2s5Yl1.js → _CBI6k99i.js} +2 -2
  71. package/dist/public/assets/{_Ch2s5Yl1.js.map → _CBI6k99i.js.map} +1 -1
  72. package/dist/public/assets/{_Ci-5oHFp.js → _CD1Cz3b0.js} +2 -2
  73. package/dist/public/assets/{_Ci-5oHFp.js.map → _CD1Cz3b0.js.map} +1 -1
  74. package/dist/public/assets/{_a6SPz--f2.js → _CDs3Plg22.js} +2 -2
  75. package/dist/public/assets/{_a6SPz--f2.js.map → _CDs3Plg22.js.map} +1 -1
  76. package/dist/public/assets/{_nmjNS1SP2.js → _CHwGkQFJ2.js} +2 -2
  77. package/dist/public/assets/{_nmjNS1SP2.js.map → _CHwGkQFJ2.js.map} +1 -1
  78. package/dist/public/assets/{_BF6FAj1Y2.js → _CPAY8Aio2.js} +2 -2
  79. package/dist/public/assets/{_BF6FAj1Y2.js.map → _CPAY8Aio2.js.map} +1 -1
  80. package/dist/public/assets/{_DHQLqogP.js → _CS8Ls-zU.js} +2 -2
  81. package/dist/public/assets/{_DHQLqogP.js.map → _CS8Ls-zU.js.map} +1 -1
  82. package/dist/public/assets/{_zLB-9r7D.js → _CVh9Qrkt.js} +2 -2
  83. package/dist/public/assets/{_zLB-9r7D.js.map → _CVh9Qrkt.js.map} +1 -1
  84. package/dist/public/assets/{_CTYKjish.js → _CWKjTKW_.js} +2 -2
  85. package/dist/public/assets/{_CTYKjish.js.map → _CWKjTKW_.js.map} +1 -1
  86. package/dist/public/assets/{_D_Zit_pp.js → _CcZK3hG6.js} +2 -2
  87. package/dist/public/assets/{_D_Zit_pp.js.map → _CcZK3hG6.js.map} +1 -1
  88. package/dist/public/assets/{_BIb9glVD2.js → _CebcXVzD2.js} +2 -2
  89. package/dist/public/assets/{_BIb9glVD2.js.map → _CebcXVzD2.js.map} +1 -1
  90. package/dist/public/assets/{_0HFtYC9j.js → _CfjPIVcs.js} +2 -2
  91. package/dist/public/assets/{_0HFtYC9j.js.map → _CfjPIVcs.js.map} +1 -1
  92. package/dist/public/assets/{_Dy3ee_fS2.js → _CgNZeXVz2.js} +2 -2
  93. package/dist/public/assets/{_Dy3ee_fS2.js.map → _CgNZeXVz2.js.map} +1 -1
  94. package/dist/public/assets/{_DuuJhr1w.js → _CqRLElJC.js} +2 -2
  95. package/dist/public/assets/{_DuuJhr1w.js.map → _CqRLElJC.js.map} +1 -1
  96. package/dist/public/assets/{_BQTrV1C2.js → _CuxifEzv.js} +2 -2
  97. package/dist/public/assets/{_BQTrV1C2.js.map → _CuxifEzv.js.map} +1 -1
  98. package/dist/public/assets/{_BHLmP9J5.js → _CvTTpFvL.js} +2 -2
  99. package/dist/public/assets/{_BHLmP9J5.js.map → _CvTTpFvL.js.map} +1 -1
  100. package/dist/public/assets/{_CxmlqqW12.js → _D-aDQKsl2.js} +2 -2
  101. package/dist/public/assets/{_CxmlqqW12.js.map → _D-aDQKsl2.js.map} +1 -1
  102. package/dist/public/assets/{_BtlXwps-.js → _D0lbzoha.js} +2 -2
  103. package/dist/public/assets/{_BtlXwps-.js.map → _D0lbzoha.js.map} +1 -1
  104. package/dist/public/assets/{_LyFFu4J72.js → _D3KSMZfR2.js} +2 -2
  105. package/dist/public/assets/{_LyFFu4J72.js.map → _D3KSMZfR2.js.map} +1 -1
  106. package/dist/public/assets/{_DtshxIqm.js → _DAEGv5NF.js} +2 -2
  107. package/dist/public/assets/{_DtshxIqm.js.map → _DAEGv5NF.js.map} +1 -1
  108. package/dist/public/assets/{_DSb5aJbx2.js → _DB-kct9w2.js} +2 -2
  109. package/dist/public/assets/{_DSb5aJbx2.js.map → _DB-kct9w2.js.map} +1 -1
  110. package/dist/public/assets/{_CMrgWit1.js → _DB8S7IpZ.js} +2 -2
  111. package/dist/public/assets/{_CMrgWit1.js.map → _DB8S7IpZ.js.map} +1 -1
  112. package/dist/public/assets/{_BHXi673w2.js → _DCEHkwqM2.js} +2 -2
  113. package/dist/public/assets/{_BHXi673w2.js.map → _DCEHkwqM2.js.map} +1 -1
  114. package/dist/public/assets/{_C4eToTSH.js → _DF14Q5Qx.js} +2 -2
  115. package/dist/public/assets/{_C4eToTSH.js.map → _DF14Q5Qx.js.map} +1 -1
  116. package/dist/public/assets/{_kDVs_4yB.js → _DFCpASZP.js} +2 -2
  117. package/dist/public/assets/{_kDVs_4yB.js.map → _DFCpASZP.js.map} +1 -1
  118. package/dist/public/assets/{_Dtyrasyh2.js → _DM9k9EbW2.js} +2 -2
  119. package/dist/public/assets/{_Dtyrasyh2.js.map → _DM9k9EbW2.js.map} +1 -1
  120. package/dist/public/assets/{_CvDp4NJZ.js → _DhjXRxO9.js} +2 -2
  121. package/dist/public/assets/{_CvDp4NJZ.js.map → _DhjXRxO9.js.map} +1 -1
  122. package/dist/public/assets/{_DPzh9We22.js → _Dl0XJBEV2.js} +2 -2
  123. package/dist/public/assets/{_DPzh9We22.js.map → _Dl0XJBEV2.js.map} +1 -1
  124. package/dist/public/assets/{_CKtA_VfT.js → _DnucvDC2.js} +2 -2
  125. package/dist/public/assets/{_CKtA_VfT.js.map → _DnucvDC2.js.map} +1 -1
  126. package/dist/public/assets/{_ChpDcY902.js → _DoUnBC9z2.js} +2 -2
  127. package/dist/public/assets/{_ChpDcY902.js.map → _DoUnBC9z2.js.map} +1 -1
  128. package/dist/public/assets/{_By4p-yp6.js → _DrmYy8Xm.js} +2 -2
  129. package/dist/public/assets/{_By4p-yp6.js.map → _DrmYy8Xm.js.map} +1 -1
  130. package/dist/public/assets/{_BwCEKN3X2.js → _Ds-8nOL22.js} +2 -2
  131. package/dist/public/assets/{_BwCEKN3X2.js.map → _Ds-8nOL22.js.map} +1 -1
  132. package/dist/public/assets/{_CQLk7EcY.js → _DsnZTImt.js} +2 -2
  133. package/dist/public/assets/{_CQLk7EcY.js.map → _DsnZTImt.js.map} +1 -1
  134. package/dist/public/assets/{_BL0H8RTc.js → _RvdO33BX.js} +2 -2
  135. package/dist/public/assets/{_BL0H8RTc.js.map → _RvdO33BX.js.map} +1 -1
  136. package/dist/public/assets/{_oHnAhOiq.js → _jBaQQMq8.js} +2 -2
  137. package/dist/public/assets/{_oHnAhOiq.js.map → _jBaQQMq8.js.map} +1 -1
  138. package/dist/public/assets/{_6jzzkyr3.js → _jIyKybTG.js} +2 -2
  139. package/dist/public/assets/{_6jzzkyr3.js.map → _jIyKybTG.js.map} +1 -1
  140. package/dist/public/assets/{_5zAnG8_b.js → _nndW68VX.js} +2 -2
  141. package/dist/public/assets/{_5zAnG8_b.js.map → _nndW68VX.js.map} +1 -1
  142. package/dist/public/assets/{_DML-mp8Z.js → _oxfxBzwP.js} +2 -2
  143. package/dist/public/assets/{_DML-mp8Z.js.map → _oxfxBzwP.js.map} +1 -1
  144. package/dist/public/assets/{_CsV5dOWU.js → _pMBSr7lE.js} +2 -2
  145. package/dist/public/assets/{_CsV5dOWU.js.map → _pMBSr7lE.js.map} +1 -1
  146. package/dist/public/assets/{_DJpNULvH.js → _qMizCBPI.js} +2 -2
  147. package/dist/public/assets/{_DJpNULvH.js.map → _qMizCBPI.js.map} +1 -1
  148. package/dist/public/assets/{_BAU6KG-h.js → _sLWiGyoa.js} +2 -2
  149. package/dist/public/assets/{_BAU6KG-h.js.map → _sLWiGyoa.js.map} +1 -1
  150. package/dist/public/assets/{_g8rZMKlA.js → _w7Gbf-aq.js} +2 -2
  151. package/dist/public/assets/{_g8rZMKlA.js.map → _w7Gbf-aq.js.map} +1 -1
  152. package/dist/public/assets/index-IuM7k5a_.css +1 -0
  153. package/dist/public/assets/index-b_5IaVWb.js +1615 -0
  154. package/dist/public/assets/index-b_5IaVWb.js.map +1 -0
  155. package/package.json +1 -1
  156. package/dist/_CMIdvV46.js +0 -2
  157. package/dist/public/assets/index-DNOnhrX7.js +0 -1615
  158. package/dist/public/assets/index-DNOnhrX7.js.map +0 -1
  159. package/dist/public/assets/index-Dfh2odxc.css +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
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
- import { A as git, B as config, C as AGENTS, D as setSetting, E as setPref, F as subscriberCount, I as all, L as db, M as tmux, N as publish, O as TMUX_SOCKET, P as subscribe, R as get$1, S as saveSubscription, T as preferredAgent, _ as setScrapedPhase, a as killSession, b as deleteSubscription, c as newSessionArgs, d as renameSession, f as sendToSession, g as setAgentPhase, h as clearAgentPhase, i as getSession, j as run, k as gh, m as tmuxName, n as createSession, o as killWorkspaceSessions, p as sessionStates, r as ensureTmuxServer, s as listSessions, t as cleanEnv, u as panePids, v as setSessionViewers, w as allPrefs, x as pushPublicKey, y as summaryFromHookPayload, z as workspacePath } from "./_BcjIvPnT.js";
2
+ import { A as git, B as config, C as AGENTS, D as setSetting, E as setPref, F as subscriberCount, I as all, L as db, M as tmux, N as publish, O as TMUX_SOCKET, P as subscribe, R as get$1, S as saveSubscription, T as preferredAgent, _ as setScrapedPhase, a as killSession, b as deleteSubscription, c as newSessionArgs, d as renameSession, f as sendToSession, g as setAgentPhase, h as clearAgentPhase, i as getSession, j as run, k as gh, m as tmuxName, n as createSession, o as killWorkspaceSessions, p as sessionStates, r as ensureTmuxServer, s as listSessions, t as cleanEnv, u as panePids, v as setSessionViewers, w as allPrefs, x as pushPublicKey, y as summaryFromHookPayload, z as workspacePath } from "./_D6ntI0ua.js";
3
3
  import { createServer } from "node:http";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
@@ -4418,12 +4418,6 @@ function coalesce(fn) {
4418
4418
  }
4419
4419
  };
4420
4420
  }
4421
- //#endregion
4422
- //#region src/client/env.ts
4423
- /** Coarse-pointer (touch) device. False during a server render. */
4424
- function isTouch() {
4425
- return typeof window !== "undefined" && window.matchMedia("(pointer: coarse)").matches;
4426
- }
4427
4421
  var toastDismiss = "_K _y";
4428
4422
  //#endregion
4429
4423
  //#region src/tags/toast.marko
@@ -4566,6 +4560,25 @@ function phaseOf(status) {
4566
4560
  function sessionPhase(state) {
4567
4561
  return state?.phase === "working" ? "working" : state?.phase === "waiting" ? "waiting" : state?.alive ? "idle" : "off";
4568
4562
  }
4563
+ /** Binary each session kind launches, inverted — `sessions.ts` COMMANDS. */
4564
+ var AGENT_BY_COMMAND = {
4565
+ claude: "claude",
4566
+ codex: "codex",
4567
+ grok: "grok",
4568
+ copilot: "copilot",
4569
+ "cursor-agent": "cursor"
4570
+ };
4571
+ /**
4572
+ * What a session is *running*, which is not always what it was started as: a
4573
+ * shell someone typed `claude` into is a claude session as far as the reader
4574
+ * is concerned. Only shells are reinterpreted — an agent kind stays itself
4575
+ * even while it shells out, so the icon doesn't flicker mid-command.
4576
+ */
4577
+ function activeAgent(session) {
4578
+ if (session.agent !== "shell") return session.agent;
4579
+ const command = session.state?.command?.trim();
4580
+ return command && AGENT_BY_COMMAND[command] || session.agent;
4581
+ }
4569
4582
  //#endregion
4570
4583
  //#region src/tags/icons/icon-base.marko
4571
4584
  var icon_base_default = _template("B", (input) => {
@@ -4730,17 +4743,17 @@ var palette_default = _template("o", (input) => {
4730
4743
  _if(() => {
4731
4744
  if (!input.inline) {
4732
4745
  const $scope5_id = _scope_id();
4733
- _html(`<div${_attr_class("_1")}></div>${_el_resume($scope5_id, "a")}`);
4746
+ _html(`<div${_attr_class("_bj")}></div>${_el_resume($scope5_id, "a")}`);
4734
4747
  _script($scope5_id, "o4");
4735
4748
  writeScope($scope5_id, {});
4736
4749
  return 0;
4737
4750
  }
4738
4751
  }, $scope0_id, "a", $sg__input_inline, $sg__input_inline, 1, 0, 1);
4739
- _html(`<div${_attr_class(["_3", { ["_2"]: input.inline }])} data-palette${input.inline ? " data-inline" : ""} role=dialog aria-label=Workspaces>`);
4752
+ _html(`<div${_attr_class(["_bl", { ["_bk"]: input.inline }])} data-palette${input.inline ? " data-inline" : ""} role=dialog aria-label=Workspaces>`);
4740
4753
  _if(() => {
4741
4754
  if (input.inline && !input.workspaces.length) {
4742
4755
  const $scope8_id = _scope_id();
4743
- _html(`<div${_attr_class("_ba")}><p>A <strong>workspace</strong> checks out one or more repos as git worktrees on a shared branch and gives each agent session its own terminal. Create one to get started.</p><p>Pick your preferred agent below — new sessions and the quick-create button use it. GitHub access uses your <code>gh</code> login.</p></div>`);
4756
+ _html(`<div${_attr_class("_bt")}><p>A <strong>workspace</strong> checks out one or more repos as git worktrees on a shared branch and gives each agent session its own terminal. Create one to get started.</p><p>Pick your preferred agent below — new sessions and the quick-create button use it. GitHub access uses your <code>gh</code> login.</p></div>`);
4744
4757
  _serialize_if($scope0_reason, 0) && writeScope($scope8_id, {});
4745
4758
  return 0;
4746
4759
  }
@@ -4748,33 +4761,33 @@ var palette_default = _template("o", (input) => {
4748
4761
  _html(`<input${_attr_input_value($scope0_id, "d", query || "", _resume(function(v) {
4749
4762
  query = v;
4750
4763
  hiRaw = 0;
4751
- }, "o0", $scope0_id))} autofocus placeholder="Jump to workspace…" aria-label="Filter workspaces">${_el_resume($scope0_id, "d")}<ul${_attr_class("_4")}>`);
4764
+ }, "o0", $scope0_id))} autofocus placeholder="Jump to workspace…" aria-label="Filter workspaces">${_el_resume($scope0_id, "d")}<ul${_attr_class("_bm")}>`);
4752
4765
  _for_of(rows$1, (row$1, i) => {
4753
4766
  const $scope1_id = _scope_id();
4754
- _html(`<li><div${_attr_class("_5")}><button${_attr_class(["_8", {
4755
- ["_7"]: i === hi,
4756
- ["_6"]: row$1.kind === "ws" && row$1.archived
4767
+ _html(`<li><div${_attr_class("_bn")}><button${_attr_class(["_bq", {
4768
+ ["_bp"]: i === hi,
4769
+ ["_bo"]: row$1.kind === "ws" && row$1.archived
4757
4770
  }])}>`);
4758
4771
  _if(() => {
4759
4772
  if (row$1.kind === "new") {
4760
4773
  const $scope10_id = _scope_id();
4761
- _html(`<span${_attr_class("_bb")}>+ New workspace</span>`);
4774
+ _html(`<span${_attr_class("_bu")}>+ New workspace</span>`);
4762
4775
  writeScope($scope10_id, {});
4763
4776
  return 0;
4764
4777
  } else if (row$1.kind === "cmd") {
4765
4778
  const $scope9_id = _scope_id();
4766
- _html(`<span${_attr_class(["_bb", "__"])}>▸ <!>${_escape(row$1.label)}${_el_resume($scope9_id, "b")}</span>`);
4779
+ _html(`<span${_attr_class(["_bu", "_bs"])}>▸ <!>${_escape(row$1.label)}${_el_resume($scope9_id, "b")}</span>`);
4767
4780
  writeScope($scope9_id, {});
4768
4781
  return 1;
4769
4782
  } else {
4770
4783
  const $scope2_id = _scope_id();
4771
4784
  const st = input.status[row$1.ws.id];
4772
4785
  const rowPrs = (st?.repos || []).flatMap((r) => r.prs || []);
4773
- _html(`<span${_attr_class("_bb")}><span${_attr_class(["_o", phase[phaseOf(st)]])}></span>${_el_resume($scope2_id, "b")}<span${_attr_class("_bc")}>${_escape(row$1.ws.name)}${_el_resume($scope2_id, "d")}</span>`);
4786
+ _html(`<span${_attr_class("_bu")}><span${_attr_class(["_o", phase[phaseOf(st)]])}></span>${_el_resume($scope2_id, "b")}<span${_attr_class("_bv")}>${_escape(row$1.ws.name)}${_el_resume($scope2_id, "d")}</span>`);
4774
4787
  _if(() => {
4775
4788
  if (row$1.ws.id === input.selectedId) {
4776
4789
  const $scope14_id = _scope_id();
4777
- _html(`<span${_attr_class(["_h", "_be"])}>open</span>`);
4790
+ _html(`<span${_attr_class(["_h", "_bx"])}>open</span>`);
4778
4791
  writeScope($scope14_id, {});
4779
4792
  return 0;
4780
4793
  }
@@ -4787,11 +4800,11 @@ var palette_default = _template("o", (input) => {
4787
4800
  return 0;
4788
4801
  }
4789
4802
  }, $scope2_id, "f", 1, 1, 1, 0, 1);
4790
- _html(`<span${_attr_class("_bd")}>`);
4803
+ _html(`<span${_attr_class("_bw")}>`);
4791
4804
  _if(() => {
4792
4805
  if (st?.agents) {
4793
4806
  const $scope11_id = _scope_id();
4794
- _html(`<span${_attr_class(["_h", "_bf"])}${_attr("title", `${st.agents} running session${st.agents === 1 ? "" : "s"}${st.working ? ` — ${st.working} working` : ""}${st.waiting ? ` — ${st.waiting} waiting on you` : ""}`)}>${_escape(st.agents)}${_el_resume($scope11_id, "b")}</span>${_el_resume($scope11_id, "a")}`);
4807
+ _html(`<span${_attr_class(["_h", "_by"])}${_attr("title", `${st.agents} running session${st.agents === 1 ? "" : "s"}${st.working ? ` — ${st.working} working` : ""}${st.waiting ? ` — ${st.waiting} waiting on you` : ""}`)}>${_escape(st.agents)}${_el_resume($scope11_id, "b")}</span>${_el_resume($scope11_id, "a")}`);
4795
4808
  writeScope($scope11_id, {});
4796
4809
  return 0;
4797
4810
  }
@@ -4799,7 +4812,7 @@ var palette_default = _template("o", (input) => {
4799
4812
  _if(() => {
4800
4813
  if (rowPrs.length) {
4801
4814
  const $scope13_id = _scope_id();
4802
- _html(`<span${_attr_class(["_h", "_bf"])}${_attr("title", `${rowPrs.length} open PR${rowPrs.length === 1 ? "" : "s"}`)}>${_escape(rowPrs.length)}${_el_resume($scope13_id, "b")} PR<!>${rowPrs.length === 1 ? "" : "s"}${_el_resume($scope13_id, "c")}</span>${_el_resume($scope13_id, "a")}`);
4815
+ _html(`<span${_attr_class(["_h", "_by"])}${_attr("title", `${rowPrs.length} open PR${rowPrs.length === 1 ? "" : "s"}`)}>${_escape(rowPrs.length)}${_el_resume($scope13_id, "b")} PR<!>${rowPrs.length === 1 ? "" : "s"}${_el_resume($scope13_id, "c")}</span>${_el_resume($scope13_id, "a")}`);
4803
4816
  writeScope($scope13_id, {});
4804
4817
  return 0;
4805
4818
  }
@@ -4807,12 +4820,12 @@ var palette_default = _template("o", (input) => {
4807
4820
  _if(() => {
4808
4821
  if ((st?.ports || []).length) {
4809
4822
  const $scope12_id = _scope_id();
4810
- _html(`<span${_attr_class(["_h", "_bf"])}${_attr("title", st.ports.map((p) => `:${p.port} ${p.cmd}`).join("\n"))}>:<!>${_escape(st.ports.length)}${_el_resume($scope12_id, "b")}</span>${_el_resume($scope12_id, "a")}`);
4823
+ _html(`<span${_attr_class(["_h", "_by"])}${_attr("title", st.ports.map((p) => `:${p.port} ${p.cmd}`).join("\n"))}>:<!>${_escape(st.ports.length)}${_el_resume($scope12_id, "b")}</span>${_el_resume($scope12_id, "a")}`);
4811
4824
  writeScope($scope12_id, {});
4812
4825
  return 0;
4813
4826
  }
4814
4827
  }, $scope2_id, "j", 1, 1, 1, 0, 1);
4815
- _html(`</span></span><span${_attr_class("_bg")}>`);
4828
+ _html(`</span></span><span${_attr_class("_bz")}>`);
4816
4829
  _for_of(st?.repos || row$1.ws.repos, (repo) => {
4817
4830
  const $scope16_id = _scope_id();
4818
4831
  _html(`<span${_attr_class("_m")}>${_escape(repo.worktree)}${_el_resume($scope16_id, "b")}</span>`);
@@ -4832,14 +4845,14 @@ var palette_default = _template("o", (input) => {
4832
4845
  _if(() => {
4833
4846
  if (row$1.kind === "ws") {
4834
4847
  const $scope3_id = _scope_id();
4835
- _html(`<button${_attr_class("_9")} title="Review changes">`);
4848
+ _html(`<button${_attr_class("_br")} title="Review changes">`);
4836
4849
  icon_diff_default({ size: 13 });
4837
- _html(`</button>${_el_resume($scope3_id, "a")}<button${_attr_class("_9")} title="Manage workspace">`);
4850
+ _html(`</button>${_el_resume($scope3_id, "a")}<button${_attr_class("_br")} title="Manage workspace">`);
4838
4851
  icon_manage_default({ size: 13 });
4839
4852
  const newPopId = _id();
4840
- _html(`</button>${_el_resume($scope3_id, "c")}<button${_attr_class("_9")} title="New session"${_attr("popovertarget", newPopId)}>`);
4853
+ _html(`</button>${_el_resume($scope3_id, "c")}<button${_attr_class("_br")} title="New session"${_attr("popovertarget", newPopId)}>`);
4841
4854
  icon_plus_default({ size: 13 });
4842
- _html(`</button>${_el_resume($scope3_id, "e")}<div${_attr("id", newPopId)} popover=auto${_attr_class("_bk")}>`);
4855
+ _html(`</button>${_el_resume($scope3_id, "e")}<div${_attr("id", newPopId)} popover=auto${_attr_class("_bD")}>`);
4843
4856
  _for_of([...input.settings?.agents || [], "shell"], (agent) => {
4844
4857
  const $scope4_id = _scope_id();
4845
4858
  _html("<button>");
@@ -4882,13 +4895,13 @@ var palette_default = _template("o", (input) => {
4882
4895
  _if(() => {
4883
4896
  if (archived.length && !query) {
4884
4897
  const $scope7_id = _scope_id();
4885
- _html(`<button${_attr_class("_bj")}>${`archived (${_escape(`${archived.length}`)})`}${_el_resume($scope7_id, "b")}</button>${_el_resume($scope7_id, "a")}`);
4898
+ _html(`<button${_attr_class("_bC")}>${`archived (${_escape(`${archived.length}`)})`}${_el_resume($scope7_id, "b")}</button>${_el_resume($scope7_id, "a")}`);
4886
4899
  _script($scope7_id, "o8");
4887
4900
  writeScope($scope7_id, {});
4888
4901
  return 0;
4889
4902
  }
4890
4903
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
4891
- _html(`<div${_attr_class("_bh")}><span></span><span${_attr_class("_bi")}>↑↓ navigate · ↵ open · ⌘1–9 switch · esc close</span>`);
4904
+ _html(`<div${_attr_class("_bA")}><span></span><span${_attr_class("_bB")}>↑↓ navigate · ↵ open · ⌘1–9 switch · esc close</span>`);
4892
4905
  _if(() => {
4893
4906
  if (settings) {
4894
4907
  const $scope6_id = _scope_id();
@@ -4965,9 +4978,9 @@ var palette_default = _template("o", (input) => {
4965
4978
  });
4966
4979
  //#endregion
4967
4980
  //#region src/tags/new-workspace.css.ts
4968
- var content$2 = "_bl _V";
4969
- var iconBtn$5 = "_bo _y";
4970
- var spinning$3 = "_bp _z";
4981
+ var content$2 = "_T _N";
4982
+ var iconBtn$5 = "_W _y";
4983
+ var spinning$3 = "_X _z";
4971
4984
  //#endregion
4972
4985
  //#region src/tags/icons/icon-refresh.marko
4973
4986
  var icon_refresh_default = _template("O", (input) => {
@@ -5247,7 +5260,7 @@ var new_workspace_default = _template("m", (input) => {
5247
5260
  }
5248
5261
  }, "m5", $scope0_id);
5249
5262
  const titleId = _id();
5250
- _html(`<div${_attr_class("_T")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_U")}><div${_attr_class(content$2)}><header${_attr_class("_X")}><div${_attr_class("_Y")}><h1${_attr("id", titleId)}>New workspace</h1><p${_attr_class("_Z")}>Name the space and pick repos — or restore an archived one below.</p></div></header>`);
5263
+ _html(`<div${_attr_class("_L")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_M")}><div${_attr_class(content$2)}><header${_attr_class("_P")}><div${_attr_class("_Q")}><h1${_attr("id", titleId)}>New workspace</h1><p${_attr_class("_R")}>Name the space and pick repos — or restore an archived one below.</p></div></header>`);
5251
5264
  _if(() => {
5252
5265
  if (error) {
5253
5266
  const $scope4_id = _scope_id();
@@ -5268,23 +5281,23 @@ var new_workspace_default = _template("m", (input) => {
5268
5281
  return 0;
5269
5282
  }
5270
5283
  }, $scope0_id, "h", 1, 1, 1, 0, 1);
5271
- _html(`<label${_attr_class("_bq")}><span>Name</span><input${_attr_input_value($scope0_id, "j", name, _resume((_new_name) => {
5284
+ _html(`<label${_attr_class("_Y")}><span>Name</span><input${_attr_input_value($scope0_id, "j", name, _resume((_new_name) => {
5272
5285
  name = _new_name;
5273
- }, "m0", $scope0_id))} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "j")}</label><section${_attr_class("_br")}><div${_attr_class("_bs")}><h2>Repos</h2><button${_attr_class([iconBtn$5, { [spinning$3]: catalogRefreshing }])} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
5286
+ }, "m0", $scope0_id))} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "j")}</label><section${_attr_class("_Z")}><div${_attr_class("_0")}><h2>Repos</h2><button${_attr_class([iconBtn$5, { [spinning$3]: catalogRefreshing }])} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
5274
5287
  icon_refresh_default({ size: 14 });
5275
- _html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("_bt")}>`);
5288
+ _html(`</button>${_el_resume($scope0_id, "m")}</div><ul${_attr_class("_1")}>`);
5276
5289
  _for_of(selected, (repo) => {
5277
5290
  const $scope1_id = _scope_id();
5278
- _html(`<li${_attr_class("_bu")}><span${_attr_class("_bv")}>${_escape(repo.fullName)}${_el_resume($scope1_id, "c")}</span>`);
5291
+ _html(`<li${_attr_class("_2")}><span${_attr_class("_3")}>${_escape(repo.fullName)}${_el_resume($scope1_id, "c")}</span>`);
5279
5292
  _if(() => {
5280
5293
  if (repo.baseBranch) {
5281
5294
  const $scope8_id = _scope_id();
5282
- _html(`<span${_attr_class(["_bw", "_m"])} title="Base branch">⎇ <!>${_escape(repo.baseBranch)}${_el_resume($scope8_id, "b")}</span>`);
5295
+ _html(`<span${_attr_class(["_4", "_m"])} title="Base branch">⎇ <!>${_escape(repo.baseBranch)}${_el_resume($scope8_id, "b")}</span>`);
5283
5296
  writeScope($scope8_id, {});
5284
5297
  return 0;
5285
5298
  }
5286
5299
  }, $scope1_id, "d", 1, 1, 1, 0, 1);
5287
- _html(`<button${_attr_class("_bx")}${_attr("title", `Remove ${repo.fullName}`)}${_attr("disabled", busy)}>×</button>${_el_resume($scope1_id, "e")}</li>`);
5300
+ _html(`<button${_attr_class("_5")}${_attr("title", `Remove ${repo.fullName}`)}${_attr("disabled", busy)}>×</button>${_el_resume($scope1_id, "e")}</li>`);
5288
5301
  _script($scope1_id, "m11");
5289
5302
  writeScope($scope1_id, {
5290
5303
  h: repo?.fullName,
@@ -5294,7 +5307,7 @@ var new_workspace_default = _template("m", (input) => {
5294
5307
  _if(() => {
5295
5308
  if (!selected.length) {
5296
5309
  const $scope9_id = _scope_id();
5297
- _html(`<li${_attr_class("_by")}>No repos yet — search below to add one (or create empty).</li>`);
5310
+ _html(`<li${_attr_class("_6")}>No repos yet — search below to add one (or create empty).</li>`);
5298
5311
  writeScope($scope9_id, {});
5299
5312
  return 0;
5300
5313
  }
@@ -5319,10 +5332,10 @@ var new_workspace_default = _template("m", (input) => {
5319
5332
  _if(() => {
5320
5333
  if (busy && steps$1.length) {
5321
5334
  const $scope6_id = _scope_id();
5322
- _html(`<ul${_attr_class("_bz")}>`);
5335
+ _html(`<ul${_attr_class("_7")}>`);
5323
5336
  _for_of(steps$1, (step, i) => {
5324
5337
  const $scope7_id = _scope_id();
5325
- _html(`<li${_attr_class({ ["_bA"]: i === steps$1.length - 1 })}>`);
5338
+ _html(`<li${_attr_class({ ["_8"]: i === steps$1.length - 1 })}>`);
5326
5339
  _if(() => {
5327
5340
  if (i === steps$1.length - 1) {
5328
5341
  const $scope10_id = _scope_id();
@@ -5331,7 +5344,7 @@ var new_workspace_default = _template("m", (input) => {
5331
5344
  return 0;
5332
5345
  } else {
5333
5346
  const $scope11_id = _scope_id();
5334
- _html(`<span${_attr_class("_bB")}>✓</span>`);
5347
+ _html(`<span${_attr_class("_9")}>✓</span>`);
5335
5348
  writeScope($scope11_id, {});
5336
5349
  return 1;
5337
5350
  }
@@ -5343,18 +5356,18 @@ var new_workspace_default = _template("m", (input) => {
5343
5356
  return 0;
5344
5357
  }
5345
5358
  }, $scope0_id, "t", 1, 1, 1, 0, 1);
5346
- _html(`<div${_attr_class("_bm")}><button type=button${_attr_class("_d")}${_attr("disabled", busy || !!restoring)}>Cancel</button>${_el_resume($scope0_id, "v")}<button type=button${_attr_class([
5359
+ _html(`<div${_attr_class("_U")}><button type=button${_attr_class("_d")}${_attr("disabled", busy || !!restoring)}>Cancel</button>${_el_resume($scope0_id, "v")}<button type=button${_attr_class([
5347
5360
  "_d",
5348
5361
  "_e",
5349
- "_bn"
5362
+ "_V"
5350
5363
  ])}${_attr("disabled", busy || !!restoring || !name.trim())}>${busy ? "Creating…" : "Create workspace"}${_el_resume($scope0_id, "x")}</button>${_el_resume($scope0_id, "w")}</div>`);
5351
5364
  _if(() => {
5352
5365
  if (archived$2.length) {
5353
5366
  const $scope2_id = _scope_id();
5354
- _html(`<section${_attr_class("_bC")}><div${_attr_class("_bs")}><h2>Archived</h2><span${_attr_class("_bD")}>${_escape(archived$2.length)}${_el_resume($scope2_id, "d", $sg__input_workspaces)}</span></div><p${_attr_class("_bE")}>Restore a parked space instead of creating a new one.</p><ul${_attr_class("_bF")}>`);
5367
+ _html(`<section${_attr_class("__")}><div${_attr_class("_0")}><h2>Archived</h2><span${_attr_class("_ba")}>${_escape(archived$2.length)}${_el_resume($scope2_id, "d", $sg__input_workspaces)}</span></div><p${_attr_class("_bb")}>Restore a parked space instead of creating a new one.</p><ul${_attr_class("_bc")}>`);
5355
5368
  _for_of(archived$2, (ws) => {
5356
5369
  const $scope3_id = _scope_id();
5357
- _html(`<li${_attr_class("_bG")}><div${_attr_class("_bH")}><span${_attr_class("_bI")}>${_escape(ws.name)}${_el_resume($scope3_id, "d", $sg__input_workspaces)}</span><span${_attr_class(["_bJ", "_m"])}${_attr("title", ws.display_path || ws.path)}>${_escape(ws.display_path || ws.path)}${_el_resume($scope3_id, "f", $sg__input_workspaces)}</span>${_el_resume($scope3_id, "e", $sg__input_workspaces)}</div><button type=button${_attr_class(["_d", "_bK"])}${_attr("disabled", busy || !!restoring)}>`);
5370
+ _html(`<li${_attr_class("_bd")}><div${_attr_class("_be")}><span${_attr_class("_bf")}>${_escape(ws.name)}${_el_resume($scope3_id, "d", $sg__input_workspaces)}</span><span${_attr_class(["_bg", "_m"])}${_attr("title", ws.display_path || ws.path)}>${_escape(ws.display_path || ws.path)}${_el_resume($scope3_id, "f", $sg__input_workspaces)}</span>${_el_resume($scope3_id, "e", $sg__input_workspaces)}</div><button type=button${_attr_class(["_d", "_bh"])}${_attr("disabled", busy || !!restoring)}>`);
5358
5371
  _if(() => {
5359
5372
  if (restoring === ws.id) {
5360
5373
  const $scope12_id = _scope_id();
@@ -5552,7 +5565,7 @@ var icon_gauge_default = _template("J", (input) => {
5552
5565
  });
5553
5566
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
5554
5567
  });
5555
- var railBtn = "_fe _y";
5568
+ var railBtn = "_fc _y";
5556
5569
  //#endregion
5557
5570
  //#region src/tags/icons/icon-edit.marko
5558
5571
  var icon_edit_default = _template("H", (input) => {
@@ -5570,12 +5583,12 @@ var icon_edit_default = _template("H", (input) => {
5570
5583
  });
5571
5584
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
5572
5585
  });
5573
- var prChip = "_fG _h _fF";
5574
- var portChip = "_fH _h _fF";
5586
+ var prChip = "_fF _h _fE";
5587
+ var portChip = "_fG _h _fE";
5575
5588
  var prState = {
5576
- open: "_fM",
5577
- merged: "_fN",
5578
- closed: "_fO"
5589
+ open: "_fL",
5590
+ merged: "_fM",
5591
+ closed: "_fN"
5579
5592
  };
5580
5593
  //#endregion
5581
5594
  //#region src/tags/icons/icon-xmark.marko
@@ -5639,7 +5652,7 @@ var side_nav_chips_default = _template("r", (input) => {
5639
5652
  const name = repo.full_name.split("/")[1];
5640
5653
  return repos.some((r) => r.full_name !== repo.full_name && r.full_name.split("/")[1] === name) ? repo.full_name : name;
5641
5654
  }, "r2", $scope1_id);
5642
- _html(`<div${_attr_class("_fE")}>`);
5655
+ _html(`<div${_attr_class("_fD")}>`);
5643
5656
  _for_of(repos, (repo) => {
5644
5657
  const $scope2_id = _scope_id();
5645
5658
  _for_of(repo.prs || [], (pr$1) => {
@@ -5654,11 +5667,11 @@ var side_nav_chips_default = _template("r", (input) => {
5654
5667
  [prState.merged]: pr$1.state === "MERGED",
5655
5668
  [prState.closed]: pr$1.state === "CLOSED"
5656
5669
  }
5657
- ])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class("_fI")}${_attr("href", pr$1.url)} target=_blank rel=noopener>${_escape(repoLabel(repo))}${_el_resume($scope3_id, "c", $sg__input_status_repos)}#${_sep($sg__input_status_repos)}${_escape(pr$1.number)}${_el_resume($scope3_id, "d", $sg__input_status_repos)}</a>${_el_resume($scope3_id, "b", $sg__input_status_repos)}`);
5670
+ ])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class("_fH")}${_attr("href", pr$1.url)} target=_blank rel=noopener>${_escape(repoLabel(repo))}${_el_resume($scope3_id, "c", $sg__input_status_repos)}#${_sep($sg__input_status_repos)}${_escape(pr$1.number)}${_el_resume($scope3_id, "d", $sg__input_status_repos)}</a>${_el_resume($scope3_id, "b", $sg__input_status_repos)}`);
5658
5671
  _if(() => {
5659
5672
  if (open) {
5660
5673
  const $scope4_id = _scope_id();
5661
- _html(`<button type=button${_attr_class(["_fI", "_fJ"])}${_attr("title", `Review #${pr$1.number} diff`)}>`);
5674
+ _html(`<button type=button${_attr_class(["_fH", "_fI"])}${_attr("title", `Review #${pr$1.number} diff`)}>`);
5662
5675
  icon_diff_default({ size: 12 });
5663
5676
  _html(`</button>${_el_resume($scope4_id, "a")}`);
5664
5677
  _script($scope4_id, "r3");
@@ -5667,9 +5680,9 @@ var side_nav_chips_default = _template("r", (input) => {
5667
5680
  } else {
5668
5681
  const $scope6_id = _scope_id();
5669
5682
  _html(`<button type=button${_attr_class([
5683
+ "_fH",
5670
5684
  "_fI",
5671
- "_fJ",
5672
- "_fK"
5685
+ "_fJ"
5673
5686
  ])}${_attr("title", `Clear #${pr$1.number} from this list`)}>`);
5674
5687
  icon_xmark_default({ size: 12 });
5675
5688
  _html(`</button>${_el_resume($scope6_id, "a")}`);
@@ -5693,11 +5706,11 @@ var side_nav_chips_default = _template("r", (input) => {
5693
5706
  }, "full_name", $scope1_id, "b", $sg__input_status_repos, $sg__input_status_repos, $sg__input_status_repos__OR__input_status_ports);
5694
5707
  _for_of(ports, (p) => {
5695
5708
  const $scope5_id = _scope_id();
5696
- _html(`<span${_attr_class(["_h", portChip])}${_attr("title", p.cmd)}><button type=button${_attr_class(["_fI", "_fP"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${p.port}`)}>:${_sep($sg__input_status_ports)}${_escape(p.port)}${_el_resume($scope5_id, "c", $sg__input_status_ports)}</button>${_el_resume($scope5_id, "b")}<button type=button${_attr_class([
5709
+ _html(`<span${_attr_class(["_h", portChip])}${_attr("title", p.cmd)}><button type=button${_attr_class(["_fH", "_fO"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${p.port}`)}>:${_sep($sg__input_status_ports)}${_escape(p.port)}${_el_resume($scope5_id, "c", $sg__input_status_ports)}</button>${_el_resume($scope5_id, "b")}<button type=button${_attr_class([
5710
+ "_fH",
5697
5711
  "_fI",
5698
5712
  "_fJ",
5699
- "_fK",
5700
- { ["_fL"]: armedPid === p.pid }
5713
+ { ["_fK"]: armedPid === p.pid }
5701
5714
  ])}${armedPid === p.pid ? _attr("title", `Really kill ${p.cmd}?`) : _attr("title", `Kill ${p.cmd} (pid ${p.pid})`)}>`);
5702
5715
  icon_xmark_default({ size: 12 });
5703
5716
  _html(`</button>${_el_resume($scope5_id, "d")}</span>${_el_resume($scope5_id, "a", $sg__input_status_ports)}`);
@@ -5735,7 +5748,7 @@ var side_nav_chips_default = _template("r", (input) => {
5735
5748
  //#endregion
5736
5749
  //#region src/tags/side-nav-item.marko
5737
5750
  var side_nav_item_default = _template("s", (input) => {
5738
- const $scope0_reason = _scope_reason(), $sg__input_workspaceId__OR__input_status = _serialize_guard($scope0_reason, 1), $sg__input_page = _serialize_guard($scope0_reason, 21), $si__input_current = _serialize_if($scope0_reason, 17), $sg__input_agents = _serialize_guard($scope0_reason, 23), $si__input_agents = _serialize_if($scope0_reason, 23), $sg__input_onNewSession = _serialize_guard($scope0_reason, 22), $sg__input_onNewSession__OR__input_onReview = _serialize_guard($scope0_reason, 2), $sg__input_onReview = _serialize_guard($scope0_reason, 24), $sg__input_sessions = _serialize_guard($scope0_reason, 19), $si__input_sessions = _serialize_if($scope0_reason, 19), $si__input_workspaces__OR__input_workspaceId = _serialize_if($scope0_reason, 0), $si__input_workspaceId__OR__input_status = _serialize_if($scope0_reason, 1), $si__input_page = _serialize_if($scope0_reason, 21), $sg__input_rail = _serialize_guard($scope0_reason, 16), $si__input_rail = _serialize_if($scope0_reason, 16), $sg__input_workspaces__OR__input_workspaceId = _serialize_guard($scope0_reason, 0), $si__input_workspaceId = _serialize_if($scope0_reason, 15), $si__input_workspaces__OR__input_workspaceId__OR__input_rail = _serialize_if($scope0_reason, 3), $si__input_workspaces__OR__input_workspaceId__OR__input_rail__OR__input_current__OR__input_page = _serialize_if($scope0_reason, 12), $si__input_index = _serialize_if($scope0_reason, 18), $si__input_onNewSession = _serialize_if($scope0_reason, 22), $si__input_onReview = _serialize_if($scope0_reason, 24), $si__input_managing = _serialize_if($scope0_reason, 25), $si__input_currentTab = _serialize_if($scope0_reason, 26), $si__input_railPop = _serialize_if($scope0_reason, 20), $si__input_onReviewPr = _serialize_if($scope0_reason, 27);
5751
+ const $scope0_reason = _scope_reason(), $sg__input_workspaceId__OR__input_status = _serialize_guard($scope0_reason, 1), $sg__input_sessions = _serialize_guard($scope0_reason, 19), $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page = _serialize_guard($scope0_reason, 10), $si__input_current = _serialize_if($scope0_reason, 17), $sg__input_page = _serialize_guard($scope0_reason, 21), $sg__input_agents = _serialize_guard($scope0_reason, 23), $si__input_agents = _serialize_if($scope0_reason, 23), $sg__input_onNewSession = _serialize_guard($scope0_reason, 22), $sg__input_onNewSession__OR__input_onReview = _serialize_guard($scope0_reason, 2), $sg__input_onReview = _serialize_guard($scope0_reason, 24), $si__input_sessions = _serialize_if($scope0_reason, 19), $si__input_workspaces__OR__input_workspaceId = _serialize_if($scope0_reason, 0), $si__input_workspaceId__OR__input_status = _serialize_if($scope0_reason, 1), $si__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page = _serialize_if($scope0_reason, 10), $sg__input_rail = _serialize_guard($scope0_reason, 16), $si__input_rail = _serialize_if($scope0_reason, 16), $sg__input_workspaces__OR__input_workspaceId = _serialize_guard($scope0_reason, 0), $si__input_workspaceId = _serialize_if($scope0_reason, 15), $si__input_workspaces__OR__input_workspaceId__OR__input_rail = _serialize_if($scope0_reason, 3), $si__input_workspaces__OR__input_workspaceId__OR__input_rail__OR__input_current__OR__input_page = _serialize_if($scope0_reason, 11), $si__input_index = _serialize_if($scope0_reason, 18), $si__input_onNewSession = _serialize_if($scope0_reason, 22), $si__input_onReview = _serialize_if($scope0_reason, 24), $si__input_managing = _serialize_if($scope0_reason, 25), $si__input_currentTab = _serialize_if($scope0_reason, 26), $si__input_railPop = _serialize_if($scope0_reason, 20), $si__input_page = _serialize_if($scope0_reason, 21), $si__input_onReviewPr = _serialize_if($scope0_reason, 27);
5739
5752
  const $scope0_id = _scope_id();
5740
5753
  const $input_current__closures = /* @__PURE__ */ new Set();
5741
5754
  const $input_index__closures = /* @__PURE__ */ new Set();
@@ -5779,10 +5792,10 @@ var side_nav_item_default = _template("s", (input) => {
5779
5792
  _if(() => {
5780
5793
  if (input.rail) {
5781
5794
  const $scope2_id = _scope_id();
5782
- _html(`<button${_attr_class([railBtn, { ["_fd"]: input.current }])}${_attr("title", ws$1.name)}>${_escape((input.index ?? 0) + 1)}${_el_resume($scope2_id, "b", _serialize_guard($scope0_reason, 18))}<span${_attr_class([
5795
+ _html(`<button${_attr_class([railBtn, { ["_fb"]: input.current }])}${_attr("title", ws$1.name)}>${_escape((input.index ?? 0) + 1)}${_el_resume($scope2_id, "b", _serialize_guard($scope0_reason, 18))}<span${_attr_class([
5783
5796
  "_o",
5784
5797
  phase[dot$1],
5785
- "_ff"
5798
+ "_fd"
5786
5799
  ])}></span>${_el_resume($scope2_id, "c", $sg__input_workspaceId__OR__input_status)}</button>${_el_resume($scope2_id, "a")}`);
5787
5800
  _script($scope2_id, "s3");
5788
5801
  _subscribe($si__input_workspaces__OR__input_workspaceId && $ws_name__closures, _subscribe($si__input_index && $input_index__closures, _subscribe($si__input_current && $input_current__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) }))));
@@ -5791,51 +5804,72 @@ var side_nav_item_default = _template("s", (input) => {
5791
5804
  const $scope3_id = _scope_id();
5792
5805
  const sessions$1 = input.sessions || [];
5793
5806
  const phaseLabel = dot$1 === "working" ? "Working" : dot$1 === "waiting" ? "Needs you" : dot$1 === "idle" ? "Idle" : "Off";
5794
- const meta = sessions$1.length === 0 ? phaseLabel : sessions$1.length === 1 ? `${sessions$1[0].title || sessions$1[0].agent} · ${phaseLabel}` : `${sessions$1.length} sessions · ${phaseLabel}`;
5795
- _html(`<section${_attr_class(["_fg", {
5796
- ["_fd"]: input.current,
5797
- ["_fh"]: input.railPop,
5798
- ["_ft"]: input.page
5799
- }])}><div${_attr_class("_fi")}><button${_attr_class("_fj")}><span${_attr_class([
5807
+ _html(`<section${_attr_class(["_fe", {
5808
+ ["_fb"]: input.current,
5809
+ ["_ff"]: input.railPop,
5810
+ ["_fs"]: input.page
5811
+ }])}><div${_attr_class("_fg")}><button${_attr_class("_fh")}><span${_attr_class([
5800
5812
  "_o",
5801
5813
  phase[dot$1],
5802
- "_fs"
5803
- ])}></span>${_el_resume($scope3_id, "d", $sg__input_workspaceId__OR__input_status)}<span${_attr_class("_fo")}><span${_attr_class("_fp")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "g", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
5814
+ "_fr"
5815
+ ])}></span>${_el_resume($scope3_id, "d", $sg__input_workspaceId__OR__input_status)}`);
5804
5816
  _if(() => {
5805
- if (input.page) {
5817
+ if (sessions$1.length === 1) {
5806
5818
  const $scope12_id = _scope_id();
5807
- _html(`<span${_attr_class("_fq")}>${_escape(meta)}${_el_resume($scope12_id, "b", _serialize_guard($scope0_reason, 5))}</span>`);
5808
- _serialize_if($scope0_reason, 10) && writeScope($scope12_id, { _: _serialize_if($scope0_reason, 5) && _scope_with_id($scope3_id) });
5819
+ _set_serialize_reason({
5820
+ 1: $sg__input_sessions,
5821
+ 2: $sg__input_sessions
5822
+ });
5823
+ const $childScope = _peek_scope_id();
5824
+ icon_agent_default({
5825
+ agent: activeAgent(sessions$1[0]),
5826
+ size: 12,
5827
+ class: "_fm"
5828
+ });
5829
+ $si__input_sessions && writeScope($scope12_id, {
5830
+ _: _scope_with_id($scope3_id),
5831
+ a: _existing_scope($childScope)
5832
+ });
5833
+ return 0;
5834
+ }
5835
+ }, $scope3_id, "e", $sg__input_sessions, $sg__input_sessions, $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page);
5836
+ const metaText = sessions$1.length === 0 ? phaseLabel : sessions$1.length === 1 ? sessions$1[0].title || "" : `${sessions$1.length} sessions`;
5837
+ _html(`<span${_attr_class("_fn")}><span${_attr_class("_fo")}>${_escape(ws$1.name)}${_el_resume($scope3_id, "h", $sg__input_workspaces__OR__input_workspaceId)}</span>`);
5838
+ _if(() => {
5839
+ if (input.page && metaText) {
5840
+ const $scope13_id = _scope_id();
5841
+ _html(`<span${_attr_class("_fp")}>${_escape(metaText)}${_el_resume($scope13_id, "b", _serialize_guard($scope0_reason, 5))}</span>`);
5842
+ $si__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page && writeScope($scope13_id, { _: _serialize_if($scope0_reason, 5) && _scope_with_id($scope3_id) });
5809
5843
  return 0;
5810
5844
  }
5811
- }, $scope3_id, "h", _serialize_guard($scope0_reason, 10), $sg__input_page, $sg__input_page, 0, 1);
5845
+ }, $scope3_id, "i", $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page, $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page, $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page, 0, 1);
5812
5846
  _html("</span>");
5813
5847
  _if(() => {
5814
5848
  if (input.page) {
5815
5849
  const $scope4_id = _scope_id();
5816
- _html(`<span${_attr_class("_fr")}>${input.current ? "Open" : ""}${_el_resume($scope4_id, "b", _serialize_guard($scope0_reason, 17))}</span>`);
5850
+ _html(`<span${_attr_class("_fq")}>${input.current ? "Open" : ""}${_el_resume($scope4_id, "b", _serialize_guard($scope0_reason, 17))}</span>`);
5817
5851
  $si__input_workspaces__OR__input_workspaceId__OR__input_rail__OR__input_current__OR__input_page && _subscribe($si__input_current && $input_current__closures, writeScope($scope4_id, {
5818
5852
  _: _scope_with_id($scope3_id),
5819
5853
  Cab: $si__input_current && 2
5820
5854
  }));
5821
5855
  return 0;
5822
5856
  }
5823
- }, $scope3_id, "i", $sg__input_page, $sg__input_page, $sg__input_page, 0, 1);
5857
+ }, $scope3_id, "j", $sg__input_page, $sg__input_page, $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page, 0, 1);
5824
5858
  _html(`</button>${_el_resume($scope3_id, "c")}`);
5825
5859
  _if(() => {
5826
5860
  if (!input.page) {
5827
5861
  const $scope5_id = _scope_id();
5828
- _html(`<div${_attr_class("_fk")}>`);
5862
+ _html(`<div${_attr_class("_fi")}>`);
5829
5863
  _if(() => {
5830
5864
  if (input.onNewSession) {
5831
5865
  const $scope6_id = _scope_id();
5832
5866
  const newPopId = _id();
5833
- _html(`<button${_attr_class("_fl")} title="New session"${_attr("popovertarget", newPopId)}>`);
5867
+ _html(`<button${_attr_class("_fj")} title="New session"${_attr("popovertarget", newPopId)}>`);
5834
5868
  icon_agent_default({
5835
5869
  agent: "shell",
5836
5870
  size: 12
5837
5871
  });
5838
- _html(`</button>${_el_resume($scope6_id, "a")}<div${_attr("id", newPopId)} popover=auto${_attr_class("_fn")}>`);
5872
+ _html(`</button>${_el_resume($scope6_id, "a")}<div${_attr("id", newPopId)} popover=auto${_attr_class("_fl")}>`);
5839
5873
  _for_of([...input.agents || [], "shell"], (agent) => {
5840
5874
  const $scope7_id = _scope_id();
5841
5875
  _html("<button>");
@@ -5843,7 +5877,7 @@ var side_nav_item_default = _template("s", (input) => {
5843
5877
  1: $sg__input_agents,
5844
5878
  2: $sg__input_agents
5845
5879
  });
5846
- const $childScope = _peek_scope_id();
5880
+ const $childScope2 = _peek_scope_id();
5847
5881
  icon_agent_default({
5848
5882
  agent,
5849
5883
  size: 14
@@ -5853,7 +5887,7 @@ var side_nav_item_default = _template("s", (input) => {
5853
5887
  writeScope($scope7_id, {
5854
5888
  e: agent,
5855
5889
  _: _scope_with_id($scope6_id),
5856
- b: $si__input_agents && _existing_scope($childScope)
5890
+ b: $si__input_agents && _existing_scope($childScope2)
5857
5891
  });
5858
5892
  }, (a) => a, $scope6_id, "c", $sg__input_agents, 1, $sg__input_agents, "</div>", 1);
5859
5893
  _script($scope6_id, "s5");
@@ -5864,7 +5898,7 @@ var side_nav_item_default = _template("s", (input) => {
5864
5898
  _if(() => {
5865
5899
  if (input.onReview) {
5866
5900
  const $scope8_id = _scope_id();
5867
- _html(`<button${_attr_class("_fl")} title="Review changes">`);
5901
+ _html(`<button${_attr_class("_fj")} title="Review changes">`);
5868
5902
  icon_diff_default({ size: 12 });
5869
5903
  _html(`</button>${_el_resume($scope8_id, "a")}`);
5870
5904
  _script($scope8_id, "s6");
@@ -5872,60 +5906,60 @@ var side_nav_item_default = _template("s", (input) => {
5872
5906
  return 0;
5873
5907
  }
5874
5908
  }, $scope5_id, "c", $sg__input_onReview, $sg__input_onReview, $sg__input_onNewSession__OR__input_onReview, 0, 1);
5875
- _html(`<button${_attr_class(["_fl", { ["_fm"]: input.managing }])} title="Manage workspace" aria-pressed=${input.managing ? "true" : "false"}>`);
5909
+ _html(`<button${_attr_class(["_fj", { ["_fk"]: input.managing }])} title="Manage workspace" aria-pressed=${input.managing ? "true" : "false"}>`);
5876
5910
  icon_manage_default({ size: 12 });
5877
5911
  _html(`</button>${_el_resume($scope5_id, "d")}</div>`);
5878
5912
  _script($scope5_id, "s7");
5879
5913
  _subscribe($si__input_managing && $input_managing__closures, _subscribe($si__input_onReview && $input_onReview__closures, _subscribe($si__input_onNewSession && $input_onNewSession__closures, writeScope($scope5_id, { _: _scope_with_id($scope3_id) }))));
5880
5914
  return 0;
5881
5915
  }
5882
- }, $scope3_id, "j", $sg__input_page, $sg__input_page, $sg__input_page, 0, 1);
5883
- _html(`</div><div${_attr_class("_fB")}>`);
5916
+ }, $scope3_id, "k", $sg__input_page, $sg__input_page, $sg__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page, 0, 1);
5917
+ _html(`</div><div${_attr_class("_fA")}>`);
5884
5918
  _for_of(sessions$1.length > 1 ? sessions$1 : [], (s) => {
5885
5919
  const $scope9_id = _scope_id();
5886
- _html(`<div${_attr_class(["_fz", { ["_fd"]: s.id === input.currentTab }])}>`);
5920
+ _html(`<div${_attr_class(["_fy", { ["_fb"]: s.id === input.currentTab }])}>`);
5887
5921
  _if(() => {
5888
5922
  if (renamingId === s.id) {
5889
5923
  const $scope11_id = _scope_id();
5890
5924
  _html(`<span${_attr_class([
5891
5925
  "_o",
5892
5926
  phase[sessionPhase(s.state)],
5893
- "_fw"
5927
+ "_fv"
5894
5928
  ])}></span>${_el_resume($scope11_id, "a", $sg__input_sessions)}`);
5895
5929
  _set_serialize_reason({
5896
5930
  1: $sg__input_sessions,
5897
5931
  2: $sg__input_sessions
5898
5932
  });
5899
- const $childScope2 = _peek_scope_id();
5933
+ const $childScope3 = _peek_scope_id();
5900
5934
  icon_agent_default({
5901
- agent: s.agent,
5935
+ agent: activeAgent(s),
5902
5936
  size: 13,
5903
- class: "_fD"
5937
+ class: "_fC"
5904
5938
  });
5905
5939
  _html(`<input${_attr_input_value($scope11_id, "c", renameValue, _resume((_new_renameValue) => {
5906
5940
  renameValue = _new_renameValue;
5907
- }, "s0", $scope11_id))}${_attr_class("_fx")} aria-label="Session name">${_el_resume($scope11_id, "c")}`);
5941
+ }, "s0", $scope11_id))}${_attr_class("_fw")} aria-label="Session name">${_el_resume($scope11_id, "c")}`);
5908
5942
  _script($scope11_id, "s8");
5909
- _subscribe($renameValue__closures, writeScope($scope11_id, { b: $si__input_sessions && _existing_scope($childScope2) }));
5943
+ _subscribe($renameValue__closures, writeScope($scope11_id, { b: $si__input_sessions && _existing_scope($childScope3) }));
5910
5944
  return 0;
5911
5945
  } else {
5912
5946
  const $scope10_id = _scope_id();
5913
- _html(`<button${_attr_class("_fC")}><span${_attr_class(["_o", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope10_id, "b", $sg__input_sessions)}`);
5947
+ _html(`<button${_attr_class("_fB")}><span${_attr_class(["_o", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope10_id, "b", $sg__input_sessions)}`);
5914
5948
  _set_serialize_reason({
5915
5949
  1: $sg__input_sessions,
5916
5950
  2: $sg__input_sessions
5917
5951
  });
5918
- const $childScope3 = _peek_scope_id();
5952
+ const $childScope4 = _peek_scope_id();
5919
5953
  icon_agent_default({
5920
- agent: s.agent,
5954
+ agent: activeAgent(s),
5921
5955
  size: 13,
5922
- class: "_fD"
5956
+ class: "_fC"
5923
5957
  });
5924
- _html(`<span${_attr_class("_fu")}>${_escape(s.title || s.agent)}${_el_resume($scope10_id, "e", $sg__input_sessions)}</span></button>${_el_resume($scope10_id, "a")}<div${_attr_class("_fv")}><button${_attr_class("_fl")} title="Rename session">`);
5958
+ _html(`<span${_attr_class("_ft")}>${_escape(s.title || activeAgent(s))}${_el_resume($scope10_id, "e", $sg__input_sessions)}</span></button>${_el_resume($scope10_id, "a")}<div${_attr_class("_fu")}><button${_attr_class("_fj")} title="Rename session">`);
5925
5959
  icon_edit_default({ size: 12 });
5926
- _html(`</button>${_el_resume($scope10_id, "g")}<button${_attr_class(["_fy", { ["_fA"]: armedKill === s.id }])} title=${armedKill === s.id ? "\"Really kill this session?\"" : "\"Kill session\""}>×</button>${_el_resume($scope10_id, "i")}</div>`);
5960
+ _html(`</button>${_el_resume($scope10_id, "g")}<button${_attr_class(["_fx", { ["_fz"]: armedKill === s.id }])} title=${armedKill === s.id ? "\"Really kill this session?\"" : "\"Kill session\""}>×</button>${_el_resume($scope10_id, "i")}</div>`);
5927
5961
  _script($scope10_id, "s9");
5928
- _subscribe($armedKill__closures, writeScope($scope10_id, { c: $si__input_sessions && _existing_scope($childScope3) }));
5962
+ _subscribe($armedKill__closures, writeScope($scope10_id, { c: $si__input_sessions && _existing_scope($childScope4) }));
5929
5963
  return 1;
5930
5964
  }
5931
5965
  }, $scope9_id, "a", 1, 1, 1, "</div>");
@@ -5933,17 +5967,17 @@ var side_nav_item_default = _template("s", (input) => {
5933
5967
  c: s,
5934
5968
  d: s?.id,
5935
5969
  g: s?.state,
5936
- h: s?.agent,
5937
- i: s?.title,
5970
+ h: s?.title,
5971
+ i: s?.agent,
5938
5972
  _: _scope_with_id($scope3_id)
5939
5973
  })));
5940
- }, "id", $scope3_id, "l", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions, 0, 1);
5974
+ }, "id", $scope3_id, "m", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions, 0, 1);
5941
5975
  _set_serialize_reason({
5942
5976
  0: $sg__input_workspaceId__OR__input_status,
5943
5977
  1: $sg__input_workspaceId__OR__input_status,
5944
5978
  2: $sg__input_workspaceId__OR__input_status
5945
5979
  });
5946
- const $childScope4 = _peek_scope_id();
5980
+ const $childScope5 = _peek_scope_id();
5947
5981
  side_nav_chips_default({
5948
5982
  workspaceId: input.workspaceId,
5949
5983
  status: st,
@@ -5952,13 +5986,13 @@ var side_nav_item_default = _template("s", (input) => {
5952
5986
  _html(`</div></section>${_el_resume($scope3_id, "a")}`);
5953
5987
  _script($scope3_id, "s10");
5954
5988
  _subscribe($si__input_workspaces__OR__input_workspaceId && $ws_name__closures, _subscribe($si__input_onReviewPr && $input_onReviewPr__closures, _subscribe($si__input_page && $input_page__closures, _subscribe($si__input_railPop && $input_railPop__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_current && $input_current__closures, _subscribe($si__input_workspaceId && $input_workspaceId__closures, writeScope($scope3_id, {
5955
- o: $si__input_workspaceId__OR__input_status && sessions$1.length,
5956
- q: $si__input_workspaceId__OR__input_status && sessions$1[0]?.title,
5957
- r: $si__input_workspaceId__OR__input_status && sessions$1[0]?.agent,
5989
+ p: $si__input_workspaceId__OR__input_status && sessions$1.length,
5990
+ q: $si__input_sessions && sessions$1[0],
5991
+ r: $si__input_workspaceId__OR__input_status && sessions$1[0]?.title,
5958
5992
  s: $si__input_sessions && phaseLabel,
5959
- u: $si__input_page && meta,
5993
+ u: $si__input_workspaceId__OR__input_status__OR__input_sessions__OR__input_page && metaText,
5960
5994
  _: _scope_with_id($scope1_id),
5961
- m: _serialize_if($scope0_reason, 6) && _existing_scope($childScope4),
5995
+ n: _serialize_if($scope0_reason, 6) && _existing_scope($childScope5),
5962
5996
  Cab: $si__input_current && 1,
5963
5997
  Cap: $si__input_workspaces__OR__input_workspaceId && 1
5964
5998
  }))))))));
@@ -5979,14 +6013,14 @@ var side_nav_item_default = _template("s", (input) => {
5979
6013
  f: _serialize_if($scope0_reason, 7) && input.workspaceId,
5980
6014
  h: $si__input_workspaces__OR__input_workspaceId && input.status,
5981
6015
  i: $si__input_workspaces__OR__input_workspaceId && input.rail,
5982
- j: _serialize_if($scope0_reason, 13) && input.current,
6016
+ j: _serialize_if($scope0_reason, 12) && input.current,
5983
6017
  k: input.onSelect,
5984
6018
  l: $si__input_workspaces__OR__input_workspaceId__OR__input_rail && input.index,
5985
6019
  m: $si__input_workspaces__OR__input_workspaceId__OR__input_rail && input.sessions,
5986
6020
  n: $si__input_workspaces__OR__input_workspaceId__OR__input_rail__OR__input_current__OR__input_page && input.railPop,
5987
- o: _serialize_if($scope0_reason, 11) && input.page,
6021
+ o: _serialize_if($scope0_reason, 14) && input.page,
5988
6022
  p: input.onNewSession,
5989
- q: _serialize_if($scope0_reason, 14) && input.agents,
6023
+ q: _serialize_if($scope0_reason, 13) && input.agents,
5990
6024
  r: input.onReview,
5991
6025
  s: _serialize_if($scope0_reason, 9) && input.managing,
5992
6026
  t: input.onManage,
@@ -6267,9 +6301,9 @@ var side_nav_default = _template("t", (input) => {
6267
6301
  9: $sg__input_workspace__OR__input_allWorkspaces,
6268
6302
  10: $sg__input_workspace__OR__input_allWorkspaces__OR__input_allStatus,
6269
6303
  11: 1,
6270
- 12: 1,
6304
+ 12: $sg__input_workspace__OR__input_allWorkspaces,
6271
6305
  13: $sg__input_workspace__OR__input_allWorkspaces,
6272
- 14: $sg__input_workspace__OR__input_allWorkspaces,
6306
+ 14: 1,
6273
6307
  15: $sg__input_workspace__OR__input_allWorkspaces,
6274
6308
  17: 1,
6275
6309
  18: $sg__input_workspace__OR__input_allWorkspaces
@@ -6574,13 +6608,23 @@ function termMatcher(term) {
6574
6608
  }
6575
6609
  //#endregion
6576
6610
  //#region src/client/branch-label.ts
6577
- /** Workspace branch short name: `dpiercey-ws-work-4f1hei` `work`. */
6611
+ /** Fallback label for a workspace branch when the workspace name is not to
6612
+ * hand: `dpiercey-ws-work-4f1hei` → `dpiercey-ws-work`.
6613
+ *
6614
+ * Deliberately only drops the trailing id. The branch is
6615
+ * `{user}-{host}-{slug}-{id}` (server/config.ts `branchPrefix`), and both
6616
+ * user and host are arbitrary — the host is this machine's hostname, so the
6617
+ * `ws-` that used to be matched here was one developer's laptop leaking into
6618
+ * a parser. Callers that know the workspace name should pass it instead. */
6578
6619
  function shortWorkspaceName(wsBranch) {
6579
6620
  const name = wsBranch.replace(/^origin\//, "");
6580
- const m = name.match(/^(?:[\w.-]+-)?ws-([^-]+)/i);
6581
- if (m) return m[1];
6582
- const base = name.includes("/") ? name.slice(name.lastIndexOf("/") + 1) : name;
6583
- return base.split("-")[0] || base;
6621
+ return dropRandomId(name.includes("/") ? name.slice(name.lastIndexOf("/") + 1) : name);
6622
+ }
6623
+ /** Strip a trailing `-<id>` segment (workspaces.ts:
6624
+ * `Math.random().toString(36).slice(2, 8)`), keeping the input when that
6625
+ * would leave nothing. */
6626
+ function dropRandomId(slug) {
6627
+ return slug.replace(/-[a-z0-9]{1,6}$/i, "") || slug;
6584
6628
  }
6585
6629
  /** Topic suffix when `head` is a `-topic` lane under the workspace branch. */
6586
6630
  function topicLane(head, wsBranch) {
@@ -6591,34 +6635,33 @@ function topicLane(head, wsBranch) {
6591
6635
  return "";
6592
6636
  }
6593
6637
  function shortHeadFallback(head) {
6594
- const m = head.match(/^(?:[\w.-]+-)?ws-([^-]+)/i);
6595
- if (m) return m[1];
6596
- if (head.length <= 20) return head;
6597
- const parts = head.split("-");
6598
- return parts.length > 1 ? parts[parts.length - 1] : head;
6638
+ const short = dropRandomId(head);
6639
+ if (short.length <= 20) return short;
6640
+ const parts = short.split("-");
6641
+ return parts.length > 1 ? parts[parts.length - 1] : short;
6599
6642
  }
6600
6643
  /**
6601
6644
  * Review compare parts: render as `main` → `work` `[topic]`, not one chip.
6602
6645
  */
6603
- function reviewCompareLabel(base, head, wsBranch = "") {
6646
+ function reviewCompareLabel(base, head, wsBranch = "", wsName = "") {
6604
6647
  const baseName = (base || "base").replace(/^origin\//, "");
6605
6648
  const headName = (head || "HEAD").replace(/^origin\//, "");
6606
6649
  const ws = (wsBranch || "").replace(/^origin\//, "");
6607
6650
  const onWs = !!ws && (headName === ws || headName.startsWith(`${ws}-`));
6608
6651
  return {
6609
6652
  base: baseName,
6610
- head: onWs ? shortWorkspaceName(ws) : shortHeadFallback(headName),
6653
+ head: onWs ? wsName || shortWorkspaceName(ws) : shortHeadFallback(headName),
6611
6654
  topic: onWs ? topicLane(headName, ws) : "",
6612
6655
  title: headName === baseName ? baseName : `${headName} vs ${baseName}`
6613
6656
  };
6614
6657
  }
6615
6658
  /** Short label for "local …" chips (workspace name, plus [topic] if any). */
6616
- function shortBranch(name, wsBranch = "") {
6659
+ function shortBranch(name, wsBranch = "", wsName = "") {
6617
6660
  const head = name.replace(/^origin\//, "");
6618
6661
  if (!head || head === "HEAD") return head || "HEAD";
6619
6662
  const ws = wsBranch.replace(/^origin\//, "");
6620
6663
  if (ws && (head === ws || head.startsWith(`${ws}-`))) {
6621
- const work = shortWorkspaceName(ws);
6664
+ const work = wsName || shortWorkspaceName(ws);
6622
6665
  const topic = topicLane(head, ws);
6623
6666
  return topic ? `${work} [${topic}]` : work;
6624
6667
  }
@@ -6753,11 +6796,11 @@ function treeRows(files) {
6753
6796
  }
6754
6797
  //#endregion
6755
6798
  //#region src/tags/diff-view.css.ts
6756
- var iconBtn$3 = "_c_ _y";
6757
- var spinning$2 = "_da _z";
6758
- var treeToggle = "_dd _y";
6759
- var repoWorktree = "_dI _m";
6760
- var repoTitle = "_dK _l";
6799
+ var iconBtn$3 = "_dN _y";
6800
+ var spinning$2 = "_dO _z";
6801
+ var treeToggle = "_dR _y";
6802
+ var repoWorktree = "_ej _m";
6803
+ var repoTitle = "_el _l";
6761
6804
  //#endregion
6762
6805
  //#region src/tags/icons/icon-back.marko
6763
6806
  var icon_back_default = _template("A", (input) => {
@@ -6804,9 +6847,9 @@ var file_filter_default = _template("j", (input) => {
6804
6847
  pending = v;
6805
6848
  box.timer = setTimeout(flush, 150);
6806
6849
  }, "j2", $scope0_id);
6807
- _html(`<div${_attr_class("_e2")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
6850
+ _html(`<div${_attr_class("_eD")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
6808
6851
  type(v);
6809
- }, "j0", $scope0_id))}${_attr_class("_e3")} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
6852
+ }, "j0", $scope0_id))}${_attr_class("_eE")} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
6810
6853
  _script($scope0_id, "j3");
6811
6854
  writeScope($scope0_id, {
6812
6855
  e: _serialize_if($scope0_reason, 1) && input.value,
@@ -6830,7 +6873,7 @@ var diff_send_default = _template("g", (input) => {
6830
6873
  let sendTarget = null;
6831
6874
  const sessions = input.sessions || [];
6832
6875
  const sendPick = sessions.some((s) => s.id === sendTarget) ? sendTarget : sessions[0]?.id ?? null;
6833
- _html(`<span${_attr_class("_eF")}><button type=button${_attr_class("_d")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
6876
+ _html(`<span${_attr_class("_eG")}><button type=button${_attr_class("_d")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
6834
6877
  _if(() => {
6835
6878
  if (sessions.length === 1) {
6836
6879
  const $scope1_id = _scope_id();
@@ -8439,7 +8482,7 @@ var diff_file_default = _template("e", (input) => {
8439
8482
  _scope_reason();
8440
8483
  const $scope0_id = _scope_id();
8441
8484
  _el($scope0_id, "e0");
8442
- _html(`<div${_attr_class("_eG")}></div>${_el_resume($scope0_id, "a")}`);
8485
+ _html(`<div${_attr_class("_eF")}></div>${_el_resume($scope0_id, "a")}`);
8443
8486
  _script($scope0_id, "e1");
8444
8487
  writeScope($scope0_id, {
8445
8488
  d: input.file,
@@ -8468,10 +8511,10 @@ var diff_tree_default = _template("h", (input) => {
8468
8511
  let openedRepos = input.openedRepos;
8469
8512
  let collapsedDirs = /* @__PURE__ */ new Set();
8470
8513
  const commentKeys = input.commentKeys || /* @__PURE__ */ new Set();
8471
- _html(`<aside${_attr_class(["_e5", { ["_e4"]: input.open === false }])}>`);
8514
+ _html(`<aside${_attr_class(["_e3", { ["_e2"]: input.open === false }])}>`);
8472
8515
  _for_of(input.sections, (section) => {
8473
8516
  const $scope1_id = _scope_id();
8474
- _html(`<div${_attr_class("_e6")}><button type=button${_attr_class(["_e7", { ["_e4"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_fb")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span>${_sep($sg__input_sections)}${_escape(section.label)}${_el_resume($scope1_id, "e", $sg__input_sections)}</button>${_el_resume($scope1_id, "b")}`);
8517
+ _html(`<div${_attr_class("_e4")}><button type=button${_attr_class(["_e5", { ["_e2"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_e_")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span>${_sep($sg__input_sections)}${_escape(section.label)}${_el_resume($scope1_id, "e", $sg__input_sections)}</button>${_el_resume($scope1_id, "b")}`);
8475
8518
  _if(() => {
8476
8519
  if (!collapsedRepos.has(section.id) || openedRepos.has(section.id)) {
8477
8520
  const $scope2_id = _scope_id();
@@ -8498,17 +8541,17 @@ var diff_tree_default = _template("h", (input) => {
8498
8541
  _if(() => {
8499
8542
  if (!hiddenByCollapse(row) && row.kind === "dir") {
8500
8543
  const $scope5_id = _scope_id();
8501
- _html(`<button type=button${_attr_class(["_e8", { ["_e4"]: collapsedDirs.has(dirKey(row.path)) }])}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span${_attr_class("_fb")}>${collapsedDirs.has(dirKey(row.path)) ? "▸" : "▾"}${_el_resume($scope5_id, "c")}</span>${_escape(row.label)}${_el_resume($scope5_id, "d", $sg__input_sections)}/</button>${_el_resume($scope5_id, "a")}`);
8544
+ _html(`<button type=button${_attr_class(["_e6", { ["_e2"]: collapsedDirs.has(dirKey(row.path)) }])}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span${_attr_class("_e_")}>${collapsedDirs.has(dirKey(row.path)) ? "▸" : "▾"}${_el_resume($scope5_id, "c")}</span>${_escape(row.label)}${_el_resume($scope5_id, "d", $sg__input_sections)}/</button>${_el_resume($scope5_id, "a")}`);
8502
8545
  _script($scope5_id, "h3");
8503
8546
  _subscribe($si__input_sections && $if_content__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope5_id, { Cv: 1 })));
8504
8547
  return 0;
8505
8548
  } else if (!hiddenByCollapse(row) && row.kind !== "dir") {
8506
8549
  const $scope4_id = _scope_id();
8507
- _html(`<button type=button${_attr_class("_e9")}${_attr("title", row.file.path)}${_attr_style(`padding-left:${.5 + row.depth * .75}rem`)}><span${_attr_class("_fc")}${_attr("data-status", row.file.status)}>${_escape(row.file.status)}${_el_resume($scope4_id, "c", $sg__input_sections)}</span>${_el_resume($scope4_id, "b", $sg__input_sections)}<span${_attr_class("_e_")}>${_escape(row.name)}${_el_resume($scope4_id, "e", $sg__input_sections)}</span>`);
8550
+ _html(`<button type=button${_attr_class("_e7")}${_attr("title", row.file.path)}${_attr_style(`padding-left:${.5 + row.depth * .75}rem`)}><span${_attr_class("_fa")}${_attr("data-status", row.file.status)}>${_escape(row.file.status)}${_el_resume($scope4_id, "c", $sg__input_sections)}</span>${_el_resume($scope4_id, "b", $sg__input_sections)}<span${_attr_class("_e8")}>${_escape(row.name)}${_el_resume($scope4_id, "e", $sg__input_sections)}</span>`);
8508
8551
  _if(() => {
8509
8552
  if (commentKeys.has(row.file.key)) {
8510
8553
  const $scope6_id = _scope_id();
8511
- _html(`<span${_attr_class("_fa")}>💬</span>`);
8554
+ _html(`<span${_attr_class("_e9")}>💬</span>`);
8512
8555
  _serialize_if($scope0_reason, 0) && writeScope($scope6_id, {});
8513
8556
  return 0;
8514
8557
  }
@@ -8628,13 +8671,14 @@ var getTermDims;
8628
8671
  var revealSearchHit;
8629
8672
  var setSearchPaint;
8630
8673
  var diff_view_default = _template("i", (input) => {
8631
- const $scope0_reason = _scope_reason(), $sg__input_onExit = _serialize_guard($scope0_reason, 2), $si__input_workspaceBranch = _serialize_if($scope0_reason, 4), $si__input_sessions = _serialize_if($scope0_reason, 3);
8674
+ const $scope0_reason = _scope_reason(), $sg__input_onExit = _serialize_guard($scope0_reason, 2), $si__input_workspaceBranch = _serialize_if($scope0_reason, 4), $si__input_workspaceName = _serialize_if($scope0_reason, 5), $si__input_sessions = _serialize_if($scope0_reason, 3);
8632
8675
  const $scope0_id = _scope_id();
8633
8676
  const $error__closures = /* @__PURE__ */ new Set();
8634
8677
  const $uncommitted__closures = /* @__PURE__ */ new Set();
8635
8678
  const $loading__closures = /* @__PURE__ */ new Set();
8636
8679
  const $driftRepos__closures = /* @__PURE__ */ new Set();
8637
8680
  const $input_workspaceBranch__closures = /* @__PURE__ */ new Set();
8681
+ const $input_workspaceName__closures = /* @__PURE__ */ new Set();
8638
8682
  const $collapsedRepos__closures = /* @__PURE__ */ new Set();
8639
8683
  const $expandingRepos__closures = /* @__PURE__ */ new Set();
8640
8684
  const $localDifferIds__closures = /* @__PURE__ */ new Set();
@@ -8978,11 +9022,11 @@ var diff_view_default = _template("i", (input) => {
8978
9022
  revealSearchHit();
8979
9023
  }, 0);
8980
9024
  }, "i20", $scope0_id);
8981
- _html(`<div${_attr_class("_db")}><div${_attr_class("_df")}><div${_attr_class(["_dg", { ["_dk"]: comments.length > 0 }])}><div${_attr_class("_du")}>`);
9025
+ _html(`<div${_attr_class("_dP")}><div${_attr_class("_dT")}><div${_attr_class(["_dU", { ["_dY"]: comments.length > 0 }])}><div${_attr_class("_d6")}>`);
8982
9026
  _if(() => {
8983
9027
  if (input.onExit) {
8984
9028
  const $scope1_id = _scope_id();
8985
- _html(`<button${_attr_class([iconBtn$3, "_dh"])} title="Back to terminal">`);
9029
+ _html(`<button${_attr_class([iconBtn$3, "_dV"])} title="Back to terminal">`);
8986
9030
  icon_back_default({ size: 14 });
8987
9031
  _html(`</button>${_el_resume($scope1_id, "a")}`);
8988
9032
  _script($scope1_id, "i36");
@@ -8990,7 +9034,7 @@ var diff_view_default = _template("i", (input) => {
8990
9034
  return 0;
8991
9035
  }
8992
9036
  }, $scope0_id, "e", $sg__input_onExit, $sg__input_onExit, 1, 0, 1);
8993
- _html(`<div${_attr_class("_dv")}>`);
9037
+ _html(`<div${_attr_class("_d7")}>`);
8994
9038
  _set_serialize_reason(2);
8995
9039
  const $childScope = _peek_scope_id();
8996
9040
  file_filter_default({
@@ -8999,16 +9043,16 @@ var diff_view_default = _template("i", (input) => {
8999
9043
  fileFilter = _new_fileFilter;
9000
9044
  }, "i21", $scope0_id)
9001
9045
  });
9002
- _html(`</div><div${_attr_class("_di")}><h1${_attr_class("_dj")}>Review</h1><span${_attr_class("_dw")}>`);
9046
+ _html(`</div><div${_attr_class("_dW")}><h1${_attr_class("_dX")}>Review</h1><span${_attr_class("_d8")}>`);
9003
9047
  _if(() => {
9004
9048
  if (lineStats.additions || lineStats.deletions) {
9005
9049
  const $scope27_id = _scope_id();
9006
- _html(`<span${_attr_class("_dx")}>+<!>${_escape(lineStats.additions)}${_el_resume($scope27_id, "b")}</span><span${_attr_class("_dy")}>−<!>${_escape(lineStats.deletions)}${_el_resume($scope27_id, "d")}</span>`);
9050
+ _html(`<span${_attr_class("_d9")}>+<!>${_escape(lineStats.additions)}${_el_resume($scope27_id, "b")}</span><span${_attr_class("_d_")}>−<!>${_escape(lineStats.deletions)}${_el_resume($scope27_id, "d")}</span>`);
9007
9051
  writeScope($scope27_id, {});
9008
9052
  return 0;
9009
9053
  } else {
9010
9054
  const $scope29_id = _scope_id();
9011
- _html(`<span${_attr_class("_dz")}>0</span>`);
9055
+ _html(`<span${_attr_class("_ea")}>0</span>`);
9012
9056
  writeScope($scope29_id, {});
9013
9057
  return 1;
9014
9058
  }
@@ -9016,7 +9060,7 @@ var diff_view_default = _template("i", (input) => {
9016
9060
  _if(() => {
9017
9061
  if (comments.length) {
9018
9062
  const $scope13_id = _scope_id();
9019
- _html(`<span${_attr_class("_dA")}>·</span>${_escape(comments.length)}${_el_resume($scope13_id, "b")} comment<!>${comments.length === 1 ? "" : "s"}${_el_resume($scope13_id, "c")}`);
9063
+ _html(`<span${_attr_class("_eb")}>·</span>${_escape(comments.length)}${_el_resume($scope13_id, "b")} comment<!>${comments.length === 1 ? "" : "s"}${_el_resume($scope13_id, "c")}`);
9020
9064
  writeScope($scope13_id, {});
9021
9065
  return 0;
9022
9066
  }
@@ -9036,19 +9080,11 @@ var diff_view_default = _template("i", (input) => {
9036
9080
  return 0;
9037
9081
  }
9038
9082
  }, $scope0_id, "m", 1, 1, 1, 0, 1);
9039
- _html(`</div><div${_attr_class(["_de", { ["_dp"]: findOpen && !isTouch() }])}><button${_attr_class([treeToggle, { ["_dc"]: treeOpen }])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
9083
+ _html(`</div><div${_attr_class("_dS")}><button${_attr_class([treeToggle, { ["_dQ"]: treeOpen }])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
9040
9084
  icon_sidebar_default({ size: 14 });
9041
- _html(`</button>${_el_resume($scope0_id, "o")}<button${_attr_class([
9042
- iconBtn$3,
9043
- "_dl",
9044
- { [spinning$2]: loading }
9045
- ])} title="Refresh diff"${_attr("disabled", loading)}>`);
9085
+ _html(`</button>${_el_resume($scope0_id, "o")}<button${_attr_class([iconBtn$3, { [spinning$2]: loading }])} title="Refresh diff"${_attr("disabled", loading)}>`);
9046
9086
  icon_refresh_default({ size: 14 });
9047
- _html(`</button>${_el_resume($scope0_id, "q")}<button${_attr_class(["_d0", "_dl"])} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope0_id, "t")})</button>${_el_resume($scope0_id, "s")}<div${_attr_class(["_dB", "_dl"])} role=group aria-label="Review scope"><button type=button${_attr_class(["_dD", { ["_dC"]: !uncommitted }])} aria-pressed=${!uncommitted ? "true" : "false"} title="Committed changes only — base…tip, no working-tree edits"${_attr("disabled", loading)}>Committed</button>${_el_resume($scope0_id, "v")}<button type=button${_attr_class(["_dD", { ["_dC"]: uncommitted }])} aria-pressed=${uncommitted ? "true" : "false"} title="Include uncommitted and untracked files in the working tree"${_attr("disabled", loading)}>Working tree</button>${_el_resume($scope0_id, "w")}</div><button type=button${_attr_class([
9048
- "_dE",
9049
- "_dl",
9050
- { ["_dC"]: uncommitted }
9051
- ])} aria-pressed=${uncommitted ? "true" : "false"} title=${uncommitted ? "\"Showing working tree — tap for committed only\"" : "\"Showing committed only — tap to include uncommitted\""}${_attr("disabled", loading)}>${uncommitted ? "Dirty" : "Clean"}${_el_resume($scope0_id, "y")}</button>${_el_resume($scope0_id, "x")}<div${_attr_class(["_do", { ["_dn"]: !findOpen }])}>`);
9087
+ _html(`</button>${_el_resume($scope0_id, "q")}<button${_attr_class("_eB")} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope0_id, "t")})</button>${_el_resume($scope0_id, "s")}<div${_attr_class("_ec")} role=group aria-label="Review scope"><button type=button${_attr_class(["_ee", { ["_ed"]: !uncommitted }])} aria-pressed=${!uncommitted ? "true" : "false"} title="Committed changes only — base…tip, no working-tree edits"${_attr("disabled", loading)}>Committed</button>${_el_resume($scope0_id, "v")}<button type=button${_attr_class(["_ee", { ["_ed"]: uncommitted }])} aria-pressed=${uncommitted ? "true" : "false"} title="Include uncommitted and untracked files in the working tree"${_attr("disabled", loading)}>Working tree</button>${_el_resume($scope0_id, "w")}</div><button type=button${_attr_class(["_ef", { ["_ed"]: uncommitted }])} aria-pressed=${uncommitted ? "true" : "false"} title=${uncommitted ? "\"Showing working tree — tap for committed only\"" : "\"Showing committed only — tap to include uncommitted\""}${_attr("disabled", loading)}>${uncommitted ? "Dirty" : "Clean"}${_el_resume($scope0_id, "y")}</button>${_el_resume($scope0_id, "x")}<div${_attr_class(["_d1", { ["_d0"]: !findOpen }])}>`);
9052
9088
  _set_serialize_reason(2);
9053
9089
  const $childScope3 = _peek_scope_id();
9054
9090
  diff_find_default({
@@ -9063,13 +9099,9 @@ var diff_view_default = _template("i", (input) => {
9063
9099
  onFindState(s);
9064
9100
  }, "i23", $scope0_id)
9065
9101
  });
9066
- _html(`</div>${_el_resume($scope0_id, "z")}<button${_attr_class([
9067
- iconBtn$3,
9068
- "_dm",
9069
- "_dl"
9070
- ])} title="Find in the review (⌘/Ctrl+F)" aria-label="Find in the review"${_attr("hidden", findOpen)}>`);
9102
+ _html(`</div>${_el_resume($scope0_id, "z")}<button${_attr_class([iconBtn$3, "_dZ"])} title="Find in the review (⌘/Ctrl+F)" aria-label="Find in the review"${_attr("hidden", findOpen)}>`);
9071
9103
  icon_search_default({ size: 14 });
9072
- _html(`</button>${_el_resume($scope0_id, "a1")}</div>${_el_resume($scope0_id, "n")}</div>${_el_resume($scope0_id, "c")}<div${_attr_class("_ds")} data-diff-main>`);
9104
+ _html(`</button>${_el_resume($scope0_id, "a1")}</div></div>${_el_resume($scope0_id, "c")}<div${_attr_class("_d4")} data-diff-main>`);
9073
9105
  _if(() => {
9074
9106
  if (error) {
9075
9107
  const $scope14_id = _scope_id();
@@ -9092,7 +9124,7 @@ var diff_view_default = _template("i", (input) => {
9092
9124
  _if(() => {
9093
9125
  if (!repos && loading) {
9094
9126
  const $scope30_id = _scope_id();
9095
- _html(`<p${_attr_class("_dZ")}>Loading diff…</p>`);
9127
+ _html(`<p${_attr_class("_eA")}>Loading diff…</p>`);
9096
9128
  writeScope($scope30_id, {});
9097
9129
  return 0;
9098
9130
  }
@@ -9135,7 +9167,7 @@ var diff_view_default = _template("i", (input) => {
9135
9167
  _html(`already in <!>${_escape(repo.base)}${_el_resume($scope22_id, "a")}<!>${uncommitted ? " — showing uncommitted changes only" : ""}${_el_resume($scope22_id, "b")}.`);
9136
9168
  _subscribe($for_content4__repo_base__closures, _subscribe($uncommitted__closures, writeScope($scope22_id, {
9137
9169
  _: _scope_with_id($scope21_id),
9138
- Cdt: 1
9170
+ Cdv: 1
9139
9171
  })));
9140
9172
  _resume_branch($scope22_id);
9141
9173
  }, $scope21_id)
@@ -9175,7 +9207,7 @@ var diff_view_default = _template("i", (input) => {
9175
9207
  _html(`${i > 0 ? " · " : ""}${_el_resume($scope31_id, "a")}<!>${_escape(repo.worktree)}${_el_resume($scope31_id, "b")} #<!>${_escape(repo.pr.number)}${_el_resume($scope31_id, "c")}`);
9176
9208
  writeScope($scope31_id, {});
9177
9209
  }, "id", $scope28_id, "b");
9178
- _html(` — this view has a newer tip than the PR page.</span><span${_attr_class(["_m", "_dt"])}>`);
9210
+ _html(` — this view has a newer tip than the PR page.</span><span${_attr_class(["_m", "_d5"])}>`);
9179
9211
  _for_of(driftRepos, (repo, i) => {
9180
9212
  const $scope32_id = _scope_id();
9181
9213
  _html(`<span${_attr("title", `origin/${repo.pr.headRefName} ${repo.head} · GitHub ${repo.pr.headRefOid}`)}>${i > 0 ? " · " : ""}${_el_resume($scope32_id, "b")}<!>${_escape(shortSha(repo.head))}${_el_resume($scope32_id, "c")} → <!>${_escape(shortSha(repo.pr.headRefOid))}${_el_resume($scope32_id, "d")}</span>${_el_resume($scope32_id, "a")}`);
@@ -9207,7 +9239,7 @@ var diff_view_default = _template("i", (input) => {
9207
9239
  _html(`this view is <!>${_escape(shortSha(repo.head))}${_el_resume($scope24_id, "a")} (<!>${_escape(repo.pr.headRefName)}${_el_resume($scope24_id, "b")}). Local is <!>${_escape(shortSha(repo.localHead))}${_el_resume($scope24_id, "c")} (<!>${_escape(repo.branch)}${_el_resume($scope24_id, "d")}<!>${uncommitted ? ", plus uncommitted" : ""}${_el_resume($scope24_id, "e")}).`);
9208
9240
  _subscribe($for_content5__repo_branch__closures, _subscribe($for_content5__repo_localHead__closures, _subscribe($for_content5__repo_pr_headRefName__closures, _subscribe($for_content5__repo_head__closures, _subscribe($uncommitted__closures, writeScope($scope24_id, {
9209
9241
  _: _scope_with_id($scope23_id),
9210
- Cdt: 2
9242
+ Cdv: 2
9211
9243
  }))))));
9212
9244
  _resume_branch($scope24_id);
9213
9245
  }, $scope23_id)
@@ -9227,12 +9259,12 @@ var diff_view_default = _template("i", (input) => {
9227
9259
  _if(() => {
9228
9260
  if (repos && !allFiles.length) {
9229
9261
  const $scope26_id = _scope_id();
9230
- _html(`<p${_attr_class("_dZ")}>${repoList.some((r) => r.pr) ? "No file changes on these PRs." : "No changes vs base."}${_el_resume($scope26_id, "b")}</p>`);
9262
+ _html(`<p${_attr_class("_eA")}>${repoList.some((r) => r.pr) ? "No file changes on these PRs." : "No changes vs base."}${_el_resume($scope26_id, "b")}</p>`);
9231
9263
  writeScope($scope26_id, {});
9232
9264
  return 0;
9233
9265
  } else if (repos && !shownFiles.length && !findState.hit) {
9234
9266
  const $scope18_id = _scope_id();
9235
- _html(`<p${_attr_class("_dZ")}>${findState.query.trim() ? "No matches in diffs." : `No files match "${_escape(`${fileFilter}`)}".`}${_el_resume($scope18_id, "b")}</p>`);
9267
+ _html(`<p${_attr_class("_eA")}>${findState.query.trim() ? "No matches in diffs." : `No files match "${_escape(`${fileFilter}`)}".`}${_el_resume($scope18_id, "b")}</p>`);
9236
9268
  writeScope($scope18_id, {});
9237
9269
  return 1;
9238
9270
  }
@@ -9261,16 +9293,16 @@ var diff_view_default = _template("i", (input) => {
9261
9293
  _if(() => {
9262
9294
  if (repoFiles.length || repo.pr) {
9263
9295
  const $scope4_id = _scope_id();
9264
- _html(`<section${_attr_class("_dF")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownInRepo.length && !repo.pr && findState.hit?.repo !== repo.id)}>`);
9296
+ _html(`<section${_attr_class("_eg")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownInRepo.length && !repo.pr && findState.hit?.repo !== repo.id)}>`);
9265
9297
  _if(() => {
9266
9298
  if (repoList.length > 1) {
9267
9299
  const $scope5_id = _scope_id();
9268
9300
  const repoCollapsed = collapsedRepos.has(repo.id);
9269
9301
  const repoExpanding = expandingRepos.has(repo.id);
9270
- _html(`<button type=button${_attr_class(["_dG", repoCollapsed && "_dH"])} aria-expanded=${!repoCollapsed ? "true" : "false"} aria-busy=${repoExpanding ? "true" : "false"}${repoCollapsed ? _attr("title", `Show ${shownInRepo.length || repoFiles.length} files`) : " title=\"Hide files\""}><span${_attr_class([
9271
- "_dU",
9272
- !repoCollapsed && "_dV",
9273
- repoExpanding && "_dW"
9302
+ _html(`<button type=button${_attr_class(["_eh", repoCollapsed && "_ei"])} aria-expanded=${!repoCollapsed ? "true" : "false"} aria-busy=${repoExpanding ? "true" : "false"}${repoCollapsed ? _attr("title", `Show ${shownInRepo.length || repoFiles.length} files`) : " title=\"Hide files\""}><span${_attr_class([
9303
+ "_ev",
9304
+ !repoCollapsed && "_ew",
9305
+ repoExpanding && "_ex"
9274
9306
  ])} aria-hidden=true>${repoCollapsed ? "▸" : "▾"}${_el_resume($scope5_id, "c")}</span>${_el_resume($scope5_id, "b")}<span${_attr_class(repoWorktree)}>${_escape(repo.worktree)}${_el_resume($scope5_id, "e")}</span>`);
9275
9307
  _if(() => {
9276
9308
  if (repo.pr) {
@@ -9291,12 +9323,12 @@ var diff_view_default = _template("i", (input) => {
9291
9323
  return 1;
9292
9324
  }
9293
9325
  }, $scope5_id, "f");
9294
- const compare$1 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch || "");
9295
- _html(`<span${_attr_class("_dM")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_dN")}>${_escape(compare$1.base)}${_el_resume($scope5_id, "i")}</span><span${_attr_class("_dP")} aria-hidden=true>vs</span><span${_attr_class("_dO")}>${_escape(compare$1.head)}${_el_resume($scope5_id, "l")}</span>`);
9326
+ const compare$1 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch || "", input.workspaceName || "");
9327
+ _html(`<span${_attr_class("_en")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_eo")}>${_escape(compare$1.base)}${_el_resume($scope5_id, "i")}</span><span${_attr_class("_eq")} aria-hidden=true>vs</span><span${_attr_class("_ep")}>${_escape(compare$1.head)}${_el_resume($scope5_id, "l")}</span>`);
9296
9328
  _if(() => {
9297
9329
  if (compare$1.topic) {
9298
9330
  const $scope36_id = _scope_id();
9299
- _html(`<span${_attr_class("_dQ")}>${_escape(compare$1.topic)}${_el_resume($scope36_id, "b")}</span>`);
9331
+ _html(`<span${_attr_class("_er")}>${_escape(compare$1.topic)}${_el_resume($scope36_id, "b")}</span>`);
9300
9332
  writeScope($scope36_id, {});
9301
9333
  return 0;
9302
9334
  }
@@ -9305,26 +9337,27 @@ var diff_view_default = _template("i", (input) => {
9305
9337
  _if(() => {
9306
9338
  if (localDifferIds.has(repo.id)) {
9307
9339
  const $scope6_id = _scope_id();
9308
- _html(`<span${_attr_class("_h")}${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(shortBranch(repo.branch, input.workspaceBranch || ""))}${_el_resume($scope6_id, "b")}</span>${_el_resume($scope6_id, "a")}`);
9309
- _subscribe($for_content__repo_localHead__closures, _subscribe($for_content__repo_branch__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope6_id, {
9310
- Cdn: $si__input_workspaceBranch && 1,
9340
+ _html(`<span${_attr_class("_h")}${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(shortBranch(repo.branch, input.workspaceBranch || "", input.workspaceName || ""))}${_el_resume($scope6_id, "b")}</span>${_el_resume($scope6_id, "a")}`);
9341
+ _subscribe($for_content__repo_localHead__closures, _subscribe($for_content__repo_branch__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope6_id, {
9342
+ Cdo: $si__input_workspaceBranch && 1,
9343
+ Cdp: $si__input_workspaceName && 1,
9311
9344
  Caa: 1
9312
- }))));
9345
+ })))));
9313
9346
  return 0;
9314
9347
  }
9315
9348
  }, $scope5_id, "n", 1, 1, 1, 0, 1);
9316
- _html(`<span${_attr_class("_dJ")}>${_escape(shownInRepo.length || repoFiles.length)}${_el_resume($scope5_id, "p")} file<!>${(shownInRepo.length || repoFiles.length) === 1 ? "" : "s"}${_el_resume($scope5_id, "q")}</span></button>${_el_resume($scope5_id, "a")}`);
9349
+ _html(`<span${_attr_class("_ek")}>${_escape(shownInRepo.length || repoFiles.length)}${_el_resume($scope5_id, "p")} file<!>${(shownInRepo.length || repoFiles.length) === 1 ? "" : "s"}${_el_resume($scope5_id, "q")}</span></button>${_el_resume($scope5_id, "a")}`);
9317
9350
  _script($scope5_id, "i45");
9318
- _subscribe($for_content__shownInRepo_length__closures, _subscribe($for_content__repoFiles_length__closures, _subscribe($for_content__repo_branch__closures, _subscribe($for_content__repo_pr_baseRefName__closures, _subscribe($for_content__repo_baseSha__closures, _subscribe($for_content__repo_base__closures, _subscribe($for_content__repo_head__closures, _subscribe($for_content__repo_pr_headRefName__closures, _subscribe($for_content__repo_worktree__closures, _subscribe($for_content__repo_pr__closures, _subscribe($for_content__repo_id__closures, _subscribe($localDifferIds__closures, _subscribe($expandingRepos__closures, _subscribe($collapsedRepos__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope5_id, {
9351
+ _subscribe($for_content__shownInRepo_length__closures, _subscribe($for_content__repoFiles_length__closures, _subscribe($for_content__repo_branch__closures, _subscribe($for_content__repo_pr_baseRefName__closures, _subscribe($for_content__repo_baseSha__closures, _subscribe($for_content__repo_base__closures, _subscribe($for_content__repo_head__closures, _subscribe($for_content__repo_pr_headRefName__closures, _subscribe($for_content__repo_worktree__closures, _subscribe($for_content__repo_pr__closures, _subscribe($for_content__repo_id__closures, _subscribe($localDifferIds__closures, _subscribe($expandingRepos__closures, _subscribe($collapsedRepos__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope5_id, {
9319
9352
  r: repoCollapsed,
9320
9353
  t: repoExpanding,
9321
9354
  a0: compare$1?.topic,
9322
- Cdy: 1
9323
- }))))))))))))))));
9355
+ Ce0: 1
9356
+ })))))))))))))))));
9324
9357
  return 0;
9325
9358
  } else {
9326
9359
  const $scope7_id = _scope_id();
9327
- _html(`<p${_attr_class("_dL")}>`);
9360
+ _html(`<p${_attr_class("_em")}>`);
9328
9361
  _if(() => {
9329
9362
  if (repo.pr) {
9330
9363
  const $scope35_id = _scope_id();
@@ -9341,12 +9374,12 @@ var diff_view_default = _template("i", (input) => {
9341
9374
  return 0;
9342
9375
  }
9343
9376
  }, $scope7_id, "b");
9344
- const compare$2 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch || "");
9345
- _html(`<span${_attr_class("_dM")}${_attr("title", `${compare$2.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_dN")}>${_escape(compare$2.base)}${_el_resume($scope7_id, "e")}</span><span${_attr_class("_dP")} aria-hidden=true>vs</span><span${_attr_class("_dO")}>${_escape(compare$2.head)}${_el_resume($scope7_id, "h")}</span>`);
9377
+ const compare$2 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch || "", input.workspaceName || "");
9378
+ _html(`<span${_attr_class("_en")}${_attr("title", `${compare$2.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_eo")}>${_escape(compare$2.base)}${_el_resume($scope7_id, "e")}</span><span${_attr_class("_eq")} aria-hidden=true>vs</span><span${_attr_class("_ep")}>${_escape(compare$2.head)}${_el_resume($scope7_id, "h")}</span>`);
9346
9379
  _if(() => {
9347
9380
  if (compare$2.topic) {
9348
9381
  const $scope37_id = _scope_id();
9349
- _html(`<span${_attr_class("_dQ")}>${_escape(compare$2.topic)}${_el_resume($scope37_id, "b")}</span>`);
9382
+ _html(`<span${_attr_class("_er")}>${_escape(compare$2.topic)}${_el_resume($scope37_id, "b")}</span>`);
9350
9383
  writeScope($scope37_id, {});
9351
9384
  return 0;
9352
9385
  }
@@ -9355,20 +9388,22 @@ var diff_view_default = _template("i", (input) => {
9355
9388
  _if(() => {
9356
9389
  if (localDifferIds.has(repo.id)) {
9357
9390
  const $scope8_id = _scope_id();
9358
- _html(`<span${_attr_class("_h")}${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(shortBranch(repo.branch, input.workspaceBranch || ""))}${_el_resume($scope8_id, "b")}</span>${_el_resume($scope8_id, "a")}`);
9359
- _subscribe($for_content__repo_localHead__closures, _subscribe($for_content__repo_branch__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope8_id, {
9360
- Cdn: $si__input_workspaceBranch && 3,
9391
+ _html(`<span${_attr_class("_h")}${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(shortBranch(repo.branch, input.workspaceBranch || "", input.workspaceName || ""))}${_el_resume($scope8_id, "b")}</span>${_el_resume($scope8_id, "a")}`);
9392
+ _subscribe($for_content__repo_localHead__closures, _subscribe($for_content__repo_branch__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope8_id, {
9393
+ Cdo: $si__input_workspaceBranch && 3,
9394
+ Cdp: $si__input_workspaceName && 3,
9361
9395
  Caa: 3,
9362
9396
  Cab: 1
9363
- }))));
9397
+ })))));
9364
9398
  return 0;
9365
9399
  }
9366
9400
  }, $scope7_id, "j", 1, 1, 1, 0, 1);
9367
9401
  _html("</p>");
9368
- _subscribe($for_content__repo_branch__closures, _subscribe($for_content__repo_pr_baseRefName__closures, _subscribe($for_content__repo_baseSha__closures, _subscribe($for_content__repo_base__closures, _subscribe($for_content__repo_head__closures, _subscribe($for_content__repo_pr_headRefName__closures, _subscribe($for_content__repo_pr__closures, _subscribe($for_content__repo_id__closures, _subscribe($localDifferIds__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope7_id, {
9402
+ _subscribe($for_content__repo_branch__closures, _subscribe($for_content__repo_pr_baseRefName__closures, _subscribe($for_content__repo_baseSha__closures, _subscribe($for_content__repo_base__closures, _subscribe($for_content__repo_head__closures, _subscribe($for_content__repo_pr_headRefName__closures, _subscribe($for_content__repo_pr__closures, _subscribe($for_content__repo_id__closures, _subscribe($localDifferIds__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, writeScope($scope7_id, {
9369
9403
  p: compare$2?.topic,
9370
- Cdn: $si__input_workspaceBranch && 2,
9371
- Cea: 1,
9404
+ Cdo: $si__input_workspaceBranch && 2,
9405
+ Cdp: $si__input_workspaceName && 2,
9406
+ Cec: 1,
9372
9407
  Cy: 1,
9373
9408
  Cz: 1,
9374
9409
  Ca4: 1,
@@ -9377,7 +9412,7 @@ var diff_view_default = _template("i", (input) => {
9377
9412
  Ca7: 1,
9378
9413
  Ca9: 1,
9379
9414
  Caa: 2
9380
- })))))))))));
9415
+ }))))))))))));
9381
9416
  return 1;
9382
9417
  }
9383
9418
  }, $scope4_id, "b", 1, 1, 1, 0, 1);
@@ -9386,7 +9421,7 @@ var diff_view_default = _template("i", (input) => {
9386
9421
  const $scope9_id = _scope_id();
9387
9422
  const $show = repoList.length === 1 || !collapsedRepos.has(repo.id);
9388
9423
  _show_start($show);
9389
- _html(`<div${_attr_class("_dR")}>`);
9424
+ _html(`<div${_attr_class("_es")}>`);
9390
9425
  _for_of(repoFiles, (file$2) => {
9391
9426
  const $scope10_id = _scope_id();
9392
9427
  const $for_content2__file__closures = /* @__PURE__ */ new Set();
@@ -9394,7 +9429,7 @@ var diff_view_default = _template("i", (input) => {
9394
9429
  const $for_content2__fileComments__closures = /* @__PURE__ */ new Set();
9395
9430
  const fileComments = commentsByFile.get(file$2.key) || [];
9396
9431
  let expanded = true;
9397
- _html(`<details${_attr_details_or_dialog_open($scope10_id, "a", expanded)}${_attr_class(["_dS", findState.hit?.key === file$2.key && "_dq"])}${_attr("data-key", file$2.key)}${_attr("hidden", !shownKeySet.has(file$2.key))}><summary><span${_attr_class("_dX")}${_attr("data-status", file$2.status)}>${_escape(file$2.status)}${_el_resume($scope10_id, "c")}</span>${_el_resume($scope10_id, "b")}<span${_attr_class(["_dY", findState.hit?.key === file$2.key && findState.hit.line < 1 && "_dr"])}${_attr("title", file$2.path)}><bdi>${_escape(file$2.path)}${_el_resume($scope10_id, "e")}</bdi></span>${_el_resume($scope10_id, "d")}`);
9432
+ _html(`<details${_attr_details_or_dialog_open($scope10_id, "a", expanded)}${_attr_class(["_et", findState.hit?.key === file$2.key && "_d2"])}${_attr("data-key", file$2.key)}${_attr("hidden", !shownKeySet.has(file$2.key))}><summary><span${_attr_class("_ey")}${_attr("data-status", file$2.status)}>${_escape(file$2.status)}${_el_resume($scope10_id, "c")}</span>${_el_resume($scope10_id, "b")}<span${_attr_class(["_ez", findState.hit?.key === file$2.key && findState.hit.line < 1 && "_d3"])}${_attr("title", file$2.path)}><bdi>${_escape(file$2.path)}${_el_resume($scope10_id, "e")}</bdi></span>${_el_resume($scope10_id, "d")}`);
9398
9433
  _if(() => {
9399
9434
  if (fileComments.length) {
9400
9435
  const $scope38_id = _scope_id();
@@ -9407,17 +9442,17 @@ var diff_view_default = _template("i", (input) => {
9407
9442
  _if(() => {
9408
9443
  if (file$2.binary) {
9409
9444
  const $scope39_id = _scope_id();
9410
- _html(`<p${_attr_class("_d1")}>binary file</p>`);
9445
+ _html(`<p${_attr_class("_eC")}>binary file</p>`);
9411
9446
  writeScope($scope39_id, {});
9412
9447
  return 0;
9413
9448
  } else if (file$2.tooLarge) {
9414
9449
  const $scope40_id = _scope_id();
9415
- _html(`<p${_attr_class("_d1")}>file too large to display</p>`);
9450
+ _html(`<p${_attr_class("_eC")}>file too large to display</p>`);
9416
9451
  writeScope($scope40_id, {});
9417
9452
  return 1;
9418
9453
  } else if (file$2.old == null && file$2.new == null) {
9419
9454
  const $scope41_id = _scope_id();
9420
- _html(`<p${_attr_class("_d1")}>file could not be read</p>`);
9455
+ _html(`<p${_attr_class("_eC")}>file could not be read</p>`);
9421
9456
  writeScope($scope41_id, {});
9422
9457
  return 2;
9423
9458
  } else {
@@ -9427,7 +9462,7 @@ var diff_view_default = _template("i", (input) => {
9427
9462
  _if(() => {
9428
9463
  if (!forceNear) {
9429
9464
  const $scope25_id = _scope_id();
9430
- _html(`<div${_attr_class("_dT")}></div>${_el_resume($scope25_id, "a")}`);
9465
+ _html(`<div${_attr_class("_eu")}></div>${_el_resume($scope25_id, "a")}`);
9431
9466
  _script($scope25_id, "i46");
9432
9467
  writeScope($scope25_id, {});
9433
9468
  return 0;
@@ -9473,7 +9508,7 @@ var diff_view_default = _template("i", (input) => {
9473
9508
  _subscribe($findState_hit_key__closures, writeScope($scope11_id, {
9474
9509
  b: near,
9475
9510
  c: forceNear,
9476
- Cdv: 1
9511
+ Cdx: 1
9477
9512
  }));
9478
9513
  return 3;
9479
9514
  }
@@ -9497,8 +9532,8 @@ var diff_view_default = _template("i", (input) => {
9497
9532
  }, "key", $scope9_id, "b", 1, 1, 1, "</div>", 1);
9498
9533
  _show_end($scope9_id, "c", $show, 1, 1, 0, 1);
9499
9534
  _subscribe($for_content__repoFiles__closures, _subscribe($for_content__repo_id__closures, _subscribe($repoList_length__closures, _subscribe($collapsedRepos__closures, writeScope($scope9_id, {
9500
- Cdy: 2,
9501
- Ce3: 1,
9535
+ Ce0: 2,
9536
+ Ce5: 1,
9502
9537
  Cy: 2
9503
9538
  })))));
9504
9539
  return 0;
@@ -9592,90 +9627,92 @@ var diff_view_default = _template("i", (input) => {
9592
9627
  aq: input.onExit,
9593
9628
  ar: input.sessions,
9594
9629
  as: input.workspaceBranch,
9595
- at: repos,
9596
- au: comments,
9597
- av: comments?.length,
9598
- aw: draft,
9599
- ax: error,
9600
- ay: loading,
9601
- b0: fileFilter,
9602
- b1: uncommitted,
9603
- b2: treeOpen,
9604
- b6: findTick,
9605
- b8: findFocusRef,
9606
- bb: findState?.query,
9607
- bd: findState?.hit,
9608
- be: findState?.hit?.key,
9609
- bf: findState?.hit?.repo,
9610
- bg: findState?.hit?.line,
9611
- bh: collapsedRepos,
9612
- bi: openedRepos,
9613
- bk: expandingRepos,
9614
- bl: dismissedDrift,
9615
- bn: nearBox.cbs,
9616
- bo: nearBox.io,
9617
- bp: nearBox.root,
9618
- br: observeNear,
9619
- bs: focusPrSection,
9620
- bu: headBox.sig,
9621
- bv: headBox.timer,
9622
- bx: loadBox.seq,
9623
- bz: load,
9624
- c2: sendGate.busy,
9625
- c4: loadReview,
9626
- c5: reload,
9627
- c7: reloadSoon,
9628
- c9: repoList,
9629
- cb: repoList.length,
9630
- cc: allFiles,
9631
- ce: allFiles?.length,
9632
- cf: fileFiltered,
9633
- ch: lineStats?.additions,
9634
- ci: lineStats?.deletions,
9635
- ck: findKeys,
9636
- cq: shownKeySet,
9637
- cr: filesByRepo,
9638
- cs: shownByRepo,
9639
- cu: commentsByFile,
9640
- cy: localDifferIds,
9641
- cz: driftRepos,
9642
- d2: dismissDrift,
9643
- d3: fileWorktree,
9644
- d5: saveComment,
9645
- d6: removeComment,
9646
- d7: clearComments,
9647
- d9: postToSession,
9648
- dd: copyMarkdown,
9649
- de: sendTo,
9650
- df: sendDraftComment,
9651
- dg: sendOneComment,
9652
- dh: openFile,
9653
- dj: openFind,
9654
- dl: onFindState,
9655
- b5: input.findOpenChange || void 0,
9630
+ at: input.workspaceName,
9631
+ au: repos,
9632
+ av: comments,
9633
+ aw: comments?.length,
9634
+ ax: draft,
9635
+ ay: error,
9636
+ az: loading,
9637
+ b1: fileFilter,
9638
+ b2: uncommitted,
9639
+ b3: treeOpen,
9640
+ b7: findTick,
9641
+ b9: findFocusRef,
9642
+ bc: findState?.query,
9643
+ be: findState?.hit,
9644
+ bf: findState?.hit?.key,
9645
+ bg: findState?.hit?.repo,
9646
+ bh: findState?.hit?.line,
9647
+ bi: collapsedRepos,
9648
+ bj: openedRepos,
9649
+ bl: expandingRepos,
9650
+ bm: dismissedDrift,
9651
+ bo: nearBox.cbs,
9652
+ bp: nearBox.io,
9653
+ bq: nearBox.root,
9654
+ bs: observeNear,
9655
+ bt: focusPrSection,
9656
+ bv: headBox.sig,
9657
+ bw: headBox.timer,
9658
+ by: loadBox.seq,
9659
+ c0: load,
9660
+ c3: sendGate.busy,
9661
+ c5: loadReview,
9662
+ c6: reload,
9663
+ c8: reloadSoon,
9664
+ ca: repoList,
9665
+ cc: repoList.length,
9666
+ cd: allFiles,
9667
+ cf: allFiles?.length,
9668
+ cg: fileFiltered,
9669
+ ci: lineStats?.additions,
9670
+ cj: lineStats?.deletions,
9671
+ cl: findKeys,
9672
+ cr: shownKeySet,
9673
+ cs: filesByRepo,
9674
+ ct: shownByRepo,
9675
+ cv: commentsByFile,
9676
+ cz: localDifferIds,
9677
+ d0: driftRepos,
9678
+ d3: dismissDrift,
9679
+ d4: fileWorktree,
9680
+ d6: saveComment,
9681
+ d7: removeComment,
9682
+ d8: clearComments,
9683
+ da: postToSession,
9684
+ de: copyMarkdown,
9685
+ df: sendTo,
9686
+ dg: sendDraftComment,
9687
+ dh: sendOneComment,
9688
+ di: openFile,
9689
+ dk: openFind,
9690
+ dm: onFindState,
9691
+ b6: input.findOpenChange || void 0,
9656
9692
  g: _existing_scope($childScope),
9657
9693
  a0: _existing_scope($childScope3),
9658
- dq: $error__closures,
9659
- dt: $uncommitted__closures,
9660
- dr: $loading__closures,
9661
- eb: $driftRepos__closures,
9662
- dn: $si__input_workspaceBranch && $input_workspaceBranch__closures,
9663
- dy: $collapsedRepos__closures,
9664
- e0: $expandingRepos__closures,
9665
- ea: $localDifferIds__closures,
9666
- dm: $si__input_sessions && $input_sessions__closures,
9667
- dp: $draft__closures,
9668
- ed: $saveComment2__closures,
9669
- ee: $removeComment2__closures,
9670
- eh: $sendDraftComment2__closures,
9671
- ei: $sendOneComment2__closures,
9672
- dv: $findState_hit_key__closures,
9673
- dx: $findState_hit_line__closures,
9674
- e6: $shownKeySet__closures,
9675
- e9: $commentsByFile__closures,
9676
- e3: $repoList_length__closures,
9677
- dw: $findState_hit_repo__closures,
9678
- dz: $openedRepos__closures,
9694
+ ds: $error__closures,
9695
+ dv: $uncommitted__closures,
9696
+ dt: $loading__closures,
9697
+ ed: $driftRepos__closures,
9698
+ do: $si__input_workspaceBranch && $input_workspaceBranch__closures,
9699
+ dp: $si__input_workspaceName && $input_workspaceName__closures,
9700
+ e0: $collapsedRepos__closures,
9701
+ e2: $expandingRepos__closures,
9702
+ ec: $localDifferIds__closures,
9703
+ dn: $si__input_sessions && $input_sessions__closures,
9704
+ dr: $draft__closures,
9705
+ ef: $saveComment2__closures,
9706
+ eg: $removeComment2__closures,
9707
+ ej: $sendDraftComment2__closures,
9708
+ ek: $sendOneComment2__closures,
9709
+ dx: $findState_hit_key__closures,
9710
+ dz: $findState_hit_line__closures,
9711
+ e8: $shownKeySet__closures,
9712
+ eb: $commentsByFile__closures,
9713
+ e5: $repoList_length__closures,
9714
+ dy: $findState_hit_repo__closures,
9715
+ e1: $openedRepos__closures,
9679
9716
  ac: _existing_scope($childScope9),
9680
9717
  ad: _existing_scope($childScope10)
9681
9718
  });
@@ -9683,8 +9720,8 @@ var diff_view_default = _template("i", (input) => {
9683
9720
  });
9684
9721
  //#endregion
9685
9722
  //#region src/tags/manage-workspace.css.ts
9686
- var content$1 = "_co _V";
9687
- var pageMeta = "_cp _Z";
9723
+ var content$1 = "_co _N";
9724
+ var pageMeta = "_cp _R";
9688
9725
  var iconBtn$1 = "_cR _y";
9689
9726
  var spinning$1 = "_cS _z";
9690
9727
  //#endregion
@@ -9780,7 +9817,7 @@ var manage_workspace_default = _template("k", (input) => {
9780
9817
  setTimeout(() => loadProcs(void 0), 500);
9781
9818
  }, "k5", $scope0_id);
9782
9819
  const titleId = _id();
9783
- _html(`<div${_attr_class("_T")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_U")}><div${_attr_class(content$1)}><header${_attr_class("_X")}><div${_attr_class("_Y")}><h1${_attr("id", titleId)}>Manage</h1><p${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_cq")}>${_escape(ws.name)}${_el_resume($scope0_id, "i")}</span>`);
9820
+ _html(`<div${_attr_class("_L")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_M")}><div${_attr_class(content$1)}><header${_attr_class("_P")}><div${_attr_class("_Q")}><h1${_attr("id", titleId)}>Manage</h1><p${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_cq")}>${_escape(ws.name)}${_el_resume($scope0_id, "i")}</span>`);
9784
9821
  _if(() => {
9785
9822
  if (ws.status !== "active") {
9786
9823
  const $scope10_id = _scope_id();
@@ -9980,7 +10017,7 @@ var manage_workspace_default = _template("k", (input) => {
9980
10017
  });
9981
10018
  //#endregion
9982
10019
  //#region src/tags/usage-stats.css.ts
9983
- var content = "_bY _V _W";
10020
+ var content = "_bY _N _O";
9984
10021
  var iconBtn = "_bZ _y";
9985
10022
  var spinning = "_b0 _z";
9986
10023
  //#endregion
@@ -10017,7 +10054,7 @@ var usage_stats_default = _template("x", (input) => {
10017
10054
  refreshing = false;
10018
10055
  }, "x1", $scope0_id);
10019
10056
  const titleId = _id();
10020
- _html(`<div${_attr_class("_T")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_U")}><div${_attr_class(content)}><header${_attr_class("_X")}><div${_attr_class("_Y")}><h1${_attr("id", titleId)}>Usage</h1><p${_attr_class("_Z")}>Provider plan windows across your agents.</p></div><div${_attr_class("_0")}><button${_attr_class([
10057
+ _html(`<div${_attr_class("_L")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_M")}><div${_attr_class(content)}><header${_attr_class("_P")}><div${_attr_class("_Q")}><h1${_attr("id", titleId)}>Usage</h1><p${_attr_class("_R")}>Provider plan windows across your agents.</p></div><div${_attr_class("_S")}><button${_attr_class([
10021
10058
  iconBtn,
10022
10059
  "_b1",
10023
10060
  { [spinning]: refreshing }
@@ -10232,20 +10269,20 @@ var REPEAT_DELAY = 400;
10232
10269
  var REPEAT_EVERY = 55;
10233
10270
  var term_default = _template("v", (input) => {
10234
10271
  const $scope0_reason = _scope_reason();
10235
- _serialize_guard($scope0_reason, 3);
10236
- _serialize_guard($scope0_reason, 6);
10272
+ _serialize_guard($scope0_reason, 4);
10273
+ _serialize_guard($scope0_reason, 0);
10237
10274
  _serialize_guard($scope0_reason, 8);
10238
10275
  _serialize_guard($scope0_reason, 9);
10239
10276
  const $si__input_sessions = _serialize_if($scope0_reason, 8);
10240
- _serialize_guard($scope0_reason, 1);
10277
+ _serialize_guard($scope0_reason, 2);
10241
10278
  _serialize_guard($scope0_reason, 10);
10242
10279
  const $si__input_onRenameSession = _serialize_if($scope0_reason, 9);
10243
10280
  _serialize_guard($scope0_reason, 11);
10244
- const $si__input_agents = _serialize_if($scope0_reason, 11), $si__input_mode = _serialize_if($scope0_reason, 3), $si__input_agent = _serialize_if($scope0_reason, 6);
10245
- _serialize_guard($scope0_reason, 2);
10246
- _serialize_guard($scope0_reason, 4);
10281
+ const $si__input_agents = _serialize_if($scope0_reason, 11), $si__input_mode = _serialize_if($scope0_reason, 4), $si__input_agent__OR__input_sessionState = _serialize_if($scope0_reason, 0);
10282
+ _serialize_guard($scope0_reason, 3);
10283
+ _serialize_guard($scope0_reason, 6);
10247
10284
  _serialize_guard($scope0_reason, 12);
10248
- const $si__input_onCloseSession = _serialize_if($scope0_reason, 10), $si__input_sessionId = _serialize_if($scope0_reason, 5), $si__input_sessionState = _serialize_if($scope0_reason, 7), $si__input_workspaceName = _serialize_if($scope0_reason, 12);
10285
+ const $si__input_sessionState = _serialize_if($scope0_reason, 5), $si__input_onCloseSession = _serialize_if($scope0_reason, 10), $si__input_sessionId = _serialize_if($scope0_reason, 7), $si__input_workspaceName = _serialize_if($scope0_reason, 12);
10249
10286
  const $scope0_id = _scope_id();
10250
10287
  _hoist($scope0_id, "v20");
10251
10288
  const $findOpen__closures = /* @__PURE__ */ new Set();
@@ -10254,10 +10291,10 @@ var term_default = _template("v", (input) => {
10254
10291
  const $input_onCloseSession__closures = /* @__PURE__ */ new Set();
10255
10292
  const $input_sessionId__closures = /* @__PURE__ */ new Set();
10256
10293
  const $input_sessions__closures = /* @__PURE__ */ new Set();
10257
- const $input_agent__closures = /* @__PURE__ */ new Set();
10258
10294
  const $input_sessionState__closures = /* @__PURE__ */ new Set();
10259
10295
  const $input_agents__closures = /* @__PURE__ */ new Set();
10260
10296
  const $onTermPage__closures = /* @__PURE__ */ new Set();
10297
+ const $thisAgent__closures = /* @__PURE__ */ new Set();
10261
10298
  const $input_workspaceName__closures = /* @__PURE__ */ new Set();
10262
10299
  let dead = false;
10263
10300
  let kb = false;
@@ -10337,6 +10374,10 @@ var term_default = _template("v", (input) => {
10337
10374
  }
10338
10375
  if (input.mode === "diff") input.onToggleReviewFind?.();
10339
10376
  }, "v8", $scope0_id);
10377
+ const thisAgent = activeAgent({
10378
+ agent: input.agent || "shell",
10379
+ state: input.sessionState
10380
+ });
10340
10381
  const copyFlashBox = { timer: 0 };
10341
10382
  const flashCopied = _resume(() => {
10342
10383
  clearTimeout(copyFlashBox.timer);
@@ -10405,7 +10446,7 @@ var term_default = _template("v", (input) => {
10405
10446
  trapOpen = true;
10406
10447
  }
10407
10448
  }, "v14", $scope0_id);
10408
- _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_d3")}><div${_attr_class("_d4")}></div>${_el_resume($scope0_id, "b")}`);
10449
+ _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_da")}><div${_attr_class("_db")}></div>${_el_resume($scope0_id, "b")}`);
10409
10450
  _if(() => {
10410
10451
  if (findOpen) {
10411
10452
  const $scope11_id = _scope_id();
@@ -10432,7 +10473,7 @@ var term_default = _template("v", (input) => {
10432
10473
  _if(() => {
10433
10474
  if (uploading) {
10434
10475
  const $scope18_id = _scope_id();
10435
- _html(`<div${_attr_class("_eb")}>uploading…</div>`);
10476
+ _html(`<div${_attr_class("_dj")}>uploading…</div>`);
10436
10477
  writeScope($scope18_id, {});
10437
10478
  return 0;
10438
10479
  }
@@ -10440,7 +10481,7 @@ var term_default = _template("v", (input) => {
10440
10481
  _if(() => {
10441
10482
  if (copiedFlash) {
10442
10483
  const $scope19_id = _scope_id();
10443
- _html(`<div${_attr_class("_ea")}>Copied</div>`);
10484
+ _html(`<div${_attr_class("_di")}>Copied</div>`);
10444
10485
  writeScope($scope19_id, {});
10445
10486
  return 0;
10446
10487
  }
@@ -10449,7 +10490,7 @@ var term_default = _template("v", (input) => {
10449
10490
  _if(() => {
10450
10491
  if (trapOpen) {
10451
10492
  const $scope10_id = _scope_id();
10452
- _html(`<div${_attr_class("_ec")}><div${_attr_class("_ed")}><p${_attr_class("_l")}>Long-press below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope10_id, "d")}<button${_attr_class("_d")}>Cancel</button>${_el_resume($scope10_id, "e")}</div>${_el_resume($scope10_id, "b")}</div>${_el_resume($scope10_id, "a")}`);
10493
+ _html(`<div${_attr_class("_dk")}><div${_attr_class("_dl")}><p${_attr_class("_l")}>Long-press below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope10_id, "d")}<button${_attr_class("_d")}>Cancel</button>${_el_resume($scope10_id, "e")}</div>${_el_resume($scope10_id, "b")}</div>${_el_resume($scope10_id, "a")}`);
10453
10494
  _script($scope10_id, "v23");
10454
10495
  _script($scope10_id, "v24");
10455
10496
  writeScope($scope10_id, {});
@@ -10465,62 +10506,63 @@ var term_default = _template("v", (input) => {
10465
10506
  k: input.mode,
10466
10507
  l: input.reviewFindOpen,
10467
10508
  m: input.onToggleReviewFind,
10468
- n: input.workspaceId,
10469
- o: input.onOpenNav,
10470
- p: input.onManage,
10471
- q: input.onExitReview,
10472
- r: input.onToggleDiff,
10473
- s: input.onNewSession,
10474
- t: input.onOpenTab,
10475
- u: input.sessionId,
10476
- v: input.agent,
10477
- w: input.sessionState,
10478
- x: input.sessions,
10479
- y: input.onRenameSession,
10480
- z: input.onCloseSession,
10481
- a0: input.agents,
10482
- a1: input.workspaceName,
10483
- a2: input.active,
10484
- a3: dead,
10485
- a4: kb,
10486
- a5: touch,
10487
- a8: trapOpen,
10488
- a9: findOpen,
10489
- ab: $openChange,
10490
- ac: findTick,
10491
- ae: ioBox.current,
10492
- ah: searchBox.query,
10493
- ai: searchBox.overlay,
10494
- aj: searchBox.refreshTimer,
10495
- al: findFocusRef,
10496
- an: scheduleFindRefresh,
10497
- ao: runFind,
10498
- ap: clearFind,
10499
- aq: openFind,
10500
- as: toggleFind,
10501
- at: onTermPage,
10502
- aw: canKeys,
10503
- ay: findLit,
10504
- az: toggleSharedFind,
10505
- b1: copyFlashBox.timer,
10506
- b2: flashCopied,
10507
- b4: holdBox.current,
10508
- b6: startHold,
10509
- b7: stopHold,
10510
- b8: uploadAsset,
10511
- bb: handlePasted,
10512
- bc: pasteClipboard,
10513
- bq: $findOpen__closures,
10514
- bs: $findTick__closures,
10515
- bk: $si__input_onRenameSession && $input_onRenameSession__closures,
10516
- bl: $si__input_onCloseSession && $input_onCloseSession__closures,
10517
- bg: $si__input_sessionId && $input_sessionId__closures,
10518
- bj: $si__input_sessions && $input_sessions__closures,
10519
- bh: $si__input_agent && $input_agent__closures,
10520
- bi: $si__input_sessionState && $input_sessionState__closures,
10521
- bm: $si__input_agents && $input_agents__closures,
10522
- bx: $si__input_mode && $onTermPage__closures,
10523
- bn: $si__input_workspaceName && $input_workspaceName__closures
10509
+ n: $si__input_sessionState && input.agent,
10510
+ o: input.sessionState,
10511
+ q: input.workspaceId,
10512
+ r: input.onOpenNav,
10513
+ s: input.onManage,
10514
+ t: input.onExitReview,
10515
+ u: input.onToggleDiff,
10516
+ v: input.onNewSession,
10517
+ w: input.onOpenTab,
10518
+ x: input.sessionId,
10519
+ y: input.sessions,
10520
+ z: input.onRenameSession,
10521
+ a0: input.onCloseSession,
10522
+ a1: input.agents,
10523
+ a2: input.workspaceName,
10524
+ a3: input.active,
10525
+ a4: dead,
10526
+ a5: kb,
10527
+ a6: touch,
10528
+ a9: trapOpen,
10529
+ aa: findOpen,
10530
+ ac: $openChange,
10531
+ ad: findTick,
10532
+ af: ioBox.current,
10533
+ ai: searchBox.query,
10534
+ aj: searchBox.overlay,
10535
+ ak: searchBox.refreshTimer,
10536
+ am: findFocusRef,
10537
+ ao: scheduleFindRefresh,
10538
+ ap: runFind,
10539
+ aq: clearFind,
10540
+ ar: openFind,
10541
+ at: toggleFind,
10542
+ au: onTermPage,
10543
+ ax: canKeys,
10544
+ az: findLit,
10545
+ b0: toggleSharedFind,
10546
+ b1: thisAgent,
10547
+ b3: copyFlashBox.timer,
10548
+ b4: flashCopied,
10549
+ b6: holdBox.current,
10550
+ b8: startHold,
10551
+ b9: stopHold,
10552
+ ba: uploadAsset,
10553
+ bd: handlePasted,
10554
+ be: pasteClipboard,
10555
+ br: $findOpen__closures,
10556
+ bt: $findTick__closures,
10557
+ bl: $si__input_onRenameSession && $input_onRenameSession__closures,
10558
+ bm: $si__input_onCloseSession && $input_onCloseSession__closures,
10559
+ bj: $si__input_sessionId && $input_sessionId__closures,
10560
+ bk: $si__input_sessions && $input_sessions__closures,
10561
+ bh: $si__input_sessionState && $input_sessionState__closures,
10562
+ bn: $si__input_agents && $input_agents__closures,
10563
+ by: $si__input_mode && $onTermPage__closures,
10564
+ c1: $si__input_agent__OR__input_sessionState && $thisAgent__closures,
10565
+ bo: $si__input_workspaceName && $input_workspaceName__closures
10524
10566
  });
10525
10567
  _resume_branch($scope0_id);
10526
10568
  });
@@ -10698,7 +10740,7 @@ var work_view_default = _template("y", (input) => {
10698
10740
  error = String(err.message || err);
10699
10741
  }
10700
10742
  }, "y15", $scope0_id);
10701
- _html(`<div${_attr_class(["_M", { ["_L"]: view === "nav" }])}><div${_attr_class("_N")}>`);
10743
+ _html(`<div${_attr_class(["_bF", { ["_bE"]: view === "nav" }])}><div${_attr_class("_bG")}>`);
10702
10744
  _set_serialize_reason({
10703
10745
  0: _serialize_guard($scope0_reason, 0),
10704
10746
  1: _serialize_guard($scope0_reason, 2),
@@ -10769,7 +10811,7 @@ var work_view_default = _template("y", (input) => {
10769
10811
  openDiff(pr);
10770
10812
  }, "y27", $scope0_id)
10771
10813
  });
10772
- _html(`</div><div${_attr_class("_O")}>`);
10814
+ _html(`</div><div${_attr_class("_bH")}>`);
10773
10815
  _if(() => {
10774
10816
  if (error) {
10775
10817
  const $scope8_id = _scope_id();
@@ -10797,12 +10839,14 @@ var work_view_default = _template("y", (input) => {
10797
10839
  _set_serialize_reason({
10798
10840
  0: 1,
10799
10841
  3: 1,
10800
- 4: $sg__input_workspace
10842
+ 4: $sg__input_workspace,
10843
+ 5: $sg__input_workspace
10801
10844
  });
10802
10845
  const $childScope2 = _peek_scope_id();
10803
10846
  diff_view_default({
10804
10847
  workspaceId: ws.id,
10805
10848
  workspaceBranch: ws.branch,
10849
+ workspaceName: ws.name,
10806
10850
  sessions: shownSessions || [],
10807
10851
  active: input.active && view === "diff",
10808
10852
  focusPr,
@@ -10859,7 +10903,7 @@ var work_view_default = _template("y", (input) => {
10859
10903
  }
10860
10904
  }, $scope0_id, "h");
10861
10905
  _if(() => {}, $scope0_id, "i");
10862
- _html(`<div${_attr_class(["_Q", { ["_P"]: view !== "term" }])}>`);
10906
+ _html(`<div${_attr_class(["_bJ", { ["_bI"]: view !== "term" }])}>`);
10863
10907
  _if(() => {
10864
10908
  if (shownSessions) {
10865
10909
  const $scope4_id = _scope_id();
@@ -10933,7 +10977,7 @@ var work_view_default = _template("y", (input) => {
10933
10977
  _if(() => {
10934
10978
  if (!shownSessions.length) {
10935
10979
  const $scope6_id = _scope_id();
10936
- _html(`<div${_attr_class("_S")}><p${_attr_class("_l")}>No sessions in this workspace.</p><button${_attr_class(["_d", "_e"])}${_attr("disabled", spawning)}>${spawning ? "Starting…" : `Start ${_escape(`${input.preferred || "claude"}`)}`}${_el_resume($scope6_id, "d")}</button>${_el_resume($scope6_id, "c")}</div>`);
10980
+ _html(`<div${_attr_class("_bL")}><p${_attr_class("_l")}>No sessions in this workspace.</p><button${_attr_class(["_d", "_e"])}${_attr("disabled", spawning)}>${spawning ? "Starting…" : `Start ${_escape(`${input.preferred || "claude"}`)}`}${_el_resume($scope6_id, "d")}</button>${_el_resume($scope6_id, "c")}</div>`);
10937
10981
  _script($scope6_id, "y47");
10938
10982
  _subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope6_id, {})));
10939
10983
  return 0;
@@ -10943,7 +10987,7 @@ var work_view_default = _template("y", (input) => {
10943
10987
  return 0;
10944
10988
  } else {
10945
10989
  const $scope10_id = _scope_id();
10946
- _html(`<p${_attr_class("_R")}>Loading sessions…</p>`);
10990
+ _html(`<p${_attr_class("_bK")}>Loading sessions…</p>`);
10947
10991
  writeScope($scope10_id, {});
10948
10992
  return 1;
10949
10993
  }
@@ -13335,12 +13379,13 @@ function markStale(row, key, tokenExpired, reason) {
13335
13379
  //#region src/server/usage/claude.ts
13336
13380
  /** Every Claude account this machine can read.
13337
13381
  *
13338
- * Numbered dirs (~/.claude-1, -2) keep metadata at <dir>/.claude.json; the
13382
+ * Numbered dirs (~/.claude-1, -2, …) keep metadata at <dir>/.claude.json; the
13339
13383
  * stock single-account install keeps it at ~/.claude.json with only
13340
- * credentials under ~/.claude/. */
13384
+ * credentials under ~/.claude/. The numbered ones are discovered rather than
13385
+ * assumed — hardcoding a count is a guess about one machine's setup. */
13341
13386
  function claudeAccounts() {
13342
- const candidates = [...[1, 2].map((n) => ({
13343
- suffix: String(n),
13387
+ const candidates = [...numberedDirs().map((n) => ({
13388
+ suffix: n,
13344
13389
  dir: path.join(HOME, `.claude-${n}`),
13345
13390
  meta: path.join(HOME, `.claude-${n}`, ".claude.json"),
13346
13391
  label: `claude${n}`
@@ -13363,6 +13408,14 @@ function claudeAccounts() {
13363
13408
  }
13364
13409
  return out;
13365
13410
  }
13411
+ /** `.claude-<n>` directories in $HOME, in numeric order. */
13412
+ function numberedDirs() {
13413
+ try {
13414
+ return fs.readdirSync(HOME).map((entry) => /^\.claude-(\d+)$/.exec(entry)?.[1]).filter((n) => !!n).sort((a, b) => Number(a) - Number(b));
13415
+ } catch {
13416
+ return [];
13417
+ }
13418
+ }
13366
13419
  var credentials = (account) => readJson(path.join(account.dir, ".credentials.json"));
13367
13420
  /** Why an account has no live data — an expired token is the common case
13368
13421
  * and only that account's own CLI can refresh it. */
@@ -19010,4 +19063,4 @@ server.listen(port, () => {
19010
19063
  //#endregion
19011
19064
  export {};
19012
19065
 
19013
- ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-Dfh2odxc.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-Dfh2odxc.css\"",">"],"defer":[2,"/assets/index-DNOnhrX7.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-DNOnhrX7.js\"","></script>"]}};
19066
+ ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-IuM7k5a_.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-IuM7k5a_.css\"",">"],"defer":[2,"/assets/index-b_5IaVWb.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-b_5IaVWb.js\"","></script>"]}};