@dylanpiercey/work 0.0.41 → 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 +450 -397
  4. package/dist/public/assets/{_B72m4Heg2.js → _0SoblpUc2.js} +2 -2
  5. package/dist/public/assets/{_B72m4Heg2.js.map → _0SoblpUc2.js.map} +1 -1
  6. package/dist/public/assets/{_DOuSJx7H.js → _0d6i7SCG.js} +2 -2
  7. package/dist/public/assets/{_DOuSJx7H.js.map → _0d6i7SCG.js.map} +1 -1
  8. package/dist/public/assets/{_CuXae0ve.js → _0rETN7fw.js} +2 -2
  9. package/dist/public/assets/{_CuXae0ve.js.map → _0rETN7fw.js.map} +1 -1
  10. package/dist/public/assets/{_D4T8Kx36.js → _1XAwUk7B.js} +2 -2
  11. package/dist/public/assets/{_D4T8Kx36.js.map → _1XAwUk7B.js.map} +1 -1
  12. package/dist/public/assets/{_C2jFdMKg2.js → _2ZGyigrr2.js} +2 -2
  13. package/dist/public/assets/{_C2jFdMKg2.js.map → _2ZGyigrr2.js.map} +1 -1
  14. package/dist/public/assets/{_BCIV1arR2.js → _2oNgpGGF2.js} +2 -2
  15. package/dist/public/assets/{_BCIV1arR2.js.map → _2oNgpGGF2.js.map} +1 -1
  16. package/dist/public/assets/{_KKXFtWm1.js → _50oxgBta.js} +2 -2
  17. package/dist/public/assets/{_KKXFtWm1.js.map → _50oxgBta.js.map} +1 -1
  18. package/dist/public/assets/{_DnucOiTi2.js → _8jo3l7eK2.js} +2 -2
  19. package/dist/public/assets/{_DnucOiTi2.js.map → _8jo3l7eK2.js.map} +1 -1
  20. package/dist/public/assets/{_eLpVB_Wq.js → _92Ayy-6_.js} +2 -2
  21. package/dist/public/assets/{_eLpVB_Wq.js.map → _92Ayy-6_.js.map} +1 -1
  22. package/dist/public/assets/{_B7kC4ECJ.js → _B1utu-2f.js} +2 -2
  23. package/dist/public/assets/{_B7kC4ECJ.js.map → _B1utu-2f.js.map} +1 -1
  24. package/dist/public/assets/{_CHpdg7T22.js → _B7TgtrEV2.js} +2 -2
  25. package/dist/public/assets/{_CHpdg7T22.js.map → _B7TgtrEV2.js.map} +1 -1
  26. package/dist/public/assets/{_B2NkZVYt.js → _BDDLhPen.js} +2 -2
  27. package/dist/public/assets/{_B2NkZVYt.js.map → _BDDLhPen.js.map} +1 -1
  28. package/dist/public/assets/{_CsZuTP-e2.js → _BEswnf1Q2.js} +2 -2
  29. package/dist/public/assets/{_CsZuTP-e2.js.map → _BEswnf1Q2.js.map} +1 -1
  30. package/dist/public/assets/{_DRFzGQ_P.js → _BI6g1yGx.js} +2 -2
  31. package/dist/public/assets/{_DRFzGQ_P.js.map → _BI6g1yGx.js.map} +1 -1
  32. package/dist/public/assets/{_ByWtfiyC.js → _BI9Wrts5.js} +2 -2
  33. package/dist/public/assets/{_ByWtfiyC.js.map → _BI9Wrts5.js.map} +1 -1
  34. package/dist/public/assets/{_Bg7axLcI2.js → _BKCf_qHW2.js} +2 -2
  35. package/dist/public/assets/{_Bg7axLcI2.js.map → _BKCf_qHW2.js.map} +1 -1
  36. package/dist/public/assets/{_CXQ9i19x2.js → _BNdat9rC2.js} +2 -2
  37. package/dist/public/assets/{_CXQ9i19x2.js.map → _BNdat9rC2.js.map} +1 -1
  38. package/dist/public/assets/{_BOb-Pn3q.js → _BOMrAeKx.js} +2 -2
  39. package/dist/public/assets/{_BOb-Pn3q.js.map → _BOMrAeKx.js.map} +1 -1
  40. package/dist/public/assets/{_B7s0O6p8.js → _BQOL5HZ0.js} +2 -2
  41. package/dist/public/assets/{_B7s0O6p8.js.map → _BQOL5HZ0.js.map} +1 -1
  42. package/dist/public/assets/{_bqFlf3Pi.js → _BU9Vfw9L.js} +2 -2
  43. package/dist/public/assets/{_bqFlf3Pi.js.map → _BU9Vfw9L.js.map} +1 -1
  44. package/dist/public/assets/{_BocyNiHx2.js → _BUSCa4gg2.js} +2 -2
  45. package/dist/public/assets/{_BocyNiHx2.js.map → _BUSCa4gg2.js.map} +1 -1
  46. package/dist/public/assets/{_Bct9DrCG2.js → _BUk_n2NJ2.js} +2 -2
  47. package/dist/public/assets/{_Bct9DrCG2.js.map → _BUk_n2NJ2.js.map} +1 -1
  48. package/dist/public/assets/{_vk5AMlte.js → _BVIZmKiN.js} +2 -2
  49. package/dist/public/assets/{_vk5AMlte.js.map → _BVIZmKiN.js.map} +1 -1
  50. package/dist/public/assets/{_BLiEKrCj.js → _BWC17Dxo.js} +2 -2
  51. package/dist/public/assets/{_BLiEKrCj.js.map → _BWC17Dxo.js.map} +1 -1
  52. package/dist/public/assets/{_DDsvxP8k.js → _Bq5ird2Q.js} +2 -2
  53. package/dist/public/assets/{_DDsvxP8k.js.map → _Bq5ird2Q.js.map} +1 -1
  54. package/dist/public/assets/{_Bni2E818.js → _BrPFsJOt.js} +2 -2
  55. package/dist/public/assets/{_Bni2E818.js.map → _BrPFsJOt.js.map} +1 -1
  56. package/dist/public/assets/{_BVpFyzyu2.js → _BvCehyhK2.js} +2 -2
  57. package/dist/public/assets/{_BVpFyzyu2.js.map → _BvCehyhK2.js.map} +1 -1
  58. package/dist/public/assets/{_DiZzZSjb.js → _By_iykWa.js} +2 -2
  59. package/dist/public/assets/{_DiZzZSjb.js.map → _By_iykWa.js.map} +1 -1
  60. package/dist/public/assets/{_D20wuad5.js → _C06WlduN.js} +2 -2
  61. package/dist/public/assets/{_D20wuad5.js.map → _C06WlduN.js.map} +1 -1
  62. package/dist/public/assets/{_BXsQSWWX.js → _C1FYb8Zt.js} +2 -2
  63. package/dist/public/assets/{_BXsQSWWX.js.map → _C1FYb8Zt.js.map} +1 -1
  64. package/dist/public/assets/{_CR9ATfbr.js → _C3P4uPmT.js} +2 -2
  65. package/dist/public/assets/{_CR9ATfbr.js.map → _C3P4uPmT.js.map} +1 -1
  66. package/dist/public/assets/{_BdJRzcvC.js → _C6ImtRE3.js} +2 -2
  67. package/dist/public/assets/{_BdJRzcvC.js.map → _C6ImtRE3.js.map} +1 -1
  68. package/dist/public/assets/{_Dl4EWW5M.js → _C8chWwcx.js} +2 -2
  69. package/dist/public/assets/{_Dl4EWW5M.js.map → _C8chWwcx.js.map} +1 -1
  70. package/dist/public/assets/{_BCr95U42.js → _CBI6k99i.js} +2 -2
  71. package/dist/public/assets/{_BCr95U42.js.map → _CBI6k99i.js.map} +1 -1
  72. package/dist/public/assets/{_BjchXZRW.js → _CD1Cz3b0.js} +2 -2
  73. package/dist/public/assets/{_BjchXZRW.js.map → _CD1Cz3b0.js.map} +1 -1
  74. package/dist/public/assets/{_B_WEnwWZ2.js → _CDs3Plg22.js} +2 -2
  75. package/dist/public/assets/{_B_WEnwWZ2.js.map → _CDs3Plg22.js.map} +1 -1
  76. package/dist/public/assets/{_BBC6FrOe2.js → _CHwGkQFJ2.js} +2 -2
  77. package/dist/public/assets/{_BBC6FrOe2.js.map → _CHwGkQFJ2.js.map} +1 -1
  78. package/dist/public/assets/{_lXr5_a6k2.js → _CPAY8Aio2.js} +2 -2
  79. package/dist/public/assets/{_lXr5_a6k2.js.map → _CPAY8Aio2.js.map} +1 -1
  80. package/dist/public/assets/{_BKxOULLA.js → _CS8Ls-zU.js} +2 -2
  81. package/dist/public/assets/{_BKxOULLA.js.map → _CS8Ls-zU.js.map} +1 -1
  82. package/dist/public/assets/{_BnSmLTYb.js → _CVh9Qrkt.js} +2 -2
  83. package/dist/public/assets/{_BnSmLTYb.js.map → _CVh9Qrkt.js.map} +1 -1
  84. package/dist/public/assets/{_DANQhsl6.js → _CWKjTKW_.js} +2 -2
  85. package/dist/public/assets/{_DANQhsl6.js.map → _CWKjTKW_.js.map} +1 -1
  86. package/dist/public/assets/{_DKIbpX1r.js → _CcZK3hG6.js} +2 -2
  87. package/dist/public/assets/{_DKIbpX1r.js.map → _CcZK3hG6.js.map} +1 -1
  88. package/dist/public/assets/{_3FvrUJYy2.js → _CebcXVzD2.js} +2 -2
  89. package/dist/public/assets/{_3FvrUJYy2.js.map → _CebcXVzD2.js.map} +1 -1
  90. package/dist/public/assets/{_D-CiRcbK.js → _CfjPIVcs.js} +2 -2
  91. package/dist/public/assets/{_D-CiRcbK.js.map → _CfjPIVcs.js.map} +1 -1
  92. package/dist/public/assets/{_BoX_Ofe92.js → _CgNZeXVz2.js} +2 -2
  93. package/dist/public/assets/{_BoX_Ofe92.js.map → _CgNZeXVz2.js.map} +1 -1
  94. package/dist/public/assets/{_EPocSo4T.js → _CqRLElJC.js} +2 -2
  95. package/dist/public/assets/{_EPocSo4T.js.map → _CqRLElJC.js.map} +1 -1
  96. package/dist/public/assets/{_MORbWdYO.js → _CuxifEzv.js} +2 -2
  97. package/dist/public/assets/{_MORbWdYO.js.map → _CuxifEzv.js.map} +1 -1
  98. package/dist/public/assets/{_Cf990ZTV.js → _CvTTpFvL.js} +2 -2
  99. package/dist/public/assets/{_Cf990ZTV.js.map → _CvTTpFvL.js.map} +1 -1
  100. package/dist/public/assets/{_BCnAMUTQ2.js → _D-aDQKsl2.js} +2 -2
  101. package/dist/public/assets/{_BCnAMUTQ2.js.map → _D-aDQKsl2.js.map} +1 -1
  102. package/dist/public/assets/{_BWNzPyR-.js → _D0lbzoha.js} +2 -2
  103. package/dist/public/assets/{_BWNzPyR-.js.map → _D0lbzoha.js.map} +1 -1
  104. package/dist/public/assets/{_CglqdFiD2.js → _D3KSMZfR2.js} +2 -2
  105. package/dist/public/assets/{_CglqdFiD2.js.map → _D3KSMZfR2.js.map} +1 -1
  106. package/dist/public/assets/{_DYUI_qtj.js → _DAEGv5NF.js} +2 -2
  107. package/dist/public/assets/{_DYUI_qtj.js.map → _DAEGv5NF.js.map} +1 -1
  108. package/dist/public/assets/{_BfM6eibe2.js → _DB-kct9w2.js} +2 -2
  109. package/dist/public/assets/{_BfM6eibe2.js.map → _DB-kct9w2.js.map} +1 -1
  110. package/dist/public/assets/{_CMC5FOms.js → _DB8S7IpZ.js} +2 -2
  111. package/dist/public/assets/{_CMC5FOms.js.map → _DB8S7IpZ.js.map} +1 -1
  112. package/dist/public/assets/{_BW-4hwO72.js → _DCEHkwqM2.js} +2 -2
  113. package/dist/public/assets/{_BW-4hwO72.js.map → _DCEHkwqM2.js.map} +1 -1
  114. package/dist/public/assets/{_DITDEtIK.js → _DF14Q5Qx.js} +2 -2
  115. package/dist/public/assets/{_DITDEtIK.js.map → _DF14Q5Qx.js.map} +1 -1
  116. package/dist/public/assets/{_Zjm8E5gs.js → _DFCpASZP.js} +2 -2
  117. package/dist/public/assets/{_Zjm8E5gs.js.map → _DFCpASZP.js.map} +1 -1
  118. package/dist/public/assets/{_QIS_jvCk2.js → _DM9k9EbW2.js} +2 -2
  119. package/dist/public/assets/{_QIS_jvCk2.js.map → _DM9k9EbW2.js.map} +1 -1
  120. package/dist/public/assets/{_DOK3qs_j.js → _DhjXRxO9.js} +2 -2
  121. package/dist/public/assets/{_DOK3qs_j.js.map → _DhjXRxO9.js.map} +1 -1
  122. package/dist/public/assets/{_B67tNyB02.js → _Dl0XJBEV2.js} +2 -2
  123. package/dist/public/assets/{_B67tNyB02.js.map → _Dl0XJBEV2.js.map} +1 -1
  124. package/dist/public/assets/{_B0Lbe-Ub.js → _DnucvDC2.js} +2 -2
  125. package/dist/public/assets/{_B0Lbe-Ub.js.map → _DnucvDC2.js.map} +1 -1
  126. package/dist/public/assets/{_DLtguS0M2.js → _DoUnBC9z2.js} +2 -2
  127. package/dist/public/assets/{_DLtguS0M2.js.map → _DoUnBC9z2.js.map} +1 -1
  128. package/dist/public/assets/{_C4VRIVt2.js → _DrmYy8Xm.js} +2 -2
  129. package/dist/public/assets/{_C4VRIVt2.js.map → _DrmYy8Xm.js.map} +1 -1
  130. package/dist/public/assets/{_DOMdlLi02.js → _Ds-8nOL22.js} +2 -2
  131. package/dist/public/assets/{_DOMdlLi02.js.map → _Ds-8nOL22.js.map} +1 -1
  132. package/dist/public/assets/{_DCdPuEzi.js → _DsnZTImt.js} +2 -2
  133. package/dist/public/assets/{_DCdPuEzi.js.map → _DsnZTImt.js.map} +1 -1
  134. package/dist/public/assets/{_Di2tZObT.js → _RvdO33BX.js} +2 -2
  135. package/dist/public/assets/{_Di2tZObT.js.map → _RvdO33BX.js.map} +1 -1
  136. package/dist/public/assets/{_C_g0fhev.js → _jBaQQMq8.js} +2 -2
  137. package/dist/public/assets/{_C_g0fhev.js.map → _jBaQQMq8.js.map} +1 -1
  138. package/dist/public/assets/{__Fv6A47I.js → _jIyKybTG.js} +2 -2
  139. package/dist/public/assets/{__Fv6A47I.js.map → _jIyKybTG.js.map} +1 -1
  140. package/dist/public/assets/{_D9nZPeON.js → _nndW68VX.js} +2 -2
  141. package/dist/public/assets/{_D9nZPeON.js.map → _nndW68VX.js.map} +1 -1
  142. package/dist/public/assets/{_C78LMQ4R.js → _oxfxBzwP.js} +2 -2
  143. package/dist/public/assets/{_C78LMQ4R.js.map → _oxfxBzwP.js.map} +1 -1
  144. package/dist/public/assets/{_D8kGoid1.js → _pMBSr7lE.js} +2 -2
  145. package/dist/public/assets/{_D8kGoid1.js.map → _pMBSr7lE.js.map} +1 -1
  146. package/dist/public/assets/{_CLG4Axpw.js → _qMizCBPI.js} +2 -2
  147. package/dist/public/assets/{_CLG4Axpw.js.map → _qMizCBPI.js.map} +1 -1
  148. package/dist/public/assets/{_COW7ENXO.js → _sLWiGyoa.js} +2 -2
  149. package/dist/public/assets/{_COW7ENXO.js.map → _sLWiGyoa.js.map} +1 -1
  150. package/dist/public/assets/{_BQBiYAA_.js → _w7Gbf-aq.js} +2 -2
  151. package/dist/public/assets/{_BQBiYAA_.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 +2 -1
  156. package/dist/_CMIdvV46.js +0 -2
  157. package/dist/public/assets/index-B0XMMdPo.css +0 -1
  158. package/dist/public/assets/index-CNo7v-9k.js +0 -1615
  159. package/dist/public/assets/index-CNo7v-9k.js.map +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,13 +4418,7 @@ 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
- var toastDismiss = "_S _G";
4421
+ var toastDismiss = "_K _y";
4428
4422
  //#endregion
4429
4423
  //#region src/tags/toast.marko
4430
4424
  var toast_default = _template("w", (input) => {
@@ -4435,27 +4429,27 @@ var toast_default = _template("w", (input) => {
4435
4429
  const kind = inputKind || "error";
4436
4430
  const placement = inputPlacement || "float";
4437
4431
  const kindClass = {
4438
- error: "_L",
4439
- warn: "_N",
4440
- info: "_O"
4432
+ error: "_D",
4433
+ warn: "_F",
4434
+ info: "_G"
4441
4435
  }[kind];
4442
4436
  const placementClass = {
4443
- float: "_J",
4444
- inline: "_K"
4437
+ float: "_B",
4438
+ inline: "_C"
4445
4439
  }[placement];
4446
4440
  _html(`<div${_attr_class([
4447
- "_I",
4441
+ "_A",
4448
4442
  kindClass,
4449
4443
  placementClass,
4450
4444
  inputClass
4451
4445
  ])} role=${kind === "error" ? "alert" : "status"}${_attrs_partial(htmlInput, {
4452
4446
  class: 1,
4453
4447
  role: 1
4454
- }, "a", $scope0_id, "div")}><div${_attr_class("_P")}>`);
4448
+ }, "a", $scope0_id, "div")}><div${_attr_class("_H")}>`);
4455
4449
  _if(() => {
4456
4450
  if (title) {
4457
4451
  const $scope1_id = _scope_id();
4458
- _html(`<strong${_attr_class("_M")}>${_escape(title)}${_el_resume($scope1_id, "b", $sg__input_title)}</strong>`);
4452
+ _html(`<strong${_attr_class("_E")}>${_escape(title)}${_el_resume($scope1_id, "b", $sg__input_title)}</strong>`);
4459
4453
  $si__input_title && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
4460
4454
  return 0;
4461
4455
  }
@@ -4463,7 +4457,7 @@ var toast_default = _template("w", (input) => {
4463
4457
  _if(() => {
4464
4458
  if (content) {
4465
4459
  const $scope2_id = _scope_id();
4466
- _html(`<div${_attr_class("_Q")}>`);
4460
+ _html(`<div${_attr_class("_I")}>`);
4467
4461
  _dynamic_tag($scope2_id, "b", content, {}, 0, 0, $sg__input_content);
4468
4462
  _html("</div>");
4469
4463
  $si__input_content && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
@@ -4474,7 +4468,7 @@ var toast_default = _template("w", (input) => {
4474
4468
  _if(() => {
4475
4469
  if (action || onDismiss) {
4476
4470
  const $scope3_id = _scope_id();
4477
- _html(`<div${_attr_class("_R")}>`);
4471
+ _html(`<div${_attr_class("_J")}>`);
4478
4472
  _if(() => {
4479
4473
  if (action) {
4480
4474
  const $scope4_id = _scope_id();
@@ -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) => {
@@ -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 = "_T _A";
4969
- var iconBtn$5 = "_W _G";
4970
- var spinning$3 = "_X _H";
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("_y")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_z")}><div${_attr_class(content$2)}><header${_attr_class("_C")}><div${_attr_class("_D")}><h1${_attr("id", titleId)}>New workspace</h1><p${_attr_class("_E")}>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();
@@ -5518,8 +5531,8 @@ function vapidKey(base64) {
5518
5531
  const raw = atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
5519
5532
  return Uint8Array.from(raw, (c) => c.charCodeAt(0));
5520
5533
  }
5521
- var iconBtn$4 = "_cp _G";
5522
- var navToggle = "_cr _G";
5534
+ var iconBtn$4 = "_cU _y";
5535
+ var navToggle = "_cW _y";
5523
5536
  _template("C", (input) => {
5524
5537
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5525
5538
  const $scope0_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 = "_eR _G";
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, { ["_eQ"]: 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
- "_eS"
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(["_eT", {
5796
- ["_eQ"]: input.current,
5797
- ["_eU"]: input.railPop,
5798
- ["_e6"]: input.page
5799
- }])}><div${_attr_class("_eV")}><button${_attr_class("_eW")}><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
- "_e5"
5803
- ])}></span>${_el_resume($scope3_id, "d", $sg__input_workspaceId__OR__input_status)}<span${_attr_class("_e1")}><span${_attr_class("_e2")}>${_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("_e3")}>${_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("_e4")}>${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("_eX")}>`);
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("_eY")} 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("_e0")}>`);
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("_eY")} 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(["_eY", { ["_eZ"]: 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("_fd")}>`);
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(["_fb", { ["_eQ"]: 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
- "_e9"
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: "_ff"
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("_e_")} 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("_fe")}><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: "_ff"
5956
+ class: "_fC"
5923
5957
  });
5924
- _html(`<span${_attr_class("_e7")}>${_escape(s.title || s.agent)}${_el_resume($scope10_id, "e", $sg__input_sessions)}</span></button>${_el_resume($scope10_id, "a")}<div${_attr_class("_e8")}><button${_attr_class("_eY")} 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(["_fa", { ["_fc"]: 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,
@@ -6121,16 +6155,16 @@ var side_nav_default = _template("t", (input) => {
6121
6155
  const wsSelected = view !== "usage" && view !== "new";
6122
6156
  const otherIds = itemIds.filter((id) => id !== ws.id);
6123
6157
  const listIds = isPage ? [ws.id, ...otherIds] : itemIds;
6124
- _html(`<aside${_attr_class(["_cv", {
6125
- ["_ct"]: !navOpen,
6126
- ["_cu"]: isPage
6158
+ _html(`<aside${_attr_class(["_c0", {
6159
+ ["_cY"]: !navOpen,
6160
+ ["_cZ"]: isPage
6127
6161
  }])}${_attr("hidden", view === "diff")}>`);
6128
6162
  _if(() => {
6129
6163
  if (isPage) {
6130
6164
  const $scope1_id = _scope_id();
6131
- _html(`<header${_attr_class("_cw")}><h1>Workspaces</h1><div${_attr_class("_cx")}>`);
6165
+ _html(`<header${_attr_class("_c1")}><h1>Workspaces</h1><div${_attr_class("_c2")}>`);
6132
6166
  _if(() => {}, $scope1_id, "c", 1, 1, 1, 0, 1);
6133
- _html(`<button${_attr_class([iconBtn$4, { ["_co"]: view === "usage" }])} title=Usage aria-pressed=${view === "usage" ? "true" : "false"}>`);
6167
+ _html(`<button${_attr_class([iconBtn$4, { ["_cT"]: view === "usage" }])} title=Usage aria-pressed=${view === "usage" ? "true" : "false"}>`);
6134
6168
  icon_gauge_default({ size: 16 });
6135
6169
  _html(`</button>${_el_resume($scope1_id, "d")}</div></header>`);
6136
6170
  _script($scope1_id, "t18");
@@ -6138,13 +6172,13 @@ var side_nav_default = _template("t", (input) => {
6138
6172
  return 0;
6139
6173
  }
6140
6174
  }, $scope0_id, "b", 1, 1, 1, 0, 1);
6141
- _html(`<div${_attr_class("_cA")}>`);
6175
+ _html(`<div${_attr_class("_c5")}>`);
6142
6176
  _for_of(listIds, (wsId) => {
6143
6177
  const $scope2_id = _scope_id();
6144
6178
  _if(() => {
6145
6179
  if (isPage && wsId === ws.id) {
6146
6180
  const $scope10_id = _scope_id();
6147
- _html(`<h2${_attr_class("_cy")}>Current</h2>`);
6181
+ _html(`<h2${_attr_class("_c3")}>Current</h2>`);
6148
6182
  writeScope($scope10_id, {});
6149
6183
  return 0;
6150
6184
  }
@@ -6152,7 +6186,7 @@ var side_nav_default = _template("t", (input) => {
6152
6186
  _if(() => {
6153
6187
  if (isPage && wsId !== ws.id && wsId === otherIds[0]) {
6154
6188
  const $scope11_id = _scope_id();
6155
- _html(`<h2${_attr_class("_cy")}>Other spaces</h2>`);
6189
+ _html(`<h2${_attr_class("_c3")}>Other spaces</h2>`);
6156
6190
  writeScope($scope11_id, {});
6157
6191
  return 0;
6158
6192
  }
@@ -6251,7 +6285,7 @@ var side_nav_default = _template("t", (input) => {
6251
6285
  railHover = null;
6252
6286
  }, 150);
6253
6287
  }, "t9", $scope3_id);
6254
- _html(`<div${_attr_class("_cB")}>`);
6288
+ _html(`<div${_attr_class("_c6")}>`);
6255
6289
  _for_of(itemIds, (wsId, i) => {
6256
6290
  const $scope4_id = _scope_id();
6257
6291
  _html("<span>");
@@ -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
@@ -6299,7 +6333,7 @@ var side_nav_default = _template("t", (input) => {
6299
6333
  if (railHover) {
6300
6334
  const $scope5_id = _scope_id();
6301
6335
  const hoverId = railHover.id;
6302
- _html(`<div${_attr_class("_cE")}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
6336
+ _html(`<div${_attr_class("_c9")}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
6303
6337
  _set_serialize_reason({
6304
6338
  0: 1,
6305
6339
  1: 1,
@@ -6403,11 +6437,11 @@ var side_nav_default = _template("t", (input) => {
6403
6437
  return 0;
6404
6438
  }
6405
6439
  }, $scope0_id, "d");
6406
- _html(`<div${_attr_class("_cC")}>`);
6440
+ _html(`<div${_attr_class("_c7")}>`);
6407
6441
  _if(() => {
6408
6442
  if (isPage) {
6409
6443
  const $scope6_id = _scope_id();
6410
- _html(`<button${_attr_class(["_cz", { ["_co"]: view === "new" }])} title="New workspace" aria-pressed=${view === "new" ? "true" : "false"}>`);
6444
+ _html(`<button${_attr_class(["_c4", { ["_cT"]: view === "new" }])} title="New workspace" aria-pressed=${view === "new" ? "true" : "false"}>`);
6411
6445
  icon_folder_plus_default({ size: 16 });
6412
6446
  _html(` New workspace</button>${_el_resume($scope6_id, "a")}`);
6413
6447
  _script($scope6_id, "t21");
@@ -6429,11 +6463,11 @@ var side_nav_default = _template("t", (input) => {
6429
6463
  return 1;
6430
6464
  }
6431
6465
  }, $scope7_id, "a", 1, 1, 1, "</button>", 1);
6432
- _html(`<div${_attr_class(["_n", "_cD"])}></div>`);
6466
+ _html(`<div${_attr_class(["_n", "_c8"])}></div>`);
6433
6467
  _if(() => {}, $scope7_id, "c", 1, 1, 1, 0, 1);
6434
- _html(`<button${_attr_class([iconBtn$4, { ["_co"]: view === "usage" }])} title=Usage aria-pressed=${view === "usage" ? "true" : "false"}>`);
6468
+ _html(`<button${_attr_class([iconBtn$4, { ["_cT"]: view === "usage" }])} title=Usage aria-pressed=${view === "usage" ? "true" : "false"}>`);
6435
6469
  icon_gauge_default({ size: 15 });
6436
- _html(`</button>${_el_resume($scope7_id, "d")}<button${_attr_class([iconBtn$4, { ["_co"]: view === "new" }])} title="New workspace" aria-pressed=${view === "new" ? "true" : "false"}>`);
6470
+ _html(`</button>${_el_resume($scope7_id, "d")}<button${_attr_class([iconBtn$4, { ["_cT"]: view === "new" }])} title="New workspace" aria-pressed=${view === "new" ? "true" : "false"}>`);
6437
6471
  icon_folder_plus_default({ size: 16 });
6438
6472
  _html(`</button>${_el_resume($scope7_id, "f")}`);
6439
6473
  _script($scope7_id, "t23");
@@ -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 = "_dN _G";
6757
- var spinning$2 = "_dO _H";
6758
- var treeToggle = "_dR _G";
6759
- var repoWorktree = "_el _m";
6760
- var repoTitle = "_en _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("_fg")}><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("_fh")} 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("_fi")}><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();
@@ -8311,7 +8354,7 @@ function clip(line, at, len) {
8311
8354
  const end = Math.min(line.length, at + len + pad);
8312
8355
  return (start > 0 ? "…" : "") + line.slice(start, end) + (end < line.length ? "…" : "");
8313
8356
  }
8314
- var findIconBtn = "_eK _G";
8357
+ var findIconBtn = "_eM _y";
8315
8358
  //#endregion
8316
8359
  //#region src/tags/diff-find.marko
8317
8360
  var setSearchPaint$1;
@@ -8381,9 +8424,9 @@ var diff_find_default = _template("f", (input) => {
8381
8424
  el.select();
8382
8425
  }, 0);
8383
8426
  }, "f5", $scope0_id);
8384
- _html(`<div${_attr_class(["_eG", !open && "_eF"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
8427
+ _html(`<div${_attr_class(["_eI", !open && "_eH"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
8385
8428
  type(v);
8386
- }, "f0", $scope0_id))}${_attr_class("_eH")} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in diffs" aria-label="Find in diffs">${_el_resume($scope0_id, "b")}<span${_attr_class("_eJ")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>×</button>${_el_resume($scope0_id, "g")}</div>${_el_resume($scope0_id, "a")}`);
8429
+ }, "f0", $scope0_id))}${_attr_class("_eJ")} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in diffs" aria-label="Find in diffs">${_el_resume($scope0_id, "b")}<span${_attr_class("_eL")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>×</button>${_el_resume($scope0_id, "g")}</div>${_el_resume($scope0_id, "a")}`);
8387
8430
  _script($scope0_id, "f6");
8388
8431
  _script($scope0_id, "f7");
8389
8432
  _script($scope0_id, "f8");
@@ -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("_fj")}></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(["_fv", { ["_fu"]: 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("_fw")}><button type=button${_attr_class(["_fx", { ["_fu"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_fC")}>${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(["_fy", { ["_fu"]: collapsedDirs.has(dirKey(row.path)) }])}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span${_attr_class("_fC")}>${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("_fz")}${_attr("title", row.file.path)}${_attr_style(`padding-left:${.5 + row.depth * .75}rem`)}><span${_attr_class("_fD")}${_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("_fA")}>${_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("_fB")}>💬</span>`);
8554
+ _html(`<span${_attr_class("_e9")}>💬</span>`);
8512
8555
  _serialize_if($scope0_reason, 0) && writeScope($scope6_id, {});
8513
8556
  return 0;
8514
8557
  }
@@ -8569,7 +8612,7 @@ var diff_tree_default = _template("h", (input) => {
8569
8612
  });
8570
8613
  //#endregion
8571
8614
  //#region src/tags/diff-file-sheet.css.ts
8572
- var iconBtn$2 = "_fk _G";
8615
+ var iconBtn$2 = "_eS _y";
8573
8616
  //#endregion
8574
8617
  //#region src/tags/diff-file-sheet.marko
8575
8618
  var diff_file_sheet_default = _template("d", (input) => {
@@ -8582,10 +8625,10 @@ var diff_file_sheet_default = _template("d", (input) => {
8582
8625
  _if(() => {
8583
8626
  if (open) {
8584
8627
  const $scope1_id = _scope_id();
8585
- _html(`<div${_attr_class("_fm")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_fn")} role=dialog aria-label="Jump to file"><div${_attr_class("_fo")}><strong>Files</strong><span${_attr_class("_fp")}>${_escape(input.files.length)}${_el_resume($scope1_id, "e", _serialize_guard($scope0_reason, 6))}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "f", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class(iconBtn$2)} title=Close aria-label=Close>×</button>${_el_resume($scope1_id, "g")}</div><div${_attr_class("_fq")}>`);
8628
+ _html(`<div${_attr_class("_eU")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_eV")} role=dialog aria-label="Jump to file"><div${_attr_class("_eW")}><strong>Files</strong><span${_attr_class("_eX")}>${_escape(input.files.length)}${_el_resume($scope1_id, "e", _serialize_guard($scope0_reason, 6))}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "f", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class(iconBtn$2)} title=Close aria-label=Close>×</button>${_el_resume($scope1_id, "g")}</div><div${_attr_class("_eY")}>`);
8586
8629
  _for_of(input.files, (file) => {
8587
8630
  const $scope2_id = _scope_id();
8588
- _html(`<button type=button${_attr_class(["_fr", "_m"])}><span${_attr_class("_ft")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope2_id, "c", $sg__input_files)}</span>${_el_resume($scope2_id, "b", $sg__input_files)}<span${_attr_class("_fs")}${_attr("title", file.key)}><bdi>${_escape(file.key)}${_el_resume($scope2_id, "e", $sg__input_files)}</bdi></span>${_el_resume($scope2_id, "d", $sg__input_files)}`);
8631
+ _html(`<button type=button${_attr_class(["_eZ", "_m"])}><span${_attr_class("_e1")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope2_id, "c", $sg__input_files)}</span>${_el_resume($scope2_id, "b", $sg__input_files)}<span${_attr_class("_e0")}${_attr("title", file.key)}><bdi>${_escape(file.key)}${_el_resume($scope2_id, "e", $sg__input_files)}</bdi></span>${_el_resume($scope2_id, "d", $sg__input_files)}`);
8589
8632
  _if(() => {
8590
8633
  if (commentKeys.has(file.key)) {
8591
8634
  const $scope3_id = _scope_id();
@@ -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,7 +9022,7 @@ var diff_view_default = _template("i", (input) => {
8978
9022
  revealSearchHit();
8979
9023
  }, 0);
8980
9024
  }, "i20", $scope0_id);
8981
- _html(`<div${_attr_class("_dP")}><div${_attr_class("_dT")}><div${_attr_class(["_dU", { ["_dY"]: comments.length > 0 }])}><div${_attr_class("_d8")}>`);
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();
@@ -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("_d9")}>`);
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("_dW")}><h1${_attr_class("_dX")}>Review</h1><span${_attr_class("_d_")}>`);
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("_ea")}>+<!>${_escape(lineStats.additions)}${_el_resume($scope27_id, "b")}</span><span${_attr_class("_eb")}>−<!>${_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("_ec")}>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("_ed")}>·</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(["_dS", { ["_d3"]: findOpen && !isTouch() }])}><button${_attr_class([treeToggle, { ["_dQ"]: 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
- "_dZ",
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(["_eD", "_dZ"])} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope0_id, "t")})</button>${_el_resume($scope0_id, "s")}<div${_attr_class(["_ee", "_dZ"])} role=group aria-label="Review scope"><button type=button${_attr_class(["_eg", { ["_ef"]: !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(["_eg", { ["_ef"]: 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
- "_eh",
9049
- "_dZ",
9050
- { ["_ef"]: 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(["_d2", { ["_d1"]: !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
- "_d0",
9069
- "_dZ"
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("_d6")} 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("_eC")}>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", "_d7"])}>`);
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("_eC")}>${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("_eC")}>${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("_ei")}${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(["_ej", repoCollapsed && "_ek"])} 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
- "_ex",
9272
- !repoCollapsed && "_ey",
9273
- repoExpanding && "_ez"
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("_ep")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_eq")}>${_escape(compare$1.base)}${_el_resume($scope5_id, "i")}</span><span${_attr_class("_es")} aria-hidden=true>vs</span><span${_attr_class("_er")}>${_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("_et")}>${_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("_em")}>${_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("_eo")}>`);
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("_ep")}${_attr("title", `${compare$2.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class("_eq")}>${_escape(compare$2.base)}${_el_resume($scope7_id, "e")}</span><span${_attr_class("_es")} aria-hidden=true>vs</span><span${_attr_class("_er")}>${_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("_et")}>${_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("_eu")}>`);
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(["_ev", findState.hit?.key === file$2.key && "_d4"])}${_attr("data-key", file$2.key)}${_attr("hidden", !shownKeySet.has(file$2.key))}><summary><span${_attr_class("_eA")}${_attr("data-status", file$2.status)}>${_escape(file$2.status)}${_el_resume($scope10_id, "c")}</span>${_el_resume($scope10_id, "b")}<span${_attr_class(["_eB", findState.hit?.key === file$2.key && findState.hit.line < 1 && "_d5"])}${_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("_eE")}>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("_eE")}>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("_eE")}>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("_ew")}></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,10 +9720,10 @@ 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 = "_cF _A";
9687
- var pageMeta = "_cG _E";
9688
- var iconBtn$1 = "_c8 _G";
9689
- var spinning$1 = "_c9 _H";
9723
+ var content$1 = "_co _N";
9724
+ var pageMeta = "_cp _R";
9725
+ var iconBtn$1 = "_cR _y";
9726
+ var spinning$1 = "_cS _z";
9690
9727
  //#endregion
9691
9728
  //#region src/tags/manage-workspace.marko
9692
9729
  var api$3;
@@ -9780,16 +9817,16 @@ 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("_y")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_z")}><div${_attr_class(content$1)}><header${_attr_class("_C")}><div${_attr_class("_D")}><h1${_attr("id", titleId)}>Manage</h1><p${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_cH")}>${_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();
9787
- _html(`<span${_attr_class(["_cK", "_cL"])}>Archived</span>`);
9824
+ _html(`<span${_attr_class(["_ct", "_cu"])}>Archived</span>`);
9788
9825
  writeScope($scope10_id, {});
9789
9826
  return 0;
9790
9827
  }
9791
9828
  }, $scope0_id, "j", 1, 1, 1, 0, 1);
9792
- _html(`<span${_attr_class("_cI")} aria-hidden=true>·</span><span${_attr_class(["_cJ", "_m"])}>${_escape(ws.display_path || ws.path)}${_el_resume($scope0_id, "m")}</span></p>${_el_resume($scope0_id, "g")}</div></header>`);
9829
+ _html(`<span${_attr_class("_cr")} aria-hidden=true>·</span><span${_attr_class(["_cs", "_m"])}>${_escape(ws.display_path || ws.path)}${_el_resume($scope0_id, "m")}</span></p>${_el_resume($scope0_id, "g")}</div></header>`);
9793
9830
  _if(() => {
9794
9831
  if (error) {
9795
9832
  const $scope2_id = _scope_id();
@@ -9813,21 +9850,21 @@ var manage_workspace_default = _template("k", (input) => {
9813
9850
  _if(() => {
9814
9851
  if (pendingAction && actionStep) {
9815
9852
  const $scope7_id = _scope_id();
9816
- _html(`<p${_attr_class("_cM")}><span${_attr_class("_w")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
9853
+ _html(`<p${_attr_class("_cv")}><span${_attr_class("_w")}></span><!>${_escape(actionStep)}${_el_resume($scope7_id, "c")}</p>`);
9817
9854
  writeScope($scope7_id, {});
9818
9855
  return 0;
9819
9856
  }
9820
9857
  }, $scope0_id, "o", 1, 1, 1, 0, 1);
9821
- _html(`<section${_attr_class("_cN")}><div${_attr_class("_cO")}><h2>Repos</h2><span${_attr_class("_cP")}>${_escape(ws.repos.length)}${_el_resume($scope0_id, "s")}</span><div${_attr_class("_n")}></div><button${_attr_class([iconBtn$1, { [spinning$1]: catalogRefreshing }])} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
9858
+ _html(`<section${_attr_class("_cw")}><div${_attr_class("_cx")}><h2>Repos</h2><span${_attr_class("_cy")}>${_escape(ws.repos.length)}${_el_resume($scope0_id, "s")}</span><div${_attr_class("_n")}></div><button${_attr_class([iconBtn$1, { [spinning$1]: catalogRefreshing }])} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
9822
9859
  icon_refresh_default({ size: 14 });
9823
- _html(`</button>${_el_resume($scope0_id, "u")}</div><ul${_attr_class("_cR")}>`);
9860
+ _html(`</button>${_el_resume($scope0_id, "u")}</div><ul${_attr_class("_cA")}>`);
9824
9861
  _for_of(ws.repos, (row) => {
9825
9862
  const $scope1_id = _scope_id();
9826
- _html(`<li${_attr_class("_cT")}><div${_attr_class("_cU")}><span${_attr_class(["_cV", "_m"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_cW")}><span${_attr_class("_cX")}>${_escape(row.full_name)}${_el_resume($scope1_id, "g")}</span>`);
9863
+ _html(`<li${_attr_class("_cC")}><div${_attr_class("_cD")}><span${_attr_class(["_cE", "_m"])}>${_escape(row.worktree)}${_el_resume($scope1_id, "d")}/</span><span${_attr_class("_cF")}><span${_attr_class("_cG")}>${_escape(row.full_name)}${_el_resume($scope1_id, "g")}</span>`);
9827
9864
  _if(() => {
9828
9865
  if (row.base_branch !== row.default_branch) {
9829
9866
  const $scope11_id = _scope_id();
9830
- _html(`<span${_attr_class(["_cY", "_m"])} title="Base branch">⎇ <!>${_escape(row.base_branch)}${_el_resume($scope11_id, "b")}</span>`);
9867
+ _html(`<span${_attr_class(["_cH", "_m"])} title="Base branch">⎇ <!>${_escape(row.base_branch)}${_el_resume($scope11_id, "b")}</span>`);
9831
9868
  writeScope($scope11_id, {});
9832
9869
  return 0;
9833
9870
  }
@@ -9842,9 +9879,9 @@ var manage_workspace_default = _template("k", (input) => {
9842
9879
  } else {
9843
9880
  const $scope6_id = _scope_id();
9844
9881
  _html(`<button${_attr_class([
9845
- "_cZ",
9846
- "_c1",
9847
- { ["_c0"]: confirmingRemove === row.full_name }
9882
+ "_cI",
9883
+ "_cK",
9884
+ { ["_cJ"]: confirmingRemove === row.full_name }
9848
9885
  ])}${confirmingRemove === row.full_name ? _attr("title", `Really remove ${row.worktree}/? Uncommitted changes are lost.`) : _attr("title", `Remove ${row.worktree}/`)}>${confirmingRemove === row.full_name ? "Remove?" : "×"}${_el_resume($scope6_id, "b")}</button>${_el_resume($scope6_id, "a")}`);
9849
9886
  _script($scope6_id, "k11");
9850
9887
  _subscribe($confirmingRemove__closures, writeScope($scope6_id, {}));
@@ -9861,19 +9898,19 @@ var manage_workspace_default = _template("k", (input) => {
9861
9898
  }, "full_name", $scope0_id, "x", 1, 1, 1, 0, 1);
9862
9899
  _for_of([...busy].filter((n) => !inWorkspace.has(n)), (name) => {
9863
9900
  const $scope13_id = _scope_id();
9864
- _html(`<li${_attr_class(["_cT", "_cS"])}><span${_attr_class("_w")}></span><div${_attr_class("_cU")}><span${_attr_class("_cX")}>Adding <!>${_escape(name)}${_el_resume($scope13_id, "e")}…</span></div></li>`);
9901
+ _html(`<li${_attr_class(["_cC", "_cB"])}><span${_attr_class("_w")}></span><div${_attr_class("_cD")}><span${_attr_class("_cG")}>Adding <!>${_escape(name)}${_el_resume($scope13_id, "e")}…</span></div></li>`);
9865
9902
  writeScope($scope13_id, {});
9866
9903
  }, (n) => n, $scope0_id, "y", 1, 1, 1, 0, 1);
9867
9904
  _html("</ul>");
9868
9905
  _if(() => {
9869
9906
  if (!ws.repos.length && !busy.size) {
9870
9907
  const $scope14_id = _scope_id();
9871
- _html(`<p${_attr_class("_c3")}>No repos yet — search below to add one.</p>`);
9908
+ _html(`<p${_attr_class("_cM")}>No repos yet — search below to add one.</p>`);
9872
9909
  writeScope($scope14_id, {});
9873
9910
  return 0;
9874
9911
  }
9875
9912
  }, $scope0_id, "z", 1, 1, 1, 0, 1);
9876
- _html(`<div${_attr_class("_cQ")}>`);
9913
+ _html(`<div${_attr_class("_cz")}>`);
9877
9914
  const $childScope = _peek_scope_id();
9878
9915
  let refreshCatalog = repo_picker_default({
9879
9916
  exclude: inWorkspace,
@@ -9893,17 +9930,17 @@ var manage_workspace_default = _template("k", (input) => {
9893
9930
  _if(() => {
9894
9931
  if (running.length) {
9895
9932
  const $scope8_id = _scope_id();
9896
- _html(`<section${_attr_class("_cN")}><div${_attr_class("_cO")}><h2>Running</h2><span${_attr_class("_cP")}>${_escape(running.length)}${_el_resume($scope8_id, "d")}</span></div><ul${_attr_class("_cR")}>`);
9933
+ _html(`<section${_attr_class("_cw")}><div${_attr_class("_cx")}><h2>Running</h2><span${_attr_class("_cy")}>${_escape(running.length)}${_el_resume($scope8_id, "d")}</span></div><ul${_attr_class("_cA")}>`);
9897
9934
  _for_of(running, (p) => {
9898
9935
  const $scope9_id = _scope_id();
9899
- _html(`<li${_attr_class("_cT")}><div${_attr_class("_cU")}${_attr("title", p.args)}><span${_attr_class(["_cV", "_m"])}>${_escape(p.cmd)}${_el_resume($scope9_id, "d")}</span>`);
9936
+ _html(`<li${_attr_class("_cC")}><div${_attr_class("_cD")}${_attr("title", p.args)}><span${_attr_class(["_cE", "_m"])}>${_escape(p.cmd)}${_el_resume($scope9_id, "d")}</span>`);
9900
9937
  _if(() => {
9901
9938
  if (p.ports.length) {
9902
9939
  const $scope15_id = _scope_id();
9903
- _html(`<span${_attr_class("_cW")}>`);
9940
+ _html(`<span${_attr_class("_cF")}>`);
9904
9941
  _for_of(p.ports, (port) => {
9905
9942
  const $scope16_id = _scope_id();
9906
- _html(`<button${_attr_class(["_h", "_c2"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope16_id, "b")}</button>${_el_resume($scope16_id, "a")}`);
9943
+ _html(`<button${_attr_class(["_h", "_cL"])}${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope16_id, "b")}</button>${_el_resume($scope16_id, "a")}`);
9907
9944
  _script($scope16_id, "k13");
9908
9945
  writeScope($scope16_id, { d: port });
9909
9946
  }, (x) => String(x), $scope15_id, "a", 1, 1, 1, "</span>", 1);
@@ -9911,7 +9948,7 @@ var manage_workspace_default = _template("k", (input) => {
9911
9948
  return 0;
9912
9949
  }
9913
9950
  }, $scope9_id, "e", 1, 1, 1, 0, 1);
9914
- _html(`</div>${_el_resume($scope9_id, "b")}<button${_attr_class(["_cZ", "_c1"])} type=button${_attr("title", `Kill ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>×</button>${_el_resume($scope9_id, "f")}</li>`);
9951
+ _html(`</div>${_el_resume($scope9_id, "b")}<button${_attr_class(["_cI", "_cK"])} type=button${_attr("title", `Kill ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>×</button>${_el_resume($scope9_id, "f")}</li>`);
9915
9952
  _script($scope9_id, "k14");
9916
9953
  writeScope($scope9_id, {
9917
9954
  k: p?.ports,
@@ -9923,17 +9960,17 @@ var manage_workspace_default = _template("k", (input) => {
9923
9960
  return 0;
9924
9961
  }
9925
9962
  }, $scope0_id, "a3", 1, 1, 1, 0, 1);
9926
- _html(`<section${_attr_class(["_cN", "_c4"])}><div${_attr_class("_cO")}><h2>Workspace</h2></div><div${_attr_class("_c5")}>`);
9963
+ _html(`<section${_attr_class(["_cw", "_cN"])}><div${_attr_class("_cx")}><h2>Workspace</h2></div><div${_attr_class("_cO")}>`);
9927
9964
  _if(() => {
9928
9965
  if (ws.status === "active") {
9929
9966
  const $scope4_id = _scope_id();
9930
- _html(`<button type=button${_attr_class(["_d", "_c6"])}${_attr("disabled", !!pendingAction)}>${pendingAction === "archive" ? "Archiving…" : "Archive"}${_el_resume($scope4_id, "b")}</button>${_el_resume($scope4_id, "a")}`);
9967
+ _html(`<button type=button${_attr_class(["_d", "_cP"])}${_attr("disabled", !!pendingAction)}>${pendingAction === "archive" ? "Archiving…" : "Archive"}${_el_resume($scope4_id, "b")}</button>${_el_resume($scope4_id, "a")}`);
9931
9968
  _script($scope4_id, "k15");
9932
9969
  writeScope($scope4_id, {});
9933
9970
  return 0;
9934
9971
  } else {
9935
9972
  const $scope5_id = _scope_id();
9936
- _html(`<button type=button${_attr_class(["_d", "_c6"])}${_attr("disabled", !!pendingAction)}>Restore</button>${_el_resume($scope5_id, "a")}`);
9973
+ _html(`<button type=button${_attr_class(["_d", "_cP"])}${_attr("disabled", !!pendingAction)}>Restore</button>${_el_resume($scope5_id, "a")}`);
9937
9974
  _script($scope5_id, "k16");
9938
9975
  writeScope($scope5_id, {});
9939
9976
  return 1;
@@ -9942,9 +9979,9 @@ var manage_workspace_default = _template("k", (input) => {
9942
9979
  _html(`<button type=button${_attr_class([
9943
9980
  "_d",
9944
9981
  "_g",
9945
- "_c6",
9982
+ "_cP",
9946
9983
  { ["_f"]: confirmingDelete }
9947
- ])}${_attr("disabled", !!pendingAction)}>${pendingAction === "delete" ? "Deleting…" : "Delete"}${_el_resume($scope0_id, "a9")}</button>${_el_resume($scope0_id, "a8")}</div><p${_attr_class("_c7")}>Archive hides the space from the list. Delete removes it and its worktrees.</p></section></div></div></div>`);
9984
+ ])}${_attr("disabled", !!pendingAction)}>${pendingAction === "delete" ? "Deleting…" : "Delete"}${_el_resume($scope0_id, "a9")}</button>${_el_resume($scope0_id, "a8")}</div><p${_attr_class("_cQ")}>Archive hides the space from the list. Delete removes it and its worktrees.</p></section></div></div></div>`);
9948
9985
  _script($scope0_id, "k17");
9949
9986
  _script($scope0_id, "k18");
9950
9987
  writeScope($scope0_id, {
@@ -9980,9 +10017,9 @@ 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 _A _B";
9984
- var iconBtn = "_bZ _G";
9985
- var spinning = "_b0 _H";
10020
+ var content = "_bY _N _O";
10021
+ var iconBtn = "_bZ _y";
10022
+ var spinning = "_b0 _z";
9986
10023
  //#endregion
9987
10024
  //#region src/tags/usage-stats.marko
9988
10025
  var api$2;
@@ -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("_y")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_z")}><div${_attr_class(content)}><header${_attr_class("_C")}><div${_attr_class("_D")}><h1${_attr("id", titleId)}>Usage</h1><p${_attr_class("_E")}>Provider plan windows across your agents.</p></div><div${_attr_class("_F")}><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 }
@@ -10132,15 +10169,15 @@ var term_find_default = _template("u", (input) => {
10132
10169
  const hasQuery = !!query.trim();
10133
10170
  const canStep = hasQuery && open;
10134
10171
  _html(`<div${_attr_class([
10135
- "_eL",
10136
- input.placement === "keybar" ? "_eN" : "_eM",
10137
- !open && "_eP"
10138
- ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_eG", input.placement === "keybar" ? "_eO" : "_eI"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
10172
+ "_eN",
10173
+ input.placement === "keybar" ? "_eP" : "_eO",
10174
+ !open && "_eR"
10175
+ ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_eI", input.placement === "keybar" ? "_eQ" : "_eK"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
10139
10176
  if (!open) return;
10140
10177
  query = v;
10141
10178
  live.query = v;
10142
10179
  run(0);
10143
- }, "u0", $scope0_id))}${_attr_class("_eH")} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>×</button>${_el_resume($scope0_id, "f")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
10180
+ }, "u0", $scope0_id))}${_attr_class("_eJ")} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>×</button>${_el_resume($scope0_id, "f")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
10144
10181
  _script($scope0_id, "u4");
10145
10182
  _script($scope0_id, "u5");
10146
10183
  _script($scope0_id, "u6");
@@ -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);
@@ -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
  });
@@ -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,
@@ -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-B0XMMdPo.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-B0XMMdPo.css\"",">"],"defer":[2,"/assets/index-CNo7v-9k.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-CNo7v-9k.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>"]}};